@tamagui/sheet 1.20.7 → 1.21.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 (144) hide show
  1. package/dist/cjs/Sheet.js +75 -187
  2. package/dist/cjs/Sheet.js.map +2 -2
  3. package/dist/cjs/SheetController.js +49 -0
  4. package/dist/cjs/SheetController.js.map +6 -0
  5. package/dist/cjs/getNativeSheet.js +39 -0
  6. package/dist/cjs/getNativeSheet.js.map +6 -0
  7. package/dist/cjs/index.js +14 -1
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/native-ios.js +5 -0
  10. package/dist/cjs/native-ios.js.map +6 -0
  11. package/dist/cjs/nativeSheet.js +58 -0
  12. package/dist/cjs/nativeSheet.js.map +6 -0
  13. package/dist/cjs/useSheetChildren.js +68 -0
  14. package/dist/cjs/useSheetChildren.js.map +6 -0
  15. package/dist/cjs/useSheetContoller.js +44 -0
  16. package/dist/cjs/useSheetContoller.js.map +6 -0
  17. package/dist/cjs/useSheetController.js +44 -0
  18. package/dist/cjs/useSheetController.js.map +6 -0
  19. package/dist/cjs/useSheetOpenState.js +51 -0
  20. package/dist/cjs/useSheetOpenState.js.map +6 -0
  21. package/dist/cjs/useSheetProviderProps.js +98 -0
  22. package/dist/cjs/useSheetProviderProps.js.map +6 -0
  23. package/dist/esm/Sheet.js +77 -178
  24. package/dist/esm/Sheet.js.map +2 -2
  25. package/dist/esm/Sheet.mjs +77 -178
  26. package/dist/esm/Sheet.mjs.map +2 -2
  27. package/dist/esm/SheetController.js +25 -0
  28. package/dist/esm/SheetController.js.map +6 -0
  29. package/dist/esm/SheetController.mjs +25 -0
  30. package/dist/esm/SheetController.mjs.map +6 -0
  31. package/dist/esm/getNativeSheet.js +14 -0
  32. package/dist/esm/getNativeSheet.js.map +6 -0
  33. package/dist/esm/getNativeSheet.mjs +14 -0
  34. package/dist/esm/getNativeSheet.mjs.map +6 -0
  35. package/dist/esm/index.js +6 -0
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/index.mjs +6 -0
  38. package/dist/esm/index.mjs.map +1 -1
  39. package/dist/esm/native-ios.js +4 -0
  40. package/dist/esm/native-ios.js.map +6 -0
  41. package/dist/esm/native-ios.mjs +4 -0
  42. package/dist/esm/native-ios.mjs.map +6 -0
  43. package/dist/esm/nativeSheet.js +33 -0
  44. package/dist/esm/nativeSheet.js.map +6 -0
  45. package/dist/esm/nativeSheet.mjs +33 -0
  46. package/dist/esm/nativeSheet.mjs.map +6 -0
  47. package/dist/esm/useSheetChildren.js +34 -0
  48. package/dist/esm/useSheetChildren.js.map +6 -0
  49. package/dist/esm/useSheetChildren.mjs +34 -0
  50. package/dist/esm/useSheetChildren.mjs.map +6 -0
  51. package/dist/esm/useSheetContoller.js +19 -0
  52. package/dist/esm/useSheetContoller.js.map +6 -0
  53. package/dist/esm/useSheetContoller.mjs +19 -0
  54. package/dist/esm/useSheetContoller.mjs.map +6 -0
  55. package/dist/esm/useSheetController.js +19 -0
  56. package/dist/esm/useSheetController.js.map +6 -0
  57. package/dist/esm/useSheetController.mjs +19 -0
  58. package/dist/esm/useSheetController.mjs.map +6 -0
  59. package/dist/esm/useSheetOpenState.js +27 -0
  60. package/dist/esm/useSheetOpenState.js.map +6 -0
  61. package/dist/esm/useSheetOpenState.mjs +27 -0
  62. package/dist/esm/useSheetOpenState.mjs.map +6 -0
  63. package/dist/esm/useSheetProviderProps.js +64 -0
  64. package/dist/esm/useSheetProviderProps.js.map +6 -0
  65. package/dist/esm/useSheetProviderProps.mjs +64 -0
  66. package/dist/esm/useSheetProviderProps.mjs.map +6 -0
  67. package/dist/jsx/Sheet.js +42 -137
  68. package/dist/jsx/Sheet.js.map +2 -2
  69. package/dist/jsx/Sheet.mjs +42 -137
  70. package/dist/jsx/Sheet.mjs.map +2 -2
  71. package/dist/jsx/SheetController.js +24 -0
  72. package/dist/jsx/SheetController.js.map +6 -0
  73. package/dist/jsx/SheetController.mjs +24 -0
  74. package/dist/jsx/SheetController.mjs.map +6 -0
  75. package/dist/jsx/getNativeSheet.js +14 -0
  76. package/dist/jsx/getNativeSheet.js.map +6 -0
  77. package/dist/jsx/getNativeSheet.mjs +14 -0
  78. package/dist/jsx/getNativeSheet.mjs.map +6 -0
  79. package/dist/jsx/index.js +6 -0
  80. package/dist/jsx/index.js.map +1 -1
  81. package/dist/jsx/index.mjs +6 -0
  82. package/dist/jsx/index.mjs.map +1 -1
  83. package/dist/jsx/native-ios.js +4 -0
  84. package/dist/jsx/native-ios.js.map +6 -0
  85. package/dist/jsx/native-ios.mjs +4 -0
  86. package/dist/jsx/native-ios.mjs.map +6 -0
  87. package/dist/jsx/nativeSheet.js +31 -0
  88. package/dist/jsx/nativeSheet.js.map +6 -0
  89. package/dist/jsx/nativeSheet.mjs +31 -0
  90. package/dist/jsx/nativeSheet.mjs.map +6 -0
  91. package/dist/jsx/useSheetChildren.js +33 -0
  92. package/dist/jsx/useSheetChildren.js.map +6 -0
  93. package/dist/jsx/useSheetChildren.mjs +33 -0
  94. package/dist/jsx/useSheetChildren.mjs.map +6 -0
  95. package/dist/jsx/useSheetContoller.js +19 -0
  96. package/dist/jsx/useSheetContoller.js.map +6 -0
  97. package/dist/jsx/useSheetContoller.mjs +19 -0
  98. package/dist/jsx/useSheetContoller.mjs.map +6 -0
  99. package/dist/jsx/useSheetController.js +19 -0
  100. package/dist/jsx/useSheetController.js.map +6 -0
  101. package/dist/jsx/useSheetController.mjs +19 -0
  102. package/dist/jsx/useSheetController.mjs.map +6 -0
  103. package/dist/jsx/useSheetOpenState.js +26 -0
  104. package/dist/jsx/useSheetOpenState.js.map +6 -0
  105. package/dist/jsx/useSheetOpenState.mjs +26 -0
  106. package/dist/jsx/useSheetOpenState.mjs.map +6 -0
  107. package/dist/jsx/useSheetProviderProps.js +64 -0
  108. package/dist/jsx/useSheetProviderProps.js.map +6 -0
  109. package/dist/jsx/useSheetProviderProps.mjs +64 -0
  110. package/dist/jsx/useSheetProviderProps.mjs.map +6 -0
  111. package/package.json +14 -14
  112. package/src/Sheet.tsx +44 -159
  113. package/src/SheetController.tsx +28 -0
  114. package/src/index.ts +3 -0
  115. package/src/nativeSheet.tsx +42 -0
  116. package/src/types.tsx +6 -0
  117. package/src/useSheetChildren.tsx +33 -0
  118. package/src/useSheetController.tsx +24 -0
  119. package/src/useSheetOpenState.tsx +30 -0
  120. package/src/useSheetProviderProps.tsx +71 -0
  121. package/types/Sheet.d.ts +7 -15
  122. package/types/Sheet.d.ts.map +1 -1
  123. package/types/SheetController.d.ts +6 -0
  124. package/types/SheetController.d.ts.map +1 -0
  125. package/types/getNativeSheet.d.ts +3 -0
  126. package/types/getNativeSheet.d.ts.map +1 -0
  127. package/types/index.d.ts +3 -0
  128. package/types/index.d.ts.map +1 -1
  129. package/types/native-ios.d.ts +2 -0
  130. package/types/native-ios.d.ts.map +1 -0
  131. package/types/nativeSheet.d.ts +7 -0
  132. package/types/nativeSheet.d.ts.map +1 -0
  133. package/types/types.d.ts +4 -0
  134. package/types/types.d.ts.map +1 -1
  135. package/types/useSheetChildren.d.ts +6 -0
  136. package/types/useSheetChildren.d.ts.map +1 -0
  137. package/types/useSheetContoller.d.ts +14 -0
  138. package/types/useSheetContoller.d.ts.map +1 -0
  139. package/types/useSheetController.d.ts +14 -0
  140. package/types/useSheetController.d.ts.map +1 -0
  141. package/types/useSheetOpenState.d.ts +10 -0
  142. package/types/useSheetOpenState.d.ts.map +1 -0
  143. package/types/useSheetProviderProps.d.ts +22 -0
  144. package/types/useSheetProviderProps.d.ts.map +1 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/nativeSheet.tsx"],
4
+ "mappings": "AAoCU;AApCV,SAA4B,WAAW,cAAc;AAErD,SAAS,qBAAqB;AAE9B,SAAS,wBAAwB;AACjC,SAAS,yBAAyB;AAClC,SAAS,6BAA6B;AAItC,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;AACxD,YAAM,EAAE,eAAe,IAAI,iBAAiB,MAAM,QAAQ;AAE1D,YAAM,EAAE,MAAM,QAAQ,IAAI;AAC1B,YAAM,MAAM,OAET;AAEH,gBAAU,MAAM;AA9BtB;AA+BQ,kBAAI,YAAJ,mBAAa,cAAc;AAAA,MAC7B,GAAG,CAAC,IAAI,CAAC;AAET,aACE,oBAAC,kBAAe,KAAU,gBAAgB,MAAM,QAAQ,KAAK,GAC3D,8BAAC,iBAAe,GAAG,eAAgB,0BAAe,GACpD;AAAA,IAEJ;AAAA,EACF;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,34 @@
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
+ var _a, _b;
8
+ if (isValidElement(child)) {
9
+ const name = (_b = (_a = child.type) == null ? void 0 : _a["staticConfig"]) == null ? void 0 : _b.componentName;
10
+ switch (name) {
11
+ case "SheetHandle":
12
+ handleComponent = child;
13
+ break;
14
+ case "Sheet":
15
+ frameComponent = child;
16
+ break;
17
+ case "SheetOverlay":
18
+ overlayComponent = child;
19
+ break;
20
+ default:
21
+ console.warn("Warning: passed invalid child to Sheet", child);
22
+ }
23
+ }
24
+ });
25
+ return {
26
+ handleComponent,
27
+ overlayComponent,
28
+ frameComponent
29
+ };
30
+ }
31
+ export {
32
+ useSheetChildren
33
+ };
34
+ //# sourceMappingURL=useSheetChildren.js.map
@@ -0,0 +1,6 @@
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;AARlD;AASI,QAAI,eAAe,KAAK,GAAG;AACzB,YAAM,QAAO,iBAAM,SAAN,mBAAa,oBAAb,mBAA8B;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,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,34 @@
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
+ var _a, _b;
8
+ if (isValidElement(child)) {
9
+ const name = (_b = (_a = child.type) == null ? void 0 : _a["staticConfig"]) == null ? void 0 : _b.componentName;
10
+ switch (name) {
11
+ case "SheetHandle":
12
+ handleComponent = child;
13
+ break;
14
+ case "Sheet":
15
+ frameComponent = child;
16
+ break;
17
+ case "SheetOverlay":
18
+ overlayComponent = child;
19
+ break;
20
+ default:
21
+ console.warn("Warning: passed invalid child to Sheet", child);
22
+ }
23
+ }
24
+ });
25
+ return {
26
+ handleComponent,
27
+ overlayComponent,
28
+ frameComponent
29
+ };
30
+ }
31
+ export {
32
+ useSheetChildren
33
+ };
34
+ //# sourceMappingURL=useSheetChildren.mjs.map
@@ -0,0 +1,6 @@
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;AARlD;AASI,QAAI,eAAe,KAAK,GAAG;AACzB,YAAM,QAAO,iBAAM,SAAN,mBAAa,oBAAb,mBAA8B;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,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,19 @@
1
+ import { createContext, useContext } from "react";
2
+ const useSheetContoller = () => {
3
+ const controller = useContext(SheetControllerContext);
4
+ const isHidden = controller == null ? void 0 : controller.hidden;
5
+ const isShowingNonSheet = isHidden && (controller == null ? void 0 : controller.open);
6
+ return {
7
+ controller,
8
+ isHidden,
9
+ isShowingNonSheet
10
+ };
11
+ };
12
+ const SheetControllerContext = createContext(
13
+ null
14
+ );
15
+ export {
16
+ SheetControllerContext,
17
+ useSheetContoller
18
+ };
19
+ //# sourceMappingURL=useSheetContoller.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/useSheetContoller.tsx"],
4
+ "mappings": "AAAA,SAAS,eAAe,kBAAkB;AAEnC,MAAM,oBAAoB,MAAM;AACrC,QAAM,aAAa,WAAW,sBAAsB;AACpD,QAAM,WAAW,yCAAY;AAC7B,QAAM,oBAAoB,aAAY,yCAAY;AAClD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,MAAM,yBAAyB;AAAA,EACpC;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,19 @@
1
+ import { createContext, useContext } from "react";
2
+ const useSheetContoller = () => {
3
+ const controller = useContext(SheetControllerContext);
4
+ const isHidden = controller == null ? void 0 : controller.hidden;
5
+ const isShowingNonSheet = isHidden && (controller == null ? void 0 : controller.open);
6
+ return {
7
+ controller,
8
+ isHidden,
9
+ isShowingNonSheet
10
+ };
11
+ };
12
+ const SheetControllerContext = createContext(
13
+ null
14
+ );
15
+ export {
16
+ SheetControllerContext,
17
+ useSheetContoller
18
+ };
19
+ //# sourceMappingURL=useSheetContoller.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/useSheetContoller.tsx"],
4
+ "mappings": "AAAA,SAAS,eAAe,kBAAkB;AAEnC,MAAM,oBAAoB,MAAM;AACrC,QAAM,aAAa,WAAW,sBAAsB;AACpD,QAAM,WAAW,yCAAY;AAC7B,QAAM,oBAAoB,aAAY,yCAAY;AAClD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,MAAM,yBAAyB;AAAA,EACpC;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,19 @@
1
+ import { createContext, useContext } from "react";
2
+ const useSheetController = () => {
3
+ const controller = useContext(SheetControllerContext);
4
+ const isHidden = controller == null ? void 0 : controller.hidden;
5
+ const isShowingNonSheet = isHidden && (controller == null ? void 0 : controller.open);
6
+ return {
7
+ controller,
8
+ isHidden,
9
+ isShowingNonSheet
10
+ };
11
+ };
12
+ const SheetControllerContext = createContext(
13
+ null
14
+ );
15
+ export {
16
+ SheetControllerContext,
17
+ useSheetController
18
+ };
19
+ //# sourceMappingURL=useSheetController.js.map
@@ -0,0 +1,6 @@
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,yCAAY;AAC7B,QAAM,oBAAoB,aAAY,yCAAY;AAClD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,MAAM,yBAAyB;AAAA,EACpC;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,19 @@
1
+ import { createContext, useContext } from "react";
2
+ const useSheetController = () => {
3
+ const controller = useContext(SheetControllerContext);
4
+ const isHidden = controller == null ? void 0 : controller.hidden;
5
+ const isShowingNonSheet = isHidden && (controller == null ? void 0 : controller.open);
6
+ return {
7
+ controller,
8
+ isHidden,
9
+ isShowingNonSheet
10
+ };
11
+ };
12
+ const SheetControllerContext = createContext(
13
+ null
14
+ );
15
+ export {
16
+ SheetControllerContext,
17
+ useSheetController
18
+ };
19
+ //# sourceMappingURL=useSheetController.mjs.map
@@ -0,0 +1,6 @@
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,yCAAY;AAC7B,QAAM,oBAAoB,aAAY,yCAAY;AAClD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,MAAM,yBAAyB;AAAA,EACpC;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,27 @@
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
+ var _a, _b;
7
+ (_a = controller == null ? void 0 : controller.onOpenChange) == null ? void 0 : _a.call(controller, val);
8
+ (_b = props.onOpenChange) == null ? void 0 : _b.call(props, val);
9
+ };
10
+ const [open, setOpen] = useControllableState({
11
+ prop: (controller == null ? void 0 : controller.open) ?? props.open,
12
+ defaultProp: props.defaultOpen ?? false,
13
+ onChange: onOpenChangeInternal,
14
+ strategy: "most-recent-wins",
15
+ transition: true
16
+ });
17
+ return {
18
+ open,
19
+ setOpen,
20
+ isHidden,
21
+ controller
22
+ };
23
+ };
24
+ export {
25
+ useSheetOpenState
26
+ };
27
+ //# sourceMappingURL=useSheetOpenState.js.map
@@ -0,0 +1,6 @@
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;AARjD;AASI,mDAAY,iBAAZ,oCAA2B;AAC3B,gBAAM,iBAAN,+BAAqB;AAAA,EACvB;AAEA,QAAM,CAAC,MAAM,OAAO,IAAI,qBAAqB;AAAA,IAC3C,OAAM,yCAAY,SAAQ,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
+ }
@@ -0,0 +1,27 @@
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
+ var _a, _b;
7
+ (_a = controller == null ? void 0 : controller.onOpenChange) == null ? void 0 : _a.call(controller, val);
8
+ (_b = props.onOpenChange) == null ? void 0 : _b.call(props, val);
9
+ };
10
+ const [open, setOpen] = useControllableState({
11
+ prop: (controller == null ? void 0 : controller.open) ?? props.open,
12
+ defaultProp: props.defaultOpen ?? false,
13
+ onChange: onOpenChangeInternal,
14
+ strategy: "most-recent-wins",
15
+ transition: true
16
+ });
17
+ return {
18
+ open,
19
+ setOpen,
20
+ isHidden,
21
+ controller
22
+ };
23
+ };
24
+ export {
25
+ useSheetOpenState
26
+ };
27
+ //# sourceMappingURL=useSheetOpenState.mjs.map
@@ -0,0 +1,6 @@
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;AARjD;AASI,mDAAY,iBAAZ,oCAA2B;AAC3B,gBAAM,iBAAN,+BAAqB;AAAA,EACvB;AAEA,QAAM,CAAC,MAAM,OAAO,IAAI,qBAAqB;AAAA,IAC3C,OAAM,yCAAY,SAAQ,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
+ }
@@ -0,0 +1,64 @@
1
+ import { useConstant } from "@tamagui/use-constant";
2
+ import { useControllableState } from "@tamagui/use-controllable-state";
3
+ import React, { useCallback, useMemo, useState } from "react";
4
+ function useSheetProviderProps(props, state) {
5
+ const contentRef = React.useRef(null);
6
+ const [frameSize, setFrameSize] = useState(0);
7
+ const snapPointsProp = props.snapPoints || [80];
8
+ const snapPoints = useMemo(
9
+ () => props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp,
10
+ // eslint-disable-next-line react-hooks/exhaustive-deps
11
+ [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]
12
+ );
13
+ const [position_, setPositionImmediate] = useControllableState({
14
+ prop: props.position,
15
+ defaultProp: props.defaultPosition || (state.open ? 0 : -1),
16
+ onChange: props.onPositionChange,
17
+ strategy: "most-recent-wins",
18
+ transition: true
19
+ });
20
+ const position = state.open === false ? -1 : position_;
21
+ const setPosition = useCallback(
22
+ (next) => {
23
+ if (props.dismissOnSnapToBottom && next === snapPoints.length - 1) {
24
+ state.setOpen(false);
25
+ } else {
26
+ setPositionImmediate(next);
27
+ }
28
+ },
29
+ [props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state.setOpen]
30
+ );
31
+ const scrollBridge = useConstant(() => ({
32
+ enabled: false,
33
+ y: 0,
34
+ paneY: 0,
35
+ paneMinY: 0,
36
+ scrollStartY: -1,
37
+ drag: () => {
38
+ },
39
+ release: () => {
40
+ },
41
+ scrollLock: false
42
+ }));
43
+ return {
44
+ modal: !!props.modal,
45
+ open: state.open,
46
+ setOpen: state.setOpen,
47
+ hidden: !!state.isHidden,
48
+ contentRef,
49
+ frameSize,
50
+ setFrameSize,
51
+ dismissOnOverlayPress: props.dismissOnOverlayPress ?? true,
52
+ dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? false,
53
+ scope: props.__scopeSheet,
54
+ position,
55
+ snapPoints,
56
+ setPosition,
57
+ setPositionImmediate,
58
+ scrollBridge
59
+ };
60
+ }
61
+ export {
62
+ useSheetProviderProps
63
+ };
64
+ //# sourceMappingURL=useSheetProviderProps.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/useSheetProviderProps.tsx"],
4
+ "mappings": "AACA,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AACrC,OAAO,SAAS,aAAa,SAAS,gBAAgB;AAK/C,SAAS,sBAAsB,OAAmB,OAAuB;AAC9E,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,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,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,SAAO;AAAA,IACL,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,OAAO,MAAM;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,64 @@
1
+ import { useConstant } from "@tamagui/use-constant";
2
+ import { useControllableState } from "@tamagui/use-controllable-state";
3
+ import React, { useCallback, useMemo, useState } from "react";
4
+ function useSheetProviderProps(props, state) {
5
+ const contentRef = React.useRef(null);
6
+ const [frameSize, setFrameSize] = useState(0);
7
+ const snapPointsProp = props.snapPoints || [80];
8
+ const snapPoints = useMemo(
9
+ () => props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp,
10
+ // eslint-disable-next-line react-hooks/exhaustive-deps
11
+ [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]
12
+ );
13
+ const [position_, setPositionImmediate] = useControllableState({
14
+ prop: props.position,
15
+ defaultProp: props.defaultPosition || (state.open ? 0 : -1),
16
+ onChange: props.onPositionChange,
17
+ strategy: "most-recent-wins",
18
+ transition: true
19
+ });
20
+ const position = state.open === false ? -1 : position_;
21
+ const setPosition = useCallback(
22
+ (next) => {
23
+ if (props.dismissOnSnapToBottom && next === snapPoints.length - 1) {
24
+ state.setOpen(false);
25
+ } else {
26
+ setPositionImmediate(next);
27
+ }
28
+ },
29
+ [props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state.setOpen]
30
+ );
31
+ const scrollBridge = useConstant(() => ({
32
+ enabled: false,
33
+ y: 0,
34
+ paneY: 0,
35
+ paneMinY: 0,
36
+ scrollStartY: -1,
37
+ drag: () => {
38
+ },
39
+ release: () => {
40
+ },
41
+ scrollLock: false
42
+ }));
43
+ return {
44
+ modal: !!props.modal,
45
+ open: state.open,
46
+ setOpen: state.setOpen,
47
+ hidden: !!state.isHidden,
48
+ contentRef,
49
+ frameSize,
50
+ setFrameSize,
51
+ dismissOnOverlayPress: props.dismissOnOverlayPress ?? true,
52
+ dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? false,
53
+ scope: props.__scopeSheet,
54
+ position,
55
+ snapPoints,
56
+ setPosition,
57
+ setPositionImmediate,
58
+ scrollBridge
59
+ };
60
+ }
61
+ export {
62
+ useSheetProviderProps
63
+ };
64
+ //# sourceMappingURL=useSheetProviderProps.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/useSheetProviderProps.tsx"],
4
+ "mappings": "AACA,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AACrC,OAAO,SAAS,aAAa,SAAS,gBAAgB;AAK/C,SAAS,sBAAsB,OAAmB,OAAuB;AAC9E,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,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,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,SAAO;AAAA,IACL,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,OAAO,MAAM;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
+ "names": []
6
+ }