@medway-ui/native 1.1.1 → 1.2.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.
- package/README.md +238 -105
- package/lib/commonjs/components/Alert.js +5 -4
- package/lib/commonjs/components/Alert.js.map +1 -1
- package/lib/commonjs/components/Avatar.js +2 -1
- package/lib/commonjs/components/Avatar.js.map +1 -1
- package/lib/commonjs/components/Badge.js +2 -1
- package/lib/commonjs/components/Badge.js.map +1 -1
- package/lib/commonjs/components/Button.js +3 -2
- package/lib/commonjs/components/Button.js.map +1 -1
- package/lib/commonjs/components/CardNews.js +7 -6
- package/lib/commonjs/components/CardNews.js.map +1 -1
- package/lib/commonjs/components/Carousel.js +122 -0
- package/lib/commonjs/components/Carousel.js.map +1 -0
- package/lib/commonjs/components/Checkbox.js +11 -2
- package/lib/commonjs/components/Checkbox.js.map +1 -1
- package/lib/commonjs/components/DropdownMenu.js +225 -0
- package/lib/commonjs/components/DropdownMenu.js.map +1 -0
- package/lib/commonjs/components/EmptyState.js +19 -20
- package/lib/commonjs/components/EmptyState.js.map +1 -1
- package/lib/commonjs/components/Feed.js +82 -0
- package/lib/commonjs/components/Feed.js.map +1 -0
- package/lib/commonjs/components/FeedNotice.js +76 -0
- package/lib/commonjs/components/FeedNotice.js.map +1 -0
- package/lib/commonjs/components/Input.js +21 -9
- package/lib/commonjs/components/Input.js.map +1 -1
- package/lib/commonjs/components/InvitePopover.js +196 -0
- package/lib/commonjs/components/InvitePopover.js.map +1 -0
- package/lib/commonjs/components/Label.js +2 -1
- package/lib/commonjs/components/Label.js.map +1 -1
- package/lib/commonjs/components/LeaderboardCard.js +58 -0
- package/lib/commonjs/components/LeaderboardCard.js.map +1 -0
- package/lib/commonjs/components/MemberRow.js +131 -0
- package/lib/commonjs/components/MemberRow.js.map +1 -0
- package/lib/commonjs/components/PageHeader.js +3 -2
- package/lib/commonjs/components/PageHeader.js.map +1 -1
- package/lib/commonjs/components/PostForm.js +182 -0
- package/lib/commonjs/components/PostForm.js.map +1 -0
- package/lib/commonjs/components/PrizeCollection.js +135 -0
- package/lib/commonjs/components/PrizeCollection.js.map +1 -0
- package/lib/commonjs/components/RadioGroup.js +22 -0
- package/lib/commonjs/components/RadioGroup.js.map +1 -1
- package/lib/commonjs/components/SectionHeader.js +36 -0
- package/lib/commonjs/components/SectionHeader.js.map +1 -0
- package/lib/commonjs/components/Switch.js +33 -19
- package/lib/commonjs/components/Switch.js.map +1 -1
- package/lib/commonjs/components/Tabs.js +156 -0
- package/lib/commonjs/components/Tabs.js.map +1 -0
- package/lib/commonjs/components/Tag.js +2 -1
- package/lib/commonjs/components/Tag.js.map +1 -1
- package/lib/commonjs/components/Text.js +60 -0
- package/lib/commonjs/components/Text.js.map +1 -0
- package/lib/commonjs/components/Toast.js +3 -2
- package/lib/commonjs/components/Toast.js.map +1 -1
- package/lib/commonjs/components/Tooltip.js +2 -2
- package/lib/commonjs/components/Tooltip.js.map +1 -1
- package/lib/commonjs/hooks/useThemeColor.js +66 -29
- package/lib/commonjs/hooks/useThemeColor.js.map +1 -1
- package/lib/commonjs/index.js +319 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/lib/overlay-host.js +101 -0
- package/lib/commonjs/lib/overlay-host.js.map +1 -0
- package/lib/commonjs/lib/typography.js +26 -0
- package/lib/commonjs/lib/typography.js.map +1 -0
- package/lib/commonjs/nativewind-env.d.js +0 -1
- package/lib/commonjs/nativewind-env.d.js.map +1 -1
- package/lib/module/components/Alert.js +3 -2
- package/lib/module/components/Alert.js.map +1 -1
- package/lib/module/components/Avatar.js +2 -1
- package/lib/module/components/Avatar.js.map +1 -1
- package/lib/module/components/Badge.js +2 -1
- package/lib/module/components/Badge.js.map +1 -1
- package/lib/module/components/Button.js +2 -1
- package/lib/module/components/Button.js.map +1 -1
- package/lib/module/components/CardNews.js +2 -1
- package/lib/module/components/CardNews.js.map +1 -1
- package/lib/module/components/Carousel.js +117 -0
- package/lib/module/components/Carousel.js.map +1 -0
- package/lib/module/components/Checkbox.js +12 -2
- package/lib/module/components/Checkbox.js.map +1 -1
- package/lib/module/components/DropdownMenu.js +216 -0
- package/lib/module/components/DropdownMenu.js.map +1 -0
- package/lib/module/components/EmptyState.js +19 -20
- package/lib/module/components/EmptyState.js.map +1 -1
- package/lib/module/components/Feed.js +77 -0
- package/lib/module/components/Feed.js.map +1 -0
- package/lib/module/components/FeedNotice.js +73 -0
- package/lib/module/components/FeedNotice.js.map +1 -0
- package/lib/module/components/Input.js +21 -9
- package/lib/module/components/Input.js.map +1 -1
- package/lib/module/components/InvitePopover.js +183 -0
- package/lib/module/components/InvitePopover.js.map +1 -0
- package/lib/module/components/Label.js +2 -1
- package/lib/module/components/Label.js.map +1 -1
- package/lib/module/components/LeaderboardCard.js +53 -0
- package/lib/module/components/LeaderboardCard.js.map +1 -0
- package/lib/module/components/MemberRow.js +127 -0
- package/lib/module/components/MemberRow.js.map +1 -0
- package/lib/module/components/PageHeader.js +2 -1
- package/lib/module/components/PageHeader.js.map +1 -1
- package/lib/module/components/PostForm.js +174 -0
- package/lib/module/components/PostForm.js.map +1 -0
- package/lib/module/components/PrizeCollection.js +127 -0
- package/lib/module/components/PrizeCollection.js.map +1 -0
- package/lib/module/components/RadioGroup.js +21 -1
- package/lib/module/components/RadioGroup.js.map +1 -1
- package/lib/module/components/SectionHeader.js +33 -0
- package/lib/module/components/SectionHeader.js.map +1 -0
- package/lib/module/components/Switch.js +34 -20
- package/lib/module/components/Switch.js.map +1 -1
- package/lib/module/components/Tabs.js +148 -0
- package/lib/module/components/Tabs.js.map +1 -0
- package/lib/module/components/Tag.js +2 -1
- package/lib/module/components/Tag.js.map +1 -1
- package/lib/module/components/Text.js +58 -0
- package/lib/module/components/Text.js.map +1 -0
- package/lib/module/components/Toast.js +2 -1
- package/lib/module/components/Toast.js.map +1 -1
- package/lib/module/components/Tooltip.js +1 -1
- package/lib/module/components/Tooltip.js.map +1 -1
- package/lib/module/hooks/useThemeColor.js +66 -31
- package/lib/module/hooks/useThemeColor.js.map +1 -1
- package/lib/module/index.js +27 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/lib/overlay-host.js +96 -0
- package/lib/module/lib/overlay-host.js.map +1 -0
- package/lib/module/lib/typography.js +22 -0
- package/lib/module/lib/typography.js.map +1 -0
- package/lib/module/nativewind-env.d.js +0 -1
- package/lib/module/nativewind-env.d.js.map +1 -1
- package/lib/typescript/components/Alert.d.ts.map +1 -1
- package/lib/typescript/components/Avatar.d.ts.map +1 -1
- package/lib/typescript/components/Badge.d.ts.map +1 -1
- package/lib/typescript/components/Button.d.ts.map +1 -1
- package/lib/typescript/components/CardNews.d.ts.map +1 -1
- package/lib/typescript/components/Carousel.d.ts +29 -0
- package/lib/typescript/components/Carousel.d.ts.map +1 -0
- package/lib/typescript/components/Checkbox.d.ts.map +1 -1
- package/lib/typescript/components/DropdownMenu.d.ts +39 -0
- package/lib/typescript/components/DropdownMenu.d.ts.map +1 -0
- package/lib/typescript/components/EmptyState.d.ts +1 -1
- package/lib/typescript/components/EmptyState.d.ts.map +1 -1
- package/lib/typescript/components/Feed.d.ts +22 -0
- package/lib/typescript/components/Feed.d.ts.map +1 -0
- package/lib/typescript/components/FeedNotice.d.ts +17 -0
- package/lib/typescript/components/FeedNotice.d.ts.map +1 -0
- package/lib/typescript/components/Input.d.ts +3 -2
- package/lib/typescript/components/Input.d.ts.map +1 -1
- package/lib/typescript/components/InvitePopover.d.ts +46 -0
- package/lib/typescript/components/InvitePopover.d.ts.map +1 -0
- package/lib/typescript/components/Label.d.ts.map +1 -1
- package/lib/typescript/components/LeaderboardCard.d.ts +16 -0
- package/lib/typescript/components/LeaderboardCard.d.ts.map +1 -0
- package/lib/typescript/components/MemberRow.d.ts +40 -0
- package/lib/typescript/components/MemberRow.d.ts.map +1 -0
- package/lib/typescript/components/PageHeader.d.ts.map +1 -1
- package/lib/typescript/components/PostForm.d.ts +50 -0
- package/lib/typescript/components/PostForm.d.ts.map +1 -0
- package/lib/typescript/components/PrizeCollection.d.ts +35 -0
- package/lib/typescript/components/PrizeCollection.d.ts.map +1 -0
- package/lib/typescript/components/RadioGroup.d.ts +10 -2
- package/lib/typescript/components/RadioGroup.d.ts.map +1 -1
- package/lib/typescript/components/SectionHeader.d.ts +12 -0
- package/lib/typescript/components/SectionHeader.d.ts.map +1 -0
- package/lib/typescript/components/Switch.d.ts.map +1 -1
- package/lib/typescript/components/Tabs.d.ts +32 -0
- package/lib/typescript/components/Tabs.d.ts.map +1 -0
- package/lib/typescript/components/Tag.d.ts.map +1 -1
- package/lib/typescript/components/Text.d.ts +23 -0
- package/lib/typescript/components/Text.d.ts.map +1 -0
- package/lib/typescript/components/Toast.d.ts +1 -1
- package/lib/typescript/components/Toast.d.ts.map +1 -1
- package/lib/typescript/components/Tooltip.d.ts.map +1 -1
- package/lib/typescript/hooks/useThemeColor.d.ts +4 -2
- package/lib/typescript/hooks/useThemeColor.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +28 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/lib/overlay-host.d.ts +23 -0
- package/lib/typescript/lib/overlay-host.d.ts.map +1 -0
- package/lib/typescript/lib/typography.d.ts +12 -0
- package/lib/typescript/lib/typography.d.ts.map +1 -0
- package/package.json +13 -3
- package/setup/MedwayUiProvider.tsx +15 -4
- package/setup/babel-brownfield.js +70 -0
- package/setup/metro.js +95 -24
- package/setup/tailwind.js +76 -8
- package/setup/tokens.native.css +8 -3
- package/src/components/Alert.tsx +4 -2
- package/src/components/Avatar.tsx +3 -1
- package/src/components/Badge.tsx +3 -1
- package/src/components/Button.tsx +3 -7
- package/src/components/CardNews.tsx +2 -1
- package/src/components/Carousel.tsx +152 -0
- package/src/components/Checkbox.tsx +14 -4
- package/src/components/DropdownMenu.tsx +312 -0
- package/src/components/EmptyState.tsx +21 -23
- package/src/components/Feed.tsx +96 -0
- package/src/components/FeedNotice.tsx +112 -0
- package/src/components/Input.tsx +11 -6
- package/src/components/InvitePopover.tsx +240 -0
- package/src/components/Label.tsx +3 -1
- package/src/components/LeaderboardCard.tsx +70 -0
- package/src/components/MemberRow.tsx +157 -0
- package/src/components/PageHeader.tsx +3 -1
- package/src/components/PostForm.tsx +250 -0
- package/src/components/PrizeCollection.tsx +190 -0
- package/src/components/RadioGroup.tsx +32 -3
- package/src/components/SectionHeader.tsx +45 -0
- package/src/components/Switch.tsx +65 -59
- package/src/components/Tabs.tsx +182 -0
- package/src/components/Tag.tsx +3 -1
- package/src/components/Text.tsx +66 -0
- package/src/components/Toast.tsx +3 -1
- package/src/components/Tooltip.tsx +2 -1
- package/src/hooks/useThemeColor.ts +77 -32
- package/src/index.ts +147 -6
- package/src/lib/overlay-host.tsx +102 -0
- package/src/lib/typography.ts +21 -0
- package/src/nativewind-env.d.ts +2 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Image, View } from "react-native";
|
|
4
|
+
import { Text } from "@/components/Text";
|
|
5
|
+
import { cn } from "@/lib/utils";
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
const rankColors = {
|
|
8
|
+
1: "bg-yellow-background-fill",
|
|
9
|
+
2: "bg-gray-background-fill",
|
|
10
|
+
3: "bg-warning-background-fill"
|
|
11
|
+
};
|
|
12
|
+
function PrizeCollection({
|
|
13
|
+
className,
|
|
14
|
+
title = "Sua coleção",
|
|
15
|
+
statsTitle = "Contagem de pódios",
|
|
16
|
+
children,
|
|
17
|
+
footer,
|
|
18
|
+
...props
|
|
19
|
+
}) {
|
|
20
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
21
|
+
className: cn("gap-3", className),
|
|
22
|
+
...props,
|
|
23
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
24
|
+
className: "text-title-xs font-semibold text-primary-foreground",
|
|
25
|
+
children: title
|
|
26
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
27
|
+
className: "gap-8",
|
|
28
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
29
|
+
className: "gap-3 rounded-lg border border-gray-stroke-muted bg-surface-section p-4",
|
|
30
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
31
|
+
className: "text-center text-lg font-medium text-primary-foreground",
|
|
32
|
+
children: statsTitle
|
|
33
|
+
}), children]
|
|
34
|
+
}), footer]
|
|
35
|
+
})]
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function PrizeCollectionStats({
|
|
39
|
+
className,
|
|
40
|
+
children,
|
|
41
|
+
...props
|
|
42
|
+
}) {
|
|
43
|
+
return /*#__PURE__*/_jsx(View, {
|
|
44
|
+
className: cn("flex-row items-center justify-center gap-4", className),
|
|
45
|
+
...props,
|
|
46
|
+
children: children
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function PrizeCollectionStatsItem({
|
|
50
|
+
className,
|
|
51
|
+
count,
|
|
52
|
+
rank,
|
|
53
|
+
...props
|
|
54
|
+
}) {
|
|
55
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
56
|
+
className: cn("flex-row items-center gap-2 rounded-pill bg-gray-background-soft-emphasis py-1 pl-4 pr-1", className),
|
|
57
|
+
...props,
|
|
58
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
59
|
+
className: "text-title-xs font-semibold text-primary-foreground",
|
|
60
|
+
children: count
|
|
61
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
62
|
+
className: cn("size-8 rounded-full", rankColors[rank])
|
|
63
|
+
})]
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
function PrizeShelf({
|
|
67
|
+
className,
|
|
68
|
+
title = "Prateleira de Prêmios",
|
|
69
|
+
children,
|
|
70
|
+
...props
|
|
71
|
+
}) {
|
|
72
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
73
|
+
className: cn("gap-4", className),
|
|
74
|
+
...props,
|
|
75
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
76
|
+
className: "text-lg font-medium text-primary-foreground",
|
|
77
|
+
children: title
|
|
78
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
79
|
+
className: "gap-2",
|
|
80
|
+
children: children
|
|
81
|
+
})]
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function PrizeRow({
|
|
85
|
+
className,
|
|
86
|
+
...props
|
|
87
|
+
}) {
|
|
88
|
+
return /*#__PURE__*/_jsx(View, {
|
|
89
|
+
className: cn("flex-row items-start justify-between", className),
|
|
90
|
+
...props
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
function PrizeItem({
|
|
94
|
+
className,
|
|
95
|
+
imageSrc,
|
|
96
|
+
image,
|
|
97
|
+
dateLabel,
|
|
98
|
+
isNew = false,
|
|
99
|
+
locked = false,
|
|
100
|
+
...props
|
|
101
|
+
}) {
|
|
102
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
103
|
+
className: cn("relative w-[116px] items-center gap-1 rounded-lg px-4 py-2 shadow-sm", locked ? "opacity-50" : "bg-surface-card", className),
|
|
104
|
+
...props,
|
|
105
|
+
children: [isNew ? /*#__PURE__*/_jsx(View, {
|
|
106
|
+
className: "absolute -right-1 -top-1 rounded-md bg-green-background-fill px-2 py-1",
|
|
107
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
108
|
+
className: "text-xs font-semibold text-green-foreground-onfill",
|
|
109
|
+
children: "Novo"
|
|
110
|
+
})
|
|
111
|
+
}) : null, image ?? (imageSrc ? /*#__PURE__*/_jsx(Image, {
|
|
112
|
+
source: {
|
|
113
|
+
uri: imageSrc
|
|
114
|
+
},
|
|
115
|
+
className: "h-[112px] w-[96px]",
|
|
116
|
+
resizeMode: "contain",
|
|
117
|
+
accessibilityLabel: dateLabel ?? "Prêmio"
|
|
118
|
+
}) : /*#__PURE__*/_jsx(View, {
|
|
119
|
+
className: "h-[112px] w-[96px] rounded-lg bg-gray-background-soft"
|
|
120
|
+
})), dateLabel ? /*#__PURE__*/_jsx(Text, {
|
|
121
|
+
className: "text-xs font-semibold text-gray-stroke-emphasis",
|
|
122
|
+
children: dateLabel
|
|
123
|
+
}) : null]
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
export { PrizeCollection, PrizeCollectionStats, PrizeCollectionStatsItem, PrizeShelf, PrizeRow, PrizeItem };
|
|
127
|
+
//# sourceMappingURL=PrizeCollection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Image","View","Text","cn","jsx","_jsx","jsxs","_jsxs","rankColors","PrizeCollection","className","title","statsTitle","children","footer","props","PrizeCollectionStats","PrizeCollectionStatsItem","count","rank","PrizeShelf","PrizeRow","PrizeItem","imageSrc","image","dateLabel","isNew","locked","source","uri","resizeMode","accessibilityLabel"],"sourceRoot":"../../../src","sources":["components/PrizeCollection.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -62,5 +62,25 @@ function RadioGroupItem({
|
|
|
62
62
|
})
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
|
-
|
|
65
|
+
function RadioGroupList({
|
|
66
|
+
className,
|
|
67
|
+
children,
|
|
68
|
+
...props
|
|
69
|
+
}) {
|
|
70
|
+
return /*#__PURE__*/_jsx(RadioGroupPrimitive.Root, {
|
|
71
|
+
className: cn("gap-0", className),
|
|
72
|
+
...props,
|
|
73
|
+
children: children
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
function RadioGroupListItem({
|
|
77
|
+
className,
|
|
78
|
+
...props
|
|
79
|
+
}) {
|
|
80
|
+
return /*#__PURE__*/_jsx(View, {
|
|
81
|
+
className: cn("border-b border-gray-stroke-muted py-2", className),
|
|
82
|
+
...props
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
export { RadioGroup, RadioGroupItem, RadioGroupList, RadioGroupListItem, radioGroupVariants };
|
|
66
86
|
//# sourceMappingURL=RadioGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","RadioGroupPrimitive","cva","cn","jsx","_jsx","INNER_DOT_SIZES","sm","md","lg","radioGroupVariants","variants","size","variant","regular","defaultVariants","RadioGroup","className","props","Root","RadioGroupItem","resolvedSize","dotSize","Item","children","Indicator","style","width","height","borderRadius"],"sourceRoot":"../../../src","sources":["components/RadioGroup.tsx"],"mappings":";;AAAA,SAASA,IAAI,
|
|
1
|
+
{"version":3,"names":["View","RadioGroupPrimitive","cva","cn","jsx","_jsx","INNER_DOT_SIZES","sm","md","lg","radioGroupVariants","variants","size","variant","regular","defaultVariants","RadioGroup","className","props","Root","RadioGroupItem","resolvedSize","dotSize","Item","children","Indicator","style","width","height","borderRadius","RadioGroupList","RadioGroupListItem"],"sourceRoot":"../../../src","sources":["components/RadioGroup.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAwB,cAAc;AACnD,OAAO,KAAKC,mBAAmB,MAAM,4BAA4B;AACjE,SAASC,GAAG,QAA2B,0BAA0B;AAEjE,SAASC,EAAE,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMjC,MAAMC,eAAmD,GAAG;EAC1DC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE;AACN,CAAC;AAED,MAAMC,kBAAkB,GAAGR,GAAG,CAC5B,qGAAqG,EACrG;EACES,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJL,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE,SAAS;MACbC,EAAE,EAAE;IACN,CAAC;IACDI,OAAO,EAAE;MACPC,OAAO,EAAE;IACX;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,IAAI,EAAE,IAAI;IACVC,OAAO,EAAE;EACX;AACF,CACF,CAAC;AAED,SAASG,UAAUA,CAAC;EAAEC,SAAS;EAAE,GAAGC;AAAqC,CAAC,EAAE;EAC1E,oBACEb,IAAA,CAACJ,mBAAmB,CAACkB,IAAI;IAACF,SAAS,EAAEd,EAAE,CAAC,OAAO,EAAEc,SAAS,CAAE;IAAA,GAAKC;EAAK,CAAG,CAAC;AAE9E;AAEA,SAASE,cAAcA,CAAC;EAAEH,SAAS;EAAEL,IAAI,GAAG,IAAI;EAAEC,OAAO;EAAE,GAAGK;AAA2B,CAAC,EAAE;EAC1F,MAAMG,YAAY,GAAGT,IAAI,IAAI,IAAI;EACjC,MAAMU,OAAO,GAAGhB,eAAe,CAACe,YAAY,CAAC;EAE7C,oBACEhB,IAAA,CAACJ,mBAAmB,CAACsB,IAAI;IACvBN,SAAS,EAAEd,EAAE,CAACO,kBAAkB,CAAC;MAAEE,IAAI;MAAEC;IAAQ,CAAC,CAAC,EAAEI,SAAS,CAAE;IAAA,GAC5DC,KAAK;IAAAM,QAAA,eAETnB,IAAA,CAACJ,mBAAmB,CAACwB,SAAS;MAACR,SAAS,EAAC,6BAA6B;MAAAO,QAAA,eACpEnB,IAAA,CAACL,IAAI;QACH0B,KAAK,EAAE;UAAEC,KAAK,EAAEL,OAAO;UAAEM,MAAM,EAAEN,OAAO;UAAEO,YAAY,EAAEP,OAAO,GAAG;QAAE,CAAE;QACtEL,SAAS,EAAC;MAA4B,CACvC;IAAC,CAC2B;EAAC,CACR,CAAC;AAE/B;AAOA,SAASa,cAAcA,CAAC;EAAEb,SAAS;EAAEO,QAAQ;EAAE,GAAGN;AAA2B,CAAC,EAAE;EAC9E,oBACEb,IAAA,CAACJ,mBAAmB,CAACkB,IAAI;IAACF,SAAS,EAAEd,EAAE,CAAC,OAAO,EAAEc,SAAS,CAAE;IAAA,GAAKC,KAAK;IAAAM,QAAA,EACnEA;EAAQ,CACe,CAAC;AAE/B;AAEA,SAASO,kBAAkBA,CAAC;EAAEd,SAAS;EAAE,GAAGC;AAAiB,CAAC,EAAE;EAC9D,oBACEb,IAAA,CAACL,IAAI;IACHiB,SAAS,EAAEd,EAAE,CAAC,wCAAwC,EAAEc,SAAS,CAAE;IAAA,GAC/DC;EAAK,CACV,CAAC;AAEN;AAEA,SACEF,UAAU,EACVI,cAAc,EACdU,cAAc,EACdC,kBAAkB,EAClBrB,kBAAkB","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { View } from "react-native";
|
|
4
|
+
import { Text } from "@/components/Text";
|
|
5
|
+
import { cn } from "@/lib/utils";
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
function SectionHeader({
|
|
8
|
+
className,
|
|
9
|
+
title,
|
|
10
|
+
subtitle,
|
|
11
|
+
trailing,
|
|
12
|
+
...props
|
|
13
|
+
}) {
|
|
14
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
15
|
+
className: cn("flex-row items-center justify-between px-1", className),
|
|
16
|
+
...props,
|
|
17
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
18
|
+
className: "min-w-0 flex-1 gap-0",
|
|
19
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
20
|
+
className: "text-title-xs font-semibold text-primary-foreground",
|
|
21
|
+
children: title
|
|
22
|
+
}), subtitle != null ? /*#__PURE__*/_jsx(Text, {
|
|
23
|
+
className: "text-sm font-medium leading-sm text-primary-foreground",
|
|
24
|
+
children: subtitle
|
|
25
|
+
}) : null]
|
|
26
|
+
}), trailing ? /*#__PURE__*/_jsx(View, {
|
|
27
|
+
className: "flex-row items-center gap-4",
|
|
28
|
+
children: trailing
|
|
29
|
+
}) : null]
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
export { SectionHeader };
|
|
33
|
+
//# sourceMappingURL=SectionHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["View","Text","cn","jsx","_jsx","jsxs","_jsxs","SectionHeader","className","title","subtitle","trailing","props","children"],"sourceRoot":"../../../src","sources":["components/SectionHeader.tsx"],"mappings":";;AACA,SAASA,IAAI,QAAwB,cAAc;AAEnD,SAASC,IAAI,QAAQ,mBAAmB;AAExC,SAASC,EAAE,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AASjC,SAASC,aAAaA,CAAC;EACrBC,SAAS;EACTC,KAAK;EACLC,QAAQ;EACRC,QAAQ;EACR,GAAGC;AACe,CAAC,EAAE;EACrB,oBACEN,KAAA,CAACN,IAAI;IACHQ,SAAS,EAAEN,EAAE,CAAC,4CAA4C,EAAEM,SAAS,CAAE;IAAA,GACnEI,KAAK;IAAAC,QAAA,gBAETP,KAAA,CAACN,IAAI;MAACQ,SAAS,EAAC,sBAAsB;MAAAK,QAAA,gBACpCT,IAAA,CAACH,IAAI;QAACO,SAAS,EAAC,qDAAqD;QAAAK,QAAA,EAClEJ;MAAK,CACF,CAAC,EACNC,QAAQ,IAAI,IAAI,gBACfN,IAAA,CAACH,IAAI;QAACO,SAAS,EAAC,wDAAwD;QAAAK,QAAA,EACrEH;MAAQ,CACL,CAAC,GACL,IAAI;IAAA,CACJ,CAAC,EACNC,QAAQ,gBACPP,IAAA,CAACJ,IAAI;MAACQ,SAAS,EAAC,6BAA6B;MAAAK,QAAA,EAAEF;IAAQ,CAAO,CAAC,GAC7D,IAAI;EAAA,CACJ,CAAC;AAEX;AAEA,SAASJ,aAAa","ignoreList":[]}
|
|
@@ -6,7 +6,8 @@ import * as SwitchPrimitive from "@rn-primitives/switch";
|
|
|
6
6
|
import Animated, { useSharedValue, useAnimatedStyle, withTiming, Easing } from "react-native-reanimated";
|
|
7
7
|
import { cva } from "class-variance-authority";
|
|
8
8
|
import { cn } from "@/lib/utils";
|
|
9
|
-
import {
|
|
9
|
+
import { useThemeColor } from "@/hooks/useThemeColor";
|
|
10
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
10
11
|
const THUMB_SIZES = {
|
|
11
12
|
sm: 8,
|
|
12
13
|
md: 12,
|
|
@@ -17,7 +18,7 @@ const THUMB_TRANSLATE = {
|
|
|
17
18
|
md: 15,
|
|
18
19
|
lg: 19
|
|
19
20
|
};
|
|
20
|
-
const
|
|
21
|
+
const SWITCH_DIMENSIONS = {
|
|
21
22
|
sm: {
|
|
22
23
|
width: 24,
|
|
23
24
|
height: 16
|
|
@@ -61,10 +62,17 @@ function Switch({
|
|
|
61
62
|
...props
|
|
62
63
|
}) {
|
|
63
64
|
const resolvedSize = size ?? "md";
|
|
64
|
-
const
|
|
65
|
+
const dimensions = SWITCH_DIMENSIONS[resolvedSize];
|
|
65
66
|
const [internalChecked, setInternalChecked] = useState(defaultChecked ?? false);
|
|
66
67
|
const isControlled = checked !== undefined;
|
|
67
68
|
const isChecked = isControlled ? checked ?? false : internalChecked;
|
|
69
|
+
const trackOn = useThemeColor("primary-background-fill");
|
|
70
|
+
const trackOff = useThemeColor("surface-card");
|
|
71
|
+
const trackDisabled = useThemeColor("gray-background-soft-muted");
|
|
72
|
+
const trackBorder = useThemeColor("gray-stroke-muted");
|
|
73
|
+
const thumbOn = useThemeColor("primary-foreground-onfill");
|
|
74
|
+
const thumbOff = useThemeColor("gray-foreground-muted");
|
|
75
|
+
const thumbDisabled = useThemeColor("gray-background-fill-muted");
|
|
68
76
|
const translateX = useSharedValue(isChecked ? THUMB_TRANSLATE[resolvedSize] : 2);
|
|
69
77
|
useEffect(() => {
|
|
70
78
|
translateX.value = withTiming(isChecked ? THUMB_TRANSLATE[resolvedSize] : 2, {
|
|
@@ -77,44 +85,50 @@ function Switch({
|
|
|
77
85
|
translateX: translateX.value
|
|
78
86
|
}]
|
|
79
87
|
}));
|
|
80
|
-
const hasIcons = checkedIcon || uncheckedIcon;
|
|
88
|
+
const hasIcons = Boolean(checkedIcon || uncheckedIcon);
|
|
81
89
|
const thumbSize = THUMB_SIZES[resolvedSize];
|
|
82
90
|
const handleCheckedChange = nextChecked => {
|
|
83
91
|
if (!isControlled) setInternalChecked(nextChecked);
|
|
84
92
|
onCheckedChange?.(nextChecked);
|
|
85
93
|
};
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
94
|
+
const trackBackgroundColor = disabled ? trackDisabled : isChecked ? trackOn : trackOff;
|
|
95
|
+
const trackBorderColor = disabled || !isChecked ? trackBorder : "transparent";
|
|
96
|
+
const thumbBackgroundColor = disabled ? thumbDisabled : hasIcons ? "transparent" : isChecked ? thumbOn : thumbOff;
|
|
97
|
+
const rootStyle = {
|
|
98
|
+
width: dimensions.width,
|
|
99
|
+
height: dimensions.height,
|
|
100
|
+
minWidth: dimensions.width,
|
|
101
|
+
minHeight: dimensions.height,
|
|
102
|
+
borderRadius: dimensions.height / 2,
|
|
92
103
|
borderWidth: 2,
|
|
93
|
-
|
|
104
|
+
alignItems: "flex-start",
|
|
105
|
+
justifyContent: "center",
|
|
106
|
+
backgroundColor: trackBackgroundColor,
|
|
107
|
+
borderColor: trackBorderColor
|
|
94
108
|
};
|
|
95
109
|
return /*#__PURE__*/_jsx(SwitchPrimitive.Root, {
|
|
96
110
|
checked: isChecked,
|
|
97
111
|
onCheckedChange: handleCheckedChange,
|
|
98
112
|
disabled: disabled,
|
|
99
|
-
style: state => [
|
|
113
|
+
style: state => [rootStyle, typeof style === "function" ? style(state) : style],
|
|
100
114
|
className: cn(switchVariants({
|
|
101
115
|
size,
|
|
102
116
|
variant
|
|
103
|
-
}),
|
|
117
|
+
}), className),
|
|
104
118
|
...props,
|
|
105
119
|
children: /*#__PURE__*/_jsx(SwitchPrimitive.Thumb, {
|
|
106
120
|
asChild: true,
|
|
107
121
|
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
108
122
|
style: [thumbStyle, {
|
|
109
123
|
width: thumbSize,
|
|
110
|
-
height: thumbSize
|
|
124
|
+
height: thumbSize,
|
|
125
|
+
borderRadius: thumbSize / 2,
|
|
126
|
+
backgroundColor: thumbBackgroundColor
|
|
111
127
|
}],
|
|
112
|
-
children: /*#__PURE__*/
|
|
113
|
-
className:
|
|
114
|
-
children:
|
|
115
|
-
|
|
116
|
-
}) : null
|
|
117
|
-
})
|
|
128
|
+
children: hasIcons ? /*#__PURE__*/_jsxs(View, {
|
|
129
|
+
className: "flex-1 items-center justify-center",
|
|
130
|
+
children: [isChecked && checkedIcon, !isChecked && uncheckedIcon]
|
|
131
|
+
}) : null
|
|
118
132
|
})
|
|
119
133
|
})
|
|
120
134
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useEffect","View","SwitchPrimitive","Animated","useSharedValue","useAnimatedStyle","withTiming","Easing","cva","cn","
|
|
1
|
+
{"version":3,"names":["useState","useEffect","View","SwitchPrimitive","Animated","useSharedValue","useAnimatedStyle","withTiming","Easing","cva","cn","useThemeColor","jsxs","_jsxs","jsx","_jsx","THUMB_SIZES","sm","md","lg","THUMB_TRANSLATE","SWITCH_DIMENSIONS","width","height","switchVariants","variants","variant","regular","size","defaultVariants","Switch","className","checkedIcon","uncheckedIcon","checked","defaultChecked","onCheckedChange","disabled","style","props","resolvedSize","dimensions","internalChecked","setInternalChecked","isControlled","undefined","isChecked","trackOn","trackOff","trackDisabled","trackBorder","thumbOn","thumbOff","thumbDisabled","translateX","value","duration","easing","out","ease","thumbStyle","transform","hasIcons","Boolean","thumbSize","handleCheckedChange","nextChecked","trackBackgroundColor","trackBorderColor","thumbBackgroundColor","rootStyle","minWidth","minHeight","borderRadius","borderWidth","alignItems","justifyContent","backgroundColor","borderColor","Root","state","children","Thumb","asChild"],"sourceRoot":"../../../src","sources":["components/Switch.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createContext, useContext } from "react";
|
|
4
|
+
import { Pressable, View } from "react-native";
|
|
5
|
+
import { Text } from "@/components/Text";
|
|
6
|
+
import * as TabsPrimitive from "@rn-primitives/tabs";
|
|
7
|
+
import { cva } from "class-variance-authority";
|
|
8
|
+
import { cn } from "@/lib/utils";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
const TabsVariantContext = /*#__PURE__*/createContext("pill");
|
|
11
|
+
function useTabsVariant() {
|
|
12
|
+
return useContext(TabsVariantContext);
|
|
13
|
+
}
|
|
14
|
+
const tabsTriggerVariants = cva("min-h-12 flex-row items-center justify-center rounded-pill px-4", {
|
|
15
|
+
variants: {
|
|
16
|
+
active: {
|
|
17
|
+
true: "bg-primary-background-fill",
|
|
18
|
+
false: "bg-transparent"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
defaultVariants: {
|
|
22
|
+
active: false
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const tabsTriggerTextVariants = cva("text-sm font-semibold", {
|
|
26
|
+
variants: {
|
|
27
|
+
active: {
|
|
28
|
+
true: "text-primary-foreground-onfill",
|
|
29
|
+
false: "text-primary-foreground"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
defaultVariants: {
|
|
33
|
+
active: false
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
function Tabs({
|
|
37
|
+
className,
|
|
38
|
+
children,
|
|
39
|
+
variant = "pill",
|
|
40
|
+
...props
|
|
41
|
+
}) {
|
|
42
|
+
return /*#__PURE__*/_jsx(TabsVariantContext.Provider, {
|
|
43
|
+
value: variant,
|
|
44
|
+
children: /*#__PURE__*/_jsx(TabsPrimitive.Root, {
|
|
45
|
+
asChild: true,
|
|
46
|
+
...props,
|
|
47
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
48
|
+
className: cn(variant === "filter" ? "gap-8" : "gap-2", className),
|
|
49
|
+
children: children
|
|
50
|
+
})
|
|
51
|
+
})
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function TabsList({
|
|
55
|
+
className,
|
|
56
|
+
children,
|
|
57
|
+
...props
|
|
58
|
+
}) {
|
|
59
|
+
const variant = useTabsVariant();
|
|
60
|
+
if (variant === "filter") {
|
|
61
|
+
return /*#__PURE__*/_jsx(View, {
|
|
62
|
+
className: "rounded-lg border border-gray-stroke-muted bg-surface-section px-6 py-1",
|
|
63
|
+
children: /*#__PURE__*/_jsx(TabsPrimitive.List, {
|
|
64
|
+
asChild: true,
|
|
65
|
+
...props,
|
|
66
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
67
|
+
className: cn("w-full flex-row items-center", className),
|
|
68
|
+
children: children
|
|
69
|
+
})
|
|
70
|
+
})
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return /*#__PURE__*/_jsx(TabsPrimitive.List, {
|
|
74
|
+
asChild: true,
|
|
75
|
+
...props,
|
|
76
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
77
|
+
className: cn("flex-row items-center gap-2", className),
|
|
78
|
+
children: children
|
|
79
|
+
})
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function TabsTrigger({
|
|
83
|
+
className,
|
|
84
|
+
children,
|
|
85
|
+
icon,
|
|
86
|
+
value,
|
|
87
|
+
...props
|
|
88
|
+
}) {
|
|
89
|
+
const variant = useTabsVariant();
|
|
90
|
+
const {
|
|
91
|
+
value: activeValue
|
|
92
|
+
} = TabsPrimitive.useRootContext();
|
|
93
|
+
const isActive = activeValue === value;
|
|
94
|
+
if (variant === "filter") {
|
|
95
|
+
const hasLabel = typeof children === "string" && children.length > 0;
|
|
96
|
+
const showLabel = isActive && hasLabel;
|
|
97
|
+
return /*#__PURE__*/_jsx(TabsPrimitive.Trigger, {
|
|
98
|
+
asChild: true,
|
|
99
|
+
value: value,
|
|
100
|
+
...props,
|
|
101
|
+
children: /*#__PURE__*/_jsxs(Pressable, {
|
|
102
|
+
className: cn("relative min-h-12 flex-1 flex-row items-center justify-center gap-3 py-3", className),
|
|
103
|
+
children: [icon ? /*#__PURE__*/_jsx(View, {
|
|
104
|
+
className: "size-6 shrink-0",
|
|
105
|
+
children: icon
|
|
106
|
+
}) : null, showLabel ? /*#__PURE__*/_jsx(Text, {
|
|
107
|
+
className: "text-md font-semibold text-primary-foreground",
|
|
108
|
+
children: children
|
|
109
|
+
}) : !hasLabel ? children : null, isActive ? /*#__PURE__*/_jsx(View, {
|
|
110
|
+
className: "absolute -bottom-1 left-0 right-0 h-0.5 rounded-t-pill bg-secondary-stroke-emphasis"
|
|
111
|
+
}) : null]
|
|
112
|
+
})
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
return /*#__PURE__*/_jsx(TabsPrimitive.Trigger, {
|
|
116
|
+
asChild: true,
|
|
117
|
+
value: value,
|
|
118
|
+
...props,
|
|
119
|
+
children: /*#__PURE__*/_jsx(Pressable, {
|
|
120
|
+
className: cn(tabsTriggerVariants({
|
|
121
|
+
active: isActive
|
|
122
|
+
}), className),
|
|
123
|
+
children: typeof children === "string" ? /*#__PURE__*/_jsx(Text, {
|
|
124
|
+
className: cn(tabsTriggerTextVariants({
|
|
125
|
+
active: isActive
|
|
126
|
+
})),
|
|
127
|
+
children: children
|
|
128
|
+
}) : children
|
|
129
|
+
})
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
function TabsContent({
|
|
133
|
+
className,
|
|
134
|
+
children,
|
|
135
|
+
...props
|
|
136
|
+
}) {
|
|
137
|
+
const variant = useTabsVariant();
|
|
138
|
+
return /*#__PURE__*/_jsx(TabsPrimitive.Content, {
|
|
139
|
+
asChild: true,
|
|
140
|
+
...props,
|
|
141
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
142
|
+
className: cn(variant === "filter" ? "gap-8" : "pt-2", className),
|
|
143
|
+
children: children
|
|
144
|
+
})
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
export { Tabs, TabsContent, TabsList, TabsTrigger, tabsTriggerVariants };
|
|
148
|
+
//# sourceMappingURL=Tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useContext","Pressable","View","Text","TabsPrimitive","cva","cn","jsx","_jsx","jsxs","_jsxs","TabsVariantContext","useTabsVariant","tabsTriggerVariants","variants","active","true","false","defaultVariants","tabsTriggerTextVariants","Tabs","className","children","variant","props","Provider","value","Root","asChild","TabsList","List","TabsTrigger","icon","activeValue","useRootContext","isActive","hasLabel","length","showLabel","Trigger","TabsContent","Content"],"sourceRoot":"../../../src","sources":["components/Tabs.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { View
|
|
3
|
+
import { View } from "react-native";
|
|
4
|
+
import { Text } from "@/components/Text";
|
|
4
5
|
import { cva } from "class-variance-authority";
|
|
5
6
|
import { cn } from "@/lib/utils";
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Text","cva","cn","jsx","_jsx","jsxs","_jsxs","tagVariants","variants","variant","regular","emphasis","gray","success","error","warning","cm","go","cir","ped","prev","ia","defaultVariants","tagTextVariants","TagIcon","icon","className","children","Tag","props"],"sourceRoot":"../../../src","sources":["components/Tag.tsx"],"mappings":";;AACA,SAASA,IAAI,
|
|
1
|
+
{"version":3,"names":["View","Text","cva","cn","jsx","_jsx","jsxs","_jsxs","tagVariants","variants","variant","regular","emphasis","gray","success","error","warning","cm","go","cir","ped","prev","ia","defaultVariants","tagTextVariants","TagIcon","icon","className","children","Tag","props"],"sourceRoot":"../../../src","sources":["components/Tag.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { Text as RNText } from 'react-native';
|
|
5
|
+
import { cn } from '@/lib/utils';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Maps Medway UI token weight class names → expo-font family keys.
|
|
9
|
+
* RN cannot pick a weight inside a single "Montserrat" family the way the web does.
|
|
10
|
+
*/
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
const FONT_BY_WEIGHT_CLASS = {
|
|
13
|
+
'font-thin': 'MontserratLight',
|
|
14
|
+
'font-extralight': 'MontserratLight',
|
|
15
|
+
'font-light': 'MontserratLight',
|
|
16
|
+
'font-normal': 'Montserrat',
|
|
17
|
+
'font-regular': 'Montserrat',
|
|
18
|
+
'font-medium': 'MontserratMedium',
|
|
19
|
+
'font-semibold': 'MontserratSemiBold',
|
|
20
|
+
'font-bold': 'MontserratBold',
|
|
21
|
+
'font-extrabold': 'MontserratExtraBold',
|
|
22
|
+
'font-black': 'MontserratBlack'
|
|
23
|
+
};
|
|
24
|
+
function resolveMontserratFamily(className) {
|
|
25
|
+
if (!className) {
|
|
26
|
+
return 'Montserrat';
|
|
27
|
+
}
|
|
28
|
+
const tokens = className.split(/\s+/);
|
|
29
|
+
for (let i = tokens.length - 1; i >= 0; i -= 1) {
|
|
30
|
+
const family = FONT_BY_WEIGHT_CLASS[tokens[i]];
|
|
31
|
+
if (family) {
|
|
32
|
+
return family;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return 'Montserrat';
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* NativeWind Text that always applies the Montserrat file for the token weight
|
|
39
|
+
* class (font-medium → MontserratMedium, etc.). Last style entry wins over
|
|
40
|
+
* className-derived styles so RN actually loads the correct TTF.
|
|
41
|
+
*/
|
|
42
|
+
const Text = /*#__PURE__*/forwardRef(function Text({
|
|
43
|
+
className,
|
|
44
|
+
style,
|
|
45
|
+
...props
|
|
46
|
+
}, ref) {
|
|
47
|
+
const fontFamily = resolveMontserratFamily(className);
|
|
48
|
+
return /*#__PURE__*/_jsx(RNText, {
|
|
49
|
+
ref: ref,
|
|
50
|
+
className: cn(className),
|
|
51
|
+
style: [style, {
|
|
52
|
+
fontFamily
|
|
53
|
+
}],
|
|
54
|
+
...props
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
export { Text, resolveMontserratFamily, FONT_BY_WEIGHT_CLASS };
|
|
58
|
+
//# sourceMappingURL=Text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","Text","RNText","cn","jsx","_jsx","FONT_BY_WEIGHT_CLASS","resolveMontserratFamily","className","tokens","split","i","length","family","style","props","ref","fontFamily"],"sourceRoot":"../../../src","sources":["components/Text.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAA6B,OAAO;AACvD,SAASC,IAAI,IAAIC,MAAM,QAAuC,cAAc;AAE5E,SAASC,EAAE,QAAQ,aAAa;;AAEhC;AACA;AACA;AACA;AAHA,SAAAC,GAAA,IAAAC,IAAA;AAIA,MAAMC,oBAA4C,GAAG;EACnD,WAAW,EAAE,iBAAiB;EAC9B,iBAAiB,EAAE,iBAAiB;EACpC,YAAY,EAAE,iBAAiB;EAC/B,aAAa,EAAE,YAAY;EAC3B,cAAc,EAAE,YAAY;EAC5B,aAAa,EAAE,kBAAkB;EACjC,eAAe,EAAE,oBAAoB;EACrC,WAAW,EAAE,gBAAgB;EAC7B,gBAAgB,EAAE,qBAAqB;EACvC,YAAY,EAAE;AAChB,CAAC;AAED,SAASC,uBAAuBA,CAACC,SAAkB,EAAU;EAC3D,IAAI,CAACA,SAAS,EAAE;IACd,OAAO,YAAY;EACrB;EAEA,MAAMC,MAAM,GAAGD,SAAS,CAACE,KAAK,CAAC,KAAK,CAAC;EACrC,KAAK,IAAIC,CAAC,GAAGF,MAAM,CAACG,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,IAAI,CAAC,EAAE;IAC9C,MAAME,MAAM,GAAGP,oBAAoB,CAACG,MAAM,CAACE,CAAC,CAAC,CAAC;IAC9C,IAAIE,MAAM,EAAE;MACV,OAAOA,MAAM;IACf;EACF;EAEA,OAAO,YAAY;AACrB;AAMA;AACA;AACA;AACA;AACA;AACA,MAAMZ,IAAI,gBAAGD,UAAU,CAAoB,SAASC,IAAIA,CACtD;EAAEO,SAAS;EAAEM,KAAK;EAAE,GAAGC;AAAM,CAAC,EAC9BC,GAAG,EACH;EACA,MAAMC,UAAU,GAAGV,uBAAuB,CAACC,SAAS,CAAC;EAErD,oBACEH,IAAA,CAACH,MAAM;IACLc,GAAG,EAAEA,GAAI;IACTR,SAAS,EAAEL,EAAE,CAACK,SAAS,CAAE;IACzBM,KAAK,EAAE,CAACA,KAAK,EAAE;MAAEG;IAAW,CAAC,CAAE;IAAA,GAC3BF;EAAK,CACV,CAAC;AAEN,CAAC,CAAC;AAEF,SAASd,IAAI,EAAEM,uBAAuB,EAAED,oBAAoB","ignoreList":[]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useState, useEffect } from "react";
|
|
4
|
-
import { View,
|
|
4
|
+
import { View, Pressable } from "react-native";
|
|
5
|
+
import { Text } from "@/components/Text";
|
|
5
6
|
import { cva } from "class-variance-authority";
|
|
6
7
|
import Animated, { useSharedValue, useAnimatedStyle, withTiming, withDelay, runOnJS } from "react-native-reanimated";
|
|
7
8
|
import { cn } from "@/lib/utils";
|