@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/ButtonDemo.tsx
CHANGED
|
@@ -1,45 +1,44 @@
|
|
|
1
|
-
import { Button } from '@tamagui/button'
|
|
2
1
|
import { Activity, Airplay } from '@tamagui/lucide-icons-2'
|
|
3
|
-
import { Theme, XGroup, XStack, YStack } from 'tamagui'
|
|
2
|
+
import { Button, Theme, XGroup, XStack, YStack } from 'tamagui'
|
|
4
3
|
|
|
5
4
|
export function ButtonDemo() {
|
|
6
5
|
return (
|
|
7
|
-
<YStack p="
|
|
6
|
+
<YStack p="3" gap="3">
|
|
8
7
|
<Button>Plain</Button>
|
|
9
|
-
<Button self="center" icon={Airplay} size="
|
|
8
|
+
<Button self="center" icon={Airplay} size="6">
|
|
10
9
|
Large
|
|
11
10
|
</Button>
|
|
12
|
-
<XStack gap="
|
|
13
|
-
<Button size="
|
|
11
|
+
<XStack gap="2" justify="center">
|
|
12
|
+
<Button size="3" theme="accent">
|
|
14
13
|
Active
|
|
15
14
|
</Button>
|
|
16
|
-
<Button size="
|
|
15
|
+
<Button size="3" variant="outlined">
|
|
17
16
|
Outlined
|
|
18
17
|
</Button>
|
|
19
18
|
</XStack>
|
|
20
|
-
<XStack gap="
|
|
19
|
+
<XStack gap="2" justify="center">
|
|
21
20
|
<Theme name="accent">
|
|
22
|
-
<Button size="
|
|
23
|
-
<Button.Icon>
|
|
21
|
+
<Button size="3">
|
|
22
|
+
<Button.Icon size={14}>
|
|
24
23
|
<Activity />
|
|
25
24
|
</Button.Icon>
|
|
26
|
-
<Button.Text>Inverse</Button.Text>
|
|
25
|
+
<Button.Text size={true}>Inverse</Button.Text>
|
|
27
26
|
</Button>
|
|
28
27
|
</Theme>
|
|
29
|
-
<Button iconAfter={Activity} size="
|
|
28
|
+
<Button iconAfter={Activity} size="3">
|
|
30
29
|
iconAfter
|
|
31
30
|
</Button>
|
|
32
31
|
</XStack>
|
|
33
32
|
|
|
34
33
|
<XGroup>
|
|
35
34
|
<XGroup.Item>
|
|
36
|
-
<Button width="50%" size="
|
|
35
|
+
<Button width="50%" size="2" disabled opacity={0.5}>
|
|
37
36
|
disabled
|
|
38
37
|
</Button>
|
|
39
38
|
</XGroup.Item>
|
|
40
39
|
|
|
41
40
|
<XGroup.Item>
|
|
42
|
-
<Button width="50%" size="
|
|
41
|
+
<Button width="50%" size="2">
|
|
43
42
|
plain
|
|
44
43
|
</Button>
|
|
45
44
|
</XGroup.Item>
|
package/src/CardDemo.tsx
CHANGED
|
@@ -3,18 +3,16 @@ import { Button, Card, H2, Image, Paragraph, Theme, XStack } from 'tamagui'
|
|
|
3
3
|
|
|
4
4
|
export function CardDemo() {
|
|
5
5
|
return (
|
|
6
|
-
<Theme name="
|
|
7
|
-
<XStack
|
|
6
|
+
<Theme name="level2">
|
|
7
|
+
<XStack flexDirection="max-md:column" px="4" gap="4">
|
|
8
8
|
<DemoCard
|
|
9
9
|
transition="bouncy"
|
|
10
|
-
size="
|
|
10
|
+
size="4"
|
|
11
11
|
width={250}
|
|
12
12
|
height={300}
|
|
13
|
-
scale=
|
|
14
|
-
hoverStyle={{ scale: 0.925 }}
|
|
15
|
-
pressStyle={{ scale: 0.875 }}
|
|
13
|
+
scale="0.9 hover:0.925 press:0.875"
|
|
16
14
|
/>
|
|
17
|
-
<DemoCard size="
|
|
15
|
+
<DemoCard size="5" width={250} height={300} />
|
|
18
16
|
</XStack>
|
|
19
17
|
</Theme>
|
|
20
18
|
)
|
|
@@ -22,14 +20,14 @@ export function CardDemo() {
|
|
|
22
20
|
|
|
23
21
|
export function DemoCard(props: CardProps) {
|
|
24
22
|
return (
|
|
25
|
-
<Card size="
|
|
26
|
-
<Card.Header p="
|
|
23
|
+
<Card size="4" borderWidth={1} borderColor="border-color" {...props}>
|
|
24
|
+
<Card.Header p="4">
|
|
27
25
|
<H2>Sony A7IV</H2>
|
|
28
26
|
<Paragraph>Now available</Paragraph>
|
|
29
27
|
</Card.Header>
|
|
30
|
-
<Card.Footer p="
|
|
28
|
+
<Card.Footer p="4">
|
|
31
29
|
<XStack flex={1} />
|
|
32
|
-
<Button rounded="
|
|
30
|
+
<Button rounded="10">Purchase</Button>
|
|
33
31
|
</Card.Footer>
|
|
34
32
|
<Card.Background items="center">
|
|
35
33
|
<Image
|
package/src/CheckboxDemo.tsx
CHANGED
|
@@ -4,11 +4,11 @@ import { Checkbox, Label, Theme, XStack, YStack } from 'tamagui'
|
|
|
4
4
|
|
|
5
5
|
export function CheckboxDemo() {
|
|
6
6
|
return (
|
|
7
|
-
<Theme name="
|
|
8
|
-
<YStack width={300} items="center" gap="
|
|
9
|
-
<CheckboxWithLabel size="
|
|
10
|
-
<CheckboxWithLabel size="
|
|
11
|
-
<CheckboxWithLabel size="
|
|
7
|
+
<Theme name="level3">
|
|
8
|
+
<YStack width={300} items="center" gap="2">
|
|
9
|
+
<CheckboxWithLabel size="3" />
|
|
10
|
+
<CheckboxWithLabel size="4" defaultChecked />
|
|
11
|
+
<CheckboxWithLabel size="5" disabled label="Accept terms (disabled)" />
|
|
12
12
|
</YStack>
|
|
13
13
|
</Theme>
|
|
14
14
|
)
|
|
@@ -20,11 +20,17 @@ export function CheckboxWithLabel({
|
|
|
20
20
|
disabled,
|
|
21
21
|
...checkboxProps
|
|
22
22
|
}: CheckboxProps & { label?: string }) {
|
|
23
|
-
const id = `checkbox-${
|
|
23
|
+
const id = `checkbox-${size || ''}`
|
|
24
24
|
return (
|
|
25
25
|
<Theme name={disabled ? 'gray' : null}>
|
|
26
|
-
<XStack width={300} items="center" gap="
|
|
27
|
-
<Checkbox
|
|
26
|
+
<XStack width={300} items="center" gap="4">
|
|
27
|
+
<Checkbox
|
|
28
|
+
id={id}
|
|
29
|
+
size={size}
|
|
30
|
+
disabled={disabled}
|
|
31
|
+
activeStyle={{ backgroundColor: 'accent-background' }}
|
|
32
|
+
{...checkboxProps}
|
|
33
|
+
>
|
|
28
34
|
<Checkbox.Indicator>
|
|
29
35
|
<CheckIcon />
|
|
30
36
|
</Checkbox.Indicator>
|
|
@@ -9,8 +9,8 @@ import { Label, XStack, YStack } from 'tamagui'
|
|
|
9
9
|
|
|
10
10
|
export function CheckboxHeadlessDemo() {
|
|
11
11
|
return (
|
|
12
|
-
<YStack width={200} items="center" gap="
|
|
13
|
-
<XStack gap="
|
|
12
|
+
<YStack width={200} items="center" gap="3">
|
|
13
|
+
<XStack gap="3" items="center">
|
|
14
14
|
<HeadlessCheckbox defaultChecked="indeterminate" id="headless" />
|
|
15
15
|
<Label htmlFor="headless">Headless</Label>
|
|
16
16
|
</XStack>
|
package/src/ColorsDemo.tsx
CHANGED
|
@@ -32,7 +32,7 @@ const darkColors = {
|
|
|
32
32
|
|
|
33
33
|
export function ColorsDemo() {
|
|
34
34
|
return (
|
|
35
|
-
<YStack mt="
|
|
35
|
+
<YStack mt="4" gap="8">
|
|
36
36
|
<ColorsRow title="Light" colorSets={lightColors} />
|
|
37
37
|
<Separator />
|
|
38
38
|
<ColorsRow title="Dark" colorSets={darkColors} />
|
|
@@ -50,32 +50,26 @@ function ColorsRow({
|
|
|
50
50
|
colorSets: Record<(typeof colorGroups)[number], ColorSet>
|
|
51
51
|
}) {
|
|
52
52
|
return (
|
|
53
|
-
<YStack gap="
|
|
54
|
-
<H2 size="
|
|
53
|
+
<YStack gap="4 sm:2">
|
|
54
|
+
<H2 size="2">{title}</H2>
|
|
55
55
|
|
|
56
|
-
<XStack gap="
|
|
57
|
-
<YStack gap="
|
|
56
|
+
<XStack gap="4" self="center">
|
|
57
|
+
<YStack gap="4 sm:2" self="center">
|
|
58
58
|
{colorGroups.map((groupName) => {
|
|
59
59
|
const colorSet = colorSets[groupName]
|
|
60
60
|
const colors = Object.values(colorSet)
|
|
61
61
|
return (
|
|
62
|
-
<XStack gap="
|
|
62
|
+
<XStack gap="2" key={groupName}>
|
|
63
63
|
{colors.map((color, index) => {
|
|
64
64
|
return (
|
|
65
65
|
<Square
|
|
66
66
|
key={`${groupName}${index}`}
|
|
67
|
-
rounded="
|
|
68
|
-
|
|
69
|
-
height="
|
|
67
|
+
rounded="2"
|
|
68
|
+
width="4 sm:2 xs:1"
|
|
69
|
+
height="4 sm:2 xs:1"
|
|
70
70
|
borderWidth={1}
|
|
71
71
|
bg={color as any}
|
|
72
|
-
borderColor="
|
|
73
|
-
$sm={{
|
|
74
|
-
size: '$2',
|
|
75
|
-
}}
|
|
76
|
-
$xs={{
|
|
77
|
-
size: '$1',
|
|
78
|
-
}}
|
|
72
|
+
borderColor="color7"
|
|
79
73
|
/>
|
|
80
74
|
)
|
|
81
75
|
})}
|
|
@@ -83,22 +77,16 @@ function ColorsRow({
|
|
|
83
77
|
)
|
|
84
78
|
})}
|
|
85
79
|
|
|
86
|
-
<XStack gap="
|
|
80
|
+
<XStack gap="2" self="center">
|
|
87
81
|
{new Array(13)
|
|
88
82
|
.fill(0)
|
|
89
83
|
.slice(1)
|
|
90
84
|
.map((_, index) => {
|
|
91
85
|
return (
|
|
92
86
|
<Paragraph
|
|
93
|
-
color="
|
|
87
|
+
color="color10"
|
|
94
88
|
text="center"
|
|
95
|
-
width="
|
|
96
|
-
$sm={{
|
|
97
|
-
width: '$2',
|
|
98
|
-
}}
|
|
99
|
-
$xs={{
|
|
100
|
-
width: '$1',
|
|
101
|
-
}}
|
|
89
|
+
width="4 sm:2 xs:1"
|
|
102
90
|
key={index}
|
|
103
91
|
>
|
|
104
92
|
{index}
|
|
@@ -108,19 +96,13 @@ function ColorsRow({
|
|
|
108
96
|
</XStack>
|
|
109
97
|
</YStack>
|
|
110
98
|
|
|
111
|
-
<YStack gap="
|
|
99
|
+
<YStack gap="4" mt="2">
|
|
112
100
|
{colorGroups.map((name) => (
|
|
113
101
|
<Paragraph
|
|
114
102
|
theme={name as any}
|
|
115
|
-
color="
|
|
116
|
-
height="
|
|
103
|
+
color="color10"
|
|
104
|
+
height="4 sm:2 xs:1"
|
|
117
105
|
rotate="-10deg"
|
|
118
|
-
$sm={{
|
|
119
|
-
height: '$2',
|
|
120
|
-
}}
|
|
121
|
-
$xs={{
|
|
122
|
-
height: '$1',
|
|
123
|
-
}}
|
|
124
106
|
key={name}
|
|
125
107
|
>
|
|
126
108
|
{name}
|
package/src/ContextMenuDemo.tsx
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { ContextMenu } from '@tamagui/context-menu'
|
|
2
1
|
import { Calendar, Check, ChevronRight } from '@tamagui/lucide-icons-2'
|
|
3
2
|
import React from 'react'
|
|
4
3
|
import { Text, View, YStack } from 'tamagui'
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Note: you'll want to use createMenu() to customize further.
|
|
8
|
-
*/
|
|
4
|
+
import { ContextMenu } from './MenuSkins'
|
|
9
5
|
|
|
10
6
|
export function ContextMenuDemo() {
|
|
11
7
|
const [bookmarksChecked, setBookmarksChecked] = React.useState(true)
|
|
@@ -19,14 +15,14 @@ export function ContextMenuDemo() {
|
|
|
19
15
|
<ContextMenu native={native}>
|
|
20
16
|
<ContextMenu.Trigger asChild>
|
|
21
17
|
<View
|
|
22
|
-
p="
|
|
23
|
-
rounded="
|
|
18
|
+
p="4"
|
|
19
|
+
rounded="4"
|
|
24
20
|
borderWidth={1}
|
|
25
21
|
borderStyle="dashed"
|
|
26
|
-
borderColor="
|
|
22
|
+
borderColor="color6"
|
|
27
23
|
cursor="default"
|
|
28
24
|
>
|
|
29
|
-
<Text text="center" select="none" color="
|
|
25
|
+
<Text text="center" select="none" color="color10">
|
|
30
26
|
Right Click or Long Press
|
|
31
27
|
</Text>
|
|
32
28
|
</View>
|
|
@@ -34,17 +30,17 @@ export function ContextMenuDemo() {
|
|
|
34
30
|
|
|
35
31
|
<ContextMenu.Portal zIndex={100}>
|
|
36
32
|
<ContextMenu.Content
|
|
37
|
-
p="
|
|
33
|
+
p="1-5"
|
|
38
34
|
minW={180}
|
|
39
35
|
borderWidth={1}
|
|
40
|
-
borderColor="
|
|
36
|
+
borderColor="border-color"
|
|
41
37
|
transformOrigin="left top"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
scale="enter:0.9 exit:0.95"
|
|
39
|
+
opacity="enter:0 exit:0"
|
|
40
|
+
y="enter:-5px exit:-3px"
|
|
45
41
|
transition="100ms"
|
|
46
42
|
>
|
|
47
|
-
<ContextMenu.Arrow size=
|
|
43
|
+
<ContextMenu.Arrow size={13} borderWidth={1} borderColor="border-color" />
|
|
48
44
|
|
|
49
45
|
<ContextMenu.Preview>
|
|
50
46
|
{() => {
|
|
@@ -108,20 +104,20 @@ export function ContextMenuDemo() {
|
|
|
108
104
|
textValue="Actions"
|
|
109
105
|
>
|
|
110
106
|
<ContextMenu.ItemTitle>Actions</ContextMenu.ItemTitle>
|
|
111
|
-
<ChevronRight size={12} color="
|
|
107
|
+
<ChevronRight size={12} color="color10" />
|
|
112
108
|
</ContextMenu.SubTrigger>
|
|
113
109
|
<ContextMenu.Portal zIndex={200}>
|
|
114
110
|
<ContextMenu.SubContent
|
|
115
|
-
|
|
116
|
-
|
|
111
|
+
scale="enter:0.9 exit:0.95"
|
|
112
|
+
opacity="enter:0 exit:0"
|
|
113
|
+
x="enter:-5px exit:-3px"
|
|
117
114
|
transition="100ms"
|
|
118
115
|
transformOrigin="left top"
|
|
119
|
-
elevation="$3"
|
|
120
116
|
minW={160}
|
|
121
|
-
bg="
|
|
122
|
-
p="
|
|
117
|
+
bg="background"
|
|
118
|
+
p="1-5"
|
|
123
119
|
borderWidth={1}
|
|
124
|
-
borderColor="
|
|
120
|
+
borderColor="border-color"
|
|
125
121
|
>
|
|
126
122
|
<ContextMenu.Label>Note settings</ContextMenu.Label>
|
|
127
123
|
<ContextMenu.Item
|
|
@@ -157,7 +153,7 @@ export function ContextMenuDemo() {
|
|
|
157
153
|
>
|
|
158
154
|
<ContextMenu.ItemTitle>Mark as read</ContextMenu.ItemTitle>
|
|
159
155
|
<ContextMenu.ItemIndicator>
|
|
160
|
-
<Check size={12} color="
|
|
156
|
+
<Check size={12} color="color10" />
|
|
161
157
|
</ContextMenu.ItemIndicator>
|
|
162
158
|
</ContextMenu.CheckboxItem>
|
|
163
159
|
<ContextMenu.CheckboxItem
|
|
@@ -168,7 +164,7 @@ export function ContextMenuDemo() {
|
|
|
168
164
|
>
|
|
169
165
|
<ContextMenu.ItemTitle>Enable Native</ContextMenu.ItemTitle>
|
|
170
166
|
<ContextMenu.ItemIndicator>
|
|
171
|
-
<Check size={12} color="
|
|
167
|
+
<Check size={12} color="color10" />
|
|
172
168
|
</ContextMenu.ItemIndicator>
|
|
173
169
|
</ContextMenu.CheckboxItem>
|
|
174
170
|
</ContextMenu.Content>
|
package/src/DialogDemo.tsx
CHANGED
|
@@ -24,11 +24,11 @@ export function DialogDemo() {
|
|
|
24
24
|
const [mode, setMode] = useState<DialogMode>('plain')
|
|
25
25
|
|
|
26
26
|
return (
|
|
27
|
-
<View gap="
|
|
27
|
+
<View gap="4" justify="center" items="center">
|
|
28
28
|
<XGroup>
|
|
29
29
|
<XGroup.Item>
|
|
30
30
|
<Button
|
|
31
|
-
size="
|
|
31
|
+
size="3"
|
|
32
32
|
theme={mode === 'plain' ? 'accent' : undefined}
|
|
33
33
|
onPress={() => setMode('plain')}
|
|
34
34
|
>
|
|
@@ -37,7 +37,7 @@ export function DialogDemo() {
|
|
|
37
37
|
</XGroup.Item>
|
|
38
38
|
<XGroup.Item>
|
|
39
39
|
<Button
|
|
40
|
-
size="
|
|
40
|
+
size="3"
|
|
41
41
|
theme={mode === 'adapt' ? 'accent' : undefined}
|
|
42
42
|
onPress={() => setMode('adapt')}
|
|
43
43
|
>
|
|
@@ -46,7 +46,7 @@ export function DialogDemo() {
|
|
|
46
46
|
</XGroup.Item>
|
|
47
47
|
<XGroup.Item>
|
|
48
48
|
<Button
|
|
49
|
-
size="
|
|
49
|
+
size="3"
|
|
50
50
|
theme={mode === 'keepMounted' ? 'accent' : undefined}
|
|
51
51
|
onPress={() => setMode('keepMounted')}
|
|
52
52
|
>
|
|
@@ -77,7 +77,7 @@ function DialogInstance({ mode }: { mode: DialogMode }) {
|
|
|
77
77
|
</Dialog.Trigger>
|
|
78
78
|
|
|
79
79
|
{mode === 'adapt' && (
|
|
80
|
-
<Adapt when="
|
|
80
|
+
<Adapt when="max-md" platform="touch">
|
|
81
81
|
<Sheet
|
|
82
82
|
transition="medium"
|
|
83
83
|
zIndex={200000}
|
|
@@ -85,15 +85,14 @@ function DialogInstance({ mode }: { mode: DialogMode }) {
|
|
|
85
85
|
dismissOnSnapToBottom
|
|
86
86
|
unmountChildrenWhenHidden
|
|
87
87
|
>
|
|
88
|
-
<Sheet.
|
|
88
|
+
<Sheet.Container p="4" gap="4">
|
|
89
|
+
<Sheet.Background />
|
|
89
90
|
<Adapt.Contents />
|
|
90
|
-
</Sheet.
|
|
91
|
+
</Sheet.Container>
|
|
91
92
|
<Sheet.Overlay
|
|
92
|
-
bg="
|
|
93
|
-
opacity=
|
|
93
|
+
bg="background"
|
|
94
|
+
opacity="0.5 enter:0 exit:0"
|
|
94
95
|
transition="lazy"
|
|
95
|
-
enterStyle={{ opacity: 0 }}
|
|
96
|
-
exitStyle={{ opacity: 0 }}
|
|
97
96
|
/>
|
|
98
97
|
</Sheet>
|
|
99
98
|
</Adapt>
|
|
@@ -101,48 +100,34 @@ function DialogInstance({ mode }: { mode: DialogMode }) {
|
|
|
101
100
|
|
|
102
101
|
<Dialog.Portal>
|
|
103
102
|
<Dialog.Overlay
|
|
104
|
-
bg="
|
|
105
|
-
opacity=
|
|
103
|
+
bg="background"
|
|
104
|
+
opacity="0.5 enter:0 exit:0"
|
|
105
|
+
transition={['quicker', { opacity: { overshootClamping: true } }]}
|
|
106
106
|
animateOnly={['transform', 'opacity']}
|
|
107
|
-
transition={[
|
|
108
|
-
'quicker',
|
|
109
|
-
{
|
|
110
|
-
opacity: {
|
|
111
|
-
overshootClamping: true,
|
|
112
|
-
},
|
|
113
|
-
},
|
|
114
|
-
]}
|
|
115
|
-
enterStyle={{ opacity: 0 }}
|
|
116
|
-
exitStyle={{ opacity: 0 }}
|
|
117
107
|
/>
|
|
118
108
|
|
|
119
109
|
<Dialog.FocusScope focusOnIdle>
|
|
120
110
|
<Dialog.Content
|
|
121
|
-
transition={[
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
},
|
|
128
|
-
]}
|
|
129
|
-
enterStyle={{ x: 0, y: 20, opacity: 0 }}
|
|
130
|
-
exitStyle={{ x: 0, y: 10, opacity: 0, scale: 0.95 }}
|
|
131
|
-
gap="$4"
|
|
111
|
+
transition={['quicker', { opacity: { overshootClamping: true } }]}
|
|
112
|
+
x="enter:0 exit:0"
|
|
113
|
+
y="enter:20px exit:10px"
|
|
114
|
+
opacity="enter:0 exit:0"
|
|
115
|
+
scale="exit:0.95"
|
|
116
|
+
gap="4"
|
|
132
117
|
>
|
|
133
118
|
<Dialog.Title>Edit profile</Dialog.Title>
|
|
134
119
|
<Dialog.Description>
|
|
135
120
|
Make changes to your profile here. Click save when you're done.
|
|
136
121
|
</Dialog.Description>
|
|
137
122
|
|
|
138
|
-
<Fieldset gap="
|
|
123
|
+
<Fieldset gap="4" horizontal>
|
|
139
124
|
<Label width={64} htmlFor="name">
|
|
140
125
|
Name
|
|
141
126
|
</Label>
|
|
142
127
|
<Input flex={1} id="name" defaultValue="Nate Wienert" />
|
|
143
128
|
</Fieldset>
|
|
144
129
|
|
|
145
|
-
<Fieldset gap="
|
|
130
|
+
<Fieldset gap="4" horizontal>
|
|
146
131
|
<Label width={64} htmlFor="username">
|
|
147
132
|
<TooltipSimple label="Pick your favorite" placement="bottom-start">
|
|
148
133
|
<Paragraph>Food</Paragraph>
|
|
@@ -151,15 +136,18 @@ function DialogInstance({ mode }: { mode: DialogMode }) {
|
|
|
151
136
|
<XStack flex={1}>
|
|
152
137
|
<SelectDemoContents
|
|
153
138
|
trigger={
|
|
154
|
-
<Select.Trigger flex={1}
|
|
139
|
+
<Select.Trigger flex={1} borderRadius="4">
|
|
155
140
|
<Select.Value placeholder="Something" />
|
|
141
|
+
<Select.Icon>
|
|
142
|
+
<ChevronDown />
|
|
143
|
+
</Select.Icon>
|
|
156
144
|
</Select.Trigger>
|
|
157
145
|
}
|
|
158
146
|
/>
|
|
159
147
|
</XStack>
|
|
160
148
|
</Fieldset>
|
|
161
149
|
|
|
162
|
-
<XStack self="flex-end" gap="
|
|
150
|
+
<XStack self="flex-end" gap="4">
|
|
163
151
|
<Dialog.Close displayWhenAdapted asChild>
|
|
164
152
|
<Button theme="accent" aria-label="Close">
|
|
165
153
|
Save changes
|
|
@@ -169,7 +157,7 @@ function DialogInstance({ mode }: { mode: DialogMode }) {
|
|
|
169
157
|
|
|
170
158
|
<Unspaced>
|
|
171
159
|
<Dialog.Close asChild>
|
|
172
|
-
<Button position="absolute" r="
|
|
160
|
+
<Button position="absolute" r="3" size="2" circular icon={X} />
|
|
173
161
|
</Dialog.Close>
|
|
174
162
|
</Unspaced>
|
|
175
163
|
</Dialog.Content>
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import * as React from 'react'
|
|
2
|
+
import {
|
|
3
|
+
Button,
|
|
4
|
+
Field,
|
|
5
|
+
FieldStyledContext,
|
|
6
|
+
Form,
|
|
7
|
+
Input,
|
|
8
|
+
Paragraph,
|
|
9
|
+
styled,
|
|
10
|
+
YStack,
|
|
11
|
+
} from 'tamagui'
|
|
12
|
+
|
|
13
|
+
const DemoField = styled(Field, {
|
|
14
|
+
gap: '2',
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
const DemoLabel = styled(Field.Label, {
|
|
18
|
+
color: 'color11',
|
|
19
|
+
fontWeight: '500',
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
const DemoDescription = styled(Field.Description, {
|
|
23
|
+
color: 'color9',
|
|
24
|
+
fontSize: '2',
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
const DemoError = styled(Field.Error, {
|
|
28
|
+
color: 'red10',
|
|
29
|
+
fontSize: '2',
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
const DemoInput = styled(Input, {
|
|
33
|
+
context: FieldStyledContext,
|
|
34
|
+
|
|
35
|
+
variants: {
|
|
36
|
+
valid: {
|
|
37
|
+
true: {},
|
|
38
|
+
},
|
|
39
|
+
invalid: {
|
|
40
|
+
true: {
|
|
41
|
+
borderColor: 'red9',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
touched: {
|
|
45
|
+
true: {},
|
|
46
|
+
},
|
|
47
|
+
dirty: {
|
|
48
|
+
true: {},
|
|
49
|
+
},
|
|
50
|
+
filled: {
|
|
51
|
+
true: {},
|
|
52
|
+
},
|
|
53
|
+
focused: {
|
|
54
|
+
true: {},
|
|
55
|
+
},
|
|
56
|
+
} as const,
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
export function FieldInput(props: React.ComponentProps<typeof DemoInput>) {
|
|
60
|
+
const field = Field.useFieldControl()
|
|
61
|
+
const controlRef = React.useRef<any>(null)
|
|
62
|
+
const valueRef = React.useRef(props.value ?? props.defaultValue ?? '')
|
|
63
|
+
|
|
64
|
+
React.useEffect(() => {
|
|
65
|
+
return field.registerControl({
|
|
66
|
+
id: field.ariaProps.id,
|
|
67
|
+
controlRef,
|
|
68
|
+
inputRef: controlRef,
|
|
69
|
+
getValue: () => valueRef.current,
|
|
70
|
+
required: props.required,
|
|
71
|
+
disabled: props.disabled,
|
|
72
|
+
})
|
|
73
|
+
}, [field.ariaProps.id, field.registerControl, props.disabled, props.required])
|
|
74
|
+
|
|
75
|
+
return (
|
|
76
|
+
<DemoInput
|
|
77
|
+
{...props}
|
|
78
|
+
{...field.ariaProps}
|
|
79
|
+
{...field.dataProps}
|
|
80
|
+
ref={controlRef}
|
|
81
|
+
name={field.name}
|
|
82
|
+
disabled={field.disabled || props.disabled}
|
|
83
|
+
onFocus={(event) => {
|
|
84
|
+
field.onFocus()
|
|
85
|
+
props.onFocus?.(event)
|
|
86
|
+
}}
|
|
87
|
+
onBlur={(event) => {
|
|
88
|
+
field.onBlur(valueRef.current)
|
|
89
|
+
props.onBlur?.(event)
|
|
90
|
+
}}
|
|
91
|
+
onChange={(event) => {
|
|
92
|
+
valueRef.current = event.target.value
|
|
93
|
+
field.onChange(event.target.value)
|
|
94
|
+
props.onChange?.(event)
|
|
95
|
+
}}
|
|
96
|
+
/>
|
|
97
|
+
)
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export function FieldDemo() {
|
|
101
|
+
const [status, setStatus] = React.useState('Fill out the form')
|
|
102
|
+
|
|
103
|
+
return (
|
|
104
|
+
<Form
|
|
105
|
+
width={360}
|
|
106
|
+
maxW="90%"
|
|
107
|
+
gap="4"
|
|
108
|
+
p="5"
|
|
109
|
+
borderWidth={1}
|
|
110
|
+
borderColor="border-color"
|
|
111
|
+
rounded="7"
|
|
112
|
+
bg="color2"
|
|
113
|
+
boxShadow="0 2px 3px rgba(0, 0, 0, 0.06), 0 14px 30px rgba(0, 0, 0, 0.10), 0 36px 72px rgba(0, 0, 0, 0.12)"
|
|
114
|
+
onSubmit={(values) => {
|
|
115
|
+
setStatus(`Welcome, ${String(values.name)}`)
|
|
116
|
+
}}
|
|
117
|
+
>
|
|
118
|
+
<DemoField name="name">
|
|
119
|
+
<DemoLabel>Name</DemoLabel>
|
|
120
|
+
<FieldInput placeholder="Ada Lovelace" required />
|
|
121
|
+
<DemoDescription>This is shown on your profile.</DemoDescription>
|
|
122
|
+
<DemoError />
|
|
123
|
+
</DemoField>
|
|
124
|
+
|
|
125
|
+
<DemoField
|
|
126
|
+
name="email"
|
|
127
|
+
validationMode="onBlur"
|
|
128
|
+
validate={(value) =>
|
|
129
|
+
String(value).endsWith('@example.com') ? null : 'Use an @example.com address'
|
|
130
|
+
}
|
|
131
|
+
>
|
|
132
|
+
<DemoLabel>Email</DemoLabel>
|
|
133
|
+
<FieldInput type="email" placeholder="ada@example.com" required />
|
|
134
|
+
<DemoError />
|
|
135
|
+
</DemoField>
|
|
136
|
+
|
|
137
|
+
<Form.Trigger asChild>
|
|
138
|
+
<Button
|
|
139
|
+
self="flex-end"
|
|
140
|
+
height={40}
|
|
141
|
+
px="5"
|
|
142
|
+
rounded="5"
|
|
143
|
+
bg="color11 hover:color10"
|
|
144
|
+
color="color1"
|
|
145
|
+
fontSize="2"
|
|
146
|
+
fontWeight="500"
|
|
147
|
+
>
|
|
148
|
+
Create account
|
|
149
|
+
</Button>
|
|
150
|
+
</Form.Trigger>
|
|
151
|
+
|
|
152
|
+
<Paragraph color="color9" size="2">
|
|
153
|
+
{status}
|
|
154
|
+
</Paragraph>
|
|
155
|
+
</Form>
|
|
156
|
+
)
|
|
157
|
+
}
|