@zovaris/sephiro 0.8.0 → 0.9.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.
@@ -367,20 +367,20 @@
367
367
  }
368
368
  .sph-button {
369
369
  display: inline-flex;
370
- height: calc(var(--spacing, 0.25rem) * 9);
371
370
  align-items: center;
372
371
  justify-content: center;
373
- gap: calc(var(--spacing, 0.25rem) * 1.5);
374
372
  border-radius: var(--sph-radius-sm);
375
373
  border-style: var(--tw-border-style);
376
374
  border-width: 0px;
377
375
  background-color: transparent;
378
- padding-inline: calc(var(--spacing, 0.25rem) * 3);
379
376
  font-size: 12.5px;
380
377
  --tw-font-weight: var(--font-weight-medium, 500);
381
378
  font-weight: var(--font-weight-medium, 500);
382
379
  color: var(--sph-text);
383
380
  box-sizing: border-box;
381
+ height: calc(2.25rem * var(--sph-control-density, 1));
382
+ gap: calc(0.375rem * var(--sph-control-density, 1));
383
+ padding-inline: calc(0.75rem * var(--sph-control-density, 1));
384
384
  cursor: pointer;
385
385
  font-family: var(--sph-font-sans);
386
386
  font-weight: 550;
@@ -390,22 +390,28 @@
390
390
  .sph-button:hover:not(:disabled, [data-loading]) {
391
391
  transform: translateY(-1px);
392
392
  }
393
+ .sph-button[data-density="compact"] {
394
+ --sph-control-density: 0.8;
395
+ }
393
396
  .sph-button[data-size="sm"] {
394
- height: calc(var(--spacing, 0.25rem) * 8);
397
+ height: calc(2rem * var(--sph-control-density, 1));
395
398
  }
396
399
  .sph-button[data-size="md"] {
397
- height: calc(var(--spacing, 0.25rem) * 9);
398
400
  font-size: var(--text-sm, 0.875rem);
399
401
  line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
402
+ height: calc(2.25rem * var(--sph-control-density, 1));
400
403
  }
401
404
  .sph-button[data-size="lg"] {
402
- height: calc(var(--spacing, 0.25rem) * 10);
403
405
  font-size: var(--text-sm, 0.875rem);
404
406
  line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
407
+ height: calc(2.5rem * var(--sph-control-density, 1));
405
408
  }
406
409
  .sph-button:active:not(:disabled, [data-loading]) {
407
410
  transform: translateY(1px) scale(0.98);
408
411
  }
412
+ .sph-button[data-motion="none"]:hover:not(:disabled, [data-loading]), .sph-button[data-motion="none"]:active:not(:disabled, [data-loading]) {
413
+ transform: none;
414
+ }
409
415
  .sph-button[data-variant="primary"] {
410
416
  background-color: var(--sph-accent);
411
417
  color: var(--sph-on-accent);
@@ -590,17 +596,20 @@
590
596
  position: relative;
591
597
  transition: background-color var(--sph-motion-fast) var(--sph-ease-standard), color var(--sph-motion-fast) var(--sph-ease-standard), box-shadow var(--sph-motion-normal) var(--sph-ease-standard), transform var(--sph-motion-fast) var(--sph-ease-emphasis);
592
598
  }
599
+ .sph-icon-button[data-density="compact"] {
600
+ --sph-control-density: 0.8;
601
+ }
593
602
  .sph-icon-button[data-size="sm"] {
594
- width: calc(var(--spacing, 0.25rem) * 8);
595
- height: calc(var(--spacing, 0.25rem) * 8);
603
+ width: calc(2rem * var(--sph-control-density, 1));
604
+ height: calc(2rem * var(--sph-control-density, 1));
596
605
  }
597
606
  .sph-icon-button[data-size="md"] {
598
- width: calc(var(--spacing, 0.25rem) * 9);
599
- height: calc(var(--spacing, 0.25rem) * 9);
607
+ width: calc(2.25rem * var(--sph-control-density, 1));
608
+ height: calc(2.25rem * var(--sph-control-density, 1));
600
609
  }
601
610
  .sph-icon-button[data-size="lg"] {
602
- width: calc(var(--spacing, 0.25rem) * 10);
603
- height: calc(var(--spacing, 0.25rem) * 10);
611
+ width: calc(2.5rem * var(--sph-control-density, 1));
612
+ height: calc(2.5rem * var(--sph-control-density, 1));
604
613
  }
605
614
  .sph-icon-button:hover:not(:disabled, [data-loading]) {
606
615
  background-color: var(--sph-raised);
@@ -5583,20 +5592,94 @@ a.sph-breadcrumb__crumb:focus-visible, button.sph-breadcrumb__crumb:focus-visibl
5583
5592
  animation: none;
5584
5593
  opacity: 1;
5585
5594
  }
5595
+ .sph-side-panel {
5596
+ position: relative;
5597
+ box-sizing: border-box;
5598
+ display: flex;
5599
+ flex: 0 0 auto;
5600
+ inline-size: var(--sph-side-panel-width, 280px);
5601
+ min-inline-size: 0;
5602
+ overflow: hidden;
5603
+ border-inline-end: 1px solid var(--sph-border);
5604
+ background: var(--sph-surface);
5605
+ color: var(--sph-text);
5606
+ font-family: var(--sph-font-sans);
5607
+ transition: inline-size var(--sph-motion-slow) var(--sph-ease-emphasis), margin-inline var(--sph-motion-slow) var(--sph-ease-emphasis), border-inline-width var(--sph-motion-slow) var(--sph-ease-emphasis), background-color var(--sph-motion-fast) var(--sph-ease-standard), box-shadow var(--sph-motion-slow) var(--sph-ease-emphasis);
5608
+ }
5609
+ .sph-side-panel[data-side="right"] {
5610
+ justify-content: flex-end;
5611
+ border-inline-end: 0;
5612
+ border-inline-start: 1px solid var(--sph-border);
5613
+ }
5614
+ .sph-side-panel__inner {
5615
+ box-sizing: border-box;
5616
+ display: flex;
5617
+ flex: 0 0 auto;
5618
+ flex-direction: column;
5619
+ inline-size: var(--sph-side-panel-width, 280px);
5620
+ min-block-size: 0;
5621
+ overflow-y: auto;
5622
+ overflow-x: hidden;
5623
+ transition: opacity var(--sph-motion-fast) var(--sph-ease-standard), visibility var(--sph-motion-slow) var(--sph-ease-emphasis);
5624
+ }
5625
+ .sph-side-panel[data-collapsed] {
5626
+ inline-size: 0;
5627
+ border-inline-width: 0;
5628
+ }
5629
+ .sph-side-panel[data-collapsed] .sph-side-panel__inner {
5630
+ opacity: 0;
5631
+ visibility: hidden;
5632
+ }
5633
+ .sph-side-panel[data-peek] {
5634
+ z-index: 2;
5635
+ inline-size: 10px;
5636
+ margin-inline-end: -10px;
5637
+ background-color: transparent;
5638
+ }
5639
+ .sph-side-panel[data-side="right"][data-peek] {
5640
+ margin-inline: -10px 0;
5641
+ }
5642
+ .sph-side-panel[data-peek]:is(:hover, :has(:focus-visible)) {
5643
+ inline-size: var(--sph-side-panel-width, 280px);
5644
+ margin-inline-end: calc(-1 * var(--sph-side-panel-width, 280px));
5645
+ border-inline-width: 1px;
5646
+ background-color: var(--sph-surface);
5647
+ box-shadow: var(--sph-shadow-popover);
5648
+ }
5649
+ .sph-side-panel[data-side="right"][data-peek]:is( :hover, :has(:focus-visible) ) {
5650
+ margin-inline: calc(-1 * var(--sph-side-panel-width, 280px)) 0;
5651
+ }
5652
+ .sph-side-panel[data-peek]:is(:hover, :has(:focus-visible)) .sph-side-panel__inner {
5653
+ opacity: 1;
5654
+ visibility: visible;
5655
+ }
5656
+ @media (prefers-reduced-motion: reduce) {
5657
+ .sph-side-panel, .sph-side-panel__inner {
5658
+ transition: none;
5659
+ }
5660
+ }
5586
5661
  .sph-sidebar {
5662
+ box-sizing: border-box;
5587
5663
  display: flex;
5664
+ flex: 0 0 auto;
5588
5665
  flex-direction: column;
5589
5666
  gap: 6px;
5590
5667
  inline-size: 224px;
5668
+ min-inline-size: 0;
5669
+ overflow: hidden;
5591
5670
  padding: 8px;
5592
5671
  border-inline-end: 1px solid var(--sph-border);
5593
5672
  background: var(--sph-surface);
5594
5673
  font-family: var(--sph-font-sans);
5595
- transition: inline-size var(--sph-motion-slow) var(--sph-ease-emphasis);
5674
+ transition: inline-size var(--sph-motion-slow) var(--sph-ease-emphasis), padding-inline var(--sph-motion-slow) var(--sph-ease-emphasis), margin-inline var(--sph-motion-slow) var(--sph-ease-emphasis), opacity var(--sph-motion-fast) var(--sph-ease-standard), visibility var(--sph-motion-slow) var(--sph-ease-emphasis), background-color var(--sph-motion-fast) var(--sph-ease-standard), border-color var(--sph-motion-fast) var(--sph-ease-standard), box-shadow var(--sph-motion-slow) var(--sph-ease-emphasis), border-inline-width var(--sph-motion-slow) var(--sph-ease-emphasis);
5596
5675
  }
5597
- .sph-sidebar[data-collapsed] {
5676
+ .sph-sidebar[data-rail] {
5598
5677
  inline-size: 56px;
5599
5678
  }
5679
+ .sph-sidebar[data-side="right"] {
5680
+ border-inline-end: 0;
5681
+ border-inline-start: 1px solid var(--sph-border);
5682
+ }
5600
5683
  .sph-sidebar__header {
5601
5684
  padding: 6px 8px 2px;
5602
5685
  }
@@ -5630,7 +5713,7 @@ a.sph-breadcrumb__crumb:focus-visible, button.sph-breadcrumb__crumb:focus-visibl
5630
5713
  overflow: hidden;
5631
5714
  transition: opacity var(--sph-motion-fast) var(--sph-ease-standard);
5632
5715
  }
5633
- .sph-sidebar[data-collapsed] .sph-sidebar__section-title {
5716
+ .sph-sidebar[data-rail] .sph-sidebar__section-title {
5634
5717
  opacity: 0;
5635
5718
  block-size: 0;
5636
5719
  padding: 0;
@@ -5667,6 +5750,12 @@ a.sph-breadcrumb__crumb:focus-visible, button.sph-breadcrumb__crumb:focus-visibl
5667
5750
  opacity: 45%;
5668
5751
  cursor: not-allowed;
5669
5752
  }
5753
+ .sph-sidebar[data-side="right"] .sph-sidebar__item:hover:not(:disabled) {
5754
+ transform: translateX(-2px);
5755
+ }
5756
+ .sph-sidebar[data-side="right"] .sph-sidebar__item:active:not(:disabled) {
5757
+ transform: translateX(-2px) scale(0.985);
5758
+ }
5670
5759
  .sph-sidebar__item[data-active] {
5671
5760
  background: var(--sph-accent);
5672
5761
  @supports (color: color-mix(in lab, red, red)) {
@@ -5686,6 +5775,14 @@ a.sph-breadcrumb__crumb:focus-visible, button.sph-breadcrumb__crumb:focus-visibl
5686
5775
  .sph-sidebar__item[data-active] .sph-sidebar__icon {
5687
5776
  color: var(--sph-accent-strong);
5688
5777
  }
5778
+ .sph-sidebar[data-side="right"] .sph-sidebar__item[data-active]::before {
5779
+ inset-inline-start: auto;
5780
+ inset-inline-end: -8px;
5781
+ }
5782
+ .sph-sidebar[data-side="right"][data-rail] .sph-sidebar__item[data-active]::before {
5783
+ inset-inline-start: auto;
5784
+ inset-inline-end: -6px;
5785
+ }
5689
5786
  .sph-sidebar__icon {
5690
5787
  display: inline-flex;
5691
5788
  flex: 0 0 auto;
@@ -5699,21 +5796,29 @@ a.sph-breadcrumb__crumb:focus-visible, button.sph-breadcrumb__crumb:focus-visibl
5699
5796
  text-overflow: ellipsis;
5700
5797
  transition: opacity var(--sph-motion-fast) var(--sph-ease-standard), flex-basis var(--sph-motion-slow) var(--sph-ease-emphasis);
5701
5798
  }
5702
- .sph-sidebar[data-collapsed] .sph-sidebar__header {
5799
+ .sph-sidebar[data-rail] .sph-sidebar__header {
5703
5800
  display: none;
5704
5801
  }
5705
- .sph-sidebar[data-collapsed] .sph-sidebar__label, .sph-sidebar[data-collapsed] .sph-sidebar__badge {
5802
+ .sph-sidebar[data-rail] .sph-sidebar__label, .sph-sidebar[data-rail] .sph-sidebar__badge {
5706
5803
  opacity: 0;
5707
- flex-basis: 0;
5804
+ flex: 0 0 auto;
5708
5805
  inline-size: 0;
5709
5806
  margin: 0;
5807
+ padding: 0;
5808
+ overflow: hidden;
5809
+ white-space: nowrap;
5710
5810
  pointer-events: none;
5711
5811
  }
5712
- .sph-sidebar[data-collapsed] .sph-sidebar__item {
5812
+ .sph-sidebar[data-rail] .sph-sidebar__item {
5713
5813
  justify-content: center;
5814
+ align-items: center;
5815
+ gap: 0;
5714
5816
  padding-inline: 0;
5715
5817
  }
5716
- .sph-sidebar[data-collapsed] .sph-sidebar__item[data-active]::before {
5818
+ .sph-sidebar[data-rail] .sph-sidebar__icon {
5819
+ margin: 0;
5820
+ }
5821
+ .sph-sidebar[data-rail] .sph-sidebar__item[data-active]::before {
5717
5822
  inset-inline-start: -6px;
5718
5823
  }
5719
5824
  .sph-sidebar__badge {
@@ -5733,10 +5838,10 @@ a.sph-breadcrumb__crumb:focus-visible, button.sph-breadcrumb__crumb:focus-visibl
5733
5838
  min-inline-size: 0;
5734
5839
  overflow: hidden;
5735
5840
  }
5736
- .sph-sidebar[data-collapsed] .sph-sidebar__footer-content {
5841
+ .sph-sidebar[data-rail] .sph-sidebar__footer-content {
5737
5842
  display: none;
5738
5843
  }
5739
- .sph-sidebar[data-collapsed] .sph-sidebar__footer {
5844
+ .sph-sidebar[data-rail] .sph-sidebar__footer {
5740
5845
  justify-content: center;
5741
5846
  }
5742
5847
  .sph-sidebar__toggle {
@@ -5761,6 +5866,82 @@ a.sph-breadcrumb__crumb:focus-visible, button.sph-breadcrumb__crumb:focus-visibl
5761
5866
  outline: 2px solid var(--sph-focus);
5762
5867
  outline-offset: 1px;
5763
5868
  }
5869
+ .sph-sidebar[data-collapsed-mode="hover"][data-collapsed]:is( :hover, :has(:focus-visible) ) {
5870
+ inline-size: 224px;
5871
+ }
5872
+ .sph-sidebar[data-collapsed-mode="hover"][data-collapsed]:is( :hover, :has(:focus-visible) ) .sph-sidebar__header {
5873
+ display: block;
5874
+ }
5875
+ .sph-sidebar[data-collapsed-mode="hover"][data-collapsed]:is( :hover, :has(:focus-visible) ) .sph-sidebar__section-title {
5876
+ opacity: 1;
5877
+ block-size: auto;
5878
+ padding: 4px 8px 2px;
5879
+ }
5880
+ .sph-sidebar[data-collapsed-mode="hover"][data-collapsed]:is( :hover, :has(:focus-visible) ) .sph-sidebar__label, .sph-sidebar[data-collapsed-mode="hover"][data-collapsed]:is( :hover, :has(:focus-visible) ) .sph-sidebar__badge {
5881
+ opacity: 1;
5882
+ inline-size: auto;
5883
+ overflow: visible;
5884
+ pointer-events: auto;
5885
+ }
5886
+ .sph-sidebar[data-collapsed-mode="hover"][data-collapsed]:is( :hover, :has(:focus-visible) ) .sph-sidebar__label {
5887
+ flex: 1 1 auto;
5888
+ }
5889
+ .sph-sidebar[data-collapsed-mode="hover"][data-collapsed]:is( :hover, :has(:focus-visible) ) .sph-sidebar__badge {
5890
+ flex: 0 0 auto;
5891
+ }
5892
+ .sph-sidebar[data-collapsed-mode="hover"][data-collapsed]:is( :hover, :has(:focus-visible) ) .sph-sidebar__item {
5893
+ justify-content: flex-start;
5894
+ gap: 9px;
5895
+ padding-inline: 9px;
5896
+ }
5897
+ .sph-sidebar[data-collapsed-mode="hover"][data-collapsed]:is( :hover, :has(:focus-visible) ) .sph-sidebar__footer-content {
5898
+ display: block;
5899
+ }
5900
+ .sph-sidebar[data-collapsed-mode="hover"][data-collapsed]:is( :hover, :has(:focus-visible) ) .sph-sidebar__footer {
5901
+ justify-content: flex-start;
5902
+ }
5903
+ .sph-sidebar[data-collapsed-mode="hover"][data-collapsed]:is( :hover, :has(:focus-visible) ) .sph-sidebar__item[data-active]::before {
5904
+ inset-inline-start: -8px;
5905
+ }
5906
+ .sph-sidebar[data-side="right"][data-collapsed-mode="hover"][data-collapsed]:is( :hover, :has(:focus-visible) ) .sph-sidebar__item[data-active]::before {
5907
+ inset-inline-start: auto;
5908
+ inset-inline-end: -8px;
5909
+ }
5910
+ .sph-sidebar[data-collapsed-mode="hover"][data-collapsed]:is( :hover, :has(:focus-visible) ) .sph-sidebar__badge {
5911
+ margin-inline-start: auto;
5912
+ }
5913
+ .sph-sidebar[data-collapsed-mode="hidden"][data-collapsed] {
5914
+ position: relative;
5915
+ z-index: 2;
5916
+ inline-size: 10px;
5917
+ margin-inline-end: -10px;
5918
+ padding-inline: 0;
5919
+ border-inline-width: 0;
5920
+ background-color: transparent;
5921
+ }
5922
+ .sph-sidebar[data-side="right"][data-collapsed-mode="hidden"][data-collapsed] {
5923
+ margin-inline: -10px 0;
5924
+ }
5925
+ .sph-sidebar[data-collapsed-mode="hidden"][data-collapsed] > * {
5926
+ opacity: 0;
5927
+ visibility: hidden;
5928
+ transition: opacity var(--sph-motion-fast) var(--sph-ease-standard), visibility var(--sph-motion-fast) var(--sph-ease-standard);
5929
+ }
5930
+ .sph-sidebar[data-collapsed-mode="hidden"][data-collapsed]:is( :hover, :has(:focus-visible) ) {
5931
+ inline-size: 56px;
5932
+ margin-inline-end: -56px;
5933
+ padding-inline: 8px;
5934
+ border-inline-width: 1px;
5935
+ background-color: var(--sph-surface);
5936
+ box-shadow: var(--sph-shadow-popover);
5937
+ }
5938
+ .sph-sidebar[data-side="right"][data-collapsed-mode="hidden"][data-collapsed]:is( :hover, :has(:focus-visible) ) {
5939
+ margin-inline: -56px 0;
5940
+ }
5941
+ .sph-sidebar[data-collapsed-mode="hidden"][data-collapsed]:is( :hover, :has(:focus-visible) ) > * {
5942
+ opacity: 1;
5943
+ visibility: visible;
5944
+ }
5764
5945
  @supports (interpolate-size: allow-keywords) {
5765
5946
  .sph-sidebar {
5766
5947
  interpolate-size: allow-keywords;
@@ -6666,7 +6847,6 @@ a.sph-breadcrumb__crumb:focus-visible, button.sph-breadcrumb__crumb:focus-visibl
6666
6847
  position: relative;
6667
6848
  box-sizing: border-box;
6668
6849
  display: inline-grid;
6669
- height: calc(var(--spacing, 0.25rem) * 9);
6670
6850
  max-width: 100%;
6671
6851
  min-width: 0px;
6672
6852
  grid-auto-columns: minmax(0, 1fr);
@@ -6679,17 +6859,21 @@ a.sph-breadcrumb__crumb:focus-visible, button.sph-breadcrumb__crumb:focus-visibl
6679
6859
  padding: calc(var(--spacing, 0.25rem) * 0.5);
6680
6860
  vertical-align: middle;
6681
6861
  font-family: var(--sph-font-sans);
6862
+ height: calc(2.25rem * var(--sph-control-density, 1));
6682
6863
  --sph-segmented-inset: 2px;
6683
6864
  --sph-segmented-direction: 1;
6684
6865
  }
6685
6866
  :where([dir="rtl"]) .sph-segmented-control {
6686
6867
  --sph-segmented-direction: -1;
6687
6868
  }
6869
+ .sph-segmented-control[data-density="compact"] {
6870
+ --sph-control-density: 0.8;
6871
+ }
6688
6872
  .sph-segmented-control[data-size="sm"] {
6689
- height: calc(var(--spacing, 0.25rem) * 8);
6873
+ height: calc(2rem * var(--sph-control-density, 1));
6690
6874
  }
6691
6875
  .sph-segmented-control[data-size="lg"] {
6692
- height: calc(var(--spacing, 0.25rem) * 10);
6876
+ height: calc(2.5rem * var(--sph-control-density, 1));
6693
6877
  }
6694
6878
  .sph-segmented-control[data-full-width="true"] {
6695
6879
  display: grid;