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.
- package/lib/module/components/fab/index.js +798 -53
- package/lib/module/components/fab/index.js.map +1 -1
- package/lib/module/components/section-progress/index.js +637 -0
- package/lib/module/components/section-progress/index.js.map +1 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/use-scroll-sections.js +58 -4
- package/lib/module/hooks/use-scroll-sections.js.map +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/native/index.js +55 -0
- package/lib/module/native/index.js.map +1 -1
- package/lib/module/primitives/glass.js +92 -9
- package/lib/module/primitives/glass.js.map +1 -1
- package/lib/typescript/src/components/fab/index.d.ts +133 -1
- package/lib/typescript/src/components/fab/index.d.ts.map +1 -1
- package/lib/typescript/src/components/section-progress/index.d.ts +156 -0
- package/lib/typescript/src/components/section-progress/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/index.d.ts +1 -1
- package/lib/typescript/src/hooks/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/use-scroll-sections.d.ts +24 -0
- package/lib/typescript/src/hooks/use-scroll-sections.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/native/index.d.ts +115 -0
- package/lib/typescript/src/native/index.d.ts.map +1 -1
- package/lib/typescript/src/primitives/glass.d.ts +40 -2
- package/lib/typescript/src/primitives/glass.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/fab/index.tsx +967 -66
- package/src/components/section-progress/index.tsx +813 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-scroll-sections.ts +84 -5
- package/src/index.ts +21 -1
- package/src/native/index.ts +146 -0
- 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","
|
|
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":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -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";
|
package/lib/module/index.js.map
CHANGED
|
@@ -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;;
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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","
|
|
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":[]}
|