@andrilla/mado-ui 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.js CHANGED
@@ -201,434 +201,740 @@ function extendMadoTailwindMerge(configExtension) {
201
201
  }
202
202
 
203
203
  //#endregion
204
- //#region src/components/link.tsx
205
- function Anchor({ as, className, disabled, href, onClick, target, rel, ...props }) {
206
- const isExternal = `${href}`.startsWith("http"), hasHash = `${href}`.includes("#");
207
- const handleClick = (e) => {
208
- if (disabled) return e.preventDefault();
209
- onClick?.(e);
210
- setTimeout(() => history.replaceState({}, document.title, location.pathname), 100);
211
- };
212
- return /* @__PURE__ */ jsx(as || "a", {
213
- ...props,
214
- "aria-disabled": disabled,
215
- className: twMerge("ease-exponential inline-block transition-transform duration-300 active:scale-95 pointer-fine:active:scale-95", className, disabled && "pointer-events-none"),
216
- href,
217
- target: target || (isExternal ? "_blank" : "_self"),
218
- onClick: hasHash ? handleClick : onClick,
219
- rel: rel !== void 0 ? rel === "nofollow" ? `${rel} noreferrer noopener` : `${rel} prefetch` : isExternal ? "nofollow noreferrer noopener" : "prefetch"
220
- });
221
- }
222
- const baseClasses = "isolate after:absolute after:left-1/2 after:-z-10 after:-translate-x-1/2 after:duration-500 active:after:opacity-100 pointer-fine:active:after:opacity-100";
223
- const lineStaticClasses = twJoin(baseClasses, "whitespace-nowrap after:-bottom-0.5 after:w-[calc(100%+0.15rem)] after:rounded-full after:border after:border-current");
224
- const lineClasses = twJoin(lineStaticClasses, "whitespace-nowrap after:transition-transform after:ease-exponential");
225
- const scaleXClasses = "after:scale-x-0 active:after:scale-x-100 pointer-fine:hover:after:scale-x-100 pointer-fine:active:after:scale-x-100";
226
- const scaleYClasses = "after:scale-y-0 active:after:scale-y-100 pointer-fine:hover:after:scale-y-100 pointer-fine:active:after:scale-y-100";
227
- const lineNormalClasses = twJoin([
228
- lineClasses,
229
- scaleYClasses,
230
- "after:origin-bottom after:translate-y-0.5 active:after:translate-y-0 pointer-fine:hover:after:translate-y-0"
231
- ]);
232
- const lineLtrClasses = twJoin([
233
- lineClasses,
234
- scaleXClasses,
235
- "after:origin-left"
236
- ]);
237
- const lineRtlClasses = twJoin([
238
- lineClasses,
239
- scaleXClasses,
240
- "after:origin-right"
241
- ]);
242
- const lineCenterClasses = twJoin([lineClasses, scaleXClasses]);
243
- const lineLiftClasses = twJoin([
244
- lineClasses,
245
- scaleYClasses,
246
- "after:origin-bottom after:translate-y-1 after:scale-x-75 active:after:translate-y-0 active:after:scale-x-100 pointer-fine:hover:after:translate-y-0 pointer-fine:hover:after:scale-x-100 pointer-fine:active:after:translate-y-0 pointer-fine:active:after:scale-x-100"
247
- ]);
248
- const fillClasses = twJoin(baseClasses, "whitespace-nowrap [--text-color:var(--base-theme-color--foreground)] transition-[transform,color] after:top-1/2 after:h-[calc(100%+0.05rem)] after:w-[calc(100%+0.25rem)] after:-translate-y-1/2 after:rounded after:ease-exponential active:text-(--text-color) pointer-fine:hover:text-(--text-color) pointer-fine:active:text-(--text-color)");
249
- const getFillColorTransitionClasses = (theme = "blue", customTheme) => {
250
- let fillColorTransitionClasses = twJoin(fillClasses, "transition-[scale,color] after:bg-(--theme-color)");
204
+ //#region src/utils/get-theme-color.ts
205
+ function getThemeColor(theme) {
251
206
  switch (theme) {
207
+ case "amber-50": return "[--theme-color:var(--color-amber-50)]";
208
+ case "amber-100": return "[--theme-color:var(--color-amber-100)]";
209
+ case "amber-200": return "[--theme-color:var(--color-amber-200)]";
210
+ case "amber-300": return "[--theme-color:var(--color-amber-300)]";
211
+ case "amber-400": return "[--theme-color:var(--color-amber-400)]";
252
212
  case "amber":
253
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-amber-500)]");
254
- break;
213
+ case "amber-500": return "[--theme-color:var(--color-amber-500)]";
214
+ case "amber-600": return "[--theme-color:var(--color-amber-600)]";
215
+ case "amber-700": return "[--theme-color:var(--color-amber-700)]";
216
+ case "amber-800": return "[--theme-color:var(--color-amber-800)]";
217
+ case "amber-900": return "[--theme-color:var(--color-amber-900)]";
218
+ case "amber-950": return "[--theme-color:var(--color-amber-950)]";
219
+ case "blue-50": return "[--theme-color:var(--color-blue-50)]";
220
+ case "blue-100": return "[--theme-color:var(--color-blue-100)]";
221
+ case "blue-200": return "[--theme-color:var(--color-blue-200)]";
222
+ case "blue-300": return "[--theme-color:var(--color-blue-300)]";
223
+ case "blue-400": return "[--theme-color:var(--color-blue-400)]";
255
224
  case "blue":
256
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-blue-500)]");
257
- break;
225
+ case "blue-500": return "[--theme-color:var(--color-blue-500)]";
226
+ case "blue-600": return "[--theme-color:var(--color-blue-600)]";
227
+ case "blue-700": return "[--theme-color:var(--color-blue-700)]";
228
+ case "blue-800": return "[--theme-color:var(--color-blue-800)]";
229
+ case "blue-900": return "[--theme-color:var(--color-blue-900)]";
230
+ case "blue-950": return "[--theme-color:var(--color-blue-950)]";
231
+ case "cyan-50": return "[--theme-color:var(--color-cyan-50)]";
232
+ case "cyan-100": return "[--theme-color:var(--color-cyan-100)]";
233
+ case "cyan-200": return "[--theme-color:var(--color-cyan-200)]";
234
+ case "cyan-300": return "[--theme-color:var(--color-cyan-300)]";
235
+ case "cyan-400": return "[--theme-color:var(--color-cyan-400)]";
258
236
  case "cyan":
259
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-cyan-500)]");
260
- break;
237
+ case "cyan-500": return "[--theme-color:var(--color-cyan-500)]";
238
+ case "cyan-600": return "[--theme-color:var(--color-cyan-600)]";
239
+ case "cyan-700": return "[--theme-color:var(--color-cyan-700)]";
240
+ case "cyan-800": return "[--theme-color:var(--color-cyan-800)]";
241
+ case "cyan-900": return "[--theme-color:var(--color-cyan-900)]";
242
+ case "cyan-950": return "[--theme-color:var(--color-cyan-950)]";
243
+ case "emerald-50": return "[--theme-color:var(--color-emerald-50)]";
244
+ case "emerald-100": return "[--theme-color:var(--color-emerald-100)]";
245
+ case "emerald-200": return "[--theme-color:var(--color-emerald-200)]";
246
+ case "emerald-300": return "[--theme-color:var(--color-emerald-300)]";
247
+ case "emerald-400": return "[--theme-color:var(--color-emerald-400)]";
261
248
  case "emerald":
262
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-emerald-500)]");
263
- break;
249
+ case "emerald-500": return "[--theme-color:var(--color-emerald-500)]";
250
+ case "emerald-600": return "[--theme-color:var(--color-emerald-600)]";
251
+ case "emerald-700": return "[--theme-color:var(--color-emerald-700)]";
252
+ case "emerald-800": return "[--theme-color:var(--color-emerald-800)]";
253
+ case "emerald-900": return "[--theme-color:var(--color-emerald-900)]";
254
+ case "emerald-950": return "[--theme-color:var(--color-emerald-950)]";
255
+ case "fuchsia-50": return "[--theme-color:var(--color-fuchsia-50)]";
256
+ case "fuchsia-100": return "[--theme-color:var(--color-fuchsia-100)]";
257
+ case "fuchsia-200": return "[--theme-color:var(--color-fuchsia-200)]";
258
+ case "fuchsia-300": return "[--theme-color:var(--color-fuchsia-300)]";
259
+ case "fuchsia-400": return "[--theme-color:var(--color-fuchsia-400)]";
264
260
  case "fuchsia":
265
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-fuchsia-500)]");
266
- break;
261
+ case "fuchsia-500": return "[--theme-color:var(--color-fuchsia-500)]";
262
+ case "fuchsia-600": return "[--theme-color:var(--color-fuchsia-600)]";
263
+ case "fuchsia-700": return "[--theme-color:var(--color-fuchsia-700)]";
264
+ case "fuchsia-800": return "[--theme-color:var(--color-fuchsia-800)]";
265
+ case "fuchsia-900": return "[--theme-color:var(--color-fuchsia-900)]";
266
+ case "fuchsia-950": return "[--theme-color:var(--color-fuchsia-950)]";
267
+ case "gray-50": return "[--theme-color:var(--color-gray-50)]";
268
+ case "gray-100": return "[--theme-color:var(--color-gray-100)]";
269
+ case "gray-200": return "[--theme-color:var(--color-gray-200)]";
270
+ case "gray-300": return "[--theme-color:var(--color-gray-300)]";
271
+ case "gray-400": return "[--theme-color:var(--color-gray-400)]";
267
272
  case "gray":
268
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-gray-500)]");
269
- break;
273
+ case "gray-500": return "[--theme-color:var(--color-gray-500)]";
274
+ case "gray-600": return "[--theme-color:var(--color-gray-600)]";
275
+ case "gray-700": return "[--theme-color:var(--color-gray-700)]";
276
+ case "gray-800": return "[--theme-color:var(--color-gray-800)]";
277
+ case "gray-900": return "[--theme-color:var(--color-gray-900)]";
278
+ case "gray-950": return "[--theme-color:var(--color-gray-950)]";
279
+ case "green-50": return "[--theme-color:var(--color-green-50)]";
280
+ case "green-100": return "[--theme-color:var(--color-green-100)]";
281
+ case "green-200": return "[--theme-color:var(--color-green-200)]";
282
+ case "green-300": return "[--theme-color:var(--color-green-300)]";
283
+ case "green-400": return "[--theme-color:var(--color-green-400)]";
270
284
  case "green":
271
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-green-500)]");
272
- break;
285
+ case "green-500": return "[--theme-color:var(--color-green-500)]";
286
+ case "green-600": return "[--theme-color:var(--color-green-600)]";
287
+ case "green-700": return "[--theme-color:var(--color-green-700)]";
288
+ case "green-800": return "[--theme-color:var(--color-green-800)]";
289
+ case "green-900": return "[--theme-color:var(--color-green-900)]";
290
+ case "green-950": return "[--theme-color:var(--color-green-950)]";
291
+ case "indigo-50": return "[--theme-color:var(--color-indigo-50)]";
292
+ case "indigo-100": return "[--theme-color:var(--color-indigo-100)]";
293
+ case "indigo-200": return "[--theme-color:var(--color-indigo-200)]";
294
+ case "indigo-300": return "[--theme-color:var(--color-indigo-300)]";
295
+ case "indigo-400": return "[--theme-color:var(--color-indigo-400)]";
273
296
  case "indigo":
274
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-indigo-500)]");
275
- break;
297
+ case "indigo-500": return "[--theme-color:var(--color-indigo-500)]";
298
+ case "indigo-600": return "[--theme-color:var(--color-indigo-600)]";
299
+ case "indigo-700": return "[--theme-color:var(--color-indigo-700)]";
300
+ case "indigo-800": return "[--theme-color:var(--color-indigo-800)]";
301
+ case "indigo-900": return "[--theme-color:var(--color-indigo-900)]";
302
+ case "indigo-950": return "[--theme-color:var(--color-indigo-950)]";
303
+ case "lime-50": return "[--theme-color:var(--color-lime-50)]";
304
+ case "lime-100": return "[--theme-color:var(--color-lime-100)]";
305
+ case "lime-200": return "[--theme-color:var(--color-lime-200)]";
306
+ case "lime-300": return "[--theme-color:var(--color-lime-300)]";
307
+ case "lime-400": return "[--theme-color:var(--color-lime-400)]";
276
308
  case "lime":
277
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-lime-500)]");
278
- break;
309
+ case "lime-500": return "[--theme-color:var(--color-lime-500)]";
310
+ case "lime-600": return "[--theme-color:var(--color-lime-600)]";
311
+ case "lime-700": return "[--theme-color:var(--color-lime-700)]";
312
+ case "lime-800": return "[--theme-color:var(--color-lime-800)]";
313
+ case "lime-900": return "[--theme-color:var(--color-lime-900)]";
314
+ case "lime-950": return "[--theme-color:var(--color-lime-950)]";
315
+ case "mauve-50": return "[--theme-color:var(--color-mauve-50)]";
316
+ case "mauve-100": return "[--theme-color:var(--color-mauve-100)]";
317
+ case "mauve-200": return "[--theme-color:var(--color-mauve-200)]";
318
+ case "mauve-300": return "[--theme-color:var(--color-mauve-300)]";
319
+ case "mauve-400": return "[--theme-color:var(--color-mauve-400)]";
279
320
  case "mauve":
280
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-mauve-500)]");
281
- break;
321
+ case "mauve-500": return "[--theme-color:var(--color-mauve-500)]";
322
+ case "mauve-600": return "[--theme-color:var(--color-mauve-600)]";
323
+ case "mauve-700": return "[--theme-color:var(--color-mauve-700)]";
324
+ case "mauve-800": return "[--theme-color:var(--color-mauve-800)]";
325
+ case "mauve-900": return "[--theme-color:var(--color-mauve-900)]";
326
+ case "mauve-950": return "[--theme-color:var(--color-mauve-950)]";
327
+ case "mist-50": return "[--theme-color:var(--color-mist-50)]";
328
+ case "mist-100": return "[--theme-color:var(--color-mist-100)]";
329
+ case "mist-200": return "[--theme-color:var(--color-mist-200)]";
330
+ case "mist-300": return "[--theme-color:var(--color-mist-300)]";
331
+ case "mist-400": return "[--theme-color:var(--color-mist-400)]";
282
332
  case "mist":
283
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-mist-500)]");
284
- break;
333
+ case "mist-500": return "[--theme-color:var(--color-mist-500)]";
334
+ case "mist-600": return "[--theme-color:var(--color-mist-600)]";
335
+ case "mist-700": return "[--theme-color:var(--color-mist-700)]";
336
+ case "mist-800": return "[--theme-color:var(--color-mist-800)]";
337
+ case "mist-900": return "[--theme-color:var(--color-mist-900)]";
338
+ case "mist-950": return "[--theme-color:var(--color-mist-950)]";
339
+ case "neutral-50": return "[--theme-color:var(--color-neutral-50)]";
340
+ case "neutral-100": return "[--theme-color:var(--color-neutral-100)]";
341
+ case "neutral-200": return "[--theme-color:var(--color-neutral-200)]";
342
+ case "neutral-300": return "[--theme-color:var(--color-neutral-300)]";
343
+ case "neutral-400": return "[--theme-color:var(--color-neutral-400)]";
285
344
  case "neutral":
286
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-neutral-500)]");
287
- break;
345
+ case "neutral-500": return "[--theme-color:var(--color-neutral-500)]";
346
+ case "neutral-600": return "[--theme-color:var(--color-neutral-600)]";
347
+ case "neutral-700": return "[--theme-color:var(--color-neutral-700)]";
348
+ case "neutral-800": return "[--theme-color:var(--color-neutral-800)]";
349
+ case "neutral-900": return "[--theme-color:var(--color-neutral-900)]";
350
+ case "neutral-950": return "[--theme-color:var(--color-neutral-950)]";
351
+ case "olive-50": return "[--theme-color:var(--color-olive-50)]";
352
+ case "olive-100": return "[--theme-color:var(--color-olive-100)]";
353
+ case "olive-200": return "[--theme-color:var(--color-olive-200)]";
354
+ case "olive-300": return "[--theme-color:var(--color-olive-300)]";
355
+ case "olive-400": return "[--theme-color:var(--color-olive-400)]";
288
356
  case "olive":
289
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-olive-500)]");
290
- break;
357
+ case "olive-500": return "[--theme-color:var(--color-olive-500)]";
358
+ case "olive-600": return "[--theme-color:var(--color-olive-600)]";
359
+ case "olive-700": return "[--theme-color:var(--color-olive-700)]";
360
+ case "olive-800": return "[--theme-color:var(--color-olive-800)]";
361
+ case "olive-900": return "[--theme-color:var(--color-olive-900)]";
362
+ case "olive-950": return "[--theme-color:var(--color-olive-950)]";
363
+ case "orange-50": return "[--theme-color:var(--color-orange-50)]";
364
+ case "orange-100": return "[--theme-color:var(--color-orange-100)]";
365
+ case "orange-200": return "[--theme-color:var(--color-orange-200)]";
366
+ case "orange-300": return "[--theme-color:var(--color-orange-300)]";
367
+ case "orange-400": return "[--theme-color:var(--color-orange-400)]";
291
368
  case "orange":
292
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-orange-500)]");
293
- break;
369
+ case "orange-500": return "[--theme-color:var(--color-orange-500)]";
370
+ case "orange-600": return "[--theme-color:var(--color-orange-600)]";
371
+ case "orange-700": return "[--theme-color:var(--color-orange-700)]";
372
+ case "orange-800": return "[--theme-color:var(--color-orange-800)]";
373
+ case "orange-900": return "[--theme-color:var(--color-orange-900)]";
374
+ case "orange-950": return "[--theme-color:var(--color-orange-950)]";
375
+ case "pink-50": return "[--theme-color:var(--color-pink-50)]";
376
+ case "pink-100": return "[--theme-color:var(--color-pink-100)]";
377
+ case "pink-200": return "[--theme-color:var(--color-pink-200)]";
378
+ case "pink-300": return "[--theme-color:var(--color-pink-300)]";
379
+ case "pink-400": return "[--theme-color:var(--color-pink-400)]";
294
380
  case "pink":
295
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-pink-500)]");
296
- break;
381
+ case "pink-500": return "[--theme-color:var(--color-pink-500)]";
382
+ case "pink-600": return "[--theme-color:var(--color-pink-600)]";
383
+ case "pink-700": return "[--theme-color:var(--color-pink-700)]";
384
+ case "pink-800": return "[--theme-color:var(--color-pink-800)]";
385
+ case "pink-900": return "[--theme-color:var(--color-pink-900)]";
386
+ case "pink-950": return "[--theme-color:var(--color-pink-950)]";
387
+ case "purple-50": return "[--theme-color:var(--color-purple-50)]";
388
+ case "purple-100": return "[--theme-color:var(--color-purple-100)]";
389
+ case "purple-200": return "[--theme-color:var(--color-purple-200)]";
390
+ case "purple-300": return "[--theme-color:var(--color-purple-300)]";
391
+ case "purple-400": return "[--theme-color:var(--color-purple-400)]";
297
392
  case "purple":
298
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-purple-500)]");
299
- break;
393
+ case "purple-500": return "[--theme-color:var(--color-purple-500)]";
394
+ case "purple-600": return "[--theme-color:var(--color-purple-600)]";
395
+ case "purple-700": return "[--theme-color:var(--color-purple-700)]";
396
+ case "purple-800": return "[--theme-color:var(--color-purple-800)]";
397
+ case "purple-900": return "[--theme-color:var(--color-purple-900)]";
398
+ case "purple-950": return "[--theme-color:var(--color-purple-950)]";
399
+ case "red-50": return "[--theme-color:var(--color-red-50)]";
400
+ case "red-100": return "[--theme-color:var(--color-red-100)]";
401
+ case "red-200": return "[--theme-color:var(--color-red-200)]";
402
+ case "red-300": return "[--theme-color:var(--color-red-300)]";
403
+ case "red-400": return "[--theme-color:var(--color-red-400)]";
300
404
  case "red":
301
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-red-500)]");
302
- break;
405
+ case "red-500": return "[--theme-color:var(--color-red-500)]";
406
+ case "red-600": return "[--theme-color:var(--color-red-600)]";
407
+ case "red-700": return "[--theme-color:var(--color-red-700)]";
408
+ case "red-800": return "[--theme-color:var(--color-red-800)]";
409
+ case "red-900": return "[--theme-color:var(--color-red-900)]";
410
+ case "red-950": return "[--theme-color:var(--color-red-950)]";
411
+ case "rose-50": return "[--theme-color:var(--color-rose-50)]";
412
+ case "rose-100": return "[--theme-color:var(--color-rose-100)]";
413
+ case "rose-200": return "[--theme-color:var(--color-rose-200)]";
414
+ case "rose-300": return "[--theme-color:var(--color-rose-300)]";
415
+ case "rose-400": return "[--theme-color:var(--color-rose-400)]";
303
416
  case "rose":
304
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-rose-500)]");
305
- break;
417
+ case "rose-500": return "[--theme-color:var(--color-rose-500)]";
418
+ case "rose-600": return "[--theme-color:var(--color-rose-600)]";
419
+ case "rose-700": return "[--theme-color:var(--color-rose-700)]";
420
+ case "rose-800": return "[--theme-color:var(--color-rose-800)]";
421
+ case "rose-900": return "[--theme-color:var(--color-rose-900)]";
422
+ case "rose-950": return "[--theme-color:var(--color-rose-950)]";
423
+ case "sky-50": return "[--theme-color:var(--color-sky-50)]";
424
+ case "sky-100": return "[--theme-color:var(--color-sky-100)]";
425
+ case "sky-200": return "[--theme-color:var(--color-sky-200)]";
426
+ case "sky-300": return "[--theme-color:var(--color-sky-300)]";
427
+ case "sky-400": return "[--theme-color:var(--color-sky-400)]";
306
428
  case "sky":
307
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-sky-500)]");
308
- break;
429
+ case "sky-500": return "[--theme-color:var(--color-sky-500)]";
430
+ case "sky-600": return "[--theme-color:var(--color-sky-600)]";
431
+ case "sky-700": return "[--theme-color:var(--color-sky-700)]";
432
+ case "sky-800": return "[--theme-color:var(--color-sky-800)]";
433
+ case "sky-900": return "[--theme-color:var(--color-sky-900)]";
434
+ case "sky-950": return "[--theme-color:var(--color-sky-950)]";
435
+ case "slate-50": return "[--theme-color:var(--color-slate-50)]";
436
+ case "slate-100": return "[--theme-color:var(--color-slate-100)]";
437
+ case "slate-200": return "[--theme-color:var(--color-slate-200)]";
438
+ case "slate-300": return "[--theme-color:var(--color-slate-300)]";
439
+ case "slate-400": return "[--theme-color:var(--color-slate-400)]";
309
440
  case "slate":
310
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-slate-500)]");
311
- break;
441
+ case "slate-500": return "[--theme-color:var(--color-slate-500)]";
442
+ case "slate-600": return "[--theme-color:var(--color-slate-600)]";
443
+ case "slate-700": return "[--theme-color:var(--color-slate-700)]";
444
+ case "slate-800": return "[--theme-color:var(--color-slate-800)]";
445
+ case "slate-900": return "[--theme-color:var(--color-slate-900)]";
446
+ case "slate-950": return "[--theme-color:var(--color-slate-950)]";
447
+ case "stone-50": return "[--theme-color:var(--color-stone-50)]";
448
+ case "stone-100": return "[--theme-color:var(--color-stone-100)]";
449
+ case "stone-200": return "[--theme-color:var(--color-stone-200)]";
450
+ case "stone-300": return "[--theme-color:var(--color-stone-300)]";
451
+ case "stone-400": return "[--theme-color:var(--color-stone-400)]";
312
452
  case "stone":
313
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-stone-500)]");
314
- break;
453
+ case "stone-500": return "[--theme-color:var(--color-stone-500)]";
454
+ case "stone-600": return "[--theme-color:var(--color-stone-600)]";
455
+ case "stone-700": return "[--theme-color:var(--color-stone-700)]";
456
+ case "stone-800": return "[--theme-color:var(--color-stone-800)]";
457
+ case "stone-900": return "[--theme-color:var(--color-stone-900)]";
458
+ case "stone-950": return "[--theme-color:var(--color-stone-950)]";
459
+ case "taupe-50": return "[--theme-color:var(--color-taupe-50)]";
460
+ case "taupe-100": return "[--theme-color:var(--color-taupe-100)]";
461
+ case "taupe-200": return "[--theme-color:var(--color-taupe-200)]";
462
+ case "taupe-300": return "[--theme-color:var(--color-taupe-300)]";
463
+ case "taupe-400": return "[--theme-color:var(--color-taupe-400)]";
315
464
  case "taupe":
316
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-taupe-500)]");
317
- break;
465
+ case "taupe-500": return "[--theme-color:var(--color-taupe-500)]";
466
+ case "taupe-600": return "[--theme-color:var(--color-taupe-600)]";
467
+ case "taupe-700": return "[--theme-color:var(--color-taupe-700)]";
468
+ case "taupe-800": return "[--theme-color:var(--color-taupe-800)]";
469
+ case "taupe-900": return "[--theme-color:var(--color-taupe-900)]";
470
+ case "taupe-950": return "[--theme-color:var(--color-taupe-950)]";
471
+ case "teal-50": return "[--theme-color:var(--color-teal-50)]";
472
+ case "teal-100": return "[--theme-color:var(--color-teal-100)]";
473
+ case "teal-200": return "[--theme-color:var(--color-teal-200)]";
474
+ case "teal-300": return "[--theme-color:var(--color-teal-300)]";
475
+ case "teal-400": return "[--theme-color:var(--color-teal-400)]";
318
476
  case "teal":
319
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-teal-500)]");
320
- break;
477
+ case "teal-500": return "[--theme-color:var(--color-teal-500)]";
478
+ case "teal-600": return "[--theme-color:var(--color-teal-600)]";
479
+ case "teal-700": return "[--theme-color:var(--color-teal-700)]";
480
+ case "teal-800": return "[--theme-color:var(--color-teal-800)]";
481
+ case "teal-900": return "[--theme-color:var(--color-teal-900)]";
482
+ case "teal-950": return "[--theme-color:var(--color-teal-950)]";
483
+ case "violet-50": return "[--theme-color:var(--color-violet-50)]";
484
+ case "violet-100": return "[--theme-color:var(--color-violet-100)]";
485
+ case "violet-200": return "[--theme-color:var(--color-violet-200)]";
486
+ case "violet-300": return "[--theme-color:var(--color-violet-300)]";
487
+ case "violet-400": return "[--theme-color:var(--color-violet-400)]";
321
488
  case "violet":
322
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-violet-500)]");
323
- break;
489
+ case "violet-500": return "[--theme-color:var(--color-violet-500)]";
490
+ case "violet-600": return "[--theme-color:var(--color-violet-600)]";
491
+ case "violet-700": return "[--theme-color:var(--color-violet-700)]";
492
+ case "violet-800": return "[--theme-color:var(--color-violet-800)]";
493
+ case "violet-900": return "[--theme-color:var(--color-violet-900)]";
494
+ case "violet-950": return "[--theme-color:var(--color-violet-950)]";
495
+ case "yellow-50": return "[--theme-color:var(--color-yellow-50)]";
496
+ case "yellow-100": return "[--theme-color:var(--color-yellow-100)]";
497
+ case "yellow-200": return "[--theme-color:var(--color-yellow-200)]";
498
+ case "yellow-300": return "[--theme-color:var(--color-yellow-300)]";
499
+ case "yellow-400": return "[--theme-color:var(--color-yellow-400)]";
324
500
  case "yellow":
325
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-yellow-500)]");
326
- break;
501
+ case "yellow-500": return "[--theme-color:var(--color-yellow-500)]";
502
+ case "yellow-600": return "[--theme-color:var(--color-yellow-600)]";
503
+ case "yellow-700": return "[--theme-color:var(--color-yellow-700)]";
504
+ case "yellow-800": return "[--theme-color:var(--color-yellow-800)]";
505
+ case "yellow-900": return "[--theme-color:var(--color-yellow-900)]";
506
+ case "yellow-950": return "[--theme-color:var(--color-yellow-950)]";
507
+ case "zinc-50": return "[--theme-color:var(--color-zinc-50)]";
508
+ case "zinc-100": return "[--theme-color:var(--color-zinc-100)]";
509
+ case "zinc-200": return "[--theme-color:var(--color-zinc-200)]";
510
+ case "zinc-300": return "[--theme-color:var(--color-zinc-300)]";
511
+ case "zinc-400": return "[--theme-color:var(--color-zinc-400)]";
327
512
  case "zinc":
328
- fillColorTransitionClasses = twJoin(fillColorTransitionClasses, "[--theme-color:var(--color-zinc-500)]");
329
- break;
330
- case "custom":
331
- if (customTheme && customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable on the ::after pseudo element. Otherwise, please use `customTheme.classes`.");
332
- fillColorTransitionClasses = customTheme.themeColor ? twMerge(fillColorTransitionClasses, customTheme.themeColor) : twMerge(fillClasses, customTheme.classes);
333
- break;
334
- default:
335
- fillColorTransitionClasses = twMerge(fillColorTransitionClasses, `[--theme-color:var(--base-theme-color)]`);
336
- break;
513
+ case "zinc-500": return "[--theme-color:var(--color-zinc-500)]";
514
+ case "zinc-600": return "[--theme-color:var(--color-zinc-600)]";
515
+ case "zinc-700": return "[--theme-color:var(--color-zinc-700)]";
516
+ case "zinc-800": return "[--theme-color:var(--color-zinc-800)]";
517
+ case "zinc-900": return "[--theme-color:var(--color-zinc-900)]";
518
+ case "zinc-950": return "[--theme-color:var(--color-zinc-950)]";
519
+ default: return "[--theme-color:var(--base-theme-color)]";
337
520
  }
338
- return fillColorTransitionClasses;
339
- };
340
- const getFillCenterClasses = (theme = "blue", customTheme) => {
341
- let fillCenterColorClasses = twJoin(fillClasses, "after:scale-x-50 after:scale-y-[0.25] after:bg-(--theme-color)/0 after:transition-[scale,background-color] active:after:scale-x-100 active:after:scale-y-100 active:after:bg-(--theme-color) pointer-fine:hover:after:scale-x-100 pointer-fine:hover:after:scale-y-100 pointer-fine:hover:after:bg-(--theme-color) pointer-fine:active:after:scale-x-100 pointer-fine:active:after:scale-y-100 pointer-fine:active:after:bg-(--theme-color)");
521
+ }
522
+ function getTextColor(theme, asVariable) {
342
523
  switch (theme) {
524
+ case "amber-50":
525
+ case "blue-50":
526
+ case "cyan-50":
527
+ case "emerald-50":
528
+ case "fuchsia-50":
529
+ case "gray-50":
530
+ case "green-50":
531
+ case "indigo-50":
532
+ case "lime-50":
533
+ case "mauve-50":
534
+ case "mist-50":
535
+ case "neutral-50":
536
+ case "olive-50":
537
+ case "orange-50":
538
+ case "pink-50":
539
+ case "purple-50":
540
+ case "red-50":
541
+ case "rose-50":
542
+ case "sky-50":
543
+ case "slate-50":
544
+ case "stone-50":
545
+ case "taupe-50":
546
+ case "teal-50":
547
+ case "violet-50":
548
+ case "yellow-50":
549
+ case "zinc-50":
550
+ case "amber-100":
551
+ case "blue-100":
552
+ case "cyan-100":
553
+ case "emerald-100":
554
+ case "fuchsia-100":
555
+ case "gray-100":
556
+ case "green-100":
557
+ case "indigo-100":
558
+ case "lime-100":
559
+ case "mauve-100":
560
+ case "mist-100":
561
+ case "neutral-100":
562
+ case "olive-100":
563
+ case "orange-100":
564
+ case "pink-100":
565
+ case "purple-100":
566
+ case "red-100":
567
+ case "rose-100":
568
+ case "sky-100":
569
+ case "slate-100":
570
+ case "stone-100":
571
+ case "taupe-100":
572
+ case "teal-100":
573
+ case "violet-100":
574
+ case "yellow-100":
575
+ case "zinc-100":
576
+ case "amber-200":
577
+ case "blue-200":
578
+ case "cyan-200":
579
+ case "emerald-200":
580
+ case "fuchsia-200":
581
+ case "gray-200":
582
+ case "green-200":
583
+ case "indigo-200":
584
+ case "lime-200":
585
+ case "mauve-200":
586
+ case "mist-200":
587
+ case "neutral-200":
588
+ case "olive-200":
589
+ case "orange-200":
590
+ case "pink-200":
591
+ case "purple-200":
592
+ case "red-200":
593
+ case "rose-200":
594
+ case "sky-200":
595
+ case "slate-200":
596
+ case "stone-200":
597
+ case "taupe-200":
598
+ case "teal-200":
599
+ case "violet-200":
600
+ case "yellow-200":
601
+ case "zinc-200":
602
+ case "amber-300":
603
+ case "blue-300":
604
+ case "cyan-300":
605
+ case "emerald-300":
606
+ case "fuchsia-300":
607
+ case "gray-300":
608
+ case "green-300":
609
+ case "indigo-300":
610
+ case "lime-300":
611
+ case "mauve-300":
612
+ case "mist-300":
613
+ case "neutral-300":
614
+ case "olive-300":
615
+ case "orange-300":
616
+ case "pink-300":
617
+ case "purple-300":
618
+ case "red-300":
619
+ case "rose-300":
620
+ case "sky-300":
621
+ case "slate-300":
622
+ case "stone-300":
623
+ case "taupe-300":
624
+ case "teal-300":
625
+ case "violet-300":
626
+ case "yellow-300":
627
+ case "zinc-300":
628
+ case "amber-400":
629
+ case "blue-400":
630
+ case "cyan-400":
631
+ case "emerald-400":
632
+ case "fuchsia-400":
633
+ case "gray-400":
634
+ case "green-400":
635
+ case "indigo-400":
636
+ case "lime-400":
637
+ case "mauve-400":
638
+ case "mist-400":
639
+ case "neutral-400":
640
+ case "olive-400":
641
+ case "orange-400":
642
+ case "pink-400":
643
+ case "purple-400":
644
+ case "red-400":
645
+ case "rose-400":
646
+ case "sky-400":
647
+ case "slate-400":
648
+ case "stone-400":
649
+ case "taupe-400":
650
+ case "teal-400":
651
+ case "violet-400":
652
+ case "yellow-400":
653
+ case "zinc-400": return asVariable ? "[--text-color:color-mix(in_oklch,var(--theme-color)_5%,var(--color-black))]" : "text-[color-mix(in_oklch,var(--theme-color)_5%,var(--color-black))]";
343
654
  case "amber":
344
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-amber-500)]");
345
- break;
346
655
  case "blue":
347
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-blue-500)]");
348
- break;
656
+ case "custom":
349
657
  case "cyan":
350
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-cyan-500)]");
351
- break;
352
658
  case "emerald":
353
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-emerald-500)]");
354
- break;
355
659
  case "fuchsia":
356
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-fuchsia-500)]");
357
- break;
358
660
  case "gray":
359
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-gray-500)]");
360
- break;
361
661
  case "green":
362
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-green-500)]");
363
- break;
364
662
  case "indigo":
365
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-indigo-500)]");
366
- break;
367
663
  case "lime":
368
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-lime-500)]");
369
- break;
370
664
  case "mauve":
371
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-mauve-500)]");
372
- break;
373
665
  case "mist":
374
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-mist-500)]");
375
- break;
376
666
  case "neutral":
377
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-neutral-500)]");
378
- break;
379
667
  case "olive":
380
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-olive-500)]");
381
- break;
382
668
  case "orange":
383
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-orange-500)]");
384
- break;
385
669
  case "pink":
386
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-pink-500)]");
387
- break;
388
670
  case "purple":
389
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-purple-500)]");
390
- break;
391
671
  case "red":
392
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-red-500)]");
393
- break;
394
672
  case "rose":
395
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-rose-500)]");
396
- break;
397
673
  case "sky":
398
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-sky-500)]");
399
- break;
400
674
  case "slate":
401
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-slate-500)]");
402
- break;
403
675
  case "stone":
404
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-stone-500)]");
405
- break;
406
676
  case "taupe":
407
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-taupe-500)]");
408
- break;
409
677
  case "teal":
410
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-teal-500)]");
411
- break;
412
678
  case "violet":
413
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-violet-500)]");
414
- break;
415
679
  case "yellow":
416
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-yellow-500)]");
417
- break;
418
680
  case "zinc":
419
- fillCenterColorClasses = twJoin(fillCenterColorClasses, "[--theme-color:var(--color-zinc-500)]");
420
- break;
421
- case "custom":
422
- if (customTheme && customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable on the ::after pseudo element. Otherwise, please use `customTheme.classes`.");
423
- fillCenterColorClasses = customTheme.themeColor ? twMerge(fillCenterColorClasses, customTheme.themeColor) : twMerge(fillClasses, customTheme.classes);
424
- break;
425
- default:
426
- fillCenterColorClasses = twMerge(fillCenterColorClasses, `[--theme-color:var(--base-theme-color)]`);
427
- break;
681
+ case "amber-500":
682
+ case "blue-500":
683
+ case "cyan-500":
684
+ case "emerald-500":
685
+ case "fuchsia-500":
686
+ case "gray-500":
687
+ case "green-500":
688
+ case "indigo-500":
689
+ case "lime-500":
690
+ case "mauve-500":
691
+ case "mist-500":
692
+ case "neutral-500":
693
+ case "olive-500":
694
+ case "orange-500":
695
+ case "pink-500":
696
+ case "purple-500":
697
+ case "red-500":
698
+ case "rose-500":
699
+ case "sky-500":
700
+ case "slate-500":
701
+ case "stone-500":
702
+ case "taupe-500":
703
+ case "teal-500":
704
+ case "violet-500":
705
+ case "yellow-500":
706
+ case "zinc-500":
707
+ case "amber-600":
708
+ case "blue-600":
709
+ case "cyan-600":
710
+ case "emerald-600":
711
+ case "fuchsia-600":
712
+ case "gray-600":
713
+ case "green-600":
714
+ case "indigo-600":
715
+ case "lime-600":
716
+ case "mauve-600":
717
+ case "mist-600":
718
+ case "neutral-600":
719
+ case "olive-600":
720
+ case "orange-600":
721
+ case "pink-600":
722
+ case "purple-600":
723
+ case "red-600":
724
+ case "rose-600":
725
+ case "sky-600":
726
+ case "slate-600":
727
+ case "stone-600":
728
+ case "taupe-600":
729
+ case "teal-600":
730
+ case "violet-600":
731
+ case "yellow-600":
732
+ case "zinc-600":
733
+ case "amber-700":
734
+ case "blue-700":
735
+ case "cyan-700":
736
+ case "emerald-700":
737
+ case "fuchsia-700":
738
+ case "gray-700":
739
+ case "green-700":
740
+ case "indigo-700":
741
+ case "lime-700":
742
+ case "mauve-700":
743
+ case "mist-700":
744
+ case "neutral-700":
745
+ case "olive-700":
746
+ case "orange-700":
747
+ case "pink-700":
748
+ case "purple-700":
749
+ case "red-700":
750
+ case "rose-700":
751
+ case "sky-700":
752
+ case "slate-700":
753
+ case "stone-700":
754
+ case "taupe-700":
755
+ case "teal-700":
756
+ case "violet-700":
757
+ case "yellow-700":
758
+ case "zinc-700":
759
+ case "amber-800":
760
+ case "blue-800":
761
+ case "cyan-800":
762
+ case "emerald-800":
763
+ case "fuchsia-800":
764
+ case "gray-800":
765
+ case "green-800":
766
+ case "indigo-800":
767
+ case "lime-800":
768
+ case "mauve-800":
769
+ case "mist-800":
770
+ case "neutral-800":
771
+ case "olive-800":
772
+ case "orange-800":
773
+ case "pink-800":
774
+ case "purple-800":
775
+ case "red-800":
776
+ case "rose-800":
777
+ case "sky-800":
778
+ case "slate-800":
779
+ case "stone-800":
780
+ case "taupe-800":
781
+ case "teal-800":
782
+ case "violet-800":
783
+ case "yellow-800":
784
+ case "zinc-800":
785
+ case "amber-900":
786
+ case "blue-900":
787
+ case "cyan-900":
788
+ case "emerald-900":
789
+ case "fuchsia-900":
790
+ case "gray-900":
791
+ case "green-900":
792
+ case "indigo-900":
793
+ case "lime-900":
794
+ case "mauve-900":
795
+ case "mist-900":
796
+ case "neutral-900":
797
+ case "olive-900":
798
+ case "orange-900":
799
+ case "pink-900":
800
+ case "purple-900":
801
+ case "red-900":
802
+ case "rose-900":
803
+ case "sky-900":
804
+ case "slate-900":
805
+ case "stone-900":
806
+ case "taupe-900":
807
+ case "teal-900":
808
+ case "violet-900":
809
+ case "yellow-900":
810
+ case "zinc-900":
811
+ case "amber-950":
812
+ case "blue-950":
813
+ case "cyan-950":
814
+ case "emerald-950":
815
+ case "fuchsia-950":
816
+ case "gray-950":
817
+ case "green-950":
818
+ case "indigo-950":
819
+ case "lime-950":
820
+ case "mauve-950":
821
+ case "mist-950":
822
+ case "neutral-950":
823
+ case "olive-950":
824
+ case "orange-950":
825
+ case "pink-950":
826
+ case "purple-950":
827
+ case "red-950":
828
+ case "rose-950":
829
+ case "sky-950":
830
+ case "slate-950":
831
+ case "stone-950":
832
+ case "taupe-950":
833
+ case "teal-950":
834
+ case "violet-950":
835
+ case "yellow-950":
836
+ case "zinc-950": return asVariable ? "[--text-color:color-mix(in_oklch,var(--theme-color)_5%,var(--color-white))]" : "text-[color-mix(in_oklch,var(--theme-color)_5%,var(--color-white))]";
837
+ default: return asVariable ? "[--text-color:var(--base-theme-color--foreground)]" : "text-[var(--base-theme-color--foreground)]";
428
838
  }
839
+ }
840
+
841
+ //#endregion
842
+ //#region src/components/link.tsx
843
+ function Anchor({ as, className, disabled, href, onClick, target, rel, ...props }) {
844
+ const isExternal = `${href}`.startsWith("http"), hasHash = `${href}`.includes("#");
845
+ const handleClick = (e) => {
846
+ if (disabled) return e.preventDefault();
847
+ onClick?.(e);
848
+ setTimeout(() => history.replaceState({}, document.title, location.pathname), 100);
849
+ };
850
+ return /* @__PURE__ */ jsx(as || "a", {
851
+ ...props,
852
+ "aria-disabled": disabled,
853
+ className: twMerge("ease-exponential inline-block transition-transform duration-300 active:scale-95 pointer-fine:active:scale-95", className, disabled && "pointer-events-none"),
854
+ href,
855
+ target: target || (isExternal ? "_blank" : "_self"),
856
+ onClick: hasHash ? handleClick : onClick,
857
+ rel: rel !== void 0 ? rel === "nofollow" ? `${rel} noreferrer noopener` : `${rel} prefetch` : isExternal ? "nofollow noreferrer noopener" : "prefetch"
858
+ });
859
+ }
860
+ const baseClasses = "isolate after:absolute after:left-1/2 after:-z-10 after:-translate-x-1/2 after:duration-500 active:after:opacity-100 pointer-fine:active:after:opacity-100";
861
+ const lineStaticClasses = twJoin(baseClasses, "whitespace-nowrap after:-bottom-0.5 after:w-[calc(100%+0.15rem)] after:rounded-full after:border after:border-current");
862
+ const lineClasses = twJoin(lineStaticClasses, "whitespace-nowrap after:transition-transform after:ease-exponential");
863
+ const scaleXClasses = "after:scale-x-0 active:after:scale-x-100 pointer-fine:hover:after:scale-x-100 pointer-fine:active:after:scale-x-100";
864
+ const scaleYClasses = "after:scale-y-0 active:after:scale-y-100 pointer-fine:hover:after:scale-y-100 pointer-fine:active:after:scale-y-100";
865
+ const lineNormalClasses = twJoin([
866
+ lineClasses,
867
+ scaleYClasses,
868
+ "after:origin-bottom after:translate-y-0.5 active:after:translate-y-0 pointer-fine:hover:after:translate-y-0"
869
+ ]);
870
+ const lineLtrClasses = twJoin([
871
+ lineClasses,
872
+ scaleXClasses,
873
+ "after:origin-left"
874
+ ]);
875
+ const lineRtlClasses = twJoin([
876
+ lineClasses,
877
+ scaleXClasses,
878
+ "after:origin-right"
879
+ ]);
880
+ const lineCenterClasses = twJoin([lineClasses, scaleXClasses]);
881
+ const lineLiftClasses = twJoin([
882
+ lineClasses,
883
+ scaleYClasses,
884
+ "after:origin-bottom after:translate-y-1 after:scale-x-75 active:after:translate-y-0 active:after:scale-x-100 pointer-fine:hover:after:translate-y-0 pointer-fine:hover:after:scale-x-100 pointer-fine:active:after:translate-y-0 pointer-fine:active:after:scale-x-100"
885
+ ]);
886
+ const fillClasses = twJoin(baseClasses, "whitespace-nowrap transition-[transform,color] after:top-1/2 after:h-[calc(100%+.05rem)] after:w-[calc(100%+.25rem)] after:-translate-y-1/2 after:rounded after:ease-exponential active:text-(--text-color) pointer-fine:hover:text-(--text-color) pointer-fine:active:text-(--text-color)");
887
+ const getFillColorTransitionClasses = (theme, customTheme) => {
888
+ let fillColorTransitionClasses = twJoin(fillClasses, "transition-[scale,color] after:bg-(--theme-color)");
889
+ if (theme === "custom") {
890
+ if (!customTheme || customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable on the ::after pseudo element. Otherwise, please use `customTheme.classes`.");
891
+ fillColorTransitionClasses = customTheme.themeColor ? twMerge(fillColorTransitionClasses, customTheme.themeColor) : twMerge(fillClasses, customTheme.classes);
892
+ } else fillColorTransitionClasses = twMerge(fillColorTransitionClasses, getThemeColor(theme));
893
+ return fillColorTransitionClasses;
894
+ };
895
+ const getFillCenterClasses = (theme, customTheme) => {
896
+ let fillCenterColorClasses = twJoin(fillClasses, "after:scale-x-50 after:scale-y-[.25] after:bg-(--theme-color)/0 after:transition-[scale,background-color] active:after:scale-x-100 active:after:scale-y-100 active:after:bg-(--theme-color) pointer-fine:hover:after:scale-x-100 pointer-fine:hover:after:scale-y-100 pointer-fine:hover:after:bg-(--theme-color) pointer-fine:active:after:scale-x-100 pointer-fine:active:after:scale-y-100 pointer-fine:active:after:bg-(--theme-color)");
897
+ if (theme === "custom") {
898
+ if (customTheme && customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable on the ::after pseudo element. Otherwise, please use `customTheme.classes`.");
899
+ fillCenterColorClasses = customTheme.themeColor ? twMerge(fillCenterColorClasses, customTheme.themeColor) : twMerge(fillClasses, customTheme.classes);
900
+ } else fillCenterColorClasses = twMerge(fillCenterColorClasses, getThemeColor(theme));
429
901
  return fillCenterColorClasses;
430
902
  };
431
903
  const multilineBaseClasses = "bg-linear-to-r from-current to-current bg-no-repeat active:scale-95";
432
904
  const multilineLineStaticClasses = "underline";
433
905
  const multilineNormalClasses = "underline-offset-1 active:underline pointer-fine:hover:underline";
434
- const multilineLineClasses = twJoin(twJoin(multilineBaseClasses, "duration-500 ease-exponential"), "bg-position-[0%_100%] px-px pb-px transition-[background-size]");
906
+ const multilineLineClasses = twJoin(twJoin(multilineBaseClasses, "duration-500 ease-exponential"), "bg-position-[0%_100%] px-px pbe-px transition-[background-size]");
435
907
  const multilineXClasses = twJoin(multilineLineClasses, "bg-size-[0%_2px] focus-visible:bg-size-[100%_2px] active:bg-size-[100%_2px] pointer-fine:hover:bg-size-[100%_2px]");
436
908
  const multilineLineRtlClasses = twJoin([multilineXClasses, "bg-position-[100%_100%]"]);
437
909
  const multilineLineCenterClasses = twJoin([multilineXClasses, "bg-position-[50%_100%]"]);
438
910
  const multilineLineLiftClasses = twJoin(multilineLineClasses, "bg-size-[auto_0px] focus-visible:bg-size-[auto_2px] active:bg-size-[auto_2px] pointer-fine:hover:bg-size-[auto_2px]");
439
- const multilineFillBaseClasses = twJoin(multilineBaseClasses, "rounded px-0.5 py-0.75 focus-visible:text-zinc-50 active:text-zinc-50 pointer-fine:hover:text-zinc-50");
440
- const getMultilineFillColorClasses = (theme = "blue", customTheme) => {
911
+ const multilineFillBaseClasses = twJoin(multilineBaseClasses, "rounded px-0.5 py-0.75 focus-visible:text-(--text-color) active:text-(--text-color) pointer-fine:hover:text-(--text-color)");
912
+ const getMultilineFillColorClasses = (theme, customTheme) => {
441
913
  let multilineFillColorClasses = twJoin(multilineFillBaseClasses, "from-(--theme-color) to-(--theme-color) transition-[background-size,color]");
442
- switch (theme) {
443
- case "amber":
444
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-amber-500)]");
445
- break;
446
- case "blue":
447
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-blue-500)]");
448
- break;
449
- case "cyan":
450
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-cyan-500)]");
451
- break;
452
- case "emerald":
453
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-emerald-500)]");
454
- break;
455
- case "fuchsia":
456
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-fuchsia-500)]");
457
- break;
458
- case "gray":
459
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-gray-500)]");
460
- break;
461
- case "green":
462
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-green-500)]");
463
- break;
464
- case "indigo":
465
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-indigo-500)]");
466
- break;
467
- case "lime":
468
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-lime-500)]");
469
- break;
470
- case "mauve":
471
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-mauve-500)]");
472
- break;
473
- case "mist":
474
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-mist-500)]");
475
- break;
476
- case "neutral":
477
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-neutral-500)]");
478
- break;
479
- case "olive":
480
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-olive-500)]");
481
- break;
482
- case "orange":
483
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-orange-500)]");
484
- break;
485
- case "pink":
486
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-pink-500)]");
487
- break;
488
- case "purple":
489
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-purple-500)]");
490
- break;
491
- case "red":
492
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-red-500)]");
493
- break;
494
- case "rose":
495
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-rose-500)]");
496
- break;
497
- case "sky":
498
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-sky-500)]");
499
- break;
500
- case "slate":
501
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-slate-500)]");
502
- break;
503
- case "stone":
504
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-stone-500)]");
505
- break;
506
- case "taupe":
507
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-taupe-500)]");
508
- break;
509
- case "teal":
510
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-teal-500)]");
511
- break;
512
- case "violet":
513
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-violet-500)]");
514
- break;
515
- case "yellow":
516
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-yellow-500)]");
517
- break;
518
- case "zinc":
519
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-zinc-500)]");
520
- break;
521
- case "custom":
522
- if (customTheme && customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable. Otherwise, please use `customTheme.classes`.");
523
- multilineFillColorClasses = customTheme.themeColor ? twMerge(multilineFillColorClasses, customTheme.themeColor) : twMerge(multilineFillBaseClasses, customTheme.classes);
524
- break;
525
- default:
526
- multilineFillColorClasses = twMerge(multilineFillColorClasses, `[--theme-color:var(--base-theme-color)]`);
527
- break;
528
- }
914
+ if (theme === "custom") {
915
+ if (customTheme && customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable. Otherwise, please use `customTheme.classes`.");
916
+ multilineFillColorClasses = customTheme.themeColor ? twMerge(multilineFillColorClasses, customTheme.themeColor) : twMerge(multilineFillBaseClasses, customTheme.classes);
917
+ } else multilineFillColorClasses = twMerge(multilineFillColorClasses, getThemeColor(theme));
529
918
  return multilineFillColorClasses;
530
919
  };
531
- const getMultilineFillClasses = (theme = "blue", customTheme) => {
920
+ const getMultilineFillClasses = (theme, customTheme) => {
532
921
  let multilineFillColorClasses = twJoin(multilineFillBaseClasses, "from-(--theme-color)/0 to-(--theme-color)/0 bg-size-[50%_0px] bg-position-[50%_50%] transition-[background-size,background-image,color] focus-visible:from-(--theme-color) focus-visible:to-(--theme-color) focus-visible:bg-size-[100%_100%] active:from-(--theme-color) active:to-(--theme-color) active:bg-size-[100%_100%] contrast-more:from-(--theme-color)/0 pointer-fine:hover:from-(--theme-color) pointer-fine:hover:to-(--theme-color) pointer-fine:hover:bg-size-[100%_100%]");
533
- switch (theme) {
534
- case "amber":
535
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-amber-500)]");
536
- break;
537
- case "blue":
538
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-blue-500)]");
539
- break;
540
- case "cyan":
541
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-cyan-500)]");
542
- break;
543
- case "emerald":
544
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-emerald-500)]");
545
- break;
546
- case "fuchsia":
547
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-fuchsia-500)]");
548
- break;
549
- case "gray":
550
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-gray-500)]");
551
- break;
552
- case "green":
553
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-green-500)]");
554
- break;
555
- case "indigo":
556
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-indigo-500)]");
557
- break;
558
- case "lime":
559
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-lime-500)]");
560
- break;
561
- case "mauve":
562
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-mauve-500)]");
563
- break;
564
- case "mist":
565
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-mist-500)]");
566
- break;
567
- case "neutral":
568
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-neutral-500)]");
569
- break;
570
- case "olive":
571
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-olive-500)]");
572
- break;
573
- case "orange":
574
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-orange-500)]");
575
- break;
576
- case "pink":
577
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-pink-500)]");
578
- break;
579
- case "purple":
580
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-purple-500)]");
581
- break;
582
- case "red":
583
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-red-500)]");
584
- break;
585
- case "rose":
586
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-rose-500)]");
587
- break;
588
- case "sky":
589
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-sky-500)]");
590
- break;
591
- case "slate":
592
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-slate-500)]");
593
- break;
594
- case "stone":
595
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-stone-500)]");
596
- break;
597
- case "taupe":
598
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-taupe-500)]");
599
- break;
600
- case "teal":
601
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-teal-500)]");
602
- break;
603
- case "violet":
604
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-violet-500)]");
605
- break;
606
- case "yellow":
607
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-yellow-500)]");
608
- break;
609
- case "zinc":
610
- multilineFillColorClasses = twJoin(multilineFillColorClasses, "[--theme-color:var(--color-zinc-500)]");
611
- break;
612
- case "custom":
613
- if (customTheme && customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable. Otherwise, please use `customTheme.classes`.");
614
- multilineFillColorClasses = customTheme.themeColor ? twMerge(multilineFillColorClasses, customTheme.themeColor) : twMerge(multilineFillBaseClasses, customTheme.classes);
615
- break;
616
- default:
617
- multilineFillColorClasses = twMerge(multilineFillColorClasses, `[--theme-color:var(--base-theme-color)]`);
618
- break;
619
- }
922
+ if (theme === "custom") {
923
+ if (customTheme && customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable. Otherwise, please use `customTheme.classes`.");
924
+ multilineFillColorClasses = customTheme.themeColor ? twMerge(multilineFillColorClasses, customTheme.themeColor) : twMerge(multilineFillBaseClasses, customTheme.classes);
925
+ } else multilineFillColorClasses = twMerge(multilineFillColorClasses, getThemeColor(theme));
620
926
  return multilineFillColorClasses;
621
927
  };
622
- const getMultilineFillLiftClasses = (theme = "blue", customTheme) => {
928
+ const getMultilineFillLiftClasses = (theme, customTheme) => {
623
929
  return twJoin(getMultilineFillColorClasses(theme, customTheme), "bg-size-[auto_0px] bg-position-[50%_100%] focus-visible:bg-size-[auto_100%] active:bg-size-[auto_100%] pointer-fine:hover:bg-size-[auto_100%]");
624
930
  };
625
- const getMultilineFillXClasses = (theme = "blue", customTheme) => {
931
+ const getMultilineFillXClasses = (theme, customTheme) => {
626
932
  return twJoin(getMultilineFillColorClasses(theme, customTheme), "bg-size-[0%_100%] focus-visible:bg-size-[100%_100%] active:bg-size-[100%_100%] pointer-fine:hover:bg-size-[100%_100%]");
627
933
  };
628
- const getMultilineFillRtlClasses = (theme = "blue", customTheme) => {
934
+ const getMultilineFillRtlClasses = (theme, customTheme) => {
629
935
  return twJoin(getMultilineFillXClasses(theme, customTheme), "bg-position-[100%_auto]");
630
936
  };
631
- const getMultilineFillCenterClasses = (theme = "blue", customTheme) => {
937
+ const getMultilineFillCenterClasses = (theme, customTheme) => {
632
938
  return twJoin(getMultilineFillXClasses(theme, customTheme), "bg-position-[50%_auto]");
633
939
  };
634
940
  function getLinkClasses({ customTheme, theme, type }) {
@@ -638,19 +944,22 @@ function getLinkClasses({ customTheme, theme, type }) {
638
944
  case "rtl": return lineRtlClasses;
639
945
  case "center": return lineCenterClasses;
640
946
  case "lift": return lineLiftClasses;
641
- case "fill": return getFillCenterClasses(theme, customTheme);
947
+ case "fill": return twJoin([getFillCenterClasses(theme, customTheme), getTextColor(theme, true)]);
642
948
  case "fill-ltr": return twJoin([
643
949
  getFillColorTransitionClasses(theme, customTheme),
950
+ getTextColor(theme, true),
644
951
  scaleXClasses,
645
952
  "after:origin-left"
646
953
  ]);
647
954
  case "fill-rtl": return twJoin([
648
955
  getFillColorTransitionClasses(theme, customTheme),
956
+ getTextColor(theme, true),
649
957
  scaleXClasses,
650
958
  "after:origin-right"
651
959
  ]);
652
960
  case "fill-lift": return twJoin([
653
961
  getFillColorTransitionClasses(theme, customTheme),
962
+ getTextColor(theme, true),
654
963
  scaleYClasses,
655
964
  "after:origin-bottom"
656
965
  ]);
@@ -660,11 +969,11 @@ function getLinkClasses({ customTheme, theme, type }) {
660
969
  case "multiline-rtl": return multilineLineRtlClasses;
661
970
  case "multiline-center": return multilineLineCenterClasses;
662
971
  case "multiline-lift": return multilineLineLiftClasses;
663
- case "multiline-fill": return getMultilineFillClasses(theme, customTheme);
664
- case "multiline-fill-ltr": return getMultilineFillXClasses(theme, customTheme);
665
- case "multiline-fill-rtl": return getMultilineFillRtlClasses(theme, customTheme);
666
- case "multiline-fill-center": return getMultilineFillCenterClasses(theme, customTheme);
667
- case "multiline-fill-lift": return getMultilineFillLiftClasses(theme, customTheme);
972
+ case "multiline-fill": return twJoin([getMultilineFillClasses(theme, customTheme), getTextColor(theme, true)]);
973
+ case "multiline-fill-ltr": return twJoin([getMultilineFillXClasses(theme, customTheme), getTextColor(theme, true)]);
974
+ case "multiline-fill-rtl": return twJoin([getMultilineFillRtlClasses(theme, customTheme), getTextColor(theme, true)]);
975
+ case "multiline-fill-center": return twJoin([getMultilineFillCenterClasses(theme, customTheme), getTextColor(theme, true)]);
976
+ case "multiline-fill-lift": return twJoin([getMultilineFillLiftClasses(theme, customTheme), getTextColor(theme, true)]);
668
977
  default: return lineNormalClasses;
669
978
  }
670
979
  }
@@ -738,38 +1047,11 @@ function Button({ className, customTheme, gradient = false, padding = "md", roun
738
1047
  }
739
1048
  };
740
1049
  const getThemeColorVariable = () => {
741
- switch (theme) {
742
- case "amber": return "text-white [--theme-color:var(--color-amber-500)]";
743
- case "blue": return "text-white [--theme-color:var(--color-blue-500)]";
744
- case "cyan": return "text-white [--theme-color:var(--color-cyan-500)]";
745
- case "emerald": return "text-white [--theme-color:var(--color-emerald-500)]";
746
- case "fuchsia": return "text-white [--theme-color:var(--color-fuchsia-500)]";
747
- case "gray": return "text-white [--theme-color:var(--color-gray-500)]";
748
- case "green": return "text-white [--theme-color:var(--color-green-500)]";
749
- case "indigo": return "text-white [--theme-color:var(--color-indigo-500)]";
750
- case "lime": return "text-white [--theme-color:var(--color-lime-500)]";
751
- case "mauve": return "text-white [--theme-color:var(--color-mauve-500)]";
752
- case "mist": return "text-white [--theme-color:var(--color-mist-500)]";
753
- case "neutral": return "text-white [--theme-color:var(--color-neutral-500)]";
754
- case "olive": return "text-white [--theme-color:var(--color-olive-500)]";
755
- case "orange": return "text-white [--theme-color:var(--color-orange-500)]";
756
- case "pink": return "text-white [--theme-color:var(--color-pink-500)]";
757
- case "purple": return "text-white [--theme-color:var(--color-purple-500)]";
758
- case "red": return "text-white [--theme-color:var(--color-red-500)]";
759
- case "rose": return "text-white [--theme-color:var(--color-rose-500)]";
760
- case "sky": return "text-white [--theme-color:var(--color-sky-500)]";
761
- case "slate": return "text-white [--theme-color:var(--color-slate-500)]";
762
- case "stone": return "text-white [--theme-color:var(--color-stone-500)]";
763
- case "taupe": return "text-white [--theme-color:var(--color-taupe-500)]";
764
- case "teal": return "text-white [--theme-color:var(--color-teal-500)]";
765
- case "violet": return "text-white [--theme-color:var(--color-violet-500)]";
766
- case "yellow": return "text-white [--theme-color:var(--color-yellow-500)]";
767
- case "zinc": return "text-white [--theme-color:var(--color-zinc-500)]";
768
- case "custom":
769
- if (customTheme && customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable. Otherwise, please use `customTheme.classes`.");
770
- return customTheme.themeColor || customTheme.classes || "";
771
- default: return "text-(--base-theme-color--foreground) [--theme-color:var(--base-theme-color)]";
1050
+ if (theme === "custom") {
1051
+ if (customTheme && customTheme.themeColor && !customTheme.themeColor.includes("[--theme-color:")) throw new Error("`customTheme.themeColor` must modify the `--theme-color` variable. Otherwise, please use `customTheme.classes`.");
1052
+ return customTheme.themeColor || customTheme.classes || "";
772
1053
  }
1054
+ return twJoin([getTextColor(theme), getThemeColor(theme)]);
773
1055
  };
774
1056
  const buttonClasses = twMerge([
775
1057
  "block w-fit min-w-fit corner-super-1.5 text-center font-semibold shadow-lg duration-300 ease-exponential active:scale-99 data-focus:scale-101 pointer-fine:hover:scale-101 pointer-fine:hover:active:scale-99 pointer-fine:active:scale-99",
@@ -4312,7 +4594,7 @@ function DetailsBody({ children, className, ...props }) {
4312
4594
  className: twMerge("grid-rows-1fr transition-rows ease-exponential data-closed:grid-rows-0fr grid duration-500", className),
4313
4595
  transition: true,
4314
4596
  children: (bag) => /* @__PURE__ */ jsx("div", {
4315
- className: "overflow-y-hidden px-2 pt-3 pb-1",
4597
+ className: "overflow-y-hidden px-2 pbs-3 pbe-1",
4316
4598
  children: typeof children === "function" ? children(bag) : children
4317
4599
  })
4318
4600
  });
@@ -4468,12 +4750,12 @@ function Heading({ as = "h2", children, customize, className, id, ref, ...props
4468
4750
  const targetableID = id || getTextFromChildren(children).replace(/\s+/g, "-").toLowerCase();
4469
4751
  const getBaseClasses = () => {
4470
4752
  switch (as) {
4471
- case "h1": return twMerge("pb-2.5 text-6xl font-black last:pb-0", customize?.h1);
4472
- case "h3": return twMerge("pb-2 text-4xl font-extralight last:pb-0", customize?.h3);
4473
- case "h4": return twMerge("pb-2 text-3xl font-medium last:pb-0", customize?.h4);
4474
- case "h5": return twMerge("pb-1.5 text-2xl font-semibold last:pb-0", customize?.h5);
4475
- case "h6": return twMerge("pb-1 text-xl font-bold last:pb-0", customize?.h6);
4476
- default: return twMerge("pb-2.5 text-5xl font-extrabold last:pb-0", customize?.h2);
4753
+ case "h1": return twMerge("pbe-2.5 text-6xl font-black last:pbe-0", customize?.h1);
4754
+ case "h3": return twMerge("pbe-2 text-4xl font-extralight last:pbe-0", customize?.h3);
4755
+ case "h4": return twMerge("pbe-2 text-3xl font-medium last:pbe-0", customize?.h4);
4756
+ case "h5": return twMerge("pbe-1.5 text-2xl font-semibold last:pbe-0", customize?.h5);
4757
+ case "h6": return twMerge("pbe-1 text-xl font-bold last:pbe-0", customize?.h6);
4758
+ default: return twMerge("pbe-2.5 text-5xl font-extrabold last:pbe-0", customize?.h2);
4477
4759
  }
4478
4760
  };
4479
4761
  const baseClasses = getBaseClasses();
@@ -6339,7 +6621,7 @@ function HumanVerification({ children = "Verify", className }) {
6339
6621
  }),
6340
6622
  /* @__PURE__ */ jsxs("div", {
6341
6623
  id: "human-verification-instructions",
6342
- className: "pt-1 text-center text-xs",
6624
+ className: "pbs-1 text-center text-xs",
6343
6625
  children: [
6344
6626
  "Human verification challenge.",
6345
6627
  " ",
@@ -6737,7 +7019,7 @@ function ModalDialog(props) {
6737
7019
  rounded: "full",
6738
7020
  className: "group/button fixed top-4 right-4 size-7 overflow-x-hidden transition-[scale,width,filter] pointer-fine:hover:w-20",
6739
7021
  children: /* @__PURE__ */ jsxs("div", {
6740
- className: "ease-exponential absolute top-1 right-1 flex items-center gap-1 pt-px transition-transform duration-300 pointer-fine:group-hover/button:-translate-x-0.5",
7022
+ className: "ease-exponential absolute top-1 right-1 flex items-center gap-1 pbs-px transition-transform duration-300 pointer-fine:group-hover/button:-translate-x-0.5",
6741
7023
  children: [/* @__PURE__ */ jsxs("span", {
6742
7024
  className: "block text-xs leading-none uppercase",
6743
7025
  children: ["Close", /* @__PURE__ */ jsx("span", {
@@ -7054,6 +7336,58 @@ function Select({ buttonProps, children, className, description, descriptionProp
7054
7336
  });
7055
7337
  }
7056
7338
 
7339
+ //#endregion
7340
+ //#region src/symbols/circle.fill.tsx
7341
+ function CircleFill({ weight = "regular", ...props }) {
7342
+ switch (weight) {
7343
+ case "ultralight": return /* @__PURE__ */ jsx("svg", {
7344
+ viewBox: "6.83594 -72.4785 74.45 74.45",
7345
+ ...props,
7346
+ children: /* @__PURE__ */ jsx("path", { d: "M44.0606 1.97072C64.521 1.97072 81.2886-14.7969 81.2886-35.2539C81.2886-55.7109 64.521-72.4785 44.0606-72.4785C23.6035-72.4785 6.83594-55.7109 6.83594-35.2539C6.83594-14.7969 23.6035 1.97072 44.0606 1.97072Z" })
7347
+ });
7348
+ case "thin": return /* @__PURE__ */ jsx("svg", {
7349
+ viewBox: "6.83594 -72.9707 75.45 75.43",
7350
+ ...props,
7351
+ children: /* @__PURE__ */ jsx("path", { d: "M44.5527 2.4629C65.3106 2.4629 82.2832-14.5098 82.2832-35.2539C82.2832-55.9981 65.3106-72.9707 44.5527-72.9707C23.8086-72.9707 6.83594-55.9981 6.83594-35.2539C6.83594-14.5098 23.8086 2.4629 44.5527 2.4629Z" })
7352
+ });
7353
+ case "light": return /* @__PURE__ */ jsx("svg", {
7354
+ viewBox: "6.83594 -73.9316 77.39 77.36",
7355
+ ...props,
7356
+ children: /* @__PURE__ */ jsx("path", { d: "M45.5137 3.42383C66.8521 3.42383 84.2251-13.9492 84.2251-35.2539C84.2251-56.5586 66.8521-73.9316 45.5137-73.9316C24.209-73.9316 6.83594-56.5586 6.83594-35.2539C6.83594-13.9492 24.209 3.42383 45.5137 3.42383Z" })
7357
+ });
7358
+ case "regular": return /* @__PURE__ */ jsx("svg", {
7359
+ viewBox: "6.83594 -74.6582 78.86 78.81",
7360
+ ...props,
7361
+ children: /* @__PURE__ */ jsx("path", { d: "M46.2402 4.15039C68.0176 4.15039 85.6934-13.5254 85.6934-35.2539C85.6934-56.9824 68.0176-74.6582 46.2402-74.6582C24.5117-74.6582 6.83594-56.9824 6.83594-35.2539C6.83594-13.5254 24.5117 4.15039 46.2402 4.15039Z" })
7362
+ });
7363
+ case "medium": return /* @__PURE__ */ jsx("svg", {
7364
+ viewBox: "6.83594 -75.124 79.78 79.74",
7365
+ ...props,
7366
+ children: /* @__PURE__ */ jsx("path", { d: "M46.7061 4.61621C68.7383 4.61621 86.6162-13.2617 86.6162-35.2539C86.6162-57.2461 68.7383-75.124 46.7061-75.124C24.7139-75.124 6.83594-57.2461 6.83594-35.2539C6.83594-13.2617 24.7139 4.61621 46.7061 4.61621Z" })
7367
+ });
7368
+ case "semibold": return /* @__PURE__ */ jsx("svg", {
7369
+ viewBox: "6.83594 -75.4812 80.49 80.45",
7370
+ ...props,
7371
+ children: /* @__PURE__ */ jsx("path", { d: "M47.0632 4.97334C69.2908 4.97334 87.3237-13.0596 87.3237-35.2539C87.3237-57.4482 69.2908-75.4812 47.0632-75.4812C24.8688-75.4812 6.83594-57.4482 6.83594-35.2539C6.83594-13.0596 24.8688 4.97334 47.0632 4.97334Z" })
7372
+ });
7373
+ case "bold": return /* @__PURE__ */ jsx("svg", {
7374
+ viewBox: "6.83594 -75.9521 81.42 81.4",
7375
+ ...props,
7376
+ children: /* @__PURE__ */ jsx("path", { d: "M47.5342 5.44434C70.0195 5.44434 88.2568-12.793 88.2568-35.2539C88.2568-57.7148 70.0195-75.9521 47.5342-75.9521C25.0732-75.9521 6.83594-57.7148 6.83594-35.2539C6.83594-12.793 25.0732 5.44434 47.5342 5.44434Z" })
7377
+ });
7378
+ case "heavy": return /* @__PURE__ */ jsx("svg", {
7379
+ viewBox: "6.83594 -76.6353 82.77 82.76",
7380
+ ...props,
7381
+ children: /* @__PURE__ */ jsx("path", { d: "M48.2173 6.12748C71.0765 6.12748 89.6102-12.4063 89.6102-35.2539C89.6102-58.1015 71.0765-76.6353 48.2173-76.6353C25.3697-76.6353 6.83594-58.1015 6.83594-35.2539C6.83594-12.4063 25.3697 6.12748 48.2173 6.12748Z" })
7382
+ });
7383
+ case "black": return /* @__PURE__ */ jsx("svg", {
7384
+ viewBox: "6.83594 -77.2461 83.98 83.98",
7385
+ ...props,
7386
+ children: /* @__PURE__ */ jsx("path", { d: "M48.8281 6.73828C72.0215 6.73828 90.8203-12.0605 90.8203-35.2539C90.8203-58.4473 72.0215-77.2461 48.8281-77.2461C25.6348-77.2461 6.83594-58.4473 6.83594-35.2539C6.83594-12.0605 25.6348 6.73828 48.8281 6.73828Z" })
7387
+ });
7388
+ }
7389
+ }
7390
+
7057
7391
  //#endregion
7058
7392
  //#region src/components/submit-button.tsx
7059
7393
  /**
@@ -7081,28 +7415,33 @@ function SubmitButton({ children, className, customTheme, error, formStatus = "r
7081
7415
  case "incomplete": return incomplete || "Complete Form";
7082
7416
  case "loading": return loading || /* @__PURE__ */ jsxs(Fragment, { children: [
7083
7417
  /* @__PURE__ */ jsx("span", {
7084
- className: "animate-wave animation-delay-300 inline-block",
7085
- children: ""
7418
+ className: "sr-only",
7419
+ children: "Submitting…"
7086
7420
  }),
7087
- /* @__PURE__ */ jsx("span", {
7088
- className: "animate-wave animation-delay-150 inline-block",
7089
- children: ""
7421
+ "\xA0",
7422
+ /* @__PURE__ */ jsx(CircleFill, {
7423
+ className: "animate-wave size-2",
7424
+ weight: "black"
7090
7425
  }),
7091
- /* @__PURE__ */ jsx("span", {
7092
- className: "animate-wave inline-block",
7093
- children: ""
7094
- })
7095
- ] });
7096
- case "error": return /* @__PURE__ */ jsxs(Fragment, { children: [
7097
- error || "Error",
7098
- " ",
7099
- /* @__PURE__ */ jsx("span", {
7100
- className: "absolute top-1/2 ml-1.5 translate-y-[calc(-50%-1.5px)] text-2xl",
7101
- children: "×"
7102
- })
7426
+ /* @__PURE__ */ jsx(CircleFill, {
7427
+ className: "animate-wave animation-delay-100 size-2",
7428
+ weight: "black"
7429
+ }),
7430
+ /* @__PURE__ */ jsx(CircleFill, {
7431
+ className: "animate-wave animation-delay-200 size-2",
7432
+ weight: "black"
7433
+ }),
7434
+ "\xA0"
7103
7435
  ] });
7436
+ case "error": return error || /* @__PURE__ */ jsxs(Fragment, { children: ["Error", /* @__PURE__ */ jsx(Xmark, {
7437
+ className: "size-3.5",
7438
+ weight: "semibold"
7439
+ })] });
7104
7440
  case "readonly": return readonly || children;
7105
- case "success": return success || "Successfully Submitted";
7441
+ case "success": return success || /* @__PURE__ */ jsxs(Fragment, { children: ["Successfully Submitted", /* @__PURE__ */ jsx(Checkmark, {
7442
+ className: "size-3.5",
7443
+ weight: "semibold"
7444
+ })] });
7106
7445
  default: return children || "Submit";
7107
7446
  }
7108
7447
  };