@spark-ui/collapsible 7.3.6 → 8.0.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [8.0.0](https://github.com/adevinta/spark/compare/v7.3.7...v8.0.0) (2025-01-13)
7
+
8
+ **Note:** Version bump only for package @spark-ui/collapsible
9
+
10
+ ## [7.3.7](https://github.com/adevinta/spark/compare/v7.3.6...v7.3.7) (2025-01-08)
11
+
12
+ **Note:** Version bump only for package @spark-ui/collapsible
13
+
6
14
  ## [7.3.6](https://github.com/adevinta/spark/compare/v7.3.5...v7.3.6) (2025-01-08)
7
15
 
8
16
  **Note:** Version bump only for package @spark-ui/collapsible
@@ -1,6 +1,6 @@
1
1
  import * as collapsible from '@zag-js/collapsible';
2
2
  import { type PropTypes } from '@zag-js/react';
3
- import { type ComponentProps } from 'react';
3
+ import { type ComponentProps, Ref } from 'react';
4
4
  export interface CollapsibleProps extends ComponentProps<'div'> {
5
5
  /**
6
6
  * Change the default rendered element for the one passed as a child, merging their props and behavior.
@@ -26,6 +26,10 @@ export interface CollapsibleProps extends ComponentProps<'div'> {
26
26
  * The ids of the elements in the collapsible. Useful for composition
27
27
  */
28
28
  ids?: collapsible.Context['ids'];
29
+ ref?: Ref<HTMLDivElement>;
29
30
  }
30
- export declare const Collapsible: import("react").ForwardRefExoticComponent<Omit<CollapsibleProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
31
+ export declare const Collapsible: {
32
+ ({ asChild, children, defaultOpen, disabled, onOpenChange, open, ids, ref, ...props }: CollapsibleProps): import("react").JSX.Element;
33
+ displayName: string;
34
+ };
31
35
  export declare const useCollapsibleContext: () => collapsible.Api<PropTypes>;
@@ -1,5 +1,9 @@
1
- import { type ComponentPropsWithoutRef } from 'react';
1
+ import { type ComponentPropsWithoutRef, Ref } from 'react';
2
2
  export interface CollapsibleContentProps extends ComponentPropsWithoutRef<'div'> {
3
3
  asChild?: boolean;
4
+ ref?: Ref<HTMLDivElement>;
4
5
  }
5
- export declare const Content: import("react").ForwardRefExoticComponent<CollapsibleContentProps & import("react").RefAttributes<HTMLDivElement>>;
6
+ export declare const Content: {
7
+ ({ asChild, className, children, ref, ...props }: CollapsibleContentProps): import("react").JSX.Element;
8
+ displayName: string;
9
+ };
@@ -1,5 +1,9 @@
1
- import { type ComponentPropsWithoutRef } from 'react';
1
+ import { type ComponentPropsWithoutRef, Ref } from 'react';
2
2
  export interface CollapsibleTriggerProps extends ComponentPropsWithoutRef<'button'> {
3
3
  asChild?: boolean;
4
+ ref?: Ref<HTMLButtonElement>;
4
5
  }
5
- export declare const Trigger: import("react").ForwardRefExoticComponent<CollapsibleTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
6
+ export declare const Trigger: {
7
+ ({ asChild, children, ref, ...props }: CollapsibleTriggerProps): import("react").JSX.Element;
8
+ displayName: string;
9
+ };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),q=require("@spark-ui/internal-utils"),p=require("@spark-ui/slot"),E=require("@zag-js/collapsible"),i=require("@zag-js/react"),T=require("class-variance-authority");function x(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const f=x(E),h=o.createContext(null),y=o.forwardRef(({asChild:e=!1,children:n,defaultOpen:t=!1,disabled:r=!1,onOpenChange:l,open:a,ids:s,...d},c)=>{const m={"open.controlled":a!==void 0,open:t||a,disabled:r,id:o.useId(),ids:s},v={...m,onOpenChange:q.useEvent(j=>{l?.(j.open)},{sync:!0}),open:a,disabled:r},[O,N]=i.useMachine(f.machine(m),{context:v}),b=f.connect(O,N,i.normalizeProps),w=e?p.Slot:"div",S=i.mergeProps(b.getRootProps(),d);return o.createElement(h.Provider,{value:b},o.createElement(w,{"data-spark-component":"collapsible",ref:c,...S},n))});y.displayName="Collapsible";const P=()=>{const e=o.useContext(h);if(!e)throw Error("useCollapsibleContext must be used within a Collapsible provider");return e},u=o.forwardRef(({asChild:e=!1,className:n,children:t,...r},l)=>{const{getContentProps:a}=P(),s=e?p.Slot:"div",d=a(),c=i.mergeProps(d,{className:T.cx("overflow-hidden","motion-reduce:!animate-none","[&[hidden]]:hidden","data-[state=open]:animate-standalone-collapse-in data-[state=closed]:animate-standalone-collapse-out",n),...r});return o.createElement(s,{ref:l,"data-spark-component":"collapsible-content",...c},t)});u.displayName="Collapsible.Content";const g=o.forwardRef(({asChild:e=!1,children:n,...t},r)=>{const l=P(),a=e?p.Slot:"button",s=i.mergeProps(l.getTriggerProps(),t);return o.createElement(a,{ref:r,"data-spark-component":"collapsible-trigger",...s},n)});g.displayName="Collapsible.Trigger";const C=Object.assign(y,{Trigger:g,Content:u});C.displayName="Collapsible",g.displayName="Collapsible.Trigger",u.displayName="Collapsible.Content",exports.Collapsible=C;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),E=require("@spark-ui/internal-utils"),p=require("@spark-ui/slot"),T=require("@zag-js/collapsible"),i=require("@zag-js/react"),x=require("class-variance-authority");function w(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const C=w(T),h=r.createContext(null),y=({asChild:e=!1,children:n,defaultOpen:t=!1,disabled:o=!1,onOpenChange:a,open:l,ids:s,ref:c,...d})=>{const m={"open.controlled":l!==void 0,open:t||l,disabled:o,id:r.useId(),ids:s},v={...m,onOpenChange:E.useEvent(q=>{a?.(q.open)},{sync:!0}),open:l,disabled:o},[O,N]=i.useMachine(C.machine(m),{context:v}),b=C.connect(O,N,i.normalizeProps),S=e?p.Slot:"div",j=i.mergeProps(b.getRootProps(),d);return r.createElement(h.Provider,{value:b},r.createElement(S,{"data-spark-component":"collapsible",ref:c,...j},n))};y.displayName="Collapsible";const P=()=>{const e=r.useContext(h);if(!e)throw Error("useCollapsibleContext must be used within a Collapsible provider");return e},u=({asChild:e=!1,className:n,children:t,ref:o,...a})=>{const{getContentProps:l}=P(),s=e?p.Slot:"div",c=l(),d=i.mergeProps(c,{className:x.cx("overflow-hidden","motion-reduce:!animate-none","[&[hidden]]:hidden","data-[state=open]:animate-standalone-collapse-in data-[state=closed]:animate-standalone-collapse-out",n),...a});return r.createElement(s,{ref:o,"data-spark-component":"collapsible-content",...d},t)};u.displayName="Collapsible.Content";const g=({asChild:e=!1,children:n,ref:t,...o})=>{const a=P(),l=e?p.Slot:"button",s=i.mergeProps(a.getTriggerProps(),o);return r.createElement(l,{ref:t,"data-spark-component":"collapsible-trigger",...s},n)};g.displayName="Collapsible.Trigger";const f=Object.assign(y,{Trigger:g,Content:u});f.displayName="Collapsible",g.displayName="Collapsible.Trigger",u.displayName="Collapsible.Content",exports.Collapsible=f;
package/dist/index.mjs CHANGED
@@ -1,33 +1,33 @@
1
- import r, { createContext as w, forwardRef as d, useId as T, useContext as R } from "react";
1
+ import r, { createContext as k, useId as T, useContext as w } from "react";
2
2
  import { useEvent as j } from "@spark-ui/internal-utils";
3
- import { Slot as c } from "@spark-ui/slot";
4
- import * as h from "@zag-js/collapsible";
5
- import { useMachine as z, normalizeProps as I, mergeProps as m } from "@zag-js/react";
3
+ import { Slot as d } from "@spark-ui/slot";
4
+ import * as g from "@zag-js/collapsible";
5
+ import { useMachine as z, normalizeProps as I, mergeProps as c } from "@zag-js/react";
6
6
  import { cx as M } from "class-variance-authority";
7
- const f = w(null), v = d(({ asChild: e = !1, children: t, defaultOpen: n = !1, disabled: o = !1, onOpenChange: s, open: a, ids: l, ...i }, p) => {
8
- const u = { "open.controlled": a !== void 0, open: n || a, disabled: o, id: T(), ids: l }, y = { ...u, onOpenChange: j((k) => {
9
- s?.(k.open);
10
- }, { sync: !0 }), open: a, disabled: o }, [E, x] = z(h.machine(u), { context: y }), g = h.connect(E, x, I), P = e ? c : "div", O = m(g.getRootProps(), i);
11
- return r.createElement(f.Provider, { value: g }, r.createElement(P, { "data-spark-component": "collapsible", ref: p, ...O }, t));
12
- });
13
- v.displayName = "Collapsible";
14
- const N = () => {
15
- const e = R(f);
7
+ const h = k(null), f = ({ asChild: e = !1, children: t, defaultOpen: n = !1, disabled: o = !1, onOpenChange: s, open: a, ids: l, ref: i, ...p }) => {
8
+ const b = { "open.controlled": a !== void 0, open: n || a, disabled: o, id: T(), ids: l }, N = { ...b, onOpenChange: j((O) => {
9
+ s?.(O.open);
10
+ }, { sync: !0 }), open: a, disabled: o }, [y, E] = z(g.machine(b), { context: N }), u = g.connect(y, E, I), x = e ? d : "div", P = c(u.getRootProps(), p);
11
+ return r.createElement(h.Provider, { value: u }, r.createElement(x, { "data-spark-component": "collapsible", ref: i, ...P }, t));
12
+ };
13
+ f.displayName = "Collapsible";
14
+ const v = () => {
15
+ const e = w(h);
16
16
  if (!e)
17
17
  throw Error("useCollapsibleContext must be used within a Collapsible provider");
18
18
  return e;
19
- }, C = d(({ asChild: e = !1, className: t, children: n, ...o }, s) => {
20
- const { getContentProps: a } = N(), l = e ? c : "div", i = a(), p = m(i, { className: M("overflow-hidden", "motion-reduce:!animate-none", "[&[hidden]]:hidden", "data-[state=open]:animate-standalone-collapse-in data-[state=closed]:animate-standalone-collapse-out", t), ...o });
21
- return r.createElement(l, { ref: s, "data-spark-component": "collapsible-content", ...p }, n);
22
- });
23
- C.displayName = "Collapsible.Content";
24
- const b = d(({ asChild: e = !1, children: t, ...n }, o) => {
25
- const s = N(), a = e ? c : "button", l = m(s.getTriggerProps(), n);
26
- return r.createElement(a, { ref: o, "data-spark-component": "collapsible-trigger", ...l }, t);
27
- });
28
- b.displayName = "Collapsible.Trigger";
29
- const S = Object.assign(v, { Trigger: b, Content: C });
30
- S.displayName = "Collapsible", b.displayName = "Collapsible.Trigger", C.displayName = "Collapsible.Content";
19
+ }, m = ({ asChild: e = !1, className: t, children: n, ref: o, ...s }) => {
20
+ const { getContentProps: a } = v(), l = e ? d : "div", i = a(), p = c(i, { className: M("overflow-hidden", "motion-reduce:!animate-none", "[&[hidden]]:hidden", "data-[state=open]:animate-standalone-collapse-in data-[state=closed]:animate-standalone-collapse-out", t), ...s });
21
+ return r.createElement(l, { ref: o, "data-spark-component": "collapsible-content", ...p }, n);
22
+ };
23
+ m.displayName = "Collapsible.Content";
24
+ const C = ({ asChild: e = !1, children: t, ref: n, ...o }) => {
25
+ const s = v(), a = e ? d : "button", l = c(s.getTriggerProps(), o);
26
+ return r.createElement(a, { ref: n, "data-spark-component": "collapsible-trigger", ...l }, t);
27
+ };
28
+ C.displayName = "Collapsible.Trigger";
29
+ const R = Object.assign(f, { Trigger: C, Content: m });
30
+ R.displayName = "Collapsible", C.displayName = "Collapsible.Trigger", m.displayName = "Collapsible.Content";
31
31
  export {
32
- S as Collapsible
32
+ R as Collapsible
33
33
  };
@@ -118,6 +118,25 @@
118
118
  "type": {
119
119
  "name": "Partial<{ root: string; content: string; trigger: string; }>"
120
120
  }
121
+ },
122
+ "ref": {
123
+ "defaultValue": null,
124
+ "description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).",
125
+ "name": "ref",
126
+ "parent": {
127
+ "fileName": "collapsible/src/Collapsible.tsx",
128
+ "name": "CollapsibleProps"
129
+ },
130
+ "declarations": [
131
+ {
132
+ "fileName": "collapsible/src/Collapsible.tsx",
133
+ "name": "CollapsibleProps"
134
+ }
135
+ ],
136
+ "required": false,
137
+ "type": {
138
+ "name": "Ref<HTMLDivElement>"
139
+ }
121
140
  }
122
141
  }
123
142
  },
@@ -147,6 +166,25 @@
147
166
  "type": {
148
167
  "name": "boolean"
149
168
  }
169
+ },
170
+ "ref": {
171
+ "defaultValue": null,
172
+ "description": "",
173
+ "name": "ref",
174
+ "parent": {
175
+ "fileName": "collapsible/src/CollapsibleContent.tsx",
176
+ "name": "CollapsibleContentProps"
177
+ },
178
+ "declarations": [
179
+ {
180
+ "fileName": "collapsible/src/CollapsibleContent.tsx",
181
+ "name": "CollapsibleContentProps"
182
+ }
183
+ ],
184
+ "required": false,
185
+ "type": {
186
+ "name": "Ref<HTMLDivElement>"
187
+ }
150
188
  }
151
189
  }
152
190
  },
@@ -176,6 +214,25 @@
176
214
  "type": {
177
215
  "name": "boolean"
178
216
  }
217
+ },
218
+ "ref": {
219
+ "defaultValue": null,
220
+ "description": "",
221
+ "name": "ref",
222
+ "parent": {
223
+ "fileName": "collapsible/src/CollapsibleTrigger.tsx",
224
+ "name": "CollapsibleTriggerProps"
225
+ },
226
+ "declarations": [
227
+ {
228
+ "fileName": "collapsible/src/CollapsibleTrigger.tsx",
229
+ "name": "CollapsibleTriggerProps"
230
+ }
231
+ ],
232
+ "required": false,
233
+ "type": {
234
+ "name": "Ref<HTMLButtonElement>"
235
+ }
179
236
  }
180
237
  }
181
238
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spark-ui/collapsible",
3
- "version": "7.3.6",
3
+ "version": "8.0.0",
4
4
  "description": "An interactive component which expands/collapses a panel.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -45,10 +45,10 @@
45
45
  "homepage": "https://sparkui.vercel.app",
46
46
  "license": "MIT",
47
47
  "dependencies": {
48
- "@spark-ui/internal-utils": "^7.3.6",
49
- "@spark-ui/slot": "^7.3.6",
50
- "@zag-js/collapsible": "0.78.2",
51
- "@zag-js/react": "0.78.2"
48
+ "@spark-ui/internal-utils": "^8.0.0",
49
+ "@spark-ui/slot": "^8.0.0",
50
+ "@zag-js/collapsible": "0.81.0",
51
+ "@zag-js/react": "0.81.0"
52
52
  },
53
- "gitHead": "969983868f32c57cf6d6ffc838de66b51fa4163d"
53
+ "gitHead": "309903aa55f44ebd43d2a1fe43691f110a5036ea"
54
54
  }