panelui-native 0.68.0 → 0.71.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.
- package/README.md +12 -2
- package/lib/module/components/accordion/index.js +28 -9
- package/lib/module/components/accordion/index.js.map +1 -1
- package/lib/module/components/button/index.js +14 -7
- package/lib/module/components/button/index.js.map +1 -1
- package/lib/module/components/collapsible/index.js +280 -0
- package/lib/module/components/collapsible/index.js.map +1 -0
- package/lib/module/components/flow/index.js +66 -3
- package/lib/module/components/flow/index.js.map +1 -1
- package/lib/module/components/live-line-chart/index.js +103 -9
- package/lib/module/components/live-line-chart/index.js.map +1 -1
- package/lib/module/components/live-line-chart/live-line-accessibility.js +47 -0
- package/lib/module/components/live-line-chart/live-line-accessibility.js.map +1 -0
- package/lib/module/components/live-line-chart/live-line-lifecycle.js +33 -0
- package/lib/module/components/live-line-chart/live-line-lifecycle.js.map +1 -0
- package/lib/module/components/marquee/index.js +194 -0
- package/lib/module/components/marquee/index.js.map +1 -0
- package/lib/module/components/meter/index.js +38 -20
- package/lib/module/components/meter/index.js.map +1 -1
- package/lib/module/components/meter/meter-scale.js +62 -8
- package/lib/module/components/meter/meter-scale.js.map +1 -1
- package/lib/module/components/planner/index.js +133 -59
- package/lib/module/components/planner/index.js.map +1 -1
- package/lib/module/components/planner/planner-announcement.js +30 -0
- package/lib/module/components/planner/planner-announcement.js.map +1 -0
- package/lib/module/components/planner/planner-entries.js +15 -7
- package/lib/module/components/planner/planner-entries.js.map +1 -1
- package/lib/module/components/planner/planner-grid-navigation.js +33 -0
- package/lib/module/components/planner/planner-grid-navigation.js.map +1 -0
- package/lib/module/components/planner/planner-lifecycle.js +45 -0
- package/lib/module/components/planner/planner-lifecycle.js.map +1 -0
- package/lib/module/components/popover/index.js +2 -2
- package/lib/module/components/popover/index.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/primitives/focus-restoration-store.js +52 -0
- package/lib/module/primitives/focus-restoration-store.js.map +1 -0
- package/lib/module/primitives/portal.js +36 -2
- package/lib/module/primitives/portal.js.map +1 -1
- package/lib/typescript/src/components/accordion/index.d.ts +4 -0
- package/lib/typescript/src/components/accordion/index.d.ts.map +1 -1
- package/lib/typescript/src/components/button/index.d.ts.map +1 -1
- package/lib/typescript/src/components/collapsible/index.d.ts +76 -0
- package/lib/typescript/src/components/collapsible/index.d.ts.map +1 -0
- package/lib/typescript/src/components/flow/index.d.ts +7 -1
- package/lib/typescript/src/components/flow/index.d.ts.map +1 -1
- package/lib/typescript/src/components/live-line-chart/index.d.ts +21 -7
- package/lib/typescript/src/components/live-line-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/live-line-chart/live-line-accessibility.d.ts +22 -0
- package/lib/typescript/src/components/live-line-chart/live-line-accessibility.d.ts.map +1 -0
- package/lib/typescript/src/components/live-line-chart/live-line-lifecycle.d.ts +23 -0
- package/lib/typescript/src/components/live-line-chart/live-line-lifecycle.d.ts.map +1 -0
- package/lib/typescript/src/components/marquee/index.d.ts +73 -0
- package/lib/typescript/src/components/marquee/index.d.ts.map +1 -0
- package/lib/typescript/src/components/meter/index.d.ts +7 -4
- package/lib/typescript/src/components/meter/index.d.ts.map +1 -1
- package/lib/typescript/src/components/meter/meter-scale.d.ts +39 -0
- package/lib/typescript/src/components/meter/meter-scale.d.ts.map +1 -1
- package/lib/typescript/src/components/planner/index.d.ts.map +1 -1
- package/lib/typescript/src/components/planner/planner-announcement.d.ts +15 -0
- package/lib/typescript/src/components/planner/planner-announcement.d.ts.map +1 -0
- package/lib/typescript/src/components/planner/planner-entries.d.ts +1 -1
- package/lib/typescript/src/components/planner/planner-entries.d.ts.map +1 -1
- package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts +4 -0
- package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts.map +1 -0
- package/lib/typescript/src/components/planner/planner-lifecycle.d.ts +20 -0
- package/lib/typescript/src/components/planner/planner-lifecycle.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/primitives/focus-restoration-store.d.ts +24 -0
- package/lib/typescript/src/primitives/focus-restoration-store.d.ts.map +1 -0
- package/lib/typescript/src/primitives/portal.d.ts +4 -0
- package/lib/typescript/src/primitives/portal.d.ts.map +1 -1
- package/package.json +36 -3
- package/src/components/accordion/index.tsx +31 -8
- package/src/components/button/index.tsx +11 -4
- package/src/components/collapsible/index.tsx +278 -0
- package/src/components/flow/index.tsx +93 -14
- package/src/components/live-line-chart/index.tsx +130 -13
- package/src/components/live-line-chart/live-line-accessibility.ts +61 -0
- package/src/components/live-line-chart/live-line-lifecycle.ts +63 -0
- package/src/components/marquee/index.tsx +232 -0
- package/src/components/meter/index.tsx +49 -26
- package/src/components/meter/meter-scale.ts +84 -8
- package/src/components/planner/index.tsx +182 -71
- package/src/components/planner/planner-announcement.ts +37 -0
- package/src/components/planner/planner-entries.ts +16 -7
- package/src/components/planner/planner-grid-navigation.ts +45 -0
- package/src/components/planner/planner-lifecycle.ts +76 -0
- package/src/components/popover/index.tsx +3 -3
- package/src/index.ts +13 -0
- package/src/primitives/focus-restoration-store.ts +70 -0
- package/src/primitives/portal.tsx +34 -2
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# PanelUI — React Native UI components for Expo, styled with Tailwind CSS
|
|
2
2
|
|
|
3
3
|
**PanelUI** (`panelui-native`) is an accessible, high-performance React Native component
|
|
4
|
-
library for Expo apps.
|
|
4
|
+
library for Expo apps. 110 typed components — buttons, bottom sheets, dialogs, selects,
|
|
5
5
|
toasts, forms — styled with Tailwind CSS v4 and animated on the UI thread with Reanimated.
|
|
6
6
|
Zero native code, so it runs in Expo Go.
|
|
7
7
|
|
|
@@ -179,14 +179,21 @@ import { Button, useBreakpoint, formatTime } from 'panelui-native';
|
|
|
179
179
|
```
|
|
180
180
|
|
|
181
181
|
For explicit module boundaries, every component and public hook also has a subpath. The public
|
|
182
|
-
utilities are `cn`, `color`, and `time
|
|
182
|
+
utilities are `cn`, `color`, and `time`. Provider, theme, and standalone foundations that do not
|
|
183
|
+
expose internal helpers have explicit leaves too:
|
|
183
184
|
|
|
184
185
|
```tsx
|
|
185
186
|
import { Button } from 'panelui-native/components/button';
|
|
186
187
|
import { useBreakpoint } from 'panelui-native/hooks/use-breakpoint';
|
|
187
188
|
import { formatTime } from 'panelui-native/utils/time';
|
|
189
|
+
import { PanelUIProvider } from 'panelui-native/provider';
|
|
190
|
+
import { useTheme } from 'panelui-native/theme';
|
|
191
|
+
import { Scrim } from 'panelui-native/primitives/scrim';
|
|
188
192
|
```
|
|
189
193
|
|
|
194
|
+
The other foundation leaves are `animated-pressable`, `keyboard-avoider`, and
|
|
195
|
+
`scroll-progress` under `panelui-native/primitives/`.
|
|
196
|
+
|
|
190
197
|
These imports expose the same implementations and types as the root entry. They are an
|
|
191
198
|
organization and tooling boundary; they do not promise a smaller bundle without measuring your
|
|
192
199
|
consumer bundler.
|
|
@@ -211,6 +218,7 @@ consumer bundler.
|
|
|
211
218
|
| `Checkbox` | Animated checkbox, as a row or a selectable card |
|
|
212
219
|
| `Chip` | Interactive pill — a filter, a tag, or a removable token |
|
|
213
220
|
| `CodeBlock` | Syntax-highlighted code with a header and a copy button |
|
|
221
|
+
| `Collapsible` | One section of content, shown and hidden by its own header |
|
|
214
222
|
| `ColorPicker` | A colour chosen by dragging — a saturation square, a hue scale, and opacity |
|
|
215
223
|
| `Combobox` | A text field that filters a list of options as you type |
|
|
216
224
|
| `ContextMenu` | Actions for a piece of content, opened by holding it |
|
|
@@ -240,6 +248,7 @@ consumer bundler.
|
|
|
240
248
|
| `Map` | Vector map whose basemap is drawn from your theme tokens |
|
|
241
249
|
| `MarkdownEditor` | A field for writing markdown, with a toolbar and a preview |
|
|
242
250
|
| `Marker` | Inline note between conversation turns |
|
|
251
|
+
| `Marquee` | Content that travels across its container on a loop |
|
|
243
252
|
| `Menu` | The list of things you can do to something |
|
|
244
253
|
| `Message` | Chat turn with avatar, bubble, header and footer |
|
|
245
254
|
| `MessageScroller` | Scroll behaviour a chat transcript needs |
|
|
@@ -250,6 +259,7 @@ consumer bundler.
|
|
|
250
259
|
| `Panelside` | Collapsible side panel with its own search, groups and scenes |
|
|
251
260
|
| `PieChart` | One whole, divided between its parts |
|
|
252
261
|
| `Plan` | What an agent intends to do, before it does it |
|
|
262
|
+
| `Planner` | A month of days, each carrying what falls on it |
|
|
253
263
|
| `Plot` | A chart you assemble out of its marks |
|
|
254
264
|
| `PolarAreaChart` | Several readings on one scale, compared as wedges |
|
|
255
265
|
| `Popover` | Panel anchored to the element that opened it |
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
* also changes the shape of `value`: a string when single, an array when
|
|
13
13
|
* multiple.
|
|
14
14
|
*
|
|
15
|
+
* With the operating system set to reduce motion the section arrives at its new
|
|
16
|
+
* height and the chevron at its new angle without travelling to either. The
|
|
17
|
+
* disclosure is the point and it still happens; the movement is what goes.
|
|
18
|
+
*
|
|
15
19
|
* A closed section costs nothing, because its body is unmounted. That is the
|
|
16
20
|
* right default and the wrong one for a body with state in it: a half-filled
|
|
17
21
|
* form, a list scrolled to the middle, a video part-way through. Collapsing
|
|
@@ -20,13 +24,18 @@
|
|
|
20
24
|
* so it takes up no room, the same layout transition carries the change, and
|
|
21
25
|
* everything inside is exactly where it was left.
|
|
22
26
|
*/
|
|
23
|
-
import { Children, createContext, forwardRef, isValidElement, useCallback, useContext, useMemo, useState } from 'react';
|
|
27
|
+
import { Children, createContext, forwardRef, isValidElement, useCallback, useContext, useEffect, useMemo, useState } from 'react';
|
|
24
28
|
import { Pressable, View } from 'react-native';
|
|
25
|
-
import Animated, { LinearTransition, useAnimatedStyle,
|
|
29
|
+
import Animated, { LinearTransition, useAnimatedStyle, useReducedMotion, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
26
30
|
import { tv } from 'tailwind-variants';
|
|
27
31
|
import { ChevronDownIcon } from "../../icons/index.js";
|
|
28
32
|
import { Text, textChildren } from "../../primitives/text.js";
|
|
29
33
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
34
|
+
/**
|
|
35
|
+
* How long the height change and the chevron take. One constant for both, so
|
|
36
|
+
* the panel and the arrow that describes it finish together.
|
|
37
|
+
*/
|
|
38
|
+
const TRANSITION_DURATION = 200;
|
|
30
39
|
const accordionVariants = tv({
|
|
31
40
|
slots: {
|
|
32
41
|
root: 'w-full flex-col overflow-hidden',
|
|
@@ -99,6 +108,7 @@ const AccordionRoot = /*#__PURE__*/forwardRef(({
|
|
|
99
108
|
children,
|
|
100
109
|
...props
|
|
101
110
|
}, ref) => {
|
|
111
|
+
const reducedMotion = useReducedMotion();
|
|
102
112
|
const [internal, setInternal] = useState(() => toArray(defaultValue));
|
|
103
113
|
const isControlled = value !== undefined;
|
|
104
114
|
const expanded = isControlled ? toArray(value) : internal;
|
|
@@ -125,8 +135,12 @@ const AccordionRoot = /*#__PURE__*/forwardRef(({
|
|
|
125
135
|
return /*#__PURE__*/_jsx(AccordionContext.Provider, {
|
|
126
136
|
value: context,
|
|
127
137
|
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
128
|
-
ref: ref
|
|
129
|
-
layout:
|
|
138
|
+
ref: ref
|
|
139
|
+
// Dropping the layout animation is what honours Reduce Motion here:
|
|
140
|
+
// the section still opens, it just arrives at its new height rather
|
|
141
|
+
// than travelling to it.
|
|
142
|
+
,
|
|
143
|
+
layout: reducedMotion ? undefined : LinearTransition.duration(TRANSITION_DURATION),
|
|
130
144
|
className: root({
|
|
131
145
|
className
|
|
132
146
|
}),
|
|
@@ -151,6 +165,7 @@ const AccordionItem = /*#__PURE__*/forwardRef(({
|
|
|
151
165
|
expanded,
|
|
152
166
|
variant
|
|
153
167
|
} = useAccordion('Accordion.Item');
|
|
168
|
+
const reducedMotion = useReducedMotion();
|
|
154
169
|
const isExpanded = expanded.includes(value);
|
|
155
170
|
const {
|
|
156
171
|
item
|
|
@@ -166,7 +181,7 @@ const AccordionItem = /*#__PURE__*/forwardRef(({
|
|
|
166
181
|
value: context,
|
|
167
182
|
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
168
183
|
ref: ref,
|
|
169
|
-
layout: LinearTransition.duration(
|
|
184
|
+
layout: reducedMotion ? undefined : LinearTransition.duration(TRANSITION_DURATION),
|
|
170
185
|
className: item({
|
|
171
186
|
className
|
|
172
187
|
}),
|
|
@@ -234,12 +249,16 @@ const AccordionIndicator = /*#__PURE__*/forwardRef(({
|
|
|
234
249
|
} = accordionVariants({
|
|
235
250
|
variant
|
|
236
251
|
});
|
|
237
|
-
const
|
|
238
|
-
|
|
239
|
-
|
|
252
|
+
const reducedMotion = useReducedMotion();
|
|
253
|
+
const progress = useSharedValue(isExpanded ? 1 : 0);
|
|
254
|
+
useEffect(() => {
|
|
255
|
+
progress.value = reducedMotion ? isExpanded ? 1 : 0 : withTiming(isExpanded ? 1 : 0, {
|
|
256
|
+
duration: TRANSITION_DURATION
|
|
257
|
+
});
|
|
258
|
+
}, [isExpanded, reducedMotion, progress]);
|
|
240
259
|
const style = useAnimatedStyle(() => ({
|
|
241
260
|
transform: [{
|
|
242
|
-
rotate: `${
|
|
261
|
+
rotate: `${progress.value * 180}deg`
|
|
243
262
|
}]
|
|
244
263
|
}));
|
|
245
264
|
return /*#__PURE__*/_jsx(Animated.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Children","createContext","forwardRef","isValidElement","useCallback","useContext","useMemo","useState","Pressable","View","Animated","LinearTransition","useAnimatedStyle","
|
|
1
|
+
{"version":3,"names":["Children","createContext","forwardRef","isValidElement","useCallback","useContext","useEffect","useMemo","useState","Pressable","View","Animated","LinearTransition","useAnimatedStyle","useReducedMotion","useSharedValue","withTiming","tv","ChevronDownIcon","Text","textChildren","jsx","_jsx","jsxs","_jsxs","TRANSITION_DURATION","accordionVariants","slots","root","separator","item","trigger","title","indicator","content","contentText","variants","variant","default","surface","separated","bordered","ghost","defaultVariants","AccordionContext","AccordionItemContext","useAccordion","component","context","Error","useAccordionItem","toArray","value","undefined","Array","isArray","AccordionRoot","className","selectionMode","defaultValue","onValueChange","hideSeparator","keepMounted","children","props","ref","reducedMotion","internal","setInternal","isControlled","expanded","toggle","itemValue","isOpen","includes","next","filter","entry","items","Provider","layout","duration","map","child","index","length","key","displayName","AccordionItem","isDisabled","isExpanded","AccordionTrigger","accessibilityRole","accessibilityState","disabled","onPress","text","AccordionIndicator","progress","style","transform","rotate","size","AccordionContent","keepMountedDefault","stayMounted","isHidden","display","accessibilityElementsHidden","importantForAccessibility","AccordionTitle","Accordion","Object","assign","Item","Trigger","Title","Indicator","Content"],"sourceRoot":"../../../../src","sources":["components/accordion/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
14
14
|
const buttonVariants = tv({
|
|
15
15
|
slots: {
|
|
16
16
|
root: 'flex-row items-center justify-center gap-2 rounded-lg border border-transparent',
|
|
17
|
-
label
|
|
17
|
+
// Let a constrained label wrap, and centre every line of an action name.
|
|
18
|
+
// An explicit Tailwind text step would also impose a fixed line height,
|
|
19
|
+
// which can be shorter than the glyphs after Dynamic Type scales them.
|
|
20
|
+
label: 'min-w-0 shrink text-center font-medium',
|
|
18
21
|
spinner: ''
|
|
19
22
|
},
|
|
20
23
|
variants: {
|
|
@@ -52,18 +55,22 @@ const buttonVariants = tv({
|
|
|
52
55
|
}
|
|
53
56
|
},
|
|
54
57
|
size: {
|
|
58
|
+
// These padding + intrinsic-font pairs equal the old 36/44/48dp boxes
|
|
59
|
+
// at the default scale. `min-h-*`, rather than `h-*`, lets the same box
|
|
60
|
+
// grow when the label's system-scaled glyphs or wrapped lines need it.
|
|
55
61
|
sm: {
|
|
56
|
-
root: 'h-9 min-w-9 gap-1.5 px-2.5',
|
|
57
|
-
label: 'text-
|
|
62
|
+
root: 'min-h-9 min-w-9 gap-1.5 px-2.5 py-2',
|
|
63
|
+
label: 'text-[14px]'
|
|
58
64
|
},
|
|
59
65
|
md: {
|
|
60
|
-
root: 'h-11 min-w-11 px-4',
|
|
61
|
-
label: 'text-
|
|
66
|
+
root: 'min-h-11 min-w-11 px-4 py-2.5',
|
|
67
|
+
label: 'text-[16px]'
|
|
62
68
|
},
|
|
63
69
|
lg: {
|
|
64
|
-
root: 'h-12 px-6',
|
|
65
|
-
label: 'text-
|
|
70
|
+
root: 'min-h-12 px-6 py-2.5',
|
|
71
|
+
label: 'text-[18px]'
|
|
66
72
|
},
|
|
73
|
+
// Icon-only controls have no scalable label, so their square is stable.
|
|
67
74
|
icon: {
|
|
68
75
|
root: 'h-11 w-11 px-0'
|
|
69
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","forwardRef","useContext","View","tv","useCSSVariable","AnimatedPressable","Text","textChildren","cn","IconColorProvider","getNativeUI","getSwiftUIModifiers","Spinner","jsx","_jsx","jsxs","_jsxs","buttonVariants","slots","root","label","spinner","variants","variant","primary","secondary","outline","ghost","destructive","social","size","sm","md","lg","icon","fullWidth","true","disabled","defaultVariants","ButtonGroupContext","ButtonGroupProvider","value","children","Provider","useButtonGroup","ATTACHED","SPINNER_SIZE","BUTTON_HIT_SLOP","CONTENT_COLOR_VAR","NATIVE_HEIGHT","NATIVE_ICON_PADDING","NATIVE_ICON_FRAME","NATIVE_CONTROL_SIZE","NATIVE_VARIANT","Button","className","labelClassName","loading","startContent","endContent","native","glass","props","ref","isDisabled","nativeUI","group","attached","resolvedVariant","resolvedSize","themedColor","contentColor","undefined","Host","NativeButton","RNHostView","isStringLabel","prominent","swiftUI","nativeModifiers","buttonStyle","buttonBorderShape","controlSize","filter","Boolean","nativeContent","matchContents","style","width","height","modifiers","length","onPress","padding","alignItems","justifyContent","color","text","accessibilityRole","accessibilityState","busy","hitSlop","pressScale","displayName"],"sourceRoot":"../../../../src","sources":["components/button/index.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,UAAU,QAAwB,OAAO;AAC7E,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,EAAE,QAA2B,mBAAmB;AACzD,SAASC,cAAc,QAAQ,SAAS;AACxC,SACEC,iBAAiB,QAEZ,wCAAqC;AAC5C,SAASC,IAAI,EAAEC,YAAY,QAAQ,0BAAuB;AAC1D,SAASC,EAAE,QAAQ,mBAAgB;AACnC,SAASC,iBAAiB,QAAQ,sBAAa;AAC/C,SAASC,WAAW,EAAEC,mBAAmB,QAAQ,uBAAc;AAC/D,SAASC,OAAO,QAAQ,qBAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAErC,MAAMC,cAAc,GAAGd,EAAE,CAAC;EACxBe,KAAK,EAAE;IACLC,IAAI,EAAE,iFAAiF;
|
|
1
|
+
{"version":3,"names":["createContext","forwardRef","useContext","View","tv","useCSSVariable","AnimatedPressable","Text","textChildren","cn","IconColorProvider","getNativeUI","getSwiftUIModifiers","Spinner","jsx","_jsx","jsxs","_jsxs","buttonVariants","slots","root","label","spinner","variants","variant","primary","secondary","outline","ghost","destructive","social","size","sm","md","lg","icon","fullWidth","true","disabled","defaultVariants","ButtonGroupContext","ButtonGroupProvider","value","children","Provider","useButtonGroup","ATTACHED","SPINNER_SIZE","BUTTON_HIT_SLOP","CONTENT_COLOR_VAR","NATIVE_HEIGHT","NATIVE_ICON_PADDING","NATIVE_ICON_FRAME","NATIVE_CONTROL_SIZE","NATIVE_VARIANT","Button","className","labelClassName","loading","startContent","endContent","native","glass","props","ref","isDisabled","nativeUI","group","attached","resolvedVariant","resolvedSize","themedColor","contentColor","undefined","Host","NativeButton","RNHostView","isStringLabel","prominent","swiftUI","nativeModifiers","buttonStyle","buttonBorderShape","controlSize","filter","Boolean","nativeContent","matchContents","style","width","height","modifiers","length","onPress","padding","alignItems","justifyContent","color","text","accessibilityRole","accessibilityState","busy","hitSlop","pressScale","displayName"],"sourceRoot":"../../../../src","sources":["components/button/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Collapsible — one section of content that a header shows and hides.
|
|
5
|
+
*
|
|
6
|
+
* ```tsx
|
|
7
|
+
* <Collapsible variant="surface">
|
|
8
|
+
* <Collapsible.Trigger>
|
|
9
|
+
* Delivery options
|
|
10
|
+
* <Collapsible.Indicator />
|
|
11
|
+
* </Collapsible.Trigger>
|
|
12
|
+
* <Collapsible.Content>
|
|
13
|
+
* <Text>Anything, of any height.</Text>
|
|
14
|
+
* </Collapsible.Content>
|
|
15
|
+
* </Collapsible>
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* ## Why this and not a one-item Accordion
|
|
19
|
+
*
|
|
20
|
+
* The two look the same and differ in what happens to the body when it closes.
|
|
21
|
+
* An accordion unmounts it, which is right when a closed section should cost
|
|
22
|
+
* nothing and there is nothing inside worth keeping.
|
|
23
|
+
*
|
|
24
|
+
* This one keeps the body mounted and animates its height, so what is inside
|
|
25
|
+
* survives being closed — a part-filled form still has what was typed into it,
|
|
26
|
+
* a list is still scrolled to where it was, a video is still part-way through.
|
|
27
|
+
* That is the case this component exists for; reach for `Accordion` when
|
|
28
|
+
* sections are mutually exclusive or the body is expensive and rarely opened.
|
|
29
|
+
*
|
|
30
|
+
* ## The body is mounted whether or not it is open
|
|
31
|
+
*
|
|
32
|
+
* A height cannot be animated from `auto`, so the content has to be measured
|
|
33
|
+
* before it can be travelled to, and measuring it means rendering it. There is
|
|
34
|
+
* no lazy version of that: a body that has never been opened has still been
|
|
35
|
+
* rendered once. For a body heavy enough that this matters, an `Accordion` with
|
|
36
|
+
* a single item unmounts it instead.
|
|
37
|
+
*
|
|
38
|
+
* ## Reduced motion
|
|
39
|
+
*
|
|
40
|
+
* With the operating system set to reduce motion the panel snaps between its
|
|
41
|
+
* two states and the chevron turns without travelling. The disclosure still
|
|
42
|
+
* happens — it is the movement that is dropped, not the change.
|
|
43
|
+
*/
|
|
44
|
+
import { createContext, forwardRef, useCallback, useContext, useEffect, useMemo, useState } from 'react';
|
|
45
|
+
import { Pressable, View } from 'react-native';
|
|
46
|
+
import Animated, { useAnimatedStyle, useReducedMotion, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
47
|
+
import { tv } from 'tailwind-variants';
|
|
48
|
+
import { ChevronDownIcon } from "../../icons/index.js";
|
|
49
|
+
import { Collapse } from "../../primitives/collapse.js";
|
|
50
|
+
import { Text, textChildren } from "../../primitives/text.js";
|
|
51
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
52
|
+
/** Matches the chevron in `Accordion`, so the two read as the same control. */
|
|
53
|
+
const INDICATOR_DURATION = 200;
|
|
54
|
+
const collapsibleVariants = tv({
|
|
55
|
+
slots: {
|
|
56
|
+
root: 'w-full flex-col',
|
|
57
|
+
trigger: 'flex-row items-center justify-between gap-4 py-4',
|
|
58
|
+
title: 'flex-1 text-base font-medium text-foreground',
|
|
59
|
+
indicator: 'items-center justify-center',
|
|
60
|
+
content: 'pb-4',
|
|
61
|
+
contentText: 'text-sm text-muted-foreground'
|
|
62
|
+
},
|
|
63
|
+
variants: {
|
|
64
|
+
variant: {
|
|
65
|
+
default: {
|
|
66
|
+
trigger: 'px-1',
|
|
67
|
+
content: 'px-1'
|
|
68
|
+
},
|
|
69
|
+
surface: {
|
|
70
|
+
root: 'overflow-hidden rounded-2xl border border-border bg-surface',
|
|
71
|
+
trigger: 'px-4',
|
|
72
|
+
content: 'px-4'
|
|
73
|
+
},
|
|
74
|
+
ghost: {
|
|
75
|
+
trigger: 'px-0',
|
|
76
|
+
content: 'px-0'
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
defaultVariants: {
|
|
81
|
+
variant: 'default'
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
const CollapsibleContext = /*#__PURE__*/createContext(null);
|
|
85
|
+
function useCollapsible(component) {
|
|
86
|
+
const context = useContext(CollapsibleContext);
|
|
87
|
+
if (!context) throw new Error(`${component} must be used within a <Collapsible>`);
|
|
88
|
+
return context;
|
|
89
|
+
}
|
|
90
|
+
const CollapsibleRoot = /*#__PURE__*/forwardRef(({
|
|
91
|
+
className,
|
|
92
|
+
variant = 'default',
|
|
93
|
+
open,
|
|
94
|
+
defaultOpen = false,
|
|
95
|
+
onOpenChange,
|
|
96
|
+
isDisabled = false,
|
|
97
|
+
children,
|
|
98
|
+
...props
|
|
99
|
+
}, ref) => {
|
|
100
|
+
const [internal, setInternal] = useState(defaultOpen);
|
|
101
|
+
const isControlled = open !== undefined;
|
|
102
|
+
const isOpen = isControlled ? open : internal;
|
|
103
|
+
const toggle = useCallback(() => {
|
|
104
|
+
const next = !isOpen;
|
|
105
|
+
if (!isControlled) setInternal(next);
|
|
106
|
+
onOpenChange?.(next);
|
|
107
|
+
}, [isOpen, isControlled, onOpenChange]);
|
|
108
|
+
const context = useMemo(() => ({
|
|
109
|
+
open: isOpen,
|
|
110
|
+
toggle,
|
|
111
|
+
isDisabled,
|
|
112
|
+
variant
|
|
113
|
+
}), [isOpen, toggle, isDisabled, variant]);
|
|
114
|
+
const {
|
|
115
|
+
root
|
|
116
|
+
} = collapsibleVariants({
|
|
117
|
+
variant
|
|
118
|
+
});
|
|
119
|
+
return /*#__PURE__*/_jsx(CollapsibleContext.Provider, {
|
|
120
|
+
value: context,
|
|
121
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
122
|
+
ref: ref,
|
|
123
|
+
className: root({
|
|
124
|
+
className
|
|
125
|
+
}),
|
|
126
|
+
...props,
|
|
127
|
+
children: children
|
|
128
|
+
})
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
CollapsibleRoot.displayName = 'Collapsible';
|
|
132
|
+
/** The pressable header row. Bare strings are wrapped in the title style. */
|
|
133
|
+
const CollapsibleTrigger = /*#__PURE__*/forwardRef(({
|
|
134
|
+
className,
|
|
135
|
+
children,
|
|
136
|
+
...props
|
|
137
|
+
}, ref) => {
|
|
138
|
+
const {
|
|
139
|
+
open,
|
|
140
|
+
toggle,
|
|
141
|
+
isDisabled,
|
|
142
|
+
variant
|
|
143
|
+
} = useCollapsible('Collapsible.Trigger');
|
|
144
|
+
const {
|
|
145
|
+
trigger,
|
|
146
|
+
title
|
|
147
|
+
} = collapsibleVariants({
|
|
148
|
+
variant
|
|
149
|
+
});
|
|
150
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
151
|
+
ref: ref,
|
|
152
|
+
accessibilityRole: "button",
|
|
153
|
+
accessibilityState: {
|
|
154
|
+
expanded: open,
|
|
155
|
+
disabled: isDisabled
|
|
156
|
+
},
|
|
157
|
+
disabled: isDisabled,
|
|
158
|
+
onPress: toggle,
|
|
159
|
+
className: trigger({
|
|
160
|
+
className
|
|
161
|
+
}),
|
|
162
|
+
...props,
|
|
163
|
+
children: textChildren(children, text => /*#__PURE__*/_jsx(Text, {
|
|
164
|
+
className: title(),
|
|
165
|
+
children: text
|
|
166
|
+
}))
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
CollapsibleTrigger.displayName = 'Collapsible.Trigger';
|
|
170
|
+
const CollapsibleTitle = /*#__PURE__*/forwardRef(({
|
|
171
|
+
className,
|
|
172
|
+
...props
|
|
173
|
+
}, ref) => {
|
|
174
|
+
const {
|
|
175
|
+
variant
|
|
176
|
+
} = useCollapsible('Collapsible.Title');
|
|
177
|
+
const {
|
|
178
|
+
title
|
|
179
|
+
} = collapsibleVariants({
|
|
180
|
+
variant
|
|
181
|
+
});
|
|
182
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
183
|
+
ref: ref,
|
|
184
|
+
className: title({
|
|
185
|
+
className
|
|
186
|
+
}),
|
|
187
|
+
...props
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
CollapsibleTitle.displayName = 'Collapsible.Title';
|
|
191
|
+
/** Chevron that rotates 180° while the body is open. */
|
|
192
|
+
const CollapsibleIndicator = /*#__PURE__*/forwardRef(({
|
|
193
|
+
className,
|
|
194
|
+
children,
|
|
195
|
+
...props
|
|
196
|
+
}, ref) => {
|
|
197
|
+
const {
|
|
198
|
+
open,
|
|
199
|
+
variant
|
|
200
|
+
} = useCollapsible('Collapsible.Indicator');
|
|
201
|
+
const {
|
|
202
|
+
indicator
|
|
203
|
+
} = collapsibleVariants({
|
|
204
|
+
variant
|
|
205
|
+
});
|
|
206
|
+
const reducedMotion = useReducedMotion();
|
|
207
|
+
const progress = useSharedValue(open ? 1 : 0);
|
|
208
|
+
useEffect(() => {
|
|
209
|
+
progress.value = reducedMotion ? open ? 1 : 0 : withTiming(open ? 1 : 0, {
|
|
210
|
+
duration: INDICATOR_DURATION
|
|
211
|
+
});
|
|
212
|
+
}, [open, reducedMotion, progress]);
|
|
213
|
+
const style = useAnimatedStyle(() => ({
|
|
214
|
+
transform: [{
|
|
215
|
+
rotate: `${progress.value * 180}deg`
|
|
216
|
+
}]
|
|
217
|
+
}));
|
|
218
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
219
|
+
style: style,
|
|
220
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
221
|
+
ref: ref,
|
|
222
|
+
className: indicator({
|
|
223
|
+
className
|
|
224
|
+
}),
|
|
225
|
+
...props,
|
|
226
|
+
children: children ?? /*#__PURE__*/_jsx(ChevronDownIcon, {
|
|
227
|
+
size: 18
|
|
228
|
+
})
|
|
229
|
+
})
|
|
230
|
+
});
|
|
231
|
+
});
|
|
232
|
+
CollapsibleIndicator.displayName = 'Collapsible.Indicator';
|
|
233
|
+
/**
|
|
234
|
+
* The body, opened and closed by animating its own height.
|
|
235
|
+
*
|
|
236
|
+
* It stays mounted while closed, which is the point of the component — see the
|
|
237
|
+
* note at the top of the file. A closed body is hidden from the accessibility
|
|
238
|
+
* tree as well as from the eye, because a screen reader reading out a section
|
|
239
|
+
* that is not on screen is worse than one that skips it.
|
|
240
|
+
*/
|
|
241
|
+
const CollapsibleContent = /*#__PURE__*/forwardRef(({
|
|
242
|
+
className,
|
|
243
|
+
children,
|
|
244
|
+
...props
|
|
245
|
+
}, ref) => {
|
|
246
|
+
const {
|
|
247
|
+
open,
|
|
248
|
+
variant
|
|
249
|
+
} = useCollapsible('Collapsible.Content');
|
|
250
|
+
const {
|
|
251
|
+
content,
|
|
252
|
+
contentText
|
|
253
|
+
} = collapsibleVariants({
|
|
254
|
+
variant
|
|
255
|
+
});
|
|
256
|
+
return /*#__PURE__*/_jsx(Collapse, {
|
|
257
|
+
open: open,
|
|
258
|
+
className: content({
|
|
259
|
+
className
|
|
260
|
+
}),
|
|
261
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
262
|
+
ref: ref,
|
|
263
|
+
accessibilityElementsHidden: !open,
|
|
264
|
+
importantForAccessibility: open ? 'auto' : 'no-hide-descendants',
|
|
265
|
+
...props,
|
|
266
|
+
children: textChildren(children, text => /*#__PURE__*/_jsx(Text, {
|
|
267
|
+
className: contentText(),
|
|
268
|
+
children: text
|
|
269
|
+
}))
|
|
270
|
+
})
|
|
271
|
+
});
|
|
272
|
+
});
|
|
273
|
+
CollapsibleContent.displayName = 'Collapsible.Content';
|
|
274
|
+
export const Collapsible = Object.assign(CollapsibleRoot, {
|
|
275
|
+
Trigger: CollapsibleTrigger,
|
|
276
|
+
Title: CollapsibleTitle,
|
|
277
|
+
Indicator: CollapsibleIndicator,
|
|
278
|
+
Content: CollapsibleContent
|
|
279
|
+
});
|
|
280
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","forwardRef","useCallback","useContext","useEffect","useMemo","useState","Pressable","View","Animated","useAnimatedStyle","useReducedMotion","useSharedValue","withTiming","tv","ChevronDownIcon","Collapse","Text","textChildren","jsx","_jsx","INDICATOR_DURATION","collapsibleVariants","slots","root","trigger","title","indicator","content","contentText","variants","variant","default","surface","ghost","defaultVariants","CollapsibleContext","useCollapsible","component","context","Error","CollapsibleRoot","className","open","defaultOpen","onOpenChange","isDisabled","children","props","ref","internal","setInternal","isControlled","undefined","isOpen","toggle","next","Provider","value","displayName","CollapsibleTrigger","accessibilityRole","accessibilityState","expanded","disabled","onPress","text","CollapsibleTitle","CollapsibleIndicator","reducedMotion","progress","duration","style","transform","rotate","size","CollapsibleContent","accessibilityElementsHidden","importantForAccessibility","Collapsible","Object","assign","Trigger","Title","Indicator","Content"],"sourceRoot":"../../../../src","sources":["components/collapsible/index.tsx"],"mappings":"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","ignoreList":[]}
|