@radix-ui/react-accordion 1.2.0-rc.2 → 1.2.0-rc.3

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.js CHANGED
@@ -1,357 +1,371 @@
1
1
  "use strict";
2
2
  "use client";
3
- (() => {
4
- var __create = Object.create;
5
- var __defProp = Object.defineProperty;
6
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __getOwnPropNames = Object.getOwnPropertyNames;
8
- var __getProtoOf = Object.getPrototypeOf;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
11
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
12
- }) : x)(function(x) {
13
- if (typeof require !== "undefined") return require.apply(this, arguments);
14
- throw Error('Dynamic require of "' + x + '" is not supported');
15
- });
16
- var __copyProps = (to, from, except, desc) => {
17
- if (from && typeof from === "object" || typeof from === "function") {
18
- for (let key of __getOwnPropNames(from))
19
- if (!__hasOwnProp.call(to, key) && key !== except)
20
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
- }
22
- return to;
23
- };
24
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
- // If the importer is in node compatibility mode or this is not an ESM
26
- // file that has been converted to a CommonJS file using a Babel-
27
- // compatible transform (i.e. "__esModule" has not been set), then set
28
- // "default" to the CommonJS "module.exports" for node compatibility.
29
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
30
- mod
31
- ));
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
30
 
33
- // packages/react/accordion/src/Accordion.tsx
34
- var import_react = __toESM(__require("react"));
35
- var import_react_context = __require("@radix-ui/react-context");
36
- var import_react_collection = __require("@radix-ui/react-collection");
37
- var import_react_compose_refs = __require("@radix-ui/react-compose-refs");
38
- var import_primitive = __require("@radix-ui/primitive");
39
- var import_react_use_controllable_state = __require("@radix-ui/react-use-controllable-state");
40
- var import_react_primitive = __require("@radix-ui/react-primitive");
41
- var CollapsiblePrimitive = __toESM(__require("@radix-ui/react-collapsible"));
42
- var import_react_collapsible = __require("@radix-ui/react-collapsible");
43
- var import_react_id = __require("@radix-ui/react-id");
44
- var import_react_direction = __require("@radix-ui/react-direction");
45
- var import_jsx_runtime = __require("react/jsx-runtime");
46
- var ACCORDION_NAME = "Accordion";
47
- var ACCORDION_KEYS = ["Home", "End", "ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"];
48
- var [Collection, useCollection, createCollectionScope] = (0, import_react_collection.createCollection)(ACCORDION_NAME);
49
- var [createAccordionContext, createAccordionScope] = (0, import_react_context.createContextScope)(ACCORDION_NAME, [
50
- createCollectionScope,
51
- import_react_collapsible.createCollapsibleScope
52
- ]);
53
- var useCollapsibleScope = (0, import_react_collapsible.createCollapsibleScope)();
54
- var Accordion = import_react.default.forwardRef(
55
- (props, forwardedRef) => {
56
- const { type, ...accordionProps } = props;
57
- const singleProps = accordionProps;
58
- const multipleProps = accordionProps;
59
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Provider, { scope: props.__scopeAccordion, children: type === "multiple" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });
31
+ // packages/react/accordion/src/index.ts
32
+ var src_exports = {};
33
+ __export(src_exports, {
34
+ Accordion: () => Accordion,
35
+ AccordionContent: () => AccordionContent,
36
+ AccordionHeader: () => AccordionHeader,
37
+ AccordionItem: () => AccordionItem,
38
+ AccordionTrigger: () => AccordionTrigger,
39
+ Content: () => Content2,
40
+ Header: () => Header,
41
+ Item: () => Item,
42
+ Root: () => Root2,
43
+ Trigger: () => Trigger2,
44
+ createAccordionScope: () => createAccordionScope
45
+ });
46
+ module.exports = __toCommonJS(src_exports);
47
+
48
+ // packages/react/accordion/src/Accordion.tsx
49
+ var import_react = __toESM(require("react"));
50
+ var import_react_context = require("@radix-ui/react-context");
51
+ var import_react_collection = require("@radix-ui/react-collection");
52
+ var import_react_compose_refs = require("@radix-ui/react-compose-refs");
53
+ var import_primitive = require("@radix-ui/primitive");
54
+ var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
55
+ var import_react_primitive = require("@radix-ui/react-primitive");
56
+ var CollapsiblePrimitive = __toESM(require("@radix-ui/react-collapsible"));
57
+ var import_react_collapsible = require("@radix-ui/react-collapsible");
58
+ var import_react_id = require("@radix-ui/react-id");
59
+ var import_react_direction = require("@radix-ui/react-direction");
60
+ var import_jsx_runtime = require("react/jsx-runtime");
61
+ var ACCORDION_NAME = "Accordion";
62
+ var ACCORDION_KEYS = ["Home", "End", "ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"];
63
+ var [Collection, useCollection, createCollectionScope] = (0, import_react_collection.createCollection)(ACCORDION_NAME);
64
+ var [createAccordionContext, createAccordionScope] = (0, import_react_context.createContextScope)(ACCORDION_NAME, [
65
+ createCollectionScope,
66
+ import_react_collapsible.createCollapsibleScope
67
+ ]);
68
+ var useCollapsibleScope = (0, import_react_collapsible.createCollapsibleScope)();
69
+ var Accordion = import_react.default.forwardRef(
70
+ (props, forwardedRef) => {
71
+ const { type, ...accordionProps } = props;
72
+ const singleProps = accordionProps;
73
+ const multipleProps = accordionProps;
74
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Provider, { scope: props.__scopeAccordion, children: type === "multiple" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });
75
+ }
76
+ );
77
+ Accordion.displayName = ACCORDION_NAME;
78
+ Accordion.propTypes = {
79
+ type(props) {
80
+ const value = props.value || props.defaultValue;
81
+ if (props.type && !["single", "multiple"].includes(props.type)) {
82
+ return new Error(
83
+ "Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`."
84
+ );
60
85
  }
61
- );
62
- Accordion.displayName = ACCORDION_NAME;
63
- Accordion.propTypes = {
64
- type(props) {
65
- const value = props.value || props.defaultValue;
66
- if (props.type && !["single", "multiple"].includes(props.type)) {
67
- return new Error(
68
- "Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`."
69
- );
70
- }
71
- if (props.type === "multiple" && typeof value === "string") {
72
- return new Error(
73
- "Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`."
74
- );
75
- }
76
- if (props.type === "single" && Array.isArray(value)) {
77
- return new Error(
78
- "Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`."
79
- );
80
- }
81
- return null;
86
+ if (props.type === "multiple" && typeof value === "string") {
87
+ return new Error(
88
+ "Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`."
89
+ );
82
90
  }
83
- };
84
- var [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);
85
- var [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(
86
- ACCORDION_NAME,
87
- { collapsible: false }
88
- );
89
- var AccordionImplSingle = import_react.default.forwardRef(
90
- (props, forwardedRef) => {
91
- const {
92
- value: valueProp,
93
- defaultValue,
94
- onValueChange = () => {
95
- },
96
- collapsible = false,
97
- ...accordionSingleProps
98
- } = props;
99
- const [value, setValue] = (0, import_react_use_controllable_state.useControllableState)({
100
- prop: valueProp,
101
- defaultProp: defaultValue,
102
- onChange: onValueChange
103
- });
104
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
105
- AccordionValueProvider,
106
- {
107
- scope: props.__scopeAccordion,
108
- value: value ? [value] : [],
109
- onItemOpen: setValue,
110
- onItemClose: import_react.default.useCallback(() => collapsible && setValue(""), [collapsible, setValue]),
111
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })
112
- }
91
+ if (props.type === "single" && Array.isArray(value)) {
92
+ return new Error(
93
+ "Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`."
113
94
  );
114
95
  }
115
- );
116
- var AccordionImplMultiple = import_react.default.forwardRef((props, forwardedRef) => {
96
+ return null;
97
+ }
98
+ };
99
+ var [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);
100
+ var [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(
101
+ ACCORDION_NAME,
102
+ { collapsible: false }
103
+ );
104
+ var AccordionImplSingle = import_react.default.forwardRef(
105
+ (props, forwardedRef) => {
117
106
  const {
118
107
  value: valueProp,
119
108
  defaultValue,
120
109
  onValueChange = () => {
121
110
  },
122
- ...accordionMultipleProps
111
+ collapsible = false,
112
+ ...accordionSingleProps
123
113
  } = props;
124
- const [value = [], setValue] = (0, import_react_use_controllable_state.useControllableState)({
114
+ const [value, setValue] = (0, import_react_use_controllable_state.useControllableState)({
125
115
  prop: valueProp,
126
116
  defaultProp: defaultValue,
127
117
  onChange: onValueChange
128
118
  });
129
- const handleItemOpen = import_react.default.useCallback(
130
- (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),
131
- [setValue]
132
- );
133
- const handleItemClose = import_react.default.useCallback(
134
- (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),
135
- [setValue]
136
- );
137
119
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
138
120
  AccordionValueProvider,
139
121
  {
140
122
  scope: props.__scopeAccordion,
141
- value,
142
- onItemOpen: handleItemOpen,
143
- onItemClose: handleItemClose,
144
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })
123
+ value: value ? [value] : [],
124
+ onItemOpen: setValue,
125
+ onItemClose: import_react.default.useCallback(() => collapsible && setValue(""), [collapsible, setValue]),
126
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })
145
127
  }
146
128
  );
129
+ }
130
+ );
131
+ var AccordionImplMultiple = import_react.default.forwardRef((props, forwardedRef) => {
132
+ const {
133
+ value: valueProp,
134
+ defaultValue,
135
+ onValueChange = () => {
136
+ },
137
+ ...accordionMultipleProps
138
+ } = props;
139
+ const [value = [], setValue] = (0, import_react_use_controllable_state.useControllableState)({
140
+ prop: valueProp,
141
+ defaultProp: defaultValue,
142
+ onChange: onValueChange
147
143
  });
148
- var [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);
149
- var AccordionImpl = import_react.default.forwardRef(
150
- (props, forwardedRef) => {
151
- const { __scopeAccordion, disabled, dir, orientation = "vertical", ...accordionProps } = props;
152
- const accordionRef = import_react.default.useRef(null);
153
- const composedRefs = (0, import_react_compose_refs.useComposedRefs)(accordionRef, forwardedRef);
154
- const getItems = useCollection(__scopeAccordion);
155
- const direction = (0, import_react_direction.useDirection)(dir);
156
- const isDirectionLTR = direction === "ltr";
157
- const handleKeyDown = (0, import_primitive.composeEventHandlers)(props.onKeyDown, (event) => {
158
- if (!ACCORDION_KEYS.includes(event.key)) return;
159
- const target = event.target;
160
- const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);
161
- const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);
162
- const triggerCount = triggerCollection.length;
163
- if (triggerIndex === -1) return;
164
- event.preventDefault();
165
- let nextIndex = triggerIndex;
166
- const homeIndex = 0;
167
- const endIndex = triggerCount - 1;
168
- const moveNext = () => {
169
- nextIndex = triggerIndex + 1;
170
- if (nextIndex > endIndex) {
171
- nextIndex = homeIndex;
144
+ const handleItemOpen = import_react.default.useCallback(
145
+ (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),
146
+ [setValue]
147
+ );
148
+ const handleItemClose = import_react.default.useCallback(
149
+ (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),
150
+ [setValue]
151
+ );
152
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
153
+ AccordionValueProvider,
154
+ {
155
+ scope: props.__scopeAccordion,
156
+ value,
157
+ onItemOpen: handleItemOpen,
158
+ onItemClose: handleItemClose,
159
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })
160
+ }
161
+ );
162
+ });
163
+ var [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);
164
+ var AccordionImpl = import_react.default.forwardRef(
165
+ (props, forwardedRef) => {
166
+ const { __scopeAccordion, disabled, dir, orientation = "vertical", ...accordionProps } = props;
167
+ const accordionRef = import_react.default.useRef(null);
168
+ const composedRefs = (0, import_react_compose_refs.useComposedRefs)(accordionRef, forwardedRef);
169
+ const getItems = useCollection(__scopeAccordion);
170
+ const direction = (0, import_react_direction.useDirection)(dir);
171
+ const isDirectionLTR = direction === "ltr";
172
+ const handleKeyDown = (0, import_primitive.composeEventHandlers)(props.onKeyDown, (event) => {
173
+ if (!ACCORDION_KEYS.includes(event.key)) return;
174
+ const target = event.target;
175
+ const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);
176
+ const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);
177
+ const triggerCount = triggerCollection.length;
178
+ if (triggerIndex === -1) return;
179
+ event.preventDefault();
180
+ let nextIndex = triggerIndex;
181
+ const homeIndex = 0;
182
+ const endIndex = triggerCount - 1;
183
+ const moveNext = () => {
184
+ nextIndex = triggerIndex + 1;
185
+ if (nextIndex > endIndex) {
186
+ nextIndex = homeIndex;
187
+ }
188
+ };
189
+ const movePrev = () => {
190
+ nextIndex = triggerIndex - 1;
191
+ if (nextIndex < homeIndex) {
192
+ nextIndex = endIndex;
193
+ }
194
+ };
195
+ switch (event.key) {
196
+ case "Home":
197
+ nextIndex = homeIndex;
198
+ break;
199
+ case "End":
200
+ nextIndex = endIndex;
201
+ break;
202
+ case "ArrowRight":
203
+ if (orientation === "horizontal") {
204
+ if (isDirectionLTR) {
205
+ moveNext();
206
+ } else {
207
+ movePrev();
208
+ }
172
209
  }
173
- };
174
- const movePrev = () => {
175
- nextIndex = triggerIndex - 1;
176
- if (nextIndex < homeIndex) {
177
- nextIndex = endIndex;
210
+ break;
211
+ case "ArrowDown":
212
+ if (orientation === "vertical") {
213
+ moveNext();
178
214
  }
179
- };
180
- switch (event.key) {
181
- case "Home":
182
- nextIndex = homeIndex;
183
- break;
184
- case "End":
185
- nextIndex = endIndex;
186
- break;
187
- case "ArrowRight":
188
- if (orientation === "horizontal") {
189
- if (isDirectionLTR) {
190
- moveNext();
191
- } else {
192
- movePrev();
193
- }
194
- }
195
- break;
196
- case "ArrowDown":
197
- if (orientation === "vertical") {
215
+ break;
216
+ case "ArrowLeft":
217
+ if (orientation === "horizontal") {
218
+ if (isDirectionLTR) {
219
+ movePrev();
220
+ } else {
198
221
  moveNext();
199
222
  }
200
- break;
201
- case "ArrowLeft":
202
- if (orientation === "horizontal") {
203
- if (isDirectionLTR) {
204
- movePrev();
223
+ }
224
+ break;
225
+ case "ArrowUp":
226
+ if (orientation === "vertical") {
227
+ movePrev();
228
+ }
229
+ break;
230
+ }
231
+ const clampedIndex = nextIndex % triggerCount;
232
+ triggerCollection[clampedIndex].ref.current?.focus();
233
+ });
234
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
235
+ AccordionImplProvider,
236
+ {
237
+ scope: __scopeAccordion,
238
+ disabled,
239
+ direction: dir,
240
+ orientation,
241
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
242
+ import_react_primitive.Primitive.div,
243
+ {
244
+ ...accordionProps,
245
+ "data-orientation": orientation,
246
+ ref: composedRefs,
247
+ onKeyDown: disabled ? void 0 : handleKeyDown
248
+ }
249
+ ) })
250
+ }
251
+ );
252
+ }
253
+ );
254
+ var ITEM_NAME = "AccordionItem";
255
+ var [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);
256
+ var AccordionItem = import_react.default.forwardRef(
257
+ (props, forwardedRef) => {
258
+ const { __scopeAccordion, value, ...accordionItemProps } = props;
259
+ const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);
260
+ const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);
261
+ const collapsibleScope = useCollapsibleScope(__scopeAccordion);
262
+ const triggerId = (0, import_react_id.useId)();
263
+ const open = value && valueContext.value.includes(value) || false;
264
+ const disabled = accordionContext.disabled || props.disabled;
265
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
266
+ AccordionItemProvider,
267
+ {
268
+ scope: __scopeAccordion,
269
+ open,
270
+ disabled,
271
+ triggerId,
272
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
273
+ CollapsiblePrimitive.Root,
274
+ {
275
+ "data-orientation": accordionContext.orientation,
276
+ "data-state": getState(open),
277
+ ...collapsibleScope,
278
+ ...accordionItemProps,
279
+ ref: forwardedRef,
280
+ disabled,
281
+ open,
282
+ onOpenChange: (open2) => {
283
+ if (open2) {
284
+ valueContext.onItemOpen(value);
205
285
  } else {
206
- moveNext();
286
+ valueContext.onItemClose(value);
207
287
  }
208
288
  }
209
- break;
210
- case "ArrowUp":
211
- if (orientation === "vertical") {
212
- movePrev();
213
- }
214
- break;
215
- }
216
- const clampedIndex = nextIndex % triggerCount;
217
- triggerCollection[clampedIndex].ref.current?.focus();
218
- });
219
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
220
- AccordionImplProvider,
221
- {
222
- scope: __scopeAccordion,
223
- disabled,
224
- direction: dir,
225
- orientation,
226
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
227
- import_react_primitive.Primitive.div,
228
- {
229
- ...accordionProps,
230
- "data-orientation": orientation,
231
- ref: composedRefs,
232
- onKeyDown: disabled ? void 0 : handleKeyDown
233
- }
234
- ) })
235
- }
236
- );
237
- }
238
- );
239
- var ITEM_NAME = "AccordionItem";
240
- var [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);
241
- var AccordionItem = import_react.default.forwardRef(
242
- (props, forwardedRef) => {
243
- const { __scopeAccordion, value, ...accordionItemProps } = props;
244
- const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);
245
- const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);
246
- const collapsibleScope = useCollapsibleScope(__scopeAccordion);
247
- const triggerId = (0, import_react_id.useId)();
248
- const open = value && valueContext.value.includes(value) || false;
249
- const disabled = accordionContext.disabled || props.disabled;
250
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
251
- AccordionItemProvider,
252
- {
253
- scope: __scopeAccordion,
254
- open,
255
- disabled,
256
- triggerId,
257
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
258
- CollapsiblePrimitive.Root,
259
- {
260
- "data-orientation": accordionContext.orientation,
261
- "data-state": getState(open),
262
- ...collapsibleScope,
263
- ...accordionItemProps,
264
- ref: forwardedRef,
265
- disabled,
266
- open,
267
- onOpenChange: (open2) => {
268
- if (open2) {
269
- valueContext.onItemOpen(value);
270
- } else {
271
- valueContext.onItemClose(value);
272
- }
273
- }
274
- }
275
- )
276
- }
277
- );
278
- }
279
- );
280
- AccordionItem.displayName = ITEM_NAME;
281
- var HEADER_NAME = "AccordionHeader";
282
- var AccordionHeader = import_react.default.forwardRef(
283
- (props, forwardedRef) => {
284
- const { __scopeAccordion, ...headerProps } = props;
285
- const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
286
- const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);
287
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
288
- import_react_primitive.Primitive.h3,
289
- {
290
- "data-orientation": accordionContext.orientation,
291
- "data-state": getState(itemContext.open),
292
- "data-disabled": itemContext.disabled ? "" : void 0,
293
- ...headerProps,
294
- ref: forwardedRef
295
- }
296
- );
297
- }
298
- );
299
- AccordionHeader.displayName = HEADER_NAME;
300
- var TRIGGER_NAME = "AccordionTrigger";
301
- var AccordionTrigger = import_react.default.forwardRef(
302
- (props, forwardedRef) => {
303
- const { __scopeAccordion, ...triggerProps } = props;
304
- const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
305
- const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);
306
- const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);
307
- const collapsibleScope = useCollapsibleScope(__scopeAccordion);
308
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
309
- CollapsiblePrimitive.Trigger,
310
- {
311
- "aria-disabled": itemContext.open && !collapsibleContext.collapsible || void 0,
312
- "data-orientation": accordionContext.orientation,
313
- id: itemContext.triggerId,
314
- ...collapsibleScope,
315
- ...triggerProps,
316
- ref: forwardedRef
317
- }
318
- ) });
319
- }
320
- );
321
- AccordionTrigger.displayName = TRIGGER_NAME;
322
- var CONTENT_NAME = "AccordionContent";
323
- var AccordionContent = import_react.default.forwardRef(
324
- (props, forwardedRef) => {
325
- const { __scopeAccordion, ...contentProps } = props;
326
- const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
327
- const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);
328
- const collapsibleScope = useCollapsibleScope(__scopeAccordion);
329
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
330
- CollapsiblePrimitive.Content,
331
- {
332
- role: "region",
333
- "aria-labelledby": itemContext.triggerId,
334
- "data-orientation": accordionContext.orientation,
335
- ...collapsibleScope,
336
- ...contentProps,
337
- ref: forwardedRef,
338
- style: {
339
- ["--radix-accordion-content-height"]: "var(--radix-collapsible-content-height)",
340
- ["--radix-accordion-content-width"]: "var(--radix-collapsible-content-width)",
341
- ...props.style
342
289
  }
290
+ )
291
+ }
292
+ );
293
+ }
294
+ );
295
+ AccordionItem.displayName = ITEM_NAME;
296
+ var HEADER_NAME = "AccordionHeader";
297
+ var AccordionHeader = import_react.default.forwardRef(
298
+ (props, forwardedRef) => {
299
+ const { __scopeAccordion, ...headerProps } = props;
300
+ const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
301
+ const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);
302
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
303
+ import_react_primitive.Primitive.h3,
304
+ {
305
+ "data-orientation": accordionContext.orientation,
306
+ "data-state": getState(itemContext.open),
307
+ "data-disabled": itemContext.disabled ? "" : void 0,
308
+ ...headerProps,
309
+ ref: forwardedRef
310
+ }
311
+ );
312
+ }
313
+ );
314
+ AccordionHeader.displayName = HEADER_NAME;
315
+ var TRIGGER_NAME = "AccordionTrigger";
316
+ var AccordionTrigger = import_react.default.forwardRef(
317
+ (props, forwardedRef) => {
318
+ const { __scopeAccordion, ...triggerProps } = props;
319
+ const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
320
+ const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);
321
+ const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);
322
+ const collapsibleScope = useCollapsibleScope(__scopeAccordion);
323
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
324
+ CollapsiblePrimitive.Trigger,
325
+ {
326
+ "aria-disabled": itemContext.open && !collapsibleContext.collapsible || void 0,
327
+ "data-orientation": accordionContext.orientation,
328
+ id: itemContext.triggerId,
329
+ ...collapsibleScope,
330
+ ...triggerProps,
331
+ ref: forwardedRef
332
+ }
333
+ ) });
334
+ }
335
+ );
336
+ AccordionTrigger.displayName = TRIGGER_NAME;
337
+ var CONTENT_NAME = "AccordionContent";
338
+ var AccordionContent = import_react.default.forwardRef(
339
+ (props, forwardedRef) => {
340
+ const { __scopeAccordion, ...contentProps } = props;
341
+ const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
342
+ const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);
343
+ const collapsibleScope = useCollapsibleScope(__scopeAccordion);
344
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
345
+ CollapsiblePrimitive.Content,
346
+ {
347
+ role: "region",
348
+ "aria-labelledby": itemContext.triggerId,
349
+ "data-orientation": accordionContext.orientation,
350
+ ...collapsibleScope,
351
+ ...contentProps,
352
+ ref: forwardedRef,
353
+ style: {
354
+ ["--radix-accordion-content-height"]: "var(--radix-collapsible-content-height)",
355
+ ["--radix-accordion-content-width"]: "var(--radix-collapsible-content-width)",
356
+ ...props.style
343
357
  }
344
- );
345
- }
346
- );
347
- AccordionContent.displayName = CONTENT_NAME;
348
- function getState(open) {
349
- return open ? "open" : "closed";
358
+ }
359
+ );
350
360
  }
351
- var Root2 = Accordion;
352
- var Item = AccordionItem;
353
- var Header = AccordionHeader;
354
- var Trigger2 = AccordionTrigger;
355
- var Content2 = AccordionContent;
356
- })();
361
+ );
362
+ AccordionContent.displayName = CONTENT_NAME;
363
+ function getState(open) {
364
+ return open ? "open" : "closed";
365
+ }
366
+ var Root2 = Accordion;
367
+ var Item = AccordionItem;
368
+ var Header = AccordionHeader;
369
+ var Trigger2 = AccordionTrigger;
370
+ var Content2 = AccordionContent;
357
371
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/Accordion.tsx"],
4
- "sourcesContent": ["import React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\nimport { createCollapsibleScope } from '@radix-ui/react-collapsible';\nimport { useId } from '@radix-ui/react-id';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\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={getState(open)}\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"],
5
- "mappings": "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",
6
- "names": ["React", "value", "open", "Root", "Trigger", "Content"]
3
+ "sources": ["../src/index.ts", "../src/Accordion.tsx"],
4
+ "sourcesContent": ["'use client';\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} 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={getState(open)}\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"],
5
+ "mappings": "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",
6
+ "names": ["Content", "Root", "Trigger", "React", "value", "open", "Root", "Trigger", "Content"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radix-ui/react-accordion",
3
- "version": "1.2.0-rc.2",
3
+ "version": "1.2.0-rc.3",
4
4
  "license": "MIT",
5
5
  "exports": {
6
6
  ".": {
@@ -28,15 +28,15 @@
28
28
  "version": "yarn version"
29
29
  },
30
30
  "dependencies": {
31
- "@radix-ui/primitive": "1.1.0-rc.2",
32
- "@radix-ui/react-collapsible": "1.1.0-rc.2",
33
- "@radix-ui/react-collection": "1.1.0-rc.2",
34
- "@radix-ui/react-compose-refs": "1.1.0-rc.2",
35
- "@radix-ui/react-context": "1.1.0-rc.2",
36
- "@radix-ui/react-direction": "1.1.0-rc.2",
37
- "@radix-ui/react-id": "1.1.0-rc.2",
38
- "@radix-ui/react-primitive": "1.1.0-rc.2",
39
- "@radix-ui/react-use-controllable-state": "1.1.0-rc.2"
31
+ "@radix-ui/primitive": "1.1.0-rc.3",
32
+ "@radix-ui/react-collapsible": "1.1.0-rc.3",
33
+ "@radix-ui/react-collection": "1.1.0-rc.3",
34
+ "@radix-ui/react-compose-refs": "1.1.0-rc.3",
35
+ "@radix-ui/react-context": "1.1.0-rc.3",
36
+ "@radix-ui/react-direction": "1.1.0-rc.3",
37
+ "@radix-ui/react-id": "1.1.0-rc.3",
38
+ "@radix-ui/react-primitive": "1.1.0-rc.3",
39
+ "@radix-ui/react-use-controllable-state": "1.1.0-rc.3"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "@types/react": "*",