panelui-native 0.46.0 → 0.49.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 (72) hide show
  1. package/README.md +5 -1
  2. package/lib/module/components/accordion/index.js +32 -4
  3. package/lib/module/components/accordion/index.js.map +1 -1
  4. package/lib/module/components/button/index.js +83 -15
  5. package/lib/module/components/button/index.js.map +1 -1
  6. package/lib/module/components/button-group/index.js +186 -0
  7. package/lib/module/components/button-group/index.js.map +1 -0
  8. package/lib/module/components/color-picker/index.js +110 -1
  9. package/lib/module/components/color-picker/index.js.map +1 -1
  10. package/lib/module/components/date-time-picker/index.js +23 -5
  11. package/lib/module/components/date-time-picker/index.js.map +1 -1
  12. package/lib/module/components/fab/index.js +514 -0
  13. package/lib/module/components/fab/index.js.map +1 -0
  14. package/lib/module/components/markdown-editor/index.js +406 -0
  15. package/lib/module/components/markdown-editor/index.js.map +1 -0
  16. package/lib/module/components/markdown-editor/markdown-transforms.js +243 -0
  17. package/lib/module/components/markdown-editor/markdown-transforms.js.map +1 -0
  18. package/lib/module/components/questionnaire/index.js +1312 -0
  19. package/lib/module/components/questionnaire/index.js.map +1 -0
  20. package/lib/module/components/tabs/index.js +94 -18
  21. package/lib/module/components/tabs/index.js.map +1 -1
  22. package/lib/module/components/time-picker/index.js +34 -6
  23. package/lib/module/components/time-picker/index.js.map +1 -1
  24. package/lib/module/components/tree/index.js +500 -0
  25. package/lib/module/components/tree/index.js.map +1 -0
  26. package/lib/module/icons/index.js +217 -0
  27. package/lib/module/icons/index.js.map +1 -1
  28. package/lib/module/index.js +6 -1
  29. package/lib/module/index.js.map +1 -1
  30. package/lib/typescript/src/components/accordion/index.d.ts +21 -0
  31. package/lib/typescript/src/components/accordion/index.d.ts.map +1 -1
  32. package/lib/typescript/src/components/button/index.d.ts +21 -0
  33. package/lib/typescript/src/components/button/index.d.ts.map +1 -1
  34. package/lib/typescript/src/components/button-group/index.d.ts +212 -0
  35. package/lib/typescript/src/components/button-group/index.d.ts.map +1 -0
  36. package/lib/typescript/src/components/color-picker/index.d.ts +82 -1
  37. package/lib/typescript/src/components/color-picker/index.d.ts.map +1 -1
  38. package/lib/typescript/src/components/date-time-picker/index.d.ts +7 -1
  39. package/lib/typescript/src/components/date-time-picker/index.d.ts.map +1 -1
  40. package/lib/typescript/src/components/fab/index.d.ts +285 -0
  41. package/lib/typescript/src/components/fab/index.d.ts.map +1 -0
  42. package/lib/typescript/src/components/markdown-editor/index.d.ts +102 -0
  43. package/lib/typescript/src/components/markdown-editor/index.d.ts.map +1 -0
  44. package/lib/typescript/src/components/markdown-editor/markdown-transforms.d.ts +76 -0
  45. package/lib/typescript/src/components/markdown-editor/markdown-transforms.d.ts.map +1 -0
  46. package/lib/typescript/src/components/questionnaire/index.d.ts +336 -0
  47. package/lib/typescript/src/components/questionnaire/index.d.ts.map +1 -0
  48. package/lib/typescript/src/components/tabs/index.d.ts +9 -0
  49. package/lib/typescript/src/components/tabs/index.d.ts.map +1 -1
  50. package/lib/typescript/src/components/time-picker/index.d.ts +19 -1
  51. package/lib/typescript/src/components/time-picker/index.d.ts.map +1 -1
  52. package/lib/typescript/src/components/tree/index.d.ts +125 -0
  53. package/lib/typescript/src/components/tree/index.d.ts.map +1 -0
  54. package/lib/typescript/src/icons/index.d.ts +22 -0
  55. package/lib/typescript/src/icons/index.d.ts.map +1 -1
  56. package/lib/typescript/src/index.d.ts +8 -3
  57. package/lib/typescript/src/index.d.ts.map +1 -1
  58. package/package.json +1 -1
  59. package/src/components/accordion/index.tsx +48 -6
  60. package/src/components/button/index.tsx +97 -15
  61. package/src/components/button-group/index.tsx +199 -0
  62. package/src/components/color-picker/index.tsx +140 -3
  63. package/src/components/date-time-picker/index.tsx +39 -3
  64. package/src/components/fab/index.tsx +583 -0
  65. package/src/components/markdown-editor/index.tsx +526 -0
  66. package/src/components/markdown-editor/markdown-transforms.ts +228 -0
  67. package/src/components/questionnaire/index.tsx +1615 -0
  68. package/src/components/tabs/index.tsx +100 -28
  69. package/src/components/time-picker/index.tsx +42 -6
  70. package/src/components/tree/index.tsx +564 -0
  71. package/src/icons/index.tsx +154 -0
  72. package/src/index.ts +77 -1
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. 84 typed components — buttons, bottom sheets, dialogs, selects,
4
+ library for Expo apps. 92 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
 
@@ -175,6 +175,7 @@ you are done. Unstyled text on a white screen means the styles are not reaching
175
175
  | `BottomSheet` | Draggable sheet anchored to the bottom of the screen |
176
176
  | `Breadcrumb` | The trail of links back up the hierarchy to the current page |
177
177
  | `Button` | Pressable action with variants, sizes, loading state and icon slots |
178
+ | `ButtonGroup` | Several buttons drawn as one control |
178
179
  | `Calendar` | A month of days, for picking one, several, or a range |
179
180
  | `Card` | Content surface with header, body and footer |
180
181
  | `Carousel` | A run of slides, one at a time, dragged with a finger |
@@ -188,6 +189,7 @@ you are done. Unstyled text on a white screen means the styles are not reaching
188
189
  | `Direction` | Reading direction for everything below it |
189
190
  | `Drawer` | Panel that slides in from an edge of the screen |
190
191
  | `EmptyState` | Placeholder for a list or screen with no content |
192
+ | `Fab` | The floating action button, and the dial behind it |
191
193
  | `Field` | Layout and validation-state kit a form control composes into |
192
194
  | `Flow` | Pan-and-zoom canvas of draggable nodes joined by animated edges |
193
195
  | `Form` | Form state — values, validation and submission — with no form library underneath |
@@ -200,6 +202,7 @@ you are done. Unstyled text on a white screen means the styles are not reaching
200
202
  | `LineChart` | Animated time series, drawn on the UI thread |
201
203
  | `Loader` | Nine loading animations behind one variant prop |
202
204
  | `Map` | Vector map whose basemap is drawn from your theme tokens |
205
+ | `MarkdownEditor` | A field for writing markdown, with a toolbar and a preview |
203
206
  | `Marker` | Inline note between conversation turns |
204
207
  | `Menu` | The list of things you can do to something |
205
208
  | `Message` | Chat turn with avatar, bubble, header and footer |
@@ -246,6 +249,7 @@ you are done. Unstyled text on a white screen means the styles are not reaching
246
249
  | `Toast` | Transient notification queue with swipe to dismiss |
247
250
  | `ToggleButton` | A button that stays down, on its own or in a group |
248
251
  | `Tooltip` | A small label that names the control under your finger |
252
+ | `Tree` | A hierarchy you can open a level at a time |
249
253
  | `Typography` | Semantic text presets |
250
254
 
251
255
  Plus `PanelUIProvider`, `Portal`, `AnimatedPressable`, `KeyboardAvoider`, `ScrollProgress`,
@@ -11,6 +11,14 @@
11
11
  * `selectionMode` decides whether opening one section closes the others, which
12
12
  * also changes the shape of `value`: a string when single, an array when
13
13
  * multiple.
14
+ *
15
+ * A closed section costs nothing, because its body is unmounted. That is the
16
+ * right default and the wrong one for a body with state in it: a half-filled
17
+ * form, a list scrolled to the middle, a video part-way through. Collapsing
18
+ * such a section throws that away and reopening it starts over. `keepMounted`
19
+ * is the way out — the body stays mounted and is hidden from layout instead,
20
+ * so it takes up no room, the same layout transition carries the change, and
21
+ * everything inside is exactly where it was left.
14
22
  */
15
23
  import { Children, createContext, forwardRef, isValidElement, useCallback, useContext, useMemo, useState } from 'react';
16
24
  import { Pressable, View } from 'react-native';
@@ -87,6 +95,7 @@ const AccordionRoot = /*#__PURE__*/forwardRef(({
87
95
  defaultValue,
88
96
  onValueChange,
89
97
  hideSeparator = false,
98
+ keepMounted = false,
90
99
  children,
91
100
  ...props
92
101
  }, ref) => {
@@ -103,8 +112,9 @@ const AccordionRoot = /*#__PURE__*/forwardRef(({
103
112
  const context = useMemo(() => ({
104
113
  expanded,
105
114
  toggle,
106
- variant
107
- }), [expanded, toggle, variant]);
115
+ variant,
116
+ keepMounted
117
+ }), [expanded, toggle, variant, keepMounted]);
108
118
  const {
109
119
  root,
110
120
  separator
@@ -251,14 +261,25 @@ AccordionIndicator.displayName = 'Accordion.Indicator';
251
261
  * The collapsible body. Unmounts when closed, per the repo's convention for
252
262
  * conditionally shown content — the layout transition on the item animates
253
263
  * the height change.
264
+ *
265
+ * `keepMounted` swaps the unmount for `display: 'none'`, which is the one way
266
+ * to hide a view that also takes it out of Yoga's layout. That matters twice
267
+ * over: the item's height changes by exactly as much as it would have on an
268
+ * unmount, so the same layout transition plays and the two modes are
269
+ * indistinguishable to look at — and everything inside stays mounted, so a
270
+ * text field keeps what was typed into it. A hidden subtree is still in the
271
+ * accessibility tree, though, so it is explicitly taken out of that too;
272
+ * otherwise a screen reader would read out a section the eye cannot see.
254
273
  */
255
274
  const AccordionContent = /*#__PURE__*/forwardRef(({
256
275
  className,
276
+ keepMounted,
257
277
  children,
258
278
  ...props
259
279
  }, ref) => {
260
280
  const {
261
- variant
281
+ variant,
282
+ keepMounted: keepMountedDefault
262
283
  } = useAccordion('Accordion.Content');
263
284
  const {
264
285
  isExpanded
@@ -269,9 +290,16 @@ const AccordionContent = /*#__PURE__*/forwardRef(({
269
290
  } = accordionVariants({
270
291
  variant
271
292
  });
272
- if (!isExpanded) return null;
293
+ const stayMounted = keepMounted ?? keepMountedDefault;
294
+ if (!isExpanded && !stayMounted) return null;
295
+ const isHidden = !isExpanded;
273
296
  return /*#__PURE__*/_jsx(View, {
274
297
  ref: ref,
298
+ style: isHidden ? {
299
+ display: 'none'
300
+ } : undefined,
301
+ accessibilityElementsHidden: isHidden,
302
+ importantForAccessibility: isHidden ? 'no-hide-descendants' : 'auto',
275
303
  className: content({
276
304
  className
277
305
  }),
@@ -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","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","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","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,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
- import { forwardRef } from 'react';
3
+ import { createContext, forwardRef, useContext } from 'react';
4
4
  import { View } from 'react-native';
5
5
  import { tv } from 'tailwind-variants';
6
6
  import { useCSSVariable } from 'uniwind';
7
7
  import { AnimatedPressable } from "../../primitives/animated-pressable.js";
8
8
  import { Text, textChildren } from "../../primitives/text.js";
9
+ import { cn } from "../../utils/cn.js";
9
10
  import { IconColorProvider } from "../../icons/index.js";
10
11
  import { getNativeUI, getSwiftUIModifiers } from "../../native/index.js";
11
12
  import { Spinner } from "../spinner/index.js";
@@ -83,6 +84,53 @@ const buttonVariants = tv({
83
84
  size: 'md'
84
85
  }
85
86
  });
87
+
88
+ /** How a button looks. */
89
+
90
+ /** How big a button is. `icon` is a square. */
91
+
92
+ /* -------------------------------------------------------------------------- *
93
+ * Grouping
94
+ *
95
+ * A button reads this; `ButtonGroup` writes it. The context lives here rather
96
+ * than beside the group because the button is the consumer, and a component
97
+ * should not have to import the thing that contains it to find out that it is
98
+ * contained — which would also make the two import each other.
99
+ * -------------------------------------------------------------------------- */
100
+
101
+ const ButtonGroupContext = /*#__PURE__*/createContext(null);
102
+
103
+ /** Announces to every button below it that it is part of one control. */
104
+ export function ButtonGroupProvider({
105
+ value,
106
+ children
107
+ }) {
108
+ return /*#__PURE__*/_jsx(ButtonGroupContext.Provider, {
109
+ value: value,
110
+ children: children
111
+ });
112
+ }
113
+
114
+ /** The enclosing group, if there is one. `null` for a button standing alone. */
115
+ export function useButtonGroup() {
116
+ return useContext(ButtonGroupContext);
117
+ }
118
+
119
+ /**
120
+ * What an attached button gives up so the group can draw the shape once.
121
+ *
122
+ * The radius and the shadow go because the group owns both — a rounded,
123
+ * shadowed segment inside a rounded, shadowed container is two shapes where
124
+ * there should be one. The border stays but turns transparent rather than
125
+ * being removed: it is holding a pixel of the button's height, and dropping it
126
+ * would make an `outline` segment a hair shorter than a `ghost` one beside it.
127
+ *
128
+ * The press feedback changes too. A button on its own shrinks slightly when
129
+ * pressed, which inside a joined run would pull the segment away from its
130
+ * neighbours and show the container through the gap. A background is the same
131
+ * signal without the movement.
132
+ */
133
+ const ATTACHED = 'rounded-none border-transparent shadow-none active:bg-accent';
86
134
  const SPINNER_SIZE = {
87
135
  sm: 'sm',
88
136
  md: 'sm',
@@ -192,22 +240,39 @@ export const Button = /*#__PURE__*/forwardRef(({
192
240
  }, ref) => {
193
241
  const isDisabled = disabled || loading;
194
242
  const nativeUI = native ? getNativeUI() : null;
243
+
244
+ /*
245
+ * A group fills in what a button did not say for itself, and never
246
+ * overrides what it did: a run of buttons should look like one control
247
+ * without every segment repeating the same two props, and the odd segment
248
+ * that wants to stand out — the selected one, the destructive one — has to
249
+ * be able to say so.
250
+ *
251
+ * `native` is deliberately outside all of this. The platform draws that
252
+ * button, so it has no border, radius or shadow for a group to take over,
253
+ * and joining several of them would produce a row of platform buttons with
254
+ * a border drawn around it rather than a segmented control.
255
+ */
256
+ const group = useButtonGroup();
257
+ const attached = !native && group?.attached === true;
258
+ const resolvedVariant = variant ?? group?.variant;
259
+ const resolvedSize = size ?? group?.size;
195
260
  const {
196
261
  root,
197
262
  label,
198
263
  spinner
199
264
  } = buttonVariants({
200
- variant,
201
- size,
202
- fullWidth,
265
+ variant: resolvedVariant,
266
+ size: resolvedSize,
267
+ fullWidth: fullWidth ?? (attached && group?.fullWidth),
203
268
  disabled: isDisabled
204
269
  });
205
270
 
206
271
  // Icons in the content slots inherit this, so they stay legible when the
207
272
  // theme inverts the button's background. Without it every caller has to
208
273
  // hardcode a hex that is wrong in one theme or the other.
209
- const themedColor = useCSSVariable(CONTENT_COLOR_VAR[variant === 'destructive' ? 'primary' : variant ?? 'primary']);
210
- const contentColor = variant === 'destructive' ? '#ffffff' : typeof themedColor === 'string' ? themedColor : undefined;
274
+ const themedColor = useCSSVariable(CONTENT_COLOR_VAR[resolvedVariant === 'destructive' ? 'primary' : resolvedVariant ?? 'primary']);
275
+ const contentColor = resolvedVariant === 'destructive' ? '#ffffff' : typeof themedColor === 'string' ? themedColor : undefined;
211
276
  if (nativeUI) {
212
277
  const {
213
278
  Host,
@@ -215,7 +280,7 @@ export const Button = /*#__PURE__*/forwardRef(({
215
280
  RNHostView
216
281
  } = nativeUI;
217
282
  const isStringLabel = typeof children === 'string';
218
- const prominent = variant === 'primary' || variant === 'destructive';
283
+ const prominent = resolvedVariant === 'primary' || resolvedVariant === 'destructive';
219
284
 
220
285
  /*
221
286
  * Looks the portable props cannot ask for.
@@ -232,7 +297,7 @@ export const Button = /*#__PURE__*/forwardRef(({
232
297
  * button somebody forgot to label. It shapes the glass too.
233
298
  */
234
299
  const swiftUI = getSwiftUIModifiers();
235
- const nativeModifiers = swiftUI ? [glass ? swiftUI.buttonStyle(prominent ? 'glassProminent' : 'glass') : null, size === 'icon' ? swiftUI.buttonBorderShape('circle') : null, isStringLabel ? swiftUI.controlSize(NATIVE_CONTROL_SIZE[size ?? 'md']) : null].filter(Boolean) : [];
300
+ const nativeModifiers = swiftUI ? [glass ? swiftUI.buttonStyle(prominent ? 'glassProminent' : 'glass') : null, resolvedSize === 'icon' ? swiftUI.buttonBorderShape('circle') : null, isStringLabel ? swiftUI.controlSize(NATIVE_CONTROL_SIZE[resolvedSize ?? 'md']) : null].filter(Boolean) : [];
236
301
 
237
302
  /*
238
303
  * The platform paints the background, not the theme — so a hosted icon
@@ -246,7 +311,7 @@ export const Button = /*#__PURE__*/forwardRef(({
246
311
  matchContents: true,
247
312
  children: /*#__PURE__*/_jsx(NativeButton, {
248
313
  label: isStringLabel ? children : undefined,
249
- variant: NATIVE_VARIANT[variant ?? 'primary'],
314
+ variant: NATIVE_VARIANT[resolvedVariant ?? 'primary'],
250
315
  disabled: isDisabled
251
316
  /*
252
317
  * A square for an icon button, a height for a labelled one — and
@@ -258,18 +323,18 @@ export const Button = /*#__PURE__*/forwardRef(({
258
323
  * background around. The frame only has to be large enough to hold
259
324
  * the result.
260
325
  */,
261
- style: size === 'icon' ? {
326
+ style: resolvedSize === 'icon' ? {
262
327
  width: NATIVE_ICON_FRAME,
263
328
  height: NATIVE_ICON_FRAME
264
329
  } : {
265
- height: NATIVE_HEIGHT[size ?? 'md']
330
+ height: NATIVE_HEIGHT[resolvedSize ?? 'md']
266
331
  },
267
332
  modifiers: nativeModifiers.length ? nativeModifiers : undefined,
268
333
  onPress: props.onPress,
269
334
  children: isStringLabel ? undefined : /*#__PURE__*/_jsx(RNHostView, {
270
335
  matchContents: true,
271
336
  children: /*#__PURE__*/_jsx(View, {
272
- style: size === 'icon' ? {
337
+ style: resolvedSize === 'icon' ? {
273
338
  padding: NATIVE_ICON_PADDING,
274
339
  alignItems: 'center',
275
340
  justifyContent: 'center'
@@ -297,13 +362,16 @@ export const Button = /*#__PURE__*/forwardRef(({
297
362
  disabled: isDisabled,
298
363
  busy: loading
299
364
  },
300
- disabled: isDisabled,
365
+ disabled: isDisabled
366
+ // Before the spread, so a caller can still ask for the scale back.
367
+ ,
368
+ pressScale: attached ? 1 : undefined,
301
369
  className: root({
302
- className
370
+ className: cn(attached && ATTACHED, className)
303
371
  }),
304
372
  ...props,
305
373
  children: [loading ? /*#__PURE__*/_jsx(Spinner, {
306
- size: SPINNER_SIZE[size ?? 'md'],
374
+ size: SPINNER_SIZE[resolvedSize ?? 'md'],
307
375
  className: spinner()
308
376
  }) : startContent, textChildren(children, text => /*#__PURE__*/_jsx(Text, {
309
377
  className: label({
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","View","tv","useCSSVariable","AnimatedPressable","Text","textChildren","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","SPINNER_SIZE","CONTENT_COLOR_VAR","NATIVE_HEIGHT","NATIVE_ICON_PADDING","NATIVE_ICON_FRAME","NATIVE_CONTROL_SIZE","NATIVE_VARIANT","Button","children","className","labelClassName","loading","startContent","endContent","native","glass","props","ref","isDisabled","nativeUI","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","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","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","pressScale","displayName"],"sourceRoot":"../../../../src","sources":["components/button/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * ButtonGroup — several buttons drawn as one control.
5
+ *
6
+ * ```tsx
7
+ * <ButtonGroup>
8
+ * <Button startContent={<ListChecksIcon size={16} />}>Tasks</Button>
9
+ * <Button startContent={<CalendarIcon size={16} />}>Agenda</Button>
10
+ * <Button startContent={<ChartIcon size={16} />}>Board</Button>
11
+ * </ButtonGroup>
12
+ * ```
13
+ *
14
+ * The buttons stay buttons. Anything a `Button` does — an icon, a badge, a
15
+ * loading state, a disabled segment, opening a Popover — it still does inside a
16
+ * group, because the group is a container rather than a component that takes a
17
+ * list of items and renders them for you. A list-of-items API has to grow a
18
+ * prop for every one of those things; this one has none of them and can do all
19
+ * of them.
20
+ *
21
+ * ## Why the container draws the border
22
+ *
23
+ * A joined run could be built by giving the first and last segments their
24
+ * corners and squaring the ones between, then collapsing every shared edge with
25
+ * a negative margin. That works on the web and is a stack of off-by-one
26
+ * problems on a phone: the hairlines land on different fractions of a pixel per
27
+ * device, and a run that wraps has no first or last segment any more.
28
+ *
29
+ * So the group draws the shape once — one border, one radius, one shadow,
30
+ * clipped — and the buttons inside it draw none of their own. The dividers are
31
+ * real one-pixel views the group puts between its children, which is also why
32
+ * they are always exactly one pixel and always in the same place.
33
+ *
34
+ * ## What it passes down
35
+ *
36
+ * `variant` and `size` fill in for a button that did not choose its own, so a
37
+ * run of six does not repeat the same two props six times. A segment that wants
38
+ * to stand out — the selected one, the destructive one — sets its own and wins.
39
+ *
40
+ * ```tsx
41
+ * <ButtonGroup size="sm">
42
+ * <Button>Day</Button>
43
+ * <Button variant="secondary">Week</Button> {/* the selected one *\/}
44
+ * <Button>Month</Button>
45
+ * </ButtonGroup>
46
+ * ```
47
+ *
48
+ * ## Not a selection control
49
+ *
50
+ * This joins buttons; what they mean is yours. For a control that owns which
51
+ * one is on, reach for `ToggleButtonGroup`, and for switching between panels of
52
+ * content reach for `Tabs` — a segmented run of buttons that swaps a screen is
53
+ * navigation, and navigation should say so to a screen reader.
54
+ */
55
+ import { Children, Fragment, forwardRef, useMemo } from 'react';
56
+ import { View } from 'react-native';
57
+ import { tv } from 'tailwind-variants';
58
+ import { ButtonGroupProvider } from "../button/index.js";
59
+
60
+ /** Which way the run reads. */
61
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
62
+ const buttonGroupVariants = tv({
63
+ slots: {
64
+ root: 'items-stretch',
65
+ divider: 'bg-border'
66
+ },
67
+ variants: {
68
+ orientation: {
69
+ horizontal: {
70
+ root: 'flex-row',
71
+ divider: 'w-px'
72
+ },
73
+ vertical: {
74
+ root: 'flex-col',
75
+ divider: 'h-px'
76
+ }
77
+ },
78
+ attached: {
79
+ // `overflow-hidden` is what squares the inner corners and rounds the
80
+ // outer ones without any segment knowing which it is.
81
+ true: {
82
+ root: 'overflow-hidden border border-input bg-popover shadow-sm'
83
+ },
84
+ false: {
85
+ root: 'gap-2'
86
+ }
87
+ },
88
+ /* Matched to the height the buttons will be, since a radius that suited a
89
+ 36pt run reads as a rectangle around a 48pt one. */
90
+ size: {
91
+ sm: {
92
+ root: 'rounded-lg'
93
+ },
94
+ md: {
95
+ root: 'rounded-xl'
96
+ },
97
+ lg: {
98
+ root: 'rounded-xl'
99
+ },
100
+ icon: {
101
+ root: 'rounded-xl'
102
+ }
103
+ },
104
+ fullWidth: {
105
+ true: {
106
+ root: 'w-full'
107
+ }
108
+ }
109
+ },
110
+ compoundVariants: [
111
+ // Nothing is being joined, so the radius belongs to each button instead.
112
+ {
113
+ attached: false,
114
+ class: {
115
+ root: 'rounded-none'
116
+ }
117
+ }],
118
+ defaultVariants: {
119
+ orientation: 'horizontal',
120
+ attached: true,
121
+ size: 'md'
122
+ }
123
+ });
124
+ const ButtonGroupRoot = /*#__PURE__*/forwardRef(({
125
+ className,
126
+ orientation = 'horizontal',
127
+ variant,
128
+ size = 'md',
129
+ attached = true,
130
+ fullWidth = false,
131
+ children,
132
+ ...props
133
+ }, ref) => {
134
+ const {
135
+ root,
136
+ divider
137
+ } = buttonGroupVariants({
138
+ orientation,
139
+ attached,
140
+ size,
141
+ fullWidth
142
+ });
143
+ const context = useMemo(() => ({
144
+ variant,
145
+ size,
146
+ attached,
147
+ fullWidth
148
+ }), [variant, size, attached, fullWidth]);
149
+
150
+ /*
151
+ * `Children.toArray` rather than the raw children: it drops the nulls a
152
+ * conditional segment leaves behind and flattens fragments, so a run built
153
+ * by a `map` or by `{canEdit && <Button/>}` gets its dividers in the right
154
+ * places instead of one before a segment that is not there.
155
+ */
156
+ const items = Children.toArray(children);
157
+ return /*#__PURE__*/_jsx(ButtonGroupProvider, {
158
+ value: context,
159
+ children: /*#__PURE__*/_jsx(View, {
160
+ ref: ref
161
+ // A run of related actions is a toolbar; a screen reader announcing
162
+ // the group is what tells someone the buttons in it belong together.
163
+ ,
164
+ accessibilityRole: "toolbar",
165
+ className: root({
166
+ className
167
+ }),
168
+ ...props,
169
+ children: items.map((child, index) =>
170
+ /*#__PURE__*/
171
+ // Index keys: these fragments have no identity of their own, and
172
+ // the children keep whatever keys they were already given.
173
+ _jsxs(Fragment, {
174
+ children: [index > 0 && attached ? /*#__PURE__*/_jsx(View, {
175
+ className: divider()
176
+ }) : null, fullWidth ? /*#__PURE__*/_jsx(View, {
177
+ className: "flex-1",
178
+ children: child
179
+ }) : child]
180
+ }, index))
181
+ })
182
+ });
183
+ });
184
+ ButtonGroupRoot.displayName = 'ButtonGroup';
185
+ export const ButtonGroup = ButtonGroupRoot;
186
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Children","Fragment","forwardRef","useMemo","View","tv","ButtonGroupProvider","jsx","_jsx","jsxs","_jsxs","buttonGroupVariants","slots","root","divider","variants","orientation","horizontal","vertical","attached","true","false","size","sm","md","lg","icon","fullWidth","compoundVariants","class","defaultVariants","ButtonGroupRoot","className","variant","children","props","ref","context","items","toArray","value","accessibilityRole","map","child","index","displayName","ButtonGroup"],"sourceRoot":"../../../../src","sources":["components/button-group/index.tsx"],"mappings":"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","ignoreList":[]}