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.
Files changed (93) hide show
  1. package/README.md +12 -2
  2. package/lib/module/components/accordion/index.js +28 -9
  3. package/lib/module/components/accordion/index.js.map +1 -1
  4. package/lib/module/components/button/index.js +14 -7
  5. package/lib/module/components/button/index.js.map +1 -1
  6. package/lib/module/components/collapsible/index.js +280 -0
  7. package/lib/module/components/collapsible/index.js.map +1 -0
  8. package/lib/module/components/flow/index.js +66 -3
  9. package/lib/module/components/flow/index.js.map +1 -1
  10. package/lib/module/components/live-line-chart/index.js +103 -9
  11. package/lib/module/components/live-line-chart/index.js.map +1 -1
  12. package/lib/module/components/live-line-chart/live-line-accessibility.js +47 -0
  13. package/lib/module/components/live-line-chart/live-line-accessibility.js.map +1 -0
  14. package/lib/module/components/live-line-chart/live-line-lifecycle.js +33 -0
  15. package/lib/module/components/live-line-chart/live-line-lifecycle.js.map +1 -0
  16. package/lib/module/components/marquee/index.js +194 -0
  17. package/lib/module/components/marquee/index.js.map +1 -0
  18. package/lib/module/components/meter/index.js +38 -20
  19. package/lib/module/components/meter/index.js.map +1 -1
  20. package/lib/module/components/meter/meter-scale.js +62 -8
  21. package/lib/module/components/meter/meter-scale.js.map +1 -1
  22. package/lib/module/components/planner/index.js +133 -59
  23. package/lib/module/components/planner/index.js.map +1 -1
  24. package/lib/module/components/planner/planner-announcement.js +30 -0
  25. package/lib/module/components/planner/planner-announcement.js.map +1 -0
  26. package/lib/module/components/planner/planner-entries.js +15 -7
  27. package/lib/module/components/planner/planner-entries.js.map +1 -1
  28. package/lib/module/components/planner/planner-grid-navigation.js +33 -0
  29. package/lib/module/components/planner/planner-grid-navigation.js.map +1 -0
  30. package/lib/module/components/planner/planner-lifecycle.js +45 -0
  31. package/lib/module/components/planner/planner-lifecycle.js.map +1 -0
  32. package/lib/module/components/popover/index.js +2 -2
  33. package/lib/module/components/popover/index.js.map +1 -1
  34. package/lib/module/index.js +2 -0
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/primitives/focus-restoration-store.js +52 -0
  37. package/lib/module/primitives/focus-restoration-store.js.map +1 -0
  38. package/lib/module/primitives/portal.js +36 -2
  39. package/lib/module/primitives/portal.js.map +1 -1
  40. package/lib/typescript/src/components/accordion/index.d.ts +4 -0
  41. package/lib/typescript/src/components/accordion/index.d.ts.map +1 -1
  42. package/lib/typescript/src/components/button/index.d.ts.map +1 -1
  43. package/lib/typescript/src/components/collapsible/index.d.ts +76 -0
  44. package/lib/typescript/src/components/collapsible/index.d.ts.map +1 -0
  45. package/lib/typescript/src/components/flow/index.d.ts +7 -1
  46. package/lib/typescript/src/components/flow/index.d.ts.map +1 -1
  47. package/lib/typescript/src/components/live-line-chart/index.d.ts +21 -7
  48. package/lib/typescript/src/components/live-line-chart/index.d.ts.map +1 -1
  49. package/lib/typescript/src/components/live-line-chart/live-line-accessibility.d.ts +22 -0
  50. package/lib/typescript/src/components/live-line-chart/live-line-accessibility.d.ts.map +1 -0
  51. package/lib/typescript/src/components/live-line-chart/live-line-lifecycle.d.ts +23 -0
  52. package/lib/typescript/src/components/live-line-chart/live-line-lifecycle.d.ts.map +1 -0
  53. package/lib/typescript/src/components/marquee/index.d.ts +73 -0
  54. package/lib/typescript/src/components/marquee/index.d.ts.map +1 -0
  55. package/lib/typescript/src/components/meter/index.d.ts +7 -4
  56. package/lib/typescript/src/components/meter/index.d.ts.map +1 -1
  57. package/lib/typescript/src/components/meter/meter-scale.d.ts +39 -0
  58. package/lib/typescript/src/components/meter/meter-scale.d.ts.map +1 -1
  59. package/lib/typescript/src/components/planner/index.d.ts.map +1 -1
  60. package/lib/typescript/src/components/planner/planner-announcement.d.ts +15 -0
  61. package/lib/typescript/src/components/planner/planner-announcement.d.ts.map +1 -0
  62. package/lib/typescript/src/components/planner/planner-entries.d.ts +1 -1
  63. package/lib/typescript/src/components/planner/planner-entries.d.ts.map +1 -1
  64. package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts +4 -0
  65. package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts.map +1 -0
  66. package/lib/typescript/src/components/planner/planner-lifecycle.d.ts +20 -0
  67. package/lib/typescript/src/components/planner/planner-lifecycle.d.ts.map +1 -0
  68. package/lib/typescript/src/index.d.ts +2 -0
  69. package/lib/typescript/src/index.d.ts.map +1 -1
  70. package/lib/typescript/src/primitives/focus-restoration-store.d.ts +24 -0
  71. package/lib/typescript/src/primitives/focus-restoration-store.d.ts.map +1 -0
  72. package/lib/typescript/src/primitives/portal.d.ts +4 -0
  73. package/lib/typescript/src/primitives/portal.d.ts.map +1 -1
  74. package/package.json +36 -3
  75. package/src/components/accordion/index.tsx +31 -8
  76. package/src/components/button/index.tsx +11 -4
  77. package/src/components/collapsible/index.tsx +278 -0
  78. package/src/components/flow/index.tsx +93 -14
  79. package/src/components/live-line-chart/index.tsx +130 -13
  80. package/src/components/live-line-chart/live-line-accessibility.ts +61 -0
  81. package/src/components/live-line-chart/live-line-lifecycle.ts +63 -0
  82. package/src/components/marquee/index.tsx +232 -0
  83. package/src/components/meter/index.tsx +49 -26
  84. package/src/components/meter/meter-scale.ts +84 -8
  85. package/src/components/planner/index.tsx +182 -71
  86. package/src/components/planner/planner-announcement.ts +37 -0
  87. package/src/components/planner/planner-entries.ts +16 -7
  88. package/src/components/planner/planner-grid-navigation.ts +45 -0
  89. package/src/components/planner/planner-lifecycle.ts +76 -0
  90. package/src/components/popover/index.tsx +3 -3
  91. package/src/index.ts +13 -0
  92. package/src/primitives/focus-restoration-store.ts +70 -0
  93. 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. 107 typed components — buttons, bottom sheets, dialogs, selects,
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, useDerivedValue, withTiming } from 'react-native-reanimated';
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: LinearTransition.duration(200),
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(200),
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 rotation = useDerivedValue(() => withTiming(isExpanded ? 180 : 0, {
238
- duration: 200
239
- }), [isExpanded]);
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: `${rotation.value}deg`
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","useDerivedValue","withTiming","tv","ChevronDownIcon","Text","textChildren","jsx","_jsx","jsxs","_jsxs","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","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","rotation","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":[]}
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: 'font-medium',
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-sm'
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-base'
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-lg'
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":"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","ignoreList":[]}
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":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACEA,aAAa,EACbC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,QAAQ,QAEH,OAAO;AACd,SAASC,SAAS,EAAEC,IAAI,QAA6C,cAAc;AACnF,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,QACL,yBAAyB;AAChC,SAASC,EAAE,QAAQ,mBAAmB;AACtC,SAASC,eAAe,QAAQ,sBAAa;AAC7C,SAASC,QAAQ,QAAQ,8BAA2B;AACpD,SAASC,IAAI,EAAkBC,YAAY,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAI3E;AACA,MAAMC,kBAAkB,GAAG,GAAG;AAE9B,MAAMC,mBAAmB,GAAGR,EAAE,CAAC;EAC7BS,KAAK,EAAE;IACLC,IAAI,EAAE,iBAAiB;IACvBC,OAAO,EAAE,kDAAkD;IAC3DC,KAAK,EAAE,8CAA8C;IACrDC,SAAS,EAAE,6BAA6B;IACxCC,OAAO,EAAE,MAAM;IACfC,WAAW,EAAE;EACf,CAAC;EACDC,QAAQ,EAAE;IACRC,OAAO,EAAE;MACPC,OAAO,EAAE;QAAEP,OAAO,EAAE,MAAM;QAAEG,OAAO,EAAE;MAAO,CAAC;MAC7CK,OAAO,EAAE;QACPT,IAAI,EAAE,6DAA6D;QACnEC,OAAO,EAAE,MAAM;QACfG,OAAO,EAAE;MACX,CAAC;MACDM,KAAK,EAAE;QAAET,OAAO,EAAE,MAAM;QAAEG,OAAO,EAAE;MAAO;IAC5C;EACF,CAAC;EACDO,eAAe,EAAE;IACfJ,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AASF,MAAMK,kBAAkB,gBAAGpC,aAAa,CAAiC,IAAI,CAAC;AAE9E,SAASqC,cAAcA,CAACC,SAAiB,EAA2B;EAClE,MAAMC,OAAO,GAAGpC,UAAU,CAACiC,kBAAkB,CAAC;EAC9C,IAAI,CAACG,OAAO,EAAE,MAAM,IAAIC,KAAK,CAAC,GAAGF,SAAS,sCAAsC,CAAC;EACjF,OAAOC,OAAO;AAChB;AAcA,MAAME,eAAe,gBAAGxC,UAAU,CAChC,CACE;EACEyC,SAAS;EACTX,OAAO,GAAG,SAAS;EACnBY,IAAI;EACJC,WAAW,GAAG,KAAK;EACnBC,YAAY;EACZC,UAAU,GAAG,KAAK;EAClBC,QAAQ;EACR,GAAGC;AACL,CAAC,EACDC,GAAG,KACA;EACH,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG7C,QAAQ,CAACsC,WAAW,CAAC;EACrD,MAAMQ,YAAY,GAAGT,IAAI,KAAKU,SAAS;EACvC,MAAMC,MAAM,GAAGF,YAAY,GAAGT,IAAI,GAAGO,QAAQ;EAE7C,MAAMK,MAAM,GAAGrD,WAAW,CAAC,MAAM;IAC/B,MAAMsD,IAAI,GAAG,CAACF,MAAM;IACpB,IAAI,CAACF,YAAY,EAAED,WAAW,CAACK,IAAI,CAAC;IACpCX,YAAY,GAAGW,IAAI,CAAC;EACtB,CAAC,EAAE,CAACF,MAAM,EAAEF,YAAY,EAAEP,YAAY,CAAC,CAAC;EAExC,MAAMN,OAAO,GAAGlC,OAAO,CACrB,OAAO;IAAEsC,IAAI,EAAEW,MAAM;IAAEC,MAAM;IAAET,UAAU;IAAEf;EAAQ,CAAC,CAAC,EACrD,CAACuB,MAAM,EAAEC,MAAM,EAAET,UAAU,EAAEf,OAAO,CACtC,CAAC;EAED,MAAM;IAAEP;EAAK,CAAC,GAAGF,mBAAmB,CAAC;IAAES;EAAQ,CAAC,CAAC;EAEjD,oBACEX,IAAA,CAACgB,kBAAkB,CAACqB,QAAQ;IAACC,KAAK,EAAEnB,OAAQ;IAAAQ,QAAA,eAC1C3B,IAAA,CAACZ,IAAI;MAACyC,GAAG,EAAEA,GAAI;MAACP,SAAS,EAAElB,IAAI,CAAC;QAAEkB;MAAU,CAAC,CAAE;MAAA,GAAKM,KAAK;MAAAD,QAAA,EACtDA;IAAQ,CACL;EAAC,CACoB,CAAC;AAElC,CACF,CAAC;AACDN,eAAe,CAACkB,WAAW,GAAG,aAAa;AAO3C;AACA,MAAMC,kBAAkB,gBAAG3D,UAAU,CACnC,CAAC;EAAEyC,SAAS;EAAEK,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAC1C,MAAM;IAAEN,IAAI;IAAEY,MAAM;IAAET,UAAU;IAAEf;EAAQ,CAAC,GAAGM,cAAc,CAAC,qBAAqB,CAAC;EACnF,MAAM;IAAEZ,OAAO;IAAEC;EAAM,CAAC,GAAGJ,mBAAmB,CAAC;IAAES;EAAQ,CAAC,CAAC;EAE3D,oBACEX,IAAA,CAACb,SAAS;IACR0C,GAAG,EAAEA,GAAI;IACTY,iBAAiB,EAAC,QAAQ;IAC1BC,kBAAkB,EAAE;MAAEC,QAAQ,EAAEpB,IAAI;MAAEqB,QAAQ,EAAElB;IAAW,CAAE;IAC7DkB,QAAQ,EAAElB,UAAW;IACrBmB,OAAO,EAAEV,MAAO;IAChBb,SAAS,EAAEjB,OAAO,CAAC;MAAEiB;IAAU,CAAC,CAAE;IAAA,GAC9BM,KAAK;IAAAD,QAAA,EAER7B,YAAY,CAAC6B,QAAQ,EAAGmB,IAAI,iBAC3B9C,IAAA,CAACH,IAAI;MAACyB,SAAS,EAAEhB,KAAK,CAAC,CAAE;MAAAqB,QAAA,EAAEmB;IAAI,CAAO,CACvC;EAAC,CACO,CAAC;AAEhB,CACF,CAAC;AACDN,kBAAkB,CAACD,WAAW,GAAG,qBAAqB;AAEtD,MAAMQ,gBAAgB,gBAAGlE,UAAU,CAAoB,CAAC;EAAEyC,SAAS;EAAE,GAAGM;AAAM,CAAC,EAAEC,GAAG,KAAK;EACvF,MAAM;IAAElB;EAAQ,CAAC,GAAGM,cAAc,CAAC,mBAAmB,CAAC;EACvD,MAAM;IAAEX;EAAM,CAAC,GAAGJ,mBAAmB,CAAC;IAAES;EAAQ,CAAC,CAAC;EAClD,oBAAOX,IAAA,CAACH,IAAI;IAACgC,GAAG,EAAEA,GAAI;IAACP,SAAS,EAAEhB,KAAK,CAAC;MAAEgB;IAAU,CAAC,CAAE;IAAA,GAAKM;EAAK,CAAG,CAAC;AACvE,CAAC,CAAC;AACFmB,gBAAgB,CAACR,WAAW,GAAG,mBAAmB;AAQlD;AACA,MAAMS,oBAAoB,gBAAGnE,UAAU,CACrC,CAAC;EAAEyC,SAAS;EAAEK,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAC1C,MAAM;IAAEN,IAAI;IAAEZ;EAAQ,CAAC,GAAGM,cAAc,CAAC,uBAAuB,CAAC;EACjE,MAAM;IAAEV;EAAU,CAAC,GAAGL,mBAAmB,CAAC;IAAES;EAAQ,CAAC,CAAC;EACtD,MAAMsC,aAAa,GAAG1D,gBAAgB,CAAC,CAAC;EACxC,MAAM2D,QAAQ,GAAG1D,cAAc,CAAC+B,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;EAE7CvC,SAAS,CAAC,MAAM;IACdkE,QAAQ,CAACZ,KAAK,GAAGW,aAAa,GAC1B1B,IAAI,GACF,CAAC,GACD,CAAC,GACH9B,UAAU,CAAC8B,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;MAAE4B,QAAQ,EAAElD;IAAmB,CAAC,CAAC;EAChE,CAAC,EAAE,CAACsB,IAAI,EAAE0B,aAAa,EAAEC,QAAQ,CAAC,CAAC;EAEnC,MAAME,KAAK,GAAG9D,gBAAgB,CAAC,OAAO;IACpC+D,SAAS,EAAE,CAAC;MAAEC,MAAM,EAAE,GAAGJ,QAAQ,CAACZ,KAAK,GAAG,GAAG;IAAM,CAAC;EACtD,CAAC,CAAC,CAAC;EAEH,oBACEtC,IAAA,CAACX,QAAQ,CAACD,IAAI;IAACgE,KAAK,EAAEA,KAAM;IAAAzB,QAAA,eAC1B3B,IAAA,CAACZ,IAAI;MAACyC,GAAG,EAAEA,GAAI;MAACP,SAAS,EAAEf,SAAS,CAAC;QAAEe;MAAU,CAAC,CAAE;MAAA,GAAKM,KAAK;MAAAD,QAAA,EAC3DA,QAAQ,iBAAI3B,IAAA,CAACL,eAAe;QAAC4D,IAAI,EAAE;MAAG,CAAE;IAAC,CACtC;EAAC,CACM,CAAC;AAEpB,CACF,CAAC;AACDP,oBAAoB,CAACT,WAAW,GAAG,uBAAuB;AAO1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMiB,kBAAkB,gBAAG3E,UAAU,CACnC,CAAC;EAAEyC,SAAS;EAAEK,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAC1C,MAAM;IAAEN,IAAI;IAAEZ;EAAQ,CAAC,GAAGM,cAAc,CAAC,qBAAqB,CAAC;EAC/D,MAAM;IAAET,OAAO;IAAEC;EAAY,CAAC,GAAGP,mBAAmB,CAAC;IAAES;EAAQ,CAAC,CAAC;EAEjE,oBACEX,IAAA,CAACJ,QAAQ;IAAC2B,IAAI,EAAEA,IAAK;IAACD,SAAS,EAAEd,OAAO,CAAC;MAAEc;IAAU,CAAC,CAAE;IAAAK,QAAA,eACtD3B,IAAA,CAACZ,IAAI;MACHyC,GAAG,EAAEA,GAAI;MACT4B,2BAA2B,EAAE,CAAClC,IAAK;MACnCmC,yBAAyB,EAAEnC,IAAI,GAAG,MAAM,GAAG,qBAAsB;MAAA,GAC7DK,KAAK;MAAAD,QAAA,EAER7B,YAAY,CAAC6B,QAAQ,EAAGmB,IAAI,iBAC3B9C,IAAA,CAACH,IAAI;QAACyB,SAAS,EAAEb,WAAW,CAAC,CAAE;QAAAkB,QAAA,EAAEmB;MAAI,CAAO,CAC7C;IAAC,CACE;EAAC,CACC,CAAC;AAEf,CACF,CAAC;AACDU,kBAAkB,CAACjB,WAAW,GAAG,qBAAqB;AAEtD,OAAO,MAAMoB,WAAW,GAAGC,MAAM,CAACC,MAAM,CAACxC,eAAe,EAAE;EACxDyC,OAAO,EAAEtB,kBAAkB;EAC3BuB,KAAK,EAAEhB,gBAAgB;EACvBiB,SAAS,EAAEhB,oBAAoB;EAC/BiB,OAAO,EAAET;AACX,CAAC,CAAC","ignoreList":[]}