@luminescent/ui-qwik 1.4.6-0 → 2.0.0
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/lib/index.qwik.cjs +113 -128
- package/lib/index.qwik.mjs +114 -129
- package/lib-types/components/docs.d.ts +8 -0
- package/lib-types/components/elements/Blobs.d.ts +1 -1
- package/lib-types/components/elements/Header.d.ts +1 -2
- package/lib-types/components/elements/NumberInput.d.ts +2 -2
- package/lib-types/components/elements/Toggle.d.ts +2 -2
- package/package.json +27 -18
- package/{src/tailwind.config.js → tailwind.config.js} +38 -30
- package/lib-types/components/docs/Playground.d.ts +0 -2
package/lib/index.qwik.cjs
CHANGED
|
@@ -4,7 +4,7 @@ const jsxRuntime = require("@builder.io/qwik/jsx-runtime");
|
|
|
4
4
|
const qwik = require("@builder.io/qwik");
|
|
5
5
|
const Anchor = qwik.component$(({ id }) => /* @__PURE__ */ jsxRuntime.jsx("span", {
|
|
6
6
|
id,
|
|
7
|
-
class: "
|
|
7
|
+
class: "pointer-events-none -mt-32 block h-32"
|
|
8
8
|
}));
|
|
9
9
|
const blobColorClasses = {
|
|
10
10
|
slate: [
|
|
@@ -142,7 +142,7 @@ const Blobs = qwik.component$(({ color = "darkgray", blur = "xl", ...props }) =>
|
|
|
142
142
|
const colorClass = typeof color == "string" ? blobColorClasses[color] : color;
|
|
143
143
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
144
144
|
class: {
|
|
145
|
-
"
|
|
145
|
+
"animate-in fade-in anim-duration-[2s] absolute inset-0 transition-all motion-reduce:hidden": true,
|
|
146
146
|
...props.class
|
|
147
147
|
},
|
|
148
148
|
style: {
|
|
@@ -152,7 +152,8 @@ const Blobs = qwik.component$(({ color = "darkgray", blur = "xl", ...props }) =>
|
|
|
152
152
|
children: [
|
|
153
153
|
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
154
154
|
class: {
|
|
155
|
-
"absolute top-0
|
|
155
|
+
"absolute top-0 h-[30cqw] w-[30cqw] rounded-full opacity-20 ease-in-out": true,
|
|
156
|
+
"blur-xs": blur === "xs",
|
|
156
157
|
"blur-sm": blur === "sm",
|
|
157
158
|
"blur-md": blur === "md",
|
|
158
159
|
"blur-lg": blur === "lg",
|
|
@@ -163,7 +164,8 @@ const Blobs = qwik.component$(({ color = "darkgray", blur = "xl", ...props }) =>
|
|
|
163
164
|
}),
|
|
164
165
|
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
165
166
|
class: {
|
|
166
|
-
"absolute top-0
|
|
167
|
+
"absolute top-0 h-[30cqw] w-[30cqw] rounded-full opacity-20 ease-in-out": true,
|
|
168
|
+
"blur-xs": blur === "xs",
|
|
167
169
|
"blur-sm": blur === "sm",
|
|
168
170
|
"blur-md": blur === "md",
|
|
169
171
|
"blur-lg": blur === "lg",
|
|
@@ -175,7 +177,8 @@ const Blobs = qwik.component$(({ color = "darkgray", blur = "xl", ...props }) =>
|
|
|
175
177
|
}),
|
|
176
178
|
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
177
179
|
class: {
|
|
178
|
-
"absolute top-0
|
|
180
|
+
"absolute top-0 h-[30cqw] w-[30cqw] rounded-full opacity-20 ease-in-out": true,
|
|
181
|
+
"blur-xs": blur === "xs",
|
|
179
182
|
"blur-sm": blur === "sm",
|
|
180
183
|
"blur-md": blur === "md",
|
|
181
184
|
"blur-lg": blur === "lg",
|
|
@@ -356,7 +359,7 @@ const ColorPicker = qwik.component$(({ id, value = "#000000", colors = [
|
|
|
356
359
|
sPosition: hsvColor.s * width,
|
|
357
360
|
value
|
|
358
361
|
});
|
|
359
|
-
const setColor = qwik.$((color) => {
|
|
362
|
+
const setColor = qwik.$(async (color) => {
|
|
360
363
|
if (!color.match(/^#[0-9A-F]{6}$/i)) return;
|
|
361
364
|
const number = hexStringToNumber(color);
|
|
362
365
|
const hsv = rgbToHsv(hexNumberToRgb(number));
|
|
@@ -369,9 +372,9 @@ const ColorPicker = qwik.component$(({ id, value = "#000000", colors = [
|
|
|
369
372
|
store.sPosition = hsv.s * width;
|
|
370
373
|
store.bPosition = (1 - hsv.v) * maxHue;
|
|
371
374
|
store.value = color;
|
|
372
|
-
onInput$?.(store.value);
|
|
375
|
+
await onInput$?.(store.value);
|
|
373
376
|
});
|
|
374
|
-
const hueChange = qwik.$((e, hOffset) => {
|
|
377
|
+
const hueChange = qwik.$(async (e, hOffset) => {
|
|
375
378
|
const { y } = getMousePosition(e);
|
|
376
379
|
store.hue.position = clamp(maxHue - (y - hOffset), 0, maxHue);
|
|
377
380
|
const hsvColor2 = rgbToHsv(hexNumberToRgb(hexStringToNumber(store.value)));
|
|
@@ -383,12 +386,12 @@ const ColorPicker = qwik.component$(({ id, value = "#000000", colors = [
|
|
|
383
386
|
v: 1
|
|
384
387
|
}));
|
|
385
388
|
store.value = rgbToHex(hsvToRgb(hsvColor2));
|
|
386
|
-
onInput$?.(store.value);
|
|
389
|
+
await onInput$?.(store.value);
|
|
387
390
|
});
|
|
388
|
-
const hueMouseDown = qwik.$((e, el) => {
|
|
391
|
+
const hueMouseDown = qwik.$(async (e, el) => {
|
|
389
392
|
const hOffset = el.getBoundingClientRect().top;
|
|
390
|
-
hueChange(e, hOffset);
|
|
391
|
-
const eventListener = (e2) => hueChange(e2, hOffset);
|
|
393
|
+
await hueChange(e, hOffset);
|
|
394
|
+
const eventListener = (e2) => void hueChange(e2, hOffset);
|
|
392
395
|
window.addEventListener("mousemove", eventListener);
|
|
393
396
|
window.addEventListener("touchmove", eventListener);
|
|
394
397
|
const mouseUpListener = () => {
|
|
@@ -400,7 +403,7 @@ const ColorPicker = qwik.component$(({ id, value = "#000000", colors = [
|
|
|
400
403
|
window.addEventListener("mouseup", mouseUpListener);
|
|
401
404
|
window.addEventListener("touchend", mouseUpListener);
|
|
402
405
|
});
|
|
403
|
-
const sbChange = qwik.$((e, hOffset) => {
|
|
406
|
+
const sbChange = qwik.$(async (e, hOffset) => {
|
|
404
407
|
const { x, y } = getMousePosition(e);
|
|
405
408
|
store.bPosition = clamp(y - hOffset.top, 0, maxHue);
|
|
406
409
|
store.sPosition = clamp(x - hOffset.left, 0, width);
|
|
@@ -411,12 +414,12 @@ const ColorPicker = qwik.component$(({ id, value = "#000000", colors = [
|
|
|
411
414
|
s,
|
|
412
415
|
v
|
|
413
416
|
}));
|
|
414
|
-
onInput$?.(store.value);
|
|
417
|
+
await onInput$?.(store.value);
|
|
415
418
|
});
|
|
416
|
-
const sbMouseDown = qwik.$((e, el) => {
|
|
419
|
+
const sbMouseDown = qwik.$(async (e, el) => {
|
|
417
420
|
const offset = el.getBoundingClientRect();
|
|
418
|
-
sbChange(e, offset);
|
|
419
|
-
const eventListener = (e2) => sbChange(e2, offset);
|
|
421
|
+
await sbChange(e, offset);
|
|
422
|
+
const eventListener = (e2) => void sbChange(e2, offset);
|
|
420
423
|
window.addEventListener("mousemove", eventListener);
|
|
421
424
|
window.addEventListener("touchmove", eventListener);
|
|
422
425
|
const mouseUpListener = () => {
|
|
@@ -430,22 +433,22 @@ const ColorPicker = qwik.component$(({ id, value = "#000000", colors = [
|
|
|
430
433
|
});
|
|
431
434
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
432
435
|
class: {
|
|
433
|
-
"
|
|
434
|
-
|
|
436
|
+
"lum-bg-gray-900 flex touch-none gap-4 rounded-lg p-4 motion-safe:transition-all": true,
|
|
437
|
+
flex: true,
|
|
435
438
|
"flex-col": !horizontal,
|
|
436
439
|
...props.class
|
|
437
440
|
},
|
|
438
441
|
id,
|
|
439
|
-
onInput$: (e, el) => {
|
|
442
|
+
onInput$: async (e, el) => {
|
|
440
443
|
if (!el.dataset.value) return;
|
|
441
|
-
setColor(el.dataset.value);
|
|
444
|
+
await setColor(el.dataset.value);
|
|
442
445
|
},
|
|
443
446
|
children: [
|
|
444
447
|
/* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
445
448
|
class: "flex gap-4",
|
|
446
449
|
children: [
|
|
447
450
|
/* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
448
|
-
class: "
|
|
451
|
+
class: "relative h-[150px] w-[125px] rounded-md",
|
|
449
452
|
style: {
|
|
450
453
|
background: `linear-gradient(to right, #FFFFFF, ${store.hue.color})`
|
|
451
454
|
},
|
|
@@ -455,11 +458,11 @@ const ColorPicker = qwik.component$(({ id, value = "#000000", colors = [
|
|
|
455
458
|
"preventdefault:touchstart": true,
|
|
456
459
|
children: [
|
|
457
460
|
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
458
|
-
class: "
|
|
461
|
+
class: "h-[150px] w-[125px] rounded-[0.3rem] border border-gray-700 bg-gradient-to-b from-transparent to-black"
|
|
459
462
|
}),
|
|
460
463
|
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
461
464
|
class: {
|
|
462
|
-
"absolute -top-2 -left-2
|
|
465
|
+
"absolute -top-2 -left-2 h-4 w-4 rounded-full border bg-white": true,
|
|
463
466
|
"border-white": getBrightness(hexNumberToRgb(hexStringToNumber(store.value))) < 0.5,
|
|
464
467
|
"border-black": getBrightness(hexNumberToRgb(hexStringToNumber(store.value))) > 0.5
|
|
465
468
|
},
|
|
@@ -471,7 +474,7 @@ const ColorPicker = qwik.component$(({ id, value = "#000000", colors = [
|
|
|
471
474
|
]
|
|
472
475
|
}),
|
|
473
476
|
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
474
|
-
class: "h-[150px]
|
|
477
|
+
class: "relative h-[150px] w-2 rounded-md border border-gray-700",
|
|
475
478
|
style: {
|
|
476
479
|
background: "linear-gradient(to bottom, #ff0000, #ff00ff, #0000ff, #00ffff, #00ff00, #ffff00, #ff0000)"
|
|
477
480
|
},
|
|
@@ -480,7 +483,7 @@ const ColorPicker = qwik.component$(({ id, value = "#000000", colors = [
|
|
|
480
483
|
"preventdefault:mousedown": true,
|
|
481
484
|
"preventdefault:touchstart": true,
|
|
482
485
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
483
|
-
class: "absolute -bottom-2 -left-[5px]
|
|
486
|
+
class: "absolute -bottom-2 -left-[5px] h-4 w-4 rounded-full border border-white bg-[#ff0000]",
|
|
484
487
|
style: {
|
|
485
488
|
transform: `translateY(${-store.hue.position}px)`,
|
|
486
489
|
background: store.hue.color
|
|
@@ -490,11 +493,11 @@ const ColorPicker = qwik.component$(({ id, value = "#000000", colors = [
|
|
|
490
493
|
]
|
|
491
494
|
}),
|
|
492
495
|
/* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
493
|
-
class: "w-[150px] flex
|
|
496
|
+
class: "flex w-[150px] flex-wrap justify-between gap-1",
|
|
494
497
|
children: [
|
|
495
498
|
showInput && /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
496
499
|
class: {
|
|
497
|
-
"flex w-[150px]
|
|
500
|
+
"mb-2 flex w-[150px] border-b border-b-gray-700 pb-3": true,
|
|
498
501
|
"flex-row gap-1": preview == "left",
|
|
499
502
|
"flex-row-reverse gap-1": preview == "right",
|
|
500
503
|
"flex-col": preview == "top",
|
|
@@ -504,8 +507,8 @@ const ColorPicker = qwik.component$(({ id, value = "#000000", colors = [
|
|
|
504
507
|
preview != "full" && /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
505
508
|
class: {
|
|
506
509
|
"border border-gray-700": true,
|
|
507
|
-
"h-full
|
|
508
|
-
"w-full
|
|
510
|
+
"aspect-square h-full rounded-md": preview == "left" || preview == "right",
|
|
511
|
+
"h-3 w-full": preview == "top" || preview == "bottom",
|
|
509
512
|
"rounded-t-md": preview == "top",
|
|
510
513
|
"rounded-b-md": preview == "bottom"
|
|
511
514
|
},
|
|
@@ -515,17 +518,17 @@ const ColorPicker = qwik.component$(({ id, value = "#000000", colors = [
|
|
|
515
518
|
}),
|
|
516
519
|
/* @__PURE__ */ jsxRuntime.jsx("input", {
|
|
517
520
|
class: {
|
|
518
|
-
"
|
|
519
|
-
"
|
|
520
|
-
"
|
|
521
|
+
"lum-input w-full p-1 text-xs": true,
|
|
522
|
+
"rounded-t-none border-t-0": preview == "top",
|
|
523
|
+
"rounded-b-none border-b-0": preview == "bottom"
|
|
521
524
|
},
|
|
522
525
|
value: store.value,
|
|
523
526
|
style: preview == "full" ? {
|
|
524
527
|
backgroundColor: `${store.value}`,
|
|
525
528
|
color: getBrightness(hexNumberToRgb(hexStringToNumber(store.value))) > 0.5 ? "black" : "white"
|
|
526
529
|
} : {},
|
|
527
|
-
onInput$: (e, el) => {
|
|
528
|
-
setColor(el.value);
|
|
530
|
+
onInput$: async (e, el) => {
|
|
531
|
+
await setColor(el.value);
|
|
529
532
|
}
|
|
530
533
|
})
|
|
531
534
|
]
|
|
@@ -533,25 +536,25 @@ const ColorPicker = qwik.component$(({ id, value = "#000000", colors = [
|
|
|
533
536
|
colors.map((color, i) => {
|
|
534
537
|
return /* @__PURE__ */ jsxRuntime.jsx("button", {
|
|
535
538
|
class: {
|
|
536
|
-
"
|
|
539
|
+
"lum-btn h-[1.6rem] w-[1.6rem] border-2 border-white/30 p-0 hover:border-white": true
|
|
537
540
|
},
|
|
538
541
|
style: {
|
|
539
542
|
background: color,
|
|
540
|
-
|
|
543
|
+
borderColor: color === store.value ? "#ffffff" : void 0
|
|
541
544
|
},
|
|
542
|
-
onClick$: () => {
|
|
543
|
-
setColor(color);
|
|
545
|
+
onClick$: async () => {
|
|
546
|
+
await setColor(color);
|
|
544
547
|
}
|
|
545
548
|
}, i);
|
|
546
549
|
}),
|
|
547
550
|
/* @__PURE__ */ jsxRuntime.jsx("button", {
|
|
548
|
-
class: "
|
|
549
|
-
onClick$: () => {
|
|
551
|
+
class: "lum-btn h-[1.6rem] w-[1.6rem] p-0.5",
|
|
552
|
+
onClick$: async () => {
|
|
550
553
|
const color = `#${Math.floor(Math.random() * 16777215).toString(16)}`;
|
|
551
|
-
setColor(color);
|
|
554
|
+
await setColor(color);
|
|
552
555
|
},
|
|
553
556
|
children: /* @__PURE__ */ jsxRuntime.jsx(Shuffle, {
|
|
554
|
-
class: "fill-current
|
|
557
|
+
class: "fill-current p-0.5 pl-0.5 text-gray-300"
|
|
555
558
|
})
|
|
556
559
|
})
|
|
557
560
|
]
|
|
@@ -581,7 +584,7 @@ const Dropdown = qwik.component$((props) => {
|
|
|
581
584
|
children: [
|
|
582
585
|
/* @__PURE__ */ jsxRuntime.jsx("label", {
|
|
583
586
|
for: props.id,
|
|
584
|
-
class: "text-gray-300
|
|
587
|
+
class: "pb-1 text-gray-300 select-none",
|
|
585
588
|
children: /* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {})
|
|
586
589
|
}),
|
|
587
590
|
/* @__PURE__ */ jsxRuntime.jsx(DropdownRaw, {
|
|
@@ -598,14 +601,14 @@ const DropdownRaw = qwik.component$(({ id, values, class: Class, display, hover,
|
|
|
598
601
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
599
602
|
class: {
|
|
600
603
|
"relative touch-manipulation": true,
|
|
601
|
-
|
|
604
|
+
group: hover
|
|
602
605
|
},
|
|
603
606
|
children: [
|
|
604
607
|
values && /* @__PURE__ */ jsxRuntime.jsx("select", {
|
|
605
608
|
...props,
|
|
606
609
|
id,
|
|
607
610
|
class: {
|
|
608
|
-
|
|
611
|
+
hidden: true
|
|
609
612
|
},
|
|
610
613
|
children: values.map((value, i) => {
|
|
611
614
|
return /* @__PURE__ */ jsxRuntime.jsx("option", {
|
|
@@ -616,7 +619,7 @@ const DropdownRaw = qwik.component$(({ id, values, class: Class, display, hover,
|
|
|
616
619
|
}),
|
|
617
620
|
/* @__PURE__ */ jsxRuntime.jsxs("button", {
|
|
618
621
|
class: {
|
|
619
|
-
"lum-btn
|
|
622
|
+
"lum-btn": true,
|
|
620
623
|
...Class
|
|
621
624
|
},
|
|
622
625
|
onClick$: () => {
|
|
@@ -632,31 +635,31 @@ const DropdownRaw = qwik.component$(({ id, values, class: Class, display, hover,
|
|
|
632
635
|
/* @__PURE__ */ jsxRuntime.jsx(ChevronDown, {
|
|
633
636
|
width: 16,
|
|
634
637
|
class: {
|
|
635
|
-
"motion-safe:transition-all
|
|
636
|
-
"
|
|
637
|
-
"
|
|
638
|
-
"focus-within:
|
|
638
|
+
"ease-out motion-safe:transition-all": true,
|
|
639
|
+
"rotate-180 transform": store.opened,
|
|
640
|
+
"duration-300 group-hover:rotate-180 group-hover:transform group-hover:duration-75": hover,
|
|
641
|
+
"focus-within:rotate-180 focus-within:transform focus-within:duration-75": true
|
|
639
642
|
}
|
|
640
643
|
})
|
|
641
644
|
]
|
|
642
645
|
}),
|
|
643
646
|
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
644
647
|
class: {
|
|
645
|
-
"
|
|
646
|
-
"
|
|
647
|
-
"group-hover:pointer-events-auto group-hover:
|
|
648
|
-
"focus-within:pointer-events-auto focus-within:
|
|
648
|
+
"absolute top-full left-0 z-[1000] pt-2 transition-all ease-out": true,
|
|
649
|
+
"pointer-events-none scale-95 opacity-0": !store.opened,
|
|
650
|
+
"duration-300 group-hover:pointer-events-auto group-hover:scale-100 group-hover:opacity-100 group-hover:duration-75": hover,
|
|
651
|
+
"focus-within:pointer-events-auto focus-within:scale-100 focus-within:opacity-100 focus-within:duration-75": true
|
|
649
652
|
},
|
|
650
653
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
651
654
|
id: `lui-${id}-opts`,
|
|
652
655
|
class: {
|
|
653
|
-
"
|
|
656
|
+
"lum-bg-gray-800 lum-scroll flex max-h-72 flex-col gap-1 overflow-auto rounded-md border p-1 backdrop-blur-xl select-none motion-safe:transition-all": true
|
|
654
657
|
},
|
|
655
658
|
children: [
|
|
656
659
|
values?.map(({ name, value }, i) => {
|
|
657
660
|
return /* @__PURE__ */ jsxRuntime.jsx("button", {
|
|
658
661
|
class: {
|
|
659
|
-
"lum-btn lum-
|
|
662
|
+
"lum-btn lum-bg-transparent": true
|
|
660
663
|
},
|
|
661
664
|
onClick$: () => {
|
|
662
665
|
store.opened = false;
|
|
@@ -695,68 +698,51 @@ const Link = qwik.component$((props) => {
|
|
|
695
698
|
})
|
|
696
699
|
});
|
|
697
700
|
});
|
|
698
|
-
const Header = qwik.component$(({ id, anchor,
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
701
|
+
const Header = qwik.component$(({ id, anchor, ...props }) => /* @__PURE__ */ jsxRuntime.jsxs("h2", {
|
|
702
|
+
class: {
|
|
703
|
+
"group flex items-center gap-2 text-xl font-bold whitespace-nowrap text-white sm:text-2xl": true,
|
|
704
|
+
...props.class
|
|
705
|
+
},
|
|
706
|
+
children: [
|
|
707
|
+
/* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {}),
|
|
708
|
+
id && /* @__PURE__ */ jsxRuntime.jsx(Anchor, {
|
|
709
|
+
id
|
|
710
|
+
}),
|
|
711
|
+
anchor && id && /* @__PURE__ */ jsxRuntime.jsx("a", {
|
|
712
|
+
href: `#${id}`,
|
|
713
|
+
onClick$: async () => {
|
|
714
|
+
await navigator.clipboard.writeText(window.location.href);
|
|
704
715
|
},
|
|
705
|
-
children:
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
}),
|
|
710
|
-
anchor && id && /* @__PURE__ */ jsxRuntime.jsx("a", {
|
|
711
|
-
href: `#${id}`,
|
|
712
|
-
onClick$: () => {
|
|
713
|
-
navigator.clipboard.writeText(window.location.href);
|
|
714
|
-
},
|
|
715
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Link, {
|
|
716
|
-
class: "transition-all opacity-10 group-hover:opacity-100 duration-300 group-hover:duration-75",
|
|
717
|
-
width: 24
|
|
718
|
-
})
|
|
719
|
-
})
|
|
720
|
-
]
|
|
716
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Link, {
|
|
717
|
+
class: "opacity-10 transition-all duration-300 group-hover:opacity-100 group-hover:duration-75",
|
|
718
|
+
width: 24
|
|
719
|
+
})
|
|
721
720
|
})
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
Component = /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
725
|
-
class: "flex flex-col gap-1",
|
|
726
|
-
children: [
|
|
727
|
-
Component,
|
|
728
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", {
|
|
729
|
-
class: "flex items-center text-gray-400 text-sm",
|
|
730
|
-
children: subheader
|
|
731
|
-
})
|
|
732
|
-
]
|
|
733
|
-
});
|
|
734
|
-
}
|
|
735
|
-
return Component;
|
|
736
|
-
});
|
|
721
|
+
]
|
|
722
|
+
}));
|
|
737
723
|
const Nav = qwik.component$(({ fixed, floating, nohamburger, colorClass = "lum-bg-gray-900", ...props }) => {
|
|
738
724
|
const menu = qwik.useSignal(false);
|
|
739
725
|
return /* @__PURE__ */ jsxRuntime.jsxs("nav", {
|
|
740
726
|
...props,
|
|
741
727
|
class: {
|
|
742
|
-
"
|
|
743
|
-
|
|
744
|
-
|
|
728
|
+
"top-0 left-0 z-50 flex w-full flex-col duration-200 motion-safe:transition-all": true,
|
|
729
|
+
fixed,
|
|
730
|
+
absolute: !fixed,
|
|
745
731
|
...props.class
|
|
746
732
|
},
|
|
747
733
|
children: [
|
|
748
734
|
!nohamburger && /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
749
735
|
class: {
|
|
750
|
-
"
|
|
736
|
+
"absolute top-full flex w-full flex-col items-center px-2 motion-safe:transition-all sm:hidden": true,
|
|
751
737
|
"mt-2": menu.value,
|
|
752
|
-
"
|
|
738
|
+
"pointer-events-none opacity-0": !menu.value,
|
|
753
739
|
"before:backdrop-blur-lg": !colorClass.includes("transparent"),
|
|
754
|
-
'before:absolute before:
|
|
740
|
+
'before:absolute before:-z-10 before:h-full before:w-full before:rounded-lg before:drop-shadow-xl before:content-[""]': true
|
|
755
741
|
},
|
|
756
742
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
757
743
|
class: {
|
|
758
744
|
[colorClass]: true,
|
|
759
|
-
"flex flex-col gap-2
|
|
745
|
+
"flex w-full max-w-7xl flex-col gap-2 rounded-lg border px-2 py-4 motion-safe:transition-all": true
|
|
760
746
|
},
|
|
761
747
|
children: /* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {
|
|
762
748
|
name: "mobile"
|
|
@@ -766,43 +752,43 @@ const Nav = qwik.component$(({ fixed, floating, nohamburger, colorClass = "lum-b
|
|
|
766
752
|
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
767
753
|
class: {
|
|
768
754
|
[colorClass]: !floating,
|
|
769
|
-
"!border-
|
|
755
|
+
"!border-x-0 !border-t-0": !floating,
|
|
770
756
|
"before:backdrop-blur-lg": !colorClass.includes("transparent") && !floating,
|
|
771
|
-
'before:absolute before
|
|
772
|
-
"relative
|
|
757
|
+
'before:absolute before:-z-10 before:h-full before:w-full before:drop-shadow-xl before:content-[""]': !floating,
|
|
758
|
+
"relative mx-2 mt-2": floating
|
|
773
759
|
},
|
|
774
760
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
775
761
|
class: {
|
|
776
|
-
"flex
|
|
762
|
+
"mx-auto flex w-full max-w-7xl justify-evenly px-2": true,
|
|
777
763
|
[colorClass]: floating,
|
|
778
|
-
"
|
|
764
|
+
"rounded-lg border": floating,
|
|
779
765
|
"before:backdrop-blur-lg": !colorClass.includes("transparent") && floating,
|
|
780
|
-
'before:absolute before:
|
|
766
|
+
'before:absolute before:-z-10 before:h-full before:w-full before:max-w-7xl before:rounded-lg before:drop-shadow-xl before:content-[""]': floating
|
|
781
767
|
},
|
|
782
768
|
children: [
|
|
783
769
|
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
784
|
-
class: "flex items-center
|
|
770
|
+
class: "flex flex-1 items-center justify-start gap-2 py-2",
|
|
785
771
|
children: /* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {
|
|
786
772
|
name: "start"
|
|
787
773
|
})
|
|
788
774
|
}),
|
|
789
775
|
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
790
|
-
class: "flex items-center
|
|
776
|
+
class: "flex flex-1 items-center justify-center gap-2 py-2",
|
|
791
777
|
children: /* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {
|
|
792
778
|
name: "center"
|
|
793
779
|
})
|
|
794
780
|
}),
|
|
795
781
|
/* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
796
|
-
class: "flex items-center
|
|
782
|
+
class: "flex flex-1 items-center justify-end gap-2 py-2",
|
|
797
783
|
children: [
|
|
798
784
|
/* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {
|
|
799
785
|
name: "end"
|
|
800
786
|
}),
|
|
801
787
|
!nohamburger && /* @__PURE__ */ jsxRuntime.jsx("button", {
|
|
802
|
-
class: "lum-btn lum-
|
|
788
|
+
class: "lum-btn lum-bg-transparent p-2 sm:hidden",
|
|
803
789
|
onClick$: () => menu.value = !menu.value,
|
|
804
790
|
children: /* @__PURE__ */ jsxRuntime.jsx("svg", {
|
|
805
|
-
class: "
|
|
791
|
+
class: "h-6 w-6",
|
|
806
792
|
fill: "none",
|
|
807
793
|
stroke: "currentColor",
|
|
808
794
|
viewBox: "0 0 24 24",
|
|
@@ -861,7 +847,7 @@ const NumberInput = qwik.component$((props) => {
|
|
|
861
847
|
children: [
|
|
862
848
|
/* @__PURE__ */ jsxRuntime.jsx("label", {
|
|
863
849
|
for: props.id,
|
|
864
|
-
class: "text-gray-300
|
|
850
|
+
class: "pb-1 text-gray-300 select-none",
|
|
865
851
|
children: /* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {})
|
|
866
852
|
}),
|
|
867
853
|
/* @__PURE__ */ jsxRuntime.jsx(NumberInputRaw, {
|
|
@@ -884,20 +870,20 @@ const NumberInputRaw = qwik.component$(({ input, onDecrement$, onIncrement$, val
|
|
|
884
870
|
`);
|
|
885
871
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
886
872
|
class: {
|
|
887
|
-
"flex gap-2 text-gray-50
|
|
873
|
+
"flex touch-manipulation gap-2 text-gray-50": true
|
|
888
874
|
},
|
|
889
875
|
children: [
|
|
890
876
|
/* @__PURE__ */ jsxRuntime.jsx("button", {
|
|
891
877
|
class: {
|
|
892
|
-
"lum-btn
|
|
878
|
+
"lum-btn p-2": true
|
|
893
879
|
},
|
|
894
880
|
"data-action": "decrement",
|
|
895
881
|
"aria-label": "Decrement",
|
|
896
882
|
disabled: props.min ? value <= props.min : false,
|
|
897
|
-
onClick$: input ? qwik.$((event, element) => {
|
|
883
|
+
onClick$: input ? qwik.$(async (event, element) => {
|
|
898
884
|
const siblingInput = element.nextElementSibling;
|
|
899
885
|
siblingInput.stepDown();
|
|
900
|
-
onDecrement$(event, element, siblingInput);
|
|
886
|
+
await onDecrement$(event, element, siblingInput);
|
|
901
887
|
}) : onDecrement$,
|
|
902
888
|
children: /* @__PURE__ */ jsxRuntime.jsx(Minus, {
|
|
903
889
|
width: "24",
|
|
@@ -910,22 +896,21 @@ const NumberInputRaw = qwik.component$(({ input, onDecrement$, onIncrement$, val
|
|
|
910
896
|
value,
|
|
911
897
|
step,
|
|
912
898
|
class: {
|
|
913
|
-
"lum-input text-
|
|
914
|
-
"text-center": true,
|
|
899
|
+
"lum-input text-center": true,
|
|
915
900
|
...props.class
|
|
916
901
|
}
|
|
917
902
|
}),
|
|
918
903
|
/* @__PURE__ */ jsxRuntime.jsx("button", {
|
|
919
904
|
class: {
|
|
920
|
-
"lum-btn
|
|
905
|
+
"lum-btn p-2": true
|
|
921
906
|
},
|
|
922
907
|
"data-action": "increment",
|
|
923
908
|
"aria-label": "Increment",
|
|
924
909
|
disabled: props.max ? value >= props.max : false,
|
|
925
|
-
onClick$: input ? qwik.$((event, element) => {
|
|
910
|
+
onClick$: input ? qwik.$(async (event, element) => {
|
|
926
911
|
const siblingInput = element.previousElementSibling;
|
|
927
912
|
siblingInput.stepUp();
|
|
928
|
-
onIncrement$(event, element, siblingInput);
|
|
913
|
+
await onIncrement$(event, element, siblingInput);
|
|
929
914
|
}) : onIncrement$,
|
|
930
915
|
children: /* @__PURE__ */ jsxRuntime.jsx(Plus, {
|
|
931
916
|
width: "24",
|
|
@@ -1134,25 +1119,25 @@ const toggleOffColorClasses = {
|
|
|
1134
1119
|
const Toggle = qwik.component$(({ checkbox, round, center, label, onColor = "blue", offColor = "darkgray", ...props }) => {
|
|
1135
1120
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
1136
1121
|
class: {
|
|
1137
|
-
"flex
|
|
1122
|
+
"flex touch-manipulation items-center gap-3": true,
|
|
1138
1123
|
"justify-center": center
|
|
1139
1124
|
},
|
|
1140
1125
|
children: [
|
|
1141
1126
|
/* @__PURE__ */ jsxRuntime.jsxs("label", {
|
|
1142
|
-
class: "inline-flex
|
|
1127
|
+
class: "relative inline-flex cursor-pointer items-center",
|
|
1143
1128
|
children: [
|
|
1144
1129
|
/* @__PURE__ */ jsxRuntime.jsx("input", {
|
|
1145
1130
|
type: "checkbox",
|
|
1146
1131
|
...props,
|
|
1147
1132
|
class: {
|
|
1148
|
-
"sr-only
|
|
1133
|
+
"peer sr-only": true,
|
|
1149
1134
|
...props.class
|
|
1150
1135
|
}
|
|
1151
1136
|
}),
|
|
1152
1137
|
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
1153
1138
|
class: {
|
|
1154
|
-
"
|
|
1155
|
-
"after:
|
|
1139
|
+
"peer h-7 border duration-300 ease-out hover:shadow-lg hover:duration-75 motion-safe:transition": true,
|
|
1140
|
+
"after:absolute after:top-[4px] after:left-[4px] after:h-5 after:w-5 after:border after:duration-300 after:ease-out after:content-[''] after:hover:duration-75 after:motion-safe:transition-all": true,
|
|
1156
1141
|
"rounded-md after:rounded-[0.2rem]": !round,
|
|
1157
1142
|
"rounded-full after:rounded-full": round,
|
|
1158
1143
|
"w-12 peer-checked:after:translate-x-full": !checkbox,
|
|
@@ -1167,7 +1152,7 @@ const Toggle = qwik.component$(({ checkbox, round, center, label, onColor = "blu
|
|
|
1167
1152
|
}),
|
|
1168
1153
|
label && /* @__PURE__ */ jsxRuntime.jsx("label", {
|
|
1169
1154
|
for: props.id,
|
|
1170
|
-
class: "text-gray-300
|
|
1155
|
+
class: "flex gap-2 text-gray-300 select-none",
|
|
1171
1156
|
children: label
|
|
1172
1157
|
})
|
|
1173
1158
|
]
|