@duskmoon-dev/core 1.13.0 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -3466,7 +3466,7 @@ html {
3466
3466
  /* Pagination Info */
3467
3467
  .pagination-info {
3468
3468
  display: flex;
3469
- flex-direction: column;
3469
+ flex-direction: row;
3470
3470
  align-items: center;
3471
3471
  gap: 0.5rem;
3472
3472
  }
@@ -14362,57 +14362,90 @@ html {
14362
14362
  /**
14363
14363
  * Divider Component Styles
14364
14364
  * DuskMoonUI - Material Design 3 inspired divider system
14365
+ *
14366
+ * Usage:
14367
+ * <div class="divider"></div> — plain horizontal line
14368
+ * <div class="divider">OR</div> — text centered between lines
14369
+ * <div class="divider divider-start">Title</div> — text at start
14365
14370
  */
14366
14371
 
14367
14372
  @layer components {
14368
- /* Base Divider (Horizontal) */
14373
+ /* ── Base Divider (Horizontal) ──────────────────────────────────── */
14369
14374
  .divider {
14375
+ display: flex;
14376
+ flex-direction: row;
14377
+ align-items: center;
14378
+ gap: 0;
14370
14379
  width: 100%;
14371
- height: 1px;
14372
14380
  margin: 1rem 0;
14381
+ white-space: nowrap;
14382
+ }
14383
+
14384
+ /* Only add gap when content is present so an empty divider renders as one continuous line */
14385
+ .divider:not(:empty) {
14386
+ gap: 1rem;
14387
+ }
14388
+
14389
+ /* The two line segments flanking any content */
14390
+ .divider::before,
14391
+ .divider::after {
14392
+ content: '';
14393
+ flex: 1;
14394
+ height: 1px;
14373
14395
  background-color: var(--color-outline-variant);
14374
- border: none;
14375
14396
  }
14376
14397
 
14377
- /* Vertical Divider */
14398
+ /* ── Vertical Divider ───────────────────────────────────────────── */
14378
14399
  .divider-vertical {
14379
- width: 1px;
14380
- height: auto;
14381
- min-height: 1rem;
14400
+ flex-direction: column;
14401
+ width: auto;
14382
14402
  margin: 0 1rem;
14383
14403
  align-self: stretch;
14384
14404
  }
14385
14405
 
14386
- /* Divider Thickness */
14387
- .divider-thin {
14406
+ .divider-vertical::before,
14407
+ .divider-vertical::after {
14408
+ width: 1px;
14409
+ height: unset; /* let flex: 1 control the length */
14410
+ }
14411
+
14412
+ /* ── Thickness ──────────────────────────────────────────────────── */
14413
+ .divider-thin::before,
14414
+ .divider-thin::after {
14388
14415
  height: 1px;
14389
14416
  }
14390
14417
 
14391
- .divider-thin.divider-vertical {
14418
+ .divider-thin.divider-vertical::before,
14419
+ .divider-thin.divider-vertical::after {
14392
14420
  width: 1px;
14393
- height: auto;
14421
+ height: unset;
14394
14422
  }
14395
14423
 
14396
- .divider-medium {
14424
+ .divider-medium::before,
14425
+ .divider-medium::after {
14397
14426
  height: 2px;
14398
14427
  }
14399
14428
 
14400
- .divider-medium.divider-vertical {
14429
+ .divider-medium.divider-vertical::before,
14430
+ .divider-medium.divider-vertical::after {
14401
14431
  width: 2px;
14402
- height: auto;
14432
+ height: unset;
14403
14433
  }
14404
14434
 
14405
- .divider-thick {
14435
+ .divider-thick::before,
14436
+ .divider-thick::after {
14406
14437
  height: 4px;
14407
14438
  }
14408
14439
 
14409
- .divider-thick.divider-vertical {
14440
+ .divider-thick.divider-vertical::before,
14441
+ .divider-thick.divider-vertical::after {
14410
14442
  width: 4px;
14411
- height: auto;
14443
+ height: unset;
14412
14444
  }
14413
14445
 
14414
- /* Divider Styles */
14415
- .divider-dashed {
14446
+ /* ── Line Styles ────────────────────────────────────────────────── */
14447
+ .divider-dashed::before,
14448
+ .divider-dashed::after {
14416
14449
  background-color: transparent;
14417
14450
  background-image: linear-gradient(
14418
14451
  to right,
@@ -14423,7 +14456,8 @@ html {
14423
14456
  background-repeat: repeat-x;
14424
14457
  }
14425
14458
 
14426
- .divider-dashed.divider-vertical {
14459
+ .divider-dashed.divider-vertical::before,
14460
+ .divider-dashed.divider-vertical::after {
14427
14461
  background-image: linear-gradient(
14428
14462
  to bottom,
14429
14463
  var(--color-outline-variant) 50%,
@@ -14433,7 +14467,8 @@ html {
14433
14467
  background-repeat: repeat-y;
14434
14468
  }
14435
14469
 
14436
- .divider-dotted {
14470
+ .divider-dotted::before,
14471
+ .divider-dotted::after {
14437
14472
  background-color: transparent;
14438
14473
  background-image: linear-gradient(
14439
14474
  to right,
@@ -14444,7 +14479,8 @@ html {
14444
14479
  background-repeat: repeat-x;
14445
14480
  }
14446
14481
 
14447
- .divider-dotted.divider-vertical {
14482
+ .divider-dotted.divider-vertical::before,
14483
+ .divider-dotted.divider-vertical::after {
14448
14484
  background-image: linear-gradient(
14449
14485
  to bottom,
14450
14486
  var(--color-outline-variant) 25%,
@@ -14454,12 +14490,14 @@ html {
14454
14490
  background-repeat: repeat-y;
14455
14491
  }
14456
14492
 
14457
- /* Color Variants */
14458
- .divider-primary {
14493
+ /* ── Color Variants ─────────────────────────────────────────────── */
14494
+ .divider-primary::before,
14495
+ .divider-primary::after {
14459
14496
  background-color: var(--color-primary);
14460
14497
  }
14461
14498
 
14462
- .divider-primary.divider-dashed {
14499
+ .divider-primary.divider-dashed::before,
14500
+ .divider-primary.divider-dashed::after {
14463
14501
  background-image: linear-gradient(
14464
14502
  to right,
14465
14503
  var(--color-primary) 50%,
@@ -14467,7 +14505,8 @@ html {
14467
14505
  );
14468
14506
  }
14469
14507
 
14470
- .divider-primary.divider-dashed.divider-vertical {
14508
+ .divider-primary.divider-dashed.divider-vertical::before,
14509
+ .divider-primary.divider-dashed.divider-vertical::after {
14471
14510
  background-image: linear-gradient(
14472
14511
  to bottom,
14473
14512
  var(--color-primary) 50%,
@@ -14475,20 +14514,114 @@ html {
14475
14514
  );
14476
14515
  }
14477
14516
 
14478
- .divider-secondary {
14517
+ .divider-secondary::before,
14518
+ .divider-secondary::after {
14479
14519
  background-color: var(--color-secondary);
14480
14520
  }
14481
14521
 
14482
- .divider-light {
14483
- background-color: var(--color-outline-variant);
14484
- opacity: 0.5;
14522
+ .divider-tertiary::before,
14523
+ .divider-tertiary::after {
14524
+ background-color: var(--color-tertiary);
14485
14525
  }
14486
14526
 
14487
- .divider-dark {
14488
- background-color: var(--color-outline);
14527
+ .divider-info::before,
14528
+ .divider-info::after {
14529
+ background-color: var(--color-info);
14530
+ }
14531
+
14532
+ .divider-success::before,
14533
+ .divider-success::after {
14534
+ background-color: var(--color-success);
14535
+ }
14536
+
14537
+ .divider-warning::before,
14538
+ .divider-warning::after {
14539
+ background-color: var(--color-warning);
14540
+ }
14541
+
14542
+ .divider-error::before,
14543
+ .divider-error::after {
14544
+ background-color: var(--color-error);
14545
+ }
14546
+
14547
+ /* ── Gradient Lines ─────────────────────────────────────────────── */
14548
+ .divider-gradient::before,
14549
+ .divider-gradient::after {
14550
+ background: linear-gradient(
14551
+ to right,
14552
+ transparent,
14553
+ var(--color-outline-variant) 20%,
14554
+ var(--color-outline-variant) 80%,
14555
+ transparent
14556
+ );
14557
+ }
14558
+
14559
+ .divider-gradient.divider-vertical::before,
14560
+ .divider-gradient.divider-vertical::after {
14561
+ background: linear-gradient(
14562
+ to bottom,
14563
+ transparent,
14564
+ var(--color-outline-variant) 20%,
14565
+ var(--color-outline-variant) 80%,
14566
+ transparent
14567
+ );
14568
+ }
14569
+
14570
+ /* ── Content Positioning ────────────────────────────────────────── */
14571
+
14572
+ /* Push content to start: shrink the leading line segment */
14573
+ .divider-start::before {
14574
+ flex: 0 0 2rem;
14575
+ }
14576
+
14577
+ /* Push content to end: shrink the trailing line segment */
14578
+ .divider-end::after {
14579
+ flex: 0 0 2rem;
14580
+ }
14581
+
14582
+ /* Vertical equivalents */
14583
+ .divider-vertical.divider-start::before {
14584
+ flex: 0 0 2rem;
14585
+ }
14586
+
14587
+ .divider-vertical.divider-end::after {
14588
+ flex: 0 0 2rem;
14589
+ }
14590
+
14591
+ /* ── Spacing Variants ───────────────────────────────────────────── */
14592
+ .divider-compact {
14593
+ margin: 0.25rem 0;
14594
+ }
14595
+
14596
+ .divider-compact:not(:empty) {
14597
+ gap: 0.5rem;
14598
+ }
14599
+
14600
+ .divider-compact.divider-vertical {
14601
+ margin: 0 0.25rem;
14602
+ }
14603
+
14604
+ .divider-comfortable {
14605
+ margin: 1.5rem 0;
14606
+ }
14607
+
14608
+ .divider-comfortable.divider-vertical {
14609
+ margin: 0 1.5rem;
14610
+ }
14611
+
14612
+ .divider-spacious {
14613
+ margin: 2rem 0;
14614
+ }
14615
+
14616
+ .divider-spacious:not(:empty) {
14617
+ gap: 1.5rem;
14618
+ }
14619
+
14620
+ .divider-spacious.divider-vertical {
14621
+ margin: 0 2rem;
14489
14622
  }
14490
14623
 
14491
- /* Spacing Variants */
14624
+ /* Legacy spacing aliases */
14492
14625
  .divider-none {
14493
14626
  margin: 0;
14494
14627
  }
@@ -14525,122 +14658,64 @@ html {
14525
14658
  margin: 0 2rem;
14526
14659
  }
14527
14660
 
14528
- /* Divider with Text (Horizontal) */
14529
- .divider-text {
14530
- display: flex;
14531
- align-items: center;
14532
- gap: 1rem;
14533
- height: auto;
14534
- background-color: transparent;
14535
- }
14536
-
14537
- .divider-text::before,
14538
- .divider-text::after {
14539
- content: '';
14540
- flex: 1;
14541
- height: 1px;
14542
- background-color: var(--color-outline-variant);
14543
- }
14544
-
14545
- .divider-text-content {
14546
- font-size: 0.75rem;
14547
- font-weight: 500;
14548
- color: var(--color-on-surface-variant);
14549
- text-transform: uppercase;
14550
- letter-spacing: 0.025em;
14551
- white-space: nowrap;
14552
- }
14553
-
14554
- /* Text Position */
14555
- .divider-text-left::before {
14556
- flex: 0 0 2rem;
14557
- }
14558
-
14559
- .divider-text-right::after {
14560
- flex: 0 0 2rem;
14561
- }
14562
-
14563
- /* Inset Divider */
14661
+ /* ── Inset Divider ──────────────────────────────────────────────── */
14564
14662
  .divider-inset {
14565
- margin-left: 4rem;
14566
- width: calc(100% - 4rem);
14663
+ padding-left: 4rem;
14567
14664
  }
14568
14665
 
14569
14666
  .divider-inset-right {
14570
- margin-right: 4rem;
14571
- width: calc(100% - 4rem);
14667
+ padding-right: 4rem;
14572
14668
  }
14573
14669
 
14574
14670
  .divider-inset-both {
14575
- margin-left: 4rem;
14576
- margin-right: 4rem;
14577
- width: calc(100% - 8rem);
14671
+ padding-left: 4rem;
14672
+ padding-right: 4rem;
14578
14673
  }
14579
14674
 
14580
- /* List Divider (for use between list items) */
14675
+ /* ── List / Card Helpers ────────────────────────────────────────── */
14581
14676
  .divider-list {
14582
14677
  margin: 0;
14583
- margin-left: 1rem;
14584
- width: calc(100% - 1rem);
14678
+ padding-left: 1rem;
14585
14679
  }
14586
14680
 
14587
- /* Card Divider */
14588
14681
  .divider-card {
14589
14682
  margin: 0;
14590
14683
  margin-left: -1rem;
14591
14684
  margin-right: -1rem;
14592
- width: calc(100% + 2rem);
14593
- }
14594
-
14595
- /* Gradient Divider */
14596
- .divider-gradient {
14597
- background: linear-gradient(
14598
- to right,
14599
- transparent,
14600
- var(--color-outline-variant) 20%,
14601
- var(--color-outline-variant) 80%,
14602
- transparent
14603
- );
14604
14685
  }
14605
14686
 
14606
- .divider-gradient.divider-vertical {
14607
- background: linear-gradient(
14608
- to bottom,
14609
- transparent,
14610
- var(--color-outline-variant) 20%,
14611
- var(--color-outline-variant) 80%,
14612
- transparent
14613
- );
14687
+ /* ── Legacy: divider-text aliases ──────────────────────────────── */
14688
+ /* divider-text is now just .divider — kept for backwards compat */
14689
+ .divider-text {
14690
+ display: flex;
14691
+ flex-direction: row;
14692
+ align-items: center;
14693
+ gap: 0;
14694
+ width: 100%;
14695
+ margin: 1rem 0;
14696
+ white-space: nowrap;
14614
14697
  }
14615
14698
 
14616
- /* Decorative Divider */
14617
- .divider-decorative {
14618
- position: relative;
14619
- height: auto;
14620
- padding: 1rem 0;
14621
- background-color: transparent;
14622
- text-align: center;
14699
+ .divider-text:not(:empty) {
14700
+ gap: 1rem;
14623
14701
  }
14624
14702
 
14625
- .divider-decorative::before {
14703
+ .divider-text::before,
14704
+ .divider-text::after {
14626
14705
  content: '';
14627
- position: absolute;
14628
- top: 50%;
14629
- left: 0;
14630
- right: 0;
14706
+ flex: 1;
14631
14707
  height: 1px;
14632
14708
  background-color: var(--color-outline-variant);
14633
14709
  }
14634
14710
 
14635
- .divider-decorative-icon {
14636
- position: relative;
14637
- display: inline-flex;
14638
- align-items: center;
14639
- justify-content: center;
14640
- width: 2rem;
14641
- height: 2rem;
14642
- background-color: var(--color-surface);
14643
- color: var(--color-on-surface-variant);
14711
+ .divider-text-left::before,
14712
+ .divider-text-left.divider-text::before {
14713
+ flex: 0 0 2rem;
14714
+ }
14715
+
14716
+ .divider-text-right::after,
14717
+ .divider-text-right.divider-text::after {
14718
+ flex: 0 0 2rem;
14644
14719
  }
14645
14720
  }
14646
14721