@tamagui/demos 1.15.14 → 1.15.15
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/cjs/AddThemeDemo.js.map +0 -1
- package/dist/cjs/AlertDialogDemo.js.map +0 -1
- package/dist/cjs/AnimationsDemo.js.map +0 -1
- package/dist/cjs/AnimationsEnterDemo.js.map +0 -1
- package/dist/cjs/AnimationsHoverDemo.js.map +0 -1
- package/dist/cjs/AnimationsPresenceDemo.js.map +0 -1
- package/dist/cjs/AnimationsTimingDemo.js.map +0 -1
- package/dist/cjs/AvatarDemo.js.map +0 -1
- package/dist/cjs/ButtonDemo.js.map +0 -1
- package/dist/cjs/ButtonNewDemo.js +55 -0
- package/dist/cjs/ButtonNewDemo.js.map +6 -0
- package/dist/cjs/CardDemo.js.map +0 -1
- package/dist/cjs/CheckboxDemo.js.map +0 -1
- package/dist/cjs/ColorsDemo.js.map +0 -1
- package/dist/cjs/DialogDemo.js.map +0 -1
- package/dist/cjs/FormsDemo.js.map +0 -1
- package/dist/cjs/GroupDemo.js.map +0 -1
- package/dist/cjs/HeadingsDemo.js.map +0 -1
- package/dist/cjs/ImageDemo.js.map +0 -1
- package/dist/cjs/InputsDemo.js.map +0 -1
- package/dist/cjs/LabelDemo.js.map +0 -1
- package/dist/cjs/LinearGradientDemo.js.map +0 -1
- package/dist/cjs/ListItemDemo.js.map +0 -1
- package/dist/cjs/LucideIconsDemo.js.map +0 -1
- package/dist/cjs/PopoverDemo.js.map +0 -1
- package/dist/cjs/ProgressDemo.js.map +0 -1
- package/dist/cjs/RadioGroupDemo.js.map +0 -1
- package/dist/cjs/ScrollViewDemo.js.map +0 -1
- package/dist/cjs/SelectDemo.js.map +0 -1
- package/dist/cjs/SeparatorDemo.js.map +0 -1
- package/dist/cjs/ShapesDemo.js.map +0 -1
- package/dist/cjs/SheetDemo.js.map +0 -1
- package/dist/cjs/SliderDemo.js.map +0 -1
- package/dist/cjs/SpinnerDemo.js.map +0 -1
- package/dist/cjs/StacksDemo.js.map +0 -1
- package/dist/cjs/SwitchDemo.js.map +0 -1
- package/dist/cjs/TabsAdvancedDemo.js.map +0 -1
- package/dist/cjs/TabsDemo.js.map +0 -1
- package/dist/cjs/TextDemo.js.map +0 -1
- package/dist/cjs/ThemeInverseDemo.js.map +0 -1
- package/dist/cjs/ToastDemo.js.map +0 -1
- package/dist/cjs/ToastDuplicateDemo.js.map +0 -1
- package/dist/cjs/ToggleGroupDemo.js.map +0 -1
- package/dist/cjs/TokensDemo.js.map +0 -1
- package/dist/cjs/TooltipDemo.js.map +0 -1
- package/dist/cjs/UpdateThemeDemo.js.map +0 -1
- package/dist/cjs/conf.js.map +0 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -2
- package/dist/cjs/tamagui.config.js.map +0 -1
- package/dist/cjs/useOnIntersecting.js.map +0 -1
- package/dist/esm/AddThemeDemo.js.map +0 -1
- package/dist/esm/AddThemeDemo.mjs.map +0 -1
- package/dist/esm/AlertDialogDemo.js.map +0 -1
- package/dist/esm/AlertDialogDemo.mjs.map +0 -1
- package/dist/esm/AnimationsDemo.js.map +0 -1
- package/dist/esm/AnimationsDemo.mjs.map +0 -1
- package/dist/esm/AnimationsEnterDemo.js.map +0 -1
- package/dist/esm/AnimationsEnterDemo.mjs.map +0 -1
- package/dist/esm/AnimationsHoverDemo.js.map +0 -1
- package/dist/esm/AnimationsHoverDemo.mjs.map +0 -1
- package/dist/esm/AnimationsPresenceDemo.js.map +0 -1
- package/dist/esm/AnimationsPresenceDemo.mjs.map +0 -1
- package/dist/esm/AnimationsTimingDemo.js.map +0 -1
- package/dist/esm/AnimationsTimingDemo.mjs.map +0 -1
- package/dist/esm/AvatarDemo.js.map +0 -1
- package/dist/esm/AvatarDemo.mjs.map +0 -1
- package/dist/esm/ButtonDemo.js.map +0 -1
- package/dist/esm/ButtonDemo.mjs.map +0 -1
- package/dist/esm/ButtonNewDemo.js +31 -0
- package/dist/esm/ButtonNewDemo.js.map +6 -0
- package/dist/esm/ButtonNewDemo.mjs +31 -0
- package/dist/esm/ButtonNewDemo.mjs.map +6 -0
- package/dist/esm/CardDemo.js.map +0 -1
- package/dist/esm/CardDemo.mjs.map +0 -1
- package/dist/esm/CheckboxDemo.js.map +0 -1
- package/dist/esm/CheckboxDemo.mjs.map +0 -1
- package/dist/esm/ColorsDemo.js.map +0 -1
- package/dist/esm/ColorsDemo.mjs.map +0 -1
- package/dist/esm/DialogDemo.js.map +0 -1
- package/dist/esm/DialogDemo.mjs.map +0 -1
- package/dist/esm/FormsDemo.js.map +0 -1
- package/dist/esm/FormsDemo.mjs.map +0 -1
- package/dist/esm/GroupDemo.js.map +0 -1
- package/dist/esm/GroupDemo.mjs.map +0 -1
- package/dist/esm/HeadingsDemo.js.map +0 -1
- package/dist/esm/HeadingsDemo.mjs.map +0 -1
- package/dist/esm/ImageDemo.js.map +0 -1
- package/dist/esm/ImageDemo.mjs.map +0 -1
- package/dist/esm/InputsDemo.js.map +0 -1
- package/dist/esm/InputsDemo.mjs.map +0 -1
- package/dist/esm/LabelDemo.js.map +0 -1
- package/dist/esm/LabelDemo.mjs.map +0 -1
- package/dist/esm/LinearGradientDemo.js.map +0 -1
- package/dist/esm/LinearGradientDemo.mjs.map +0 -1
- package/dist/esm/ListItemDemo.js.map +0 -1
- package/dist/esm/ListItemDemo.mjs.map +0 -1
- package/dist/esm/LucideIconsDemo.js.map +0 -1
- package/dist/esm/LucideIconsDemo.mjs.map +0 -1
- package/dist/esm/PopoverDemo.js.map +0 -1
- package/dist/esm/PopoverDemo.mjs.map +0 -1
- package/dist/esm/ProgressDemo.js.map +0 -1
- package/dist/esm/ProgressDemo.mjs.map +0 -1
- package/dist/esm/RadioGroupDemo.js.map +0 -1
- package/dist/esm/RadioGroupDemo.mjs.map +0 -1
- package/dist/esm/ScrollViewDemo.js.map +0 -1
- package/dist/esm/ScrollViewDemo.mjs.map +0 -1
- package/dist/esm/SelectDemo.js.map +0 -1
- package/dist/esm/SelectDemo.mjs.map +0 -1
- package/dist/esm/SeparatorDemo.js.map +0 -1
- package/dist/esm/SeparatorDemo.mjs.map +0 -1
- package/dist/esm/ShapesDemo.js.map +0 -1
- package/dist/esm/ShapesDemo.mjs.map +0 -1
- package/dist/esm/SheetDemo.js.map +0 -1
- package/dist/esm/SheetDemo.mjs.map +0 -1
- package/dist/esm/SliderDemo.js.map +0 -1
- package/dist/esm/SliderDemo.mjs.map +0 -1
- package/dist/esm/SpinnerDemo.js.map +0 -1
- package/dist/esm/SpinnerDemo.mjs.map +0 -1
- package/dist/esm/StacksDemo.js.map +0 -1
- package/dist/esm/StacksDemo.mjs.map +0 -1
- package/dist/esm/SwitchDemo.js.map +0 -1
- package/dist/esm/SwitchDemo.mjs.map +0 -1
- package/dist/esm/TabsAdvancedDemo.js.map +0 -1
- package/dist/esm/TabsAdvancedDemo.mjs.map +0 -1
- package/dist/esm/TabsDemo.js.map +0 -1
- package/dist/esm/TabsDemo.mjs.map +0 -1
- package/dist/esm/TextDemo.js.map +0 -1
- package/dist/esm/TextDemo.mjs.map +0 -1
- package/dist/esm/ThemeInverseDemo.js.map +0 -1
- package/dist/esm/ThemeInverseDemo.mjs.map +0 -1
- package/dist/esm/ToastDemo.js.map +0 -1
- package/dist/esm/ToastDemo.mjs.map +0 -1
- package/dist/esm/ToastDuplicateDemo.js.map +0 -1
- package/dist/esm/ToastDuplicateDemo.mjs.map +0 -1
- package/dist/esm/ToggleGroupDemo.js.map +0 -1
- package/dist/esm/ToggleGroupDemo.mjs.map +0 -1
- package/dist/esm/TokensDemo.js.map +0 -1
- package/dist/esm/TokensDemo.mjs.map +0 -1
- package/dist/esm/TooltipDemo.js.map +0 -1
- package/dist/esm/TooltipDemo.mjs.map +0 -1
- package/dist/esm/UpdateThemeDemo.js.map +0 -1
- package/dist/esm/UpdateThemeDemo.mjs.map +0 -1
- package/dist/esm/conf.js.map +0 -1
- package/dist/esm/conf.mjs.map +0 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -2
- package/dist/esm/index.mjs +2 -0
- package/dist/esm/index.mjs.map +1 -2
- package/dist/esm/tamagui.config.js.map +0 -1
- package/dist/esm/tamagui.config.mjs.map +0 -1
- package/dist/esm/useOnIntersecting.js.map +0 -1
- package/dist/esm/useOnIntersecting.mjs.map +0 -1
- package/dist/jsx/AddThemeDemo.js.map +0 -1
- package/dist/jsx/AddThemeDemo.mjs.map +0 -1
- package/dist/jsx/AlertDialogDemo.js.map +0 -1
- package/dist/jsx/AlertDialogDemo.mjs.map +0 -1
- package/dist/jsx/AnimationsDemo.js.map +0 -1
- package/dist/jsx/AnimationsDemo.mjs.map +0 -1
- package/dist/jsx/AnimationsEnterDemo.js.map +0 -1
- package/dist/jsx/AnimationsEnterDemo.mjs.map +0 -1
- package/dist/jsx/AnimationsHoverDemo.js.map +0 -1
- package/dist/jsx/AnimationsHoverDemo.mjs.map +0 -1
- package/dist/jsx/AnimationsPresenceDemo.js.map +0 -1
- package/dist/jsx/AnimationsPresenceDemo.mjs.map +0 -1
- package/dist/jsx/AnimationsTimingDemo.js.map +0 -1
- package/dist/jsx/AnimationsTimingDemo.mjs.map +0 -1
- package/dist/jsx/AvatarDemo.js.map +0 -1
- package/dist/jsx/AvatarDemo.mjs.map +0 -1
- package/dist/jsx/ButtonDemo.js.map +0 -1
- package/dist/jsx/ButtonDemo.mjs.map +0 -1
- package/dist/jsx/ButtonNewDemo.js +30 -0
- package/dist/jsx/ButtonNewDemo.js.map +6 -0
- package/dist/jsx/ButtonNewDemo.mjs +30 -0
- package/dist/jsx/ButtonNewDemo.mjs.map +6 -0
- package/dist/jsx/CardDemo.js.map +0 -1
- package/dist/jsx/CardDemo.mjs.map +0 -1
- package/dist/jsx/CheckboxDemo.js.map +0 -1
- package/dist/jsx/CheckboxDemo.mjs.map +0 -1
- package/dist/jsx/ColorsDemo.js.map +0 -1
- package/dist/jsx/ColorsDemo.mjs.map +0 -1
- package/dist/jsx/DialogDemo.js.map +0 -1
- package/dist/jsx/DialogDemo.mjs.map +0 -1
- package/dist/jsx/FormsDemo.js.map +0 -1
- package/dist/jsx/FormsDemo.mjs.map +0 -1
- package/dist/jsx/GroupDemo.js.map +0 -1
- package/dist/jsx/GroupDemo.mjs.map +0 -1
- package/dist/jsx/HeadingsDemo.js.map +0 -1
- package/dist/jsx/HeadingsDemo.mjs.map +0 -1
- package/dist/jsx/ImageDemo.js.map +0 -1
- package/dist/jsx/ImageDemo.mjs.map +0 -1
- package/dist/jsx/InputsDemo.js.map +0 -1
- package/dist/jsx/InputsDemo.mjs.map +0 -1
- package/dist/jsx/LabelDemo.js.map +0 -1
- package/dist/jsx/LabelDemo.mjs.map +0 -1
- package/dist/jsx/LinearGradientDemo.js.map +0 -1
- package/dist/jsx/LinearGradientDemo.mjs.map +0 -1
- package/dist/jsx/ListItemDemo.js.map +0 -1
- package/dist/jsx/ListItemDemo.mjs.map +0 -1
- package/dist/jsx/LucideIconsDemo.js.map +0 -1
- package/dist/jsx/LucideIconsDemo.mjs.map +0 -1
- package/dist/jsx/PopoverDemo.js.map +0 -1
- package/dist/jsx/PopoverDemo.mjs.map +0 -1
- package/dist/jsx/ProgressDemo.js.map +0 -1
- package/dist/jsx/ProgressDemo.mjs.map +0 -1
- package/dist/jsx/RadioGroupDemo.js.map +0 -1
- package/dist/jsx/RadioGroupDemo.mjs.map +0 -1
- package/dist/jsx/ScrollViewDemo.js.map +0 -1
- package/dist/jsx/ScrollViewDemo.mjs.map +0 -1
- package/dist/jsx/SelectDemo.js.map +0 -1
- package/dist/jsx/SelectDemo.mjs.map +0 -1
- package/dist/jsx/SeparatorDemo.js.map +0 -1
- package/dist/jsx/SeparatorDemo.mjs.map +0 -1
- package/dist/jsx/ShapesDemo.js.map +0 -1
- package/dist/jsx/ShapesDemo.mjs.map +0 -1
- package/dist/jsx/SheetDemo.js.map +0 -1
- package/dist/jsx/SheetDemo.mjs.map +0 -1
- package/dist/jsx/SliderDemo.js.map +0 -1
- package/dist/jsx/SliderDemo.mjs.map +0 -1
- package/dist/jsx/SpinnerDemo.js.map +0 -1
- package/dist/jsx/SpinnerDemo.mjs.map +0 -1
- package/dist/jsx/StacksDemo.js.map +0 -1
- package/dist/jsx/StacksDemo.mjs.map +0 -1
- package/dist/jsx/SwitchDemo.js.map +0 -1
- package/dist/jsx/SwitchDemo.mjs.map +0 -1
- package/dist/jsx/TabsAdvancedDemo.js.map +0 -1
- package/dist/jsx/TabsAdvancedDemo.mjs.map +0 -1
- package/dist/jsx/TabsDemo.js.map +0 -1
- package/dist/jsx/TabsDemo.mjs.map +0 -1
- package/dist/jsx/TextDemo.js.map +0 -1
- package/dist/jsx/TextDemo.mjs.map +0 -1
- package/dist/jsx/ThemeInverseDemo.js.map +0 -1
- package/dist/jsx/ThemeInverseDemo.mjs.map +0 -1
- package/dist/jsx/ToastDemo.js.map +0 -1
- package/dist/jsx/ToastDemo.mjs.map +0 -1
- package/dist/jsx/ToastDuplicateDemo.js.map +0 -1
- package/dist/jsx/ToastDuplicateDemo.mjs.map +0 -1
- package/dist/jsx/ToggleGroupDemo.js.map +0 -1
- package/dist/jsx/ToggleGroupDemo.mjs.map +0 -1
- package/dist/jsx/TokensDemo.js.map +0 -1
- package/dist/jsx/TokensDemo.mjs.map +0 -1
- package/dist/jsx/TooltipDemo.js.map +0 -1
- package/dist/jsx/TooltipDemo.mjs.map +0 -1
- package/dist/jsx/UpdateThemeDemo.js.map +0 -1
- package/dist/jsx/UpdateThemeDemo.mjs.map +0 -1
- package/dist/jsx/conf.js.map +0 -1
- package/dist/jsx/conf.mjs.map +0 -1
- package/dist/jsx/index.js +2 -0
- package/dist/jsx/index.js.map +1 -2
- package/dist/jsx/index.mjs +2 -0
- package/dist/jsx/index.mjs.map +1 -2
- package/dist/jsx/tamagui.config.js.map +0 -1
- package/dist/jsx/tamagui.config.mjs.map +0 -1
- package/dist/jsx/useOnIntersecting.js.map +0 -1
- package/dist/jsx/useOnIntersecting.mjs.map +0 -1
- package/package.json +18 -18
- package/src/ButtonNewDemo.tsx +50 -0
- package/src/index.tsx +1 -0
- package/types/ButtonNewDemo.d.ts +3 -0
- package/types/ButtonNewDemo.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/TabsAdvancedDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { useState } from 'react'\nimport {\n AnimatePresence,\n Button,\n H5,\n SizableText,\n Stack,\n TabLayout,\n Tabs,\n TabsTabProps,\n XStack,\n YStack,\n styled,\n} from 'tamagui'\n\nconst demos = ['background', 'underline'] as const\nconst demosTitle: Record<(typeof demos)[number], string> = {\n background: 'Background Indicator',\n underline: 'Underline Indicator',\n}\n\nexport const TabsAdvancedDemo = () => {\n const [demoIndex, setDemoIndex] = useState(0)\n const demo = demos[demoIndex]\n return (\n <>\n {demo === 'underline' ? <TabsAdvancedUnderline /> : <TabsAdvancedBackground />}\n\n <XStack ai=\"center\" space pos=\"absolute\" b=\"$3\" l=\"$4\" $xxs={{ dsp: 'none' }}>\n <Button size=\"$2\" onPress={() => setDemoIndex((x) => (x + 1) % demos.length)}>\n {demosTitle[demo]}\n </Button>\n </XStack>\n </>\n )\n}\n\nconst TabsAdvancedBackground = () => {\n const [tabState, setTabState] = useState<{\n currentTab: string\n /**\n * Layout of the Tab user might intend to select (hovering / focusing)\n */\n intentAt: TabLayout | null\n /**\n * Layout of the Tab user selected\n */\n activeAt: TabLayout | null\n /**\n * Used to get the direction of activation for animating the active indicator\n */\n prevActiveAt: TabLayout | null\n }>({\n activeAt: null,\n currentTab: 'tab1',\n intentAt: null,\n prevActiveAt: null,\n })\n\n const setCurrentTab = (currentTab: string) => setTabState({ ...tabState, currentTab })\n const setIntentIndicator = (intentAt) => setTabState({ ...tabState, intentAt })\n const setActiveIndicator = (activeAt) =>\n setTabState({ ...tabState, prevActiveAt: tabState.activeAt, activeAt })\n const { activeAt, intentAt, prevActiveAt, currentTab } = tabState\n\n /**\n * -1: from left\n * 0: n/a\n * 1: from right\n */\n const direction = (() => {\n if (!activeAt || !prevActiveAt || activeAt.x === prevActiveAt.x) {\n return 0\n }\n return activeAt.x > prevActiveAt.x ? -1 : 1\n })()\n\n const enterVariant =\n direction === 1 ? 'isLeft' : direction === -1 ? 'isRight' : 'defaultFade'\n const exitVariant =\n direction === 1 ? 'isRight' : direction === -1 ? 'isLeft' : 'defaultFade'\n\n const handleOnInteraction: TabsTabProps['onInteraction'] = (type, layout) => {\n if (type === 'select') {\n setActiveIndicator(layout)\n } else {\n setIntentIndicator(layout)\n }\n }\n\n return (\n <Tabs\n value={currentTab}\n onValueChange={setCurrentTab}\n orientation=\"horizontal\"\n size=\"$4\"\n padding=\"$2\"\n height={150}\n flexDirection=\"column\"\n activationMode=\"manual\"\n backgroundColor=\"$background\"\n borderRadius=\"$4\"\n position=\"relative\"\n >\n <YStack>\n <AnimatePresence>\n {intentAt && (\n <TabsRovingIndicator\n borderRadius=\"$4\"\n width={intentAt.width}\n height={intentAt.height}\n x={intentAt.x}\n y={intentAt.y}\n />\n )}\n </AnimatePresence>\n <AnimatePresence>\n {activeAt && (\n <TabsRovingIndicator\n borderRadius=\"$4\"\n theme=\"active\"\n width={activeAt.width}\n height={activeAt.height}\n x={activeAt.x}\n y={activeAt.y}\n />\n )}\n </AnimatePresence>\n\n <Tabs.List\n disablePassBorderRadius\n loop={false}\n aria-label=\"Manage your account\"\n space=\"$2\"\n backgroundColor=\"transparent\"\n >\n <Tabs.Tab unstyled value=\"tab1\" onInteraction={handleOnInteraction}>\n <SizableText>Profile</SizableText>\n </Tabs.Tab>\n <Tabs.Tab unstyled value=\"tab2\" onInteraction={handleOnInteraction}>\n <SizableText>Connections</SizableText>\n </Tabs.Tab>\n <Tabs.Tab unstyled value=\"tab3\" onInteraction={handleOnInteraction}>\n <SizableText>Notifications</SizableText>\n </Tabs.Tab>\n </Tabs.List>\n </YStack>\n\n <AnimatePresence\n exitBeforeEnter\n enterVariant={enterVariant}\n exitVariant={exitVariant}\n >\n <AnimatedYStack key={currentTab} animation=\"100ms\" x={0} opacity={1} flex={1}>\n <Tabs.Content value={currentTab} forceMount flex={1} justifyContent=\"center\">\n <H5 textAlign=\"center\">{currentTab}</H5>\n </Tabs.Content>\n </AnimatedYStack>\n </AnimatePresence>\n </Tabs>\n )\n}\n\nconst TabsAdvancedUnderline = () => {\n const [tabState, setTabState] = useState<{\n currentTab: string\n /**\n * Layout of the Tab user might intend to select (hovering / focusing)\n */\n intentAt: TabLayout | null\n /**\n * Layout of the Tab user selected\n */\n activeAt: TabLayout | null\n /**\n * Used to get the direction of activation for animating the active indicator\n */\n prevActiveAt: TabLayout | null\n }>({\n activeAt: null,\n currentTab: 'tab1',\n intentAt: null,\n prevActiveAt: null,\n })\n\n const setCurrentTab = (currentTab: string) => setTabState({ ...tabState, currentTab })\n const setIntentIndicator = (intentAt) => setTabState({ ...tabState, intentAt })\n const setActiveIndicator = (activeAt) =>\n setTabState({ ...tabState, prevActiveAt: tabState.activeAt, activeAt })\n const { activeAt, intentAt, prevActiveAt, currentTab } = tabState\n\n /**\n * -1: from left\n * 0: n/a\n * 1: from right\n */\n const direction = (() => {\n if (!activeAt || !prevActiveAt || activeAt.x === prevActiveAt.x) {\n return 0\n }\n return activeAt.x > prevActiveAt.x ? -1 : 1\n })()\n\n const enterVariant =\n direction === 1 ? 'isLeft' : direction === -1 ? 'isRight' : 'defaultFade'\n const exitVariant =\n direction === 1 ? 'isRight' : direction === -1 ? 'isLeft' : 'defaultFade'\n\n const handleOnInteraction: TabsTabProps['onInteraction'] = (type, layout) => {\n if (type === 'select') {\n setActiveIndicator(layout)\n } else {\n setIntentIndicator(layout)\n }\n }\n\n return (\n <Tabs\n value={currentTab}\n onValueChange={setCurrentTab}\n orientation=\"horizontal\"\n size=\"$4\"\n height={150}\n flexDirection=\"column\"\n activationMode=\"manual\"\n backgroundColor=\"$background\"\n borderRadius=\"$4\"\n >\n <YStack>\n <AnimatePresence>\n {intentAt && (\n <TabsRovingIndicator\n width={intentAt.width}\n height=\"$0.5\"\n x={intentAt.x}\n bottom={0}\n />\n )}\n </AnimatePresence>\n <AnimatePresence>\n {activeAt && (\n <TabsRovingIndicator\n theme=\"active\"\n active\n width={activeAt.width}\n height=\"$0.5\"\n x={activeAt.x}\n bottom={0}\n />\n )}\n </AnimatePresence>\n <Tabs.List\n disablePassBorderRadius\n loop={false}\n aria-label=\"Manage your account\"\n borderBottomLeftRadius={0}\n borderBottomRightRadius={0}\n paddingBottom=\"$1.5\"\n borderColor=\"$color3\"\n borderBottomWidth=\"$0.5\"\n backgroundColor=\"transparent\"\n >\n <Tabs.Tab\n unstyled\n padding=\"$5\"\n value=\"tab1\"\n onInteraction={handleOnInteraction}\n >\n <SizableText>Profile</SizableText>\n </Tabs.Tab>\n <Tabs.Tab\n unstyled\n padding=\"$5\"\n value=\"tab2\"\n onInteraction={handleOnInteraction}\n >\n <SizableText>Connections</SizableText>\n </Tabs.Tab>\n <Tabs.Tab\n unstyled\n padding=\"$5\"\n value=\"tab3\"\n onInteraction={handleOnInteraction}\n >\n <SizableText>Notifications</SizableText>\n </Tabs.Tab>\n </Tabs.List>\n </YStack>\n\n <AnimatePresence\n exitBeforeEnter\n enterVariant={enterVariant}\n exitVariant={exitVariant}\n >\n <AnimatedYStack key={currentTab} animation=\"100ms\" x={0} opacity={1} flex={1}>\n <Tabs.Content value={currentTab} forceMount flex={1} justifyContent=\"center\">\n <H5 textAlign=\"center\">{currentTab}</H5>\n </Tabs.Content>\n </AnimatedYStack>\n </AnimatePresence>\n </Tabs>\n )\n}\n\nconst TabsRovingIndicator = styled(Stack, {\n position: 'absolute',\n backgroundColor: '$color5',\n opacity: 0.7,\n animation: '100ms',\n enterStyle: {\n opacity: 0,\n },\n exitStyle: {\n opacity: 0,\n },\n variants: {\n active: {\n true: {\n backgroundColor: '$color8',\n opacity: 0.6,\n },\n },\n },\n})\n\nconst AnimatedYStack = styled(YStack, {\n variants: {\n isLeft: { true: { x: -25, opacity: 0 } },\n isRight: { true: { x: 25, opacity: 0 } },\n defaultFade: { true: { opacity: 0 } },\n } as const,\n})\n"],
|
|
5
4
|
"mappings": "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",
|
|
6
5
|
"names": ["currentTab", "intentAt", "activeAt"]
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/TabsAdvancedDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { useState } from 'react'\nimport {\n AnimatePresence,\n Button,\n H5,\n SizableText,\n Stack,\n TabLayout,\n Tabs,\n TabsTabProps,\n XStack,\n YStack,\n styled,\n} from 'tamagui'\n\nconst demos = ['background', 'underline'] as const\nconst demosTitle: Record<(typeof demos)[number], string> = {\n background: 'Background Indicator',\n underline: 'Underline Indicator',\n}\n\nexport const TabsAdvancedDemo = () => {\n const [demoIndex, setDemoIndex] = useState(0)\n const demo = demos[demoIndex]\n return (\n <>\n {demo === 'underline' ? <TabsAdvancedUnderline /> : <TabsAdvancedBackground />}\n\n <XStack ai=\"center\" space pos=\"absolute\" b=\"$3\" l=\"$4\" $xxs={{ dsp: 'none' }}>\n <Button size=\"$2\" onPress={() => setDemoIndex((x) => (x + 1) % demos.length)}>\n {demosTitle[demo]}\n </Button>\n </XStack>\n </>\n )\n}\n\nconst TabsAdvancedBackground = () => {\n const [tabState, setTabState] = useState<{\n currentTab: string\n /**\n * Layout of the Tab user might intend to select (hovering / focusing)\n */\n intentAt: TabLayout | null\n /**\n * Layout of the Tab user selected\n */\n activeAt: TabLayout | null\n /**\n * Used to get the direction of activation for animating the active indicator\n */\n prevActiveAt: TabLayout | null\n }>({\n activeAt: null,\n currentTab: 'tab1',\n intentAt: null,\n prevActiveAt: null,\n })\n\n const setCurrentTab = (currentTab: string) => setTabState({ ...tabState, currentTab })\n const setIntentIndicator = (intentAt) => setTabState({ ...tabState, intentAt })\n const setActiveIndicator = (activeAt) =>\n setTabState({ ...tabState, prevActiveAt: tabState.activeAt, activeAt })\n const { activeAt, intentAt, prevActiveAt, currentTab } = tabState\n\n /**\n * -1: from left\n * 0: n/a\n * 1: from right\n */\n const direction = (() => {\n if (!activeAt || !prevActiveAt || activeAt.x === prevActiveAt.x) {\n return 0\n }\n return activeAt.x > prevActiveAt.x ? -1 : 1\n })()\n\n const enterVariant =\n direction === 1 ? 'isLeft' : direction === -1 ? 'isRight' : 'defaultFade'\n const exitVariant =\n direction === 1 ? 'isRight' : direction === -1 ? 'isLeft' : 'defaultFade'\n\n const handleOnInteraction: TabsTabProps['onInteraction'] = (type, layout) => {\n if (type === 'select') {\n setActiveIndicator(layout)\n } else {\n setIntentIndicator(layout)\n }\n }\n\n return (\n <Tabs\n value={currentTab}\n onValueChange={setCurrentTab}\n orientation=\"horizontal\"\n size=\"$4\"\n padding=\"$2\"\n height={150}\n flexDirection=\"column\"\n activationMode=\"manual\"\n backgroundColor=\"$background\"\n borderRadius=\"$4\"\n position=\"relative\"\n >\n <YStack>\n <AnimatePresence>\n {intentAt && (\n <TabsRovingIndicator\n borderRadius=\"$4\"\n width={intentAt.width}\n height={intentAt.height}\n x={intentAt.x}\n y={intentAt.y}\n />\n )}\n </AnimatePresence>\n <AnimatePresence>\n {activeAt && (\n <TabsRovingIndicator\n borderRadius=\"$4\"\n theme=\"active\"\n width={activeAt.width}\n height={activeAt.height}\n x={activeAt.x}\n y={activeAt.y}\n />\n )}\n </AnimatePresence>\n\n <Tabs.List\n disablePassBorderRadius\n loop={false}\n aria-label=\"Manage your account\"\n space=\"$2\"\n backgroundColor=\"transparent\"\n >\n <Tabs.Tab unstyled value=\"tab1\" onInteraction={handleOnInteraction}>\n <SizableText>Profile</SizableText>\n </Tabs.Tab>\n <Tabs.Tab unstyled value=\"tab2\" onInteraction={handleOnInteraction}>\n <SizableText>Connections</SizableText>\n </Tabs.Tab>\n <Tabs.Tab unstyled value=\"tab3\" onInteraction={handleOnInteraction}>\n <SizableText>Notifications</SizableText>\n </Tabs.Tab>\n </Tabs.List>\n </YStack>\n\n <AnimatePresence\n exitBeforeEnter\n enterVariant={enterVariant}\n exitVariant={exitVariant}\n >\n <AnimatedYStack key={currentTab} animation=\"100ms\" x={0} opacity={1} flex={1}>\n <Tabs.Content value={currentTab} forceMount flex={1} justifyContent=\"center\">\n <H5 textAlign=\"center\">{currentTab}</H5>\n </Tabs.Content>\n </AnimatedYStack>\n </AnimatePresence>\n </Tabs>\n )\n}\n\nconst TabsAdvancedUnderline = () => {\n const [tabState, setTabState] = useState<{\n currentTab: string\n /**\n * Layout of the Tab user might intend to select (hovering / focusing)\n */\n intentAt: TabLayout | null\n /**\n * Layout of the Tab user selected\n */\n activeAt: TabLayout | null\n /**\n * Used to get the direction of activation for animating the active indicator\n */\n prevActiveAt: TabLayout | null\n }>({\n activeAt: null,\n currentTab: 'tab1',\n intentAt: null,\n prevActiveAt: null,\n })\n\n const setCurrentTab = (currentTab: string) => setTabState({ ...tabState, currentTab })\n const setIntentIndicator = (intentAt) => setTabState({ ...tabState, intentAt })\n const setActiveIndicator = (activeAt) =>\n setTabState({ ...tabState, prevActiveAt: tabState.activeAt, activeAt })\n const { activeAt, intentAt, prevActiveAt, currentTab } = tabState\n\n /**\n * -1: from left\n * 0: n/a\n * 1: from right\n */\n const direction = (() => {\n if (!activeAt || !prevActiveAt || activeAt.x === prevActiveAt.x) {\n return 0\n }\n return activeAt.x > prevActiveAt.x ? -1 : 1\n })()\n\n const enterVariant =\n direction === 1 ? 'isLeft' : direction === -1 ? 'isRight' : 'defaultFade'\n const exitVariant =\n direction === 1 ? 'isRight' : direction === -1 ? 'isLeft' : 'defaultFade'\n\n const handleOnInteraction: TabsTabProps['onInteraction'] = (type, layout) => {\n if (type === 'select') {\n setActiveIndicator(layout)\n } else {\n setIntentIndicator(layout)\n }\n }\n\n return (\n <Tabs\n value={currentTab}\n onValueChange={setCurrentTab}\n orientation=\"horizontal\"\n size=\"$4\"\n height={150}\n flexDirection=\"column\"\n activationMode=\"manual\"\n backgroundColor=\"$background\"\n borderRadius=\"$4\"\n >\n <YStack>\n <AnimatePresence>\n {intentAt && (\n <TabsRovingIndicator\n width={intentAt.width}\n height=\"$0.5\"\n x={intentAt.x}\n bottom={0}\n />\n )}\n </AnimatePresence>\n <AnimatePresence>\n {activeAt && (\n <TabsRovingIndicator\n theme=\"active\"\n active\n width={activeAt.width}\n height=\"$0.5\"\n x={activeAt.x}\n bottom={0}\n />\n )}\n </AnimatePresence>\n <Tabs.List\n disablePassBorderRadius\n loop={false}\n aria-label=\"Manage your account\"\n borderBottomLeftRadius={0}\n borderBottomRightRadius={0}\n paddingBottom=\"$1.5\"\n borderColor=\"$color3\"\n borderBottomWidth=\"$0.5\"\n backgroundColor=\"transparent\"\n >\n <Tabs.Tab\n unstyled\n padding=\"$5\"\n value=\"tab1\"\n onInteraction={handleOnInteraction}\n >\n <SizableText>Profile</SizableText>\n </Tabs.Tab>\n <Tabs.Tab\n unstyled\n padding=\"$5\"\n value=\"tab2\"\n onInteraction={handleOnInteraction}\n >\n <SizableText>Connections</SizableText>\n </Tabs.Tab>\n <Tabs.Tab\n unstyled\n padding=\"$5\"\n value=\"tab3\"\n onInteraction={handleOnInteraction}\n >\n <SizableText>Notifications</SizableText>\n </Tabs.Tab>\n </Tabs.List>\n </YStack>\n\n <AnimatePresence\n exitBeforeEnter\n enterVariant={enterVariant}\n exitVariant={exitVariant}\n >\n <AnimatedYStack key={currentTab} animation=\"100ms\" x={0} opacity={1} flex={1}>\n <Tabs.Content value={currentTab} forceMount flex={1} justifyContent=\"center\">\n <H5 textAlign=\"center\">{currentTab}</H5>\n </Tabs.Content>\n </AnimatedYStack>\n </AnimatePresence>\n </Tabs>\n )\n}\n\nconst TabsRovingIndicator = styled(Stack, {\n position: 'absolute',\n backgroundColor: '$color5',\n opacity: 0.7,\n animation: '100ms',\n enterStyle: {\n opacity: 0,\n },\n exitStyle: {\n opacity: 0,\n },\n variants: {\n active: {\n true: {\n backgroundColor: '$color8',\n opacity: 0.6,\n },\n },\n },\n})\n\nconst AnimatedYStack = styled(YStack, {\n variants: {\n isLeft: { true: { x: -25, opacity: 0 } },\n isRight: { true: { x: 25, opacity: 0 } },\n defaultFade: { true: { opacity: 0 } },\n } as const,\n})\n"],
|
|
5
4
|
"mappings": "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",
|
|
6
5
|
"names": ["currentTab", "intentAt", "activeAt"]
|
|
7
6
|
}
|
package/dist/esm/TabsDemo.js.map
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/TabsDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { useState } from 'react'\nimport {\n Button,\n H5,\n Separator,\n SizableText,\n Tabs,\n TabsContentProps,\n XStack,\n YStack,\n} from 'tamagui'\n\nconst demos = ['horizontal', 'vertical'] as const\nconst demosTitle: Record<(typeof demos)[number], string> = {\n horizontal: 'Horizontal',\n vertical: 'Vertical',\n}\n\nexport function TabsDemo() {\n const [demoIndex, setDemoIndex] = useState(0)\n const demo = demos[demoIndex]\n\n return (\n // web only fix for position relative\n <YStack paddingHorizontal=\"$4\" position={'unset' as any}>\n {demo === 'horizontal' ? <HorizontalTabs /> : <VerticalTabs />}\n\n <XStack\n alignItems=\"center\"\n space\n position=\"absolute\"\n bottom=\"$3\"\n left=\"$4\"\n $xxs={{ display: 'none' }}\n >\n <Button size=\"$2\" onPress={() => setDemoIndex((x) => (x + 1) % demos.length)}>\n {demosTitle[demo]}\n </Button>\n </XStack>\n </YStack>\n )\n}\n\nconst HorizontalTabs = () => {\n return (\n <Tabs\n defaultValue=\"tab1\"\n orientation=\"horizontal\"\n flexDirection=\"column\"\n width={400}\n height={150}\n borderRadius=\"$4\"\n borderWidth=\"$0.25\"\n overflow=\"hidden\"\n borderColor=\"$borderColor\"\n >\n <Tabs.List\n separator={<Separator vertical />}\n disablePassBorderRadius=\"bottom\"\n aria-label=\"Manage your account\"\n >\n <Tabs.Tab flex={1} value=\"tab1\">\n <SizableText fontFamily=\"$body\">Profile</SizableText>\n </Tabs.Tab>\n <Tabs.Tab flex={1} value=\"tab2\">\n <SizableText fontFamily=\"$body\">Connections</SizableText>\n </Tabs.Tab>\n <Tabs.Tab flex={1} value=\"tab3\">\n <SizableText fontFamily=\"$body\">Notifications</SizableText>\n </Tabs.Tab>\n </Tabs.List>\n <Separator />\n <TabsContent value=\"tab1\">\n <H5>Profile</H5>\n </TabsContent>\n\n <TabsContent value=\"tab2\">\n <H5>Connections</H5>\n </TabsContent>\n\n <TabsContent value=\"tab3\">\n <H5>Notifications</H5>\n </TabsContent>\n </Tabs>\n )\n}\n\nconst VerticalTabs = () => {\n return (\n <Tabs\n defaultValue=\"tab1\"\n flexDirection=\"row\"\n orientation=\"vertical\"\n width={400}\n borderRadius=\"$4\"\n borderWidth=\"$0.25\"\n overflow=\"hidden\"\n borderColor=\"$borderColor\"\n >\n <Tabs.List\n disablePassBorderRadius=\"end\"\n aria-label=\"Manage your account\"\n separator={<Separator />}\n >\n <Tabs.Tab value=\"tab1\">\n <SizableText>Profile</SizableText>\n </Tabs.Tab>\n <Tabs.Tab value=\"tab2\">\n <SizableText>Connections</SizableText>\n </Tabs.Tab>\n <Tabs.Tab value=\"tab3\">\n <SizableText>Notifications</SizableText>\n </Tabs.Tab>\n </Tabs.List>\n <Separator vertical />\n <TabsContent value=\"tab1\">\n <H5 textAlign=\"center\">Profile</H5>\n </TabsContent>\n <TabsContent value=\"tab2\">\n <H5 textAlign=\"center\">Connections</H5>\n </TabsContent>\n <TabsContent value=\"tab3\">\n <H5 textAlign=\"center\">Notifications</H5>\n </TabsContent>\n </Tabs>\n )\n}\n\nconst TabsContent = (props: TabsContentProps) => {\n return (\n <Tabs.Content\n backgroundColor=\"$background\"\n key=\"tab3\"\n padding=\"$2\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n borderColor=\"$background\"\n borderRadius=\"$2\"\n borderTopLeftRadius={0}\n borderTopRightRadius={0}\n borderWidth=\"$2\"\n {...props}\n >\n {props.children}\n </Tabs.Content>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAwBI,SAC2B,KAD3B;AAxBJ,SAAS,gBAAgB;AACzB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAEP,MAAM,QAAQ,CAAC,cAAc,UAAU;AACvC,MAAM,aAAqD;AAAA,EACzD,YAAY;AAAA,EACZ,UAAU;AACZ;AAEO,SAAS,WAAW;AACzB,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,CAAC;AAC5C,QAAM,OAAO,MAAM,SAAS;AAE5B;AAAA;AAAA,IAEE,qBAAC,UAAO,mBAAkB,MAAK,UAAU,SACtC;AAAA,eAAS,eAAe,oBAAC,kBAAe,IAAK,oBAAC,gBAAa;AAAA,MAE5D;AAAA,QAAC;AAAA;AAAA,UACC,YAAW;AAAA,UACX,OAAK;AAAA,UACL,UAAS;AAAA,UACT,QAAO;AAAA,UACP,MAAK;AAAA,UACL,MAAM,EAAE,SAAS,OAAO;AAAA,UAExB,8BAAC,UAAO,MAAK,MAAK,SAAS,MAAM,aAAa,CAAC,OAAO,IAAI,KAAK,MAAM,MAAM,GACxE,qBAAW,IAAI,GAClB;AAAA;AAAA,MACF;AAAA,OACF;AAAA;AAEJ;AAEA,MAAM,iBAAiB,MAAM;AAC3B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAa;AAAA,MACb,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,cAAa;AAAA,MACb,aAAY;AAAA,MACZ,UAAS;AAAA,MACT,aAAY;AAAA,MAEZ;AAAA;AAAA,UAAC,KAAK;AAAA,UAAL;AAAA,YACC,WAAW,oBAAC,aAAU,UAAQ,MAAC;AAAA,YAC/B,yBAAwB;AAAA,YACxB,cAAW;AAAA,YAEX;AAAA,kCAAC,KAAK,KAAL,EAAS,MAAM,GAAG,OAAM,QACvB,8BAAC,eAAY,YAAW,SAAQ,qBAAO,GACzC;AAAA,cACA,oBAAC,KAAK,KAAL,EAAS,MAAM,GAAG,OAAM,QACvB,8BAAC,eAAY,YAAW,SAAQ,yBAAW,GAC7C;AAAA,cACA,oBAAC,KAAK,KAAL,EAAS,MAAM,GAAG,OAAM,QACvB,8BAAC,eAAY,YAAW,SAAQ,2BAAa,GAC/C;AAAA;AAAA;AAAA,QACF;AAAA,QACA,oBAAC,aAAU;AAAA,QACX,oBAAC,eAAY,OAAM,QACjB,8BAAC,MAAG,qBAAO,GACb;AAAA,QAEA,oBAAC,eAAY,OAAM,QACjB,8BAAC,MAAG,yBAAW,GACjB;AAAA,QAEA,oBAAC,eAAY,OAAM,QACjB,8BAAC,MAAG,2BAAa,GACnB;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,eAAe,MAAM;AACzB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAa;AAAA,MACb,eAAc;AAAA,MACd,aAAY;AAAA,MACZ,OAAO;AAAA,MACP,cAAa;AAAA,MACb,aAAY;AAAA,MACZ,UAAS;AAAA,MACT,aAAY;AAAA,MAEZ;AAAA;AAAA,UAAC,KAAK;AAAA,UAAL;AAAA,YACC,yBAAwB;AAAA,YACxB,cAAW;AAAA,YACX,WAAW,oBAAC,aAAU;AAAA,YAEtB;AAAA,kCAAC,KAAK,KAAL,EAAS,OAAM,QACd,8BAAC,eAAY,qBAAO,GACtB;AAAA,cACA,oBAAC,KAAK,KAAL,EAAS,OAAM,QACd,8BAAC,eAAY,yBAAW,GAC1B;AAAA,cACA,oBAAC,KAAK,KAAL,EAAS,OAAM,QACd,8BAAC,eAAY,2BAAa,GAC5B;AAAA;AAAA;AAAA,QACF;AAAA,QACA,oBAAC,aAAU,UAAQ,MAAC;AAAA,QACpB,oBAAC,eAAY,OAAM,QACjB,8BAAC,MAAG,WAAU,UAAS,qBAAO,GAChC;AAAA,QACA,oBAAC,eAAY,OAAM,QACjB,8BAAC,MAAG,WAAU,UAAS,yBAAW,GACpC;AAAA,QACA,oBAAC,eAAY,OAAM,QACjB,8BAAC,MAAG,WAAU,UAAS,2BAAa,GACtC;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,cAAc,CAAC,UAA4B;AAC/C,SACE;AAAA,IAAC,KAAK;AAAA,IAAL;AAAA,MACC,iBAAgB;AAAA,MAEhB,SAAQ;AAAA,MACR,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,MAAM;AAAA,MACN,aAAY;AAAA,MACZ,cAAa;AAAA,MACb,qBAAqB;AAAA,MACrB,sBAAsB;AAAA,MACtB,aAAY;AAAA,MACX,GAAG;AAAA,MAEH,gBAAM;AAAA;AAAA,IAZH;AAAA,EAaN;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/TabsDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { useState } from 'react'\nimport {\n Button,\n H5,\n Separator,\n SizableText,\n Tabs,\n TabsContentProps,\n XStack,\n YStack,\n} from 'tamagui'\n\nconst demos = ['horizontal', 'vertical'] as const\nconst demosTitle: Record<(typeof demos)[number], string> = {\n horizontal: 'Horizontal',\n vertical: 'Vertical',\n}\n\nexport function TabsDemo() {\n const [demoIndex, setDemoIndex] = useState(0)\n const demo = demos[demoIndex]\n\n return (\n // web only fix for position relative\n <YStack paddingHorizontal=\"$4\" position={'unset' as any}>\n {demo === 'horizontal' ? <HorizontalTabs /> : <VerticalTabs />}\n\n <XStack\n alignItems=\"center\"\n space\n position=\"absolute\"\n bottom=\"$3\"\n left=\"$4\"\n $xxs={{ display: 'none' }}\n >\n <Button size=\"$2\" onPress={() => setDemoIndex((x) => (x + 1) % demos.length)}>\n {demosTitle[demo]}\n </Button>\n </XStack>\n </YStack>\n )\n}\n\nconst HorizontalTabs = () => {\n return (\n <Tabs\n defaultValue=\"tab1\"\n orientation=\"horizontal\"\n flexDirection=\"column\"\n width={400}\n height={150}\n borderRadius=\"$4\"\n borderWidth=\"$0.25\"\n overflow=\"hidden\"\n borderColor=\"$borderColor\"\n >\n <Tabs.List\n separator={<Separator vertical />}\n disablePassBorderRadius=\"bottom\"\n aria-label=\"Manage your account\"\n >\n <Tabs.Tab flex={1} value=\"tab1\">\n <SizableText fontFamily=\"$body\">Profile</SizableText>\n </Tabs.Tab>\n <Tabs.Tab flex={1} value=\"tab2\">\n <SizableText fontFamily=\"$body\">Connections</SizableText>\n </Tabs.Tab>\n <Tabs.Tab flex={1} value=\"tab3\">\n <SizableText fontFamily=\"$body\">Notifications</SizableText>\n </Tabs.Tab>\n </Tabs.List>\n <Separator />\n <TabsContent value=\"tab1\">\n <H5>Profile</H5>\n </TabsContent>\n\n <TabsContent value=\"tab2\">\n <H5>Connections</H5>\n </TabsContent>\n\n <TabsContent value=\"tab3\">\n <H5>Notifications</H5>\n </TabsContent>\n </Tabs>\n )\n}\n\nconst VerticalTabs = () => {\n return (\n <Tabs\n defaultValue=\"tab1\"\n flexDirection=\"row\"\n orientation=\"vertical\"\n width={400}\n borderRadius=\"$4\"\n borderWidth=\"$0.25\"\n overflow=\"hidden\"\n borderColor=\"$borderColor\"\n >\n <Tabs.List\n disablePassBorderRadius=\"end\"\n aria-label=\"Manage your account\"\n separator={<Separator />}\n >\n <Tabs.Tab value=\"tab1\">\n <SizableText>Profile</SizableText>\n </Tabs.Tab>\n <Tabs.Tab value=\"tab2\">\n <SizableText>Connections</SizableText>\n </Tabs.Tab>\n <Tabs.Tab value=\"tab3\">\n <SizableText>Notifications</SizableText>\n </Tabs.Tab>\n </Tabs.List>\n <Separator vertical />\n <TabsContent value=\"tab1\">\n <H5 textAlign=\"center\">Profile</H5>\n </TabsContent>\n <TabsContent value=\"tab2\">\n <H5 textAlign=\"center\">Connections</H5>\n </TabsContent>\n <TabsContent value=\"tab3\">\n <H5 textAlign=\"center\">Notifications</H5>\n </TabsContent>\n </Tabs>\n )\n}\n\nconst TabsContent = (props: TabsContentProps) => {\n return (\n <Tabs.Content\n backgroundColor=\"$background\"\n key=\"tab3\"\n padding=\"$2\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n borderColor=\"$background\"\n borderRadius=\"$2\"\n borderTopLeftRadius={0}\n borderTopRightRadius={0}\n borderWidth=\"$2\"\n {...props}\n >\n {props.children}\n </Tabs.Content>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAwBI,SAC2B,KAD3B;AAxBJ,SAAS,gBAAgB;AACzB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAEP,MAAM,QAAQ,CAAC,cAAc,UAAU;AACvC,MAAM,aAAqD;AAAA,EACzD,YAAY;AAAA,EACZ,UAAU;AACZ;AAEO,SAAS,WAAW;AACzB,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,CAAC;AAC5C,QAAM,OAAO,MAAM,SAAS;AAE5B;AAAA;AAAA,IAEE,qBAAC,UAAO,mBAAkB,MAAK,UAAU,SACtC;AAAA,eAAS,eAAe,oBAAC,kBAAe,IAAK,oBAAC,gBAAa;AAAA,MAE5D;AAAA,QAAC;AAAA;AAAA,UACC,YAAW;AAAA,UACX,OAAK;AAAA,UACL,UAAS;AAAA,UACT,QAAO;AAAA,UACP,MAAK;AAAA,UACL,MAAM,EAAE,SAAS,OAAO;AAAA,UAExB,8BAAC,UAAO,MAAK,MAAK,SAAS,MAAM,aAAa,CAAC,OAAO,IAAI,KAAK,MAAM,MAAM,GACxE,qBAAW,IAAI,GAClB;AAAA;AAAA,MACF;AAAA,OACF;AAAA;AAEJ;AAEA,MAAM,iBAAiB,MAAM;AAC3B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAa;AAAA,MACb,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,cAAa;AAAA,MACb,aAAY;AAAA,MACZ,UAAS;AAAA,MACT,aAAY;AAAA,MAEZ;AAAA;AAAA,UAAC,KAAK;AAAA,UAAL;AAAA,YACC,WAAW,oBAAC,aAAU,UAAQ,MAAC;AAAA,YAC/B,yBAAwB;AAAA,YACxB,cAAW;AAAA,YAEX;AAAA,kCAAC,KAAK,KAAL,EAAS,MAAM,GAAG,OAAM,QACvB,8BAAC,eAAY,YAAW,SAAQ,qBAAO,GACzC;AAAA,cACA,oBAAC,KAAK,KAAL,EAAS,MAAM,GAAG,OAAM,QACvB,8BAAC,eAAY,YAAW,SAAQ,yBAAW,GAC7C;AAAA,cACA,oBAAC,KAAK,KAAL,EAAS,MAAM,GAAG,OAAM,QACvB,8BAAC,eAAY,YAAW,SAAQ,2BAAa,GAC/C;AAAA;AAAA;AAAA,QACF;AAAA,QACA,oBAAC,aAAU;AAAA,QACX,oBAAC,eAAY,OAAM,QACjB,8BAAC,MAAG,qBAAO,GACb;AAAA,QAEA,oBAAC,eAAY,OAAM,QACjB,8BAAC,MAAG,yBAAW,GACjB;AAAA,QAEA,oBAAC,eAAY,OAAM,QACjB,8BAAC,MAAG,2BAAa,GACnB;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,eAAe,MAAM;AACzB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAa;AAAA,MACb,eAAc;AAAA,MACd,aAAY;AAAA,MACZ,OAAO;AAAA,MACP,cAAa;AAAA,MACb,aAAY;AAAA,MACZ,UAAS;AAAA,MACT,aAAY;AAAA,MAEZ;AAAA;AAAA,UAAC,KAAK;AAAA,UAAL;AAAA,YACC,yBAAwB;AAAA,YACxB,cAAW;AAAA,YACX,WAAW,oBAAC,aAAU;AAAA,YAEtB;AAAA,kCAAC,KAAK,KAAL,EAAS,OAAM,QACd,8BAAC,eAAY,qBAAO,GACtB;AAAA,cACA,oBAAC,KAAK,KAAL,EAAS,OAAM,QACd,8BAAC,eAAY,yBAAW,GAC1B;AAAA,cACA,oBAAC,KAAK,KAAL,EAAS,OAAM,QACd,8BAAC,eAAY,2BAAa,GAC5B;AAAA;AAAA;AAAA,QACF;AAAA,QACA,oBAAC,aAAU,UAAQ,MAAC;AAAA,QACpB,oBAAC,eAAY,OAAM,QACjB,8BAAC,MAAG,WAAU,UAAS,qBAAO,GAChC;AAAA,QACA,oBAAC,eAAY,OAAM,QACjB,8BAAC,MAAG,WAAU,UAAS,yBAAW,GACpC;AAAA,QACA,oBAAC,eAAY,OAAM,QACjB,8BAAC,MAAG,WAAU,UAAS,2BAAa,GACtC;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,cAAc,CAAC,UAA4B;AAC/C,SACE;AAAA,IAAC,KAAK;AAAA,IAAL;AAAA,MACC,iBAAgB;AAAA,MAEhB,SAAQ;AAAA,MACR,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,MAAM;AAAA,MACN,aAAY;AAAA,MACZ,cAAa;AAAA,MACb,qBAAqB;AAAA,MACrB,sBAAsB;AAAA,MACtB,aAAY;AAAA,MACX,GAAG;AAAA,MAEH,gBAAM;AAAA;AAAA,IAZH;AAAA,EAaN;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
package/dist/esm/TextDemo.js.map
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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\" alignItems=\"center\">\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\" fontWeight=\"800\">\n Paragraph\n </Paragraph>\n </YStack>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAMM,cACA,YADA;AALN,SAAS,WAAW,aAAmB,QAAQ,cAAc;AAEtD,SAAS,WAAW;AACzB,SACE,qBAAC,UAAO,OAAM,MAAK,YAAW,UAC5B;AAAA,wBAAC,eAAY,MAAK,MAAK,yBAAW;AAAA,IAClC,qBAAC,UAAO,OAAK,MACX;AAAA,0BAAC,eAAY,OAAM,QAAO,MAAK,MAAK,kBAEpC;AAAA,MACA,oBAAC,eAAY,OAAM,QAAO,MAAK,MAAK,kBAEpC;AAAA,OACF;AAAA,IACA,oBAAC,aAAU,MAAK,MAAK,YAAW,OAAM,uBAEtC;AAAA,KACF;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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\" alignItems=\"center\">\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\" fontWeight=\"800\">\n Paragraph\n </Paragraph>\n </YStack>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAMM,cACA,YADA;AALN,SAAS,WAAW,aAAmB,QAAQ,cAAc;AAEtD,SAAS,WAAW;AACzB,SACE,qBAAC,UAAO,OAAM,MAAK,YAAW,UAC5B;AAAA,wBAAC,eAAY,MAAK,MAAK,yBAAW;AAAA,IAClC,qBAAC,UAAO,OAAK,MACX;AAAA,0BAAC,eAAY,OAAM,QAAO,MAAK,MAAK,kBAEpC;AAAA,MACA,oBAAC,eAAY,OAAM,QAAO,MAAK,MAAK,kBAEpC;AAAA,OACF;AAAA,IACA,oBAAC,aAAU,MAAK,MAAK,YAAW,OAAM,uBAEtC;AAAA,KACF;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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 backgroundColor=\"$background\" padding=\"$3\" borderRadius=\"$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
4
|
"mappings": "AAII,SACE,KADF;AAJJ,SAAS,QAAQ,OAAO,QAAQ,cAAc;AAEvC,SAAS,mBAAmB;AACjC,SACE,qBAAC,UAAO,OAAK,MACX;AAAA,wBAAC,WAAQ;AAAA,IACT,oBAAC,SAAM,SAAO,MACZ,8BAAC,WAAQ,GACX;AAAA,KACF;AAEJ;AAEA,SAAS,UAAU;AACjB,SACE,qBAAC,UAAO,iBAAgB,eAAc,SAAQ,MAAK,cAAa,MAAK,OAAK,MACxE;AAAA,wBAAC,UAAO,kBAAI;AAAA,IACZ,oBAAC,UAAO,cAAY,MAAC,sBAAQ;AAAA,IAC7B,oBAAC,UAAO,OAAM,QAAO,uBAAS;AAAA,IAC9B,oBAAC,SAAM,MAAK,UACV,8BAAC,UAAO,yBAAW,GACrB;AAAA,KACF;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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 backgroundColor=\"$background\" padding=\"$3\" borderRadius=\"$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
4
|
"mappings": "AAII,SACE,KADF;AAJJ,SAAS,QAAQ,OAAO,QAAQ,cAAc;AAEvC,SAAS,mBAAmB;AACjC,SACE,qBAAC,UAAO,OAAK,MACX;AAAA,wBAAC,WAAQ;AAAA,IACT,oBAAC,SAAM,SAAO,MACZ,8BAAC,WAAQ,GACX;AAAA,KACF;AAEJ;AAEA,SAAS,UAAU;AACjB,SACE,qBAAC,UAAO,iBAAgB,eAAc,SAAQ,MAAK,cAAa,MAAK,OAAK,MACxE;AAAA,wBAAC,UAAO,kBAAI;AAAA,IACZ,oBAAC,UAAO,cAAY,MAAC,sBAAQ;AAAA,IAC7B,oBAAC,UAAO,OAAM,QAAO,uBAAS;AAAA,IAC9B,oBAAC,SAAM,MAAK,UACV,8BAAC,UAAO,yBAAW,GACrB;AAAA,KACF;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { Toast, useToastController, useToastState } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, SizableText, Switch, XStack, YStack } from 'tamagui'\n\nexport const ToastDemo = () => {\n const [native, setNative] = React.useState(false)\n\n return (\n <YStack space alignItems=\"center\">\n <ToastControl native={native} />\n <CurrentToast />\n\n <NativeOptions native={native} setNative={setNative} />\n </YStack>\n )\n}\n\nconst CurrentToast = () => {\n const currentToast = useToastState()\n\n if (!currentToast || currentToast.isHandledNatively) return null\n return (\n <Toast\n key={currentToast.id}\n duration={currentToast.duration}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n viewportName={currentToast.viewportName}\n >\n <YStack>\n <Toast.Title>{currentToast.title}</Toast.Title>\n {!!currentToast.message && (\n <Toast.Description>{currentToast.message}</Toast.Description>\n )}\n </YStack>\n </Toast>\n )\n}\n\nconst ToastControl = ({ native }: { native: boolean }) => {\n const toast = useToastController()\n return (\n <XStack space=\"$2\" justifyContent=\"center\">\n <Button\n onPress={() => {\n toast.show('Successfully saved!', {\n message: \"Don't worry, we've got your data.\",\n native,\n })\n }}\n >\n Show\n </Button>\n <Button\n onPress={() => {\n toast.hide()\n }}\n >\n Hide\n </Button>\n </XStack>\n )\n}\n\nconst NativeOptions = ({\n native,\n setNative,\n}: {\n native: boolean\n setNative: (native: boolean) => void\n}) => {\n return (\n <XStack space=\"$3\">\n <SizableText size=\"$1\">Custom</SizableText>\n\n <Switch\n theme=\"active\"\n size=\"$1\"\n checked={!!native}\n onCheckedChange={(val) => setNative(val)}\n >\n <Switch.Thumb\n animation={[\n 'quick',\n {\n transform: {\n overshootClamping: true,\n },\n },\n ]}\n />\n </Switch>\n\n <SizableText size=\"$1\">Native</SizableText>\n </XStack>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAQI,SACE,KADF;AARJ,SAAS,OAAO,oBAAoB,qBAAqB;AACzD,OAAO,WAAW;AAClB,SAAS,QAAQ,aAAa,QAAQ,QAAQ,cAAc;AAErD,MAAM,YAAY,MAAM;AAC7B,QAAM,CAAC,QAAQ,SAAS,IAAI,MAAM,SAAS,KAAK;AAEhD,SACE,qBAAC,UAAO,OAAK,MAAC,YAAW,UACvB;AAAA,wBAAC,gBAAa,QAAgB;AAAA,IAC9B,oBAAC,gBAAa;AAAA,IAEd,oBAAC,iBAAc,QAAgB,WAAsB;AAAA,KACvD;AAEJ;AAEA,MAAM,eAAe,MAAM;AACzB,QAAM,eAAe,cAAc;AAEnC,MAAI,CAAC,gBAAgB,aAAa;AAAmB,WAAO;AAC5D,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,UAAU,aAAa;AAAA,MACvB,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,MAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,MAC1C,GAAG;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,MACP,WAAU;AAAA,MACV,cAAc,aAAa;AAAA,MAE3B,+BAAC,UACC;AAAA,4BAAC,MAAM,OAAN,EAAa,uBAAa,OAAM;AAAA,QAChC,CAAC,CAAC,aAAa,WACd,oBAAC,MAAM,aAAN,EAAmB,uBAAa,SAAQ;AAAA,SAE7C;AAAA;AAAA,IAfK,aAAa;AAAA,EAgBpB;AAEJ;AAEA,MAAM,eAAe,CAAC,EAAE,OAAO,MAA2B;AACxD,QAAM,QAAQ,mBAAmB;AACjC,SACE,qBAAC,UAAO,OAAM,MAAK,gBAAe,UAChC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,KAAK,uBAAuB;AAAA,YAChC,SAAS;AAAA,YACT;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACD;AAAA;AAAA,IAED;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,KAAK;AAAA,QACb;AAAA,QACD;AAAA;AAAA,IAED;AAAA,KACF;AAEJ;AAEA,MAAM,gBAAgB,CAAC;AAAA,EACrB;AAAA,EACA;AACF,MAGM;AACJ,SACE,qBAAC,UAAO,OAAM,MACZ;AAAA,wBAAC,eAAY,MAAK,MAAK,oBAAM;AAAA,IAE7B;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,MAAK;AAAA,QACL,SAAS,CAAC,CAAC;AAAA,QACX,iBAAiB,CAAC,QAAQ,UAAU,GAAG;AAAA,QAEvC;AAAA,UAAC,OAAO;AAAA,UAAP;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA;AAAA,gBACE,WAAW;AAAA,kBACT,mBAAmB;AAAA,gBACrB;AAAA,cACF;AAAA,YACF;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IAEA,oBAAC,eAAY,MAAK,MAAK,oBAAM;AAAA,KAC/B;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { Toast, useToastController, useToastState } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, SizableText, Switch, XStack, YStack } from 'tamagui'\n\nexport const ToastDemo = () => {\n const [native, setNative] = React.useState(false)\n\n return (\n <YStack space alignItems=\"center\">\n <ToastControl native={native} />\n <CurrentToast />\n\n <NativeOptions native={native} setNative={setNative} />\n </YStack>\n )\n}\n\nconst CurrentToast = () => {\n const currentToast = useToastState()\n\n if (!currentToast || currentToast.isHandledNatively) return null\n return (\n <Toast\n key={currentToast.id}\n duration={currentToast.duration}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n viewportName={currentToast.viewportName}\n >\n <YStack>\n <Toast.Title>{currentToast.title}</Toast.Title>\n {!!currentToast.message && (\n <Toast.Description>{currentToast.message}</Toast.Description>\n )}\n </YStack>\n </Toast>\n )\n}\n\nconst ToastControl = ({ native }: { native: boolean }) => {\n const toast = useToastController()\n return (\n <XStack space=\"$2\" justifyContent=\"center\">\n <Button\n onPress={() => {\n toast.show('Successfully saved!', {\n message: \"Don't worry, we've got your data.\",\n native,\n })\n }}\n >\n Show\n </Button>\n <Button\n onPress={() => {\n toast.hide()\n }}\n >\n Hide\n </Button>\n </XStack>\n )\n}\n\nconst NativeOptions = ({\n native,\n setNative,\n}: {\n native: boolean\n setNative: (native: boolean) => void\n}) => {\n return (\n <XStack space=\"$3\">\n <SizableText size=\"$1\">Custom</SizableText>\n\n <Switch\n theme=\"active\"\n size=\"$1\"\n checked={!!native}\n onCheckedChange={(val) => setNative(val)}\n >\n <Switch.Thumb\n animation={[\n 'quick',\n {\n transform: {\n overshootClamping: true,\n },\n },\n ]}\n />\n </Switch>\n\n <SizableText size=\"$1\">Native</SizableText>\n </XStack>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAQI,SACE,KADF;AARJ,SAAS,OAAO,oBAAoB,qBAAqB;AACzD,OAAO,WAAW;AAClB,SAAS,QAAQ,aAAa,QAAQ,QAAQ,cAAc;AAErD,MAAM,YAAY,MAAM;AAC7B,QAAM,CAAC,QAAQ,SAAS,IAAI,MAAM,SAAS,KAAK;AAEhD,SACE,qBAAC,UAAO,OAAK,MAAC,YAAW,UACvB;AAAA,wBAAC,gBAAa,QAAgB;AAAA,IAC9B,oBAAC,gBAAa;AAAA,IAEd,oBAAC,iBAAc,QAAgB,WAAsB;AAAA,KACvD;AAEJ;AAEA,MAAM,eAAe,MAAM;AACzB,QAAM,eAAe,cAAc;AAEnC,MAAI,CAAC,gBAAgB,aAAa;AAAmB,WAAO;AAC5D,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,UAAU,aAAa;AAAA,MACvB,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,MAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,MAC1C,GAAG;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,MACP,WAAU;AAAA,MACV,cAAc,aAAa;AAAA,MAE3B,+BAAC,UACC;AAAA,4BAAC,MAAM,OAAN,EAAa,uBAAa,OAAM;AAAA,QAChC,CAAC,CAAC,aAAa,WACd,oBAAC,MAAM,aAAN,EAAmB,uBAAa,SAAQ;AAAA,SAE7C;AAAA;AAAA,IAfK,aAAa;AAAA,EAgBpB;AAEJ;AAEA,MAAM,eAAe,CAAC,EAAE,OAAO,MAA2B;AACxD,QAAM,QAAQ,mBAAmB;AACjC,SACE,qBAAC,UAAO,OAAM,MAAK,gBAAe,UAChC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,KAAK,uBAAuB;AAAA,YAChC,SAAS;AAAA,YACT;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACD;AAAA;AAAA,IAED;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,KAAK;AAAA,QACb;AAAA,QACD;AAAA;AAAA,IAED;AAAA,KACF;AAEJ;AAEA,MAAM,gBAAgB,CAAC;AAAA,EACrB;AAAA,EACA;AACF,MAGM;AACJ,SACE,qBAAC,UAAO,OAAM,MACZ;AAAA,wBAAC,eAAY,MAAK,MAAK,oBAAM;AAAA,IAE7B;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,MAAK;AAAA,QACL,SAAS,CAAC,CAAC;AAAA,QACX,iBAAiB,CAAC,QAAQ,UAAU,GAAG;AAAA,QAEvC;AAAA,UAAC,OAAO;AAAA,UAAP;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA;AAAA,gBACE,WAAW;AAAA,kBACT,mBAAmB;AAAA,gBACrB;AAAA,cACF;AAAA,YACF;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IAEA,oBAAC,eAAY,MAAK,MAAK,oBAAM;AAAA,KAC/B;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDuplicateDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { CheckCircle2 } from '@tamagui/lucide-icons'\nimport { Toast } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, XStack, YStack } from 'tamagui'\n\nexport const ToastDuplicateDemo = () => {\n const [savedCount, setSavedCount] = React.useState(0)\n\n return (\n <YStack alignItems=\"center\">\n <Button\n onPress={() => {\n setSavedCount((old) => old + 1)\n }}\n >\n Show toast\n </Button>\n {[...Array(savedCount)].map((_, index) => (\n <Toast\n viewportName=\"viewport-multiple\" // Sends to a viewport that supports multiple toasts with the `multipleToasts` prop\n key={index}\n duration={4000}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n >\n <XStack space alignItems=\"center\">\n <YStack>\n <CheckCircle2 />\n </YStack>\n\n <YStack>\n <Toast.Title>Successfully saved!</Toast.Title>\n <Toast.Description>Don't worry... We've got your data.</Toast.Description>\n </YStack>\n </XStack>\n </Toast>\n ))}\n </YStack>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAUM,cAwBM,YAxBN;AAVN,SAAS,oBAAoB;AAC7B,SAAS,aAAa;AACtB,OAAO,WAAW;AAClB,SAAS,QAAQ,QAAQ,cAAc;AAEhC,MAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,YAAY,aAAa,IAAI,MAAM,SAAS,CAAC;AAEpD,SACE,qBAAC,UAAO,YAAW,UACjB;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,wBAAc,CAAC,QAAQ,MAAM,CAAC;AAAA,QAChC;AAAA,QACD;AAAA;AAAA,IAED;AAAA,IACC,CAAC,GAAG,MAAM,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,UAC9B;AAAA,MAAC;AAAA;AAAA,QACC,cAAa;AAAA,QAEb,UAAU;AAAA,QACV,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,QAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,QAC1C,GAAG;AAAA,QACH,SAAS;AAAA,QACT,OAAO;AAAA,QACP,WAAU;AAAA,QAEV,+BAAC,UAAO,OAAK,MAAC,YAAW,UACvB;AAAA,8BAAC,UACC,8BAAC,gBAAa,GAChB;AAAA,UAEA,qBAAC,UACC;AAAA,gCAAC,MAAM,OAAN,EAAY,iCAAmB;AAAA,YAChC,oBAAC,MAAM,aAAN,EAAkB,iDAAmC;AAAA,aACxD;AAAA,WACF;AAAA;AAAA,MAlBK;AAAA,IAmBP,CACD;AAAA,KACH;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDuplicateDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { CheckCircle2 } from '@tamagui/lucide-icons'\nimport { Toast } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, XStack, YStack } from 'tamagui'\n\nexport const ToastDuplicateDemo = () => {\n const [savedCount, setSavedCount] = React.useState(0)\n\n return (\n <YStack alignItems=\"center\">\n <Button\n onPress={() => {\n setSavedCount((old) => old + 1)\n }}\n >\n Show toast\n </Button>\n {[...Array(savedCount)].map((_, index) => (\n <Toast\n viewportName=\"viewport-multiple\" // Sends to a viewport that supports multiple toasts with the `multipleToasts` prop\n key={index}\n duration={4000}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n >\n <XStack space alignItems=\"center\">\n <YStack>\n <CheckCircle2 />\n </YStack>\n\n <YStack>\n <Toast.Title>Successfully saved!</Toast.Title>\n <Toast.Description>Don't worry... We've got your data.</Toast.Description>\n </YStack>\n </XStack>\n </Toast>\n ))}\n </YStack>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAUM,cAwBM,YAxBN;AAVN,SAAS,oBAAoB;AAC7B,SAAS,aAAa;AACtB,OAAO,WAAW;AAClB,SAAS,QAAQ,QAAQ,cAAc;AAEhC,MAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,YAAY,aAAa,IAAI,MAAM,SAAS,CAAC;AAEpD,SACE,qBAAC,UAAO,YAAW,UACjB;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,wBAAc,CAAC,QAAQ,MAAM,CAAC;AAAA,QAChC;AAAA,QACD;AAAA;AAAA,IAED;AAAA,IACC,CAAC,GAAG,MAAM,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,UAC9B;AAAA,MAAC;AAAA;AAAA,QACC,cAAa;AAAA,QAEb,UAAU;AAAA,QACV,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,QAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,QAC1C,GAAG;AAAA,QACH,SAAS;AAAA,QACT,OAAO;AAAA,QACP,WAAU;AAAA,QAEV,+BAAC,UAAO,OAAK,MAAC,YAAW,UACvB;AAAA,8BAAC,UACC,8BAAC,gBAAa,GAChB;AAAA,UAEA,qBAAC,UACC;AAAA,gCAAC,MAAM,OAAN,EAAY,iCAAmB;AAAA,YAChC,oBAAC,MAAM,aAAN,EAAkB,iDAAmC;AAAA,aACxD;AAAA,WACF;AAAA;AAAA,MAlBK;AAAA,IAmBP,CACD;AAAA,KACH;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToggleGroupDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { AlignCenter, AlignLeft, AlignRight } from '@tamagui/lucide-icons'\nimport { Label, SizeTokens, ToggleGroup, XStack, YStack } from 'tamagui'\n\nexport function ToggleGroupDemo() {\n return (\n <YStack paddingHorizontal=\"$4\">\n <XStack alignItems=\"center\" space=\"$10\">\n <YStack alignItems=\"center\" space=\"$6\">\n <ToggleGroupComponent type=\"single\" size=\"$3\" orientation=\"horizontal\" />\n <ToggleGroupComponent type=\"multiple\" size=\"$4\" orientation=\"horizontal\" />\n </YStack>\n <XStack alignItems=\"center\" space=\"$6\">\n <ToggleGroupComponent type=\"single\" size=\"$3\" orientation=\"vertical\" />\n <ToggleGroupComponent type=\"multiple\" size=\"$4\" orientation=\"vertical\" />\n </XStack>\n </XStack>\n </YStack>\n )\n}\n\nfunction ToggleGroupComponent(props: {\n size: SizeTokens\n type: 'single' | 'multiple'\n orientation: 'vertical' | 'horizontal'\n}) {\n const id = `switch-${props.size.toString().slice(1)}-${props.type}`\n return (\n <XStack\n flexDirection={props.orientation === 'horizontal' ? 'row' : 'column'}\n alignItems=\"center\"\n justifyContent=\"center\"\n space=\"$4\"\n >\n <Label paddingRight=\"$0\" justifyContent=\"flex-end\" size={props.size} htmlFor={id}>\n {props.type === 'single' ? 'Single' : 'Multiple'}\n </Label>\n {/* <Separator vertical={props.orientation === 'horizontal'} /> */}\n\n <ToggleGroup\n orientation={props.orientation}\n id={id}\n type={props.type}\n size={props.size}\n disableDeactivation={props.type === 'single' ? true : undefined}\n >\n <ToggleGroup.Item value=\"left\" aria-label=\"Left aligned\">\n <AlignLeft />\n </ToggleGroup.Item>\n <ToggleGroup.Item value=\"center\" aria-label=\"Center aligned\">\n <AlignCenter />\n </ToggleGroup.Item>\n <ToggleGroup.Item value=\"right\" aria-label=\"Right aligned\">\n <AlignRight />\n </ToggleGroup.Item>\n </ToggleGroup>\n </XStack>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAOQ,SACE,KADF;AAPR,SAAS,aAAa,WAAW,kBAAkB;AACnD,SAAS,OAAmB,aAAa,QAAQ,cAAc;AAExD,SAAS,kBAAkB;AAChC,SACE,oBAAC,UAAO,mBAAkB,MACxB,+BAAC,UAAO,YAAW,UAAS,OAAM,OAChC;AAAA,yBAAC,UAAO,YAAW,UAAS,OAAM,MAChC;AAAA,0BAAC,wBAAqB,MAAK,UAAS,MAAK,MAAK,aAAY,cAAa;AAAA,MACvE,oBAAC,wBAAqB,MAAK,YAAW,MAAK,MAAK,aAAY,cAAa;AAAA,OAC3E;AAAA,IACA,qBAAC,UAAO,YAAW,UAAS,OAAM,MAChC;AAAA,0BAAC,wBAAqB,MAAK,UAAS,MAAK,MAAK,aAAY,YAAW;AAAA,MACrE,oBAAC,wBAAqB,MAAK,YAAW,MAAK,MAAK,aAAY,YAAW;AAAA,OACzE;AAAA,KACF,GACF;AAEJ;AAEA,SAAS,qBAAqB,OAI3B;AACD,QAAM,KAAK,UAAU,MAAM,KAAK,SAAS,EAAE,MAAM,CAAC,KAAK,MAAM;AAC7D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAe,MAAM,gBAAgB,eAAe,QAAQ;AAAA,MAC5D,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,OAAM;AAAA,MAEN;AAAA,4BAAC,SAAM,cAAa,MAAK,gBAAe,YAAW,MAAM,MAAM,MAAM,SAAS,IAC3E,gBAAM,SAAS,WAAW,WAAW,YACxC;AAAA,QAGA;AAAA,UAAC;AAAA;AAAA,YACC,aAAa,MAAM;AAAA,YACnB;AAAA,YACA,MAAM,MAAM;AAAA,YACZ,MAAM,MAAM;AAAA,YACZ,qBAAqB,MAAM,SAAS,WAAW,OAAO;AAAA,YAEtD;AAAA,kCAAC,YAAY,MAAZ,EAAiB,OAAM,QAAO,cAAW,gBACxC,8BAAC,aAAU,GACb;AAAA,cACA,oBAAC,YAAY,MAAZ,EAAiB,OAAM,UAAS,cAAW,kBAC1C,8BAAC,eAAY,GACf;AAAA,cACA,oBAAC,YAAY,MAAZ,EAAiB,OAAM,SAAQ,cAAW,iBACzC,8BAAC,cAAW,GACd;AAAA;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToggleGroupDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { AlignCenter, AlignLeft, AlignRight } from '@tamagui/lucide-icons'\nimport { Label, SizeTokens, ToggleGroup, XStack, YStack } from 'tamagui'\n\nexport function ToggleGroupDemo() {\n return (\n <YStack paddingHorizontal=\"$4\">\n <XStack alignItems=\"center\" space=\"$10\">\n <YStack alignItems=\"center\" space=\"$6\">\n <ToggleGroupComponent type=\"single\" size=\"$3\" orientation=\"horizontal\" />\n <ToggleGroupComponent type=\"multiple\" size=\"$4\" orientation=\"horizontal\" />\n </YStack>\n <XStack alignItems=\"center\" space=\"$6\">\n <ToggleGroupComponent type=\"single\" size=\"$3\" orientation=\"vertical\" />\n <ToggleGroupComponent type=\"multiple\" size=\"$4\" orientation=\"vertical\" />\n </XStack>\n </XStack>\n </YStack>\n )\n}\n\nfunction ToggleGroupComponent(props: {\n size: SizeTokens\n type: 'single' | 'multiple'\n orientation: 'vertical' | 'horizontal'\n}) {\n const id = `switch-${props.size.toString().slice(1)}-${props.type}`\n return (\n <XStack\n flexDirection={props.orientation === 'horizontal' ? 'row' : 'column'}\n alignItems=\"center\"\n justifyContent=\"center\"\n space=\"$4\"\n >\n <Label paddingRight=\"$0\" justifyContent=\"flex-end\" size={props.size} htmlFor={id}>\n {props.type === 'single' ? 'Single' : 'Multiple'}\n </Label>\n {/* <Separator vertical={props.orientation === 'horizontal'} /> */}\n\n <ToggleGroup\n orientation={props.orientation}\n id={id}\n type={props.type}\n size={props.size}\n disableDeactivation={props.type === 'single' ? true : undefined}\n >\n <ToggleGroup.Item value=\"left\" aria-label=\"Left aligned\">\n <AlignLeft />\n </ToggleGroup.Item>\n <ToggleGroup.Item value=\"center\" aria-label=\"Center aligned\">\n <AlignCenter />\n </ToggleGroup.Item>\n <ToggleGroup.Item value=\"right\" aria-label=\"Right aligned\">\n <AlignRight />\n </ToggleGroup.Item>\n </ToggleGroup>\n </XStack>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAOQ,SACE,KADF;AAPR,SAAS,aAAa,WAAW,kBAAkB;AACnD,SAAS,OAAmB,aAAa,QAAQ,cAAc;AAExD,SAAS,kBAAkB;AAChC,SACE,oBAAC,UAAO,mBAAkB,MACxB,+BAAC,UAAO,YAAW,UAAS,OAAM,OAChC;AAAA,yBAAC,UAAO,YAAW,UAAS,OAAM,MAChC;AAAA,0BAAC,wBAAqB,MAAK,UAAS,MAAK,MAAK,aAAY,cAAa;AAAA,MACvE,oBAAC,wBAAqB,MAAK,YAAW,MAAK,MAAK,aAAY,cAAa;AAAA,OAC3E;AAAA,IACA,qBAAC,UAAO,YAAW,UAAS,OAAM,MAChC;AAAA,0BAAC,wBAAqB,MAAK,UAAS,MAAK,MAAK,aAAY,YAAW;AAAA,MACrE,oBAAC,wBAAqB,MAAK,YAAW,MAAK,MAAK,aAAY,YAAW;AAAA,OACzE;AAAA,KACF,GACF;AAEJ;AAEA,SAAS,qBAAqB,OAI3B;AACD,QAAM,KAAK,UAAU,MAAM,KAAK,SAAS,EAAE,MAAM,CAAC,KAAK,MAAM;AAC7D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAe,MAAM,gBAAgB,eAAe,QAAQ;AAAA,MAC5D,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,OAAM;AAAA,MAEN;AAAA,4BAAC,SAAM,cAAa,MAAK,gBAAe,YAAW,MAAM,MAAM,MAAM,SAAS,IAC3E,gBAAM,SAAS,WAAW,WAAW,YACxC;AAAA,QAGA;AAAA,UAAC;AAAA;AAAA,YACC,aAAa,MAAM;AAAA,YACnB;AAAA,YACA,MAAM,MAAM;AAAA,YACZ,MAAM,MAAM;AAAA,YACZ,qBAAqB,MAAM,SAAS,WAAW,OAAO;AAAA,YAEtD;AAAA,kCAAC,YAAY,MAAZ,EAAiB,OAAM,QAAO,cAAW,gBACxC,8BAAC,aAAU,GACb;AAAA,cACA,oBAAC,YAAY,MAAZ,EAAiB,OAAM,UAAS,cAAW,kBAC1C,8BAAC,eAAY,GACf;AAAA,cACA,oBAAC,YAAY,MAAZ,EAAiB,OAAM,SAAQ,cAAW,iBACzC,8BAAC,cAAW,GACd;AAAA;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/TokensDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { Tokens, getConfig } from '@tamagui/core'\nimport { useState } from 'react'\nimport { Button, H2, H3, H4, Separator, Square, XGroup, XStack, YStack } 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 alignItems=\"center\" alignSelf=\"center\">\n {sections.map(({ name, key }) => {\n return (\n <XGroup.Item key={key}>\n <Button\n size=\"$3\"\n theme={section === key ? 'active' : null}\n fontFamily=\"$silkscreen\"\n onPress={() => setSection(key)}\n >\n {name}\n </Button>\n </XGroup.Item>\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) => (parseFloat(a) > parseFloat(b) ? 1 : -1))\n const spaceTokens = st.filter((t) => parseFloat(t) >= 0)\n const spaceTokensNegative = st\n .filter((t) => parseFloat(t) < 0)\n .sort((a, b) => (parseFloat(a) > parseFloat(b) ? -1 : 1))\n\n return (\n <YStack flex={1} space>\n <H2>Sizes</H2>\n <YStack width=\"100%\" space=\"$2\" separator={<Separator />}>\n {(section === 'spaceNegative' ? spaceTokensNegative : spaceTokens).map(\n (token) => {\n return (\n <XStack width=\"100%\" alignItems=\"center\" key={token}>\n <YStack width=\"25%\">\n <H3 size=\"$6\">${token}</H3>\n </YStack>\n <YStack width=\"20%\">\n <H4 size=\"$5\">{tokens[token]?.val}px</H4>\n </YStack>\n <Square\n size={tokens[token]?.val}\n backgroundColor=\"$color5\"\n {...(section === 'spaceNegative' && {\n backgroundColor: '$red5',\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 borderRadius: tokens[token]?.val,\n })}\n />\n </XStack>\n )\n }\n )}\n </YStack>\n </YStack>\n )\n}\n"],
|
|
5
4
|
"mappings": "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",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/TokensDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { Tokens, getConfig } from '@tamagui/core'\nimport { useState } from 'react'\nimport { Button, H2, H3, H4, Separator, Square, XGroup, XStack, YStack } 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 alignItems=\"center\" alignSelf=\"center\">\n {sections.map(({ name, key }) => {\n return (\n <XGroup.Item key={key}>\n <Button\n size=\"$3\"\n theme={section === key ? 'active' : null}\n fontFamily=\"$silkscreen\"\n onPress={() => setSection(key)}\n >\n {name}\n </Button>\n </XGroup.Item>\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) => (parseFloat(a) > parseFloat(b) ? 1 : -1))\n const spaceTokens = st.filter((t) => parseFloat(t) >= 0)\n const spaceTokensNegative = st\n .filter((t) => parseFloat(t) < 0)\n .sort((a, b) => (parseFloat(a) > parseFloat(b) ? -1 : 1))\n\n return (\n <YStack flex={1} space>\n <H2>Sizes</H2>\n <YStack width=\"100%\" space=\"$2\" separator={<Separator />}>\n {(section === 'spaceNegative' ? spaceTokensNegative : spaceTokens).map(\n (token) => {\n return (\n <XStack width=\"100%\" alignItems=\"center\" key={token}>\n <YStack width=\"25%\">\n <H3 size=\"$6\">${token}</H3>\n </YStack>\n <YStack width=\"20%\">\n <H4 size=\"$5\">{tokens[token]?.val}px</H4>\n </YStack>\n <Square\n size={tokens[token]?.val}\n backgroundColor=\"$color5\"\n {...(section === 'spaceNegative' && {\n backgroundColor: '$red5',\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 borderRadius: tokens[token]?.val,\n })}\n />\n </XStack>\n )\n }\n )}\n </YStack>\n </YStack>\n )\n}\n"],
|
|
5
4
|
"mappings": "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",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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\" alignSelf=\"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 flex={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, opacity: 0, scale: 0.9 }}\n exitStyle={{ x: 0, y: -5, opacity: 0, scale: 0.9 }}\n scale={1}\n x={0}\n y={0}\n opacity={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
4
|
"mappings": "AAuBQ,SACE,KADF;AAvBR;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,oBAAC,gBAAa,OAAO,EAAE,MAAM,KAAM,OAAO,IAAI,GAC5C,+BAAC,UAAO,OAAM,MAAK,WAAU,UAC3B;AAAA,yBAAC,UAAO,OAAM,MACZ;AAAA,0BAAC,QAAK,SAAQ,KAAI,WAAU,WAAU,MAAM,QAAQ;AAAA,MACpD,oBAAC,QAAK,SAAQ,KAAI,WAAU,OAAM,MAAM,WAAW;AAAA,MACnD,oBAAC,QAAK,SAAQ,KAAI,WAAU,aAAY,MAAM,QAAQ;AAAA,OACxD;AAAA,IACA,qBAAC,UAAO,OAAM,MACZ;AAAA,0BAAC,QAAK,SAAQ,KAAI,WAAU,QAAO,MAAM,aAAa;AAAA,MACtD,oBAAC,UAAO,MAAM,GAAG;AAAA,MACjB,oBAAC,QAAK,SAAQ,KAAI,WAAU,SAAQ,MAAM,cAAc;AAAA,OAC1D;AAAA,IACA,qBAAC,UAAO,OAAM,MACZ;AAAA,0BAAC,QAAK,SAAQ,KAAI,WAAU,cAAa,MAAM,QAAQ;AAAA,MACvD,oBAAC,QAAK,SAAQ,KAAI,WAAU,UAAS,MAAM,aAAa;AAAA,MACxD,oBAAC,QAAK,SAAQ,KAAI,WAAU,gBAAe,MAAM,QAAQ;AAAA,OAC3D;AAAA,KACF,GACF;AAEJ;AAEO,SAAS,KAAK,EAAE,MAAM,GAAG,MAAM,GAAkC;AACtE,SACE,qBAAC,WAAS,GAAG,OACX;AAAA,wBAAC,QAAQ,SAAR,EACC,8BAAC,UAAO,MAAM,MAAM,UAAQ,MAAC,GAC/B;AAAA,IACA,oBAAC,SAAM,SAAO,MACZ;AAAA,MAAC,QAAQ;AAAA,MAAR;AAAA,QACC,YAAY,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,IAAI;AAAA,QAClD,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,IAAI;AAAA,QACjD,OAAO;AAAA,QACP,GAAG;AAAA,QACH,GAAG;AAAA,QACH,SAAS;AAAA,QACT,WAAW;AAAA,UACT;AAAA,UACA;AAAA,YACE,SAAS;AAAA,cACP,mBAAmB;AAAA,YACrB;AAAA,UACF;AAAA,QACF;AAAA,QAEA;AAAA,8BAAC,QAAQ,OAAR,EAAc;AAAA,UACf,oBAAC,aAAU,MAAK,MAAK,YAAW,MAAK,yBAErC;AAAA;AAAA;AAAA,IACF,GACF;AAAA,KACF;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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\" alignSelf=\"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 flex={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, opacity: 0, scale: 0.9 }}\n exitStyle={{ x: 0, y: -5, opacity: 0, scale: 0.9 }}\n scale={1}\n x={0}\n y={0}\n opacity={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
4
|
"mappings": "AAuBQ,SACE,KADF;AAvBR;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,oBAAC,gBAAa,OAAO,EAAE,MAAM,KAAM,OAAO,IAAI,GAC5C,+BAAC,UAAO,OAAM,MAAK,WAAU,UAC3B;AAAA,yBAAC,UAAO,OAAM,MACZ;AAAA,0BAAC,QAAK,SAAQ,KAAI,WAAU,WAAU,MAAM,QAAQ;AAAA,MACpD,oBAAC,QAAK,SAAQ,KAAI,WAAU,OAAM,MAAM,WAAW;AAAA,MACnD,oBAAC,QAAK,SAAQ,KAAI,WAAU,aAAY,MAAM,QAAQ;AAAA,OACxD;AAAA,IACA,qBAAC,UAAO,OAAM,MACZ;AAAA,0BAAC,QAAK,SAAQ,KAAI,WAAU,QAAO,MAAM,aAAa;AAAA,MACtD,oBAAC,UAAO,MAAM,GAAG;AAAA,MACjB,oBAAC,QAAK,SAAQ,KAAI,WAAU,SAAQ,MAAM,cAAc;AAAA,OAC1D;AAAA,IACA,qBAAC,UAAO,OAAM,MACZ;AAAA,0BAAC,QAAK,SAAQ,KAAI,WAAU,cAAa,MAAM,QAAQ;AAAA,MACvD,oBAAC,QAAK,SAAQ,KAAI,WAAU,UAAS,MAAM,aAAa;AAAA,MACxD,oBAAC,QAAK,SAAQ,KAAI,WAAU,gBAAe,MAAM,QAAQ;AAAA,OAC3D;AAAA,KACF,GACF;AAEJ;AAEO,SAAS,KAAK,EAAE,MAAM,GAAG,MAAM,GAAkC;AACtE,SACE,qBAAC,WAAS,GAAG,OACX;AAAA,wBAAC,QAAQ,SAAR,EACC,8BAAC,UAAO,MAAM,MAAM,UAAQ,MAAC,GAC/B;AAAA,IACA,oBAAC,SAAM,SAAO,MACZ;AAAA,MAAC,QAAQ;AAAA,MAAR;AAAA,QACC,YAAY,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,IAAI;AAAA,QAClD,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,IAAI;AAAA,QACjD,OAAO;AAAA,QACP,GAAG;AAAA,QACH,GAAG;AAAA,QACH,SAAS;AAAA,QACT,WAAW;AAAA,UACT;AAAA,UACA;AAAA,YACE,SAAS;AAAA,cACP,mBAAmB;AAAA,YACrB;AAAA,UACF;AAAA,QACF;AAAA,QAEA;AAAA,8BAAC,QAAQ,OAAR,EAAc;AAAA,UACf,oBAAC,aAAU,MAAK,MAAK,YAAW,MAAK,yBAErC;AAAA;AAAA;AAAA,IACF,GACF;AAAA,KACF;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/UpdateThemeDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as Config from '@tamagui/config'\nimport { addTheme, updateTheme } from '@tamagui/theme'\nimport React, { useState } from 'react'\nimport {\n Button,\n Square,\n Theme,\n YStack,\n getVariableValue,\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 alignItems=\"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
4
|
"mappings": "AAgCI,SAEI,KAFJ;AAhCJ,YAAY,YAAY;AACxB,SAAS,UAAU,mBAAmB;AACtC,SAAgB,gBAAgB;AAChC;AAAA,EACE;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,qBAAC,UAAO,YAAW,UAAS,OAAK,MAC/B;AAAA,wBAAC,SAAM,MAAM,SAAS,MACpB,8BAAC,UAAO,cAAa,MAAK,MAAM,KAAK,iBAAgB,UAAS,GAChE;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,cAAc;AAAA,YAClB,OAAO,UAAU,KAAK,MAAM,KAAK,OAAO,IAAI,UAAU,MAAM,CAAC,CAAC;AAAA,UAChE;AACA,sBAAY;AAAA,YACV,MAAM;AAAA,YACN,OAAO;AAAA,cACL,OAAO;AAAA,YACT;AAAA,UACF,CAAC;AACD,iBAAO;AAAA,QACT;AAAA,QACD;AAAA;AAAA,IAED;AAAA,KACF;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/UpdateThemeDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as Config from '@tamagui/config'\nimport { addTheme, updateTheme } from '@tamagui/theme'\nimport React, { useState } from 'react'\nimport {\n Button,\n Square,\n Theme,\n YStack,\n getVariableValue,\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 alignItems=\"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
4
|
"mappings": "AAgCI,SAEI,KAFJ;AAhCJ,YAAY,YAAY;AACxB,SAAS,UAAU,mBAAmB;AACtC,SAAgB,gBAAgB;AAChC;AAAA,EACE;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,qBAAC,UAAO,YAAW,UAAS,OAAK,MAC/B;AAAA,wBAAC,SAAM,MAAM,SAAS,MACpB,8BAAC,UAAO,cAAa,MAAK,MAAM,KAAK,iBAAgB,UAAS,GAChE;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,cAAc;AAAA,YAClB,OAAO,UAAU,KAAK,MAAM,KAAK,OAAO,IAAI,UAAU,MAAM,CAAC,CAAC;AAAA,UAChE;AACA,sBAAY;AAAA,YACV,MAAM;AAAA,YACN,OAAO;AAAA,cACL,OAAO;AAAA,YACT;AAAA,UACF,CAAC;AACD,iBAAO;AAAA,QACT;AAAA,QACD;AAAA;AAAA,IAED;AAAA,KACF;AAEJ;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
package/dist/esm/conf.js.map
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/conf.tsx"],
|
|
4
|
-
"sourcesContent": ["import { config } from '@tamagui/config'\nimport { InferTamaguiConfig } from '@tamagui/core'\n\nexport { config } from '@tamagui/config'\n\nexport type Conf = InferTamaguiConfig<typeof config>\n\ndeclare module 'tamagui' {\n interface TamaguiCustomConfig extends Conf {}\n}\n"],
|
|
5
4
|
"mappings": "AAGA,SAAS,UAAAA,eAAc;",
|
|
6
5
|
"names": ["config"]
|
|
7
6
|
}
|
package/dist/esm/conf.mjs.map
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/conf.tsx"],
|
|
4
|
-
"sourcesContent": ["import { config } from '@tamagui/config'\nimport { InferTamaguiConfig } from '@tamagui/core'\n\nexport { config } from '@tamagui/config'\n\nexport type Conf = InferTamaguiConfig<typeof config>\n\ndeclare module 'tamagui' {\n interface TamaguiCustomConfig extends Conf {}\n}\n"],
|
|
5
4
|
"mappings": "AAGA,SAAS,UAAAA,eAAc;",
|
|
6
5
|
"names": ["config"]
|
|
7
6
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -6,6 +6,7 @@ import { AnimationsTimingDemo } from "./AnimationsTimingDemo";
|
|
|
6
6
|
import { AnimationsPresenceDemo } from "./AnimationsPresenceDemo";
|
|
7
7
|
import { AvatarDemo } from "./AvatarDemo";
|
|
8
8
|
import { ButtonDemo } from "./ButtonDemo";
|
|
9
|
+
import { ButtonNewDemo } from "./ButtonNewDemo";
|
|
9
10
|
import { CardDemo } from "./CardDemo";
|
|
10
11
|
import { DialogDemo } from "./DialogDemo";
|
|
11
12
|
import { AddThemeDemo } from "./AddThemeDemo";
|
|
@@ -53,6 +54,7 @@ export {
|
|
|
53
54
|
AnimationsTimingDemo,
|
|
54
55
|
AvatarDemo,
|
|
55
56
|
ButtonDemo,
|
|
57
|
+
ButtonNewDemo,
|
|
56
58
|
CardDemo,
|
|
57
59
|
CheckboxDemo,
|
|
58
60
|
ColorsDemo,
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.tsx"],
|
|
4
|
-
"
|
|
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,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,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,sBAAsB;AAC/B,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,oBAAoB;AAC7B,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,0BAA0B;AACnC,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAChC,cAAc;",
|
|
4
|
+
"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,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,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,sBAAsB;AAC/B,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,oBAAoB;AAC7B,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,0BAA0B;AACnC,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAChC,cAAc;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -6,6 +6,7 @@ import { AnimationsTimingDemo } from "./AnimationsTimingDemo";
|
|
|
6
6
|
import { AnimationsPresenceDemo } from "./AnimationsPresenceDemo";
|
|
7
7
|
import { AvatarDemo } from "./AvatarDemo";
|
|
8
8
|
import { ButtonDemo } from "./ButtonDemo";
|
|
9
|
+
import { ButtonNewDemo } from "./ButtonNewDemo";
|
|
9
10
|
import { CardDemo } from "./CardDemo";
|
|
10
11
|
import { DialogDemo } from "./DialogDemo";
|
|
11
12
|
import { AddThemeDemo } from "./AddThemeDemo";
|
|
@@ -53,6 +54,7 @@ export {
|
|
|
53
54
|
AnimationsTimingDemo,
|
|
54
55
|
AvatarDemo,
|
|
55
56
|
ButtonDemo,
|
|
57
|
+
ButtonNewDemo,
|
|
56
58
|
CardDemo,
|
|
57
59
|
CheckboxDemo,
|
|
58
60
|
ColorsDemo,
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.tsx"],
|
|
4
|
-
"
|
|
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,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,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,sBAAsB;AAC/B,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,oBAAoB;AAC7B,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,0BAA0B;AACnC,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAChC,cAAc;",
|
|
4
|
+
"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,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,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,sBAAsB;AAC/B,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,oBAAoB;AAC7B,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,0BAA0B;AACnC,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAChC,cAAc;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useOnIntersecting.tsx"],
|
|
4
|
-
"sourcesContent": ["import { MutableRefObject, useEffect, useState } from 'react'\nimport { isWeb, useEvent } from 'tamagui'\n\ntype DisposeFn = () => void\n\ntype IntersectCallback = (\n props: (IntersectionObserverEntry | null)[],\n didResize?: boolean\n) => DisposeFn | void | null\n\ntype HTMLRef = MutableRefObject<HTMLElement | null>\n\nexport function useIsIntersecting<Ref extends HTMLRef | HTMLRef[]>(\n refs: Ref,\n { once, ...opts }: IntersectionObserverInit & { once?: boolean } = {}\n): Ref extends any[] ? boolean[] : boolean {\n const [values, setValues] = useState<boolean[]>([])\n\n if (isWeb) {\n useOnIntersecting(\n refs,\n (entries) => {\n const intersecting = entries.some((x) => x?.isIntersecting)\n if (once && !intersecting) return\n setValues((prev) => {\n const next = entries.map((e) => e?.isIntersecting ?? false)\n if (prev.length === next.length && prev.every((e, i) => e === next[i])) {\n return prev\n }\n return next\n })\n },\n opts\n )\n }\n\n return (Array.isArray(refs) ? values : values[0]) as any\n}\n\nexport function useOnIntersecting<Ref extends HTMLRef | HTMLRef[]>(\n refsIn: Ref,\n incomingCbRaw: IntersectCallback,\n { threshold = 0, root, rootMargin }: IntersectionObserverInit = {},\n mountArgs: any[] = []\n) {\n const onIntersectEvent = useEvent(incomingCbRaw)\n\n useEffect(() => {\n const refs = (Array.isArray(refsIn) ? refsIn : [refsIn]) as HTMLRef[]\n if (!refs.length) return\n\n let dispose: DisposeFn | null = null\n let currentEntries: (IntersectionObserverEntry | null)[] = []\n const options = {\n threshold,\n root,\n rootMargin,\n }\n const io = new IntersectionObserver((entries) => {\n currentEntries = refs.map((ref, index) => {\n return (\n entries.find((x) => x.target === ref.current) ?? currentEntries[index] ?? null\n )\n })\n dispose?.()\n dispose = onIntersectEvent(currentEntries) || null\n }, options)\n\n for (const ref of refs) {\n if (ref.current) {\n io.observe(ref.current)\n }\n }\n\n return () => {\n dispose?.()\n io.disconnect()\n }\n }, [\n onIntersectEvent,\n refsIn,\n root,\n rootMargin,\n threshold,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...mountArgs,\n ])\n}\n"],
|
|
5
4
|
"mappings": "AAAA,SAA2B,WAAW,gBAAgB;AACtD,SAAS,OAAO,gBAAgB;AAWzB,SAAS,kBACd,MACA,EAAE,MAAM,GAAG,KAAK,IAAmD,CAAC,GAC3B;AACzC,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAoB,CAAC,CAAC;AAElD,MAAI,OAAO;AACT;AAAA,MACE;AAAA,MACA,CAAC,YAAY;AACX,cAAM,eAAe,QAAQ,KAAK,CAAC,MAAM,uBAAG,cAAc;AAC1D,YAAI,QAAQ,CAAC;AAAc;AAC3B,kBAAU,CAAC,SAAS;AAClB,gBAAM,OAAO,QAAQ,IAAI,CAAC,OAAM,uBAAG,mBAAkB,KAAK;AAC1D,cAAI,KAAK,WAAW,KAAK,UAAU,KAAK,MAAM,CAAC,GAAG,MAAM,MAAM,KAAK,CAAC,CAAC,GAAG;AACtE,mBAAO;AAAA,UACT;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAQ,MAAM,QAAQ,IAAI,IAAI,SAAS,OAAO,CAAC;AACjD;AAEO,SAAS,kBACd,QACA,eACA,EAAE,YAAY,GAAG,MAAM,WAAW,IAA8B,CAAC,GACjE,YAAmB,CAAC,GACpB;AACA,QAAM,mBAAmB,SAAS,aAAa;AAE/C,YAAU,MAAM;AACd,UAAM,OAAQ,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM;AACtD,QAAI,CAAC,KAAK;AAAQ;AAElB,QAAI,UAA4B;AAChC,QAAI,iBAAuD,CAAC;AAC5D,UAAM,UAAU;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,KAAK,IAAI,qBAAqB,CAAC,YAAY;AAC/C,uBAAiB,KAAK,IAAI,CAAC,KAAK,UAAU;AACxC,eACE,QAAQ,KAAK,CAAC,MAAM,EAAE,WAAW,IAAI,OAAO,KAAK,eAAe,KAAK,KAAK;AAAA,MAE9E,CAAC;AACD;AACA,gBAAU,iBAAiB,cAAc,KAAK;AAAA,IAChD,GAAG,OAAO;AAEV,eAAW,OAAO,MAAM;AACtB,UAAI,IAAI,SAAS;AACf,WAAG,QAAQ,IAAI,OAAO;AAAA,MACxB;AAAA,IACF;AAEA,WAAO,MAAM;AACX;AACA,SAAG,WAAW;AAAA,IAChB;AAAA,EACF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA,GAAG;AAAA,EACL,CAAC;AACH;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useOnIntersecting.tsx"],
|
|
4
|
-
"sourcesContent": ["import { MutableRefObject, useEffect, useState } from 'react'\nimport { isWeb, useEvent } from 'tamagui'\n\ntype DisposeFn = () => void\n\ntype IntersectCallback = (\n props: (IntersectionObserverEntry | null)[],\n didResize?: boolean\n) => DisposeFn | void | null\n\ntype HTMLRef = MutableRefObject<HTMLElement | null>\n\nexport function useIsIntersecting<Ref extends HTMLRef | HTMLRef[]>(\n refs: Ref,\n { once, ...opts }: IntersectionObserverInit & { once?: boolean } = {}\n): Ref extends any[] ? boolean[] : boolean {\n const [values, setValues] = useState<boolean[]>([])\n\n if (isWeb) {\n useOnIntersecting(\n refs,\n (entries) => {\n const intersecting = entries.some((x) => x?.isIntersecting)\n if (once && !intersecting) return\n setValues((prev) => {\n const next = entries.map((e) => e?.isIntersecting ?? false)\n if (prev.length === next.length && prev.every((e, i) => e === next[i])) {\n return prev\n }\n return next\n })\n },\n opts\n )\n }\n\n return (Array.isArray(refs) ? values : values[0]) as any\n}\n\nexport function useOnIntersecting<Ref extends HTMLRef | HTMLRef[]>(\n refsIn: Ref,\n incomingCbRaw: IntersectCallback,\n { threshold = 0, root, rootMargin }: IntersectionObserverInit = {},\n mountArgs: any[] = []\n) {\n const onIntersectEvent = useEvent(incomingCbRaw)\n\n useEffect(() => {\n const refs = (Array.isArray(refsIn) ? refsIn : [refsIn]) as HTMLRef[]\n if (!refs.length) return\n\n let dispose: DisposeFn | null = null\n let currentEntries: (IntersectionObserverEntry | null)[] = []\n const options = {\n threshold,\n root,\n rootMargin,\n }\n const io = new IntersectionObserver((entries) => {\n currentEntries = refs.map((ref, index) => {\n return (\n entries.find((x) => x.target === ref.current) ?? currentEntries[index] ?? null\n )\n })\n dispose?.()\n dispose = onIntersectEvent(currentEntries) || null\n }, options)\n\n for (const ref of refs) {\n if (ref.current) {\n io.observe(ref.current)\n }\n }\n\n return () => {\n dispose?.()\n io.disconnect()\n }\n }, [\n onIntersectEvent,\n refsIn,\n root,\n rootMargin,\n threshold,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...mountArgs,\n ])\n}\n"],
|
|
5
4
|
"mappings": "AAAA,SAA2B,WAAW,gBAAgB;AACtD,SAAS,OAAO,gBAAgB;AAWzB,SAAS,kBACd,MACA,EAAE,MAAM,GAAG,KAAK,IAAmD,CAAC,GAC3B;AACzC,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAoB,CAAC,CAAC;AAElD,MAAI,OAAO;AACT;AAAA,MACE;AAAA,MACA,CAAC,YAAY;AACX,cAAM,eAAe,QAAQ,KAAK,CAAC,MAAM,uBAAG,cAAc;AAC1D,YAAI,QAAQ,CAAC;AAAc;AAC3B,kBAAU,CAAC,SAAS;AAClB,gBAAM,OAAO,QAAQ,IAAI,CAAC,OAAM,uBAAG,mBAAkB,KAAK;AAC1D,cAAI,KAAK,WAAW,KAAK,UAAU,KAAK,MAAM,CAAC,GAAG,MAAM,MAAM,KAAK,CAAC,CAAC,GAAG;AACtE,mBAAO;AAAA,UACT;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAQ,MAAM,QAAQ,IAAI,IAAI,SAAS,OAAO,CAAC;AACjD;AAEO,SAAS,kBACd,QACA,eACA,EAAE,YAAY,GAAG,MAAM,WAAW,IAA8B,CAAC,GACjE,YAAmB,CAAC,GACpB;AACA,QAAM,mBAAmB,SAAS,aAAa;AAE/C,YAAU,MAAM;AACd,UAAM,OAAQ,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM;AACtD,QAAI,CAAC,KAAK;AAAQ;AAElB,QAAI,UAA4B;AAChC,QAAI,iBAAuD,CAAC;AAC5D,UAAM,UAAU;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,KAAK,IAAI,qBAAqB,CAAC,YAAY;AAC/C,uBAAiB,KAAK,IAAI,CAAC,KAAK,UAAU;AACxC,eACE,QAAQ,KAAK,CAAC,MAAM,EAAE,WAAW,IAAI,OAAO,KAAK,eAAe,KAAK,KAAK;AAAA,MAE9E,CAAC;AACD;AACA,gBAAU,iBAAiB,cAAc,KAAK;AAAA,IAChD,GAAG,OAAO;AAEV,eAAW,OAAO,MAAM;AACtB,UAAI,IAAI,SAAS;AACf,WAAG,QAAQ,IAAI,OAAO;AAAA,MACxB;AAAA,IACF;AAEA,WAAO,MAAM;AACX;AACA,SAAG,WAAW;AAAA,IAChB;AAAA,EACF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA,GAAG;AAAA,EACL,CAAC;AACH;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/AddThemeDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { addTheme } from '@tamagui/theme'\nimport { useState } from 'react'\nimport { Button, H3, Square, Theme, YStack } from 'tamagui'\n\nexport function AddThemeDemo() {\n const [theme, setTheme] = useState<any>()\n\n return (\n <YStack alignItems=\"center\" space>\n <H3>Theme: {theme ?? 'none'}</H3>\n\n <Theme name={theme ?? 'red'}>\n <Square borderRadius=\"$8\" size={100} backgroundColor=\"$color\" />\n </Theme>\n\n <Button\n disabled={theme === 'superblue'}\n onPress={() => {\n addTheme({\n name: 'superblue',\n insertCSS: true,\n theme: {\n background: '#000',\n color: 'blue',\n },\n })\n setTheme('superblue')\n }}\n >\n Add superblue theme\n </Button>\n </YStack>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,QAAQ,IAAI,QAAQ,OAAO,cAAc;AAE3C,SAAS,eAAe;AAC7B,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAc;AAExC,SACE,CAAC,OAAO,WAAW,SAAS;AAAA,IAC1B,CAAC;AAAA,OAAG;AAAA,OAAQ,SAAS;AAAA,IAAO,EAA3B;AAAA,IAED,CAAC,MAAM,MAAM,SAAS,OACpB,CAAC,OAAO,aAAa,KAAK,MAAM,KAAK,gBAAgB,SAAS,EAChE,EAFC;AAAA,IAID,CAAC;AAAA,MACC,UAAU,UAAU;AAAA,MACpB,SAAS,MAAM;AACb,iBAAS;AAAA,UACP,MAAM;AAAA,UACN,WAAW;AAAA,UACX,OAAO;AAAA,YACL,YAAY;AAAA,YACZ,OAAO;AAAA,UACT;AAAA,QACF,CAAC;AACD,iBAAS,WAAW;AAAA,MACtB;AAAA,KACD,mBAED,EAfC;AAAA,EAgBH,EAvBC;AAyBL;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/AddThemeDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { addTheme } from '@tamagui/theme'\nimport { useState } from 'react'\nimport { Button, H3, Square, Theme, YStack } from 'tamagui'\n\nexport function AddThemeDemo() {\n const [theme, setTheme] = useState<any>()\n\n return (\n <YStack alignItems=\"center\" space>\n <H3>Theme: {theme ?? 'none'}</H3>\n\n <Theme name={theme ?? 'red'}>\n <Square borderRadius=\"$8\" size={100} backgroundColor=\"$color\" />\n </Theme>\n\n <Button\n disabled={theme === 'superblue'}\n onPress={() => {\n addTheme({\n name: 'superblue',\n insertCSS: true,\n theme: {\n background: '#000',\n color: 'blue',\n },\n })\n setTheme('superblue')\n }}\n >\n Add superblue theme\n </Button>\n </YStack>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,QAAQ,IAAI,QAAQ,OAAO,cAAc;AAE3C,SAAS,eAAe;AAC7B,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAc;AAExC,SACE,CAAC,OAAO,WAAW,SAAS;AAAA,IAC1B,CAAC;AAAA,OAAG;AAAA,OAAQ,SAAS;AAAA,IAAO,EAA3B;AAAA,IAED,CAAC,MAAM,MAAM,SAAS,OACpB,CAAC,OAAO,aAAa,KAAK,MAAM,KAAK,gBAAgB,SAAS,EAChE,EAFC;AAAA,IAID,CAAC;AAAA,MACC,UAAU,UAAU;AAAA,MACpB,SAAS,MAAM;AACb,iBAAS;AAAA,UACP,MAAM;AAAA,UACN,WAAW;AAAA,UACX,OAAO;AAAA,YACL,YAAY;AAAA,YACZ,OAAO;AAAA,UACT;AAAA,QACF,CAAC;AACD,iBAAS,WAAW;AAAA,MACtB;AAAA,KACD,mBAED,EAfC;AAAA,EAgBH,EAvBC;AAyBL;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/AlertDialogDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { AlertDialog, Button, XStack, YStack } from 'tamagui'\n\nexport function AlertDialogDemo() {\n return (\n <AlertDialog native>\n <AlertDialog.Trigger asChild>\n <Button>Show Alert</Button>\n </AlertDialog.Trigger>\n\n <AlertDialog.Portal>\n <AlertDialog.Overlay\n key=\"overlay\"\n animation=\"quick\"\n opacity={0.5}\n enterStyle={{ opacity: 0 }}\n exitStyle={{ opacity: 0 }}\n />\n <AlertDialog.Content\n bordered\n elevate\n key=\"content\"\n animation={[\n 'quick',\n {\n opacity: {\n overshootClamping: true,\n },\n },\n ]}\n enterStyle={{ x: 0, y: -20, opacity: 0, scale: 0.9 }}\n exitStyle={{ x: 0, y: 10, opacity: 0, scale: 0.95 }}\n x={0}\n scale={1}\n opacity={1}\n y={0}\n >\n <YStack space>\n <AlertDialog.Title>Accept</AlertDialog.Title>\n <AlertDialog.Description>\n By pressing yes, you accept our terms and conditions.\n </AlertDialog.Description>\n\n <XStack space=\"$3\" justifyContent=\"flex-end\">\n <AlertDialog.Cancel asChild>\n <Button>Cancel</Button>\n </AlertDialog.Cancel>\n <AlertDialog.Action asChild>\n <Button theme=\"active\">Accept</Button>\n </AlertDialog.Action>\n </XStack>\n </YStack>\n </AlertDialog.Content>\n </AlertDialog.Portal>\n </AlertDialog>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAAA,SAAS,aAAa,QAAQ,QAAQ,cAAc;AAE7C,SAAS,kBAAkB;AAChC,SACE,CAAC,YAAY;AAAA,IACX,CAAC,YAAY,QAAQ,QACnB,CAAC,OAAO,UAAU,EAAjB,OACH,EAFC,YAAY;AAAA,IAIb,CAAC,YAAY;AAAA,MACX,CAAC,YAAY;AAAA,QACX,IAAI;AAAA,QACJ,UAAU;AAAA,QACV,SAAS;AAAA,QACT,YAAY,EAAE,SAAS,EAAE;AAAA,QACzB,WAAW,EAAE,SAAS,EAAE;AAAA,MAC1B;AAAA,MACA,CAAC,YAAY;AAAA,QACX;AAAA,QACA;AAAA,QACA,IAAI;AAAA,QACJ,WAAW;AAAA,UACT;AAAA,UACA;AAAA,YACE,SAAS;AAAA,cACP,mBAAmB;AAAA,YACrB;AAAA,UACF;AAAA,QACF;AAAA,QACA,YAAY,EAAE,GAAG,GAAG,GAAG,KAAK,SAAS,GAAG,OAAO,IAAI;AAAA,QACnD,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,KAAK;AAAA,QAClD,GAAG;AAAA,QACH,OAAO;AAAA,QACP,SAAS;AAAA,QACT,GAAG;AAAA,OAEH,CAAC,OAAO;AAAA,QACN,CAAC,YAAY,MAAM,MAAM,EAAxB,YAAY;AAAA,QACb,CAAC,YAAY,YAAY,qDAEzB,EAFC,YAAY;AAAA,QAIb,CAAC,OAAO,MAAM,KAAK,eAAe;AAAA,UAChC,CAAC,YAAY,OAAO,QAClB,CAAC,OAAO,MAAM,EAAb,OACH,EAFC,YAAY;AAAA,UAGb,CAAC,YAAY,OAAO,QAClB,CAAC,OAAO,MAAM,SAAS,MAAM,EAA5B,OACH,EAFC,YAAY;AAAA,QAGf,EAPC;AAAA,MAQH,EAdC,OAeH,EAlCC,YAAY;AAAA,IAmCf,EA3CC,YAAY;AAAA,EA4Cf,EAjDC;AAmDL;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/AlertDialogDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { AlertDialog, Button, XStack, YStack } from 'tamagui'\n\nexport function AlertDialogDemo() {\n return (\n <AlertDialog native>\n <AlertDialog.Trigger asChild>\n <Button>Show Alert</Button>\n </AlertDialog.Trigger>\n\n <AlertDialog.Portal>\n <AlertDialog.Overlay\n key=\"overlay\"\n animation=\"quick\"\n opacity={0.5}\n enterStyle={{ opacity: 0 }}\n exitStyle={{ opacity: 0 }}\n />\n <AlertDialog.Content\n bordered\n elevate\n key=\"content\"\n animation={[\n 'quick',\n {\n opacity: {\n overshootClamping: true,\n },\n },\n ]}\n enterStyle={{ x: 0, y: -20, opacity: 0, scale: 0.9 }}\n exitStyle={{ x: 0, y: 10, opacity: 0, scale: 0.95 }}\n x={0}\n scale={1}\n opacity={1}\n y={0}\n >\n <YStack space>\n <AlertDialog.Title>Accept</AlertDialog.Title>\n <AlertDialog.Description>\n By pressing yes, you accept our terms and conditions.\n </AlertDialog.Description>\n\n <XStack space=\"$3\" justifyContent=\"flex-end\">\n <AlertDialog.Cancel asChild>\n <Button>Cancel</Button>\n </AlertDialog.Cancel>\n <AlertDialog.Action asChild>\n <Button theme=\"active\">Accept</Button>\n </AlertDialog.Action>\n </XStack>\n </YStack>\n </AlertDialog.Content>\n </AlertDialog.Portal>\n </AlertDialog>\n )\n}\n"],
|
|
5
4
|
"mappings": "AAAA,SAAS,aAAa,QAAQ,QAAQ,cAAc;AAE7C,SAAS,kBAAkB;AAChC,SACE,CAAC,YAAY;AAAA,IACX,CAAC,YAAY,QAAQ,QACnB,CAAC,OAAO,UAAU,EAAjB,OACH,EAFC,YAAY;AAAA,IAIb,CAAC,YAAY;AAAA,MACX,CAAC,YAAY;AAAA,QACX,IAAI;AAAA,QACJ,UAAU;AAAA,QACV,SAAS;AAAA,QACT,YAAY,EAAE,SAAS,EAAE;AAAA,QACzB,WAAW,EAAE,SAAS,EAAE;AAAA,MAC1B;AAAA,MACA,CAAC,YAAY;AAAA,QACX;AAAA,QACA;AAAA,QACA,IAAI;AAAA,QACJ,WAAW;AAAA,UACT;AAAA,UACA;AAAA,YACE,SAAS;AAAA,cACP,mBAAmB;AAAA,YACrB;AAAA,UACF;AAAA,QACF;AAAA,QACA,YAAY,EAAE,GAAG,GAAG,GAAG,KAAK,SAAS,GAAG,OAAO,IAAI;AAAA,QACnD,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,KAAK;AAAA,QAClD,GAAG;AAAA,QACH,OAAO;AAAA,QACP,SAAS;AAAA,QACT,GAAG;AAAA,OAEH,CAAC,OAAO;AAAA,QACN,CAAC,YAAY,MAAM,MAAM,EAAxB,YAAY;AAAA,QACb,CAAC,YAAY,YAAY,qDAEzB,EAFC,YAAY;AAAA,QAIb,CAAC,OAAO,MAAM,KAAK,eAAe;AAAA,UAChC,CAAC,YAAY,OAAO,QAClB,CAAC,OAAO,MAAM,EAAb,OACH,EAFC,YAAY;AAAA,UAGb,CAAC,YAAY,OAAO,QAClB,CAAC,OAAO,MAAM,SAAS,MAAM,EAA5B,OACH,EAFC,YAAY;AAAA,QAGf,EAPC;AAAA,MAQH,EAdC,OAeH,EAlCC,YAAY;AAAA,IAmCf,EA3CC,YAAY;AAAA,EA4Cf,EAjDC;AAmDL;",
|
|
6
5
|
"names": []
|
|
7
6
|
}
|