@radix-ui/react-accordion 0.1.7-rc.1 → 0.1.7-rc.4

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/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export interface AccordionSingleProps extends AccordionImplSingleProps {
9
9
  export interface AccordionMultipleProps extends AccordionImplMultipleProps {
10
10
  type: 'multiple';
11
11
  }
12
- export const Accordion: React.ForwardRefExoticComponent<(AccordionSingleProps & React.RefAttributes<HTMLDivElement>) | (AccordionMultipleProps & React.RefAttributes<HTMLDivElement>)>;
12
+ export const Accordion: React.ForwardRefExoticComponent<(AccordionSingleProps | AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
13
13
  interface AccordionImplSingleProps extends AccordionImplProps {
14
14
  /**
15
15
  * The controlled stateful value of the accordion item whose content is expanded.
@@ -94,7 +94,7 @@ export interface AccordionContentProps extends CollapsibleContentProps {
94
94
  * `AccordionContent` contains the collapsible content for an `AccordionItem`.
95
95
  */
96
96
  export const AccordionContent: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
97
- export const Root: React.ForwardRefExoticComponent<(AccordionSingleProps & React.RefAttributes<HTMLDivElement>) | (AccordionMultipleProps & React.RefAttributes<HTMLDivElement>)>;
97
+ export const Root: React.ForwardRefExoticComponent<(AccordionSingleProps | AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
98
98
  export const Item: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
99
99
  export const Header: React.ForwardRefExoticComponent<AccordionHeaderProps & React.RefAttributes<HTMLHeadingElement>>;
100
100
  export const Trigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
@@ -1 +1 @@
1
- {"mappings":"A;A;A;A;AAyBA,OAAA,2FAGE,CAAC;AAIH,qCAA+B,SAAQ,wBAAwB;IAC7D,IAAI,EAAE,QAAQ,CAAC;CAChB;AACD,uCAAiC,SAAQ,0BAA0B;IACjE,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,OAAA,MAAM,yKAeL,CAAC;AA2CF,kCAAmC,SAAQ,kBAAkB;IAC3D;A;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;A;A;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;A;OAEG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;A;A;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAoCD,oCAAqC,SAAQ,kBAAkB;IAC7D;A;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;A;A;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;A;OAEG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACvC;AAsDD,yBAAyB,MAAM,wBAAwB,CAAC,OAAO,UAAU,GAAG,CAAC,CAAC;AAC9E,4BAA6B,SAAQ,iBAAiB;IACpD;A;A;A;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAqED,wBAAwB,MAAM,wBAAwB,CAAC,OAAO,qBAAqB,IAAI,CAAC,CAAC;AACzF,mCACE,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,CAAC;IACvE;A;A;A;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;A;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;A;GAEG;AACH,OAAA,MAAM,wGAmCL,CAAC;AAWF,8BAA8B,MAAM,wBAAwB,CAAC,OAAO,UAAU,EAAE,CAAC,CAAC;AAClF,qCAA+B,SAAQ,sBAAsB;CAAG;AAEhE;A;A;GAGG;AACH,OAAA,MAAM,gHAaL,CAAC;AAWF,+BAA+B,MAAM,wBAAwB,CAAC,OAAO,qBAAqB,OAAO,CAAC,CAAC;AACnG,sCAAgC,SAAQ,uBAAuB;CAAG;AAElE;A;A;GAGG;AACH,OAAA,MAAM,iHAkBL,CAAC;AAWF,+BAA+B,MAAM,wBAAwB,CAAC,OAAO,qBAAqB,OAAO,CAAC,CAAC;AACnG,sCAAgC,SAAQ,uBAAuB;CAAG;AAElE;A;GAEG;AACH,OAAA,MAAM,8GAoBL,CAAC;AAUF,OAAA,MAAM,oKAAgB,CAAC;AACvB,OAAA,MAAM,+FAAoB,CAAC;AAC3B,OAAA,MAAM,uGAAwB,CAAC;AAC/B,OAAA,MAAM,wGAA0B,CAAC;AACjC,OAAA,MAAM,qGAA0B,CAAC","sources":["./packages/react/accordion/src/packages/react/accordion/src/Accordion.tsx","./packages/react/accordion/src/packages/react/accordion/src/index.ts"],"sourcesContent":[null,null],"names":[],"version":3,"file":"index.d.ts.map"}
1
+ {"mappings":";;;;AAyBA,OAAA,2FAGE,CAAC;AAIH,qCAA+B,SAAQ,wBAAwB;IAC7D,IAAI,EAAE,QAAQ,CAAC;CAChB;AACD,uCAAiC,SAAQ,0BAA0B;IACjE,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,OAAA,MAAM,iIAeL,CAAC;AA2CF,kCAAmC,SAAQ,kBAAkB;IAC3D;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAoCD,oCAAqC,SAAQ,kBAAkB;IAC7D;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACvC;AAsDD,yBAAyB,MAAM,wBAAwB,CAAC,OAAO,UAAU,GAAG,CAAC,CAAC;AAC9E,4BAA6B,SAAQ,iBAAiB;IACpD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAqED,wBAAwB,MAAM,wBAAwB,CAAC,OAAO,qBAAqB,IAAI,CAAC,CAAC;AACzF,mCACE,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,CAAC;IACvE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,OAAA,MAAM,wGAmCL,CAAC;AAWF,8BAA8B,MAAM,wBAAwB,CAAC,OAAO,UAAU,EAAE,CAAC,CAAC;AAClF,qCAA+B,SAAQ,sBAAsB;CAAG;AAEhE;;;GAGG;AACH,OAAA,MAAM,gHAaL,CAAC;AAWF,+BAA+B,MAAM,wBAAwB,CAAC,OAAO,qBAAqB,OAAO,CAAC,CAAC;AACnG,sCAAgC,SAAQ,uBAAuB;CAAG;AAElE;;;GAGG;AACH,OAAA,MAAM,iHAkBL,CAAC;AAWF,+BAA+B,MAAM,wBAAwB,CAAC,OAAO,qBAAqB,OAAO,CAAC,CAAC;AACnG,sCAAgC,SAAQ,uBAAuB;CAAG;AAElE;;GAEG;AACH,OAAA,MAAM,8GAoBL,CAAC;AAUF,OAAA,MAAM,4HAAgB,CAAC;AACvB,OAAA,MAAM,+FAAoB,CAAC;AAC3B,OAAA,MAAM,uGAAwB,CAAC;AAC/B,OAAA,MAAM,wGAA0B,CAAC;AACjC,OAAA,MAAM,qGAA0B,CAAC","sources":["packages/react/accordion/src/packages/react/accordion/src/Accordion.tsx","packages/react/accordion/src/packages/react/accordion/src/index.ts","packages/react/accordion/src/index.ts"],"sourcesContent":[null,null,"export * from './Accordion';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
package/dist/index.js CHANGED
@@ -1,2 +1,323 @@
1
- var e,r,o=require("@radix-ui/react-id").useId,t=require("@radix-ui/react-collapsible"),n=(e={},r=t,Object.keys(r).forEach((function(o){"default"!==o&&"__esModule"!==o&&Object.defineProperty(e,o,{enumerable:!0,get:function(){return r[o]}})})),e),c=t.createCollapsibleScope,i=require("@radix-ui/react-primitive").Primitive,a=require("@radix-ui/react-use-controllable-state").useControllableState,l=require("@radix-ui/primitive").composeEventHandlers,d=require("@radix-ui/react-compose-refs").useComposedRefs,s=require("@radix-ui/react-collection").createCollection,p=require("@radix-ui/react-context").createContextScope,u=m(require("react")),f=m(require("@babel/runtime/helpers/extends"));function m(e){return e&&e.__esModule?e.default:e}const A=["Home","End","ArrowDown","ArrowUp"],[b,g,v]=s("Accordion"),[x,E]=p("Accordion",[v,c]);exports.createAccordionScope=E;const w=c(),y=/*#__PURE__*/u.forwardRef(((e,r)=>{const{type:o,...t}=e,n=t,c=t;/*#__PURE__*/return u.createElement(b.Provider,{scope:e.__scopeAccordion},"multiple"===o?/*#__PURE__*/u.createElement(q,f({},c,{ref:r})):/*#__PURE__*/u.createElement(R,f({},n,{ref:r})))}));exports.Accordion=y,y.propTypes={type(e){const r=e.value||e.defaultValue;return e.type&&!["single","multiple"].includes(e.type)?new Error("Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`."):"multiple"===e.type&&"string"==typeof r?new Error("Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`."):"single"===e.type&&Array.isArray(r)?new Error("Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`."):null}};const[_,C]=x("Accordion"),[I,h]=x("Accordion",{collapsible:!1}),R=/*#__PURE__*/u.forwardRef(((e,r)=>{const{value:o,defaultValue:t,onValueChange:n=(()=>{}),collapsible:c=!1,...i}=e,[l,d]=a({prop:o,defaultProp:t,onChange:n});/*#__PURE__*/return u.createElement(_,{scope:e.__scopeAccordion,value:l?[l]:[],onItemOpen:d,onItemClose:u.useCallback((()=>c&&d("")),[c,d])},/*#__PURE__*/u.createElement(I,{scope:e.__scopeAccordion,collapsible:c},/*#__PURE__*/u.createElement(H,f({},i,{ref:r}))))})),q=/*#__PURE__*/u.forwardRef(((e,r)=>{const{value:o,defaultValue:t,onValueChange:n=(()=>{}),...c}=e,[i=[],l]=a({prop:o,defaultProp:t,onChange:n}),d=u.useCallback((e=>l(((r=[])=>[...r,e]))),[l]),s=u.useCallback((e=>l(((r=[])=>r.filter((r=>r!==e))))),[l]);/*#__PURE__*/return u.createElement(_,{scope:e.__scopeAccordion,value:i,onItemOpen:d,onItemClose:s},/*#__PURE__*/u.createElement(I,{scope:e.__scopeAccordion,collapsible:!0},/*#__PURE__*/u.createElement(H,f({},c,{ref:r}))))})),[k,V]=x("Accordion"),H=/*#__PURE__*/u.forwardRef(((e,r)=>{const{__scopeAccordion:o,disabled:t,...n}=e,c=u.useRef(null),a=d(c,r),s=g(o),p=l(e.onKeyDown,(e=>{var r;if(!A.includes(e.key))return;const o=e.target,t=s().filter((e=>{var r;return!(null!==(r=e.ref.current)&&void 0!==r&&r.disabled)})),n=t.findIndex((e=>e.ref.current===o)),c=t.length;if(-1===n)return;e.preventDefault();let i=n;switch(e.key){case"Home":i=0;break;case"End":i=c-1;break;case"ArrowDown":i=n+1;break;case"ArrowUp":i=n-1,i<0&&(i=c-1)}null===(r=t[i%c].ref.current)||void 0===r||r.focus()}));/*#__PURE__*/return u.createElement(k,{scope:o,disabled:t},/*#__PURE__*/u.createElement(b.Slot,{scope:o},/*#__PURE__*/u.createElement(i.div,f({},n,{ref:a,onKeyDown:t?void 0:p}))))})),[O,S]=x("AccordionItem"),T=/*#__PURE__*/u.forwardRef(((e,r)=>{const{__scopeAccordion:t,value:c,...i}=e,a=V("AccordionItem",t),l=C("AccordionItem",t),d=w(t),s=o(),p=c&&l.value.includes(c)||!1,m=a.disabled||e.disabled;/*#__PURE__*/return u.createElement(O,{scope:t,open:p,disabled:m,triggerId:s},/*#__PURE__*/u.createElement(n.Root,f({"data-state":p?"open":"closed"},d,i,{ref:r,disabled:m,open:p,onOpenChange:e=>{e?l.onItemOpen(c):l.onItemClose(c)}})))}));exports.AccordionItem=T;const D=/*#__PURE__*/u.forwardRef(((e,r)=>{const{__scopeAccordion:o,...t}=e,n=S("AccordionHeader",o);/*#__PURE__*/return u.createElement(i.h3,f({"data-state":(c=n.open,c?"open":"closed"),"data-disabled":n.disabled?"":void 0},t,{ref:r}));var c}));exports.AccordionHeader=D;const P=/*#__PURE__*/u.forwardRef(((e,r)=>{const{__scopeAccordion:o,...t}=e,c=S("AccordionTrigger",o),i=h("AccordionTrigger",o),a=w(o);/*#__PURE__*/return u.createElement(b.ItemSlot,{scope:o},/*#__PURE__*/u.createElement(n.Trigger,f({"aria-disabled":c.open&&!i.collapsible||void 0,id:c.triggerId},a,t,{ref:r})))}));exports.AccordionTrigger=P;const j=/*#__PURE__*/u.forwardRef(((e,r)=>{const{__scopeAccordion:o,...t}=e,c=S("AccordionContent",o),i=w(o);/*#__PURE__*/return u.createElement(n.Content,f({role:"region","aria-labelledby":c.triggerId},i,t,{ref:r,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}}))}));exports.AccordionContent=j;const K=y;exports.Root=K;const M=T;exports.Item=M;const U=D;exports.Header=U;const z=P;exports.Trigger=z;const B=j;exports.Content=B;
1
+ var $47SRi$babelruntimehelpersextends = require("@babel/runtime/helpers/extends");
2
+ var $47SRi$react = require("react");
3
+ var $47SRi$radixuireactcontext = require("@radix-ui/react-context");
4
+ var $47SRi$radixuireactcollection = require("@radix-ui/react-collection");
5
+ var $47SRi$radixuireactcomposerefs = require("@radix-ui/react-compose-refs");
6
+ var $47SRi$radixuiprimitive = require("@radix-ui/primitive");
7
+ var $47SRi$radixuireactusecontrollablestate = require("@radix-ui/react-use-controllable-state");
8
+ var $47SRi$radixuireactprimitive = require("@radix-ui/react-primitive");
9
+ var $47SRi$radixuireactcollapsible = require("@radix-ui/react-collapsible");
10
+ var $47SRi$radixuireactid = require("@radix-ui/react-id");
11
+
12
+ function $parcel$exportWildcard(dest, source) {
13
+ Object.keys(source).forEach(function(key) {
14
+ if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) {
15
+ return;
16
+ }
17
+
18
+ Object.defineProperty(dest, key, {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return source[key];
22
+ }
23
+ });
24
+ });
25
+
26
+ return dest;
27
+ }
28
+ function $parcel$interopDefault(a) {
29
+ return a && a.__esModule ? a.default : a;
30
+ }
31
+ function $parcel$export(e, n, v, s) {
32
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
33
+ }
34
+ var $0f4a20de0660bfd8$exports = {};
35
+
36
+ $parcel$export($0f4a20de0660bfd8$exports, "createAccordionScope", () => $0f4a20de0660bfd8$export$9748edc328a73be1);
37
+ $parcel$export($0f4a20de0660bfd8$exports, "Accordion", () => $0f4a20de0660bfd8$export$a766cd26d0d69044);
38
+ $parcel$export($0f4a20de0660bfd8$exports, "AccordionItem", () => $0f4a20de0660bfd8$export$d99097c13d4dac9f);
39
+ $parcel$export($0f4a20de0660bfd8$exports, "AccordionHeader", () => $0f4a20de0660bfd8$export$5e3e5deaaf81ee41);
40
+ $parcel$export($0f4a20de0660bfd8$exports, "AccordionTrigger", () => $0f4a20de0660bfd8$export$94e939b1f85bdd73);
41
+ $parcel$export($0f4a20de0660bfd8$exports, "AccordionContent", () => $0f4a20de0660bfd8$export$985b9a77379b54a0);
42
+ $parcel$export($0f4a20de0660bfd8$exports, "Root", () => $0f4a20de0660bfd8$export$be92b6f5f03c0fe9);
43
+ $parcel$export($0f4a20de0660bfd8$exports, "Item", () => $0f4a20de0660bfd8$export$6d08773d2e66f8f2);
44
+ $parcel$export($0f4a20de0660bfd8$exports, "Header", () => $0f4a20de0660bfd8$export$8b251419efc915eb);
45
+ $parcel$export($0f4a20de0660bfd8$exports, "Trigger", () => $0f4a20de0660bfd8$export$41fb9f06171c75f4);
46
+ $parcel$export($0f4a20de0660bfd8$exports, "Content", () => $0f4a20de0660bfd8$export$7c6e2c02157bb7d2);
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+ /* -------------------------------------------------------------------------------------------------
59
+ * Accordion
60
+ * -----------------------------------------------------------------------------------------------*/ const $0f4a20de0660bfd8$var$ACCORDION_NAME = 'Accordion';
61
+ const $0f4a20de0660bfd8$var$ACCORDION_KEYS = [
62
+ 'Home',
63
+ 'End',
64
+ 'ArrowDown',
65
+ 'ArrowUp'
66
+ ];
67
+ const [$0f4a20de0660bfd8$var$Collection, $0f4a20de0660bfd8$var$useCollection, $0f4a20de0660bfd8$var$createCollectionScope] = $47SRi$radixuireactcollection.createCollection($0f4a20de0660bfd8$var$ACCORDION_NAME);
68
+ const [$0f4a20de0660bfd8$var$createAccordionContext, $0f4a20de0660bfd8$export$9748edc328a73be1] = $47SRi$radixuireactcontext.createContextScope($0f4a20de0660bfd8$var$ACCORDION_NAME, [
69
+ $0f4a20de0660bfd8$var$createCollectionScope,
70
+ $47SRi$radixuireactcollapsible.createCollapsibleScope
71
+ ]);
72
+ const $0f4a20de0660bfd8$var$useCollapsibleScope = $47SRi$radixuireactcollapsible.createCollapsibleScope();
73
+ const $0f4a20de0660bfd8$export$a766cd26d0d69044 = /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).forwardRef((props, forwardedRef)=>{
74
+ const { type: type , ...accordionProps } = props;
75
+ const singleProps = accordionProps;
76
+ const multipleProps = accordionProps;
77
+ return /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$Collection.Provider, {
78
+ scope: props.__scopeAccordion
79
+ }, type === 'multiple' ? /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$AccordionImplMultiple, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({}, multipleProps, {
80
+ ref: forwardedRef
81
+ })) : /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$AccordionImplSingle, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({}, singleProps, {
82
+ ref: forwardedRef
83
+ })));
84
+ });
85
+ /*#__PURE__*/ Object.assign($0f4a20de0660bfd8$export$a766cd26d0d69044, {
86
+ displayName: $0f4a20de0660bfd8$var$ACCORDION_NAME
87
+ });
88
+ $0f4a20de0660bfd8$export$a766cd26d0d69044.propTypes = {
89
+ type (props) {
90
+ const value = props.value || props.defaultValue;
91
+ if (props.type && ![
92
+ 'single',
93
+ 'multiple'
94
+ ].includes(props.type)) return new Error('Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`.');
95
+ if (props.type === 'multiple' && typeof value === 'string') return new Error('Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`.');
96
+ if (props.type === 'single' && Array.isArray(value)) return new Error('Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`.');
97
+ return null;
98
+ }
99
+ };
100
+ /* -----------------------------------------------------------------------------------------------*/ const [$0f4a20de0660bfd8$var$AccordionValueProvider, $0f4a20de0660bfd8$var$useAccordionValueContext] = $0f4a20de0660bfd8$var$createAccordionContext($0f4a20de0660bfd8$var$ACCORDION_NAME);
101
+ const [$0f4a20de0660bfd8$var$AccordionCollapsibleProvider, $0f4a20de0660bfd8$var$useAccordionCollapsibleContext] = $0f4a20de0660bfd8$var$createAccordionContext($0f4a20de0660bfd8$var$ACCORDION_NAME, {
102
+ collapsible: false
103
+ });
104
+ const $0f4a20de0660bfd8$var$AccordionImplSingle = /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).forwardRef((props, forwardedRef)=>{
105
+ const { value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange = ()=>{} , collapsible: collapsible = false , ...accordionSingleProps } = props;
106
+ const [value, setValue] = $47SRi$radixuireactusecontrollablestate.useControllableState({
107
+ prop: valueProp,
108
+ defaultProp: defaultValue,
109
+ onChange: onValueChange
110
+ });
111
+ return /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$AccordionValueProvider, {
112
+ scope: props.__scopeAccordion,
113
+ value: value ? [
114
+ value
115
+ ] : [],
116
+ onItemOpen: setValue,
117
+ onItemClose: ($parcel$interopDefault($47SRi$react)).useCallback(()=>collapsible && setValue('')
118
+ , [
119
+ collapsible,
120
+ setValue
121
+ ])
122
+ }, /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$AccordionCollapsibleProvider, {
123
+ scope: props.__scopeAccordion,
124
+ collapsible: collapsible
125
+ }, /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$AccordionImpl, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({}, accordionSingleProps, {
126
+ ref: forwardedRef
127
+ }))));
128
+ });
129
+ /* -----------------------------------------------------------------------------------------------*/ const $0f4a20de0660bfd8$var$AccordionImplMultiple = /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).forwardRef((props, forwardedRef)=>{
130
+ const { value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange = ()=>{} , ...accordionMultipleProps } = props;
131
+ const [value1 = [], setValue] = $47SRi$radixuireactusecontrollablestate.useControllableState({
132
+ prop: valueProp,
133
+ defaultProp: defaultValue,
134
+ onChange: onValueChange
135
+ });
136
+ const handleItemOpen = ($parcel$interopDefault($47SRi$react)).useCallback((itemValue)=>setValue((prevValue = [])=>[
137
+ ...prevValue,
138
+ itemValue
139
+ ]
140
+ )
141
+ , [
142
+ setValue
143
+ ]);
144
+ const handleItemClose = ($parcel$interopDefault($47SRi$react)).useCallback((itemValue)=>setValue((prevValue = [])=>prevValue.filter((value)=>value !== itemValue
145
+ )
146
+ )
147
+ , [
148
+ setValue
149
+ ]);
150
+ return /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$AccordionValueProvider, {
151
+ scope: props.__scopeAccordion,
152
+ value: value1,
153
+ onItemOpen: handleItemOpen,
154
+ onItemClose: handleItemClose
155
+ }, /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$AccordionCollapsibleProvider, {
156
+ scope: props.__scopeAccordion,
157
+ collapsible: true
158
+ }, /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$AccordionImpl, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({}, accordionMultipleProps, {
159
+ ref: forwardedRef
160
+ }))));
161
+ });
162
+ /* -----------------------------------------------------------------------------------------------*/ const [$0f4a20de0660bfd8$var$AccordionImplProvider, $0f4a20de0660bfd8$var$useAccordionContext] = $0f4a20de0660bfd8$var$createAccordionContext($0f4a20de0660bfd8$var$ACCORDION_NAME);
163
+ const $0f4a20de0660bfd8$var$AccordionImpl = /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).forwardRef((props, forwardedRef)=>{
164
+ const { __scopeAccordion: __scopeAccordion , disabled: disabled , ...accordionProps } = props;
165
+ const accordionRef = ($parcel$interopDefault($47SRi$react)).useRef(null);
166
+ const composedRefs = $47SRi$radixuireactcomposerefs.useComposedRefs(accordionRef, forwardedRef);
167
+ const getItems = $0f4a20de0660bfd8$var$useCollection(__scopeAccordion);
168
+ const handleKeyDown = $47SRi$radixuiprimitive.composeEventHandlers(props.onKeyDown, (event)=>{
169
+ var _triggerCollection$cl;
170
+ if (!$0f4a20de0660bfd8$var$ACCORDION_KEYS.includes(event.key)) return;
171
+ const target = event.target;
172
+ const triggerCollection = getItems().filter((item)=>{
173
+ var _item$ref$current;
174
+ return !((_item$ref$current = item.ref.current) !== null && _item$ref$current !== void 0 && _item$ref$current.disabled);
175
+ });
176
+ const triggerIndex = triggerCollection.findIndex((item)=>item.ref.current === target
177
+ );
178
+ const triggerCount = triggerCollection.length;
179
+ if (triggerIndex === -1) return; // Prevents page scroll while user is navigating
180
+ event.preventDefault();
181
+ let nextIndex = triggerIndex;
182
+ switch(event.key){
183
+ case 'Home':
184
+ nextIndex = 0;
185
+ break;
186
+ case 'End':
187
+ nextIndex = triggerCount - 1;
188
+ break;
189
+ case 'ArrowDown':
190
+ nextIndex = triggerIndex + 1;
191
+ break;
192
+ case 'ArrowUp':
193
+ nextIndex = triggerIndex - 1;
194
+ if (nextIndex < 0) nextIndex = triggerCount - 1;
195
+ break;
196
+ }
197
+ const clampedIndex = nextIndex % triggerCount;
198
+ (_triggerCollection$cl = triggerCollection[clampedIndex].ref.current) === null || _triggerCollection$cl === void 0 || _triggerCollection$cl.focus();
199
+ });
200
+ return /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$AccordionImplProvider, {
201
+ scope: __scopeAccordion,
202
+ disabled: disabled
203
+ }, /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$Collection.Slot, {
204
+ scope: __scopeAccordion
205
+ }, /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($47SRi$radixuireactprimitive.Primitive.div, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({}, accordionProps, {
206
+ ref: composedRefs,
207
+ onKeyDown: disabled ? undefined : handleKeyDown
208
+ }))));
209
+ });
210
+ /* -------------------------------------------------------------------------------------------------
211
+ * AccordionItem
212
+ * -----------------------------------------------------------------------------------------------*/ const $0f4a20de0660bfd8$var$ITEM_NAME = 'AccordionItem';
213
+ const [$0f4a20de0660bfd8$var$AccordionItemProvider, $0f4a20de0660bfd8$var$useAccordionItemContext] = $0f4a20de0660bfd8$var$createAccordionContext($0f4a20de0660bfd8$var$ITEM_NAME);
214
+ /**
215
+ * `AccordionItem` contains all of the parts of a collapsible section inside of an `Accordion`.
216
+ */ const $0f4a20de0660bfd8$export$d99097c13d4dac9f = /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).forwardRef((props, forwardedRef)=>{
217
+ const { __scopeAccordion: __scopeAccordion , value: value , ...accordionItemProps } = props;
218
+ const accordionContext = $0f4a20de0660bfd8$var$useAccordionContext($0f4a20de0660bfd8$var$ITEM_NAME, __scopeAccordion);
219
+ const valueContext = $0f4a20de0660bfd8$var$useAccordionValueContext($0f4a20de0660bfd8$var$ITEM_NAME, __scopeAccordion);
220
+ const collapsibleScope = $0f4a20de0660bfd8$var$useCollapsibleScope(__scopeAccordion);
221
+ const triggerId = $47SRi$radixuireactid.useId();
222
+ const open1 = value && valueContext.value.includes(value) || false;
223
+ const disabled = accordionContext.disabled || props.disabled;
224
+ return /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$AccordionItemProvider, {
225
+ scope: __scopeAccordion,
226
+ open: open1,
227
+ disabled: disabled,
228
+ triggerId: triggerId
229
+ }, /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($47SRi$radixuireactcollapsible.Root, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({
230
+ "data-state": open1 ? 'open' : 'closed'
231
+ }, collapsibleScope, accordionItemProps, {
232
+ ref: forwardedRef,
233
+ disabled: disabled,
234
+ open: open1,
235
+ onOpenChange: (open)=>{
236
+ if (open) valueContext.onItemOpen(value);
237
+ else valueContext.onItemClose(value);
238
+ }
239
+ })));
240
+ });
241
+ /*#__PURE__*/ Object.assign($0f4a20de0660bfd8$export$d99097c13d4dac9f, {
242
+ displayName: $0f4a20de0660bfd8$var$ITEM_NAME
243
+ });
244
+ /* -------------------------------------------------------------------------------------------------
245
+ * AccordionHeader
246
+ * -----------------------------------------------------------------------------------------------*/ const $0f4a20de0660bfd8$var$HEADER_NAME = 'AccordionHeader';
247
+ /**
248
+ * `AccordionHeader` contains the content for the parts of an `AccordionItem` that will be visible
249
+ * whether or not its content is collapsed.
250
+ */ const $0f4a20de0660bfd8$export$5e3e5deaaf81ee41 = /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).forwardRef((props, forwardedRef)=>{
251
+ const { __scopeAccordion: __scopeAccordion , ...headerProps } = props;
252
+ const itemContext = $0f4a20de0660bfd8$var$useAccordionItemContext($0f4a20de0660bfd8$var$HEADER_NAME, __scopeAccordion);
253
+ return /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($47SRi$radixuireactprimitive.Primitive.h3, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({
254
+ "data-state": $0f4a20de0660bfd8$var$getState(itemContext.open),
255
+ "data-disabled": itemContext.disabled ? '' : undefined
256
+ }, headerProps, {
257
+ ref: forwardedRef
258
+ }));
259
+ });
260
+ /*#__PURE__*/ Object.assign($0f4a20de0660bfd8$export$5e3e5deaaf81ee41, {
261
+ displayName: $0f4a20de0660bfd8$var$HEADER_NAME
262
+ });
263
+ /* -------------------------------------------------------------------------------------------------
264
+ * AccordionTrigger
265
+ * -----------------------------------------------------------------------------------------------*/ const $0f4a20de0660bfd8$var$TRIGGER_NAME = 'AccordionTrigger';
266
+ /**
267
+ * `AccordionTrigger` is the trigger that toggles the collapsed state of an `AccordionItem`. It
268
+ * should always be nested inside of an `AccordionHeader`.
269
+ */ const $0f4a20de0660bfd8$export$94e939b1f85bdd73 = /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).forwardRef((props, forwardedRef)=>{
270
+ const { __scopeAccordion: __scopeAccordion , ...triggerProps } = props;
271
+ const itemContext = $0f4a20de0660bfd8$var$useAccordionItemContext($0f4a20de0660bfd8$var$TRIGGER_NAME, __scopeAccordion);
272
+ const collapsibleContext = $0f4a20de0660bfd8$var$useAccordionCollapsibleContext($0f4a20de0660bfd8$var$TRIGGER_NAME, __scopeAccordion);
273
+ const collapsibleScope = $0f4a20de0660bfd8$var$useCollapsibleScope(__scopeAccordion);
274
+ return /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$Collection.ItemSlot, {
275
+ scope: __scopeAccordion
276
+ }, /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($47SRi$radixuireactcollapsible.Trigger, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({
277
+ "aria-disabled": itemContext.open && !collapsibleContext.collapsible || undefined,
278
+ id: itemContext.triggerId
279
+ }, collapsibleScope, triggerProps, {
280
+ ref: forwardedRef
281
+ })));
282
+ });
283
+ /*#__PURE__*/ Object.assign($0f4a20de0660bfd8$export$94e939b1f85bdd73, {
284
+ displayName: $0f4a20de0660bfd8$var$TRIGGER_NAME
285
+ });
286
+ /* -------------------------------------------------------------------------------------------------
287
+ * AccordionContent
288
+ * -----------------------------------------------------------------------------------------------*/ const $0f4a20de0660bfd8$var$CONTENT_NAME = 'AccordionContent';
289
+ /**
290
+ * `AccordionContent` contains the collapsible content for an `AccordionItem`.
291
+ */ const $0f4a20de0660bfd8$export$985b9a77379b54a0 = /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).forwardRef((props, forwardedRef)=>{
292
+ const { __scopeAccordion: __scopeAccordion , ...contentProps } = props;
293
+ const itemContext = $0f4a20de0660bfd8$var$useAccordionItemContext($0f4a20de0660bfd8$var$CONTENT_NAME, __scopeAccordion);
294
+ const collapsibleScope = $0f4a20de0660bfd8$var$useCollapsibleScope(__scopeAccordion);
295
+ return /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($47SRi$radixuireactcollapsible.Content, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({
296
+ role: "region",
297
+ "aria-labelledby": itemContext.triggerId
298
+ }, collapsibleScope, contentProps, {
299
+ ref: forwardedRef,
300
+ style: {
301
+ ['--radix-accordion-content-height']: 'var(--radix-collapsible-content-height)',
302
+ ['--radix-accordion-content-width']: 'var(--radix-collapsible-content-width)',
303
+ ...props.style
304
+ }
305
+ }));
306
+ });
307
+ /*#__PURE__*/ Object.assign($0f4a20de0660bfd8$export$985b9a77379b54a0, {
308
+ displayName: $0f4a20de0660bfd8$var$CONTENT_NAME
309
+ });
310
+ /* -----------------------------------------------------------------------------------------------*/ function $0f4a20de0660bfd8$var$getState(open) {
311
+ return open ? 'open' : 'closed';
312
+ }
313
+ const $0f4a20de0660bfd8$export$be92b6f5f03c0fe9 = $0f4a20de0660bfd8$export$a766cd26d0d69044;
314
+ const $0f4a20de0660bfd8$export$6d08773d2e66f8f2 = $0f4a20de0660bfd8$export$d99097c13d4dac9f;
315
+ const $0f4a20de0660bfd8$export$8b251419efc915eb = $0f4a20de0660bfd8$export$5e3e5deaaf81ee41;
316
+ const $0f4a20de0660bfd8$export$41fb9f06171c75f4 = $0f4a20de0660bfd8$export$94e939b1f85bdd73;
317
+ const $0f4a20de0660bfd8$export$7c6e2c02157bb7d2 = $0f4a20de0660bfd8$export$985b9a77379b54a0;
318
+
319
+
320
+ $parcel$exportWildcard(module.exports, $0f4a20de0660bfd8$exports);
321
+
322
+
2
323
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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","sources":["./node_modules/@parcel/scope-hoisting/lib/helpers.js","./packages/react/accordion/src/Accordion.tsx"],"sourcesContent":["function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n}\n\nfunction $parcel$reexport(e, n, v) {\n Object.defineProperty(e, n, {get: v, enumerable: true});\n}\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule') {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n },\n });\n });\n\n return dest;\n}\n\nfunction $parcel$missingModule(name) {\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n}\n\nvar $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n","import React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\nimport { createCollapsibleScope } from '@radix-ui/react-collapsible';\nimport { useId } from '@radix-ui/react-id';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Accordion\n * -----------------------------------------------------------------------------------------------*/\n\nconst ACCORDION_NAME = 'Accordion';\nconst ACCORDION_KEYS = ['Home', 'End', 'ArrowDown', 'ArrowUp'];\n\nconst [Collection, useCollection, createCollectionScope] =\n createCollection<AccordionTriggerElement>(ACCORDION_NAME);\n\ntype ScopedProps<P> = P & { __scopeAccordion?: Scope };\nconst [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope,\n]);\nconst useCollapsibleScope = createCollapsibleScope();\n\ntype AccordionElement = AccordionImplMultipleElement | AccordionImplSingleElement;\ninterface AccordionSingleProps extends AccordionImplSingleProps {\n type: 'single';\n}\ninterface AccordionMultipleProps extends AccordionImplMultipleProps {\n type: 'multiple';\n}\n\nconst Accordion = React.forwardRef<AccordionElement, AccordionSingleProps | AccordionMultipleProps>(\n (props: ScopedProps<AccordionSingleProps | AccordionMultipleProps>, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps as AccordionImplSingleProps;\n const multipleProps = accordionProps as AccordionImplMultipleProps;\n return (\n <Collection.Provider scope={props.__scopeAccordion}>\n {type === 'multiple' ? (\n <AccordionImplMultiple {...multipleProps} ref={forwardedRef} />\n ) : (\n <AccordionImplSingle {...singleProps} ref={forwardedRef} />\n )}\n </Collection.Provider>\n );\n }\n);\n\nAccordion.displayName = ACCORDION_NAME;\n\nAccordion.propTypes = {\n type(props) {\n const value = props.value || props.defaultValue;\n if (props.type && !['single', 'multiple'].includes(props.type)) {\n return new Error(\n 'Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`.'\n );\n }\n if (props.type === 'multiple' && typeof value === 'string') {\n return new Error(\n 'Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`.'\n );\n }\n if (props.type === 'single' && Array.isArray(value)) {\n return new Error(\n 'Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`.'\n );\n }\n return null;\n },\n};\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionValueContextValue = {\n value: string[];\n onItemOpen(value: string): void;\n onItemClose(value: string): void;\n};\n\nconst [AccordionValueProvider, useAccordionValueContext] =\n createAccordionContext<AccordionValueContextValue>(ACCORDION_NAME);\n\nconst [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\n\ntype AccordionImplSingleElement = AccordionImplElement;\ninterface AccordionImplSingleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion item whose content is expanded.\n */\n value?: string;\n /**\n * The value of the item whose content is expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string;\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string): void;\n /**\n * Whether an accordion item can be collapsed after it has been opened.\n * @default false\n */\n collapsible?: boolean;\n}\n\nconst AccordionImplSingle = React.forwardRef<AccordionImplSingleElement, AccordionImplSingleProps>(\n (props: ScopedProps<AccordionImplSingleProps>, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n collapsible = false,\n ...accordionSingleProps\n } = props;\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n <AccordionValueProvider\n scope={props.__scopeAccordion}\n value={value ? [value] : []}\n onItemOpen={setValue}\n onItemClose={React.useCallback(() => collapsible && setValue(''), [collapsible, setValue])}\n >\n <AccordionCollapsibleProvider scope={props.__scopeAccordion} collapsible={collapsible}>\n <AccordionImpl {...accordionSingleProps} ref={forwardedRef} />\n </AccordionCollapsibleProvider>\n </AccordionValueProvider>\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplMultipleElement = AccordionImplElement;\ninterface AccordionImplMultipleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion items whose contents are expanded.\n */\n value?: string[];\n /**\n * The value of the items whose contents are expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string[];\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string[]): void;\n}\n\nconst AccordionImplMultiple = React.forwardRef<\n AccordionImplMultipleElement,\n AccordionImplMultipleProps\n>((props: ScopedProps<AccordionImplMultipleProps>, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n ...accordionMultipleProps\n } = props;\n\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const handleItemOpen = React.useCallback(\n (itemValue: string) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n\n const handleItemClose = React.useCallback(\n (itemValue: string) =>\n setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),\n [setValue]\n );\n\n return (\n <AccordionValueProvider\n scope={props.__scopeAccordion}\n value={value}\n onItemOpen={handleItemOpen}\n onItemClose={handleItemClose}\n >\n <AccordionCollapsibleProvider scope={props.__scopeAccordion} collapsible={true}>\n <AccordionImpl {...accordionMultipleProps} ref={forwardedRef} />\n </AccordionCollapsibleProvider>\n </AccordionValueProvider>\n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplContextValue = {\n disabled?: boolean;\n};\n\nconst [AccordionImplProvider, useAccordionContext] =\n createAccordionContext<AccordionImplContextValue>(ACCORDION_NAME);\n\ntype AccordionImplElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface AccordionImplProps extends PrimitiveDivProps {\n /**\n * Whether or not an accordion is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n}\n\nconst AccordionImpl = React.forwardRef<AccordionImplElement, AccordionImplProps>(\n (props: ScopedProps<AccordionImplProps>, forwardedRef) => {\n const { __scopeAccordion, disabled, ...accordionProps } = props;\n const accordionRef = React.useRef<AccordionImplElement>(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target as HTMLElement;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n\n if (triggerIndex === -1) return;\n\n // Prevents page scroll while user is navigating\n event.preventDefault();\n\n let nextIndex = triggerIndex;\n switch (event.key) {\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = triggerCount - 1;\n break;\n case 'ArrowDown':\n nextIndex = triggerIndex + 1;\n break;\n case 'ArrowUp':\n nextIndex = triggerIndex - 1;\n if (nextIndex < 0) {\n nextIndex = triggerCount - 1;\n }\n break;\n }\n\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n\n return (\n <AccordionImplProvider scope={__scopeAccordion} disabled={disabled}>\n <Collection.Slot scope={__scopeAccordion}>\n <Primitive.div\n {...accordionProps}\n ref={composedRefs}\n onKeyDown={disabled ? undefined : handleKeyDown}\n />\n </Collection.Slot>\n </AccordionImplProvider>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'AccordionItem';\n\ntype AccordionItemContextValue = { open?: boolean; disabled?: boolean; triggerId: string };\nconst [AccordionItemProvider, useAccordionItemContext] =\n createAccordionContext<AccordionItemContextValue>(ITEM_NAME);\n\ntype AccordionItemElement = React.ElementRef<typeof CollapsiblePrimitive.Root>;\ntype CollapsibleProps = Radix.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Root>;\ninterface AccordionItemProps\n extends Omit<CollapsibleProps, 'open' | 'defaultOpen' | 'onOpenChange'> {\n /**\n * Whether or not an accordion item is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * A string value for the accordion item. All items within an accordion should use a unique value.\n */\n value: string;\n}\n\n/**\n * `AccordionItem` contains all of the parts of a collapsible section inside of an `Accordion`.\n */\nconst AccordionItem = React.forwardRef<AccordionItemElement, AccordionItemProps>(\n (props: ScopedProps<AccordionItemProps>, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = (value && valueContext.value.includes(value)) || false;\n const disabled = accordionContext.disabled || props.disabled;\n\n return (\n <AccordionItemProvider\n scope={__scopeAccordion}\n open={open}\n disabled={disabled}\n triggerId={triggerId}\n >\n <CollapsiblePrimitive.Root\n data-state={open ? 'open' : 'closed'}\n {...collapsibleScope}\n {...accordionItemProps}\n ref={forwardedRef}\n disabled={disabled}\n open={open}\n onOpenChange={(open) => {\n if (open) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }}\n />\n </AccordionItemProvider>\n );\n }\n);\n\nAccordionItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionHeader\n * -----------------------------------------------------------------------------------------------*/\n\nconst HEADER_NAME = 'AccordionHeader';\n\ntype AccordionHeaderElement = React.ElementRef<typeof Primitive.h3>;\ntype PrimitiveHeading3Props = Radix.ComponentPropsWithoutRef<typeof Primitive.h3>;\ninterface AccordionHeaderProps extends PrimitiveHeading3Props {}\n\n/**\n * `AccordionHeader` contains the content for the parts of an `AccordionItem` that will be visible\n * whether or not its content is collapsed.\n */\nconst AccordionHeader = React.forwardRef<AccordionHeaderElement, AccordionHeaderProps>(\n (props: ScopedProps<AccordionHeaderProps>, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return (\n <Primitive.h3\n data-state={getState(itemContext.open)}\n data-disabled={itemContext.disabled ? '' : undefined}\n {...headerProps}\n ref={forwardedRef}\n />\n );\n }\n);\n\nAccordionHeader.displayName = HEADER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'AccordionTrigger';\n\ntype AccordionTriggerElement = React.ElementRef<typeof CollapsiblePrimitive.Trigger>;\ntype CollapsibleTriggerProps = Radix.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Trigger>;\ninterface AccordionTriggerProps extends CollapsibleTriggerProps {}\n\n/**\n * `AccordionTrigger` is the trigger that toggles the collapsed state of an `AccordionItem`. It\n * should always be nested inside of an `AccordionHeader`.\n */\nconst AccordionTrigger = React.forwardRef<AccordionTriggerElement, AccordionTriggerProps>(\n (props: ScopedProps<AccordionTriggerProps>, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n <Collection.ItemSlot scope={__scopeAccordion}>\n <CollapsiblePrimitive.Trigger\n aria-disabled={(itemContext.open && !collapsibleContext.collapsible) || undefined}\n id={itemContext.triggerId}\n {...collapsibleScope}\n {...triggerProps}\n ref={forwardedRef}\n />\n </Collection.ItemSlot>\n );\n }\n);\n\nAccordionTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'AccordionContent';\n\ntype AccordionContentElement = React.ElementRef<typeof CollapsiblePrimitive.Content>;\ntype CollapsibleContentProps = Radix.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Content>;\ninterface AccordionContentProps extends CollapsibleContentProps {}\n\n/**\n * `AccordionContent` contains the collapsible content for an `AccordionItem`.\n */\nconst AccordionContent = React.forwardRef<AccordionContentElement, AccordionContentProps>(\n (props: ScopedProps<AccordionContentProps>, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n <CollapsiblePrimitive.Content\n role=\"region\"\n aria-labelledby={itemContext.triggerId}\n {...collapsibleScope}\n {...contentProps}\n ref={forwardedRef}\n style={{\n ['--radix-accordion-content-height' as any]: 'var(--radix-collapsible-content-height)',\n ['--radix-accordion-content-width' as any]: 'var(--radix-collapsible-content-width)',\n ...props.style,\n }}\n />\n );\n }\n);\n\nAccordionContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open?: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst Root = Accordion;\nconst Item = AccordionItem;\nconst Header = AccordionHeader;\nconst Trigger = AccordionTrigger;\nconst Content = AccordionContent;\n\nexport {\n createAccordionScope,\n //\n Accordion,\n AccordionItem,\n AccordionHeader,\n AccordionTrigger,\n AccordionContent,\n //\n Root,\n Item,\n Header,\n Trigger,\n Content,\n};\nexport type {\n AccordionSingleProps,\n AccordionMultipleProps,\n AccordionItemProps,\n AccordionHeaderProps,\n AccordionTriggerProps,\n AccordionContentProps,\n};\n"],"names":["dest","source","Object","keys","forEach","key","defineProperty","enumerable","get","$parcel$interopDefault","a","__esModule","default","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createCollection","createAccordionContext","createAccordionScope","createContextScope","createCollapsibleScope","useCollapsibleScope","Accordion","React","forwardRef","props","forwardedRef","type","accordionProps","singleProps","multipleProps","_react","createElement","$cb9b5aef7d7fb550d41028d1634396$var$Collection","Provider","scope","__scopeAccordion","$cb9b5aef7d7fb550d41028d1634396$var$AccordionImplMultiple","_babelRuntimeHelpersExtends","ref","$cb9b5aef7d7fb550d41028d1634396$var$AccordionImplSingle","propTypes","value","defaultValue","includes","Error","Array","isArray","AccordionValueProvider","useAccordionValueContext","AccordionCollapsibleProvider","useAccordionCollapsibleContext","collapsible","AccordionImplSingle","valueProp","onValueChange","accordionSingleProps","setValue","useControllableState","prop","defaultProp","onChange","$cb9b5aef7d7fb550d41028d1634396$var$AccordionValueProvider","onItemOpen","onItemClose","useCallback","$cb9b5aef7d7fb550d41028d1634396$var$AccordionCollapsibleProvider","$cb9b5aef7d7fb550d41028d1634396$var$AccordionImpl","AccordionImplMultiple","accordionMultipleProps","handleItemOpen","itemValue","prevValue","handleItemClose","filter","AccordionImplProvider","useAccordionContext","AccordionImpl","disabled","accordionRef","useRef","composedRefs","useComposedRefs","getItems","handleKeyDown","composeEventHandlers","onKeyDown","event","_triggerCollection$cl","target","triggerCollection","item","_item$ref$current","current","triggerIndex","findIndex","triggerCount","length","preventDefault","nextIndex","focus","$cb9b5aef7d7fb550d41028d1634396$var$AccordionImplProvider","Slot","Primitive","div","undefined","AccordionItemProvider","useAccordionItemContext","AccordionItem","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","useId","open","$cb9b5aef7d7fb550d41028d1634396$var$AccordionItemProvider","_radixUiReactCollapsible","Root","onOpenChange","AccordionHeader","headerProps","itemContext","h3","AccordionTrigger","triggerProps","collapsibleContext","ItemSlot","Trigger","id","AccordionContent","contentProps","Content","role","style","Item","Header"],"version":3,"file":"index.js.map"}
1
+ {"mappings":"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","sources":["packages/react/accordion/src/index.ts","packages/react/accordion/src/Accordion.tsx"],"sourcesContent":["export * from './Accordion';\n","import React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\nimport { createCollapsibleScope } from '@radix-ui/react-collapsible';\nimport { useId } from '@radix-ui/react-id';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Accordion\n * -----------------------------------------------------------------------------------------------*/\n\nconst ACCORDION_NAME = 'Accordion';\nconst ACCORDION_KEYS = ['Home', 'End', 'ArrowDown', 'ArrowUp'];\n\nconst [Collection, useCollection, createCollectionScope] =\n createCollection<AccordionTriggerElement>(ACCORDION_NAME);\n\ntype ScopedProps<P> = P & { __scopeAccordion?: Scope };\nconst [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope,\n]);\nconst useCollapsibleScope = createCollapsibleScope();\n\ntype AccordionElement = AccordionImplMultipleElement | AccordionImplSingleElement;\ninterface AccordionSingleProps extends AccordionImplSingleProps {\n type: 'single';\n}\ninterface AccordionMultipleProps extends AccordionImplMultipleProps {\n type: 'multiple';\n}\n\nconst Accordion = React.forwardRef<AccordionElement, AccordionSingleProps | AccordionMultipleProps>(\n (props: ScopedProps<AccordionSingleProps | AccordionMultipleProps>, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps as AccordionImplSingleProps;\n const multipleProps = accordionProps as AccordionImplMultipleProps;\n return (\n <Collection.Provider scope={props.__scopeAccordion}>\n {type === 'multiple' ? (\n <AccordionImplMultiple {...multipleProps} ref={forwardedRef} />\n ) : (\n <AccordionImplSingle {...singleProps} ref={forwardedRef} />\n )}\n </Collection.Provider>\n );\n }\n);\n\nAccordion.displayName = ACCORDION_NAME;\n\nAccordion.propTypes = {\n type(props) {\n const value = props.value || props.defaultValue;\n if (props.type && !['single', 'multiple'].includes(props.type)) {\n return new Error(\n 'Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`.'\n );\n }\n if (props.type === 'multiple' && typeof value === 'string') {\n return new Error(\n 'Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`.'\n );\n }\n if (props.type === 'single' && Array.isArray(value)) {\n return new Error(\n 'Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`.'\n );\n }\n return null;\n },\n};\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionValueContextValue = {\n value: string[];\n onItemOpen(value: string): void;\n onItemClose(value: string): void;\n};\n\nconst [AccordionValueProvider, useAccordionValueContext] =\n createAccordionContext<AccordionValueContextValue>(ACCORDION_NAME);\n\nconst [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\n\ntype AccordionImplSingleElement = AccordionImplElement;\ninterface AccordionImplSingleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion item whose content is expanded.\n */\n value?: string;\n /**\n * The value of the item whose content is expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string;\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string): void;\n /**\n * Whether an accordion item can be collapsed after it has been opened.\n * @default false\n */\n collapsible?: boolean;\n}\n\nconst AccordionImplSingle = React.forwardRef<AccordionImplSingleElement, AccordionImplSingleProps>(\n (props: ScopedProps<AccordionImplSingleProps>, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n collapsible = false,\n ...accordionSingleProps\n } = props;\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n <AccordionValueProvider\n scope={props.__scopeAccordion}\n value={value ? [value] : []}\n onItemOpen={setValue}\n onItemClose={React.useCallback(() => collapsible && setValue(''), [collapsible, setValue])}\n >\n <AccordionCollapsibleProvider scope={props.__scopeAccordion} collapsible={collapsible}>\n <AccordionImpl {...accordionSingleProps} ref={forwardedRef} />\n </AccordionCollapsibleProvider>\n </AccordionValueProvider>\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplMultipleElement = AccordionImplElement;\ninterface AccordionImplMultipleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion items whose contents are expanded.\n */\n value?: string[];\n /**\n * The value of the items whose contents are expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string[];\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string[]): void;\n}\n\nconst AccordionImplMultiple = React.forwardRef<\n AccordionImplMultipleElement,\n AccordionImplMultipleProps\n>((props: ScopedProps<AccordionImplMultipleProps>, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n ...accordionMultipleProps\n } = props;\n\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const handleItemOpen = React.useCallback(\n (itemValue: string) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n\n const handleItemClose = React.useCallback(\n (itemValue: string) =>\n setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),\n [setValue]\n );\n\n return (\n <AccordionValueProvider\n scope={props.__scopeAccordion}\n value={value}\n onItemOpen={handleItemOpen}\n onItemClose={handleItemClose}\n >\n <AccordionCollapsibleProvider scope={props.__scopeAccordion} collapsible={true}>\n <AccordionImpl {...accordionMultipleProps} ref={forwardedRef} />\n </AccordionCollapsibleProvider>\n </AccordionValueProvider>\n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplContextValue = {\n disabled?: boolean;\n};\n\nconst [AccordionImplProvider, useAccordionContext] =\n createAccordionContext<AccordionImplContextValue>(ACCORDION_NAME);\n\ntype AccordionImplElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface AccordionImplProps extends PrimitiveDivProps {\n /**\n * Whether or not an accordion is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n}\n\nconst AccordionImpl = React.forwardRef<AccordionImplElement, AccordionImplProps>(\n (props: ScopedProps<AccordionImplProps>, forwardedRef) => {\n const { __scopeAccordion, disabled, ...accordionProps } = props;\n const accordionRef = React.useRef<AccordionImplElement>(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target as HTMLElement;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n\n if (triggerIndex === -1) return;\n\n // Prevents page scroll while user is navigating\n event.preventDefault();\n\n let nextIndex = triggerIndex;\n switch (event.key) {\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = triggerCount - 1;\n break;\n case 'ArrowDown':\n nextIndex = triggerIndex + 1;\n break;\n case 'ArrowUp':\n nextIndex = triggerIndex - 1;\n if (nextIndex < 0) {\n nextIndex = triggerCount - 1;\n }\n break;\n }\n\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n\n return (\n <AccordionImplProvider scope={__scopeAccordion} disabled={disabled}>\n <Collection.Slot scope={__scopeAccordion}>\n <Primitive.div\n {...accordionProps}\n ref={composedRefs}\n onKeyDown={disabled ? undefined : handleKeyDown}\n />\n </Collection.Slot>\n </AccordionImplProvider>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'AccordionItem';\n\ntype AccordionItemContextValue = { open?: boolean; disabled?: boolean; triggerId: string };\nconst [AccordionItemProvider, useAccordionItemContext] =\n createAccordionContext<AccordionItemContextValue>(ITEM_NAME);\n\ntype AccordionItemElement = React.ElementRef<typeof CollapsiblePrimitive.Root>;\ntype CollapsibleProps = Radix.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Root>;\ninterface AccordionItemProps\n extends Omit<CollapsibleProps, 'open' | 'defaultOpen' | 'onOpenChange'> {\n /**\n * Whether or not an accordion item is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * A string value for the accordion item. All items within an accordion should use a unique value.\n */\n value: string;\n}\n\n/**\n * `AccordionItem` contains all of the parts of a collapsible section inside of an `Accordion`.\n */\nconst AccordionItem = React.forwardRef<AccordionItemElement, AccordionItemProps>(\n (props: ScopedProps<AccordionItemProps>, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = (value && valueContext.value.includes(value)) || false;\n const disabled = accordionContext.disabled || props.disabled;\n\n return (\n <AccordionItemProvider\n scope={__scopeAccordion}\n open={open}\n disabled={disabled}\n triggerId={triggerId}\n >\n <CollapsiblePrimitive.Root\n data-state={open ? 'open' : 'closed'}\n {...collapsibleScope}\n {...accordionItemProps}\n ref={forwardedRef}\n disabled={disabled}\n open={open}\n onOpenChange={(open) => {\n if (open) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }}\n />\n </AccordionItemProvider>\n );\n }\n);\n\nAccordionItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionHeader\n * -----------------------------------------------------------------------------------------------*/\n\nconst HEADER_NAME = 'AccordionHeader';\n\ntype AccordionHeaderElement = React.ElementRef<typeof Primitive.h3>;\ntype PrimitiveHeading3Props = Radix.ComponentPropsWithoutRef<typeof Primitive.h3>;\ninterface AccordionHeaderProps extends PrimitiveHeading3Props {}\n\n/**\n * `AccordionHeader` contains the content for the parts of an `AccordionItem` that will be visible\n * whether or not its content is collapsed.\n */\nconst AccordionHeader = React.forwardRef<AccordionHeaderElement, AccordionHeaderProps>(\n (props: ScopedProps<AccordionHeaderProps>, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return (\n <Primitive.h3\n data-state={getState(itemContext.open)}\n data-disabled={itemContext.disabled ? '' : undefined}\n {...headerProps}\n ref={forwardedRef}\n />\n );\n }\n);\n\nAccordionHeader.displayName = HEADER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'AccordionTrigger';\n\ntype AccordionTriggerElement = React.ElementRef<typeof CollapsiblePrimitive.Trigger>;\ntype CollapsibleTriggerProps = Radix.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Trigger>;\ninterface AccordionTriggerProps extends CollapsibleTriggerProps {}\n\n/**\n * `AccordionTrigger` is the trigger that toggles the collapsed state of an `AccordionItem`. It\n * should always be nested inside of an `AccordionHeader`.\n */\nconst AccordionTrigger = React.forwardRef<AccordionTriggerElement, AccordionTriggerProps>(\n (props: ScopedProps<AccordionTriggerProps>, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n <Collection.ItemSlot scope={__scopeAccordion}>\n <CollapsiblePrimitive.Trigger\n aria-disabled={(itemContext.open && !collapsibleContext.collapsible) || undefined}\n id={itemContext.triggerId}\n {...collapsibleScope}\n {...triggerProps}\n ref={forwardedRef}\n />\n </Collection.ItemSlot>\n );\n }\n);\n\nAccordionTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'AccordionContent';\n\ntype AccordionContentElement = React.ElementRef<typeof CollapsiblePrimitive.Content>;\ntype CollapsibleContentProps = Radix.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Content>;\ninterface AccordionContentProps extends CollapsibleContentProps {}\n\n/**\n * `AccordionContent` contains the collapsible content for an `AccordionItem`.\n */\nconst AccordionContent = React.forwardRef<AccordionContentElement, AccordionContentProps>(\n (props: ScopedProps<AccordionContentProps>, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n <CollapsiblePrimitive.Content\n role=\"region\"\n aria-labelledby={itemContext.triggerId}\n {...collapsibleScope}\n {...contentProps}\n ref={forwardedRef}\n style={{\n ['--radix-accordion-content-height' as any]: 'var(--radix-collapsible-content-height)',\n ['--radix-accordion-content-width' as any]: 'var(--radix-collapsible-content-width)',\n ...props.style,\n }}\n />\n );\n }\n);\n\nAccordionContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open?: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst Root = Accordion;\nconst Item = AccordionItem;\nconst Header = AccordionHeader;\nconst Trigger = AccordionTrigger;\nconst Content = AccordionContent;\n\nexport {\n createAccordionScope,\n //\n Accordion,\n AccordionItem,\n AccordionHeader,\n AccordionTrigger,\n AccordionContent,\n //\n Root,\n Item,\n Header,\n Trigger,\n Content,\n};\nexport type {\n AccordionSingleProps,\n AccordionMultipleProps,\n AccordionItemProps,\n AccordionHeaderProps,\n AccordionTriggerProps,\n AccordionContentProps,\n};\n"],"names":["React","createContextScope","createCollection","useComposedRefs","composeEventHandlers","useControllableState","Primitive","CollapsiblePrimitive","createCollapsibleScope","useId","ACCORDION_NAME","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createAccordionContext","createAccordionScope","useCollapsibleScope","Accordion","forwardRef","props","forwardedRef","type","accordionProps","singleProps","multipleProps","__scopeAccordion","propTypes","value","defaultValue","includes","Error","Array","isArray","AccordionValueProvider","useAccordionValueContext","AccordionCollapsibleProvider","useAccordionCollapsibleContext","collapsible","AccordionImplSingle","valueProp","onValueChange","accordionSingleProps","setValue","prop","defaultProp","onChange","useCallback","AccordionImplMultiple","accordionMultipleProps","handleItemOpen","itemValue","prevValue","handleItemClose","filter","AccordionImplProvider","useAccordionContext","AccordionImpl","disabled","accordionRef","useRef","composedRefs","getItems","handleKeyDown","onKeyDown","event","key","target","triggerCollection","item","ref","current","triggerIndex","findIndex","triggerCount","length","preventDefault","nextIndex","clampedIndex","focus","undefined","ITEM_NAME","AccordionItemProvider","useAccordionItemContext","AccordionItem","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","open","onItemOpen","onItemClose","HEADER_NAME","AccordionHeader","headerProps","itemContext","getState","TRIGGER_NAME","AccordionTrigger","triggerProps","collapsibleContext","CONTENT_NAME","AccordionContent","contentProps","style","Root","Item","Header","Trigger","Content"],"version":3,"file":"index.js.map"}
@@ -1,2 +1,304 @@
1
- import{useId as e}from"@radix-ui/react-id";import*as o from"@radix-ui/react-collapsible";import{createCollapsibleScope as r}from"@radix-ui/react-collapsible";import{Primitive as t}from"@radix-ui/react-primitive";import{useControllableState as c}from"@radix-ui/react-use-controllable-state";import{composeEventHandlers as n}from"@radix-ui/primitive";import{useComposedRefs as i}from"@radix-ui/react-compose-refs";import{createCollection as a}from"@radix-ui/react-collection";import{createContextScope as l}from"@radix-ui/react-context";import d from"react";import p from"@babel/runtime/helpers/esm/extends";const s=["Home","End","ArrowDown","ArrowUp"],[u,m,f]=a("Accordion"),[A,g]=l("Accordion",[f,r]);export{g as createAccordionScope};const b=r();export const Accordion=/*#__PURE__*/d.forwardRef(((e,o)=>{const{type:r,...t}=e,c=t,n=t;/*#__PURE__*/return d.createElement(u.Provider,{scope:e.__scopeAccordion},"multiple"===r?/*#__PURE__*/d.createElement(I,p({},n,{ref:o})):/*#__PURE__*/d.createElement(y,p({},c,{ref:o})))}));/*#__PURE__*/Accordion.propTypes={type(e){const o=e.value||e.defaultValue;return e.type&&!["single","multiple"].includes(e.type)?new Error("Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`."):"multiple"===e.type&&"string"==typeof o?new Error("Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`."):"single"===e.type&&Array.isArray(o)?new Error("Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`."):null}};const[x,v]=A("Accordion"),[E,w]=A("Accordion",{collapsible:!1}),y=/*#__PURE__*/d.forwardRef(((e,o)=>{const{value:r,defaultValue:t,onValueChange:n=(()=>{}),collapsible:i=!1,...a}=e,[l,s]=c({prop:r,defaultProp:t,onChange:n});/*#__PURE__*/return d.createElement(x,{scope:e.__scopeAccordion,value:l?[l]:[],onItemOpen:s,onItemClose:d.useCallback((()=>i&&s("")),[i,s])},/*#__PURE__*/d.createElement(E,{scope:e.__scopeAccordion,collapsible:i},/*#__PURE__*/d.createElement(C,p({},a,{ref:o}))))})),I=/*#__PURE__*/d.forwardRef(((e,o)=>{const{value:r,defaultValue:t,onValueChange:n=(()=>{}),...i}=e,[a=[],l]=c({prop:r,defaultProp:t,onChange:n}),s=d.useCallback((e=>l(((o=[])=>[...o,e]))),[l]),u=d.useCallback((e=>l(((o=[])=>o.filter((o=>o!==e))))),[l]);/*#__PURE__*/return d.createElement(x,{scope:e.__scopeAccordion,value:a,onItemOpen:s,onItemClose:u},/*#__PURE__*/d.createElement(E,{scope:e.__scopeAccordion,collapsible:!0},/*#__PURE__*/d.createElement(C,p({},i,{ref:o}))))})),[_,h]=A("Accordion"),C=/*#__PURE__*/d.forwardRef(((e,o)=>{const{__scopeAccordion:r,disabled:c,...a}=e,l=d.useRef(null),f=i(l,o),A=m(r),g=n(e.onKeyDown,(e=>{var o;if(!s.includes(e.key))return;const r=e.target,t=A().filter((e=>{var o;return!(null!==(o=e.ref.current)&&void 0!==o&&o.disabled)})),c=t.findIndex((e=>e.ref.current===r)),n=t.length;if(-1===c)return;e.preventDefault();let i=c;switch(e.key){case"Home":i=0;break;case"End":i=n-1;break;case"ArrowDown":i=c+1;break;case"ArrowUp":i=c-1,i<0&&(i=n-1)}null===(o=t[i%n].ref.current)||void 0===o||o.focus()}));/*#__PURE__*/return d.createElement(_,{scope:r,disabled:c},/*#__PURE__*/d.createElement(u.Slot,{scope:r},/*#__PURE__*/d.createElement(t.div,p({},a,{ref:f,onKeyDown:c?void 0:g}))))})),[R,k]=A("AccordionItem");export const AccordionItem=/*#__PURE__*/d.forwardRef(((r,t)=>{const{__scopeAccordion:c,value:n,...i}=r,a=h("AccordionItem",c),l=v("AccordionItem",c),s=b(c),u=e(),m=n&&l.value.includes(n)||!1,f=a.disabled||r.disabled;/*#__PURE__*/return d.createElement(R,{scope:c,open:m,disabled:f,triggerId:u},/*#__PURE__*/d.createElement(o.Root,p({"data-state":m?"open":"closed"},s,i,{ref:t,disabled:f,open:m,onOpenChange:e=>{e?l.onItemOpen(n):l.onItemClose(n)}})))}));/*#__PURE__*/export const AccordionHeader=/*#__PURE__*/d.forwardRef(((e,o)=>{const{__scopeAccordion:r,...c}=e,n=k("AccordionHeader",r);/*#__PURE__*/return d.createElement(t.h3,p({"data-state":(i=n.open,i?"open":"closed"),"data-disabled":n.disabled?"":void 0},c,{ref:o}));var i}));/*#__PURE__*/export const AccordionTrigger=/*#__PURE__*/d.forwardRef(((e,r)=>{const{__scopeAccordion:t,...c}=e,n=k("AccordionTrigger",t),i=w("AccordionTrigger",t),a=b(t);/*#__PURE__*/return d.createElement(u.ItemSlot,{scope:t},/*#__PURE__*/d.createElement(o.Trigger,p({"aria-disabled":n.open&&!i.collapsible||void 0,id:n.triggerId},a,c,{ref:r})))}));/*#__PURE__*/export const AccordionContent=/*#__PURE__*/d.forwardRef(((e,r)=>{const{__scopeAccordion:t,...c}=e,n=k("AccordionContent",t),i=b(t);/*#__PURE__*/return d.createElement(o.Content,p({role:"region","aria-labelledby":n.triggerId},i,c,{ref:r,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}}))}));/*#__PURE__*/export const Root=Accordion;export const Item=AccordionItem;export const Header=AccordionHeader;export const Trigger=AccordionTrigger;export const Content=AccordionContent;
1
+ import $3DjNB$babelruntimehelpersesmextends from "@babel/runtime/helpers/esm/extends";
2
+ import $3DjNB$react from "react";
3
+ import {createContextScope as $3DjNB$createContextScope} from "@radix-ui/react-context";
4
+ import {createCollection as $3DjNB$createCollection} from "@radix-ui/react-collection";
5
+ import {useComposedRefs as $3DjNB$useComposedRefs} from "@radix-ui/react-compose-refs";
6
+ import {composeEventHandlers as $3DjNB$composeEventHandlers} from "@radix-ui/primitive";
7
+ import {useControllableState as $3DjNB$useControllableState} from "@radix-ui/react-use-controllable-state";
8
+ import {Primitive as $3DjNB$Primitive} from "@radix-ui/react-primitive";
9
+ import {createCollapsibleScope as $3DjNB$createCollapsibleScope, Root as $3DjNB$Root, Trigger as $3DjNB$Trigger, Content as $3DjNB$Content} from "@radix-ui/react-collapsible";
10
+ import {useId as $3DjNB$useId} from "@radix-ui/react-id";
11
+
12
+ function $parcel$export(e, n, v, s) {
13
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
14
+ }
15
+ var $1bf158f521e1b1b4$exports = {};
16
+
17
+ $parcel$export($1bf158f521e1b1b4$exports, "createAccordionScope", () => $1bf158f521e1b1b4$export$9748edc328a73be1);
18
+ $parcel$export($1bf158f521e1b1b4$exports, "Accordion", () => $1bf158f521e1b1b4$export$a766cd26d0d69044);
19
+ $parcel$export($1bf158f521e1b1b4$exports, "AccordionItem", () => $1bf158f521e1b1b4$export$d99097c13d4dac9f);
20
+ $parcel$export($1bf158f521e1b1b4$exports, "AccordionHeader", () => $1bf158f521e1b1b4$export$5e3e5deaaf81ee41);
21
+ $parcel$export($1bf158f521e1b1b4$exports, "AccordionTrigger", () => $1bf158f521e1b1b4$export$94e939b1f85bdd73);
22
+ $parcel$export($1bf158f521e1b1b4$exports, "AccordionContent", () => $1bf158f521e1b1b4$export$985b9a77379b54a0);
23
+ $parcel$export($1bf158f521e1b1b4$exports, "Root", () => $1bf158f521e1b1b4$export$be92b6f5f03c0fe9);
24
+ $parcel$export($1bf158f521e1b1b4$exports, "Item", () => $1bf158f521e1b1b4$export$6d08773d2e66f8f2);
25
+ $parcel$export($1bf158f521e1b1b4$exports, "Header", () => $1bf158f521e1b1b4$export$8b251419efc915eb);
26
+ $parcel$export($1bf158f521e1b1b4$exports, "Trigger", () => $1bf158f521e1b1b4$export$41fb9f06171c75f4);
27
+ $parcel$export($1bf158f521e1b1b4$exports, "Content", () => $1bf158f521e1b1b4$export$7c6e2c02157bb7d2);
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+ /* -------------------------------------------------------------------------------------------------
40
+ * Accordion
41
+ * -----------------------------------------------------------------------------------------------*/ const $1bf158f521e1b1b4$var$ACCORDION_NAME = 'Accordion';
42
+ const $1bf158f521e1b1b4$var$ACCORDION_KEYS = [
43
+ 'Home',
44
+ 'End',
45
+ 'ArrowDown',
46
+ 'ArrowUp'
47
+ ];
48
+ const [$1bf158f521e1b1b4$var$Collection, $1bf158f521e1b1b4$var$useCollection, $1bf158f521e1b1b4$var$createCollectionScope] = $3DjNB$createCollection($1bf158f521e1b1b4$var$ACCORDION_NAME);
49
+ const [$1bf158f521e1b1b4$var$createAccordionContext, $1bf158f521e1b1b4$export$9748edc328a73be1] = $3DjNB$createContextScope($1bf158f521e1b1b4$var$ACCORDION_NAME, [
50
+ $1bf158f521e1b1b4$var$createCollectionScope,
51
+ $3DjNB$createCollapsibleScope
52
+ ]);
53
+ const $1bf158f521e1b1b4$var$useCollapsibleScope = $3DjNB$createCollapsibleScope();
54
+ const $1bf158f521e1b1b4$export$a766cd26d0d69044 = /*#__PURE__*/ $3DjNB$react.forwardRef((props, forwardedRef)=>{
55
+ const { type: type , ...accordionProps } = props;
56
+ const singleProps = accordionProps;
57
+ const multipleProps = accordionProps;
58
+ return /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$Collection.Provider, {
59
+ scope: props.__scopeAccordion
60
+ }, type === 'multiple' ? /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$AccordionImplMultiple, $3DjNB$babelruntimehelpersesmextends({}, multipleProps, {
61
+ ref: forwardedRef
62
+ })) : /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$AccordionImplSingle, $3DjNB$babelruntimehelpersesmextends({}, singleProps, {
63
+ ref: forwardedRef
64
+ })));
65
+ });
66
+ /*#__PURE__*/ Object.assign($1bf158f521e1b1b4$export$a766cd26d0d69044, {
67
+ displayName: $1bf158f521e1b1b4$var$ACCORDION_NAME
68
+ });
69
+ $1bf158f521e1b1b4$export$a766cd26d0d69044.propTypes = {
70
+ type (props) {
71
+ const value = props.value || props.defaultValue;
72
+ if (props.type && ![
73
+ 'single',
74
+ 'multiple'
75
+ ].includes(props.type)) return new Error('Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`.');
76
+ if (props.type === 'multiple' && typeof value === 'string') return new Error('Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`.');
77
+ if (props.type === 'single' && Array.isArray(value)) return new Error('Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`.');
78
+ return null;
79
+ }
80
+ };
81
+ /* -----------------------------------------------------------------------------------------------*/ const [$1bf158f521e1b1b4$var$AccordionValueProvider, $1bf158f521e1b1b4$var$useAccordionValueContext] = $1bf158f521e1b1b4$var$createAccordionContext($1bf158f521e1b1b4$var$ACCORDION_NAME);
82
+ const [$1bf158f521e1b1b4$var$AccordionCollapsibleProvider, $1bf158f521e1b1b4$var$useAccordionCollapsibleContext] = $1bf158f521e1b1b4$var$createAccordionContext($1bf158f521e1b1b4$var$ACCORDION_NAME, {
83
+ collapsible: false
84
+ });
85
+ const $1bf158f521e1b1b4$var$AccordionImplSingle = /*#__PURE__*/ $3DjNB$react.forwardRef((props, forwardedRef)=>{
86
+ const { value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange = ()=>{} , collapsible: collapsible = false , ...accordionSingleProps } = props;
87
+ const [value, setValue] = $3DjNB$useControllableState({
88
+ prop: valueProp,
89
+ defaultProp: defaultValue,
90
+ onChange: onValueChange
91
+ });
92
+ return /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$AccordionValueProvider, {
93
+ scope: props.__scopeAccordion,
94
+ value: value ? [
95
+ value
96
+ ] : [],
97
+ onItemOpen: setValue,
98
+ onItemClose: $3DjNB$react.useCallback(()=>collapsible && setValue('')
99
+ , [
100
+ collapsible,
101
+ setValue
102
+ ])
103
+ }, /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$AccordionCollapsibleProvider, {
104
+ scope: props.__scopeAccordion,
105
+ collapsible: collapsible
106
+ }, /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$AccordionImpl, $3DjNB$babelruntimehelpersesmextends({}, accordionSingleProps, {
107
+ ref: forwardedRef
108
+ }))));
109
+ });
110
+ /* -----------------------------------------------------------------------------------------------*/ const $1bf158f521e1b1b4$var$AccordionImplMultiple = /*#__PURE__*/ $3DjNB$react.forwardRef((props, forwardedRef)=>{
111
+ const { value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange = ()=>{} , ...accordionMultipleProps } = props;
112
+ const [value1 = [], setValue] = $3DjNB$useControllableState({
113
+ prop: valueProp,
114
+ defaultProp: defaultValue,
115
+ onChange: onValueChange
116
+ });
117
+ const handleItemOpen = $3DjNB$react.useCallback((itemValue)=>setValue((prevValue = [])=>[
118
+ ...prevValue,
119
+ itemValue
120
+ ]
121
+ )
122
+ , [
123
+ setValue
124
+ ]);
125
+ const handleItemClose = $3DjNB$react.useCallback((itemValue)=>setValue((prevValue = [])=>prevValue.filter((value)=>value !== itemValue
126
+ )
127
+ )
128
+ , [
129
+ setValue
130
+ ]);
131
+ return /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$AccordionValueProvider, {
132
+ scope: props.__scopeAccordion,
133
+ value: value1,
134
+ onItemOpen: handleItemOpen,
135
+ onItemClose: handleItemClose
136
+ }, /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$AccordionCollapsibleProvider, {
137
+ scope: props.__scopeAccordion,
138
+ collapsible: true
139
+ }, /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$AccordionImpl, $3DjNB$babelruntimehelpersesmextends({}, accordionMultipleProps, {
140
+ ref: forwardedRef
141
+ }))));
142
+ });
143
+ /* -----------------------------------------------------------------------------------------------*/ const [$1bf158f521e1b1b4$var$AccordionImplProvider, $1bf158f521e1b1b4$var$useAccordionContext] = $1bf158f521e1b1b4$var$createAccordionContext($1bf158f521e1b1b4$var$ACCORDION_NAME);
144
+ const $1bf158f521e1b1b4$var$AccordionImpl = /*#__PURE__*/ $3DjNB$react.forwardRef((props, forwardedRef)=>{
145
+ const { __scopeAccordion: __scopeAccordion , disabled: disabled , ...accordionProps } = props;
146
+ const accordionRef = $3DjNB$react.useRef(null);
147
+ const composedRefs = $3DjNB$useComposedRefs(accordionRef, forwardedRef);
148
+ const getItems = $1bf158f521e1b1b4$var$useCollection(__scopeAccordion);
149
+ const handleKeyDown = $3DjNB$composeEventHandlers(props.onKeyDown, (event)=>{
150
+ var _triggerCollection$cl;
151
+ if (!$1bf158f521e1b1b4$var$ACCORDION_KEYS.includes(event.key)) return;
152
+ const target = event.target;
153
+ const triggerCollection = getItems().filter((item)=>{
154
+ var _item$ref$current;
155
+ return !((_item$ref$current = item.ref.current) !== null && _item$ref$current !== void 0 && _item$ref$current.disabled);
156
+ });
157
+ const triggerIndex = triggerCollection.findIndex((item)=>item.ref.current === target
158
+ );
159
+ const triggerCount = triggerCollection.length;
160
+ if (triggerIndex === -1) return; // Prevents page scroll while user is navigating
161
+ event.preventDefault();
162
+ let nextIndex = triggerIndex;
163
+ switch(event.key){
164
+ case 'Home':
165
+ nextIndex = 0;
166
+ break;
167
+ case 'End':
168
+ nextIndex = triggerCount - 1;
169
+ break;
170
+ case 'ArrowDown':
171
+ nextIndex = triggerIndex + 1;
172
+ break;
173
+ case 'ArrowUp':
174
+ nextIndex = triggerIndex - 1;
175
+ if (nextIndex < 0) nextIndex = triggerCount - 1;
176
+ break;
177
+ }
178
+ const clampedIndex = nextIndex % triggerCount;
179
+ (_triggerCollection$cl = triggerCollection[clampedIndex].ref.current) === null || _triggerCollection$cl === void 0 || _triggerCollection$cl.focus();
180
+ });
181
+ return /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$AccordionImplProvider, {
182
+ scope: __scopeAccordion,
183
+ disabled: disabled
184
+ }, /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$Collection.Slot, {
185
+ scope: __scopeAccordion
186
+ }, /*#__PURE__*/ $3DjNB$react.createElement($3DjNB$Primitive.div, $3DjNB$babelruntimehelpersesmextends({}, accordionProps, {
187
+ ref: composedRefs,
188
+ onKeyDown: disabled ? undefined : handleKeyDown
189
+ }))));
190
+ });
191
+ /* -------------------------------------------------------------------------------------------------
192
+ * AccordionItem
193
+ * -----------------------------------------------------------------------------------------------*/ const $1bf158f521e1b1b4$var$ITEM_NAME = 'AccordionItem';
194
+ const [$1bf158f521e1b1b4$var$AccordionItemProvider, $1bf158f521e1b1b4$var$useAccordionItemContext] = $1bf158f521e1b1b4$var$createAccordionContext($1bf158f521e1b1b4$var$ITEM_NAME);
195
+ /**
196
+ * `AccordionItem` contains all of the parts of a collapsible section inside of an `Accordion`.
197
+ */ const $1bf158f521e1b1b4$export$d99097c13d4dac9f = /*#__PURE__*/ $3DjNB$react.forwardRef((props, forwardedRef)=>{
198
+ const { __scopeAccordion: __scopeAccordion , value: value , ...accordionItemProps } = props;
199
+ const accordionContext = $1bf158f521e1b1b4$var$useAccordionContext($1bf158f521e1b1b4$var$ITEM_NAME, __scopeAccordion);
200
+ const valueContext = $1bf158f521e1b1b4$var$useAccordionValueContext($1bf158f521e1b1b4$var$ITEM_NAME, __scopeAccordion);
201
+ const collapsibleScope = $1bf158f521e1b1b4$var$useCollapsibleScope(__scopeAccordion);
202
+ const triggerId = $3DjNB$useId();
203
+ const open1 = value && valueContext.value.includes(value) || false;
204
+ const disabled = accordionContext.disabled || props.disabled;
205
+ return /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$AccordionItemProvider, {
206
+ scope: __scopeAccordion,
207
+ open: open1,
208
+ disabled: disabled,
209
+ triggerId: triggerId
210
+ }, /*#__PURE__*/ $3DjNB$react.createElement($3DjNB$Root, $3DjNB$babelruntimehelpersesmextends({
211
+ "data-state": open1 ? 'open' : 'closed'
212
+ }, collapsibleScope, accordionItemProps, {
213
+ ref: forwardedRef,
214
+ disabled: disabled,
215
+ open: open1,
216
+ onOpenChange: (open)=>{
217
+ if (open) valueContext.onItemOpen(value);
218
+ else valueContext.onItemClose(value);
219
+ }
220
+ })));
221
+ });
222
+ /*#__PURE__*/ Object.assign($1bf158f521e1b1b4$export$d99097c13d4dac9f, {
223
+ displayName: $1bf158f521e1b1b4$var$ITEM_NAME
224
+ });
225
+ /* -------------------------------------------------------------------------------------------------
226
+ * AccordionHeader
227
+ * -----------------------------------------------------------------------------------------------*/ const $1bf158f521e1b1b4$var$HEADER_NAME = 'AccordionHeader';
228
+ /**
229
+ * `AccordionHeader` contains the content for the parts of an `AccordionItem` that will be visible
230
+ * whether or not its content is collapsed.
231
+ */ const $1bf158f521e1b1b4$export$5e3e5deaaf81ee41 = /*#__PURE__*/ $3DjNB$react.forwardRef((props, forwardedRef)=>{
232
+ const { __scopeAccordion: __scopeAccordion , ...headerProps } = props;
233
+ const itemContext = $1bf158f521e1b1b4$var$useAccordionItemContext($1bf158f521e1b1b4$var$HEADER_NAME, __scopeAccordion);
234
+ return /*#__PURE__*/ $3DjNB$react.createElement($3DjNB$Primitive.h3, $3DjNB$babelruntimehelpersesmextends({
235
+ "data-state": $1bf158f521e1b1b4$var$getState(itemContext.open),
236
+ "data-disabled": itemContext.disabled ? '' : undefined
237
+ }, headerProps, {
238
+ ref: forwardedRef
239
+ }));
240
+ });
241
+ /*#__PURE__*/ Object.assign($1bf158f521e1b1b4$export$5e3e5deaaf81ee41, {
242
+ displayName: $1bf158f521e1b1b4$var$HEADER_NAME
243
+ });
244
+ /* -------------------------------------------------------------------------------------------------
245
+ * AccordionTrigger
246
+ * -----------------------------------------------------------------------------------------------*/ const $1bf158f521e1b1b4$var$TRIGGER_NAME = 'AccordionTrigger';
247
+ /**
248
+ * `AccordionTrigger` is the trigger that toggles the collapsed state of an `AccordionItem`. It
249
+ * should always be nested inside of an `AccordionHeader`.
250
+ */ const $1bf158f521e1b1b4$export$94e939b1f85bdd73 = /*#__PURE__*/ $3DjNB$react.forwardRef((props, forwardedRef)=>{
251
+ const { __scopeAccordion: __scopeAccordion , ...triggerProps } = props;
252
+ const itemContext = $1bf158f521e1b1b4$var$useAccordionItemContext($1bf158f521e1b1b4$var$TRIGGER_NAME, __scopeAccordion);
253
+ const collapsibleContext = $1bf158f521e1b1b4$var$useAccordionCollapsibleContext($1bf158f521e1b1b4$var$TRIGGER_NAME, __scopeAccordion);
254
+ const collapsibleScope = $1bf158f521e1b1b4$var$useCollapsibleScope(__scopeAccordion);
255
+ return /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$Collection.ItemSlot, {
256
+ scope: __scopeAccordion
257
+ }, /*#__PURE__*/ $3DjNB$react.createElement($3DjNB$Trigger, $3DjNB$babelruntimehelpersesmextends({
258
+ "aria-disabled": itemContext.open && !collapsibleContext.collapsible || undefined,
259
+ id: itemContext.triggerId
260
+ }, collapsibleScope, triggerProps, {
261
+ ref: forwardedRef
262
+ })));
263
+ });
264
+ /*#__PURE__*/ Object.assign($1bf158f521e1b1b4$export$94e939b1f85bdd73, {
265
+ displayName: $1bf158f521e1b1b4$var$TRIGGER_NAME
266
+ });
267
+ /* -------------------------------------------------------------------------------------------------
268
+ * AccordionContent
269
+ * -----------------------------------------------------------------------------------------------*/ const $1bf158f521e1b1b4$var$CONTENT_NAME = 'AccordionContent';
270
+ /**
271
+ * `AccordionContent` contains the collapsible content for an `AccordionItem`.
272
+ */ const $1bf158f521e1b1b4$export$985b9a77379b54a0 = /*#__PURE__*/ $3DjNB$react.forwardRef((props, forwardedRef)=>{
273
+ const { __scopeAccordion: __scopeAccordion , ...contentProps } = props;
274
+ const itemContext = $1bf158f521e1b1b4$var$useAccordionItemContext($1bf158f521e1b1b4$var$CONTENT_NAME, __scopeAccordion);
275
+ const collapsibleScope = $1bf158f521e1b1b4$var$useCollapsibleScope(__scopeAccordion);
276
+ return /*#__PURE__*/ $3DjNB$react.createElement($3DjNB$Content, $3DjNB$babelruntimehelpersesmextends({
277
+ role: "region",
278
+ "aria-labelledby": itemContext.triggerId
279
+ }, collapsibleScope, contentProps, {
280
+ ref: forwardedRef,
281
+ style: {
282
+ ['--radix-accordion-content-height']: 'var(--radix-collapsible-content-height)',
283
+ ['--radix-accordion-content-width']: 'var(--radix-collapsible-content-width)',
284
+ ...props.style
285
+ }
286
+ }));
287
+ });
288
+ /*#__PURE__*/ Object.assign($1bf158f521e1b1b4$export$985b9a77379b54a0, {
289
+ displayName: $1bf158f521e1b1b4$var$CONTENT_NAME
290
+ });
291
+ /* -----------------------------------------------------------------------------------------------*/ function $1bf158f521e1b1b4$var$getState(open) {
292
+ return open ? 'open' : 'closed';
293
+ }
294
+ const $1bf158f521e1b1b4$export$be92b6f5f03c0fe9 = $1bf158f521e1b1b4$export$a766cd26d0d69044;
295
+ const $1bf158f521e1b1b4$export$6d08773d2e66f8f2 = $1bf158f521e1b1b4$export$d99097c13d4dac9f;
296
+ const $1bf158f521e1b1b4$export$8b251419efc915eb = $1bf158f521e1b1b4$export$5e3e5deaaf81ee41;
297
+ const $1bf158f521e1b1b4$export$41fb9f06171c75f4 = $1bf158f521e1b1b4$export$94e939b1f85bdd73;
298
+ const $1bf158f521e1b1b4$export$7c6e2c02157bb7d2 = $1bf158f521e1b1b4$export$985b9a77379b54a0;
299
+
300
+
301
+
302
+
303
+ export {$1bf158f521e1b1b4$export$9748edc328a73be1 as createAccordionScope, $1bf158f521e1b1b4$export$a766cd26d0d69044 as Accordion, $1bf158f521e1b1b4$export$d99097c13d4dac9f as AccordionItem, $1bf158f521e1b1b4$export$5e3e5deaaf81ee41 as AccordionHeader, $1bf158f521e1b1b4$export$94e939b1f85bdd73 as AccordionTrigger, $1bf158f521e1b1b4$export$985b9a77379b54a0 as AccordionContent, $1bf158f521e1b1b4$export$be92b6f5f03c0fe9 as Root, $1bf158f521e1b1b4$export$6d08773d2e66f8f2 as Item, $1bf158f521e1b1b4$export$8b251419efc915eb as Header, $1bf158f521e1b1b4$export$41fb9f06171c75f4 as Trigger, $1bf158f521e1b1b4$export$7c6e2c02157bb7d2 as Content};
2
304
  //# sourceMappingURL=index.module.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["./packages/react/accordion/src/Accordion.tsx"],"sourcesContent":["import React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\nimport { createCollapsibleScope } from '@radix-ui/react-collapsible';\nimport { useId } from '@radix-ui/react-id';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Accordion\n * -----------------------------------------------------------------------------------------------*/\n\nconst ACCORDION_NAME = 'Accordion';\nconst ACCORDION_KEYS = ['Home', 'End', 'ArrowDown', 'ArrowUp'];\n\nconst [Collection, useCollection, createCollectionScope] =\n createCollection<AccordionTriggerElement>(ACCORDION_NAME);\n\ntype ScopedProps<P> = P & { __scopeAccordion?: Scope };\nconst [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope,\n]);\nconst useCollapsibleScope = createCollapsibleScope();\n\ntype AccordionElement = AccordionImplMultipleElement | AccordionImplSingleElement;\ninterface AccordionSingleProps extends AccordionImplSingleProps {\n type: 'single';\n}\ninterface AccordionMultipleProps extends AccordionImplMultipleProps {\n type: 'multiple';\n}\n\nconst Accordion = React.forwardRef<AccordionElement, AccordionSingleProps | AccordionMultipleProps>(\n (props: ScopedProps<AccordionSingleProps | AccordionMultipleProps>, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps as AccordionImplSingleProps;\n const multipleProps = accordionProps as AccordionImplMultipleProps;\n return (\n <Collection.Provider scope={props.__scopeAccordion}>\n {type === 'multiple' ? (\n <AccordionImplMultiple {...multipleProps} ref={forwardedRef} />\n ) : (\n <AccordionImplSingle {...singleProps} ref={forwardedRef} />\n )}\n </Collection.Provider>\n );\n }\n);\n\nAccordion.displayName = ACCORDION_NAME;\n\nAccordion.propTypes = {\n type(props) {\n const value = props.value || props.defaultValue;\n if (props.type && !['single', 'multiple'].includes(props.type)) {\n return new Error(\n 'Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`.'\n );\n }\n if (props.type === 'multiple' && typeof value === 'string') {\n return new Error(\n 'Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`.'\n );\n }\n if (props.type === 'single' && Array.isArray(value)) {\n return new Error(\n 'Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`.'\n );\n }\n return null;\n },\n};\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionValueContextValue = {\n value: string[];\n onItemOpen(value: string): void;\n onItemClose(value: string): void;\n};\n\nconst [AccordionValueProvider, useAccordionValueContext] =\n createAccordionContext<AccordionValueContextValue>(ACCORDION_NAME);\n\nconst [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\n\ntype AccordionImplSingleElement = AccordionImplElement;\ninterface AccordionImplSingleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion item whose content is expanded.\n */\n value?: string;\n /**\n * The value of the item whose content is expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string;\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string): void;\n /**\n * Whether an accordion item can be collapsed after it has been opened.\n * @default false\n */\n collapsible?: boolean;\n}\n\nconst AccordionImplSingle = React.forwardRef<AccordionImplSingleElement, AccordionImplSingleProps>(\n (props: ScopedProps<AccordionImplSingleProps>, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n collapsible = false,\n ...accordionSingleProps\n } = props;\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n <AccordionValueProvider\n scope={props.__scopeAccordion}\n value={value ? [value] : []}\n onItemOpen={setValue}\n onItemClose={React.useCallback(() => collapsible && setValue(''), [collapsible, setValue])}\n >\n <AccordionCollapsibleProvider scope={props.__scopeAccordion} collapsible={collapsible}>\n <AccordionImpl {...accordionSingleProps} ref={forwardedRef} />\n </AccordionCollapsibleProvider>\n </AccordionValueProvider>\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplMultipleElement = AccordionImplElement;\ninterface AccordionImplMultipleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion items whose contents are expanded.\n */\n value?: string[];\n /**\n * The value of the items whose contents are expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string[];\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string[]): void;\n}\n\nconst AccordionImplMultiple = React.forwardRef<\n AccordionImplMultipleElement,\n AccordionImplMultipleProps\n>((props: ScopedProps<AccordionImplMultipleProps>, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n ...accordionMultipleProps\n } = props;\n\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const handleItemOpen = React.useCallback(\n (itemValue: string) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n\n const handleItemClose = React.useCallback(\n (itemValue: string) =>\n setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),\n [setValue]\n );\n\n return (\n <AccordionValueProvider\n scope={props.__scopeAccordion}\n value={value}\n onItemOpen={handleItemOpen}\n onItemClose={handleItemClose}\n >\n <AccordionCollapsibleProvider scope={props.__scopeAccordion} collapsible={true}>\n <AccordionImpl {...accordionMultipleProps} ref={forwardedRef} />\n </AccordionCollapsibleProvider>\n </AccordionValueProvider>\n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplContextValue = {\n disabled?: boolean;\n};\n\nconst [AccordionImplProvider, useAccordionContext] =\n createAccordionContext<AccordionImplContextValue>(ACCORDION_NAME);\n\ntype AccordionImplElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface AccordionImplProps extends PrimitiveDivProps {\n /**\n * Whether or not an accordion is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n}\n\nconst AccordionImpl = React.forwardRef<AccordionImplElement, AccordionImplProps>(\n (props: ScopedProps<AccordionImplProps>, forwardedRef) => {\n const { __scopeAccordion, disabled, ...accordionProps } = props;\n const accordionRef = React.useRef<AccordionImplElement>(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target as HTMLElement;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n\n if (triggerIndex === -1) return;\n\n // Prevents page scroll while user is navigating\n event.preventDefault();\n\n let nextIndex = triggerIndex;\n switch (event.key) {\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = triggerCount - 1;\n break;\n case 'ArrowDown':\n nextIndex = triggerIndex + 1;\n break;\n case 'ArrowUp':\n nextIndex = triggerIndex - 1;\n if (nextIndex < 0) {\n nextIndex = triggerCount - 1;\n }\n break;\n }\n\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n\n return (\n <AccordionImplProvider scope={__scopeAccordion} disabled={disabled}>\n <Collection.Slot scope={__scopeAccordion}>\n <Primitive.div\n {...accordionProps}\n ref={composedRefs}\n onKeyDown={disabled ? undefined : handleKeyDown}\n />\n </Collection.Slot>\n </AccordionImplProvider>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'AccordionItem';\n\ntype AccordionItemContextValue = { open?: boolean; disabled?: boolean; triggerId: string };\nconst [AccordionItemProvider, useAccordionItemContext] =\n createAccordionContext<AccordionItemContextValue>(ITEM_NAME);\n\ntype AccordionItemElement = React.ElementRef<typeof CollapsiblePrimitive.Root>;\ntype CollapsibleProps = Radix.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Root>;\ninterface AccordionItemProps\n extends Omit<CollapsibleProps, 'open' | 'defaultOpen' | 'onOpenChange'> {\n /**\n * Whether or not an accordion item is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * A string value for the accordion item. All items within an accordion should use a unique value.\n */\n value: string;\n}\n\n/**\n * `AccordionItem` contains all of the parts of a collapsible section inside of an `Accordion`.\n */\nconst AccordionItem = React.forwardRef<AccordionItemElement, AccordionItemProps>(\n (props: ScopedProps<AccordionItemProps>, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = (value && valueContext.value.includes(value)) || false;\n const disabled = accordionContext.disabled || props.disabled;\n\n return (\n <AccordionItemProvider\n scope={__scopeAccordion}\n open={open}\n disabled={disabled}\n triggerId={triggerId}\n >\n <CollapsiblePrimitive.Root\n data-state={open ? 'open' : 'closed'}\n {...collapsibleScope}\n {...accordionItemProps}\n ref={forwardedRef}\n disabled={disabled}\n open={open}\n onOpenChange={(open) => {\n if (open) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }}\n />\n </AccordionItemProvider>\n );\n }\n);\n\nAccordionItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionHeader\n * -----------------------------------------------------------------------------------------------*/\n\nconst HEADER_NAME = 'AccordionHeader';\n\ntype AccordionHeaderElement = React.ElementRef<typeof Primitive.h3>;\ntype PrimitiveHeading3Props = Radix.ComponentPropsWithoutRef<typeof Primitive.h3>;\ninterface AccordionHeaderProps extends PrimitiveHeading3Props {}\n\n/**\n * `AccordionHeader` contains the content for the parts of an `AccordionItem` that will be visible\n * whether or not its content is collapsed.\n */\nconst AccordionHeader = React.forwardRef<AccordionHeaderElement, AccordionHeaderProps>(\n (props: ScopedProps<AccordionHeaderProps>, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return (\n <Primitive.h3\n data-state={getState(itemContext.open)}\n data-disabled={itemContext.disabled ? '' : undefined}\n {...headerProps}\n ref={forwardedRef}\n />\n );\n }\n);\n\nAccordionHeader.displayName = HEADER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'AccordionTrigger';\n\ntype AccordionTriggerElement = React.ElementRef<typeof CollapsiblePrimitive.Trigger>;\ntype CollapsibleTriggerProps = Radix.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Trigger>;\ninterface AccordionTriggerProps extends CollapsibleTriggerProps {}\n\n/**\n * `AccordionTrigger` is the trigger that toggles the collapsed state of an `AccordionItem`. It\n * should always be nested inside of an `AccordionHeader`.\n */\nconst AccordionTrigger = React.forwardRef<AccordionTriggerElement, AccordionTriggerProps>(\n (props: ScopedProps<AccordionTriggerProps>, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n <Collection.ItemSlot scope={__scopeAccordion}>\n <CollapsiblePrimitive.Trigger\n aria-disabled={(itemContext.open && !collapsibleContext.collapsible) || undefined}\n id={itemContext.triggerId}\n {...collapsibleScope}\n {...triggerProps}\n ref={forwardedRef}\n />\n </Collection.ItemSlot>\n );\n }\n);\n\nAccordionTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'AccordionContent';\n\ntype AccordionContentElement = React.ElementRef<typeof CollapsiblePrimitive.Content>;\ntype CollapsibleContentProps = Radix.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Content>;\ninterface AccordionContentProps extends CollapsibleContentProps {}\n\n/**\n * `AccordionContent` contains the collapsible content for an `AccordionItem`.\n */\nconst AccordionContent = React.forwardRef<AccordionContentElement, AccordionContentProps>(\n (props: ScopedProps<AccordionContentProps>, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n <CollapsiblePrimitive.Content\n role=\"region\"\n aria-labelledby={itemContext.triggerId}\n {...collapsibleScope}\n {...contentProps}\n ref={forwardedRef}\n style={{\n ['--radix-accordion-content-height' as any]: 'var(--radix-collapsible-content-height)',\n ['--radix-accordion-content-width' as any]: 'var(--radix-collapsible-content-width)',\n ...props.style,\n }}\n />\n );\n }\n);\n\nAccordionContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open?: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst Root = Accordion;\nconst Item = AccordionItem;\nconst Header = AccordionHeader;\nconst Trigger = AccordionTrigger;\nconst Content = AccordionContent;\n\nexport {\n createAccordionScope,\n //\n Accordion,\n AccordionItem,\n AccordionHeader,\n AccordionTrigger,\n AccordionContent,\n //\n Root,\n Item,\n Header,\n Trigger,\n Content,\n};\nexport type {\n AccordionSingleProps,\n AccordionMultipleProps,\n AccordionItemProps,\n AccordionHeaderProps,\n AccordionTriggerProps,\n AccordionContentProps,\n};\n"],"names":["ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createCollection","createAccordionContext","createAccordionScope","createContextScope","createCollapsibleScope","useCollapsibleScope","Accordion","React","forwardRef","props","forwardedRef","type","accordionProps","singleProps","multipleProps","_react","createElement","$c2edcd6d640daf5939a1552e1f81c4$var$Collection","Provider","scope","__scopeAccordion","$c2edcd6d640daf5939a1552e1f81c4$var$AccordionImplMultiple","_babelRuntimeHelpersEsmExtends","ref","$c2edcd6d640daf5939a1552e1f81c4$var$AccordionImplSingle","propTypes","value","defaultValue","includes","Error","Array","isArray","AccordionValueProvider","useAccordionValueContext","AccordionCollapsibleProvider","useAccordionCollapsibleContext","collapsible","AccordionImplSingle","valueProp","onValueChange","accordionSingleProps","setValue","useControllableState","prop","defaultProp","onChange","$c2edcd6d640daf5939a1552e1f81c4$var$AccordionValueProvider","onItemOpen","onItemClose","useCallback","$c2edcd6d640daf5939a1552e1f81c4$var$AccordionCollapsibleProvider","$c2edcd6d640daf5939a1552e1f81c4$var$AccordionImpl","AccordionImplMultiple","accordionMultipleProps","handleItemOpen","itemValue","prevValue","handleItemClose","filter","AccordionImplProvider","useAccordionContext","AccordionImpl","disabled","accordionRef","useRef","composedRefs","useComposedRefs","getItems","handleKeyDown","composeEventHandlers","onKeyDown","event","_triggerCollection$cl","key","target","triggerCollection","item","_item$ref$current","current","triggerIndex","findIndex","triggerCount","length","preventDefault","nextIndex","focus","$c2edcd6d640daf5939a1552e1f81c4$var$AccordionImplProvider","Slot","Primitive","div","undefined","AccordionItemProvider","useAccordionItemContext","AccordionItem","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","useId","open","$c2edcd6d640daf5939a1552e1f81c4$var$AccordionItemProvider","_radixUiReactCollapsible","Root","onOpenChange","AccordionHeader","headerProps","itemContext","h3","AccordionTrigger","triggerProps","collapsibleContext","ItemSlot","Trigger","id","AccordionContent","contentProps","Content","role","style","Item","Header"],"version":3,"file":"index.module.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;A;;;;;;;;;;;ACcA;;oGAEA,CAEA,MAAMU,oCAAc,GAAG,WAAvB,AAAA;AACA,MAAMC,oCAAc,GAAG;IAAC,MAAD;IAAS,KAAT;IAAgB,WAAhB;IAA6B,SAA7B;CAAvB,AAAA;AAEA,MAAM,CAACC,gCAAD,EAAaC,mCAAb,EAA4BC,2CAA5B,CAAA,GACJZ,uBAAgB,CAA0BQ,oCAA1B,CADlB,AAAA;AAIA,MAAM,CAACK,4CAAD,EAAyBC,yCAAzB,CAAA,GAAiDf,yBAAkB,CAACS,oCAAD,EAAiB;IACxFI,2CADwF;IAExFN,6BAFwF;CAAjB,CAAzE,AAAA;AAIA,MAAMS,yCAAmB,GAAGT,6BAAsB,EAAlD,AAAA;AAUA,MAAMU,yCAAS,GAAA,aAAGlB,CAAAA,YAAK,CAACmB,UAAN,CAChB,CAACC,KAAD,EAAoEC,YAApE,GAAqF;IACnF,MAAM,E,MAAEC,IAAF,CAAA,EAAQ,GAAGC,cAAH,EAAR,GAA8BH,KAApC,AAAM;IACN,MAAMI,WAAW,GAAGD,cAApB,AAAA;IACA,MAAME,aAAa,GAAGF,cAAtB,AAAA;IACA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,gCAAD,CAAY,QAAZ,EADF;QACuB,KAAK,EAAEH,KAAK,CAACM,gBAAb;KAArB,EACGJ,IAAI,KAAK,UAAT,GAAA,aACC,CAAA,YAAA,CAAA,aAAA,CAAC,2CAAD,EAAA,oCAAA,CAAA,EAAA,EAA2BG,aAA3B,EAFJ;QAE8C,GAAG,EAAEJ,YAAL;KAA1C,CAAA,CADD,GAAA,aAGC,CAAA,YAAA,CAAA,aAAA,CAAC,yCAAD,EAAA,oCAAA,CAAA,EAAA,EAAyBG,WAAzB,EAFA;QAEsC,GAAG,EAAEH,YAAL;KAAtC,CAAA,CAJJ,CADF,CAKM;CAVQ,CAAlB,AAcG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,oCAAA;CAAA,CAAA,CAAA;AAEAH,yCAAS,CAACS,SAAV,GAAsB;IACpBL,IAAI,EAACF,KAAD,EAAQ;QACV,MAAMQ,KAAK,GAAGR,KAAK,CAACQ,KAAN,IAAeR,KAAK,CAACS,YAAnC,AAAA;QACA,IAAIT,KAAK,CAACE,IAAN,IAAc,CAAC;YAAC,QAAD;YAAW,UAAX;SAAA,CAAuBQ,QAAvB,CAAgCV,KAAK,CAACE,IAAtC,CAAnB,EACE,OAAO,IAAIS,KAAJ,CACL,mFADK,CAAP,CAAA;QAIF,IAAIX,KAAK,CAACE,IAAN,KAAe,UAAf,IAA6B,OAAOM,KAAP,KAAiB,QAAlD,EACE,OAAO,IAAIG,KAAJ,CACL,iHADK,CAAP,CAAA;QAIF,IAAIX,KAAK,CAACE,IAAN,KAAe,QAAf,IAA2BU,KAAK,CAACC,OAAN,CAAcL,KAAd,CAA/B,EACE,OAAO,IAAIG,KAAJ,CACL,qHADK,CAAP,CAAA;QAIF,OAAO,IAAP,CAAA;KACD;CAnBH,CAAsB;AAsBtB,oGAAA,CAQA,MAAM,CAACG,4CAAD,EAAyBC,8CAAzB,CAAA,GACJpB,4CAAsB,CAA6BL,oCAA7B,CADxB,AAAA;AAGA,MAAM,CAAC0B,kDAAD,EAA+BC,oDAA/B,CAAA,GAAiEtB,4CAAsB,CAC3FL,oCAD2F,EAE3F;IAAE4B,WAAW,EAAE,KAAbA;CAFyF,CAA7F,AAEE;AAyBF,MAAMC,yCAAmB,GAAA,aAAGvC,CAAAA,YAAK,CAACmB,UAAN,CAC1B,CAACC,KAAD,EAA+CC,YAA/C,GAAgE;IAC9D,MAAM,EACJO,KAAK,EAAEY,SADH,CAAA,E,cAEJX,YAFI,CAAA,iBAGJY,aAAa,GAAG,IAAM,EAHlB,gBAIJH,WAAW,GAAG,KAJV,GAKJ,GAAGI,oBAAH,EALI,GAMFtB,KANJ,AAAM;IAQN,MAAM,CAACQ,KAAD,EAAQe,QAAR,CAAA,GAAoBtC,2BAAoB,CAAC;QAC7CuC,IAAI,EAAEJ,SADuC;QAE7CK,WAAW,EAAEhB,YAFgC;QAG7CiB,QAAQ,EAAEL,aAAVK;KAH4C,CAA9C,AAA+C;IAM/C,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,4CAAD,EADF;QAEI,KAAK,EAAE1B,KAAK,CAACM,gBADf;QAEE,KAAK,EAAEE,KAAK,GAAG;YAACA,KAAD;SAAH,GAAa,EAF3B;QAGE,UAAU,EAAEe,QAHd;QAIE,WAAW,EAAE3C,YAAK,CAAC+C,WAAN,CAAkB,IAAMT,WAAW,IAAIK,QAAQ,CAAC,EAAD,CAA/C;QAAA,EAAqD;YAACL,WAAD;YAAcK,QAAd;SAArD,CAAb;KAJF,EAAA,aAME,CAAA,YAAA,CAAA,aAAA,CAAC,kDAAD,EANF;QAMgC,KAAK,EAAEvB,KAAK,CAACM,gBAA3C;QAA6D,WAAW,EAAEY,WAAb;KAA7D,EAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,mCAAD,EAAA,oCAAA,CAAA,EAAA,EAAmBI,oBAAnB,EADF;QAC2C,GAAG,EAAErB,YAAL;KAAzC,CAAA,CADF,CANF,CADF,CAQM;CAxBkB,CAA5B,AA4BG;AAGH,oGAAA,CAmBA,MAAM2B,2CAAqB,GAAA,aAAGhD,CAAAA,YAAK,CAACmB,UAAN,CAG5B,CAACC,KAAD,EAAiDC,YAAjD,GAAkE;IAClE,MAAM,EACJO,KAAK,EAAEY,SADH,CAAA,E,cAEJX,YAFI,CAAA,iBAGJY,aAAa,GAAG,IAAM,EAHlB,GAIJ,GAAGQ,sBAAH,EAJI,GAKF7B,KALJ,AAAM;IAON,MAAM,CAACQ,MAAK,GAAG,EAAT,EAAae,QAAb,CAAA,GAAyBtC,2BAAoB,CAAC;QAClDuC,IAAI,EAAEJ,SAD4C;QAElDK,WAAW,EAAEhB,YAFqC;QAGlDiB,QAAQ,EAAEL,aAAVK;KAHiD,CAAnD,AAAoD;IAMpD,MAAMI,cAAc,GAAGlD,YAAK,CAAC+C,WAAN,CACpBI,CAAAA,SAAD,GAAuBR,QAAQ,CAAC,CAACS,SAAS,GAAG,EAAb,GAAoB;mBAAIA,SAAJ;gBAAeD,SAAf;aAArB;QAAA,CADV;IAAA,EAErB;QAACR,QAAD;KAFqB,CAAvB,AAAA;IAKA,MAAMU,eAAe,GAAGrD,YAAK,CAAC+C,WAAN,CACrBI,CAAAA,SAAD,GACER,QAAQ,CAAC,CAACS,SAAS,GAAG,EAAb,GAAoBA,SAAS,CAACE,MAAV,CAAkB1B,CAAAA,KAAD,GAAWA,KAAK,KAAKuB,SAAtC;YAAA,CAArB;QAAA,CAFY;IAAA,EAGtB;QAACR,QAAD;KAHsB,CAAxB,AAAA;IAMA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,4CAAD,EADF;QAEI,KAAK,EAAEvB,KAAK,CAACM,gBADf;QAEE,KAAK,EAAEE,MAFT;QAGE,UAAU,EAAEsB,cAHd;QAIE,WAAW,EAAEG,eAAb;KAJF,EAAA,aAME,CAAA,YAAA,CAAA,aAAA,CAAC,kDAAD,EANF;QAMgC,KAAK,EAAEjC,KAAK,CAACM,gBAA3C;QAA6D,WAAW,EAAE,IAAb;KAA7D,EAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,mCAAD,EAAA,oCAAA,CAAA,EAAA,EAAmBuB,sBAAnB,EADF;QAC6C,GAAG,EAAE5B,YAAL;KAA3C,CAAA,CADF,CANF,CADF,CAQM;CApCsB,CAA9B,AAwCC;AAED,oGAAA,CAMA,MAAM,CAACkC,2CAAD,EAAwBC,yCAAxB,CAAA,GACJzC,4CAAsB,CAA4BL,oCAA5B,CADxB,AAAA;AAcA,MAAM+C,mCAAa,GAAA,aAAGzD,CAAAA,YAAK,CAACmB,UAAN,CACpB,CAACC,KAAD,EAAyCC,YAAzC,GAA0D;IACxD,MAAM,E,kBAAEK,gBAAF,CAAA,E,UAAoBgC,QAApB,CAAA,EAA8B,GAAGnC,cAAH,EAA9B,GAAoDH,KAA1D,AAAM;IACN,MAAMuC,YAAY,GAAG3D,YAAK,CAAC4D,MAAN,CAAmC,IAAnC,CAArB,AAAA;IACA,MAAMC,YAAY,GAAG1D,sBAAe,CAACwD,YAAD,EAAetC,YAAf,CAApC,AAAA;IACA,MAAMyC,QAAQ,GAAGjD,mCAAa,CAACa,gBAAD,CAA9B,AAAA;IAEA,MAAMqC,aAAa,GAAG3D,2BAAoB,CAACgB,KAAK,CAAC4C,SAAP,EAAmBC,CAAAA,KAAD,GAAW;QAAA,IAAA,qBAAA,AAAA;QACrE,IAAI,CAACtD,oCAAc,CAACmB,QAAf,CAAwBmC,KAAK,CAACC,GAA9B,CAAL,EAAyC,OAAzC;QACA,MAAMC,MAAM,GAAGF,KAAK,CAACE,MAArB,AAAA;QACA,MAAMC,iBAAiB,GAAGN,QAAQ,EAAA,CAAGR,MAAX,CAAmBe,CAAAA,IAAD,GAA5C;YAA4C,IAAA,iBAAA,AAAA;YAAA,OAAU,CAAA,CAAA,AAAA,CAAA,iBAAA,GAACA,IAAI,CAACC,GAAL,CAASC,OAAV,CAAA,KAAA,IAAA,IAAA,iBAAA,KAAA,KAAA,CAAA,IAAC,iBAAA,CAAkBb,QAAnB,CAAA,AAAV,CAAA;SAAlB,CAA1B,AAA4C;QAC5C,MAAMc,YAAY,GAAGJ,iBAAiB,CAACK,SAAlB,CAA6BJ,CAAAA,IAAD,GAAUA,IAAI,CAACC,GAAL,CAASC,OAAT,KAAqBJ,MAA3D;QAAA,CAArB,AAAA;QACA,MAAMO,YAAY,GAAGN,iBAAiB,CAACO,MAAvC,AAAA;QAEA,IAAIH,YAAY,KAAK,EAArB,EAAyB,OAP4C,CASrE,gDAFA;QAGAP,KAAK,CAACW,cAAN,EAAAX,CAAAA;QAEA,IAAIY,SAAS,GAAGL,YAAhB,AAAA;QACA,OAAQP,KAAK,CAACC,GAAd;YACE,KAAK,MAAL;gBACEW,SAAS,GAAG,CAAZ,CAAAA;gBACA,MAAA;YACF,KAAK,KAAL;gBACEA,SAAS,GAAGH,YAAY,GAAG,CAA3B,CAAAG;gBACA,MAAA;YACF,KAAK,WAAL;gBACEA,SAAS,GAAGL,YAAY,GAAG,CAA3B,CAAAK;gBACA,MAAA;YACF,KAAK,SAAL;gBACEA,SAAS,GAAGL,YAAY,GAAG,CAA3B,CAAAK;gBACA,IAAIA,SAAS,GAAG,CAAhB,EACEA,SAAS,GAAGH,YAAY,GAAG,CAA3B,CAAAG;gBAEF,MAAA;SAfJ;QAkBA,MAAMC,YAAY,GAAGD,SAAS,GAAGH,YAAjC,AAAA;QACA,CAAA,qBAAA,GAAAN,iBAAiB,CAACU,YAAD,CAAjB,CAAgCR,GAAhC,CAAoCC,OAApC,CAAA,KAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,IAAA,qBAAA,CAA6CQ,KAA7C,EAAA,CAAA;KAhCwC,CAA1C,AAiCC;IAED,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,2CAAD,EADF;QACyB,KAAK,EAAErD,gBAA9B;QAAgD,QAAQ,EAAEgC,QAAV;KAAhD,EAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,gCAAD,CAAY,IAAZ,EADF;QACmB,KAAK,EAAEhC,gBAAP;KAAjB,EAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,gBAAD,CAAW,GAAX,EAAA,oCAAA,CAAA,EAAA,EACMH,cADN,EADF;QAGI,GAAG,EAAEsC,YAFP;QAGE,SAAS,EAAEH,QAAQ,GAAGsB,SAAH,GAAejB,aAAlC;KAHF,CAAA,CADF,CADF,CADF,CAGM;CA7CY,CAAtB,AAqDG;AAGH;;oGAEA,CAEA,MAAMkB,+BAAS,GAAG,eAAlB,AAAA;AAGA,MAAM,CAACC,2CAAD,EAAwBC,6CAAxB,CAAA,GACJpE,4CAAsB,CAA4BkE,+BAA5B,CADxB,AAAA;AAmBA;;GAEA,CACA,MAAMG,yCAAa,GAAA,aAAGpF,CAAAA,YAAK,CAACmB,UAAN,CACpB,CAACC,KAAD,EAAyCC,YAAzC,GAA0D;IACxD,MAAM,E,kBAAEK,gBAAF,CAAA,E,OAAoBE,KAApB,CAAA,EAA2B,GAAGyD,kBAAH,EAA3B,GAAqDjE,KAA3D,AAAM;IACN,MAAMkE,gBAAgB,GAAG9B,yCAAmB,CAACyB,+BAAD,EAAYvD,gBAAZ,CAA5C,AAAA;IACA,MAAM6D,YAAY,GAAGpD,8CAAwB,CAAC8C,+BAAD,EAAYvD,gBAAZ,CAA7C,AAAA;IACA,MAAM8D,gBAAgB,GAAGvE,yCAAmB,CAACS,gBAAD,CAA5C,AAAA;IACA,MAAM+D,SAAS,GAAGhF,YAAK,EAAvB,AAAA;IACA,MAAMiF,KAAI,GAAI9D,KAAK,IAAI2D,YAAY,CAAC3D,KAAb,CAAmBE,QAAnB,CAA4BF,KAA5B,CAAV,IAAiD,KAA9D,AAAA;IACA,MAAM8B,QAAQ,GAAG4B,gBAAgB,CAAC5B,QAAjB,IAA6BtC,KAAK,CAACsC,QAApD,AAAA;IAEA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,2CAAD,EADF;QAEI,KAAK,EAAEhC,gBADT;QAEE,IAAI,EAAEgE,KAFR;QAGE,QAAQ,EAAEhC,QAHZ;QAIE,SAAS,EAAE+B,SAAX;KAJF,EAAA,aAME,CAAA,YAAA,CAAA,aAAA,CAAC,WAAD,EANF,oCAAA,CAAA;QAOI,YAAA,EAAYC,KAAI,GAAG,MAAH,GAAY,QAA5B;KADF,EAEMF,gBAFN,EAGMH,kBAHN,EAAA;QAIE,GAAG,EAAEhE,YAJP;QAKE,QAAQ,EAAEqC,QALZ;QAME,IAAI,EAAEgC,KANR;QAOE,YAAY,EAAGA,CAAAA,IAAD,GAAU;YACtB,IAAIA,IAAJ,EACEH,YAAY,CAACI,UAAb,CAAwB/D,KAAxB,CAAA2D,CAAAA;iBAEAA,YAAY,CAACK,WAAb,CAAyBhE,KAAzB,CAAA2D,CAAAA;SAEH;KAbH,CAAA,CANF,CADF,CAOI;CAjBc,CAAtB,AAkCG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,+BAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMM,iCAAW,GAAG,iBAApB,AAAA;AAMA;;;GAGA,CACA,MAAMC,yCAAe,GAAA,aAAG9F,CAAAA,YAAK,CAACmB,UAAN,CACtB,CAACC,KAAD,EAA2CC,YAA3C,GAA4D;IAC1D,MAAM,E,kBAAEK,gBAAF,CAAA,EAAoB,GAAGqE,WAAH,EAApB,GAAuC3E,KAA7C,AAAM;IACN,MAAM4E,WAAW,GAAGb,6CAAuB,CAACU,iCAAD,EAAcnE,gBAAd,CAA3C,AAAA;IACA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,gBAAD,CAAW,EAAX,EADF,oCAAA,CAAA;QAEI,YAAA,EAAYuE,8BAAQ,CAACD,WAAW,CAACN,IAAb,CADtB;QAEE,eAAA,EAAeM,WAAW,CAACtC,QAAZ,GAAuB,EAAvB,GAA4BsB,SAA3C;KAFF,EAGMe,WAHN,EAAA;QAIE,GAAG,EAAE1E,YAAL;KAJF,CAAA,CADF,CACE;CALkB,CAAxB,AAYG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,iCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAM6E,kCAAY,GAAG,kBAArB,AAAA;AAMA;;;GAGA,CACA,MAAMC,yCAAgB,GAAA,aAAGnG,CAAAA,YAAK,CAACmB,UAAN,CACvB,CAACC,KAAD,EAA4CC,YAA5C,GAA6D;IAC3D,MAAM,E,kBAAEK,gBAAF,CAAA,EAAoB,GAAG0E,YAAH,EAApB,GAAwChF,KAA9C,AAAM;IACN,MAAM4E,WAAW,GAAGb,6CAAuB,CAACe,kCAAD,EAAexE,gBAAf,CAA3C,AAAA;IACA,MAAM2E,kBAAkB,GAAGhE,oDAA8B,CAAC6D,kCAAD,EAAexE,gBAAf,CAAzD,AAAA;IACA,MAAM8D,gBAAgB,GAAGvE,yCAAmB,CAACS,gBAAD,CAA5C,AAAA;IACA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,gCAAD,CAAY,QAAZ,EADF;QACuB,KAAK,EAAEA,gBAAP;KAArB,EAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,cAAD,EADF,oCAAA,CAAA;QAEI,eAAA,EAAgBsE,WAAW,CAACN,IAAZ,IAAoB,CAACW,kBAAkB,CAAC/D,WAAzC,IAAyD0C,SAD1E;QAEE,EAAE,EAAEgB,WAAW,CAACP,SAAhB;KAFF,EAGMD,gBAHN,EAIMY,YAJN,EAAA;QAKE,GAAG,EAAE/E,YAAL;KALF,CAAA,CADF,CADF,CAEI;CARiB,CAAzB,AAiBG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,kCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMiF,kCAAY,GAAG,kBAArB,AAAA;AAMA;;GAEA,CACA,MAAMC,yCAAgB,GAAA,aAAGvG,CAAAA,YAAK,CAACmB,UAAN,CACvB,CAACC,KAAD,EAA4CC,YAA5C,GAA6D;IAC3D,MAAM,E,kBAAEK,gBAAF,CAAA,EAAoB,GAAG8E,YAAH,EAApB,GAAwCpF,KAA9C,AAAM;IACN,MAAM4E,WAAW,GAAGb,6CAAuB,CAACmB,kCAAD,EAAe5E,gBAAf,CAA3C,AAAA;IACA,MAAM8D,gBAAgB,GAAGvE,yCAAmB,CAACS,gBAAD,CAA5C,AAAA;IACA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,cAAD,EADF,oCAAA,CAAA;QAEI,IAAI,EAAC,QADP;QAEE,iBAAA,EAAiBsE,WAAW,CAACP,SAA7B;KAFF,EAGMD,gBAHN,EAIMgB,YAJN,EAAA;QAKE,GAAG,EAAEnF,YALP;QAME,KAAK,EAAE;YACL,CAAC,kCAAD,CAAA,EAA6C,yCADxC;YAEL,CAAC,iCAAD,CAAA,EAA4C,wCAFvC;YAGL,GAAGD,KAAK,CAACqF,KAAT;SAHK;KANT,CAAA,CADF,CACE;CANmB,CAAzB,AAmBG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,kCAAA;CAAA,CAAA,CAAA;AAEA,oGAAA,CAEA,SAASR,8BAAT,CAAkBP,IAAlB,EAAkC;IAChC,OAAOA,IAAI,GAAG,MAAH,GAAY,QAAvB,CAAA;CACD;AAED,MAAMgB,yCAAI,GAAGxF,yCAAb,AAAA;AACA,MAAMyF,yCAAI,GAAGvB,yCAAb,AAAA;AACA,MAAMwB,yCAAM,GAAGd,yCAAf,AAAA;AACA,MAAMe,yCAAO,GAAGV,yCAAhB,AAAA;AACA,MAAMW,yCAAO,GAAGP,yCAAhB,AAAA;;ADpdA","sources":["packages/react/accordion/src/index.ts","packages/react/accordion/src/Accordion.tsx"],"sourcesContent":["export * from './Accordion';\n","import React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\nimport { createCollapsibleScope } from '@radix-ui/react-collapsible';\nimport { useId } from '@radix-ui/react-id';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Accordion\n * -----------------------------------------------------------------------------------------------*/\n\nconst ACCORDION_NAME = 'Accordion';\nconst ACCORDION_KEYS = ['Home', 'End', 'ArrowDown', 'ArrowUp'];\n\nconst [Collection, useCollection, createCollectionScope] =\n createCollection<AccordionTriggerElement>(ACCORDION_NAME);\n\ntype ScopedProps<P> = P & { __scopeAccordion?: Scope };\nconst [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope,\n]);\nconst useCollapsibleScope = createCollapsibleScope();\n\ntype AccordionElement = AccordionImplMultipleElement | AccordionImplSingleElement;\ninterface AccordionSingleProps extends AccordionImplSingleProps {\n type: 'single';\n}\ninterface AccordionMultipleProps extends AccordionImplMultipleProps {\n type: 'multiple';\n}\n\nconst Accordion = React.forwardRef<AccordionElement, AccordionSingleProps | AccordionMultipleProps>(\n (props: ScopedProps<AccordionSingleProps | AccordionMultipleProps>, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps as AccordionImplSingleProps;\n const multipleProps = accordionProps as AccordionImplMultipleProps;\n return (\n <Collection.Provider scope={props.__scopeAccordion}>\n {type === 'multiple' ? (\n <AccordionImplMultiple {...multipleProps} ref={forwardedRef} />\n ) : (\n <AccordionImplSingle {...singleProps} ref={forwardedRef} />\n )}\n </Collection.Provider>\n );\n }\n);\n\nAccordion.displayName = ACCORDION_NAME;\n\nAccordion.propTypes = {\n type(props) {\n const value = props.value || props.defaultValue;\n if (props.type && !['single', 'multiple'].includes(props.type)) {\n return new Error(\n 'Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`.'\n );\n }\n if (props.type === 'multiple' && typeof value === 'string') {\n return new Error(\n 'Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`.'\n );\n }\n if (props.type === 'single' && Array.isArray(value)) {\n return new Error(\n 'Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`.'\n );\n }\n return null;\n },\n};\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionValueContextValue = {\n value: string[];\n onItemOpen(value: string): void;\n onItemClose(value: string): void;\n};\n\nconst [AccordionValueProvider, useAccordionValueContext] =\n createAccordionContext<AccordionValueContextValue>(ACCORDION_NAME);\n\nconst [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\n\ntype AccordionImplSingleElement = AccordionImplElement;\ninterface AccordionImplSingleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion item whose content is expanded.\n */\n value?: string;\n /**\n * The value of the item whose content is expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string;\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string): void;\n /**\n * Whether an accordion item can be collapsed after it has been opened.\n * @default false\n */\n collapsible?: boolean;\n}\n\nconst AccordionImplSingle = React.forwardRef<AccordionImplSingleElement, AccordionImplSingleProps>(\n (props: ScopedProps<AccordionImplSingleProps>, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n collapsible = false,\n ...accordionSingleProps\n } = props;\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n <AccordionValueProvider\n scope={props.__scopeAccordion}\n value={value ? [value] : []}\n onItemOpen={setValue}\n onItemClose={React.useCallback(() => collapsible && setValue(''), [collapsible, setValue])}\n >\n <AccordionCollapsibleProvider scope={props.__scopeAccordion} collapsible={collapsible}>\n <AccordionImpl {...accordionSingleProps} ref={forwardedRef} />\n </AccordionCollapsibleProvider>\n </AccordionValueProvider>\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplMultipleElement = AccordionImplElement;\ninterface AccordionImplMultipleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion items whose contents are expanded.\n */\n value?: string[];\n /**\n * The value of the items whose contents are expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string[];\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string[]): void;\n}\n\nconst AccordionImplMultiple = React.forwardRef<\n AccordionImplMultipleElement,\n AccordionImplMultipleProps\n>((props: ScopedProps<AccordionImplMultipleProps>, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n ...accordionMultipleProps\n } = props;\n\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const handleItemOpen = React.useCallback(\n (itemValue: string) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n\n const handleItemClose = React.useCallback(\n (itemValue: string) =>\n setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),\n [setValue]\n );\n\n return (\n <AccordionValueProvider\n scope={props.__scopeAccordion}\n value={value}\n onItemOpen={handleItemOpen}\n onItemClose={handleItemClose}\n >\n <AccordionCollapsibleProvider scope={props.__scopeAccordion} collapsible={true}>\n <AccordionImpl {...accordionMultipleProps} ref={forwardedRef} />\n </AccordionCollapsibleProvider>\n </AccordionValueProvider>\n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplContextValue = {\n disabled?: boolean;\n};\n\nconst [AccordionImplProvider, useAccordionContext] =\n createAccordionContext<AccordionImplContextValue>(ACCORDION_NAME);\n\ntype AccordionImplElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface AccordionImplProps extends PrimitiveDivProps {\n /**\n * Whether or not an accordion is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n}\n\nconst AccordionImpl = React.forwardRef<AccordionImplElement, AccordionImplProps>(\n (props: ScopedProps<AccordionImplProps>, forwardedRef) => {\n const { __scopeAccordion, disabled, ...accordionProps } = props;\n const accordionRef = React.useRef<AccordionImplElement>(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target as HTMLElement;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n\n if (triggerIndex === -1) return;\n\n // Prevents page scroll while user is navigating\n event.preventDefault();\n\n let nextIndex = triggerIndex;\n switch (event.key) {\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = triggerCount - 1;\n break;\n case 'ArrowDown':\n nextIndex = triggerIndex + 1;\n break;\n case 'ArrowUp':\n nextIndex = triggerIndex - 1;\n if (nextIndex < 0) {\n nextIndex = triggerCount - 1;\n }\n break;\n }\n\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n\n return (\n <AccordionImplProvider scope={__scopeAccordion} disabled={disabled}>\n <Collection.Slot scope={__scopeAccordion}>\n <Primitive.div\n {...accordionProps}\n ref={composedRefs}\n onKeyDown={disabled ? undefined : handleKeyDown}\n />\n </Collection.Slot>\n </AccordionImplProvider>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'AccordionItem';\n\ntype AccordionItemContextValue = { open?: boolean; disabled?: boolean; triggerId: string };\nconst [AccordionItemProvider, useAccordionItemContext] =\n createAccordionContext<AccordionItemContextValue>(ITEM_NAME);\n\ntype AccordionItemElement = React.ElementRef<typeof CollapsiblePrimitive.Root>;\ntype CollapsibleProps = Radix.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Root>;\ninterface AccordionItemProps\n extends Omit<CollapsibleProps, 'open' | 'defaultOpen' | 'onOpenChange'> {\n /**\n * Whether or not an accordion item is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * A string value for the accordion item. All items within an accordion should use a unique value.\n */\n value: string;\n}\n\n/**\n * `AccordionItem` contains all of the parts of a collapsible section inside of an `Accordion`.\n */\nconst AccordionItem = React.forwardRef<AccordionItemElement, AccordionItemProps>(\n (props: ScopedProps<AccordionItemProps>, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = (value && valueContext.value.includes(value)) || false;\n const disabled = accordionContext.disabled || props.disabled;\n\n return (\n <AccordionItemProvider\n scope={__scopeAccordion}\n open={open}\n disabled={disabled}\n triggerId={triggerId}\n >\n <CollapsiblePrimitive.Root\n data-state={open ? 'open' : 'closed'}\n {...collapsibleScope}\n {...accordionItemProps}\n ref={forwardedRef}\n disabled={disabled}\n open={open}\n onOpenChange={(open) => {\n if (open) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }}\n />\n </AccordionItemProvider>\n );\n }\n);\n\nAccordionItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionHeader\n * -----------------------------------------------------------------------------------------------*/\n\nconst HEADER_NAME = 'AccordionHeader';\n\ntype AccordionHeaderElement = React.ElementRef<typeof Primitive.h3>;\ntype PrimitiveHeading3Props = Radix.ComponentPropsWithoutRef<typeof Primitive.h3>;\ninterface AccordionHeaderProps extends PrimitiveHeading3Props {}\n\n/**\n * `AccordionHeader` contains the content for the parts of an `AccordionItem` that will be visible\n * whether or not its content is collapsed.\n */\nconst AccordionHeader = React.forwardRef<AccordionHeaderElement, AccordionHeaderProps>(\n (props: ScopedProps<AccordionHeaderProps>, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return (\n <Primitive.h3\n data-state={getState(itemContext.open)}\n data-disabled={itemContext.disabled ? '' : undefined}\n {...headerProps}\n ref={forwardedRef}\n />\n );\n }\n);\n\nAccordionHeader.displayName = HEADER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'AccordionTrigger';\n\ntype AccordionTriggerElement = React.ElementRef<typeof CollapsiblePrimitive.Trigger>;\ntype CollapsibleTriggerProps = Radix.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Trigger>;\ninterface AccordionTriggerProps extends CollapsibleTriggerProps {}\n\n/**\n * `AccordionTrigger` is the trigger that toggles the collapsed state of an `AccordionItem`. It\n * should always be nested inside of an `AccordionHeader`.\n */\nconst AccordionTrigger = React.forwardRef<AccordionTriggerElement, AccordionTriggerProps>(\n (props: ScopedProps<AccordionTriggerProps>, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n <Collection.ItemSlot scope={__scopeAccordion}>\n <CollapsiblePrimitive.Trigger\n aria-disabled={(itemContext.open && !collapsibleContext.collapsible) || undefined}\n id={itemContext.triggerId}\n {...collapsibleScope}\n {...triggerProps}\n ref={forwardedRef}\n />\n </Collection.ItemSlot>\n );\n }\n);\n\nAccordionTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'AccordionContent';\n\ntype AccordionContentElement = React.ElementRef<typeof CollapsiblePrimitive.Content>;\ntype CollapsibleContentProps = Radix.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Content>;\ninterface AccordionContentProps extends CollapsibleContentProps {}\n\n/**\n * `AccordionContent` contains the collapsible content for an `AccordionItem`.\n */\nconst AccordionContent = React.forwardRef<AccordionContentElement, AccordionContentProps>(\n (props: ScopedProps<AccordionContentProps>, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n <CollapsiblePrimitive.Content\n role=\"region\"\n aria-labelledby={itemContext.triggerId}\n {...collapsibleScope}\n {...contentProps}\n ref={forwardedRef}\n style={{\n ['--radix-accordion-content-height' as any]: 'var(--radix-collapsible-content-height)',\n ['--radix-accordion-content-width' as any]: 'var(--radix-collapsible-content-width)',\n ...props.style,\n }}\n />\n );\n }\n);\n\nAccordionContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open?: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst Root = Accordion;\nconst Item = AccordionItem;\nconst Header = AccordionHeader;\nconst Trigger = AccordionTrigger;\nconst Content = AccordionContent;\n\nexport {\n createAccordionScope,\n //\n Accordion,\n AccordionItem,\n AccordionHeader,\n AccordionTrigger,\n AccordionContent,\n //\n Root,\n Item,\n Header,\n Trigger,\n Content,\n};\nexport type {\n AccordionSingleProps,\n AccordionMultipleProps,\n AccordionItemProps,\n AccordionHeaderProps,\n AccordionTriggerProps,\n AccordionContentProps,\n};\n"],"names":["React","createContextScope","createCollection","useComposedRefs","composeEventHandlers","useControllableState","Primitive","CollapsiblePrimitive","createCollapsibleScope","useId","ACCORDION_NAME","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createAccordionContext","createAccordionScope","useCollapsibleScope","Accordion","forwardRef","props","forwardedRef","type","accordionProps","singleProps","multipleProps","__scopeAccordion","propTypes","value","defaultValue","includes","Error","Array","isArray","AccordionValueProvider","useAccordionValueContext","AccordionCollapsibleProvider","useAccordionCollapsibleContext","collapsible","AccordionImplSingle","valueProp","onValueChange","accordionSingleProps","setValue","prop","defaultProp","onChange","useCallback","AccordionImplMultiple","accordionMultipleProps","handleItemOpen","itemValue","prevValue","handleItemClose","filter","AccordionImplProvider","useAccordionContext","AccordionImpl","disabled","accordionRef","useRef","composedRefs","getItems","handleKeyDown","onKeyDown","event","key","target","triggerCollection","item","ref","current","triggerIndex","findIndex","triggerCount","length","preventDefault","nextIndex","clampedIndex","focus","undefined","ITEM_NAME","AccordionItemProvider","useAccordionItemContext","AccordionItem","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","open","onItemOpen","onItemClose","HEADER_NAME","AccordionHeader","headerProps","itemContext","getState","TRIGGER_NAME","AccordionTrigger","triggerProps","collapsibleContext","CONTENT_NAME","AccordionContent","contentProps","style","Root","Item","Header","Trigger","Content"],"version":3,"file":"index.module.js.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radix-ui/react-accordion",
3
- "version": "0.1.7-rc.1",
3
+ "version": "0.1.7-rc.4",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
@@ -18,16 +18,17 @@
18
18
  "dependencies": {
19
19
  "@babel/runtime": "^7.13.10",
20
20
  "@radix-ui/primitive": "0.1.0",
21
- "@radix-ui/react-collapsible": "0.1.7-rc.1",
22
- "@radix-ui/react-collection": "0.1.5-rc.1",
23
- "@radix-ui/react-compose-refs": "0.1.1-rc.1",
24
- "@radix-ui/react-context": "0.1.2-rc.1",
25
- "@radix-ui/react-id": "0.1.6-rc.1",
26
- "@radix-ui/react-primitive": "0.1.5-rc.1",
27
- "@radix-ui/react-use-controllable-state": "0.1.1-rc.1"
21
+ "@radix-ui/react-collapsible": "0.1.7-rc.4",
22
+ "@radix-ui/react-collection": "0.1.5-rc.4",
23
+ "@radix-ui/react-compose-refs": "0.1.1-rc.4",
24
+ "@radix-ui/react-context": "0.1.2-rc.4",
25
+ "@radix-ui/react-id": "0.1.6-rc.4",
26
+ "@radix-ui/react-primitive": "0.1.5-rc.4",
27
+ "@radix-ui/react-use-controllable-state": "0.1.1-rc.4"
28
28
  },
29
29
  "peerDependencies": {
30
- "react": "^16.8 || ^17.0 || ^18.0"
30
+ "react": "^16.8 || ^17.0 || ^18.0",
31
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
31
32
  },
32
33
  "homepage": "https://radix-ui.com/primitives",
33
34
  "repository": {