@lukeashford/aurelius 2.5.0 → 2.6.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/dist/index.js CHANGED
@@ -342,20 +342,47 @@ var ALIGN_MAP = {
342
342
  stretch: "items-stretch",
343
343
  baseline: "items-baseline"
344
344
  };
345
- function getGapClass(value) {
346
- return `gap-${value}`;
347
- }
348
- function getGapXClass(value) {
349
- return `gap-x-${value}`;
350
- }
351
- function getGapYClass(value) {
352
- return `gap-y-${value}`;
353
- }
345
+ var GAP_MAP = {
346
+ 0: "gap-0",
347
+ 1: "gap-1",
348
+ 2: "gap-2",
349
+ 3: "gap-3",
350
+ 4: "gap-4",
351
+ 5: "gap-5",
352
+ 6: "gap-6",
353
+ 8: "gap-8",
354
+ 10: "gap-10",
355
+ 12: "gap-12"
356
+ };
357
+ var GAP_X_MAP = {
358
+ 0: "gap-x-0",
359
+ 1: "gap-x-1",
360
+ 2: "gap-x-2",
361
+ 3: "gap-x-3",
362
+ 4: "gap-x-4",
363
+ 5: "gap-x-5",
364
+ 6: "gap-x-6",
365
+ 8: "gap-x-8",
366
+ 10: "gap-x-10",
367
+ 12: "gap-x-12"
368
+ };
369
+ var GAP_Y_MAP = {
370
+ 0: "gap-y-0",
371
+ 1: "gap-y-1",
372
+ 2: "gap-y-2",
373
+ 3: "gap-y-3",
374
+ 4: "gap-y-4",
375
+ 5: "gap-y-5",
376
+ 6: "gap-y-6",
377
+ 8: "gap-y-8",
378
+ 10: "gap-y-10",
379
+ 12: "gap-y-12"
380
+ };
354
381
  var Row = import_react5.default.forwardRef(
355
382
  ({ gutter = 4, gutterX, gutterY, justify, align, className, children, ...props }, ref) => {
356
- const gapClass = gutterX === void 0 && gutterY === void 0 ? getGapClass(gutter) : "";
357
- const gapXClass = gutterX !== void 0 ? getGapXClass(gutterX) : "";
358
- const gapYClass = gutterY !== void 0 ? getGapYClass(gutterY) : "";
383
+ const gapClass = gutterX === void 0 && gutterY === void 0 ? GAP_MAP[gutter] : "";
384
+ const gapXClass = gutterX !== void 0 ? GAP_X_MAP[gutterX] : "";
385
+ const gapYClass = gutterY !== void 0 ? GAP_Y_MAP[gutterY] : "";
359
386
  return /* @__PURE__ */ import_react5.default.createElement(
360
387
  "div",
361
388
  {
@@ -379,53 +406,321 @@ Row.displayName = "Row";
379
406
 
380
407
  // src/components/Col.tsx
381
408
  var import_react6 = __toESM(require("react"));
382
- var BREAKPOINT_PREFIXES = {
383
- base: "",
384
- sm: "sm:",
385
- md: "md:",
386
- lg: "lg:",
387
- xl: "xl:",
388
- "2xl": "2xl:"
409
+ var SPAN_CLASS_MAP = {
410
+ base: {
411
+ 1: "col-span-1",
412
+ 2: "col-span-2",
413
+ 3: "col-span-3",
414
+ 4: "col-span-4",
415
+ 5: "col-span-5",
416
+ 6: "col-span-6",
417
+ 7: "col-span-7",
418
+ 8: "col-span-8",
419
+ 9: "col-span-9",
420
+ 10: "col-span-10",
421
+ 11: "col-span-11",
422
+ 12: "col-span-12",
423
+ auto: "col-auto",
424
+ full: "col-span-full"
425
+ },
426
+ sm: {
427
+ 1: "sm:col-span-1",
428
+ 2: "sm:col-span-2",
429
+ 3: "sm:col-span-3",
430
+ 4: "sm:col-span-4",
431
+ 5: "sm:col-span-5",
432
+ 6: "sm:col-span-6",
433
+ 7: "sm:col-span-7",
434
+ 8: "sm:col-span-8",
435
+ 9: "sm:col-span-9",
436
+ 10: "sm:col-span-10",
437
+ 11: "sm:col-span-11",
438
+ 12: "sm:col-span-12",
439
+ auto: "sm:col-auto",
440
+ full: "sm:col-span-full"
441
+ },
442
+ md: {
443
+ 1: "md:col-span-1",
444
+ 2: "md:col-span-2",
445
+ 3: "md:col-span-3",
446
+ 4: "md:col-span-4",
447
+ 5: "md:col-span-5",
448
+ 6: "md:col-span-6",
449
+ 7: "md:col-span-7",
450
+ 8: "md:col-span-8",
451
+ 9: "md:col-span-9",
452
+ 10: "md:col-span-10",
453
+ 11: "md:col-span-11",
454
+ 12: "md:col-span-12",
455
+ auto: "md:col-auto",
456
+ full: "md:col-span-full"
457
+ },
458
+ lg: {
459
+ 1: "lg:col-span-1",
460
+ 2: "lg:col-span-2",
461
+ 3: "lg:col-span-3",
462
+ 4: "lg:col-span-4",
463
+ 5: "lg:col-span-5",
464
+ 6: "lg:col-span-6",
465
+ 7: "lg:col-span-7",
466
+ 8: "lg:col-span-8",
467
+ 9: "lg:col-span-9",
468
+ 10: "lg:col-span-10",
469
+ 11: "lg:col-span-11",
470
+ 12: "lg:col-span-12",
471
+ auto: "lg:col-auto",
472
+ full: "lg:col-span-full"
473
+ },
474
+ xl: {
475
+ 1: "xl:col-span-1",
476
+ 2: "xl:col-span-2",
477
+ 3: "xl:col-span-3",
478
+ 4: "xl:col-span-4",
479
+ 5: "xl:col-span-5",
480
+ 6: "xl:col-span-6",
481
+ 7: "xl:col-span-7",
482
+ 8: "xl:col-span-8",
483
+ 9: "xl:col-span-9",
484
+ 10: "xl:col-span-10",
485
+ 11: "xl:col-span-11",
486
+ 12: "xl:col-span-12",
487
+ auto: "xl:col-auto",
488
+ full: "xl:col-span-full"
489
+ },
490
+ "2xl": {
491
+ 1: "2xl:col-span-1",
492
+ 2: "2xl:col-span-2",
493
+ 3: "2xl:col-span-3",
494
+ 4: "2xl:col-span-4",
495
+ 5: "2xl:col-span-5",
496
+ 6: "2xl:col-span-6",
497
+ 7: "2xl:col-span-7",
498
+ 8: "2xl:col-span-8",
499
+ 9: "2xl:col-span-9",
500
+ 10: "2xl:col-span-10",
501
+ 11: "2xl:col-span-11",
502
+ 12: "2xl:col-span-12",
503
+ auto: "2xl:col-auto",
504
+ full: "2xl:col-span-full"
505
+ }
506
+ };
507
+ var OFFSET_CLASS_MAP = {
508
+ base: {
509
+ 0: "",
510
+ 1: "col-start-2",
511
+ 2: "col-start-3",
512
+ 3: "col-start-4",
513
+ 4: "col-start-5",
514
+ 5: "col-start-6",
515
+ 6: "col-start-7",
516
+ 7: "col-start-8",
517
+ 8: "col-start-9",
518
+ 9: "col-start-10",
519
+ 10: "col-start-11",
520
+ 11: "col-start-12"
521
+ },
522
+ sm: {
523
+ 0: "",
524
+ 1: "sm:col-start-2",
525
+ 2: "sm:col-start-3",
526
+ 3: "sm:col-start-4",
527
+ 4: "sm:col-start-5",
528
+ 5: "sm:col-start-6",
529
+ 6: "sm:col-start-7",
530
+ 7: "sm:col-start-8",
531
+ 8: "sm:col-start-9",
532
+ 9: "sm:col-start-10",
533
+ 10: "sm:col-start-11",
534
+ 11: "sm:col-start-12"
535
+ },
536
+ md: {
537
+ 0: "",
538
+ 1: "md:col-start-2",
539
+ 2: "md:col-start-3",
540
+ 3: "md:col-start-4",
541
+ 4: "md:col-start-5",
542
+ 5: "md:col-start-6",
543
+ 6: "md:col-start-7",
544
+ 7: "md:col-start-8",
545
+ 8: "md:col-start-9",
546
+ 9: "md:col-start-10",
547
+ 10: "md:col-start-11",
548
+ 11: "md:col-start-12"
549
+ },
550
+ lg: {
551
+ 0: "",
552
+ 1: "lg:col-start-2",
553
+ 2: "lg:col-start-3",
554
+ 3: "lg:col-start-4",
555
+ 4: "lg:col-start-5",
556
+ 5: "lg:col-start-6",
557
+ 6: "lg:col-start-7",
558
+ 7: "lg:col-start-8",
559
+ 8: "lg:col-start-9",
560
+ 9: "lg:col-start-10",
561
+ 10: "lg:col-start-11",
562
+ 11: "lg:col-start-12"
563
+ },
564
+ xl: {
565
+ 0: "",
566
+ 1: "xl:col-start-2",
567
+ 2: "xl:col-start-3",
568
+ 3: "xl:col-start-4",
569
+ 4: "xl:col-start-5",
570
+ 5: "xl:col-start-6",
571
+ 6: "xl:col-start-7",
572
+ 7: "xl:col-start-8",
573
+ 8: "xl:col-start-9",
574
+ 9: "xl:col-start-10",
575
+ 10: "xl:col-start-11",
576
+ 11: "xl:col-start-12"
577
+ },
578
+ "2xl": {
579
+ 0: "",
580
+ 1: "2xl:col-start-2",
581
+ 2: "2xl:col-start-3",
582
+ 3: "2xl:col-start-4",
583
+ 4: "2xl:col-start-5",
584
+ 5: "2xl:col-start-6",
585
+ 6: "2xl:col-start-7",
586
+ 7: "2xl:col-start-8",
587
+ 8: "2xl:col-start-9",
588
+ 9: "2xl:col-start-10",
589
+ 10: "2xl:col-start-11",
590
+ 11: "2xl:col-start-12"
591
+ }
592
+ };
593
+ var ORDER_CLASS_MAP = {
594
+ base: {
595
+ first: "order-first",
596
+ last: "order-last",
597
+ none: "order-none",
598
+ 1: "order-1",
599
+ 2: "order-2",
600
+ 3: "order-3",
601
+ 4: "order-4",
602
+ 5: "order-5",
603
+ 6: "order-6",
604
+ 7: "order-7",
605
+ 8: "order-8",
606
+ 9: "order-9",
607
+ 10: "order-10",
608
+ 11: "order-11",
609
+ 12: "order-12"
610
+ },
611
+ sm: {
612
+ first: "sm:order-first",
613
+ last: "sm:order-last",
614
+ none: "sm:order-none",
615
+ 1: "sm:order-1",
616
+ 2: "sm:order-2",
617
+ 3: "sm:order-3",
618
+ 4: "sm:order-4",
619
+ 5: "sm:order-5",
620
+ 6: "sm:order-6",
621
+ 7: "sm:order-7",
622
+ 8: "sm:order-8",
623
+ 9: "sm:order-9",
624
+ 10: "sm:order-10",
625
+ 11: "sm:order-11",
626
+ 12: "sm:order-12"
627
+ },
628
+ md: {
629
+ first: "md:order-first",
630
+ last: "md:order-last",
631
+ none: "md:order-none",
632
+ 1: "md:order-1",
633
+ 2: "md:order-2",
634
+ 3: "md:order-3",
635
+ 4: "md:order-4",
636
+ 5: "md:order-5",
637
+ 6: "md:order-6",
638
+ 7: "md:order-7",
639
+ 8: "md:order-8",
640
+ 9: "md:order-9",
641
+ 10: "md:order-10",
642
+ 11: "md:order-11",
643
+ 12: "md:order-12"
644
+ },
645
+ lg: {
646
+ first: "lg:order-first",
647
+ last: "lg:order-last",
648
+ none: "lg:order-none",
649
+ 1: "lg:order-1",
650
+ 2: "lg:order-2",
651
+ 3: "lg:order-3",
652
+ 4: "lg:order-4",
653
+ 5: "lg:order-5",
654
+ 6: "lg:order-6",
655
+ 7: "lg:order-7",
656
+ 8: "lg:order-8",
657
+ 9: "lg:order-9",
658
+ 10: "lg:order-10",
659
+ 11: "lg:order-11",
660
+ 12: "lg:order-12"
661
+ },
662
+ xl: {
663
+ first: "xl:order-first",
664
+ last: "xl:order-last",
665
+ none: "xl:order-none",
666
+ 1: "xl:order-1",
667
+ 2: "xl:order-2",
668
+ 3: "xl:order-3",
669
+ 4: "xl:order-4",
670
+ 5: "xl:order-5",
671
+ 6: "xl:order-6",
672
+ 7: "xl:order-7",
673
+ 8: "xl:order-8",
674
+ 9: "xl:order-9",
675
+ 10: "xl:order-10",
676
+ 11: "xl:order-11",
677
+ 12: "xl:order-12"
678
+ },
679
+ "2xl": {
680
+ first: "2xl:order-first",
681
+ last: "2xl:order-last",
682
+ none: "2xl:order-none",
683
+ 1: "2xl:order-1",
684
+ 2: "2xl:order-2",
685
+ 3: "2xl:order-3",
686
+ 4: "2xl:order-4",
687
+ 5: "2xl:order-5",
688
+ 6: "2xl:order-6",
689
+ 7: "2xl:order-7",
690
+ 8: "2xl:order-8",
691
+ 9: "2xl:order-9",
692
+ 10: "2xl:order-10",
693
+ 11: "2xl:order-11",
694
+ 12: "2xl:order-12"
695
+ }
389
696
  };
390
- function getSpanClass(value, prefix) {
391
- if (value === "auto") return `${prefix}col-auto`;
392
- if (value === "full") return `${prefix}col-span-full`;
393
- return `${prefix}col-span-${value}`;
394
- }
395
- function getOffsetClass(value, prefix) {
396
- if (value === 0) return "";
397
- return `${prefix}col-start-${value + 1}`;
398
- }
399
- function getOrderClass(value, prefix) {
400
- if (value === "first") return `${prefix}order-first`;
401
- if (value === "last") return `${prefix}order-last`;
402
- if (value === "none") return `${prefix}order-none`;
403
- return `${prefix}order-${value}`;
404
- }
405
697
  function isResponsiveValue(value) {
406
698
  return typeof value === "object" && value !== null && !Array.isArray(value);
407
699
  }
408
- function buildResponsiveClasses(value, getClass) {
409
- if (value === void 0) return [];
700
+ function buildResponsiveClasses(value, classMap) {
701
+ if (value === void 0) {
702
+ return [];
703
+ }
410
704
  if (!isResponsiveValue(value)) {
411
- const cls = getClass(value, "");
705
+ const cls = classMap.base[value];
412
706
  return cls ? [cls] : [];
413
707
  }
414
708
  const classes = [];
415
709
  for (const [breakpoint, val] of Object.entries(value)) {
416
710
  if (val !== void 0) {
417
- const prefix = BREAKPOINT_PREFIXES[breakpoint] ?? "";
418
- const cls = getClass(val, prefix);
419
- if (cls) classes.push(cls);
711
+ const cls = classMap[breakpoint]?.[val];
712
+ if (cls) {
713
+ classes.push(cls);
714
+ }
420
715
  }
421
716
  }
422
717
  return classes;
423
718
  }
424
719
  var Col = import_react6.default.forwardRef(
425
720
  ({ span, offset, order, className, children, ...props }, ref) => {
426
- const spanClasses = buildResponsiveClasses(span, getSpanClass);
427
- const offsetClasses = buildResponsiveClasses(offset, getOffsetClass);
428
- const orderClasses = buildResponsiveClasses(order, getOrderClass);
721
+ const spanClasses = buildResponsiveClasses(span, SPAN_CLASS_MAP);
722
+ const offsetClasses = buildResponsiveClasses(offset, OFFSET_CLASS_MAP);
723
+ const orderClasses = buildResponsiveClasses(order, ORDER_CLASS_MAP);
429
724
  const hasSpan = span !== void 0;
430
725
  const defaultSpan = hasSpan ? "" : "col-span-12";
431
726
  return /* @__PURE__ */ import_react6.default.createElement(
@@ -464,7 +759,7 @@ var JUSTIFY_MAP2 = {
464
759
  around: "justify-around",
465
760
  evenly: "justify-evenly"
466
761
  };
467
- var GAP_MAP = {
762
+ var GAP_MAP2 = {
468
763
  0: "gap-0",
469
764
  1: "gap-1",
470
765
  2: "gap-2",
@@ -497,7 +792,7 @@ var Stack = import_react7.default.forwardRef(
497
792
  direction === "horizontal" ? "flex-row" : "flex-col",
498
793
  align && ALIGN_MAP2[align],
499
794
  justify && JUSTIFY_MAP2[justify],
500
- GAP_MAP[gap],
795
+ GAP_MAP2[gap],
501
796
  wrap && "flex-wrap",
502
797
  className
503
798
  ),
@@ -2966,27 +3261,40 @@ Message.displayName = "Message";
2966
3261
 
2967
3262
  // src/components/ChatHistory.tsx
2968
3263
  var import_react42 = __toESM(require("react"));
2969
- var ChatHistory = import_react42.default.forwardRef(
2970
- ({ messages, className, ...rest }, ref) => {
2971
- return /* @__PURE__ */ import_react42.default.createElement(
2972
- "div",
3264
+ var ChatHistory = ({ messages, className, ...rest }) => {
3265
+ const innerRef = (0, import_react42.useRef)(null);
3266
+ (0, import_react42.useEffect)(() => {
3267
+ const el = innerRef.current;
3268
+ if (!el) {
3269
+ return;
3270
+ }
3271
+ if (typeof el.scrollTo === "function") {
3272
+ el.scrollTo({ top: el.scrollHeight, behavior: "smooth" });
3273
+ } else {
3274
+ el.scrollTop = el.scrollHeight;
3275
+ }
3276
+ }, [messages]);
3277
+ return /* @__PURE__ */ import_react42.default.createElement(
3278
+ "div",
3279
+ {
3280
+ ref: innerRef,
3281
+ className: cx(
3282
+ "flex flex-col gap-3 justify-end w-full h-96 bg-charcoal/50 border border-ash/40 p-4 overflow-y-auto",
3283
+ className
3284
+ ),
3285
+ ...rest
3286
+ },
3287
+ messages.map(({ id, variant, className: messageClassName, ...messageProps }, index) => /* @__PURE__ */ import_react42.default.createElement(
3288
+ Message,
2973
3289
  {
2974
- ref,
2975
- className: cx("flex flex-col gap-3 w-full", className),
2976
- ...rest
2977
- },
2978
- messages.map(({ id, variant, className: messageClassName, ...messageProps }, index) => /* @__PURE__ */ import_react42.default.createElement(
2979
- Message,
2980
- {
2981
- key: id ?? index,
2982
- variant,
2983
- className: messageClassName,
2984
- ...messageProps
2985
- }
2986
- ))
2987
- );
2988
- }
2989
- );
3290
+ key: id ?? index,
3291
+ variant,
3292
+ className: messageClassName,
3293
+ ...messageProps
3294
+ }
3295
+ ))
3296
+ );
3297
+ };
2990
3298
  ChatHistory.displayName = "ChatHistory";
2991
3299
 
2992
3300
  // src/components/BrandIcon.tsx