@tamagui/collapsible 1.63.0 → 1.64.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.
@@ -0,0 +1,96 @@
1
+ import { AnimatePresence } from "@tamagui/animate-presence";
2
+ import { createContextScope } from "@tamagui/create-context";
3
+ import { useControllableState } from "@tamagui/use-controllable-state";
4
+ import {
5
+ Stack,
6
+ composeEventHandlers,
7
+ styled,
8
+ withStaticProperties
9
+ } from "@tamagui/web";
10
+ import * as React from "react";
11
+ import { jsx } from "react/jsx-runtime";
12
+ const COLLAPSIBLE_NAME = "Collapsible", [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME), [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME), _Collapsible = React.forwardRef(
13
+ (props, forwardedRef) => {
14
+ const {
15
+ __scopeCollapsible,
16
+ open: openProp,
17
+ defaultOpen,
18
+ disabled,
19
+ onOpenChange,
20
+ ...collapsibleProps
21
+ } = props, [open = !1, setOpen] = useControllableState({
22
+ prop: openProp,
23
+ defaultProp: defaultOpen,
24
+ onChange: onOpenChange
25
+ });
26
+ return /* @__PURE__ */ jsx(
27
+ CollapsibleProvider,
28
+ {
29
+ scope: __scopeCollapsible,
30
+ disabled,
31
+ contentId: React.useId(),
32
+ open,
33
+ onOpenToggle: React.useCallback(
34
+ () => setOpen((prevOpen) => !prevOpen),
35
+ [setOpen]
36
+ ),
37
+ children: /* @__PURE__ */ jsx(
38
+ Stack,
39
+ {
40
+ "data-state": getState(open),
41
+ "data-disabled": disabled ? "" : void 0,
42
+ ...collapsibleProps,
43
+ ref: forwardedRef
44
+ }
45
+ )
46
+ }
47
+ );
48
+ }
49
+ );
50
+ _Collapsible.displayName = COLLAPSIBLE_NAME;
51
+ const TRIGGER_NAME = "CollapsibleTrigger", CollapsibleTriggerFrame = styled(Stack, {
52
+ name: TRIGGER_NAME,
53
+ tag: "button"
54
+ }), CollapsibleTrigger = CollapsibleTriggerFrame.styleable(
55
+ (props, forwardedRef) => {
56
+ const { __scopeCollapsible, children, ...triggerProps } = props, context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);
57
+ return /* @__PURE__ */ jsx(
58
+ CollapsibleTriggerFrame,
59
+ {
60
+ "aria-controls": context.contentId,
61
+ "aria-expanded": context.open || !1,
62
+ "data-state": getState(context.open),
63
+ "data-disabled": context.disabled ? "" : void 0,
64
+ disabled: context.disabled,
65
+ ...triggerProps,
66
+ ref: forwardedRef,
67
+ onPress: composeEventHandlers(props.onPress, context.onOpenToggle),
68
+ children: typeof children == "function" ? children({ open: context.open }) : children
69
+ }
70
+ );
71
+ }
72
+ );
73
+ CollapsibleTrigger.displayName = TRIGGER_NAME;
74
+ const CONTENT_NAME = "CollapsibleContent", CollapsibleContentFrame = styled(Stack, {
75
+ name: CONTENT_NAME
76
+ }), CollapsibleContent = CollapsibleContentFrame.styleable((props, forwardedRef) => {
77
+ const { forceMount, children, __scopeCollapsible, ...contentProps } = props, context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);
78
+ return /* @__PURE__ */ jsx(AnimatePresence, { ...contentProps, children: forceMount || context.open ? /* @__PURE__ */ jsx(CollapsibleContentFrame, { ref: forwardedRef, ...contentProps, children }) : null });
79
+ });
80
+ CollapsibleContent.displayName = CONTENT_NAME;
81
+ function getState(open) {
82
+ return open ? "open" : "closed";
83
+ }
84
+ const Collapsible = withStaticProperties(_Collapsible, {
85
+ Trigger: CollapsibleTrigger,
86
+ Content: CollapsibleContent
87
+ });
88
+ export {
89
+ Collapsible,
90
+ CollapsibleContent,
91
+ CollapsibleContentFrame,
92
+ CollapsibleTrigger,
93
+ CollapsibleTriggerFrame,
94
+ createCollapsibleScope
95
+ };
96
+ //# sourceMappingURL=Collapsible.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Collapsible.tsx"],
4
- "mappings": "AAAO,MAAM,cAAc,CAAC;",
4
+ "mappings": "AAAA,SAAS,uBAA6C;AAEtD,SAAS,0BAA0B;AAEnC,SAAS,4BAA4B;AACrC;AAAA,EAEE;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,YAAY,WAAW;AAyDf;AAnDR,MAAM,mBAAmB,eAGnB,CAAC,0BAA0B,sBAAsB,IACrD,mBAAmB,gBAAgB,GAS/B,CAAC,qBAAqB,qBAAqB,IAC/C,yBAAkD,gBAAgB,GAS9D,eAAe,MAAM;AAAA,EACzB,CAAC,OAAO,iBAAiB;AACvB,UAAM;AAAA,MACJ;AAAA,MACA,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI,OAEE,CAAC,OAAO,IAAO,OAAO,IAAI,qBAAqB;AAAA,MACnD,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ,CAAC;AAED,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,QACP;AAAA,QACA,WAAW,MAAM,MAAM;AAAA,QACvB;AAAA,QACA,cAAc,MAAM;AAAA,UAClB,MAAM,QAAQ,CAAC,aAAa,CAAC,QAAQ;AAAA,UACrC,CAAC,OAAO;AAAA,QACV;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,cAAY,SAAS,IAAI;AAAA,YACzB,iBAAe,WAAW,KAAK;AAAA,YAC9B,GAAG;AAAA,YACJ,KAAK;AAAA;AAAA,QACP;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,aAAa,cAAc;AAM3B,MAAM,eAAe,sBAIf,0BAA0B,OAAO,OAAO;AAAA,EAC5C,MAAM;AAAA,EACN,KAAK;AACP,CAAC,GAEK,qBAAqB,wBAAwB;AAAA,EACjD,CAAC,OAA6C,iBAAiB;AAC7D,UAAM,EAAE,oBAAoB,UAAU,GAAG,aAAa,IAAI,OACpD,UAAU,sBAAsB,cAAc,kBAAkB;AAEtE,WACE;AAAA,MAAC;AAAA;AAAA,QACC,iBAAe,QAAQ;AAAA,QACvB,iBAAe,QAAQ,QAAQ;AAAA,QAC/B,cAAY,SAAS,QAAQ,IAAI;AAAA,QACjC,iBAAe,QAAQ,WAAW,KAAK;AAAA,QACvC,UAAU,QAAQ;AAAA,QACjB,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,SAAS,qBAAqB,MAAM,SAAgB,QAAQ,YAAY;AAAA,QAEvE,iBAAO,YAAa,aAAa,SAAS,EAAE,MAAM,QAAQ,KAAK,CAAC,IAAI;AAAA;AAAA,IACvE;AAAA,EAEJ;AACF;AAEA,mBAAmB,cAAc;AAcjC,MAAM,eAAe,sBAEf,0BAA0B,OAAO,OAAO;AAAA,EAC5C,MAAM;AACR,CAAC,GAEK,qBAAqB,wBAAwB,UAEjD,CAAC,OAAO,iBAAiB;AACzB,QAAM,EAAE,YAAY,UAAU,oBAAoB,GAAG,aAAa,IAAI,OAChE,UAAU,sBAAsB,cAAc,kBAAkB;AAEtE,SACE,oBAAC,mBAAiB,GAAG,cAClB,wBAAc,QAAQ,OACrB,oBAAC,2BAAwB,KAAK,cAAe,GAAG,cAC7C,UACH,IACE,MACN;AAEJ,CAAC;AAED,mBAAmB,cAAc;AAIjC,SAAS,SAAS,MAAgB;AAChC,SAAO,OAAO,SAAS;AACzB;AAEA,MAAM,cAAc,qBAAqB,cAAc;AAAA,EACrD,SAAS;AAAA,EACT,SAAS;AACX,CAAC;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,2 @@
1
+ export * from "./Collapsible";
2
+ //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/collapsible",
3
- "version": "1.63.0",
3
+ "version": "1.64.0",
4
4
  "sideEffects": false,
5
5
  "source": "src/index.ts",
6
6
  "types": "./types/index.d.ts",
@@ -17,19 +17,19 @@
17
17
  "watch": "tamagui-build --watch"
18
18
  },
19
19
  "dependencies": {
20
- "@tamagui/animate-presence": "1.63.0",
21
- "@tamagui/compose-refs": "1.63.0",
22
- "@tamagui/core": "1.63.0",
23
- "@tamagui/create-context": "1.63.0",
24
- "@tamagui/polyfill-dev": "1.63.0",
25
- "@tamagui/stacks": "1.63.0",
26
- "@tamagui/use-controllable-state": "1.63.0"
20
+ "@tamagui/animate-presence": "1.64.0",
21
+ "@tamagui/compose-refs": "1.64.0",
22
+ "@tamagui/core": "1.64.0",
23
+ "@tamagui/create-context": "1.64.0",
24
+ "@tamagui/polyfill-dev": "1.64.0",
25
+ "@tamagui/stacks": "1.64.0",
26
+ "@tamagui/use-controllable-state": "1.64.0"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "react": "*"
30
30
  },
31
31
  "devDependencies": {
32
- "@tamagui/build": "1.63.0",
32
+ "@tamagui/build": "1.64.0",
33
33
  "react": "^18.2.0"
34
34
  },
35
35
  "publishConfig": {