react-native-atomic-ui 1.0.3 → 1.0.4
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 +322 -34
- package/dist/advanced/date-picker/index.d.ts +2 -1
- package/dist/advanced/date-picker/index.d.ts.map +1 -1
- package/dist/advanced/date-picker/index.js.map +2 -2
- package/dist/advanced/date-picker/index.mjs.map +2 -2
- package/dist/advanced/file-picker/index.d.ts +9 -2
- package/dist/advanced/file-picker/index.d.ts.map +1 -1
- package/dist/advanced/file-picker/index.js.map +2 -2
- package/dist/advanced/file-picker/index.mjs.map +2 -2
- package/dist/advanced/picker/index.d.ts +2 -1
- package/dist/advanced/picker/index.d.ts.map +1 -1
- package/dist/advanced/picker/index.js.map +2 -2
- package/dist/advanced/picker/index.mjs.map +2 -2
- package/dist/advanced/rich-text/index.d.ts +3 -2
- package/dist/advanced/rich-text/index.d.ts.map +1 -1
- package/dist/advanced/rich-text/index.js.map +2 -2
- package/dist/advanced/rich-text/index.mjs.map +2 -2
- package/dist/{chunk-GSLM4BKO.mjs → chunk-IJBHWAI6.mjs} +109 -67
- package/dist/chunk-IJBHWAI6.mjs.map +7 -0
- package/dist/components/display/Badge.d.ts.map +1 -1
- package/dist/components/display/Badge.js +17 -7
- package/dist/components/display/Badge.js.map +1 -1
- package/dist/components/display/ProgressBar.d.ts.map +1 -1
- package/dist/components/display/ProgressBar.js +17 -7
- package/dist/components/display/ProgressBar.js.map +1 -1
- package/dist/components/index.js +100 -59
- package/dist/components/index.js.map +3 -3
- package/dist/components/index.mjs +1 -1
- package/dist/components/inputs/CheckBox.d.ts.map +1 -1
- package/dist/components/inputs/CheckBox.js +3 -3
- package/dist/components/inputs/CheckBox.js.map +1 -1
- package/dist/components/inputs/Input.js +4 -1
- package/dist/components/inputs/Input.js.map +1 -1
- package/dist/components/inputs/RadioButton.d.ts.map +1 -1
- package/dist/components/inputs/RadioButton.js +9 -8
- package/dist/components/inputs/RadioButton.js.map +1 -1
- package/dist/components/layouts/Collapsible.d.ts.map +1 -1
- package/dist/components/layouts/Collapsible.js +32 -15
- package/dist/components/layouts/Collapsible.js.map +1 -1
- package/dist/index.js +100 -59
- package/dist/index.js.map +3 -3
- package/dist/index.mjs +1 -1
- package/dist/types/index.d.ts +27 -16
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +19 -19
- package/dist/chunk-GSLM4BKO.mjs.map +0 -7
|
@@ -141,7 +141,8 @@ import {
|
|
|
141
141
|
Text as RNText,
|
|
142
142
|
LayoutAnimation,
|
|
143
143
|
Platform,
|
|
144
|
-
UIManager
|
|
144
|
+
UIManager,
|
|
145
|
+
StyleSheet
|
|
145
146
|
} from "react-native";
|
|
146
147
|
if (Platform.OS === "android" && UIManager.setLayoutAnimationEnabledExperimental) {
|
|
147
148
|
UIManager.setLayoutAnimationEnabledExperimental(true);
|
|
@@ -163,11 +164,10 @@ function Collapsible({
|
|
|
163
164
|
View2,
|
|
164
165
|
{
|
|
165
166
|
style: [
|
|
167
|
+
styles.wrapper,
|
|
166
168
|
{
|
|
167
|
-
borderWidth: 1,
|
|
168
169
|
borderColor: theme.colors.border,
|
|
169
|
-
borderRadius: theme.borderRadius.md
|
|
170
|
-
overflow: "hidden"
|
|
170
|
+
borderRadius: theme.borderRadius.md
|
|
171
171
|
},
|
|
172
172
|
style
|
|
173
173
|
],
|
|
@@ -178,29 +178,47 @@ function Collapsible({
|
|
|
178
178
|
{
|
|
179
179
|
activeOpacity: 0.7,
|
|
180
180
|
onPress: toggleExpanded,
|
|
181
|
-
style:
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
181
|
+
style: [
|
|
182
|
+
styles.header,
|
|
183
|
+
{
|
|
184
|
+
padding: theme.spacing.md,
|
|
185
|
+
backgroundColor: theme.colors.surface
|
|
186
|
+
}
|
|
187
|
+
]
|
|
188
188
|
},
|
|
189
|
-
/* @__PURE__ */ React2.createElement(RNText, { style: [theme.typography.body1, { color: theme.colors.text
|
|
189
|
+
/* @__PURE__ */ React2.createElement(RNText, { style: [theme.typography.body1, styles.headerText, { color: theme.colors.text }] }, title),
|
|
190
190
|
/* @__PURE__ */ React2.createElement(RNText, { style: [theme.typography.h3, { color: theme.colors.textSecondary }] }, expanded ? "\u2212" : "+")
|
|
191
191
|
),
|
|
192
192
|
expanded && /* @__PURE__ */ React2.createElement(
|
|
193
193
|
View2,
|
|
194
194
|
{
|
|
195
|
-
style:
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
195
|
+
style: [
|
|
196
|
+
styles.content,
|
|
197
|
+
{
|
|
198
|
+
padding: theme.spacing.md,
|
|
199
|
+
backgroundColor: theme.colors.background
|
|
200
|
+
}
|
|
201
|
+
]
|
|
199
202
|
},
|
|
200
203
|
children
|
|
201
204
|
)
|
|
202
205
|
);
|
|
203
206
|
}
|
|
207
|
+
var styles = StyleSheet.create({
|
|
208
|
+
wrapper: {
|
|
209
|
+
borderWidth: 1,
|
|
210
|
+
overflow: "hidden"
|
|
211
|
+
},
|
|
212
|
+
header: {
|
|
213
|
+
flexDirection: "row",
|
|
214
|
+
justifyContent: "space-between",
|
|
215
|
+
alignItems: "center"
|
|
216
|
+
},
|
|
217
|
+
headerText: {
|
|
218
|
+
fontWeight: "600"
|
|
219
|
+
},
|
|
220
|
+
content: {}
|
|
221
|
+
});
|
|
204
222
|
|
|
205
223
|
// src/components/typography/Text.tsx
|
|
206
224
|
import React3 from "react";
|
|
@@ -266,7 +284,7 @@ function Overline(props) {
|
|
|
266
284
|
|
|
267
285
|
// src/components/inputs/Button.tsx
|
|
268
286
|
import React4 from "react";
|
|
269
|
-
import { TouchableOpacity as TouchableOpacity2, View as View3, StyleSheet, ActivityIndicator } from "react-native";
|
|
287
|
+
import { TouchableOpacity as TouchableOpacity2, View as View3, StyleSheet as StyleSheet2, ActivityIndicator } from "react-native";
|
|
270
288
|
function Button({
|
|
271
289
|
label,
|
|
272
290
|
onPress,
|
|
@@ -333,7 +351,7 @@ function Button({
|
|
|
333
351
|
}
|
|
334
352
|
};
|
|
335
353
|
const buttonStyle = [
|
|
336
|
-
|
|
354
|
+
styles2.button,
|
|
337
355
|
{
|
|
338
356
|
...getVariantStyle(),
|
|
339
357
|
...getSizeStyle(),
|
|
@@ -351,18 +369,18 @@ function Button({
|
|
|
351
369
|
disabled: disabled || loading,
|
|
352
370
|
testID
|
|
353
371
|
},
|
|
354
|
-
/* @__PURE__ */ React4.createElement(View3, { style:
|
|
372
|
+
/* @__PURE__ */ React4.createElement(View3, { style: styles2.content }, loading ? /* @__PURE__ */ React4.createElement(ActivityIndicator, { color: textColor, size: size === "small" ? "small" : "large" }) : /* @__PURE__ */ React4.createElement(React4.Fragment, null, icon && /* @__PURE__ */ React4.createElement(View3, { style: styles2.icon }, icon), /* @__PURE__ */ React4.createElement(
|
|
355
373
|
Text,
|
|
356
374
|
{
|
|
357
375
|
variant: size === "small" ? "body3" : "body1",
|
|
358
376
|
color: textColor,
|
|
359
|
-
style:
|
|
377
|
+
style: styles2.label
|
|
360
378
|
},
|
|
361
379
|
label
|
|
362
380
|
)))
|
|
363
381
|
);
|
|
364
382
|
}
|
|
365
|
-
var
|
|
383
|
+
var styles2 = StyleSheet2.create({
|
|
366
384
|
button: {
|
|
367
385
|
justifyContent: "center",
|
|
368
386
|
alignItems: "center",
|
|
@@ -383,7 +401,7 @@ var styles = StyleSheet.create({
|
|
|
383
401
|
|
|
384
402
|
// src/components/inputs/Input.tsx
|
|
385
403
|
import React5 from "react";
|
|
386
|
-
import { TextInput, View as View4, Text as RNText3, StyleSheet as
|
|
404
|
+
import { TextInput, View as View4, Text as RNText3, StyleSheet as StyleSheet3 } from "react-native";
|
|
387
405
|
function Input({
|
|
388
406
|
value,
|
|
389
407
|
onChangeText,
|
|
@@ -399,7 +417,7 @@ function Input({
|
|
|
399
417
|
testID
|
|
400
418
|
}) {
|
|
401
419
|
const { theme } = useTheme();
|
|
402
|
-
return /* @__PURE__ */ React5.createElement(View4, { style: [
|
|
420
|
+
return /* @__PURE__ */ React5.createElement(View4, { style: [styles3.container, style] }, label && /* @__PURE__ */ React5.createElement(
|
|
403
421
|
RNText3,
|
|
404
422
|
{
|
|
405
423
|
style: [
|
|
@@ -426,8 +444,8 @@ function Input({
|
|
|
426
444
|
testID,
|
|
427
445
|
style: [
|
|
428
446
|
theme.typography.body1,
|
|
447
|
+
styles3.input,
|
|
429
448
|
{
|
|
430
|
-
borderWidth: 1,
|
|
431
449
|
borderColor: error ? theme.colors.error : theme.colors.border,
|
|
432
450
|
borderRadius: theme.borderRadius.sm,
|
|
433
451
|
padding: theme.spacing.md,
|
|
@@ -448,15 +466,18 @@ function Input({
|
|
|
448
466
|
error
|
|
449
467
|
));
|
|
450
468
|
}
|
|
451
|
-
var
|
|
469
|
+
var styles3 = StyleSheet3.create({
|
|
452
470
|
container: {
|
|
453
471
|
width: "100%"
|
|
472
|
+
},
|
|
473
|
+
input: {
|
|
474
|
+
borderWidth: 1
|
|
454
475
|
}
|
|
455
476
|
});
|
|
456
477
|
|
|
457
478
|
// src/components/inputs/CheckBox.tsx
|
|
458
479
|
import React6 from "react";
|
|
459
|
-
import { TouchableOpacity as TouchableOpacity3, View as View5, Text as RNText4, StyleSheet as
|
|
480
|
+
import { TouchableOpacity as TouchableOpacity3, View as View5, Text as RNText4, StyleSheet as StyleSheet4 } from "react-native";
|
|
460
481
|
function CheckBox({
|
|
461
482
|
value,
|
|
462
483
|
onValueChange,
|
|
@@ -472,25 +493,22 @@ function CheckBox({
|
|
|
472
493
|
activeOpacity: 0.7,
|
|
473
494
|
onPress: () => !disabled && onValueChange(!value),
|
|
474
495
|
disabled,
|
|
475
|
-
style: [
|
|
496
|
+
style: [styles4.container, style],
|
|
476
497
|
testID
|
|
477
498
|
},
|
|
478
499
|
/* @__PURE__ */ React6.createElement(
|
|
479
500
|
View5,
|
|
480
501
|
{
|
|
481
502
|
style: [
|
|
482
|
-
|
|
503
|
+
styles4.checkbox,
|
|
483
504
|
{
|
|
484
|
-
borderWidth: 2,
|
|
485
505
|
borderColor: disabled ? theme.colors.disabled : value ? theme.colors.primary : theme.colors.border,
|
|
486
506
|
backgroundColor: disabled ? theme.colors.disabled : value ? theme.colors.primary : "transparent",
|
|
487
|
-
borderRadius: theme.borderRadius.xs
|
|
488
|
-
width: 24,
|
|
489
|
-
height: 24
|
|
507
|
+
borderRadius: theme.borderRadius.xs
|
|
490
508
|
}
|
|
491
509
|
]
|
|
492
510
|
},
|
|
493
|
-
value && /* @__PURE__ */ React6.createElement(RNText4, { style: [
|
|
511
|
+
value && /* @__PURE__ */ React6.createElement(RNText4, { style: [styles4.checkmark, { color: theme.colors.white }] }, "\u2713")
|
|
494
512
|
),
|
|
495
513
|
label && /* @__PURE__ */ React6.createElement(
|
|
496
514
|
RNText4,
|
|
@@ -507,14 +525,17 @@ function CheckBox({
|
|
|
507
525
|
)
|
|
508
526
|
);
|
|
509
527
|
}
|
|
510
|
-
var
|
|
528
|
+
var styles4 = StyleSheet4.create({
|
|
511
529
|
container: {
|
|
512
530
|
flexDirection: "row",
|
|
513
531
|
alignItems: "center"
|
|
514
532
|
},
|
|
515
533
|
checkbox: {
|
|
516
534
|
justifyContent: "center",
|
|
517
|
-
alignItems: "center"
|
|
535
|
+
alignItems: "center",
|
|
536
|
+
borderWidth: 2,
|
|
537
|
+
width: 24,
|
|
538
|
+
height: 24
|
|
518
539
|
},
|
|
519
540
|
checkmark: {
|
|
520
541
|
fontSize: 16,
|
|
@@ -524,7 +545,7 @@ var styles3 = StyleSheet3.create({
|
|
|
524
545
|
|
|
525
546
|
// src/components/inputs/RadioButton.tsx
|
|
526
547
|
import React7 from "react";
|
|
527
|
-
import { TouchableOpacity as TouchableOpacity4, View as View6, Text as RNText5, StyleSheet as
|
|
548
|
+
import { TouchableOpacity as TouchableOpacity4, View as View6, Text as RNText5, StyleSheet as StyleSheet5 } from "react-native";
|
|
528
549
|
function RadioButton({
|
|
529
550
|
value,
|
|
530
551
|
selected,
|
|
@@ -542,20 +563,16 @@ function RadioButton({
|
|
|
542
563
|
activeOpacity: 0.7,
|
|
543
564
|
onPress: () => !disabled && onSelect(value),
|
|
544
565
|
disabled,
|
|
545
|
-
style: [
|
|
566
|
+
style: [styles5.container, style],
|
|
546
567
|
testID
|
|
547
568
|
},
|
|
548
569
|
/* @__PURE__ */ React7.createElement(
|
|
549
570
|
View6,
|
|
550
571
|
{
|
|
551
572
|
style: [
|
|
552
|
-
|
|
573
|
+
styles5.radio,
|
|
553
574
|
{
|
|
554
|
-
|
|
555
|
-
borderColor: disabled ? theme.colors.disabled : isSelected ? theme.colors.primary : theme.colors.border,
|
|
556
|
-
width: 24,
|
|
557
|
-
height: 24,
|
|
558
|
-
borderRadius: 12
|
|
575
|
+
borderColor: disabled ? theme.colors.disabled : isSelected ? theme.colors.primary : theme.colors.border
|
|
559
576
|
}
|
|
560
577
|
]
|
|
561
578
|
},
|
|
@@ -563,12 +580,9 @@ function RadioButton({
|
|
|
563
580
|
View6,
|
|
564
581
|
{
|
|
565
582
|
style: [
|
|
566
|
-
|
|
583
|
+
styles5.radioInner,
|
|
567
584
|
{
|
|
568
|
-
backgroundColor: disabled ? theme.colors.disabled : theme.colors.primary
|
|
569
|
-
width: 12,
|
|
570
|
-
height: 12,
|
|
571
|
-
borderRadius: 6
|
|
585
|
+
backgroundColor: disabled ? theme.colors.disabled : theme.colors.primary
|
|
572
586
|
}
|
|
573
587
|
]
|
|
574
588
|
}
|
|
@@ -589,16 +603,24 @@ function RadioButton({
|
|
|
589
603
|
)
|
|
590
604
|
);
|
|
591
605
|
}
|
|
592
|
-
var
|
|
606
|
+
var styles5 = StyleSheet5.create({
|
|
593
607
|
container: {
|
|
594
608
|
flexDirection: "row",
|
|
595
609
|
alignItems: "center"
|
|
596
610
|
},
|
|
597
611
|
radio: {
|
|
598
612
|
justifyContent: "center",
|
|
599
|
-
alignItems: "center"
|
|
613
|
+
alignItems: "center",
|
|
614
|
+
borderWidth: 2,
|
|
615
|
+
width: 24,
|
|
616
|
+
height: 24,
|
|
617
|
+
borderRadius: 12
|
|
600
618
|
},
|
|
601
|
-
radioInner: {
|
|
619
|
+
radioInner: {
|
|
620
|
+
width: 12,
|
|
621
|
+
height: 12,
|
|
622
|
+
borderRadius: 6
|
|
623
|
+
}
|
|
602
624
|
});
|
|
603
625
|
|
|
604
626
|
// src/components/inputs/Switch.tsx
|
|
@@ -626,7 +648,7 @@ function Switch({ value, onValueChange, disabled = false, style, testID }) {
|
|
|
626
648
|
|
|
627
649
|
// src/components/display/ProgressBar.tsx
|
|
628
650
|
import React9 from "react";
|
|
629
|
-
import { View as View7 } from "react-native";
|
|
651
|
+
import { View as View7, StyleSheet as StyleSheet6 } from "react-native";
|
|
630
652
|
function ProgressBar({
|
|
631
653
|
progress,
|
|
632
654
|
height = 8,
|
|
@@ -642,11 +664,11 @@ function ProgressBar({
|
|
|
642
664
|
View7,
|
|
643
665
|
{
|
|
644
666
|
style: [
|
|
667
|
+
styles6.track,
|
|
645
668
|
{
|
|
646
669
|
height,
|
|
647
670
|
backgroundColor: backgroundColor || theme.colors.border,
|
|
648
|
-
borderRadius: theme.borderRadius[borderRadius]
|
|
649
|
-
overflow: "hidden"
|
|
671
|
+
borderRadius: theme.borderRadius[borderRadius]
|
|
650
672
|
},
|
|
651
673
|
style
|
|
652
674
|
],
|
|
@@ -655,19 +677,29 @@ function ProgressBar({
|
|
|
655
677
|
/* @__PURE__ */ React9.createElement(
|
|
656
678
|
View7,
|
|
657
679
|
{
|
|
658
|
-
style:
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
680
|
+
style: [
|
|
681
|
+
styles6.fill,
|
|
682
|
+
{
|
|
683
|
+
width: `${clampedProgress * 100}%`,
|
|
684
|
+
backgroundColor: color || theme.colors.primary
|
|
685
|
+
}
|
|
686
|
+
]
|
|
663
687
|
}
|
|
664
688
|
)
|
|
665
689
|
);
|
|
666
690
|
}
|
|
691
|
+
var styles6 = StyleSheet6.create({
|
|
692
|
+
track: {
|
|
693
|
+
overflow: "hidden"
|
|
694
|
+
},
|
|
695
|
+
fill: {
|
|
696
|
+
height: "100%"
|
|
697
|
+
}
|
|
698
|
+
});
|
|
667
699
|
|
|
668
700
|
// src/components/display/Badge.tsx
|
|
669
701
|
import React10 from "react";
|
|
670
|
-
import { View as View8, Text as RNText6 } from "react-native";
|
|
702
|
+
import { View as View8, Text as RNText6, StyleSheet as StyleSheet7 } from "react-native";
|
|
671
703
|
function Badge({
|
|
672
704
|
children,
|
|
673
705
|
variant = "primary",
|
|
@@ -705,10 +737,10 @@ function Badge({
|
|
|
705
737
|
View8,
|
|
706
738
|
{
|
|
707
739
|
style: [
|
|
740
|
+
styles7.badge,
|
|
708
741
|
{
|
|
709
742
|
backgroundColor: variantColors[variant],
|
|
710
743
|
borderRadius: theme.borderRadius.full,
|
|
711
|
-
alignSelf: "flex-start",
|
|
712
744
|
...sizeStyles[size]
|
|
713
745
|
},
|
|
714
746
|
style
|
|
@@ -718,16 +750,26 @@ function Badge({
|
|
|
718
750
|
/* @__PURE__ */ React10.createElement(
|
|
719
751
|
RNText6,
|
|
720
752
|
{
|
|
721
|
-
style:
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
753
|
+
style: [
|
|
754
|
+
styles7.text,
|
|
755
|
+
{
|
|
756
|
+
color: theme.colors.white,
|
|
757
|
+
fontSize: sizeStyles[size].fontSize
|
|
758
|
+
}
|
|
759
|
+
]
|
|
726
760
|
},
|
|
727
761
|
children
|
|
728
762
|
)
|
|
729
763
|
);
|
|
730
764
|
}
|
|
765
|
+
var styles7 = StyleSheet7.create({
|
|
766
|
+
badge: {
|
|
767
|
+
alignSelf: "flex-start"
|
|
768
|
+
},
|
|
769
|
+
text: {
|
|
770
|
+
fontWeight: "600"
|
|
771
|
+
}
|
|
772
|
+
});
|
|
731
773
|
|
|
732
774
|
// src/components/display/Divider.tsx
|
|
733
775
|
import React11 from "react";
|
|
@@ -786,4 +828,4 @@ export {
|
|
|
786
828
|
Badge,
|
|
787
829
|
Divider
|
|
788
830
|
};
|
|
789
|
-
//# sourceMappingURL=chunk-
|
|
831
|
+
//# sourceMappingURL=chunk-IJBHWAI6.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/layouts/Box.tsx", "../src/components/layouts/Collapsible.tsx", "../src/components/typography/Text.tsx", "../src/components/inputs/Button.tsx", "../src/components/inputs/Input.tsx", "../src/components/inputs/CheckBox.tsx", "../src/components/inputs/RadioButton.tsx", "../src/components/inputs/Switch.tsx", "../src/components/display/ProgressBar.tsx", "../src/components/display/Badge.tsx", "../src/components/display/Divider.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { View, ViewProps } from 'react-native';\nimport { useTheme } from '@theme/index';\nimport type { BoxProps } from '../../types/index';\n\n/**\n * Box - Base layout component with flexbox support\n * Serves as the foundation for building custom layouts\n */\nexport function Box({\n children,\n flex,\n flexDirection,\n alignItems,\n justifyContent,\n flexWrap,\n padding,\n paddingHorizontal,\n paddingVertical,\n margin,\n marginHorizontal,\n marginVertical,\n gap,\n backgroundColor,\n borderRadius,\n width,\n height,\n style,\n testID,\n}: BoxProps) {\n const { theme } = useTheme();\n\n const boxStyle: ViewProps['style'] = [\n flex !== undefined && { flex },\n flexDirection && { flexDirection },\n alignItems && { alignItems },\n justifyContent && { justifyContent },\n flexWrap && { flexWrap },\n width !== undefined && { width },\n height !== undefined && { height },\n padding && { padding: theme.spacing[padding] },\n paddingHorizontal && { paddingHorizontal: theme.spacing[paddingHorizontal] },\n paddingVertical && { paddingVertical: theme.spacing[paddingVertical] },\n margin && { margin: theme.spacing[margin] },\n marginHorizontal && { marginHorizontal: theme.spacing[marginHorizontal] },\n marginVertical && { marginVertical: theme.spacing[marginVertical] },\n gap && { gap: theme.spacing[gap] },\n backgroundColor && { backgroundColor },\n borderRadius && { borderRadius: theme.borderRadius[borderRadius] },\n style,\n ];\n\n return (\n <View style={boxStyle} testID={testID}>\n {children}\n </View>\n );\n}\n\n/**\n * Row - Horizontal flex container\n * Equivalent to flexDirection: 'row'\n */\nexport function Row({\n children,\n flex,\n alignItems = 'center',\n justifyContent,\n flexWrap,\n padding,\n paddingHorizontal,\n paddingVertical,\n margin,\n marginHorizontal,\n marginVertical,\n gap,\n backgroundColor,\n borderRadius,\n width,\n height,\n style,\n testID,\n}: BoxProps) {\n const { theme } = useTheme();\n\n const rowStyle: ViewProps['style'] = [\n { flexDirection: 'row' },\n flex !== undefined && { flex },\n alignItems && { alignItems },\n justifyContent && { justifyContent },\n flexWrap && { flexWrap },\n width !== undefined && { width },\n height !== undefined && { height },\n padding && { padding: theme.spacing[padding] },\n paddingHorizontal && { paddingHorizontal: theme.spacing[paddingHorizontal] },\n paddingVertical && { paddingVertical: theme.spacing[paddingVertical] },\n margin && { margin: theme.spacing[margin] },\n marginHorizontal && { marginHorizontal: theme.spacing[marginHorizontal] },\n marginVertical && { marginVertical: theme.spacing[marginVertical] },\n gap && { gap: theme.spacing[gap] },\n backgroundColor && { backgroundColor },\n borderRadius && { borderRadius: theme.borderRadius[borderRadius] },\n style,\n ];\n\n return (\n <View style={rowStyle} testID={testID}>\n {children}\n </View>\n );\n}\n\n/**\n * Column - Vertical flex container\n * Equivalent to flexDirection: 'column'\n */\nexport function Column({\n children,\n flex,\n alignItems,\n justifyContent,\n flexWrap,\n padding,\n paddingHorizontal,\n paddingVertical,\n margin,\n marginHorizontal,\n marginVertical,\n gap,\n backgroundColor,\n borderRadius,\n width,\n height,\n style,\n testID,\n}: BoxProps) {\n const { theme } = useTheme();\n\n const columnStyle: ViewProps['style'] = [\n { flexDirection: 'column' },\n flex !== undefined && { flex },\n alignItems && { alignItems },\n justifyContent && { justifyContent },\n flexWrap && { flexWrap },\n width !== undefined && { width },\n height !== undefined && { height },\n padding && { padding: theme.spacing[padding] },\n paddingHorizontal && { paddingHorizontal: theme.spacing[paddingHorizontal] },\n paddingVertical && { paddingVertical: theme.spacing[paddingVertical] },\n margin && { margin: theme.spacing[margin] },\n marginHorizontal && { marginHorizontal: theme.spacing[marginHorizontal] },\n marginVertical && { marginVertical: theme.spacing[marginVertical] },\n gap && { gap: theme.spacing[gap] },\n backgroundColor && { backgroundColor },\n borderRadius && { borderRadius: theme.borderRadius[borderRadius] },\n style,\n ];\n\n return (\n <View style={columnStyle} testID={testID}>\n {children}\n </View>\n );\n}\n", "import React, { useState } from 'react';\nimport {\n TouchableOpacity,\n View,\n Text as RNText,\n LayoutAnimation,\n Platform,\n UIManager,\n StyleSheet,\n} from 'react-native';\nimport { useTheme } from '../../theme/index';\nimport type { CollapsibleProps } from '../../types/index';\n\n// Enable LayoutAnimation on Android\nif (Platform.OS === 'android' && UIManager.setLayoutAnimationEnabledExperimental) {\n UIManager.setLayoutAnimationEnabledExperimental(true);\n}\n\n/**\n * Collapsible component for expandable/collapsible sections\n */\nexport function Collapsible({\n title,\n children,\n initiallyExpanded = false,\n style,\n testID,\n}: CollapsibleProps) {\n const { theme } = useTheme();\n const [expanded, setExpanded] = useState(initiallyExpanded);\n\n const toggleExpanded = () => {\n LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);\n setExpanded(!expanded);\n };\n\n return (\n <View\n style={[\n styles.wrapper,\n {\n borderColor: theme.colors.border,\n borderRadius: theme.borderRadius.md,\n },\n style,\n ]}\n testID={testID}\n >\n <TouchableOpacity\n activeOpacity={0.7}\n onPress={toggleExpanded}\n style={[\n styles.header,\n {\n padding: theme.spacing.md,\n backgroundColor: theme.colors.surface,\n },\n ]}\n >\n <RNText style={[theme.typography.body1, styles.headerText, { color: theme.colors.text }]}>\n {title}\n </RNText>\n <RNText style={[theme.typography.h3, { color: theme.colors.textSecondary }]}>\n {expanded ? '\u2212' : '+'}\n </RNText>\n </TouchableOpacity>\n {expanded && (\n <View\n style={[\n styles.content,\n {\n padding: theme.spacing.md,\n backgroundColor: theme.colors.background,\n },\n ]}\n >\n {children}\n </View>\n )}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n wrapper: {\n borderWidth: 1,\n overflow: 'hidden',\n },\n header: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n headerText: {\n fontWeight: '600',\n },\n content: {},\n});\n", "import React from 'react';\nimport { Text as RNText, TextProps as RNTextProps } from 'react-native';\nimport { useTheme } from '@theme/index';\nimport type { TextProps } from '../../types/index';\n\n/**\n * Base Text component with theme support\n */\nexport function Text({ children, variant = 'body1', color, textAlign, style, testID }: TextProps) {\n const { theme } = useTheme();\n\n const textStyle: RNTextProps['style'] = [\n theme.typography[variant],\n { color: color || theme.colors.text },\n textAlign && { textAlign },\n style,\n ];\n\n return (\n <RNText style={textStyle} testID={testID}>\n {children}\n </RNText>\n );\n}\n\n/**\n * Typography components - Convenience components for common sizes\n */\n\nexport function H1(props: TextProps) {\n return <Text {...props} variant={'h1'} />;\n}\n\nexport function H2(props: TextProps) {\n return <Text {...props} variant={'h2'} />;\n}\n\nexport function H3(props: TextProps) {\n return <Text {...props} variant={'h3'} />;\n}\n\nexport function H4(props: TextProps) {\n return <Text {...props} variant={'h4'} />;\n}\n\nexport function H5(props: TextProps) {\n return <Text {...props} variant={'h5'} />;\n}\n\nexport function H6(props: TextProps) {\n return <Text {...props} variant={'h6'} />;\n}\n\nexport function Body1(props: TextProps) {\n return <Text {...props} variant={'body1'} />;\n}\n\nexport function Body2(props: TextProps) {\n return <Text {...props} variant={'body2'} />;\n}\n\nexport function Body3(props: TextProps) {\n return <Text {...props} variant={'body3'} />;\n}\n\nexport function Body4(props: TextProps) {\n return <Text {...props} variant={'body4'} />;\n}\n\nexport function Body5(props: TextProps) {\n return <Text {...props} variant={'body5'} />;\n}\n\nexport function Body6(props: TextProps) {\n return <Text {...props} variant={'body6'} />;\n}\n\nexport function SubTitle1(props: TextProps) {\n return <Text {...props} variant={'subtitle1'} />;\n}\n\nexport function SubTitle2(props: TextProps) {\n return <Text {...props} variant={'subtitle2'} />;\n}\n\nexport function Caption(props: TextProps) {\n return <Text {...props} variant={'caption'} />;\n}\n\nexport function Overline(props: TextProps) {\n return <Text {...props} variant={'overline'} />;\n}\n", "import React from 'react';\nimport { TouchableOpacity, View, StyleSheet, ActivityIndicator } from 'react-native';\nimport { useTheme } from '@theme/index';\nimport type { ButtonProps } from '../../types/index';\nimport { Text } from '../typography/Text';\n\n/**\n * Button component with multiple variants and sizes\n */\nexport function Button({\n label,\n onPress,\n variant = 'primary',\n size = 'medium',\n disabled = false,\n loading = false,\n icon,\n style,\n testID,\n}: ButtonProps) {\n const { theme } = useTheme();\n\n // Get variant colors\n const getVariantStyle = () => {\n switch (variant) {\n case 'primary':\n return {\n backgroundColor: theme.colors.primary,\n borderColor: theme.colors.primary,\n };\n case 'secondary':\n return {\n backgroundColor: theme.colors.secondary,\n borderColor: theme.colors.secondary,\n };\n case 'danger':\n return {\n backgroundColor: theme.colors.error,\n borderColor: theme.colors.error,\n };\n case 'ghost':\n return {\n backgroundColor: 'transparent',\n borderColor: theme.colors.primary,\n borderWidth: 1,\n };\n default:\n return {\n backgroundColor: theme.colors.primary,\n borderColor: theme.colors.primary,\n };\n }\n };\n\n // Get size dimensions\n const getSizeStyle = () => {\n switch (size) {\n case 'small':\n return {\n paddingHorizontal: theme.spacing.md,\n paddingVertical: theme.spacing.sm,\n minHeight: 32,\n };\n case 'large':\n return {\n paddingHorizontal: theme.spacing.lg,\n paddingVertical: theme.spacing.md,\n minHeight: 56,\n };\n case 'medium':\n default:\n return {\n paddingHorizontal: theme.spacing.lg,\n paddingVertical: theme.spacing.md,\n minHeight: 48,\n };\n }\n };\n\n const buttonStyle = [\n styles.button,\n {\n ...getVariantStyle(),\n ...getSizeStyle(),\n borderRadius: theme.borderRadius.md,\n opacity: disabled || loading ? 0.5 : 1,\n },\n style,\n ];\n\n const textColor = variant === 'ghost' ? theme.colors.primary : theme.colors.white;\n\n return (\n <TouchableOpacity\n style={buttonStyle}\n onPress={onPress}\n disabled={disabled || loading}\n testID={testID}\n >\n <View style={styles.content}>\n {loading ? (\n <ActivityIndicator color={textColor} size={size === 'small' ? 'small' : 'large'} />\n ) : (\n <>\n {icon && <View style={styles.icon}>{icon}</View>}\n <Text\n variant={size === 'small' ? 'body3' : 'body1'}\n color={textColor}\n style={styles.label}\n >\n {label}\n </Text>\n </>\n )}\n </View>\n </TouchableOpacity>\n );\n}\n\nconst styles = StyleSheet.create({\n button: {\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'row',\n },\n content: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n icon: {\n marginRight: 8,\n },\n label: {\n fontWeight: '600',\n },\n});\n", "import React from 'react';\nimport { TextInput, View, Text as RNText, StyleSheet } from 'react-native';\nimport { useTheme } from '../../theme/index';\nimport type { InputProps } from '../../types/index';\n\n/**\n * Input component with theme support\n */\nexport function Input({\n value,\n onChangeText,\n placeholder,\n label,\n error,\n editable = true,\n secureTextEntry = false,\n keyboardType = 'default',\n multiline = false,\n numberOfLines = 1,\n style,\n testID,\n}: InputProps) {\n const { theme } = useTheme();\n\n return (\n <View style={[styles.container, style]}>\n {label && (\n <RNText\n style={[\n theme.typography.body2,\n {\n color: error ? theme.colors.error : theme.colors.textSecondary,\n marginBottom: theme.spacing.xs,\n },\n ]}\n >\n {label}\n </RNText>\n )}\n <TextInput\n value={value}\n onChangeText={onChangeText}\n placeholder={placeholder}\n placeholderTextColor={theme.colors.textTertiary}\n editable={editable}\n secureTextEntry={secureTextEntry}\n keyboardType={keyboardType}\n multiline={multiline}\n numberOfLines={multiline ? numberOfLines : 1}\n testID={testID}\n style={[\n theme.typography.body1,\n styles.input,\n {\n borderColor: error ? theme.colors.error : theme.colors.border,\n borderRadius: theme.borderRadius.sm,\n padding: theme.spacing.md,\n color: theme.colors.text,\n backgroundColor: editable ? theme.colors.surface : theme.colors.disabled,\n minHeight: multiline ? numberOfLines * 24 + theme.spacing.md * 2 : undefined,\n },\n ]}\n />\n {error && (\n <RNText\n style={[\n theme.typography.caption,\n { color: theme.colors.error, marginTop: theme.spacing.xs },\n ]}\n >\n {error}\n </RNText>\n )}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n width: '100%',\n },\n input: {\n borderWidth: 1,\n },\n});\n", "import React from 'react';\nimport { TouchableOpacity, View, Text as RNText, StyleSheet } from 'react-native';\nimport { useTheme } from '../../theme/index';\nimport type { CheckBoxProps } from '../../types/index';\n\n/**\n * CheckBox component with theme support\n */\nexport function CheckBox({\n value,\n onValueChange,\n label,\n disabled = false,\n style,\n testID,\n}: CheckBoxProps) {\n const { theme } = useTheme();\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n onPress={() => !disabled && onValueChange(!value)}\n disabled={disabled}\n style={[styles.container, style]}\n testID={testID}\n >\n <View\n style={[\n styles.checkbox,\n {\n borderColor: disabled\n ? theme.colors.disabled\n : value\n ? theme.colors.primary\n : theme.colors.border,\n backgroundColor: disabled\n ? theme.colors.disabled\n : value\n ? theme.colors.primary\n : 'transparent',\n borderRadius: theme.borderRadius.xs,\n },\n ]}\n >\n {value && <RNText style={[styles.checkmark, { color: theme.colors.white }]}>\u2713</RNText>}\n </View>\n {label && (\n <RNText\n style={[\n theme.typography.body1,\n {\n color: disabled ? theme.colors.textTertiary : theme.colors.text,\n marginLeft: theme.spacing.sm,\n },\n ]}\n >\n {label}\n </RNText>\n )}\n </TouchableOpacity>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n checkbox: {\n justifyContent: 'center',\n alignItems: 'center',\n borderWidth: 2,\n width: 24,\n height: 24,\n },\n checkmark: {\n fontSize: 16,\n fontWeight: 'bold',\n },\n});\n", "import React from 'react';\nimport { TouchableOpacity, View, Text as RNText, StyleSheet } from 'react-native';\nimport { useTheme } from '../../theme/index';\nimport type { RadioButtonProps } from '../../types/index';\n\n/**\n * RadioButton component with theme support\n */\nexport function RadioButton({\n value,\n selected,\n onSelect,\n label,\n disabled = false,\n style,\n testID,\n}: RadioButtonProps) {\n const { theme } = useTheme();\n const isSelected = value === selected;\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n onPress={() => !disabled && onSelect(value)}\n disabled={disabled}\n style={[styles.container, style]}\n testID={testID}\n >\n <View\n style={[\n styles.radio,\n {\n borderColor: disabled\n ? theme.colors.disabled\n : isSelected\n ? theme.colors.primary\n : theme.colors.border,\n },\n ]}\n >\n {isSelected && (\n <View\n style={[\n styles.radioInner,\n {\n backgroundColor: disabled ? theme.colors.disabled : theme.colors.primary,\n },\n ]}\n />\n )}\n </View>\n {label && (\n <RNText\n style={[\n theme.typography.body1,\n {\n color: disabled ? theme.colors.textTertiary : theme.colors.text,\n marginLeft: theme.spacing.sm,\n },\n ]}\n >\n {label}\n </RNText>\n )}\n </TouchableOpacity>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n radio: {\n justifyContent: 'center',\n alignItems: 'center',\n borderWidth: 2,\n width: 24,\n height: 24,\n borderRadius: 12,\n },\n radioInner: {\n width: 12,\n height: 12,\n borderRadius: 6,\n },\n});\n", "import React from 'react';\nimport { Switch as RNSwitch } from 'react-native';\nimport { useTheme } from '../../theme/index';\nimport type { SwitchProps } from '../../types/index';\n\n/**\n * Switch component with theme support\n */\nexport function Switch({ value, onValueChange, disabled = false, style, testID }: SwitchProps) {\n const { theme } = useTheme();\n\n return (\n <RNSwitch\n value={value}\n onValueChange={onValueChange}\n disabled={disabled}\n trackColor={{\n false: theme.colors.border,\n true: theme.colors.primary,\n }}\n thumbColor={theme.colors.white}\n ios_backgroundColor={theme.colors.border}\n style={style}\n testID={testID}\n />\n );\n}\n", "import React from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { useTheme } from '../../theme/index';\nimport type { ProgressBarProps } from '../../types/index';\n\n/**\n * ProgressBar component with theme support\n */\nexport function ProgressBar({\n progress,\n height = 8,\n color,\n backgroundColor,\n borderRadius = 'full',\n style,\n testID,\n}: ProgressBarProps) {\n const { theme } = useTheme();\n\n // Clamp progress between 0 and 1\n const clampedProgress = Math.max(0, Math.min(1, progress));\n\n return (\n <View\n style={[\n styles.track,\n {\n height,\n backgroundColor: backgroundColor || theme.colors.border,\n borderRadius: theme.borderRadius[borderRadius],\n },\n style,\n ]}\n testID={testID}\n >\n <View\n style={[\n styles.fill,\n {\n width: `${clampedProgress * 100}%`,\n backgroundColor: color || theme.colors.primary,\n },\n ]}\n />\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n track: {\n overflow: 'hidden',\n },\n fill: {\n height: '100%',\n },\n});\n", "import React from 'react';\nimport { View, Text as RNText, StyleSheet } from 'react-native';\nimport { useTheme } from '../../theme/index';\nimport type { BadgeProps } from '../../types/index';\n\n/**\n * Badge component for status indicators\n */\nexport function Badge({\n children,\n variant = 'primary',\n size = 'medium',\n style,\n testID,\n}: BadgeProps) {\n const { theme } = useTheme();\n\n const variantColors = {\n primary: theme.colors.primary,\n secondary: theme.colors.secondary,\n success: theme.colors.success,\n error: theme.colors.error,\n warning: theme.colors.warning,\n info: theme.colors.info,\n };\n\n const sizeStyles = {\n small: {\n paddingHorizontal: theme.spacing.xs,\n paddingVertical: theme.spacing.xs / 2,\n fontSize: 10,\n },\n medium: {\n paddingHorizontal: theme.spacing.sm,\n paddingVertical: theme.spacing.xs,\n fontSize: 12,\n },\n large: {\n paddingHorizontal: theme.spacing.md,\n paddingVertical: theme.spacing.sm,\n fontSize: 14,\n },\n };\n\n return (\n <View\n style={[\n styles.badge,\n {\n backgroundColor: variantColors[variant],\n borderRadius: theme.borderRadius.full,\n ...sizeStyles[size],\n },\n style,\n ]}\n testID={testID}\n >\n <RNText\n style={[\n styles.text,\n {\n color: theme.colors.white,\n fontSize: sizeStyles[size].fontSize,\n },\n ]}\n >\n {children}\n </RNText>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n badge: {\n alignSelf: 'flex-start',\n },\n text: {\n fontWeight: '600',\n },\n});\n", "import React from 'react';\nimport { View } from 'react-native';\nimport { useTheme } from '../../theme/index';\nimport type { DividerProps } from '../../types/index';\n\n/**\n * Divider component for visual separation\n */\nexport function Divider({\n orientation = 'horizontal',\n thickness = 1,\n color,\n style,\n testID,\n}: DividerProps) {\n const { theme } = useTheme();\n\n return (\n <View\n style={[\n {\n backgroundColor: color || theme.colors.border,\n ...(orientation === 'horizontal'\n ? { height: thickness, width: '100%' }\n : { width: thickness, height: '100%' }),\n },\n style,\n ]}\n testID={testID}\n />\n );\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "View", "React", "View", "React", "RNText", "React", "RNText", "React", "TouchableOpacity", "View", "StyleSheet", "styles", "React", "TouchableOpacity", "View", "StyleSheet", "React", "View", "RNText", "StyleSheet", "React", "View", "styles", "RNText", "StyleSheet", "React", "TouchableOpacity", "View", "RNText", "StyleSheet", "React", "TouchableOpacity", "styles", "View", "RNText", "StyleSheet", "React", "TouchableOpacity", "View", "RNText", "StyleSheet", "React", "TouchableOpacity", "styles", "View", "RNText", "StyleSheet", "React", "React", "React", "View", "StyleSheet", "React", "View", "styles", "StyleSheet", "React", "View", "RNText", "StyleSheet", "React", "View", "styles", "RNText", "StyleSheet", "React", "View", "React", "View"]
|
|
7
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/display/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,OAAmB,EACnB,IAAe,EACf,KAAK,EACL,MAAM,GACP,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/display/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,OAAmB,EACnB,IAAe,EACf,KAAK,EACL,MAAM,GACP,EAAE,UAAU,qBAwDZ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { View, Text as RNText } from 'react-native';
|
|
2
|
+
import { View, Text as RNText, StyleSheet } from 'react-native';
|
|
3
3
|
import { useTheme } from '../../theme/index';
|
|
4
4
|
/**
|
|
5
5
|
* Badge component for status indicators
|
|
@@ -32,21 +32,31 @@ export function Badge({ children, variant = 'primary', size = 'medium', style, t
|
|
|
32
32
|
},
|
|
33
33
|
};
|
|
34
34
|
return (<View style={[
|
|
35
|
+
styles.badge,
|
|
35
36
|
{
|
|
36
37
|
backgroundColor: variantColors[variant],
|
|
37
38
|
borderRadius: theme.borderRadius.full,
|
|
38
|
-
alignSelf: 'flex-start',
|
|
39
39
|
...sizeStyles[size],
|
|
40
40
|
},
|
|
41
41
|
style,
|
|
42
42
|
]} testID={testID}>
|
|
43
|
-
<RNText style={
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
<RNText style={[
|
|
44
|
+
styles.text,
|
|
45
|
+
{
|
|
46
|
+
color: theme.colors.white,
|
|
47
|
+
fontSize: sizeStyles[size].fontSize,
|
|
48
|
+
},
|
|
49
|
+
]}>
|
|
48
50
|
{children}
|
|
49
51
|
</RNText>
|
|
50
52
|
</View>);
|
|
51
53
|
}
|
|
54
|
+
const styles = StyleSheet.create({
|
|
55
|
+
badge: {
|
|
56
|
+
alignSelf: 'flex-start',
|
|
57
|
+
},
|
|
58
|
+
text: {
|
|
59
|
+
fontWeight: '600',
|
|
60
|
+
},
|
|
61
|
+
});
|
|
52
62
|
//# sourceMappingURL=Badge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/components/display/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/components/display/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,EACpB,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,QAAQ,EACf,KAAK,EACL,MAAM,GACK;IACX,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;QAC7B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;QACjC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;QAC7B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;QACzB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;QAC7B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;KACxB,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,KAAK,EAAE;YACL,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YACnC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;YACrC,QAAQ,EAAE,EAAE;SACb;QACD,MAAM,EAAE;YACN,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YACnC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YACjC,QAAQ,EAAE,EAAE;SACb;QACD,KAAK,EAAE;YACL,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YACnC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YACjC,QAAQ,EAAE,EAAE;SACb;KACF,CAAC;IAEF,OAAO,CACL,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,KAAK;YACZ;gBACE,eAAe,EAAE,aAAa,CAAC,OAAO,CAAC;gBACvC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI;gBACrC,GAAG,UAAU,CAAC,IAAI,CAAC;aACpB;YACD,KAAK;SACN,CAAC,CACF,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,MAAM,CACL,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,IAAI;YACX;gBACE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;gBACzB,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ;aACpC;SACF,CAAC,CAEF;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,MAAM,CACV;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,KAAK,EAAE;QACL,SAAS,EAAE,YAAY;KACxB;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,KAAK;KAClB;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../src/components/display/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,MAAU,EACV,KAAK,EACL,eAAe,EACf,YAAqB,EACrB,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../src/components/display/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,MAAU,EACV,KAAK,EACL,eAAe,EACf,YAAqB,EACrB,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,qBA8BlB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { View } from 'react-native';
|
|
2
|
+
import { View, StyleSheet } from 'react-native';
|
|
3
3
|
import { useTheme } from '../../theme/index';
|
|
4
4
|
/**
|
|
5
5
|
* ProgressBar component with theme support
|
|
@@ -9,19 +9,29 @@ export function ProgressBar({ progress, height = 8, color, backgroundColor, bord
|
|
|
9
9
|
// Clamp progress between 0 and 1
|
|
10
10
|
const clampedProgress = Math.max(0, Math.min(1, progress));
|
|
11
11
|
return (<View style={[
|
|
12
|
+
styles.track,
|
|
12
13
|
{
|
|
13
14
|
height,
|
|
14
15
|
backgroundColor: backgroundColor || theme.colors.border,
|
|
15
16
|
borderRadius: theme.borderRadius[borderRadius],
|
|
16
|
-
overflow: 'hidden',
|
|
17
17
|
},
|
|
18
18
|
style,
|
|
19
19
|
]} testID={testID}>
|
|
20
|
-
<View style={
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
<View style={[
|
|
21
|
+
styles.fill,
|
|
22
|
+
{
|
|
23
|
+
width: `${clampedProgress * 100}%`,
|
|
24
|
+
backgroundColor: color || theme.colors.primary,
|
|
25
|
+
},
|
|
26
|
+
]}/>
|
|
25
27
|
</View>);
|
|
26
28
|
}
|
|
29
|
+
const styles = StyleSheet.create({
|
|
30
|
+
track: {
|
|
31
|
+
overflow: 'hidden',
|
|
32
|
+
},
|
|
33
|
+
fill: {
|
|
34
|
+
height: '100%',
|
|
35
|
+
},
|
|
36
|
+
});
|
|
27
37
|
//# sourceMappingURL=ProgressBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../../src/components/display/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../../src/components/display/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,QAAQ,EACR,MAAM,GAAG,CAAC,EACV,KAAK,EACL,eAAe,EACf,YAAY,GAAG,MAAM,EACrB,KAAK,EACL,MAAM,GACW;IACjB,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,iCAAiC;IACjC,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE3D,OAAO,CACL,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,KAAK;YACZ;gBACE,MAAM;gBACN,eAAe,EAAE,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM;gBACvD,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC;aAC/C;YACD,KAAK;SACN,CAAC,CACF,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,IAAI;YACX;gBACE,KAAK,EAAE,GAAG,eAAe,GAAG,GAAG,GAAG;gBAClC,eAAe,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO;aAC/C;SACF,CAAC,EAEN;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,KAAK,EAAE;QACL,QAAQ,EAAE,QAAQ;KACnB;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;KACf;CACF,CAAC,CAAC"}
|