git.iko.soy/rowtype-yoga/purescript-yoga-react-native
on main help sign in
Add Telegram-style chat tab with Rive stickers, context menus, and sidebar
commitb70592cf4548f1b90b3a74e5afb6a1213d96596a authorMark <mark.eibes@gmail.com> dateSat 14 Feb 2026, 08:20 (8 months ago) parent2955651
3 files changed+13
example-macos/macos/YogaReactExample-macOS/RCTMacOSControlsManager.m+11 example-macos/src/Main.purs+1 src/Yoga/React/Native/MacOS/TextField.purs+1
example-macos/macos/YogaReactExample-macOS/RCTMacOSControlsManager.m+11
@@ -176,6 +176,7 @@ RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock)
176176@property (nonatomic, copy) NSString *placeholder;
177177@property (nonatomic, assign) BOOL secure;
178178@property (nonatomic, assign) BOOL search;
179+@property (nonatomic, assign) BOOL rounded;
179180@end
180181
181182@implementation RCTNativeTextFieldView
@@ -228,6 +229,15 @@ RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock)
228229 }
229230}
230231
232+- (void)setRounded:(BOOL)rounded {
233+ _rounded = rounded;
234+ if (rounded) {
235+ _textField.bezelStyle = NSTextFieldRoundedBezel;
236+ } else {
237+ _textField.bezelStyle = NSTextFieldSquareBezel;
238+ }
239+}
240+
231241- (void)controlTextDidChange:(NSNotification *)notification {
232242 if (_onChangeText) _onChangeText(@{@"text": _textField.stringValue});
233243}
@@ -254,6 +264,7 @@ RCT_EXPORT_VIEW_PROPERTY(text, NSString)
254264RCT_EXPORT_VIEW_PROPERTY(placeholder, NSString)
255265RCT_EXPORT_VIEW_PROPERTY(secure, BOOL)
256266RCT_EXPORT_VIEW_PROPERTY(search, BOOL)
267+RCT_EXPORT_VIEW_PROPERTY(rounded, BOOL)
257268RCT_EXPORT_VIEW_PROPERTY(onChangeText, RCTBubblingEventBlock)
258269RCT_EXPORT_VIEW_PROPERTY(onSubmit, RCTBubblingEventBlock)
259270@end
example-macos/src/Main.purs+1
@@ -745,6 +745,7 @@ chatTab = component "ChatTab" \p -> React.do
745745 { text: inputText
746746 , placeholder: "Message..."
747747 , search: false
748+ , rounded: true
748749 , onChangeText: extractString "text" setInputText
749750 , onSubmit: extractString "text" \t -> sendMessage t
750751 , style: tw "flex-1" <> Style.style { height: 28.0 }
src/Yoga/React/Native/MacOS/TextField.purs+1
@@ -15,6 +15,7 @@ type NativeTextFieldAttributes = BaseAttributes
1515 , placeholder :: String
1616 , secure :: Boolean
1717 , search :: Boolean
18+ , rounded :: Boolean
1819 , onChangeText :: EventHandler
1920 , onSubmit :: EventHandler
2021 )