@tamagui/accordion 1.40.0 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,347 @@
1
- const Accordion = {};
1
+ import { Collapsible, createCollapsibleScope } from "@tamagui/collapsible";
2
+ import { createCollection } from "@tamagui/collection";
3
+ import { createContextScope } from "@tamagui/create-context";
4
+ import { YStack } from "@tamagui/stacks";
5
+ import { H1 } from "@tamagui/text";
6
+ import { useControllableState } from "@tamagui/use-controllable-state";
7
+ import { useDirection } from "@tamagui/use-direction";
8
+ import {
9
+ composeEventHandlers,
10
+ isWeb,
11
+ styled,
12
+ useComposedRefs,
13
+ withStaticProperties
14
+ } from "@tamagui/web";
15
+ import * as React from "react";
16
+ const ACCORDION_NAME = "Accordion";
17
+ const ACCORDION_KEYS = ["Home", "End", "ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"];
18
+ const [Collection, useCollection, createCollectionScope] = createCollection(ACCORDION_NAME);
19
+ const [createAccordionContext, createAccordionScope] = createContextScope(
20
+ ACCORDION_NAME,
21
+ [createCollectionScope, createCollapsibleScope]
22
+ );
23
+ const useCollapsibleScope = createCollapsibleScope();
24
+ const AccordionComponent = React.forwardRef((props, forwardedRef) => {
25
+ const { type, ...accordionProps } = props;
26
+ const singleProps = accordionProps;
27
+ const multipleProps = accordionProps;
28
+ return <Collection.Provider scope={props.__scopeAccordion}>{type === "multiple" ? <AccordionImplMultiple {...multipleProps} ref={forwardedRef} /> : <AccordionImplSingle {...singleProps} ref={forwardedRef} />}</Collection.Provider>;
29
+ });
30
+ AccordionComponent.displayName = ACCORDION_NAME;
31
+ AccordionComponent.propTypes = {
32
+ type(props) {
33
+ const value = props.value || props.defaultValue;
34
+ if (props.type && !["single", "multiple"].includes(props.type)) {
35
+ return new Error(
36
+ "Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`."
37
+ );
38
+ }
39
+ if (props.type === "multiple" && typeof value === "string") {
40
+ return new Error(
41
+ "Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`."
42
+ );
43
+ }
44
+ if (props.type === "single" && Array.isArray(value)) {
45
+ return new Error(
46
+ "Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`."
47
+ );
48
+ }
49
+ return null;
50
+ }
51
+ };
52
+ const [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);
53
+ const [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(ACCORDION_NAME, { collapsible: false });
54
+ const AccordionImplSingle = React.forwardRef((props, forwardedRef) => {
55
+ const {
56
+ value: valueProp,
57
+ defaultValue,
58
+ control,
59
+ onValueChange = () => {
60
+ },
61
+ collapsible = false,
62
+ ...accordionSingleProps
63
+ } = props;
64
+ const [value, setValue] = useControllableState({
65
+ prop: valueProp,
66
+ defaultProp: defaultValue || "",
67
+ onChange: onValueChange
68
+ });
69
+ return <AccordionValueProvider
70
+ scope={props.__scopeAccordion}
71
+ value={value ? [value] : []}
72
+ onItemOpen={setValue}
73
+ onItemClose={React.useCallback(
74
+ () => collapsible && setValue(""),
75
+ [setValue, collapsible]
76
+ )}
77
+ ><AccordionCollapsibleProvider
78
+ scope={props.__scopeAccordion}
79
+ collapsible={collapsible}
80
+ ><AccordionImpl {...accordionSingleProps} ref={forwardedRef} /></AccordionCollapsibleProvider></AccordionValueProvider>;
81
+ });
82
+ const AccordionImplMultiple = React.forwardRef((props, forwardedRef) => {
83
+ const {
84
+ value: valueProp,
85
+ defaultValue,
86
+ onValueChange = () => {
87
+ },
88
+ ...accordionMultipleProps
89
+ } = props;
90
+ const [value, setValue] = useControllableState({
91
+ prop: valueProp,
92
+ defaultProp: defaultValue || [],
93
+ onChange: onValueChange
94
+ });
95
+ const handleItemOpen = React.useCallback(
96
+ (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),
97
+ [setValue]
98
+ );
99
+ const handleItemClose = React.useCallback(
100
+ (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),
101
+ [setValue]
102
+ );
103
+ return <AccordionValueProvider
104
+ scope={props.__scopeAccordion}
105
+ value={value || []}
106
+ onItemOpen={handleItemOpen}
107
+ onItemClose={handleItemClose}
108
+ ><AccordionCollapsibleProvider scope={props.__scopeAccordion} collapsible={true}><AccordionImpl {...accordionMultipleProps} ref={forwardedRef} /></AccordionCollapsibleProvider></AccordionValueProvider>;
109
+ });
110
+ const [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);
111
+ const AccordionImpl = React.forwardRef(
112
+ (props, forwardedRef) => {
113
+ const {
114
+ __scopeAccordion,
115
+ disabled,
116
+ dir,
117
+ orientation = "vertical",
118
+ ...accordionProps
119
+ } = props;
120
+ const accordionRef = React.useRef(null);
121
+ const composedRef = useComposedRefs(accordionRef, forwardedRef);
122
+ const getItems = useCollection(__scopeAccordion);
123
+ const direction = useDirection(dir);
124
+ const isDirectionLTR = direction === "ltr";
125
+ const handleKeyDown = composeEventHandlers(
126
+ props.onKeyDown,
127
+ (event) => {
128
+ if (!ACCORDION_KEYS.includes(event.key))
129
+ return;
130
+ const target = event.target;
131
+ const triggerCollection = getItems().filter((item) => {
132
+ const el = item.ref.current;
133
+ return !el?.disabled;
134
+ });
135
+ const triggerIndex = triggerCollection.findIndex(
136
+ (item) => item.ref.current === target
137
+ );
138
+ const triggerCount = triggerCollection.length;
139
+ if (triggerIndex === -1)
140
+ return;
141
+ event.preventDefault();
142
+ let nextIndex = triggerIndex;
143
+ const homeIndex = 0;
144
+ const endIndex = triggerCount - 1;
145
+ const moveNext = () => {
146
+ nextIndex = triggerIndex + 1;
147
+ if (nextIndex > endIndex) {
148
+ nextIndex = homeIndex;
149
+ }
150
+ };
151
+ const movePrev = () => {
152
+ nextIndex = triggerIndex - 1;
153
+ if (nextIndex < homeIndex) {
154
+ nextIndex = endIndex;
155
+ }
156
+ };
157
+ switch (event.key) {
158
+ case "Home":
159
+ nextIndex = homeIndex;
160
+ break;
161
+ case "End":
162
+ nextIndex = endIndex;
163
+ break;
164
+ case "ArrowRight":
165
+ if (orientation === "horizontal") {
166
+ if (isDirectionLTR) {
167
+ moveNext();
168
+ } else {
169
+ movePrev();
170
+ }
171
+ }
172
+ break;
173
+ case "ArrowDown":
174
+ if (orientation === "vertical") {
175
+ moveNext();
176
+ }
177
+ break;
178
+ case "ArrowLeft":
179
+ if (orientation === "horizontal") {
180
+ if (isDirectionLTR) {
181
+ movePrev();
182
+ } else {
183
+ moveNext();
184
+ }
185
+ }
186
+ break;
187
+ case "ArrowUp":
188
+ if (orientation === "vertical") {
189
+ movePrev();
190
+ }
191
+ break;
192
+ }
193
+ const clampedIndex = nextIndex % triggerCount;
194
+ triggerCollection[clampedIndex].ref.current?.focus();
195
+ }
196
+ );
197
+ return <AccordionImplProvider
198
+ scope={__scopeAccordion}
199
+ disabled={disabled}
200
+ direction={dir}
201
+ orientation={orientation}
202
+ ><Collection.Slot scope={__scopeAccordion}><YStack
203
+ data-orientation={orientation}
204
+ ref={composedRef}
205
+ {...accordionProps}
206
+ {...isWeb && {
207
+ onKeyDown: handleKeyDown
208
+ }}
209
+ /></Collection.Slot></AccordionImplProvider>;
210
+ }
211
+ );
212
+ const ITEM_NAME = "AccordionItem";
213
+ const [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);
214
+ const AccordionItem = React.forwardRef(
215
+ (props, forwardedRef) => {
216
+ const { __scopeAccordion, value, ...accordionItemProps } = props;
217
+ const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);
218
+ const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);
219
+ const collapsibleScope = useCollapsibleScope(__scopeAccordion);
220
+ const triggerId = React.useId();
221
+ const open = value && valueContext.value.includes(value) || false;
222
+ const disabled = accordionContext.disabled || props.disabled;
223
+ return <AccordionItemProvider
224
+ scope={__scopeAccordion}
225
+ open={open}
226
+ disabled={disabled}
227
+ triggerId={triggerId}
228
+ ><Collapsible
229
+ data-orientation={accordionContext.orientation}
230
+ data-state={open ? "open" : "closed"}
231
+ {...collapsibleScope}
232
+ {...accordionItemProps}
233
+ ref={forwardedRef}
234
+ disabled={disabled}
235
+ open={open}
236
+ onOpenChange={(open2) => {
237
+ if (open2) {
238
+ valueContext.onItemOpen(value);
239
+ } else {
240
+ valueContext.onItemClose(value);
241
+ }
242
+ }}
243
+ /></AccordionItemProvider>;
244
+ }
245
+ );
246
+ AccordionItem.displayName = ITEM_NAME;
247
+ const HEADER_NAME = "AccordionHeader";
248
+ const AccordionHeader = React.forwardRef(
249
+ (props, forwardedRef) => {
250
+ const { __scopeAccordion, ...headerProps } = props;
251
+ const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
252
+ const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);
253
+ return <H1
254
+ data-orientation={accordionContext.orientation}
255
+ data-state={getState(itemContext.open)}
256
+ data-disabled={itemContext.disabled ? "" : void 0}
257
+ {...headerProps}
258
+ ref={forwardedRef}
259
+ />;
260
+ }
261
+ );
262
+ AccordionHeader.displayName = HEADER_NAME;
263
+ const AccordionTriggerFrame = styled(Collapsible.Trigger, {
264
+ variants: {
265
+ unstyled: {
266
+ false: {
267
+ cursor: "pointer",
268
+ backgroundColor: "$background",
269
+ borderColor: "$borderColor",
270
+ borderWidth: 1,
271
+ padding: "$true",
272
+ hoverStyle: {
273
+ backgroundColor: "$backgroundHover"
274
+ },
275
+ focusStyle: {
276
+ backgroundColor: "$backgroundFocus"
277
+ },
278
+ pressStyle: {
279
+ backgroundColor: "$backgroundPress"
280
+ }
281
+ }
282
+ }
283
+ },
284
+ defaultVariants: {
285
+ unstyled: false
286
+ }
287
+ });
288
+ const TRIGGER_NAME = "AccordionTrigger";
289
+ const AccordionTrigger = AccordionTriggerFrame.styleable(function AccordionTrigger2(props, forwardedRef) {
290
+ const { __scopeAccordion, ...triggerProps } = props;
291
+ const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
292
+ const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);
293
+ const collapsibleContext = useAccordionCollapsibleContext(
294
+ TRIGGER_NAME,
295
+ __scopeAccordion
296
+ );
297
+ const collapsibleScope = useCollapsibleScope(__scopeAccordion);
298
+ return <Collection.ItemSlot scope={__scopeAccordion}><AccordionTriggerFrame
299
+ aria-disabled={itemContext.open && !collapsibleContext.collapsible || void 0}
300
+ data-orientation={accordionContext.orientation}
301
+ id={itemContext.triggerId}
302
+ {...collapsibleScope}
303
+ {...triggerProps}
304
+ ref={forwardedRef}
305
+ /></Collection.ItemSlot>;
306
+ });
307
+ const AccordionContentFrame = styled(Collapsible.Content, {
308
+ variants: {
309
+ unstyled: {
310
+ false: {
311
+ padding: "$true",
312
+ backgroundColor: "$background"
313
+ }
314
+ }
315
+ },
316
+ defaultVariants: {
317
+ unstyled: false
318
+ }
319
+ });
320
+ const AccordionContent = AccordionContentFrame.styleable(function AccordionContent2(props, forwardedRef) {
321
+ const { __scopeAccordion, ...contentProps } = props;
322
+ const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
323
+ const itemContext = useAccordionItemContext("AccordionContent", __scopeAccordion);
324
+ const collapsibleScope = useCollapsibleScope(__scopeAccordion);
325
+ return <AccordionContentFrame
326
+ role="region"
327
+ aria-labelledby={itemContext.triggerId}
328
+ data-orientation={accordionContext.orientation}
329
+ {...collapsibleScope}
330
+ {...contentProps}
331
+ ref={forwardedRef}
332
+ />;
333
+ });
334
+ function getState(open) {
335
+ return open ? "open" : "closed";
336
+ }
337
+ const Accordion = withStaticProperties(AccordionComponent, {
338
+ Trigger: AccordionTrigger,
339
+ Header: AccordionHeader,
340
+ Content: AccordionContent,
341
+ Item: AccordionItem
342
+ });
2
343
  export {
3
- Accordion
344
+ Accordion,
345
+ createAccordionScope
4
346
  };
5
347
  //# sourceMappingURL=Accordion.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Accordion.tsx"],
4
- "mappings": "AAAO,MAAM,YAAY,CAAC;",
5
- "names": []
4
+ "mappings": "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",
5
+ "names": ["value", "open", "AccordionTrigger", "AccordionContent"]
6
6
  }