panelui-native 0.68.0 → 0.73.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/README.md +13 -2
- package/lib/module/components/accordion/index.js +38 -13
- package/lib/module/components/accordion/index.js.map +1 -1
- package/lib/module/components/area-chart/index.js +1 -0
- package/lib/module/components/area-chart/index.js.map +1 -1
- package/lib/module/components/breadcrumb/index.js +2 -1
- package/lib/module/components/breadcrumb/index.js.map +1 -1
- package/lib/module/components/button/index.js +21 -12
- package/lib/module/components/button/index.js.map +1 -1
- package/lib/module/components/carousel/index.js +1 -1
- package/lib/module/components/carousel/index.js.map +1 -1
- package/lib/module/components/chip/index.js +2 -2
- package/lib/module/components/chip/index.js.map +1 -1
- package/lib/module/components/code-block/index.js.map +1 -1
- package/lib/module/components/collapsible/index.js +284 -0
- package/lib/module/components/collapsible/index.js.map +1 -0
- package/lib/module/components/color-picker/index.js.map +1 -1
- package/lib/module/components/fab/index.js +7 -6
- package/lib/module/components/fab/index.js.map +1 -1
- package/lib/module/components/flow/index.js +67 -4
- package/lib/module/components/flow/index.js.map +1 -1
- package/lib/module/components/frame/index.js +2 -2
- package/lib/module/components/frame/index.js.map +1 -1
- package/lib/module/components/grid-item/index.js +2 -2
- package/lib/module/components/grid-item/index.js.map +1 -1
- package/lib/module/components/heatmap-chart/index.js +1 -0
- package/lib/module/components/heatmap-chart/index.js.map +1 -1
- package/lib/module/components/hex-chart/index.js +1 -0
- package/lib/module/components/hex-chart/index.js.map +1 -1
- package/lib/module/components/input-group/index.js +7 -2
- package/lib/module/components/input-group/index.js.map +1 -1
- package/lib/module/components/item/index.js +2 -2
- package/lib/module/components/item/index.js.map +1 -1
- package/lib/module/components/line-chart/index.js +1 -0
- package/lib/module/components/line-chart/index.js.map +1 -1
- package/lib/module/components/live-line-chart/index.js +103 -9
- package/lib/module/components/live-line-chart/index.js.map +1 -1
- package/lib/module/components/live-line-chart/live-line-accessibility.js +47 -0
- package/lib/module/components/live-line-chart/live-line-accessibility.js.map +1 -0
- package/lib/module/components/live-line-chart/live-line-lifecycle.js +33 -0
- package/lib/module/components/live-line-chart/live-line-lifecycle.js.map +1 -0
- package/lib/module/components/marker/index.js +2 -2
- package/lib/module/components/marker/index.js.map +1 -1
- package/lib/module/components/marquee/index.js +191 -0
- package/lib/module/components/marquee/index.js.map +1 -0
- package/lib/module/components/marquee/marquee-math.js +39 -0
- package/lib/module/components/marquee/marquee-math.js.map +1 -0
- package/lib/module/components/menu/index.js +11 -3
- package/lib/module/components/menu/index.js.map +1 -1
- package/lib/module/components/meter/index.js +38 -20
- package/lib/module/components/meter/index.js.map +1 -1
- package/lib/module/components/meter/meter-scale.js +62 -8
- package/lib/module/components/meter/meter-scale.js.map +1 -1
- package/lib/module/components/pagination/index.js +27 -11
- package/lib/module/components/pagination/index.js.map +1 -1
- package/lib/module/components/panelside/index.js +7 -2
- package/lib/module/components/panelside/index.js.map +1 -1
- package/lib/module/components/planner/index.js +159 -64
- package/lib/module/components/planner/index.js.map +1 -1
- package/lib/module/components/planner/planner-announcement.js +30 -0
- package/lib/module/components/planner/planner-announcement.js.map +1 -0
- package/lib/module/components/planner/planner-entries.js +15 -7
- package/lib/module/components/planner/planner-entries.js.map +1 -1
- package/lib/module/components/planner/planner-grid-navigation.js +33 -0
- package/lib/module/components/planner/planner-grid-navigation.js.map +1 -0
- package/lib/module/components/planner/planner-lifecycle.js +45 -0
- package/lib/module/components/planner/planner-lifecycle.js.map +1 -0
- package/lib/module/components/plot/index.js +105 -42
- package/lib/module/components/plot/index.js.map +1 -1
- package/lib/module/components/popover/index.js +2 -2
- package/lib/module/components/popover/index.js.map +1 -1
- package/lib/module/components/post/index.js +4 -4
- package/lib/module/components/post/index.js.map +1 -1
- package/lib/module/components/search-bar/index.js +331 -0
- package/lib/module/components/search-bar/index.js.map +1 -0
- package/lib/module/components/table/index.js +3 -4
- package/lib/module/components/table/index.js.map +1 -1
- package/lib/module/components/timeline/index.js +288 -39
- package/lib/module/components/timeline/index.js.map +1 -1
- package/lib/module/components/toggle-button/index.js +1 -1
- package/lib/module/components/toggle-button/index.js.map +1 -1
- package/lib/module/components/tree/index.js +13 -8
- package/lib/module/components/tree/index.js.map +1 -1
- package/lib/module/hooks/use-keyboard-avoidance.js.map +1 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/primitives/focus-restoration-store.js +52 -0
- package/lib/module/primitives/focus-restoration-store.js.map +1 -0
- package/lib/module/primitives/portal.js +36 -2
- package/lib/module/primitives/portal.js.map +1 -1
- package/lib/module/utils/chart.js +50 -7
- package/lib/module/utils/chart.js.map +1 -1
- package/lib/typescript/src/components/accordion/index.d.ts +6 -2
- package/lib/typescript/src/components/accordion/index.d.ts.map +1 -1
- package/lib/typescript/src/components/area-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/breadcrumb/index.d.ts.map +1 -1
- package/lib/typescript/src/components/button/index.d.ts.map +1 -1
- package/lib/typescript/src/components/code-block/index.d.ts +3 -3
- package/lib/typescript/src/components/code-block/index.d.ts.map +1 -1
- package/lib/typescript/src/components/collapsible/index.d.ts +76 -0
- package/lib/typescript/src/components/collapsible/index.d.ts.map +1 -0
- package/lib/typescript/src/components/color-picker/index.d.ts.map +1 -1
- package/lib/typescript/src/components/fab/index.d.ts +4 -2
- package/lib/typescript/src/components/fab/index.d.ts.map +1 -1
- package/lib/typescript/src/components/flow/index.d.ts +7 -1
- package/lib/typescript/src/components/flow/index.d.ts.map +1 -1
- package/lib/typescript/src/components/heatmap-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/hex-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/input-group/index.d.ts.map +1 -1
- package/lib/typescript/src/components/line-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/live-line-chart/index.d.ts +21 -7
- package/lib/typescript/src/components/live-line-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/live-line-chart/live-line-accessibility.d.ts +22 -0
- package/lib/typescript/src/components/live-line-chart/live-line-accessibility.d.ts.map +1 -0
- package/lib/typescript/src/components/live-line-chart/live-line-lifecycle.d.ts +23 -0
- package/lib/typescript/src/components/live-line-chart/live-line-lifecycle.d.ts.map +1 -0
- package/lib/typescript/src/components/marquee/index.d.ts +73 -0
- package/lib/typescript/src/components/marquee/index.d.ts.map +1 -0
- package/lib/typescript/src/components/marquee/marquee-math.d.ts +21 -0
- package/lib/typescript/src/components/marquee/marquee-math.d.ts.map +1 -0
- package/lib/typescript/src/components/menu/index.d.ts +1 -1
- package/lib/typescript/src/components/menu/index.d.ts.map +1 -1
- package/lib/typescript/src/components/meter/index.d.ts +7 -4
- package/lib/typescript/src/components/meter/index.d.ts.map +1 -1
- package/lib/typescript/src/components/meter/meter-scale.d.ts +39 -0
- package/lib/typescript/src/components/meter/meter-scale.d.ts.map +1 -1
- package/lib/typescript/src/components/pagination/index.d.ts.map +1 -1
- package/lib/typescript/src/components/panelside/index.d.ts +1 -1
- package/lib/typescript/src/components/panelside/index.d.ts.map +1 -1
- package/lib/typescript/src/components/plan/index.d.ts +2 -2
- package/lib/typescript/src/components/planner/index.d.ts.map +1 -1
- package/lib/typescript/src/components/planner/planner-announcement.d.ts +15 -0
- package/lib/typescript/src/components/planner/planner-announcement.d.ts.map +1 -0
- package/lib/typescript/src/components/planner/planner-entries.d.ts +1 -1
- package/lib/typescript/src/components/planner/planner-entries.d.ts.map +1 -1
- package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts +4 -0
- package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts.map +1 -0
- package/lib/typescript/src/components/planner/planner-lifecycle.d.ts +20 -0
- package/lib/typescript/src/components/planner/planner-lifecycle.d.ts.map +1 -0
- package/lib/typescript/src/components/plot/index.d.ts +59 -5
- package/lib/typescript/src/components/plot/index.d.ts.map +1 -1
- package/lib/typescript/src/components/search-bar/index.d.ts +216 -0
- package/lib/typescript/src/components/search-bar/index.d.ts.map +1 -0
- package/lib/typescript/src/components/timeline/index.d.ts +35 -2
- package/lib/typescript/src/components/timeline/index.d.ts.map +1 -1
- package/lib/typescript/src/components/tree/index.d.ts +3 -4
- package/lib/typescript/src/components/tree/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts +2 -2
- package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +4 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/primitives/focus-restoration-store.d.ts +24 -0
- package/lib/typescript/src/primitives/focus-restoration-store.d.ts.map +1 -0
- package/lib/typescript/src/primitives/portal.d.ts +4 -0
- package/lib/typescript/src/primitives/portal.d.ts.map +1 -1
- package/lib/typescript/src/utils/chart.d.ts +28 -3
- package/lib/typescript/src/utils/chart.d.ts.map +1 -1
- package/package.json +36 -3
- package/src/components/accordion/index.tsx +48 -15
- package/src/components/area-chart/index.tsx +8 -0
- package/src/components/breadcrumb/index.tsx +2 -1
- package/src/components/button/index.tsx +14 -6
- package/src/components/carousel/index.tsx +1 -1
- package/src/components/chip/index.tsx +2 -2
- package/src/components/code-block/index.tsx +3 -3
- package/src/components/collapsible/index.tsx +287 -0
- package/src/components/color-picker/index.tsx +3 -2
- package/src/components/fab/index.tsx +21 -11
- package/src/components/flow/index.tsx +94 -15
- package/src/components/frame/index.tsx +2 -2
- package/src/components/grid-item/index.tsx +2 -2
- package/src/components/heatmap-chart/index.tsx +7 -1
- package/src/components/hex-chart/index.tsx +7 -1
- package/src/components/input-group/index.tsx +7 -2
- package/src/components/item/index.tsx +2 -2
- package/src/components/line-chart/index.tsx +9 -0
- package/src/components/live-line-chart/index.tsx +130 -13
- package/src/components/live-line-chart/live-line-accessibility.ts +61 -0
- package/src/components/live-line-chart/live-line-lifecycle.ts +63 -0
- package/src/components/marker/index.tsx +2 -2
- package/src/components/marquee/index.tsx +234 -0
- package/src/components/marquee/marquee-math.ts +37 -0
- package/src/components/menu/index.tsx +11 -3
- package/src/components/meter/index.tsx +49 -26
- package/src/components/meter/meter-scale.ts +84 -8
- package/src/components/pagination/index.tsx +26 -13
- package/src/components/panelside/index.tsx +7 -2
- package/src/components/plan/index.tsx +2 -2
- package/src/components/planner/index.tsx +202 -76
- package/src/components/planner/planner-announcement.ts +37 -0
- package/src/components/planner/planner-entries.ts +16 -7
- package/src/components/planner/planner-grid-navigation.ts +45 -0
- package/src/components/planner/planner-lifecycle.ts +76 -0
- package/src/components/plot/index.tsx +183 -39
- package/src/components/popover/index.tsx +3 -3
- package/src/components/post/index.tsx +4 -4
- package/src/components/search-bar/index.tsx +436 -0
- package/src/components/table/index.tsx +2 -2
- package/src/components/timeline/index.tsx +335 -39
- package/src/components/toggle-button/index.tsx +1 -1
- package/src/components/tree/index.tsx +17 -12
- package/src/hooks/use-keyboard-avoidance.ts +7 -2
- package/src/index.ts +15 -0
- package/src/primitives/focus-restoration-store.ts +70 -0
- package/src/primitives/portal.tsx +34 -2
- package/src/utils/chart.ts +66 -7
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Marquee — content that travels across its container and never runs out.
|
|
5
|
+
*
|
|
6
|
+
* For a strip of logos, a ticker of prices, a row of testimonials: anything
|
|
7
|
+
* whose job is to keep moving past a boundary rather than to be scrolled.
|
|
8
|
+
*
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <Marquee spacing={24} speed={40}>
|
|
11
|
+
* <View className="flex-row gap-6">
|
|
12
|
+
* {sponsors.map((s) => <Logo key={s.id} src={s.logo} />)}
|
|
13
|
+
* </View>
|
|
14
|
+
* </Marquee>
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* ## How it loops
|
|
18
|
+
*
|
|
19
|
+
* The content is measured once, then laid out end to end enough times to cover
|
|
20
|
+
* the container twice over. One track holds every copy and it is that track,
|
|
21
|
+
* not the copies, that moves — a single animated node for any amount of
|
|
22
|
+
* content. It travels exactly one copy-and-gap and starts over, so the state it
|
|
23
|
+
* ends on is the state it began on and the seam never shows.
|
|
24
|
+
*
|
|
25
|
+
* The travel is a linear timing driven on the UI thread, so it costs nothing
|
|
26
|
+
* per frame in JavaScript and keeps running while the thread is busy.
|
|
27
|
+
*
|
|
28
|
+
* ## Measurement needs room
|
|
29
|
+
*
|
|
30
|
+
* The copy that gets measured sits in a hidden scroller, because that is what
|
|
31
|
+
* lets the content report the width it *wants* rather than the width the
|
|
32
|
+
* container would give it. Content with no intrinsic size of its own — a child
|
|
33
|
+
* stretched to `flex-1`, an image with no dimensions — measures as nothing and
|
|
34
|
+
* the marquee will not start.
|
|
35
|
+
*
|
|
36
|
+
* ## Reading direction and reduced motion
|
|
37
|
+
*
|
|
38
|
+
* A horizontal marquee travels toward the end of the line, so it reverses in a
|
|
39
|
+
* right-to-left subtree. `reverse` flips it again from wherever it landed.
|
|
40
|
+
*
|
|
41
|
+
* With the operating system set to reduce motion the content is rendered once
|
|
42
|
+
* and held still. A ticker that never stops is the exact thing that setting is
|
|
43
|
+
* there to turn off, so this is not a shorter animation — it is none.
|
|
44
|
+
*
|
|
45
|
+
* Screen readers get one copy. The rest are duplicates of content already
|
|
46
|
+
* announced, and hearing a sponsor list four times over is not thoroughness.
|
|
47
|
+
*/
|
|
48
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
49
|
+
import { ScrollView, StyleSheet, View } from 'react-native';
|
|
50
|
+
import Animated, { cancelAnimation, Easing, useAnimatedStyle, useReducedMotion, useSharedValue, withRepeat, withTiming } from 'react-native-reanimated';
|
|
51
|
+
import { useDirectionSign } from "../../hooks/use-direction.js";
|
|
52
|
+
import { cn } from "../../utils/cn.js";
|
|
53
|
+
import { DEFAULT_MARQUEE_SPEED, marqueeCopyCount, normalizeMarqueeSpeed } from "./marquee-math.js";
|
|
54
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
55
|
+
export function Marquee({
|
|
56
|
+
className,
|
|
57
|
+
children,
|
|
58
|
+
speed: speedProp = DEFAULT_MARQUEE_SPEED,
|
|
59
|
+
spacing = 0,
|
|
60
|
+
direction = 'horizontal',
|
|
61
|
+
reverse = false,
|
|
62
|
+
playing = true,
|
|
63
|
+
style,
|
|
64
|
+
onLayout,
|
|
65
|
+
...props
|
|
66
|
+
}) {
|
|
67
|
+
const horizontal = direction === 'horizontal';
|
|
68
|
+
const reducedMotion = useReducedMotion();
|
|
69
|
+
// Only the horizontal axis has a reading direction to follow; up is up.
|
|
70
|
+
const sign = useDirectionSign();
|
|
71
|
+
const flip = horizontal ? sign : 1;
|
|
72
|
+
const [viewport, setViewport] = useState(0);
|
|
73
|
+
const [content, setContent] = useState(0);
|
|
74
|
+
const speed = normalizeMarqueeSpeed(speedProp);
|
|
75
|
+
|
|
76
|
+
// The distance from one copy to the same point on the next, and therefore
|
|
77
|
+
// both the layout step and the exact loop length. They are the same number
|
|
78
|
+
// on purpose: taking the gap from anywhere else is how a seam appears.
|
|
79
|
+
const layout = useMemo(() => marqueeCopyCount(viewport, content, spacing), [viewport, content, spacing]);
|
|
80
|
+
const {
|
|
81
|
+
period
|
|
82
|
+
} = layout;
|
|
83
|
+
const copies = useMemo(() => {
|
|
84
|
+
// Enough to span the container, plus one trailing into view and one
|
|
85
|
+
// already past it — the two the travel consumes before the loop restarts.
|
|
86
|
+
return Array.from({
|
|
87
|
+
length: layout.count
|
|
88
|
+
}, (_, index) => index);
|
|
89
|
+
}, [layout.count]);
|
|
90
|
+
const offset = useSharedValue(0);
|
|
91
|
+
useEffect(() => {
|
|
92
|
+
cancelAnimation(offset);
|
|
93
|
+
offset.value = 0;
|
|
94
|
+
if (reducedMotion || !playing || period <= 0 || speed <= 0) return undefined;
|
|
95
|
+
offset.value = withRepeat(withTiming(period, {
|
|
96
|
+
duration: period / speed * 1000,
|
|
97
|
+
easing: Easing.linear
|
|
98
|
+
}), -1, false);
|
|
99
|
+
return () => cancelAnimation(offset);
|
|
100
|
+
}, [offset, period, playing, reducedMotion, speed]);
|
|
101
|
+
const trackStyle = useAnimatedStyle(() => {
|
|
102
|
+
const travel = (reverse ? offset.value : -offset.value) * flip;
|
|
103
|
+
return {
|
|
104
|
+
transform: [horizontal ? {
|
|
105
|
+
translateX: travel
|
|
106
|
+
} : {
|
|
107
|
+
translateY: travel
|
|
108
|
+
}]
|
|
109
|
+
};
|
|
110
|
+
}, [horizontal, reverse, flip]);
|
|
111
|
+
|
|
112
|
+
// The container's own measurement is what sizes the loop, so an `onLayout`
|
|
113
|
+
// passed in is called alongside it rather than replacing it.
|
|
114
|
+
const onContainerLayout = event => {
|
|
115
|
+
const {
|
|
116
|
+
width,
|
|
117
|
+
height
|
|
118
|
+
} = event.nativeEvent.layout;
|
|
119
|
+
setViewport(horizontal ? width : height);
|
|
120
|
+
onLayout?.(event);
|
|
121
|
+
};
|
|
122
|
+
const onContentLayout = event => {
|
|
123
|
+
const {
|
|
124
|
+
width,
|
|
125
|
+
height
|
|
126
|
+
} = event.nativeEvent.layout;
|
|
127
|
+
setContent(horizontal ? width : height);
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
// Nothing to loop, so nothing to clip or clone: render the content plainly
|
|
131
|
+
// and let it sit where it falls.
|
|
132
|
+
if (reducedMotion) {
|
|
133
|
+
return /*#__PURE__*/_jsx(View, {
|
|
134
|
+
className: cn('overflow-hidden', className),
|
|
135
|
+
style: style,
|
|
136
|
+
onLayout: onLayout,
|
|
137
|
+
...props,
|
|
138
|
+
children: children
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
142
|
+
className: cn('overflow-hidden', className),
|
|
143
|
+
style: style,
|
|
144
|
+
onLayout: onContainerLayout,
|
|
145
|
+
...props,
|
|
146
|
+
children: [/*#__PURE__*/_jsx(ScrollView, {
|
|
147
|
+
horizontal: horizontal,
|
|
148
|
+
scrollEnabled: false,
|
|
149
|
+
style: styles.measure,
|
|
150
|
+
pointerEvents: "none",
|
|
151
|
+
accessibilityElementsHidden: true,
|
|
152
|
+
importantForAccessibility: "no-hide-descendants",
|
|
153
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
154
|
+
onLayout: onContentLayout,
|
|
155
|
+
children: children
|
|
156
|
+
})
|
|
157
|
+
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
158
|
+
style: [StyleSheet.absoluteFill, trackStyle],
|
|
159
|
+
pointerEvents: "box-none",
|
|
160
|
+
children: copies.map(index => {
|
|
161
|
+
// Index 1 is the copy that starts flush with the container's edge,
|
|
162
|
+
// and it is the one a screen reader is given.
|
|
163
|
+
const spoken = index === 1;
|
|
164
|
+
const at = (index - 1) * period;
|
|
165
|
+
return /*#__PURE__*/_jsx(View, {
|
|
166
|
+
style: [styles.copy, horizontal ? {
|
|
167
|
+
left: at
|
|
168
|
+
} : {
|
|
169
|
+
top: at
|
|
170
|
+
}],
|
|
171
|
+
pointerEvents: "box-none",
|
|
172
|
+
accessibilityElementsHidden: !spoken,
|
|
173
|
+
importantForAccessibility: spoken ? 'auto' : 'no-hide-descendants',
|
|
174
|
+
children: children
|
|
175
|
+
}, index);
|
|
176
|
+
})
|
|
177
|
+
})]
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
const styles = StyleSheet.create({
|
|
181
|
+
/* Laid out so it measures, hidden so it does not draw, and behind everything
|
|
182
|
+
so it can never intercept anything. */
|
|
183
|
+
measure: {
|
|
184
|
+
opacity: 0,
|
|
185
|
+
zIndex: -1
|
|
186
|
+
},
|
|
187
|
+
copy: {
|
|
188
|
+
position: 'absolute'
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","useState","ScrollView","StyleSheet","View","Animated","cancelAnimation","Easing","useAnimatedStyle","useReducedMotion","useSharedValue","withRepeat","withTiming","useDirectionSign","cn","DEFAULT_MARQUEE_SPEED","marqueeCopyCount","normalizeMarqueeSpeed","jsx","_jsx","jsxs","_jsxs","Marquee","className","children","speed","speedProp","spacing","direction","reverse","playing","style","onLayout","props","horizontal","reducedMotion","sign","flip","viewport","setViewport","content","setContent","layout","period","copies","Array","from","length","count","_","index","offset","value","undefined","duration","easing","linear","trackStyle","travel","transform","translateX","translateY","onContainerLayout","event","width","height","nativeEvent","onContentLayout","scrollEnabled","styles","measure","pointerEvents","accessibilityElementsHidden","importantForAccessibility","absoluteFill","map","spoken","at","copy","left","top","create","opacity","zIndex","position"],"sourceRoot":"../../../../src","sources":["components/marquee/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The arithmetic behind the loop, kept out of the component so it can be tested
|
|
5
|
+
* without rendering one.
|
|
6
|
+
*
|
|
7
|
+
* Every value here reaches a Reanimated timing or a layout offset, and both
|
|
8
|
+
* treat `NaN` and `Infinity` as a frame that never resolves rather than as an
|
|
9
|
+
* error. A marquee handed a bad number should hold still, not wedge — so the
|
|
10
|
+
* guards live at the boundary, once, instead of at each use.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Points per second. Slow enough that a word stays readable as it crosses,
|
|
15
|
+
* which is the speed a ticker is actually for.
|
|
16
|
+
*/
|
|
17
|
+
export const DEFAULT_MARQUEE_SPEED = 40;
|
|
18
|
+
export function normalizeMarqueeSpeed(value) {
|
|
19
|
+
if (!Number.isFinite(value)) return DEFAULT_MARQUEE_SPEED;
|
|
20
|
+
return Math.max(value, 0);
|
|
21
|
+
}
|
|
22
|
+
export function normalizeMarqueeSpacing(value) {
|
|
23
|
+
if (!Number.isFinite(value)) return 0;
|
|
24
|
+
return Math.max(value, 0);
|
|
25
|
+
}
|
|
26
|
+
export function marqueeCopyCount(viewport, content, spacing) {
|
|
27
|
+
const safeViewport = Number.isFinite(viewport) ? Math.max(viewport, 0) : 0;
|
|
28
|
+
const safeContent = Number.isFinite(content) ? Math.max(content, 0) : 0;
|
|
29
|
+
const period = safeContent > 0 ? safeContent + normalizeMarqueeSpacing(spacing) : 0;
|
|
30
|
+
if (period <= 0 || safeViewport <= 0) return {
|
|
31
|
+
period,
|
|
32
|
+
count: 0
|
|
33
|
+
};
|
|
34
|
+
return {
|
|
35
|
+
period,
|
|
36
|
+
count: Math.ceil(safeViewport / period) + 2
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=marquee-math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_MARQUEE_SPEED","normalizeMarqueeSpeed","value","Number","isFinite","Math","max","normalizeMarqueeSpacing","marqueeCopyCount","viewport","content","spacing","safeViewport","safeContent","period","count","ceil"],"sourceRoot":"../../../../src","sources":["components/marquee/marquee-math.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMA,qBAAqB,GAAG,EAAE;AAEvC,OAAO,SAASC,qBAAqBA,CAACC,KAAa,EAAU;EAC3D,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,EAAE,OAAOF,qBAAqB;EACzD,OAAOK,IAAI,CAACC,GAAG,CAACJ,KAAK,EAAE,CAAC,CAAC;AAC3B;AAEA,OAAO,SAASK,uBAAuBA,CAACL,KAAa,EAAU;EAC7D,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,EAAE,OAAO,CAAC;EACrC,OAAOG,IAAI,CAACC,GAAG,CAACJ,KAAK,EAAE,CAAC,CAAC;AAC3B;AAEA,OAAO,SAASM,gBAAgBA,CAC9BC,QAAgB,EAChBC,OAAe,EACfC,OAAe,EACoB;EACnC,MAAMC,YAAY,GAAGT,MAAM,CAACC,QAAQ,CAACK,QAAQ,CAAC,GAAGJ,IAAI,CAACC,GAAG,CAACG,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC;EAC1E,MAAMI,WAAW,GAAGV,MAAM,CAACC,QAAQ,CAACM,OAAO,CAAC,GAAGL,IAAI,CAACC,GAAG,CAACI,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC;EACvE,MAAMI,MAAM,GAAGD,WAAW,GAAG,CAAC,GAAGA,WAAW,GAAGN,uBAAuB,CAACI,OAAO,CAAC,GAAG,CAAC;EACnF,IAAIG,MAAM,IAAI,CAAC,IAAIF,YAAY,IAAI,CAAC,EAAE,OAAO;IAAEE,MAAM;IAAEC,KAAK,EAAE;EAAE,CAAC;EACjE,OAAO;IAAED,MAAM;IAAEC,KAAK,EAAEV,IAAI,CAACW,IAAI,CAACJ,YAAY,GAAGE,MAAM,CAAC,GAAG;EAAE,CAAC;AAChE","ignoreList":[]}
|
|
@@ -376,6 +376,8 @@ export function MenuItem({
|
|
|
376
376
|
closeOnSelect = true,
|
|
377
377
|
onSelect,
|
|
378
378
|
onPress,
|
|
379
|
+
onPressIn,
|
|
380
|
+
onPressOut,
|
|
379
381
|
...props
|
|
380
382
|
}) {
|
|
381
383
|
const {
|
|
@@ -396,17 +398,23 @@ export function MenuItem({
|
|
|
396
398
|
if (closeOnSelect) close();
|
|
397
399
|
};
|
|
398
400
|
return /*#__PURE__*/_jsxs(AnimatedPressable, {
|
|
401
|
+
...props,
|
|
399
402
|
accessibilityRole: "menuitem",
|
|
400
403
|
accessibilityState: {
|
|
401
404
|
disabled
|
|
402
405
|
},
|
|
403
406
|
disabled: disabled,
|
|
404
407
|
onPress: handlePress,
|
|
405
|
-
onPressIn:
|
|
406
|
-
|
|
408
|
+
onPressIn: event => {
|
|
409
|
+
onPressIn?.(event);
|
|
410
|
+
press.onPressIn();
|
|
411
|
+
},
|
|
412
|
+
onPressOut: event => {
|
|
413
|
+
onPressOut?.(event);
|
|
414
|
+
press.onPressOut();
|
|
415
|
+
},
|
|
407
416
|
style: press.rowStyle,
|
|
408
417
|
className: cn(slots.item(), 'overflow-hidden', className),
|
|
409
|
-
...props,
|
|
410
418
|
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
411
419
|
pointerEvents: "none",
|
|
412
420
|
className: "absolute inset-0",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Children","createContext","isValidElement","useCallback","useContext","useEffect","useMemo","useState","Pressable","View","Animated","useAnimatedStyle","useReducedMotion","useSharedValue","withTiming","tv","useCSSVariable","Check","ChevronLeft","ChevronRight","Circle","Text","textChildren","useDirection","useDirectionSign","selectionTick","cn","Popover","jsx","_jsx","jsxs","_jsxs","INDICATOR_SIZE","useTint","variable","raw","undefined","INDICATOR_FALLBACK","INDICATOR_STROKE","PRESS_IN_DURATION","PRESS_OUT_DURATION","PRESS_SCALE","menuVariants","slots","content","background","label","item","itemLabel","itemDescription","shortcut","separator","indicator","variants","variant","default","destructive","disabled","true","inset","defaultVariants","AnimatedPressable","createAnimatedComponent","useMenuPress","reduced","pressed","accent","fill","fillStyle","opacity","value","rowStyle","transform","scale","onPressIn","duration","onPressOut","MenuContext","useMenu","component","context","Error","MenuRoot","children","open","onOpenChange","defaultOpen","haptics","props","internalOpen","setInternalOpen","isControlled","setOpen","next","close","Provider","MenuTrigger","Trigger","MenuContent","className","scrollable","items","child","toArray","type","MenuBackground","push","Content","accessibilityRole","unstyled","accessibilityElementsHidden","importantForAccessibility","pointerEvents","MenuLabel","text","size","weight","muted","MenuSeparator","MenuItem","icon","description","trailing","closeOnSelect","onSelect","onPress","press","handlePress","args","accessibilityState","style","backgroundColor","MenuIndicatorSlot","width","height","MenuIndicatorSpacer","MenuCheckboxItem","checked","onCheckedChange","tint","strokeWidth","color","MenuRadioContext","MenuRadioGroup","onValueChange","select","MenuRadioItem","group","selected","MenuSubContext","useMenuSub","MenuSub","resolved","toggle","MenuSubTrigger","sign","direction","reducedMotion","chevronTint","Chevron","progress","chevronStyle","rotate","expanded","MenuSubContent","setHeight","onLayout","event","nativeEvent","layout","position","left","right","top","displayName","Menu","Object","assign","Background","Label","Item","CheckboxItem","RadioGroup","RadioItem","Separator","Sub","SubTrigger","SubContent"],"sourceRoot":"../../../../src","sources":["components/menu/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Children","createContext","isValidElement","useCallback","useContext","useEffect","useMemo","useState","Pressable","View","Animated","useAnimatedStyle","useReducedMotion","useSharedValue","withTiming","tv","useCSSVariable","Check","ChevronLeft","ChevronRight","Circle","Text","textChildren","useDirection","useDirectionSign","selectionTick","cn","Popover","jsx","_jsx","jsxs","_jsxs","INDICATOR_SIZE","useTint","variable","raw","undefined","INDICATOR_FALLBACK","INDICATOR_STROKE","PRESS_IN_DURATION","PRESS_OUT_DURATION","PRESS_SCALE","menuVariants","slots","content","background","label","item","itemLabel","itemDescription","shortcut","separator","indicator","variants","variant","default","destructive","disabled","true","inset","defaultVariants","AnimatedPressable","createAnimatedComponent","useMenuPress","reduced","pressed","accent","fill","fillStyle","opacity","value","rowStyle","transform","scale","onPressIn","duration","onPressOut","MenuContext","useMenu","component","context","Error","MenuRoot","children","open","onOpenChange","defaultOpen","haptics","props","internalOpen","setInternalOpen","isControlled","setOpen","next","close","Provider","MenuTrigger","Trigger","MenuContent","className","scrollable","items","child","toArray","type","MenuBackground","push","Content","accessibilityRole","unstyled","accessibilityElementsHidden","importantForAccessibility","pointerEvents","MenuLabel","text","size","weight","muted","MenuSeparator","MenuItem","icon","description","trailing","closeOnSelect","onSelect","onPress","press","handlePress","args","accessibilityState","event","style","backgroundColor","MenuIndicatorSlot","width","height","MenuIndicatorSpacer","MenuCheckboxItem","checked","onCheckedChange","tint","strokeWidth","color","MenuRadioContext","MenuRadioGroup","onValueChange","select","MenuRadioItem","group","selected","MenuSubContext","useMenuSub","MenuSub","resolved","toggle","MenuSubTrigger","sign","direction","reducedMotion","chevronTint","Chevron","progress","chevronStyle","rotate","expanded","MenuSubContent","setHeight","onLayout","nativeEvent","layout","position","left","right","top","displayName","Menu","Object","assign","Background","Label","Item","CheckboxItem","RadioGroup","RadioItem","Separator","Sub","SubTrigger","SubContent"],"sourceRoot":"../../../../src","sources":["components/menu/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,12 +5,13 @@ import { View } from 'react-native';
|
|
|
5
5
|
import Animated, { useAnimatedStyle, useReducedMotion, useSharedValue, withSpring, withTiming } from 'react-native-reanimated';
|
|
6
6
|
import { tv } from 'tailwind-variants';
|
|
7
7
|
import { Text } from "../../primitives/text.js";
|
|
8
|
-
import {
|
|
8
|
+
import { colorFor, litSegments, meterSemantics, normalizeScale, normalizeSegments } from "./meter-scale.js";
|
|
9
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
10
|
const SPRING = {
|
|
11
11
|
damping: 20,
|
|
12
12
|
stiffness: 180,
|
|
13
|
-
mass: 0.6
|
|
13
|
+
mass: 0.6,
|
|
14
|
+
overshootClamping: true
|
|
14
15
|
};
|
|
15
16
|
/** Milliseconds for a segment to light or go out. */
|
|
16
17
|
const SEGMENT_DURATION = 180;
|
|
@@ -22,7 +23,7 @@ const meterVariants = tv({
|
|
|
22
23
|
header: 'flex-row items-center justify-between gap-2',
|
|
23
24
|
track: 'w-full overflow-hidden rounded-full',
|
|
24
25
|
indicator: 'h-full rounded-full',
|
|
25
|
-
segments: 'w-full flex-row',
|
|
26
|
+
segments: 'w-full flex-row overflow-hidden',
|
|
26
27
|
segment: 'flex-1 rounded-full'
|
|
27
28
|
},
|
|
28
29
|
variants: {
|
|
@@ -148,8 +149,12 @@ export const Meter = /*#__PURE__*/forwardRef(({
|
|
|
148
149
|
accessibilityLabel,
|
|
149
150
|
...props
|
|
150
151
|
}, ref) => {
|
|
151
|
-
const
|
|
152
|
-
const
|
|
152
|
+
const scale = normalizeScale(value, minValue, maxValue);
|
|
153
|
+
const {
|
|
154
|
+
value: held,
|
|
155
|
+
fraction
|
|
156
|
+
} = scale;
|
|
157
|
+
const segmentCount = normalizeSegments(segments);
|
|
153
158
|
const resolvedColor = colorFor(held, color ?? 'primary', thresholds);
|
|
154
159
|
const slots = meterVariants({
|
|
155
160
|
color: resolvedColor,
|
|
@@ -161,7 +166,7 @@ export const Meter = /*#__PURE__*/forwardRef(({
|
|
|
161
166
|
// Any reading above the floor lights a block, so "a little" never looks
|
|
162
167
|
// like "none". Rounding down would leave the first quarter of a
|
|
163
168
|
// four-block meter dark, which is the reading it is least able to afford.
|
|
164
|
-
const litCount =
|
|
169
|
+
const litCount = litSegments(fraction, segmentCount);
|
|
165
170
|
const lit = useSharedValue(litCount);
|
|
166
171
|
|
|
167
172
|
// Reduce motion lands on the value instead of springing to it — the
|
|
@@ -173,27 +178,35 @@ export const Meter = /*#__PURE__*/forwardRef(({
|
|
|
173
178
|
lit.value = litCount;
|
|
174
179
|
}, [lit, litCount]);
|
|
175
180
|
const onLayout = event => {
|
|
176
|
-
|
|
181
|
+
const width = event.nativeEvent.layout.width;
|
|
182
|
+
trackWidth.value = Number.isFinite(width) && width > 0 ? width : 0;
|
|
177
183
|
};
|
|
178
184
|
const fillStyle = useAnimatedStyle(() => ({
|
|
179
185
|
width: trackWidth.value * progress.value
|
|
180
186
|
}));
|
|
181
|
-
const
|
|
187
|
+
const semantics = meterSemantics({
|
|
188
|
+
value: held,
|
|
189
|
+
fraction,
|
|
190
|
+
// The normalized ends, not the raw props: an invalid scale is repaired
|
|
191
|
+
// for the bar, and the spoken reading has to describe the same one.
|
|
192
|
+
minValue: scale.min,
|
|
193
|
+
maxValue: scale.max,
|
|
194
|
+
label,
|
|
195
|
+
accessibilityLabel,
|
|
196
|
+
valueLabel,
|
|
197
|
+
formatOptions
|
|
198
|
+
});
|
|
199
|
+
const spoken = semantics.text;
|
|
182
200
|
const showValue = showValueLabel;
|
|
183
201
|
const hasHeader = label != null || showValue;
|
|
184
202
|
const accessibility = {
|
|
185
203
|
accessibilityRole: 'progressbar',
|
|
186
|
-
accessibilityLabel:
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
now: held,
|
|
191
|
-
// Without this the scale is read as a bare number. `text` is what
|
|
192
|
-
// carries the unit — the percent sign, the gigabytes, the word.
|
|
193
|
-
text: spoken
|
|
194
|
-
}
|
|
204
|
+
accessibilityLabel: semantics.label,
|
|
205
|
+
// `text` carries the unit or word and intentionally overrides the
|
|
206
|
+
// platform's generic rendering of this numeric range.
|
|
207
|
+
accessibilityValue: semantics.value
|
|
195
208
|
};
|
|
196
|
-
const bar =
|
|
209
|
+
const bar = segmentCount > 0 ? /*#__PURE__*/_jsx(View, {
|
|
197
210
|
ref: ref,
|
|
198
211
|
...accessibility,
|
|
199
212
|
className: slots.segments({
|
|
@@ -201,7 +214,7 @@ export const Meter = /*#__PURE__*/forwardRef(({
|
|
|
201
214
|
}),
|
|
202
215
|
...props,
|
|
203
216
|
children: Array.from({
|
|
204
|
-
length:
|
|
217
|
+
length: segmentCount
|
|
205
218
|
}, (_, index) => /*#__PURE__*/_jsx(Segment, {
|
|
206
219
|
index: index,
|
|
207
220
|
lit: lit,
|
|
@@ -231,7 +244,12 @@ export const Meter = /*#__PURE__*/forwardRef(({
|
|
|
231
244
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
232
245
|
className: slots.header({
|
|
233
246
|
className: headerClassName
|
|
234
|
-
})
|
|
247
|
+
})
|
|
248
|
+
// This is the visual rendering of the name and value already owned
|
|
249
|
+
// by the bar below. Hiding the subtree keeps one concise focus stop.
|
|
250
|
+
,
|
|
251
|
+
accessibilityElementsHidden: true,
|
|
252
|
+
importantForAccessibility: "no-hide-descendants",
|
|
235
253
|
children: [label != null ? /*#__PURE__*/_jsx(Text, {
|
|
236
254
|
size: "sm",
|
|
237
255
|
weight: "medium",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useEffect","View","Animated","useAnimatedStyle","useReducedMotion","useSharedValue","withSpring","withTiming","tv","Text","
|
|
1
|
+
{"version":3,"names":["forwardRef","useEffect","View","Animated","useAnimatedStyle","useReducedMotion","useSharedValue","withSpring","withTiming","tv","Text","colorFor","litSegments","meterSemantics","normalizeScale","normalizeSegments","jsx","_jsx","jsxs","_jsxs","SPRING","damping","stiffness","mass","overshootClamping","SEGMENT_DURATION","SEGMENT_UNLIT","meterVariants","slots","root","header","track","indicator","segments","segment","variants","color","primary","success","warning","destructive","info","muted","size","sm","md","lg","defaultVariants","Segment","index","lit","className","reducedMotion","style","on","value","opacity","duration","Meter","indicatorClassName","headerClassName","minValue","maxValue","label","showValueLabel","valueLabel","formatOptions","thresholds","accessibilityLabel","props","ref","scale","held","fraction","segmentCount","resolvedColor","trackWidth","progress","litCount","onLayout","event","width","nativeEvent","layout","Number","isFinite","fillStyle","semantics","min","max","spoken","text","showValue","hasHeader","accessibility","accessibilityRole","accessibilityValue","bar","children","Array","from","length","_","accessibilityElementsHidden","importantForAccessibility","weight","numberOfLines","displayName"],"sourceRoot":"../../../../src","sources":["components/meter/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,11 +18,37 @@
|
|
|
18
18
|
* a threshold on a 0–8 GB meter is written in gigabytes.
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
+
/** A bounded block count keeps malformed input from allocating without limit. */
|
|
22
|
+
export const MAX_METER_SEGMENTS = 100;
|
|
23
|
+
/**
|
|
24
|
+
* Make a public scale safe for layout, animation and native accessibility.
|
|
25
|
+
* Invalid bounds fall back to their documented defaults; if those still do
|
|
26
|
+
* not produce a positive span, the scale honestly collapses at its floor.
|
|
27
|
+
*/
|
|
28
|
+
export function normalizeScale(value, min, max) {
|
|
29
|
+
const floor = Number.isFinite(min) ? min : 0;
|
|
30
|
+
const candidateMax = Number.isFinite(max) ? max : 100;
|
|
31
|
+
const ceiling = candidateMax > floor ? candidateMax : floor;
|
|
32
|
+
const held = Number.isNaN(value) ? floor : value === Number.POSITIVE_INFINITY ? ceiling : value === Number.NEGATIVE_INFINITY ? floor : Math.min(Math.max(value, floor), ceiling);
|
|
33
|
+
const magnitude = Math.max(Math.abs(floor), Math.abs(ceiling), 1);
|
|
34
|
+
const position = ceiling > floor ? (held / magnitude - floor / magnitude) / (ceiling / magnitude - floor / magnitude) : 0;
|
|
35
|
+
return {
|
|
36
|
+
min: floor,
|
|
37
|
+
max: ceiling,
|
|
38
|
+
value: held,
|
|
39
|
+
fraction: Math.min(Math.max(position, 0), 1)
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/** Positive counts are whole and bounded; zero means the continuous meter. */
|
|
44
|
+
export function normalizeSegments(segments) {
|
|
45
|
+
if (segments == null || !Number.isFinite(segments) || !(segments > 0)) return 0;
|
|
46
|
+
return Math.min(Math.floor(segments), MAX_METER_SEGMENTS);
|
|
47
|
+
}
|
|
48
|
+
|
|
21
49
|
/** `value` held inside the scale, so a stray number cannot escape the track. */
|
|
22
50
|
export function clamp(value, min, max) {
|
|
23
|
-
|
|
24
|
-
if (value > max) return max;
|
|
25
|
-
return value;
|
|
51
|
+
return normalizeScale(value, min, max).value;
|
|
26
52
|
}
|
|
27
53
|
|
|
28
54
|
/**
|
|
@@ -30,9 +56,7 @@ export function clamp(value, min, max) {
|
|
|
30
56
|
* meaningful position in it, so it reads as empty rather than dividing by zero.
|
|
31
57
|
*/
|
|
32
58
|
export function fractionOf(value, min, max) {
|
|
33
|
-
|
|
34
|
-
if (!(span > 0)) return 0;
|
|
35
|
-
return clamp((value - min) / span, 0, 1);
|
|
59
|
+
return normalizeScale(value, min, max).fraction;
|
|
36
60
|
}
|
|
37
61
|
|
|
38
62
|
/**
|
|
@@ -47,6 +71,7 @@ export function colorFor(value, base, thresholds) {
|
|
|
47
71
|
if (!thresholds?.length) return base;
|
|
48
72
|
let winner;
|
|
49
73
|
for (const threshold of thresholds) {
|
|
74
|
+
if (!Number.isFinite(threshold.from)) continue;
|
|
50
75
|
if (value < threshold.from) continue;
|
|
51
76
|
if (!winner || threshold.from > winner.from) winner = threshold;
|
|
52
77
|
}
|
|
@@ -62,8 +87,10 @@ export function colorFor(value, base, thresholds) {
|
|
|
62
87
|
* wrong.
|
|
63
88
|
*/
|
|
64
89
|
export function litSegments(fraction, segments) {
|
|
65
|
-
|
|
66
|
-
|
|
90
|
+
const count = normalizeSegments(segments);
|
|
91
|
+
if (count === 0 || Number.isNaN(fraction) || fraction <= 0) return 0;
|
|
92
|
+
if (!Number.isFinite(fraction) || fraction >= 1) return count;
|
|
93
|
+
return Math.min(Math.ceil(fraction * count), count);
|
|
67
94
|
}
|
|
68
95
|
|
|
69
96
|
/**
|
|
@@ -85,4 +112,31 @@ export function formatValue(value, fraction, valueLabel, formatOptions) {
|
|
|
85
112
|
}
|
|
86
113
|
return `${Math.round(fraction * 100)}%`;
|
|
87
114
|
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* The meter's single spoken contract. Visual treatments such as segments,
|
|
118
|
+
* thresholds and motion do not belong here: they do not change the reading.
|
|
119
|
+
*/
|
|
120
|
+
export function meterSemantics({
|
|
121
|
+
value,
|
|
122
|
+
fraction,
|
|
123
|
+
minValue,
|
|
124
|
+
maxValue,
|
|
125
|
+
label,
|
|
126
|
+
accessibilityLabel,
|
|
127
|
+
valueLabel,
|
|
128
|
+
formatOptions
|
|
129
|
+
}) {
|
|
130
|
+
const text = formatValue(value, fraction, valueLabel, formatOptions);
|
|
131
|
+
return {
|
|
132
|
+
label: accessibilityLabel ?? label,
|
|
133
|
+
text,
|
|
134
|
+
value: {
|
|
135
|
+
min: minValue,
|
|
136
|
+
max: maxValue,
|
|
137
|
+
now: value,
|
|
138
|
+
text
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
}
|
|
88
142
|
//# sourceMappingURL=meter-scale.js.map
|