panelui-native 0.86.1 → 0.88.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 (63) hide show
  1. package/README.md +4 -2
  2. package/lib/module/components/animated-badge/index.js +451 -0
  3. package/lib/module/components/animated-badge/index.js.map +1 -0
  4. package/lib/module/components/bottom-sheet/index.js +17 -6
  5. package/lib/module/components/bottom-sheet/index.js.map +1 -1
  6. package/lib/module/components/bubble-chart/index.js +1782 -0
  7. package/lib/module/components/bubble-chart/index.js.map +1 -0
  8. package/lib/module/components/feedback-dialog/index.js +474 -0
  9. package/lib/module/components/feedback-dialog/index.js.map +1 -0
  10. package/lib/module/components/pyramid-chart/index.js +1143 -0
  11. package/lib/module/components/pyramid-chart/index.js.map +1 -0
  12. package/lib/module/components/scroll-blur/index.js +363 -0
  13. package/lib/module/components/scroll-blur/index.js.map +1 -0
  14. package/lib/module/components/scroll-canvas/index.js +2 -0
  15. package/lib/module/components/scroll-canvas/index.js.map +1 -1
  16. package/lib/module/components/scroll-text/index.js +3 -0
  17. package/lib/module/components/scroll-text/index.js.map +1 -1
  18. package/lib/module/components/search-bar/index.js +753 -25
  19. package/lib/module/components/search-bar/index.js.map +1 -1
  20. package/lib/module/hooks/use-keyboard-avoidance.js +21 -1
  21. package/lib/module/hooks/use-keyboard-avoidance.js.map +1 -1
  22. package/lib/module/hooks/use-reveal-progress.js +21 -1
  23. package/lib/module/hooks/use-reveal-progress.js.map +1 -1
  24. package/lib/module/index.js +5 -0
  25. package/lib/module/index.js.map +1 -1
  26. package/lib/module/utils/chart.js +24 -0
  27. package/lib/module/utils/chart.js.map +1 -1
  28. package/lib/typescript/src/components/animated-badge/index.d.ts +224 -0
  29. package/lib/typescript/src/components/animated-badge/index.d.ts.map +1 -0
  30. package/lib/typescript/src/components/bottom-sheet/index.d.ts +1 -15
  31. package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
  32. package/lib/typescript/src/components/bubble-chart/index.d.ts +481 -0
  33. package/lib/typescript/src/components/bubble-chart/index.d.ts.map +1 -0
  34. package/lib/typescript/src/components/feedback-dialog/index.d.ts +156 -0
  35. package/lib/typescript/src/components/feedback-dialog/index.d.ts.map +1 -0
  36. package/lib/typescript/src/components/pyramid-chart/index.d.ts +328 -0
  37. package/lib/typescript/src/components/pyramid-chart/index.d.ts.map +1 -0
  38. package/lib/typescript/src/components/scroll-blur/index.d.ts +113 -0
  39. package/lib/typescript/src/components/scroll-blur/index.d.ts.map +1 -0
  40. package/lib/typescript/src/components/scroll-canvas/index.d.ts.map +1 -1
  41. package/lib/typescript/src/components/search-bar/index.d.ts +350 -6
  42. package/lib/typescript/src/components/search-bar/index.d.ts.map +1 -1
  43. package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts.map +1 -1
  44. package/lib/typescript/src/hooks/use-reveal-progress.d.ts +6 -27
  45. package/lib/typescript/src/hooks/use-reveal-progress.d.ts.map +1 -1
  46. package/lib/typescript/src/index.d.ts +6 -1
  47. package/lib/typescript/src/index.d.ts.map +1 -1
  48. package/lib/typescript/src/utils/chart.d.ts +14 -0
  49. package/lib/typescript/src/utils/chart.d.ts.map +1 -1
  50. package/package.json +1 -1
  51. package/src/components/animated-badge/index.tsx +513 -0
  52. package/src/components/bottom-sheet/index.tsx +23 -8
  53. package/src/components/bubble-chart/index.tsx +2145 -0
  54. package/src/components/feedback-dialog/index.tsx +557 -0
  55. package/src/components/pyramid-chart/index.tsx +1360 -0
  56. package/src/components/scroll-blur/index.tsx +466 -0
  57. package/src/components/scroll-canvas/index.tsx +2 -1
  58. package/src/components/scroll-text/index.tsx +3 -3
  59. package/src/components/search-bar/index.tsx +933 -45
  60. package/src/hooks/use-keyboard-avoidance.ts +24 -1
  61. package/src/hooks/use-reveal-progress.ts +30 -1
  62. package/src/index.ts +72 -1
  63. package/src/utils/chart.ts +27 -0
@@ -0,0 +1,224 @@
1
+ /**
2
+ * AnimatedBadge — a status pill whose icon and label roll over when the status
3
+ * changes.
4
+ *
5
+ * A badge that swaps its word between one frame and the next is a badge people
6
+ * miss. The status is the smallest thing on the screen and usually not the
7
+ * thing being looked at, so a change with no movement in it registers as
8
+ * having always said that. Rolling the old glyph out and the new one in is
9
+ * what makes the change itself visible.
10
+ *
11
+ * ```tsx
12
+ * <AnimatedBadge status="loading">Deploying</AnimatedBadge>
13
+ * <AnimatedBadge status="success">Live</AnimatedBadge>
14
+ * ```
15
+ *
16
+ * ## The roll, and the width
17
+ *
18
+ * The outgoing glyph rises out of the pill and fades; the incoming one comes
19
+ * up from below and settles on a spring, with a slight rotation and scale so
20
+ * it reads as turning over rather than sliding. Both are clipped to the pill,
21
+ * which is what keeps the movement inside the badge instead of over whatever
22
+ * it sits beside.
23
+ *
24
+ * The pill's width springs to the new word rather than jumping, because a
25
+ * badge in a row of them shoves its neighbours as it changes and a jump does
26
+ * that in one frame. Everything runs on the UI thread.
27
+ *
28
+ * ## Which change counts as a change
29
+ *
30
+ * The label is keyed on what it says, so `"Queued"` to `"Building"` rolls and
31
+ * a re-render with the same word does not. Where the label is an element
32
+ * rather than a string, or where two different states share a word, pass
33
+ * `contentKey` — the badge cannot tell those apart on its own, and without a
34
+ * key it either animates on every render or never.
35
+ *
36
+ * ## Reduced motion
37
+ *
38
+ * With the preference on, every part of this is skipped: the glyph and the
39
+ * label cut over, the pill resizes immediately, and the pulse does not run.
40
+ * The badge still says what it says, which is the part that mattered.
41
+ */
42
+ import { type ReactNode } from 'react';
43
+ import { View, type ViewProps } from 'react-native';
44
+ import { type VariantProps } from 'tailwind-variants';
45
+ export type AnimatedBadgeStatus = 'neutral' | 'info' | 'success' | 'warning' | 'danger' | 'loading';
46
+ export type AnimatedBadgeSize = 'sm' | 'md';
47
+ declare const animatedBadgeVariants: import("tailwind-variants").TVReturnType<{
48
+ status: {
49
+ neutral: {
50
+ root: string;
51
+ label: string;
52
+ pulse: string;
53
+ };
54
+ info: {
55
+ root: string;
56
+ label: string;
57
+ pulse: string;
58
+ };
59
+ success: {
60
+ root: string;
61
+ label: string;
62
+ pulse: string;
63
+ };
64
+ warning: {
65
+ root: string;
66
+ label: string;
67
+ pulse: string;
68
+ };
69
+ danger: {
70
+ root: string;
71
+ label: string;
72
+ pulse: string;
73
+ };
74
+ loading: {
75
+ root: string;
76
+ label: string;
77
+ pulse: string;
78
+ };
79
+ };
80
+ size: {
81
+ sm: {
82
+ root: string;
83
+ label: string;
84
+ };
85
+ md: {
86
+ root: string;
87
+ label: string;
88
+ };
89
+ };
90
+ }, {
91
+ root: string;
92
+ label: string;
93
+ /** The pulse's fill, behind the content and inside the same clip. */
94
+ pulse: string;
95
+ /** One clipped column per rolling element, so the two move independently. */
96
+ slot: string;
97
+ }, undefined, {
98
+ status: {
99
+ neutral: {
100
+ root: string;
101
+ label: string;
102
+ pulse: string;
103
+ };
104
+ info: {
105
+ root: string;
106
+ label: string;
107
+ pulse: string;
108
+ };
109
+ success: {
110
+ root: string;
111
+ label: string;
112
+ pulse: string;
113
+ };
114
+ warning: {
115
+ root: string;
116
+ label: string;
117
+ pulse: string;
118
+ };
119
+ danger: {
120
+ root: string;
121
+ label: string;
122
+ pulse: string;
123
+ };
124
+ loading: {
125
+ root: string;
126
+ label: string;
127
+ pulse: string;
128
+ };
129
+ };
130
+ size: {
131
+ sm: {
132
+ root: string;
133
+ label: string;
134
+ };
135
+ md: {
136
+ root: string;
137
+ label: string;
138
+ };
139
+ };
140
+ }, {
141
+ root: string;
142
+ label: string;
143
+ /** The pulse's fill, behind the content and inside the same clip. */
144
+ pulse: string;
145
+ /** One clipped column per rolling element, so the two move independently. */
146
+ slot: string;
147
+ }, import("tailwind-variants").TVReturnType<{
148
+ status: {
149
+ neutral: {
150
+ root: string;
151
+ label: string;
152
+ pulse: string;
153
+ };
154
+ info: {
155
+ root: string;
156
+ label: string;
157
+ pulse: string;
158
+ };
159
+ success: {
160
+ root: string;
161
+ label: string;
162
+ pulse: string;
163
+ };
164
+ warning: {
165
+ root: string;
166
+ label: string;
167
+ pulse: string;
168
+ };
169
+ danger: {
170
+ root: string;
171
+ label: string;
172
+ pulse: string;
173
+ };
174
+ loading: {
175
+ root: string;
176
+ label: string;
177
+ pulse: string;
178
+ };
179
+ };
180
+ size: {
181
+ sm: {
182
+ root: string;
183
+ label: string;
184
+ };
185
+ md: {
186
+ root: string;
187
+ label: string;
188
+ };
189
+ };
190
+ }, {
191
+ root: string;
192
+ label: string;
193
+ /** The pulse's fill, behind the content and inside the same clip. */
194
+ pulse: string;
195
+ /** One clipped column per rolling element, so the two move independently. */
196
+ slot: string;
197
+ }, undefined, unknown, unknown, undefined>>;
198
+ export interface AnimatedBadgeProps extends ViewProps, VariantProps<typeof animatedBadgeVariants> {
199
+ status?: AnimatedBadgeStatus;
200
+ size?: AnimatedBadgeSize;
201
+ /** The word. Changing it rolls the old one out and the new one in. */
202
+ children?: ReactNode;
203
+ /** A glyph of your own, in place of the status's. */
204
+ icon?: ReactNode;
205
+ /** Whether a glyph is drawn at all. */
206
+ showIcon?: boolean;
207
+ /**
208
+ * A slow swell behind the content, for a status that is still happening.
209
+ * On by default while `status` is `loading`, and off otherwise — pass it
210
+ * explicitly for a state of your own that is also still running.
211
+ */
212
+ pulse?: boolean;
213
+ /**
214
+ * What counts as a change, when the label cannot say. The label is keyed on
215
+ * its own text, so this is only needed where it is an element rather than a
216
+ * string, or where two states share a word.
217
+ */
218
+ contentKey?: string | number;
219
+ className?: string;
220
+ labelClassName?: string;
221
+ }
222
+ export declare const AnimatedBadge: import("react").ForwardRefExoticComponent<AnimatedBadgeProps & import("react").RefAttributes<View>>;
223
+ export {};
224
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/animated-badge/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAapD,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAqB1D,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,MAAM,GACN,SAAS,GACT,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAevB,qEAAqE;;IAErE,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAF7E,qEAAqE;;IAErE,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAF7E,qEAAqE;;IAErE,6EAA6E;;2CA6C/E,CAAC;AA8BH,MAAM,WAAW,kBACf,SAAQ,SAAS,EACf,YAAY,CAAC,OAAO,qBAAqB,CAAC;IAC5C,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,qDAAqD;IACrD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,qGA+IzB,CAAC"}
@@ -146,20 +146,6 @@ export interface BottomSheetBodyProps extends Omit<ComponentProps<typeof Animate
146
146
  className?: string;
147
147
  children?: ReactNode;
148
148
  }
149
- /**
150
- * The scrolling part of a sized sheet.
151
- *
152
- * A plain `ScrollView` works here too, but only one of the two gestures can
153
- * win a given drag and neither knows about the other, so the list and the
154
- * sheet fight over every downward swipe. This one reports where it is
155
- * scrolled to, which is what lets the sheet hold off until the list has run
156
- * out — pull down on a list at its top and the sheet comes with you, pull
157
- * down anywhere else and the list scrolls.
158
- */
159
- declare function BottomSheetBody({ className, children, onScroll, ...props }: BottomSheetBodyProps): import("react").JSX.Element;
160
- declare namespace BottomSheetBody {
161
- var displayName: string;
162
- }
163
149
  export interface BottomSheetFooterProps extends ViewProps {
164
150
  className?: string;
165
151
  children?: ReactNode;
@@ -177,7 +163,7 @@ export declare const BottomSheet: typeof BottomSheetRoot & {
177
163
  Trigger: typeof BottomSheetTrigger;
178
164
  Content: typeof BottomSheetContent;
179
165
  Header: typeof BottomSheetHeader;
180
- Body: typeof BottomSheetBody;
166
+ Body: import("react").ForwardRefExoticComponent<BottomSheetBodyProps & import("react").RefAttributes<never>>;
181
167
  Footer: typeof BottomSheetFooter;
182
168
  };
183
169
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/bottom-sheet/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/bottom-sheet/index.tsx"],"names":[],"mappings":"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"}