@campxdev/react-native-blueprint 0.1.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/LICENSE +20 -0
- package/README.md +358 -0
- package/lib/module/app/_layout.js +23 -0
- package/lib/module/app/_layout.js.map +1 -0
- package/lib/module/assets/icons/weather_icons/drizzle.png +0 -0
- package/lib/module/assets/icons/weather_icons/foggy.png +0 -0
- package/lib/module/assets/icons/weather_icons/freezing_rain.png +0 -0
- package/lib/module/assets/icons/weather_icons/partly_cloudy.png +0 -0
- package/lib/module/assets/icons/weather_icons/rainy.png +0 -0
- package/lib/module/assets/icons/weather_icons/showers.png +0 -0
- package/lib/module/assets/icons/weather_icons/sunny_weather.png +0 -0
- package/lib/module/assets/icons/weather_icons/thunderstorm.png +0 -0
- package/lib/module/assets/icons/weather_icons/thunderstorm_hail.png +0 -0
- package/lib/module/components/theme-config.js +265 -0
- package/lib/module/components/theme-config.js.map +1 -0
- package/lib/module/components/ui/Accordion.js +228 -0
- package/lib/module/components/ui/Accordion.js.map +1 -0
- package/lib/module/components/ui/Alert-Dialog.js +266 -0
- package/lib/module/components/ui/Alert-Dialog.js.map +1 -0
- package/lib/module/components/ui/Alert.js +107 -0
- package/lib/module/components/ui/Alert.js.map +1 -0
- package/lib/module/components/ui/AppBar.js +403 -0
- package/lib/module/components/ui/AppBar.js.map +1 -0
- package/lib/module/components/ui/Aspect-Ratio.js +27 -0
- package/lib/module/components/ui/Aspect-Ratio.js.map +1 -0
- package/lib/module/components/ui/Avatar.js +97 -0
- package/lib/module/components/ui/Avatar.js.map +1 -0
- package/lib/module/components/ui/Badge.js +127 -0
- package/lib/module/components/ui/Badge.js.map +1 -0
- package/lib/module/components/ui/Bottom-Sheet.js +144 -0
- package/lib/module/components/ui/Bottom-Sheet.js.map +1 -0
- package/lib/module/components/ui/Button.js +88 -0
- package/lib/module/components/ui/Button.js.map +1 -0
- package/lib/module/components/ui/Card.js +176 -0
- package/lib/module/components/ui/Card.js.map +1 -0
- package/lib/module/components/ui/Checkbox.js +65 -0
- package/lib/module/components/ui/Checkbox.js.map +1 -0
- package/lib/module/components/ui/Collapsible.js +42 -0
- package/lib/module/components/ui/Collapsible.js.map +1 -0
- package/lib/module/components/ui/Context-Menu.js +287 -0
- package/lib/module/components/ui/Context-Menu.js.map +1 -0
- package/lib/module/components/ui/Custom-Card.js +202 -0
- package/lib/module/components/ui/Custom-Card.js.map +1 -0
- package/lib/module/components/ui/Dialog.js +202 -0
- package/lib/module/components/ui/Dialog.js.map +1 -0
- package/lib/module/components/ui/Dropdown-Menu.js +421 -0
- package/lib/module/components/ui/Dropdown-Menu.js.map +1 -0
- package/lib/module/components/ui/Floating-Action.js +50 -0
- package/lib/module/components/ui/Floating-Action.js.map +1 -0
- package/lib/module/components/ui/Greeting-Card.js +392 -0
- package/lib/module/components/ui/Greeting-Card.js.map +1 -0
- package/lib/module/components/ui/Hover-Card.js +96 -0
- package/lib/module/components/ui/Hover-Card.js.map +1 -0
- package/lib/module/components/ui/Icon.js +73 -0
- package/lib/module/components/ui/Icon.js.map +1 -0
- package/lib/module/components/ui/Input.js +74 -0
- package/lib/module/components/ui/Input.js.map +1 -0
- package/lib/module/components/ui/Label.js +44 -0
- package/lib/module/components/ui/Label.js.map +1 -0
- package/lib/module/components/ui/Menubar.js +375 -0
- package/lib/module/components/ui/Menubar.js.map +1 -0
- package/lib/module/components/ui/Native-Only-Animated-View.js +41 -0
- package/lib/module/components/ui/Native-Only-Animated-View.js.map +1 -0
- package/lib/module/components/ui/NavBar.js +352 -0
- package/lib/module/components/ui/NavBar.js.map +1 -0
- package/lib/module/components/ui/Popover.js +101 -0
- package/lib/module/components/ui/Popover.js.map +1 -0
- package/lib/module/components/ui/Progress.js +124 -0
- package/lib/module/components/ui/Progress.js.map +1 -0
- package/lib/module/components/ui/Radio-Group.js +75 -0
- package/lib/module/components/ui/Radio-Group.js.map +1 -0
- package/lib/module/components/ui/Select.js +269 -0
- package/lib/module/components/ui/Select.js.map +1 -0
- package/lib/module/components/ui/Separator.js +58 -0
- package/lib/module/components/ui/Separator.js.map +1 -0
- package/lib/module/components/ui/SizedBox.js +101 -0
- package/lib/module/components/ui/SizedBox.js.map +1 -0
- package/lib/module/components/ui/Skeleton.js +57 -0
- package/lib/module/components/ui/Skeleton.js.map +1 -0
- package/lib/module/components/ui/Slider.js +169 -0
- package/lib/module/components/ui/Slider.js.map +1 -0
- package/lib/module/components/ui/Switch.js +55 -0
- package/lib/module/components/ui/Switch.js.map +1 -0
- package/lib/module/components/ui/Table.js +150 -0
- package/lib/module/components/ui/Table.js.map +1 -0
- package/lib/module/components/ui/Tabs.js +106 -0
- package/lib/module/components/ui/Tabs.js.map +1 -0
- package/lib/module/components/ui/Text.js +69 -0
- package/lib/module/components/ui/Text.js.map +1 -0
- package/lib/module/components/ui/Textarea.js +88 -0
- package/lib/module/components/ui/Textarea.js.map +1 -0
- package/lib/module/components/ui/Theme-Toggle.js +156 -0
- package/lib/module/components/ui/Theme-Toggle.js.map +1 -0
- package/lib/module/components/ui/Toast.js +101 -0
- package/lib/module/components/ui/Toast.js.map +1 -0
- package/lib/module/components/ui/Toggle-Group.js +129 -0
- package/lib/module/components/ui/Toggle-Group.js.map +1 -0
- package/lib/module/components/ui/Toggle.js +106 -0
- package/lib/module/components/ui/Toggle.js.map +1 -0
- package/lib/module/components/ui/Tooltip.js +106 -0
- package/lib/module/components/ui/Tooltip.js.map +1 -0
- package/lib/module/components/ui/index.js +45 -0
- package/lib/module/components/ui/index.js.map +1 -0
- package/lib/module/index.js +19 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/lib/ThemeProvider.js +173 -0
- package/lib/module/lib/ThemeProvider.js.map +1 -0
- package/lib/module/lib/cornerRadius.js +164 -0
- package/lib/module/lib/cornerRadius.js.map +1 -0
- package/lib/module/lib/fonts.js +25 -0
- package/lib/module/lib/fonts.js.map +1 -0
- package/lib/module/lib/theme.js +212 -0
- package/lib/module/lib/theme.js.map +1 -0
- package/lib/module/lib/utils.js +137 -0
- package/lib/module/lib/utils.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/package.json +208 -0
- package/src/app/_layout.tsx +25 -0
- package/src/assets/icons/weather_icons/drizzle.png +0 -0
- package/src/assets/icons/weather_icons/foggy.png +0 -0
- package/src/assets/icons/weather_icons/freezing_rain.png +0 -0
- package/src/assets/icons/weather_icons/partly_cloudy.png +0 -0
- package/src/assets/icons/weather_icons/rainy.png +0 -0
- package/src/assets/icons/weather_icons/showers.png +0 -0
- package/src/assets/icons/weather_icons/sunny_weather.png +0 -0
- package/src/assets/icons/weather_icons/thunderstorm.png +0 -0
- package/src/assets/icons/weather_icons/thunderstorm_hail.png +0 -0
- package/src/components/theme-config.ts +331 -0
- package/src/components/ui/Accordion.tsx +253 -0
- package/src/components/ui/Alert-Dialog.tsx +295 -0
- package/src/components/ui/Alert.tsx +137 -0
- package/src/components/ui/AppBar.tsx +551 -0
- package/src/components/ui/Aspect-Ratio.tsx +25 -0
- package/src/components/ui/Avatar.tsx +103 -0
- package/src/components/ui/Badge.tsx +121 -0
- package/src/components/ui/Bottom-Sheet.tsx +224 -0
- package/src/components/ui/Button.tsx +100 -0
- package/src/components/ui/Card.tsx +185 -0
- package/src/components/ui/Checkbox.tsx +81 -0
- package/src/components/ui/Collapsible.tsx +40 -0
- package/src/components/ui/Context-Menu.tsx +407 -0
- package/src/components/ui/Custom-Card.tsx +226 -0
- package/src/components/ui/Dialog.tsx +240 -0
- package/src/components/ui/Dropdown-Menu.tsx +544 -0
- package/src/components/ui/Floating-Action.tsx +54 -0
- package/src/components/ui/Greeting-Card.tsx +471 -0
- package/src/components/ui/Hover-Card.tsx +101 -0
- package/src/components/ui/Icon.tsx +75 -0
- package/src/components/ui/Input.tsx +90 -0
- package/src/components/ui/Label.tsx +48 -0
- package/src/components/ui/Menubar.tsx +509 -0
- package/src/components/ui/Native-Only-Animated-View.tsx +37 -0
- package/src/components/ui/NavBar.tsx +397 -0
- package/src/components/ui/Popover.tsx +110 -0
- package/src/components/ui/Progress.tsx +138 -0
- package/src/components/ui/Radio-Group.tsx +79 -0
- package/src/components/ui/Select.tsx +344 -0
- package/src/components/ui/Separator.tsx +68 -0
- package/src/components/ui/SizedBox.tsx +116 -0
- package/src/components/ui/Skeleton.tsx +55 -0
- package/src/components/ui/Slider.tsx +222 -0
- package/src/components/ui/Switch.tsx +67 -0
- package/src/components/ui/Table.tsx +170 -0
- package/src/components/ui/Tabs.tsx +119 -0
- package/src/components/ui/Text.tsx +73 -0
- package/src/components/ui/Textarea.tsx +93 -0
- package/src/components/ui/Theme-Toggle.tsx +204 -0
- package/src/components/ui/Toast.tsx +127 -0
- package/src/components/ui/Toggle-Group.tsx +160 -0
- package/src/components/ui/Toggle.tsx +122 -0
- package/src/components/ui/Tooltip.tsx +117 -0
- package/src/components/ui/index.ts +42 -0
- package/src/index.tsx +24 -0
- package/src/lib/ThemeProvider.tsx +204 -0
- package/src/lib/cornerRadius.ts +160 -0
- package/src/lib/fonts.ts +28 -0
- package/src/lib/theme.ts +151 -0
- package/src/lib/utils.ts +146 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { Text, TextClassContext } from "./Text.js";
|
|
5
|
+
import { Icon } from "./Icon.js";
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import { View } from 'react-native';
|
|
8
|
+
import { cssInterop } from 'nativewind';
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
cssInterop(View, {
|
|
11
|
+
className: 'style'
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Toast notification component
|
|
16
|
+
*
|
|
17
|
+
* Displays temporary messages or notifications with optional icons.
|
|
18
|
+
* Supports default and destructive variants for different message types.
|
|
19
|
+
*
|
|
20
|
+
* @component
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* <Toast icon={CheckCircle}>
|
|
24
|
+
* <ToastTitle>
|
|
25
|
+
* <Text>Success</Text>
|
|
26
|
+
* </ToastTitle>
|
|
27
|
+
* <ToastDescription>
|
|
28
|
+
* <Text>Your changes have been saved</Text>
|
|
29
|
+
* </ToastDescription>
|
|
30
|
+
* </Toast>
|
|
31
|
+
*
|
|
32
|
+
* <Toast variant="destructive" icon={AlertCircle}>
|
|
33
|
+
* <ToastTitle>
|
|
34
|
+
* <Text>Error</Text>
|
|
35
|
+
* </ToastTitle>
|
|
36
|
+
* <ToastDescription>
|
|
37
|
+
* <Text>Failed to save changes</Text>
|
|
38
|
+
* </ToastDescription>
|
|
39
|
+
* </Toast>
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @accessibility
|
|
43
|
+
* - Announces messages to screen readers
|
|
44
|
+
* - Proper role for notifications
|
|
45
|
+
*/
|
|
46
|
+
function Toast({
|
|
47
|
+
className,
|
|
48
|
+
variant,
|
|
49
|
+
children,
|
|
50
|
+
icon,
|
|
51
|
+
iconClassName,
|
|
52
|
+
...props
|
|
53
|
+
}) {
|
|
54
|
+
return /*#__PURE__*/_jsx(TextClassContext.Provider, {
|
|
55
|
+
value: cn('text-sm text-foreground', variant === 'destructive' && 'text-destructive', className),
|
|
56
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
57
|
+
className: cn('bg-background border-border relative flex-row items-start gap-3 rounded-lg border p-4 shadow-lg shadow-black/10', variant === 'destructive' && 'border-destructive', className),
|
|
58
|
+
...props,
|
|
59
|
+
children: [icon && /*#__PURE__*/_jsx(Icon, {
|
|
60
|
+
as: icon,
|
|
61
|
+
className: cn('size-5 shrink-0', variant === 'destructive' && 'text-destructive', iconClassName)
|
|
62
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
63
|
+
className: "flex-1 gap-1",
|
|
64
|
+
children: children
|
|
65
|
+
})]
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Toast title component
|
|
72
|
+
*
|
|
73
|
+
* @component
|
|
74
|
+
*/
|
|
75
|
+
function ToastTitle({
|
|
76
|
+
className,
|
|
77
|
+
...props
|
|
78
|
+
}) {
|
|
79
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
80
|
+
className: cn('font-semibold leading-none tracking-tight', className),
|
|
81
|
+
...props
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Toast description component
|
|
87
|
+
*
|
|
88
|
+
* @component
|
|
89
|
+
*/
|
|
90
|
+
function ToastDescription({
|
|
91
|
+
className,
|
|
92
|
+
...props
|
|
93
|
+
}) {
|
|
94
|
+
const textClass = React.useContext(TextClassContext);
|
|
95
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
96
|
+
className: cn('text-muted-foreground text-sm', textClass?.includes('text-destructive') && 'text-destructive/90', className),
|
|
97
|
+
...props
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
export { Toast, ToastDescription, ToastTitle };
|
|
101
|
+
//# sourceMappingURL=Toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["cn","Text","TextClassContext","Icon","React","View","cssInterop","jsx","_jsx","jsxs","_jsxs","className","Toast","variant","children","icon","iconClassName","props","Provider","value","as","ToastTitle","ToastDescription","textClass","useContext","includes"],"sourceRoot":"../../../../src","sources":["components/ui/Toast.tsx"],"mappings":";;AAAA,SAASA,EAAE,QAAQ,oBAAiB;AACpC,SAASC,IAAI,EAAEC,gBAAgB,QAAQ,WAAQ;AAC/C,SAASC,IAAI,QAAQ,WAAQ;AAE7B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAwB,cAAc;AACnD,SAASC,UAAU,QAAQ,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAExCJ,UAAU,CAACD,IAAI,EAAE;EAAEM,SAAS,EAAE;AAAQ,CAAC,CAAC;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,KAAKA,CAAC;EACbD,SAAS;EACTE,OAAO;EACPC,QAAQ;EACRC,IAAI;EACJC,aAAa;EACb,GAAGC;AAMH,CAAC,EAAE;EACH,oBACET,IAAA,CAACN,gBAAgB,CAACgB,QAAQ;IACxBC,KAAK,EAAEnB,EAAE,CACP,yBAAyB,EACzBa,OAAO,KAAK,aAAa,IAAI,kBAAkB,EAC/CF,SACF,CAAE;IAAAG,QAAA,eAEFJ,KAAA,CAACL,IAAI;MACHM,SAAS,EAAEX,EAAE,CACX,iHAAiH,EACjHa,OAAO,KAAK,aAAa,IAAI,oBAAoB,EACjDF,SACF,CAAE;MAAA,GACEM,KAAK;MAAAH,QAAA,GAERC,IAAI,iBACHP,IAAA,CAACL,IAAI;QACHiB,EAAE,EAAEL,IAAK;QACTJ,SAAS,EAAEX,EAAE,CACX,iBAAiB,EACjBa,OAAO,KAAK,aAAa,IAAI,kBAAkB,EAC/CG,aACF;MAAE,CACH,CACF,eACDR,IAAA,CAACH,IAAI;QAACM,SAAS,EAAC,cAAc;QAAAG,QAAA,EAAEA;MAAQ,CAAO,CAAC;IAAA,CAC5C;EAAC,CACkB,CAAC;AAEhC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASO,UAAUA,CAAC;EAClBV,SAAS;EACT,GAAGM;AAC0D,CAAC,EAAE;EAChE,oBACET,IAAA,CAACP,IAAI;IACHU,SAAS,EAAEX,EAAE,CAAC,2CAA2C,EAAEW,SAAS,CAAE;IAAA,GAClEM;EAAK,CACV,CAAC;AAEN;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASK,gBAAgBA,CAAC;EACxBX,SAAS;EACT,GAAGM;AAC0D,CAAC,EAAE;EAChE,MAAMM,SAAS,GAAGnB,KAAK,CAACoB,UAAU,CAACtB,gBAAgB,CAAC;EACpD,oBACEM,IAAA,CAACP,IAAI;IACHU,SAAS,EAAEX,EAAE,CACX,+BAA+B,EAC/BuB,SAAS,EAAEE,QAAQ,CAAC,kBAAkB,CAAC,IAAI,qBAAqB,EAChEd,SACF,CAAE;IAAA,GACEM;EAAK,CACV,CAAC;AAEN;AAEA,SAASL,KAAK,EAAEU,gBAAgB,EAAED,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Icon } from "./Icon.js";
|
|
4
|
+
import { TextClassContext } from "./Text.js";
|
|
5
|
+
import { toggleVariants } from "./Toggle.js";
|
|
6
|
+
import { cn } from "../../lib/utils.js";
|
|
7
|
+
import * as ToggleGroupPrimitive from '@rn-primitives/toggle-group';
|
|
8
|
+
import * as React from 'react';
|
|
9
|
+
import { Platform } from 'react-native';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Context for sharing variant and size props across toggle group items
|
|
13
|
+
*/
|
|
14
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
+
const ToggleGroupContext = /*#__PURE__*/React.createContext(null);
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Toggle group component for grouping related toggle buttons
|
|
19
|
+
*
|
|
20
|
+
* Allows single or multiple selection among a set of toggle buttons.
|
|
21
|
+
* Supports both outline and default variants.
|
|
22
|
+
*
|
|
23
|
+
* @component
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* <ToggleGroup type="single" value={alignment} onValueChange={setAlignment}>
|
|
27
|
+
* <ToggleGroupItem value="left" isFirst>
|
|
28
|
+
* <ToggleGroupIcon as={AlignLeft} />
|
|
29
|
+
* </ToggleGroupItem>
|
|
30
|
+
* <ToggleGroupItem value="center">
|
|
31
|
+
* <ToggleGroupIcon as={AlignCenter} />
|
|
32
|
+
* </ToggleGroupItem>
|
|
33
|
+
* <ToggleGroupItem value="right" isLast>
|
|
34
|
+
* <ToggleGroupIcon as={AlignRight} />
|
|
35
|
+
* </ToggleGroupItem>
|
|
36
|
+
* </ToggleGroup>
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @accessibility
|
|
40
|
+
* - Uses proper ARIA attributes for grouped toggles
|
|
41
|
+
* - Keyboard navigation support
|
|
42
|
+
*/
|
|
43
|
+
function ToggleGroup({
|
|
44
|
+
className,
|
|
45
|
+
variant,
|
|
46
|
+
size,
|
|
47
|
+
children,
|
|
48
|
+
...props
|
|
49
|
+
}) {
|
|
50
|
+
return /*#__PURE__*/_jsx(ToggleGroupPrimitive.Root, {
|
|
51
|
+
className: cn('flex flex-row items-center rounded-md shadow-none', Platform.select({
|
|
52
|
+
web: 'w-fit'
|
|
53
|
+
}), variant === 'outline' && 'shadow-sm shadow-black/5', className),
|
|
54
|
+
...props,
|
|
55
|
+
children: /*#__PURE__*/_jsx(ToggleGroupContext.Provider, {
|
|
56
|
+
value: {
|
|
57
|
+
variant,
|
|
58
|
+
size
|
|
59
|
+
},
|
|
60
|
+
children: children
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Hook to access toggle group context
|
|
67
|
+
*
|
|
68
|
+
* @throws Error if used outside of ToggleGroup component
|
|
69
|
+
*/
|
|
70
|
+
function useToggleGroupContext() {
|
|
71
|
+
const context = React.useContext(ToggleGroupContext);
|
|
72
|
+
if (context === null) {
|
|
73
|
+
throw new Error('ToggleGroup compound components cannot be rendered outside the ToggleGroup component');
|
|
74
|
+
}
|
|
75
|
+
return context;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Individual toggle item within a toggle group
|
|
80
|
+
*
|
|
81
|
+
* @component
|
|
82
|
+
*/
|
|
83
|
+
function ToggleGroupItem({
|
|
84
|
+
className,
|
|
85
|
+
children,
|
|
86
|
+
variant,
|
|
87
|
+
size,
|
|
88
|
+
isFirst,
|
|
89
|
+
isLast,
|
|
90
|
+
...props
|
|
91
|
+
}) {
|
|
92
|
+
const context = useToggleGroupContext();
|
|
93
|
+
const {
|
|
94
|
+
value
|
|
95
|
+
} = ToggleGroupPrimitive.useRootContext();
|
|
96
|
+
return /*#__PURE__*/_jsx(TextClassContext.Provider, {
|
|
97
|
+
value: cn('text-sm text-foreground font-medium', ToggleGroupPrimitive.utils.getIsSelected(value, props.value) ? 'text-accent-foreground' : Platform.select({
|
|
98
|
+
web: 'group-hover:text-muted-foreground'
|
|
99
|
+
})),
|
|
100
|
+
children: /*#__PURE__*/_jsx(ToggleGroupPrimitive.Item, {
|
|
101
|
+
className: cn(toggleVariants({
|
|
102
|
+
variant: context.variant || variant,
|
|
103
|
+
size: context.size || size
|
|
104
|
+
}), props.disabled && 'opacity-50', ToggleGroupPrimitive.utils.getIsSelected(value, props.value) && 'bg-accent', 'min-w-0 shrink-0 rounded-none shadow-none', isFirst && 'rounded-l-md', isLast && 'rounded-r-md', (context.variant === 'outline' || variant === 'outline') && 'border-l-0', (context.variant === 'outline' || variant === 'outline') && isFirst && 'border-l', Platform.select({
|
|
105
|
+
web: 'flex-1 focus:z-10 focus-visible:z-10'
|
|
106
|
+
}), className),
|
|
107
|
+
...props,
|
|
108
|
+
children: children
|
|
109
|
+
})
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Icon component for use within toggle group items
|
|
115
|
+
*
|
|
116
|
+
* @component
|
|
117
|
+
*/
|
|
118
|
+
function ToggleGroupIcon({
|
|
119
|
+
className,
|
|
120
|
+
...props
|
|
121
|
+
}) {
|
|
122
|
+
const textClass = React.useContext(TextClassContext);
|
|
123
|
+
return /*#__PURE__*/_jsx(Icon, {
|
|
124
|
+
className: cn('size-4 shrink-0', textClass, className),
|
|
125
|
+
...props
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
export { ToggleGroup, ToggleGroupIcon, ToggleGroupItem };
|
|
129
|
+
//# sourceMappingURL=Toggle-Group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Icon","TextClassContext","toggleVariants","cn","ToggleGroupPrimitive","React","Platform","jsx","_jsx","ToggleGroupContext","createContext","ToggleGroup","className","variant","size","children","props","Root","select","web","Provider","value","useToggleGroupContext","context","useContext","Error","ToggleGroupItem","isFirst","isLast","useRootContext","utils","getIsSelected","Item","disabled","ToggleGroupIcon","textClass"],"sourceRoot":"../../../../src","sources":["components/ui/Toggle-Group.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Icon } from "./Icon.js";
|
|
4
|
+
import { TextClassContext } from "./Text.js";
|
|
5
|
+
import { cn } from "../../lib/utils.js";
|
|
6
|
+
import * as TogglePrimitive from '@rn-primitives/toggle';
|
|
7
|
+
import { cva } from 'class-variance-authority';
|
|
8
|
+
import * as React from 'react';
|
|
9
|
+
import { Platform } from 'react-native';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Toggle button style variants using class-variance-authority
|
|
13
|
+
*
|
|
14
|
+
* @variant default - Standard toggle with transparent background
|
|
15
|
+
* @variant outline - Toggle with border and background
|
|
16
|
+
*
|
|
17
|
+
* @size default - Standard size (40px/36px)
|
|
18
|
+
* @size sm - Small size (36px/32px)
|
|
19
|
+
* @size lg - Large size (44px/40px)
|
|
20
|
+
*/
|
|
21
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
22
|
+
const toggleVariants = cva(cn('active:bg-muted group flex flex-row items-center justify-center gap-2 rounded-md', Platform.select({
|
|
23
|
+
web: 'hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex cursor-default whitespace-nowrap outline-none transition-[color,box-shadow] focus-visible:ring-[3px] disabled:pointer-events-none [&_svg]:pointer-events-none'
|
|
24
|
+
})), {
|
|
25
|
+
variants: {
|
|
26
|
+
variant: {
|
|
27
|
+
default: 'bg-transparent',
|
|
28
|
+
outline: cn('border-input active:bg-accent border bg-transparent shadow-sm shadow-black/5', Platform.select({
|
|
29
|
+
web: 'hover:bg-accent hover:text-accent-foreground'
|
|
30
|
+
}))
|
|
31
|
+
},
|
|
32
|
+
size: {
|
|
33
|
+
default: 'h-10 min-w-10 px-2.5 sm:h-9 sm:min-w-9 sm:px-2',
|
|
34
|
+
sm: 'h-9 min-w-9 px-2 sm:h-8 sm:min-w-8 sm:px-1.5',
|
|
35
|
+
lg: 'h-11 min-w-11 px-3 sm:h-10 sm:min-w-10 sm:px-2.5'
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
defaultVariants: {
|
|
39
|
+
variant: 'default',
|
|
40
|
+
size: 'default'
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Toggle button component for on/off states
|
|
46
|
+
*
|
|
47
|
+
* A two-state button that can be toggled between pressed and unpressed states.
|
|
48
|
+
* Supports multiple variants and sizes.
|
|
49
|
+
*
|
|
50
|
+
* @component
|
|
51
|
+
* @example
|
|
52
|
+
* ```tsx
|
|
53
|
+
* <Toggle pressed={isBold} onPressedChange={setIsBold}>
|
|
54
|
+
* <ToggleIcon as={Bold} />
|
|
55
|
+
* <Text>Bold</Text>
|
|
56
|
+
* </Toggle>
|
|
57
|
+
*
|
|
58
|
+
* <Toggle variant="outline" size="sm">
|
|
59
|
+
* <ToggleIcon as={Italic} />
|
|
60
|
+
* </Toggle>
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @accessibility
|
|
64
|
+
* - Uses proper ARIA pressed state
|
|
65
|
+
* - Disabled state prevents interaction
|
|
66
|
+
* - Focus visible states on web
|
|
67
|
+
*/
|
|
68
|
+
function Toggle({
|
|
69
|
+
className,
|
|
70
|
+
variant,
|
|
71
|
+
size,
|
|
72
|
+
...props
|
|
73
|
+
}) {
|
|
74
|
+
return /*#__PURE__*/_jsx(TextClassContext.Provider, {
|
|
75
|
+
value: cn('text-sm text-foreground font-medium', props.pressed ? 'text-accent-foreground' : Platform.select({
|
|
76
|
+
web: 'group-hover:text-muted-foreground'
|
|
77
|
+
}), className),
|
|
78
|
+
children: /*#__PURE__*/_jsx(TogglePrimitive.Root, {
|
|
79
|
+
className: cn(toggleVariants({
|
|
80
|
+
variant,
|
|
81
|
+
size
|
|
82
|
+
}), props.disabled && 'opacity-50', props.pressed && 'bg-accent', className),
|
|
83
|
+
...props
|
|
84
|
+
})
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Icon component for use within Toggle buttons
|
|
90
|
+
*
|
|
91
|
+
* Automatically inherits text styling from the toggle context.
|
|
92
|
+
*
|
|
93
|
+
* @component
|
|
94
|
+
*/
|
|
95
|
+
function ToggleIcon({
|
|
96
|
+
className,
|
|
97
|
+
...props
|
|
98
|
+
}) {
|
|
99
|
+
const textClass = React.useContext(TextClassContext);
|
|
100
|
+
return /*#__PURE__*/_jsx(Icon, {
|
|
101
|
+
className: cn('size-4 shrink-0', textClass, className),
|
|
102
|
+
...props
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
export { Toggle, ToggleIcon, toggleVariants };
|
|
106
|
+
//# sourceMappingURL=Toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Icon","TextClassContext","cn","TogglePrimitive","cva","React","Platform","jsx","_jsx","toggleVariants","select","web","variants","variant","default","outline","size","sm","lg","defaultVariants","Toggle","className","props","Provider","value","pressed","children","Root","disabled","ToggleIcon","textClass","useContext"],"sourceRoot":"../../../../src","sources":["components/ui/Toggle.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,WAAQ;AAC7B,SAASC,gBAAgB,QAAQ,WAAQ;AACzC,SAASC,EAAE,QAAQ,oBAAiB;AACpC,OAAO,KAAKC,eAAe,MAAM,uBAAuB;AACxD,SAASC,GAAG,QAA2B,0BAA0B;AACjE,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,cAAc;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA,SAAAC,GAAA,IAAAC,IAAA;AAUA,MAAMC,cAAc,GAAGL,GAAG,CACxBF,EAAE,CACA,kFAAkF,EAClFI,QAAQ,CAACI,MAAM,CAAC;EACdC,GAAG,EAAE;AACP,CAAC,CACH,CAAC,EACD;EACEC,QAAQ,EAAE;IACRC,OAAO,EAAE;MACPC,OAAO,EAAE,gBAAgB;MACzBC,OAAO,EAAEb,EAAE,CACT,8EAA8E,EAC9EI,QAAQ,CAACI,MAAM,CAAC;QACdC,GAAG,EAAE;MACP,CAAC,CACH;IACF,CAAC;IACDK,IAAI,EAAE;MACJF,OAAO,EAAE,gDAAgD;MACzDG,EAAE,EAAE,8CAA8C;MAClDC,EAAE,EAAE;IACN;EACF,CAAC;EACDC,eAAe,EAAE;IACfN,OAAO,EAAE,SAAS;IAClBG,IAAI,EAAE;EACR;AACF,CACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,MAAMA,CAAC;EACdC,SAAS;EACTR,OAAO;EACPG,IAAI;EACJ,GAAGM;AAGwC,CAAC,EAAE;EAC9C,oBACEd,IAAA,CAACP,gBAAgB,CAACsB,QAAQ;IACxBC,KAAK,EAAEtB,EAAE,CACP,qCAAqC,EACrCoB,KAAK,CAACG,OAAO,GACT,wBAAwB,GACxBnB,QAAQ,CAACI,MAAM,CAAC;MAAEC,GAAG,EAAE;IAAoC,CAAC,CAAC,EACjEU,SACF,CAAE;IAAAK,QAAA,eAEFlB,IAAA,CAACL,eAAe,CAACwB,IAAI;MACnBN,SAAS,EAAEnB,EAAE,CACXO,cAAc,CAAC;QAAEI,OAAO;QAAEG;MAAK,CAAC,CAAC,EACjCM,KAAK,CAACM,QAAQ,IAAI,YAAY,EAC9BN,KAAK,CAACG,OAAO,IAAI,WAAW,EAC5BJ,SACF,CAAE;MAAA,GACEC;IAAK,CACV;EAAC,CACuB,CAAC;AAEhC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASO,UAAUA,CAAC;EAClBR,SAAS;EACT,GAAGC;AAC8B,CAAC,EAAE;EACpC,MAAMQ,SAAS,GAAGzB,KAAK,CAAC0B,UAAU,CAAC9B,gBAAgB,CAAC;EACpD,oBACEO,IAAA,CAACR,IAAI;IAACqB,SAAS,EAAEnB,EAAE,CAAC,iBAAiB,EAAE4B,SAAS,EAAET,SAAS,CAAE;IAAA,GAAKC;EAAK,CAAG,CAAC;AAE/E;AAEA,SAASF,MAAM,EAAES,UAAU,EAAEpB,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NativeOnlyAnimatedView } from "./Native-Only-Animated-View.js";
|
|
4
|
+
import { TextClassContext } from "./Text.js";
|
|
5
|
+
import { cn } from "../../lib/utils.js";
|
|
6
|
+
import * as TooltipPrimitive from '@rn-primitives/tooltip';
|
|
7
|
+
import * as React from 'react';
|
|
8
|
+
import { Platform, StyleSheet } from 'react-native';
|
|
9
|
+
import { FadeInDown, FadeInUp, FadeOut } from 'react-native-reanimated';
|
|
10
|
+
import { FullWindowOverlay as RNFullWindowOverlay } from 'react-native-screens';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Root tooltip component - provides context for trigger and content
|
|
14
|
+
*
|
|
15
|
+
* @component
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* <Tooltip>
|
|
19
|
+
* <TooltipTrigger>
|
|
20
|
+
* <Button variant="outline">
|
|
21
|
+
* <Text>Hover me</Text>
|
|
22
|
+
* </Button>
|
|
23
|
+
* </TooltipTrigger>
|
|
24
|
+
* <TooltipContent>
|
|
25
|
+
* <Text>Helpful tooltip text</Text>
|
|
26
|
+
* </TooltipContent>
|
|
27
|
+
* </Tooltip>
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
31
|
+
const Tooltip = TooltipPrimitive.Root;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Trigger component that shows tooltip on hover/press
|
|
35
|
+
*
|
|
36
|
+
* @component
|
|
37
|
+
*/
|
|
38
|
+
const TooltipTrigger = TooltipPrimitive.Trigger;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Full window overlay wrapper for iOS, Fragment for other platforms
|
|
42
|
+
*/
|
|
43
|
+
const FullWindowOverlay = Platform.OS === 'ios' ? RNFullWindowOverlay : React.Fragment;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Tooltip content component
|
|
47
|
+
*
|
|
48
|
+
* Displays helpful text in a small popup when hovering or pressing the trigger.
|
|
49
|
+
* Includes directional animations based on positioning.
|
|
50
|
+
*
|
|
51
|
+
* @component
|
|
52
|
+
* @example
|
|
53
|
+
* ```tsx
|
|
54
|
+
* <TooltipContent side="top" sideOffset={8}>
|
|
55
|
+
* <Text>Add to favorites</Text>
|
|
56
|
+
* </TooltipContent>
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @accessibility
|
|
60
|
+
* - Content is announced by screen readers
|
|
61
|
+
* - Proper ARIA attributes for tooltips
|
|
62
|
+
* - Dismissible on escape key (web)
|
|
63
|
+
*/
|
|
64
|
+
function TooltipContent({
|
|
65
|
+
className,
|
|
66
|
+
sideOffset = 4,
|
|
67
|
+
portalHost,
|
|
68
|
+
side = 'top',
|
|
69
|
+
...props
|
|
70
|
+
}) {
|
|
71
|
+
return /*#__PURE__*/_jsx(TooltipPrimitive.Portal, {
|
|
72
|
+
hostName: portalHost,
|
|
73
|
+
children: /*#__PURE__*/_jsx(FullWindowOverlay, {
|
|
74
|
+
children: /*#__PURE__*/_jsx(TooltipPrimitive.Overlay, {
|
|
75
|
+
style: Platform.select({
|
|
76
|
+
native: StyleSheet.absoluteFill
|
|
77
|
+
}),
|
|
78
|
+
children: /*#__PURE__*/_jsx(NativeOnlyAnimatedView, {
|
|
79
|
+
entering: side === 'top' ? FadeInDown.withInitialValues({
|
|
80
|
+
transform: [{
|
|
81
|
+
translateY: 3
|
|
82
|
+
}]
|
|
83
|
+
}).duration(150) : FadeInUp.withInitialValues({
|
|
84
|
+
transform: [{
|
|
85
|
+
translateY: -5
|
|
86
|
+
}]
|
|
87
|
+
}),
|
|
88
|
+
exiting: FadeOut,
|
|
89
|
+
children: /*#__PURE__*/_jsx(TextClassContext.Provider, {
|
|
90
|
+
value: "text-xs text-primary-foreground",
|
|
91
|
+
children: /*#__PURE__*/_jsx(TooltipPrimitive.Content, {
|
|
92
|
+
sideOffset: sideOffset,
|
|
93
|
+
className: cn('bg-primary z-50 rounded-md px-3 py-2 sm:py-1.5', Platform.select({
|
|
94
|
+
web: cn('animate-in fade-in-0 zoom-in-95 origin-(--radix-tooltip-content-transform-origin) w-fit text-balance', side === 'bottom' && 'slide-in-from-top-2', side === 'left' && 'slide-in-from-right-2', side === 'right' && 'slide-in-from-left-2', side === 'top' && 'slide-in-from-bottom-2')
|
|
95
|
+
}), className),
|
|
96
|
+
side: side,
|
|
97
|
+
...props
|
|
98
|
+
})
|
|
99
|
+
})
|
|
100
|
+
})
|
|
101
|
+
})
|
|
102
|
+
})
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
export { Tooltip, TooltipContent, TooltipTrigger };
|
|
106
|
+
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeOnlyAnimatedView","TextClassContext","cn","TooltipPrimitive","React","Platform","StyleSheet","FadeInDown","FadeInUp","FadeOut","FullWindowOverlay","RNFullWindowOverlay","jsx","_jsx","Tooltip","Root","TooltipTrigger","Trigger","OS","Fragment","TooltipContent","className","sideOffset","portalHost","side","props","Portal","hostName","children","Overlay","style","select","native","absoluteFill","entering","withInitialValues","transform","translateY","duration","exiting","Provider","value","Content","web"],"sourceRoot":"../../../../src","sources":["components/ui/Tooltip.tsx"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,gCAA6B;AACpE,SAASC,gBAAgB,QAAQ,WAAQ;AACzC,SAASC,EAAE,QAAQ,oBAAiB;AACpC,OAAO,KAAKC,gBAAgB,MAAM,wBAAwB;AAC1D,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AACnD,SAASC,UAAU,EAAEC,QAAQ,EAAEC,OAAO,QAAQ,yBAAyB;AACvE,SAASC,iBAAiB,IAAIC,mBAAmB,QAAQ,sBAAsB;;AAE/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAjBA,SAAAC,GAAA,IAAAC,IAAA;AAkBA,MAAMC,OAAO,GAAGX,gBAAgB,CAACY,IAAI;;AAErC;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAGb,gBAAgB,CAACc,OAAO;;AAE/C;AACA;AACA;AACA,MAAMP,iBAAiB,GACrBL,QAAQ,CAACa,EAAE,KAAK,KAAK,GAAGP,mBAAmB,GAAGP,KAAK,CAACe,QAAQ;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,cAAcA,CAAC;EACtBC,SAAS;EACTC,UAAU,GAAG,CAAC;EACdC,UAAU;EACVC,IAAI,GAAG,KAAK;EACZ,GAAGC;AAIH,CAAC,EAAE;EACH,oBACEZ,IAAA,CAACV,gBAAgB,CAACuB,MAAM;IAACC,QAAQ,EAAEJ,UAAW;IAAAK,QAAA,eAC5Cf,IAAA,CAACH,iBAAiB;MAAAkB,QAAA,eAChBf,IAAA,CAACV,gBAAgB,CAAC0B,OAAO;QACvBC,KAAK,EAAEzB,QAAQ,CAAC0B,MAAM,CAAC;UAAEC,MAAM,EAAE1B,UAAU,CAAC2B;QAAa,CAAC,CAAE;QAAAL,QAAA,eAE5Df,IAAA,CAACb,sBAAsB;UACrBkC,QAAQ,EACNV,IAAI,KAAK,KAAK,GACVjB,UAAU,CAAC4B,iBAAiB,CAAC;YAC3BC,SAAS,EAAE,CAAC;cAAEC,UAAU,EAAE;YAAE,CAAC;UAC/B,CAAC,CAAC,CAACC,QAAQ,CAAC,GAAG,CAAC,GAChB9B,QAAQ,CAAC2B,iBAAiB,CAAC;YACzBC,SAAS,EAAE,CAAC;cAAEC,UAAU,EAAE,CAAC;YAAE,CAAC;UAChC,CAAC,CACN;UACDE,OAAO,EAAE9B,OAAQ;UAAAmB,QAAA,eAEjBf,IAAA,CAACZ,gBAAgB,CAACuC,QAAQ;YAACC,KAAK,EAAC,iCAAiC;YAAAb,QAAA,eAChEf,IAAA,CAACV,gBAAgB,CAACuC,OAAO;cACvBpB,UAAU,EAAEA,UAAW;cACvBD,SAAS,EAAEnB,EAAE,CACX,gDAAgD,EAChDG,QAAQ,CAAC0B,MAAM,CAAC;gBACdY,GAAG,EAAEzC,EAAE,CACL,sGAAsG,EACtGsB,IAAI,KAAK,QAAQ,IAAI,qBAAqB,EAC1CA,IAAI,KAAK,MAAM,IAAI,uBAAuB,EAC1CA,IAAI,KAAK,OAAO,IAAI,sBAAsB,EAC1CA,IAAI,KAAK,KAAK,IAAI,wBACpB;cACF,CAAC,CAAC,EACFH,SACF,CAAE;cACFG,IAAI,EAAEA,IAAK;cAAA,GACPC;YAAK,CACV;UAAC,CACuB;QAAC,CACN;MAAC,CACD;IAAC,CACV;EAAC,CACG,CAAC;AAE9B;AAEA,SAASX,OAAO,EAAEM,cAAc,EAAEJ,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export * from "./Accordion.js";
|
|
4
|
+
export * from "./Alert.js";
|
|
5
|
+
export * from "./Alert-Dialog.js";
|
|
6
|
+
export * from "./AppBar.js";
|
|
7
|
+
export * from "./Aspect-Ratio.js";
|
|
8
|
+
export * from "./Avatar.js";
|
|
9
|
+
export * from "./Badge.js";
|
|
10
|
+
export * from "./Bottom-Sheet.js";
|
|
11
|
+
export * from "./Button.js";
|
|
12
|
+
export * from "./Card.js";
|
|
13
|
+
export * from "./Checkbox.js";
|
|
14
|
+
export * from "./Collapsible.js";
|
|
15
|
+
export * from "./Context-Menu.js";
|
|
16
|
+
export * from "./Custom-Card.js";
|
|
17
|
+
export * from "./Dialog.js";
|
|
18
|
+
export * from "./Dropdown-Menu.js";
|
|
19
|
+
export * from "./Floating-Action.js";
|
|
20
|
+
export * from "./Greeting-Card.js";
|
|
21
|
+
export * from "./Hover-Card.js";
|
|
22
|
+
export * from "./Icon.js";
|
|
23
|
+
export * from "./Input.js";
|
|
24
|
+
export * from "./Label.js";
|
|
25
|
+
export * from "./Menubar.js";
|
|
26
|
+
export * from "./NavBar.js";
|
|
27
|
+
export * from "./Popover.js";
|
|
28
|
+
export * from "./Progress.js";
|
|
29
|
+
export * from "./Radio-Group.js";
|
|
30
|
+
export * from "./Select.js";
|
|
31
|
+
export * from "./Separator.js";
|
|
32
|
+
export * from "./SizedBox.js";
|
|
33
|
+
export * from "./Skeleton.js";
|
|
34
|
+
export * from "./Slider.js";
|
|
35
|
+
export * from "./Switch.js";
|
|
36
|
+
export * from "./Table.js";
|
|
37
|
+
export * from "./Tabs.js";
|
|
38
|
+
export * from "./Text.js";
|
|
39
|
+
export * from "./Textarea.js";
|
|
40
|
+
export * from "./Theme-Toggle.js";
|
|
41
|
+
export * from "./Toast.js";
|
|
42
|
+
export * from "./Toggle.js";
|
|
43
|
+
export * from "./Toggle-Group.js";
|
|
44
|
+
export * from "./Tooltip.js";
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/ui/index.ts"],"mappings":";;AAAA,cAAc,gBAAa;AAC3B,cAAc,YAAS;AACvB,cAAc,mBAAgB;AAC9B,cAAc,aAAU;AACxB,cAAc,mBAAgB;AAC9B,cAAc,aAAU;AACxB,cAAc,YAAS;AACvB,cAAc,mBAAgB;AAC9B,cAAc,aAAU;AACxB,cAAc,WAAQ;AACtB,cAAc,eAAY;AAC1B,cAAc,kBAAe;AAC7B,cAAc,mBAAgB;AAC9B,cAAc,kBAAe;AAC7B,cAAc,aAAU;AACxB,cAAc,oBAAiB;AAC/B,cAAc,sBAAmB;AACjC,cAAc,oBAAiB;AAC/B,cAAc,iBAAc;AAC5B,cAAc,WAAQ;AACtB,cAAc,YAAS;AACvB,cAAc,YAAS;AACvB,cAAc,cAAW;AACzB,cAAc,aAAU;AACxB,cAAc,cAAW;AACzB,cAAc,eAAY;AAC1B,cAAc,kBAAe;AAC7B,cAAc,aAAU;AACxB,cAAc,gBAAa;AAC3B,cAAc,eAAY;AAC1B,cAAc,eAAY;AAC1B,cAAc,aAAU;AACxB,cAAc,aAAU;AACxB,cAAc,YAAS;AACvB,cAAc,WAAQ;AACtB,cAAc,WAAQ;AACtB,cAAc,eAAY;AAC1B,cAAc,mBAAgB;AAC9B,cAAc,YAAS;AACvB,cAAc,aAAU;AACxB,cAAc,mBAAgB;AAC9B,cAAc,cAAW","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Export components
|
|
4
|
+
export * from "./components/ui/index.js";
|
|
5
|
+
|
|
6
|
+
// Export layout
|
|
7
|
+
export { default as RootLayout } from "./app/_layout.js";
|
|
8
|
+
|
|
9
|
+
// Export utilities
|
|
10
|
+
export { cn } from "./lib/utils.js";
|
|
11
|
+
export { THEME, NAV_THEME } from "./lib/theme.js";
|
|
12
|
+
export { ThemeProvider, useTheme } from "./lib/ThemeProvider.js";
|
|
13
|
+
|
|
14
|
+
// Corner radius utilities
|
|
15
|
+
export { getRadiusForHeight, getRadiusForDimensions, getCustomRadius, RADIUS, RADIUS_PRESET, CORNER_SMOOTHING } from "./lib/cornerRadius.js";
|
|
16
|
+
|
|
17
|
+
// Font configuration
|
|
18
|
+
export { fonts } from "./lib/fonts.js";
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default","RootLayout","cn","THEME","NAV_THEME","ThemeProvider","useTheme","getRadiusForHeight","getRadiusForDimensions","getCustomRadius","RADIUS","RADIUS_PRESET","CORNER_SMOOTHING","fonts"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,cAAc,0BAAiB;;AAE/B;AACA,SAASA,OAAO,IAAIC,UAAU,QAAQ,kBAAe;;AAErD;AACA,SAASC,EAAE,QAAQ,gBAAa;AAChC,SAASC,KAAK,EAAEC,SAAS,QAAQ,gBAAa;AAC9C,SAASC,aAAa,EAAEC,QAAQ,QAAQ,wBAAqB;;AAE7D;AACA,SACEC,kBAAkB,EAClBC,sBAAsB,EACtBC,eAAe,EACfC,MAAM,EACNC,aAAa,EACbC,gBAAgB,QACX,uBAAoB;;AAE3B;AACA,SAASC,KAAK,QAAQ,gBAAa","ignoreList":[]}
|