@tamagui/sheet 1.129.19 → 1.130.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.
- package/dist/cjs/SheetController.cjs +9 -5
- package/dist/cjs/SheetController.js +9 -6
- package/dist/cjs/SheetController.js.map +1 -1
- package/dist/cjs/SheetController.native.js +9 -7
- package/dist/cjs/SheetController.native.js.map +2 -2
- package/dist/cjs/SheetImplementationCustom.cjs +30 -27
- package/dist/cjs/SheetImplementationCustom.js +28 -25
- package/dist/cjs/SheetImplementationCustom.js.map +1 -1
- package/dist/cjs/SheetImplementationCustom.native.js +32 -28
- package/dist/cjs/SheetImplementationCustom.native.js.map +2 -2
- package/dist/cjs/SheetScrollView.cjs +2 -5
- package/dist/cjs/SheetScrollView.js +2 -4
- package/dist/cjs/SheetScrollView.js.map +1 -1
- package/dist/cjs/SheetScrollView.native.js +4 -6
- package/dist/cjs/SheetScrollView.native.js.map +2 -2
- package/dist/cjs/createSheet.cjs +1 -5
- package/dist/cjs/createSheet.js +1 -11
- package/dist/cjs/createSheet.js.map +1 -1
- package/dist/cjs/createSheet.native.js +1 -8
- package/dist/cjs/createSheet.native.js.map +2 -2
- package/dist/cjs/useSheetOpenState.cjs +3 -3
- package/dist/cjs/useSheetOpenState.js +3 -4
- package/dist/cjs/useSheetOpenState.js.map +1 -1
- package/dist/cjs/useSheetOpenState.native.js +3 -4
- package/dist/cjs/useSheetOpenState.native.js.map +2 -2
- package/dist/cjs/useSheetProviderProps.cjs +1 -2
- package/dist/cjs/useSheetProviderProps.js +1 -2
- package/dist/cjs/useSheetProviderProps.js.map +1 -1
- package/dist/cjs/useSheetProviderProps.native.js +1 -2
- package/dist/cjs/useSheetProviderProps.native.js.map +2 -2
- package/dist/esm/SheetController.js +10 -7
- package/dist/esm/SheetController.js.map +1 -1
- package/dist/esm/SheetController.mjs +10 -6
- package/dist/esm/SheetController.mjs.map +1 -1
- package/dist/esm/SheetController.native.js +10 -6
- package/dist/esm/SheetController.native.js.map +1 -1
- package/dist/esm/SheetImplementationCustom.js +28 -25
- package/dist/esm/SheetImplementationCustom.js.map +1 -1
- package/dist/esm/SheetImplementationCustom.mjs +30 -27
- package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
- package/dist/esm/SheetImplementationCustom.native.js +39 -33
- package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
- package/dist/esm/SheetScrollView.js +2 -4
- package/dist/esm/SheetScrollView.js.map +1 -1
- package/dist/esm/SheetScrollView.mjs +2 -5
- package/dist/esm/SheetScrollView.mjs.map +1 -1
- package/dist/esm/SheetScrollView.native.js +5 -7
- package/dist/esm/SheetScrollView.native.js.map +1 -1
- package/dist/esm/createSheet.js +1 -11
- package/dist/esm/createSheet.js.map +1 -1
- package/dist/esm/createSheet.mjs +1 -5
- package/dist/esm/createSheet.mjs.map +1 -1
- package/dist/esm/createSheet.native.js +1 -6
- package/dist/esm/createSheet.native.js.map +1 -1
- package/dist/esm/useSheetOpenState.js +3 -4
- package/dist/esm/useSheetOpenState.js.map +1 -1
- package/dist/esm/useSheetOpenState.mjs +3 -3
- package/dist/esm/useSheetOpenState.mjs.map +1 -1
- package/dist/esm/useSheetOpenState.native.js +3 -3
- package/dist/esm/useSheetOpenState.native.js.map +1 -1
- package/dist/esm/useSheetProviderProps.js +1 -2
- package/dist/esm/useSheetProviderProps.js.map +1 -1
- package/dist/esm/useSheetProviderProps.mjs +1 -2
- package/dist/esm/useSheetProviderProps.mjs.map +1 -1
- package/dist/esm/useSheetProviderProps.native.js +1 -2
- package/dist/esm/useSheetProviderProps.native.js.map +1 -1
- package/dist/jsx/SheetController.js +10 -7
- package/dist/jsx/SheetController.js.map +1 -1
- package/dist/jsx/SheetController.mjs +10 -6
- package/dist/jsx/SheetController.mjs.map +1 -1
- package/dist/jsx/SheetController.native.js +10 -8
- package/dist/jsx/SheetController.native.js.map +2 -2
- package/dist/jsx/SheetImplementationCustom.js +28 -25
- package/dist/jsx/SheetImplementationCustom.js.map +1 -1
- package/dist/jsx/SheetImplementationCustom.mjs +30 -27
- package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
- package/dist/jsx/SheetImplementationCustom.native.js +32 -28
- package/dist/jsx/SheetImplementationCustom.native.js.map +2 -2
- package/dist/jsx/SheetScrollView.js +2 -4
- package/dist/jsx/SheetScrollView.js.map +1 -1
- package/dist/jsx/SheetScrollView.mjs +2 -5
- package/dist/jsx/SheetScrollView.mjs.map +1 -1
- package/dist/jsx/SheetScrollView.native.js +4 -6
- package/dist/jsx/SheetScrollView.native.js.map +2 -2
- package/dist/jsx/createSheet.js +1 -11
- package/dist/jsx/createSheet.js.map +1 -1
- package/dist/jsx/createSheet.mjs +1 -5
- package/dist/jsx/createSheet.mjs.map +1 -1
- package/dist/jsx/createSheet.native.js +1 -8
- package/dist/jsx/createSheet.native.js.map +2 -2
- package/dist/jsx/useSheetOpenState.js +3 -4
- package/dist/jsx/useSheetOpenState.js.map +1 -1
- package/dist/jsx/useSheetOpenState.mjs +3 -3
- package/dist/jsx/useSheetOpenState.mjs.map +1 -1
- package/dist/jsx/useSheetOpenState.native.js +3 -4
- package/dist/jsx/useSheetOpenState.native.js.map +2 -2
- package/dist/jsx/useSheetProviderProps.js +1 -2
- package/dist/jsx/useSheetProviderProps.js.map +1 -1
- package/dist/jsx/useSheetProviderProps.mjs +1 -2
- package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
- package/dist/jsx/useSheetProviderProps.native.js +1 -2
- package/dist/jsx/useSheetProviderProps.native.js.map +2 -2
- package/package.json +19 -19
- package/src/SheetController.tsx +10 -6
- package/src/SheetImplementationCustom.tsx +49 -33
- package/src/SheetScrollView.tsx +5 -2
- package/src/createSheet.tsx +7 -9
- package/src/useSheetController.tsx +1 -0
- package/src/useSheetOpenState.tsx +3 -3
- package/src/useSheetProviderProps.tsx +1 -2
- package/types/SheetController.d.ts +1 -1
- package/types/SheetController.d.ts.map +1 -1
- package/types/SheetImplementationCustom.d.ts.map +1 -1
- package/types/SheetScrollView.d.ts.map +1 -1
- package/types/createSheet.d.ts.map +1 -1
- package/types/useSheetController.d.ts +1 -0
- package/types/useSheetController.d.ts.map +1 -1
- package/types/useSheetProviderProps.d.ts.map +1 -1
|
@@ -4,12 +4,11 @@ var useSheetOpenState = function(props) {
|
|
|
4
4
|
var { isHidden, controller } = useSheetController(), onOpenChangeInternal = function(val) {
|
|
5
5
|
var _controller_onOpenChange, _props_onOpenChange;
|
|
6
6
|
controller == null || (_controller_onOpenChange = controller.onOpenChange) === null || _controller_onOpenChange === void 0 || _controller_onOpenChange.call(controller, val), (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 || _props_onOpenChange.call(props, val);
|
|
7
|
-
}, _controller_open, _props_defaultOpen, [open, setOpen] = useControllableState({
|
|
8
|
-
prop:
|
|
7
|
+
}, _controller_open, propVal = (_controller_open = controller == null ? void 0 : controller.open) !== null && _controller_open !== void 0 ? _controller_open : props.open, _props_defaultOpen, [open, setOpen] = useControllableState({
|
|
8
|
+
prop: propVal,
|
|
9
9
|
defaultProp: (_props_defaultOpen = props.defaultOpen) !== null && _props_defaultOpen !== void 0 ? _props_defaultOpen : !1,
|
|
10
10
|
onChange: onOpenChangeInternal,
|
|
11
|
-
strategy: "
|
|
12
|
-
transition: !0
|
|
11
|
+
strategy: "prop-wins"
|
|
13
12
|
});
|
|
14
13
|
return {
|
|
15
14
|
open,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useSheetOpenState.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAASA,4BAA4B;AAGrC,SAASC,0BAA0B;AAE5B,IAAMC,oBAAoB,SAACC,OAAAA;AAChC,MAAM,EAAEC,UAAUC,WAAU,IAAKJ,mBAAAA,GAE3BK,uBAAuB,SAACC,KAAAA;QAC5BF,0BACAF;AADAE,kBAAAA,SAAAA,2BAAAA,WAAYG,kBAAY,QAAxBH,6BAAAA,UAAAA,yBAAAA,KAAAA,YAA2BE,GAAAA,IAC3BJ,sBAAAA,MAAMK,kBAAY,QAAlBL,wBAAAA,UAAAA,oBAAAA,KAAAA,OAAqBI,GAAAA;EACvB,
|
|
5
|
-
"names": ["useControllableState", "useSheetController", "useSheetOpenState", "props", "isHidden", "controller", "onOpenChangeInternal", "val", "onOpenChange", "open", "setOpen", "prop", "defaultProp", "defaultOpen", "onChange", "strategy"
|
|
4
|
+
"mappings": "AAAA,SAASA,4BAA4B;AAGrC,SAASC,0BAA0B;AAE5B,IAAMC,oBAAoB,SAACC,OAAAA;AAChC,MAAM,EAAEC,UAAUC,WAAU,IAAKJ,mBAAAA,GAE3BK,uBAAuB,SAACC,KAAAA;QAC5BF,0BACAF;AADAE,kBAAAA,SAAAA,2BAAAA,WAAYG,kBAAY,QAAxBH,6BAAAA,UAAAA,yBAAAA,KAAAA,YAA2BE,GAAAA,IAC3BJ,sBAAAA,MAAMK,kBAAY,QAAlBL,wBAAAA,UAAAA,oBAAAA,KAAAA,OAAqBI,GAAAA;EACvB,GAEgBF,kBAAVI,WAAUJ,mBAAAA,cAAAA,OAAAA,SAAAA,WAAYK,UAAI,QAAhBL,qBAAAA,SAAAA,mBAAoBF,MAAMO,MAG3BP,oBAFT,CAACO,MAAMC,OAAAA,IAAWX,qBAAqB;IAC3CY,MAAMH;IACNI,cAAaV,qBAAAA,MAAMW,iBAAW,QAAjBX,uBAAAA,SAAAA,qBAAqB;IAClCY,UAAUT;IACVU,UAAU;EACZ,CAAA;AAEA,SAAO;IACLN;IACAC;IACAP;IACAC;EACF;AACF;",
|
|
5
|
+
"names": ["useControllableState", "useSheetController", "useSheetOpenState", "props", "isHidden", "controller", "onOpenChangeInternal", "val", "onOpenChange", "propVal", "open", "setOpen", "prop", "defaultProp", "defaultOpen", "onChange", "strategy"]
|
|
6
6
|
}
|
|
@@ -10,8 +10,7 @@ function useSheetProviderProps(props, state, options = {}) {
|
|
|
10
10
|
prop: props.position,
|
|
11
11
|
defaultProp: props.defaultPosition || (state.open ? 0 : -1),
|
|
12
12
|
onChange: props.onPositionChange,
|
|
13
|
-
strategy: "
|
|
14
|
-
transition: !0
|
|
13
|
+
strategy: "prop-wins"
|
|
15
14
|
}), position = state.open === !1 ? -1 : position_, { open } = state, setPosition = React.useCallback(
|
|
16
15
|
(next) => {
|
|
17
16
|
props.dismissOnSnapToBottom && next === snapPoints.length - 1 ? state.setOpen(!1) : setPositionImmediate(next);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useSheetProviderProps.tsx"],
|
|
4
|
-
"mappings": "AAAA,OAAO,WAAW;AAElB,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AAU9B,SAAS,sBACd,OACA,OACA,UAEI,CAAC,GACL;AACA,QAAM,YAAY,MAAM,OAAuB,IAAI,GAC7C,aAAa,MAAM,OAAuB,IAAI,GAC9C,CAAC,WAAW,YAAY,IAAI,MAAM,SAAiB,CAAC,GACpD,CAAC,gBAAgB,iBAAiB,IAAI,MAAM,SAAiB,CAAC,GAC9D,iBAAiB,MAAM,kBAAkB,WACzC,iBACJ,MAAM,eACL,mBAAmB,YAChB,CAAC,EAAE,IACH,mBAAmB,aACjB,CAAC,GAAG,IACJ,CAAC,KAAK,IACR,SAAS,eAAe,CAAC,MAAM,OAE/B,aAAa,MAAM;AAAA,IACvB,MAAO,MAAM,wBAAwB,CAAC,GAAG,gBAAgB,CAAC,IAAI;AAAA,IAE9D,CAAC,KAAK,UAAU,cAAc,GAAG,MAAM,qBAAqB;AAAA,EAC9D,GAGM,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,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -15,8 +15,7 @@ function useSheetProviderProps(props, state, options = {}) {
|
|
|
15
15
|
prop: props.position,
|
|
16
16
|
defaultProp: props.defaultPosition || (state.open ? 0 : -1),
|
|
17
17
|
onChange: props.onPositionChange,
|
|
18
|
-
strategy: "
|
|
19
|
-
transition: !0
|
|
18
|
+
strategy: "prop-wins"
|
|
20
19
|
}),
|
|
21
20
|
position = state.open === !1 ? -1 : position_,
|
|
22
21
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useConfiguration","useConstant","useControllableState","useSheetProviderProps","props","state","options","handleRef","useRef","contentRef","frameSize","setFrameSize","useState","maxContentSize","setMaxContentSize","snapPointsMode","snapPointsProp","snapPoints","hasFit","useMemo","dismissOnSnapToBottom","JSON","stringify","position_","setPositionImmediate","prop","position","defaultProp","defaultPosition","open","onChange","onPositionChange","strategy","
|
|
1
|
+
{"version":3,"names":["React","useConfiguration","useConstant","useControllableState","useSheetProviderProps","props","state","options","handleRef","useRef","contentRef","frameSize","setFrameSize","useState","maxContentSize","setMaxContentSize","snapPointsMode","snapPointsProp","snapPoints","hasFit","useMemo","dismissOnSnapToBottom","JSON","stringify","position_","setPositionImmediate","prop","position","defaultProp","defaultPosition","open","onChange","onPositionChange","strategy","setPosition","useCallback","next","length","setOpen","process","env","NODE_ENV","some","p","endsWith","n","Number","slice","console","warn","indexOf","shouldSetPositionOpen","useEffect","animationDriver","Error","scrollBridge","enabled","y","paneY","paneMinY","scrollStartY","drag","release","scrollLock","removeScrollEnabled","forceRemoveScrollEnabled","modal","maxSnapPoint","screenSize","hidden","isHidden","dismissOnOverlayPress","onOverlayComponent","scope","__scopeSheet","onlyShowFrame"],"sources":["../../src/useSheetProviderProps.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -21,8 +21,7 @@ function useSheetProviderProps(props, state) {
|
|
|
21
21
|
prop: props.position,
|
|
22
22
|
defaultProp: props.defaultPosition || (state.open ? 0 : -1),
|
|
23
23
|
onChange: props.onPositionChange,
|
|
24
|
-
strategy: "
|
|
25
|
-
transition: !0
|
|
24
|
+
strategy: "prop-wins"
|
|
26
25
|
}), position = state.open === !1 ? -1 : position_, { open } = state, setPosition = React.useCallback(function(next) {
|
|
27
26
|
props.dismissOnSnapToBottom && next === snapPoints.length - 1 ? state.setOpen(!1) : setPositionImmediate(next);
|
|
28
27
|
}, [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useSheetProviderProps.tsx"],
|
|
4
|
-
"mappings": "AAAA,OAAOA,WAAW;AAElB,SAASC,wBAAwB;AACjC,SAASC,mBAAmB;AAC5B,SAASC,4BAA4B;AAU9B,SAASC,sBACdC,OACAC,OAAqB;MACrBC,UAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAEI,CAAC,GAECC,YAAYR,MAAMS,OAAuB,IAAA,GACzCC,aAAaV,MAAMS,OAAuB,IAAA,GAC1C,CAACE,WAAWC,YAAAA,IAAgBZ,MAAMa,SAAiB,CAAA,GACnD,CAACC,gBAAgBC,iBAAAA,IAAqBf,MAAMa,SAAiB,CAAA,GAC5CR,uBAAjBW,kBAAiBX,wBAAAA,MAAMW,oBAAc,QAApBX,0BAAAA,SAAAA,wBAAwB,WAE7CA,mBADIY,kBACJZ,oBAAAA,MAAMa,gBAAU,QAAhBb,sBAAAA,SAAAA,oBACCW,mBAAmB,YAChB;IAAC;MACDA,mBAAmB,aACjB;IAAC;MACD;IAAC;KACHG,SAASF,eAAe,CAAA,MAAO,OAE/BC,aAAalB,MAAMoB,QACvB,WAAA;WAAOf,MAAMgB,wBAAwB;SAAIJ;MAAgB;QAAKA;KAE9D;IAACK,KAAKC,UAAUN,cAAAA;IAAiBZ,MAAMgB;GAAsB,GAIzD,CAACG,WAAWC,oBAAAA,IAAwBtB,qBAAqB;IAC7DuB,MAAMrB,MAAMsB;IACZC,aAAavB,MAAMwB,oBAAoBvB,MAAMwB,OAAO,IAAI;IACxDC,UAAU1B,MAAM2B;IAChBC,UAAU;
|
|
5
|
-
"names": ["React", "useConfiguration", "useConstant", "useControllableState", "useSheetProviderProps", "props", "state", "options", "handleRef", "useRef", "contentRef", "frameSize", "setFrameSize", "useState", "maxContentSize", "setMaxContentSize", "snapPointsMode", "snapPointsProp", "snapPoints", "hasFit", "useMemo", "dismissOnSnapToBottom", "JSON", "stringify", "position_", "setPositionImmediate", "prop", "position", "defaultProp", "defaultPosition", "open", "onChange", "onPositionChange", "strategy", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["React", "useConfiguration", "useConstant", "useControllableState", "useSheetProviderProps", "props", "state", "options", "handleRef", "useRef", "contentRef", "frameSize", "setFrameSize", "useState", "maxContentSize", "setMaxContentSize", "snapPointsMode", "snapPointsProp", "snapPoints", "hasFit", "useMemo", "dismissOnSnapToBottom", "JSON", "stringify", "position_", "setPositionImmediate", "prop", "position", "defaultProp", "defaultPosition", "open", "onChange", "onPositionChange", "strategy", "setPosition", "useCallback", "next", "length", "setOpen", "process", "env", "NODE_ENV", "some", "p", "endsWith", "n", "Number", "slice", "console", "warn", "indexOf", "shouldSetPositionOpen", "useEffect", "animationDriver", "Error", "scrollBridge", "enabled", "y", "paneY", "paneMinY", "scrollStartY", "drag", "release", "scrollLock", "removeScrollEnabled", "forceRemoveScrollEnabled", "modal", "maxSnapPoint", "screenSize", "providerProps", "hidden", "isHidden", "dismissOnOverlayPress", "onOverlayComponent", "scope", "__scopeSheet", "onlyShowFrame"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/sheet",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.130.1",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"*.css"
|
|
6
6
|
],
|
|
@@ -37,29 +37,29 @@
|
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@tamagui/adapt": "1.
|
|
41
|
-
"@tamagui/animate-presence": "1.
|
|
42
|
-
"@tamagui/animations-react-native": "1.
|
|
43
|
-
"@tamagui/compose-refs": "1.
|
|
44
|
-
"@tamagui/constants": "1.
|
|
45
|
-
"@tamagui/core": "1.
|
|
46
|
-
"@tamagui/create-context": "1.
|
|
47
|
-
"@tamagui/helpers": "1.
|
|
48
|
-
"@tamagui/portal": "1.
|
|
49
|
-
"@tamagui/remove-scroll": "1.
|
|
50
|
-
"@tamagui/scroll-view": "1.
|
|
51
|
-
"@tamagui/stacks": "1.
|
|
52
|
-
"@tamagui/use-constant": "1.
|
|
53
|
-
"@tamagui/use-controllable-state": "1.
|
|
54
|
-
"@tamagui/use-did-finish-ssr": "1.
|
|
55
|
-
"@tamagui/use-keyboard-visible": "1.
|
|
56
|
-
"@tamagui/z-index-stack": "1.
|
|
40
|
+
"@tamagui/adapt": "1.130.1",
|
|
41
|
+
"@tamagui/animate-presence": "1.130.1",
|
|
42
|
+
"@tamagui/animations-react-native": "1.130.1",
|
|
43
|
+
"@tamagui/compose-refs": "1.130.1",
|
|
44
|
+
"@tamagui/constants": "1.130.1",
|
|
45
|
+
"@tamagui/core": "1.130.1",
|
|
46
|
+
"@tamagui/create-context": "1.130.1",
|
|
47
|
+
"@tamagui/helpers": "1.130.1",
|
|
48
|
+
"@tamagui/portal": "1.130.1",
|
|
49
|
+
"@tamagui/remove-scroll": "1.130.1",
|
|
50
|
+
"@tamagui/scroll-view": "1.130.1",
|
|
51
|
+
"@tamagui/stacks": "1.130.1",
|
|
52
|
+
"@tamagui/use-constant": "1.130.1",
|
|
53
|
+
"@tamagui/use-controllable-state": "1.130.1",
|
|
54
|
+
"@tamagui/use-did-finish-ssr": "1.130.1",
|
|
55
|
+
"@tamagui/use-keyboard-visible": "1.130.1",
|
|
56
|
+
"@tamagui/z-index-stack": "1.130.1"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"react": "*"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@tamagui/build": "1.
|
|
62
|
+
"@tamagui/build": "1.130.1",
|
|
63
63
|
"react": "*"
|
|
64
64
|
},
|
|
65
65
|
"publishConfig": {
|
package/src/SheetController.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react'
|
|
1
|
+
import React, { useId } from 'react'
|
|
2
2
|
import { useEvent } from '@tamagui/core'
|
|
3
3
|
import type { ReactNode } from 'react'
|
|
4
4
|
|
|
@@ -8,18 +8,22 @@ import { SheetControllerContext } from './useSheetController'
|
|
|
8
8
|
export const SheetController = ({
|
|
9
9
|
children,
|
|
10
10
|
onOpenChange: onOpenChangeProp,
|
|
11
|
-
|
|
11
|
+
open,
|
|
12
|
+
hidden,
|
|
13
|
+
disableDrag,
|
|
12
14
|
}: Partial<SheetControllerContextValue> & { children?: ReactNode }) => {
|
|
13
15
|
const onOpenChange = useEvent(onOpenChangeProp)
|
|
16
|
+
const id = useId()
|
|
14
17
|
|
|
15
18
|
const memoValue = React.useMemo(
|
|
16
19
|
() => ({
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
id,
|
|
21
|
+
open,
|
|
22
|
+
hidden,
|
|
23
|
+
disableDrag,
|
|
20
24
|
onOpenChange,
|
|
21
25
|
}),
|
|
22
|
-
[onOpenChange,
|
|
26
|
+
[id, onOpenChange, open, hidden, disableDrag]
|
|
23
27
|
)
|
|
24
28
|
|
|
25
29
|
return (
|
|
@@ -195,6 +195,18 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
|
|
|
195
195
|
})
|
|
196
196
|
})
|
|
197
197
|
|
|
198
|
+
const isAbleToPosition = (() => {
|
|
199
|
+
if (disableAnimation) {
|
|
200
|
+
return false
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
if (!frameSize || !screenSize || isHidden || (hasntMeasured && !open)) {
|
|
204
|
+
return false
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
return true
|
|
208
|
+
})()
|
|
209
|
+
|
|
198
210
|
useIsomorphicLayoutEffect(() => {
|
|
199
211
|
// we need to do a *three* step process for the css driver
|
|
200
212
|
// first render off screen for ssr safety (hiddenSize)
|
|
@@ -216,20 +228,13 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
|
|
|
216
228
|
}, 10)
|
|
217
229
|
}
|
|
218
230
|
)
|
|
219
|
-
return
|
|
220
231
|
}
|
|
232
|
+
}, [hasntMeasured, screenSize, frameSize])
|
|
221
233
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
if (!frameSize || !screenSize || isHidden || (hasntMeasured && !open)) {
|
|
227
|
-
return
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
// finally, animate
|
|
234
|
+
useIsomorphicLayoutEffect(() => {
|
|
235
|
+
if (!isAbleToPosition) return
|
|
231
236
|
animateTo(position)
|
|
232
|
-
}, [
|
|
237
|
+
}, [isAbleToPosition, position])
|
|
233
238
|
|
|
234
239
|
const disableDrag = props.disableDrag ?? controller?.disableDrag
|
|
235
240
|
const themeName = useThemeName()
|
|
@@ -270,6 +275,10 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
|
|
|
270
275
|
}
|
|
271
276
|
|
|
272
277
|
const release = ({ vy, dragAt }: { dragAt: number; vy: number }) => {
|
|
278
|
+
if (scrollBridge.scrollLock) {
|
|
279
|
+
return
|
|
280
|
+
}
|
|
281
|
+
|
|
273
282
|
isExternalDrag = false
|
|
274
283
|
previouslyScrolling = false
|
|
275
284
|
setPanning(false)
|
|
@@ -279,6 +288,7 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
|
|
|
279
288
|
const end = at + frameSize * vy * 0.2
|
|
280
289
|
let closestPoint = 0
|
|
281
290
|
let dist = Number.POSITIVE_INFINITY
|
|
291
|
+
|
|
282
292
|
for (let i = 0; i < positions.length; i++) {
|
|
283
293
|
const position = positions[i]
|
|
284
294
|
const curDist = end > position ? end - position : position - end
|
|
@@ -287,10 +297,12 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
|
|
|
287
297
|
closestPoint = i
|
|
288
298
|
}
|
|
289
299
|
}
|
|
300
|
+
|
|
290
301
|
// have to call both because state may not change but need to snap back
|
|
291
302
|
setPosition(closestPoint)
|
|
292
303
|
animateTo(closestPoint)
|
|
293
|
-
|
|
304
|
+
|
|
305
|
+
setScrollEnabled(closestPoint === 0)
|
|
294
306
|
}
|
|
295
307
|
|
|
296
308
|
const finish = (_e: GestureResponderEvent, state: PanResponderGestureState) => {
|
|
@@ -306,34 +318,38 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
|
|
|
306
318
|
e: GestureResponderEvent,
|
|
307
319
|
{ dy }: PanResponderGestureState
|
|
308
320
|
): boolean => {
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
321
|
+
function getShouldSet() {
|
|
322
|
+
// if dragging handle always allow:
|
|
323
|
+
if (e.target === providerProps.handleRef.current || !scrollEnabled.current) {
|
|
324
|
+
return true
|
|
325
|
+
}
|
|
313
326
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
327
|
+
if (scrollBridge.scrollLock) {
|
|
328
|
+
return false
|
|
329
|
+
}
|
|
317
330
|
|
|
318
|
-
|
|
331
|
+
const isScrolled = scrollBridge.y !== 0
|
|
319
332
|
|
|
320
|
-
|
|
321
|
-
|
|
333
|
+
// Update the dragging direction
|
|
334
|
+
const isDraggingUp = dy < 0
|
|
322
335
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
return false
|
|
328
|
-
}
|
|
329
|
-
// prevent drag once at top and pulling up
|
|
330
|
-
if (isNearTop) {
|
|
331
|
-
if (scrollEnabled.current && hasScrollView.current && isDraggingUp) {
|
|
336
|
+
// we can treat near top instead of exactly to avoid trouble with springs
|
|
337
|
+
const isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY
|
|
338
|
+
if (isScrolled) {
|
|
339
|
+
previouslyScrolling = true
|
|
332
340
|
return false
|
|
333
341
|
}
|
|
342
|
+
// prevent drag once at top and pulling up
|
|
343
|
+
if (isNearTop) {
|
|
344
|
+
if (hasScrollView.current && isDraggingUp) {
|
|
345
|
+
return false
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
// we could do some detection of other touchables and cancel here..
|
|
349
|
+
return Math.abs(dy) > 10
|
|
334
350
|
}
|
|
335
|
-
|
|
336
|
-
return
|
|
351
|
+
|
|
352
|
+
return getShouldSet()
|
|
337
353
|
}
|
|
338
354
|
|
|
339
355
|
const grant = () => {
|
package/src/SheetScrollView.tsx
CHANGED
|
@@ -71,6 +71,7 @@ export const SheetScrollView = React.forwardRef<
|
|
|
71
71
|
}
|
|
72
72
|
state.current.isDragging = false
|
|
73
73
|
scrollBridge.scrollStartY = -1
|
|
74
|
+
scrollBridge.scrollLock = false
|
|
74
75
|
state.current.isScrolling = false
|
|
75
76
|
setScrollEnabled(true)
|
|
76
77
|
let vy = 0
|
|
@@ -140,7 +141,7 @@ export const SheetScrollView = React.forwardRef<
|
|
|
140
141
|
const { pageY } = e.nativeEvent
|
|
141
142
|
|
|
142
143
|
if (state.current.isScrolling) {
|
|
143
|
-
e.stopPropagation()
|
|
144
|
+
// e.stopPropagation()
|
|
144
145
|
return
|
|
145
146
|
}
|
|
146
147
|
|
|
@@ -155,7 +156,9 @@ export const SheetScrollView = React.forwardRef<
|
|
|
155
156
|
const isDraggingUp = dy < 0
|
|
156
157
|
const isPaneAtTop = scrollBridge.paneY <= scrollBridge.paneMinY
|
|
157
158
|
|
|
158
|
-
|
|
159
|
+
const shouldScrollLock = (dy === 0 || isDraggingUp) && isPaneAtTop
|
|
160
|
+
|
|
161
|
+
if (shouldScrollLock) {
|
|
159
162
|
state.current.isScrolling = true
|
|
160
163
|
scrollBridge.scrollLock = true
|
|
161
164
|
setScrollEnabled(true)
|
package/src/createSheet.tsx
CHANGED
|
@@ -13,7 +13,12 @@ import { resolveViewZIndex } from '@tamagui/portal'
|
|
|
13
13
|
import { RemoveScroll } from '@tamagui/remove-scroll'
|
|
14
14
|
import { useDidFinishSSR } from '@tamagui/use-did-finish-ssr'
|
|
15
15
|
import { StackZIndexContext } from '@tamagui/z-index-stack'
|
|
16
|
-
import type {
|
|
16
|
+
import type {
|
|
17
|
+
ForwardRefExoticComponent,
|
|
18
|
+
FunctionComponent,
|
|
19
|
+
RefAttributes,
|
|
20
|
+
RefObject,
|
|
21
|
+
} from 'react'
|
|
17
22
|
import { forwardRef, memo, useMemo } from 'react'
|
|
18
23
|
import type { View } from 'react-native'
|
|
19
24
|
import { Platform } from 'react-native'
|
|
@@ -177,14 +182,7 @@ export function createSheet<
|
|
|
177
182
|
|
|
178
183
|
return (
|
|
179
184
|
<>
|
|
180
|
-
<RemoveScroll
|
|
181
|
-
forwardProps
|
|
182
|
-
enabled={removeScrollEnabled}
|
|
183
|
-
allowPinchZoom
|
|
184
|
-
shards={[contentRef]}
|
|
185
|
-
// causes lots of bugs on touch web on site
|
|
186
|
-
removeScrollBar={false}
|
|
187
|
-
>
|
|
185
|
+
<RemoveScroll enabled={removeScrollEnabled && context.open}>
|
|
188
186
|
{sheetContents}
|
|
189
187
|
</RemoveScroll>
|
|
190
188
|
|
|
@@ -16,6 +16,7 @@ export const SheetControllerContext =
|
|
|
16
16
|
React.createContext<SheetControllerContextValue | null>(null)
|
|
17
17
|
|
|
18
18
|
export type SheetControllerContextValue = {
|
|
19
|
+
id?: string
|
|
19
20
|
disableDrag?: boolean
|
|
20
21
|
open?: boolean
|
|
21
22
|
// hide without "closing" to prevent re-animation when shown again
|
|
@@ -11,12 +11,12 @@ export const useSheetOpenState = (props: SheetProps) => {
|
|
|
11
11
|
props.onOpenChange?.(val)
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
const propVal = controller?.open ?? props.open
|
|
14
15
|
const [open, setOpen] = useControllableState({
|
|
15
|
-
prop:
|
|
16
|
+
prop: propVal,
|
|
16
17
|
defaultProp: props.defaultOpen ?? false,
|
|
17
18
|
onChange: onOpenChangeInternal,
|
|
18
|
-
strategy: '
|
|
19
|
-
transition: true,
|
|
19
|
+
strategy: 'prop-wins',
|
|
20
20
|
})
|
|
21
21
|
|
|
22
22
|
return {
|
|
@@ -44,8 +44,7 @@ export function useSheetProviderProps(
|
|
|
44
44
|
prop: props.position,
|
|
45
45
|
defaultProp: props.defaultPosition || (state.open ? 0 : -1),
|
|
46
46
|
onChange: props.onPositionChange,
|
|
47
|
-
strategy: '
|
|
48
|
-
transition: true,
|
|
47
|
+
strategy: 'prop-wins',
|
|
49
48
|
})
|
|
50
49
|
|
|
51
50
|
const position = state.open === false ? -1 : position_
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { SheetControllerContextValue } from './useSheetController';
|
|
3
|
-
export declare const SheetController: ({ children, onOpenChange: onOpenChangeProp,
|
|
3
|
+
export declare const SheetController: ({ children, onOpenChange: onOpenChangeProp, open, hidden, disableDrag, }: Partial<SheetControllerContextValue> & {
|
|
4
4
|
children?: ReactNode;
|
|
5
5
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
//# sourceMappingURL=SheetController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetController.d.ts","sourceRoot":"","sources":["../src/SheetController.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAGvE,eAAO,MAAM,eAAe,GAAI,
|
|
1
|
+
{"version":3,"file":"SheetController.d.ts","sourceRoot":"","sources":["../src/SheetController.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAGvE,eAAO,MAAM,eAAe,GAAI,0EAM7B,OAAO,CAAC,2BAA2B,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,4CAoBjE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAO/C,OAAO,EAAsC,IAAI,EAAE,MAAM,cAAc,CAAA;AAIvE,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,SAAS,CAAA;AAWzD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAO/C,OAAO,EAAsC,IAAI,EAAE,MAAM,cAAc,CAAA;AAIvE,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,SAAS,CAAA;AAWzD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;8BA4hBrC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetScrollView.d.ts","sourceRoot":"","sources":["../src/SheetScrollView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoB,MAAM,OAAO,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AAY9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SheetScrollView.d.ts","sourceRoot":"","sources":["../src/SheetScrollView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoB,MAAM,OAAO,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AAY9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;wCAqK3B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSheet.d.ts","sourceRoot":"","sources":["../src/createSheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,iCAAiC,EAElC,MAAM,eAAe,CAAA;AAOtB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"createSheet.d.ts","sourceRoot":"","sources":["../src/createSheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,iCAAiC,EAElC,MAAM,eAAe,CAAA;AAOtB,OAAO,KAAK,EACV,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EAEd,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAOxC,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI3D,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,SAAS,GAAG,UAAU,GAAG,gBAAgB,CAAA;AAE9C,KAAK,oBAAoB,GAAG,iCAAiC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;AAE1F,wBAAgB,WAAW,CACzB,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA6E7D;;;;eAIG;wCACyB,OAAO;YAEnC;;;;eAIG;+CACgC,OAAO;;YAZ1C;;;;eAIG;wCACyB,OAAO;YAEnC;;;;eAIG;+CACgC,OAAO;;+DArD3B,gBAAgB,CAAC,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;QAyCzD;;;;WAIG;oCACyB,OAAO;QAEnC;;;;WAIG;2CACgC,OAAO;;QAZ1C;;;;WAIG;oCACyB,OAAO;QAEnC;;;;WAIG;2CACgC,OAAO;;2DArD3B,gBAAgB,CAAC,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;;;;;;;;;;;;;;;;;;;EAiL5D"}
|
|
@@ -7,6 +7,7 @@ export declare const useSheetController: () => {
|
|
|
7
7
|
};
|
|
8
8
|
export declare const SheetControllerContext: React.Context<SheetControllerContextValue | null>;
|
|
9
9
|
export type SheetControllerContextValue = {
|
|
10
|
+
id?: string;
|
|
10
11
|
disableDrag?: boolean;
|
|
11
12
|
open?: boolean;
|
|
12
13
|
hidden?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSheetController.d.ts","sourceRoot":"","sources":["../src/useSheetController.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,kBAAkB;;;;;CAU9B,CAAA;AAED,eAAO,MAAM,sBAAsB,mDAC4B,CAAA;AAE/D,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC,CAAA;CACxF,CAAA"}
|
|
1
|
+
{"version":3,"file":"useSheetController.d.ts","sourceRoot":"","sources":["../src/useSheetController.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,kBAAkB;;;;;CAU9B,CAAA;AAED,eAAO,MAAM,sBAAsB,mDAC4B,CAAA;AAE/D,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC,CAAA;CACxF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSheetProviderProps.d.ts","sourceRoot":"","sources":["../src/useSheetProviderProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAKnD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,GAAG;IACzE,aAAa,EAAE,OAAO,CAAA;IACtB,gBAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;CACzC,CAAA;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE;IACP,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;CACpC;;;;;;;;;;;;;;;gCADwB,GAAG,KAAK,IAAI;;;;;;;
|
|
1
|
+
{"version":3,"file":"useSheetProviderProps.d.ts","sourceRoot":"","sources":["../src/useSheetProviderProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAKnD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,GAAG;IACzE,aAAa,EAAE,OAAO,CAAA;IACtB,gBAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;CACzC,CAAA;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE;IACP,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;CACpC;;;;;;;;;;;;;;;gCADwB,GAAG,KAAK,IAAI;;;;;;;wBAoCjC,MAAM;;;EAqIhB"}
|