@tamagui/sheet 1.27.3 → 1.28.1

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.
@@ -90,6 +90,7 @@ function createSheet({ Handle, Frame, Overlay }) {
90
90
  return null;
91
91
  }
92
92
  );
93
+ const SHEET_COVER_NAME = `${import_constants.SHEET_NAME}Cover`;
93
94
  const SheetFrame = Frame.extractable(
94
95
  (0, import_react.forwardRef)(
95
96
  ({
@@ -114,10 +115,11 @@ function createSheet({ Handle, Frame, Overlay }) {
114
115
  !props.disableHideBottomOverflow && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
115
116
  Frame,
116
117
  {
118
+ componentName: SHEET_COVER_NAME,
117
119
  ...props,
118
120
  children: null,
119
121
  position: "absolute",
120
- bottom: 0,
122
+ bottom: -20,
121
123
  maxHeight: 300,
122
124
  left: 0,
123
125
  right: 0,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createSheet.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Sheet"]
6
6
  }
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var useSheetChildren_exports = {};
30
+ __export(useSheetChildren_exports, {
31
+ useSheetChildren: () => useSheetChildren
32
+ });
33
+ module.exports = __toCommonJS(useSheetChildren_exports);
34
+ var import_react = __toESM(require("react"));
35
+ function useSheetChildren(childrenProp) {
36
+ let handleComponent = null;
37
+ let overlayComponent = null;
38
+ let frameComponent = null;
39
+ import_react.default.Children.forEach(childrenProp, (child) => {
40
+ var _a, _b;
41
+ if ((0, import_react.isValidElement)(child)) {
42
+ const name = (_b = (_a = child.type) == null ? void 0 : _a["staticConfig"]) == null ? void 0 : _b.componentName;
43
+ switch (name) {
44
+ case "SheetHandle":
45
+ handleComponent = child;
46
+ break;
47
+ case "Sheet":
48
+ frameComponent = child;
49
+ break;
50
+ case "SheetOverlay":
51
+ overlayComponent = child;
52
+ break;
53
+ default:
54
+ console.warn("Warning: passed invalid child to Sheet", child);
55
+ }
56
+ }
57
+ });
58
+ let bottomCoverComponent = null;
59
+ if (frameComponent) {
60
+ bottomCoverComponent = import_react.default.cloneElement(frameComponent, {
61
+ children: null,
62
+ position: "absolute",
63
+ bottom: -100,
64
+ height: 110,
65
+ left: 0,
66
+ right: 0
67
+ });
68
+ }
69
+ return {
70
+ handleComponent,
71
+ overlayComponent,
72
+ frameComponent,
73
+ bottomCoverComponent
74
+ };
75
+ }
76
+ // Annotate the CommonJS export names for ESM import in node:
77
+ 0 && (module.exports = {
78
+ useSheetChildren
79
+ });
80
+ //# sourceMappingURL=useSheetChildren.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/useSheetChildren.tsx"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsC;AAE/B,SAAS,iBAAiB,cAAmB;AAClD,MAAI,kBAA6C;AACjD,MAAI,mBAA8C;AAClD,MAAI,iBAA4C;AAGhD,eAAAA,QAAM,SAAS,QAAQ,cAAc,CAAC,UAAU;AARlD;AASI,YAAI,6BAAe,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,aAAAA,QAAM,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": ["React"]
6
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var useSheetSnapPoints_exports = {};
20
+ __export(useSheetSnapPoints_exports, {
21
+ useSheetSnapPoints: () => useSheetSnapPoints
22
+ });
23
+ module.exports = __toCommonJS(useSheetSnapPoints_exports);
24
+ var import_react = require("react");
25
+ const useSheetSnapPoints = ({
26
+ position,
27
+ setPosition,
28
+ dismissOnSnapToBottom,
29
+ snapPoints,
30
+ setPositionImmediate,
31
+ open,
32
+ frameSize
33
+ }) => {
34
+ if (process.env.NODE_ENV === "development") {
35
+ if (snapPoints.some((p) => p < 0 || p > 100)) {
36
+ console.warn(
37
+ "\u26A0\uFE0F Invalid snapPoint given, snapPoints must be between 0 and 100, equal to percent height of frame"
38
+ );
39
+ }
40
+ }
41
+ if (open && dismissOnSnapToBottom && position === snapPoints.length - 1) {
42
+ setPositionImmediate(0);
43
+ }
44
+ const shouldSetPositionOpen = open && position < 0;
45
+ (0, import_react.useEffect)(() => {
46
+ if (shouldSetPositionOpen) {
47
+ setPosition(0);
48
+ }
49
+ }, [setPosition, shouldSetPositionOpen]);
50
+ const maxSnapPoint = snapPoints.reduce((prev, cur) => Math.max(prev, cur));
51
+ const screenSize = frameSize / (maxSnapPoint / 100);
52
+ const positions = (0, import_react.useMemo)(
53
+ () => snapPoints.map((point) => getPercentSize(point, screenSize)),
54
+ [frameSize, snapPoints]
55
+ );
56
+ return {
57
+ positions,
58
+ maxSnapPoint,
59
+ screenSize
60
+ };
61
+ };
62
+ function getPercentSize(point, screenSize) {
63
+ if (!screenSize)
64
+ return 0;
65
+ if (point === void 0) {
66
+ console.warn("No snapPoint");
67
+ return 0;
68
+ }
69
+ const pct = point / 100;
70
+ const next = Math.round(screenSize - pct * screenSize);
71
+ return next;
72
+ }
73
+ // Annotate the CommonJS export names for ESM import in node:
74
+ 0 && (module.exports = {
75
+ useSheetSnapPoints
76
+ });
77
+ //# sourceMappingURL=useSheetSnapPoints.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/useSheetSnapPoints.tsx"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;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,8BAAU,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,gBAAY;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
+ }
@@ -75,6 +75,7 @@ function createSheet({ Handle, Frame, Overlay }) {
75
75
  return null;
76
76
  }
77
77
  );
78
+ const SHEET_COVER_NAME = `${SHEET_NAME}Cover`;
78
79
  const SheetFrame = Frame.extractable(
79
80
  forwardRef(
80
81
  ({
@@ -99,10 +100,11 @@ function createSheet({ Handle, Frame, Overlay }) {
99
100
  !props.disableHideBottomOverflow && /* @__PURE__ */ jsx(
100
101
  Frame,
101
102
  {
103
+ componentName: SHEET_COVER_NAME,
102
104
  ...props,
103
105
  children: null,
104
106
  position: "absolute",
105
- bottom: 0,
107
+ bottom: -20,
106
108
  maxHeight: 300,
107
109
  left: 0,
108
110
  right: 0,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createSheet.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Sheet"]
6
6
  }
@@ -0,0 +1,46 @@
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
@@ -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,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
+ }
@@ -0,0 +1,53 @@
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
@@ -0,0 +1,6 @@
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
+ }
@@ -67,6 +67,7 @@ function createSheet({ Handle, Frame, Overlay }) {
67
67
  return null;
68
68
  }
69
69
  );
70
+ const SHEET_COVER_NAME = `${SHEET_NAME}Cover`;
70
71
  const SheetFrame = Frame.extractable(
71
72
  forwardRef(
72
73
  ({
@@ -88,10 +89,11 @@ function createSheet({ Handle, Frame, Overlay }) {
88
89
  /* below frame hide when bouncing past 100% */
89
90
  }
90
91
  {!props.disableHideBottomOverflow && <Frame
92
+ componentName={SHEET_COVER_NAME}
91
93
  {...props}
92
94
  children={null}
93
95
  position="absolute"
94
- bottom={0}
96
+ bottom={-20}
95
97
  maxHeight={300}
96
98
  left={0}
97
99
  right={0}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createSheet.tsx"],
4
- "mappings": "AAAA,SAAS,uBAAuB;AAChC;AAAA,EAIE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,oBAAoB;AAC7B;AAAA,EAGE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,gBAAsB;AAE/B,SAAS,mBAAmB,YAAY,0BAA0B;AAClE,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,iCAAiC;AAC1C,SAAS,uBAAuB;AAEhC,SAAS,0BAA0B;AAc5B,SAAS,YAAY,EAAE,QAAQ,OAAO,QAAQ,GAAqB;AACxE,QAAM,cAAc,OAAO;AAAA,IACzB,CAAC,EAAE,cAAc,GAAG,MAAM,MAAiD;AACzE,YAAM,UAAU,gBAAgB,mBAAmB,YAAY;AAE/D,UAAI,QAAQ,eAAe;AACzB,eAAO;AAAA,MACT;AAEA,aACE,CAAC;AAAA,QACC,SAAS,MAAM;AAEb,gBAAM,MACJ,QAAQ,WAAW,UAAU,QAAQ,wBAAwB,KAAK;AACpE,gBAAM,WAAW,QAAQ,WAAW,KAAK;AACzC,kBAAQ,YAAY,OAAO;AAAA,QAC7B;AAAA,QACA,MAAM,QAAQ;AAAA,YACV;AAAA,MACN;AAAA,IAEJ;AAAA,EACF;AAMA,QAAM,eAAe,QAAQ;AAAA,IAC3B,CAAC,YAAwD;AACvD,YAAM,EAAE,cAAc,GAAG,MAAM,IAAI;AACnC,YAAM,UAAU,gBAAgB,oBAAoB,YAAY;AAKhE,YAAM,UAAU;AAAA,QACd,MACE,CAAC;AAAA,UACC,MAAM,QAAQ,QAAQ,CAAC,QAAQ;AAAA,cAC3B;AAAA,UACJ,SAAS;AAAA,YACP,MAAM;AAAA,YACN,QAAQ,wBACJ,MAAM;AACJ,sBAAQ,QAAQ,KAAK;AAAA,YACvB,IACA;AAAA,UACN;AAAA,QACF;AAAA,QAEF;AAAA,UACE,QAAQ;AAAA,UACR;AAAA,UACA,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,QAAQ;AAAA,QACV;AAAA,MACF;AAEA,sBAAgB,MAAM;AACpB,gBAAQ,qBAAqB,OAAO;AAAA,MACtC,GAAG,CAAC,OAAO,CAAC;AAEZ,UAAI,QAAQ,eAAe;AACzB,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AAMA,QAAM,aAAa,MAAM;AAAA,IACvB;AAAA,MACE,CACE;AAAA,QACE;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACL,GAKA,iBACG;AACH,cAAM,UAAU,gBAAgB,YAAY,YAAY;AACxD,cAAM,qBAAqB,gBAAgB,cAAc,QAAQ,UAAU;AAE3E,eACE;AAAA,UACE,CAAC;AAAA,YACC;AAAA,YACA,SAAS,QAAQ;AAAA,YACjB;AAAA,YACA,QAAQ,CAAC,QAAQ,UAAU;AAAA,YAE3B,iBAAiB;AAAA,WAEjB,CAAC,MAAM,KAAK,wBAAwB,QACjC,SACH,EAFC,MAGH,EAXC;AAAA;AAAA;AAAA;AAAA,WAcA,CAAC,MAAM,6BACN,CAAC;AAAA,gBACK;AAAA,YACJ,UAAU;AAAA,YACV,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,MAAM;AAAA,YACN,OAAO;AAAA,YACP,cAAc;AAAA,YACd,eAAe;AAAA,UACjB;AAAA,QAEJ;AAAA,MAEJ;AAAA,IACF;AAAA,EACF;AAEA,QAAM,QAAQ,WAA6B,SAASA,OAAM,OAAO,KAAK;AACpE,UAAM,WAAW,gBAAgB;AACjC,UAAM,EAAE,kBAAkB,IAAI,mBAAmB;AAEjD,QAAI,sBAAsB;AAE1B,QAAI,MAAM,UAAU,SAAS,OAAO,OAAO;AACzC,UAAI,QAAQ,IAAI,mBAAmB,UAAU;AAC3C,cAAM,OAAO,eAAe,KAAK;AACjC,YAAI,MAAM;AACR,gCAAsB;AAAA,QACxB;AAAA,MACF;AAAA,IACF;AAKA,QAAI,qBAAqB,CAAC,UAAU;AAClC,aAAO;AAAA,IACT;AAEA,WAAO,CAAC,oBAAoB,KAAK,SAAS,OAAO;AAAA,EACnD,CAAC;AAED,QAAM,aAAa;AAAA,IACjB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,EACd;AAEA,QAAM,aAAa,qBAAqB,OAAO,UAAU;AAKzD,SAAO,qBAAqB,OAAO;AAAA,IACjC,GAAG;AAAA,IACH;AAAA,EACF,CAAC;AACH;",
4
+ "mappings": "AAAA,SAAS,uBAAuB;AAChC;AAAA,EAIE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,oBAAoB;AAC7B;AAAA,EAGE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,gBAAsB;AAE/B,SAAS,mBAAmB,YAAY,0BAA0B;AAClE,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,iCAAiC;AAC1C,SAAS,uBAAuB;AAEhC,SAAS,0BAA0B;AAc5B,SAAS,YAAY,EAAE,QAAQ,OAAO,QAAQ,GAAqB;AACxE,QAAM,cAAc,OAAO;AAAA,IACzB,CAAC,EAAE,cAAc,GAAG,MAAM,MAAiD;AACzE,YAAM,UAAU,gBAAgB,mBAAmB,YAAY;AAE/D,UAAI,QAAQ,eAAe;AACzB,eAAO;AAAA,MACT;AAEA,aACE,CAAC;AAAA,QACC,SAAS,MAAM;AAEb,gBAAM,MACJ,QAAQ,WAAW,UAAU,QAAQ,wBAAwB,KAAK;AACpE,gBAAM,WAAW,QAAQ,WAAW,KAAK;AACzC,kBAAQ,YAAY,OAAO;AAAA,QAC7B;AAAA,QACA,MAAM,QAAQ;AAAA,YACV;AAAA,MACN;AAAA,IAEJ;AAAA,EACF;AAMA,QAAM,eAAe,QAAQ;AAAA,IAC3B,CAAC,YAAwD;AACvD,YAAM,EAAE,cAAc,GAAG,MAAM,IAAI;AACnC,YAAM,UAAU,gBAAgB,oBAAoB,YAAY;AAKhE,YAAM,UAAU;AAAA,QACd,MACE,CAAC;AAAA,UACC,MAAM,QAAQ,QAAQ,CAAC,QAAQ;AAAA,cAC3B;AAAA,UACJ,SAAS;AAAA,YACP,MAAM;AAAA,YACN,QAAQ,wBACJ,MAAM;AACJ,sBAAQ,QAAQ,KAAK;AAAA,YACvB,IACA;AAAA,UACN;AAAA,QACF;AAAA,QAEF;AAAA,UACE,QAAQ;AAAA,UACR;AAAA,UACA,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,QAAQ;AAAA,QACV;AAAA,MACF;AAEA,sBAAgB,MAAM;AACpB,gBAAQ,qBAAqB,OAAO;AAAA,MACtC,GAAG,CAAC,OAAO,CAAC;AAEZ,UAAI,QAAQ,eAAe;AACzB,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AAMA,QAAM,mBAAmB,GAAG;AAE5B,QAAM,aAAa,MAAM;AAAA,IACvB;AAAA,MACE,CACE;AAAA,QACE;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACL,GAKA,iBACG;AACH,cAAM,UAAU,gBAAgB,YAAY,YAAY;AACxD,cAAM,qBAAqB,gBAAgB,cAAc,QAAQ,UAAU;AAE3E,eACE;AAAA,UACE,CAAC;AAAA,YACC;AAAA,YACA,SAAS,QAAQ;AAAA,YACjB;AAAA,YACA,QAAQ,CAAC,QAAQ,UAAU;AAAA,YAE3B,iBAAiB;AAAA,WAEjB,CAAC,MAAM,KAAK,wBAAwB,QACjC,SACH,EAFC,MAGH,EAXC;AAAA;AAAA;AAAA;AAAA,WAcA,CAAC,MAAM,6BACN,CAAC;AAAA,YACC,eAAe;AAAA,gBACX;AAAA,YACJ,UAAU;AAAA,YACV,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,MAAM;AAAA,YACN,OAAO;AAAA,YACP,cAAc;AAAA,YACd,eAAe;AAAA,UACjB;AAAA,QAEJ;AAAA,MAEJ;AAAA,IACF;AAAA,EACF;AAEA,QAAM,QAAQ,WAA6B,SAASA,OAAM,OAAO,KAAK;AACpE,UAAM,WAAW,gBAAgB;AACjC,UAAM,EAAE,kBAAkB,IAAI,mBAAmB;AAEjD,QAAI,sBAAsB;AAE1B,QAAI,MAAM,UAAU,SAAS,OAAO,OAAO;AACzC,UAAI,QAAQ,IAAI,mBAAmB,UAAU;AAC3C,cAAM,OAAO,eAAe,KAAK;AACjC,YAAI,MAAM;AACR,gCAAsB;AAAA,QACxB;AAAA,MACF;AAAA,IACF;AAKA,QAAI,qBAAqB,CAAC,UAAU;AAClC,aAAO;AAAA,IACT;AAEA,WAAO,CAAC,oBAAoB,KAAK,SAAS,OAAO;AAAA,EACnD,CAAC;AAED,QAAM,aAAa;AAAA,IACjB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,EACd;AAEA,QAAM,aAAa,qBAAqB,OAAO,UAAU;AAKzD,SAAO,qBAAqB,OAAO;AAAA,IACjC,GAAG;AAAA,IACH;AAAA,EACF,CAAC;AACH;",
5
5
  "names": ["Sheet"]
6
6
  }
@@ -67,6 +67,7 @@ function createSheet({ Handle, Frame, Overlay }) {
67
67
  return null;
68
68
  }
69
69
  );
70
+ const SHEET_COVER_NAME = `${SHEET_NAME}Cover`;
70
71
  const SheetFrame = Frame.extractable(
71
72
  forwardRef(
72
73
  ({
@@ -88,10 +89,11 @@ function createSheet({ Handle, Frame, Overlay }) {
88
89
  /* below frame hide when bouncing past 100% */
89
90
  }
90
91
  {!props.disableHideBottomOverflow && <Frame
92
+ componentName={SHEET_COVER_NAME}
91
93
  {...props}
92
94
  children={null}
93
95
  position="absolute"
94
- bottom={0}
96
+ bottom={-20}
95
97
  maxHeight={300}
96
98
  left={0}
97
99
  right={0}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createSheet.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Sheet"]
6
6
  }
@@ -0,0 +1,45 @@
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
@@ -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;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
+ }
@@ -0,0 +1,45 @@
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
@@ -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;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
+ }
@@ -0,0 +1,53 @@
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
@@ -0,0 +1,6 @@
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
+ }
@@ -0,0 +1,53 @@
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
@@ -0,0 +1,6 @@
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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/sheet",
3
- "version": "1.27.3",
3
+ "version": "1.28.1",
4
4
  "sideEffects": [
5
5
  "*.css"
6
6
  ],
@@ -31,24 +31,24 @@
31
31
  }
32
32
  },
33
33
  "dependencies": {
34
- "@tamagui/animations-react-native": "1.27.3",
35
- "@tamagui/compose-refs": "1.27.3",
36
- "@tamagui/core": "1.27.3",
37
- "@tamagui/create-context": "1.27.3",
38
- "@tamagui/portal": "1.27.3",
39
- "@tamagui/remove-scroll": "1.27.3",
40
- "@tamagui/scroll-view": "1.27.3",
41
- "@tamagui/stacks": "1.27.3",
42
- "@tamagui/use-constant": "1.27.3",
43
- "@tamagui/use-controllable-state": "1.27.3",
44
- "@tamagui/use-keyboard-visible": "1.27.3"
34
+ "@tamagui/animations-react-native": "1.28.1",
35
+ "@tamagui/compose-refs": "1.28.1",
36
+ "@tamagui/core": "1.28.1",
37
+ "@tamagui/create-context": "1.28.1",
38
+ "@tamagui/portal": "1.28.1",
39
+ "@tamagui/remove-scroll": "1.28.1",
40
+ "@tamagui/scroll-view": "1.28.1",
41
+ "@tamagui/stacks": "1.28.1",
42
+ "@tamagui/use-constant": "1.28.1",
43
+ "@tamagui/use-controllable-state": "1.28.1",
44
+ "@tamagui/use-keyboard-visible": "1.28.1"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "react": "*",
48
48
  "react-native": "*"
49
49
  },
50
50
  "devDependencies": {
51
- "@tamagui/build": "1.27.3",
51
+ "@tamagui/build": "1.28.1",
52
52
  "react": "^18.2.0",
53
53
  "react-native": "^0.71.7"
54
54
  },
@@ -114,6 +114,8 @@ export function createSheet({ Handle, Frame, Overlay }: CreateSheetProps) {
114
114
  * Sheet
115
115
  * -----------------------------------------------------------------------------------------------*/
116
116
 
117
+ const SHEET_COVER_NAME = `${SHEET_NAME}Cover`
118
+
117
119
  const SheetFrame = Frame.extractable(
118
120
  forwardRef(
119
121
  (
@@ -146,13 +148,14 @@ export function createSheet({ Handle, Frame, Overlay }: CreateSheetProps) {
146
148
  </Frame>
147
149
  </RemoveScroll>
148
150
 
149
- {/* below frame hide when bouncing past 100% */}
151
+ {/* below frame hide when bouncing past 100% */}
150
152
  {!props.disableHideBottomOverflow && (
151
153
  <Frame
154
+ componentName={SHEET_COVER_NAME}
152
155
  {...props}
153
156
  children={null}
154
157
  position="absolute"
155
- bottom={0}
158
+ bottom={-20}
156
159
  maxHeight={300}
157
160
  left={0}
158
161
  right={0}
@@ -1 +1 @@
1
- {"version":3,"file":"createSheet.d.ts","sourceRoot":"","sources":["../src/createSheet.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,UAAU,EACV,iCAAiC,EAIlC,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,iBAAiB,EACjB,aAAa,EAId,MAAM,OAAO,CAAA;AACd,OAAO,EAAY,IAAI,EAAE,MAAM,cAAc,CAAA;AAO7C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAGtD,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,SAAS,GAAG,UAAU,GAAG,gBAAgB,CAAA;AAE9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,iCAAiC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;IACrE,MAAM,EAAE,iCAAiC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;IACtE,OAAO,EAAE,iCAAiC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;CACxE,CAAA;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA8B1D,iBAAiB,SAAS,cAAc,CAAC,CAAC;6CA5BvB,iBAAiB,SAAS,aAAa,CAAC,CAAC;;;;;;;;;;;;;;uBA4B5D,iBAAiB,SAAS,cAAc,CAAC,CAAC;yCA5BvB,iBAAiB,SAAS,aAAa,CAAC,CAAC;;;;;;;;EAwKzE"}
1
+ {"version":3,"file":"createSheet.d.ts","sourceRoot":"","sources":["../src/createSheet.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,UAAU,EACV,iCAAiC,EAIlC,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,iBAAiB,EACjB,aAAa,EAId,MAAM,OAAO,CAAA;AACd,OAAO,EAAY,IAAI,EAAE,MAAM,cAAc,CAAA;AAO7C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAGtD,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,SAAS,GAAG,UAAU,GAAG,gBAAgB,CAAA;AAE9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,iCAAiC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;IACrE,MAAM,EAAE,iCAAiC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;IACtE,OAAO,EAAE,iCAAiC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;CACxE,CAAA;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA8B1D,iBAAiB,SAAS,cAAc,CAAC,CAAC;6CA5BvB,iBAAiB,SAAS,aAAa,CAAC,CAAC;;;;;;;;;;;;;;uBA4B5D,iBAAiB,SAAS,cAAc,CAAC,CAAC;yCA5BvB,iBAAiB,SAAS,aAAa,CAAC,CAAC;;;;;;;;EA2KzE"}