@radix-ui/react-accordion 1.0.1-rc.9 → 1.1.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import * as Radix from "@radix-ui/react-primitive";
3
3
  import { Primitive } from "@radix-ui/react-primitive";
4
4
  import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
5
+ type Direction = 'ltr' | 'rtl';
5
6
  export const createAccordionScope: import("@radix-ui/react-context").CreateScope;
6
7
  export interface AccordionSingleProps extends AccordionImplSingleProps {
7
8
  type: 'single';
@@ -53,6 +54,15 @@ interface AccordionImplProps extends PrimitiveDivProps {
53
54
  * @defaultValue false
54
55
  */
55
56
  disabled?: boolean;
57
+ /**
58
+ * The layout in which the Accordion operates.
59
+ * @default vertical
60
+ */
61
+ orientation?: React.AriaAttributes['aria-orientation'];
62
+ /**
63
+ * The language read direction.
64
+ */
65
+ dir?: Direction;
56
66
  }
57
67
  type CollapsibleProps = Radix.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Root>;
58
68
  export interface AccordionItemProps extends Omit<CollapsibleProps, 'open' | 'defaultOpen' | 'onOpenChange'> {
@@ -1 +1 @@
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 {\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} from './Accordion';\nexport type {\n AccordionSingleProps,\n AccordionMultipleProps,\n AccordionItemProps,\n AccordionHeaderProps,\n AccordionTriggerProps,\n AccordionContentProps,\n} from './Accordion';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
1
+ {"mappings":";;;;AAeA,iBAAiB,KAAK,GAAG,KAAK,CAAC;AAa/B,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;AAwDD,yBAAyB,MAAM,wBAAwB,CAAC,OAAO,UAAU,GAAG,CAAC,CAAC;AAC9E,4BAA6B,SAAQ,iBAAiB;IACpD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACvD;;OAEG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB;AAiHD,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,wGAoCL,CAAC;AAWF,8BAA8B,MAAM,wBAAwB,CAAC,OAAO,UAAU,EAAE,CAAC,CAAC;AAClF,qCAA+B,SAAQ,sBAAsB;CAAG;AAEhE;;;GAGG;AACH,OAAA,MAAM,gHAeL,CAAC;AAWF,+BAA+B,MAAM,wBAAwB,CAAC,OAAO,qBAAqB,OAAO,CAAC,CAAC;AACnG,sCAAgC,SAAQ,uBAAuB;CAAG;AAElE;;;GAGG;AACH,OAAA,MAAM,iHAoBL,CAAC;AAWF,+BAA+B,MAAM,wBAAwB,CAAC,OAAO,qBAAqB,OAAO,CAAC,CAAC;AACnG,sCAAgC,SAAQ,uBAAuB;CAAG;AAElE;;GAEG;AACH,OAAA,MAAM,8GAsBL,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 {\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} from './Accordion';\nexport type {\n AccordionSingleProps,\n AccordionMultipleProps,\n AccordionItemProps,\n AccordionHeaderProps,\n AccordionTriggerProps,\n AccordionContentProps,\n} from './Accordion';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
package/dist/index.js CHANGED
@@ -8,6 +8,7 @@ var $47SRi$radixuireactusecontrollablestate = require("@radix-ui/react-use-contr
8
8
  var $47SRi$radixuireactprimitive = require("@radix-ui/react-primitive");
9
9
  var $47SRi$radixuireactcollapsible = require("@radix-ui/react-collapsible");
10
10
  var $47SRi$radixuireactid = require("@radix-ui/react-id");
11
+ var $47SRi$radixuireactdirection = require("@radix-ui/react-direction");
11
12
 
12
13
  function $parcel$export(e, n, v, s) {
13
14
  Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
@@ -38,6 +39,7 @@ $parcel$export(module.exports, "Content", () => $0f4a20de0660bfd8$export$7c6e2c0
38
39
 
39
40
 
40
41
 
42
+
41
43
  /* -------------------------------------------------------------------------------------------------
42
44
  * Accordion
43
45
  * -----------------------------------------------------------------------------------------------*/ const $0f4a20de0660bfd8$var$ACCORDION_NAME = 'Accordion';
@@ -45,7 +47,9 @@ const $0f4a20de0660bfd8$var$ACCORDION_KEYS = [
45
47
  'Home',
46
48
  'End',
47
49
  'ArrowDown',
48
- 'ArrowUp'
50
+ 'ArrowUp',
51
+ 'ArrowLeft',
52
+ 'ArrowRight'
49
53
  ];
50
54
  const [$0f4a20de0660bfd8$var$Collection, $0f4a20de0660bfd8$var$useCollection, $0f4a20de0660bfd8$var$createCollectionScope] = $47SRi$radixuireactcollection.createCollection($0f4a20de0660bfd8$var$ACCORDION_NAME);
51
55
  const [$0f4a20de0660bfd8$var$createAccordionContext, $0f4a20de0660bfd8$export$9748edc328a73be1] = $47SRi$radixuireactcontext.createContextScope($0f4a20de0660bfd8$var$ACCORDION_NAME, [
@@ -144,10 +148,12 @@ const $0f4a20de0660bfd8$var$AccordionImplSingle = /*#__PURE__*/ ($parcel$interop
144
148
  });
145
149
  /* -----------------------------------------------------------------------------------------------*/ const [$0f4a20de0660bfd8$var$AccordionImplProvider, $0f4a20de0660bfd8$var$useAccordionContext] = $0f4a20de0660bfd8$var$createAccordionContext($0f4a20de0660bfd8$var$ACCORDION_NAME);
146
150
  const $0f4a20de0660bfd8$var$AccordionImpl = /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).forwardRef((props, forwardedRef)=>{
147
- const { __scopeAccordion: __scopeAccordion , disabled: disabled , ...accordionProps } = props;
151
+ const { __scopeAccordion: __scopeAccordion , disabled: disabled , dir: dir , orientation: orientation = 'vertical' , ...accordionProps } = props;
148
152
  const accordionRef = ($parcel$interopDefault($47SRi$react)).useRef(null);
149
153
  const composedRefs = $47SRi$radixuireactcomposerefs.useComposedRefs(accordionRef, forwardedRef);
150
154
  const getItems = $0f4a20de0660bfd8$var$useCollection(__scopeAccordion);
155
+ const direction = $47SRi$radixuireactdirection.useDirection(dir);
156
+ const isDirectionLTR = direction === 'ltr';
151
157
  const handleKeyDown = $47SRi$radixuiprimitive.composeEventHandlers(props.onKeyDown, (event)=>{
152
158
  var _triggerCollection$cl;
153
159
  if (!$0f4a20de0660bfd8$var$ACCORDION_KEYS.includes(event.key)) return;
@@ -162,19 +168,40 @@ const $0f4a20de0660bfd8$var$AccordionImpl = /*#__PURE__*/ ($parcel$interopDefaul
162
168
  if (triggerIndex === -1) return; // Prevents page scroll while user is navigating
163
169
  event.preventDefault();
164
170
  let nextIndex = triggerIndex;
171
+ const homeIndex = 0;
172
+ const endIndex = triggerCount - 1;
173
+ const moveNext = ()=>{
174
+ nextIndex = triggerIndex + 1;
175
+ if (nextIndex > endIndex) nextIndex = homeIndex;
176
+ };
177
+ const movePrev = ()=>{
178
+ nextIndex = triggerIndex - 1;
179
+ if (nextIndex < homeIndex) nextIndex = endIndex;
180
+ };
165
181
  switch(event.key){
166
182
  case 'Home':
167
- nextIndex = 0;
183
+ nextIndex = homeIndex;
168
184
  break;
169
185
  case 'End':
170
- nextIndex = triggerCount - 1;
186
+ nextIndex = endIndex;
187
+ break;
188
+ case 'ArrowRight':
189
+ if (orientation === 'horizontal') {
190
+ if (isDirectionLTR) moveNext();
191
+ else movePrev();
192
+ }
171
193
  break;
172
194
  case 'ArrowDown':
173
- nextIndex = triggerIndex + 1;
195
+ if (orientation === 'vertical') moveNext();
196
+ break;
197
+ case 'ArrowLeft':
198
+ if (orientation === 'horizontal') {
199
+ if (isDirectionLTR) movePrev();
200
+ else moveNext();
201
+ }
174
202
  break;
175
203
  case 'ArrowUp':
176
- nextIndex = triggerIndex - 1;
177
- if (nextIndex < 0) nextIndex = triggerCount - 1;
204
+ if (orientation === 'vertical') movePrev();
178
205
  break;
179
206
  }
180
207
  const clampedIndex = nextIndex % triggerCount;
@@ -182,10 +209,13 @@ const $0f4a20de0660bfd8$var$AccordionImpl = /*#__PURE__*/ ($parcel$interopDefaul
182
209
  });
183
210
  return /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$AccordionImplProvider, {
184
211
  scope: __scopeAccordion,
185
- disabled: disabled
212
+ disabled: disabled,
213
+ direction: dir,
214
+ orientation: orientation
186
215
  }, /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($0f4a20de0660bfd8$var$Collection.Slot, {
187
216
  scope: __scopeAccordion
188
217
  }, /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($47SRi$radixuireactprimitive.Primitive.div, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({}, accordionProps, {
218
+ "data-orientation": orientation,
189
219
  ref: composedRefs,
190
220
  onKeyDown: disabled ? undefined : handleKeyDown
191
221
  }))));
@@ -210,6 +240,7 @@ const [$0f4a20de0660bfd8$var$AccordionItemProvider, $0f4a20de0660bfd8$var$useAcc
210
240
  disabled: disabled,
211
241
  triggerId: triggerId
212
242
  }, /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($47SRi$radixuireactcollapsible.Root, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({
243
+ "data-orientation": accordionContext.orientation,
213
244
  "data-state": open1 ? 'open' : 'closed'
214
245
  }, collapsibleScope, accordionItemProps, {
215
246
  ref: forwardedRef,
@@ -232,8 +263,10 @@ const [$0f4a20de0660bfd8$var$AccordionItemProvider, $0f4a20de0660bfd8$var$useAcc
232
263
  * whether or not its content is collapsed.
233
264
  */ const $0f4a20de0660bfd8$export$5e3e5deaaf81ee41 = /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).forwardRef((props, forwardedRef)=>{
234
265
  const { __scopeAccordion: __scopeAccordion , ...headerProps } = props;
266
+ const accordionContext = $0f4a20de0660bfd8$var$useAccordionContext($0f4a20de0660bfd8$var$ACCORDION_NAME, __scopeAccordion);
235
267
  const itemContext = $0f4a20de0660bfd8$var$useAccordionItemContext($0f4a20de0660bfd8$var$HEADER_NAME, __scopeAccordion);
236
268
  return /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($47SRi$radixuireactprimitive.Primitive.h3, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({
269
+ "data-orientation": accordionContext.orientation,
237
270
  "data-state": $0f4a20de0660bfd8$var$getState(itemContext.open),
238
271
  "data-disabled": itemContext.disabled ? '' : undefined
239
272
  }, headerProps, {
@@ -251,6 +284,7 @@ const [$0f4a20de0660bfd8$var$AccordionItemProvider, $0f4a20de0660bfd8$var$useAcc
251
284
  * should always be nested inside of an `AccordionHeader`.
252
285
  */ const $0f4a20de0660bfd8$export$94e939b1f85bdd73 = /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).forwardRef((props, forwardedRef)=>{
253
286
  const { __scopeAccordion: __scopeAccordion , ...triggerProps } = props;
287
+ const accordionContext = $0f4a20de0660bfd8$var$useAccordionContext($0f4a20de0660bfd8$var$ACCORDION_NAME, __scopeAccordion);
254
288
  const itemContext = $0f4a20de0660bfd8$var$useAccordionItemContext($0f4a20de0660bfd8$var$TRIGGER_NAME, __scopeAccordion);
255
289
  const collapsibleContext = $0f4a20de0660bfd8$var$useAccordionCollapsibleContext($0f4a20de0660bfd8$var$TRIGGER_NAME, __scopeAccordion);
256
290
  const collapsibleScope = $0f4a20de0660bfd8$var$useCollapsibleScope(__scopeAccordion);
@@ -258,6 +292,7 @@ const [$0f4a20de0660bfd8$var$AccordionItemProvider, $0f4a20de0660bfd8$var$useAcc
258
292
  scope: __scopeAccordion
259
293
  }, /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($47SRi$radixuireactcollapsible.Trigger, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({
260
294
  "aria-disabled": itemContext.open && !collapsibleContext.collapsible || undefined,
295
+ "data-orientation": accordionContext.orientation,
261
296
  id: itemContext.triggerId
262
297
  }, collapsibleScope, triggerProps, {
263
298
  ref: forwardedRef
@@ -273,11 +308,13 @@ const [$0f4a20de0660bfd8$var$AccordionItemProvider, $0f4a20de0660bfd8$var$useAcc
273
308
  * `AccordionContent` contains the collapsible content for an `AccordionItem`.
274
309
  */ const $0f4a20de0660bfd8$export$985b9a77379b54a0 = /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).forwardRef((props, forwardedRef)=>{
275
310
  const { __scopeAccordion: __scopeAccordion , ...contentProps } = props;
311
+ const accordionContext = $0f4a20de0660bfd8$var$useAccordionContext($0f4a20de0660bfd8$var$ACCORDION_NAME, __scopeAccordion);
276
312
  const itemContext = $0f4a20de0660bfd8$var$useAccordionItemContext($0f4a20de0660bfd8$var$CONTENT_NAME, __scopeAccordion);
277
313
  const collapsibleScope = $0f4a20de0660bfd8$var$useCollapsibleScope(__scopeAccordion);
278
314
  return /*#__PURE__*/ ($parcel$interopDefault($47SRi$react)).createElement($47SRi$radixuireactcollapsible.Content, ($parcel$interopDefault($47SRi$babelruntimehelpersextends))({
279
315
  role: "region",
280
- "aria-labelledby": itemContext.triggerId
316
+ "aria-labelledby": itemContext.triggerId,
317
+ "data-orientation": accordionContext.orientation
281
318
  }, collapsibleScope, contentProps, {
282
319
  ref: forwardedRef,
283
320
  style: {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/react/accordion/src/index.ts","packages/react/accordion/src/Accordion.tsx"],"sourcesContent":["export {\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} from './Accordion';\nexport type {\n AccordionSingleProps,\n AccordionMultipleProps,\n AccordionItemProps,\n AccordionHeaderProps,\n AccordionTriggerProps,\n AccordionContentProps,\n} 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":["createAccordionScope","Accordion","AccordionItem","AccordionHeader","AccordionTrigger","AccordionContent","Root","Item","Header","Trigger","Content","React","createContextScope","createCollection","useComposedRefs","composeEventHandlers","useControllableState","Primitive","CollapsiblePrimitive","createCollapsibleScope","useId","ACCORDION_NAME","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createAccordionContext","useCollapsibleScope","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","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","open","onItemOpen","onItemClose","HEADER_NAME","headerProps","itemContext","getState","TRIGGER_NAME","triggerProps","collapsibleContext","CONTENT_NAME","contentProps","style"],"version":3,"file":"index.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;ACiBA;;oGAEA,CAEA,MAAMsB,oCAAc,GAAG,WAAvB,AAAA;AACA,MAAMC,oCAAc,GAAG;IAAC,MAAD;IAAS,KAAT;IAAgB,WAAhB;IAA6B,SAA7B;IAAwC,WAAxC;IAAqD,YAArD;CAAvB,AAAA;AAEA,MAAM,CAACC,gCAAD,EAAaC,mCAAb,EAA4BC,2CAA5B,CAAA,GACJb,8CAAgB,CAA0BS,oCAA1B,CADlB,AAAA;AAIA,MAAM,CAACK,4CAAD,EAAyB3B,yCAAzB,CAAA,GAAiDY,6CAAkB,CAACU,oCAAD,EAAiB;IACxFI,2CADwF;IAExFP,qDAFwF;CAAjB,CAAzE,AAAA;AAIA,MAAMS,yCAAmB,GAAGT,qDAAsB,EAAlD,AAAA;AAUA,MAAMlB,yCAAS,GAAA,aAAGU,CAAAA,sCAAK,CAACkB,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,sCAAA,CAAA,aAAA,CAAC,gCAAD,CAAY,QAAZ,EADF;QACuB,KAAK,EAAEH,KAAK,CAACM,gBAAb;KAArB,EACGJ,IAAI,KAAK,UAAT,GAAA,aACC,CAAA,sCAAA,CAAA,aAAA,CAAC,2CAAD,EAAA,2DAAA,CAAA,EAAA,EAA2BG,aAA3B,EAFJ;QAE8C,GAAG,EAAEJ,YAAL;KAA1C,CAAA,CADD,GAAA,aAGC,CAAA,sCAAA,CAAA,aAAA,CAAC,yCAAD,EAAA,2DAAA,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;AAEA9B,yCAAS,CAACoC,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,GACJlB,4CAAsB,CAA6BL,oCAA7B,CADxB,AAAA;AAGA,MAAM,CAACwB,kDAAD,EAA+BC,oDAA/B,CAAA,GAAiEpB,4CAAsB,CAC3FL,oCAD2F,EAE3F;IAAE0B,WAAW,EAAE,KAAbA;CAFyF,CAA7F,AAEE;AAyBF,MAAMC,yCAAmB,GAAA,aAAGtC,CAAAA,sCAAK,CAACkB,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,GAAoBrC,4DAAoB,CAAC;QAC7CsC,IAAI,EAAEJ,SADuC;QAE7CK,WAAW,EAAEhB,YAFgC;QAG7CiB,QAAQ,EAAEL,aAAVK;KAH4C,CAA9C,AAA+C;IAM/C,OAAA,aACE,CAAA,sCAAA,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,EAAE1C,sCAAK,CAAC8C,WAAN,CAAkB,IAAMT,WAAW,IAAIK,QAAQ,CAAC,EAAD,CAA/C;QAAA,EAAqD;YAACL,WAAD;YAAcK,QAAd;SAArD,CAAb;KAJF,EAAA,aAME,CAAA,sCAAA,CAAA,aAAA,CAAC,kDAAD,EANF;QAMgC,KAAK,EAAEvB,KAAK,CAACM,gBAA3C;QAA6D,WAAW,EAAEY,WAAb;KAA7D,EAAA,aACE,CAAA,sCAAA,CAAA,aAAA,CAAC,mCAAD,EAAA,2DAAA,CAAA,EAAA,EAAmBI,oBAAnB,EADF;QAC2C,GAAG,EAAErB,YAAL;KAAzC,CAAA,CADF,CANF,CADF,CAQM;CAxBkB,CAA5B,AA4BG;AAGH,oGAAA,CAmBA,MAAM2B,2CAAqB,GAAA,aAAG/C,CAAAA,sCAAK,CAACkB,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,GAAyBrC,4DAAoB,CAAC;QAClDsC,IAAI,EAAEJ,SAD4C;QAElDK,WAAW,EAAEhB,YAFqC;QAGlDiB,QAAQ,EAAEL,aAAVK;KAHiD,CAAnD,AAAoD;IAMpD,MAAMI,cAAc,GAAGjD,sCAAK,CAAC8C,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,GAAGpD,sCAAK,CAAC8C,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,sCAAA,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,sCAAA,CAAA,aAAA,CAAC,kDAAD,EANF;QAMgC,KAAK,EAAEjC,KAAK,CAACM,gBAA3C;QAA6D,WAAW,EAAE,IAAb;KAA7D,EAAA,aACE,CAAA,sCAAA,CAAA,aAAA,CAAC,mCAAD,EAAA,2DAAA,CAAA,EAAA,EAAmBuB,sBAAnB,EADF;QAC6C,GAAG,EAAE5B,YAAL;KAA3C,CAAA,CADF,CANF,CADF,CAQM;CApCsB,CAA9B,AAwCC;AAED,oGAAA,CAQA,MAAM,CAACkC,2CAAD,EAAwBC,yCAAxB,CAAA,GACJvC,4CAAsB,CAA4BL,oCAA5B,CADxB,AAAA;AAuBA,MAAM6C,mCAAa,GAAA,aAAGxD,CAAAA,sCAAK,CAACkB,UAAN,CACpB,CAACC,KAAD,EAAyCC,YAAzC,GAA0D;IACxD,MAAM,E,kBAAEK,gBAAF,CAAA,E,UAAoBgC,QAApB,CAAA,E,KAA8BC,GAA9B,CAAA,eAAmCC,WAAW,GAAG,UAAjD,GAA6D,GAAGrC,cAAH,EAA7D,GAAmFH,KAAzF,AAAM;IACN,MAAMyC,YAAY,GAAG5D,sCAAK,CAAC6D,MAAN,CAAmC,IAAnC,CAArB,AAAA;IACA,MAAMC,YAAY,GAAG3D,8CAAe,CAACyD,YAAD,EAAexC,YAAf,CAApC,AAAA;IACA,MAAM2C,QAAQ,GAAGjD,mCAAa,CAACW,gBAAD,CAA9B,AAAA;IACA,MAAMuC,SAAS,GAAGtD,yCAAY,CAACgD,GAAD,CAA9B,AAAA;IACA,MAAMO,cAAc,GAAGD,SAAS,KAAK,KAArC,AAAA;IAEA,MAAME,aAAa,GAAG9D,4CAAoB,CAACe,KAAK,CAACgD,SAAP,EAAmBC,CAAAA,KAAD,GAAW;QAAA,IAAA,qBAAA,AAAA;QACrE,IAAI,CAACxD,oCAAc,CAACiB,QAAf,CAAwBuC,KAAK,CAACC,GAA9B,CAAL,EAAyC,OAAzC;QACA,MAAMC,MAAM,GAAGF,KAAK,CAACE,MAArB,AAAA;QACA,MAAMC,iBAAiB,GAAGR,QAAQ,EAAA,CAAGV,MAAX,CAAmBmB,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,CAAkBjB,QAAnB,CAAA,AAAV,CAAA;SAAlB,CAA1B,AAA4C;QAC5C,MAAMkB,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,MAAMM,SAAS,GAAG,CAAlB,AAAA;QACA,MAAMC,QAAQ,GAAGL,YAAY,GAAG,CAAhC,AAAA;QAEA,MAAMM,QAAQ,GAAG,IAAM;YACrBH,SAAS,GAAGL,YAAY,GAAG,CAA3B,CAAAK;YACA,IAAIA,SAAS,GAAGE,QAAhB,EACEF,SAAS,GAAGC,SAAZ,CAAAD;SAHJ,AAKC;QAED,MAAMI,QAAQ,GAAG,IAAM;YACrBJ,SAAS,GAAGL,YAAY,GAAG,CAA3B,CAAAK;YACA,IAAIA,SAAS,GAAGC,SAAhB,EACED,SAAS,GAAGE,QAAZ,CAAAF;SAHJ,AAKC;QAED,OAAQZ,KAAK,CAACC,GAAd;YACE,KAAK,MAAL;gBACEW,SAAS,GAAGC,SAAZ,CAAAD;gBACA,MAAA;YACF,KAAK,KAAL;gBACEA,SAAS,GAAGE,QAAZ,CAAAF;gBACA,MAAA;YACF,KAAK,YAAL;gBACE,IAAIrB,WAAW,KAAK,YAApB;oBACE,IAAIM,cAAJ,EACEkB,QAAQ,EAARA,CAAAA;yBAEAC,QAAQ,EAARA,CAAAA;iBAEH;gBACD,MAAA;YACF,KAAK,WAAL;gBACE,IAAIzB,WAAW,KAAK,UAApB,EACEwB,QAAQ,EAARA,CAAAA;gBAEF,MAAA;YACF,KAAK,WAAL;gBACE,IAAIxB,WAAW,KAAK,YAApB;oBACE,IAAIM,cAAJ,EACEmB,QAAQ,EAARA,CAAAA;yBAEAD,QAAQ,EAARA,CAAAA;iBAEH;gBACD,MAAA;YACF,KAAK,SAAL;gBACE,IAAIxB,WAAW,KAAK,UAApB,EACEyB,QAAQ,EAARA,CAAAA;gBAEF,MAAA;SAlCJ;QAqCA,MAAMC,YAAY,GAAGL,SAAS,GAAGH,YAAjC,AAAA;QACA,CAAA,qBAAA,GAAAN,iBAAiB,CAACc,YAAD,CAAjB,CAAgCZ,GAAhC,CAAoCC,OAApC,CAAA,KAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,IAAA,qBAAA,CAA6CY,KAA7C,EAAA,CAAA;KApEwC,CAA1C,AAqEC;IAED,OAAA,aACE,CAAA,sCAAA,CAAA,aAAA,CAAC,2CAAD,EADF;QAEI,KAAK,EAAE7D,gBADT;QAEE,QAAQ,EAAEgC,QAFZ;QAGE,SAAS,EAAEC,GAHb;QAIE,WAAW,EAAEC,WAAb;KAJF,EAAA,aAME,CAAA,sCAAA,CAAA,aAAA,CAAC,gCAAD,CAAY,IAAZ,EANF;QAMmB,KAAK,EAAElC,gBAAP;KAAjB,EAAA,aACE,CAAA,sCAAA,CAAA,aAAA,CAAC,sCAAD,CAAW,GAAX,EAAA,2DAAA,CAAA,EAAA,EACMH,cADN,EADF;QAGI,kBAAA,EAAkBqC,WAFpB;QAGE,GAAG,EAAEG,YAHP;QAIE,SAAS,EAAEL,QAAQ,GAAG8B,SAAH,GAAerB,aAAlC;KAJF,CAAA,CADF,CANF,CADF,CAQM;CAxFY,CAAtB,AAiGG;AAGH;;oGAEA,CAEA,MAAMsB,+BAAS,GAAG,eAAlB,AAAA;AAGA,MAAM,CAACC,2CAAD,EAAwBC,6CAAxB,CAAA,GACJ1E,4CAAsB,CAA4BwE,+BAA5B,CADxB,AAAA;AAmBA;;GAEA,CACA,MAAMjG,yCAAa,GAAA,aAAGS,CAAAA,sCAAK,CAACkB,UAAN,CACpB,CAACC,KAAD,EAAyCC,YAAzC,GAA0D;IACxD,MAAM,E,kBAAEK,gBAAF,CAAA,E,OAAoBE,KAApB,CAAA,EAA2B,GAAGgE,kBAAH,EAA3B,GAAqDxE,KAA3D,AAAM;IACN,MAAMyE,gBAAgB,GAAGrC,yCAAmB,CAACiC,+BAAD,EAAY/D,gBAAZ,CAA5C,AAAA;IACA,MAAMoE,YAAY,GAAG3D,8CAAwB,CAACsD,+BAAD,EAAY/D,gBAAZ,CAA7C,AAAA;IACA,MAAMqE,gBAAgB,GAAG7E,yCAAmB,CAACQ,gBAAD,CAA5C,AAAA;IACA,MAAMsE,SAAS,GAAGtF,2BAAK,EAAvB,AAAA;IACA,MAAMuF,KAAI,GAAIrE,KAAK,IAAIkE,YAAY,CAAClE,KAAb,CAAmBE,QAAnB,CAA4BF,KAA5B,CAAV,IAAiD,KAA9D,AAAA;IACA,MAAM8B,QAAQ,GAAGmC,gBAAgB,CAACnC,QAAjB,IAA6BtC,KAAK,CAACsC,QAApD,AAAA;IAEA,OAAA,aACE,CAAA,sCAAA,CAAA,aAAA,CAAC,2CAAD,EADF;QAEI,KAAK,EAAEhC,gBADT;QAEE,IAAI,EAAEuE,KAFR;QAGE,QAAQ,EAAEvC,QAHZ;QAIE,SAAS,EAAEsC,SAAX;KAJF,EAAA,aAME,CAAA,sCAAA,CAAA,aAAA,CAAC,mCAAD,EANF,2DAAA,CAAA;QAOI,kBAAA,EAAkBH,gBAAgB,CAACjC,WADrC;QAEE,YAAA,EAAYqC,KAAI,GAAG,MAAH,GAAY,QAA5B;KAFF,EAGMF,gBAHN,EAIMH,kBAJN,EAAA;QAKE,GAAG,EAAEvE,YALP;QAME,QAAQ,EAAEqC,QANZ;QAOE,IAAI,EAAEuC,KAPR;QAQE,YAAY,EAAGA,CAAAA,IAAD,GAAU;YACtB,IAAIA,IAAJ,EACEH,YAAY,CAACI,UAAb,CAAwBtE,KAAxB,CAAAkE,CAAAA;iBAEAA,YAAY,CAACK,WAAb,CAAyBvE,KAAzB,CAAAkE,CAAAA;SAEH;KAdH,CAAA,CANF,CADF,CAOI;CAjBc,CAAtB,AAmCG;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,MAAM3G,yCAAe,GAAA,aAAGQ,CAAAA,sCAAK,CAACkB,UAAN,CACtB,CAACC,KAAD,EAA2CC,YAA3C,GAA4D;IAC1D,MAAM,E,kBAAEK,gBAAF,CAAA,EAAoB,GAAG2E,WAAH,EAApB,GAAuCjF,KAA7C,AAAM;IACN,MAAMyE,gBAAgB,GAAGrC,yCAAmB,CAAC5C,oCAAD,EAAiBc,gBAAjB,CAA5C,AAAA;IACA,MAAM4E,WAAW,GAAGX,6CAAuB,CAACS,iCAAD,EAAc1E,gBAAd,CAA3C,AAAA;IACA,OAAA,aACE,CAAA,sCAAA,CAAA,aAAA,CAAC,sCAAD,CAAW,EAAX,EADF,2DAAA,CAAA;QAEI,kBAAA,EAAkBmE,gBAAgB,CAACjC,WADrC;QAEE,YAAA,EAAY2C,8BAAQ,CAACD,WAAW,CAACL,IAAb,CAFtB;QAGE,eAAA,EAAeK,WAAW,CAAC5C,QAAZ,GAAuB,EAAvB,GAA4B8B,SAA3C;KAHF,EAIMa,WAJN,EAAA;QAKE,GAAG,EAAEhF,YAAL;KALF,CAAA,CADF,CACE;CANkB,CAAxB,AAcG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,iCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMmF,kCAAY,GAAG,kBAArB,AAAA;AAMA;;;GAGA,CACA,MAAM9G,yCAAgB,GAAA,aAAGO,CAAAA,sCAAK,CAACkB,UAAN,CACvB,CAACC,KAAD,EAA4CC,YAA5C,GAA6D;IAC3D,MAAM,E,kBAAEK,gBAAF,CAAA,EAAoB,GAAG+E,YAAH,EAApB,GAAwCrF,KAA9C,AAAM;IACN,MAAMyE,gBAAgB,GAAGrC,yCAAmB,CAAC5C,oCAAD,EAAiBc,gBAAjB,CAA5C,AAAA;IACA,MAAM4E,WAAW,GAAGX,6CAAuB,CAACa,kCAAD,EAAe9E,gBAAf,CAA3C,AAAA;IACA,MAAMgF,kBAAkB,GAAGrE,oDAA8B,CAACmE,kCAAD,EAAe9E,gBAAf,CAAzD,AAAA;IACA,MAAMqE,gBAAgB,GAAG7E,yCAAmB,CAACQ,gBAAD,CAA5C,AAAA;IACA,OAAA,aACE,CAAA,sCAAA,CAAA,aAAA,CAAC,gCAAD,CAAY,QAAZ,EADF;QACuB,KAAK,EAAEA,gBAAP;KAArB,EAAA,aACE,CAAA,sCAAA,CAAA,aAAA,CAAC,sCAAD,EADF,2DAAA,CAAA;QAEI,eAAA,EAAgB4E,WAAW,CAACL,IAAZ,IAAoB,CAACS,kBAAkB,CAACpE,WAAzC,IAAyDkD,SAD1E;QAEE,kBAAA,EAAkBK,gBAAgB,CAACjC,WAFrC;QAGE,EAAE,EAAE0C,WAAW,CAACN,SAAhB;KAHF,EAIMD,gBAJN,EAKMU,YALN,EAAA;QAME,GAAG,EAAEpF,YAAL;KANF,CAAA,CADF,CADF,CAEI;CATiB,CAAzB,AAmBG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,kCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMsF,kCAAY,GAAG,kBAArB,AAAA;AAMA;;GAEA,CACA,MAAMhH,yCAAgB,GAAA,aAAGM,CAAAA,sCAAK,CAACkB,UAAN,CACvB,CAACC,KAAD,EAA4CC,YAA5C,GAA6D;IAC3D,MAAM,E,kBAAEK,gBAAF,CAAA,EAAoB,GAAGkF,YAAH,EAApB,GAAwCxF,KAA9C,AAAM;IACN,MAAMyE,gBAAgB,GAAGrC,yCAAmB,CAAC5C,oCAAD,EAAiBc,gBAAjB,CAA5C,AAAA;IACA,MAAM4E,WAAW,GAAGX,6CAAuB,CAACgB,kCAAD,EAAejF,gBAAf,CAA3C,AAAA;IACA,MAAMqE,gBAAgB,GAAG7E,yCAAmB,CAACQ,gBAAD,CAA5C,AAAA;IACA,OAAA,aACE,CAAA,sCAAA,CAAA,aAAA,CAAC,sCAAD,EADF,2DAAA,CAAA;QAEI,IAAI,EAAC,QADP;QAEE,iBAAA,EAAiB4E,WAAW,CAACN,SAF/B;QAGE,kBAAA,EAAkBH,gBAAgB,CAACjC,WAAnC;KAHF,EAIMmC,gBAJN,EAKMa,YALN,EAAA;QAME,GAAG,EAAEvF,YANP;QAOE,KAAK,EAAE;YACL,CAAC,kCAAD,CAAA,EAA6C,yCADxC;YAEL,CAAC,iCAAD,CAAA,EAA4C,wCAFvC;YAGL,GAAGD,KAAK,CAACyF,KAAT;SAHK;KAPT,CAAA,CADF,CACE;CAPmB,CAAzB,AAqBG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,kCAAA;CAAA,CAAA,CAAA;AAEA,oGAAA,CAEA,SAASN,8BAAT,CAAkBN,IAAlB,EAAkC;IAChC,OAAOA,IAAI,GAAG,MAAH,GAAY,QAAvB,CAAA;CACD;AAED,MAAMrG,yCAAI,GAAGL,yCAAb,AAAA;AACA,MAAMM,yCAAI,GAAGL,yCAAb,AAAA;AACA,MAAMM,yCAAM,GAAGL,yCAAf,AAAA;AACA,MAAMM,yCAAO,GAAGL,yCAAhB,AAAA;AACA,MAAMM,yCAAO,GAAGL,yCAAhB,AAAA;;ADrhBA","sources":["packages/react/accordion/src/index.ts","packages/react/accordion/src/Accordion.tsx"],"sourcesContent":["export {\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} from './Accordion';\nexport type {\n AccordionSingleProps,\n AccordionMultipleProps,\n AccordionItemProps,\n AccordionHeaderProps,\n AccordionTriggerProps,\n AccordionContentProps,\n} 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';\nimport { useDirection } from '@radix-ui/react-direction';\n\ntype Direction = 'ltr' | 'rtl';\n\n/* -------------------------------------------------------------------------------------------------\n * Accordion\n * -----------------------------------------------------------------------------------------------*/\n\nconst ACCORDION_NAME = 'Accordion';\nconst ACCORDION_KEYS = ['Home', 'End', 'ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight'];\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 direction: AccordionImplProps['dir'];\n orientation: AccordionImplProps['orientation'];\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 * The layout in which the Accordion operates.\n * @default vertical\n */\n orientation?: React.AriaAttributes['aria-orientation'];\n /**\n * The language read direction.\n */\n dir?: Direction;\n}\n\nconst AccordionImpl = React.forwardRef<AccordionImplElement, AccordionImplProps>(\n (props: ScopedProps<AccordionImplProps>, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = 'vertical', ...accordionProps } = props;\n const accordionRef = React.useRef<AccordionImplElement>(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === 'ltr';\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 const homeIndex = 0;\n const endIndex = triggerCount - 1;\n\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n\n switch (event.key) {\n case 'Home':\n nextIndex = homeIndex;\n break;\n case 'End':\n nextIndex = endIndex;\n break;\n case 'ArrowRight':\n if (orientation === 'horizontal') {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case 'ArrowDown':\n if (orientation === 'vertical') {\n moveNext();\n }\n break;\n case 'ArrowLeft':\n if (orientation === 'horizontal') {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case 'ArrowUp':\n if (orientation === 'vertical') {\n movePrev();\n }\n break;\n }\n\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n\n return (\n <AccordionImplProvider\n scope={__scopeAccordion}\n disabled={disabled}\n direction={dir}\n orientation={orientation}\n >\n <Collection.Slot scope={__scopeAccordion}>\n <Primitive.div\n {...accordionProps}\n data-orientation={orientation}\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-orientation={accordionContext.orientation}\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 accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return (\n <Primitive.h3\n data-orientation={accordionContext.orientation}\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 accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\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 data-orientation={accordionContext.orientation}\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 accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\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 data-orientation={accordionContext.orientation}\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":["createAccordionScope","Accordion","AccordionItem","AccordionHeader","AccordionTrigger","AccordionContent","Root","Item","Header","Trigger","Content","React","createContextScope","createCollection","useComposedRefs","composeEventHandlers","useControllableState","Primitive","CollapsiblePrimitive","createCollapsibleScope","useId","useDirection","ACCORDION_NAME","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createAccordionContext","useCollapsibleScope","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","dir","orientation","accordionRef","useRef","composedRefs","getItems","direction","isDirectionLTR","handleKeyDown","onKeyDown","event","key","target","triggerCollection","item","ref","current","triggerIndex","findIndex","triggerCount","length","preventDefault","nextIndex","homeIndex","endIndex","moveNext","movePrev","clampedIndex","focus","undefined","ITEM_NAME","AccordionItemProvider","useAccordionItemContext","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","open","onItemOpen","onItemClose","HEADER_NAME","headerProps","itemContext","getState","TRIGGER_NAME","triggerProps","collapsibleContext","CONTENT_NAME","contentProps","style"],"version":3,"file":"index.js.map"}
@@ -8,6 +8,8 @@ import {useControllableState as $3DjNB$useControllableState} from "@radix-ui/rea
8
8
  import {Primitive as $3DjNB$Primitive} from "@radix-ui/react-primitive";
9
9
  import {createCollapsibleScope as $3DjNB$createCollapsibleScope, Root as $3DjNB$Root, Trigger as $3DjNB$Trigger, Content as $3DjNB$Content} from "@radix-ui/react-collapsible";
10
10
  import {useId as $3DjNB$useId} from "@radix-ui/react-id";
11
+ import {useDirection as $3DjNB$useDirection} from "@radix-ui/react-direction";
12
+
11
13
 
12
14
 
13
15
 
@@ -27,7 +29,9 @@ const $1bf158f521e1b1b4$var$ACCORDION_KEYS = [
27
29
  'Home',
28
30
  'End',
29
31
  'ArrowDown',
30
- 'ArrowUp'
32
+ 'ArrowUp',
33
+ 'ArrowLeft',
34
+ 'ArrowRight'
31
35
  ];
32
36
  const [$1bf158f521e1b1b4$var$Collection, $1bf158f521e1b1b4$var$useCollection, $1bf158f521e1b1b4$var$createCollectionScope] = $3DjNB$createCollection($1bf158f521e1b1b4$var$ACCORDION_NAME);
33
37
  const [$1bf158f521e1b1b4$var$createAccordionContext, $1bf158f521e1b1b4$export$9748edc328a73be1] = $3DjNB$createContextScope($1bf158f521e1b1b4$var$ACCORDION_NAME, [
@@ -126,10 +130,12 @@ const $1bf158f521e1b1b4$var$AccordionImplSingle = /*#__PURE__*/ $3DjNB$react.for
126
130
  });
127
131
  /* -----------------------------------------------------------------------------------------------*/ const [$1bf158f521e1b1b4$var$AccordionImplProvider, $1bf158f521e1b1b4$var$useAccordionContext] = $1bf158f521e1b1b4$var$createAccordionContext($1bf158f521e1b1b4$var$ACCORDION_NAME);
128
132
  const $1bf158f521e1b1b4$var$AccordionImpl = /*#__PURE__*/ $3DjNB$react.forwardRef((props, forwardedRef)=>{
129
- const { __scopeAccordion: __scopeAccordion , disabled: disabled , ...accordionProps } = props;
133
+ const { __scopeAccordion: __scopeAccordion , disabled: disabled , dir: dir , orientation: orientation = 'vertical' , ...accordionProps } = props;
130
134
  const accordionRef = $3DjNB$react.useRef(null);
131
135
  const composedRefs = $3DjNB$useComposedRefs(accordionRef, forwardedRef);
132
136
  const getItems = $1bf158f521e1b1b4$var$useCollection(__scopeAccordion);
137
+ const direction = $3DjNB$useDirection(dir);
138
+ const isDirectionLTR = direction === 'ltr';
133
139
  const handleKeyDown = $3DjNB$composeEventHandlers(props.onKeyDown, (event)=>{
134
140
  var _triggerCollection$cl;
135
141
  if (!$1bf158f521e1b1b4$var$ACCORDION_KEYS.includes(event.key)) return;
@@ -144,19 +150,40 @@ const $1bf158f521e1b1b4$var$AccordionImpl = /*#__PURE__*/ $3DjNB$react.forwardRe
144
150
  if (triggerIndex === -1) return; // Prevents page scroll while user is navigating
145
151
  event.preventDefault();
146
152
  let nextIndex = triggerIndex;
153
+ const homeIndex = 0;
154
+ const endIndex = triggerCount - 1;
155
+ const moveNext = ()=>{
156
+ nextIndex = triggerIndex + 1;
157
+ if (nextIndex > endIndex) nextIndex = homeIndex;
158
+ };
159
+ const movePrev = ()=>{
160
+ nextIndex = triggerIndex - 1;
161
+ if (nextIndex < homeIndex) nextIndex = endIndex;
162
+ };
147
163
  switch(event.key){
148
164
  case 'Home':
149
- nextIndex = 0;
165
+ nextIndex = homeIndex;
150
166
  break;
151
167
  case 'End':
152
- nextIndex = triggerCount - 1;
168
+ nextIndex = endIndex;
169
+ break;
170
+ case 'ArrowRight':
171
+ if (orientation === 'horizontal') {
172
+ if (isDirectionLTR) moveNext();
173
+ else movePrev();
174
+ }
153
175
  break;
154
176
  case 'ArrowDown':
155
- nextIndex = triggerIndex + 1;
177
+ if (orientation === 'vertical') moveNext();
178
+ break;
179
+ case 'ArrowLeft':
180
+ if (orientation === 'horizontal') {
181
+ if (isDirectionLTR) movePrev();
182
+ else moveNext();
183
+ }
156
184
  break;
157
185
  case 'ArrowUp':
158
- nextIndex = triggerIndex - 1;
159
- if (nextIndex < 0) nextIndex = triggerCount - 1;
186
+ if (orientation === 'vertical') movePrev();
160
187
  break;
161
188
  }
162
189
  const clampedIndex = nextIndex % triggerCount;
@@ -164,10 +191,13 @@ const $1bf158f521e1b1b4$var$AccordionImpl = /*#__PURE__*/ $3DjNB$react.forwardRe
164
191
  });
165
192
  return /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$AccordionImplProvider, {
166
193
  scope: __scopeAccordion,
167
- disabled: disabled
194
+ disabled: disabled,
195
+ direction: dir,
196
+ orientation: orientation
168
197
  }, /*#__PURE__*/ $3DjNB$react.createElement($1bf158f521e1b1b4$var$Collection.Slot, {
169
198
  scope: __scopeAccordion
170
199
  }, /*#__PURE__*/ $3DjNB$react.createElement($3DjNB$Primitive.div, $3DjNB$babelruntimehelpersesmextends({}, accordionProps, {
200
+ "data-orientation": orientation,
171
201
  ref: composedRefs,
172
202
  onKeyDown: disabled ? undefined : handleKeyDown
173
203
  }))));
@@ -192,6 +222,7 @@ const [$1bf158f521e1b1b4$var$AccordionItemProvider, $1bf158f521e1b1b4$var$useAcc
192
222
  disabled: disabled,
193
223
  triggerId: triggerId
194
224
  }, /*#__PURE__*/ $3DjNB$react.createElement($3DjNB$Root, $3DjNB$babelruntimehelpersesmextends({
225
+ "data-orientation": accordionContext.orientation,
195
226
  "data-state": open1 ? 'open' : 'closed'
196
227
  }, collapsibleScope, accordionItemProps, {
197
228
  ref: forwardedRef,
@@ -214,8 +245,10 @@ const [$1bf158f521e1b1b4$var$AccordionItemProvider, $1bf158f521e1b1b4$var$useAcc
214
245
  * whether or not its content is collapsed.
215
246
  */ const $1bf158f521e1b1b4$export$5e3e5deaaf81ee41 = /*#__PURE__*/ $3DjNB$react.forwardRef((props, forwardedRef)=>{
216
247
  const { __scopeAccordion: __scopeAccordion , ...headerProps } = props;
248
+ const accordionContext = $1bf158f521e1b1b4$var$useAccordionContext($1bf158f521e1b1b4$var$ACCORDION_NAME, __scopeAccordion);
217
249
  const itemContext = $1bf158f521e1b1b4$var$useAccordionItemContext($1bf158f521e1b1b4$var$HEADER_NAME, __scopeAccordion);
218
250
  return /*#__PURE__*/ $3DjNB$react.createElement($3DjNB$Primitive.h3, $3DjNB$babelruntimehelpersesmextends({
251
+ "data-orientation": accordionContext.orientation,
219
252
  "data-state": $1bf158f521e1b1b4$var$getState(itemContext.open),
220
253
  "data-disabled": itemContext.disabled ? '' : undefined
221
254
  }, headerProps, {
@@ -233,6 +266,7 @@ const [$1bf158f521e1b1b4$var$AccordionItemProvider, $1bf158f521e1b1b4$var$useAcc
233
266
  * should always be nested inside of an `AccordionHeader`.
234
267
  */ const $1bf158f521e1b1b4$export$94e939b1f85bdd73 = /*#__PURE__*/ $3DjNB$react.forwardRef((props, forwardedRef)=>{
235
268
  const { __scopeAccordion: __scopeAccordion , ...triggerProps } = props;
269
+ const accordionContext = $1bf158f521e1b1b4$var$useAccordionContext($1bf158f521e1b1b4$var$ACCORDION_NAME, __scopeAccordion);
236
270
  const itemContext = $1bf158f521e1b1b4$var$useAccordionItemContext($1bf158f521e1b1b4$var$TRIGGER_NAME, __scopeAccordion);
237
271
  const collapsibleContext = $1bf158f521e1b1b4$var$useAccordionCollapsibleContext($1bf158f521e1b1b4$var$TRIGGER_NAME, __scopeAccordion);
238
272
  const collapsibleScope = $1bf158f521e1b1b4$var$useCollapsibleScope(__scopeAccordion);
@@ -240,6 +274,7 @@ const [$1bf158f521e1b1b4$var$AccordionItemProvider, $1bf158f521e1b1b4$var$useAcc
240
274
  scope: __scopeAccordion
241
275
  }, /*#__PURE__*/ $3DjNB$react.createElement($3DjNB$Trigger, $3DjNB$babelruntimehelpersesmextends({
242
276
  "aria-disabled": itemContext.open && !collapsibleContext.collapsible || undefined,
277
+ "data-orientation": accordionContext.orientation,
243
278
  id: itemContext.triggerId
244
279
  }, collapsibleScope, triggerProps, {
245
280
  ref: forwardedRef
@@ -255,11 +290,13 @@ const [$1bf158f521e1b1b4$var$AccordionItemProvider, $1bf158f521e1b1b4$var$useAcc
255
290
  * `AccordionContent` contains the collapsible content for an `AccordionItem`.
256
291
  */ const $1bf158f521e1b1b4$export$985b9a77379b54a0 = /*#__PURE__*/ $3DjNB$react.forwardRef((props, forwardedRef)=>{
257
292
  const { __scopeAccordion: __scopeAccordion , ...contentProps } = props;
293
+ const accordionContext = $1bf158f521e1b1b4$var$useAccordionContext($1bf158f521e1b1b4$var$ACCORDION_NAME, __scopeAccordion);
258
294
  const itemContext = $1bf158f521e1b1b4$var$useAccordionItemContext($1bf158f521e1b1b4$var$CONTENT_NAME, __scopeAccordion);
259
295
  const collapsibleScope = $1bf158f521e1b1b4$var$useCollapsibleScope(__scopeAccordion);
260
296
  return /*#__PURE__*/ $3DjNB$react.createElement($3DjNB$Content, $3DjNB$babelruntimehelpersesmextends({
261
297
  role: "region",
262
- "aria-labelledby": itemContext.triggerId
298
+ "aria-labelledby": itemContext.triggerId,
299
+ "data-orientation": accordionContext.orientation
263
300
  }, collapsibleScope, contentProps, {
264
301
  ref: forwardedRef,
265
302
  style: {
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/react/accordion/src/index.ts","packages/react/accordion/src/Accordion.tsx"],"sourcesContent":["export {\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} from './Accordion';\nexport type {\n AccordionSingleProps,\n AccordionMultipleProps,\n AccordionItemProps,\n AccordionHeaderProps,\n AccordionTriggerProps,\n AccordionContentProps,\n} 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":["createAccordionScope","Accordion","AccordionItem","AccordionHeader","AccordionTrigger","AccordionContent","Root","Item","Header","Trigger","Content","React","createContextScope","createCollection","useComposedRefs","composeEventHandlers","useControllableState","Primitive","CollapsiblePrimitive","createCollapsibleScope","useId","ACCORDION_NAME","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createAccordionContext","useCollapsibleScope","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","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","open","onItemOpen","onItemClose","HEADER_NAME","headerProps","itemContext","getState","TRIGGER_NAME","triggerProps","collapsibleContext","CONTENT_NAME","contentProps","style"],"version":3,"file":"index.module.js.map"}
1
+ {"mappings":"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","sources":["packages/react/accordion/src/index.ts","packages/react/accordion/src/Accordion.tsx"],"sourcesContent":["export {\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} from './Accordion';\nexport type {\n AccordionSingleProps,\n AccordionMultipleProps,\n AccordionItemProps,\n AccordionHeaderProps,\n AccordionTriggerProps,\n AccordionContentProps,\n} 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';\nimport { useDirection } from '@radix-ui/react-direction';\n\ntype Direction = 'ltr' | 'rtl';\n\n/* -------------------------------------------------------------------------------------------------\n * Accordion\n * -----------------------------------------------------------------------------------------------*/\n\nconst ACCORDION_NAME = 'Accordion';\nconst ACCORDION_KEYS = ['Home', 'End', 'ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight'];\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 direction: AccordionImplProps['dir'];\n orientation: AccordionImplProps['orientation'];\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 * The layout in which the Accordion operates.\n * @default vertical\n */\n orientation?: React.AriaAttributes['aria-orientation'];\n /**\n * The language read direction.\n */\n dir?: Direction;\n}\n\nconst AccordionImpl = React.forwardRef<AccordionImplElement, AccordionImplProps>(\n (props: ScopedProps<AccordionImplProps>, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = 'vertical', ...accordionProps } = props;\n const accordionRef = React.useRef<AccordionImplElement>(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === 'ltr';\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 const homeIndex = 0;\n const endIndex = triggerCount - 1;\n\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n\n switch (event.key) {\n case 'Home':\n nextIndex = homeIndex;\n break;\n case 'End':\n nextIndex = endIndex;\n break;\n case 'ArrowRight':\n if (orientation === 'horizontal') {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case 'ArrowDown':\n if (orientation === 'vertical') {\n moveNext();\n }\n break;\n case 'ArrowLeft':\n if (orientation === 'horizontal') {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case 'ArrowUp':\n if (orientation === 'vertical') {\n movePrev();\n }\n break;\n }\n\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n\n return (\n <AccordionImplProvider\n scope={__scopeAccordion}\n disabled={disabled}\n direction={dir}\n orientation={orientation}\n >\n <Collection.Slot scope={__scopeAccordion}>\n <Primitive.div\n {...accordionProps}\n data-orientation={orientation}\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-orientation={accordionContext.orientation}\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 accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return (\n <Primitive.h3\n data-orientation={accordionContext.orientation}\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 accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\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 data-orientation={accordionContext.orientation}\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 accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\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 data-orientation={accordionContext.orientation}\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":["createAccordionScope","Accordion","AccordionItem","AccordionHeader","AccordionTrigger","AccordionContent","Root","Item","Header","Trigger","Content","React","createContextScope","createCollection","useComposedRefs","composeEventHandlers","useControllableState","Primitive","CollapsiblePrimitive","createCollapsibleScope","useId","useDirection","ACCORDION_NAME","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createAccordionContext","useCollapsibleScope","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","dir","orientation","accordionRef","useRef","composedRefs","getItems","direction","isDirectionLTR","handleKeyDown","onKeyDown","event","key","target","triggerCollection","item","ref","current","triggerIndex","findIndex","triggerCount","length","preventDefault","nextIndex","homeIndex","endIndex","moveNext","movePrev","clampedIndex","focus","undefined","ITEM_NAME","AccordionItemProvider","useAccordionItemContext","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","open","onItemOpen","onItemClose","HEADER_NAME","headerProps","itemContext","getState","TRIGGER_NAME","triggerProps","collapsibleContext","CONTENT_NAME","contentProps","style"],"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": "1.0.1-rc.9",
3
+ "version": "1.1.0-rc.1",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
@@ -18,12 +18,13 @@
18
18
  "dependencies": {
19
19
  "@babel/runtime": "^7.13.10",
20
20
  "@radix-ui/primitive": "1.0.0",
21
- "@radix-ui/react-collapsible": "1.0.1-rc.9",
22
- "@radix-ui/react-collection": "1.0.1-rc.9",
21
+ "@radix-ui/react-collapsible": "1.0.1",
22
+ "@radix-ui/react-collection": "1.0.1",
23
23
  "@radix-ui/react-compose-refs": "1.0.0",
24
24
  "@radix-ui/react-context": "1.0.0",
25
+ "@radix-ui/react-direction": "1.0.0",
25
26
  "@radix-ui/react-id": "1.0.0",
26
- "@radix-ui/react-primitive": "1.0.1-rc.9",
27
+ "@radix-ui/react-primitive": "1.0.1",
27
28
  "@radix-ui/react-use-controllable-state": "1.0.0"
28
29
  },
29
30
  "peerDependencies": {
@@ -38,5 +39,5 @@
38
39
  "bugs": {
39
40
  "url": "https://github.com/radix-ui/primitives/issues"
40
41
  },
41
- "stableVersion": "1.0.0"
42
+ "stableVersion": "1.0.1"
42
43
  }