@tamagui/sheet 1.72.3 → 1.73.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.
Files changed (109) hide show
  1. package/dist/cjs/SheetImplementationCustom.js +7 -4
  2. package/dist/cjs/SheetImplementationCustom.js.map +1 -1
  3. package/dist/cjs/SheetImplementationCustom.native.js +7 -4
  4. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  5. package/dist/cjs/useSheetProviderProps.js +4 -2
  6. package/dist/cjs/useSheetProviderProps.js.map +1 -1
  7. package/dist/cjs/useSheetProviderProps.native.js +4 -2
  8. package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
  9. package/dist/esm/SheetImplementationCustom.js +8 -5
  10. package/dist/esm/SheetImplementationCustom.js.map +1 -1
  11. package/dist/esm/useSheetProviderProps.js +5 -3
  12. package/dist/esm/useSheetProviderProps.js.map +1 -1
  13. package/dist/jsx/SheetImplementationCustom.js +8 -5
  14. package/dist/jsx/SheetImplementationCustom.js.map +1 -1
  15. package/dist/jsx/SheetImplementationCustom.native.js +8 -5
  16. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  17. package/dist/jsx/useSheetProviderProps.js +5 -3
  18. package/dist/jsx/useSheetProviderProps.js.map +1 -1
  19. package/dist/jsx/useSheetProviderProps.native.js +5 -3
  20. package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
  21. package/package.json +14 -14
  22. package/src/SheetImplementationCustom.tsx +12 -11
  23. package/src/useSheetProviderProps.tsx +3 -3
  24. package/types/SheetImplementationCustom.d.ts.map +1 -1
  25. package/types/useSheetProviderProps.d.ts.map +1 -1
  26. package/dist/cjs/useSheetChildren.js +0 -80
  27. package/dist/cjs/useSheetChildren.js.map +0 -6
  28. package/dist/cjs/useSheetSnapPoints.js +0 -77
  29. package/dist/cjs/useSheetSnapPoints.js.map +0 -6
  30. package/dist/esm/Sheet.mjs +0 -95
  31. package/dist/esm/Sheet.mjs.map +0 -6
  32. package/dist/esm/SheetContext.mjs +0 -13
  33. package/dist/esm/SheetContext.mjs.map +0 -6
  34. package/dist/esm/SheetController.mjs +0 -24
  35. package/dist/esm/SheetController.mjs.map +0 -6
  36. package/dist/esm/SheetImplementationCustom.mjs +0 -296
  37. package/dist/esm/SheetImplementationCustom.mjs.map +0 -6
  38. package/dist/esm/SheetScrollView.mjs +0 -52
  39. package/dist/esm/SheetScrollView.mjs.map +0 -6
  40. package/dist/esm/constants.mjs +0 -11
  41. package/dist/esm/constants.mjs.map +0 -6
  42. package/dist/esm/contexts.mjs +0 -9
  43. package/dist/esm/contexts.mjs.map +0 -6
  44. package/dist/esm/createSheet.mjs +0 -139
  45. package/dist/esm/createSheet.mjs.map +0 -6
  46. package/dist/esm/helpers.mjs +0 -11
  47. package/dist/esm/helpers.mjs.map +0 -6
  48. package/dist/esm/index.mjs +0 -10
  49. package/dist/esm/index.mjs.map +0 -6
  50. package/dist/esm/nativeSheet.mjs +0 -39
  51. package/dist/esm/nativeSheet.mjs.map +0 -6
  52. package/dist/esm/types.mjs +0 -1
  53. package/dist/esm/types.mjs.map +0 -6
  54. package/dist/esm/useSheet.mjs +0 -6
  55. package/dist/esm/useSheet.mjs.map +0 -6
  56. package/dist/esm/useSheetChildren.js +0 -46
  57. package/dist/esm/useSheetChildren.js.map +0 -6
  58. package/dist/esm/useSheetController.mjs +0 -17
  59. package/dist/esm/useSheetController.mjs.map +0 -6
  60. package/dist/esm/useSheetOffscreenSize.mjs +0 -27
  61. package/dist/esm/useSheetOffscreenSize.mjs.map +0 -6
  62. package/dist/esm/useSheetOpenState.mjs +0 -23
  63. package/dist/esm/useSheetOpenState.mjs.map +0 -6
  64. package/dist/esm/useSheetProviderProps.mjs +0 -90
  65. package/dist/esm/useSheetProviderProps.mjs.map +0 -6
  66. package/dist/esm/useSheetSnapPoints.js +0 -53
  67. package/dist/esm/useSheetSnapPoints.js.map +0 -6
  68. package/dist/jsx/Sheet.mjs +0 -99
  69. package/dist/jsx/Sheet.mjs.map +0 -6
  70. package/dist/jsx/SheetContext.mjs +0 -14
  71. package/dist/jsx/SheetContext.mjs.map +0 -6
  72. package/dist/jsx/SheetController.mjs +0 -24
  73. package/dist/jsx/SheetController.mjs.map +0 -6
  74. package/dist/jsx/SheetImplementationCustom.mjs +0 -351
  75. package/dist/jsx/SheetImplementationCustom.mjs.map +0 -6
  76. package/dist/jsx/SheetScrollView.mjs +0 -65
  77. package/dist/jsx/SheetScrollView.mjs.map +0 -6
  78. package/dist/jsx/constants.mjs +0 -21
  79. package/dist/jsx/constants.mjs.map +0 -6
  80. package/dist/jsx/contexts.mjs +0 -10
  81. package/dist/jsx/contexts.mjs.map +0 -6
  82. package/dist/jsx/createSheet.mjs +0 -151
  83. package/dist/jsx/createSheet.mjs.map +0 -6
  84. package/dist/jsx/helpers.mjs +0 -14
  85. package/dist/jsx/helpers.mjs.map +0 -6
  86. package/dist/jsx/index.mjs +0 -10
  87. package/dist/jsx/index.mjs.map +0 -6
  88. package/dist/jsx/nativeSheet.mjs +0 -46
  89. package/dist/jsx/nativeSheet.mjs.map +0 -6
  90. package/dist/jsx/types.mjs +0 -1
  91. package/dist/jsx/types.mjs.map +0 -6
  92. package/dist/jsx/useSheet.mjs +0 -6
  93. package/dist/jsx/useSheet.mjs.map +0 -6
  94. package/dist/jsx/useSheetChildren.js +0 -45
  95. package/dist/jsx/useSheetChildren.js.map +0 -6
  96. package/dist/jsx/useSheetChildren.mjs +0 -45
  97. package/dist/jsx/useSheetChildren.mjs.map +0 -6
  98. package/dist/jsx/useSheetController.mjs +0 -20
  99. package/dist/jsx/useSheetController.mjs.map +0 -6
  100. package/dist/jsx/useSheetOffscreenSize.mjs +0 -15
  101. package/dist/jsx/useSheetOffscreenSize.mjs.map +0 -6
  102. package/dist/jsx/useSheetOpenState.mjs +0 -26
  103. package/dist/jsx/useSheetOpenState.mjs.map +0 -6
  104. package/dist/jsx/useSheetProviderProps.mjs +0 -95
  105. package/dist/jsx/useSheetProviderProps.mjs.map +0 -6
  106. package/dist/jsx/useSheetSnapPoints.js +0 -53
  107. package/dist/jsx/useSheetSnapPoints.js.map +0 -6
  108. package/dist/jsx/useSheetSnapPoints.mjs +0 -53
  109. package/dist/jsx/useSheetSnapPoints.mjs.map +0 -6
@@ -1,10 +0,0 @@
1
- export * from "./Sheet";
2
- export * from "./useSheet";
3
- export * from "./createSheet";
4
- export * from "./SheetController";
5
- export * from "./useSheetController";
6
- import { setupNativeSheet } from "./nativeSheet";
7
- export {
8
- setupNativeSheet
9
- };
10
- //# sourceMappingURL=index.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,wBAAwB;",
5
- "names": []
6
- }
@@ -1,46 +0,0 @@
1
- import { YStack } from "@tamagui/stacks";
2
- import { useEffect, useRef } from "react";
3
- import { View } from "react-native";
4
- import { SheetProvider } from "./SheetContext";
5
- import { useSheetOpenState } from "./useSheetOpenState";
6
- import { useSheetProviderProps } from "./useSheetProviderProps";
7
- const nativeSheets = {
8
- ios: null
9
- };
10
- function getNativeSheet(platform) {
11
- return nativeSheets[platform];
12
- }
13
- function setupNativeSheet(platform, Implementation) {
14
- if (platform === "ios") {
15
- nativeSheets[platform] = (props) => {
16
- const state = useSheetOpenState(props);
17
- const providerProps = useSheetProviderProps(props, state);
18
- const { open, setOpen } = state;
19
- const ref = useRef();
20
- useEffect(() => {
21
- ref.current?.setVisibility(open);
22
- }, [open]);
23
- return <><SheetProvider {...providerProps} onlyShowFrame>
24
- <Implementation ref={ref} onModalDismiss={() => setOpen(false)}><View style={{ flex: 1 }}>{props.children}</View></Implementation>
25
- {
26
- /* for some reason select triggers wont show on native if this isn't inside the actual tree not inside implementation... */
27
- }
28
- {
29
- /* so just hiding it here for now... not great... */
30
- }
31
- <YStack
32
- position="absolute"
33
- opacity={0}
34
- pointerEvents="none"
35
- width={0}
36
- height={0}
37
- >{props.children}</YStack>
38
- </SheetProvider></>;
39
- };
40
- }
41
- }
42
- export {
43
- getNativeSheet,
44
- setupNativeSheet
45
- };
46
- //# sourceMappingURL=nativeSheet.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/nativeSheet.tsx"],
4
- "mappings": "AAAA,SAAS,cAAc;AACvB,SAA4B,WAAW,cAAc;AACrD,SAAS,YAAY;AAErB,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;AAClC,SAAS,6BAA6B;AAMtC,MAAM,eAAmF;AAAA,EACvF,KAAK;AACP;AAEO,SAAS,eAAe,UAAgC;AAC7D,SAAO,aAAa,QAAQ;AAC9B;AAEO,SAAS,iBAAiB,UAAgC,gBAAqB;AACpF,MAAI,aAAa,OAAO;AACtB,iBAAa,QAAQ,IAAI,CAAC,UAAsB;AAC9C,YAAM,QAAQ,kBAAkB,KAAK;AACrC,YAAM,gBAAgB,sBAAsB,OAAO,KAAK;AAIxD,YAAM,EAAE,MAAM,QAAQ,IAAI;AAC1B,YAAM,MAAM,OAET;AAEH,gBAAU,MAAM;AACd,YAAI,SAAS,cAAc,IAAI;AAAA,MACjC,GAAG,CAAC,IAAI,CAAC;AAQT,aACE,EACE,CAAC,kBAAkB,eAAe;AAAA,QAChC,CAAC,eAAe,KAAK,KAAK,gBAAgB,MAAM,QAAQ,KAAK,GAC3D,CAAC,KAAK,OAAO,EAAE,MAAM,EAAE,IAAI,MAAM,SAAS,EAAzC,KACH,EAFC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMD,CAAC;AAAA,UACC,SAAS;AAAA,UACT,SAAS;AAAA,UACT,cAAc;AAAA,UACd,OAAO;AAAA,UACP,QAAQ;AAAA,UAEP,MAAM,SACT,EARC;AAAA,MASH,EAhBC,cAiBH;AAAA,IAEJ;AAAA,EACF;AACF;",
5
- "names": []
6
- }
@@ -1 +0,0 @@
1
- //# sourceMappingURL=types.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "mappings": "",
5
- "names": []
6
- }
@@ -1,6 +0,0 @@
1
- import { useSheetContext } from "./SheetContext";
2
- const useSheet = () => useSheetContext("", void 0);
3
- export {
4
- useSheet
5
- };
6
- //# sourceMappingURL=useSheet.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useSheet.tsx"],
4
- "mappings": "AAAA,SAAS,uBAAuB;AAEzB,MAAM,WAAW,MAAM,gBAAgB,IAAI,MAAS;",
5
- "names": []
6
- }
@@ -1,45 +0,0 @@
1
- import React, { isValidElement } from "react";
2
- function useSheetChildren(childrenProp) {
3
- let handleComponent = null;
4
- let overlayComponent = null;
5
- let frameComponent = null;
6
- React.Children.forEach(childrenProp, (child) => {
7
- if (isValidElement(child)) {
8
- const name = child.type?.["staticConfig"]?.componentName;
9
- switch (name) {
10
- case "SheetHandle":
11
- handleComponent = child;
12
- break;
13
- case "Sheet":
14
- frameComponent = child;
15
- break;
16
- case "SheetOverlay":
17
- overlayComponent = child;
18
- break;
19
- default:
20
- console.warn("Warning: passed invalid child to Sheet", child);
21
- }
22
- }
23
- });
24
- let bottomCoverComponent = null;
25
- if (frameComponent) {
26
- bottomCoverComponent = React.cloneElement(frameComponent, {
27
- children: null,
28
- position: "absolute",
29
- bottom: -100,
30
- height: 110,
31
- left: 0,
32
- right: 0
33
- });
34
- }
35
- return {
36
- handleComponent,
37
- overlayComponent,
38
- frameComponent,
39
- bottomCoverComponent
40
- };
41
- }
42
- export {
43
- useSheetChildren
44
- };
45
- //# sourceMappingURL=useSheetChildren.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useSheetChildren.tsx"],
4
- "mappings": "AAAA,OAAO,SAAS,sBAAsB;AAE/B,SAAS,iBAAiB,cAAmB;AAClD,MAAI,kBAA6C;AACjD,MAAI,mBAA8C;AAClD,MAAI,iBAA4C;AAGhD,QAAM,SAAS,QAAQ,cAAc,CAAC,UAAU;AAC9C,QAAI,eAAe,KAAK,GAAG;AACzB,YAAM,OAAO,MAAM,OAAO,cAAc,GAAG;AAC3C,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,4BAAkB;AAClB;AAAA,QACF,KAAK;AACH,2BAAiB;AACjB;AAAA,QACF,KAAK;AACH,6BAAmB;AACnB;AAAA,QACF;AACE,kBAAQ,KAAK,0CAA0C,KAAK;AAAA,MAChE;AAAA,IACF;AAAA,EACF,CAAC;AAED,MAAI,uBAA4B;AAEhC,MAAI,gBAAgB;AAClB,2BAAuB,MAAM,aAAa,gBAAgB;AAAA,MACxD,UAAU;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
- "names": []
6
- }
@@ -1,45 +0,0 @@
1
- import React, { isValidElement } from "react";
2
- function useSheetChildren(childrenProp) {
3
- let handleComponent = null;
4
- let overlayComponent = null;
5
- let frameComponent = null;
6
- React.Children.forEach(childrenProp, (child) => {
7
- if (isValidElement(child)) {
8
- const name = child.type?.["staticConfig"]?.componentName;
9
- switch (name) {
10
- case "SheetHandle":
11
- handleComponent = child;
12
- break;
13
- case "Sheet":
14
- frameComponent = child;
15
- break;
16
- case "SheetOverlay":
17
- overlayComponent = child;
18
- break;
19
- default:
20
- console.warn("Warning: passed invalid child to Sheet", child);
21
- }
22
- }
23
- });
24
- let bottomCoverComponent = null;
25
- if (frameComponent) {
26
- bottomCoverComponent = React.cloneElement(frameComponent, {
27
- children: null,
28
- position: "absolute",
29
- bottom: -100,
30
- height: 110,
31
- left: 0,
32
- right: 0
33
- });
34
- }
35
- return {
36
- handleComponent,
37
- overlayComponent,
38
- frameComponent,
39
- bottomCoverComponent
40
- };
41
- }
42
- export {
43
- useSheetChildren
44
- };
45
- //# sourceMappingURL=useSheetChildren.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useSheetChildren.tsx"],
4
- "mappings": "AAAA,OAAO,SAAS,sBAAsB;AAE/B,SAAS,iBAAiB,cAAmB;AAClD,MAAI,kBAA6C;AACjD,MAAI,mBAA8C;AAClD,MAAI,iBAA4C;AAGhD,QAAM,SAAS,QAAQ,cAAc,CAAC,UAAU;AAC9C,QAAI,eAAe,KAAK,GAAG;AACzB,YAAM,OAAO,MAAM,OAAO,cAAc,GAAG;AAC3C,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,4BAAkB;AAClB;AAAA,QACF,KAAK;AACH,2BAAiB;AACjB;AAAA,QACF,KAAK;AACH,6BAAmB;AACnB;AAAA,QACF;AACE,kBAAQ,KAAK,0CAA0C,KAAK;AAAA,MAChE;AAAA,IACF;AAAA,EACF,CAAC;AAED,MAAI,uBAA4B;AAEhC,MAAI,gBAAgB;AAClB,2BAAuB,MAAM,aAAa,gBAAgB;AAAA,MACxD,UAAU;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
- "names": []
6
- }
@@ -1,20 +0,0 @@
1
- import { createContext, useContext } from "react";
2
- const useSheetController = () => {
3
- const controller = useContext(SheetControllerContext);
4
- const isHidden = controller?.hidden;
5
- const isShowingNonSheet = isHidden && controller?.open;
6
- return {
7
- controller,
8
- isHidden,
9
- isShowingNonSheet,
10
- disableDrag: controller?.disableDrag
11
- };
12
- };
13
- const SheetControllerContext = createContext(
14
- null
15
- );
16
- export {
17
- SheetControllerContext,
18
- useSheetController
19
- };
20
- //# sourceMappingURL=useSheetController.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useSheetController.tsx"],
4
- "mappings": "AAAA,SAAS,eAAe,kBAAkB;AAEnC,MAAM,qBAAqB,MAAM;AACtC,QAAM,aAAa,WAAW,sBAAsB;AACpD,QAAM,WAAW,YAAY;AAC7B,QAAM,oBAAoB,YAAY,YAAY;AAClD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,YAAY;AAAA,EAC3B;AACF;AAEO,MAAM,yBAAyB;AAAA,EACpC;AACF;",
5
- "names": []
6
- }
@@ -1,15 +0,0 @@
1
- const useSheetOffscreenSize = ({
2
- snapPoints,
3
- position,
4
- screenSize
5
- }) => {
6
- const maxPercentOpened = snapPoints[0] / 100;
7
- const percentOpened = (snapPoints[position] || 0) / 100;
8
- const percentHidden = 1 - maxPercentOpened - percentOpened;
9
- const offscreenSize = percentHidden * screenSize;
10
- return offscreenSize;
11
- };
12
- export {
13
- useSheetOffscreenSize
14
- };
15
- //# sourceMappingURL=useSheetOffscreenSize.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useSheetOffscreenSize.tsx"],
4
- "mappings": "AAEO,MAAM,wBAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,QAAM,mBAAmB,WAAW,CAAC,IAAI;AACzC,QAAM,iBAAiB,WAAW,QAAQ,KAAK,KAAK;AACpD,QAAM,gBAAgB,IAAI,mBAAmB;AAC7C,QAAM,gBAAgB,gBAAgB;AACtC,SAAO;AACT;",
5
- "names": []
6
- }
@@ -1,26 +0,0 @@
1
- import { useControllableState } from "@tamagui/use-controllable-state";
2
- import { useSheetController } from "./useSheetController";
3
- const useSheetOpenState = (props) => {
4
- const { isHidden, controller } = useSheetController();
5
- const onOpenChangeInternal = (val) => {
6
- controller?.onOpenChange?.(val);
7
- props.onOpenChange?.(val);
8
- };
9
- const [open, setOpen] = useControllableState({
10
- prop: controller?.open ?? props.open,
11
- defaultProp: props.defaultOpen ?? false,
12
- onChange: onOpenChangeInternal,
13
- strategy: "most-recent-wins",
14
- transition: true
15
- });
16
- return {
17
- open,
18
- setOpen,
19
- isHidden,
20
- controller
21
- };
22
- };
23
- export {
24
- useSheetOpenState
25
- };
26
- //# sourceMappingURL=useSheetOpenState.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useSheetOpenState.tsx"],
4
- "mappings": "AAAA,SAAS,4BAA4B;AAGrC,SAAS,0BAA0B;AAE5B,MAAM,oBAAoB,CAAC,UAAsB;AACtD,QAAM,EAAE,UAAU,WAAW,IAAI,mBAAmB;AAEpD,QAAM,uBAAuB,CAAC,QAAiB;AAC7C,gBAAY,eAAe,GAAG;AAC9B,UAAM,eAAe,GAAG;AAAA,EAC1B;AAEA,QAAM,CAAC,MAAM,OAAO,IAAI,qBAAqB;AAAA,IAC3C,MAAM,YAAY,QAAQ,MAAM;AAAA,IAChC,aAAa,MAAM,eAAe;AAAA,IAClC,UAAU;AAAA,IACV,UAAU;AAAA,IACV,YAAY;AAAA,EACd,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
- "names": []
6
- }
@@ -1,95 +0,0 @@
1
- import { useAnimationDriver } from "@tamagui/core";
2
- import { useConstant } from "@tamagui/use-constant";
3
- import { useControllableState } from "@tamagui/use-controllable-state";
4
- import React, { useCallback, useEffect, useMemo, useState } from "react";
5
- function useSheetProviderProps(props, state, options = {}) {
6
- const contentRef = React.useRef(null);
7
- const [frameSize, setFrameSize] = useState(0);
8
- const snapPointsProp = props.snapPoints || [80];
9
- const snapPoints = useMemo(
10
- () => props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp,
11
- // eslint-disable-next-line react-hooks/exhaustive-deps
12
- [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]
13
- );
14
- const [position_, setPositionImmediate] = useControllableState({
15
- prop: props.position,
16
- defaultProp: props.defaultPosition || (state.open ? 0 : -1),
17
- onChange: props.onPositionChange,
18
- strategy: "most-recent-wins",
19
- transition: true
20
- });
21
- const position = state.open === false ? -1 : position_;
22
- const { open } = state;
23
- const setPosition = useCallback(
24
- (next) => {
25
- if (props.dismissOnSnapToBottom && next === snapPoints.length - 1) {
26
- state.setOpen(false);
27
- } else {
28
- setPositionImmediate(next);
29
- }
30
- },
31
- [props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state.setOpen]
32
- );
33
- if (process.env.NODE_ENV === "development") {
34
- if (snapPoints.some((p) => p < 0 || p > 100)) {
35
- console.warn(
36
- "\u26A0\uFE0F Invalid snapPoint given, snapPoints must be between 0 and 100, equal to percent height of frame"
37
- );
38
- }
39
- }
40
- if (open && props.dismissOnSnapToBottom && position === snapPoints.length - 1) {
41
- setPositionImmediate(0);
42
- }
43
- const shouldSetPositionOpen = open && position < 0;
44
- useEffect(() => {
45
- if (shouldSetPositionOpen) {
46
- setPosition(0);
47
- }
48
- }, [setPosition, shouldSetPositionOpen]);
49
- const driver = useAnimationDriver();
50
- if (!driver) {
51
- throw new Error("Must set animations in tamagui.config.ts");
52
- }
53
- const scrollBridge = useConstant(() => ({
54
- enabled: false,
55
- y: 0,
56
- paneY: 0,
57
- paneMinY: 0,
58
- scrollStartY: -1,
59
- drag: () => {
60
- },
61
- release: () => {
62
- },
63
- scrollLock: false
64
- }));
65
- const removeScrollEnabled = props.forceRemoveScrollEnabled ?? (open && props.modal);
66
- const maxSnapPoint = snapPoints.reduce((prev, cur) => Math.max(prev, cur));
67
- const screenSize = frameSize / (maxSnapPoint / 100);
68
- const providerProps = {
69
- screenSize,
70
- maxSnapPoint,
71
- removeScrollEnabled,
72
- scrollBridge,
73
- modal: !!props.modal,
74
- open: state.open,
75
- setOpen: state.setOpen,
76
- hidden: !!state.isHidden,
77
- contentRef,
78
- frameSize,
79
- setFrameSize,
80
- dismissOnOverlayPress: props.dismissOnOverlayPress ?? true,
81
- dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? false,
82
- onOverlayComponent: options.onOverlayComponent,
83
- scope: props.__scopeSheet,
84
- position,
85
- snapPoints,
86
- setPosition,
87
- setPositionImmediate,
88
- onlyShowFrame: false
89
- };
90
- return providerProps;
91
- }
92
- export {
93
- useSheetProviderProps
94
- };
95
- //# sourceMappingURL=useSheetProviderProps.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useSheetProviderProps.tsx"],
4
- "mappings": "AAAA,SAAyB,0BAA0B;AACnD,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AACrC,OAAO,SAAS,aAAa,WAAW,SAAS,gBAAgB;AAO1D,SAAS,sBACd,OACA,OACA,UAEI,CAAC,GACL;AACA,QAAM,aAAa,MAAM,OAAuB,IAAI;AACpD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAiB,CAAC;AACpD,QAAM,iBAAiB,MAAM,cAAc,CAAC,EAAE;AAE9C,QAAM,aAAa;AAAA,IACjB,MAAO,MAAM,wBAAwB,CAAC,GAAG,gBAAgB,CAAC,IAAI;AAAA;AAAA,IAE9D,CAAC,KAAK,UAAU,cAAc,GAAG,MAAM,qBAAqB;AAAA,EAC9D;AAGA,QAAM,CAAC,WAAW,oBAAoB,IAAI,qBAAqB;AAAA,IAC7D,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM,oBAAoB,MAAM,OAAO,IAAI;AAAA,IACxD,UAAU,MAAM;AAAA,IAChB,UAAU;AAAA,IACV,YAAY;AAAA,EACd,CAAC;AAED,QAAM,WAAW,MAAM,SAAS,QAAQ,KAAK;AAE7C,QAAM,EAAE,KAAK,IAAI;AAEjB,QAAM,cAAc;AAAA,IAClB,CAAC,SAAiB;AAEhB,UAAI,MAAM,yBAAyB,SAAS,WAAW,SAAS,GAAG;AACjE,cAAM,QAAQ,KAAK;AAAA,MACrB,OAAO;AACL,6BAAqB,IAAI;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,CAAC,MAAM,uBAAuB,WAAW,QAAQ,sBAAsB,MAAM,OAAO;AAAA,EACtF;AAEA,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,WAAW,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,GAAG,GAAG;AAC5C,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,QAAQ,MAAM,yBAAyB,aAAa,WAAW,SAAS,GAAG;AAC7E,yBAAqB,CAAC;AAAA,EACxB;AAGA,QAAM,wBAAwB,QAAQ,WAAW;AACjD,YAAU,MAAM;AACd,QAAI,uBAAuB;AACzB,kBAAY,CAAC;AAAA,IACf;AAAA,EACF,GAAG,CAAC,aAAa,qBAAqB,CAAC;AAEvC,QAAM,SAAS,mBAAmB;AAClC,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,MAAM,0CAA0C;AAAA,EAC5D;AAEA,QAAM,eAAe,YAA0B,OAAO;AAAA,IACpD,SAAS;AAAA,IACT,GAAG;AAAA,IACH,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAc;AAAA,IACd,MAAM,MAAM;AAAA,IAAC;AAAA,IACb,SAAS,MAAM;AAAA,IAAC;AAAA,IAChB,YAAY;AAAA,EACd,EAAE;AAEF,QAAM,sBAAsB,MAAM,6BAA6B,QAAQ,MAAM;AAE7E,QAAM,eAAe,WAAW,OAAO,CAAC,MAAM,QAAQ,KAAK,IAAI,MAAM,GAAG,CAAC;AACzE,QAAM,aAAa,aAAa,eAAe;AAE/C,QAAM,gBAAgB;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,CAAC,CAAC,MAAM;AAAA,IACf,MAAM,MAAM;AAAA,IACZ,SAAS,MAAM;AAAA,IACf,QAAQ,CAAC,CAAC,MAAM;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA,uBAAuB,MAAM,yBAAyB;AAAA,IACtD,uBAAuB,MAAM,yBAAyB;AAAA,IACtD,oBAAoB,QAAQ;AAAA,IAC5B,OAAO,MAAM;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,EACjB;AAEA,SAAO;AACT;",
5
- "names": []
6
- }
@@ -1,53 +0,0 @@
1
- import { useEffect, useMemo } from "react";
2
- const useSheetSnapPoints = ({
3
- position,
4
- setPosition,
5
- dismissOnSnapToBottom,
6
- snapPoints,
7
- setPositionImmediate,
8
- open,
9
- frameSize
10
- }) => {
11
- if (process.env.NODE_ENV === "development") {
12
- if (snapPoints.some((p) => p < 0 || p > 100)) {
13
- console.warn(
14
- "\u26A0\uFE0F Invalid snapPoint given, snapPoints must be between 0 and 100, equal to percent height of frame"
15
- );
16
- }
17
- }
18
- if (open && dismissOnSnapToBottom && position === snapPoints.length - 1) {
19
- setPositionImmediate(0);
20
- }
21
- const shouldSetPositionOpen = open && position < 0;
22
- useEffect(() => {
23
- if (shouldSetPositionOpen) {
24
- setPosition(0);
25
- }
26
- }, [setPosition, shouldSetPositionOpen]);
27
- const maxSnapPoint = snapPoints.reduce((prev, cur) => Math.max(prev, cur));
28
- const screenSize = frameSize / (maxSnapPoint / 100);
29
- const positions = useMemo(
30
- () => snapPoints.map((point) => getPercentSize(point, screenSize)),
31
- [frameSize, snapPoints]
32
- );
33
- return {
34
- positions,
35
- maxSnapPoint,
36
- screenSize
37
- };
38
- };
39
- function getPercentSize(point, screenSize) {
40
- if (!screenSize)
41
- return 0;
42
- if (point === void 0) {
43
- console.warn("No snapPoint");
44
- return 0;
45
- }
46
- const pct = point / 100;
47
- const next = Math.round(screenSize - pct * screenSize);
48
- return next;
49
- }
50
- export {
51
- useSheetSnapPoints
52
- };
53
- //# sourceMappingURL=useSheetSnapPoints.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useSheetSnapPoints.tsx"],
4
- "mappings": "AAAA,SAAS,WAAW,eAAe;AAI5B,MAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,WAAW,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,GAAG,GAAG;AAC5C,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,QAAQ,yBAAyB,aAAa,WAAW,SAAS,GAAG;AACvE,yBAAqB,CAAC;AAAA,EACxB;AAGA,QAAM,wBAAwB,QAAQ,WAAW;AACjD,YAAU,MAAM;AACd,QAAI,uBAAuB;AACzB,kBAAY,CAAC;AAAA,IACf;AAAA,EACF,GAAG,CAAC,aAAa,qBAAqB,CAAC;AAEvC,QAAM,eAAe,WAAW,OAAO,CAAC,MAAM,QAAQ,KAAK,IAAI,MAAM,GAAG,CAAC;AACzE,QAAM,aAAa,aAAa,eAAe;AAE/C,QAAM,YAAY;AAAA,IAChB,MAAM,WAAW,IAAI,CAAC,UAAU,eAAe,OAAO,UAAU,CAAC;AAAA,IACjE,CAAC,WAAW,UAAU;AAAA,EACxB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,eAAe,OAAgB,YAAqB;AAC3D,MAAI,CAAC;AAAY,WAAO;AACxB,MAAI,UAAU,QAAW;AACvB,YAAQ,KAAK,cAAc;AAC3B,WAAO;AAAA,EACT;AACA,QAAM,MAAM,QAAQ;AACpB,QAAM,OAAO,KAAK,MAAM,aAAa,MAAM,UAAU;AAErD,SAAO;AACT;",
5
- "names": []
6
- }
@@ -1,53 +0,0 @@
1
- import { useEffect, useMemo } from "react";
2
- const useSheetSnapPoints = ({
3
- position,
4
- setPosition,
5
- dismissOnSnapToBottom,
6
- snapPoints,
7
- setPositionImmediate,
8
- open,
9
- frameSize
10
- }) => {
11
- if (process.env.NODE_ENV === "development") {
12
- if (snapPoints.some((p) => p < 0 || p > 100)) {
13
- console.warn(
14
- "\u26A0\uFE0F Invalid snapPoint given, snapPoints must be between 0 and 100, equal to percent height of frame"
15
- );
16
- }
17
- }
18
- if (open && dismissOnSnapToBottom && position === snapPoints.length - 1) {
19
- setPositionImmediate(0);
20
- }
21
- const shouldSetPositionOpen = open && position < 0;
22
- useEffect(() => {
23
- if (shouldSetPositionOpen) {
24
- setPosition(0);
25
- }
26
- }, [setPosition, shouldSetPositionOpen]);
27
- const maxSnapPoint = snapPoints.reduce((prev, cur) => Math.max(prev, cur));
28
- const screenSize = frameSize / (maxSnapPoint / 100);
29
- const positions = useMemo(
30
- () => snapPoints.map((point) => getPercentSize(point, screenSize)),
31
- [frameSize, snapPoints]
32
- );
33
- return {
34
- positions,
35
- maxSnapPoint,
36
- screenSize
37
- };
38
- };
39
- function getPercentSize(point, screenSize) {
40
- if (!screenSize)
41
- return 0;
42
- if (point === void 0) {
43
- console.warn("No snapPoint");
44
- return 0;
45
- }
46
- const pct = point / 100;
47
- const next = Math.round(screenSize - pct * screenSize);
48
- return next;
49
- }
50
- export {
51
- useSheetSnapPoints
52
- };
53
- //# sourceMappingURL=useSheetSnapPoints.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useSheetSnapPoints.tsx"],
4
- "mappings": "AAAA,SAAS,WAAW,eAAe;AAI5B,MAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,WAAW,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,GAAG,GAAG;AAC5C,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,QAAQ,yBAAyB,aAAa,WAAW,SAAS,GAAG;AACvE,yBAAqB,CAAC;AAAA,EACxB;AAGA,QAAM,wBAAwB,QAAQ,WAAW;AACjD,YAAU,MAAM;AACd,QAAI,uBAAuB;AACzB,kBAAY,CAAC;AAAA,IACf;AAAA,EACF,GAAG,CAAC,aAAa,qBAAqB,CAAC;AAEvC,QAAM,eAAe,WAAW,OAAO,CAAC,MAAM,QAAQ,KAAK,IAAI,MAAM,GAAG,CAAC;AACzE,QAAM,aAAa,aAAa,eAAe;AAE/C,QAAM,YAAY;AAAA,IAChB,MAAM,WAAW,IAAI,CAAC,UAAU,eAAe,OAAO,UAAU,CAAC;AAAA,IACjE,CAAC,WAAW,UAAU;AAAA,EACxB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,eAAe,OAAgB,YAAqB;AAC3D,MAAI,CAAC;AAAY,WAAO;AACxB,MAAI,UAAU,QAAW;AACvB,YAAQ,KAAK,cAAc;AAC3B,WAAO;AAAA,EACT;AACA,QAAM,MAAM,QAAQ;AACpB,QAAM,OAAO,KAAK,MAAM,aAAa,MAAM,UAAU;AAErD,SAAO;AACT;",
5
- "names": []
6
- }