@@ -49,6 +49,7 @@ import Yoga.React.Native.MacOS.Box (nativeBox)
4949import Yoga.React.Native.MacOS.Popover (nativePopover)
5050import Yoga.React.Native.MacOS.Image (nativeImage)
5151import Yoga.React.Native.MacOS.Alert (macosAlert)
52+import Yoga.React.Native.MacOS.Types as T
5253import Yoga.React.Native.Matrix as Matrix
5354import Yoga.React.Native.Style as Style
5455
@@ -76,7 +77,7 @@ app = component "App" \_ -> React.do
7677 let bg = if isDark then "#1E1E1E" else "#FFFFFF"
7778 pure do
7879 nativeVisualEffect
79− { materialName: "windowBackground"
80+ { materialName: T.windowBackground
8081 , style: tw "flex-1"
8182 }
8283 ( safeAreaView { style: tw "flex-1" <> Style.style { backgroundColor: "transparent" } }
@@ -91,7 +92,7 @@ app = component "App" \_ -> React.do
9192 , { id: "chat", label: "Chat", sfSymbol: "bubble.left.and.bubble.right" }
9293 ]
9394 , selectedItem: activeTab
94− , toolbarStyle: "unified"
95+ , toolbarStyle: T.unified
9596 , windowTitle: "PureScript React Native"
9697 , onSelectItem: extractString "itemId" setActiveTab
9798 , style: Style.style { height: 0.0, width: 0.0 }
@@ -181,7 +182,7 @@ sidebarItem _ sfSymbolName title selected setCategory =
181182 nativeButton
182183 { title
183184 , sfSymbol: sfSymbolName
184− , bezelStyle: "toolbar"
185+ , bezelStyle: T.toolbar
185186 , primary: selected
186187 , onPress: handler_ (setCategory title)
187188 , style: Style.style { height: 28.0, marginHorizontal: 8.0, marginVertical: 1.0 }
@@ -203,7 +204,7 @@ controlsTab = component "ControlsTab" \p -> React.do
203204 [ nativeButton
204205 { title: "Say Hello"
205206 , sfSymbol: "hand.wave"
206− , bezelStyle: "rounded"
207+ , bezelStyle: T.push
207208 , primary: true
208209 , onPress: handler_ (p.setButtonStatus "Hello from PureScript!")
209210 , style: Style.style { height: 24.0, width: 140.0 }
@@ -211,7 +212,7 @@ controlsTab = component "ControlsTab" \p -> React.do
211212 , nativeButton
212213 { title: "Reset"
213214 , sfSymbol: "arrow.counterclockwise"
214− , bezelStyle: "rounded"
215+ , bezelStyle: T.push
215216 , onPress: handler_ (p.setButtonStatus "Ready")
216217 , style: Style.style { height: 24.0, width: 100.0, marginLeft: 8.0 }
217218 }
@@ -407,7 +408,7 @@ riveTab = component "RiveTab" \p -> React.do
407408 , nativeRiveView_
408409 { resourceName: "cat_following_mouse"
409410 , stateMachineName: "State Machine 1"
410− , fit: "contain"
411+ , fit: T.contain
411412 , autoplay: true
412413 , style: Style.style { height: 300.0 }
413414 }
@@ -417,7 +418,7 @@ riveTab = component "RiveTab" \p -> React.do
417418 , nativeRiveView_
418419 { resourceName: "cursor_tracking"
419420 , stateMachineName: "State Machine 1"
420− , fit: "contain"
421+ , fit: T.contain
421422 , autoplay: true
422423 , style: Style.style { height: 300.0 }
423424 }
@@ -427,7 +428,7 @@ riveTab = component "RiveTab" \p -> React.do
427428 , nativeRiveView_
428429 { resourceName: "rating_animation"
429430 , stateMachineName: "State Machine 1"
430− , fit: "contain"
431+ , fit: T.contain
431432 , autoplay: true
432433 , style: Style.style { height: 200.0 }
433434 }
@@ -437,14 +438,14 @@ riveTab = component "RiveTab" \p -> React.do
437438 , nativeRiveView_
438439 { resourceName: "switch_event_example"
439440 , stateMachineName: "State Machine 1"
440− , fit: "contain"
441+ , fit: T.contain
441442 , autoplay: true
442443 , style: Style.style { height: 200.0 }
443444 }
444445 , sectionTitle p.fg "Windy Tree"
445446 , nativeRiveView_
446447 { resourceName: "windy_tree"
447− , fit: "cover"
448+ , fit: T.cover
448449 , autoplay: true
449450 , style: tw "flex-1" <> Style.style { minHeight: 300.0, backgroundColor: p.bg }
450451 }
@@ -536,7 +537,7 @@ systemTab = component "SystemTab" \p -> React.do
536537 , card p.cardBg
537538 [ view { style: tw "flex-row items-center" }
538539 [ nativeFilePicker
539− { mode: "open"
540+ { mode: T.openFile
540541 , title: "Open Files"
541542 , sfSymbol: "doc.badge.plus"
542543 , allowMultiple: true
@@ -549,7 +550,7 @@ systemTab = component "SystemTab" \p -> React.do
549550 , style: Style.style { height: 24.0, width: 120.0 }
550551 }
551552 , nativeFilePicker
552− { mode: "open"
553+ { mode: T.openFile
553554 , title: "Choose Folder"
554555 , sfSymbol: "folder"
555556 , canChooseDirectories: true
@@ -561,7 +562,7 @@ systemTab = component "SystemTab" \p -> React.do
561562 , style: Style.style { height: 24.0, width: 140.0, marginLeft: 8.0 }
562563 }
563564 , nativeFilePicker
564− { mode: "save"
565+ { mode: T.saveFile
565566 , title: "Save As..."
566567 , sfSymbol: "square.and.arrow.down"
567568 , defaultName: "Untitled.txt"
@@ -591,7 +592,7 @@ systemTab = component "SystemTab" \p -> React.do
591592 [ nativeButton
592593 { title: if videoPlaying then "Pause" else "Play"
593594 , sfSymbol: if videoPlaying then "pause.fill" else "play.fill"
594− , bezelStyle: "rounded"
595+ , bezelStyle: T.push
595596 , onPress: handler_ (setVideoPlaying (not videoPlaying))
596597 , style: Style.style { height: 24.0, width: 100.0 }
597598 }
@@ -692,14 +693,14 @@ systemTab = component "SystemTab" \p -> React.do
692693 "Click button to toggle a popover"
693694 , nativePopover
694695 { visible: popoverVisible
695− , preferredEdge: "bottom"
696− , behavior: "transient"
696+ , preferredEdge: T.bottom
697+ , behavior: T.transient
697698 , onClose: handler_ (setPopoverVisible false)
698699 , style: tw "mb-2"
699700 }
700701 [ nativeButton
701702 { title: if popoverVisible then "Hide Popover" else "Show Popover"
702− , bezelStyle: "rounded"
703+ , bezelStyle: T.push
703704 , onPress: handler_ (setPopoverVisible (not popoverVisible))
704705 , style: Style.style { height: 24.0, width: 140.0 }
705706 }
@@ -714,7 +715,7 @@ systemTab = component "SystemTab" \p -> React.do
714715 "Native NSImageView with URL loading and corner radius"
715716 , nativeImage
716717 { source: "https://placedog.net/640/400"
717− , contentMode: "scaleProportionally"
718+ , contentMode: T.scaleProportionally
718719 , cornerRadius: 12.0
719720 , style: Style.style { height: 200.0 } <> tw "mb-2"
720721 }
@@ -725,8 +726,8 @@ systemTab = component "SystemTab" \p -> React.do
725726 , nativeButton
726727 { title: "Show Alert"
727728 , sfSymbol: "exclamationmark.triangle"
728− , bezelStyle: "rounded"
729− , onPress: handler_ (macosAlert "warning" "Are you sure?" "This action cannot be undone." [ "Cancel", "OK" ])
729+ , bezelStyle: T.push
730+ , onPress: handler_ (macosAlert T.warning "Are you sure?" "This action cannot be undone." [ "Cancel", "OK" ])
730731 , style: Style.style { height: 24.0, width: 120.0 } <> tw "mb-4"
731732 }
732733 ]
@@ -931,7 +932,7 @@ chatTab = component "ChatTab" \p -> React.do
931932 else text { style: Style.style { height: 0.0 } } ""
932933 , nativeButton
933934 { title: "Sign In"
934− , bezelStyle: "rounded"
935+ , bezelStyle: T.push
935936 , sfSymbol: "arrow.right.circle.fill"
936937 , onPress: handler_ doLogin
937938 , style: Style.style { height: 32.0 }
@@ -965,7 +966,7 @@ chatTab = component "ChatTab" \p -> React.do
965966 ]
966967 , nativeButton
967968 { title: ""
968− , bezelStyle: "toolbar"
969+ , bezelStyle: T.toolbar
969970 , sfSymbol: ""
970971 , onPress: handler_ (selectRoom sess r.roomId)
971972 , style: Style.style { position: "absolute", top: 0.0, left: 0.0, right: 0.0, bottom: 0.0, opacity: 0.0 }
@@ -1058,7 +1059,7 @@ chatTab = component "ChatTab" \p -> React.do
10581059 , nativeButton
10591060 { title: ""
10601061 , sfSymbol: "paperplane.fill"
1061− , bezelStyle: "toolbar"
1062+ , bezelStyle: T.toolbar
10621063 , onPress: handler_ (sendMessage sess rid inputText)
10631064 , style: Style.style { height: 28.0, width: 36.0, marginLeft: 8.0 }
10641065 }