@tamagui/demos 1.88.13 → 1.88.14
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 +21 -0
- package/dist/cjs/BuildAButtonDemo.js.map +1 -1
- package/dist/cjs/BuildAButtonDemo.native.js.map +1 -1
- package/dist/cjs/CardDemo.js.map +1 -1
- package/dist/cjs/CardDemo.native.js.map +1 -1
- package/dist/cjs/CheckboxDemo.js.map +1 -1
- package/dist/cjs/CheckboxDemo.native.js.map +1 -1
- package/dist/cjs/FormsDemo.js.map +1 -1
- package/dist/cjs/FormsDemo.native.js.map +1 -1
- package/dist/cjs/InputsDemo.js.map +1 -1
- package/dist/cjs/InputsDemo.native.js.map +1 -1
- package/dist/cjs/PopoverDemo.js.map +1 -1
- package/dist/cjs/PopoverDemo.native.js.map +1 -1
- package/dist/cjs/ProgressDemo.js.map +1 -1
- package/dist/cjs/ProgressDemo.native.js.map +1 -1
- package/dist/cjs/RadioGroupDemo.js.map +1 -1
- package/dist/cjs/RadioGroupDemo.native.js.map +1 -1
- package/dist/cjs/SelectDemo.js.map +1 -1
- package/dist/cjs/SelectDemo.native.js.map +1 -1
- package/dist/cjs/SheetDemo.js.map +1 -1
- package/dist/cjs/SheetDemo.native.js.map +1 -1
- package/dist/cjs/SliderDemo.js.map +1 -1
- package/dist/cjs/SliderDemo.native.js.map +1 -1
- package/dist/cjs/SwitchDemo.js.map +1 -1
- package/dist/cjs/SwitchDemo.native.js.map +1 -1
- package/dist/cjs/TabsAdvancedDemo.js.map +1 -1
- package/dist/cjs/TabsAdvancedDemo.native.js.map +1 -1
- package/dist/cjs/TabsDemo.js.map +1 -1
- package/dist/cjs/TabsDemo.native.js.map +1 -1
- package/dist/cjs/ThemeBuilderDemo.js.map +1 -1
- package/dist/cjs/ThemeBuilderDemo.native.js.map +1 -1
- package/dist/cjs/ToggleGroupDemo.js.map +1 -1
- package/dist/cjs/ToggleGroupDemo.native.js.map +1 -1
- package/dist/cjs/TokensDemo.js.map +1 -1
- package/dist/cjs/TokensDemo.native.js.map +1 -1
- package/dist/cjs/TooltipDemo.js.map +1 -1
- package/dist/cjs/TooltipDemo.native.js.map +1 -1
- package/dist/cjs/useOnIntersecting.js +0 -1
- package/dist/cjs/useOnIntersecting.js.map +1 -1
- package/dist/cjs/useOnIntersecting.native.js +0 -1
- package/dist/cjs/useOnIntersecting.native.js.map +1 -1
- package/dist/esm/AccordionDemo.mjs +58 -0
- package/dist/esm/AddThemeDemo.mjs +35 -0
- package/dist/esm/AlertDialogDemo.mjs +72 -0
- package/dist/esm/AnimationsDemo.mjs +75 -0
- package/dist/esm/AnimationsEnterDemo.mjs +40 -0
- package/dist/esm/AnimationsHoverDemo.mjs +23 -0
- package/dist/esm/AnimationsPresenceDemo.mjs +88 -0
- package/dist/esm/AnimationsTimingDemo.mjs +22 -0
- package/dist/esm/AvatarDemo.mjs +29 -0
- package/dist/esm/BuildAButtonDemo.js.map +1 -1
- package/dist/esm/BuildAButtonDemo.mjs +101 -0
- package/dist/esm/BuildAButtonDemo.native.js.map +1 -1
- package/dist/esm/ButtonDemo.mjs +59 -0
- package/dist/esm/CardDemo.js.map +1 -1
- package/dist/esm/CardDemo.mjs +64 -0
- package/dist/esm/CardDemo.native.js.map +1 -1
- package/dist/esm/CheckboxDemo.js.map +1 -1
- package/dist/esm/CheckboxDemo.mjs +45 -0
- package/dist/esm/CheckboxDemo.native.js.map +1 -1
- package/dist/esm/CheckboxHeadlessDemo.mjs +50 -0
- package/dist/esm/CheckboxUnstyledDemo.mjs +53 -0
- package/dist/esm/ColorsDemo.mjs +97 -0
- package/dist/esm/DialogDemo.mjs +136 -0
- package/dist/esm/FormsDemo.js.map +1 -1
- package/dist/esm/FormsDemo.mjs +35 -0
- package/dist/esm/FormsDemo.native.js.map +1 -1
- package/dist/esm/Grid.mjs +37 -0
- package/dist/esm/GroupDemo.mjs +61 -0
- package/dist/esm/HeadingsDemo.mjs +21 -0
- package/dist/esm/ImageDemo.mjs +12 -0
- package/dist/esm/InputsDemo.js.map +1 -1
- package/dist/esm/InputsDemo.mjs +36 -0
- package/dist/esm/InputsDemo.native.js.map +1 -1
- package/dist/esm/LabelDemo.mjs +36 -0
- package/dist/esm/LinearGradientDemo.mjs +24 -0
- package/dist/esm/ListItemDemo.mjs +76 -0
- package/dist/esm/LucideIconsDemo.mjs +58 -0
- package/dist/esm/PopoverDemo.js +1 -9
- package/dist/esm/PopoverDemo.js.map +1 -1
- package/dist/esm/PopoverDemo.mjs +106 -0
- package/dist/esm/PopoverDemo.native.js.map +1 -1
- package/dist/esm/ProgressDemo.js.map +1 -1
- package/dist/esm/ProgressDemo.mjs +64 -0
- package/dist/esm/ProgressDemo.native.js.map +1 -1
- package/dist/esm/RadioGroupDemo.js.map +1 -1
- package/dist/esm/RadioGroupDemo.mjs +46 -0
- package/dist/esm/RadioGroupDemo.native.js.map +1 -1
- package/dist/esm/ReplaceThemeDemo.mjs +43 -0
- package/dist/esm/ScrollViewDemo.mjs +50 -0
- package/dist/esm/SelectDemo.js +1 -9
- package/dist/esm/SelectDemo.js.map +1 -1
- package/dist/esm/SelectDemo.mjs +188 -0
- package/dist/esm/SelectDemo.native.js.map +1 -1
- package/dist/esm/SeparatorDemo.mjs +36 -0
- package/dist/esm/ShapesDemo.mjs +18 -0
- package/dist/esm/SheetDemo.js.map +1 -1
- package/dist/esm/SheetDemo.mjs +141 -0
- package/dist/esm/SheetDemo.native.js.map +1 -1
- package/dist/esm/SliderDemo.js.map +1 -1
- package/dist/esm/SliderDemo.mjs +34 -0
- package/dist/esm/SliderDemo.native.js.map +1 -1
- package/dist/esm/SpinnerDemo.mjs +17 -0
- package/dist/esm/StacksDemo.mjs +80 -0
- package/dist/esm/SwitchDemo.js.map +1 -1
- package/dist/esm/SwitchDemo.mjs +81 -0
- package/dist/esm/SwitchDemo.native.js.map +1 -1
- package/dist/esm/SwitchHeadlessDemo.mjs +66 -0
- package/dist/esm/SwitchUnstyledDemo.mjs +68 -0
- package/dist/esm/TabsAdvancedDemo.js.map +1 -1
- package/dist/esm/TabsAdvancedDemo.mjs +303 -0
- package/dist/esm/TabsAdvancedDemo.native.js.map +1 -1
- package/dist/esm/TabsDemo.js +1 -10
- package/dist/esm/TabsDemo.js.map +1 -1
- package/dist/esm/TabsDemo.mjs +158 -0
- package/dist/esm/TabsDemo.native.js.map +1 -1
- package/dist/esm/TextDemo.mjs +28 -0
- package/dist/esm/ThemeBuilderDemo.js.map +1 -1
- package/dist/esm/ThemeBuilderDemo.mjs +154 -0
- package/dist/esm/ThemeBuilderDemo.native.js.map +1 -1
- package/dist/esm/ThemeInverseDemo.mjs +45 -0
- package/dist/esm/ToastDemo.mjs +98 -0
- package/dist/esm/ToastDuplicateDemo.mjs +48 -0
- package/dist/esm/ToggleGroupDemo.js.map +1 -1
- package/dist/esm/ToggleGroupDemo.mjs +73 -0
- package/dist/esm/ToggleGroupDemo.native.js.map +1 -1
- package/dist/esm/TokensDemo.js.map +1 -1
- package/dist/esm/TokensDemo.mjs +90 -0
- package/dist/esm/TokensDemo.native.js.map +1 -1
- package/dist/esm/TooltipDemo.js +1 -8
- package/dist/esm/TooltipDemo.js.map +1 -1
- package/dist/esm/TooltipDemo.mjs +101 -0
- package/dist/esm/TooltipDemo.native.js.map +1 -1
- package/dist/esm/UpdateThemeDemo.mjs +46 -0
- package/dist/esm/index.mjs +49 -0
- package/dist/esm/tamagui.config.mjs +4 -0
- package/dist/esm/useOnIntersecting.js +0 -1
- package/dist/esm/useOnIntersecting.js.map +1 -1
- package/dist/esm/useOnIntersecting.mjs +41 -0
- package/dist/esm/useOnIntersecting.native.js +0 -1
- package/dist/esm/useOnIntersecting.native.js.map +1 -1
- package/dist/jsx/AccordionDemo.mjs +58 -0
- package/dist/jsx/AddThemeDemo.mjs +35 -0
- package/dist/jsx/AlertDialogDemo.mjs +72 -0
- package/dist/jsx/AnimationsDemo.mjs +75 -0
- package/dist/jsx/AnimationsEnterDemo.mjs +40 -0
- package/dist/jsx/AnimationsHoverDemo.mjs +23 -0
- package/dist/jsx/AnimationsPresenceDemo.mjs +88 -0
- package/dist/jsx/AnimationsTimingDemo.mjs +22 -0
- package/dist/jsx/AvatarDemo.mjs +29 -0
- package/dist/jsx/BuildAButtonDemo.js.map +1 -1
- package/dist/jsx/BuildAButtonDemo.mjs +101 -0
- package/dist/jsx/BuildAButtonDemo.native.js.map +1 -1
- package/dist/jsx/ButtonDemo.mjs +59 -0
- package/dist/jsx/CardDemo.js.map +1 -1
- package/dist/jsx/CardDemo.mjs +64 -0
- package/dist/jsx/CardDemo.native.js.map +1 -1
- package/dist/jsx/CheckboxDemo.js.map +1 -1
- package/dist/jsx/CheckboxDemo.mjs +45 -0
- package/dist/jsx/CheckboxDemo.native.js.map +1 -1
- package/dist/jsx/CheckboxHeadlessDemo.mjs +50 -0
- package/dist/jsx/CheckboxUnstyledDemo.mjs +53 -0
- package/dist/jsx/ColorsDemo.mjs +97 -0
- package/dist/jsx/DialogDemo.mjs +136 -0
- package/dist/jsx/FormsDemo.js.map +1 -1
- package/dist/jsx/FormsDemo.mjs +35 -0
- package/dist/jsx/FormsDemo.native.js.map +1 -1
- package/dist/jsx/Grid.mjs +37 -0
- package/dist/jsx/GroupDemo.mjs +61 -0
- package/dist/jsx/HeadingsDemo.mjs +21 -0
- package/dist/jsx/ImageDemo.mjs +12 -0
- package/dist/jsx/InputsDemo.js.map +1 -1
- package/dist/jsx/InputsDemo.mjs +36 -0
- package/dist/jsx/InputsDemo.native.js.map +1 -1
- package/dist/jsx/LabelDemo.mjs +36 -0
- package/dist/jsx/LinearGradientDemo.mjs +24 -0
- package/dist/jsx/ListItemDemo.mjs +76 -0
- package/dist/jsx/LucideIconsDemo.mjs +58 -0
- package/dist/jsx/PopoverDemo.js +1 -9
- package/dist/jsx/PopoverDemo.js.map +1 -1
- package/dist/jsx/PopoverDemo.mjs +106 -0
- package/dist/jsx/PopoverDemo.native.js.map +1 -1
- package/dist/jsx/ProgressDemo.js.map +1 -1
- package/dist/jsx/ProgressDemo.mjs +64 -0
- package/dist/jsx/ProgressDemo.native.js.map +1 -1
- package/dist/jsx/RadioGroupDemo.js.map +1 -1
- package/dist/jsx/RadioGroupDemo.mjs +46 -0
- package/dist/jsx/RadioGroupDemo.native.js.map +1 -1
- package/dist/jsx/ReplaceThemeDemo.mjs +43 -0
- package/dist/jsx/ScrollViewDemo.mjs +50 -0
- package/dist/jsx/SelectDemo.js +1 -9
- package/dist/jsx/SelectDemo.js.map +1 -1
- package/dist/jsx/SelectDemo.mjs +188 -0
- package/dist/jsx/SelectDemo.native.js.map +1 -1
- package/dist/jsx/SeparatorDemo.mjs +36 -0
- package/dist/jsx/ShapesDemo.mjs +18 -0
- package/dist/jsx/SheetDemo.js.map +1 -1
- package/dist/jsx/SheetDemo.mjs +141 -0
- package/dist/jsx/SheetDemo.native.js.map +1 -1
- package/dist/jsx/SliderDemo.js.map +1 -1
- package/dist/jsx/SliderDemo.mjs +34 -0
- package/dist/jsx/SliderDemo.native.js.map +1 -1
- package/dist/jsx/SpinnerDemo.mjs +17 -0
- package/dist/jsx/StacksDemo.mjs +80 -0
- package/dist/jsx/SwitchDemo.js.map +1 -1
- package/dist/jsx/SwitchDemo.mjs +81 -0
- package/dist/jsx/SwitchDemo.native.js.map +1 -1
- package/dist/jsx/SwitchHeadlessDemo.mjs +66 -0
- package/dist/jsx/SwitchUnstyledDemo.mjs +68 -0
- package/dist/jsx/TabsAdvancedDemo.js.map +1 -1
- package/dist/jsx/TabsAdvancedDemo.mjs +303 -0
- package/dist/jsx/TabsAdvancedDemo.native.js.map +1 -1
- package/dist/jsx/TabsDemo.js +1 -10
- package/dist/jsx/TabsDemo.js.map +1 -1
- package/dist/jsx/TabsDemo.mjs +158 -0
- package/dist/jsx/TabsDemo.native.js.map +1 -1
- package/dist/jsx/TextDemo.mjs +28 -0
- package/dist/jsx/ThemeBuilderDemo.js.map +1 -1
- package/dist/jsx/ThemeBuilderDemo.mjs +154 -0
- package/dist/jsx/ThemeBuilderDemo.native.js.map +1 -1
- package/dist/jsx/ThemeInverseDemo.mjs +45 -0
- package/dist/jsx/ToastDemo.mjs +98 -0
- package/dist/jsx/ToastDuplicateDemo.mjs +48 -0
- package/dist/jsx/ToggleGroupDemo.js.map +1 -1
- package/dist/jsx/ToggleGroupDemo.mjs +73 -0
- package/dist/jsx/ToggleGroupDemo.native.js.map +1 -1
- package/dist/jsx/TokensDemo.js.map +1 -1
- package/dist/jsx/TokensDemo.mjs +90 -0
- package/dist/jsx/TokensDemo.native.js.map +1 -1
- package/dist/jsx/TooltipDemo.js +1 -8
- package/dist/jsx/TooltipDemo.js.map +1 -1
- package/dist/jsx/TooltipDemo.mjs +101 -0
- package/dist/jsx/TooltipDemo.native.js.map +1 -1
- package/dist/jsx/UpdateThemeDemo.mjs +46 -0
- package/dist/jsx/index.mjs +49 -0
- package/dist/jsx/tamagui.config.mjs +4 -0
- package/dist/jsx/useOnIntersecting.js +0 -1
- package/dist/jsx/useOnIntersecting.js.map +1 -1
- package/dist/jsx/useOnIntersecting.mjs +41 -0
- package/dist/jsx/useOnIntersecting.native.js +0 -1
- package/dist/jsx/useOnIntersecting.native.js.map +1 -1
- package/package.json +19 -19
- package/src/BuildAButtonDemo.tsx +2 -1
- package/src/CardDemo.tsx +2 -1
- package/src/CheckboxDemo.tsx +2 -1
- package/src/ColorsDemo.tsx +1 -1
- package/src/FormsDemo.tsx +2 -1
- package/src/InputsDemo.tsx +2 -1
- package/src/PopoverDemo.tsx +2 -10
- package/src/ProgressDemo.tsx +2 -1
- package/src/RadioGroupDemo.tsx +2 -1
- package/src/SelectDemo.tsx +2 -11
- package/src/SheetDemo.tsx +2 -1
- package/src/SliderDemo.tsx +2 -1
- package/src/SwitchDemo.tsx +2 -1
- package/src/TabsAdvancedDemo.tsx +1 -3
- package/src/TabsDemo.tsx +2 -11
- package/src/ThemeBuilderDemo.tsx +2 -1
- package/src/ToggleGroupDemo.tsx +2 -1
- package/src/TokensDemo.tsx +2 -1
- package/src/TooltipDemo.tsx +2 -9
- package/src/useOnIntersecting.tsx +3 -2
- package/types/BuildAButtonDemo.d.ts.map +1 -1
- package/types/CardDemo.d.ts +1 -1
- package/types/CardDemo.d.ts.map +1 -1
- package/types/CheckboxDemo.d.ts +1 -1
- package/types/CheckboxDemo.d.ts.map +1 -1
- package/types/FormsDemo.d.ts +1 -1
- package/types/FormsDemo.d.ts.map +1 -1
- package/types/InputsDemo.d.ts.map +1 -1
- package/types/PopoverDemo.d.ts +1 -1
- package/types/PopoverDemo.d.ts.map +1 -1
- package/types/ProgressDemo.d.ts.map +1 -1
- package/types/RadioGroupDemo.d.ts +1 -1
- package/types/RadioGroupDemo.d.ts.map +1 -1
- package/types/SelectDemo.d.ts +1 -1
- package/types/SelectDemo.d.ts.map +1 -1
- package/types/SheetDemo.d.ts.map +1 -1
- package/types/SliderDemo.d.ts.map +1 -1
- package/types/SwitchDemo.d.ts +1 -1
- package/types/SwitchDemo.d.ts.map +1 -1
- package/types/TabsAdvancedDemo.d.ts.map +1 -1
- package/types/TabsDemo.d.ts.map +1 -1
- package/types/ThemeBuilderDemo.d.ts.map +1 -1
- package/types/ToggleGroupDemo.d.ts.map +1 -1
- package/types/TokensDemo.d.ts.map +1 -1
- package/types/TooltipDemo.d.ts.map +1 -1
- package/types/useOnIntersecting.d.ts +1 -1
- package/types/useOnIntersecting.d.ts.map +1 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { useCheckbox } from "@tamagui/checkbox-headless";
|
|
2
|
+
import { Check, Minus } from "@tamagui/lucide-icons";
|
|
3
|
+
import { forwardRef, useState } from "react";
|
|
4
|
+
import { Pressable } from "react-native-web";
|
|
5
|
+
import { Label, XStack, YStack } from "tamagui";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
function CheckboxHeadlessDemo() {
|
|
8
|
+
return /* @__PURE__ */jsx(YStack, {
|
|
9
|
+
width: 200,
|
|
10
|
+
alignItems: "center",
|
|
11
|
+
space: "$3",
|
|
12
|
+
children: /* @__PURE__ */jsxs(XStack, {
|
|
13
|
+
space: "$3",
|
|
14
|
+
alignItems: "center",
|
|
15
|
+
children: [/* @__PURE__ */jsx(HeadlessCheckbox, {
|
|
16
|
+
defaultChecked: "indeterminate",
|
|
17
|
+
id: "headless"
|
|
18
|
+
}), /* @__PURE__ */jsx(Label, {
|
|
19
|
+
htmlFor: "headless",
|
|
20
|
+
children: "Headless"
|
|
21
|
+
})]
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const HeadlessCheckbox = forwardRef((props, ref) => {
|
|
26
|
+
const [checked, setChecked] = useState(props.defaultChecked || !1),
|
|
27
|
+
{
|
|
28
|
+
checkboxProps,
|
|
29
|
+
bubbleInput
|
|
30
|
+
} = useCheckbox(props, [checked, setChecked], ref);
|
|
31
|
+
return /* @__PURE__ */jsxs(Pressable, {
|
|
32
|
+
style: {
|
|
33
|
+
width: 20,
|
|
34
|
+
height: 20,
|
|
35
|
+
borderRadius: 4,
|
|
36
|
+
justifyContent: "center",
|
|
37
|
+
alignItems: "center",
|
|
38
|
+
backgroundColor: checked === !0 ? "lightblue" : "silver"
|
|
39
|
+
},
|
|
40
|
+
...checkboxProps,
|
|
41
|
+
children: [checked === "indeterminate" && /* @__PURE__ */jsx(Minus, {
|
|
42
|
+
width: 18,
|
|
43
|
+
height: 18
|
|
44
|
+
}), checked === !0 && /* @__PURE__ */jsx(Check, {
|
|
45
|
+
width: 18,
|
|
46
|
+
height: 18
|
|
47
|
+
}), bubbleInput]
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
export { CheckboxHeadlessDemo };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { createCheckbox } from "@tamagui/checkbox";
|
|
2
|
+
import { Stack, styled } from "@tamagui/core";
|
|
3
|
+
import { Check } from "@tamagui/lucide-icons";
|
|
4
|
+
import { Label, XStack, YStack } from "tamagui";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
const Frame = styled(Stack, {
|
|
7
|
+
borderWidth: 1,
|
|
8
|
+
borderColor: "$borderColor",
|
|
9
|
+
borderRadius: 5,
|
|
10
|
+
alignItems: "center",
|
|
11
|
+
justifyContent: "center",
|
|
12
|
+
variants: {
|
|
13
|
+
checked: {
|
|
14
|
+
indeterminate: {},
|
|
15
|
+
true: {
|
|
16
|
+
backgroundColor: "$color5"
|
|
17
|
+
},
|
|
18
|
+
false: {
|
|
19
|
+
backgroundColor: "$color3"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
defaultVariants: {
|
|
24
|
+
checked: !1
|
|
25
|
+
}
|
|
26
|
+
}),
|
|
27
|
+
Indicator = styled(Stack, {}),
|
|
28
|
+
Checkbox = createCheckbox({
|
|
29
|
+
Frame,
|
|
30
|
+
Indicator
|
|
31
|
+
});
|
|
32
|
+
function CheckboxUnstyledDemo() {
|
|
33
|
+
return /* @__PURE__ */jsx(YStack, {
|
|
34
|
+
width: 200,
|
|
35
|
+
alignItems: "center",
|
|
36
|
+
gap: "$3",
|
|
37
|
+
children: /* @__PURE__ */jsxs(XStack, {
|
|
38
|
+
gap: "$3",
|
|
39
|
+
alignItems: "center",
|
|
40
|
+
children: [/* @__PURE__ */jsx(Checkbox, {
|
|
41
|
+
defaultChecked: !0,
|
|
42
|
+
id: "unstyled",
|
|
43
|
+
children: /* @__PURE__ */jsx(Checkbox.Indicator, {
|
|
44
|
+
children: /* @__PURE__ */jsx(Check, {})
|
|
45
|
+
})
|
|
46
|
+
}), /* @__PURE__ */jsx(Label, {
|
|
47
|
+
htmlFor: "unstyled",
|
|
48
|
+
children: "Unstyled"
|
|
49
|
+
})]
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
export { Checkbox, CheckboxUnstyledDemo };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { H2, Paragraph, Separator, Square, XStack, YStack, getTokens, getVariableValue } from "tamagui";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
const colorGroups = ["orange", "yellow", "green", "blue", "purple", "pink", "red"];
|
|
4
|
+
function ColorsDemo() {
|
|
5
|
+
const colors = getTokens({
|
|
6
|
+
prefixed: !1
|
|
7
|
+
}).color,
|
|
8
|
+
[colorsLight, colorsDark] = [getColors(colors), getColors(colors, !0)];
|
|
9
|
+
return /* @__PURE__ */jsxs(YStack, {
|
|
10
|
+
marginTop: "$4",
|
|
11
|
+
space: "$8",
|
|
12
|
+
children: [/* @__PURE__ */jsx(ColorsRow, {
|
|
13
|
+
title: "Light",
|
|
14
|
+
colors: colorsLight
|
|
15
|
+
}), /* @__PURE__ */jsx(Separator, {}), /* @__PURE__ */jsx(ColorsRow, {
|
|
16
|
+
title: "Dark",
|
|
17
|
+
colors: colorsDark
|
|
18
|
+
})]
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function ColorsRow({
|
|
22
|
+
title,
|
|
23
|
+
colors
|
|
24
|
+
}) {
|
|
25
|
+
return /* @__PURE__ */jsxs(YStack, {
|
|
26
|
+
space: !0,
|
|
27
|
+
$sm: {
|
|
28
|
+
space: "$2"
|
|
29
|
+
},
|
|
30
|
+
children: [/* @__PURE__ */jsx(H2, {
|
|
31
|
+
size: "$2",
|
|
32
|
+
children: title
|
|
33
|
+
}), /* @__PURE__ */jsxs(XStack, {
|
|
34
|
+
space: !0,
|
|
35
|
+
alignSelf: "center",
|
|
36
|
+
children: [/* @__PURE__ */jsxs(YStack, {
|
|
37
|
+
space: !0,
|
|
38
|
+
$sm: {
|
|
39
|
+
space: "$2"
|
|
40
|
+
},
|
|
41
|
+
alignSelf: "center",
|
|
42
|
+
children: [colors.map((group, index) => /* @__PURE__ */jsx(XStack, {
|
|
43
|
+
space: "$2",
|
|
44
|
+
children: group.map(color => /* @__PURE__ */jsx(Square, {
|
|
45
|
+
borderRadius: "$2",
|
|
46
|
+
size: "$4",
|
|
47
|
+
height: "$4",
|
|
48
|
+
borderWidth: 1,
|
|
49
|
+
backgroundColor: getVariableValue(color),
|
|
50
|
+
borderColor: "$color7",
|
|
51
|
+
$sm: {
|
|
52
|
+
size: "$2"
|
|
53
|
+
},
|
|
54
|
+
$xs: {
|
|
55
|
+
size: "$1"
|
|
56
|
+
}
|
|
57
|
+
}, `${color.key}${index}`))
|
|
58
|
+
}, index)), /* @__PURE__ */jsx(XStack, {
|
|
59
|
+
space: "$2",
|
|
60
|
+
alignSelf: "center",
|
|
61
|
+
children: new Array(13).fill(0).slice(1).map((_, index) => /* @__PURE__ */jsx(Paragraph, {
|
|
62
|
+
color: "$color10",
|
|
63
|
+
textAlign: "center",
|
|
64
|
+
width: "$4",
|
|
65
|
+
$sm: {
|
|
66
|
+
width: "$2"
|
|
67
|
+
},
|
|
68
|
+
$xs: {
|
|
69
|
+
width: "$1"
|
|
70
|
+
},
|
|
71
|
+
children: index
|
|
72
|
+
}, index))
|
|
73
|
+
})]
|
|
74
|
+
}), /* @__PURE__ */jsx(YStack, {
|
|
75
|
+
space: "$4",
|
|
76
|
+
marginTop: "$2",
|
|
77
|
+
children: colorGroups.map(name => /* @__PURE__ */jsx(Paragraph, {
|
|
78
|
+
theme: name,
|
|
79
|
+
color: "$color10",
|
|
80
|
+
height: "$4",
|
|
81
|
+
rotate: "-10deg",
|
|
82
|
+
$sm: {
|
|
83
|
+
height: "$2"
|
|
84
|
+
},
|
|
85
|
+
$xs: {
|
|
86
|
+
height: "$1"
|
|
87
|
+
},
|
|
88
|
+
children: name
|
|
89
|
+
}, name))
|
|
90
|
+
})]
|
|
91
|
+
})]
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
function getColors(colors, dark = !1) {
|
|
95
|
+
return colorGroups.map(group => Object.keys(colors).filter(color => color.startsWith(group) && (dark ? color.endsWith("Dark") : !color.endsWith("Dark"))).map(key => colors[key]));
|
|
96
|
+
}
|
|
97
|
+
export { ColorsDemo };
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { X } from "@tamagui/lucide-icons";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { Adapt, Button, Dialog, Fieldset, Input, Label, Paragraph, Sheet, TooltipSimple, Unspaced, XStack } from "tamagui";
|
|
4
|
+
import { SelectDemoItem } from "./SelectDemo.mjs";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
function DialogDemo() {
|
|
7
|
+
return /* @__PURE__ */jsx(DialogInstance, {});
|
|
8
|
+
}
|
|
9
|
+
function DialogInstance() {
|
|
10
|
+
const [open, setOpen] = useState(!1);
|
|
11
|
+
return /* @__PURE__ */jsxs(Dialog, {
|
|
12
|
+
modal: !0,
|
|
13
|
+
onOpenChange: open2 => {
|
|
14
|
+
setOpen(open2);
|
|
15
|
+
},
|
|
16
|
+
children: [/* @__PURE__ */jsx(Dialog.Trigger, {
|
|
17
|
+
asChild: !0,
|
|
18
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
19
|
+
children: "Show Dialog"
|
|
20
|
+
})
|
|
21
|
+
}), /* @__PURE__ */jsx(Adapt, {
|
|
22
|
+
when: "sm",
|
|
23
|
+
platform: "touch",
|
|
24
|
+
children: /* @__PURE__ */jsxs(Sheet, {
|
|
25
|
+
animation: "medium",
|
|
26
|
+
zIndex: 2e5,
|
|
27
|
+
modal: !0,
|
|
28
|
+
dismissOnSnapToBottom: !0,
|
|
29
|
+
children: [/* @__PURE__ */jsx(Sheet.Frame, {
|
|
30
|
+
padding: "$4",
|
|
31
|
+
gap: "$4",
|
|
32
|
+
children: /* @__PURE__ */jsx(Adapt.Contents, {})
|
|
33
|
+
}), /* @__PURE__ */jsx(Sheet.Overlay, {
|
|
34
|
+
animation: "lazy",
|
|
35
|
+
enterStyle: {
|
|
36
|
+
opacity: 0
|
|
37
|
+
},
|
|
38
|
+
exitStyle: {
|
|
39
|
+
opacity: 0
|
|
40
|
+
}
|
|
41
|
+
})]
|
|
42
|
+
})
|
|
43
|
+
}), /* @__PURE__ */jsxs(Dialog.Portal, {
|
|
44
|
+
children: [/* @__PURE__ */jsx(Dialog.Overlay, {
|
|
45
|
+
animation: "quick",
|
|
46
|
+
opacity: 0.5,
|
|
47
|
+
enterStyle: {
|
|
48
|
+
opacity: 0
|
|
49
|
+
},
|
|
50
|
+
exitStyle: {
|
|
51
|
+
opacity: 0
|
|
52
|
+
}
|
|
53
|
+
}, "overlay"), /* @__PURE__ */jsxs(Dialog.Content, {
|
|
54
|
+
bordered: !0,
|
|
55
|
+
elevate: !0,
|
|
56
|
+
animateOnly: ["transform", "opacity"],
|
|
57
|
+
animation: ["quick", {
|
|
58
|
+
opacity: {
|
|
59
|
+
overshootClamping: !0
|
|
60
|
+
}
|
|
61
|
+
}],
|
|
62
|
+
enterStyle: {
|
|
63
|
+
x: 0,
|
|
64
|
+
y: -20,
|
|
65
|
+
opacity: 0,
|
|
66
|
+
scale: 0.9
|
|
67
|
+
},
|
|
68
|
+
exitStyle: {
|
|
69
|
+
x: 0,
|
|
70
|
+
y: 10,
|
|
71
|
+
opacity: 0,
|
|
72
|
+
scale: 0.95
|
|
73
|
+
},
|
|
74
|
+
gap: "$4",
|
|
75
|
+
children: [/* @__PURE__ */jsx(Dialog.Title, {
|
|
76
|
+
children: "Edit profile"
|
|
77
|
+
}), /* @__PURE__ */jsx(Dialog.Description, {
|
|
78
|
+
children: "Make changes to your profile here. Click save when you're done."
|
|
79
|
+
}), /* @__PURE__ */jsxs(Fieldset, {
|
|
80
|
+
gap: "$4",
|
|
81
|
+
horizontal: !0,
|
|
82
|
+
children: [/* @__PURE__ */jsx(Label, {
|
|
83
|
+
width: 160,
|
|
84
|
+
justifyContent: "flex-end",
|
|
85
|
+
htmlFor: "name",
|
|
86
|
+
children: "Name"
|
|
87
|
+
}), /* @__PURE__ */jsx(Input, {
|
|
88
|
+
flex: 1,
|
|
89
|
+
id: "name",
|
|
90
|
+
defaultValue: "Nate Wienert"
|
|
91
|
+
})]
|
|
92
|
+
}), /* @__PURE__ */jsxs(Fieldset, {
|
|
93
|
+
gap: "$4",
|
|
94
|
+
horizontal: !0,
|
|
95
|
+
children: [/* @__PURE__ */jsx(Label, {
|
|
96
|
+
width: 160,
|
|
97
|
+
justifyContent: "flex-end",
|
|
98
|
+
htmlFor: "username",
|
|
99
|
+
children: /* @__PURE__ */jsx(TooltipSimple, {
|
|
100
|
+
label: "Pick your favorite",
|
|
101
|
+
placement: "bottom-start",
|
|
102
|
+
children: /* @__PURE__ */jsx(Paragraph, {
|
|
103
|
+
children: "Food"
|
|
104
|
+
})
|
|
105
|
+
})
|
|
106
|
+
}), /* @__PURE__ */jsx(SelectDemoItem, {})]
|
|
107
|
+
}), /* @__PURE__ */jsxs(XStack, {
|
|
108
|
+
alignSelf: "flex-end",
|
|
109
|
+
gap: "$4",
|
|
110
|
+
children: [/* @__PURE__ */jsx(DialogInstance, {}), /* @__PURE__ */jsx(Dialog.Close, {
|
|
111
|
+
displayWhenAdapted: !0,
|
|
112
|
+
asChild: !0,
|
|
113
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
114
|
+
theme: "active",
|
|
115
|
+
"aria-label": "Close",
|
|
116
|
+
children: "Save changes"
|
|
117
|
+
})
|
|
118
|
+
})]
|
|
119
|
+
}), /* @__PURE__ */jsx(Unspaced, {
|
|
120
|
+
children: /* @__PURE__ */jsx(Dialog.Close, {
|
|
121
|
+
asChild: !0,
|
|
122
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
123
|
+
position: "absolute",
|
|
124
|
+
top: "$3",
|
|
125
|
+
right: "$3",
|
|
126
|
+
size: "$2",
|
|
127
|
+
circular: !0,
|
|
128
|
+
icon: X
|
|
129
|
+
})
|
|
130
|
+
})
|
|
131
|
+
})]
|
|
132
|
+
}, "content")]
|
|
133
|
+
})]
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
export { DialogDemo };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/FormsDemo.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,WAAW,gBAAgB;
|
|
4
|
+
"mappings": "AAAA,SAAS,WAAW,gBAAgB;AAEpC,SAAS,QAAQ,MAAM,IAAI,eAAe;AAetC,SAWE,KAXF;AAbG,SAAS,UAAU,OAA6B;AACrD,QAAM,CAAC,QAAQ,SAAS,IAAI,SAA6C,KAAK;AAE9E,mBAAU,MAAM;AACd,QAAI,WAAW,cAAc;AAC3B,YAAM,QAAQ,WAAW,MAAM,UAAU,KAAK,GAAG,GAAI;AACrD,aAAO,MAAM;AACX,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,CAAC,GAGT;AAAA,IAAC;AAAA;AAAA,MACC,YAAW;AAAA,MACX,UAAU;AAAA,MACV,KAAI;AAAA,MACJ,UAAU,MAAM,UAAU,YAAY;AAAA,MACtC,aAAa;AAAA,MACb,cAAa;AAAA,MACb,iBAAgB;AAAA,MAChB,aAAY;AAAA,MACZ,SAAQ;AAAA,MAER;AAAA,4BAAC,MAAI,iBAAO,CAAC,EAAE,YAAY,IAAI,OAAO,MAAM,CAAC,GAAE;AAAA,QAE/C,oBAAC,KAAK,SAAL,EAAa,SAAO,IAAC,UAAU,WAAW,OACzC,8BAAC,UAAO,MAAM,WAAW,eAAe,MAAM,oBAAC,WAAQ,IAAK,QAAW,oBAEvE,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
import { Button, Form, H4, Spinner } from "tamagui";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
function FormsDemo(props) {
|
|
5
|
+
const [status, setStatus] = useState("off");
|
|
6
|
+
return useEffect(() => {
|
|
7
|
+
if (status === "submitting") {
|
|
8
|
+
const timer = setTimeout(() => setStatus("off"), 2e3);
|
|
9
|
+
return () => {
|
|
10
|
+
clearTimeout(timer);
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
}, [status]), /* @__PURE__ */jsxs(Form, {
|
|
14
|
+
alignItems: "center",
|
|
15
|
+
minWidth: 300,
|
|
16
|
+
gap: "$2",
|
|
17
|
+
onSubmit: () => setStatus("submitting"),
|
|
18
|
+
borderWidth: 1,
|
|
19
|
+
borderRadius: "$4",
|
|
20
|
+
backgroundColor: "$background",
|
|
21
|
+
borderColor: "$borderColor",
|
|
22
|
+
padding: "$8",
|
|
23
|
+
children: [/* @__PURE__ */jsx(H4, {
|
|
24
|
+
children: status[0].toUpperCase() + status.slice(1)
|
|
25
|
+
}), /* @__PURE__ */jsx(Form.Trigger, {
|
|
26
|
+
asChild: !0,
|
|
27
|
+
disabled: status !== "off",
|
|
28
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
29
|
+
icon: status === "submitting" ? () => /* @__PURE__ */jsx(Spinner, {}) : void 0,
|
|
30
|
+
children: "Submit"
|
|
31
|
+
})
|
|
32
|
+
})]
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
export { FormsDemo };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/FormsDemo.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoC,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoC,kBAEpC,iBAA0C,oBAetC;AAbG,SAAS,UAAU,OAA6B;AACrD,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAA6C,KAAK;AAE9E,qCAAU,MAAM;AACd,QAAI,WAAW,cAAc;AAC3B,YAAM,QAAQ,WAAW,MAAM,UAAU,KAAK,GAAG,GAAI;AACrD,aAAO,MAAM;AACX,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,CAAC,GAGT;AAAA,IAAC;AAAA;AAAA,MACC,YAAW;AAAA,MACX,UAAU;AAAA,MACV,KAAI;AAAA,MACJ,UAAU,MAAM,UAAU,YAAY;AAAA,MACtC,aAAa;AAAA,MACb,cAAa;AAAA,MACb,iBAAgB;AAAA,MAChB,aAAY;AAAA,MACZ,SAAQ;AAAA,MAER;AAAA,oDAAC,qBAAI,iBAAO,CAAC,EAAE,YAAY,IAAI,OAAO,MAAM,CAAC,GAAE;AAAA,QAE/C,4CAAC,oBAAK,SAAL,EAAa,SAAO,IAAC,UAAU,WAAW,OACzC,sDAAC,yBAAO,MAAM,WAAW,eAAe,MAAM,4CAAC,0BAAQ,IAAK,QAAW,oBAEvE,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { isWeb } from "@tamagui/core";
|
|
2
|
+
import { XStack } from "@tamagui/stacks";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
function Grid({
|
|
6
|
+
children,
|
|
7
|
+
columns,
|
|
8
|
+
itemMinWidth = 200,
|
|
9
|
+
gap
|
|
10
|
+
}) {
|
|
11
|
+
if (isWeb) return /* @__PURE__ */jsx("div", {
|
|
12
|
+
style: {
|
|
13
|
+
gap,
|
|
14
|
+
display: "grid",
|
|
15
|
+
justifyContent: "stretch",
|
|
16
|
+
// gridTemplateRows: 'repeat(4, 1fr)',
|
|
17
|
+
gridTemplateColumns: `repeat( auto-fit, minmax(${itemMinWidth}px, 1fr) )`
|
|
18
|
+
// gridTemplateColumns: '1fr 1fr',
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
children
|
|
22
|
+
});
|
|
23
|
+
const childrenList = React.Children.toArray(children);
|
|
24
|
+
return /* @__PURE__ */jsx(XStack, {
|
|
25
|
+
alignItems: "center",
|
|
26
|
+
justifyContent: "center",
|
|
27
|
+
flexWrap: "wrap",
|
|
28
|
+
children: childrenList.map((child, i) => child ? /* @__PURE__ */jsx(XStack, {
|
|
29
|
+
flex: 1,
|
|
30
|
+
minWidth: itemMinWidth,
|
|
31
|
+
marginRight: gap,
|
|
32
|
+
marginBottom: gap,
|
|
33
|
+
children: child
|
|
34
|
+
}, i) : null)
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
export { Grid };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Activity, Airplay } from "@tamagui/lucide-icons";
|
|
2
|
+
import { Button, Group, ListItem, Separator, XGroup, YGroup, YStack } from "tamagui";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
function GroupDemo() {
|
|
5
|
+
return /* @__PURE__ */jsxs(YStack, {
|
|
6
|
+
padding: "$3",
|
|
7
|
+
space: "$2",
|
|
8
|
+
alignItems: "center",
|
|
9
|
+
children: [/* @__PURE__ */jsxs(Group, {
|
|
10
|
+
orientation: "horizontal",
|
|
11
|
+
children: [/* @__PURE__ */jsx(Group.Item, {
|
|
12
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
13
|
+
children: "First"
|
|
14
|
+
})
|
|
15
|
+
}), /* @__PURE__ */jsx(Group.Item, {
|
|
16
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
17
|
+
children: "Second"
|
|
18
|
+
})
|
|
19
|
+
}), /* @__PURE__ */jsx(Group.Item, {
|
|
20
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
21
|
+
children: "Third"
|
|
22
|
+
})
|
|
23
|
+
})]
|
|
24
|
+
}), /* @__PURE__ */jsxs(XGroup, {
|
|
25
|
+
size: "$3",
|
|
26
|
+
$gtSm: {
|
|
27
|
+
size: "$5"
|
|
28
|
+
},
|
|
29
|
+
children: [/* @__PURE__ */jsx(XGroup.Item, {
|
|
30
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
31
|
+
size: "$3",
|
|
32
|
+
icon: Activity,
|
|
33
|
+
children: "First"
|
|
34
|
+
})
|
|
35
|
+
}), /* @__PURE__ */jsx(XGroup.Item, {
|
|
36
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
37
|
+
size: "$3",
|
|
38
|
+
icon: Airplay,
|
|
39
|
+
children: "Second"
|
|
40
|
+
})
|
|
41
|
+
})]
|
|
42
|
+
}), /* @__PURE__ */jsxs(YGroup, {
|
|
43
|
+
separator: /* @__PURE__ */jsx(Separator, {}),
|
|
44
|
+
children: [/* @__PURE__ */jsx(YGroup.Item, {
|
|
45
|
+
children: /* @__PURE__ */jsx(ListItem, {
|
|
46
|
+
title: "First"
|
|
47
|
+
})
|
|
48
|
+
}), /* @__PURE__ */jsx(YGroup.Item, {
|
|
49
|
+
children: /* @__PURE__ */jsx(ListItem, {
|
|
50
|
+
title: "Second",
|
|
51
|
+
subTitle: "Second subtitle"
|
|
52
|
+
})
|
|
53
|
+
}), /* @__PURE__ */jsx(YGroup.Item, {
|
|
54
|
+
children: /* @__PURE__ */jsx(ListItem, {
|
|
55
|
+
children: "Third"
|
|
56
|
+
})
|
|
57
|
+
})]
|
|
58
|
+
})]
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
export { GroupDemo };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { H1, H2, H3, H4, H5, H6, YStack } from "tamagui";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
function HeadingsDemo() {
|
|
4
|
+
return /* @__PURE__ */jsxs(YStack, {
|
|
5
|
+
alignSelf: "center",
|
|
6
|
+
children: [/* @__PURE__ */jsx(H1, {
|
|
7
|
+
children: "Heading 1"
|
|
8
|
+
}), /* @__PURE__ */jsx(H2, {
|
|
9
|
+
children: "Heading 2"
|
|
10
|
+
}), /* @__PURE__ */jsx(H3, {
|
|
11
|
+
children: "Heading 3"
|
|
12
|
+
}), /* @__PURE__ */jsx(H4, {
|
|
13
|
+
children: "Heading 4"
|
|
14
|
+
}), /* @__PURE__ */jsx(H5, {
|
|
15
|
+
children: "Heading 5"
|
|
16
|
+
}), /* @__PURE__ */jsx(H6, {
|
|
17
|
+
children: "Heading 6"
|
|
18
|
+
})]
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export { HeadingsDemo };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Image } from "tamagui";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
function ImageDemo() {
|
|
4
|
+
return /* @__PURE__ */jsx(Image, {
|
|
5
|
+
source: {
|
|
6
|
+
uri: "https://placekitten.com/200/300",
|
|
7
|
+
width: 200,
|
|
8
|
+
height: 300
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
export { ImageDemo };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/InputsDemo.tsx"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "AACA,SAAS,QAAQ,OAAO,UAAU,QAAQ,cAAc;AAIpD,SAQE,KARF;AAFG,SAAS,aAAa;AAC3B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAS;AAAA,MACT,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MAER;AAAA,4BAAC,aAAU,MAAK,MAAK;AAAA,QACrB,oBAAC,aAAU,MAAK,MAAK;AAAA,QACrB,oBAAC,aAAU,MAAK,MAAK;AAAA,QACrB,oBAAC,YAAS,aAAY,yBAAwB;AAAA;AAAA;AAAA,EAChD;AAEJ;AAEA,SAAS,UAAU,OAA6B;AAC9C,SACE,qBAAC,UAAO,YAAW,UAAS,OAAM,MAChC;AAAA,wBAAC,SAAM,MAAM,GAAG,MAAM,MAAM,MAAM,aAAa,QAAQ,MAAM,IAAI,OAAO;AAAA,IACxE,oBAAC,UAAO,MAAM,MAAM,MAAM,gBAAE;AAAA,KAC9B;AAEJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Button, Input, TextArea, XStack, YStack } from "tamagui";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
function InputsDemo() {
|
|
4
|
+
return /* @__PURE__ */jsxs(YStack, {
|
|
5
|
+
width: 200,
|
|
6
|
+
minHeight: 250,
|
|
7
|
+
overflow: "hidden",
|
|
8
|
+
space: "$2",
|
|
9
|
+
margin: "$3",
|
|
10
|
+
padding: "$2",
|
|
11
|
+
children: [/* @__PURE__ */jsx(InputDemo, {
|
|
12
|
+
size: "$2"
|
|
13
|
+
}), /* @__PURE__ */jsx(InputDemo, {
|
|
14
|
+
size: "$3"
|
|
15
|
+
}), /* @__PURE__ */jsx(InputDemo, {
|
|
16
|
+
size: "$4"
|
|
17
|
+
}), /* @__PURE__ */jsx(TextArea, {
|
|
18
|
+
placeholder: "Enter your details..."
|
|
19
|
+
})]
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function InputDemo(props) {
|
|
23
|
+
return /* @__PURE__ */jsxs(XStack, {
|
|
24
|
+
alignItems: "center",
|
|
25
|
+
space: "$2",
|
|
26
|
+
children: [/* @__PURE__ */jsx(Input, {
|
|
27
|
+
flex: 1,
|
|
28
|
+
size: props.size,
|
|
29
|
+
placeholder: `Size ${props.size}...`
|
|
30
|
+
}), /* @__PURE__ */jsx(Button, {
|
|
31
|
+
size: props.size,
|
|
32
|
+
children: "Go"
|
|
33
|
+
})]
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
export { InputsDemo };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/InputsDemo.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAAwD,oBAIpD;AAFG,SAAS,aAAa;AAC3B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAS;AAAA,MACT,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MAER;AAAA,oDAAC,aAAU,MAAK,MAAK;AAAA,QACrB,4CAAC,aAAU,MAAK,MAAK;AAAA,QACrB,4CAAC,aAAU,MAAK,MAAK;AAAA,QACrB,4CAAC,2BAAS,aAAY,yBAAwB;AAAA;AAAA;AAAA,EAChD;AAEJ;AAEA,SAAS,UAAU,OAA6B;AAC9C,SACE,6CAAC,yBAAO,YAAW,UAAS,OAAM,MAChC;AAAA,gDAAC,wBAAM,MAAM,GAAG,MAAM,MAAM,MAAM,aAAa,QAAQ,MAAM,IAAI,OAAO;AAAA,IACxE,4CAAC,yBAAO,MAAM,MAAM,MAAM,gBAAE;AAAA,KAC9B;AAEJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Input, Label, Switch, XStack, YStack } from "tamagui";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
function LabelDemo() {
|
|
4
|
+
return /* @__PURE__ */jsxs(YStack, {
|
|
5
|
+
padding: "$3",
|
|
6
|
+
minWidth: 300,
|
|
7
|
+
space: "$4",
|
|
8
|
+
children: [/* @__PURE__ */jsxs(XStack, {
|
|
9
|
+
alignItems: "center",
|
|
10
|
+
space: "$4",
|
|
11
|
+
children: [/* @__PURE__ */jsx(Label, {
|
|
12
|
+
width: 90,
|
|
13
|
+
htmlFor: "name",
|
|
14
|
+
children: "Name"
|
|
15
|
+
}), /* @__PURE__ */jsx(Input, {
|
|
16
|
+
flex: 1,
|
|
17
|
+
id: "name",
|
|
18
|
+
defaultValue: "Nate Wienert"
|
|
19
|
+
})]
|
|
20
|
+
}), /* @__PURE__ */jsxs(XStack, {
|
|
21
|
+
alignItems: "center",
|
|
22
|
+
space: "$4",
|
|
23
|
+
children: [/* @__PURE__ */jsx(Label, {
|
|
24
|
+
width: 90,
|
|
25
|
+
htmlFor: "notify",
|
|
26
|
+
children: "Notifications"
|
|
27
|
+
}), /* @__PURE__ */jsx(Switch, {
|
|
28
|
+
id: "notify",
|
|
29
|
+
children: /* @__PURE__ */jsx(Switch.Thumb, {
|
|
30
|
+
animation: "quick"
|
|
31
|
+
})
|
|
32
|
+
})]
|
|
33
|
+
})]
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
export { LabelDemo };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { XStack } from "tamagui";
|
|
2
|
+
import { LinearGradient } from "tamagui/linear-gradient";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
function LinearGradientDemo() {
|
|
5
|
+
return /* @__PURE__ */jsxs(XStack, {
|
|
6
|
+
space: !0,
|
|
7
|
+
children: [/* @__PURE__ */jsx(LinearGradient, {
|
|
8
|
+
width: "$6",
|
|
9
|
+
height: "$6",
|
|
10
|
+
borderRadius: "$4",
|
|
11
|
+
colors: ["$red10", "$yellow10"],
|
|
12
|
+
start: [0, 1],
|
|
13
|
+
end: [0, 0]
|
|
14
|
+
}), /* @__PURE__ */jsx(LinearGradient, {
|
|
15
|
+
width: "$6",
|
|
16
|
+
height: "$6",
|
|
17
|
+
borderRadius: "$4",
|
|
18
|
+
colors: ["$background", "$color"],
|
|
19
|
+
start: [1, 1],
|
|
20
|
+
end: [0, 0]
|
|
21
|
+
})]
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
export { LinearGradientDemo };
|