elseware-ui 3.0.11 → 3.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +289 -289
- package/dist/index.css +60 -28
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +89 -6
- package/dist/index.d.ts +89 -6
- package/dist/index.js +232 -129
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +216 -119
- package/dist/index.mjs.map +1 -1
- package/dist/index.native.d.mts +3 -3
- package/dist/index.native.d.ts +3 -3
- package/dist/index.native.js +246 -213
- package/dist/index.native.js.map +1 -1
- package/dist/index.native.mjs +230 -197
- package/dist/index.native.mjs.map +1 -1
- package/dist/{resolveGlobalConfigs-BdBJw5_w.d.mts → resolveGlobalConfigs-TVdFbK-t.d.mts} +13 -1
- package/dist/{resolveGlobalConfigs-BdBJw5_w.d.ts → resolveGlobalConfigs-TVdFbK-t.d.ts} +13 -1
- package/package.json +173 -173
- package/tailwind.preset.js +116 -116
package/dist/index.native.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { createContext, forwardRef, useContext, useState, useRef, useEffect } from 'react';
|
|
1
2
|
import { Pressable, View, ActivityIndicator, Text, Animated, Easing, TextInput, Modal, ScrollView } from 'react-native';
|
|
2
3
|
import { twMerge } from 'tailwind-merge';
|
|
3
|
-
import {
|
|
4
|
-
import { jsx } from '
|
|
5
|
-
import { jsx as jsx$1, jsxs } from 'nativewind/jsx-runtime';
|
|
4
|
+
import { jsx as jsx$1 } from 'react/jsx-runtime';
|
|
5
|
+
import { jsx, jsxs } from 'nativewind/jsx-runtime';
|
|
6
6
|
import { Formik, ErrorMessage, useField } from 'formik';
|
|
7
7
|
|
|
8
8
|
// src/components/data-entry/button/native/Button.native.tsx
|
|
@@ -27,6 +27,11 @@ function cn(...inputs) {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
// src/utils/styles.ts
|
|
30
|
+
function extractTextColorClasses(className) {
|
|
31
|
+
return className.split(/\s+/).filter(
|
|
32
|
+
(token) => token.startsWith("text-") || token.startsWith("dark:text-") || token.startsWith("disabled:text-")
|
|
33
|
+
).join(" ");
|
|
34
|
+
}
|
|
30
35
|
function resolveAppearanceStyles({
|
|
31
36
|
appearance = "solid",
|
|
32
37
|
variant = "default",
|
|
@@ -49,7 +54,7 @@ var EUIProvider = ({
|
|
|
49
54
|
children
|
|
50
55
|
}) => {
|
|
51
56
|
const [state, setState] = useState(config);
|
|
52
|
-
return /* @__PURE__ */ jsx(EUIContext.Provider, { value: { config: state, setConfig: setState }, children });
|
|
57
|
+
return /* @__PURE__ */ jsx$1(EUIContext.Provider, { value: { config: state, setConfig: setState }, children });
|
|
53
58
|
};
|
|
54
59
|
var useEUIConfig = () => {
|
|
55
60
|
const ctx = useContext(EUIContext);
|
|
@@ -146,14 +151,6 @@ var shapes = {
|
|
|
146
151
|
};
|
|
147
152
|
|
|
148
153
|
// src/components/data-entry/button/base/Button.styles.ts
|
|
149
|
-
var buttonShapes = shapes;
|
|
150
|
-
var buttonIconSizes = {
|
|
151
|
-
xs: 14,
|
|
152
|
-
sm: 16,
|
|
153
|
-
md: 18,
|
|
154
|
-
lg: 20,
|
|
155
|
-
xl: 22
|
|
156
|
-
};
|
|
157
154
|
function resolveButtonVariantStyles({
|
|
158
155
|
appearance,
|
|
159
156
|
variant
|
|
@@ -166,164 +163,200 @@ function resolveButtonVariantStyles({
|
|
|
166
163
|
ghost: variantsGhost
|
|
167
164
|
});
|
|
168
165
|
}
|
|
169
|
-
function getButtonLabelColorClassName(className) {
|
|
170
|
-
return className.split(/\s+/).filter(
|
|
171
|
-
(token) => token.startsWith("text-") || token.startsWith("dark:text-") || token.startsWith("disabled:text-")
|
|
172
|
-
).join(" ");
|
|
173
|
-
}
|
|
174
166
|
|
|
175
|
-
// src/components/data-entry/button/
|
|
176
|
-
var
|
|
167
|
+
// src/components/data-entry/button/base/Button.tokens.ts
|
|
168
|
+
var buttonSizeTokens = {
|
|
177
169
|
xs: {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
170
|
+
padding: "px-2 py-1",
|
|
171
|
+
text: "text-xs",
|
|
172
|
+
icon: 14,
|
|
173
|
+
minHeight: "min-h-[30px]",
|
|
174
|
+
leading: "leading-[14px]",
|
|
175
|
+
slot: "h-[14px] w-[14px]"
|
|
181
176
|
},
|
|
182
177
|
sm: {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
178
|
+
padding: "px-3 py-1.5",
|
|
179
|
+
text: "text-sm",
|
|
180
|
+
icon: 16,
|
|
181
|
+
minHeight: "min-h-9",
|
|
182
|
+
leading: "leading-4",
|
|
183
|
+
slot: "h-4 w-4"
|
|
186
184
|
},
|
|
187
185
|
md: {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
186
|
+
padding: "px-4 py-2",
|
|
187
|
+
text: "text-base",
|
|
188
|
+
icon: 18,
|
|
189
|
+
minHeight: "min-h-11",
|
|
190
|
+
leading: "leading-[18px]",
|
|
191
|
+
slot: "h-[18px] w-[18px]"
|
|
191
192
|
},
|
|
192
193
|
lg: {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
194
|
+
padding: "px-5 py-3",
|
|
195
|
+
text: "text-lg",
|
|
196
|
+
icon: 20,
|
|
197
|
+
minHeight: "min-h-[50px]",
|
|
198
|
+
leading: "leading-5",
|
|
199
|
+
slot: "h-5 w-5"
|
|
196
200
|
},
|
|
197
201
|
xl: {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
202
|
+
padding: "px-6 py-4",
|
|
203
|
+
text: "text-xl",
|
|
204
|
+
icon: 22,
|
|
205
|
+
minHeight: "min-h-14",
|
|
206
|
+
leading: "leading-[22px]",
|
|
207
|
+
slot: "h-[22px] w-[22px]"
|
|
201
208
|
}
|
|
202
209
|
};
|
|
203
|
-
var
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
function
|
|
208
|
-
icon,
|
|
209
|
-
text,
|
|
210
|
-
children,
|
|
211
|
-
loading = false,
|
|
212
|
-
disabled = false,
|
|
213
|
-
block = false,
|
|
214
|
-
compact = false,
|
|
215
|
-
mode,
|
|
216
|
-
contentClassName,
|
|
217
|
-
labelClassName,
|
|
218
|
-
className,
|
|
219
|
-
variant,
|
|
220
|
-
appearance,
|
|
221
|
-
shape,
|
|
222
|
-
size,
|
|
223
|
-
accessibilityRole = "button",
|
|
224
|
-
accessibilityState,
|
|
225
|
-
type: _type,
|
|
226
|
-
onClick: _onClick,
|
|
227
|
-
onMouseMove: _onMouseMove,
|
|
228
|
-
onPress,
|
|
229
|
-
...rest
|
|
230
|
-
}) {
|
|
210
|
+
var buttonShapes = shapes;
|
|
211
|
+
var buttonTextModeClassName = "border-transparent bg-transparent";
|
|
212
|
+
|
|
213
|
+
// src/components/data-entry/button/base/useButton.ts
|
|
214
|
+
function useButton(props) {
|
|
231
215
|
const {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
216
|
+
// Consumed by the shared model
|
|
217
|
+
icon,
|
|
218
|
+
text,
|
|
219
|
+
children,
|
|
220
|
+
loading = false,
|
|
221
|
+
disabled = false,
|
|
222
|
+
block = false,
|
|
223
|
+
compact = false,
|
|
238
224
|
mode,
|
|
239
225
|
variant,
|
|
240
226
|
appearance,
|
|
241
227
|
shape,
|
|
242
|
-
size
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
228
|
+
size,
|
|
229
|
+
accessibilityState,
|
|
230
|
+
onPress,
|
|
231
|
+
// Owned by the platform views — pulled out here only so `rootRest` is a
|
|
232
|
+
// clean pass-through (no library props leak onto the DOM / native root).
|
|
233
|
+
type: _type,
|
|
234
|
+
glow: _glow,
|
|
235
|
+
className: _className,
|
|
236
|
+
contentClassName: _contentClassName,
|
|
237
|
+
labelClassName: _labelClassName,
|
|
238
|
+
accessibilityLabel: _accessibilityLabel,
|
|
239
|
+
accessibilityRole: _accessibilityRole,
|
|
240
|
+
testID: _testID,
|
|
241
|
+
onClick: _onClick,
|
|
242
|
+
onMouseMove: _onMouseMove,
|
|
243
|
+
...rootRest
|
|
244
|
+
} = props;
|
|
245
|
+
const { shape: resolvedShape, size: resolvedSize, variant: resolvedVariant, appearance: resolvedAppearance } = useResolvedButtonConfig({ compact, mode, variant, appearance, shape, size });
|
|
246
|
+
const tokens = buttonSizeTokens[resolvedSize];
|
|
247
|
+
const variantClassName = resolveButtonVariantStyles({
|
|
247
248
|
appearance: resolvedAppearance,
|
|
248
249
|
variant: resolvedVariant
|
|
249
250
|
});
|
|
250
|
-
const
|
|
251
|
-
const
|
|
252
|
-
const
|
|
253
|
-
return
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
disabled: disabled || loading,
|
|
274
|
-
onPress,
|
|
275
|
-
style: ({ pressed }) => [
|
|
276
|
-
pressed && !disabled && !loading ? { opacity: 0.82 } : null,
|
|
277
|
-
disabled || loading ? { opacity: 0.55 } : null
|
|
278
|
-
],
|
|
279
|
-
children: /* @__PURE__ */ jsxs(
|
|
280
|
-
View,
|
|
281
|
-
{
|
|
282
|
-
className: cn(
|
|
283
|
-
"z-10 flex-row items-center justify-center gap-2",
|
|
284
|
-
contentClassName
|
|
285
|
-
),
|
|
286
|
-
children: [
|
|
287
|
-
loading ? /* @__PURE__ */ jsx$1(
|
|
288
|
-
View,
|
|
289
|
-
{
|
|
290
|
-
className: cn(
|
|
291
|
-
"shrink-0 items-center justify-center",
|
|
292
|
-
metrics.slotClassName
|
|
293
|
-
),
|
|
294
|
-
children: /* @__PURE__ */ jsx$1(ActivityIndicator, { className: labelColorClassName, size: "small" })
|
|
295
|
-
}
|
|
296
|
-
) : null,
|
|
297
|
-
!loading && resolvedIcon ? /* @__PURE__ */ jsx$1(
|
|
298
|
-
View,
|
|
299
|
-
{
|
|
300
|
-
className: cn(
|
|
301
|
-
"shrink-0 items-center justify-center",
|
|
302
|
-
metrics.slotClassName
|
|
303
|
-
),
|
|
304
|
-
children: resolvedIcon
|
|
305
|
-
}
|
|
306
|
-
) : null,
|
|
307
|
-
typeof content === "string" || typeof content === "number" ? /* @__PURE__ */ jsx$1(View, { className: "items-center justify-center", children: /* @__PURE__ */ jsx$1(
|
|
308
|
-
Text,
|
|
309
|
-
{
|
|
310
|
-
className: cn(
|
|
311
|
-
"font-bold",
|
|
312
|
-
metrics.labelClassName,
|
|
313
|
-
labelColorClassName,
|
|
314
|
-
labelClassName
|
|
315
|
-
),
|
|
316
|
-
numberOfLines: 1,
|
|
317
|
-
style: nativeLabelBaseStyle,
|
|
318
|
-
children: content
|
|
319
|
-
}
|
|
320
|
-
) }) : content
|
|
321
|
-
]
|
|
322
|
-
}
|
|
323
|
-
)
|
|
324
|
-
}
|
|
325
|
-
);
|
|
251
|
+
const label = text ?? children;
|
|
252
|
+
const resolvedIcon = typeof icon === "function" ? icon({ color: "currentColor", size: tokens.icon }) : icon;
|
|
253
|
+
const isBusy = disabled || loading;
|
|
254
|
+
return {
|
|
255
|
+
size: resolvedSize,
|
|
256
|
+
shape: resolvedShape,
|
|
257
|
+
tokens,
|
|
258
|
+
isBusy,
|
|
259
|
+
isInteractive: !isBusy,
|
|
260
|
+
isTextMode: mode === "text",
|
|
261
|
+
block,
|
|
262
|
+
loading,
|
|
263
|
+
iconSize: tokens.icon,
|
|
264
|
+
icon: resolvedIcon,
|
|
265
|
+
label,
|
|
266
|
+
hasTextLabel: typeof label === "string" || typeof label === "number",
|
|
267
|
+
variantClassName,
|
|
268
|
+
shapeClassName: buttonShapes[resolvedShape],
|
|
269
|
+
labelColorClassName: extractTextColorClasses(variantClassName),
|
|
270
|
+
selected: accessibilityState?.selected,
|
|
271
|
+
onPress,
|
|
272
|
+
rootRest
|
|
273
|
+
};
|
|
326
274
|
}
|
|
275
|
+
var NATIVE_ROOT = "relative items-center justify-center overflow-hidden";
|
|
276
|
+
var nativeLabelBaseStyle = {
|
|
277
|
+
includeFontPadding: false,
|
|
278
|
+
textAlignVertical: "center"
|
|
279
|
+
};
|
|
280
|
+
var Button = forwardRef(
|
|
281
|
+
function Button2(props, ref) {
|
|
282
|
+
const {
|
|
283
|
+
className,
|
|
284
|
+
contentClassName,
|
|
285
|
+
labelClassName,
|
|
286
|
+
accessibilityLabel,
|
|
287
|
+
accessibilityRole = "button",
|
|
288
|
+
testID
|
|
289
|
+
} = props;
|
|
290
|
+
const model = useButton(props);
|
|
291
|
+
return /* @__PURE__ */ jsx(
|
|
292
|
+
Pressable,
|
|
293
|
+
{
|
|
294
|
+
...model.rootRest,
|
|
295
|
+
ref,
|
|
296
|
+
accessibilityLabel,
|
|
297
|
+
accessibilityRole,
|
|
298
|
+
accessibilityState: { disabled: model.isBusy, selected: model.selected },
|
|
299
|
+
testID,
|
|
300
|
+
disabled: model.isBusy,
|
|
301
|
+
onPress: model.onPress,
|
|
302
|
+
className: cn(
|
|
303
|
+
NATIVE_ROOT,
|
|
304
|
+
model.variantClassName,
|
|
305
|
+
model.shapeClassName,
|
|
306
|
+
model.tokens.padding,
|
|
307
|
+
model.tokens.minHeight,
|
|
308
|
+
model.block && "w-full",
|
|
309
|
+
model.isTextMode && buttonTextModeClassName,
|
|
310
|
+
model.isBusy ? "opacity-55" : "active:opacity-80",
|
|
311
|
+
className
|
|
312
|
+
),
|
|
313
|
+
style: ({ pressed }) => pressed && model.isInteractive ? { opacity: 0.82 } : null,
|
|
314
|
+
children: /* @__PURE__ */ jsxs(
|
|
315
|
+
View,
|
|
316
|
+
{
|
|
317
|
+
className: cn(
|
|
318
|
+
"z-10 flex-row items-center justify-center gap-2",
|
|
319
|
+
contentClassName
|
|
320
|
+
),
|
|
321
|
+
children: [
|
|
322
|
+
(model.loading || model.icon) && /* @__PURE__ */ jsx(
|
|
323
|
+
View,
|
|
324
|
+
{
|
|
325
|
+
className: cn(
|
|
326
|
+
"shrink-0 items-center justify-center",
|
|
327
|
+
model.tokens.slot
|
|
328
|
+
),
|
|
329
|
+
children: model.loading ? /* @__PURE__ */ jsx(
|
|
330
|
+
ActivityIndicator,
|
|
331
|
+
{
|
|
332
|
+
className: model.labelColorClassName,
|
|
333
|
+
size: "small"
|
|
334
|
+
}
|
|
335
|
+
) : model.icon
|
|
336
|
+
}
|
|
337
|
+
),
|
|
338
|
+
model.hasTextLabel ? /* @__PURE__ */ jsx(
|
|
339
|
+
Text,
|
|
340
|
+
{
|
|
341
|
+
className: cn(
|
|
342
|
+
"font-bold",
|
|
343
|
+
model.tokens.text,
|
|
344
|
+
model.tokens.leading,
|
|
345
|
+
model.labelColorClassName,
|
|
346
|
+
labelClassName
|
|
347
|
+
),
|
|
348
|
+
numberOfLines: 1,
|
|
349
|
+
style: nativeLabelBaseStyle,
|
|
350
|
+
children: model.label
|
|
351
|
+
}
|
|
352
|
+
) : model.label
|
|
353
|
+
]
|
|
354
|
+
}
|
|
355
|
+
)
|
|
356
|
+
}
|
|
357
|
+
);
|
|
358
|
+
}
|
|
359
|
+
);
|
|
327
360
|
var Button_native_default = Button;
|
|
328
361
|
function isMultiCheckbox(props) {
|
|
329
362
|
return Array.isArray(props.options);
|
|
@@ -443,7 +476,7 @@ function Tick({
|
|
|
443
476
|
checkedIconClassName,
|
|
444
477
|
iconClassName
|
|
445
478
|
}) {
|
|
446
|
-
return /* @__PURE__ */ jsx
|
|
479
|
+
return /* @__PURE__ */ jsx(
|
|
447
480
|
Text,
|
|
448
481
|
{
|
|
449
482
|
className: cn(
|
|
@@ -508,7 +541,7 @@ function Checkbox(checkboxProps) {
|
|
|
508
541
|
disabled,
|
|
509
542
|
onPress: () => singleHelpers.setValue(!singleChecked),
|
|
510
543
|
children: [
|
|
511
|
-
/* @__PURE__ */ jsx
|
|
544
|
+
/* @__PURE__ */ jsx(
|
|
512
545
|
View,
|
|
513
546
|
{
|
|
514
547
|
className: getIndicatorClassName({
|
|
@@ -520,7 +553,7 @@ function Checkbox(checkboxProps) {
|
|
|
520
553
|
resolvedShape,
|
|
521
554
|
variantCheckedClassName: variantStyles.checkedClassName
|
|
522
555
|
}),
|
|
523
|
-
children: singleChecked ? /* @__PURE__ */ jsx
|
|
556
|
+
children: singleChecked ? /* @__PURE__ */ jsx(
|
|
524
557
|
Tick,
|
|
525
558
|
{
|
|
526
559
|
checkedIconClassName,
|
|
@@ -529,11 +562,11 @@ function Checkbox(checkboxProps) {
|
|
|
529
562
|
) : null
|
|
530
563
|
}
|
|
531
564
|
),
|
|
532
|
-
resolvedLabel ? /* @__PURE__ */ jsx
|
|
565
|
+
resolvedLabel ? /* @__PURE__ */ jsx(Text, { className: cn(checkboxLabelClassName, labelClassName), children: resolvedLabel }) : null
|
|
533
566
|
]
|
|
534
567
|
}
|
|
535
568
|
),
|
|
536
|
-
isMulti && multiProps ? /* @__PURE__ */ jsx
|
|
569
|
+
isMulti && multiProps ? /* @__PURE__ */ jsx(View, { className: "w-full flex-row gap-6", children: optionColumns.map((columnOptions, columnIndex) => /* @__PURE__ */ jsx(
|
|
537
570
|
View,
|
|
538
571
|
{
|
|
539
572
|
className: "min-w-0 flex-1 flex-col gap-2",
|
|
@@ -555,7 +588,7 @@ function Checkbox(checkboxProps) {
|
|
|
555
588
|
checked ? values.filter((value) => value !== option.value) : [...values, option.value]
|
|
556
589
|
),
|
|
557
590
|
children: [
|
|
558
|
-
/* @__PURE__ */ jsx
|
|
591
|
+
/* @__PURE__ */ jsx(
|
|
559
592
|
View,
|
|
560
593
|
{
|
|
561
594
|
className: getIndicatorClassName({
|
|
@@ -567,7 +600,7 @@ function Checkbox(checkboxProps) {
|
|
|
567
600
|
resolvedShape,
|
|
568
601
|
variantCheckedClassName: variantStyles.checkedClassName
|
|
569
602
|
}),
|
|
570
|
-
children: checked ? /* @__PURE__ */ jsx
|
|
603
|
+
children: checked ? /* @__PURE__ */ jsx(
|
|
571
604
|
Tick,
|
|
572
605
|
{
|
|
573
606
|
checkedIconClassName,
|
|
@@ -576,7 +609,7 @@ function Checkbox(checkboxProps) {
|
|
|
576
609
|
) : null
|
|
577
610
|
}
|
|
578
611
|
),
|
|
579
|
-
/* @__PURE__ */ jsx
|
|
612
|
+
/* @__PURE__ */ jsx(
|
|
580
613
|
Text,
|
|
581
614
|
{
|
|
582
615
|
className: cn(
|
|
@@ -595,7 +628,7 @@ function Checkbox(checkboxProps) {
|
|
|
595
628
|
},
|
|
596
629
|
`${multiField.name}-column-${columnIndex}`
|
|
597
630
|
)) }) : null,
|
|
598
|
-
errorText ? /* @__PURE__ */ jsx
|
|
631
|
+
errorText ? /* @__PURE__ */ jsx(Text, { className: "px-2 py-1 text-sm font-medium text-eui-danger-500", children: errorText }) : null
|
|
599
632
|
] });
|
|
600
633
|
}
|
|
601
634
|
|
|
@@ -676,7 +709,7 @@ function InputLabel({
|
|
|
676
709
|
lineHeight: floating === true ? nativeInputLabelMetrics.floatingFontSize : nativeInputLabelMetrics.restingFontSize,
|
|
677
710
|
top: floating === true ? nativeInputLabelMetrics.floatingTop : nativeInputLabelMetrics.restingTop
|
|
678
711
|
};
|
|
679
|
-
return /* @__PURE__ */ jsx
|
|
712
|
+
return /* @__PURE__ */ jsx(
|
|
680
713
|
Animated.Text,
|
|
681
714
|
{
|
|
682
715
|
className: cn(
|
|
@@ -740,8 +773,8 @@ function InputResponse({
|
|
|
740
773
|
}
|
|
741
774
|
]
|
|
742
775
|
};
|
|
743
|
-
const content = message ?? /* @__PURE__ */ jsx
|
|
744
|
-
return /* @__PURE__ */ jsx
|
|
776
|
+
const content = message ?? /* @__PURE__ */ jsx(ErrorMessage, { name, children: (errorMessage) => String(errorMessage) });
|
|
777
|
+
return /* @__PURE__ */ jsx(Animated.View, { className: "w-full", style: animatedStyle, children: /* @__PURE__ */ jsx(
|
|
745
778
|
Text,
|
|
746
779
|
{
|
|
747
780
|
className: cn(
|
|
@@ -825,7 +858,7 @@ function DateSelector(dateSelectorProps) {
|
|
|
825
858
|
);
|
|
826
859
|
};
|
|
827
860
|
return /* @__PURE__ */ jsxs(View, { className: inputRootClassName, children: [
|
|
828
|
-
/* @__PURE__ */ jsx
|
|
861
|
+
/* @__PURE__ */ jsx(
|
|
829
862
|
View,
|
|
830
863
|
{
|
|
831
864
|
className: cn(
|
|
@@ -836,7 +869,7 @@ function DateSelector(dateSelectorProps) {
|
|
|
836
869
|
className,
|
|
837
870
|
styles
|
|
838
871
|
),
|
|
839
|
-
children: /* @__PURE__ */ jsx
|
|
872
|
+
children: /* @__PURE__ */ jsx(
|
|
840
873
|
TextInput,
|
|
841
874
|
{
|
|
842
875
|
accessibilityLabel: resolvedLabel,
|
|
@@ -858,7 +891,7 @@ function DateSelector(dateSelectorProps) {
|
|
|
858
891
|
)
|
|
859
892
|
}
|
|
860
893
|
),
|
|
861
|
-
/* @__PURE__ */ jsx
|
|
894
|
+
/* @__PURE__ */ jsx(
|
|
862
895
|
InputLabel,
|
|
863
896
|
{
|
|
864
897
|
animatedValue: labelProgress,
|
|
@@ -869,7 +902,7 @@ function DateSelector(dateSelectorProps) {
|
|
|
869
902
|
className: labelClassName
|
|
870
903
|
}
|
|
871
904
|
),
|
|
872
|
-
/* @__PURE__ */ jsx
|
|
905
|
+
/* @__PURE__ */ jsx(
|
|
873
906
|
InputResponse,
|
|
874
907
|
{
|
|
875
908
|
message: errorText,
|
|
@@ -921,7 +954,7 @@ function Form({
|
|
|
921
954
|
onChange,
|
|
922
955
|
onDirtyChange
|
|
923
956
|
}) {
|
|
924
|
-
return /* @__PURE__ */ jsx
|
|
957
|
+
return /* @__PURE__ */ jsx(
|
|
925
958
|
Formik,
|
|
926
959
|
{
|
|
927
960
|
initialValues,
|
|
@@ -931,7 +964,7 @@ function Form({
|
|
|
931
964
|
await onSubmit(values, helpers);
|
|
932
965
|
},
|
|
933
966
|
children: (formik) => /* @__PURE__ */ jsxs(View, { className: cn(className), children: [
|
|
934
|
-
/* @__PURE__ */ jsx
|
|
967
|
+
/* @__PURE__ */ jsx(
|
|
935
968
|
FormObservers,
|
|
936
969
|
{
|
|
937
970
|
formik,
|
|
@@ -939,7 +972,7 @@ function Form({
|
|
|
939
972
|
onDirtyChange
|
|
940
973
|
}
|
|
941
974
|
),
|
|
942
|
-
/* @__PURE__ */ jsx
|
|
975
|
+
/* @__PURE__ */ jsx(View, { className: cn(contentClassName), children: renderFormChildren(children, formik) })
|
|
943
976
|
] })
|
|
944
977
|
}
|
|
945
978
|
);
|
|
@@ -1012,7 +1045,7 @@ function FormResponse({
|
|
|
1012
1045
|
return null;
|
|
1013
1046
|
}
|
|
1014
1047
|
const styles = resolveFormResponseStyles({ shape, size, variant });
|
|
1015
|
-
return /* @__PURE__ */ jsx
|
|
1048
|
+
return /* @__PURE__ */ jsx(View, { className: cn(styles.rootClassName, className), children: /* @__PURE__ */ jsx(Text, { className: cn(styles.textClassName, textClassName), children: text }) });
|
|
1016
1049
|
}
|
|
1017
1050
|
function resolveInputType({
|
|
1018
1051
|
passwordVisible,
|
|
@@ -1100,7 +1133,7 @@ function Input(inputProps) {
|
|
|
1100
1133
|
onFocus?.(event);
|
|
1101
1134
|
};
|
|
1102
1135
|
return /* @__PURE__ */ jsxs(View, { className: inputRootClassName, children: [
|
|
1103
|
-
/* @__PURE__ */ jsx
|
|
1136
|
+
/* @__PURE__ */ jsx(
|
|
1104
1137
|
View,
|
|
1105
1138
|
{
|
|
1106
1139
|
className: cn(
|
|
@@ -1110,7 +1143,7 @@ function Input(inputProps) {
|
|
|
1110
1143
|
disabled && inputFrameDisabledClassName,
|
|
1111
1144
|
className
|
|
1112
1145
|
),
|
|
1113
|
-
children: /* @__PURE__ */ jsx
|
|
1146
|
+
children: /* @__PURE__ */ jsx(
|
|
1114
1147
|
TextInput,
|
|
1115
1148
|
{
|
|
1116
1149
|
accessibilityLabel: resolvedLabel,
|
|
@@ -1134,7 +1167,7 @@ function Input(inputProps) {
|
|
|
1134
1167
|
)
|
|
1135
1168
|
}
|
|
1136
1169
|
),
|
|
1137
|
-
/* @__PURE__ */ jsx
|
|
1170
|
+
/* @__PURE__ */ jsx(
|
|
1138
1171
|
InputLabel,
|
|
1139
1172
|
{
|
|
1140
1173
|
animatedValue: labelProgress,
|
|
@@ -1145,7 +1178,7 @@ function Input(inputProps) {
|
|
|
1145
1178
|
className: labelClassName
|
|
1146
1179
|
}
|
|
1147
1180
|
),
|
|
1148
|
-
type === "password" ? /* @__PURE__ */ jsx
|
|
1181
|
+
type === "password" ? /* @__PURE__ */ jsx(
|
|
1149
1182
|
Pressable,
|
|
1150
1183
|
{
|
|
1151
1184
|
accessibilityRole: "button",
|
|
@@ -1153,10 +1186,10 @@ function Input(inputProps) {
|
|
|
1153
1186
|
className: nativePasswordToggleClassName,
|
|
1154
1187
|
disabled,
|
|
1155
1188
|
onPress: () => setPasswordVisible((current) => !current),
|
|
1156
|
-
children: /* @__PURE__ */ jsx
|
|
1189
|
+
children: /* @__PURE__ */ jsx(Text, { className: nativePasswordToggleTextClassName, children: passwordVisible ? "Hide" : "Show" })
|
|
1157
1190
|
}
|
|
1158
1191
|
) : null,
|
|
1159
|
-
/* @__PURE__ */ jsx
|
|
1192
|
+
/* @__PURE__ */ jsx(
|
|
1160
1193
|
InputResponse,
|
|
1161
1194
|
{
|
|
1162
1195
|
message: errorText,
|
|
@@ -1240,7 +1273,7 @@ function InputFile(inputFileProps) {
|
|
|
1240
1273
|
}
|
|
1241
1274
|
};
|
|
1242
1275
|
return /* @__PURE__ */ jsxs(View, { className: inputRootClassName, children: [
|
|
1243
|
-
/* @__PURE__ */ jsx
|
|
1276
|
+
/* @__PURE__ */ jsx(
|
|
1244
1277
|
Pressable,
|
|
1245
1278
|
{
|
|
1246
1279
|
accessibilityLabel: resolvedLabel,
|
|
@@ -1257,7 +1290,7 @@ function InputFile(inputFileProps) {
|
|
|
1257
1290
|
disabled && inputFrameDisabledClassName,
|
|
1258
1291
|
className
|
|
1259
1292
|
),
|
|
1260
|
-
children: /* @__PURE__ */ jsx
|
|
1293
|
+
children: /* @__PURE__ */ jsx(
|
|
1261
1294
|
Text,
|
|
1262
1295
|
{
|
|
1263
1296
|
numberOfLines: 1,
|
|
@@ -1273,7 +1306,7 @@ function InputFile(inputFileProps) {
|
|
|
1273
1306
|
)
|
|
1274
1307
|
}
|
|
1275
1308
|
),
|
|
1276
|
-
/* @__PURE__ */ jsx
|
|
1309
|
+
/* @__PURE__ */ jsx(
|
|
1277
1310
|
InputLabel,
|
|
1278
1311
|
{
|
|
1279
1312
|
disabled,
|
|
@@ -1283,7 +1316,7 @@ function InputFile(inputFileProps) {
|
|
|
1283
1316
|
className: labelClassName
|
|
1284
1317
|
}
|
|
1285
1318
|
),
|
|
1286
|
-
/* @__PURE__ */ jsx
|
|
1319
|
+
/* @__PURE__ */ jsx(
|
|
1287
1320
|
InputResponse,
|
|
1288
1321
|
{
|
|
1289
1322
|
message: errorText,
|
|
@@ -1379,7 +1412,7 @@ function Select(selectProps) {
|
|
|
1379
1412
|
onFocus?.(event);
|
|
1380
1413
|
};
|
|
1381
1414
|
return /* @__PURE__ */ jsxs(View, { className: inputRootClassName, children: [
|
|
1382
|
-
/* @__PURE__ */ jsx
|
|
1415
|
+
/* @__PURE__ */ jsx(
|
|
1383
1416
|
Pressable,
|
|
1384
1417
|
{
|
|
1385
1418
|
accessibilityLabel: resolvedLabel,
|
|
@@ -1398,7 +1431,7 @@ function Select(selectProps) {
|
|
|
1398
1431
|
className,
|
|
1399
1432
|
styles
|
|
1400
1433
|
),
|
|
1401
|
-
children: /* @__PURE__ */ jsx
|
|
1434
|
+
children: /* @__PURE__ */ jsx(
|
|
1402
1435
|
Text,
|
|
1403
1436
|
{
|
|
1404
1437
|
numberOfLines: 1,
|
|
@@ -1414,7 +1447,7 @@ function Select(selectProps) {
|
|
|
1414
1447
|
)
|
|
1415
1448
|
}
|
|
1416
1449
|
),
|
|
1417
|
-
/* @__PURE__ */ jsx
|
|
1450
|
+
/* @__PURE__ */ jsx(
|
|
1418
1451
|
InputLabel,
|
|
1419
1452
|
{
|
|
1420
1453
|
disabled,
|
|
@@ -1424,7 +1457,7 @@ function Select(selectProps) {
|
|
|
1424
1457
|
className: labelClassName
|
|
1425
1458
|
}
|
|
1426
1459
|
),
|
|
1427
|
-
/* @__PURE__ */ jsx
|
|
1460
|
+
/* @__PURE__ */ jsx(
|
|
1428
1461
|
InputResponse,
|
|
1429
1462
|
{
|
|
1430
1463
|
message: errorText,
|
|
@@ -1434,7 +1467,7 @@ function Select(selectProps) {
|
|
|
1434
1467
|
className: responseClassName
|
|
1435
1468
|
}
|
|
1436
1469
|
),
|
|
1437
|
-
/* @__PURE__ */ jsx
|
|
1470
|
+
/* @__PURE__ */ jsx(
|
|
1438
1471
|
Modal,
|
|
1439
1472
|
{
|
|
1440
1473
|
animationType: "fade",
|
|
@@ -1442,7 +1475,7 @@ function Select(selectProps) {
|
|
|
1442
1475
|
transparent: true,
|
|
1443
1476
|
visible: open,
|
|
1444
1477
|
children: /* @__PURE__ */ jsxs(View, { className: "flex-1 justify-end bg-black/40 px-4 py-6", children: [
|
|
1445
|
-
/* @__PURE__ */ jsx
|
|
1478
|
+
/* @__PURE__ */ jsx(
|
|
1446
1479
|
Pressable,
|
|
1447
1480
|
{
|
|
1448
1481
|
accessibilityLabel: "Close select options",
|
|
@@ -1451,9 +1484,9 @@ function Select(selectProps) {
|
|
|
1451
1484
|
onPress: closeOptions
|
|
1452
1485
|
}
|
|
1453
1486
|
),
|
|
1454
|
-
/* @__PURE__ */ jsx
|
|
1487
|
+
/* @__PURE__ */ jsx(View, { className: "max-h-[70%] overflow-hidden rounded-lg bg-white shadow-xl dark:bg-eui-dark-500", children: /* @__PURE__ */ jsx(ScrollView, { children: options.map((option) => {
|
|
1455
1488
|
const selected = option.value === field.value;
|
|
1456
|
-
return /* @__PURE__ */ jsx
|
|
1489
|
+
return /* @__PURE__ */ jsx(
|
|
1457
1490
|
Pressable,
|
|
1458
1491
|
{
|
|
1459
1492
|
accessibilityRole: "button",
|
|
@@ -1468,7 +1501,7 @@ function Select(selectProps) {
|
|
|
1468
1501
|
selected && "bg-eui-secondary-500/10",
|
|
1469
1502
|
option.disabled && "opacity-50"
|
|
1470
1503
|
),
|
|
1471
|
-
children: /* @__PURE__ */ jsx
|
|
1504
|
+
children: /* @__PURE__ */ jsx(Text, { className: "text-base font-medium text-gray-950 dark:text-gray-50", children: String(option.label) })
|
|
1472
1505
|
},
|
|
1473
1506
|
option.value
|
|
1474
1507
|
);
|
|
@@ -1621,7 +1654,7 @@ function Tags(tagsProps) {
|
|
|
1621
1654
|
tagClassName
|
|
1622
1655
|
),
|
|
1623
1656
|
children: [
|
|
1624
|
-
/* @__PURE__ */ jsx
|
|
1657
|
+
/* @__PURE__ */ jsx(
|
|
1625
1658
|
Text,
|
|
1626
1659
|
{
|
|
1627
1660
|
className: "shrink text-sm font-medium text-eui-dark-700 dark:text-eui-light-300",
|
|
@@ -1630,7 +1663,7 @@ function Tags(tagsProps) {
|
|
|
1630
1663
|
children: tag
|
|
1631
1664
|
}
|
|
1632
1665
|
),
|
|
1633
|
-
/* @__PURE__ */ jsx
|
|
1666
|
+
/* @__PURE__ */ jsx(
|
|
1634
1667
|
Pressable,
|
|
1635
1668
|
{
|
|
1636
1669
|
accessibilityLabel: `Remove ${tag}`,
|
|
@@ -1642,7 +1675,7 @@ function Tags(tagsProps) {
|
|
|
1642
1675
|
),
|
|
1643
1676
|
disabled,
|
|
1644
1677
|
onPress: () => handleRemoveTag(index),
|
|
1645
|
-
children: /* @__PURE__ */ jsx
|
|
1678
|
+
children: /* @__PURE__ */ jsx(
|
|
1646
1679
|
Text,
|
|
1647
1680
|
{
|
|
1648
1681
|
className: "text-xs font-bold text-eui-danger-500",
|
|
@@ -1656,7 +1689,7 @@ function Tags(tagsProps) {
|
|
|
1656
1689
|
},
|
|
1657
1690
|
`${tag}-${index}`
|
|
1658
1691
|
)),
|
|
1659
|
-
tags.length < resolvedLimit ? /* @__PURE__ */ jsx
|
|
1692
|
+
tags.length < resolvedLimit ? /* @__PURE__ */ jsx(
|
|
1660
1693
|
TextInput,
|
|
1661
1694
|
{
|
|
1662
1695
|
accessibilityLabel: resolvedLabel,
|
|
@@ -1696,7 +1729,7 @@ function Tags(tagsProps) {
|
|
|
1696
1729
|
]
|
|
1697
1730
|
}
|
|
1698
1731
|
),
|
|
1699
|
-
/* @__PURE__ */ jsx
|
|
1732
|
+
/* @__PURE__ */ jsx(
|
|
1700
1733
|
InputLabel,
|
|
1701
1734
|
{
|
|
1702
1735
|
disabled,
|
|
@@ -1706,7 +1739,7 @@ function Tags(tagsProps) {
|
|
|
1706
1739
|
className: labelClassName
|
|
1707
1740
|
}
|
|
1708
1741
|
),
|
|
1709
|
-
/* @__PURE__ */ jsx
|
|
1742
|
+
/* @__PURE__ */ jsx(
|
|
1710
1743
|
InputResponse,
|
|
1711
1744
|
{
|
|
1712
1745
|
message: errorText,
|
|
@@ -1802,7 +1835,7 @@ function TextArea(textAreaProps) {
|
|
|
1802
1835
|
styles
|
|
1803
1836
|
),
|
|
1804
1837
|
children: [
|
|
1805
|
-
/* @__PURE__ */ jsx
|
|
1838
|
+
/* @__PURE__ */ jsx(
|
|
1806
1839
|
TextInput,
|
|
1807
1840
|
{
|
|
1808
1841
|
accessibilityLabel: resolvedLabel,
|
|
@@ -1827,7 +1860,7 @@ function TextArea(textAreaProps) {
|
|
|
1827
1860
|
]
|
|
1828
1861
|
}
|
|
1829
1862
|
),
|
|
1830
|
-
/* @__PURE__ */ jsx
|
|
1863
|
+
/* @__PURE__ */ jsx(
|
|
1831
1864
|
InputLabel,
|
|
1832
1865
|
{
|
|
1833
1866
|
disabled,
|
|
@@ -1837,7 +1870,7 @@ function TextArea(textAreaProps) {
|
|
|
1837
1870
|
className: labelClassName
|
|
1838
1871
|
}
|
|
1839
1872
|
),
|
|
1840
|
-
/* @__PURE__ */ jsx
|
|
1873
|
+
/* @__PURE__ */ jsx(
|
|
1841
1874
|
InputResponse,
|
|
1842
1875
|
{
|
|
1843
1876
|
message: errorText,
|