@sigmela/router 0.7.1 → 0.8.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.
@@ -6,7 +6,7 @@ export interface NavigationHistorySnapshot {
6
6
  historyCommit?: string;
7
7
  presentation: string;
8
8
  splitNavigation?: {
9
- operation: 'selection' | 'push' | 'replace';
9
+ operation: 'selection' | 'push' | 'replace' | 'pop';
10
10
  };
11
11
  route: {
12
12
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"navigationHistory.d.ts","sourceRoot":"","sources":["../src/navigationHistory.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE;QAChB,SAAS,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;KAC7C,CAAC;IACF,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACH;AA4BD,wBAAgB,qBAAqB,CAAC,SAAS,SAAS,yBAAyB,EAC/E,OAAO,EAAE,SAAS,EAAE,EACpB,QAAQ,EAAE,SAAS,GAClB,SAAS,EAAE,CA2Cb;AAED,wBAAgB,2BAA2B,CAAC,SAAS,SAAS,yBAAyB,EACrF,OAAO,EAAE,SAAS,EAAE,EACpB,QAAQ,EAAE,SAAS,GAAG,SAAS,GAC9B,SAAS,GAAG,SAAS,CAQvB"}
1
+ {"version":3,"file":"navigationHistory.d.ts","sourceRoot":"","sources":["../src/navigationHistory.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE;QAChB,SAAS,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;KACrD,CAAC;IACF,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACH;AA4BD,wBAAgB,qBAAqB,CAAC,SAAS,SAAS,yBAAyB,EAC/E,OAAO,EAAE,SAAS,EAAE,EACpB,QAAQ,EAAE,SAAS,GAClB,SAAS,EAAE,CA2Cb;AAED,wBAAgB,2BAA2B,CAAC,SAAS,SAAS,yBAAyB,EACrF,OAAO,EAAE,SAAS,EAAE,EACpB,QAAQ,EAAE,SAAS,GAAG,SAAS,GAC9B,SAAS,GAAG,SAAS,CAQvB"}
package/dist/router.css CHANGED
@@ -191,6 +191,10 @@
191
191
  transform: translateX(0);
192
192
  }
193
193
 
194
+ .screen-stack-item.push.pop-enter.transition-preEnter {
195
+ transform: translateX(-25%);
196
+ }
197
+
194
198
  .screen-stack-item.none {
195
199
  transform: translate3d(0, 0, 0) !important;
196
200
  transition: none !important;
@@ -238,7 +242,8 @@
238
242
  display: flex;
239
243
  flex-direction: column;
240
244
  width: 100%;
241
- height: calc(100dvh - env(safe-area-inset-top, 0px));
245
+ height: var(--router-modal-height, calc(100dvh - env(safe-area-inset-top, 0px)));
246
+ max-height: calc(100dvh - env(safe-area-inset-top, 0px));
242
247
  overflow: hidden;
243
248
  border-radius: 33px 33px 0 0;
244
249
  background: var(--router-bg);
@@ -469,17 +474,17 @@ html[data-router-shell='desktop-fullscreen'] #root {
469
474
  }
470
475
 
471
476
  .router-overlay-shell[data-router-shell='desktop-fullscreen'] .router-modal-surface {
472
- width: 600px;
477
+ width: min(var(--router-modal-width, 600px), calc(100vw - 48px));
473
478
  max-width: calc(100vw - 48px);
474
- height: 75dvh;
479
+ height: min(var(--router-modal-height, 75dvh), calc(100dvh - 48px));
475
480
  max-height: calc(100dvh - 48px);
476
481
  border-radius: 38px;
477
482
  }
478
483
 
479
484
  .router-overlay-shell[data-router-shell='desktop-fullscreen']
480
485
  .router-modal-surface.router-modal-surface--wide {
481
- width: 860px;
482
- height: 86dvh;
486
+ width: min(var(--router-modal-width, 860px), calc(100vw - 48px));
487
+ height: min(var(--router-modal-height, 86dvh), calc(100dvh - 48px));
483
488
  }
484
489
 
485
490
  .router-overlay-shell[data-router-shell='desktop-fullscreen']
@@ -583,8 +588,10 @@ html[data-router-shell='desktop-fullscreen'] #root {
583
588
  --sigmela-drawer-item-active-bg: var(--router-drawer-active-bg);
584
589
  --sigmela-drawer-label: var(--router-drawer-text);
585
590
  --sigmela-drawer-overlay: var(--router-drawer-overlay-color);
586
- --sigmela-drawer-transition: 300ms cubic-bezier(0.22, 0.61, 0.36, 1);
591
+ --sigmela-drawer-duration: 300ms;
592
+ --sigmela-drawer-transition: var(--sigmela-drawer-duration) cubic-bezier(0.22, 0.61, 0.36, 1);
587
593
  --sigmela-drawer-width: 280px;
594
+ --sigmela-drawer-rail-width: 56px;
588
595
 
589
596
  position: relative;
590
597
  display: flex;
@@ -812,7 +819,10 @@ html[data-router-shell='desktop-fullscreen'] #root {
812
819
  left: 0;
813
820
  z-index: 101;
814
821
  transform: translateX(calc(-1 * var(--sigmela-drawer-width)));
815
- transition: transform var(--sigmela-drawer-transition);
822
+ visibility: hidden;
823
+ transition:
824
+ transform var(--sigmela-drawer-transition),
825
+ visibility 0s linear var(--sigmela-drawer-duration);
816
826
  }
817
827
 
818
828
  .sigmela-drawer__main {
@@ -835,6 +845,10 @@ html[data-router-shell='desktop-fullscreen'] #root {
835
845
 
836
846
  .sigmela-drawer[data-drawer-open='true'] .sigmela-drawer__sidebar {
837
847
  transform: translateX(0);
848
+ visibility: visible;
849
+ transition:
850
+ transform var(--sigmela-drawer-transition),
851
+ visibility 0s;
838
852
  }
839
853
 
840
854
  .sigmela-drawer[data-drawer-open='true'] .sigmela-drawer__main {
@@ -863,16 +877,54 @@ html[data-router-shell='desktop-fullscreen'] #root {
863
877
  @media (min-width: 641px) {
864
878
  .sigmela-drawer__sidebar {
865
879
  border-right: 1px solid var(--router-divider);
866
- transition: margin-left var(--sigmela-drawer-transition);
880
+ transition:
881
+ margin-left var(--sigmela-drawer-transition),
882
+ width var(--sigmela-drawer-transition),
883
+ flex-basis var(--sigmela-drawer-transition),
884
+ visibility var(--sigmela-drawer-transition);
867
885
  }
868
886
 
869
- .sigmela-drawer[data-drawer-open='true'] .sigmela-drawer__sidebar {
887
+ .sigmela-drawer[data-drawer-collapsed="true"]:not(
888
+ [data-drawer-desktop="icon"]
889
+ )
890
+ > .sigmela-drawer__sidebar {
870
891
  margin-left: calc(-1 * var(--sigmela-drawer-width));
871
892
  border-right: none;
893
+ visibility: hidden;
894
+ }
895
+
896
+ .sigmela-drawer[data-drawer-collapsed="true"][data-drawer-desktop="icon"]
897
+ > .sigmela-drawer__sidebar {
898
+ width: var(--sigmela-drawer-rail-width);
899
+ flex-basis: var(--sigmela-drawer-rail-width);
900
+ }
901
+
902
+ .sigmela-drawer[data-drawer-collapsed="true"][data-drawer-desktop="icon"]
903
+ .sigmela-drawer__item {
904
+ padding-inline: 0;
905
+ justify-content: center;
906
+ }
907
+
908
+ .sigmela-drawer[data-drawer-collapsed="true"][data-drawer-desktop="icon"]
909
+ :is(
910
+ .sigmela-drawer__item-label,
911
+ .sigmela-drawer__item-badge,
912
+ .sigmela-drawer__section-label,
913
+ .sigmela-drawer__group-chevron,
914
+ .sigmela-drawer__group-items,
915
+ .sigmela-drawer__footer
916
+ ) {
917
+ display: none;
872
918
  }
873
919
  }
874
920
 
875
921
  @media (prefers-reduced-motion: reduce) {
922
+ .sigmela-drawer > .sigmela-drawer__sidebar,
923
+ .sigmela-drawer > .sigmela-drawer__main,
924
+ .sigmela-drawer > .sigmela-drawer__overlay {
925
+ transition: none;
926
+ }
927
+
876
928
  .screen-stack > .screen-stack-item {
877
929
  transform: translate3d(0, 0, 0) !important;
878
930
  transition: none !important;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sigmela/router",
3
- "version": "0.7.1",
3
+ "version": "0.8.0",
4
4
  "description": "Native-feeling router for React web apps: screen stacks with gesture-driven back, modals, sheets, tab bars, drawers and split views.",
5
5
  "license": "MIT",
6
6
  "author": "Sigmela",