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.
Files changed (206) hide show
  1. package/README.md +13 -2
  2. package/lib/module/components/accordion/index.js +38 -13
  3. package/lib/module/components/accordion/index.js.map +1 -1
  4. package/lib/module/components/area-chart/index.js +1 -0
  5. package/lib/module/components/area-chart/index.js.map +1 -1
  6. package/lib/module/components/breadcrumb/index.js +2 -1
  7. package/lib/module/components/breadcrumb/index.js.map +1 -1
  8. package/lib/module/components/button/index.js +21 -12
  9. package/lib/module/components/button/index.js.map +1 -1
  10. package/lib/module/components/carousel/index.js +1 -1
  11. package/lib/module/components/carousel/index.js.map +1 -1
  12. package/lib/module/components/chip/index.js +2 -2
  13. package/lib/module/components/chip/index.js.map +1 -1
  14. package/lib/module/components/code-block/index.js.map +1 -1
  15. package/lib/module/components/collapsible/index.js +284 -0
  16. package/lib/module/components/collapsible/index.js.map +1 -0
  17. package/lib/module/components/color-picker/index.js.map +1 -1
  18. package/lib/module/components/fab/index.js +7 -6
  19. package/lib/module/components/fab/index.js.map +1 -1
  20. package/lib/module/components/flow/index.js +67 -4
  21. package/lib/module/components/flow/index.js.map +1 -1
  22. package/lib/module/components/frame/index.js +2 -2
  23. package/lib/module/components/frame/index.js.map +1 -1
  24. package/lib/module/components/grid-item/index.js +2 -2
  25. package/lib/module/components/grid-item/index.js.map +1 -1
  26. package/lib/module/components/heatmap-chart/index.js +1 -0
  27. package/lib/module/components/heatmap-chart/index.js.map +1 -1
  28. package/lib/module/components/hex-chart/index.js +1 -0
  29. package/lib/module/components/hex-chart/index.js.map +1 -1
  30. package/lib/module/components/input-group/index.js +7 -2
  31. package/lib/module/components/input-group/index.js.map +1 -1
  32. package/lib/module/components/item/index.js +2 -2
  33. package/lib/module/components/item/index.js.map +1 -1
  34. package/lib/module/components/line-chart/index.js +1 -0
  35. package/lib/module/components/line-chart/index.js.map +1 -1
  36. package/lib/module/components/live-line-chart/index.js +103 -9
  37. package/lib/module/components/live-line-chart/index.js.map +1 -1
  38. package/lib/module/components/live-line-chart/live-line-accessibility.js +47 -0
  39. package/lib/module/components/live-line-chart/live-line-accessibility.js.map +1 -0
  40. package/lib/module/components/live-line-chart/live-line-lifecycle.js +33 -0
  41. package/lib/module/components/live-line-chart/live-line-lifecycle.js.map +1 -0
  42. package/lib/module/components/marker/index.js +2 -2
  43. package/lib/module/components/marker/index.js.map +1 -1
  44. package/lib/module/components/marquee/index.js +191 -0
  45. package/lib/module/components/marquee/index.js.map +1 -0
  46. package/lib/module/components/marquee/marquee-math.js +39 -0
  47. package/lib/module/components/marquee/marquee-math.js.map +1 -0
  48. package/lib/module/components/menu/index.js +11 -3
  49. package/lib/module/components/menu/index.js.map +1 -1
  50. package/lib/module/components/meter/index.js +38 -20
  51. package/lib/module/components/meter/index.js.map +1 -1
  52. package/lib/module/components/meter/meter-scale.js +62 -8
  53. package/lib/module/components/meter/meter-scale.js.map +1 -1
  54. package/lib/module/components/pagination/index.js +27 -11
  55. package/lib/module/components/pagination/index.js.map +1 -1
  56. package/lib/module/components/panelside/index.js +7 -2
  57. package/lib/module/components/panelside/index.js.map +1 -1
  58. package/lib/module/components/planner/index.js +159 -64
  59. package/lib/module/components/planner/index.js.map +1 -1
  60. package/lib/module/components/planner/planner-announcement.js +30 -0
  61. package/lib/module/components/planner/planner-announcement.js.map +1 -0
  62. package/lib/module/components/planner/planner-entries.js +15 -7
  63. package/lib/module/components/planner/planner-entries.js.map +1 -1
  64. package/lib/module/components/planner/planner-grid-navigation.js +33 -0
  65. package/lib/module/components/planner/planner-grid-navigation.js.map +1 -0
  66. package/lib/module/components/planner/planner-lifecycle.js +45 -0
  67. package/lib/module/components/planner/planner-lifecycle.js.map +1 -0
  68. package/lib/module/components/plot/index.js +105 -42
  69. package/lib/module/components/plot/index.js.map +1 -1
  70. package/lib/module/components/popover/index.js +2 -2
  71. package/lib/module/components/popover/index.js.map +1 -1
  72. package/lib/module/components/post/index.js +4 -4
  73. package/lib/module/components/post/index.js.map +1 -1
  74. package/lib/module/components/search-bar/index.js +331 -0
  75. package/lib/module/components/search-bar/index.js.map +1 -0
  76. package/lib/module/components/table/index.js +3 -4
  77. package/lib/module/components/table/index.js.map +1 -1
  78. package/lib/module/components/timeline/index.js +288 -39
  79. package/lib/module/components/timeline/index.js.map +1 -1
  80. package/lib/module/components/toggle-button/index.js +1 -1
  81. package/lib/module/components/toggle-button/index.js.map +1 -1
  82. package/lib/module/components/tree/index.js +13 -8
  83. package/lib/module/components/tree/index.js.map +1 -1
  84. package/lib/module/hooks/use-keyboard-avoidance.js.map +1 -1
  85. package/lib/module/index.js +3 -0
  86. package/lib/module/index.js.map +1 -1
  87. package/lib/module/primitives/focus-restoration-store.js +52 -0
  88. package/lib/module/primitives/focus-restoration-store.js.map +1 -0
  89. package/lib/module/primitives/portal.js +36 -2
  90. package/lib/module/primitives/portal.js.map +1 -1
  91. package/lib/module/utils/chart.js +50 -7
  92. package/lib/module/utils/chart.js.map +1 -1
  93. package/lib/typescript/src/components/accordion/index.d.ts +6 -2
  94. package/lib/typescript/src/components/accordion/index.d.ts.map +1 -1
  95. package/lib/typescript/src/components/area-chart/index.d.ts.map +1 -1
  96. package/lib/typescript/src/components/breadcrumb/index.d.ts.map +1 -1
  97. package/lib/typescript/src/components/button/index.d.ts.map +1 -1
  98. package/lib/typescript/src/components/code-block/index.d.ts +3 -3
  99. package/lib/typescript/src/components/code-block/index.d.ts.map +1 -1
  100. package/lib/typescript/src/components/collapsible/index.d.ts +76 -0
  101. package/lib/typescript/src/components/collapsible/index.d.ts.map +1 -0
  102. package/lib/typescript/src/components/color-picker/index.d.ts.map +1 -1
  103. package/lib/typescript/src/components/fab/index.d.ts +4 -2
  104. package/lib/typescript/src/components/fab/index.d.ts.map +1 -1
  105. package/lib/typescript/src/components/flow/index.d.ts +7 -1
  106. package/lib/typescript/src/components/flow/index.d.ts.map +1 -1
  107. package/lib/typescript/src/components/heatmap-chart/index.d.ts.map +1 -1
  108. package/lib/typescript/src/components/hex-chart/index.d.ts.map +1 -1
  109. package/lib/typescript/src/components/input-group/index.d.ts.map +1 -1
  110. package/lib/typescript/src/components/line-chart/index.d.ts.map +1 -1
  111. package/lib/typescript/src/components/live-line-chart/index.d.ts +21 -7
  112. package/lib/typescript/src/components/live-line-chart/index.d.ts.map +1 -1
  113. package/lib/typescript/src/components/live-line-chart/live-line-accessibility.d.ts +22 -0
  114. package/lib/typescript/src/components/live-line-chart/live-line-accessibility.d.ts.map +1 -0
  115. package/lib/typescript/src/components/live-line-chart/live-line-lifecycle.d.ts +23 -0
  116. package/lib/typescript/src/components/live-line-chart/live-line-lifecycle.d.ts.map +1 -0
  117. package/lib/typescript/src/components/marquee/index.d.ts +73 -0
  118. package/lib/typescript/src/components/marquee/index.d.ts.map +1 -0
  119. package/lib/typescript/src/components/marquee/marquee-math.d.ts +21 -0
  120. package/lib/typescript/src/components/marquee/marquee-math.d.ts.map +1 -0
  121. package/lib/typescript/src/components/menu/index.d.ts +1 -1
  122. package/lib/typescript/src/components/menu/index.d.ts.map +1 -1
  123. package/lib/typescript/src/components/meter/index.d.ts +7 -4
  124. package/lib/typescript/src/components/meter/index.d.ts.map +1 -1
  125. package/lib/typescript/src/components/meter/meter-scale.d.ts +39 -0
  126. package/lib/typescript/src/components/meter/meter-scale.d.ts.map +1 -1
  127. package/lib/typescript/src/components/pagination/index.d.ts.map +1 -1
  128. package/lib/typescript/src/components/panelside/index.d.ts +1 -1
  129. package/lib/typescript/src/components/panelside/index.d.ts.map +1 -1
  130. package/lib/typescript/src/components/plan/index.d.ts +2 -2
  131. package/lib/typescript/src/components/planner/index.d.ts.map +1 -1
  132. package/lib/typescript/src/components/planner/planner-announcement.d.ts +15 -0
  133. package/lib/typescript/src/components/planner/planner-announcement.d.ts.map +1 -0
  134. package/lib/typescript/src/components/planner/planner-entries.d.ts +1 -1
  135. package/lib/typescript/src/components/planner/planner-entries.d.ts.map +1 -1
  136. package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts +4 -0
  137. package/lib/typescript/src/components/planner/planner-grid-navigation.d.ts.map +1 -0
  138. package/lib/typescript/src/components/planner/planner-lifecycle.d.ts +20 -0
  139. package/lib/typescript/src/components/planner/planner-lifecycle.d.ts.map +1 -0
  140. package/lib/typescript/src/components/plot/index.d.ts +59 -5
  141. package/lib/typescript/src/components/plot/index.d.ts.map +1 -1
  142. package/lib/typescript/src/components/search-bar/index.d.ts +216 -0
  143. package/lib/typescript/src/components/search-bar/index.d.ts.map +1 -0
  144. package/lib/typescript/src/components/timeline/index.d.ts +35 -2
  145. package/lib/typescript/src/components/timeline/index.d.ts.map +1 -1
  146. package/lib/typescript/src/components/tree/index.d.ts +3 -4
  147. package/lib/typescript/src/components/tree/index.d.ts.map +1 -1
  148. package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts +2 -2
  149. package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts.map +1 -1
  150. package/lib/typescript/src/index.d.ts +4 -1
  151. package/lib/typescript/src/index.d.ts.map +1 -1
  152. package/lib/typescript/src/primitives/focus-restoration-store.d.ts +24 -0
  153. package/lib/typescript/src/primitives/focus-restoration-store.d.ts.map +1 -0
  154. package/lib/typescript/src/primitives/portal.d.ts +4 -0
  155. package/lib/typescript/src/primitives/portal.d.ts.map +1 -1
  156. package/lib/typescript/src/utils/chart.d.ts +28 -3
  157. package/lib/typescript/src/utils/chart.d.ts.map +1 -1
  158. package/package.json +36 -3
  159. package/src/components/accordion/index.tsx +48 -15
  160. package/src/components/area-chart/index.tsx +8 -0
  161. package/src/components/breadcrumb/index.tsx +2 -1
  162. package/src/components/button/index.tsx +14 -6
  163. package/src/components/carousel/index.tsx +1 -1
  164. package/src/components/chip/index.tsx +2 -2
  165. package/src/components/code-block/index.tsx +3 -3
  166. package/src/components/collapsible/index.tsx +287 -0
  167. package/src/components/color-picker/index.tsx +3 -2
  168. package/src/components/fab/index.tsx +21 -11
  169. package/src/components/flow/index.tsx +94 -15
  170. package/src/components/frame/index.tsx +2 -2
  171. package/src/components/grid-item/index.tsx +2 -2
  172. package/src/components/heatmap-chart/index.tsx +7 -1
  173. package/src/components/hex-chart/index.tsx +7 -1
  174. package/src/components/input-group/index.tsx +7 -2
  175. package/src/components/item/index.tsx +2 -2
  176. package/src/components/line-chart/index.tsx +9 -0
  177. package/src/components/live-line-chart/index.tsx +130 -13
  178. package/src/components/live-line-chart/live-line-accessibility.ts +61 -0
  179. package/src/components/live-line-chart/live-line-lifecycle.ts +63 -0
  180. package/src/components/marker/index.tsx +2 -2
  181. package/src/components/marquee/index.tsx +234 -0
  182. package/src/components/marquee/marquee-math.ts +37 -0
  183. package/src/components/menu/index.tsx +11 -3
  184. package/src/components/meter/index.tsx +49 -26
  185. package/src/components/meter/meter-scale.ts +84 -8
  186. package/src/components/pagination/index.tsx +26 -13
  187. package/src/components/panelside/index.tsx +7 -2
  188. package/src/components/plan/index.tsx +2 -2
  189. package/src/components/planner/index.tsx +202 -76
  190. package/src/components/planner/planner-announcement.ts +37 -0
  191. package/src/components/planner/planner-entries.ts +16 -7
  192. package/src/components/planner/planner-grid-navigation.ts +45 -0
  193. package/src/components/planner/planner-lifecycle.ts +76 -0
  194. package/src/components/plot/index.tsx +183 -39
  195. package/src/components/popover/index.tsx +3 -3
  196. package/src/components/post/index.tsx +4 -4
  197. package/src/components/search-bar/index.tsx +436 -0
  198. package/src/components/table/index.tsx +2 -2
  199. package/src/components/timeline/index.tsx +335 -39
  200. package/src/components/toggle-button/index.tsx +1 -1
  201. package/src/components/tree/index.tsx +17 -12
  202. package/src/hooks/use-keyboard-avoidance.ts +7 -2
  203. package/src/index.ts +15 -0
  204. package/src/primitives/focus-restoration-store.ts +70 -0
  205. package/src/primitives/portal.tsx +34 -2
  206. 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: press.onPressIn,
406
- onPressOut: press.onPressOut,
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 { clamp, colorFor, fractionOf, formatValue, litSegments } from "./meter-scale.js";
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 held = clamp(value, minValue, maxValue);
152
- const fraction = fractionOf(value, minValue, maxValue);
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 = segments ? litSegments(fraction, segments) : 0;
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
- trackWidth.value = event.nativeEvent.layout.width;
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 spoken = formatValue(held, fraction, valueLabel, formatOptions);
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: accessibilityLabel ?? label,
187
- accessibilityValue: {
188
- min: minValue,
189
- max: maxValue,
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 = segments && segments > 0 ? /*#__PURE__*/_jsx(View, {
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: segments
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","clamp","colorFor","fractionOf","formatValue","litSegments","jsx","_jsx","jsxs","_jsxs","SPRING","damping","stiffness","mass","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","held","fraction","resolvedColor","trackWidth","progress","litCount","onLayout","event","nativeEvent","layout","width","fillStyle","spoken","showValue","hasHeader","accessibility","accessibilityRole","accessibilityValue","min","max","now","text","bar","children","Array","from","length","_","weight","numberOfLines","displayName"],"sourceRoot":"../../../../src","sources":["components/meter/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,SAAS,QAAQ,OAAO;AAC7C,SAASC,IAAI,QAAgD,cAAc;AAC3E,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,EACVC,UAAU,QAEL,yBAAyB;AAChC,SAASC,EAAE,QAA2B,mBAAmB;AACzD,SAASC,IAAI,QAAQ,0BAAuB;AAC5C,SACEC,KAAK,EACLC,QAAQ,EACRC,UAAU,EACVC,WAAW,EACXC,WAAW,QAGN,kBAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEvB,MAAMC,MAAM,GAAG;EAAEC,OAAO,EAAE,EAAE;EAAEC,SAAS,EAAE,GAAG;EAAEC,IAAI,EAAE;AAAI,CAAU;AAClE;AACA,MAAMC,gBAAgB,GAAG,GAAG;AAC5B;AACA,MAAMC,aAAa,GAAG,IAAI;AAE1B,MAAMC,aAAa,GAAGjB,EAAE,CAAC;EACvBkB,KAAK,EAAE;IACLC,IAAI,EAAE,cAAc;IACpBC,MAAM,EAAE,6CAA6C;IACrDC,KAAK,EAAE,qCAAqC;IAC5CC,SAAS,EAAE,qBAAqB;IAChCC,QAAQ,EAAE,iBAAiB;IAC3BC,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE;IACRC,KAAK,EAAE;MACLC,OAAO,EAAE;QAAEN,KAAK,EAAE,eAAe;QAAEC,SAAS,EAAE,YAAY;QAAEE,OAAO,EAAE;MAAa,CAAC;MACnFI,OAAO,EAAE;QAAEP,KAAK,EAAE,eAAe;QAAEC,SAAS,EAAE,YAAY;QAAEE,OAAO,EAAE;MAAa,CAAC;MACnFK,OAAO,EAAE;QAAER,KAAK,EAAE,eAAe;QAAEC,SAAS,EAAE,YAAY;QAAEE,OAAO,EAAE;MAAa,CAAC;MACnFM,WAAW,EAAE;QACXT,KAAK,EAAE,mBAAmB;QAC1BC,SAAS,EAAE,gBAAgB;QAC3BE,OAAO,EAAE;MACX,CAAC;MACDO,IAAI,EAAE;QAAEV,KAAK,EAAE,YAAY;QAAEC,SAAS,EAAE,SAAS;QAAEE,OAAO,EAAE;MAAU,CAAC;MACvEQ,KAAK,EAAE;QACLX,KAAK,EAAE,UAAU;QACjBC,SAAS,EAAE,qBAAqB;QAChCE,OAAO,EAAE;MACX;IACF,CAAC;IACDS,IAAI,EAAE;MACJC,EAAE,EAAE;QAAEb,KAAK,EAAE,OAAO;QAAEE,QAAQ,EAAE,aAAa;QAAEC,OAAO,EAAE;MAAQ,CAAC;MACjEW,EAAE,EAAE;QAAEd,KAAK,EAAE,KAAK;QAAEE,QAAQ,EAAE,aAAa;QAAEC,OAAO,EAAE;MAAM,CAAC;MAC7DY,EAAE,EAAE;QAAEf,KAAK,EAAE,KAAK;QAAEE,QAAQ,EAAE,aAAa;QAAEC,OAAO,EAAE;MAAM;IAC9D;EACF,CAAC;EACDa,eAAe,EAAE;IACfX,KAAK,EAAE,SAAS;IAChBO,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAiFF;AACA;AACA;AACA;AACA,SAASK,OAAOA,CAAC;EAAEC,KAAK;EAAEC,GAAG;EAAEC,SAAS;EAAEC;AAA4B,CAAC,EAAE;EACvE,MAAMC,KAAK,GAAGhD,gBAAgB,CAAC,MAAM;IACnC,MAAMiD,EAAE,GAAGJ,GAAG,CAACK,KAAK,GAAGN,KAAK,GAAG,CAAC,GAAGvB,aAAa;IAChD,OAAO;MACL8B,OAAO,EAAEJ,aAAa,GAClBE,EAAE,GACF7C,UAAU,CAAC6C,EAAE,EAAE;QAAEG,QAAQ,EAAEhC;MAAiB,CAAC;IACnD,CAAC;EACH,CAAC,CAAC;EAEF,oBAAOP,IAAA,CAACd,QAAQ,CAACD,IAAI;IAACkD,KAAK,EAAEA,KAAM;IAACF,SAAS,EAAEA;EAAU,CAAE,CAAC;AAC9D;;AAEA;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,OAAO,MAAMO,KAAK,gBAAGzD,UAAU,CAC7B,CACE;EACEkD,SAAS;EACTQ,kBAAkB;EAClBC,eAAe;EACfL,KAAK;EACLM,QAAQ,GAAG,CAAC;EACZC,QAAQ,GAAG,GAAG;EACdC,KAAK;EACLC,cAAc,GAAG,KAAK;EACtBC,UAAU;EACVC,aAAa;EACbC,UAAU;EACVlC,QAAQ;EACRG,KAAK;EACLO,IAAI;EACJyB,kBAAkB;EAClB,GAAGC;AACL,CAAC,EACDC,GAAG,KACA;EACH,MAAMC,IAAI,GAAG3D,KAAK,CAAC2C,KAAK,EAAEM,QAAQ,EAAEC,QAAQ,CAAC;EAC7C,MAAMU,QAAQ,GAAG1D,UAAU,CAACyC,KAAK,EAAEM,QAAQ,EAAEC,QAAQ,CAAC;EACtD,MAAMW,aAAa,GAAG5D,QAAQ,CAAC0D,IAAI,EAAEnC,KAAK,IAAI,SAAS,EAAE+B,UAAU,CAAC;EACpE,MAAMvC,KAAK,GAAGD,aAAa,CAAC;IAAES,KAAK,EAAEqC,aAAa;IAAE9B;EAAK,CAAC,CAAC;EAC3D,MAAMS,aAAa,GAAG9C,gBAAgB,CAAC,CAAC;EAExC,MAAMoE,UAAU,GAAGnE,cAAc,CAAC,CAAC,CAAC;EACpC,MAAMoE,QAAQ,GAAGpE,cAAc,CAACiE,QAAQ,CAAC;EACzC;EACA;EACA;EACA,MAAMI,QAAQ,GAAG3C,QAAQ,GAAGjB,WAAW,CAACwD,QAAQ,EAAEvC,QAAQ,CAAC,GAAG,CAAC;EAC/D,MAAMiB,GAAG,GAAG3C,cAAc,CAACqE,QAAQ,CAAC;;EAEpC;EACA;EACA1E,SAAS,CAAC,MAAM;IACdyE,QAAQ,CAACpB,KAAK,GAAGH,aAAa,GAAGoB,QAAQ,GAAGhE,UAAU,CAACgE,QAAQ,EAAEnD,MAAM,CAAC;EAC1E,CAAC,EAAE,CAACmD,QAAQ,EAAEG,QAAQ,EAAEvB,aAAa,CAAC,CAAC;EAEvClD,SAAS,CAAC,MAAM;IACdgD,GAAG,CAACK,KAAK,GAAGqB,QAAQ;EACtB,CAAC,EAAE,CAAC1B,GAAG,EAAE0B,QAAQ,CAAC,CAAC;EAEnB,MAAMC,QAAQ,GAAIC,KAAwB,IAAK;IAC7CJ,UAAU,CAACnB,KAAK,GAAGuB,KAAK,CAACC,WAAW,CAACC,MAAM,CAACC,KAAK;EACnD,CAAC;EAED,MAAMC,SAAS,GAAG7E,gBAAgB,CAAC,OAAO;IACxC4E,KAAK,EAAEP,UAAU,CAACnB,KAAK,GAAGoB,QAAQ,CAACpB;EACrC,CAAC,CAAC,CAAC;EAEH,MAAM4B,MAAM,GAAGpE,WAAW,CAACwD,IAAI,EAAEC,QAAQ,EAAEP,UAAU,EAAEC,aAAa,CAAC;EACrE,MAAMkB,SAAS,GAAGpB,cAAc;EAChC,MAAMqB,SAAS,GAAGtB,KAAK,IAAI,IAAI,IAAIqB,SAAS;EAE5C,MAAME,aAAa,GAAG;IACpBC,iBAAiB,EAAE,aAAsB;IACzCnB,kBAAkB,EAAEA,kBAAkB,IAAIL,KAAK;IAC/CyB,kBAAkB,EAAE;MAClBC,GAAG,EAAE5B,QAAQ;MACb6B,GAAG,EAAE5B,QAAQ;MACb6B,GAAG,EAAEpB,IAAI;MACT;MACA;MACAqB,IAAI,EAAET;IACR;EACF,CAAC;EAED,MAAMU,GAAG,GACP5D,QAAQ,IAAIA,QAAQ,GAAG,CAAC,gBACtBf,IAAA,CAACf,IAAI;IACHmE,GAAG,EAAEA,GAAI;IAAA,GACLgB,aAAa;IACjBnC,SAAS,EAAEvB,KAAK,CAACK,QAAQ,CAAC;MAAEkB;IAAU,CAAC,CAAE;IAAA,GACrCkB,KAAK;IAAAyB,QAAA,EAERC,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAEhE;IAAS,CAAC,EAAE,CAACiE,CAAC,EAAEjD,KAAK,kBACzC/B,IAAA,CAAC8B,OAAO;MAENC,KAAK,EAAEA,KAAM;MACbC,GAAG,EAAEA,GAAI;MACTE,aAAa,EAAEA,aAAc;MAC7BD,SAAS,EAAEvB,KAAK,CAACM,OAAO,CAAC;QAAEiB,SAAS,EAAEQ;MAAmB,CAAC;IAAE,GAJvDV,KAKN,CACF;EAAC,CACE,CAAC,gBAEP/B,IAAA,CAACf,IAAI;IACHmE,GAAG,EAAEA,GAAI;IAAA,GACLgB,aAAa;IACjBnC,SAAS,EAAEvB,KAAK,CAACG,KAAK,CAAC;MAAEoB;IAAU,CAAC,CAAE;IACtC0B,QAAQ,EAAEA,QAAS;IAAA,GACfR,KAAK;IAAAyB,QAAA,eAET5E,IAAA,CAACd,QAAQ,CAACD,IAAI;MACZkD,KAAK,EAAE6B,SAAU;MACjB/B,SAAS,EAAEvB,KAAK,CAACI,SAAS,CAAC;QAAEmB,SAAS,EAAEQ;MAAmB,CAAC;IAAE,CAC/D;EAAC,CACE,CACP;EAEH,IAAI,CAAC0B,SAAS,EAAE,OAAOQ,GAAG;EAE1B,oBACEzE,KAAA,CAACjB,IAAI;IAACgD,SAAS,EAAEvB,KAAK,CAACC,IAAI,CAAC,CAAE;IAAAiE,QAAA,gBAC5B1E,KAAA,CAACjB,IAAI;MAACgD,SAAS,EAAEvB,KAAK,CAACE,MAAM,CAAC;QAAEqB,SAAS,EAAES;MAAgB,CAAC,CAAE;MAAAkC,QAAA,GAC3D/B,KAAK,IAAI,IAAI,gBACZ7C,IAAA,CAACP,IAAI;QAACgC,IAAI,EAAC,IAAI;QAACwD,MAAM,EAAC,QAAQ;QAACC,aAAa,EAAE,CAAE;QAAAN,QAAA,EAC9C/B;MAAK,CACF,CAAC,gBAEP7C,IAAA,CAACf,IAAI,IAAE,CACR,EACAiF,SAAS,gBACRlE,IAAA,CAACP,IAAI;QAACgC,IAAI,EAAC,IAAI;QAACD,KAAK;QAAC0D,aAAa,EAAE,CAAE;QAAAN,QAAA,EACpCX;MAAM,CACH,CAAC,GACL,IAAI;IAAA,CACJ,CAAC,EACNU,GAAG;EAAA,CACA,CAAC;AAEX,CACF,CAAC;AAEDnC,KAAK,CAAC2C,WAAW,GAAG,OAAO","ignoreList":[]}
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
- if (!(value > min)) return min;
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
- const span = max - min;
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
- if (!(segments > 0)) return 0;
66
- return Math.min(Math.ceil(fraction * segments), segments);
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