panelui-native 0.89.0 → 0.91.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 (35) hide show
  1. package/lib/module/components/fab/index.js +798 -53
  2. package/lib/module/components/fab/index.js.map +1 -1
  3. package/lib/module/components/section-progress/index.js +637 -0
  4. package/lib/module/components/section-progress/index.js.map +1 -0
  5. package/lib/module/hooks/index.js.map +1 -1
  6. package/lib/module/hooks/use-scroll-sections.js +58 -4
  7. package/lib/module/hooks/use-scroll-sections.js.map +1 -1
  8. package/lib/module/index.js +2 -1
  9. package/lib/module/index.js.map +1 -1
  10. package/lib/module/native/index.js +55 -0
  11. package/lib/module/native/index.js.map +1 -1
  12. package/lib/module/primitives/glass.js +92 -9
  13. package/lib/module/primitives/glass.js.map +1 -1
  14. package/lib/typescript/src/components/fab/index.d.ts +133 -1
  15. package/lib/typescript/src/components/fab/index.d.ts.map +1 -1
  16. package/lib/typescript/src/components/section-progress/index.d.ts +156 -0
  17. package/lib/typescript/src/components/section-progress/index.d.ts.map +1 -0
  18. package/lib/typescript/src/hooks/index.d.ts +1 -1
  19. package/lib/typescript/src/hooks/index.d.ts.map +1 -1
  20. package/lib/typescript/src/hooks/use-scroll-sections.d.ts +24 -0
  21. package/lib/typescript/src/hooks/use-scroll-sections.d.ts.map +1 -1
  22. package/lib/typescript/src/index.d.ts +3 -2
  23. package/lib/typescript/src/index.d.ts.map +1 -1
  24. package/lib/typescript/src/native/index.d.ts +115 -0
  25. package/lib/typescript/src/native/index.d.ts.map +1 -1
  26. package/lib/typescript/src/primitives/glass.d.ts +40 -2
  27. package/lib/typescript/src/primitives/glass.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/src/components/fab/index.tsx +967 -66
  30. package/src/components/section-progress/index.tsx +813 -0
  31. package/src/hooks/index.ts +1 -0
  32. package/src/hooks/use-scroll-sections.ts +84 -5
  33. package/src/index.ts +21 -1
  34. package/src/native/index.ts +146 -0
  35. package/src/primitives/glass.tsx +116 -11
@@ -25,8 +25,24 @@
25
25
  *
26
26
  * <SectionRail value={sections.active} onValueChange={sections.scrollTo}>…</SectionRail>
27
27
  * ```
28
+ *
29
+ * It also publishes the scroll position itself, as `scroll`, so a component
30
+ * that wants a percentage as well as a section name does not need a second
31
+ * scroll listener to get one. The three values are everything a fraction is
32
+ * made of, and they come out of the event this hook is already handling.
28
33
  */
29
34
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
35
+ import { useSharedValue } from 'react-native-reanimated';
36
+
37
+ /**
38
+ * Where the scroller is, as shared values.
39
+ *
40
+ * Written from the scroll handler on the JavaScript thread, which is where the
41
+ * section tracking already runs — so they arrive at `scrollEventThrottle`
42
+ * rather than every frame, and anything reading them should ease towards the
43
+ * value rather than jumping to it.
44
+ */
45
+
30
46
  /**
31
47
  * How long a programmatic scroll is given to arrive before the scroll handler
32
48
  * starts believing positions again. Only reached when the scroll had nowhere to
@@ -43,6 +59,9 @@ export function useScrollSections({
43
59
  const offsets = useRef({});
44
60
  const settle = useRef(null);
45
61
  const [active, setActive] = useState(ids[0]);
62
+ const scrollOffset = useSharedValue(0);
63
+ const viewport = useSharedValue(0);
64
+ const content = useSharedValue(0);
46
65
 
47
66
  // Read inside the scroll handler, which must not be re-created on every
48
67
  // render — a new handler each frame would defeat the throttle.
@@ -64,13 +83,27 @@ export function useScrollSections({
64
83
  */
65
84
  const jumpingTo = useRef(null);
66
85
  const onScroll = useCallback(event => {
67
- // Mid-jump, the position is the animation's and not the reader's.
68
- if (jumpingTo.current !== null) return;
69
86
  const {
70
87
  contentOffset,
71
88
  layoutMeasurement,
72
89
  contentSize
73
90
  } = event.nativeEvent;
91
+
92
+ /*
93
+ * The position is published before the jump guard, not after it.
94
+ *
95
+ * A jump is still travel: the page really is moving under the reader, and
96
+ * a progress indicator that froze for the length of the animation would
97
+ * be reporting something that is not true. What the guard protects is the
98
+ * *section*, which the reader chose and which should not flicker through
99
+ * every heading the scroll passes on the way there.
100
+ */
101
+ scrollOffset.value = contentOffset.y;
102
+ viewport.value = layoutMeasurement.height;
103
+ content.value = contentSize.height;
104
+
105
+ // Mid-jump, the position is the animation's and not the reader's.
106
+ if (jumpingTo.current !== null) return;
74
107
  const list = idsRef.current;
75
108
  if (!list.length) return;
76
109
  const atEnd = contentOffset.y + layoutMeasurement.height >= contentSize.height - endThreshold;
@@ -85,7 +118,20 @@ export function useScrollSections({
85
118
  if (top !== undefined && top <= line) current = id;
86
119
  }
87
120
  setActive(current);
88
- }, [offset, endThreshold]);
121
+ }, [offset, endThreshold, scrollOffset, viewport, content]);
122
+
123
+ /*
124
+ * Seeded at layout as well as on scroll, so a page that has not been touched
125
+ * yet still reports a viewport and a content height. Without these the
126
+ * fraction is zero over zero until the first scroll event, and anything
127
+ * drawing it starts by being wrong rather than by being empty.
128
+ */
129
+ const onLayout = useCallback(event => {
130
+ viewport.value = event.nativeEvent.layout.height;
131
+ }, [viewport]);
132
+ const onContentSizeChange = useCallback((_width, height) => {
133
+ content.value = height;
134
+ }, [content]);
89
135
  const scrollTo = useCallback(id => {
90
136
  const top = offsets.current[id];
91
137
  if (top === undefined) return;
@@ -118,11 +164,19 @@ export function useScrollSections({
118
164
  const scrollProps = useMemo(() => ({
119
165
  onScroll,
120
166
  onMomentumScrollEnd,
167
+ onLayout,
168
+ onContentSizeChange,
121
169
  scrollEventThrottle: 16
122
- }), [onScroll, onMomentumScrollEnd]);
170
+ }), [onScroll, onMomentumScrollEnd, onLayout, onContentSizeChange]);
171
+ const scroll = useMemo(() => ({
172
+ offset: scrollOffset,
173
+ viewport,
174
+ content
175
+ }), [scrollOffset, viewport, content]);
123
176
  return {
124
177
  ref,
125
178
  active,
179
+ scroll,
126
180
  scrollProps,
127
181
  measure,
128
182
  scrollTo
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","JUMP_TIMEOUT","useScrollSections","ids","offset","endThreshold","scrollPadding","ref","offsets","settle","active","setActive","idsRef","current","measure","id","event","nativeEvent","layout","y","jumpingTo","onScroll","contentOffset","layoutMeasurement","contentSize","list","length","atEnd","height","line","top","undefined","scrollTo","clearTimeout","setTimeout","Math","max","animated","onMomentumScrollEnd","scrollProps","scrollEventThrottle"],"sourceRoot":"../../../src","sources":["hooks/use-scroll-sections.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","useSharedValue","JUMP_TIMEOUT","useScrollSections","ids","offset","endThreshold","scrollPadding","ref","offsets","settle","active","setActive","scrollOffset","viewport","content","idsRef","current","measure","id","event","nativeEvent","layout","y","jumpingTo","onScroll","contentOffset","layoutMeasurement","contentSize","value","height","list","length","atEnd","line","top","undefined","onLayout","onContentSizeChange","_width","scrollTo","clearTimeout","setTimeout","Math","max","animated","onMomentumScrollEnd","scrollProps","scrollEventThrottle","scroll"],"sourceRoot":"../../../src","sources":["hooks/use-scroll-sections.ts"],"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,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAOzE,SAASC,cAAc,QAA0B,yBAAyB;;AAgB1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkCA;AACA;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAG,GAAG;AAExB,OAAO,SAASC,iBAAiBA,CAAC;EAChCC,GAAG;EACHC,MAAM,GAAG,GAAG;EACZC,YAAY,GAAG,EAAE;EACjBC,aAAa,GAAG;AACQ,CAAC,EAA2B;EACpD,MAAMC,GAAG,GAAGT,MAAM,CAAoB,IAAI,CAAC;EAC3C,MAAMU,OAAO,GAAGV,MAAM,CAAyB,CAAC,CAAC,CAAC;EAClD,MAAMW,MAAM,GAAGX,MAAM,CAAuC,IAAI,CAAC;EACjE,MAAM,CAACY,MAAM,EAAEC,SAAS,CAAC,GAAGZ,QAAQ,CAAqBI,GAAG,CAAC,CAAC,CAAC,CAAC;EAEhE,MAAMS,YAAY,GAAGZ,cAAc,CAAC,CAAC,CAAC;EACtC,MAAMa,QAAQ,GAAGb,cAAc,CAAC,CAAC,CAAC;EAClC,MAAMc,OAAO,GAAGd,cAAc,CAAC,CAAC,CAAC;;EAEjC;EACA;EACA,MAAMe,MAAM,GAAGjB,MAAM,CAACK,GAAG,CAAC;EAC1BY,MAAM,CAACC,OAAO,GAAGb,GAAG;EAEpB,MAAMc,OAAO,GAAGtB,WAAW,CACxBuB,EAAU,IAAMC,KAAwB,IAAK;IAC5CX,OAAO,CAACQ,OAAO,CAACE,EAAE,CAAC,GAAGC,KAAK,CAACC,WAAW,CAACC,MAAM,CAACC,CAAC;EAClD,CAAC,EACD,EACF,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,SAAS,GAAGzB,MAAM,CAAgB,IAAI,CAAC;EAE7C,MAAM0B,QAAQ,GAAG7B,WAAW,CACzBwB,KAA8C,IAAK;IAClD,MAAM;MAAEM,aAAa;MAAEC,iBAAiB;MAAEC;IAAY,CAAC,GAAGR,KAAK,CAACC,WAAW;;IAE3E;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACMR,YAAY,CAACgB,KAAK,GAAGH,aAAa,CAACH,CAAC;IACpCT,QAAQ,CAACe,KAAK,GAAGF,iBAAiB,CAACG,MAAM;IACzCf,OAAO,CAACc,KAAK,GAAGD,WAAW,CAACE,MAAM;;IAElC;IACA,IAAIN,SAAS,CAACP,OAAO,KAAK,IAAI,EAAE;IAEhC,MAAMc,IAAI,GAAGf,MAAM,CAACC,OAAO;IAC3B,IAAI,CAACc,IAAI,CAACC,MAAM,EAAE;IAElB,MAAMC,KAAK,GACTP,aAAa,CAACH,CAAC,GAAGI,iBAAiB,CAACG,MAAM,IAAIF,WAAW,CAACE,MAAM,GAAGxB,YAAY;IACjF,IAAI2B,KAAK,EAAE;MACTrB,SAAS,CAACmB,IAAI,CAACA,IAAI,CAACC,MAAM,GAAG,CAAC,CAAC,CAAC;MAChC;IACF;IAEA,MAAME,IAAI,GAAGR,aAAa,CAACH,CAAC,GAAGlB,MAAM;IACrC,IAAIY,OAAO,GAAGc,IAAI,CAAC,CAAC,CAAC;IACrB,KAAK,MAAMZ,EAAE,IAAIY,IAAI,EAAE;MACrB,MAAMI,GAAG,GAAG1B,OAAO,CAACQ,OAAO,CAACE,EAAE,CAAC;MAC/B,IAAIgB,GAAG,KAAKC,SAAS,IAAID,GAAG,IAAID,IAAI,EAAEjB,OAAO,GAAGE,EAAE;IACpD;IACAP,SAAS,CAACK,OAAO,CAAC;EACpB,CAAC,EACD,CAACZ,MAAM,EAAEC,YAAY,EAAEO,YAAY,EAAEC,QAAQ,EAAEC,OAAO,CACxD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMsB,QAAQ,GAAGzC,WAAW,CACzBwB,KAAwB,IAAK;IAC5BN,QAAQ,CAACe,KAAK,GAAGT,KAAK,CAACC,WAAW,CAACC,MAAM,CAACQ,MAAM;EAClD,CAAC,EACD,CAAChB,QAAQ,CACX,CAAC;EAED,MAAMwB,mBAAmB,GAAG1C,WAAW,CACrC,CAAC2C,MAAc,EAAET,MAAc,KAAK;IAClCf,OAAO,CAACc,KAAK,GAAGC,MAAM;EACxB,CAAC,EACD,CAACf,OAAO,CACV,CAAC;EAED,MAAMyB,QAAQ,GAAG5C,WAAW,CACzBuB,EAAU,IAAK;IACd,MAAMgB,GAAG,GAAG1B,OAAO,CAACQ,OAAO,CAACE,EAAE,CAAC;IAC/B,IAAIgB,GAAG,KAAKC,SAAS,EAAE;IACvBZ,SAAS,CAACP,OAAO,GAAGE,EAAE;IACtB,IAAIT,MAAM,CAACO,OAAO,EAAEwB,YAAY,CAAC/B,MAAM,CAACO,OAAO,CAAC;IAChD;AACN;AACA;AACA;AACA;IACMP,MAAM,CAACO,OAAO,GAAGyB,UAAU,CAAC,MAAM;MAChClB,SAAS,CAACP,OAAO,GAAG,IAAI;IAC1B,CAAC,EAAEf,YAAY,CAAC;IAChBU,SAAS,CAACO,EAAE,CAAC;IACbX,GAAG,CAACS,OAAO,EAAEuB,QAAQ,CAAC;MAAEjB,CAAC,EAAEoB,IAAI,CAACC,GAAG,CAACT,GAAG,GAAG5B,aAAa,EAAE,CAAC,CAAC;MAAEsC,QAAQ,EAAE;IAAK,CAAC,CAAC;EAChF,CAAC,EACD,CAACtC,aAAa,CAChB,CAAC;EAED,MAAMuC,mBAAmB,GAAGlD,WAAW,CAAC,MAAM;IAC5C,IAAIc,MAAM,CAACO,OAAO,EAAE;MAClBwB,YAAY,CAAC/B,MAAM,CAACO,OAAO,CAAC;MAC5BP,MAAM,CAACO,OAAO,GAAG,IAAI;IACvB;IACAO,SAAS,CAACP,OAAO,GAAG,IAAI;EAC1B,CAAC,EAAE,EAAE,CAAC;EAENpB,SAAS,CACP,MAAM,MAAM;IACV,IAAIa,MAAM,CAACO,OAAO,EAAEwB,YAAY,CAAC/B,MAAM,CAACO,OAAO,CAAC;EAClD,CAAC,EACD,EACF,CAAC;EAED,MAAM8B,WAAW,GAAGjD,OAAO,CACzB,OAAO;IACL2B,QAAQ;IACRqB,mBAAmB;IACnBT,QAAQ;IACRC,mBAAmB;IACnBU,mBAAmB,EAAE;EACvB,CAAC,CAAC,EACF,CAACvB,QAAQ,EAAEqB,mBAAmB,EAAET,QAAQ,EAAEC,mBAAmB,CAC/D,CAAC;EAED,MAAMW,MAAM,GAAGnD,OAAO,CACpB,OAAO;IAAEO,MAAM,EAAEQ,YAAY;IAAEC,QAAQ;IAAEC;EAAQ,CAAC,CAAC,EACnD,CAACF,YAAY,EAAEC,QAAQ,EAAEC,OAAO,CAClC,CAAC;EAED,OAAO;IAAEP,GAAG;IAAEG,MAAM;IAAEsC,MAAM;IAAEF,WAAW;IAAE7B,OAAO;IAAEsB;EAAS,CAAC;AAChE","ignoreList":[]}
@@ -14,7 +14,7 @@ export { Portal, PortalHost, PortalProvider } from "./primitives/portal.js";
14
14
  export { Scrim, hasBlur } from "./primitives/scrim.js";
15
15
  // The material iOS draws its floating controls in, with a solid fallback where
16
16
  // there is none. Public so a surface of your own gets the same treatment.
17
- export { Glass, hasGlass } from "./primitives/glass.js";
17
+ export { Glass, GlassContainer, hasGlass, useGlassMaterial } from "./primitives/glass.js";
18
18
  export { Text } from "./primitives/text.js";
19
19
  export { Collapse } from "./primitives/collapse.js";
20
20
  export { KeyboardAvoider } from "./primitives/keyboard-avoider.js";
@@ -59,6 +59,7 @@ export { RadarChart, useRadarChart } from "./components/radar-chart/index.js";
59
59
  export { Select, useSelectSearch } from "./components/select/index.js";
60
60
  export { SelectionMode, useSelectionMode } from "./components/selection-mode/index.js";
61
61
  export { SectionRail } from "./components/section-rail/index.js";
62
+ export { SectionProgress } from "./components/section-progress/index.js";
62
63
  export { Tabs } from "./components/tabs/index.js";
63
64
  export { Table } from "./components/table/index.js";
64
65
  export { Carousel, useCarouselState } from "./components/carousel/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":["PanelUIProvider","useTheme","useThemeMode","PANEL_THEMES","PANEL_THEME_NAMES","PANEL_EXTRA_THEMES","Portal","PortalHost","PortalProvider","Scrim","hasBlur","Glass","hasGlass","Text","Collapse","KeyboardAvoider","AnimatedPressable","ScrollProgress","useScrollProgress","hasNativeUI","hasHaptics","selectionTick","Accordion","Alert","Avatar","Attachment","AreaChart","useAreaChart","AnimatedBadge","Badge","BarChart","useBarChart","CandlestickChart","useCandlestickChart","BottomSheet","Breadcrumb","Button","ButtonGroup","ToggleButton","ToggleButtonGroup","useToggleButton","DatePicker","DateTimePicker","Dialog","Feedback","Soundwave","Direction","useDirection","useDirectionSign","Fab","Flow","FlipCard","useFlipCard","FunnelChart","useFunnelChart","Frame","GridItem","HeatmapChart","useHeatmapChart","buildHeatmapCalendar","HexChart","useHexChart","Map","useMap","hasMapLibre","CARTO_SOURCE","RadarChart","useRadarChart","Select","useSelectSearch","SelectionMode","useSelectionMode","SectionRail","Tabs","Table","Carousel","useCarouselState","Calendar","Card","Checkbox","Chip","useChip","CircularText","Collapsible","ColorPicker","Combobox","ContextMenu","Drawer","EmptyState","Field","Form","createForm","useForm","useField","ImageGeneration","Input","InputGroup","NumberInput","OtpInput","SearchBar","Panelside","usePanelside","Pagination","paginationRange","PieChart","usePieChart","LiveLineChart","useLiveLineChart","BubbleChart","useBubbleChart","PyramidChart","usePyramidChart","PolarAreaChart","usePolarAreaChart","Plot","usePlot","usePlotCursor","areaPath","bandOf","barPath","compactNumber","linePath","segment","xAt","xOf","yOf","Textarea","ThemeSelector","useThemeSelection","TagInput","Item","Kpi","Label","LineChart","useLineChart","Loader","MarkdownEditor","Marker","Marquee","Menu","Meter","MessageScroller","useMessageScroller","useMessageScrollerVisibility","Message","Popover","usePopoverAnchor","Planner","Post","Progress","ProgressButton","useProgressButton","QRCode","Questionnaire","RadioGroup","Rating","RingChart","useRingChart","ScatterChart","useScatterChart","ScrollBlur","ScrollFade","Separator","Signature","hasSignatureFileSystem","hasSignatureRaster","AIInput","Shimmer","Reasoning","Response","Sources","Task","CodeBlock","resolveLanguage","Plan","ScrollText","TextAnimation","ScrollCanvas","ThinkingOrb","Skeleton","SlideButton","useSlideButton","Slider","Sortable","reorderItems","useSortableItem","Spinner","Splitter","SplitView","useSplitView","Steps","Surface","Swipe","useSwipeGroup","Switch","TimePicker","Timeline","Toast","ToastViewport","toast","useToast","TreemapChart","useTreemapChart","squarifyLayout","Tree","Tooltip","Tour","Typography","WaterfallChart","useWaterfallChart","waterfallSteps","AlertTriangleIcon","AppleIcon","ArrowDownIcon","ArrowUpIcon","ArrowUpRightIcon","AudioLinesIcon","BadgeCheckIcon","BellIcon","BookmarkIcon","BoldIcon","CalendarIcon","CameraIcon","CardIcon","CheckCircleIcon","CheckIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronsUpDownIcon","ChevronUpIcon","CircleIcon","CodeIcon","ClockIcon","CompassIcon","CopyIcon","CrosshairIcon","DownloadIcon","EllipsisIcon","EyeIcon","FacebookIcon","FileIcon","FolderIcon","FolderOpenIcon","GlobeIcon","GoogleIcon","HeartIcon","HeadingIcon","IconColorProvider","InfoIcon","ItalicIcon","ImageIcon","KeyboardIcon","LinkIcon","ListIcon","ListChecksIcon","ListOrderedIcon","LockIcon","MaximizeIcon","MenuIcon","MessageCircleIcon","MicIcon","MinusIcon","MoonIcon","PackageIcon","PaperclipIcon","PauseIcon","PencilIcon","PlayIcon","PlusIcon","PlusSquareIcon","QuoteIcon","ReceiptIcon","RepeatIcon","RotateCcwIcon","RotateCwIcon","SearchIcon","SendArrowIcon","SendIcon","ShareNodesIcon","ShieldAlertIcon","ShieldCheckIcon","SparklesIcon","StarIcon","SunIcon","TrashIcon","UnlockIcon","XIcon","useIconColor","cn","formatColor","hsvToCss","hsvToHex","hsvToHsl","hsvToRgb","isValidColor","parseColor","rgbToHsv","clampTime","compareTime","displayHour","formatTime","isSameTime","isTimeInRange","meridiemLabels","minutesToTime","roundToStep","timeFromDate","timeToDate","timeToMinutes","timesOfDay"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PanelUIProvider","useTheme","useThemeMode","PANEL_THEMES","PANEL_THEME_NAMES","PANEL_EXTRA_THEMES","Portal","PortalHost","PortalProvider","Scrim","hasBlur","Glass","GlassContainer","hasGlass","useGlassMaterial","Text","Collapse","KeyboardAvoider","AnimatedPressable","ScrollProgress","useScrollProgress","hasNativeUI","hasHaptics","selectionTick","Accordion","Alert","Avatar","Attachment","AreaChart","useAreaChart","AnimatedBadge","Badge","BarChart","useBarChart","CandlestickChart","useCandlestickChart","BottomSheet","Breadcrumb","Button","ButtonGroup","ToggleButton","ToggleButtonGroup","useToggleButton","DatePicker","DateTimePicker","Dialog","Feedback","Soundwave","Direction","useDirection","useDirectionSign","Fab","Flow","FlipCard","useFlipCard","FunnelChart","useFunnelChart","Frame","GridItem","HeatmapChart","useHeatmapChart","buildHeatmapCalendar","HexChart","useHexChart","Map","useMap","hasMapLibre","CARTO_SOURCE","RadarChart","useRadarChart","Select","useSelectSearch","SelectionMode","useSelectionMode","SectionRail","SectionProgress","Tabs","Table","Carousel","useCarouselState","Calendar","Card","Checkbox","Chip","useChip","CircularText","Collapsible","ColorPicker","Combobox","ContextMenu","Drawer","EmptyState","Field","Form","createForm","useForm","useField","ImageGeneration","Input","InputGroup","NumberInput","OtpInput","SearchBar","Panelside","usePanelside","Pagination","paginationRange","PieChart","usePieChart","LiveLineChart","useLiveLineChart","BubbleChart","useBubbleChart","PyramidChart","usePyramidChart","PolarAreaChart","usePolarAreaChart","Plot","usePlot","usePlotCursor","areaPath","bandOf","barPath","compactNumber","linePath","segment","xAt","xOf","yOf","Textarea","ThemeSelector","useThemeSelection","TagInput","Item","Kpi","Label","LineChart","useLineChart","Loader","MarkdownEditor","Marker","Marquee","Menu","Meter","MessageScroller","useMessageScroller","useMessageScrollerVisibility","Message","Popover","usePopoverAnchor","Planner","Post","Progress","ProgressButton","useProgressButton","QRCode","Questionnaire","RadioGroup","Rating","RingChart","useRingChart","ScatterChart","useScatterChart","ScrollBlur","ScrollFade","Separator","Signature","hasSignatureFileSystem","hasSignatureRaster","AIInput","Shimmer","Reasoning","Response","Sources","Task","CodeBlock","resolveLanguage","Plan","ScrollText","TextAnimation","ScrollCanvas","ThinkingOrb","Skeleton","SlideButton","useSlideButton","Slider","Sortable","reorderItems","useSortableItem","Spinner","Splitter","SplitView","useSplitView","Steps","Surface","Swipe","useSwipeGroup","Switch","TimePicker","Timeline","Toast","ToastViewport","toast","useToast","TreemapChart","useTreemapChart","squarifyLayout","Tree","Tooltip","Tour","Typography","WaterfallChart","useWaterfallChart","waterfallSteps","AlertTriangleIcon","AppleIcon","ArrowDownIcon","ArrowUpIcon","ArrowUpRightIcon","AudioLinesIcon","BadgeCheckIcon","BellIcon","BookmarkIcon","BoldIcon","CalendarIcon","CameraIcon","CardIcon","CheckCircleIcon","CheckIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronsUpDownIcon","ChevronUpIcon","CircleIcon","CodeIcon","ClockIcon","CompassIcon","CopyIcon","CrosshairIcon","DownloadIcon","EllipsisIcon","EyeIcon","FacebookIcon","FileIcon","FolderIcon","FolderOpenIcon","GlobeIcon","GoogleIcon","HeartIcon","HeadingIcon","IconColorProvider","InfoIcon","ItalicIcon","ImageIcon","KeyboardIcon","LinkIcon","ListIcon","ListChecksIcon","ListOrderedIcon","LockIcon","MaximizeIcon","MenuIcon","MessageCircleIcon","MicIcon","MinusIcon","MoonIcon","PackageIcon","PaperclipIcon","PauseIcon","PencilIcon","PlayIcon","PlusIcon","PlusSquareIcon","QuoteIcon","ReceiptIcon","RepeatIcon","RotateCcwIcon","RotateCwIcon","SearchIcon","SendArrowIcon","SendIcon","ShareNodesIcon","ShieldAlertIcon","ShieldCheckIcon","SparklesIcon","StarIcon","SunIcon","TrashIcon","UnlockIcon","XIcon","useIconColor","cn","formatColor","hsvToCss","hsvToHex","hsvToHsl","hsvToRgb","isValidColor","parseColor","rgbToHsv","clampTime","compareTime","displayHour","formatTime","isSameTime","isTimeInRange","meridiemLabels","minutesToTime","roundToStep","timeFromDate","timeToDate","timeToMinutes","timesOfDay"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -101,6 +101,61 @@ export function getSwiftUI() {
101
101
  }
102
102
  return swiftUI;
103
103
  }
104
+
105
+ /**
106
+ * A hosting boundary, as both toolkits declare it. The same three props matter
107
+ * on either side — see `NativeUIModule.Host` above for what each one costs.
108
+ */
109
+
110
+ /**
111
+ * SwiftUI's menu, and the button that fills a row of it.
112
+ *
113
+ * Separate from `getSwiftUI` on purpose: that resolver refuses a module with no
114
+ * popover in it, and a version that ships one control but not the other would
115
+ * take the menu down with it. Each native path asks only for what it needs.
116
+ */
117
+
118
+ let swiftUIMenuResolved = false;
119
+ let swiftUIMenu = null;
120
+ export function getSwiftUIMenu() {
121
+ if (swiftUIMenuResolved) return swiftUIMenu;
122
+ swiftUIMenuResolved = true;
123
+ if (Platform.OS !== 'ios') return null;
124
+ try {
125
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
126
+ const module = require('@expo/ui/swift-ui');
127
+ swiftUIMenu = module.Host && module.RNHostView && module.Menu && module.Button ? module : null;
128
+ } catch {
129
+ swiftUIMenu = null;
130
+ }
131
+ return swiftUIMenu;
132
+ }
133
+
134
+ /**
135
+ * Compose's dropdown menu — the same instruction, answered by a different
136
+ * control.
137
+ *
138
+ * It is not the shape SwiftUI's menu is. This one is controlled: it takes the
139
+ * open state rather than owning it, and it splits the trigger and the items
140
+ * into named slots instead of reading the label off a prop. Both differences
141
+ * reach the caller, so they are written out here rather than smoothed over.
142
+ */
143
+
144
+ let composeMenuResolved = false;
145
+ let composeMenu = null;
146
+ export function getComposeMenu() {
147
+ if (composeMenuResolved) return composeMenu;
148
+ composeMenuResolved = true;
149
+ if (Platform.OS !== 'android') return null;
150
+ try {
151
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
152
+ const module = require('@expo/ui/jetpack-compose');
153
+ composeMenu = module.Host && module.RNHostView && module.DropdownMenu && module.DropdownMenuItem ? module : null;
154
+ } catch {
155
+ composeMenu = null;
156
+ }
157
+ return composeMenu;
158
+ }
104
159
  let modifiersResolved = false;
105
160
  let modifiers = null;
106
161
  export function getSwiftUIModifiers() {
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","NativeHost","resolved","module","getNativeUI","OS","require","hasNativeUI","swiftUIResolved","swiftUI","getSwiftUI","Host","RNHostView","Popover","modifiersResolved","modifiers","getSwiftUIModifiers","composeResolved","compose","getComposeModifiers"],"sourceRoot":"../../../src","sources":["native/index.ts"],"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,SAASA,QAAQ,QAAQ,cAAc;AAGvC,SAASC,UAAU,QAA8B,kBAAe;AA+EhE,IAAIC,QAAQ,GAAG,KAAK;AACpB,IAAIC,MAA6B,GAAG,IAAI;;AAExC;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAA,EAA0B;EACnD,IAAIF,QAAQ,EAAE,OAAOC,MAAM;EAC3BD,QAAQ,GAAG,IAAI;;EAEf;EACA;EACA,IAAIF,QAAQ,CAACK,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EAEtC,IAAI;IACF;IACAF,MAAM,GAAGG,OAAO,CAAC,UAAU,CAAmB;EAChD,CAAC,CAAC,MAAM;IACNH,MAAM,GAAG,IAAI;EACf;EAEA,OAAOA,MAAM;AACf;;AAEA;AACA,OAAO,SAASI,WAAWA,CAAA,EAAY;EACrC,OAAOH,WAAW,CAAC,CAAC,KAAK,IAAI;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAuBA,IAAII,eAAe,GAAG,KAAK;AAC3B,IAAIC,OAAiC,GAAG,IAAI;AAE5C,OAAO,SAASC,UAAUA,CAAA,EAA6B;EACrD,IAAIF,eAAe,EAAE,OAAOC,OAAO;EACnCD,eAAe,GAAG,IAAI;EAEtB,IAAIR,QAAQ,CAACK,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EAEtC,IAAI;IACF;IACA,MAAMF,MAAM,GAAGG,OAAO,CAAC,mBAAmB,CAA+B;IACzE;IACA;IACAG,OAAO,GACLN,MAAM,CAACQ,IAAI,IAAIR,MAAM,CAACS,UAAU,IAAIT,MAAM,CAACU,OAAO,GAC7CV,MAAM,GACP,IAAI;EACZ,CAAC,CAAC,MAAM;IACNM,OAAO,GAAG,IAAI;EAChB;EAEA,OAAOA,OAAO;AAChB;AAEA,IAAIK,iBAAiB,GAAG,KAAK;AAC7B,IAAIC,SAAkC,GAAG,IAAI;AAE7C,OAAO,SAASC,mBAAmBA,CAAA,EAA4B;EAC7D,IAAIF,iBAAiB,EAAE,OAAOC,SAAS;EACvCD,iBAAiB,GAAG,IAAI;EAExB,IAAId,QAAQ,CAACK,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EAEtC,IAAI;IACF;IACAU,SAAS,GAAGT,OAAO,CAAC,6BAA6B,CAAqB;EACxE,CAAC,CAAC,MAAM;IACNS,SAAS,GAAG,IAAI;EAClB;EAEA,OAAOA,SAAS;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,IAAIE,eAAe,GAAG,KAAK;AAC3B,IAAIC,OAAgC,GAAG,IAAI;AAE3C,OAAO,SAASC,mBAAmBA,CAAA,EAA4B;EAC7D,IAAIF,eAAe,EAAE,OAAOC,OAAO;EACnCD,eAAe,GAAG,IAAI;EAEtB,IAAIjB,QAAQ,CAACK,EAAE,KAAK,SAAS,EAAE,OAAO,IAAI;EAE1C,IAAI;IACF;IACAa,OAAO,GAAGZ,OAAO,CAAC,oCAAoC,CAAqB;EAC7E,CAAC,CAAC,MAAM;IACNY,OAAO,GAAG,IAAI;EAChB;EAEA,OAAOA,OAAO;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["Platform","NativeHost","resolved","module","getNativeUI","OS","require","hasNativeUI","swiftUIResolved","swiftUI","getSwiftUI","Host","RNHostView","Popover","swiftUIMenuResolved","swiftUIMenu","getSwiftUIMenu","Menu","Button","composeMenuResolved","composeMenu","getComposeMenu","DropdownMenu","DropdownMenuItem","modifiersResolved","modifiers","getSwiftUIModifiers","composeResolved","compose","getComposeModifiers"],"sourceRoot":"../../../src","sources":["native/index.ts"],"mappings":"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","ignoreList":[]}
@@ -38,13 +38,18 @@
38
38
  * its own corners — clipping a square one to a rounded parent throws away the
39
39
  * lit edge that makes it read as glass.
40
40
  *
41
+ * `interactive` is the one exception to the layer: the platform only animates
42
+ * the glass under a touch it can see, so with it on the material is the box
43
+ * and the children are hosted inside it, in normal flow. Reach for it when
44
+ * the glass *is* the button.
45
+ *
41
46
  * ## Do not fade it
42
47
  *
43
48
  * Setting `opacity` to `0` on the material or on anything above it stops it
44
49
  * rendering at all, and it does not come back when the opacity does. Move it,
45
50
  * or unmount it; never animate it out.
46
51
  */
47
-
52
+ import { forwardRef } from 'react';
48
53
  import { Platform, StyleSheet, View } from 'react-native';
49
54
  import { useThemeMode } from "../theme/use-theme.js";
50
55
  import { cn } from "../utils/cn.js";
@@ -73,8 +78,7 @@ function shapeOf(radius) {
73
78
  };
74
79
  }
75
80
  /**
76
- * `expo-glass-effect`'s GlassView, or null when the material cannot be drawn
77
- * here.
81
+ * `expo-glass-effect`, or null when the material cannot be drawn here.
78
82
  *
79
83
  * Resolved once at module load, behind three gates that all have to pass. The
80
84
  * package is optional, so the require can fail; the API is missing from some
@@ -83,7 +87,7 @@ function shapeOf(radius) {
83
87
  * cheaper than a try/catch on every render, and there is no answer that can
84
88
  * change while the process is alive.
85
89
  */
86
- const GlassView = (() => {
90
+ const glassModule = (() => {
87
91
  if (Platform.OS !== 'ios') return null;
88
92
  try {
89
93
  // eslint-disable-next-line @typescript-eslint/no-require-imports
@@ -94,11 +98,13 @@ const GlassView = (() => {
94
98
  if (typeof mod?.isLiquidGlassAvailable === 'function' && !mod.isLiquidGlassAvailable()) {
95
99
  return null;
96
100
  }
97
- return mod?.GlassView ?? null;
101
+ return mod?.GlassView ? mod : null;
98
102
  } catch {
99
103
  return null;
100
104
  }
101
105
  })();
106
+ const GlassView = glassModule?.GlassView ?? null;
107
+ const GlassContainerView = glassModule?.GlassContainer ?? null;
102
108
 
103
109
  /**
104
110
  * True when the real material can be drawn — for a caller that wants to know
@@ -106,17 +112,32 @@ const GlassView = (() => {
106
112
  * is a live preference and belongs to the hook.
107
113
  */
108
114
  export const hasGlass = GlassView !== null;
115
+
116
+ /**
117
+ * Whether the material will actually be drawn right now: the API is present
118
+ * *and* the user has not switched Reduce Transparency on.
119
+ *
120
+ * For a component that changes shape around the material — dropping a fill, a
121
+ * border or a shadow the glass replaces — so that it makes the same decision
122
+ * `Glass` makes and never strips the fill while leaving nothing behind it.
123
+ */
124
+ export function useGlassMaterial() {
125
+ const reduceTransparency = useReduceTransparency();
126
+ // Not knowing yet counts as "do not draw it": the material arriving a frame
127
+ // late is invisible, and one flashing at somebody who opted out is not.
128
+ return hasGlass && reduceTransparency === false;
129
+ }
109
130
  export function Glass({
110
131
  variant = 'regular',
111
132
  tint,
112
133
  radius,
134
+ interactive = false,
113
135
  fallbackClassName = 'bg-card',
114
136
  className,
115
137
  children,
116
138
  style,
117
139
  ...props
118
140
  }) {
119
- const reduceTransparency = useReduceTransparency();
120
141
  /*
121
142
  * Which appearance the material is drawn in, from the app's theme rather
122
143
  * than the phone's.
@@ -129,10 +150,32 @@ export function Glass({
129
150
  const {
130
151
  mode
131
152
  } = useThemeMode();
132
- // Not knowing yet counts as "do not draw it": the material arriving a frame
133
- // late is invisible, and one flashing at somebody who opted out is not.
134
- const material = GlassView !== null && reduceTransparency === false;
153
+ const material = useGlassMaterial();
135
154
  const shape = shapeOf(radius);
155
+
156
+ /*
157
+ * Interactive, the material is the box rather than a layer in it. The
158
+ * platform only tracks a touch that lands inside the glass view, so the
159
+ * content has to be hosted in it — and hosted in normal flow, so that a
160
+ * box sized by its content still is. A layer pinned to the box's edges
161
+ * could not size it, and a button as wide as its label would collapse to
162
+ * its minimum. The classes go on a view inside, because the native view is
163
+ * not a styled one; only the positional style stays on the outside.
164
+ */
165
+ if (material && GlassView && interactive) {
166
+ return /*#__PURE__*/_jsx(GlassView, {
167
+ glassEffectStyle: variant,
168
+ tintColor: tint,
169
+ isInteractive: true,
170
+ colorScheme: mode,
171
+ style: [shape, style],
172
+ ...props,
173
+ children: /*#__PURE__*/_jsx(View, {
174
+ className: className,
175
+ children: children
176
+ })
177
+ });
178
+ }
136
179
  return /*#__PURE__*/_jsxs(View, {
137
180
  className: cn('overflow-hidden', material ? null : fallbackClassName, className),
138
181
  style: [shape, style],
@@ -147,4 +190,44 @@ export function Glass({
147
190
  });
148
191
  }
149
192
  Glass.displayName = 'Glass';
193
+ /**
194
+ * Lets the glass inside it merge.
195
+ *
196
+ * On its own each piece of the material is a separate object with its own
197
+ * lit edge. Inside a container, pieces within `spacing` of each other flow
198
+ * together — which is what makes a button that opens into other buttons look
199
+ * like one thing dividing rather than several things arriving. A plain view
200
+ * wherever the material is not drawn, so it can be written unconditionally.
201
+ */
202
+ export const GlassContainer = /*#__PURE__*/forwardRef(({
203
+ spacing,
204
+ className,
205
+ style,
206
+ children,
207
+ ...props
208
+ }, ref) => {
209
+ const material = useGlassMaterial();
210
+ if (material && GlassContainerView) {
211
+ // The native container is not a styled view, so the classes go on a
212
+ // view inside it and only the positional style stays on the outside.
213
+ return /*#__PURE__*/_jsx(GlassContainerView, {
214
+ ref: ref,
215
+ spacing: spacing,
216
+ style: style,
217
+ ...props,
218
+ children: /*#__PURE__*/_jsx(View, {
219
+ className: className,
220
+ children: children
221
+ })
222
+ });
223
+ }
224
+ return /*#__PURE__*/_jsx(View, {
225
+ ref: ref,
226
+ className: className,
227
+ style: style,
228
+ ...props,
229
+ children: children
230
+ });
231
+ });
232
+ GlassContainer.displayName = 'GlassContainer';
150
233
  //# sourceMappingURL=glass.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","StyleSheet","View","useThemeMode","cn","useReduceTransparency","jsx","_jsx","jsxs","_jsxs","shapeOf","radius","undefined","borderRadius","borderTopLeftRadius","top","borderTopRightRadius","borderBottomLeftRadius","bottom","borderBottomRightRadius","GlassView","OS","mod","require","isGlassEffectAPIAvailable","isLiquidGlassAvailable","hasGlass","Glass","variant","tint","fallbackClassName","className","children","style","props","reduceTransparency","mode","material","shape","glassEffectStyle","tintColor","colorScheme","pointerEvents","absoluteFill","displayName"],"sourceRoot":"../../../src","sources":["primitives/glass.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","Platform","StyleSheet","View","useThemeMode","cn","useReduceTransparency","jsx","_jsx","jsxs","_jsxs","shapeOf","radius","undefined","borderRadius","borderTopLeftRadius","top","borderTopRightRadius","borderBottomLeftRadius","bottom","borderBottomRightRadius","glassModule","OS","mod","require","isGlassEffectAPIAvailable","isLiquidGlassAvailable","GlassView","GlassContainerView","GlassContainer","hasGlass","useGlassMaterial","reduceTransparency","Glass","variant","tint","interactive","fallbackClassName","className","children","style","props","mode","material","shape","glassEffectStyle","tintColor","isInteractive","colorScheme","pointerEvents","absoluteFill","displayName","spacing","ref"],"sourceRoot":"../../../src","sources":["primitives/glass.tsx"],"mappings":"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","ignoreList":[]}