@@ -1,15 +1,90 @@
11# purescript-yoga-react-native
22
3−To install dependencies:
3+PureScript bindings for React Native macOS with 55+ native AppKit components.
4+
5+## Quick Start
46
57```bash
8+# Clone and install
9+git clone https://github.com/rowtype-yoga/purescript-yoga-react-native.git
10+cd purescript-yoga-react-native
611bun install
12+cd example-macos && bun install && cd ..
13+
14+# Install CocoaPods
15+cd example-macos/macos && bundle exec pod install && cd ../..
16+
17+# Build PureScript
18+cd example-macos && bunx spago build && cd ..
19+
20+# Run the example app
21+cd example-macos && npx react-native run-macos
722```
823
9−To run:
24+## Using in Your Project
1025
11−```bash
12−bun run index.ts
26+Add to `spago.yaml`:
27+
28+```yaml
29+extraPackages:
30+ yoga-react-native:
31+ git: https://github.com/rowtype-yoga/purescript-yoga-react-native.git
32+ ref: main
33+ yoga-react:
34+ git: https://github.com/rowtype-yoga/purescript-yoga-react.git
35+ ref: main
1336```
1437
15−This project was created using `bun init` in bun v1.2.21. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime.
38+```purescript
39+import Yoga.React.Native (text, tw, view)
40+import Yoga.React.Native.MacOS.Button (nativeButton)
41+import Yoga.React.Native.MacOS.Types as T
42+
43+myButton = nativeButton
44+ { title: "Click me"
45+ , bezelStyle: T.push
46+ , sfSymbol: "star"
47+ , onPress: handler_ doSomething
48+ , style: Style.style { height: 24.0 }
49+ }
50+```
51+
52+## Components
53+
54+### Input Controls
55+`nativeButton` `nativeSwitch` `nativeSlider` `nativePopUp` `nativeComboBox` `nativeStepper` `nativeDatePicker` `nativeColorWell` `nativeCheckbox` `nativeRadioButton` `nativeSearchField` `nativeTokenField` `nativeSegmented`
56+
57+### Text
58+`nativeTextField` `nativeTextEditor`
59+
60+### Display
61+`nativeImage` `nativeAnimatedImage` `nativeVideoPlayer` `nativeLevelIndicator` `nativeProgress` `nativeSeparator` `nativePathControl`
62+
63+### Layout
64+`nativeBox` `nativeSplitView` `nativeTabView` `nativeScrollView` `sidebarLayout` `nativeToolbar` `nativeVisualEffect` `nativePatternBackground`
65+
66+### Overlays
67+`macosAlert` `nativeSheet` `nativePopover` `nativeContextMenu` `macosShowMenu`
68+
69+### Data Views
70+`nativeTableView` `nativeOutlineView`
71+
72+### Files & Drag/Drop
73+`nativeDropZone` `nativeFilePicker`
74+
75+### Rich Media
76+`nativeMapView` `nativePDFView` `nativeWebView` `nativeCameraView` `nativeRiveView`
77+
78+### System Services
79+`copyToClipboard` `macosShare` `macosNotify` `macosPlaySound` `macosSetStatusBarItem` `macosQuickLook` `macosShowColorPanel` `macosShowFontPanel` `say`
80+
81+### AI & ML
82+`recognizeText` (OCR) `useSpeechRecognition` `detectLanguage` `analyzeSentiment` `tokenize`
83+
84+## Prerequisites
85+
86+- macOS 14+
87+- Xcode 16+
88+- Node.js 20+ / Bun
89+- PureScript 0.15+ and Spago
90+- CocoaPods