panelui-native 0.83.0 → 0.84.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 (39) hide show
  1. package/lib/module/components/circular-text/circular-text-geometry.js +63 -0
  2. package/lib/module/components/circular-text/circular-text-geometry.js.map +1 -0
  3. package/lib/module/components/circular-text/index.js +146 -0
  4. package/lib/module/components/circular-text/index.js.map +1 -0
  5. package/lib/module/components/marquee/index.js +12 -5
  6. package/lib/module/components/marquee/index.js.map +1 -1
  7. package/lib/module/components/panelside/index.js +15 -417
  8. package/lib/module/components/panelside/index.js.map +1 -1
  9. package/lib/module/components/popover/index.js +119 -7
  10. package/lib/module/components/popover/index.js.map +1 -1
  11. package/lib/module/icons/index.js +24 -4
  12. package/lib/module/icons/index.js.map +1 -1
  13. package/lib/module/index.js +1 -0
  14. package/lib/module/index.js.map +1 -1
  15. package/lib/module/native/index.js +28 -0
  16. package/lib/module/native/index.js.map +1 -1
  17. package/lib/typescript/src/components/circular-text/circular-text-geometry.d.ts +39 -0
  18. package/lib/typescript/src/components/circular-text/circular-text-geometry.d.ts.map +1 -0
  19. package/lib/typescript/src/components/circular-text/index.d.ts +69 -0
  20. package/lib/typescript/src/components/circular-text/index.d.ts.map +1 -0
  21. package/lib/typescript/src/components/marquee/index.d.ts.map +1 -1
  22. package/lib/typescript/src/components/panelside/index.d.ts +10 -202
  23. package/lib/typescript/src/components/panelside/index.d.ts.map +1 -1
  24. package/lib/typescript/src/components/popover/index.d.ts +25 -1
  25. package/lib/typescript/src/components/popover/index.d.ts.map +1 -1
  26. package/lib/typescript/src/icons/index.d.ts.map +1 -1
  27. package/lib/typescript/src/index.d.ts +2 -1
  28. package/lib/typescript/src/index.d.ts.map +1 -1
  29. package/lib/typescript/src/native/index.d.ts +40 -0
  30. package/lib/typescript/src/native/index.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/src/components/circular-text/circular-text-geometry.ts +80 -0
  33. package/src/components/circular-text/index.tsx +217 -0
  34. package/src/components/marquee/index.tsx +12 -5
  35. package/src/components/panelside/index.tsx +16 -604
  36. package/src/components/popover/index.tsx +146 -4
  37. package/src/icons/index.tsx +23 -2
  38. package/src/index.ts +1 -6
  39. package/src/native/index.ts +55 -0
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Where each character sits on the ring, kept out of the component so it can
5
+ * be tested without rendering one.
6
+ *
7
+ * Every number here reaches a transform, and a transform treats `NaN` and
8
+ * `Infinity` as a frame that never resolves rather than as an error — a ring
9
+ * handed a bad radius should draw nothing, not wedge. So the guards live at
10
+ * the boundary, once, instead of at each use.
11
+ */
12
+
13
+ /** Points from the centre to the baseline the characters sit on. */
14
+ export const DEFAULT_CIRCULAR_TEXT_RADIUS = 90;
15
+
16
+ /** Milliseconds for one full turn. Slow: it is decoration, not a spinner. */
17
+ export const DEFAULT_CIRCULAR_TEXT_DURATION = 20000;
18
+
19
+ /** Degrees of the circle the text is spread across. The whole way round. */
20
+ export const DEFAULT_CIRCULAR_TEXT_SPREAD = 360;
21
+ export function normalizeRadius(value) {
22
+ if (!Number.isFinite(value)) return DEFAULT_CIRCULAR_TEXT_RADIUS;
23
+ return Math.max(value, 0);
24
+ }
25
+ export function normalizeDuration(value) {
26
+ if (!Number.isFinite(value)) return DEFAULT_CIRCULAR_TEXT_DURATION;
27
+ return Math.max(value, 0);
28
+ }
29
+ export function normalizeSpread(value) {
30
+ if (!Number.isFinite(value)) return DEFAULT_CIRCULAR_TEXT_SPREAD;
31
+ // Clamped rather than wrapped: past a full turn the characters would overlap
32
+ // the ones already there, and a spread of -40 is a spread of 40 the other
33
+ // way round, which `reverse` is the prop for.
34
+ return Math.min(Math.abs(value), 360);
35
+ }
36
+ /**
37
+ * One entry per character, evenly spaced around the arc.
38
+ *
39
+ * The step is measured between characters rather than across them, and which
40
+ * of the two you divide by is the whole difference between a closed ring and
41
+ * one with a visible seam. A full turn has no last gap — the end of the string
42
+ * is adjacent to its start — so `n` characters make `n` gaps and the step is
43
+ * `spread / n`. Anything less than a full turn has one gap fewer than it has
44
+ * characters, so the step is `spread / (n - 1)` and the text reaches both ends
45
+ * of the arc it was given instead of stopping short of the second one.
46
+ */
47
+ export function circularTextGlyphs(text, spread, startAngle) {
48
+ const characters = Array.from(text);
49
+ if (characters.length === 0) return [];
50
+ const arc = normalizeSpread(spread);
51
+ const from = Number.isFinite(startAngle) ? startAngle : 0;
52
+ const closed = arc >= 360;
53
+
54
+ // One character cannot be spread across anything, and dividing by the zero
55
+ // gaps it has would put it nowhere.
56
+ const step = characters.length === 1 ? 0 : arc / (closed ? characters.length : characters.length - 1);
57
+ return characters.map((character, index) => ({
58
+ character,
59
+ index,
60
+ angle: from + step * index
61
+ }));
62
+ }
63
+ //# sourceMappingURL=circular-text-geometry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_CIRCULAR_TEXT_RADIUS","DEFAULT_CIRCULAR_TEXT_DURATION","DEFAULT_CIRCULAR_TEXT_SPREAD","normalizeRadius","value","Number","isFinite","Math","max","normalizeDuration","normalizeSpread","min","abs","circularTextGlyphs","text","spread","startAngle","characters","Array","from","length","arc","closed","step","map","character","index","angle"],"sourceRoot":"../../../../src","sources":["components/circular-text/circular-text-geometry.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,MAAMA,4BAA4B,GAAG,EAAE;;AAE9C;AACA,OAAO,MAAMC,8BAA8B,GAAG,KAAK;;AAEnD;AACA,OAAO,MAAMC,4BAA4B,GAAG,GAAG;AAE/C,OAAO,SAASC,eAAeA,CAACC,KAAa,EAAU;EACrD,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,EAAE,OAAOJ,4BAA4B;EAChE,OAAOO,IAAI,CAACC,GAAG,CAACJ,KAAK,EAAE,CAAC,CAAC;AAC3B;AAEA,OAAO,SAASK,iBAAiBA,CAACL,KAAa,EAAU;EACvD,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,EAAE,OAAOH,8BAA8B;EAClE,OAAOM,IAAI,CAACC,GAAG,CAACJ,KAAK,EAAE,CAAC,CAAC;AAC3B;AAEA,OAAO,SAASM,eAAeA,CAACN,KAAa,EAAU;EACrD,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,EAAE,OAAOF,4BAA4B;EAChE;EACA;EACA;EACA,OAAOK,IAAI,CAACI,GAAG,CAACJ,IAAI,CAACK,GAAG,CAACR,KAAK,CAAC,EAAE,GAAG,CAAC;AACvC;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASS,kBAAkBA,CAChCC,IAAY,EACZC,MAAc,EACdC,UAAkB,EACG;EACrB,MAAMC,UAAU,GAAGC,KAAK,CAACC,IAAI,CAACL,IAAI,CAAC;EACnC,IAAIG,UAAU,CAACG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;EAEtC,MAAMC,GAAG,GAAGX,eAAe,CAACK,MAAM,CAAC;EACnC,MAAMI,IAAI,GAAGd,MAAM,CAACC,QAAQ,CAACU,UAAU,CAAC,GAAGA,UAAU,GAAG,CAAC;EACzD,MAAMM,MAAM,GAAGD,GAAG,IAAI,GAAG;;EAEzB;EACA;EACA,MAAME,IAAI,GACRN,UAAU,CAACG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAGC,GAAG,IAAIC,MAAM,GAAGL,UAAU,CAACG,MAAM,GAAGH,UAAU,CAACG,MAAM,GAAG,CAAC,CAAC;EAE1F,OAAOH,UAAU,CAACO,GAAG,CAAC,CAACC,SAAS,EAAEC,KAAK,MAAM;IAC3CD,SAAS;IACTC,KAAK;IACLC,KAAK,EAAER,IAAI,GAAGI,IAAI,GAAGG;EACvB,CAAC,CAAC,CAAC;AACL","ignoreList":[]}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useMemo } from 'react';
4
+ import { View } from 'react-native';
5
+ import Animated, { Easing, cancelAnimation, useAnimatedStyle, useReducedMotion, useSharedValue, withRepeat, withTiming } from 'react-native-reanimated';
6
+ import { tv } from 'tailwind-variants';
7
+ import { Text } from "../../primitives/text.js";
8
+ import { cn } from "../../utils/cn.js";
9
+ import { DEFAULT_CIRCULAR_TEXT_DURATION, DEFAULT_CIRCULAR_TEXT_RADIUS, DEFAULT_CIRCULAR_TEXT_SPREAD, circularTextGlyphs, normalizeDuration, normalizeRadius, normalizeSpread } from "./circular-text-geometry.js";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ const circularTextVariants = tv({
12
+ base: 'items-center justify-center'
13
+ });
14
+ const glyphVariants = tv({
15
+ /*
16
+ * Every character gets a box the size of the ring, laid over the same point,
17
+ * with the character at the top edge of it. Rotating the box about its own
18
+ * centre — which is the ring's centre — is what swings the character round
19
+ * the circle, and it means no per-character arithmetic reaches the transform
20
+ * beyond the one angle.
21
+ *
22
+ * The box's size is set inline rather than by a utility, and that is not
23
+ * decoration: a box that states its own width and height cannot end up with
24
+ * a different one, and one glyph sitting at twice the radius of the rest is
25
+ * exactly what a box of the wrong size looks like.
26
+ */
27
+ base: 'items-center justify-start'
28
+ });
29
+
30
+ /**
31
+ * The glyph size the ring is drawn at unless the caller says otherwise.
32
+ *
33
+ * A step up from the body default. Text bent round a circle is read a letter
34
+ * at a time rather than as a word, and at body size the letters are small
35
+ * enough that the ring reads as a texture instead of as a phrase.
36
+ */
37
+ const GLYPH_TEXT = 'text-lg';
38
+ /**
39
+ * Text set around a circle, turning.
40
+ *
41
+ * For a badge, a seal, a mark around a logo: decoration whose job is to be a
42
+ * shape first and a sentence second. The characters are placed one at a time
43
+ * and each is turned to sit square on the curve, so the ring closes and the
44
+ * text at the bottom is upside down — which is what makes it read as a
45
+ * circle rather than as a sentence bent into one.
46
+ *
47
+ * The centre is left empty and nothing is laid out inside it. Put a logo
48
+ * there by stacking the two, rather than by passing it as a child.
49
+ *
50
+ * The turn runs entirely on the UI thread, and under the platform's
51
+ * reduce-motion setting the ring is drawn once and held still. Not a slower
52
+ * turn — none. The shape carries the whole meaning; the rotation is the part
53
+ * that setting exists to remove.
54
+ */
55
+ export function CircularText({
56
+ children,
57
+ radius = DEFAULT_CIRCULAR_TEXT_RADIUS,
58
+ spinDuration = DEFAULT_CIRCULAR_TEXT_DURATION,
59
+ reverse = false,
60
+ paused = false,
61
+ spread = DEFAULT_CIRCULAR_TEXT_SPREAD,
62
+ startAngle = 0,
63
+ className,
64
+ textClassName,
65
+ style,
66
+ ...props
67
+ }) {
68
+ const reducedMotion = useReducedMotion();
69
+ const rotation = useSharedValue(0);
70
+ const size = normalizeRadius(radius) * 2;
71
+ const duration = normalizeDuration(spinDuration);
72
+ const arc = normalizeSpread(spread);
73
+ const glyphs = useMemo(() => circularTextGlyphs(children, arc, startAngle), [children, arc, startAngle]);
74
+
75
+ // A duration of zero is a timing that never advances, so it is a held ring
76
+ // rather than an infinitely fast one.
77
+ const turning = !paused && !reducedMotion && duration > 0 && glyphs.length > 0;
78
+ useEffect(() => {
79
+ if (!turning) {
80
+ // Leaves the value where it reached. Zeroing here would send a ring
81
+ // paused mid-word back to the top, and the pause would read as a reset.
82
+ cancelAnimation(rotation);
83
+ return undefined;
84
+ }
85
+
86
+ /*
87
+ * From wherever it already is, one turn, forever.
88
+ *
89
+ * The repeat restarts each cycle at the value it began on, and the state
90
+ * at `from + 360` is the state at `from`, so the seam between cycles is
91
+ * arithmetic rather than something to see. Taking the remainder first
92
+ * keeps the number from growing without bound over a long session.
93
+ */
94
+ const from = rotation.value % 360;
95
+ const to = reverse ? from - 360 : from + 360;
96
+ rotation.value = from;
97
+ rotation.value = withRepeat(withTiming(to, {
98
+ duration,
99
+ easing: Easing.linear
100
+ }), -1, false);
101
+ return () => cancelAnimation(rotation);
102
+ }, [rotation, turning, duration, reverse]);
103
+ const ringStyle = useAnimatedStyle(() => ({
104
+ transform: [{
105
+ rotate: `${rotation.value}deg`
106
+ }]
107
+ }));
108
+ return /*#__PURE__*/_jsx(View, {
109
+ accessible: true,
110
+ accessibilityRole: "text",
111
+ accessibilityLabel: children,
112
+ className: cn(circularTextVariants(), className),
113
+ style: [{
114
+ width: size,
115
+ height: size
116
+ }, style],
117
+ ...props,
118
+ children: /*#__PURE__*/_jsx(Animated.View, {
119
+ accessibilityElementsHidden: true,
120
+ importantForAccessibility: "no-hide-descendants",
121
+ style: [{
122
+ width: size,
123
+ height: size
124
+ }, ringStyle],
125
+ children: glyphs.map(glyph => /*#__PURE__*/_jsx(View, {
126
+ className: glyphVariants(),
127
+ style: {
128
+ position: 'absolute',
129
+ left: 0,
130
+ top: 0,
131
+ width: size,
132
+ height: size,
133
+ transform: [{
134
+ rotate: `${glyph.angle}deg`
135
+ }]
136
+ },
137
+ children: /*#__PURE__*/_jsx(Text, {
138
+ className: cn(GLYPH_TEXT, textClassName),
139
+ children: glyph.character
140
+ })
141
+ }, `${glyph.character}-${glyph.index}`))
142
+ })
143
+ });
144
+ }
145
+ CircularText.displayName = 'CircularText';
146
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useMemo","View","Animated","Easing","cancelAnimation","useAnimatedStyle","useReducedMotion","useSharedValue","withRepeat","withTiming","tv","Text","cn","DEFAULT_CIRCULAR_TEXT_DURATION","DEFAULT_CIRCULAR_TEXT_RADIUS","DEFAULT_CIRCULAR_TEXT_SPREAD","circularTextGlyphs","normalizeDuration","normalizeRadius","normalizeSpread","jsx","_jsx","circularTextVariants","base","glyphVariants","GLYPH_TEXT","CircularText","children","radius","spinDuration","reverse","paused","spread","startAngle","className","textClassName","style","props","reducedMotion","rotation","size","duration","arc","glyphs","turning","length","undefined","from","value","to","easing","linear","ringStyle","transform","rotate","accessible","accessibilityRole","accessibilityLabel","width","height","accessibilityElementsHidden","importantForAccessibility","map","glyph","position","left","top","angle","character","index","displayName"],"sourceRoot":"../../../../src","sources":["components/circular-text/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -182,12 +182,19 @@ function MarqueeRoot({
182
182
  };
183
183
 
184
184
  /*
185
- * Whether there is motion here at all: content that measured, a speed to
186
- * travel it at, and a `playing` that has not already stopped it from
187
- * outside. A control offering to pause a still marquee is the same lie as a
188
- * disabled button with no reason on it.
185
+ * Whether there is motion here at all: copies on screen, a speed to travel
186
+ * them at, and a `playing` that has not already stopped it from outside. A
187
+ * control offering to pause a still marquee is the same lie as a disabled
188
+ * button with no reason on it.
189
+ *
190
+ * The copy count, not the period. Content that measured while its container
191
+ * did not has a period — it is the content's own length — and no copies to
192
+ * draw, because there is no width to lay them across. Asking the period
193
+ * meant a row that renders nothing still reported itself live, and a group
194
+ * drew a pause control for it: a marquee that is one button and no content,
195
+ * which is the shape of the bug this replaced.
189
196
  */
190
- const live = playing && !reducedMotion && period > 0 && speed > 0;
197
+ const live = playing && !reducedMotion && layout.count > 0 && speed > 0;
191
198
 
192
199
  // Reported to the group, if there is one, so its single control can be
193
200
  // decided the same way this one's is.
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useCallback","useContext","useEffect","useId","useMemo","useState","Platform","Pressable","ScrollView","StyleSheet","View","Animated","cancelAnimation","Easing","useAnimatedStyle","useReducedMotion","useSharedValue","withRepeat","withSequence","withTiming","useDirectionSign","Text","cn","DEFAULT_MARQUEE_SPEED","marqueeCopyCount","normalizeMarqueeSpeed","jsx","_jsx","jsxs","_jsxs","InertView","MarqueeGroupContext","MarqueeRoot","className","children","speed","speedProp","spacing","direction","reverse","playing","showPauseControl","pauseLabel","playLabel","onPlayingChange","style","onLayout","props","horizontal","reducedMotion","sign","flip","viewport","setViewport","content","setContent","userPaused","setUserPaused","group","showControl","moving","paused","layout","period","copies","Array","from","length","count","_","index","offset","value","undefined","cycle","remaining","duration","easing","linear","trackStyle","travel","transform","translateX","translateY","onContainerLayout","event","width","height","nativeEvent","onContentLayout","live","id","report","scrollEnabled","styles","measure","pointerEvents","accessibilityElementsHidden","importantForAccessibility","inert","OS","absoluteFill","map","spoken","at","copy","left","top","accessibilityRole","accessibilityLabel","onPress","next","MarqueeGroup","liveRows","setLiveRows","Set","current","has","add","delete","size","Provider","displayName","Marquee","Object","assign","Group","create","opacity","zIndex","position"],"sourceRoot":"../../../../src","sources":["components/marquee/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useCallback","useContext","useEffect","useId","useMemo","useState","Platform","Pressable","ScrollView","StyleSheet","View","Animated","cancelAnimation","Easing","useAnimatedStyle","useReducedMotion","useSharedValue","withRepeat","withSequence","withTiming","useDirectionSign","Text","cn","DEFAULT_MARQUEE_SPEED","marqueeCopyCount","normalizeMarqueeSpeed","jsx","_jsx","jsxs","_jsxs","InertView","MarqueeGroupContext","MarqueeRoot","className","children","speed","speedProp","spacing","direction","reverse","playing","showPauseControl","pauseLabel","playLabel","onPlayingChange","style","onLayout","props","horizontal","reducedMotion","sign","flip","viewport","setViewport","content","setContent","userPaused","setUserPaused","group","showControl","moving","paused","layout","period","copies","Array","from","length","count","_","index","offset","value","undefined","cycle","remaining","duration","easing","linear","trackStyle","travel","transform","translateX","translateY","onContainerLayout","event","width","height","nativeEvent","onContentLayout","live","id","report","scrollEnabled","styles","measure","pointerEvents","accessibilityElementsHidden","importantForAccessibility","inert","OS","absoluteFill","map","spoken","at","copy","left","top","accessibilityRole","accessibilityLabel","onPress","next","MarqueeGroup","liveRows","setLiveRows","Set","current","has","add","delete","size","Provider","displayName","Marquee","Object","assign","Group","create","opacity","zIndex","position"],"sourceRoot":"../../../../src","sources":["components/marquee/index.tsx"],"mappings":"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","ignoreList":[]}