@radix-ui/react-accordion 1.0.1 → 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 +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -9
- package/dist/index.js.map +1 -1
- package/dist/index.module.js +46 -9
- package/dist/index.module.js.map +1 -1
- package/package.json +4 -2
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'> {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;
|
|
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 =
|
|
183
|
+
nextIndex = homeIndex;
|
|
168
184
|
break;
|
|
169
185
|
case 'End':
|
|
170
|
-
nextIndex =
|
|
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
|
-
|
|
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
|
-
|
|
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"}
|
package/dist/index.module.js
CHANGED
|
@@ -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 =
|
|
165
|
+
nextIndex = homeIndex;
|
|
150
166
|
break;
|
|
151
167
|
case 'End':
|
|
152
|
-
nextIndex =
|
|
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
|
-
|
|
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
|
-
|
|
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: {
|
package/dist/index.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;A;;;;;;;;;;;ACcA;;oGAEA,CAEA,MAAMqB,oCAAc,GAAG,WAAvB,AAAA;AACA,MAAMC,oCAAc,GAAG;IAAC,MAAD;IAAS,KAAT;IAAgB,WAAhB;IAA6B,SAA7B;CAAvB,AAAA;AAEA,MAAM,CAACC,gCAAD,EAAaC,mCAAb,EAA4BC,2CAA5B,CAAA,GACJZ,uBAAgB,CAA0BQ,oCAA1B,CADlB,AAAA;AAIA,MAAM,CAACK,4CAAD,EAAyB1B,yCAAzB,CAAA,GAAiDY,yBAAkB,CAACS,oCAAD,EAAiB;IACxFI,2CADwF;IAExFN,6BAFwF;CAAjB,CAAzE,AAAA;AAIA,MAAMQ,yCAAmB,GAAGR,6BAAsB,EAAlD,AAAA;AAUA,MAAMlB,yCAAS,GAAA,aAAGU,CAAAA,YAAK,CAACiB,UAAN,CAChB,CAACC,KAAD,EAAoEC,YAApE,GAAqF;IACnF,MAAM,E,MAAEC,IAAF,CAAA,EAAQ,GAAGC,cAAH,EAAR,GAA8BH,KAApC,AAAM;IACN,MAAMI,WAAW,GAAGD,cAApB,AAAA;IACA,MAAME,aAAa,GAAGF,cAAtB,AAAA;IACA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,gCAAD,CAAY,QAAZ,EADF;QACuB,KAAK,EAAEH,KAAK,CAACM,gBAAb;KAArB,EACGJ,IAAI,KAAK,UAAT,GAAA,aACC,CAAA,YAAA,CAAA,aAAA,CAAC,2CAAD,EAAA,oCAAA,CAAA,EAAA,EAA2BG,aAA3B,EAFJ;QAE8C,GAAG,EAAEJ,YAAL;KAA1C,CAAA,CADD,GAAA,aAGC,CAAA,YAAA,CAAA,aAAA,CAAC,yCAAD,EAAA,oCAAA,CAAA,EAAA,EAAyBG,WAAzB,EAFA;QAEsC,GAAG,EAAEH,YAAL;KAAtC,CAAA,CAJJ,CADF,CAKM;CAVQ,CAAlB,AAcG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,oCAAA;CAAA,CAAA,CAAA;AAEA7B,yCAAS,CAACmC,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,aAAGrC,CAAAA,YAAK,CAACiB,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,GAAoBpC,2BAAoB,CAAC;QAC7CqC,IAAI,EAAEJ,SADuC;QAE7CK,WAAW,EAAEhB,YAFgC;QAG7CiB,QAAQ,EAAEL,aAAVK;KAH4C,CAA9C,AAA+C;IAM/C,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,4CAAD,EADF;QAEI,KAAK,EAAE1B,KAAK,CAACM,gBADf;QAEE,KAAK,EAAEE,KAAK,GAAG;YAACA,KAAD;SAAH,GAAa,EAF3B;QAGE,UAAU,EAAEe,QAHd;QAIE,WAAW,EAAEzC,YAAK,CAAC6C,WAAN,CAAkB,IAAMT,WAAW,IAAIK,QAAQ,CAAC,EAAD,CAA/C;QAAA,EAAqD;YAACL,WAAD;YAAcK,QAAd;SAArD,CAAb;KAJF,EAAA,aAME,CAAA,YAAA,CAAA,aAAA,CAAC,kDAAD,EANF;QAMgC,KAAK,EAAEvB,KAAK,CAACM,gBAA3C;QAA6D,WAAW,EAAEY,WAAb;KAA7D,EAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,mCAAD,EAAA,oCAAA,CAAA,EAAA,EAAmBI,oBAAnB,EADF;QAC2C,GAAG,EAAErB,YAAL;KAAzC,CAAA,CADF,CANF,CADF,CAQM;CAxBkB,CAA5B,AA4BG;AAGH,oGAAA,CAmBA,MAAM2B,2CAAqB,GAAA,aAAG9C,CAAAA,YAAK,CAACiB,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,GAAyBpC,2BAAoB,CAAC;QAClDqC,IAAI,EAAEJ,SAD4C;QAElDK,WAAW,EAAEhB,YAFqC;QAGlDiB,QAAQ,EAAEL,aAAVK;KAHiD,CAAnD,AAAoD;IAMpD,MAAMI,cAAc,GAAGhD,YAAK,CAAC6C,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,GAAGnD,YAAK,CAAC6C,WAAN,CACrBI,CAAAA,SAAD,GACER,QAAQ,CAAC,CAACS,SAAS,GAAG,EAAb,GAAoBA,SAAS,CAACE,MAAV,CAAkB1B,CAAAA,KAAD,GAAWA,KAAK,KAAKuB,SAAtC;YAAA,CAArB;QAAA,CAFY;IAAA,EAGtB;QAACR,QAAD;KAHsB,CAAxB,AAAA;IAMA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,4CAAD,EADF;QAEI,KAAK,EAAEvB,KAAK,CAACM,gBADf;QAEE,KAAK,EAAEE,MAFT;QAGE,UAAU,EAAEsB,cAHd;QAIE,WAAW,EAAEG,eAAb;KAJF,EAAA,aAME,CAAA,YAAA,CAAA,aAAA,CAAC,kDAAD,EANF;QAMgC,KAAK,EAAEjC,KAAK,CAACM,gBAA3C;QAA6D,WAAW,EAAE,IAAb;KAA7D,EAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,mCAAD,EAAA,oCAAA,CAAA,EAAA,EAAmBuB,sBAAnB,EADF;QAC6C,GAAG,EAAE5B,YAAL;KAA3C,CAAA,CADF,CANF,CADF,CAQM;CApCsB,CAA9B,AAwCC;AAED,oGAAA,CAMA,MAAM,CAACkC,2CAAD,EAAwBC,yCAAxB,CAAA,GACJvC,4CAAsB,CAA4BL,oCAA5B,CADxB,AAAA;AAcA,MAAM6C,mCAAa,GAAA,aAAGvD,CAAAA,YAAK,CAACiB,UAAN,CACpB,CAACC,KAAD,EAAyCC,YAAzC,GAA0D;IACxD,MAAM,E,kBAAEK,gBAAF,CAAA,E,UAAoBgC,QAApB,CAAA,EAA8B,GAAGnC,cAAH,EAA9B,GAAoDH,KAA1D,AAAM;IACN,MAAMuC,YAAY,GAAGzD,YAAK,CAAC0D,MAAN,CAAmC,IAAnC,CAArB,AAAA;IACA,MAAMC,YAAY,GAAGxD,sBAAe,CAACsD,YAAD,EAAetC,YAAf,CAApC,AAAA;IACA,MAAMyC,QAAQ,GAAG/C,mCAAa,CAACW,gBAAD,CAA9B,AAAA;IAEA,MAAMqC,aAAa,GAAGzD,2BAAoB,CAACc,KAAK,CAAC4C,SAAP,EAAmBC,CAAAA,KAAD,GAAW;QAAA,IAAA,qBAAA,AAAA;QACrE,IAAI,CAACpD,oCAAc,CAACiB,QAAf,CAAwBmC,KAAK,CAACC,GAA9B,CAAL,EAAyC,OAAzC;QACA,MAAMC,MAAM,GAAGF,KAAK,CAACE,MAArB,AAAA;QACA,MAAMC,iBAAiB,GAAGN,QAAQ,EAAA,CAAGR,MAAX,CAAmBe,CAAAA,IAAD,GAA5C;YAA4C,IAAA,iBAAA,AAAA;YAAA,OAAU,CAAA,CAAA,AAAA,CAAA,iBAAA,GAACA,IAAI,CAACC,GAAL,CAASC,OAAV,CAAA,KAAA,IAAA,IAAA,iBAAA,KAAA,KAAA,CAAA,IAAC,iBAAA,CAAkBb,QAAnB,CAAA,AAAV,CAAA;SAAlB,CAA1B,AAA4C;QAC5C,MAAMc,YAAY,GAAGJ,iBAAiB,CAACK,SAAlB,CAA6BJ,CAAAA,IAAD,GAAUA,IAAI,CAACC,GAAL,CAASC,OAAT,KAAqBJ,MAA3D;QAAA,CAArB,AAAA;QACA,MAAMO,YAAY,GAAGN,iBAAiB,CAACO,MAAvC,AAAA;QAEA,IAAIH,YAAY,KAAK,EAArB,EAAyB,OAP4C,CASrE,gDAFA;QAGAP,KAAK,CAACW,cAAN,EAAAX,CAAAA;QAEA,IAAIY,SAAS,GAAGL,YAAhB,AAAA;QACA,OAAQP,KAAK,CAACC,GAAd;YACE,KAAK,MAAL;gBACEW,SAAS,GAAG,CAAZ,CAAAA;gBACA,MAAA;YACF,KAAK,KAAL;gBACEA,SAAS,GAAGH,YAAY,GAAG,CAA3B,CAAAG;gBACA,MAAA;YACF,KAAK,WAAL;gBACEA,SAAS,GAAGL,YAAY,GAAG,CAA3B,CAAAK;gBACA,MAAA;YACF,KAAK,SAAL;gBACEA,SAAS,GAAGL,YAAY,GAAG,CAA3B,CAAAK;gBACA,IAAIA,SAAS,GAAG,CAAhB,EACEA,SAAS,GAAGH,YAAY,GAAG,CAA3B,CAAAG;gBAEF,MAAA;SAfJ;QAkBA,MAAMC,YAAY,GAAGD,SAAS,GAAGH,YAAjC,AAAA;QACA,CAAA,qBAAA,GAAAN,iBAAiB,CAACU,YAAD,CAAjB,CAAgCR,GAAhC,CAAoCC,OAApC,CAAA,KAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,IAAA,qBAAA,CAA6CQ,KAA7C,EAAA,CAAA;KAhCwC,CAA1C,AAiCC;IAED,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,2CAAD,EADF;QACyB,KAAK,EAAErD,gBAA9B;QAAgD,QAAQ,EAAEgC,QAAV;KAAhD,EAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,gCAAD,CAAY,IAAZ,EADF;QACmB,KAAK,EAAEhC,gBAAP;KAAjB,EAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,gBAAD,CAAW,GAAX,EAAA,oCAAA,CAAA,EAAA,EACMH,cADN,EADF;QAGI,GAAG,EAAEsC,YAFP;QAGE,SAAS,EAAEH,QAAQ,GAAGsB,SAAH,GAAejB,aAAlC;KAHF,CAAA,CADF,CADF,CADF,CAGM;CA7CY,CAAtB,AAqDG;AAGH;;oGAEA,CAEA,MAAMkB,+BAAS,GAAG,eAAlB,AAAA;AAGA,MAAM,CAACC,2CAAD,EAAwBC,6CAAxB,CAAA,GACJlE,4CAAsB,CAA4BgE,+BAA5B,CADxB,AAAA;AAmBA;;GAEA,CACA,MAAMxF,yCAAa,GAAA,aAAGS,CAAAA,YAAK,CAACiB,UAAN,CACpB,CAACC,KAAD,EAAyCC,YAAzC,GAA0D;IACxD,MAAM,E,kBAAEK,gBAAF,CAAA,E,OAAoBE,KAApB,CAAA,EAA2B,GAAGwD,kBAAH,EAA3B,GAAqDhE,KAA3D,AAAM;IACN,MAAMiE,gBAAgB,GAAG7B,yCAAmB,CAACyB,+BAAD,EAAYvD,gBAAZ,CAA5C,AAAA;IACA,MAAM4D,YAAY,GAAGnD,8CAAwB,CAAC8C,+BAAD,EAAYvD,gBAAZ,CAA7C,AAAA;IACA,MAAM6D,gBAAgB,GAAGrE,yCAAmB,CAACQ,gBAAD,CAA5C,AAAA;IACA,MAAM8D,SAAS,GAAG7E,YAAK,EAAvB,AAAA;IACA,MAAM8E,KAAI,GAAI7D,KAAK,IAAI0D,YAAY,CAAC1D,KAAb,CAAmBE,QAAnB,CAA4BF,KAA5B,CAAV,IAAiD,KAA9D,AAAA;IACA,MAAM8B,QAAQ,GAAG2B,gBAAgB,CAAC3B,QAAjB,IAA6BtC,KAAK,CAACsC,QAApD,AAAA;IAEA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,2CAAD,EADF;QAEI,KAAK,EAAEhC,gBADT;QAEE,IAAI,EAAE+D,KAFR;QAGE,QAAQ,EAAE/B,QAHZ;QAIE,SAAS,EAAE8B,SAAX;KAJF,EAAA,aAME,CAAA,YAAA,CAAA,aAAA,CAAC,WAAD,EANF,oCAAA,CAAA;QAOI,YAAA,EAAYC,KAAI,GAAG,MAAH,GAAY,QAA5B;KADF,EAEMF,gBAFN,EAGMH,kBAHN,EAAA;QAIE,GAAG,EAAE/D,YAJP;QAKE,QAAQ,EAAEqC,QALZ;QAME,IAAI,EAAE+B,KANR;QAOE,YAAY,EAAGA,CAAAA,IAAD,GAAU;YACtB,IAAIA,IAAJ,EACEH,YAAY,CAACI,UAAb,CAAwB9D,KAAxB,CAAA0D,CAAAA;iBAEAA,YAAY,CAACK,WAAb,CAAyB/D,KAAzB,CAAA0D,CAAAA;SAEH;KAbH,CAAA,CANF,CADF,CAOI;CAjBc,CAAtB,AAkCG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,+BAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMM,iCAAW,GAAG,iBAApB,AAAA;AAMA;;;GAGA,CACA,MAAMlG,yCAAe,GAAA,aAAGQ,CAAAA,YAAK,CAACiB,UAAN,CACtB,CAACC,KAAD,EAA2CC,YAA3C,GAA4D;IAC1D,MAAM,E,kBAAEK,gBAAF,CAAA,EAAoB,GAAGmE,WAAH,EAApB,GAAuCzE,KAA7C,AAAM;IACN,MAAM0E,WAAW,GAAGX,6CAAuB,CAACS,iCAAD,EAAclE,gBAAd,CAA3C,AAAA;IACA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,gBAAD,CAAW,EAAX,EADF,oCAAA,CAAA;QAEI,YAAA,EAAYqE,8BAAQ,CAACD,WAAW,CAACL,IAAb,CADtB;QAEE,eAAA,EAAeK,WAAW,CAACpC,QAAZ,GAAuB,EAAvB,GAA4BsB,SAA3C;KAFF,EAGMa,WAHN,EAAA;QAIE,GAAG,EAAExE,YAAL;KAJF,CAAA,CADF,CACE;CALkB,CAAxB,AAYG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,iCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAM2E,kCAAY,GAAG,kBAArB,AAAA;AAMA;;;GAGA,CACA,MAAMrG,yCAAgB,GAAA,aAAGO,CAAAA,YAAK,CAACiB,UAAN,CACvB,CAACC,KAAD,EAA4CC,YAA5C,GAA6D;IAC3D,MAAM,E,kBAAEK,gBAAF,CAAA,EAAoB,GAAGuE,YAAH,EAApB,GAAwC7E,KAA9C,AAAM;IACN,MAAM0E,WAAW,GAAGX,6CAAuB,CAACa,kCAAD,EAAetE,gBAAf,CAA3C,AAAA;IACA,MAAMwE,kBAAkB,GAAG7D,oDAA8B,CAAC2D,kCAAD,EAAetE,gBAAf,CAAzD,AAAA;IACA,MAAM6D,gBAAgB,GAAGrE,yCAAmB,CAACQ,gBAAD,CAA5C,AAAA;IACA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,gCAAD,CAAY,QAAZ,EADF;QACuB,KAAK,EAAEA,gBAAP;KAArB,EAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,cAAD,EADF,oCAAA,CAAA;QAEI,eAAA,EAAgBoE,WAAW,CAACL,IAAZ,IAAoB,CAACS,kBAAkB,CAAC5D,WAAzC,IAAyD0C,SAD1E;QAEE,EAAE,EAAEc,WAAW,CAACN,SAAhB;KAFF,EAGMD,gBAHN,EAIMU,YAJN,EAAA;QAKE,GAAG,EAAE5E,YAAL;KALF,CAAA,CADF,CADF,CAEI;CARiB,CAAzB,AAiBG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,kCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAM8E,kCAAY,GAAG,kBAArB,AAAA;AAMA;;GAEA,CACA,MAAMvG,yCAAgB,GAAA,aAAGM,CAAAA,YAAK,CAACiB,UAAN,CACvB,CAACC,KAAD,EAA4CC,YAA5C,GAA6D;IAC3D,MAAM,E,kBAAEK,gBAAF,CAAA,EAAoB,GAAG0E,YAAH,EAApB,GAAwChF,KAA9C,AAAM;IACN,MAAM0E,WAAW,GAAGX,6CAAuB,CAACgB,kCAAD,EAAezE,gBAAf,CAA3C,AAAA;IACA,MAAM6D,gBAAgB,GAAGrE,yCAAmB,CAACQ,gBAAD,CAA5C,AAAA;IACA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,cAAD,EADF,oCAAA,CAAA;QAEI,IAAI,EAAC,QADP;QAEE,iBAAA,EAAiBoE,WAAW,CAACN,SAA7B;KAFF,EAGMD,gBAHN,EAIMa,YAJN,EAAA;QAKE,GAAG,EAAE/E,YALP;QAME,KAAK,EAAE;YACL,CAAC,kCAAD,CAAA,EAA6C,yCADxC;YAEL,CAAC,iCAAD,CAAA,EAA4C,wCAFvC;YAGL,GAAGD,KAAK,CAACiF,KAAT;SAHK;KANT,CAAA,CADF,CACE;CANmB,CAAzB,AAmBG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,kCAAA;CAAA,CAAA,CAAA;AAEA,oGAAA,CAEA,SAASN,8BAAT,CAAkBN,IAAlB,EAAkC;IAChC,OAAOA,IAAI,GAAG,MAAH,GAAY,QAAvB,CAAA;CACD;AAED,MAAM5F,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;;ADpdA","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",
|
|
3
|
+
"version": "1.1.0-rc.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
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
27
|
"@radix-ui/react-primitive": "1.0.1",
|
|
27
28
|
"@radix-ui/react-use-controllable-state": "1.0.0"
|
|
@@ -37,5 +38,6 @@
|
|
|
37
38
|
},
|
|
38
39
|
"bugs": {
|
|
39
40
|
"url": "https://github.com/radix-ui/primitives/issues"
|
|
40
|
-
}
|
|
41
|
+
},
|
|
42
|
+
"stableVersion": "1.0.1"
|
|
41
43
|
}
|