panelui-native 0.28.1 → 0.32.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 (121) hide show
  1. package/README.md +22 -3
  2. package/lib/module/components/calendar/index.js +450 -132
  3. package/lib/module/components/calendar/index.js.map +1 -1
  4. package/lib/module/components/code-block/highlight.js +363 -0
  5. package/lib/module/components/code-block/highlight.js.map +1 -0
  6. package/lib/module/components/code-block/index.js +313 -0
  7. package/lib/module/components/code-block/index.js.map +1 -0
  8. package/lib/module/components/date-picker/index.js +8 -1
  9. package/lib/module/components/date-picker/index.js.map +1 -1
  10. package/lib/module/components/heatmap-chart/index.js +9 -8
  11. package/lib/module/components/heatmap-chart/index.js.map +1 -1
  12. package/lib/module/components/map/index.js +50 -4
  13. package/lib/module/components/map/index.js.map +1 -1
  14. package/lib/module/components/menu/index.js +714 -0
  15. package/lib/module/components/menu/index.js.map +1 -0
  16. package/lib/module/components/plan/index.js +582 -0
  17. package/lib/module/components/plan/index.js.map +1 -0
  18. package/lib/module/components/popover/index.js +35 -4
  19. package/lib/module/components/popover/index.js.map +1 -1
  20. package/lib/module/components/post/index.js +992 -0
  21. package/lib/module/components/post/index.js.map +1 -0
  22. package/lib/module/components/radio-group/index.js +13 -8
  23. package/lib/module/components/radio-group/index.js.map +1 -1
  24. package/lib/module/components/reasoning/index.js +244 -0
  25. package/lib/module/components/reasoning/index.js.map +1 -0
  26. package/lib/module/components/response/index.js +296 -0
  27. package/lib/module/components/response/index.js.map +1 -0
  28. package/lib/module/components/response/markdown.js +463 -0
  29. package/lib/module/components/response/markdown.js.map +1 -0
  30. package/lib/module/components/select/index.js +97 -15
  31. package/lib/module/components/select/index.js.map +1 -1
  32. package/lib/module/components/sources/index.js +221 -0
  33. package/lib/module/components/sources/index.js.map +1 -0
  34. package/lib/module/components/table/index.js +632 -0
  35. package/lib/module/components/table/index.js.map +1 -0
  36. package/lib/module/components/task/index.js +300 -0
  37. package/lib/module/components/task/index.js.map +1 -0
  38. package/lib/module/components/textarea/index.js +295 -0
  39. package/lib/module/components/textarea/index.js.map +1 -0
  40. package/lib/module/components/tooltip/index.js +179 -23
  41. package/lib/module/components/tooltip/index.js.map +1 -1
  42. package/lib/module/icons/index.js +339 -0
  43. package/lib/module/icons/index.js.map +1 -1
  44. package/lib/module/index.js +12 -1
  45. package/lib/module/index.js.map +1 -1
  46. package/lib/module/primitives/collapse.js +112 -0
  47. package/lib/module/primitives/collapse.js.map +1 -0
  48. package/lib/module/utils/date.js +129 -22
  49. package/lib/module/utils/date.js.map +1 -1
  50. package/lib/typescript/src/components/calendar/index.d.ts +79 -5
  51. package/lib/typescript/src/components/calendar/index.d.ts.map +1 -1
  52. package/lib/typescript/src/components/code-block/highlight.d.ts +39 -0
  53. package/lib/typescript/src/components/code-block/highlight.d.ts.map +1 -0
  54. package/lib/typescript/src/components/code-block/index.d.ts +113 -0
  55. package/lib/typescript/src/components/code-block/index.d.ts.map +1 -0
  56. package/lib/typescript/src/components/date-picker/index.d.ts +7 -1
  57. package/lib/typescript/src/components/date-picker/index.d.ts.map +1 -1
  58. package/lib/typescript/src/components/heatmap-chart/index.d.ts.map +1 -1
  59. package/lib/typescript/src/components/map/index.d.ts +8 -1
  60. package/lib/typescript/src/components/map/index.d.ts.map +1 -1
  61. package/lib/typescript/src/components/menu/index.d.ts +261 -0
  62. package/lib/typescript/src/components/menu/index.d.ts.map +1 -0
  63. package/lib/typescript/src/components/plan/index.d.ts +238 -0
  64. package/lib/typescript/src/components/plan/index.d.ts.map +1 -0
  65. package/lib/typescript/src/components/popover/index.d.ts +35 -1
  66. package/lib/typescript/src/components/popover/index.d.ts.map +1 -1
  67. package/lib/typescript/src/components/post/index.d.ts +358 -0
  68. package/lib/typescript/src/components/post/index.d.ts.map +1 -0
  69. package/lib/typescript/src/components/radio-group/index.d.ts.map +1 -1
  70. package/lib/typescript/src/components/reasoning/index.d.ts +97 -0
  71. package/lib/typescript/src/components/reasoning/index.d.ts.map +1 -0
  72. package/lib/typescript/src/components/response/index.d.ts +91 -0
  73. package/lib/typescript/src/components/response/index.d.ts.map +1 -0
  74. package/lib/typescript/src/components/response/markdown.d.ts +88 -0
  75. package/lib/typescript/src/components/response/markdown.d.ts.map +1 -0
  76. package/lib/typescript/src/components/select/index.d.ts +27 -2
  77. package/lib/typescript/src/components/select/index.d.ts.map +1 -1
  78. package/lib/typescript/src/components/sources/index.d.ts +85 -0
  79. package/lib/typescript/src/components/sources/index.d.ts.map +1 -0
  80. package/lib/typescript/src/components/table/index.d.ts +274 -0
  81. package/lib/typescript/src/components/table/index.d.ts.map +1 -0
  82. package/lib/typescript/src/components/task/index.d.ts +103 -0
  83. package/lib/typescript/src/components/task/index.d.ts.map +1 -0
  84. package/lib/typescript/src/components/textarea/index.d.ts +175 -0
  85. package/lib/typescript/src/components/textarea/index.d.ts.map +1 -0
  86. package/lib/typescript/src/components/tooltip/index.d.ts +63 -8
  87. package/lib/typescript/src/components/tooltip/index.d.ts.map +1 -1
  88. package/lib/typescript/src/icons/index.d.ts +54 -1
  89. package/lib/typescript/src/icons/index.d.ts.map +1 -1
  90. package/lib/typescript/src/index.d.ts +14 -3
  91. package/lib/typescript/src/index.d.ts.map +1 -1
  92. package/lib/typescript/src/primitives/collapse.d.ts +42 -0
  93. package/lib/typescript/src/primitives/collapse.d.ts.map +1 -0
  94. package/lib/typescript/src/utils/date.d.ts +49 -5
  95. package/lib/typescript/src/utils/date.d.ts.map +1 -1
  96. package/package.json +1 -1
  97. package/src/components/calendar/index.tsx +519 -139
  98. package/src/components/code-block/highlight.ts +278 -0
  99. package/src/components/code-block/index.tsx +341 -0
  100. package/src/components/date-picker/index.tsx +19 -1
  101. package/src/components/heatmap-chart/index.tsx +9 -9
  102. package/src/components/map/index.tsx +53 -4
  103. package/src/components/menu/index.tsx +812 -0
  104. package/src/components/plan/index.tsx +648 -0
  105. package/src/components/popover/index.tsx +69 -2
  106. package/src/components/post/index.tsx +1116 -0
  107. package/src/components/radio-group/index.tsx +11 -2
  108. package/src/components/reasoning/index.tsx +297 -0
  109. package/src/components/response/index.tsx +390 -0
  110. package/src/components/response/markdown.ts +489 -0
  111. package/src/components/select/index.tsx +132 -12
  112. package/src/components/sources/index.tsx +278 -0
  113. package/src/components/table/index.tsx +747 -0
  114. package/src/components/task/index.tsx +329 -0
  115. package/src/components/textarea/index.tsx +381 -0
  116. package/src/components/tooltip/index.tsx +203 -20
  117. package/src/icons/index.tsx +264 -1
  118. package/src/index.ts +131 -0
  119. package/src/primitives/collapse.tsx +128 -0
  120. package/src/utils/date.ts +146 -22
  121. package/theme.css +112 -0
@@ -22,18 +22,25 @@
22
22
  * <Select.Item value="eu" label="Europe" />
23
23
  * </Select>
24
24
  * ```
25
+ *
26
+ * Past a couple of dozen options, scrolling stops being a way of finding
27
+ * anything: pass `searchable` and the list gets a filter above it, matching on
28
+ * the option labels. The filter narrows what is *shown* — the declared options
29
+ * are still the source of truth, so nothing has to be lifted into state to make
30
+ * it work.
25
31
  */
26
32
  import { Children, createContext, isValidElement, useCallback, useContext, useMemo, useRef, useState } from 'react';
27
33
  import { Pressable, ScrollView, useWindowDimensions, View } from 'react-native';
28
34
  import Animated, { FadeIn, FadeOut, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
29
35
  import { tv } from 'tailwind-variants';
30
36
  import { useCSSVariable } from 'uniwind';
31
- import { CheckIcon, ChevronDownIcon } from "../../icons/index.js";
37
+ import { CheckIcon, ChevronDownIcon, SearchIcon } from "../../icons/index.js";
32
38
  import { getNativeUI } from "../../native/index.js";
33
39
  import { Portal } from "../../primitives/portal.js";
34
40
  import { Text, textChildren } from "../../primitives/text.js";
35
41
  import { useBackHandler } from "../../hooks/use-back-handler.js";
36
42
  import { BottomSheet } from "../bottom-sheet/index.js";
43
+ import { InputGroup } from "../input-group/index.js";
37
44
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
38
45
  const selectVariants = tv({
39
46
  slots: {
@@ -58,6 +65,11 @@ const selectVariants = tv({
58
65
  trigger: 'opacity-[0.64]'
59
66
  }
60
67
  },
68
+ itemDisabled: {
69
+ true: {
70
+ item: 'opacity-[0.64]'
71
+ }
72
+ },
61
73
  presentation: {
62
74
  sheet: {},
63
75
  inline: {
@@ -76,7 +88,8 @@ const SelectContext = /*#__PURE__*/createContext(null);
76
88
  /** Declarative option. Rendered inside whichever surface is presenting. */
77
89
  function SelectItem({
78
90
  value,
79
- label
91
+ label,
92
+ disabled
80
93
  }) {
81
94
  const context = useContext(SelectContext);
82
95
  if (!context) {
@@ -88,14 +101,17 @@ function SelectItem({
88
101
  itemLabel,
89
102
  itemIndicator
90
103
  } = selectVariants({
91
- selected
104
+ selected,
105
+ itemDisabled: !!disabled
92
106
  });
93
107
  const checkColor = useCSSVariable('--color-muted-foreground');
94
108
  return /*#__PURE__*/_jsxs(Pressable, {
95
109
  accessibilityRole: "menuitem",
96
110
  accessibilityState: {
97
- selected
111
+ selected,
112
+ disabled: !!disabled
98
113
  },
114
+ disabled: disabled,
99
115
  onPress: () => context.onSelect(value),
100
116
  className: item(),
101
117
  children: [/*#__PURE__*/_jsx(Text, {
@@ -124,11 +140,15 @@ function SelectRoot({
124
140
  contentWidth = 'trigger',
125
141
  offset = 8,
126
142
  onOpenChange,
143
+ searchable = false,
144
+ searchPlaceholder = 'Search',
145
+ emptyMessage = 'No matches',
127
146
  native,
128
147
  nativeAppearance = 'menu',
129
148
  children
130
149
  }) {
131
150
  const [open, setOpen] = useState(false);
151
+ const [query, setQuery] = useState('');
132
152
  const [anchor, setAnchor] = useState(null);
133
153
  const [listHeight, setListHeight] = useState(0);
134
154
  const triggerRef = useRef(null);
@@ -143,19 +163,35 @@ function SelectRoot({
143
163
  if (/*#__PURE__*/isValidElement(child)) {
144
164
  collected.push({
145
165
  value: child.props.value,
146
- label: child.props.label
166
+ label: child.props.label,
167
+ disabled: child.props.disabled
147
168
  });
148
169
  }
149
170
  });
150
171
  return collected;
151
172
  }, [children]);
152
173
  const selectedLabel = useMemo(() => options.find(option => option.value === value)?.label, [options, value]);
174
+
175
+ /*
176
+ * The options the filter leaves standing, or null when nothing is being
177
+ * filtered — which is the common case, and the one that must not pay for the
178
+ * feature. `null` means "render the children as given", so an unsearched
179
+ * Select does no per-option work at all.
180
+ */
181
+ const filtered = useMemo(() => {
182
+ const needle = searchable ? query.trim().toLowerCase() : '';
183
+ if (!needle) return null;
184
+ return Children.toArray(children).filter(child => /*#__PURE__*/isValidElement(child) && child.props.label.toLowerCase().includes(needle));
185
+ }, [children, query, searchable]);
153
186
  const close = useCallback(() => {
154
187
  chevron.value = withTiming(0, {
155
188
  duration: 160
156
189
  });
157
190
  setOpen(false);
158
191
  onOpenChange?.(false);
192
+ // A filter left behind would be waiting the next time the list opens, with
193
+ // most of the options missing and no obvious reason why.
194
+ setQuery('');
159
195
  }, [chevron, onOpenChange]);
160
196
 
161
197
  // An open overlay list catches the Android back button, closing itself
@@ -214,7 +250,8 @@ function SelectRoot({
214
250
  Picker
215
251
  } = nativeUI;
216
252
  // The native picker has no empty state, so an unset value shows the first
217
- // option rather than the placeholder.
253
+ // selectable option rather than the placeholder.
254
+ const firstEnabled = options.find(option => !option.disabled);
218
255
  return (
219
256
  /*#__PURE__*/
220
257
  // A picker fills the width of the row it sits in and reports its own
@@ -225,7 +262,7 @@ function SelectRoot({
225
262
  vertical: true
226
263
  },
227
264
  children: /*#__PURE__*/_jsx(Picker, {
228
- selectedValue: value ?? options[0]?.value ?? '',
265
+ selectedValue: value ?? firstEnabled?.value ?? '',
229
266
  onValueChange: next => onValueChange(next),
230
267
  appearance: nativeAppearance,
231
268
  enabled: !disabled,
@@ -260,6 +297,40 @@ function SelectRoot({
260
297
  })
261
298
  })]
262
299
  });
300
+
301
+ /*
302
+ * The filter, and the list it narrows. Both are built once here rather than
303
+ * per presentation: the three surfaces differ in where they put the field —
304
+ * above the scroller, so it does not scroll away with the options — not in
305
+ * what it is.
306
+ */
307
+ const search = searchable ? /*#__PURE__*/_jsx(View, {
308
+ className: "pb-2",
309
+ children: /*#__PURE__*/_jsxs(InputGroup, {
310
+ children: [/*#__PURE__*/_jsx(InputGroup.Prefix, {
311
+ isDecorative: true,
312
+ children: /*#__PURE__*/_jsx(SearchIcon, {
313
+ size: 18,
314
+ color: typeof chevronColor === 'string' ? chevronColor : '#737373'
315
+ })
316
+ }), /*#__PURE__*/_jsx(InputGroup.Input, {
317
+ variant: "filled",
318
+ size: "sm",
319
+ value: query,
320
+ onChangeText: setQuery,
321
+ placeholder: searchPlaceholder,
322
+ accessibilityLabel: searchPlaceholder,
323
+ autoCapitalize: "none",
324
+ autoCorrect: false,
325
+ returnKeyType: "search",
326
+ clearButtonMode: "while-editing"
327
+ })]
328
+ })
329
+ }) : null;
330
+ const optionList = filtered === null ? textChildren(children) : filtered.length ? filtered : /*#__PURE__*/_jsx(Text, {
331
+ className: "px-3 py-6 text-center text-sm text-muted-foreground",
332
+ children: emptyMessage
333
+ });
263
334
  if (presentation === 'sheet') {
264
335
  return /*#__PURE__*/_jsxs(SelectContext.Provider, {
265
336
  value: context,
@@ -279,12 +350,21 @@ function SelectRoot({
279
350
  weight: "semibold",
280
351
  className: "mb-2 px-3",
281
352
  children: title
353
+ }) : null, search ? /*#__PURE__*/_jsx(View, {
354
+ className: "px-1",
355
+ children: search
282
356
  }) : null, /*#__PURE__*/_jsx(ScrollView, {
283
357
  bounces: false,
284
- className: "max-h-96",
358
+ className: "max-h-96"
359
+ // The filter is a text field above a scroller: dismissing the
360
+ // keyboard on a drag is what lets you look at what you filtered
361
+ // to without first tapping somewhere neutral.
362
+ ,
363
+ keyboardDismissMode: "on-drag",
364
+ keyboardShouldPersistTaps: "handled",
285
365
  children: /*#__PURE__*/_jsx(View, {
286
366
  className: "gap-1 pb-2",
287
- children: textChildren(children)
367
+ children: optionList
288
368
  })
289
369
  })]
290
370
  })
@@ -297,11 +377,11 @@ function SelectRoot({
297
377
  value: context,
298
378
  children: /*#__PURE__*/_jsxs(View, {
299
379
  className: className,
300
- children: [trigger, open ? /*#__PURE__*/_jsx(Animated.View, {
380
+ children: [trigger, open ? /*#__PURE__*/_jsxs(Animated.View, {
301
381
  entering: FadeIn.duration(140),
302
382
  exiting: FadeOut.duration(120),
303
383
  className: slots.list(),
304
- children: textChildren(children)
384
+ children: [search, optionList]
305
385
  }) : null]
306
386
  })
307
387
  });
@@ -352,17 +432,19 @@ function SelectRoot({
352
432
  }
353
433
  }), /*#__PURE__*/_jsx(SelectContext.Provider, {
354
434
  value: context,
355
- children: /*#__PURE__*/_jsx(Animated.View, {
435
+ children: /*#__PURE__*/_jsxs(Animated.View, {
356
436
  entering: FadeIn.duration(140),
357
437
  exiting: FadeOut.duration(120),
358
438
  onLayout: onListLayout,
359
439
  style: overlayPosition,
360
440
  className: slots.list(),
361
- children: /*#__PURE__*/_jsx(ScrollView, {
441
+ children: [search, /*#__PURE__*/_jsx(ScrollView, {
362
442
  bounces: false,
363
443
  showsVerticalScrollIndicator: false,
364
- children: textChildren(children)
365
- })
444
+ keyboardDismissMode: "on-drag",
445
+ keyboardShouldPersistTaps: "handled",
446
+ children: optionList
447
+ })]
366
448
  })
367
449
  })]
368
450
  }) : null]
@@ -1 +1 @@
1
- {"version":3,"names":["Children","createContext","isValidElement","useCallback","useContext","useMemo","useRef","useState","Pressable","ScrollView","useWindowDimensions","View","Animated","FadeIn","FadeOut","useAnimatedStyle","useSharedValue","withTiming","tv","useCSSVariable","CheckIcon","ChevronDownIcon","getNativeUI","Portal","Text","textChildren","useBackHandler","BottomSheet","jsx","_jsx","jsxs","_jsxs","selectVariants","slots","trigger","triggerLabel","placeholder","list","item","itemLabel","itemIndicator","variants","selected","true","disabled","presentation","sheet","inline","overlay","defaultVariants","SelectContext","SelectItem","value","label","context","Error","checkColor","accessibilityRole","accessibilityState","onPress","onSelect","className","children","size","color","SelectRoot","onValueChange","title","contentWidth","offset","onOpenChange","native","nativeAppearance","open","setOpen","anchor","setAnchor","listHeight","setListHeight","triggerRef","chevron","height","screenHeight","nativeUI","options","collected","forEach","child","push","props","selectedLabel","find","option","close","duration","toggle","show","current","measureInWindow","x","y","width","next","chevronColor","chevronStyle","transform","rotate","Host","Picker","matchContents","vertical","selectedValue","appearance","enabled","map","Item","ref","expanded","style","Provider","Content","weight","bounces","entering","exiting","spaceBelow","flip","overlayPosition","position","left","bottom","top","minWidth","maxHeight","Math","max","onListLayout","event","nativeEvent","layout","accessibilityLabel","right","onLayout","showsVerticalScrollIndicator","Select","Object","assign"],"sourceRoot":"../../../../src","sources":["components/select/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Children","createContext","isValidElement","useCallback","useContext","useMemo","useRef","useState","Pressable","ScrollView","useWindowDimensions","View","Animated","FadeIn","FadeOut","useAnimatedStyle","useSharedValue","withTiming","tv","useCSSVariable","CheckIcon","ChevronDownIcon","SearchIcon","getNativeUI","Portal","Text","textChildren","useBackHandler","BottomSheet","InputGroup","jsx","_jsx","jsxs","_jsxs","selectVariants","slots","trigger","triggerLabel","placeholder","list","item","itemLabel","itemIndicator","variants","selected","true","disabled","itemDisabled","presentation","sheet","inline","overlay","defaultVariants","SelectContext","SelectItem","value","label","context","Error","checkColor","accessibilityRole","accessibilityState","onPress","onSelect","className","children","size","color","SelectRoot","onValueChange","title","contentWidth","offset","onOpenChange","searchable","searchPlaceholder","emptyMessage","native","nativeAppearance","open","setOpen","query","setQuery","anchor","setAnchor","listHeight","setListHeight","triggerRef","chevron","height","screenHeight","nativeUI","options","collected","forEach","child","push","props","selectedLabel","find","option","filtered","needle","trim","toLowerCase","toArray","filter","includes","close","duration","toggle","show","current","measureInWindow","x","y","width","next","chevronColor","chevronStyle","transform","rotate","Host","Picker","firstEnabled","matchContents","vertical","selectedValue","appearance","enabled","map","Item","ref","expanded","style","search","Prefix","isDecorative","Input","variant","onChangeText","accessibilityLabel","autoCapitalize","autoCorrect","returnKeyType","clearButtonMode","optionList","length","Provider","Content","weight","bounces","keyboardDismissMode","keyboardShouldPersistTaps","entering","exiting","spaceBelow","flip","overlayPosition","position","left","bottom","top","minWidth","maxHeight","Math","max","onListLayout","event","nativeEvent","layout","right","onLayout","showsVerticalScrollIndicator","Select","Object","assign"],"sourceRoot":"../../../../src","sources":["components/select/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Sources — where an answer came from, folded under a count.
5
+ *
6
+ * A cited answer usually cites more places than anyone wants listed above it,
7
+ * so the list opens from a single line: "Used 6 sources". Folded is the resting
8
+ * state, unlike `Reasoning`, because a citation list is a thing you go and
9
+ * check rather than a thing you watch arrive.
10
+ *
11
+ * ```tsx
12
+ * <Sources>
13
+ * <Sources.Trigger count={sources.length} />
14
+ * <Sources.Content>
15
+ * {sources.map((source) => (
16
+ * <Sources.Source key={source.url} href={source.url} title={source.title} />
17
+ * ))}
18
+ * </Sources.Content>
19
+ * </Sources>
20
+ * ```
21
+ *
22
+ * ## Where the props come from
23
+ *
24
+ * With the AI SDK these are the `source-url` parts of an assistant message:
25
+ * `part.url` is the `href` and `part.title` the `title`. A part carries no
26
+ * title of its own when the model did not supply one, in which case the host
27
+ * of the URL is a better label than the whole of it.
28
+ */
29
+ import { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';
30
+ import { Linking, Pressable, View } from 'react-native';
31
+ import Animated, { useAnimatedStyle, useReducedMotion, useSharedValue, withTiming } from 'react-native-reanimated';
32
+ import { tv } from 'tailwind-variants';
33
+ import { ChevronDownIcon, LinkIcon } from "../../icons/index.js";
34
+ import { Collapse } from "../../primitives/collapse.js";
35
+ import { Text } from "../../primitives/text.js";
36
+ import { cn } from "../../utils/cn.js";
37
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
38
+ const sourcesVariants = tv({
39
+ slots: {
40
+ root: 'w-full gap-2',
41
+ trigger: 'flex-row items-center gap-2 py-0.5',
42
+ triggerLabel: 'text-sm font-medium text-muted-foreground',
43
+ content: 'gap-0.5',
44
+ source: 'flex-row items-center gap-2 rounded-xl px-2 py-2 active:bg-accent',
45
+ sourceTitle: 'flex-1 text-sm text-foreground',
46
+ sourceHost: 'text-xs text-muted-foreground'
47
+ }
48
+ });
49
+ const SourcesContext = /*#__PURE__*/createContext(null);
50
+ function useSources(component) {
51
+ const context = useContext(SourcesContext);
52
+ if (!context) {
53
+ throw new Error(`${component} must be used within a <Sources>`);
54
+ }
55
+ return context;
56
+ }
57
+ function SourcesRoot({
58
+ className,
59
+ open: openProp,
60
+ defaultOpen = false,
61
+ onOpenChange,
62
+ children,
63
+ ...props
64
+ }) {
65
+ const {
66
+ root
67
+ } = sourcesVariants();
68
+ const [internalOpen, setInternalOpen] = useState(defaultOpen);
69
+ const isControlled = openProp !== undefined;
70
+ const open = isControlled ? openProp : internalOpen;
71
+ const setOpen = useCallback(next => {
72
+ if (!isControlled) setInternalOpen(next);
73
+ onOpenChange?.(next);
74
+ }, [isControlled, onOpenChange]);
75
+ const context = useMemo(() => ({
76
+ open,
77
+ setOpen
78
+ }), [open, setOpen]);
79
+ return /*#__PURE__*/_jsx(SourcesContext.Provider, {
80
+ value: context,
81
+ children: /*#__PURE__*/_jsx(View, {
82
+ ...props,
83
+ className: cn(root(), className),
84
+ children: children
85
+ })
86
+ });
87
+ }
88
+ SourcesRoot.displayName = 'Sources';
89
+ function SourcesTrigger({
90
+ className,
91
+ count = 0,
92
+ children,
93
+ onPress,
94
+ ...props
95
+ }) {
96
+ const {
97
+ open,
98
+ setOpen
99
+ } = useSources('Sources.Trigger');
100
+ const {
101
+ trigger,
102
+ triggerLabel
103
+ } = sourcesVariants();
104
+ const reducedMotion = useReducedMotion();
105
+ const progress = useSharedValue(open ? 1 : 0);
106
+ useEffect(() => {
107
+ progress.value = reducedMotion ? open ? 1 : 0 : withTiming(open ? 1 : 0, {
108
+ duration: 180
109
+ });
110
+ }, [open, reducedMotion, progress]);
111
+ const chevronStyle = useAnimatedStyle(() => ({
112
+ transform: [{
113
+ rotate: `${progress.value * 180}deg`
114
+ }]
115
+ }));
116
+ return /*#__PURE__*/_jsx(Pressable, {
117
+ accessibilityRole: "button",
118
+ accessibilityState: {
119
+ expanded: open
120
+ },
121
+ onPress: event => {
122
+ onPress?.(event);
123
+ setOpen(!open);
124
+ },
125
+ className: cn(trigger(), className),
126
+ ...props,
127
+ children: children ?? /*#__PURE__*/_jsxs(_Fragment, {
128
+ children: [/*#__PURE__*/_jsxs(Text, {
129
+ className: triggerLabel(),
130
+ children: ["Used ", count, " ", count === 1 ? 'source' : 'sources']
131
+ }), /*#__PURE__*/_jsx(Animated.View, {
132
+ style: chevronStyle,
133
+ children: /*#__PURE__*/_jsx(ChevronDownIcon, {
134
+ size: 16
135
+ })
136
+ })]
137
+ })
138
+ });
139
+ }
140
+ function SourcesContent({
141
+ className,
142
+ children,
143
+ ...props
144
+ }) {
145
+ const {
146
+ open
147
+ } = useSources('Sources.Content');
148
+ const {
149
+ content
150
+ } = sourcesVariants();
151
+ return /*#__PURE__*/_jsx(Collapse, {
152
+ open: open,
153
+ className: cn(content(), className),
154
+ ...props,
155
+ children: children
156
+ });
157
+ }
158
+ /** One citation. */
159
+ function SourcesSource({
160
+ className,
161
+ href,
162
+ title,
163
+ icon,
164
+ children,
165
+ onPress,
166
+ ...props
167
+ }) {
168
+ const {
169
+ source,
170
+ sourceTitle,
171
+ sourceHost
172
+ } = sourcesVariants();
173
+ const host = useMemo(() => hostOf(href), [href]);
174
+ return /*#__PURE__*/_jsx(Pressable, {
175
+ accessibilityRole: "link",
176
+ accessibilityLabel: title ?? host ?? href,
177
+ onPress: event => {
178
+ onPress?.(event);
179
+ // No `canOpenURL` guard: it needs the scheme declared up front on iOS,
180
+ // and a source is always http(s), which is always openable.
181
+ if (href) void Linking.openURL(href).catch(() => undefined);
182
+ },
183
+ className: cn(source(), className),
184
+ ...props,
185
+ children: children ?? /*#__PURE__*/_jsxs(_Fragment, {
186
+ children: [icon ?? /*#__PURE__*/_jsx(LinkIcon, {
187
+ size: 14
188
+ }), /*#__PURE__*/_jsx(Text, {
189
+ numberOfLines: 1,
190
+ className: sourceTitle(),
191
+ children: title ?? host ?? href
192
+ }), title && host ? /*#__PURE__*/_jsx(Text, {
193
+ numberOfLines: 1,
194
+ className: sourceHost(),
195
+ children: host
196
+ }) : null]
197
+ })
198
+ });
199
+ }
200
+
201
+ /**
202
+ * The host of a URL, without a URL parser.
203
+ *
204
+ * `URL` exists in Hermes but throws on anything malformed, and a model's
205
+ * citation is not a thing to trust with an exception. A label is worth having
206
+ * even when the string it came from is not a URL at all.
207
+ */
208
+ function hostOf(href) {
209
+ if (!href) return undefined;
210
+ const match = /^[a-z][a-z0-9+.-]*:\/\/([^/?#]+)/i.exec(href);
211
+ return match?.[1]?.replace(/^www\./i, '');
212
+ }
213
+ SourcesTrigger.displayName = 'Sources.Trigger';
214
+ SourcesContent.displayName = 'Sources.Content';
215
+ SourcesSource.displayName = 'Sources.Source';
216
+ export const Sources = Object.assign(SourcesRoot, {
217
+ Trigger: SourcesTrigger,
218
+ Content: SourcesContent,
219
+ Source: SourcesSource
220
+ });
221
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useState","Linking","Pressable","View","Animated","useAnimatedStyle","useReducedMotion","useSharedValue","withTiming","tv","ChevronDownIcon","LinkIcon","Collapse","Text","cn","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","sourcesVariants","slots","root","trigger","triggerLabel","content","source","sourceTitle","sourceHost","SourcesContext","useSources","component","context","Error","SourcesRoot","className","open","openProp","defaultOpen","onOpenChange","children","props","internalOpen","setInternalOpen","isControlled","undefined","setOpen","next","Provider","value","displayName","SourcesTrigger","count","onPress","reducedMotion","progress","duration","chevronStyle","transform","rotate","accessibilityRole","accessibilityState","expanded","event","style","size","SourcesContent","SourcesSource","href","title","icon","host","hostOf","accessibilityLabel","openURL","catch","numberOfLines","match","exec","replace","Sources","Object","assign","Trigger","Content","Source"],"sourceRoot":"../../../../src","sources":["components/sources/index.tsx"],"mappings":"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","ignoreList":[]}