@tamagui/demos 1.2.8 → 1.2.10
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/dist/esm/AddThemeDemo.mjs +35 -0
- package/dist/esm/AddThemeDemo.mjs.map +7 -0
- package/dist/esm/AlertDialogDemo.mjs +53 -0
- package/dist/esm/AlertDialogDemo.mjs.map +7 -0
- package/dist/esm/AnimationsDemo.mjs +89 -0
- package/dist/esm/AnimationsDemo.mjs.map +7 -0
- package/dist/esm/AnimationsEnterDemo.mjs +40 -0
- package/dist/esm/AnimationsEnterDemo.mjs.map +7 -0
- package/dist/esm/AnimationsHoverDemo.mjs +26 -0
- package/dist/esm/AnimationsHoverDemo.mjs.map +7 -0
- package/dist/esm/AnimationsPresenceDemo.mjs +62 -0
- package/dist/esm/AnimationsPresenceDemo.mjs.map +7 -0
- package/dist/esm/AnimationsTimingDemo.mjs +26 -0
- package/dist/esm/AnimationsTimingDemo.mjs.map +7 -0
- package/dist/esm/AvatarDemo.mjs +30 -0
- package/dist/esm/AvatarDemo.mjs.map +7 -0
- package/dist/esm/ButtonDemo.mjs +25 -0
- package/dist/esm/ButtonDemo.mjs.map +7 -0
- package/dist/esm/CardDemo.mjs +46 -0
- package/dist/esm/CardDemo.mjs.map +7 -0
- package/dist/esm/ColorsDemo.mjs +96 -0
- package/dist/esm/ColorsDemo.mjs.map +7 -0
- package/dist/esm/DialogDemo.mjs +72 -0
- package/dist/esm/DialogDemo.mjs.map +7 -0
- package/dist/esm/FeatherIconsDemo.mjs +33 -0
- package/dist/esm/FeatherIconsDemo.mjs.map +7 -0
- package/dist/esm/FormsDemo.mjs +20 -0
- package/dist/esm/FormsDemo.mjs.map +7 -0
- package/dist/esm/GroupDemo.mjs +25 -0
- package/dist/esm/GroupDemo.mjs.map +7 -0
- package/dist/esm/HeadingsDemo.mjs +16 -0
- package/dist/esm/HeadingsDemo.mjs.map +7 -0
- package/dist/esm/ImageDemo.mjs +9 -0
- package/dist/esm/ImageDemo.mjs.map +7 -0
- package/dist/esm/LabelDemo.mjs +18 -0
- package/dist/esm/LabelDemo.mjs.map +7 -0
- package/dist/esm/LinearGradientDemo.mjs +33 -0
- package/dist/esm/LinearGradientDemo.mjs.map +7 -0
- package/dist/esm/ListItemDemo.mjs +47 -0
- package/dist/esm/ListItemDemo.mjs.map +7 -0
- package/dist/esm/LucideIconsDemo.mjs +33 -0
- package/dist/esm/LucideIconsDemo.mjs.map +7 -0
- package/dist/esm/PopoverDemo.mjs +76 -0
- package/dist/esm/PopoverDemo.mjs.map +7 -0
- package/dist/esm/ProgressDemo.mjs +55 -0
- package/dist/esm/ProgressDemo.mjs.map +7 -0
- package/dist/esm/ScrollViewDemo.mjs +18 -0
- package/dist/esm/ScrollViewDemo.mjs.map +7 -0
- package/dist/esm/SelectDemo.mjs +80 -0
- package/dist/esm/SelectDemo.mjs.map +7 -0
- package/dist/esm/SeparatorDemo.mjs +20 -0
- package/dist/esm/SeparatorDemo.mjs.map +7 -0
- package/dist/esm/ShapesDemo.mjs +12 -0
- package/dist/esm/ShapesDemo.mjs.map +7 -0
- package/dist/esm/SheetDemo.mjs +78 -0
- package/dist/esm/SheetDemo.mjs.map +7 -0
- package/dist/esm/SliderDemo.mjs +19 -0
- package/dist/esm/SliderDemo.mjs.map +7 -0
- package/dist/esm/SpinnerDemo.mjs +12 -0
- package/dist/esm/SpinnerDemo.mjs.map +7 -0
- package/dist/esm/StacksDemo.mjs +25 -0
- package/dist/esm/StacksDemo.mjs.map +7 -0
- package/dist/esm/SwitchDemo.mjs +22 -0
- package/dist/esm/SwitchDemo.mjs.map +7 -0
- package/dist/esm/TextDemo.mjs +17 -0
- package/dist/esm/TextDemo.mjs.map +7 -0
- package/dist/esm/ThemeInverseDemo.mjs +20 -0
- package/dist/esm/ThemeInverseDemo.mjs.map +7 -0
- package/dist/esm/TokensDemo.mjs +100 -0
- package/dist/esm/TokensDemo.mjs.map +7 -0
- package/dist/esm/TooltipDemo.mjs +69 -0
- package/dist/esm/TooltipDemo.mjs.map +7 -0
- package/dist/esm/UpdateThemeDemo.mjs +55 -0
- package/dist/esm/UpdateThemeDemo.mjs.map +7 -0
- package/dist/esm/conf.mjs +5 -0
- package/dist/esm/conf.mjs.map +7 -0
- package/dist/esm/index.mjs +78 -0
- package/dist/esm/index.mjs.map +7 -0
- package/dist/esm/tamagui.config.mjs +6 -0
- package/dist/esm/tamagui.config.mjs.map +7 -0
- package/dist/esm/useOnIntersecting.mjs +68 -0
- package/dist/esm/useOnIntersecting.mjs.map +7 -0
- package/dist/jsx/AddThemeDemo.mjs +30 -0
- package/dist/jsx/AddThemeDemo.mjs.map +7 -0
- package/dist/jsx/AlertDialogDemo.mjs +45 -0
- package/dist/jsx/AlertDialogDemo.mjs.map +7 -0
- package/dist/jsx/AnimationsDemo.mjs +81 -0
- package/dist/jsx/AnimationsDemo.mjs.map +7 -0
- package/dist/jsx/AnimationsEnterDemo.mjs +35 -0
- package/dist/jsx/AnimationsEnterDemo.mjs.map +7 -0
- package/dist/jsx/AnimationsHoverDemo.mjs +21 -0
- package/dist/jsx/AnimationsHoverDemo.mjs.map +7 -0
- package/dist/jsx/AnimationsPresenceDemo.mjs +55 -0
- package/dist/jsx/AnimationsPresenceDemo.mjs.map +7 -0
- package/dist/jsx/AnimationsTimingDemo.mjs +21 -0
- package/dist/jsx/AnimationsTimingDemo.mjs.map +7 -0
- package/dist/jsx/AvatarDemo.mjs +23 -0
- package/dist/jsx/AvatarDemo.mjs.map +7 -0
- package/dist/jsx/ButtonDemo.mjs +24 -0
- package/dist/jsx/ButtonDemo.mjs.map +7 -0
- package/dist/jsx/CardDemo.mjs +39 -0
- package/dist/jsx/CardDemo.mjs.map +7 -0
- package/dist/jsx/ColorsDemo.mjs +84 -0
- package/dist/jsx/ColorsDemo.mjs.map +7 -0
- package/dist/jsx/DialogDemo.mjs +64 -0
- package/dist/jsx/DialogDemo.mjs.map +7 -0
- package/dist/jsx/FeatherIconsDemo.mjs +32 -0
- package/dist/jsx/FeatherIconsDemo.mjs.map +7 -0
- package/dist/jsx/FormsDemo.mjs +19 -0
- package/dist/jsx/FormsDemo.mjs.map +7 -0
- package/dist/jsx/GroupDemo.mjs +24 -0
- package/dist/jsx/GroupDemo.mjs.map +7 -0
- package/dist/jsx/HeadingsDemo.mjs +15 -0
- package/dist/jsx/HeadingsDemo.mjs.map +7 -0
- package/dist/jsx/ImageDemo.mjs +8 -0
- package/dist/jsx/ImageDemo.mjs.map +7 -0
- package/dist/jsx/LabelDemo.mjs +17 -0
- package/dist/jsx/LabelDemo.mjs.map +7 -0
- package/dist/jsx/LinearGradientDemo.mjs +26 -0
- package/dist/jsx/LinearGradientDemo.mjs.map +7 -0
- package/dist/jsx/ListItemDemo.mjs +40 -0
- package/dist/jsx/ListItemDemo.mjs.map +7 -0
- package/dist/jsx/LucideIconsDemo.mjs +32 -0
- package/dist/jsx/LucideIconsDemo.mjs.map +7 -0
- package/dist/jsx/PopoverDemo.mjs +67 -0
- package/dist/jsx/PopoverDemo.mjs.map +7 -0
- package/dist/jsx/ProgressDemo.mjs +50 -0
- package/dist/jsx/ProgressDemo.mjs.map +7 -0
- package/dist/jsx/ScrollViewDemo.mjs +17 -0
- package/dist/jsx/ScrollViewDemo.mjs.map +7 -0
- package/dist/jsx/SelectDemo.mjs +73 -0
- package/dist/jsx/SelectDemo.mjs.map +7 -0
- package/dist/jsx/SeparatorDemo.mjs +19 -0
- package/dist/jsx/SeparatorDemo.mjs.map +7 -0
- package/dist/jsx/ShapesDemo.mjs +11 -0
- package/dist/jsx/ShapesDemo.mjs.map +7 -0
- package/dist/jsx/SheetDemo.mjs +64 -0
- package/dist/jsx/SheetDemo.mjs.map +7 -0
- package/dist/jsx/SliderDemo.mjs +18 -0
- package/dist/jsx/SliderDemo.mjs.map +7 -0
- package/dist/jsx/SpinnerDemo.mjs +11 -0
- package/dist/jsx/SpinnerDemo.mjs.map +7 -0
- package/dist/jsx/StacksDemo.mjs +24 -0
- package/dist/jsx/StacksDemo.mjs.map +7 -0
- package/dist/jsx/SwitchDemo.mjs +21 -0
- package/dist/jsx/SwitchDemo.mjs.map +7 -0
- package/dist/jsx/TextDemo.mjs +16 -0
- package/dist/jsx/TextDemo.mjs.map +7 -0
- package/dist/jsx/ThemeInverseDemo.mjs +19 -0
- package/dist/jsx/ThemeInverseDemo.mjs.map +7 -0
- package/dist/jsx/TokensDemo.mjs +91 -0
- package/dist/jsx/TokensDemo.mjs.map +7 -0
- package/dist/jsx/TooltipDemo.mjs +64 -0
- package/dist/jsx/TooltipDemo.mjs.map +7 -0
- package/dist/jsx/UpdateThemeDemo.mjs +50 -0
- package/dist/jsx/UpdateThemeDemo.mjs.map +7 -0
- package/dist/jsx/conf.mjs +5 -0
- package/dist/jsx/conf.mjs.map +7 -0
- package/dist/jsx/index.mjs +78 -0
- package/dist/jsx/index.mjs.map +7 -0
- package/dist/jsx/tamagui.config.mjs +6 -0
- package/dist/jsx/tamagui.config.mjs.map +7 -0
- package/dist/jsx/useOnIntersecting.mjs +68 -0
- package/dist/jsx/useOnIntersecting.mjs.map +7 -0
- package/package.json +17 -17
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/SheetDemo.tsx"],
|
|
4
|
+
"sourcesContent": ["import { ChevronDown, ChevronUp } from '@tamagui/lucide-icons'\nimport { Sheet } from '@tamagui/sheet'\nimport { SheetProps } from '@tamagui/sheet/types/types'\nimport { useState } from 'react'\nimport { Button, H1, H2, Paragraph, XStack } from 'tamagui'\n\nexport const SheetDemo = () => {\n const [position, setPosition] = useState(0)\n const [open, setOpen] = useState(false)\n const [modal, setModal] = useState(false)\n const [innerOpen, setInnerOpen] = useState(false)\n\n return (\n <>\n <XStack space>\n <Button onPress={() => setOpen(true)}>Open</Button>\n <Button onPress={() => setModal((x) => !x)}>\n {modal ? 'Type: Modal' : 'Type: Inline'}\n </Button>\n </XStack>\n\n <Sheet\n forceRemoveScrollEnabled={open}\n modal={modal}\n open={open}\n onOpenChange={setOpen}\n snapPoints={[85, 50, 25]}\n dismissOnSnapToBottom\n position={position}\n onPositionChange={setPosition}\n zIndex={100_000}\n >\n <Sheet.Overlay />\n <Sheet.Handle />\n <Sheet.Frame f={1} p=\"$4\" jc=\"center\" ai=\"center\" space=\"$5\">\n <Button size=\"$6\" circular icon={ChevronDown} onPress={() => setOpen(false)} />\n\n {modal && (\n <>\n <InnerSheet open={innerOpen} onOpenChange={setInnerOpen} />\n <Button\n size=\"$6\"\n circular\n icon={ChevronUp}\n onPress={() => setInnerOpen(true)}\n ></Button>\n </>\n )}\n </Sheet.Frame>\n </Sheet>\n </>\n )\n}\n\nfunction InnerSheet(props: SheetProps) {\n return (\n <Sheet modal snapPoints={[90]} dismissOnSnapToBottom {...props}>\n <Sheet.Overlay />\n <Sheet.Handle />\n <Sheet.Frame f={1} jc=\"center\" ai=\"center\" space=\"$5\">\n <Sheet.ScrollView p=\"$4\" space>\n <Button\n size=\"$8\"\n circular\n als=\"center\"\n icon={ChevronDown}\n onPress={() => props.onOpenChange?.(false)}\n />\n <H1>Hello world</H1>\n <H2>You can scroll me</H2>\n {[1, 2, 3].map((i) => (\n <Paragraph key={i} size=\"$10\">\n Eu officia sunt ipsum nisi dolore labore est laborum laborum in esse ad\n pariatur. Dolor excepteur esse deserunt voluptate labore ea. Exercitation\n ipsum deserunt occaecat cupidatat consequat est adipisicing velit cupidatat\n ullamco veniam aliquip reprehenderit officia. Officia labore culpa ullamco\n velit. In sit occaecat velit ipsum fugiat esse aliqua dolor sint.\n </Paragraph>\n ))}\n </Sheet.ScrollView>\n </Sheet.Frame>\n </Sheet>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,aAAa,iBAAiB;AACvC,SAAS,aAAa;AAEtB,SAAS,gBAAgB;AACzB,SAAS,QAAQ,IAAI,IAAI,WAAW,cAAc;AAE3C,MAAM,YAAY,MAAM;AAC7B,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,CAAC;AAC1C,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AACtC,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,KAAK;AACxC,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,SACE;AAAA,IACE,CAAC,OAAO;AAAA,MACN,CAAC,OAAO,SAAS,MAAM,QAAQ,IAAI,GAAG,IAAI,EAAzC;AAAA,MACD,CAAC,OAAO,SAAS,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,IACtC,QAAQ,gBAAgB,eAC3B,EAFC;AAAA,IAGH,EALC;AAAA,IAOD,CAAC;AAAA,MACC,0BAA0B;AAAA,MAC1B,OAAO;AAAA,MACP,MAAM;AAAA,MACN,cAAc;AAAA,MACd,YAAY,CAAC,IAAI,IAAI,EAAE;AAAA,MACvB;AAAA,MACA,UAAU;AAAA,MACV,kBAAkB;AAAA,MAClB,QAAQ;AAAA;AAAA,MAER,CAAC,MAAM,QAAQ;AAAA,MACf,CAAC,MAAM,OAAO;AAAA,MACd,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,MAAM;AAAA,QACtD,CAAC,OAAO,KAAK,KAAK,SAAS,MAAM,aAAa,SAAS,MAAM,QAAQ,KAAK,GAAG;AAAA,SAE5E,SACC;AAAA,UACE,CAAC,WAAW,MAAM,WAAW,cAAc,cAAc;AAAA,UACzD,CAAC;AAAA,YACC,KAAK;AAAA,YACL;AAAA,YACA,MAAM;AAAA,YACN,SAAS,MAAM,aAAa,IAAI;AAAA,UACjC;AAAA,QACH;AAAA,MAEJ,EAdC,MAAM;AAAA,IAeT,EA5BC;AAAA,EA6BH;AAEJ;AAEA,SAAS,WAAW,OAAmB;AACrC,SACE,CAAC,MAAM,MAAM,YAAY,CAAC,EAAE,GAAG,0BAA0B;AAAA,IACvD,CAAC,MAAM,QAAQ;AAAA,IACf,CAAC,MAAM,OAAO;AAAA,IACd,CAAC,MAAM,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,SAAS,MAAM,KAC/C,CAAC,MAAM,WAAW,EAAE,KAAK;AAAA,MACvB,CAAC;AAAA,QACC,KAAK;AAAA,QACL;AAAA,QACA,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,SAAS,MAAM,MAAM,eAAe,KAAK;AAAA,MAC3C;AAAA,MACA,CAAC,GAAG,WAAW,EAAd;AAAA,MACD,CAAC,GAAG,iBAAiB,EAApB;AAAA,OACA,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,MACd,CAAC,UAAU,KAAK,GAAG,KAAK,MAAM,0WAM9B,EANC,UAOF;AAAA,IACH,EAnBC,MAAM,WAoBT,EArBC,MAAM;AAAA,EAsBT,EAzBC;AA2BL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Slider, XStack } from "tamagui";
|
|
2
|
+
function SliderDemo() {
|
|
3
|
+
return <XStack height={200} ai="center" space="$8">
|
|
4
|
+
<SimpleSlider height={200} orientation="vertical" />
|
|
5
|
+
<SimpleSlider width={200} />
|
|
6
|
+
</XStack>;
|
|
7
|
+
}
|
|
8
|
+
function SimpleSlider({ children, ...props }) {
|
|
9
|
+
return <Slider defaultValue={[50]} max={100} step={1} {...props}>
|
|
10
|
+
<Slider.Track><Slider.TrackActive /></Slider.Track>
|
|
11
|
+
<Slider.Thumb bordered circular elevate index={0} />
|
|
12
|
+
{children}
|
|
13
|
+
</Slider>;
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
SliderDemo
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=SliderDemo.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/SliderDemo.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Slider, SliderProps, Spacer, XStack } from 'tamagui'\n\nexport function SliderDemo() {\n return (\n <XStack height={200} ai=\"center\" space=\"$8\">\n <SimpleSlider height={200} orientation=\"vertical\" />\n <SimpleSlider width={200} />\n </XStack>\n )\n}\n\nfunction SimpleSlider({ children, ...props }: SliderProps) {\n return (\n <Slider defaultValue={[50]} max={100} step={1} {...props}>\n <Slider.Track>\n <Slider.TrackActive />\n </Slider.Track>\n <Slider.Thumb bordered circular elevate index={0} />\n {children}\n </Slider>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,QAA6B,cAAc;AAE7C,SAAS,aAAa;AAC3B,SACE,CAAC,OAAO,QAAQ,KAAK,GAAG,SAAS,MAAM;AAAA,IACrC,CAAC,aAAa,QAAQ,KAAK,YAAY,WAAW;AAAA,IAClD,CAAC,aAAa,OAAO,KAAK;AAAA,EAC5B,EAHC;AAKL;AAEA,SAAS,aAAa,EAAE,UAAU,GAAG,MAAM,GAAgB;AACzD,SACE,CAAC,OAAO,cAAc,CAAC,EAAE,GAAG,KAAK,KAAK,MAAM,OAAO;AAAA,IACjD,CAAC,OAAO,MACN,CAAC,OAAO,YAAY,EACtB,EAFC,OAAO;AAAA,IAGR,CAAC,OAAO,MAAM,SAAS,SAAS,QAAQ,OAAO,GAAG;AAAA,KACjD;AAAA,EACH,EANC;AAQL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Spinner, YStack } from "tamagui";
|
|
2
|
+
function SpinnerDemo() {
|
|
3
|
+
return <YStack p="$3" space="$4" ai="center">
|
|
4
|
+
<Spinner size="small" color="$green10" />
|
|
5
|
+
<Spinner size="large" color="$orange10" />
|
|
6
|
+
</YStack>;
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
SpinnerDemo
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=SpinnerDemo.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/SpinnerDemo.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Spinner, YStack } from 'tamagui'\n\nexport function SpinnerDemo() {\n return (\n <YStack p=\"$3\" space=\"$4\" ai=\"center\">\n <Spinner size=\"small\" color=\"$green10\" />\n <Spinner size=\"large\" color=\"$orange10\" />\n </YStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,SAAS,cAAc;AAEzB,SAAS,cAAc;AAC5B,SACE,CAAC,OAAO,EAAE,KAAK,MAAM,KAAK,GAAG;AAAA,IAC3B,CAAC,QAAQ,KAAK,QAAQ,MAAM,WAAW;AAAA,IACvC,CAAC,QAAQ,KAAK,QAAQ,MAAM,YAAY;AAAA,EAC1C,EAHC;AAKL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { XStack, YStack, ZStack } from "tamagui";
|
|
2
|
+
function StacksDemo() {
|
|
3
|
+
return <XStack maw={250} p="$2" als="center" space>
|
|
4
|
+
<YStack flex={1} space="$2" bw={2} boc="$color" br="$4" p="$2">
|
|
5
|
+
<YStack bc="$color" br="$3" p="$2" />
|
|
6
|
+
<YStack bc="$color" br="$3" p="$2" />
|
|
7
|
+
<YStack bc="$color" br="$3" p="$2" />
|
|
8
|
+
</YStack>
|
|
9
|
+
<XStack flex={1} space="$2" bw={2} boc="$color" br="$4" p="$2">
|
|
10
|
+
<YStack bc="$color" br="$3" p="$2" />
|
|
11
|
+
<YStack bc="$color" br="$3" p="$2" />
|
|
12
|
+
<YStack bc="$color" br="$3" p="$2" />
|
|
13
|
+
</XStack>
|
|
14
|
+
<ZStack maw={50} mah={85} w={100} flex={1}>
|
|
15
|
+
<YStack fullscreen bw={2} br="$4" p="$2" />
|
|
16
|
+
<YStack fullscreen y={10} x={10} bw={2} br="$4" p="$2" />
|
|
17
|
+
<YStack fullscreen y={20} x={20} bw={2} bc="$color" br="$4" p="$2" />
|
|
18
|
+
</ZStack>
|
|
19
|
+
</XStack>;
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
StacksDemo
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=StacksDemo.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/StacksDemo.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from 'react'\nimport { XStack, YStack, ZStack } from 'tamagui'\n\nexport function StacksDemo() {\n return (\n <XStack maw={250} p=\"$2\" als=\"center\" space>\n <YStack flex={1} space=\"$2\" bw={2} boc=\"$color\" br=\"$4\" p=\"$2\">\n <YStack bc=\"$color\" br=\"$3\" p=\"$2\" />\n <YStack bc=\"$color\" br=\"$3\" p=\"$2\" />\n <YStack bc=\"$color\" br=\"$3\" p=\"$2\" />\n </YStack>\n\n <XStack flex={1} space=\"$2\" bw={2} boc=\"$color\" br=\"$4\" p=\"$2\">\n <YStack bc=\"$color\" br=\"$3\" p=\"$2\" />\n <YStack bc=\"$color\" br=\"$3\" p=\"$2\" />\n <YStack bc=\"$color\" br=\"$3\" p=\"$2\" />\n </XStack>\n\n <ZStack maw={50} mah={85} w={100} flex={1}>\n <YStack fullscreen bw={2} br=\"$4\" p=\"$2\" />\n <YStack fullscreen y={10} x={10} bw={2} br=\"$4\" p=\"$2\" />\n <YStack fullscreen y={20} x={20} bw={2} bc=\"$color\" br=\"$4\" p=\"$2\" />\n </ZStack>\n </XStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,QAAQ,QAAQ,cAAc;AAEhC,SAAS,aAAa;AAC3B,SACE,CAAC,OAAO,KAAK,KAAK,EAAE,KAAK,IAAI,SAAS;AAAA,IACpC,CAAC,OAAO,MAAM,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI,SAAS,GAAG,KAAK,EAAE;AAAA,MACxD,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,MACnC,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,MACnC,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,IACrC,EAJC;AAAA,IAMD,CAAC,OAAO,MAAM,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI,SAAS,GAAG,KAAK,EAAE;AAAA,MACxD,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,MACnC,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,MACnC,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,IACrC,EAJC;AAAA,IAMD,CAAC,OAAO,KAAK,IAAI,KAAK,IAAI,GAAG,KAAK,MAAM;AAAA,MACtC,CAAC,OAAO,WAAW,IAAI,GAAG,GAAG,KAAK,EAAE,KAAK;AAAA,MACzC,CAAC,OAAO,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,KAAK,EAAE,KAAK;AAAA,MACvD,CAAC,OAAO,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,IACrE,EAJC;AAAA,EAKH,EAlBC;AAoBL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Label, Separator, Switch, XStack, YStack } from "tamagui";
|
|
2
|
+
function SwitchDemo() {
|
|
3
|
+
return <YStack w={200} ai="center" space="$3">
|
|
4
|
+
<SwitchWithLabel size="$2" />
|
|
5
|
+
<SwitchWithLabel size="$3" />
|
|
6
|
+
<SwitchWithLabel size="$4" />
|
|
7
|
+
<SwitchWithLabel size="$5" />
|
|
8
|
+
</YStack>;
|
|
9
|
+
}
|
|
10
|
+
function SwitchWithLabel(props) {
|
|
11
|
+
const id = `switch-${props.size.toString().slice(1)}`;
|
|
12
|
+
return <XStack w={200} ai="center" space="$4">
|
|
13
|
+
<Label pr="$0" miw={90} jc="flex-end" size={props.size} htmlFor={id}>Dark mode</Label>
|
|
14
|
+
<Separator mih={20} vertical />
|
|
15
|
+
<Switch id={id} size={props.size}><Switch.Thumb animation="quick" /></Switch>
|
|
16
|
+
</XStack>;
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
SwitchDemo
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=SwitchDemo.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/SwitchDemo.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Label, Separator, SizeTokens, Switch, XStack, YStack, styled } from 'tamagui'\n\nexport function SwitchDemo() {\n return (\n <YStack w={200} ai=\"center\" space=\"$3\">\n <SwitchWithLabel size=\"$2\" />\n <SwitchWithLabel size=\"$3\" />\n <SwitchWithLabel size=\"$4\" />\n <SwitchWithLabel size=\"$5\" />\n </YStack>\n )\n}\n\nfunction SwitchWithLabel(props: { size: SizeTokens }) {\n const id = `switch-${props.size.toString().slice(1)}`\n return (\n <XStack w={200} ai=\"center\" space=\"$4\">\n <Label pr=\"$0\" miw={90} jc=\"flex-end\" size={props.size} htmlFor={id}>\n Dark mode\n </Label>\n <Separator mih={20} vertical />\n <Switch id={id} size={props.size}>\n <Switch.Thumb animation=\"quick\" />\n </Switch>\n </XStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,OAAO,WAAuB,QAAQ,QAAQ,cAAsB;AAEtE,SAAS,aAAa;AAC3B,SACE,CAAC,OAAO,GAAG,KAAK,GAAG,SAAS,MAAM;AAAA,IAChC,CAAC,gBAAgB,KAAK,KAAK;AAAA,IAC3B,CAAC,gBAAgB,KAAK,KAAK;AAAA,IAC3B,CAAC,gBAAgB,KAAK,KAAK;AAAA,IAC3B,CAAC,gBAAgB,KAAK,KAAK;AAAA,EAC7B,EALC;AAOL;AAEA,SAAS,gBAAgB,OAA6B;AACpD,QAAM,KAAK,UAAU,MAAM,KAAK,SAAS,EAAE,MAAM,CAAC;AAClD,SACE,CAAC,OAAO,GAAG,KAAK,GAAG,SAAS,MAAM;AAAA,IAChC,CAAC,MAAM,GAAG,KAAK,KAAK,IAAI,GAAG,WAAW,MAAM,MAAM,MAAM,SAAS,IAAI,SAErE,EAFC;AAAA,IAGD,CAAC,UAAU,KAAK,IAAI,SAAS;AAAA,IAC7B,CAAC,OAAO,IAAI,IAAI,MAAM,MAAM,MAC1B,CAAC,OAAO,MAAM,UAAU,QAAQ,EAClC,EAFC;AAAA,EAGH,EARC;AAUL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Paragraph, SizableText, Text, XStack, YStack } from "tamagui";
|
|
2
|
+
function TextDemo() {
|
|
3
|
+
return <YStack space="$2" ai="center">
|
|
4
|
+
<Text>Text</Text>
|
|
5
|
+
<SizableText size="$3">SizableText</SizableText>
|
|
6
|
+
<XStack space>
|
|
7
|
+
<SizableText theme="alt1" size="$3">alt1</SizableText>
|
|
8
|
+
<SizableText theme="alt2" size="$3">alt2</SizableText>
|
|
9
|
+
</XStack>
|
|
10
|
+
<Paragraph size="$2" fow="800">Paragraph</Paragraph>
|
|
11
|
+
</YStack>;
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
TextDemo
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=TextDemo.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/TextDemo.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from 'react'\nimport { Paragraph, SizableText, Text, XStack, YStack } from 'tamagui'\n\nexport function TextDemo() {\n return (\n <YStack space=\"$2\" ai=\"center\">\n <Text>Text</Text>\n <SizableText size=\"$3\">SizableText</SizableText>\n <XStack space>\n <SizableText theme=\"alt1\" size=\"$3\">\n alt1\n </SizableText>\n <SizableText theme=\"alt2\" size=\"$3\">\n alt2\n </SizableText>\n </XStack>\n <Paragraph size=\"$2\" fow=\"800\">\n Paragraph\n </Paragraph>\n </YStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,WAAW,aAAa,MAAM,QAAQ,cAAc;AAEtD,SAAS,WAAW;AACzB,SACE,CAAC,OAAO,MAAM,KAAK,GAAG;AAAA,IACpB,CAAC,KAAK,IAAI,EAAT;AAAA,IACD,CAAC,YAAY,KAAK,KAAK,WAAW,EAAjC;AAAA,IACD,CAAC,OAAO;AAAA,MACN,CAAC,YAAY,MAAM,OAAO,KAAK,KAAK,IAEpC,EAFC;AAAA,MAGD,CAAC,YAAY,MAAM,OAAO,KAAK,KAAK,IAEpC,EAFC;AAAA,IAGH,EAPC;AAAA,IAQD,CAAC,UAAU,KAAK,KAAK,IAAI,MAAM,SAE/B,EAFC;AAAA,EAGH,EAdC;AAgBL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Button, Theme, XStack, YStack } from "tamagui";
|
|
2
|
+
function ThemeInverseDemo() {
|
|
3
|
+
return <XStack space>
|
|
4
|
+
<Buttons />
|
|
5
|
+
<Theme inverse><Buttons /></Theme>
|
|
6
|
+
</XStack>;
|
|
7
|
+
}
|
|
8
|
+
function Buttons() {
|
|
9
|
+
return <YStack bc="$background" p="$3" br="$3" space>
|
|
10
|
+
<Button>Dark</Button>
|
|
11
|
+
<Button themeInverse>Inversed</Button>
|
|
12
|
+
<Button theme="alt1">Alt1 Dark</Button>
|
|
13
|
+
<Theme name="yellow"><Button>Yellow dark</Button></Theme>
|
|
14
|
+
</YStack>;
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
ThemeInverseDemo
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=ThemeInverseDemo.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/ThemeInverseDemo.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Button, Theme, XStack, YStack } from 'tamagui'\n\nexport function ThemeInverseDemo() {\n return (\n <XStack space>\n <Buttons />\n <Theme inverse>\n <Buttons />\n </Theme>\n </XStack>\n )\n}\n\nfunction Buttons() {\n return (\n <YStack bc=\"$background\" p=\"$3\" br=\"$3\" space>\n <Button>Dark</Button>\n <Button themeInverse>Inversed</Button>\n <Button theme=\"alt1\">Alt1 Dark</Button>\n <Theme name=\"yellow\">\n <Button>Yellow dark</Button>\n </Theme>\n </YStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,QAAQ,OAAO,QAAQ,cAAc;AAEvC,SAAS,mBAAmB;AACjC,SACE,CAAC,OAAO;AAAA,IACN,CAAC,QAAQ;AAAA,IACT,CAAC,MAAM,QACL,CAAC,QAAQ,EACX,EAFC;AAAA,EAGH,EALC;AAOL;AAEA,SAAS,UAAU;AACjB,SACE,CAAC,OAAO,GAAG,cAAc,EAAE,KAAK,GAAG,KAAK;AAAA,IACtC,CAAC,OAAO,IAAI,EAAX;AAAA,IACD,CAAC,OAAO,aAAa,QAAQ,EAA5B;AAAA,IACD,CAAC,OAAO,MAAM,OAAO,SAAS,EAA7B;AAAA,IACD,CAAC,MAAM,KAAK,SACV,CAAC,OAAO,WAAW,EAAlB,OACH,EAFC;AAAA,EAGH,EAPC;AASL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { getConfig } from "@tamagui/core";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import {
|
|
4
|
+
Button,
|
|
5
|
+
H2,
|
|
6
|
+
H3,
|
|
7
|
+
H4,
|
|
8
|
+
Separator,
|
|
9
|
+
Square,
|
|
10
|
+
XGroup,
|
|
11
|
+
XStack,
|
|
12
|
+
YStack
|
|
13
|
+
} from "tamagui";
|
|
14
|
+
const sections = [
|
|
15
|
+
{
|
|
16
|
+
name: `Size`,
|
|
17
|
+
key: `size`
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: `Space`,
|
|
21
|
+
key: "space"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: `Space (-)`,
|
|
25
|
+
key: `spaceNegative`
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: `Radius`,
|
|
29
|
+
key: `radius`
|
|
30
|
+
}
|
|
31
|
+
];
|
|
32
|
+
function TokensDemo() {
|
|
33
|
+
const [section, setSection] = useState("size");
|
|
34
|
+
return <YStack space>
|
|
35
|
+
<XGroup ai="center" als="center">{sections.map(({ name, key }) => {
|
|
36
|
+
return <Button
|
|
37
|
+
key={key}
|
|
38
|
+
size="$3"
|
|
39
|
+
theme={section === key ? "active" : null}
|
|
40
|
+
fontFamily="$silkscreen"
|
|
41
|
+
onPress={() => setSection(key)}
|
|
42
|
+
>{name}</Button>;
|
|
43
|
+
})}</XGroup>
|
|
44
|
+
{(section === "size" || section === "spaceNegative" || section === "space" || section === "radius") && <SizeSection section={section} />}
|
|
45
|
+
</YStack>;
|
|
46
|
+
}
|
|
47
|
+
function SizeSection({ section }) {
|
|
48
|
+
const allTokens = getConfig().tokens;
|
|
49
|
+
const tokens = allTokens[section.startsWith("space") ? "space" : section];
|
|
50
|
+
const st = Object.keys(tokens).sort(
|
|
51
|
+
(a, b) => parseFloat(a) > parseFloat(b) ? 1 : -1
|
|
52
|
+
);
|
|
53
|
+
const spaceTokens = st.filter((t) => parseFloat(t) >= 0 && t !== "-0");
|
|
54
|
+
const spaceTokensNegative = st.filter((t) => parseFloat(t) < 0 || t === "-0").sort((a, b) => parseFloat(a) > parseFloat(b) ? -1 : 1);
|
|
55
|
+
return <YStack f={1} space>
|
|
56
|
+
<H2>Sizes</H2>
|
|
57
|
+
<YStack w="100%" space="$2" separator={<Separator />}>{(section === "spaceNegative" ? spaceTokensNegative : spaceTokens).map(
|
|
58
|
+
(token) => {
|
|
59
|
+
return <XStack w="100%" ai="center" key={token}>
|
|
60
|
+
<YStack w="25%"><H3 size="$6">
|
|
61
|
+
{"$"}
|
|
62
|
+
{token}
|
|
63
|
+
</H3></YStack>
|
|
64
|
+
<YStack w="20%"><H4 size="$5">
|
|
65
|
+
{tokens[token]?.val}
|
|
66
|
+
{"px"}
|
|
67
|
+
</H4></YStack>
|
|
68
|
+
<Square
|
|
69
|
+
size={tokens[token]?.val}
|
|
70
|
+
bc="$color3"
|
|
71
|
+
{...section === "spaceNegative" && {
|
|
72
|
+
bc: "$red3",
|
|
73
|
+
size: -tokens[spaceTokensNegative.find(
|
|
74
|
+
(t) => parseFloat(t) === -parseFloat(token)
|
|
75
|
+
) ?? token]?.val
|
|
76
|
+
}}
|
|
77
|
+
{...section === "radius" && {
|
|
78
|
+
// @ts-ignore
|
|
79
|
+
size: allTokens.size[token]?.val,
|
|
80
|
+
br: tokens[token]?.val
|
|
81
|
+
}}
|
|
82
|
+
/>
|
|
83
|
+
</XStack>;
|
|
84
|
+
}
|
|
85
|
+
)}</YStack>
|
|
86
|
+
</YStack>;
|
|
87
|
+
}
|
|
88
|
+
export {
|
|
89
|
+
TokensDemo
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=TokensDemo.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/TokensDemo.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Tokens, getConfig } from '@tamagui/core'\nimport { useState } from 'react'\nimport {\n Button,\n H2,\n H3,\n H4,\n ScrollView,\n Separator,\n Square,\n XGroup,\n XStack,\n YStack,\n} from 'tamagui'\n\ntype Section = 'spaceNegative' | keyof Tokens\n\nconst sections: { name: string; key: Section }[] = [\n {\n name: `Size`,\n key: `size`,\n },\n {\n name: `Space`,\n key: 'space',\n },\n {\n name: `Space (-)`,\n key: `spaceNegative`,\n },\n {\n name: `Radius`,\n key: `radius`,\n },\n]\n\nexport function TokensDemo() {\n const [section, setSection] = useState<Section>('size')\n\n return (\n <YStack space>\n <XGroup ai=\"center\" als=\"center\">\n {sections.map(({ name, key }) => {\n return (\n <Button\n key={key}\n size=\"$3\"\n theme={section === key ? 'active' : null}\n fontFamily=\"$silkscreen\"\n onPress={() => setSection(key)}\n >\n {name}\n </Button>\n )\n })}\n </XGroup>\n\n {(section === 'size' ||\n section === 'spaceNegative' ||\n section === 'space' ||\n section === 'radius') && <SizeSection section={section} />}\n </YStack>\n )\n}\n\nfunction SizeSection({ section }: { section: Section }) {\n const allTokens = getConfig().tokens\n const tokens = allTokens[section.startsWith('space') ? 'space' : section]\n const st = Object.keys(tokens).sort((a, b) =>\n parseFloat(a) > parseFloat(b) ? 1 : -1,\n )\n const spaceTokens = st.filter((t) => parseFloat(t) >= 0 && t !== '-0')\n const spaceTokensNegative = st\n .filter((t) => parseFloat(t) < 0 || t === '-0')\n .sort((a, b) => (parseFloat(a) > parseFloat(b) ? -1 : 1))\n\n return (\n <YStack f={1} space>\n <H2>Sizes</H2>\n <YStack w=\"100%\" space=\"$2\" separator={<Separator />}>\n {(section === 'spaceNegative' ? spaceTokensNegative : spaceTokens).map(\n (token) => {\n return (\n <XStack w=\"100%\" ai=\"center\" key={token}>\n <YStack w=\"25%\">\n <H3 size=\"$6\">${token}</H3>\n </YStack>\n <YStack w=\"20%\">\n <H4 size=\"$5\">{tokens[token]?.val}px</H4>\n </YStack>\n <Square\n size={tokens[token]?.val}\n bc=\"$color3\"\n {...(section === 'spaceNegative' && {\n bc: '$red3',\n size: -tokens[\n spaceTokensNegative.find(\n (t) => parseFloat(t) === -parseFloat(token),\n ) ?? token\n ]?.val,\n })}\n {...(section === 'radius' && {\n // @ts-ignore\n size: allTokens.size[token]?.val,\n br: tokens[token]?.val,\n })}\n />\n </XStack>\n )\n },\n )}\n </YStack>\n </YStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ChevronDown,
|
|
3
|
+
ChevronLeft,
|
|
4
|
+
ChevronRight,
|
|
5
|
+
ChevronUp,
|
|
6
|
+
Circle
|
|
7
|
+
} from "@tamagui/lucide-icons";
|
|
8
|
+
import {
|
|
9
|
+
Button,
|
|
10
|
+
Paragraph,
|
|
11
|
+
Theme,
|
|
12
|
+
Tooltip,
|
|
13
|
+
TooltipGroup,
|
|
14
|
+
XStack,
|
|
15
|
+
YStack
|
|
16
|
+
} from "tamagui";
|
|
17
|
+
function TooltipDemo() {
|
|
18
|
+
return <TooltipGroup delay={{ open: 3e3, close: 100 }}><YStack space="$2" als="center">
|
|
19
|
+
<XStack space="$2">
|
|
20
|
+
<Demo groupId="0" placement="top-end" Icon={Circle} />
|
|
21
|
+
<Demo groupId="1" placement="top" Icon={ChevronUp} />
|
|
22
|
+
<Demo groupId="2" placement="top-start" Icon={Circle} />
|
|
23
|
+
</XStack>
|
|
24
|
+
<XStack space="$2">
|
|
25
|
+
<Demo groupId="3" placement="left" Icon={ChevronLeft} />
|
|
26
|
+
<YStack f={1} />
|
|
27
|
+
<Demo groupId="4" placement="right" Icon={ChevronRight} />
|
|
28
|
+
</XStack>
|
|
29
|
+
<XStack space="$2">
|
|
30
|
+
<Demo groupId="5" placement="bottom-end" Icon={Circle} />
|
|
31
|
+
<Demo groupId="6" placement="bottom" Icon={ChevronDown} />
|
|
32
|
+
<Demo groupId="7" placement="bottom-start" Icon={Circle} />
|
|
33
|
+
</XStack>
|
|
34
|
+
</YStack></TooltipGroup>;
|
|
35
|
+
}
|
|
36
|
+
function Demo({ Icon, ...props }) {
|
|
37
|
+
return <Tooltip {...props}>
|
|
38
|
+
<Tooltip.Trigger><Button icon={Icon} circular /></Tooltip.Trigger>
|
|
39
|
+
<Theme inverse><Tooltip.Content
|
|
40
|
+
enterStyle={{ x: 0, y: -5, o: 0, scale: 0.9 }}
|
|
41
|
+
exitStyle={{ x: 0, y: -5, o: 0, scale: 0.9 }}
|
|
42
|
+
scale={1}
|
|
43
|
+
x={0}
|
|
44
|
+
y={0}
|
|
45
|
+
o={1}
|
|
46
|
+
animation={[
|
|
47
|
+
"quick",
|
|
48
|
+
{
|
|
49
|
+
opacity: {
|
|
50
|
+
overshootClamping: true
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
]}
|
|
54
|
+
>
|
|
55
|
+
<Tooltip.Arrow />
|
|
56
|
+
<Paragraph size="$2" lineHeight="$1">Hello world</Paragraph>
|
|
57
|
+
</Tooltip.Content></Theme>
|
|
58
|
+
</Tooltip>;
|
|
59
|
+
}
|
|
60
|
+
export {
|
|
61
|
+
Demo,
|
|
62
|
+
TooltipDemo
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=TooltipDemo.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/TooltipDemo.tsx"],
|
|
4
|
+
"sourcesContent": ["import {\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n Circle,\n} from '@tamagui/lucide-icons'\nimport React from 'react'\nimport {\n Button,\n Paragraph,\n Theme,\n Tooltip,\n TooltipGroup,\n TooltipProps,\n XStack,\n YStack,\n} from 'tamagui'\n\nexport function TooltipDemo() {\n return (\n <TooltipGroup delay={{ open: 3000, close: 100 }}>\n <YStack space=\"$2\" als=\"center\">\n <XStack space=\"$2\">\n <Demo groupId=\"0\" placement=\"top-end\" Icon={Circle} />\n <Demo groupId=\"1\" placement=\"top\" Icon={ChevronUp} />\n <Demo groupId=\"2\" placement=\"top-start\" Icon={Circle} />\n </XStack>\n <XStack space=\"$2\">\n <Demo groupId=\"3\" placement=\"left\" Icon={ChevronLeft} />\n <YStack f={1} />\n <Demo groupId=\"4\" placement=\"right\" Icon={ChevronRight} />\n </XStack>\n <XStack space=\"$2\">\n <Demo groupId=\"5\" placement=\"bottom-end\" Icon={Circle} />\n <Demo groupId=\"6\" placement=\"bottom\" Icon={ChevronDown} />\n <Demo groupId=\"7\" placement=\"bottom-start\" Icon={Circle} />\n </XStack>\n </YStack>\n </TooltipGroup>\n )\n}\n\nexport function Demo({ Icon, ...props }: TooltipProps & { Icon?: any }) {\n return (\n <Tooltip {...props}>\n <Tooltip.Trigger>\n <Button icon={Icon} circular />\n </Tooltip.Trigger>\n <Theme inverse>\n <Tooltip.Content\n enterStyle={{ x: 0, y: -5, o: 0, scale: 0.9 }}\n exitStyle={{ x: 0, y: -5, o: 0, scale: 0.9 }}\n scale={1}\n x={0}\n y={0}\n o={1}\n animation={[\n 'quick',\n {\n opacity: {\n overshootClamping: true,\n },\n },\n ]}\n >\n <Tooltip.Arrow />\n <Paragraph size=\"$2\" lineHeight=\"$1\">\n Hello world\n </Paragraph>\n </Tooltip.Content>\n </Theme>\n </Tooltip>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAEA,SAAS,cAAc;AAC5B,SACE,CAAC,aAAa,OAAO,EAAE,MAAM,KAAM,OAAO,IAAI,GAC5C,CAAC,OAAO,MAAM,KAAK,IAAI;AAAA,IACrB,CAAC,OAAO,MAAM;AAAA,MACZ,CAAC,KAAK,QAAQ,IAAI,UAAU,UAAU,MAAM,QAAQ;AAAA,MACpD,CAAC,KAAK,QAAQ,IAAI,UAAU,MAAM,MAAM,WAAW;AAAA,MACnD,CAAC,KAAK,QAAQ,IAAI,UAAU,YAAY,MAAM,QAAQ;AAAA,IACxD,EAJC;AAAA,IAKD,CAAC,OAAO,MAAM;AAAA,MACZ,CAAC,KAAK,QAAQ,IAAI,UAAU,OAAO,MAAM,aAAa;AAAA,MACtD,CAAC,OAAO,GAAG,GAAG;AAAA,MACd,CAAC,KAAK,QAAQ,IAAI,UAAU,QAAQ,MAAM,cAAc;AAAA,IAC1D,EAJC;AAAA,IAKD,CAAC,OAAO,MAAM;AAAA,MACZ,CAAC,KAAK,QAAQ,IAAI,UAAU,aAAa,MAAM,QAAQ;AAAA,MACvD,CAAC,KAAK,QAAQ,IAAI,UAAU,SAAS,MAAM,aAAa;AAAA,MACxD,CAAC,KAAK,QAAQ,IAAI,UAAU,eAAe,MAAM,QAAQ;AAAA,IAC3D,EAJC;AAAA,EAKH,EAhBC,OAiBH,EAlBC;AAoBL;AAEO,SAAS,KAAK,EAAE,MAAM,GAAG,MAAM,GAAkC;AACtE,SACE,CAAC,YAAY;AAAA,IACX,CAAC,QAAQ,QACP,CAAC,OAAO,MAAM,MAAM,SAAS,EAC/B,EAFC,QAAQ;AAAA,IAGT,CAAC,MAAM,QACL,CAAC,QAAQ;AAAA,MACP,YAAY,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,OAAO,IAAI;AAAA,MAC5C,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,OAAO,IAAI;AAAA,MAC3C,OAAO;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,WAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,SAAS;AAAA,YACP,mBAAmB;AAAA,UACrB;AAAA,QACF;AAAA,MACF;AAAA;AAAA,MAEA,CAAC,QAAQ,MAAM;AAAA,MACf,CAAC,UAAU,KAAK,KAAK,WAAW,KAAK,WAErC,EAFC;AAAA,IAGH,EApBC,QAAQ,QAqBX,EAtBC;AAAA,EAuBH,EA3BC;AA6BL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as Config from "@tamagui/config-base";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import {
|
|
4
|
+
Button,
|
|
5
|
+
Square,
|
|
6
|
+
Theme,
|
|
7
|
+
YStack,
|
|
8
|
+
addTheme,
|
|
9
|
+
getVariableValue,
|
|
10
|
+
updateTheme,
|
|
11
|
+
useForceUpdate,
|
|
12
|
+
useIsomorphicLayoutEffect
|
|
13
|
+
} from "tamagui";
|
|
14
|
+
const colors = Config.config.tokens.color;
|
|
15
|
+
const colorKeys = Object.keys(colors);
|
|
16
|
+
function UpdateThemeDemo() {
|
|
17
|
+
const [theme, setTheme] = useState();
|
|
18
|
+
const update = useForceUpdate();
|
|
19
|
+
useIsomorphicLayoutEffect(() => {
|
|
20
|
+
addTheme({
|
|
21
|
+
name: "custom",
|
|
22
|
+
insertCSS: true,
|
|
23
|
+
theme: {
|
|
24
|
+
color: "red"
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
setTheme("custom");
|
|
28
|
+
}, []);
|
|
29
|
+
return <YStack ai="center" space>
|
|
30
|
+
<Theme name={theme ?? null}><Square borderRadius="$8" size={100} backgroundColor="$color" /></Theme>
|
|
31
|
+
<Button
|
|
32
|
+
onPress={() => {
|
|
33
|
+
const randomColor = getVariableValue(
|
|
34
|
+
colors[colorKeys[Math.floor(Math.random() * colorKeys.length)]]
|
|
35
|
+
);
|
|
36
|
+
updateTheme({
|
|
37
|
+
name: "custom",
|
|
38
|
+
theme: {
|
|
39
|
+
color: randomColor
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
update();
|
|
43
|
+
}}
|
|
44
|
+
>Set to random color</Button>
|
|
45
|
+
</YStack>;
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
UpdateThemeDemo
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=UpdateThemeDemo.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/UpdateThemeDemo.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as Config from '@tamagui/config-base'\nimport React, { useState } from 'react'\nimport {\n Button,\n Square,\n Theme,\n YStack,\n addTheme,\n getVariableValue,\n updateTheme,\n useForceUpdate,\n useIsomorphicLayoutEffect,\n} from 'tamagui'\n\nconst colors = Config.config.tokens.color\nconst colorKeys = Object.keys(colors)\n\nexport function UpdateThemeDemo() {\n const [theme, setTheme] = useState<any>()\n const update = useForceUpdate()\n\n useIsomorphicLayoutEffect(() => {\n addTheme({\n name: 'custom',\n insertCSS: true,\n theme: {\n color: 'red',\n },\n })\n setTheme('custom')\n }, [])\n\n return (\n <YStack ai=\"center\" space>\n <Theme name={theme ?? null}>\n <Square borderRadius=\"$8\" size={100} backgroundColor=\"$color\" />\n </Theme>\n\n <Button\n onPress={() => {\n const randomColor = getVariableValue(\n colors[colorKeys[Math.floor(Math.random() * colorKeys.length)]],\n )\n updateTheme({\n name: 'custom',\n theme: {\n color: randomColor,\n },\n })\n update()\n }}\n >\n Set to random color\n </Button>\n </YStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,YAAY;AACxB,SAAgB,gBAAgB;AAChC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,MAAM,SAAS,OAAO,OAAO,OAAO;AACpC,MAAM,YAAY,OAAO,KAAK,MAAM;AAE7B,SAAS,kBAAkB;AAChC,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAc;AACxC,QAAM,SAAS,eAAe;AAE9B,4BAA0B,MAAM;AAC9B,aAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,OAAO;AAAA,QACL,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,aAAS,QAAQ;AAAA,EACnB,GAAG,CAAC,CAAC;AAEL,SACE,CAAC,OAAO,GAAG,SAAS;AAAA,IAClB,CAAC,MAAM,MAAM,SAAS,MACpB,CAAC,OAAO,aAAa,KAAK,MAAM,KAAK,gBAAgB,SAAS,EAChE,EAFC;AAAA,IAID,CAAC;AAAA,MACC,SAAS,MAAM;AACb,cAAM,cAAc;AAAA,UAClB,OAAO,UAAU,KAAK,MAAM,KAAK,OAAO,IAAI,UAAU,MAAM,CAAC,CAAC;AAAA,QAChE;AACA,oBAAY;AAAA,UACV,MAAM;AAAA,UACN,OAAO;AAAA,YACL,OAAO;AAAA,UACT;AAAA,QACF,CAAC;AACD,eAAO;AAAA,MACT;AAAA,KACD,mBAED,EAfC;AAAA,EAgBH,EArBC;AAuBL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/conf.tsx"],
|
|
4
|
+
"sourcesContent": ["import { config } from '@tamagui/config-base'\nimport { InferTamaguiConfig } from '@tamagui/core'\n\nexport { config } from '@tamagui/config-base'\n\nexport type Conf = InferTamaguiConfig<typeof config>\n\ndeclare module 'tamagui' {\n interface TamaguiCustomConfig extends Conf {}\n}\n"],
|
|
5
|
+
"mappings": "AAGA,SAAS,UAAAA,eAAc;",
|
|
6
|
+
"names": ["config"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { AlertDialogDemo } from "./AlertDialogDemo";
|
|
2
|
+
import { AnimationsDemo } from "./AnimationsDemo";
|
|
3
|
+
import { AnimationsEnterDemo } from "./AnimationsEnterDemo";
|
|
4
|
+
import { AnimationsHoverDemo } from "./AnimationsHoverDemo";
|
|
5
|
+
import { AnimationsTimingDemo } from "./AnimationsTimingDemo";
|
|
6
|
+
import { AnimationsPresenceDemo } from "./AnimationsPresenceDemo";
|
|
7
|
+
import { AvatarDemo } from "./AvatarDemo";
|
|
8
|
+
import { ButtonDemo } from "./ButtonDemo";
|
|
9
|
+
import { CardDemo } from "./CardDemo";
|
|
10
|
+
import { DialogDemo } from "./DialogDemo";
|
|
11
|
+
import { AddThemeDemo } from "./AddThemeDemo";
|
|
12
|
+
import { UpdateThemeDemo } from "./UpdateThemeDemo";
|
|
13
|
+
import { FeatherIconsDemo } from "./FeatherIconsDemo";
|
|
14
|
+
import { FormsDemo } from "./FormsDemo";
|
|
15
|
+
import { GroupDemo } from "./GroupDemo";
|
|
16
|
+
import { HeadingsDemo } from "./HeadingsDemo";
|
|
17
|
+
import { ImageDemo } from "./ImageDemo";
|
|
18
|
+
import { LabelDemo } from "./LabelDemo";
|
|
19
|
+
import { LinearGradientDemo } from "./LinearGradientDemo";
|
|
20
|
+
import { ListItemDemo } from "./ListItemDemo";
|
|
21
|
+
import { LucideIconsDemo } from "./LucideIconsDemo";
|
|
22
|
+
import { PopoverDemo } from "./PopoverDemo";
|
|
23
|
+
import { ProgressDemo } from "./ProgressDemo";
|
|
24
|
+
import { SelectDemo } from "./SelectDemo";
|
|
25
|
+
import { SeparatorDemo } from "./SeparatorDemo";
|
|
26
|
+
import { ShapesDemo } from "./ShapesDemo";
|
|
27
|
+
import { ScrollViewDemo } from "./ScrollViewDemo";
|
|
28
|
+
import { SheetDemo } from "./SheetDemo";
|
|
29
|
+
import { SliderDemo } from "./SliderDemo";
|
|
30
|
+
import { SpinnerDemo } from "./SpinnerDemo";
|
|
31
|
+
import { StacksDemo } from "./StacksDemo";
|
|
32
|
+
import { SwitchDemo } from "./SwitchDemo";
|
|
33
|
+
import { TextDemo } from "./TextDemo";
|
|
34
|
+
import { ThemeInverseDemo } from "./ThemeInverseDemo";
|
|
35
|
+
import { TooltipDemo } from "./TooltipDemo";
|
|
36
|
+
import { ColorsDemo } from "./ColorsDemo";
|
|
37
|
+
import { TokensDemo } from "./TokensDemo";
|
|
38
|
+
export * from "./useOnIntersecting";
|
|
39
|
+
export {
|
|
40
|
+
AddThemeDemo,
|
|
41
|
+
AlertDialogDemo,
|
|
42
|
+
AnimationsDemo,
|
|
43
|
+
AnimationsEnterDemo,
|
|
44
|
+
AnimationsHoverDemo,
|
|
45
|
+
AnimationsPresenceDemo,
|
|
46
|
+
AnimationsTimingDemo,
|
|
47
|
+
AvatarDemo,
|
|
48
|
+
ButtonDemo,
|
|
49
|
+
CardDemo,
|
|
50
|
+
ColorsDemo,
|
|
51
|
+
DialogDemo,
|
|
52
|
+
FeatherIconsDemo,
|
|
53
|
+
FormsDemo,
|
|
54
|
+
GroupDemo,
|
|
55
|
+
HeadingsDemo,
|
|
56
|
+
ImageDemo,
|
|
57
|
+
LabelDemo,
|
|
58
|
+
LinearGradientDemo,
|
|
59
|
+
ListItemDemo,
|
|
60
|
+
LucideIconsDemo,
|
|
61
|
+
PopoverDemo,
|
|
62
|
+
ProgressDemo,
|
|
63
|
+
ScrollViewDemo,
|
|
64
|
+
SelectDemo,
|
|
65
|
+
SeparatorDemo,
|
|
66
|
+
ShapesDemo,
|
|
67
|
+
SheetDemo,
|
|
68
|
+
SliderDemo,
|
|
69
|
+
SpinnerDemo,
|
|
70
|
+
StacksDemo,
|
|
71
|
+
SwitchDemo,
|
|
72
|
+
TextDemo,
|
|
73
|
+
ThemeInverseDemo,
|
|
74
|
+
TokensDemo,
|
|
75
|
+
TooltipDemo,
|
|
76
|
+
UpdateThemeDemo
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/index.tsx"],
|
|
4
|
+
"sourcesContent": ["export { AlertDialogDemo } from './AlertDialogDemo'\nexport { AnimationsDemo } from './AnimationsDemo'\nexport { AnimationsEnterDemo } from './AnimationsEnterDemo'\nexport { AnimationsHoverDemo } from './AnimationsHoverDemo'\nexport { AnimationsTimingDemo } from './AnimationsTimingDemo'\nexport { AnimationsPresenceDemo } from './AnimationsPresenceDemo'\nexport { AvatarDemo } from './AvatarDemo'\nexport { ButtonDemo } from './ButtonDemo'\nexport { CardDemo } from './CardDemo'\nexport { DialogDemo } from './DialogDemo'\nexport { AddThemeDemo } from './AddThemeDemo'\nexport { UpdateThemeDemo } from './UpdateThemeDemo'\nexport { FeatherIconsDemo } from './FeatherIconsDemo'\nexport { FormsDemo } from './FormsDemo'\nexport { GroupDemo } from './GroupDemo'\nexport { HeadingsDemo } from './HeadingsDemo'\nexport { ImageDemo } from './ImageDemo'\nexport { LabelDemo } from './LabelDemo'\nexport { LinearGradientDemo } from './LinearGradientDemo'\nexport { ListItemDemo } from './ListItemDemo'\nexport { LucideIconsDemo } from './LucideIconsDemo'\nexport { PopoverDemo } from './PopoverDemo'\nexport { ProgressDemo } from './ProgressDemo'\nexport { SelectDemo } from './SelectDemo'\nexport { SeparatorDemo } from './SeparatorDemo'\nexport { ShapesDemo } from './ShapesDemo'\nexport { ScrollViewDemo } from './ScrollViewDemo'\nexport { SheetDemo } from './SheetDemo'\nexport { SliderDemo } from './SliderDemo'\nexport { SpinnerDemo } from './SpinnerDemo'\nexport { StacksDemo } from './StacksDemo'\nexport { SwitchDemo } from './SwitchDemo'\nexport { TextDemo } from './TextDemo'\nexport { ThemeInverseDemo } from './ThemeInverseDemo'\nexport { TooltipDemo } from './TooltipDemo'\nexport { ColorsDemo } from './ColorsDemo'\nexport { TokensDemo } from './TokensDemo'\nexport * from './useOnIntersecting'\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,2BAA2B;AACpC,SAAS,2BAA2B;AACpC,SAAS,4BAA4B;AACrC,SAAS,8BAA8B;AACvC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AACjC,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,0BAA0B;AACnC,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAC/B,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,cAAc;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
import { isWeb, useEvent } from "tamagui";
|
|
3
|
+
function useIsIntersecting(refs, { once, ...opts } = {}) {
|
|
4
|
+
const [values, setValues] = useState([]);
|
|
5
|
+
if (isWeb) {
|
|
6
|
+
useOnIntersecting(
|
|
7
|
+
refs,
|
|
8
|
+
(entries) => {
|
|
9
|
+
const intersecting = entries.some((x) => x?.isIntersecting);
|
|
10
|
+
if (once && !intersecting)
|
|
11
|
+
return;
|
|
12
|
+
setValues((prev) => {
|
|
13
|
+
const next = entries.map((e) => e?.isIntersecting ?? false);
|
|
14
|
+
if (prev.length === next.length && prev.every((e, i) => e === next[i])) {
|
|
15
|
+
return prev;
|
|
16
|
+
}
|
|
17
|
+
return next;
|
|
18
|
+
});
|
|
19
|
+
},
|
|
20
|
+
opts
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
return Array.isArray(refs) ? values : values[0];
|
|
24
|
+
}
|
|
25
|
+
function useOnIntersecting(refsIn, incomingCbRaw, { threshold = 0, root, rootMargin } = {}, mountArgs = []) {
|
|
26
|
+
const onIntersectEvent = useEvent(incomingCbRaw);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
const refs = Array.isArray(refsIn) ? refsIn : [refsIn];
|
|
29
|
+
if (!refs.length)
|
|
30
|
+
return;
|
|
31
|
+
let dispose = null;
|
|
32
|
+
let currentEntries = [];
|
|
33
|
+
const options = {
|
|
34
|
+
threshold,
|
|
35
|
+
root,
|
|
36
|
+
rootMargin
|
|
37
|
+
};
|
|
38
|
+
const io = new IntersectionObserver((entries) => {
|
|
39
|
+
currentEntries = refs.map((ref, index) => {
|
|
40
|
+
return entries.find((x) => x.target === ref.current) ?? currentEntries[index] ?? null;
|
|
41
|
+
});
|
|
42
|
+
dispose?.();
|
|
43
|
+
dispose = onIntersectEvent(currentEntries) || null;
|
|
44
|
+
}, options);
|
|
45
|
+
for (const ref of refs) {
|
|
46
|
+
if (ref.current) {
|
|
47
|
+
io.observe(ref.current);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return () => {
|
|
51
|
+
dispose?.();
|
|
52
|
+
io.disconnect();
|
|
53
|
+
};
|
|
54
|
+
}, [
|
|
55
|
+
onIntersectEvent,
|
|
56
|
+
refsIn,
|
|
57
|
+
root,
|
|
58
|
+
rootMargin,
|
|
59
|
+
threshold,
|
|
60
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
61
|
+
...mountArgs
|
|
62
|
+
]);
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
useIsIntersecting,
|
|
66
|
+
useOnIntersecting
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=useOnIntersecting.mjs.map
|