@tamagui/sheet 1.72.2 → 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,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,46 +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
- 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
- let bottomCoverComponent = null;
26
- if (frameComponent) {
27
- bottomCoverComponent = React.cloneElement(frameComponent, {
28
- children: null,
29
- position: "absolute",
30
- bottom: -100,
31
- height: 110,
32
- left: 0,
33
- right: 0
34
- });
35
- }
36
- return {
37
- handleComponent,
38
- overlayComponent,
39
- frameComponent,
40
- bottomCoverComponent
41
- };
42
- }
43
- export {
44
- useSheetChildren
45
- };
46
- //# 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;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,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,17 +0,0 @@
1
- import { createContext, useContext } from "react";
2
- const useSheetController = () => {
3
- const controller = useContext(SheetControllerContext), isHidden = controller?.hidden, isShowingNonSheet = isHidden && controller?.open;
4
- return {
5
- controller,
6
- isHidden,
7
- isShowingNonSheet,
8
- disableDrag: controller?.disableDrag
9
- };
10
- }, SheetControllerContext = createContext(
11
- null
12
- );
13
- export {
14
- SheetControllerContext,
15
- useSheetController
16
- };
17
- //# 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,GAC9C,WAAW,YAAY,QACvB,oBAAoB,YAAY,YAAY;AAClD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,YAAY;AAAA,EAC3B;AACF,GAEa,yBAAyB;AAAA,EACpC;AACF;",
5
- "names": []
6
- }
@@ -1,27 +0,0 @@
1
- const useSheetOffscreenSize = ({
2
- snapPoints,
3
- position,
4
- screenSize,
5
- frameSize,
6
- snapPointsMode
7
- }) => {
8
- if (snapPointsMode === "fit")
9
- return 0;
10
- if (snapPointsMode === "constant") {
11
- const maxSize2 = Number(snapPoints[0]), currentSize2 = Number(snapPoints[position] ?? 0);
12
- return maxSize2 - currentSize2;
13
- }
14
- if (snapPointsMode === "percent") {
15
- const maxPercentOpened = Number(snapPoints[0]) / 100, percentOpened = Number(snapPoints[position] ?? 0) / 100;
16
- return (maxPercentOpened - percentOpened) * screenSize;
17
- }
18
- const maxSnapPoint = snapPoints[0];
19
- if (maxSnapPoint === "fit")
20
- return 0;
21
- const maxSize = typeof maxSnapPoint == "string" ? Number(maxSnapPoint.slice(0, -1)) / 100 * screenSize : maxSnapPoint, currentSnapPoint = snapPoints[position] ?? 0, currentSize = typeof currentSnapPoint == "string" ? Number(currentSnapPoint.slice(0, -1)) / 100 * screenSize : currentSnapPoint, offscreenSize = maxSize - currentSize;
22
- return Number.isNaN(offscreenSize) ? 0 : offscreenSize;
23
- };
24
- export {
25
- useSheetOffscreenSize
26
- };
27
- //# 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;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,MAAI,mBAAmB;AACrB,WAAO;AAGT,MAAI,mBAAmB,YAAY;AACjC,UAAMA,WAAU,OAAO,WAAW,CAAC,CAAC,GAC9BC,eAAc,OAAO,WAAW,QAAQ,KAAK,CAAC;AAEpD,WADsBD,WAAUC;AAAA,EAElC;AAEA,MAAI,mBAAmB,WAAW;AAChC,UAAM,mBAAmB,OAAO,WAAW,CAAC,CAAC,IAAI,KAC3C,gBAAgB,OAAO,WAAW,QAAQ,KAAK,CAAC,IAAI;AAG1D,YAFsB,mBAAmB,iBACH;AAAA,EAExC;AAGA,QAAM,eAAe,WAAW,CAAC;AACjC,MAAI,iBAAiB;AACnB,WAAO;AAGT,QAAM,UACJ,OAAO,gBAAiB,WACnB,OAAO,aAAa,MAAM,GAAG,EAAE,CAAC,IAAI,MAAO,aAC5C,cACA,mBAAmB,WAAW,QAAQ,KAAK,GAC3C,cACJ,OAAO,oBAAqB,WACvB,OAAO,iBAAiB,MAAM,GAAG,EAAE,CAAC,IAAI,MAAO,aAChD,kBACA,gBAAgB,UAAU;AAChC,SAAI,OAAO,MAAM,aAAa,IACrB,IAEF;AACT;",
5
- "names": ["maxSize", "currentSize"]
6
- }
@@ -1,23 +0,0 @@
1
- import { useControllableState } from "@tamagui/use-controllable-state";
2
- import { useSheetController } from "./useSheetController";
3
- const useSheetOpenState = (props) => {
4
- const { isHidden, controller } = useSheetController(), onOpenChangeInternal = (val) => {
5
- controller?.onOpenChange?.(val), props.onOpenChange?.(val);
6
- }, [open, setOpen] = useControllableState({
7
- prop: controller?.open ?? props.open,
8
- defaultProp: props.defaultOpen ?? !1,
9
- onChange: onOpenChangeInternal,
10
- strategy: "most-recent-wins",
11
- transition: !0
12
- });
13
- return {
14
- open,
15
- setOpen,
16
- isHidden,
17
- controller
18
- };
19
- };
20
- export {
21
- useSheetOpenState
22
- };
23
- //# 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,GAE9C,uBAAuB,CAAC,QAAiB;AAC7C,gBAAY,eAAe,GAAG,GAC9B,MAAM,eAAe,GAAG;AAAA,EAC1B,GAEM,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,90 +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), [frameSize, setFrameSize] = useState(0), [maxContentSize, setMaxContentSize] = useState(0), snapPointsMode = props.snapPointsMode ?? "percent", snapPointsProp = props.snapPoints ?? (snapPointsMode === "percent" ? [80] : snapPointsMode === "constant" ? [256] : ["fit"]), hasFit = snapPointsProp[0] === "fit", snapPoints = useMemo(
7
- () => props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp,
8
- // eslint-disable-next-line react-hooks/exhaustive-deps
9
- [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]
10
- ), [position_, setPositionImmediate] = useControllableState({
11
- prop: props.position,
12
- defaultProp: props.defaultPosition || (state.open ? 0 : -1),
13
- onChange: props.onPositionChange,
14
- strategy: "most-recent-wins",
15
- transition: !0
16
- }), position = state.open === !1 ? -1 : position_, { open } = state, setPosition = useCallback(
17
- (next) => {
18
- props.dismissOnSnapToBottom && next === snapPoints.length - 1 ? state.setOpen(!1) : setPositionImmediate(next);
19
- },
20
- [props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state.setOpen]
21
- );
22
- process.env.NODE_ENV === "development" && (snapPointsMode === "mixed" && snapPoints.some((p) => {
23
- if (typeof p == "string") {
24
- if (p === "fit")
25
- return !1;
26
- if (p.endsWith("%")) {
27
- const n = Number(p.slice(0, -1));
28
- return n < 0 || n > 100;
29
- }
30
- return !0;
31
- }
32
- return typeof p != "number" || p < 0;
33
- }) && console.warn(
34
- '\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values, string percentages between 0-100%, or "fit" when snapPointsMode is mixed'
35
- ), snapPointsMode === "mixed" && snapPoints.indexOf("fit") > 0 && console.warn(
36
- '\u26A0\uFE0F Invalid snapPoint given, "fit" must be the first/largest snap point when snapPointsMode is mixed'
37
- ), snapPointsMode === "fit" && (snapPoints.length !== (props.dismissOnSnapToBottom ? 2 : 1) || snapPoints[0] !== "fit") && console.warn(
38
- "\u26A0\uFE0F Invalid snapPoint given, there are no snap points when snapPointsMode is fit"
39
- ), snapPointsMode === "constant" && snapPoints.some((p) => typeof p != "number" || p < 0) && console.warn(
40
- "\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values when snapPointsMode is constant"
41
- ), snapPointsMode === "percent" && snapPoints.some((p) => typeof p != "number" || p < 0 || p > 100) && console.warn(
42
- "\u26A0\uFE0F Invalid snapPoint given, snapPoints must be numeric values between 0 and 100 when snapPointsMode is percent"
43
- )), open && props.dismissOnSnapToBottom && position === snapPoints.length - 1 && setPositionImmediate(0);
44
- const shouldSetPositionOpen = open && position < 0;
45
- if (useEffect(() => {
46
- shouldSetPositionOpen && setPosition(0);
47
- }, [setPosition, shouldSetPositionOpen]), !useAnimationDriver())
48
- throw new Error("Must set animations in tamagui.config.ts");
49
- const scrollBridge = useConstant(() => ({
50
- enabled: !1,
51
- y: 0,
52
- paneY: 0,
53
- paneMinY: 0,
54
- scrollStartY: -1,
55
- drag: () => {
56
- },
57
- release: () => {
58
- },
59
- scrollLock: !1
60
- })), removeScrollEnabled = props.forceRemoveScrollEnabled ?? (open && props.modal), maxSnapPoint = snapPoints[0];
61
- return {
62
- screenSize: snapPointsMode === "percent" ? frameSize / ((typeof maxSnapPoint == "number" ? maxSnapPoint : 100) / 100) : maxContentSize,
63
- maxSnapPoint,
64
- removeScrollEnabled,
65
- scrollBridge,
66
- modal: !!props.modal,
67
- open: state.open,
68
- setOpen: state.setOpen,
69
- hidden: !!state.isHidden,
70
- contentRef,
71
- frameSize,
72
- setFrameSize,
73
- dismissOnOverlayPress: props.dismissOnOverlayPress ?? !0,
74
- dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? !1,
75
- onOverlayComponent: options.onOverlayComponent,
76
- scope: props.__scopeSheet,
77
- hasFit,
78
- position,
79
- snapPoints,
80
- snapPointsMode,
81
- setMaxContentSize,
82
- setPosition,
83
- setPositionImmediate,
84
- onlyShowFrame: !1
85
- };
86
- }
87
- export {
88
- useSheetProviderProps
89
- };
90
- //# sourceMappingURL=useSheetProviderProps.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useSheetProviderProps.tsx"],
4
- "mappings": "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",
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,99 +0,0 @@
1
- import { styled } from "@tamagui/core";
2
- import { ThemeableStack, XStack, YStack } from "@tamagui/stacks";
3
- import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants";
4
- import { createSheet } from "./createSheet";
5
- import { createSheetScope } from "./SheetContext";
6
- export * from "./types";
7
- const Handle = styled(XStack, {
8
- name: SHEET_HANDLE_NAME,
9
- variants: {
10
- open: {
11
- true: {
12
- pointerEvents: "auto"
13
- },
14
- false: {
15
- opacity: 0,
16
- pointerEvents: "none"
17
- }
18
- },
19
- unstyled: {
20
- false: {
21
- height: 10,
22
- borderRadius: 100,
23
- backgroundColor: "$background",
24
- zIndex: 10,
25
- marginHorizontal: "35%",
26
- marginBottom: "$2",
27
- opacity: 0.5,
28
- hoverStyle: {
29
- opacity: 0.7
30
- }
31
- }
32
- }
33
- },
34
- defaultVariants: {
35
- unstyled: false
36
- }
37
- });
38
- const Overlay = styled(ThemeableStack, {
39
- name: SHEET_OVERLAY_NAME,
40
- variants: {
41
- open: {
42
- true: {
43
- opacity: 1,
44
- pointerEvents: "auto"
45
- },
46
- false: {
47
- opacity: 0,
48
- pointerEvents: "none"
49
- }
50
- },
51
- unstyled: {
52
- false: {
53
- fullscreen: true,
54
- position: "absolute",
55
- backgrounded: true,
56
- zIndex: 1e5 - 1
57
- }
58
- }
59
- },
60
- defaultVariants: {
61
- unstyled: false
62
- }
63
- });
64
- const Frame = styled(YStack, {
65
- name: SHEET_NAME,
66
- variants: {
67
- unstyled: {
68
- false: {
69
- flex: 1,
70
- backgroundColor: "$background",
71
- borderTopLeftRadius: "$true",
72
- borderTopRightRadius: "$true",
73
- width: "100%",
74
- maxHeight: "100%",
75
- overflow: "hidden"
76
- }
77
- }
78
- },
79
- defaultVariants: {
80
- unstyled: false
81
- }
82
- });
83
- const Sheet = createSheet({
84
- Frame,
85
- Handle,
86
- Overlay
87
- });
88
- const SheetOverlayFrame = Overlay;
89
- const SheetHandleFrame = Handle;
90
- export {
91
- Frame,
92
- Handle,
93
- Overlay,
94
- Sheet,
95
- SheetHandleFrame,
96
- SheetOverlayFrame,
97
- createSheetScope
98
- };
99
- //# sourceMappingURL=Sheet.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Sheet.tsx"],
4
- "mappings": "AAAA,SAAS,cAAc;AACvB,SAAS,gBAAgB,QAAQ,cAAc;AAE/C,SAAS,mBAAmB,YAAY,0BAA0B;AAClE,SAAS,mBAAmB;AAE5B,SAAS,wBAAwB;AACjC,cAAc;AAMP,MAAM,SAAS,OAAO,QAAQ;AAAA,EACnC,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,QACJ,eAAe;AAAA,MACjB;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,QACT,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,iBAAiB;AAAA,QACjB,QAAQ;AAAA,QACR,kBAAkB;AAAA,QAClB,cAAc;AAAA,QACd,SAAS;AAAA,QAET,YAAY;AAAA,UACV,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAMM,MAAM,UAAU,OAAO,gBAAgB;AAAA,EAC5C,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,eAAe;AAAA,MACjB;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,QACT,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,cAAc;AAAA,QACd,QAAQ,MAAU;AAAA,MACpB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAMM,MAAM,QAAQ,OAAO,QAAQ;AAAA,EAClC,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,MAAM;AAAA,QACN,iBAAiB;AAAA,QACjB,qBAAqB;AAAA,QACrB,sBAAsB;AAAA,QACtB,OAAO;AAAA,QACP,WAAW;AAAA,QACX,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAEM,MAAM,QAAQ,YAAY;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,MAAM,oBAAoB;AAG1B,MAAM,mBAAmB;",
5
- "names": []
6
- }
@@ -1,14 +0,0 @@
1
- import { createContextScope } from "@tamagui/create-context";
2
- import { SHEET_NAME } from "./constants";
3
- const [createSheetContext, createSheetScope] = createContextScope(SHEET_NAME);
4
- const [SheetProvider, useSheetContext] = createSheetContext(
5
- SHEET_NAME,
6
- {}
7
- );
8
- export {
9
- SheetProvider,
10
- createSheetContext,
11
- createSheetScope,
12
- useSheetContext
13
- };
14
- //# sourceMappingURL=SheetContext.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/SheetContext.tsx"],
4
- "mappings": "AAAA,SAAS,0BAA0B;AAEnC,SAAS,kBAAkB;AAGpB,MAAM,CAAC,oBAAoB,gBAAgB,IAAI,mBAAmB,UAAU;AAE5E,MAAM,CAAC,eAAe,eAAe,IAAI;AAAA,EAC9C;AAAA,EACA,CAAC;AACH;",
5
- "names": []
6
- }
@@ -1,24 +0,0 @@
1
- import { useEvent } from "@tamagui/core";
2
- import { useMemo } from "react";
3
- import { SheetControllerContext } from "./useSheetController";
4
- const SheetController = ({
5
- children,
6
- onOpenChange: onOpenChangeProp,
7
- ...value
8
- }) => {
9
- const onOpenChange = useEvent(onOpenChangeProp);
10
- const memoValue = useMemo(
11
- () => ({
12
- open: value.open,
13
- hidden: value.hidden,
14
- disableDrag: value.disableDrag,
15
- onOpenChange
16
- }),
17
- [onOpenChange, value.open, value.hidden, value.disableDrag]
18
- );
19
- return <SheetControllerContext.Provider value={memoValue}>{children}</SheetControllerContext.Provider>;
20
- };
21
- export {
22
- SheetController
23
- };
24
- //# sourceMappingURL=SheetController.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/SheetController.tsx"],
4
- "mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAgB,eAAe;AAE/B,SAAS,8BAA2D;AAE7D,MAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA,cAAc;AAAA,EACd,GAAG;AACL,MAA6E;AAC3E,QAAM,eAAe,SAAS,gBAAgB;AAE9C,QAAM,YAAY;AAAA,IAChB,OAAO;AAAA,MACL,MAAM,MAAM;AAAA,MACZ,QAAQ,MAAM;AAAA,MACd,aAAa,MAAM;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,cAAc,MAAM,MAAM,MAAM,QAAQ,MAAM,WAAW;AAAA,EAC5D;AAEA,SACE,CAAC,uBAAuB,SAAS,OAAO,YACrC,SACH,EAFC,uBAAuB;AAI5B;",
5
- "names": []
6
- }