@sigmela/router 0.7.2 → 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.
- package/CHANGELOG.md +45 -0
- package/README.md +70 -1
- package/dist/Router.d.ts +9 -0
- package/dist/Router.d.ts.map +1 -1
- package/dist/components/Modal.d.ts +10 -3
- package/dist/components/Modal.d.ts.map +1 -1
- package/dist/components/SheetSurface.d.ts +4 -1
- package/dist/components/SheetSurface.d.ts.map +1 -1
- package/dist/index.js +320 -151
- package/dist/index.js.map +1 -1
- package/dist/navigationHistory.d.ts +1 -1
- package/dist/navigationHistory.d.ts.map +1 -1
- package/dist/router.css +95 -9
- package/dist/utils/useMediaQuery.d.ts +5 -0
- package/dist/utils/useMediaQuery.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -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;
|
|
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;
|
|
@@ -219,7 +223,14 @@
|
|
|
219
223
|
isolation: isolate;
|
|
220
224
|
}
|
|
221
225
|
|
|
226
|
+
/* Positioned here as well as by SheetSurface's utility classes, so the scrim
|
|
227
|
+
still covers the shell in apps without Tailwind. */
|
|
222
228
|
.router-modal-backdrop {
|
|
229
|
+
pointer-events: auto;
|
|
230
|
+
position: absolute;
|
|
231
|
+
inset: 0;
|
|
232
|
+
padding: 0;
|
|
233
|
+
border: 0;
|
|
223
234
|
background: var(--router-scrim);
|
|
224
235
|
z-index: 0;
|
|
225
236
|
}
|
|
@@ -238,7 +249,8 @@
|
|
|
238
249
|
display: flex;
|
|
239
250
|
flex-direction: column;
|
|
240
251
|
width: 100%;
|
|
241
|
-
height: calc(100dvh - env(safe-area-inset-top, 0px));
|
|
252
|
+
height: var(--router-modal-height, calc(100dvh - env(safe-area-inset-top, 0px)));
|
|
253
|
+
max-height: calc(100dvh - env(safe-area-inset-top, 0px));
|
|
242
254
|
overflow: hidden;
|
|
243
255
|
border-radius: 33px 33px 0 0;
|
|
244
256
|
background: var(--router-bg);
|
|
@@ -469,23 +481,50 @@ html[data-router-shell='desktop-fullscreen'] #root {
|
|
|
469
481
|
}
|
|
470
482
|
|
|
471
483
|
.router-overlay-shell[data-router-shell='desktop-fullscreen'] .router-modal-surface {
|
|
472
|
-
width: 600px;
|
|
484
|
+
width: min(var(--router-modal-width, 600px), calc(100vw - 48px));
|
|
473
485
|
max-width: calc(100vw - 48px);
|
|
474
|
-
height: 75dvh;
|
|
486
|
+
height: min(var(--router-modal-height, 75dvh), calc(100dvh - 48px));
|
|
475
487
|
max-height: calc(100dvh - 48px);
|
|
476
488
|
border-radius: 38px;
|
|
477
489
|
}
|
|
478
490
|
|
|
479
491
|
.router-overlay-shell[data-router-shell='desktop-fullscreen']
|
|
480
492
|
.router-modal-surface.router-modal-surface--wide {
|
|
481
|
-
width: 860px;
|
|
482
|
-
height: 86dvh;
|
|
493
|
+
width: min(var(--router-modal-width, 860px), calc(100vw - 48px));
|
|
494
|
+
height: min(var(--router-modal-height, 86dvh), calc(100dvh - 48px));
|
|
483
495
|
}
|
|
484
496
|
|
|
485
497
|
.router-overlay-shell[data-router-shell='desktop-fullscreen']
|
|
486
498
|
.router-modal-surface--content-sized {
|
|
487
499
|
height: auto;
|
|
488
500
|
}
|
|
501
|
+
|
|
502
|
+
/* A right panel anchors to the viewport edge in either shell mode, so it
|
|
503
|
+
escapes the contained column. Modal.tsx only adds these classes at this
|
|
504
|
+
width; below it the surface is the regular fullscreen modal. */
|
|
505
|
+
.router-overlay-shell.router-modal-shell.router-modal-shell--right {
|
|
506
|
+
inset: 0;
|
|
507
|
+
width: auto;
|
|
508
|
+
max-width: none;
|
|
509
|
+
margin-inline: 0;
|
|
510
|
+
align-items: stretch;
|
|
511
|
+
justify-content: flex-end;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
.router-modal-shell--right > .router-modal-backdrop {
|
|
515
|
+
background: var(--router-scrim);
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
.router-overlay-shell.router-modal-shell--right
|
|
519
|
+
.router-modal-surface.router-modal-surface--right {
|
|
520
|
+
flex: 0 0 auto;
|
|
521
|
+
width: min(var(--router-modal-width, 393px), calc(100vw - 36px));
|
|
522
|
+
max-width: calc(100vw - 36px);
|
|
523
|
+
height: calc(100dvh - 36px);
|
|
524
|
+
max-height: calc(100dvh - 36px);
|
|
525
|
+
margin: 18px;
|
|
526
|
+
border-radius: 16px;
|
|
527
|
+
}
|
|
489
528
|
}
|
|
490
529
|
|
|
491
530
|
/* ==================== SPLIT VIEW ==================== */
|
|
@@ -583,8 +622,10 @@ html[data-router-shell='desktop-fullscreen'] #root {
|
|
|
583
622
|
--sigmela-drawer-item-active-bg: var(--router-drawer-active-bg);
|
|
584
623
|
--sigmela-drawer-label: var(--router-drawer-text);
|
|
585
624
|
--sigmela-drawer-overlay: var(--router-drawer-overlay-color);
|
|
586
|
-
--sigmela-drawer-
|
|
625
|
+
--sigmela-drawer-duration: 300ms;
|
|
626
|
+
--sigmela-drawer-transition: var(--sigmela-drawer-duration) cubic-bezier(0.22, 0.61, 0.36, 1);
|
|
587
627
|
--sigmela-drawer-width: 280px;
|
|
628
|
+
--sigmela-drawer-rail-width: 56px;
|
|
588
629
|
|
|
589
630
|
position: relative;
|
|
590
631
|
display: flex;
|
|
@@ -812,7 +853,10 @@ html[data-router-shell='desktop-fullscreen'] #root {
|
|
|
812
853
|
left: 0;
|
|
813
854
|
z-index: 101;
|
|
814
855
|
transform: translateX(calc(-1 * var(--sigmela-drawer-width)));
|
|
815
|
-
|
|
856
|
+
visibility: hidden;
|
|
857
|
+
transition:
|
|
858
|
+
transform var(--sigmela-drawer-transition),
|
|
859
|
+
visibility 0s linear var(--sigmela-drawer-duration);
|
|
816
860
|
}
|
|
817
861
|
|
|
818
862
|
.sigmela-drawer__main {
|
|
@@ -835,6 +879,10 @@ html[data-router-shell='desktop-fullscreen'] #root {
|
|
|
835
879
|
|
|
836
880
|
.sigmela-drawer[data-drawer-open='true'] .sigmela-drawer__sidebar {
|
|
837
881
|
transform: translateX(0);
|
|
882
|
+
visibility: visible;
|
|
883
|
+
transition:
|
|
884
|
+
transform var(--sigmela-drawer-transition),
|
|
885
|
+
visibility 0s;
|
|
838
886
|
}
|
|
839
887
|
|
|
840
888
|
.sigmela-drawer[data-drawer-open='true'] .sigmela-drawer__main {
|
|
@@ -863,16 +911,54 @@ html[data-router-shell='desktop-fullscreen'] #root {
|
|
|
863
911
|
@media (min-width: 641px) {
|
|
864
912
|
.sigmela-drawer__sidebar {
|
|
865
913
|
border-right: 1px solid var(--router-divider);
|
|
866
|
-
transition:
|
|
914
|
+
transition:
|
|
915
|
+
margin-left var(--sigmela-drawer-transition),
|
|
916
|
+
width var(--sigmela-drawer-transition),
|
|
917
|
+
flex-basis var(--sigmela-drawer-transition),
|
|
918
|
+
visibility var(--sigmela-drawer-transition);
|
|
867
919
|
}
|
|
868
920
|
|
|
869
|
-
.sigmela-drawer[data-drawer-
|
|
921
|
+
.sigmela-drawer[data-drawer-collapsed="true"]:not(
|
|
922
|
+
[data-drawer-desktop="icon"]
|
|
923
|
+
)
|
|
924
|
+
> .sigmela-drawer__sidebar {
|
|
870
925
|
margin-left: calc(-1 * var(--sigmela-drawer-width));
|
|
871
926
|
border-right: none;
|
|
927
|
+
visibility: hidden;
|
|
928
|
+
}
|
|
929
|
+
|
|
930
|
+
.sigmela-drawer[data-drawer-collapsed="true"][data-drawer-desktop="icon"]
|
|
931
|
+
> .sigmela-drawer__sidebar {
|
|
932
|
+
width: var(--sigmela-drawer-rail-width);
|
|
933
|
+
flex-basis: var(--sigmela-drawer-rail-width);
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
.sigmela-drawer[data-drawer-collapsed="true"][data-drawer-desktop="icon"]
|
|
937
|
+
.sigmela-drawer__item {
|
|
938
|
+
padding-inline: 0;
|
|
939
|
+
justify-content: center;
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
.sigmela-drawer[data-drawer-collapsed="true"][data-drawer-desktop="icon"]
|
|
943
|
+
:is(
|
|
944
|
+
.sigmela-drawer__item-label,
|
|
945
|
+
.sigmela-drawer__item-badge,
|
|
946
|
+
.sigmela-drawer__section-label,
|
|
947
|
+
.sigmela-drawer__group-chevron,
|
|
948
|
+
.sigmela-drawer__group-items,
|
|
949
|
+
.sigmela-drawer__footer
|
|
950
|
+
) {
|
|
951
|
+
display: none;
|
|
872
952
|
}
|
|
873
953
|
}
|
|
874
954
|
|
|
875
955
|
@media (prefers-reduced-motion: reduce) {
|
|
956
|
+
.sigmela-drawer > .sigmela-drawer__sidebar,
|
|
957
|
+
.sigmela-drawer > .sigmela-drawer__main,
|
|
958
|
+
.sigmela-drawer > .sigmela-drawer__overlay {
|
|
959
|
+
transition: none;
|
|
960
|
+
}
|
|
961
|
+
|
|
876
962
|
.screen-stack > .screen-stack-item {
|
|
877
963
|
transform: translate3d(0, 0, 0) !important;
|
|
878
964
|
transition: none !important;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function useMediaQuery(query: string): boolean;
|
|
2
|
+
export declare function useMinWidth(minWidth: number): boolean;
|
|
3
|
+
/** Read once, at the moment an animation starts. */
|
|
4
|
+
export declare function prefersReducedMotion(): boolean;
|
|
5
|
+
//# sourceMappingURL=useMediaQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../src/utils/useMediaQuery.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CA+BpD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,IAAI,OAAO,CAM9C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sigmela/router",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.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",
|