@tamagui/demos 2.7.7 → 3.0.0-beta.643.1
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/AccordionDemo.cjs +76 -99
- package/dist/cjs/AccordionDemo.native.cjs +98 -0
- package/dist/cjs/AccordionDemo.native.js +82 -105
- package/dist/cjs/AccordionDemo.native.js.map +1 -1
- package/dist/cjs/AddThemeDemo.cjs +50 -56
- package/dist/cjs/AddThemeDemo.native.cjs +70 -0
- package/dist/cjs/AddThemeDemo.native.js +50 -55
- package/dist/cjs/AddThemeDemo.native.js.map +1 -1
- package/dist/cjs/AlertDialogDemo.cjs +54 -85
- package/dist/cjs/AlertDialogDemo.native.cjs +69 -0
- package/dist/cjs/AlertDialogDemo.native.js +54 -84
- package/dist/cjs/AlertDialogDemo.native.js.map +1 -1
- package/dist/cjs/AnimationsDelayDemo.cjs +56 -72
- package/dist/cjs/AnimationsDelayDemo.native.cjs +80 -0
- package/dist/cjs/AnimationsDelayDemo.native.js +60 -75
- package/dist/cjs/AnimationsDelayDemo.native.js.map +1 -1
- package/dist/cjs/AnimationsDemo.cjs +67 -86
- package/dist/cjs/AnimationsDemo.native.cjs +88 -0
- package/dist/cjs/AnimationsDemo.native.js +69 -87
- package/dist/cjs/AnimationsDemo.native.js.map +1 -1
- package/dist/cjs/AnimationsEnterDemo.cjs +40 -61
- package/dist/cjs/AnimationsEnterDemo.native.cjs +64 -0
- package/dist/cjs/AnimationsEnterDemo.native.js +43 -63
- package/dist/cjs/AnimationsEnterDemo.native.js.map +1 -1
- package/dist/cjs/AnimationsHoverDemo.cjs +25 -35
- package/dist/cjs/AnimationsHoverDemo.native.cjs +41 -0
- package/dist/cjs/AnimationsHoverDemo.native.js +25 -34
- package/dist/cjs/AnimationsHoverDemo.native.js.map +1 -1
- package/dist/cjs/AnimationsPresenceDemo.cjs +90 -100
- package/dist/cjs/AnimationsPresenceDemo.native.cjs +125 -0
- package/dist/cjs/AnimationsPresenceDemo.native.js +98 -107
- package/dist/cjs/AnimationsPresenceDemo.native.js.map +1 -1
- package/dist/cjs/AnimationsTimingDemo.cjs +24 -34
- package/dist/cjs/AnimationsTimingDemo.native.cjs +40 -0
- package/dist/cjs/AnimationsTimingDemo.native.js +24 -33
- package/dist/cjs/AnimationsTimingDemo.native.js.map +1 -1
- package/dist/cjs/AvatarDemo.cjs +37 -42
- package/dist/cjs/AvatarDemo.native.cjs +52 -0
- package/dist/cjs/AvatarDemo.native.js +37 -41
- package/dist/cjs/AvatarDemo.native.js.map +1 -1
- package/dist/cjs/BoxShadowTokenDemo.cjs +44 -44
- package/dist/cjs/BoxShadowTokenDemo.native.cjs +61 -0
- package/dist/cjs/BoxShadowTokenDemo.native.js +44 -45
- package/dist/cjs/BoxShadowTokenDemo.native.js.map +1 -1
- package/dist/cjs/BuildAButtonDemo.cjs +121 -113
- package/dist/cjs/BuildAButtonDemo.native.cjs +141 -0
- package/dist/cjs/BuildAButtonDemo.native.js +121 -112
- package/dist/cjs/BuildAButtonDemo.native.js.map +1 -1
- package/dist/cjs/ButtonDemo.cjs +73 -77
- package/dist/cjs/ButtonDemo.native.cjs +89 -0
- package/dist/cjs/ButtonDemo.native.js +73 -76
- package/dist/cjs/ButtonDemo.native.js.map +1 -1
- package/dist/cjs/CardDemo.cjs +63 -74
- package/dist/cjs/CardDemo.native.cjs +82 -0
- package/dist/cjs/CardDemo.native.js +63 -73
- package/dist/cjs/CardDemo.native.js.map +1 -1
- package/dist/cjs/CheckboxDemo.cjs +59 -64
- package/dist/cjs/CheckboxDemo.native.cjs +79 -0
- package/dist/cjs/CheckboxDemo.native.js +59 -63
- package/dist/cjs/CheckboxDemo.native.js.map +1 -1
- package/dist/cjs/CheckboxHeadlessDemo.cjs +59 -67
- package/dist/cjs/CheckboxHeadlessDemo.native.cjs +83 -0
- package/dist/cjs/CheckboxHeadlessDemo.native.js +60 -67
- package/dist/cjs/CheckboxHeadlessDemo.native.js.map +1 -1
- package/dist/cjs/ColorsDemo.cjs +100 -120
- package/dist/cjs/ColorsDemo.native.cjs +124 -0
- package/dist/cjs/ColorsDemo.native.js +102 -121
- package/dist/cjs/ColorsDemo.native.js.map +1 -1
- package/dist/cjs/ContextMenuDemo.cjs +174 -210
- package/dist/cjs/ContextMenuDemo.native.cjs +194 -0
- package/dist/cjs/ContextMenuDemo.native.js +174 -210
- package/dist/cjs/ContextMenuDemo.native.js.map +1 -1
- package/dist/cjs/DialogDemo.cjs +151 -197
- package/dist/cjs/DialogDemo.native.cjs +177 -0
- package/dist/cjs/DialogDemo.native.js +157 -202
- package/dist/cjs/DialogDemo.native.js.map +1 -1
- package/dist/cjs/FieldDemo.cjs +165 -0
- package/dist/cjs/FieldDemo.native.cjs +175 -0
- package/dist/cjs/FieldDemo.native.js +177 -0
- package/dist/cjs/FieldDemo.native.js.map +1 -0
- package/dist/cjs/FormsDemo.cjs +93 -73
- package/dist/cjs/FormsDemo.native.cjs +116 -0
- package/dist/cjs/FormsDemo.native.js +99 -76
- package/dist/cjs/FormsDemo.native.js.map +1 -1
- package/dist/cjs/Grid.cjs +48 -61
- package/dist/cjs/Grid.native.cjs +68 -0
- package/dist/cjs/Grid.native.js +48 -60
- package/dist/cjs/Grid.native.js.map +1 -1
- package/dist/cjs/GroupDemo.cjs +59 -80
- package/dist/cjs/GroupDemo.native.cjs +75 -0
- package/dist/cjs/GroupDemo.native.js +59 -81
- package/dist/cjs/GroupDemo.native.js.map +1 -1
- package/dist/cjs/HeadingsDemo.cjs +26 -34
- package/dist/cjs/HeadingsDemo.native.cjs +41 -0
- package/dist/cjs/HeadingsDemo.native.js +26 -33
- package/dist/cjs/HeadingsDemo.native.js.map +1 -1
- package/dist/cjs/ImageDemo.cjs +22 -27
- package/dist/cjs/ImageDemo.native.cjs +37 -0
- package/dist/cjs/ImageDemo.native.js +22 -26
- package/dist/cjs/ImageDemo.native.js.map +1 -1
- package/dist/cjs/InputsDemo.cjs +45 -49
- package/dist/cjs/InputsDemo.native.cjs +62 -0
- package/dist/cjs/InputsDemo.native.js +45 -48
- package/dist/cjs/InputsDemo.native.js.map +1 -1
- package/dist/cjs/LabelDemo.cjs +45 -54
- package/dist/cjs/LabelDemo.native.cjs +60 -0
- package/dist/cjs/LabelDemo.native.js +45 -53
- package/dist/cjs/LabelDemo.native.js.map +1 -1
- package/dist/cjs/LinearGradientDemo.cjs +33 -36
- package/dist/cjs/LinearGradientDemo.native.cjs +49 -0
- package/dist/cjs/LinearGradientDemo.native.js +33 -37
- package/dist/cjs/LinearGradientDemo.native.js.map +1 -1
- package/dist/cjs/ListItemDemo.cjs +83 -93
- package/dist/cjs/ListItemDemo.native.cjs +103 -0
- package/dist/cjs/ListItemDemo.native.js +83 -92
- package/dist/cjs/ListItemDemo.native.js.map +1 -1
- package/dist/cjs/LucideIconsDemo.cjs +63 -74
- package/dist/cjs/LucideIconsDemo.native.cjs +95 -0
- package/dist/cjs/LucideIconsDemo.native.js +72 -82
- package/dist/cjs/LucideIconsDemo.native.js.map +1 -1
- package/dist/cjs/MenuDemo.cjs +176 -211
- package/dist/cjs/MenuDemo.native.cjs +196 -0
- package/dist/cjs/MenuDemo.native.js +176 -213
- package/dist/cjs/MenuDemo.native.js.map +1 -1
- package/dist/cjs/MenuSkins.cjs +189 -0
- package/dist/cjs/MenuSkins.native.cjs +202 -0
- package/dist/cjs/MenuSkins.native.js +204 -0
- package/dist/cjs/MenuSkins.native.js.map +1 -0
- package/dist/cjs/NewInputsDemo.cjs +45 -50
- package/dist/cjs/NewInputsDemo.native.cjs +62 -0
- package/dist/cjs/NewInputsDemo.native.js +45 -49
- package/dist/cjs/NewInputsDemo.native.js.map +1 -1
- package/dist/cjs/PopoverDemo.cjs +126 -134
- package/dist/cjs/PopoverDemo.native.cjs +149 -0
- package/dist/cjs/PopoverDemo.native.js +128 -136
- package/dist/cjs/PopoverDemo.native.js.map +1 -1
- package/dist/cjs/ProgressDemo.cjs +58 -74
- package/dist/cjs/ProgressDemo.native.cjs +82 -0
- package/dist/cjs/ProgressDemo.native.js +62 -97
- package/dist/cjs/ProgressDemo.native.js.map +1 -1
- package/dist/cjs/RadioGroupCustomDemo.cjs +111 -0
- package/dist/cjs/RadioGroupCustomDemo.native.cjs +113 -0
- package/dist/cjs/RadioGroupCustomDemo.native.js +115 -0
- package/dist/cjs/RadioGroupCustomDemo.native.js.map +1 -0
- package/dist/cjs/RadioGroupDemo.cjs +62 -59
- package/dist/cjs/RadioGroupDemo.native.cjs +81 -0
- package/dist/cjs/RadioGroupDemo.native.js +62 -58
- package/dist/cjs/RadioGroupDemo.native.js.map +1 -1
- package/dist/cjs/RadioGroupHeadlessDemo.cjs +122 -144
- package/dist/cjs/RadioGroupHeadlessDemo.native.cjs +155 -0
- package/dist/cjs/RadioGroupHeadlessDemo.native.js +126 -147
- package/dist/cjs/RadioGroupHeadlessDemo.native.js.map +1 -1
- package/dist/cjs/ReplaceThemeDemo.cjs +55 -65
- package/dist/cjs/ReplaceThemeDemo.native.cjs +75 -0
- package/dist/cjs/ReplaceThemeDemo.native.js +55 -64
- package/dist/cjs/ReplaceThemeDemo.native.js.map +1 -1
- package/dist/cjs/ScrollViewDemo.cjs +69 -63
- package/dist/cjs/ScrollViewDemo.native.cjs +84 -0
- package/dist/cjs/ScrollViewDemo.native.js +69 -62
- package/dist/cjs/ScrollViewDemo.native.js.map +1 -1
- package/dist/cjs/SelectDemo.cjs +172 -217
- package/dist/cjs/SelectDemo.native.cjs +205 -0
- package/dist/cjs/SelectDemo.native.js +180 -227
- package/dist/cjs/SelectDemo.native.js.map +1 -1
- package/dist/cjs/SeparatorDemo.cjs +47 -49
- package/dist/cjs/SeparatorDemo.native.cjs +62 -0
- package/dist/cjs/SeparatorDemo.native.js +47 -48
- package/dist/cjs/SeparatorDemo.native.js.map +1 -1
- package/dist/cjs/ShapesDemo.cjs +28 -31
- package/dist/cjs/ShapesDemo.native.cjs +43 -0
- package/dist/cjs/ShapesDemo.native.js +28 -30
- package/dist/cjs/ShapesDemo.native.js.map +1 -1
- package/dist/cjs/SheetDemo.cjs +176 -177
- package/dist/cjs/SheetDemo.native.cjs +223 -0
- package/dist/cjs/SheetDemo.native.js +201 -199
- package/dist/cjs/SheetDemo.native.js.map +1 -1
- package/dist/cjs/SliderDemo.cjs +40 -46
- package/dist/cjs/SliderDemo.native.cjs +57 -0
- package/dist/cjs/SliderDemo.native.js +40 -45
- package/dist/cjs/SliderDemo.native.js.map +1 -1
- package/dist/cjs/SpinnerDemo.cjs +27 -30
- package/dist/cjs/SpinnerDemo.native.cjs +42 -0
- package/dist/cjs/SpinnerDemo.native.js +27 -29
- package/dist/cjs/SpinnerDemo.native.js.map +1 -1
- package/dist/cjs/StacksDemo.cjs +112 -96
- package/dist/cjs/StacksDemo.native.cjs +134 -0
- package/dist/cjs/StacksDemo.native.js +115 -103
- package/dist/cjs/StacksDemo.native.js.map +1 -1
- package/dist/cjs/SwitchDemo.cjs +75 -86
- package/dist/cjs/SwitchDemo.native.cjs +95 -0
- package/dist/cjs/SwitchDemo.native.js +76 -88
- package/dist/cjs/SwitchDemo.native.js.map +1 -1
- package/dist/cjs/SwitchHeadlessDemo.cjs +64 -84
- package/dist/cjs/SwitchHeadlessDemo.native.cjs +91 -0
- package/dist/cjs/SwitchHeadlessDemo.native.js +69 -88
- package/dist/cjs/SwitchHeadlessDemo.native.js.map +1 -1
- package/dist/cjs/TabsAdvancedDemo.cjs +288 -335
- package/dist/cjs/TabsAdvancedDemo.native.cjs +358 -0
- package/dist/cjs/TabsAdvancedDemo.native.js +332 -376
- package/dist/cjs/TabsAdvancedDemo.native.js.map +1 -1
- package/dist/cjs/TabsCustomDemo.cjs +118 -0
- package/dist/cjs/TabsCustomDemo.native.cjs +133 -0
- package/dist/cjs/TabsCustomDemo.native.js +135 -0
- package/dist/cjs/TabsCustomDemo.native.js.map +1 -0
- package/dist/cjs/TabsDemo.cjs +172 -195
- package/dist/cjs/TabsDemo.native.cjs +203 -0
- package/dist/cjs/TabsDemo.native.js +179 -201
- package/dist/cjs/TabsDemo.native.js.map +1 -1
- package/dist/cjs/TextDemo.cjs +37 -38
- package/dist/cjs/TextDemo.native.cjs +52 -0
- package/dist/cjs/TextDemo.native.js +37 -37
- package/dist/cjs/TextDemo.native.js.map +1 -1
- package/dist/cjs/ThemeBuilderDemo.cjs +193 -165
- package/dist/cjs/ThemeBuilderDemo.native.cjs +210 -0
- package/dist/cjs/ThemeBuilderDemo.native.js +193 -164
- package/dist/cjs/ThemeBuilderDemo.native.js.map +1 -1
- package/dist/cjs/ThemeInverseDemo.cjs +90 -88
- package/dist/cjs/ThemeInverseDemo.native.cjs +105 -0
- package/dist/cjs/ThemeInverseDemo.native.js +90 -87
- package/dist/cjs/ThemeInverseDemo.native.js.map +1 -1
- package/dist/cjs/ToastDemo.cjs +200 -215
- package/dist/cjs/ToastDemo.native.cjs +232 -0
- package/dist/cjs/ToastDemo.native.js +212 -228
- package/dist/cjs/ToastDemo.native.js.map +1 -1
- package/dist/cjs/ToastDuplicateDemo.cjs +41 -56
- package/dist/cjs/ToastDuplicateDemo.native.cjs +61 -0
- package/dist/cjs/ToastDuplicateDemo.native.js +45 -59
- package/dist/cjs/ToastDuplicateDemo.native.js.map +1 -1
- package/dist/cjs/ToggleGroupDemo.cjs +87 -106
- package/dist/cjs/ToggleGroupDemo.native.cjs +105 -0
- package/dist/cjs/ToggleGroupDemo.native.js +87 -105
- package/dist/cjs/ToggleGroupDemo.native.js.map +1 -1
- package/dist/cjs/TokensDemo.cjs +100 -110
- package/dist/cjs/TokensDemo.native.cjs +137 -0
- package/dist/cjs/TokensDemo.native.js +115 -124
- package/dist/cjs/TokensDemo.native.js.map +1 -1
- package/dist/cjs/TooltipDemo.cjs +116 -118
- package/dist/cjs/TooltipDemo.native.cjs +134 -0
- package/dist/cjs/TooltipDemo.native.js +116 -117
- package/dist/cjs/TooltipDemo.native.js.map +1 -1
- package/dist/cjs/UpdateThemeDemo.cjs +53 -66
- package/dist/cjs/UpdateThemeDemo.native.cjs +73 -0
- package/dist/cjs/UpdateThemeDemo.native.js +53 -65
- package/dist/cjs/UpdateThemeDemo.native.js.map +1 -1
- package/dist/cjs/WebNativeImageDemo.cjs +20 -23
- package/dist/cjs/WebNativeImageDemo.native.cjs +35 -0
- package/dist/cjs/WebNativeImageDemo.native.js +20 -22
- package/dist/cjs/WebNativeImageDemo.native.js.map +1 -1
- package/dist/cjs/index.cjs +12 -15
- package/dist/cjs/index.native.cjs +81 -0
- package/dist/cjs/index.native.js +13 -15
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/tamagui.config.cjs +15 -18
- package/dist/cjs/tamagui.config.native.cjs +30 -0
- package/dist/cjs/tamagui.config.native.js +15 -17
- package/dist/cjs/tamagui.config.native.js.map +1 -1
- package/dist/cjs/useOnIntersecting.cjs +68 -69
- package/dist/cjs/useOnIntersecting.native.cjs +114 -0
- package/dist/cjs/useOnIntersecting.native.js +95 -98
- package/dist/cjs/useOnIntersecting.native.js.map +1 -1
- package/dist/esm/AccordionDemo.mjs +63 -81
- package/dist/esm/AccordionDemo.mjs.map +1 -1
- package/dist/esm/AccordionDemo.native.js +70 -89
- package/dist/esm/AccordionDemo.native.js.map +1 -1
- package/dist/esm/AddThemeDemo.mjs +34 -30
- package/dist/esm/AddThemeDemo.mjs.map +1 -1
- package/dist/esm/AddThemeDemo.native.js +35 -31
- package/dist/esm/AddThemeDemo.native.js.map +1 -1
- package/dist/esm/AlertDialogDemo.mjs +41 -67
- package/dist/esm/AlertDialogDemo.mjs.map +1 -1
- package/dist/esm/AlertDialogDemo.native.js +42 -68
- package/dist/esm/AlertDialogDemo.native.js.map +1 -1
- package/dist/esm/AnimationsDelayDemo.mjs +40 -46
- package/dist/esm/AnimationsDelayDemo.mjs.map +1 -1
- package/dist/esm/AnimationsDelayDemo.native.js +45 -51
- package/dist/esm/AnimationsDelayDemo.native.js.map +1 -1
- package/dist/esm/AnimationsDemo.mjs +55 -71
- package/dist/esm/AnimationsDemo.mjs.map +1 -1
- package/dist/esm/AnimationsDemo.native.js +57 -73
- package/dist/esm/AnimationsDemo.native.js.map +1 -1
- package/dist/esm/AnimationsEnterDemo.mjs +24 -35
- package/dist/esm/AnimationsEnterDemo.mjs.map +1 -1
- package/dist/esm/AnimationsEnterDemo.native.js +28 -39
- package/dist/esm/AnimationsEnterDemo.native.js.map +1 -1
- package/dist/esm/AnimationsHoverDemo.mjs +12 -17
- package/dist/esm/AnimationsHoverDemo.mjs.map +1 -1
- package/dist/esm/AnimationsHoverDemo.native.js +13 -18
- package/dist/esm/AnimationsHoverDemo.native.js.map +1 -1
- package/dist/esm/AnimationsPresenceDemo.mjs +73 -75
- package/dist/esm/AnimationsPresenceDemo.mjs.map +1 -1
- package/dist/esm/AnimationsPresenceDemo.native.js +82 -84
- package/dist/esm/AnimationsPresenceDemo.native.js.map +1 -1
- package/dist/esm/AnimationsTimingDemo.mjs +11 -16
- package/dist/esm/AnimationsTimingDemo.mjs.map +1 -1
- package/dist/esm/AnimationsTimingDemo.native.js +12 -17
- package/dist/esm/AnimationsTimingDemo.native.js.map +1 -1
- package/dist/esm/AvatarDemo.mjs +24 -24
- package/dist/esm/AvatarDemo.mjs.map +1 -1
- package/dist/esm/AvatarDemo.native.js +25 -25
- package/dist/esm/AvatarDemo.native.js.map +1 -1
- package/dist/esm/BoxShadowTokenDemo.mjs +32 -27
- package/dist/esm/BoxShadowTokenDemo.mjs.map +1 -1
- package/dist/esm/BoxShadowTokenDemo.native.js +33 -30
- package/dist/esm/BoxShadowTokenDemo.native.js.map +1 -1
- package/dist/esm/BuildAButtonDemo.mjs +108 -95
- package/dist/esm/BuildAButtonDemo.mjs.map +1 -1
- package/dist/esm/BuildAButtonDemo.native.js +109 -96
- package/dist/esm/BuildAButtonDemo.native.js.map +1 -1
- package/dist/esm/ButtonDemo.mjs +61 -60
- package/dist/esm/ButtonDemo.mjs.map +1 -1
- package/dist/esm/ButtonDemo.native.js +62 -61
- package/dist/esm/ButtonDemo.native.js.map +1 -1
- package/dist/esm/CardDemo.mjs +49 -57
- package/dist/esm/CardDemo.mjs.map +1 -1
- package/dist/esm/CardDemo.native.js +50 -58
- package/dist/esm/CardDemo.native.js.map +1 -1
- package/dist/esm/CheckboxDemo.mjs +46 -48
- package/dist/esm/CheckboxDemo.mjs.map +1 -1
- package/dist/esm/CheckboxDemo.native.js +47 -49
- package/dist/esm/CheckboxDemo.native.js.map +1 -1
- package/dist/esm/CheckboxHeadlessDemo.mjs +43 -41
- package/dist/esm/CheckboxHeadlessDemo.mjs.map +1 -1
- package/dist/esm/CheckboxHeadlessDemo.native.js +45 -43
- package/dist/esm/CheckboxHeadlessDemo.native.js.map +1 -1
- package/dist/esm/ColorsDemo.mjs +87 -102
- package/dist/esm/ColorsDemo.mjs.map +1 -1
- package/dist/esm/ColorsDemo.native.js +90 -105
- package/dist/esm/ColorsDemo.native.js.map +1 -1
- package/dist/esm/ContextMenuDemo.mjs +158 -184
- package/dist/esm/ContextMenuDemo.mjs.map +1 -1
- package/dist/esm/ContextMenuDemo.native.js +159 -186
- package/dist/esm/ContextMenuDemo.native.js.map +1 -1
- package/dist/esm/DialogDemo.mjs +138 -179
- package/dist/esm/DialogDemo.mjs.map +1 -1
- package/dist/esm/DialogDemo.native.js +145 -186
- package/dist/esm/DialogDemo.native.js.map +1 -1
- package/dist/esm/FieldDemo.mjs +136 -0
- package/dist/esm/FieldDemo.mjs.map +1 -0
- package/dist/esm/FieldDemo.native.js +144 -0
- package/dist/esm/FieldDemo.native.js.map +1 -0
- package/dist/esm/FormsDemo.mjs +78 -48
- package/dist/esm/FormsDemo.mjs.map +1 -1
- package/dist/esm/FormsDemo.native.js +85 -53
- package/dist/esm/FormsDemo.native.js.map +1 -1
- package/dist/esm/Grid.mjs +32 -35
- package/dist/esm/Grid.mjs.map +1 -1
- package/dist/esm/Grid.native.js +33 -36
- package/dist/esm/Grid.native.js.map +1 -1
- package/dist/esm/GroupDemo.mjs +46 -62
- package/dist/esm/GroupDemo.mjs.map +1 -1
- package/dist/esm/GroupDemo.native.js +47 -65
- package/dist/esm/GroupDemo.native.js.map +1 -1
- package/dist/esm/HeadingsDemo.mjs +13 -16
- package/dist/esm/HeadingsDemo.mjs.map +1 -1
- package/dist/esm/HeadingsDemo.native.js +14 -17
- package/dist/esm/HeadingsDemo.native.js.map +1 -1
- package/dist/esm/ImageDemo.mjs +9 -9
- package/dist/esm/ImageDemo.mjs.map +1 -1
- package/dist/esm/ImageDemo.native.js +10 -10
- package/dist/esm/ImageDemo.native.js.map +1 -1
- package/dist/esm/InputsDemo.mjs +32 -31
- package/dist/esm/InputsDemo.mjs.map +1 -1
- package/dist/esm/InputsDemo.native.js +33 -32
- package/dist/esm/InputsDemo.native.js.map +1 -1
- package/dist/esm/LabelDemo.mjs +32 -36
- package/dist/esm/LabelDemo.mjs.map +1 -1
- package/dist/esm/LabelDemo.native.js +33 -37
- package/dist/esm/LabelDemo.native.js.map +1 -1
- package/dist/esm/LinearGradientDemo.mjs +20 -18
- package/dist/esm/LinearGradientDemo.mjs.map +1 -1
- package/dist/esm/LinearGradientDemo.native.js +21 -21
- package/dist/esm/LinearGradientDemo.native.js.map +1 -1
- package/dist/esm/ListItemDemo.mjs +70 -75
- package/dist/esm/ListItemDemo.mjs.map +1 -1
- package/dist/esm/ListItemDemo.native.js +71 -76
- package/dist/esm/ListItemDemo.native.js.map +1 -1
- package/dist/esm/LucideIconsDemo.mjs +47 -48
- package/dist/esm/LucideIconsDemo.mjs.map +1 -1
- package/dist/esm/LucideIconsDemo.native.js +57 -58
- package/dist/esm/LucideIconsDemo.native.js.map +1 -1
- package/dist/esm/MenuDemo.mjs +160 -185
- package/dist/esm/MenuDemo.mjs.map +1 -1
- package/dist/esm/MenuDemo.native.js +161 -189
- package/dist/esm/MenuDemo.native.js.map +1 -1
- package/dist/esm/MenuSkins.mjs +166 -0
- package/dist/esm/MenuSkins.mjs.map +1 -0
- package/dist/esm/MenuSkins.native.js +171 -0
- package/dist/esm/MenuSkins.native.js.map +1 -0
- package/dist/esm/NewInputsDemo.mjs +33 -33
- package/dist/esm/NewInputsDemo.mjs.map +1 -1
- package/dist/esm/NewInputsDemo.native.js +34 -34
- package/dist/esm/NewInputsDemo.native.js.map +1 -1
- package/dist/esm/PopoverDemo.mjs +113 -118
- package/dist/esm/PopoverDemo.mjs.map +1 -1
- package/dist/esm/PopoverDemo.native.js +116 -122
- package/dist/esm/PopoverDemo.native.js.map +1 -1
- package/dist/esm/ProgressDemo.mjs +42 -48
- package/dist/esm/ProgressDemo.mjs.map +1 -1
- package/dist/esm/ProgressDemo.native.js +47 -73
- package/dist/esm/ProgressDemo.native.js.map +1 -1
- package/dist/esm/RadioGroupCustomDemo.mjs +91 -0
- package/dist/esm/RadioGroupCustomDemo.mjs.map +1 -0
- package/dist/esm/RadioGroupCustomDemo.native.js +91 -0
- package/dist/esm/RadioGroupCustomDemo.native.js.map +1 -0
- package/dist/esm/RadioGroupDemo.mjs +48 -42
- package/dist/esm/RadioGroupDemo.mjs.map +1 -1
- package/dist/esm/RadioGroupDemo.native.js +49 -43
- package/dist/esm/RadioGroupDemo.native.js.map +1 -1
- package/dist/esm/RadioGroupHeadlessDemo.mjs +106 -118
- package/dist/esm/RadioGroupHeadlessDemo.mjs.map +1 -1
- package/dist/esm/RadioGroupHeadlessDemo.native.js +111 -123
- package/dist/esm/RadioGroupHeadlessDemo.native.js.map +1 -1
- package/dist/esm/ReplaceThemeDemo.mjs +39 -39
- package/dist/esm/ReplaceThemeDemo.mjs.map +1 -1
- package/dist/esm/ReplaceThemeDemo.native.js +40 -40
- package/dist/esm/ReplaceThemeDemo.native.js.map +1 -1
- package/dist/esm/ScrollViewDemo.mjs +56 -45
- package/dist/esm/ScrollViewDemo.mjs.map +1 -1
- package/dist/esm/ScrollViewDemo.native.js +57 -46
- package/dist/esm/ScrollViewDemo.native.js.map +1 -1
- package/dist/esm/SelectDemo.mjs +156 -193
- package/dist/esm/SelectDemo.mjs.map +1 -1
- package/dist/esm/SelectDemo.native.js +164 -204
- package/dist/esm/SelectDemo.native.js.map +1 -1
- package/dist/esm/SeparatorDemo.mjs +34 -31
- package/dist/esm/SeparatorDemo.mjs.map +1 -1
- package/dist/esm/SeparatorDemo.native.js +35 -32
- package/dist/esm/SeparatorDemo.native.js.map +1 -1
- package/dist/esm/ShapesDemo.mjs +15 -13
- package/dist/esm/ShapesDemo.mjs.map +1 -1
- package/dist/esm/ShapesDemo.native.js +16 -14
- package/dist/esm/ShapesDemo.native.js.map +1 -1
- package/dist/esm/SheetDemo.mjs +161 -152
- package/dist/esm/SheetDemo.mjs.map +1 -1
- package/dist/esm/SheetDemo.native.js +187 -176
- package/dist/esm/SheetDemo.native.js.map +1 -1
- package/dist/esm/SliderDemo.mjs +27 -28
- package/dist/esm/SliderDemo.mjs.map +1 -1
- package/dist/esm/SliderDemo.native.js +28 -29
- package/dist/esm/SliderDemo.native.js.map +1 -1
- package/dist/esm/SpinnerDemo.mjs +14 -12
- package/dist/esm/SpinnerDemo.mjs.map +1 -1
- package/dist/esm/SpinnerDemo.native.js +15 -13
- package/dist/esm/SpinnerDemo.native.js.map +1 -1
- package/dist/esm/StacksDemo.mjs +99 -78
- package/dist/esm/StacksDemo.mjs.map +1 -1
- package/dist/esm/StacksDemo.native.js +101 -80
- package/dist/esm/StacksDemo.native.js.map +1 -1
- package/dist/esm/SwitchDemo.mjs +61 -69
- package/dist/esm/SwitchDemo.mjs.map +1 -1
- package/dist/esm/SwitchDemo.native.js +63 -73
- package/dist/esm/SwitchDemo.native.js.map +1 -1
- package/dist/esm/SwitchHeadlessDemo.mjs +48 -58
- package/dist/esm/SwitchHeadlessDemo.mjs.map +1 -1
- package/dist/esm/SwitchHeadlessDemo.native.js +54 -64
- package/dist/esm/SwitchHeadlessDemo.native.js.map +1 -1
- package/dist/esm/TabsAdvancedDemo.mjs +272 -309
- package/dist/esm/TabsAdvancedDemo.mjs.map +1 -1
- package/dist/esm/TabsAdvancedDemo.native.js +317 -352
- package/dist/esm/TabsAdvancedDemo.native.js.map +1 -1
- package/dist/esm/TabsCustomDemo.mjs +92 -0
- package/dist/esm/TabsCustomDemo.mjs.map +1 -0
- package/dist/esm/TabsCustomDemo.native.js +99 -0
- package/dist/esm/TabsCustomDemo.native.js.map +1 -0
- package/dist/esm/TabsDemo.mjs +157 -171
- package/dist/esm/TabsDemo.mjs.map +1 -1
- package/dist/esm/TabsDemo.native.js +164 -178
- package/dist/esm/TabsDemo.native.js.map +1 -1
- package/dist/esm/TextDemo.mjs +24 -20
- package/dist/esm/TextDemo.mjs.map +1 -1
- package/dist/esm/TextDemo.native.js +25 -21
- package/dist/esm/TextDemo.native.js.map +1 -1
- package/dist/esm/ThemeBuilderDemo.mjs +180 -147
- package/dist/esm/ThemeBuilderDemo.mjs.map +1 -1
- package/dist/esm/ThemeBuilderDemo.native.js +181 -148
- package/dist/esm/ThemeBuilderDemo.native.js.map +1 -1
- package/dist/esm/ThemeInverseDemo.mjs +77 -70
- package/dist/esm/ThemeInverseDemo.mjs.map +1 -1
- package/dist/esm/ThemeInverseDemo.native.js +78 -71
- package/dist/esm/ThemeInverseDemo.native.js.map +1 -1
- package/dist/esm/ToastDemo.mjs +187 -197
- package/dist/esm/ToastDemo.mjs.map +1 -1
- package/dist/esm/ToastDemo.native.js +200 -212
- package/dist/esm/ToastDemo.native.js.map +1 -1
- package/dist/esm/ToastDuplicateDemo.mjs +29 -39
- package/dist/esm/ToastDuplicateDemo.mjs.map +1 -1
- package/dist/esm/ToastDuplicateDemo.native.js +34 -44
- package/dist/esm/ToastDuplicateDemo.native.js.map +1 -1
- package/dist/esm/ToggleGroupDemo.mjs +75 -89
- package/dist/esm/ToggleGroupDemo.mjs.map +1 -1
- package/dist/esm/ToggleGroupDemo.native.js +76 -90
- package/dist/esm/ToggleGroupDemo.native.js.map +1 -1
- package/dist/esm/TokensDemo.mjs +84 -84
- package/dist/esm/TokensDemo.mjs.map +1 -1
- package/dist/esm/TokensDemo.native.js +100 -100
- package/dist/esm/TokensDemo.native.js.map +1 -1
- package/dist/esm/TooltipDemo.mjs +103 -100
- package/dist/esm/TooltipDemo.mjs.map +1 -1
- package/dist/esm/TooltipDemo.native.js +104 -101
- package/dist/esm/TooltipDemo.native.js.map +1 -1
- package/dist/esm/UpdateThemeDemo.mjs +38 -41
- package/dist/esm/UpdateThemeDemo.mjs.map +1 -1
- package/dist/esm/UpdateThemeDemo.native.js +39 -42
- package/dist/esm/UpdateThemeDemo.native.js.map +1 -1
- package/dist/esm/WebNativeImageDemo.mjs +7 -5
- package/dist/esm/WebNativeImageDemo.mjs.map +1 -1
- package/dist/esm/WebNativeImageDemo.native.js +8 -6
- package/dist/esm/WebNativeImageDemo.native.js.map +1 -1
- package/dist/esm/index.js +121 -64
- package/dist/esm/index.mjs +121 -64
- package/dist/esm/index.native.js +121 -64
- package/dist/esm/tamagui.config.mjs +2 -0
- package/dist/esm/tamagui.config.mjs.map +1 -1
- package/dist/esm/tamagui.config.native.js +2 -0
- package/dist/esm/tamagui.config.native.js.map +1 -1
- package/dist/esm/useOnIntersecting.mjs +54 -52
- package/dist/esm/useOnIntersecting.mjs.map +1 -1
- package/dist/esm/useOnIntersecting.native.js +81 -82
- package/dist/esm/useOnIntersecting.native.js.map +1 -1
- package/package.json +36 -37
- package/src/AccordionDemo.tsx +9 -9
- package/src/AddThemeDemo.tsx +2 -2
- package/src/AlertDialogDemo.tsx +10 -21
- package/src/AnimationsDelayDemo.tsx +9 -16
- package/src/AnimationsDemo.tsx +11 -29
- package/src/AnimationsEnterDemo.tsx +7 -12
- package/src/AnimationsHoverDemo.tsx +5 -10
- package/src/AnimationsPresenceDemo.tsx +17 -22
- package/src/AnimationsTimingDemo.tsx +4 -9
- package/src/AvatarDemo.tsx +5 -5
- package/src/BoxShadowTokenDemo.tsx +8 -8
- package/src/BuildAButtonDemo.tsx +12 -22
- package/src/ButtonDemo.tsx +13 -14
- package/src/CardDemo.tsx +9 -11
- package/src/CheckboxDemo.tsx +14 -8
- package/src/CheckboxHeadlessDemo.tsx +2 -2
- package/src/ColorsDemo.tsx +16 -34
- package/src/ContextMenuDemo.tsx +20 -24
- package/src/DialogDemo.tsx +27 -39
- package/src/FieldDemo.tsx +157 -0
- package/src/FormsDemo.tsx +52 -46
- package/src/GroupDemo.tsx +8 -8
- package/src/InputsDemo.tsx +5 -5
- package/src/LabelDemo.tsx +4 -4
- package/src/LinearGradientDemo.tsx +9 -9
- package/src/ListItemDemo.tsx +14 -14
- package/src/LucideIconsDemo.tsx +4 -4
- package/src/MenuDemo.tsx +20 -22
- package/src/MenuSkins.tsx +189 -0
- package/src/NewInputsDemo.tsx +6 -7
- package/src/PopoverDemo.tsx +22 -28
- package/src/ProgressDemo.tsx +10 -24
- package/src/{RadioGroupUnstyledDemo.tsx → RadioGroupCustomDemo.tsx} +23 -54
- package/src/RadioGroupDemo.tsx +6 -6
- package/src/RadioGroupHeadlessDemo.tsx +1 -1
- package/src/ReplaceThemeDemo.tsx +4 -4
- package/src/ScrollViewDemo.tsx +9 -9
- package/src/SelectDemo.tsx +32 -41
- package/src/ShapesDemo.tsx +3 -3
- package/src/SheetDemo.tsx +26 -27
- package/src/SliderDemo.tsx +1 -1
- package/src/SpinnerDemo.tsx +3 -3
- package/src/StacksDemo.tsx +33 -24
- package/src/SwitchDemo.tsx +16 -17
- package/src/SwitchHeadlessDemo.tsx +2 -2
- package/src/TabsAdvancedDemo.tsx +31 -53
- package/src/{TabsHeadlessDemo.tsx → TabsCustomDemo.tsx} +35 -41
- package/src/TabsDemo.tsx +30 -47
- package/src/TextDemo.tsx +3 -3
- package/src/ThemeBuilderDemo.tsx +71 -70
- package/src/ThemeInverseDemo.tsx +9 -9
- package/src/ToastDemo.tsx +16 -21
- package/src/ToastDuplicateDemo.tsx +5 -4
- package/src/ToggleGroupDemo.tsx +12 -12
- package/src/TokensDemo.tsx +8 -8
- package/src/TooltipDemo.tsx +17 -23
- package/src/UpdateThemeDemo.tsx +9 -7
- package/src/index.tsx +3 -5
- package/types/AccordionDemo.d.ts +2 -0
- package/types/AddThemeDemo.d.ts +2 -0
- package/types/AlertDialogDemo.d.ts +2 -0
- package/types/AnimationsDelayDemo.d.ts +2 -0
- package/types/AnimationsDemo.d.ts +12 -0
- package/types/AnimationsEnterDemo.d.ts +2 -0
- package/types/AnimationsHoverDemo.d.ts +2 -0
- package/types/AnimationsPresenceDemo.d.ts +3 -0
- package/types/AnimationsTimingDemo.d.ts +2 -0
- package/types/AvatarDemo.d.ts +2 -0
- package/types/BoxShadowTokenDemo.d.ts +2 -0
- package/types/BuildAButtonDemo.d.ts +2 -0
- package/types/ButtonDemo.d.ts +2 -0
- package/types/CardDemo.d.ts +4 -0
- package/types/CheckboxDemo.d.ts +6 -0
- package/types/CheckboxHeadlessDemo.d.ts +2 -0
- package/types/ColorsDemo.d.ts +2 -0
- package/types/ContextMenuDemo.d.ts +2 -0
- package/types/DialogDemo.d.ts +2 -0
- package/types/FormsDemo.d.ts +5 -0
- package/types/Grid.d.ts +8 -0
- package/types/GroupDemo.d.ts +2 -0
- package/types/HeadingsDemo.d.ts +2 -0
- package/types/ImageDemo.d.ts +2 -0
- package/types/InputsDemo.d.ts +2 -0
- package/types/LabelDemo.d.ts +2 -0
- package/types/LinearGradientDemo.d.ts +2 -0
- package/types/ListItemDemo.d.ts +2 -0
- package/types/LucideIconsDemo.d.ts +2 -0
- package/types/MenuDemo.d.ts +7 -0
- package/types/MenuSkins.d.ts +5 -0
- package/types/NewInputsDemo.d.ts +2 -0
- package/types/PopoverDemo.d.ts +8 -0
- package/types/ProgressDemo.d.ts +2 -0
- package/types/RadioGroupCustomDemo.d.ts +2 -0
- package/types/RadioGroupDemo.d.ts +8 -0
- package/types/RadioGroupHeadlessDemo.d.ts +2 -0
- package/types/ReplaceThemeDemo.d.ts +2 -0
- package/types/ScrollViewDemo.d.ts +2 -0
- package/types/SelectDemo.d.ts +54 -0
- package/types/SeparatorDemo.d.ts +2 -0
- package/types/ShapesDemo.d.ts +2 -0
- package/types/SheetDemo.d.ts +2 -0
- package/types/SliderDemo.d.ts +2 -0
- package/types/SpinnerDemo.d.ts +2 -0
- package/types/StacksDemo.d.ts +2 -0
- package/types/SwitchDemo.d.ts +8 -0
- package/types/SwitchHeadlessDemo.d.ts +2 -0
- package/types/TabsAdvancedDemo.d.ts +2 -0
- package/types/TabsCustomDemo.d.ts +228 -0
- package/types/TabsDemo.d.ts +2 -0
- package/types/TextDemo.d.ts +2 -0
- package/types/ThemeBuilderDemo.d.ts +2 -0
- package/types/ThemeInverseDemo.d.ts +2 -0
- package/types/ToastDemo.d.ts +2 -0
- package/types/ToastDuplicateDemo.d.ts +5 -0
- package/types/ToastV1Demo.d.ts +7 -0
- package/types/ToggleGroupDemo.d.ts +2 -0
- package/types/TokensDemo.d.ts +2 -0
- package/types/TooltipDemo.d.ts +2 -0
- package/types/UpdateThemeDemo.d.ts +2 -0
- package/types/WebNativeImageDemo.d.ts +2 -0
- package/types/index.d.ts +60 -0
- package/types/useOnIntersecting.d.ts +10 -0
- package/dist/cjs/CheckboxUnstyledDemo.cjs +0 -80
- package/dist/cjs/CheckboxUnstyledDemo.native.js +0 -83
- package/dist/cjs/CheckboxUnstyledDemo.native.js.map +0 -1
- package/dist/cjs/RadioGroupUnstyledDemo.cjs +0 -143
- package/dist/cjs/RadioGroupUnstyledDemo.native.js +0 -146
- package/dist/cjs/RadioGroupUnstyledDemo.native.js.map +0 -1
- package/dist/cjs/SwitchUnstyledDemo.cjs +0 -91
- package/dist/cjs/SwitchUnstyledDemo.native.js +0 -94
- package/dist/cjs/SwitchUnstyledDemo.native.js.map +0 -1
- package/dist/cjs/TabsHeadlessDemo.cjs +0 -134
- package/dist/cjs/TabsHeadlessDemo.native.js +0 -157
- package/dist/cjs/TabsHeadlessDemo.native.js.map +0 -1
- package/dist/cjs/ToastV1Demo.cjs +0 -155
- package/dist/cjs/ToastV1Demo.native.js +0 -166
- package/dist/cjs/ToastV1Demo.native.js.map +0 -1
- package/dist/esm/CheckboxUnstyledDemo.mjs +0 -54
- package/dist/esm/CheckboxUnstyledDemo.mjs.map +0 -1
- package/dist/esm/CheckboxUnstyledDemo.native.js +0 -54
- package/dist/esm/CheckboxUnstyledDemo.native.js.map +0 -1
- package/dist/esm/RadioGroupUnstyledDemo.mjs +0 -118
- package/dist/esm/RadioGroupUnstyledDemo.mjs.map +0 -1
- package/dist/esm/RadioGroupUnstyledDemo.native.js +0 -118
- package/dist/esm/RadioGroupUnstyledDemo.native.js.map +0 -1
- package/dist/esm/SwitchUnstyledDemo.mjs +0 -65
- package/dist/esm/SwitchUnstyledDemo.mjs.map +0 -1
- package/dist/esm/SwitchUnstyledDemo.native.js +0 -65
- package/dist/esm/SwitchUnstyledDemo.native.js.map +0 -1
- package/dist/esm/TabsHeadlessDemo.mjs +0 -107
- package/dist/esm/TabsHeadlessDemo.mjs.map +0 -1
- package/dist/esm/TabsHeadlessDemo.native.js +0 -114
- package/dist/esm/TabsHeadlessDemo.native.js.map +0 -1
- package/dist/esm/ToastV1Demo.mjs +0 -119
- package/dist/esm/ToastV1Demo.mjs.map +0 -1
- package/dist/esm/ToastV1Demo.native.js +0 -127
- package/dist/esm/ToastV1Demo.native.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/src/CheckboxUnstyledDemo.tsx +0 -49
- package/src/SwitchUnstyledDemo.tsx +0 -58
- package/src/ToastV1Demo.tsx +0 -121
package/src/SheetDemo.tsx
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { ChevronDown, ChevronUp } from '@tamagui/lucide-icons-2'
|
|
2
|
-
import type { SheetProps } from '@tamagui/sheet'
|
|
3
|
-
import { Sheet } from '@tamagui/sheet'
|
|
4
2
|
import React, { memo } from 'react'
|
|
5
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
Button,
|
|
5
|
+
H2,
|
|
6
|
+
Input,
|
|
7
|
+
Paragraph,
|
|
8
|
+
Sheet,
|
|
9
|
+
type SheetProps,
|
|
10
|
+
XStack,
|
|
11
|
+
YStack,
|
|
12
|
+
} from 'tamagui'
|
|
6
13
|
|
|
7
14
|
const spModes = ['percent', 'constant', 'fit', 'mixed'] as const
|
|
8
15
|
|
|
@@ -31,8 +38,8 @@ export const SheetDemo = () => {
|
|
|
31
38
|
|
|
32
39
|
return (
|
|
33
40
|
<>
|
|
34
|
-
<YStack gap="
|
|
35
|
-
<XStack gap="
|
|
41
|
+
<YStack gap="4">
|
|
42
|
+
<XStack gap="4" flexDirection="max-md:column" items="max-md:center">
|
|
36
43
|
<Button onPress={() => setOpen(true)}>Open</Button>
|
|
37
44
|
<Button onPress={() => setModal((x) => !x)}>
|
|
38
45
|
{modal ? 'Type: Modal' : 'Type: Inline'}
|
|
@@ -56,7 +63,7 @@ export const SheetDemo = () => {
|
|
|
56
63
|
{`Snap Points: ${JSON.stringify(snapPoints)}`}
|
|
57
64
|
</Button>
|
|
58
65
|
) : (
|
|
59
|
-
<XStack py="
|
|
66
|
+
<XStack py="2-5" justify="center">
|
|
60
67
|
<Paragraph>
|
|
61
68
|
{`Snap Points: ${isFit ? '(none)' : JSON.stringify(snapPoints)}`}
|
|
62
69
|
</Paragraph>
|
|
@@ -76,17 +83,13 @@ export const SheetDemo = () => {
|
|
|
76
83
|
zIndex={100_000}
|
|
77
84
|
transition="medium"
|
|
78
85
|
>
|
|
79
|
-
<Sheet.Overlay
|
|
80
|
-
transition="lazy"
|
|
81
|
-
bg="$shadow6"
|
|
82
|
-
enterStyle={{ opacity: 0 }}
|
|
83
|
-
exitStyle={{ opacity: 0 }}
|
|
84
|
-
/>
|
|
86
|
+
<Sheet.Overlay transition="lazy" bg="shadow6" opacity="enter:0 exit:0" />
|
|
85
87
|
|
|
86
88
|
<Sheet.Handle />
|
|
87
|
-
<Sheet.
|
|
89
|
+
<Sheet.Container p="4" justify="center" items="center" gap="5">
|
|
90
|
+
<Sheet.Background />
|
|
88
91
|
<SheetContents {...{ modal, isPercent, innerOpen, setInnerOpen, setOpen }} />
|
|
89
|
-
</Sheet.
|
|
92
|
+
</Sheet.Container>
|
|
90
93
|
</Sheet>
|
|
91
94
|
</>
|
|
92
95
|
)
|
|
@@ -97,13 +100,13 @@ const SheetContents = memo(
|
|
|
97
100
|
({ modal, isPercent, innerOpen, setInnerOpen, setOpen }: any) => {
|
|
98
101
|
return (
|
|
99
102
|
<>
|
|
100
|
-
<Button size="
|
|
103
|
+
<Button size="6" circular icon={ChevronDown} onPress={() => setOpen(false)} />
|
|
101
104
|
<Input width={200} />
|
|
102
105
|
{modal && isPercent && (
|
|
103
106
|
<>
|
|
104
107
|
<InnerSheet open={innerOpen} onOpenChange={setInnerOpen} />
|
|
105
108
|
<Button
|
|
106
|
-
size="
|
|
109
|
+
size="6"
|
|
107
110
|
circular
|
|
108
111
|
icon={ChevronUp}
|
|
109
112
|
onPress={() => setInnerOpen(true)}
|
|
@@ -118,19 +121,15 @@ const SheetContents = memo(
|
|
|
118
121
|
function InnerSheet(props: SheetProps) {
|
|
119
122
|
return (
|
|
120
123
|
<Sheet transition="medium" modal snapPoints={[90]} dismissOnSnapToBottom {...props}>
|
|
121
|
-
<Sheet.Overlay
|
|
122
|
-
transition="medium"
|
|
123
|
-
bg="$shadow2"
|
|
124
|
-
enterStyle={{ opacity: 0 }}
|
|
125
|
-
exitStyle={{ opacity: 0 }}
|
|
126
|
-
/>
|
|
124
|
+
<Sheet.Overlay transition="medium" bg="shadow2" opacity="enter:0 exit:0" />
|
|
127
125
|
|
|
128
126
|
<Sheet.Handle />
|
|
129
|
-
<Sheet.
|
|
127
|
+
<Sheet.Container flex={1} justify="center" items="center" gap="5">
|
|
128
|
+
<Sheet.Background />
|
|
130
129
|
<Sheet.ScrollView>
|
|
131
|
-
<YStack p="
|
|
130
|
+
<YStack p="5" gap="8">
|
|
132
131
|
<Button
|
|
133
|
-
size="
|
|
132
|
+
size="6"
|
|
134
133
|
circular
|
|
135
134
|
self="center"
|
|
136
135
|
icon={ChevronDown}
|
|
@@ -139,7 +138,7 @@ function InnerSheet(props: SheetProps) {
|
|
|
139
138
|
|
|
140
139
|
<H2>Hello world</H2>
|
|
141
140
|
{[1, 2, 3, 4, 5, 6, 7, 8].map((i) => (
|
|
142
|
-
<Paragraph key={i} size="
|
|
141
|
+
<Paragraph key={i} size="8">
|
|
143
142
|
Eu officia sunt ipsum nisi dolore labore est laborum laborum in esse ad
|
|
144
143
|
pariatur. Dolor excepteur esse deserunt voluptate labore ea. Exercitation
|
|
145
144
|
ipsum deserunt occaecat cupidatat consequat est adipisicing velit
|
|
@@ -150,7 +149,7 @@ function InnerSheet(props: SheetProps) {
|
|
|
150
149
|
))}
|
|
151
150
|
</YStack>
|
|
152
151
|
</Sheet.ScrollView>
|
|
153
|
-
</Sheet.
|
|
152
|
+
</Sheet.Container>
|
|
154
153
|
</Sheet>
|
|
155
154
|
)
|
|
156
155
|
}
|
package/src/SliderDemo.tsx
CHANGED
|
@@ -3,7 +3,7 @@ import { Slider, Theme, XStack } from 'tamagui'
|
|
|
3
3
|
|
|
4
4
|
export function SliderDemo() {
|
|
5
5
|
return (
|
|
6
|
-
<XStack height={200} items="center" gap="
|
|
6
|
+
<XStack height={200} items="center" gap="8">
|
|
7
7
|
<SimpleSlider height={200} orientation="vertical" />
|
|
8
8
|
<SimpleSlider width={200} />
|
|
9
9
|
</XStack>
|
package/src/SpinnerDemo.tsx
CHANGED
|
@@ -2,9 +2,9 @@ import { Spinner, YStack } from 'tamagui'
|
|
|
2
2
|
|
|
3
3
|
export function SpinnerDemo() {
|
|
4
4
|
return (
|
|
5
|
-
<YStack p="
|
|
6
|
-
<Spinner size="small" color="
|
|
7
|
-
<Spinner size="large" color="
|
|
5
|
+
<YStack p="3" gap="4" items="center">
|
|
6
|
+
<Spinner size="small" color="green10" />
|
|
7
|
+
<Spinner size="large" color="yellow10" />
|
|
8
8
|
</YStack>
|
|
9
9
|
)
|
|
10
10
|
}
|
package/src/StacksDemo.tsx
CHANGED
|
@@ -3,54 +3,63 @@ import { XStack, YStack, ZStack } from 'tamagui'
|
|
|
3
3
|
|
|
4
4
|
export function StacksDemo() {
|
|
5
5
|
return (
|
|
6
|
-
<XStack maxW={250} p="
|
|
6
|
+
<XStack maxW={250} p="2" self="center" gap="2">
|
|
7
7
|
<YStack
|
|
8
8
|
flex={1}
|
|
9
9
|
flexBasis="auto"
|
|
10
10
|
borderWidth={2}
|
|
11
|
-
borderColor="
|
|
12
|
-
rounded="
|
|
13
|
-
gap="
|
|
14
|
-
p="
|
|
11
|
+
borderColor="color"
|
|
12
|
+
rounded="4"
|
|
13
|
+
gap="2"
|
|
14
|
+
p="2"
|
|
15
15
|
>
|
|
16
|
-
<YStack bg="
|
|
17
|
-
<YStack bg="
|
|
18
|
-
<YStack bg="
|
|
16
|
+
<YStack bg="color" rounded="3" p="2" />
|
|
17
|
+
<YStack bg="color" rounded="3" p="2" />
|
|
18
|
+
<YStack bg="color" rounded="3" p="2" />
|
|
19
19
|
</YStack>
|
|
20
20
|
|
|
21
21
|
<XStack
|
|
22
22
|
flex={1}
|
|
23
23
|
flexBasis="auto"
|
|
24
24
|
borderWidth={2}
|
|
25
|
-
borderColor="
|
|
26
|
-
rounded="
|
|
27
|
-
gap="
|
|
28
|
-
p="
|
|
25
|
+
borderColor="color"
|
|
26
|
+
rounded="4"
|
|
27
|
+
gap="2"
|
|
28
|
+
p="2"
|
|
29
29
|
>
|
|
30
|
-
<YStack bg="
|
|
31
|
-
<YStack bg="
|
|
32
|
-
<YStack bg="
|
|
30
|
+
<YStack bg="color" rounded="3" p="2" />
|
|
31
|
+
<YStack bg="color" rounded="3" p="2" />
|
|
32
|
+
<YStack bg="color" rounded="3" p="2" />
|
|
33
33
|
</XStack>
|
|
34
34
|
|
|
35
35
|
<ZStack flex={1} flexBasis="auto" maxW={50} maxH={85} width={100}>
|
|
36
|
-
<YStack fullscreen rounded="$4" p="$2" borderColor="$color" borderWidth={2} />
|
|
37
36
|
<YStack
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
position="absolute"
|
|
38
|
+
inset={0}
|
|
39
|
+
rounded="4"
|
|
40
|
+
p="2"
|
|
41
|
+
borderColor="color"
|
|
42
|
+
borderWidth={2}
|
|
43
|
+
/>
|
|
44
|
+
<YStack
|
|
45
|
+
borderColor="color"
|
|
46
|
+
position="absolute"
|
|
47
|
+
inset={0}
|
|
40
48
|
y={10}
|
|
41
49
|
x={10}
|
|
42
50
|
borderWidth={2}
|
|
43
|
-
rounded="
|
|
44
|
-
p="
|
|
51
|
+
rounded="4"
|
|
52
|
+
p="2"
|
|
45
53
|
/>
|
|
46
54
|
<YStack
|
|
47
|
-
borderColor="
|
|
48
|
-
|
|
55
|
+
borderColor="color"
|
|
56
|
+
position="absolute"
|
|
57
|
+
inset={0}
|
|
49
58
|
y={20}
|
|
50
59
|
x={20}
|
|
51
60
|
borderWidth={2}
|
|
52
|
-
rounded="
|
|
53
|
-
p="
|
|
61
|
+
rounded="4"
|
|
62
|
+
p="2"
|
|
54
63
|
/>
|
|
55
64
|
</ZStack>
|
|
56
65
|
</XStack>
|
package/src/SwitchDemo.tsx
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import type { SizeTokens } from 'tamagui'
|
|
2
|
-
import { Label, Separator, Switch,
|
|
2
|
+
import { Label, Separator, Switch, XStack, YStack } from 'tamagui'
|
|
3
3
|
|
|
4
4
|
export function SwitchDemo() {
|
|
5
5
|
return (
|
|
6
6
|
<>
|
|
7
|
-
<YStack width={200} items="center" gap="
|
|
8
|
-
<XStack gap="
|
|
9
|
-
<SwitchWithLabel size="
|
|
10
|
-
<SwitchWithLabel size="
|
|
7
|
+
<YStack width={200} items="center" gap="3">
|
|
8
|
+
<XStack gap="3" flexDirection="xs:column">
|
|
9
|
+
<SwitchWithLabel size="2" />
|
|
10
|
+
<SwitchWithLabel size="2" defaultChecked />
|
|
11
11
|
</XStack>
|
|
12
|
-
<XStack gap="
|
|
13
|
-
<SwitchWithLabel size="
|
|
14
|
-
<SwitchWithLabel size="
|
|
12
|
+
<XStack gap="3" flexDirection="xs:column">
|
|
13
|
+
<SwitchWithLabel size="3" />
|
|
14
|
+
<SwitchWithLabel size="3" defaultChecked />
|
|
15
15
|
</XStack>
|
|
16
|
-
<XStack gap="
|
|
17
|
-
<SwitchWithLabel size="
|
|
18
|
-
<SwitchWithLabel size="
|
|
16
|
+
<XStack gap="3" flexDirection="xs:column">
|
|
17
|
+
<SwitchWithLabel size="4" />
|
|
18
|
+
<SwitchWithLabel size="4" defaultChecked />
|
|
19
19
|
</XStack>
|
|
20
20
|
</YStack>
|
|
21
21
|
</>
|
|
@@ -27,10 +27,10 @@ export function SwitchWithLabel(props: {
|
|
|
27
27
|
defaultChecked?: boolean
|
|
28
28
|
activeStyle?: boolean
|
|
29
29
|
}) {
|
|
30
|
-
const id = `switch-${props.size
|
|
30
|
+
const id = `switch-${props.size}-${props.defaultChecked ?? ''}}`
|
|
31
31
|
return (
|
|
32
|
-
<XStack width={200} items="center" gap="
|
|
33
|
-
<Label pr="
|
|
32
|
+
<XStack width={200} items="center" gap="4">
|
|
33
|
+
<Label pr="0" minW={90} justify="flex-end" size={props.size} htmlFor={id}>
|
|
34
34
|
Accept
|
|
35
35
|
</Label>
|
|
36
36
|
<Separator minH={20} vertical />
|
|
@@ -39,10 +39,9 @@ export function SwitchWithLabel(props: {
|
|
|
39
39
|
transition="300ms"
|
|
40
40
|
size={props.size}
|
|
41
41
|
defaultChecked={props.defaultChecked}
|
|
42
|
-
// use activeStyle to choose
|
|
43
|
-
// default to $backgroundActive unless "unstyled" boolean prop is on
|
|
42
|
+
// use activeStyle to choose your checked-state color
|
|
44
43
|
activeStyle={{
|
|
45
|
-
backgroundColor: '
|
|
44
|
+
backgroundColor: 'color6',
|
|
46
45
|
}}
|
|
47
46
|
>
|
|
48
47
|
<Switch.Thumb transition="quickest" />
|
|
@@ -8,8 +8,8 @@ import { Label, XStack, YStack } from 'tamagui'
|
|
|
8
8
|
|
|
9
9
|
export function SwitchHeadlessDemo() {
|
|
10
10
|
return (
|
|
11
|
-
<YStack width={200} items="center" gap="
|
|
12
|
-
<XStack gap="
|
|
11
|
+
<YStack width={200} items="center" gap="3">
|
|
12
|
+
<XStack gap="3" items="center">
|
|
13
13
|
<Label htmlFor="headless">Headless</Label>
|
|
14
14
|
<HeadlessSwitch defaultChecked id="headless" />
|
|
15
15
|
</XStack>
|
package/src/TabsAdvancedDemo.tsx
CHANGED
|
@@ -24,15 +24,8 @@ export const TabsAdvancedDemo = () => {
|
|
|
24
24
|
<>
|
|
25
25
|
{demo === 'underline' ? <TabsAdvancedUnderline /> : <TabsAdvancedBackground />}
|
|
26
26
|
|
|
27
|
-
<XStack
|
|
28
|
-
|
|
29
|
-
gap="$4"
|
|
30
|
-
position="absolute"
|
|
31
|
-
b="$3"
|
|
32
|
-
l="$4"
|
|
33
|
-
$xxs={{ display: 'none' }}
|
|
34
|
-
>
|
|
35
|
-
<Button size="$2" onPress={() => setDemoIndex((x) => (x + 1) % demos.length)}>
|
|
27
|
+
<XStack items="center" gap="4" position="absolute" b="3" l="4" display="xxs:none">
|
|
28
|
+
<Button size="2" onPress={() => setDemoIndex((x) => (x + 1) % demos.length)}>
|
|
36
29
|
{demosTitle[demo]}
|
|
37
30
|
</Button>
|
|
38
31
|
</XStack>
|
|
@@ -89,18 +82,18 @@ const TabsAdvancedBackground = () => {
|
|
|
89
82
|
value={currentTab}
|
|
90
83
|
onValueChange={setCurrentTab}
|
|
91
84
|
orientation="horizontal"
|
|
92
|
-
size="
|
|
93
|
-
p="
|
|
85
|
+
size="4"
|
|
86
|
+
p="2"
|
|
94
87
|
height={150}
|
|
95
88
|
flexDirection="column"
|
|
89
|
+
bg="background"
|
|
90
|
+
rounded="4"
|
|
96
91
|
activationMode="manual"
|
|
97
|
-
bg="$background"
|
|
98
|
-
rounded="$4"
|
|
99
92
|
>
|
|
100
93
|
<AnimatePresence>
|
|
101
94
|
{intentAt && (
|
|
102
95
|
<TabsRovingIndicator
|
|
103
|
-
rounded="
|
|
96
|
+
rounded="4"
|
|
104
97
|
width={intentAt.width}
|
|
105
98
|
height={intentAt.height}
|
|
106
99
|
x={intentAt.x}
|
|
@@ -112,7 +105,7 @@ const TabsAdvancedBackground = () => {
|
|
|
112
105
|
<AnimatePresence>
|
|
113
106
|
{activeAt && (
|
|
114
107
|
<TabsRovingIndicator
|
|
115
|
-
rounded="
|
|
108
|
+
rounded="4"
|
|
116
109
|
theme="accent"
|
|
117
110
|
width={activeAt.width}
|
|
118
111
|
height={activeAt.height}
|
|
@@ -126,12 +119,12 @@ const TabsAdvancedBackground = () => {
|
|
|
126
119
|
<Tabs.List
|
|
127
120
|
loop={false}
|
|
128
121
|
aria-label="Manage your account"
|
|
129
|
-
gap="
|
|
122
|
+
gap="2"
|
|
130
123
|
backgroundColor="transparent"
|
|
131
124
|
>
|
|
132
125
|
<Tabs.Tab
|
|
133
126
|
unstyled
|
|
134
|
-
paddingHorizontal="
|
|
127
|
+
paddingHorizontal="3"
|
|
135
128
|
value="tab1"
|
|
136
129
|
onInteraction={handleOnInteraction}
|
|
137
130
|
>
|
|
@@ -139,7 +132,7 @@ const TabsAdvancedBackground = () => {
|
|
|
139
132
|
</Tabs.Tab>
|
|
140
133
|
<Tabs.Tab
|
|
141
134
|
unstyled
|
|
142
|
-
paddingHorizontal="
|
|
135
|
+
paddingHorizontal="3"
|
|
143
136
|
value="tab2"
|
|
144
137
|
onInteraction={handleOnInteraction}
|
|
145
138
|
>
|
|
@@ -147,7 +140,7 @@ const TabsAdvancedBackground = () => {
|
|
|
147
140
|
</Tabs.Tab>
|
|
148
141
|
<Tabs.Tab
|
|
149
142
|
unstyled
|
|
150
|
-
paddingHorizontal="
|
|
143
|
+
paddingHorizontal="3"
|
|
151
144
|
value="tab3"
|
|
152
145
|
onInteraction={handleOnInteraction}
|
|
153
146
|
>
|
|
@@ -156,7 +149,7 @@ const TabsAdvancedBackground = () => {
|
|
|
156
149
|
</Tabs.List>
|
|
157
150
|
</YStack>
|
|
158
151
|
|
|
159
|
-
<AnimatePresence
|
|
152
|
+
<AnimatePresence mode="wait" custom={{ direction }} initial={false}>
|
|
160
153
|
<AnimatedYStack key={currentTab}>
|
|
161
154
|
<Tabs.Content value={currentTab} forceMount flex={1} justify="center">
|
|
162
155
|
<H5 text="center">{currentTab}</H5>
|
|
@@ -216,19 +209,19 @@ const TabsAdvancedUnderline = () => {
|
|
|
216
209
|
value={currentTab}
|
|
217
210
|
onValueChange={setCurrentTab}
|
|
218
211
|
orientation="horizontal"
|
|
219
|
-
size="
|
|
212
|
+
size="4"
|
|
220
213
|
height={150}
|
|
221
214
|
flexDirection="column"
|
|
215
|
+
bg="background"
|
|
216
|
+
rounded="4"
|
|
222
217
|
activationMode="manual"
|
|
223
|
-
bg="$background"
|
|
224
|
-
rounded="$4"
|
|
225
218
|
>
|
|
226
219
|
<YStack position="relative">
|
|
227
220
|
<AnimatePresence>
|
|
228
221
|
{intentAt && (
|
|
229
222
|
<TabsRovingIndicator
|
|
230
223
|
width={intentAt.width}
|
|
231
|
-
height="
|
|
224
|
+
height="0-5"
|
|
232
225
|
x={intentAt.x}
|
|
233
226
|
b={0}
|
|
234
227
|
/>
|
|
@@ -240,7 +233,7 @@ const TabsAdvancedUnderline = () => {
|
|
|
240
233
|
theme="accent"
|
|
241
234
|
active
|
|
242
235
|
width={activeAt.width}
|
|
243
|
-
height="
|
|
236
|
+
height="0-5"
|
|
244
237
|
x={activeAt.x}
|
|
245
238
|
b={0}
|
|
246
239
|
/>
|
|
@@ -251,14 +244,14 @@ const TabsAdvancedUnderline = () => {
|
|
|
251
244
|
aria-label="Manage your account"
|
|
252
245
|
borderBottomLeftRadius={0}
|
|
253
246
|
borderBottomRightRadius={0}
|
|
254
|
-
paddingBottom="
|
|
255
|
-
borderColor="
|
|
256
|
-
borderBottomWidth="
|
|
247
|
+
paddingBottom="1-5"
|
|
248
|
+
borderColor="color3"
|
|
249
|
+
borderBottomWidth="0-5"
|
|
257
250
|
backgroundColor="transparent"
|
|
258
251
|
>
|
|
259
252
|
<Tabs.Tab
|
|
260
253
|
unstyled
|
|
261
|
-
paddingHorizontal="
|
|
254
|
+
paddingHorizontal="3"
|
|
262
255
|
value="tab1"
|
|
263
256
|
onInteraction={handleOnInteraction}
|
|
264
257
|
>
|
|
@@ -268,7 +261,7 @@ const TabsAdvancedUnderline = () => {
|
|
|
268
261
|
</Tabs.Tab>
|
|
269
262
|
<Tabs.Tab
|
|
270
263
|
unstyled
|
|
271
|
-
paddingHorizontal="
|
|
264
|
+
paddingHorizontal="3"
|
|
272
265
|
value="tab2"
|
|
273
266
|
onInteraction={handleOnInteraction}
|
|
274
267
|
>
|
|
@@ -278,7 +271,7 @@ const TabsAdvancedUnderline = () => {
|
|
|
278
271
|
</Tabs.Tab>
|
|
279
272
|
<Tabs.Tab
|
|
280
273
|
unstyled
|
|
281
|
-
paddingHorizontal="
|
|
274
|
+
paddingHorizontal="3"
|
|
282
275
|
value="tab3"
|
|
283
276
|
onInteraction={handleOnInteraction}
|
|
284
277
|
>
|
|
@@ -310,19 +303,10 @@ const TabsRovingIndicator = ({ active, ...props }: { active?: boolean } & ViewPr
|
|
|
310
303
|
return (
|
|
311
304
|
<YStack
|
|
312
305
|
position="absolute"
|
|
313
|
-
backgroundColor="
|
|
314
|
-
opacity=
|
|
306
|
+
backgroundColor="color5"
|
|
307
|
+
opacity="0.7 enter:0 exit:0"
|
|
315
308
|
transition="100ms"
|
|
316
|
-
|
|
317
|
-
opacity: 0,
|
|
318
|
-
}}
|
|
319
|
-
exitStyle={{
|
|
320
|
-
opacity: 0,
|
|
321
|
-
}}
|
|
322
|
-
{...(active && {
|
|
323
|
-
backgroundColor: '$color5',
|
|
324
|
-
opacity: 0.6,
|
|
325
|
-
})}
|
|
309
|
+
{...(active && { backgroundColor: 'color5', opacity: 0.6 })}
|
|
326
310
|
{...props}
|
|
327
311
|
/>
|
|
328
312
|
)
|
|
@@ -337,16 +321,10 @@ const AnimatedYStack = styled(YStack, {
|
|
|
337
321
|
variants: {
|
|
338
322
|
// 1 = right, 0 = nowhere, -1 = left
|
|
339
323
|
direction: {
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
},
|
|
345
|
-
exitStyle: {
|
|
346
|
-
zIndex: 0,
|
|
347
|
-
x: direction < 0 ? -25 : 25,
|
|
348
|
-
opacity: 0,
|
|
349
|
-
},
|
|
324
|
+
number: (direction) => ({
|
|
325
|
+
x: `enter:${direction > 0 ? -25 : 25}px exit:${direction < 0 ? -25 : 25}px`,
|
|
326
|
+
opacity: 'enter:0 exit:0',
|
|
327
|
+
zIndex: 'exit:0',
|
|
350
328
|
}),
|
|
351
329
|
},
|
|
352
330
|
} as const,
|
|
@@ -1,30 +1,42 @@
|
|
|
1
1
|
import React, { useState } from 'react'
|
|
2
2
|
import {
|
|
3
3
|
Button,
|
|
4
|
-
SizableStack,
|
|
5
|
-
ThemeableStack,
|
|
6
4
|
XStack,
|
|
7
5
|
YStack,
|
|
8
6
|
isWeb,
|
|
7
|
+
resolveTokenSize,
|
|
9
8
|
styled,
|
|
9
|
+
type VariantSpreadExtras,
|
|
10
|
+
withStaticProperties,
|
|
10
11
|
} from 'tamagui'
|
|
11
|
-
import {
|
|
12
|
-
|
|
12
|
+
import { Tabs as TabsBehavior } from '@tamagui/tabs'
|
|
13
|
+
|
|
14
|
+
const tabSizeVariant = (value: any, extras: VariantSpreadExtras<any>) => {
|
|
15
|
+
const { frame } = resolveTokenSize(value, {
|
|
16
|
+
tokens: extras.tokens,
|
|
17
|
+
font: extras.font!,
|
|
18
|
+
})
|
|
19
|
+
return {
|
|
20
|
+
borderRadius: frame.radius,
|
|
21
|
+
height: frame.size,
|
|
22
|
+
paddingHorizontal: frame.space,
|
|
23
|
+
}
|
|
24
|
+
}
|
|
13
25
|
|
|
14
26
|
const demos = ['horizontal', 'vertical'] as const
|
|
15
27
|
|
|
16
|
-
export const TabsFrame = styled(
|
|
17
|
-
|
|
28
|
+
export const TabsFrame = styled(TabsBehavior, {
|
|
29
|
+
displayName: 'TabsFrame',
|
|
18
30
|
})
|
|
19
31
|
|
|
20
|
-
export const TabFrame = styled(
|
|
21
|
-
|
|
32
|
+
export const TabFrame = styled(TabsBehavior.Tab, {
|
|
33
|
+
displayName: 'TabsTrigger',
|
|
22
34
|
render: 'button',
|
|
23
35
|
cursor: 'pointer',
|
|
24
36
|
backgroundColor: 'transparent',
|
|
25
37
|
variants: {
|
|
26
38
|
size: {
|
|
27
|
-
|
|
39
|
+
Size: tabSizeVariant,
|
|
28
40
|
},
|
|
29
41
|
|
|
30
42
|
disabled: {
|
|
@@ -35,13 +47,7 @@ export const TabFrame = styled(ThemeableStack, {
|
|
|
35
47
|
|
|
36
48
|
active: {
|
|
37
49
|
true: {
|
|
38
|
-
|
|
39
|
-
backgroundColor: '$background',
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
focusStyle: {
|
|
43
|
-
backgroundColor: '$background',
|
|
44
|
-
},
|
|
50
|
+
backgroundColor: 'hover:background focus:background',
|
|
45
51
|
},
|
|
46
52
|
},
|
|
47
53
|
} as const,
|
|
@@ -49,45 +55,33 @@ export const TabFrame = styled(ThemeableStack, {
|
|
|
49
55
|
|
|
50
56
|
const CONTENT_NAME = 'TabsContent'
|
|
51
57
|
|
|
52
|
-
export const ContentFrame = styled(
|
|
53
|
-
|
|
58
|
+
export const ContentFrame = styled(TabsBehavior.Content, {
|
|
59
|
+
displayName: CONTENT_NAME,
|
|
54
60
|
flex: 1,
|
|
55
|
-
p: '
|
|
61
|
+
p: '6',
|
|
56
62
|
justify: 'center',
|
|
57
63
|
items: 'center',
|
|
58
|
-
bg: '
|
|
59
|
-
rounded: '
|
|
64
|
+
bg: 'color4',
|
|
65
|
+
rounded: '4',
|
|
60
66
|
})
|
|
61
67
|
|
|
62
|
-
export const CustomTabs =
|
|
63
|
-
|
|
64
|
-
TabFrame,
|
|
65
|
-
ContentFrame,
|
|
68
|
+
export const CustomTabs = withStaticProperties(TabsFrame, {
|
|
69
|
+
List: TabsBehavior.List,
|
|
70
|
+
Tab: TabFrame,
|
|
71
|
+
Content: ContentFrame,
|
|
66
72
|
})
|
|
67
73
|
|
|
68
|
-
export function
|
|
74
|
+
export function TabsCustomDemo() {
|
|
69
75
|
const [demo, setDemo] = useState<(typeof demos)[number]>(demos[0])
|
|
70
76
|
|
|
71
77
|
return (
|
|
72
78
|
// web only fix for position relative
|
|
73
|
-
<YStack
|
|
74
|
-
px="$4"
|
|
75
|
-
{...(isWeb && {
|
|
76
|
-
position: 'static',
|
|
77
|
-
})}
|
|
78
|
-
>
|
|
79
|
+
<YStack px="4" {...(isWeb && { position: 'static' })}>
|
|
79
80
|
<TabsView flexDirection={demo === 'horizontal' ? 'row' : 'column'} />
|
|
80
81
|
|
|
81
|
-
<XStack
|
|
82
|
-
items="center"
|
|
83
|
-
gap="$4"
|
|
84
|
-
position="absolute"
|
|
85
|
-
b="$3"
|
|
86
|
-
l="$4"
|
|
87
|
-
$xxs={{ display: 'none' }}
|
|
88
|
-
>
|
|
82
|
+
<XStack items="center" gap="4" position="absolute" b="3" l="4" display="xxs:none">
|
|
89
83
|
<Button
|
|
90
|
-
size="
|
|
84
|
+
size="3"
|
|
91
85
|
onPress={() => setDemo(demo === 'horizontal' ? 'vertical' : 'horizontal')}
|
|
92
86
|
>
|
|
93
87
|
<Button.Text textTransform="capitalize">{demo}</Button.Text>
|