panelui-native 0.14.0 → 0.19.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 (86) hide show
  1. package/README.md +2 -0
  2. package/lib/module/components/bottom-sheet/index.js +38 -10
  3. package/lib/module/components/bottom-sheet/index.js.map +1 -1
  4. package/lib/module/components/checkbox/index.js +24 -11
  5. package/lib/module/components/checkbox/index.js.map +1 -1
  6. package/lib/module/components/direction/index.js +86 -0
  7. package/lib/module/components/direction/index.js.map +1 -0
  8. package/lib/module/components/field/index.js +337 -0
  9. package/lib/module/components/field/index.js.map +1 -0
  10. package/lib/module/components/flow/flow-paths.js +378 -0
  11. package/lib/module/components/flow/flow-paths.js.map +1 -0
  12. package/lib/module/components/flow/index.js +1598 -0
  13. package/lib/module/components/flow/index.js.map +1 -0
  14. package/lib/module/components/form/index.js +77 -0
  15. package/lib/module/components/form/index.js.map +1 -0
  16. package/lib/module/components/form/use-field.js +50 -0
  17. package/lib/module/components/form/use-field.js.map +1 -0
  18. package/lib/module/components/form/use-form.js +217 -0
  19. package/lib/module/components/form/use-form.js.map +1 -0
  20. package/lib/module/components/frame/index.js +124 -22
  21. package/lib/module/components/frame/index.js.map +1 -1
  22. package/lib/module/components/message/index.js +16 -1
  23. package/lib/module/components/message/index.js.map +1 -1
  24. package/lib/module/components/otp-input/index.js +303 -0
  25. package/lib/module/components/otp-input/index.js.map +1 -0
  26. package/lib/module/components/signature/index.js +500 -0
  27. package/lib/module/components/signature/index.js.map +1 -0
  28. package/lib/module/components/soundwave/index.js +813 -0
  29. package/lib/module/components/soundwave/index.js.map +1 -0
  30. package/lib/module/components/typography/index.js +196 -5
  31. package/lib/module/components/typography/index.js.map +1 -1
  32. package/lib/module/icons/index.js +287 -0
  33. package/lib/module/icons/index.js.map +1 -1
  34. package/lib/module/index.js +8 -1
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/typescript/src/components/bottom-sheet/index.d.ts +15 -1
  37. package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
  38. package/lib/typescript/src/components/checkbox/index.d.ts +8 -0
  39. package/lib/typescript/src/components/checkbox/index.d.ts.map +1 -1
  40. package/lib/typescript/src/components/direction/index.d.ts +64 -0
  41. package/lib/typescript/src/components/direction/index.d.ts.map +1 -0
  42. package/lib/typescript/src/components/field/index.d.ts +94 -0
  43. package/lib/typescript/src/components/field/index.d.ts.map +1 -0
  44. package/lib/typescript/src/components/flow/flow-paths.d.ts +89 -0
  45. package/lib/typescript/src/components/flow/flow-paths.d.ts.map +1 -0
  46. package/lib/typescript/src/components/flow/index.d.ts +310 -0
  47. package/lib/typescript/src/components/flow/index.d.ts.map +1 -0
  48. package/lib/typescript/src/components/form/index.d.ts +64 -0
  49. package/lib/typescript/src/components/form/index.d.ts.map +1 -0
  50. package/lib/typescript/src/components/form/use-field.d.ts +16 -0
  51. package/lib/typescript/src/components/form/use-field.d.ts.map +1 -0
  52. package/lib/typescript/src/components/form/use-form.d.ts +37 -0
  53. package/lib/typescript/src/components/form/use-form.d.ts.map +1 -0
  54. package/lib/typescript/src/components/frame/index.d.ts +39 -2
  55. package/lib/typescript/src/components/frame/index.d.ts.map +1 -1
  56. package/lib/typescript/src/components/message/index.d.ts.map +1 -1
  57. package/lib/typescript/src/components/otp-input/index.d.ts +141 -0
  58. package/lib/typescript/src/components/otp-input/index.d.ts.map +1 -0
  59. package/lib/typescript/src/components/signature/index.d.ts +254 -0
  60. package/lib/typescript/src/components/signature/index.d.ts.map +1 -0
  61. package/lib/typescript/src/components/soundwave/index.d.ts +91 -0
  62. package/lib/typescript/src/components/soundwave/index.d.ts.map +1 -0
  63. package/lib/typescript/src/components/typography/index.d.ts +154 -1
  64. package/lib/typescript/src/components/typography/index.d.ts.map +1 -1
  65. package/lib/typescript/src/icons/index.d.ts +23 -0
  66. package/lib/typescript/src/icons/index.d.ts.map +1 -1
  67. package/lib/typescript/src/index.d.ts +9 -2
  68. package/lib/typescript/src/index.d.ts.map +1 -1
  69. package/package.json +9 -1
  70. package/src/components/bottom-sheet/index.tsx +50 -12
  71. package/src/components/checkbox/index.tsx +40 -12
  72. package/src/components/direction/index.tsx +90 -0
  73. package/src/components/field/index.tsx +329 -0
  74. package/src/components/flow/flow-paths.ts +348 -0
  75. package/src/components/flow/index.tsx +1924 -0
  76. package/src/components/form/index.tsx +85 -0
  77. package/src/components/form/use-field.ts +65 -0
  78. package/src/components/form/use-form.ts +252 -0
  79. package/src/components/frame/index.tsx +162 -14
  80. package/src/components/message/index.tsx +17 -1
  81. package/src/components/otp-input/index.tsx +396 -0
  82. package/src/components/signature/index.tsx +681 -0
  83. package/src/components/soundwave/index.tsx +1029 -0
  84. package/src/components/typography/index.tsx +231 -10
  85. package/src/icons/index.tsx +195 -0
  86. package/src/index.ts +87 -0
@@ -0,0 +1,337 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Field — the layout and validation-state kit a form control composes into.
5
+ *
6
+ * PanelUI's own controls (`Input`, `Checkbox`, `Switch`, `RadioGroup`) already
7
+ * carry their own label, description and error slot, so the common case needs
8
+ * no wrapper at all — pass those props straight through. `Field` exists for
9
+ * what doesn't fit that shape: a horizontal row pairing a control with a
10
+ * label off to the side (a `Switch` in a settings list), several controls
11
+ * grouped under one legend, or a rule breaking a long form into sections.
12
+ *
13
+ * `invalid` / `disabled` / `required` set on the root flow to `Field.Label`
14
+ * and `Field.Description` through context, so a multi-field row states its
15
+ * validity once instead of repeating the prop at every leaf.
16
+ *
17
+ * ```tsx
18
+ * <Field orientation="horizontal">
19
+ * <Field.Content>
20
+ * <Field.Title>Marketing emails</Field.Title>
21
+ * <Field.Description>Product updates, at most weekly.</Field.Description>
22
+ * </Field.Content>
23
+ * <Switch value={subscribed} onValueChange={setSubscribed} />
24
+ * </Field>
25
+ * ```
26
+ */
27
+ import { createContext, forwardRef, useContext, useMemo } from 'react';
28
+ import { View } from 'react-native';
29
+ import { tv } from 'tailwind-variants';
30
+ import { Text } from "../../primitives/text.js";
31
+ import { Label } from "../label/index.js";
32
+ import { Separator } from "../separator/index.js";
33
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
34
+ const fieldVariants = tv({
35
+ slots: {
36
+ root: 'gap-2',
37
+ content: 'flex-1 flex-col gap-0.5',
38
+ description: 'text-sm text-muted-foreground',
39
+ error: 'gap-1',
40
+ errorText: 'text-sm text-destructive',
41
+ bullet: 'flex-row gap-1.5',
42
+ bulletDot: 'text-sm text-destructive',
43
+ set: 'gap-4',
44
+ legend: 'text-foreground',
45
+ group: 'gap-6',
46
+ separator: 'flex-row items-center gap-3',
47
+ separatorLabel: 'text-xs text-muted-foreground',
48
+ title: 'text-base font-medium text-foreground'
49
+ },
50
+ variants: {
51
+ orientation: {
52
+ vertical: {
53
+ root: 'flex-col'
54
+ },
55
+ horizontal: {
56
+ root: 'flex-row items-center justify-between gap-4'
57
+ }
58
+ },
59
+ disabled: {
60
+ true: {
61
+ root: 'opacity-[0.64]'
62
+ }
63
+ },
64
+ legendVariant: {
65
+ legend: {
66
+ legend: 'text-base font-semibold'
67
+ },
68
+ label: {
69
+ legend: 'text-sm font-medium'
70
+ }
71
+ }
72
+ },
73
+ defaultVariants: {
74
+ orientation: 'vertical'
75
+ }
76
+ });
77
+ const FieldContext = /*#__PURE__*/createContext({
78
+ invalid: false,
79
+ disabled: false,
80
+ required: false
81
+ });
82
+ const FieldRoot = /*#__PURE__*/forwardRef(({
83
+ className,
84
+ orientation = 'vertical',
85
+ invalid = false,
86
+ disabled = false,
87
+ required = false,
88
+ children,
89
+ ...props
90
+ }, ref) => {
91
+ const {
92
+ root
93
+ } = fieldVariants({
94
+ orientation,
95
+ disabled
96
+ });
97
+ const state = useMemo(() => ({
98
+ invalid,
99
+ disabled,
100
+ required
101
+ }), [invalid, disabled, required]);
102
+ return /*#__PURE__*/_jsx(FieldContext.Provider, {
103
+ value: state,
104
+ children: /*#__PURE__*/_jsx(View, {
105
+ ref: ref,
106
+ role: "group",
107
+ accessibilityState: {
108
+ disabled
109
+ },
110
+ className: root({
111
+ className
112
+ }),
113
+ ...props,
114
+ children: children
115
+ })
116
+ });
117
+ });
118
+ FieldRoot.displayName = 'Field';
119
+ const FieldContent = /*#__PURE__*/forwardRef(({
120
+ className,
121
+ ...props
122
+ }, ref) => {
123
+ const {
124
+ content
125
+ } = fieldVariants();
126
+ return /*#__PURE__*/_jsx(View, {
127
+ ref: ref,
128
+ className: content({
129
+ className
130
+ }),
131
+ ...props
132
+ });
133
+ });
134
+ FieldContent.displayName = 'Field.Content';
135
+ const FieldLabel = /*#__PURE__*/forwardRef(({
136
+ isRequired,
137
+ isInvalid,
138
+ isDisabled,
139
+ ...props
140
+ }, ref) => {
141
+ const ctx = useContext(FieldContext);
142
+ return /*#__PURE__*/_jsx(Label, {
143
+ ref: ref,
144
+ isRequired: isRequired ?? ctx.required,
145
+ isInvalid: isInvalid ?? ctx.invalid,
146
+ isDisabled: isDisabled ?? ctx.disabled,
147
+ ...props
148
+ });
149
+ });
150
+ FieldLabel.displayName = 'Field.Label';
151
+ const FieldDescription = /*#__PURE__*/forwardRef(({
152
+ className,
153
+ ...props
154
+ }, ref) => {
155
+ const {
156
+ disabled
157
+ } = useContext(FieldContext);
158
+ const {
159
+ description
160
+ } = fieldVariants({
161
+ disabled
162
+ });
163
+ return /*#__PURE__*/_jsx(Text, {
164
+ ref: ref,
165
+ className: description({
166
+ className
167
+ }),
168
+ ...props
169
+ });
170
+ });
171
+ FieldDescription.displayName = 'Field.Description';
172
+ const FieldError = /*#__PURE__*/forwardRef(({
173
+ className,
174
+ errors,
175
+ children,
176
+ ...props
177
+ }, ref) => {
178
+ const messages = useMemo(() => {
179
+ if (!errors) return null;
180
+ const seen = new Set();
181
+ const out = [];
182
+ for (const item of errors) {
183
+ const message = typeof item === 'string' ? item : item?.message;
184
+ if (message && !seen.has(message)) {
185
+ seen.add(message);
186
+ out.push(message);
187
+ }
188
+ }
189
+ return out;
190
+ }, [errors]);
191
+ const hasContent = messages ? messages.length > 0 : !!children;
192
+ if (!hasContent) return null;
193
+ const {
194
+ error,
195
+ errorText,
196
+ bullet,
197
+ bulletDot
198
+ } = fieldVariants();
199
+ return /*#__PURE__*/_jsx(View, {
200
+ ref: ref
201
+ // Web-aligned `role`, same as `Separator` already uses — RN's older
202
+ // accessibilityRole list has no alert, the ARIA-aligned one does.
203
+ ,
204
+ role: "alert",
205
+ accessibilityLiveRegion: "polite",
206
+ className: error({
207
+ className
208
+ }),
209
+ ...props,
210
+ children: messages ? messages.length === 1 ? /*#__PURE__*/_jsx(Text, {
211
+ className: errorText(),
212
+ children: messages[0]
213
+ }) : messages.map(message => /*#__PURE__*/_jsxs(View, {
214
+ className: bullet(),
215
+ children: [/*#__PURE__*/_jsx(Text, {
216
+ className: bulletDot(),
217
+ children: '•'
218
+ }), /*#__PURE__*/_jsx(Text, {
219
+ className: errorText(),
220
+ children: message
221
+ })]
222
+ }, message)) : typeof children === 'string' ? /*#__PURE__*/_jsx(Text, {
223
+ className: errorText(),
224
+ children: children
225
+ }) : children
226
+ });
227
+ });
228
+ FieldError.displayName = 'Field.Error';
229
+ const FieldSet = /*#__PURE__*/forwardRef(({
230
+ className,
231
+ ...props
232
+ }, ref) => {
233
+ const {
234
+ set
235
+ } = fieldVariants();
236
+ return /*#__PURE__*/_jsx(View, {
237
+ ref: ref,
238
+ role: "group",
239
+ className: set({
240
+ className
241
+ }),
242
+ ...props
243
+ });
244
+ });
245
+ FieldSet.displayName = 'Field.Set';
246
+ const FieldLegend = /*#__PURE__*/forwardRef(({
247
+ className,
248
+ variant = 'legend',
249
+ ...props
250
+ }, ref) => {
251
+ const {
252
+ legend
253
+ } = fieldVariants({
254
+ legendVariant: variant
255
+ });
256
+ return /*#__PURE__*/_jsx(Text, {
257
+ ref: ref,
258
+ role: "heading",
259
+ className: legend({
260
+ className
261
+ }),
262
+ ...props
263
+ });
264
+ });
265
+ FieldLegend.displayName = 'Field.Legend';
266
+ const FieldGroup = /*#__PURE__*/forwardRef(({
267
+ className,
268
+ ...props
269
+ }, ref) => {
270
+ const {
271
+ group
272
+ } = fieldVariants();
273
+ return /*#__PURE__*/_jsx(View, {
274
+ ref: ref,
275
+ className: group({
276
+ className
277
+ }),
278
+ ...props
279
+ });
280
+ });
281
+ FieldGroup.displayName = 'Field.Group';
282
+ const FieldSeparator = /*#__PURE__*/forwardRef(({
283
+ className,
284
+ children,
285
+ ...props
286
+ }, ref) => {
287
+ const {
288
+ separator,
289
+ separatorLabel
290
+ } = fieldVariants();
291
+ return /*#__PURE__*/_jsxs(View, {
292
+ ref: ref,
293
+ className: separator({
294
+ className
295
+ }),
296
+ ...props,
297
+ children: [/*#__PURE__*/_jsx(Separator, {
298
+ className: "flex-1"
299
+ }), children ? /*#__PURE__*/_jsxs(_Fragment, {
300
+ children: [/*#__PURE__*/_jsx(Text, {
301
+ className: separatorLabel(),
302
+ children: children
303
+ }), /*#__PURE__*/_jsx(Separator, {
304
+ className: "flex-1"
305
+ })]
306
+ }) : null]
307
+ });
308
+ });
309
+ FieldSeparator.displayName = 'Field.Separator';
310
+ const FieldTitle = /*#__PURE__*/forwardRef(({
311
+ className,
312
+ ...props
313
+ }, ref) => {
314
+ const {
315
+ title
316
+ } = fieldVariants();
317
+ return /*#__PURE__*/_jsx(Text, {
318
+ ref: ref,
319
+ className: title({
320
+ className
321
+ }),
322
+ ...props
323
+ });
324
+ });
325
+ FieldTitle.displayName = 'Field.Title';
326
+ export const Field = Object.assign(FieldRoot, {
327
+ Content: FieldContent,
328
+ Label: FieldLabel,
329
+ Description: FieldDescription,
330
+ Error: FieldError,
331
+ Set: FieldSet,
332
+ Legend: FieldLegend,
333
+ Group: FieldGroup,
334
+ Separator: FieldSeparator,
335
+ Title: FieldTitle
336
+ });
337
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","forwardRef","useContext","useMemo","View","tv","Text","Label","Separator","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","fieldVariants","slots","root","content","description","error","errorText","bullet","bulletDot","set","legend","group","separator","separatorLabel","title","variants","orientation","vertical","horizontal","disabled","true","legendVariant","label","defaultVariants","FieldContext","invalid","required","FieldRoot","className","children","props","ref","state","Provider","value","role","accessibilityState","displayName","FieldContent","FieldLabel","isRequired","isInvalid","isDisabled","ctx","FieldDescription","FieldError","errors","messages","seen","Set","out","item","message","has","add","push","hasContent","length","accessibilityLiveRegion","map","FieldSet","FieldLegend","variant","FieldGroup","FieldSeparator","FieldTitle","Field","Object","assign","Content","Description","Error","Legend","Group","Title"],"sourceRoot":"../../../../src","sources":["components/field/index.tsx"],"mappings":"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","ignoreList":[]}