react-native-gtkx 0.2.0-alpha.1 → 0.3.0-alpha.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/README.md +14 -2
- package/dist/adw/widgets.generated.d.ts +4 -4
- package/dist/adw/widgets.generated.js +51 -51
- package/dist/adw/widgets.generated.js.map +1 -1
- package/dist/aliases/index.d.ts +84 -0
- package/dist/aliases/index.js +208 -0
- package/dist/aliases/index.js.map +1 -0
- package/dist/animated/create-animated.d.ts +2 -0
- package/dist/animated/create-animated.js +2 -0
- package/dist/animated/create-animated.js.map +1 -1
- package/dist/animated/index.d.ts +4 -0
- package/dist/animated/index.js +6 -0
- package/dist/animated/index.js.map +1 -1
- package/dist/animated/types.d.ts +1 -0
- package/dist/animated/types.js.map +1 -1
- package/dist/animated/value-animation.js +17 -4
- package/dist/animated/value-animation.js.map +1 -1
- package/dist/animated/value-xy.d.ts +41 -0
- package/dist/animated/value-xy.js +90 -0
- package/dist/animated/value-xy.js.map +1 -0
- package/dist/animated/value.d.ts +9 -0
- package/dist/animated/value.js +30 -2
- package/dist/animated/value.js.map +1 -1
- package/dist/apis/host.gtkx.js +9 -12
- package/dist/apis/host.gtkx.js.map +1 -1
- package/dist/apis/index.d.ts +4 -2
- package/dist/apis/index.js +2 -0
- package/dist/apis/index.js.map +1 -1
- package/dist/apis/keyboard.d.ts +60 -0
- package/dist/apis/keyboard.js +63 -0
- package/dist/apis/keyboard.js.map +1 -0
- package/dist/apis/log-box.d.ts +15 -0
- package/dist/apis/log-box.js +46 -0
- package/dist/apis/log-box.js.map +1 -0
- package/dist/apis/platform.d.ts +18 -1
- package/dist/apis/platform.js.map +1 -1
- package/dist/common/icon.d.ts +23 -0
- package/dist/common/icon.js +14 -0
- package/dist/common/icon.js.map +1 -0
- package/dist/common/index.d.ts +1 -0
- package/dist/common/index.js +25 -0
- package/dist/common/index.js.map +1 -1
- package/dist/common/widget.d.ts +1 -22
- package/dist/common/widget.js +75 -8
- package/dist/common/widget.js.map +1 -1
- package/dist/components/animated.d.ts +73 -7
- package/dist/components/animated.js +560 -45
- package/dist/components/animated.js.map +1 -1
- package/dist/components/app-registry.d.ts +26 -0
- package/dist/components/app-registry.js.map +1 -1
- package/dist/components/driven-size.d.ts +27 -0
- package/dist/components/driven-size.js +85 -0
- package/dist/components/driven-size.js.map +1 -0
- package/dist/components/find-node-handle.d.ts +11 -0
- package/dist/components/find-node-handle.js +53 -0
- package/dist/components/find-node-handle.js.map +1 -0
- package/dist/components/flat-list.d.ts +3 -2
- package/dist/components/flat-list.js.map +1 -1
- package/dist/components/frame-scheduler.d.ts +16 -0
- package/dist/components/frame-scheduler.js +37 -0
- package/dist/components/frame-scheduler.js.map +1 -0
- package/dist/components/host-node.d.ts +7 -0
- package/dist/components/host-node.js +26 -1
- package/dist/components/host-node.js.map +1 -1
- package/dist/components/image.d.ts +6 -1
- package/dist/components/image.js +15 -4
- package/dist/components/image.js.map +1 -1
- package/dist/components/index.d.ts +11 -5
- package/dist/components/index.js +7 -4
- package/dist/components/index.js.map +1 -1
- package/dist/components/measure.d.ts +63 -0
- package/dist/components/measure.js +150 -0
- package/dist/components/measure.js.map +1 -0
- package/dist/components/modal.d.ts +1 -1
- package/dist/components/press-event.d.ts +28 -0
- package/dist/components/press-event.js +46 -0
- package/dist/components/press-event.js.map +1 -0
- package/dist/components/pressable.d.ts +63 -7
- package/dist/components/pressable.js +165 -12
- package/dist/components/pressable.js.map +1 -1
- package/dist/components/rect-store.d.ts +58 -0
- package/dist/components/rect-store.js +124 -3
- package/dist/components/rect-store.js.map +1 -1
- package/dist/components/root.js +6 -1
- package/dist/components/root.js.map +1 -1
- package/dist/components/scroll-phase.d.ts +35 -0
- package/dist/components/scroll-phase.js +26 -0
- package/dist/components/scroll-phase.js.map +1 -0
- package/dist/components/scroll-view.d.ts +43 -3
- package/dist/components/scroll-view.js +386 -45
- package/dist/components/scroll-view.js.map +1 -1
- package/dist/components/text-input.js +9 -25
- package/dist/components/text-input.js.map +1 -1
- package/dist/components/text.d.ts +6 -2
- package/dist/components/text.js +68 -9
- package/dist/components/text.js.map +1 -1
- package/dist/components/use-focus.d.ts +27 -0
- package/dist/components/use-focus.js +116 -0
- package/dist/components/use-focus.js.map +1 -0
- package/dist/components/use-layout-child.d.ts +13 -1
- package/dist/components/use-layout-child.js +205 -19
- package/dist/components/use-layout-child.js.map +1 -1
- package/dist/components/view.d.ts +12 -4
- package/dist/components/view.js +25 -14
- package/dist/components/view.js.map +1 -1
- package/dist/components/virtualized-list.d.ts +45 -5
- package/dist/components/virtualized-list.js +90 -24
- package/dist/components/virtualized-list.js.map +1 -1
- package/dist/components/wheel-scroll-session.d.ts +7 -0
- package/dist/components/wheel-scroll-session.js +53 -0
- package/dist/components/wheel-scroll-session.js.map +1 -0
- package/dist/components/widget-retention.d.ts +35 -0
- package/dist/components/widget-retention.js +169 -0
- package/dist/components/widget-retention.js.map +1 -0
- package/dist/contracts.d.ts +23 -3
- package/dist/contracts.js.map +1 -1
- package/dist/dnd/context.d.ts +69 -0
- package/dist/dnd/context.js +149 -0
- package/dist/dnd/context.js.map +1 -0
- package/dist/dnd/draggable.d.ts +59 -0
- package/dist/dnd/draggable.js +149 -0
- package/dist/dnd/draggable.js.map +1 -0
- package/dist/dnd/droppable.d.ts +24 -0
- package/dist/dnd/droppable.js +74 -0
- package/dist/dnd/droppable.js.map +1 -0
- package/dist/dnd/gtk-controllers.d.ts +39 -0
- package/dist/dnd/gtk-controllers.js +110 -0
- package/dist/dnd/gtk-controllers.js.map +1 -0
- package/dist/dnd/index.d.ts +6 -0
- package/dist/dnd/index.js +31 -0
- package/dist/dnd/index.js.map +1 -0
- package/dist/dnd/order.d.ts +7 -0
- package/dist/dnd/order.js +20 -0
- package/dist/dnd/order.js.map +1 -0
- package/dist/dnd/payload.d.ts +14 -0
- package/dist/dnd/payload.js +41 -0
- package/dist/dnd/payload.js.map +1 -0
- package/dist/dnd/sortable.d.ts +49 -0
- package/dist/dnd/sortable.js +307 -0
- package/dist/dnd/sortable.js.map +1 -0
- package/dist/dnd/types.d.ts +290 -0
- package/dist/dnd/types.js +25 -0
- package/dist/dnd/types.js.map +1 -0
- package/dist/gesture-handler-compat/builder.d.ts +251 -0
- package/dist/gesture-handler-compat/builder.js +513 -0
- package/dist/gesture-handler-compat/builder.js.map +1 -0
- package/dist/gesture-handler-compat/composition.d.ts +23 -0
- package/dist/gesture-handler-compat/composition.js +111 -0
- package/dist/gesture-handler-compat/composition.js.map +1 -0
- package/dist/gesture-handler-compat/deciders.d.ts +3 -0
- package/dist/gesture-handler-compat/deciders.js +47 -0
- package/dist/gesture-handler-compat/deciders.js.map +1 -0
- package/dist/gesture-handler-compat/detector-runtime.d.ts +44 -0
- package/dist/gesture-handler-compat/detector-runtime.js +374 -0
- package/dist/gesture-handler-compat/detector-runtime.js.map +1 -0
- package/dist/gesture-handler-compat/detector.d.ts +22 -0
- package/dist/gesture-handler-compat/detector.js +104 -0
- package/dist/gesture-handler-compat/detector.js.map +1 -0
- package/dist/gesture-handler-compat/fling.d.ts +24 -0
- package/dist/gesture-handler-compat/fling.js +123 -0
- package/dist/gesture-handler-compat/fling.js.map +1 -0
- package/dist/gesture-handler-compat/force-touch.d.ts +13 -0
- package/dist/gesture-handler-compat/force-touch.js +40 -0
- package/dist/gesture-handler-compat/force-touch.js.map +1 -0
- package/dist/gesture-handler-compat/hooks.d.ts +157 -0
- package/dist/gesture-handler-compat/hooks.js +268 -0
- package/dist/gesture-handler-compat/hooks.js.map +1 -0
- package/dist/gesture-handler-compat/hover.d.ts +2 -0
- package/dist/gesture-handler-compat/hover.js +22 -0
- package/dist/gesture-handler-compat/hover.js.map +1 -0
- package/dist/gesture-handler-compat/index.d.ts +98 -0
- package/dist/gesture-handler-compat/index.js +255 -0
- package/dist/gesture-handler-compat/index.js.map +1 -0
- package/dist/gesture-handler-compat/long-press.d.ts +6 -0
- package/dist/gesture-handler-compat/long-press.js +21 -0
- package/dist/gesture-handler-compat/long-press.js.map +1 -0
- package/dist/gesture-handler-compat/manual.d.ts +2 -0
- package/dist/gesture-handler-compat/manual.js +18 -0
- package/dist/gesture-handler-compat/manual.js.map +1 -0
- package/dist/gesture-handler-compat/native.d.ts +7 -0
- package/dist/gesture-handler-compat/native.js +34 -0
- package/dist/gesture-handler-compat/native.js.map +1 -0
- package/dist/gesture-handler-compat/orchestrator.d.ts +77 -0
- package/dist/gesture-handler-compat/orchestrator.js +284 -0
- package/dist/gesture-handler-compat/orchestrator.js.map +1 -0
- package/dist/gesture-handler-compat/pan.d.ts +23 -0
- package/dist/gesture-handler-compat/pan.js +116 -0
- package/dist/gesture-handler-compat/pan.js.map +1 -0
- package/dist/gesture-handler-compat/recognizer.d.ts +268 -0
- package/dist/gesture-handler-compat/recognizer.js +1056 -0
- package/dist/gesture-handler-compat/recognizer.js.map +1 -0
- package/dist/gesture-handler-compat/relations.d.ts +43 -0
- package/dist/gesture-handler-compat/relations.js +128 -0
- package/dist/gesture-handler-compat/relations.js.map +1 -0
- package/dist/gesture-handler-compat/tap.d.ts +6 -0
- package/dist/gesture-handler-compat/tap.js +29 -0
- package/dist/gesture-handler-compat/tap.js.map +1 -0
- package/dist/gesture-handler-compat/touchpad.d.ts +41 -0
- package/dist/gesture-handler-compat/touchpad.js +64 -0
- package/dist/gesture-handler-compat/touchpad.js.map +1 -0
- package/dist/gesture-handler-compat/types.d.ts +441 -0
- package/dist/gesture-handler-compat/types.js +167 -0
- package/dist/gesture-handler-compat/types.js.map +1 -0
- package/dist/gtk/controllers.d.ts +39 -0
- package/dist/gtk/controllers.js +92 -0
- package/dist/gtk/controllers.js.map +1 -0
- package/dist/gtk/index.d.ts +3 -1
- package/dist/gtk/index.js +14 -1
- package/dist/gtk/index.js.map +1 -1
- package/dist/gtk/widgets.generated.d.ts +14 -14
- package/dist/gtk/widgets.generated.js +101 -102
- package/dist/gtk/widgets.generated.js.map +1 -1
- package/dist/gtk/window-actions.d.ts +77 -0
- package/dist/gtk/window-actions.js +193 -0
- package/dist/gtk/window-actions.js.map +1 -0
- package/dist/gtkx/bridge/geometry.d.ts +15 -0
- package/dist/gtkx/bridge/geometry.js +40 -0
- package/dist/gtkx/bridge/geometry.js.map +1 -0
- package/dist/gtkx/bridge/index.d.ts +7 -3
- package/dist/gtkx/bridge/index.js +12 -4
- package/dist/gtkx/bridge/index.js.map +1 -1
- package/dist/gtkx/bridge/slot-portal.d.ts +12 -0
- package/dist/gtkx/bridge/slot-portal.js +17 -0
- package/dist/gtkx/bridge/slot-portal.js.map +1 -0
- package/dist/gtkx/bridge/svg-node.js +10 -54
- package/dist/gtkx/bridge/svg-node.js.map +1 -1
- package/dist/gtkx/bridge/use-signal.js +2 -2
- package/dist/gtkx/bridge/use-signal.js.map +1 -1
- package/dist/gtkx/bridge/view-box.d.ts +56 -0
- package/dist/gtkx/bridge/view-box.js +394 -9
- package/dist/gtkx/bridge/view-box.js.map +1 -1
- package/dist/gtkx/bridge/widget-css.d.ts +17 -0
- package/dist/gtkx/bridge/widget-css.js +72 -0
- package/dist/gtkx/bridge/widget-css.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/layout/driven-size.d.ts +12 -0
- package/dist/layout/driven-size.js +70 -0
- package/dist/layout/driven-size.js.map +1 -0
- package/dist/layout/engine.d.ts +17 -1
- package/dist/layout/engine.js +3 -20
- package/dist/layout/engine.js.map +1 -1
- package/dist/layout/node.d.ts +13 -0
- package/dist/layout/node.js +14 -0
- package/dist/layout/node.js.map +1 -1
- package/dist/layout/yoga.d.ts +3 -2
- package/dist/layout/yoga.js +5 -2
- package/dist/layout/yoga.js.map +1 -1
- package/dist/mcp/data/generated.d.ts +310 -91
- package/dist/mcp/data/generated.js +365 -90
- package/dist/mcp/data/generated.js.map +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/metro/index.d.ts +10 -0
- package/dist/metro/index.js +21 -12
- package/dist/metro/index.js.map +1 -1
- package/dist/navigation/sidebar.d.ts +47 -1
- package/dist/navigation/sidebar.js +77 -3
- package/dist/navigation/sidebar.js.map +1 -1
- package/dist/reanimated-compat/animated-ref.d.ts +32 -0
- package/dist/reanimated-compat/animated-ref.js +57 -0
- package/dist/reanimated-compat/animated-ref.js.map +1 -0
- package/dist/reanimated-compat/animation.d.ts +177 -0
- package/dist/reanimated-compat/animation.js +540 -0
- package/dist/reanimated-compat/animation.js.map +1 -0
- package/dist/reanimated-compat/color.d.ts +28 -0
- package/dist/reanimated-compat/color.js +249 -0
- package/dist/reanimated-compat/color.js.map +1 -0
- package/dist/reanimated-compat/decay.d.ts +39 -0
- package/dist/reanimated-compat/decay.js +96 -0
- package/dist/reanimated-compat/decay.js.map +1 -0
- package/dist/reanimated-compat/easing.d.ts +30 -0
- package/dist/reanimated-compat/easing.js +76 -0
- package/dist/reanimated-compat/easing.js.map +1 -0
- package/dist/reanimated-compat/hooks.d.ts +14 -0
- package/dist/reanimated-compat/hooks.js +217 -0
- package/dist/reanimated-compat/hooks.js.map +1 -0
- package/dist/reanimated-compat/index.d.ts +258 -0
- package/dist/reanimated-compat/index.js +464 -0
- package/dist/reanimated-compat/index.js.map +1 -0
- package/dist/reanimated-compat/interpolation.d.ts +18 -0
- package/dist/reanimated-compat/interpolation.js +122 -0
- package/dist/reanimated-compat/interpolation.js.map +1 -0
- package/dist/reanimated-compat/layout-animation-config.d.ts +43 -0
- package/dist/reanimated-compat/layout-animation-config.js +78 -0
- package/dist/reanimated-compat/layout-animation-config.js.map +1 -0
- package/dist/reanimated-compat/layout-animation-presets.d.ts +117 -0
- package/dist/reanimated-compat/layout-animation-presets.js +498 -0
- package/dist/reanimated-compat/layout-animation-presets.js.map +1 -0
- package/dist/reanimated-compat/layout-animation-runtime.d.ts +21 -0
- package/dist/reanimated-compat/layout-animation-runtime.js +311 -0
- package/dist/reanimated-compat/layout-animation-runtime.js.map +1 -0
- package/dist/reanimated-compat/layout-animation-view.d.ts +27 -0
- package/dist/reanimated-compat/layout-animation-view.js +266 -0
- package/dist/reanimated-compat/layout-animation-view.js.map +1 -0
- package/dist/reanimated-compat/layout-animation.d.ts +171 -0
- package/dist/reanimated-compat/layout-animation.js +469 -0
- package/dist/reanimated-compat/layout-animation.js.map +1 -0
- package/dist/reanimated-compat/layout-transitions.d.ts +83 -0
- package/dist/reanimated-compat/layout-transitions.js +350 -0
- package/dist/reanimated-compat/layout-transitions.js.map +1 -0
- package/dist/reanimated-compat/mutable.d.ts +29 -0
- package/dist/reanimated-compat/mutable.js +139 -0
- package/dist/reanimated-compat/mutable.js.map +1 -0
- package/dist/reanimated-compat/props.d.ts +18 -0
- package/dist/reanimated-compat/props.js +111 -0
- package/dist/reanimated-compat/props.js.map +1 -0
- package/dist/reanimated-compat/scroll-handler.d.ts +119 -0
- package/dist/reanimated-compat/scroll-handler.js +274 -0
- package/dist/reanimated-compat/scroll-handler.js.map +1 -0
- package/dist/reanimated-compat/scroll-offset.d.ts +12 -0
- package/dist/reanimated-compat/scroll-offset.js +104 -0
- package/dist/reanimated-compat/scroll-offset.js.map +1 -0
- package/dist/reanimated-compat/style.d.ts +90 -0
- package/dist/reanimated-compat/style.js +452 -0
- package/dist/reanimated-compat/style.js.map +1 -0
- package/dist/reanimated-compat/test-timers.d.ts +28 -0
- package/dist/reanimated-compat/test-timers.js +136 -0
- package/dist/reanimated-compat/test-timers.js.map +1 -0
- package/dist/reanimated-compat/threads.d.ts +13 -0
- package/dist/reanimated-compat/threads.js +41 -0
- package/dist/reanimated-compat/threads.js.map +1 -0
- package/dist/reanimated-compat/tracking.d.ts +41 -0
- package/dist/reanimated-compat/tracking.js +106 -0
- package/dist/reanimated-compat/tracking.js.map +1 -0
- package/dist/reanimated-compat/updater-animations.d.ts +36 -0
- package/dist/reanimated-compat/updater-animations.js +273 -0
- package/dist/reanimated-compat/updater-animations.js.map +1 -0
- package/dist/responder/system.d.ts +100 -0
- package/dist/responder/system.js +304 -0
- package/dist/responder/system.js.map +1 -0
- package/dist/responder/touch-history.d.ts +10 -0
- package/dist/responder/touch-history.js +78 -0
- package/dist/responder/touch-history.js.map +1 -0
- package/dist/responder/types.d.ts +63 -0
- package/dist/responder/types.js +29 -0
- package/dist/responder/types.js.map +1 -0
- package/dist/responder/use-responder.d.ts +23 -0
- package/dist/responder/use-responder.js +317 -0
- package/dist/responder/use-responder.js.map +1 -0
- package/dist/runner/host-dev.js +4 -2
- package/dist/runner/host-dev.js.map +1 -1
- package/dist/runner/host.js +6 -2
- package/dist/runner/host.js.map +1 -1
- package/dist/runner/index.js +3 -3
- package/dist/runner/index.js.map +1 -1
- package/dist/sea/gtkx-config-module.js +2 -2
- package/dist/sea/gtkx-config-module.js.map +1 -1
- package/dist/style/absolute-insets.d.ts +26 -0
- package/dist/style/absolute-insets.js +113 -0
- package/dist/style/absolute-insets.js.map +1 -0
- package/dist/style/animated-size.d.ts +25 -0
- package/dist/style/animated-size.js +225 -0
- package/dist/style/animated-size.js.map +1 -0
- package/dist/style/box-shadow.d.ts +7 -0
- package/dist/style/box-shadow.js +197 -0
- package/dist/style/box-shadow.js.map +1 -0
- package/dist/style/colors.d.ts +17 -0
- package/dist/style/colors.js +25 -6
- package/dist/style/colors.js.map +1 -1
- package/dist/style/imperative-css.d.ts +21 -0
- package/dist/style/imperative-css.js +63 -0
- package/dist/style/imperative-css.js.map +1 -0
- package/dist/style/index.d.ts +4 -1
- package/dist/style/index.js +4 -1
- package/dist/style/index.js.map +1 -1
- package/dist/style/split-style.d.ts +5 -2
- package/dist/style/split-style.js +36 -3
- package/dist/style/split-style.js.map +1 -1
- package/dist/style/text-decoration.d.ts +15 -0
- package/dist/style/text-decoration.js +26 -0
- package/dist/style/text-decoration.js.map +1 -0
- package/dist/style/visual-css.js +37 -1
- package/dist/style/visual-css.js.map +1 -1
- package/dist/svg/gradient-geometry.js +2 -5
- package/dist/svg/gradient-geometry.js.map +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unsupported-export.d.ts +8 -0
- package/dist/unsupported-export.js +66 -0
- package/dist/unsupported-export.js.map +1 -0
- package/dist/vendor/react-native/pan-responder.d.ts +102 -0
- package/dist/vendor/react-native/pan-responder.js +196 -0
- package/dist/vendor/react-native/pan-responder.js.map +1 -0
- package/dist/vendor/react-native/touch-history-math.d.ts +18 -0
- package/dist/vendor/react-native/touch-history-math.js +102 -0
- package/dist/vendor/react-native/touch-history-math.js.map +1 -0
- package/dist/vite/index.d.ts +21 -8
- package/dist/vite/index.js +127 -82
- package/dist/vite/index.js.map +1 -1
- package/dist/vitest/index.d.ts +2 -2
- package/dist/vitest/index.js.map +1 -1
- package/dist/worklets-compat/index.d.ts +4 -0
- package/dist/worklets-compat/index.js +28 -0
- package/dist/worklets-compat/index.js.map +1 -0
- package/dist/worklets-compat/surface.d.ts +110 -0
- package/dist/worklets-compat/surface.js +153 -0
- package/dist/worklets-compat/surface.js.map +1 -0
- package/package.json +25 -9
- package/types.d.ts +9 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgets.generated.js","sourceRoot":"","sources":["../../src/gtk/widgets.generated.ts"],"names":[],"mappings":"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","sourcesContent":["// GENERATED FILE — do not edit by hand.\n// Produced by scripts/generate-widget-surface.ts. Re-run it inside the VM\n// after `npm run codegen` picks up a gtkx update; see\n// scripts/widget-surface/classification.json for the full classification\n// and .claude/epics/widget-surface/ for the rules behind it.\n//\n// Wrapped: RN layout + a GTK CSS class from the style prop, steps aside and\n// renders bare outside RN layout (see wrapReactNative in ../common/widget).\n// Raw: toplevels and child-only widgets, where a wrapper box would be\n// invalid GTK rather than a convenience — exported as gtkx binds them, same\n// as the hand-picked ones were before this file existed.\n\nimport { wrapReactNative } from \"../common/widget\"\nimport {\n GtkActionBar as RawGtkActionBar,\n GtkAppChooserButton as RawGtkAppChooserButton,\n GtkAppChooserWidget as RawGtkAppChooserWidget,\n GtkAspectFrame as RawGtkAspectFrame,\n GtkBox as RawGtkBox,\n GtkButton as RawGtkButton,\n GtkCalendar as RawGtkCalendar,\n GtkCellView as RawGtkCellView,\n GtkCenterBox as RawGtkCenterBox,\n GtkCheckButton as RawGtkCheckButton,\n GtkColorButton as RawGtkColorButton,\n GtkColorChooserWidget as RawGtkColorChooserWidget,\n GtkColorDialogButton as RawGtkColorDialogButton,\n GtkColumnView as RawGtkColumnView,\n GtkComboBox as RawGtkComboBox,\n GtkComboBoxText as RawGtkComboBoxText,\n GtkDragIcon as RawGtkDragIcon,\n GtkDrawingArea as RawGtkDrawingArea,\n GtkDropDown as RawGtkDropDown,\n GtkEditableLabel as RawGtkEditableLabel,\n GtkEmojiChooser as RawGtkEmojiChooser,\n GtkEntry as RawGtkEntry,\n GtkExpander as RawGtkExpander,\n GtkFileChooserWidget as RawGtkFileChooserWidget,\n GtkFixed as RawGtkFixed,\n GtkFlowBox as RawGtkFlowBox,\n GtkFontButton as RawGtkFontButton,\n GtkFontChooserWidget as RawGtkFontChooserWidget,\n GtkFontDialogButton as RawGtkFontDialogButton,\n GtkFrame as RawGtkFrame,\n GtkGLArea as RawGtkGLArea,\n GtkGraphicsOffload as RawGtkGraphicsOffload,\n GtkGrid as RawGtkGrid,\n GtkGridView as RawGtkGridView,\n GtkHeaderBar as RawGtkHeaderBar,\n GtkIconView as RawGtkIconView,\n GtkImage as RawGtkImage,\n GtkInfoBar as RawGtkInfoBar,\n GtkInscription as RawGtkInscription,\n GtkLabel as RawGtkLabel,\n GtkLevelBar as RawGtkLevelBar,\n GtkLinkButton as RawGtkLinkButton,\n GtkListBox as RawGtkListBox,\n GtkListView as RawGtkListView,\n GtkLockButton as RawGtkLockButton,\n GtkMediaControls as RawGtkMediaControls,\n GtkMenuButton as RawGtkMenuButton,\n GtkNotebook as RawGtkNotebook,\n GtkOverlay as RawGtkOverlay,\n GtkPaned as RawGtkPaned,\n GtkPasswordEntry as RawGtkPasswordEntry,\n GtkPicture as RawGtkPicture,\n GtkPopover as RawGtkPopover,\n GtkPopoverBin as RawGtkPopoverBin,\n GtkPopoverMenu as RawGtkPopoverMenu,\n GtkPopoverMenuBar as RawGtkPopoverMenuBar,\n GtkProgressBar as RawGtkProgressBar,\n GtkRange as RawGtkRange,\n GtkRevealer as RawGtkRevealer,\n GtkScale as RawGtkScale,\n GtkScaleButton as RawGtkScaleButton,\n GtkScrollbar as RawGtkScrollbar,\n GtkScrolledWindow as RawGtkScrolledWindow,\n GtkSearchBar as RawGtkSearchBar,\n GtkSearchEntry as RawGtkSearchEntry,\n GtkSeparator as RawGtkSeparator,\n GtkShortcutLabel as RawGtkShortcutLabel,\n GtkShortcutsGroup as RawGtkShortcutsGroup,\n GtkShortcutsSection as RawGtkShortcutsSection,\n GtkShortcutsShortcut as RawGtkShortcutsShortcut,\n GtkSpinButton as RawGtkSpinButton,\n GtkSpinner as RawGtkSpinner,\n GtkStack as RawGtkStack,\n GtkStackSidebar as RawGtkStackSidebar,\n GtkStackSwitcher as RawGtkStackSwitcher,\n GtkStatusbar as RawGtkStatusbar,\n GtkSwitch as RawGtkSwitch,\n GtkText as RawGtkText,\n GtkTextView as RawGtkTextView,\n GtkToggleButton as RawGtkToggleButton,\n GtkTreeExpander as RawGtkTreeExpander,\n GtkTreeView as RawGtkTreeView,\n GtkVideo as RawGtkVideo,\n GtkViewport as RawGtkViewport,\n GtkVolumeButton as RawGtkVolumeButton,\n GtkWindowControls as RawGtkWindowControls,\n GtkWindowHandle as RawGtkWindowHandle,\n} from \"../gtkx/bridge/widgets.generated\"\n\nexport const GtkActionBar = wrapReactNative(RawGtkActionBar)\nexport const GtkAppChooserButton = wrapReactNative(RawGtkAppChooserButton)\nexport const GtkAppChooserWidget = wrapReactNative(RawGtkAppChooserWidget)\nexport const GtkAspectFrame = wrapReactNative(RawGtkAspectFrame)\nexport const GtkBox = wrapReactNative(RawGtkBox)\nexport const GtkButton = wrapReactNative(RawGtkButton)\nexport const GtkCalendar = wrapReactNative(RawGtkCalendar)\nexport const GtkCellView = wrapReactNative(RawGtkCellView)\nexport const GtkCenterBox = wrapReactNative(RawGtkCenterBox)\nexport const GtkCheckButton = wrapReactNative(RawGtkCheckButton)\nexport const GtkColorButton = wrapReactNative(RawGtkColorButton)\nexport const GtkColorChooserWidget = wrapReactNative(RawGtkColorChooserWidget)\nexport const GtkColorDialogButton = wrapReactNative(RawGtkColorDialogButton)\nexport const GtkColumnView = wrapReactNative(RawGtkColumnView)\nexport const GtkComboBox = wrapReactNative(RawGtkComboBox)\nexport const GtkComboBoxText = wrapReactNative(RawGtkComboBoxText)\nexport const GtkDragIcon = wrapReactNative(RawGtkDragIcon)\nexport const GtkDrawingArea = wrapReactNative(RawGtkDrawingArea)\nexport const GtkDropDown = wrapReactNative(RawGtkDropDown)\nexport const GtkEditableLabel = wrapReactNative(RawGtkEditableLabel)\nexport const GtkEmojiChooser = wrapReactNative(RawGtkEmojiChooser)\nexport const GtkEntry = wrapReactNative(RawGtkEntry)\nexport const GtkExpander = wrapReactNative(RawGtkExpander)\nexport const GtkFileChooserWidget = wrapReactNative(RawGtkFileChooserWidget)\nexport const GtkFixed = wrapReactNative(RawGtkFixed)\nexport const GtkFlowBox = wrapReactNative(RawGtkFlowBox)\nexport const GtkFontButton = wrapReactNative(RawGtkFontButton)\nexport const GtkFontChooserWidget = wrapReactNative(RawGtkFontChooserWidget)\nexport const GtkFontDialogButton = wrapReactNative(RawGtkFontDialogButton)\nexport const GtkFrame = wrapReactNative(RawGtkFrame)\nexport const GtkGLArea = wrapReactNative(RawGtkGLArea)\nexport const GtkGraphicsOffload = wrapReactNative(RawGtkGraphicsOffload)\nexport const GtkGrid = wrapReactNative(RawGtkGrid)\nexport const GtkGridView = wrapReactNative(RawGtkGridView)\nexport const GtkHeaderBar = wrapReactNative(RawGtkHeaderBar)\nexport const GtkIconView = wrapReactNative(RawGtkIconView)\nexport const GtkImage = wrapReactNative(RawGtkImage)\nexport const GtkInfoBar = wrapReactNative(RawGtkInfoBar)\nexport const GtkInscription = wrapReactNative(RawGtkInscription)\nexport const GtkLabel = wrapReactNative(RawGtkLabel)\nexport const GtkLevelBar = wrapReactNative(RawGtkLevelBar)\nexport const GtkLinkButton = wrapReactNative(RawGtkLinkButton)\nexport const GtkListBox = wrapReactNative(RawGtkListBox)\nexport const GtkListView = wrapReactNative(RawGtkListView)\nexport const GtkLockButton = wrapReactNative(RawGtkLockButton)\nexport const GtkMediaControls = wrapReactNative(RawGtkMediaControls)\nexport const GtkMenuButton = wrapReactNative(RawGtkMenuButton)\nexport const GtkNotebook = wrapReactNative(RawGtkNotebook)\nexport const GtkOverlay = wrapReactNative(RawGtkOverlay)\nexport const GtkPaned = wrapReactNative(RawGtkPaned)\nexport const GtkPasswordEntry = wrapReactNative(RawGtkPasswordEntry)\nexport const GtkPicture = wrapReactNative(RawGtkPicture)\nexport const GtkPopover = wrapReactNative(RawGtkPopover)\nexport const GtkPopoverBin = wrapReactNative(RawGtkPopoverBin)\nexport const GtkPopoverMenu = wrapReactNative(RawGtkPopoverMenu)\nexport const GtkPopoverMenuBar = wrapReactNative(RawGtkPopoverMenuBar)\nexport const GtkProgressBar = wrapReactNative(RawGtkProgressBar)\nexport const GtkRange = wrapReactNative(RawGtkRange)\nexport const GtkRevealer = wrapReactNative(RawGtkRevealer)\nexport const GtkScale = wrapReactNative(RawGtkScale)\nexport const GtkScaleButton = wrapReactNative(RawGtkScaleButton)\nexport const GtkScrollbar = wrapReactNative(RawGtkScrollbar)\nexport const GtkScrolledWindow = wrapReactNative(RawGtkScrolledWindow)\nexport const GtkSearchBar = wrapReactNative(RawGtkSearchBar)\nexport const GtkSearchEntry = wrapReactNative(RawGtkSearchEntry)\nexport const GtkSeparator = wrapReactNative(RawGtkSeparator)\nexport const GtkShortcutLabel = wrapReactNative(RawGtkShortcutLabel)\nexport const GtkShortcutsGroup = wrapReactNative(RawGtkShortcutsGroup)\nexport const GtkShortcutsSection = wrapReactNative(RawGtkShortcutsSection)\nexport const GtkShortcutsShortcut = wrapReactNative(RawGtkShortcutsShortcut)\nexport const GtkSpinButton = wrapReactNative(RawGtkSpinButton)\nexport const GtkSpinner = wrapReactNative(RawGtkSpinner)\nexport const GtkStack = wrapReactNative(RawGtkStack)\nexport const GtkStackSidebar = wrapReactNative(RawGtkStackSidebar)\nexport const GtkStackSwitcher = wrapReactNative(RawGtkStackSwitcher)\nexport const GtkStatusbar = wrapReactNative(RawGtkStatusbar)\nexport const GtkSwitch = wrapReactNative(RawGtkSwitch)\nexport const GtkText = wrapReactNative(RawGtkText)\nexport const GtkTextView = wrapReactNative(RawGtkTextView)\nexport const GtkToggleButton = wrapReactNative(RawGtkToggleButton)\nexport const GtkTreeExpander = wrapReactNative(RawGtkTreeExpander)\nexport const GtkTreeView = wrapReactNative(RawGtkTreeView)\nexport const GtkVideo = wrapReactNative(RawGtkVideo)\nexport const GtkViewport = wrapReactNative(RawGtkViewport)\nexport const GtkVolumeButton = wrapReactNative(RawGtkVolumeButton)\nexport const GtkWindowControls = wrapReactNative(RawGtkWindowControls)\nexport const GtkWindowHandle = wrapReactNative(RawGtkWindowHandle)\n\nexport {\n GtkAboutDialog, // toplevel (derives Gtk.Window)\n GtkAppChooserDialog, // toplevel (derives Gtk.Window)\n GtkApplicationWindow, // toplevel (derives Gtk.Window)\n GtkAssistant, // toplevel (derives Gtk.Window)\n GtkColorChooserDialog, // toplevel (derives Gtk.Window)\n GtkDialog, // toplevel (derives Gtk.Window)\n GtkFileChooserDialog, // toplevel (derives Gtk.Window)\n GtkFlowBoxChild, // child-only (derives Gtk.FlowBoxChild)\n GtkFontChooserDialog, // toplevel (derives Gtk.Window)\n GtkListBoxRow, // child-only (derives Gtk.ListBoxRow)\n GtkMessageDialog, // toplevel (derives Gtk.Window)\n GtkPageSetupUnixDialog, // toplevel (derives Gtk.Window)\n GtkPrintUnixDialog, // toplevel (derives Gtk.Window)\n GtkShortcutsWindow, // toplevel (derives Gtk.Window)\n GtkWindow, // toplevel (derives Gtk.Window)\n} from \"../gtkx/bridge/widgets.generated\"\n\nexport const GTK_WRAPPED_WIDGET_NAMES = [\n \"GtkActionBar\",\n \"GtkAppChooserButton\",\n \"GtkAppChooserWidget\",\n \"GtkAspectFrame\",\n \"GtkBox\",\n \"GtkButton\",\n \"GtkCalendar\",\n \"GtkCellView\",\n \"GtkCenterBox\",\n \"GtkCheckButton\",\n \"GtkColorButton\",\n \"GtkColorChooserWidget\",\n \"GtkColorDialogButton\",\n \"GtkColumnView\",\n \"GtkComboBox\",\n \"GtkComboBoxText\",\n \"GtkDragIcon\",\n \"GtkDrawingArea\",\n \"GtkDropDown\",\n \"GtkEditableLabel\",\n \"GtkEmojiChooser\",\n \"GtkEntry\",\n \"GtkExpander\",\n \"GtkFileChooserWidget\",\n \"GtkFixed\",\n \"GtkFlowBox\",\n \"GtkFontButton\",\n \"GtkFontChooserWidget\",\n \"GtkFontDialogButton\",\n \"GtkFrame\",\n \"GtkGLArea\",\n \"GtkGraphicsOffload\",\n \"GtkGrid\",\n \"GtkGridView\",\n \"GtkHeaderBar\",\n \"GtkIconView\",\n \"GtkImage\",\n \"GtkInfoBar\",\n \"GtkInscription\",\n \"GtkLabel\",\n \"GtkLevelBar\",\n \"GtkLinkButton\",\n \"GtkListBox\",\n \"GtkListView\",\n \"GtkLockButton\",\n \"GtkMediaControls\",\n \"GtkMenuButton\",\n \"GtkNotebook\",\n \"GtkOverlay\",\n \"GtkPaned\",\n \"GtkPasswordEntry\",\n \"GtkPicture\",\n \"GtkPopover\",\n \"GtkPopoverBin\",\n \"GtkPopoverMenu\",\n \"GtkPopoverMenuBar\",\n \"GtkProgressBar\",\n \"GtkRange\",\n \"GtkRevealer\",\n \"GtkScale\",\n \"GtkScaleButton\",\n \"GtkScrollbar\",\n \"GtkScrolledWindow\",\n \"GtkSearchBar\",\n \"GtkSearchEntry\",\n \"GtkSeparator\",\n \"GtkShortcutLabel\",\n \"GtkShortcutsGroup\",\n \"GtkShortcutsSection\",\n \"GtkShortcutsShortcut\",\n \"GtkSpinButton\",\n \"GtkSpinner\",\n \"GtkStack\",\n \"GtkStackSidebar\",\n \"GtkStackSwitcher\",\n \"GtkStatusbar\",\n \"GtkSwitch\",\n \"GtkText\",\n \"GtkTextView\",\n \"GtkToggleButton\",\n \"GtkTreeExpander\",\n \"GtkTreeView\",\n \"GtkVideo\",\n \"GtkViewport\",\n \"GtkVolumeButton\",\n \"GtkWindowControls\",\n \"GtkWindowHandle\",\n] as const\n"]}
|
|
1
|
+
{"version":3,"file":"widgets.generated.js","sourceRoot":"","sources":["../../src/gtk/widgets.generated.ts"],"names":[],"mappings":"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","sourcesContent":["// GENERATED FILE — do not edit by hand.\n// Produced by scripts/generate-widget-surface.ts. Re-run it inside the VM\n// after `npm run codegen` picks up a gtkx update; see\n// scripts/widget-surface/classification.json for the full classification\n// and .claude/epics/widget-surface/ for the rules behind it.\n//\n// Wrapped: RN layout + a GTK CSS class from the style prop, steps aside and\n// renders bare outside RN layout (see wrapReactNative in ../common/widget).\n// Raw: toplevels and child-only widgets, where a wrapper box would be\n// invalid GTK rather than a convenience — exported as gtkx binds them, same\n// as the hand-picked ones were before this file existed.\n\nimport { wrapReactNative } from \"../common/widget\"\nimport {\n GtkActionBar as RawGtkActionBar,\n GtkAppChooserButton as RawGtkAppChooserButton,\n GtkAppChooserWidget as RawGtkAppChooserWidget,\n GtkAspectFrame as RawGtkAspectFrame,\n GtkBox as RawGtkBox,\n GtkButton as RawGtkButton,\n GtkCalendar as RawGtkCalendar,\n GtkCellView as RawGtkCellView,\n GtkCenterBox as RawGtkCenterBox,\n GtkCheckButton as RawGtkCheckButton,\n GtkColorButton as RawGtkColorButton,\n GtkColorChooserWidget as RawGtkColorChooserWidget,\n GtkColorDialogButton as RawGtkColorDialogButton,\n GtkColumnView as RawGtkColumnView,\n GtkComboBox as RawGtkComboBox,\n GtkComboBoxText as RawGtkComboBoxText,\n GtkDrawingArea as RawGtkDrawingArea,\n GtkDropDown as RawGtkDropDown,\n GtkEditableLabel as RawGtkEditableLabel,\n GtkEmojiChooser as RawGtkEmojiChooser,\n GtkEntry as RawGtkEntry,\n GtkExpander as RawGtkExpander,\n GtkFileChooserWidget as RawGtkFileChooserWidget,\n GtkFixed as RawGtkFixed,\n GtkFlowBox as RawGtkFlowBox,\n GtkFontButton as RawGtkFontButton,\n GtkFontChooserWidget as RawGtkFontChooserWidget,\n GtkFontDialogButton as RawGtkFontDialogButton,\n GtkFrame as RawGtkFrame,\n GtkGLArea as RawGtkGLArea,\n GtkGraphicsOffload as RawGtkGraphicsOffload,\n GtkGrid as RawGtkGrid,\n GtkGridView as RawGtkGridView,\n GtkHeaderBar as RawGtkHeaderBar,\n GtkIconView as RawGtkIconView,\n GtkImage as RawGtkImage,\n GtkInfoBar as RawGtkInfoBar,\n GtkInscription as RawGtkInscription,\n GtkLabel as RawGtkLabel,\n GtkLevelBar as RawGtkLevelBar,\n GtkLinkButton as RawGtkLinkButton,\n GtkListBox as RawGtkListBox,\n GtkListView as RawGtkListView,\n GtkLockButton as RawGtkLockButton,\n GtkMediaControls as RawGtkMediaControls,\n GtkMenuButton as RawGtkMenuButton,\n GtkNotebook as RawGtkNotebook,\n GtkOverlay as RawGtkOverlay,\n GtkPaned as RawGtkPaned,\n GtkPasswordEntry as RawGtkPasswordEntry,\n GtkPicture as RawGtkPicture,\n GtkPopover as RawGtkPopover,\n GtkPopoverBin as RawGtkPopoverBin,\n GtkPopoverMenu as RawGtkPopoverMenu,\n GtkPopoverMenuBar as RawGtkPopoverMenuBar,\n GtkProgressBar as RawGtkProgressBar,\n GtkRange as RawGtkRange,\n GtkRevealer as RawGtkRevealer,\n GtkScale as RawGtkScale,\n GtkScaleButton as RawGtkScaleButton,\n GtkScrollbar as RawGtkScrollbar,\n GtkScrolledWindow as RawGtkScrolledWindow,\n GtkSearchBar as RawGtkSearchBar,\n GtkSearchEntry as RawGtkSearchEntry,\n GtkSeparator as RawGtkSeparator,\n GtkShortcutLabel as RawGtkShortcutLabel,\n GtkShortcutsGroup as RawGtkShortcutsGroup,\n GtkShortcutsSection as RawGtkShortcutsSection,\n GtkShortcutsShortcut as RawGtkShortcutsShortcut,\n GtkSpinButton as RawGtkSpinButton,\n GtkSpinner as RawGtkSpinner,\n GtkStack as RawGtkStack,\n GtkStackSidebar as RawGtkStackSidebar,\n GtkStackSwitcher as RawGtkStackSwitcher,\n GtkStatusbar as RawGtkStatusbar,\n GtkSwitch as RawGtkSwitch,\n GtkText as RawGtkText,\n GtkTextView as RawGtkTextView,\n GtkToggleButton as RawGtkToggleButton,\n GtkTreeExpander as RawGtkTreeExpander,\n GtkTreeView as RawGtkTreeView,\n GtkVideo as RawGtkVideo,\n GtkViewport as RawGtkViewport,\n GtkVolumeButton as RawGtkVolumeButton,\n GtkWindowControls as RawGtkWindowControls,\n GtkWindowHandle as RawGtkWindowHandle,\n} from \"../gtkx/bridge/widgets.generated\"\n\nexport const GtkActionBar = wrapReactNative(RawGtkActionBar, \"GtkActionBar\")\nexport const GtkAppChooserButton = wrapReactNative(\n RawGtkAppChooserButton,\n \"GtkAppChooserButton\",\n)\nexport const GtkAppChooserWidget = wrapReactNative(\n RawGtkAppChooserWidget,\n \"GtkAppChooserWidget\",\n)\nexport const GtkAspectFrame = wrapReactNative(\n RawGtkAspectFrame,\n \"GtkAspectFrame\",\n)\nexport const GtkBox = wrapReactNative(RawGtkBox, \"GtkBox\")\nexport const GtkButton = wrapReactNative(RawGtkButton, \"GtkButton\")\nexport const GtkCalendar = wrapReactNative(RawGtkCalendar, \"GtkCalendar\")\nexport const GtkCellView = wrapReactNative(RawGtkCellView, \"GtkCellView\")\nexport const GtkCenterBox = wrapReactNative(RawGtkCenterBox, \"GtkCenterBox\")\nexport const GtkCheckButton = wrapReactNative(\n RawGtkCheckButton,\n \"GtkCheckButton\",\n)\nexport const GtkColorButton = wrapReactNative(\n RawGtkColorButton,\n \"GtkColorButton\",\n)\nexport const GtkColorChooserWidget = wrapReactNative(\n RawGtkColorChooserWidget,\n \"GtkColorChooserWidget\",\n)\nexport const GtkColorDialogButton = wrapReactNative(\n RawGtkColorDialogButton,\n \"GtkColorDialogButton\",\n)\nexport const GtkColumnView = wrapReactNative(RawGtkColumnView, \"GtkColumnView\")\nexport const GtkComboBox = wrapReactNative(RawGtkComboBox, \"GtkComboBox\")\nexport const GtkComboBoxText = wrapReactNative(\n RawGtkComboBoxText,\n \"GtkComboBoxText\",\n)\nexport const GtkDrawingArea = wrapReactNative(\n RawGtkDrawingArea,\n \"GtkDrawingArea\",\n)\nexport const GtkDropDown = wrapReactNative(RawGtkDropDown, \"GtkDropDown\")\nexport const GtkEditableLabel = wrapReactNative(\n RawGtkEditableLabel,\n \"GtkEditableLabel\",\n)\nexport const GtkEmojiChooser = wrapReactNative(\n RawGtkEmojiChooser,\n \"GtkEmojiChooser\",\n)\nexport const GtkEntry = wrapReactNative(RawGtkEntry, \"GtkEntry\")\nexport const GtkExpander = wrapReactNative(RawGtkExpander, \"GtkExpander\")\nexport const GtkFileChooserWidget = wrapReactNative(\n RawGtkFileChooserWidget,\n \"GtkFileChooserWidget\",\n)\nexport const GtkFixed = wrapReactNative(RawGtkFixed, \"GtkFixed\")\nexport const GtkFlowBox = wrapReactNative(RawGtkFlowBox, \"GtkFlowBox\")\nexport const GtkFontButton = wrapReactNative(RawGtkFontButton, \"GtkFontButton\")\nexport const GtkFontChooserWidget = wrapReactNative(\n RawGtkFontChooserWidget,\n \"GtkFontChooserWidget\",\n)\nexport const GtkFontDialogButton = wrapReactNative(\n RawGtkFontDialogButton,\n \"GtkFontDialogButton\",\n)\nexport const GtkFrame = wrapReactNative(RawGtkFrame, \"GtkFrame\")\nexport const GtkGLArea = wrapReactNative(RawGtkGLArea, \"GtkGLArea\")\nexport const GtkGraphicsOffload = wrapReactNative(\n RawGtkGraphicsOffload,\n \"GtkGraphicsOffload\",\n)\nexport const GtkGrid = wrapReactNative(RawGtkGrid, \"GtkGrid\")\nexport const GtkGridView = wrapReactNative(RawGtkGridView, \"GtkGridView\")\nexport const GtkHeaderBar = wrapReactNative(RawGtkHeaderBar, \"GtkHeaderBar\")\nexport const GtkIconView = wrapReactNative(RawGtkIconView, \"GtkIconView\")\nexport const GtkImage = wrapReactNative(RawGtkImage, \"GtkImage\")\nexport const GtkInfoBar = wrapReactNative(RawGtkInfoBar, \"GtkInfoBar\")\nexport const GtkInscription = wrapReactNative(\n RawGtkInscription,\n \"GtkInscription\",\n)\nexport const GtkLabel = wrapReactNative(RawGtkLabel, \"GtkLabel\")\nexport const GtkLevelBar = wrapReactNative(RawGtkLevelBar, \"GtkLevelBar\")\nexport const GtkLinkButton = wrapReactNative(RawGtkLinkButton, \"GtkLinkButton\")\nexport const GtkListBox = wrapReactNative(RawGtkListBox, \"GtkListBox\")\nexport const GtkListView = wrapReactNative(RawGtkListView, \"GtkListView\")\nexport const GtkLockButton = wrapReactNative(RawGtkLockButton, \"GtkLockButton\")\nexport const GtkMediaControls = wrapReactNative(\n RawGtkMediaControls,\n \"GtkMediaControls\",\n)\nexport const GtkMenuButton = wrapReactNative(RawGtkMenuButton, \"GtkMenuButton\")\nexport const GtkNotebook = wrapReactNative(RawGtkNotebook, \"GtkNotebook\")\nexport const GtkOverlay = wrapReactNative(RawGtkOverlay, \"GtkOverlay\")\nexport const GtkPaned = wrapReactNative(RawGtkPaned, \"GtkPaned\")\nexport const GtkPasswordEntry = wrapReactNative(\n RawGtkPasswordEntry,\n \"GtkPasswordEntry\",\n)\nexport const GtkPicture = wrapReactNative(RawGtkPicture, \"GtkPicture\")\nexport const GtkPopover = wrapReactNative(RawGtkPopover, \"GtkPopover\")\nexport const GtkPopoverBin = wrapReactNative(RawGtkPopoverBin, \"GtkPopoverBin\")\nexport const GtkPopoverMenu = wrapReactNative(\n RawGtkPopoverMenu,\n \"GtkPopoverMenu\",\n)\nexport const GtkPopoverMenuBar = wrapReactNative(\n RawGtkPopoverMenuBar,\n \"GtkPopoverMenuBar\",\n)\nexport const GtkProgressBar = wrapReactNative(\n RawGtkProgressBar,\n \"GtkProgressBar\",\n)\nexport const GtkRange = wrapReactNative(RawGtkRange, \"GtkRange\")\nexport const GtkRevealer = wrapReactNative(RawGtkRevealer, \"GtkRevealer\")\nexport const GtkScale = wrapReactNative(RawGtkScale, \"GtkScale\")\nexport const GtkScaleButton = wrapReactNative(\n RawGtkScaleButton,\n \"GtkScaleButton\",\n)\nexport const GtkScrollbar = wrapReactNative(RawGtkScrollbar, \"GtkScrollbar\")\nexport const GtkScrolledWindow = wrapReactNative(\n RawGtkScrolledWindow,\n \"GtkScrolledWindow\",\n)\nexport const GtkSearchBar = wrapReactNative(RawGtkSearchBar, \"GtkSearchBar\")\nexport const GtkSearchEntry = wrapReactNative(\n RawGtkSearchEntry,\n \"GtkSearchEntry\",\n)\nexport const GtkSeparator = wrapReactNative(RawGtkSeparator, \"GtkSeparator\")\nexport const GtkShortcutLabel = wrapReactNative(\n RawGtkShortcutLabel,\n \"GtkShortcutLabel\",\n)\nexport const GtkShortcutsGroup = wrapReactNative(\n RawGtkShortcutsGroup,\n \"GtkShortcutsGroup\",\n)\nexport const GtkShortcutsSection = wrapReactNative(\n RawGtkShortcutsSection,\n \"GtkShortcutsSection\",\n)\nexport const GtkShortcutsShortcut = wrapReactNative(\n RawGtkShortcutsShortcut,\n \"GtkShortcutsShortcut\",\n)\nexport const GtkSpinButton = wrapReactNative(RawGtkSpinButton, \"GtkSpinButton\")\nexport const GtkSpinner = wrapReactNative(RawGtkSpinner, \"GtkSpinner\")\nexport const GtkStack = wrapReactNative(RawGtkStack, \"GtkStack\")\nexport const GtkStackSidebar = wrapReactNative(\n RawGtkStackSidebar,\n \"GtkStackSidebar\",\n)\nexport const GtkStackSwitcher = wrapReactNative(\n RawGtkStackSwitcher,\n \"GtkStackSwitcher\",\n)\nexport const GtkStatusbar = wrapReactNative(RawGtkStatusbar, \"GtkStatusbar\")\nexport const GtkSwitch = wrapReactNative(RawGtkSwitch, \"GtkSwitch\")\nexport const GtkText = wrapReactNative(RawGtkText, \"GtkText\")\nexport const GtkTextView = wrapReactNative(RawGtkTextView, \"GtkTextView\")\nexport const GtkToggleButton = wrapReactNative(\n RawGtkToggleButton,\n \"GtkToggleButton\",\n)\nexport const GtkTreeExpander = wrapReactNative(\n RawGtkTreeExpander,\n \"GtkTreeExpander\",\n)\nexport const GtkTreeView = wrapReactNative(RawGtkTreeView, \"GtkTreeView\")\nexport const GtkVideo = wrapReactNative(RawGtkVideo, \"GtkVideo\")\nexport const GtkViewport = wrapReactNative(RawGtkViewport, \"GtkViewport\")\nexport const GtkVolumeButton = wrapReactNative(\n RawGtkVolumeButton,\n \"GtkVolumeButton\",\n)\nexport const GtkWindowControls = wrapReactNative(\n RawGtkWindowControls,\n \"GtkWindowControls\",\n)\nexport const GtkWindowHandle = wrapReactNative(\n RawGtkWindowHandle,\n \"GtkWindowHandle\",\n)\n\nexport {\n GtkAboutDialog, // toplevel (implements GtkRoot)\n GtkAppChooserDialog, // toplevel (implements GtkRoot)\n GtkApplicationWindow, // toplevel (implements GtkRoot)\n GtkAssistant, // toplevel (implements GtkRoot)\n GtkColorChooserDialog, // toplevel (implements GtkRoot)\n GtkDialog, // toplevel (implements GtkRoot)\n GtkDragIcon, // toplevel (implements GtkRoot)\n GtkFileChooserDialog, // toplevel (implements GtkRoot)\n GtkFlowBoxChild, // child-only (derives Gtk.FlowBoxChild)\n GtkFontChooserDialog, // toplevel (implements GtkRoot)\n GtkListBoxRow, // child-only (derives Gtk.ListBoxRow)\n GtkMessageDialog, // toplevel (implements GtkRoot)\n GtkPageSetupUnixDialog, // toplevel (implements GtkRoot)\n GtkPrintUnixDialog, // toplevel (implements GtkRoot)\n GtkShortcutsWindow, // toplevel (implements GtkRoot)\n GtkWindow, // toplevel (implements GtkRoot)\n} from \"../gtkx/bridge/widgets.generated\"\n\nexport const GTK_WRAPPED_WIDGET_NAMES = [\n \"GtkActionBar\",\n \"GtkAppChooserButton\",\n \"GtkAppChooserWidget\",\n \"GtkAspectFrame\",\n \"GtkBox\",\n \"GtkButton\",\n \"GtkCalendar\",\n \"GtkCellView\",\n \"GtkCenterBox\",\n \"GtkCheckButton\",\n \"GtkColorButton\",\n \"GtkColorChooserWidget\",\n \"GtkColorDialogButton\",\n \"GtkColumnView\",\n \"GtkComboBox\",\n \"GtkComboBoxText\",\n \"GtkDrawingArea\",\n \"GtkDropDown\",\n \"GtkEditableLabel\",\n \"GtkEmojiChooser\",\n \"GtkEntry\",\n \"GtkExpander\",\n \"GtkFileChooserWidget\",\n \"GtkFixed\",\n \"GtkFlowBox\",\n \"GtkFontButton\",\n \"GtkFontChooserWidget\",\n \"GtkFontDialogButton\",\n \"GtkFrame\",\n \"GtkGLArea\",\n \"GtkGraphicsOffload\",\n \"GtkGrid\",\n \"GtkGridView\",\n \"GtkHeaderBar\",\n \"GtkIconView\",\n \"GtkImage\",\n \"GtkInfoBar\",\n \"GtkInscription\",\n \"GtkLabel\",\n \"GtkLevelBar\",\n \"GtkLinkButton\",\n \"GtkListBox\",\n \"GtkListView\",\n \"GtkLockButton\",\n \"GtkMediaControls\",\n \"GtkMenuButton\",\n \"GtkNotebook\",\n \"GtkOverlay\",\n \"GtkPaned\",\n \"GtkPasswordEntry\",\n \"GtkPicture\",\n \"GtkPopover\",\n \"GtkPopoverBin\",\n \"GtkPopoverMenu\",\n \"GtkPopoverMenuBar\",\n \"GtkProgressBar\",\n \"GtkRange\",\n \"GtkRevealer\",\n \"GtkScale\",\n \"GtkScaleButton\",\n \"GtkScrollbar\",\n \"GtkScrolledWindow\",\n \"GtkSearchBar\",\n \"GtkSearchEntry\",\n \"GtkSeparator\",\n \"GtkShortcutLabel\",\n \"GtkShortcutsGroup\",\n \"GtkShortcutsSection\",\n \"GtkShortcutsShortcut\",\n \"GtkSpinButton\",\n \"GtkSpinner\",\n \"GtkStack\",\n \"GtkStackSidebar\",\n \"GtkStackSwitcher\",\n \"GtkStatusbar\",\n \"GtkSwitch\",\n \"GtkText\",\n \"GtkTextView\",\n \"GtkToggleButton\",\n \"GtkTreeExpander\",\n \"GtkTreeView\",\n \"GtkVideo\",\n \"GtkViewport\",\n \"GtkVolumeButton\",\n \"GtkWindowControls\",\n \"GtkWindowHandle\",\n] as const\n"]}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { type ComponentProps, type ReactNode } from "react";
|
|
2
|
+
import { GSimpleAction as GtkxSimpleAction } from "../gtkx/bridge/index";
|
|
3
|
+
export type GSimpleActionProps = ComponentProps<typeof GtkxSimpleAction>;
|
|
4
|
+
/**
|
|
5
|
+
* A `Gio.SimpleAction`, declared as an element.
|
|
6
|
+
*
|
|
7
|
+
* Identical to gtkx's own element except for one thing: inside
|
|
8
|
+
* {@link WindowActions} or {@link ApplicationActions} it takes part in name
|
|
9
|
+
* arbitration, so two subtrees declaring the same action name produce a
|
|
10
|
+
* warning and a predictable winner instead of a name that the first unmount
|
|
11
|
+
* silently kills. Outside them it renders exactly as before.
|
|
12
|
+
*/
|
|
13
|
+
export declare const GSimpleAction: (props: GSimpleActionProps) => React.JSX.Element | null;
|
|
14
|
+
export type WindowActionsProps = {
|
|
15
|
+
/** `GSimpleAction` elements, or any components that render them. */
|
|
16
|
+
children?: ReactNode;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Registers its children as actions on the WINDOW — the `win.` prefix a
|
|
20
|
+
* HeaderBar button's `actionName`, a `GMenu` item or an `actionAccels` entry
|
|
21
|
+
* targets.
|
|
22
|
+
*
|
|
23
|
+
* Render it anywhere in the app tree; the children are registered on the
|
|
24
|
+
* window that encloses them and unregistered when this component unmounts.
|
|
25
|
+
*
|
|
26
|
+
* ```tsx
|
|
27
|
+
* const NewTaskAction = () => {
|
|
28
|
+
* const { addTask } = useStore() // an ordinary React context store
|
|
29
|
+
* return (
|
|
30
|
+
* <WindowActions>
|
|
31
|
+
* <GSimpleAction name="new" onActivate={() => addTask()} />
|
|
32
|
+
* </WindowActions>
|
|
33
|
+
* )
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* Inside a `Modal` the enclosing window is the MODAL's window, so the
|
|
38
|
+
* actions belong to it and go away with it — which is usually what a dialog
|
|
39
|
+
* wants, and worth knowing when it is not.
|
|
40
|
+
*/
|
|
41
|
+
export declare const WindowActions: ({ children }: WindowActionsProps) => React.JSX.Element | null;
|
|
42
|
+
export type ApplicationActionsProps = {
|
|
43
|
+
/** `GSimpleAction` elements, or any components that render them. */
|
|
44
|
+
children?: ReactNode;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Registers its children as actions on the APPLICATION — the `app.` prefix.
|
|
48
|
+
*
|
|
49
|
+
* The same component as {@link WindowActions} against a different action
|
|
50
|
+
* map, and the two are not interchangeable: a `Gio.Notification`'s action
|
|
51
|
+
* button can only ever activate an application action, and an application
|
|
52
|
+
* action outlives any one window. Which prefix an `actionName=` has to say
|
|
53
|
+
* is decided by which of the two you write, deliberately — a prop that
|
|
54
|
+
* silently moved every child between prefixes would be a good way to spend
|
|
55
|
+
* an hour wondering why a button is insensitive.
|
|
56
|
+
*/
|
|
57
|
+
export declare const ApplicationActions: ({ children }: ApplicationActionsProps) => React.JSX.Element | null;
|
|
58
|
+
export type WindowControllersProps = {
|
|
59
|
+
/** `Gtk.EventController` elements — `GtkShortcutController` above all. */
|
|
60
|
+
children?: ReactNode;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Attaches its children as event controllers on the WINDOW: a
|
|
64
|
+
* `GtkShortcutController` with `scope={Gtk.ShortcutScope.GLOBAL}` is the
|
|
65
|
+
* reason this exists — window-wide keyboard shortcuts, declared by the
|
|
66
|
+
* screen they belong to and gone when it leaves.
|
|
67
|
+
*
|
|
68
|
+
* Deliberately a different component from {@link WindowActions} rather than
|
|
69
|
+
* one that sorts its children: controllers land on the window as a WIDGET
|
|
70
|
+
* (`addController`/`removeController`, keyed by the controller object)
|
|
71
|
+
* while actions land on it as a `Gio.ActionMap` (keyed by name). Different
|
|
72
|
+
* children, different GObject interfaces, and — as the name arbitration
|
|
73
|
+
* above shows — different duplicate semantics. One component sniffing each
|
|
74
|
+
* child's type to pick a slot would fail silently on a wrong child; two
|
|
75
|
+
* components fail at the type level instead.
|
|
76
|
+
*/
|
|
77
|
+
export declare const WindowControllers: ({ children }: WindowControllersProps) => ReactNode;
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// Window and application actions declared IN the app tree, not around it.
|
|
3
|
+
//
|
|
4
|
+
// `AppRegistry.runApplication`'s `windowActions`/`windowControllers`/
|
|
5
|
+
// `applicationActions` options build their children as props of the window
|
|
6
|
+
// AppRegistry creates — SIBLINGS of the app's own tree. Nothing inside the
|
|
7
|
+
// app is above them, so no context of the app's reaches them: a `win.new`
|
|
8
|
+
// action could not read a React context store, and `examples/tasks-nav` had
|
|
9
|
+
// to rewrite its store as a module-level external one before Ctrl+N could
|
|
10
|
+
// see any app state at all.
|
|
11
|
+
//
|
|
12
|
+
// These components invert that. They are portals in React's own sense: the
|
|
13
|
+
// children stay where they are written — inside whatever providers,
|
|
14
|
+
// navigators and screens surround them, with their own state and effects —
|
|
15
|
+
// while the registration lands on the window or the application. Three
|
|
16
|
+
// things follow, and all three are the point:
|
|
17
|
+
//
|
|
18
|
+
// - context works, because the declaration IS a descendant of its provider;
|
|
19
|
+
// - registration is dynamic: an action is added when the component that
|
|
20
|
+
// needs it mounts and removed when it unmounts, so a single screen can
|
|
21
|
+
// own its own actions instead of the process owning all of them forever;
|
|
22
|
+
// - it composes: two unrelated subtrees can each declare their own without
|
|
23
|
+
// meeting in one options object.
|
|
24
|
+
import { createContext, useCallback, useContext, useMemo, useRef, useSyncExternalStore, } from "react";
|
|
25
|
+
import { createSlotPortal, GSimpleAction as GtkxSimpleAction, useApplication, useParentWindow, } from "../gtkx/bridge/index";
|
|
26
|
+
const ActionScopeContext = createContext(null);
|
|
27
|
+
// Claims per action map, in mount order. A WeakMap so a closed window's
|
|
28
|
+
// bookkeeping goes away with the window.
|
|
29
|
+
const claimsByScope = new WeakMap();
|
|
30
|
+
const queueFor = (target, name) => {
|
|
31
|
+
let names = claimsByScope.get(target);
|
|
32
|
+
if (!names) {
|
|
33
|
+
names = new Map();
|
|
34
|
+
claimsByScope.set(target, names);
|
|
35
|
+
}
|
|
36
|
+
let queue = names.get(name);
|
|
37
|
+
if (!queue) {
|
|
38
|
+
queue = [];
|
|
39
|
+
names.set(name, queue);
|
|
40
|
+
}
|
|
41
|
+
return queue;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Arbitrates one action name inside one scope, and answers "may I register?".
|
|
45
|
+
*
|
|
46
|
+
* FIRST DECLARATION WINS, and a second one is ignored with a development
|
|
47
|
+
* warning. That is not a coin toss between first and last: `Gio.ActionMap`
|
|
48
|
+
* is name-keyed on BOTH ends — `addAction` replaces a same-named action
|
|
49
|
+
* silently, and `removeAction` takes a NAME, not the action object. So with
|
|
50
|
+
* "last wins" the first unmount of either declaration removes whatever
|
|
51
|
+
* currently answers to that name, leaving the other one mounted but dead.
|
|
52
|
+
* First-wins is the only order in which release always happens before
|
|
53
|
+
* acquire: the loser never registers at all, and when the winner unmounts
|
|
54
|
+
* (removing its own action, correctly) the next claimant is notified and
|
|
55
|
+
* registers afterwards, in a later commit.
|
|
56
|
+
*
|
|
57
|
+
* The claim queue is an external store, so it is read as one: the claim is
|
|
58
|
+
* made when React subscribes and dropped when it unsubscribes, which is also
|
|
59
|
+
* what puts the hand-off after the departing owner's own deregistration
|
|
60
|
+
* rather than racing it.
|
|
61
|
+
*
|
|
62
|
+
* With no scope (a `GSimpleAction` handed to `<GtkApplicationWindow
|
|
63
|
+
* actions={…}>` directly, the pre-existing path) there is nothing to
|
|
64
|
+
* arbitrate and the action always renders.
|
|
65
|
+
*/
|
|
66
|
+
const useIsNameOwner = (scope, name) => {
|
|
67
|
+
const claimRef = useRef(null);
|
|
68
|
+
const subscribe = useCallback((notify) => {
|
|
69
|
+
if (scope === null) {
|
|
70
|
+
return () => undefined;
|
|
71
|
+
}
|
|
72
|
+
const queue = queueFor(scope.target, name);
|
|
73
|
+
const claim = { notify };
|
|
74
|
+
queue.push(claim);
|
|
75
|
+
claimRef.current = claim;
|
|
76
|
+
if (queue.length > 1 && process.env.NODE_ENV !== "production") {
|
|
77
|
+
console.warn(`[react-native-gtkx] the action "${scope.prefix}.${name}" is declared by ${queue.length} mounted components at once. ` +
|
|
78
|
+
`The first one to mount stays registered and this one is ignored — GTK removes an action by NAME, so letting the ` +
|
|
79
|
+
`newest win would let whichever declaration unmounts first take the name down with it. Give them distinct names, ` +
|
|
80
|
+
`or move the declaration to one place both can reach.`);
|
|
81
|
+
}
|
|
82
|
+
return () => {
|
|
83
|
+
const index = queue.indexOf(claim);
|
|
84
|
+
claimRef.current = null;
|
|
85
|
+
if (index === -1) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const wasOwner = index === 0;
|
|
89
|
+
queue.splice(index, 1);
|
|
90
|
+
if (wasOwner) {
|
|
91
|
+
queue[0]?.notify();
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
}, [scope, name]);
|
|
95
|
+
const getSnapshot = useCallback(() => {
|
|
96
|
+
if (scope === null) {
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
const claim = claimRef.current;
|
|
100
|
+
return claim !== null && queueFor(scope.target, name)[0] === claim;
|
|
101
|
+
}, [scope, name]);
|
|
102
|
+
return useSyncExternalStore(subscribe, getSnapshot);
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* A `Gio.SimpleAction`, declared as an element.
|
|
106
|
+
*
|
|
107
|
+
* Identical to gtkx's own element except for one thing: inside
|
|
108
|
+
* {@link WindowActions} or {@link ApplicationActions} it takes part in name
|
|
109
|
+
* arbitration, so two subtrees declaring the same action name produce a
|
|
110
|
+
* warning and a predictable winner instead of a name that the first unmount
|
|
111
|
+
* silently kills. Outside them it renders exactly as before.
|
|
112
|
+
*/
|
|
113
|
+
export const GSimpleAction = (props) => {
|
|
114
|
+
const scope = useContext(ActionScopeContext);
|
|
115
|
+
const name = typeof props.name === "string" ? props.name : "";
|
|
116
|
+
const isOwner = useIsNameOwner(scope, name);
|
|
117
|
+
return isOwner ? _jsx(GtkxSimpleAction, { ...props }) : null;
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Registers its children as actions on the WINDOW — the `win.` prefix a
|
|
121
|
+
* HeaderBar button's `actionName`, a `GMenu` item or an `actionAccels` entry
|
|
122
|
+
* targets.
|
|
123
|
+
*
|
|
124
|
+
* Render it anywhere in the app tree; the children are registered on the
|
|
125
|
+
* window that encloses them and unregistered when this component unmounts.
|
|
126
|
+
*
|
|
127
|
+
* ```tsx
|
|
128
|
+
* const NewTaskAction = () => {
|
|
129
|
+
* const { addTask } = useStore() // an ordinary React context store
|
|
130
|
+
* return (
|
|
131
|
+
* <WindowActions>
|
|
132
|
+
* <GSimpleAction name="new" onActivate={() => addTask()} />
|
|
133
|
+
* </WindowActions>
|
|
134
|
+
* )
|
|
135
|
+
* }
|
|
136
|
+
* ```
|
|
137
|
+
*
|
|
138
|
+
* Inside a `Modal` the enclosing window is the MODAL's window, so the
|
|
139
|
+
* actions belong to it and go away with it — which is usually what a dialog
|
|
140
|
+
* wants, and worth knowing when it is not.
|
|
141
|
+
*/
|
|
142
|
+
export const WindowActions = ({ children }) => {
|
|
143
|
+
const window = useParentWindow();
|
|
144
|
+
const scope = useMemo(() => (window === null ? null : { target: window, prefix: "win" }), [window]);
|
|
145
|
+
// Null for exactly one commit: the window object reaches context through
|
|
146
|
+
// state, so the app's first render happens before it is known.
|
|
147
|
+
if (window === null || scope === null) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
return (_jsx(ActionScopeContext.Provider, { value: scope, children: createSlotPortal(children, window, "actions") }));
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Registers its children as actions on the APPLICATION — the `app.` prefix.
|
|
154
|
+
*
|
|
155
|
+
* The same component as {@link WindowActions} against a different action
|
|
156
|
+
* map, and the two are not interchangeable: a `Gio.Notification`'s action
|
|
157
|
+
* button can only ever activate an application action, and an application
|
|
158
|
+
* action outlives any one window. Which prefix an `actionName=` has to say
|
|
159
|
+
* is decided by which of the two you write, deliberately — a prop that
|
|
160
|
+
* silently moved every child between prefixes would be a good way to spend
|
|
161
|
+
* an hour wondering why a button is insensitive.
|
|
162
|
+
*/
|
|
163
|
+
export const ApplicationActions = ({ children }) => {
|
|
164
|
+
const application = useApplication();
|
|
165
|
+
const scope = useMemo(() => application === null ? null : { target: application, prefix: "app" }, [application]);
|
|
166
|
+
if (application === null || scope === null) {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
return (_jsx(ActionScopeContext.Provider, { value: scope, children: createSlotPortal(children, application, "actions") }));
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Attaches its children as event controllers on the WINDOW: a
|
|
173
|
+
* `GtkShortcutController` with `scope={Gtk.ShortcutScope.GLOBAL}` is the
|
|
174
|
+
* reason this exists — window-wide keyboard shortcuts, declared by the
|
|
175
|
+
* screen they belong to and gone when it leaves.
|
|
176
|
+
*
|
|
177
|
+
* Deliberately a different component from {@link WindowActions} rather than
|
|
178
|
+
* one that sorts its children: controllers land on the window as a WIDGET
|
|
179
|
+
* (`addController`/`removeController`, keyed by the controller object)
|
|
180
|
+
* while actions land on it as a `Gio.ActionMap` (keyed by name). Different
|
|
181
|
+
* children, different GObject interfaces, and — as the name arbitration
|
|
182
|
+
* above shows — different duplicate semantics. One component sniffing each
|
|
183
|
+
* child's type to pick a slot would fail silently on a wrong child; two
|
|
184
|
+
* components fail at the type level instead.
|
|
185
|
+
*/
|
|
186
|
+
export const WindowControllers = ({ children }) => {
|
|
187
|
+
const window = useParentWindow();
|
|
188
|
+
if (window === null) {
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
return createSlotPortal(children, window, "controllers");
|
|
192
|
+
};
|
|
193
|
+
//# sourceMappingURL=window-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"window-actions.js","sourceRoot":"","sources":["../../src/gtk/window-actions.tsx"],"names":[],"mappings":"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","sourcesContent":["// Window and application actions declared IN the app tree, not around it.\n//\n// `AppRegistry.runApplication`'s `windowActions`/`windowControllers`/\n// `applicationActions` options build their children as props of the window\n// AppRegistry creates — SIBLINGS of the app's own tree. Nothing inside the\n// app is above them, so no context of the app's reaches them: a `win.new`\n// action could not read a React context store, and `examples/tasks-nav` had\n// to rewrite its store as a module-level external one before Ctrl+N could\n// see any app state at all.\n//\n// These components invert that. They are portals in React's own sense: the\n// children stay where they are written — inside whatever providers,\n// navigators and screens surround them, with their own state and effects —\n// while the registration lands on the window or the application. Three\n// things follow, and all three are the point:\n//\n// - context works, because the declaration IS a descendant of its provider;\n// - registration is dynamic: an action is added when the component that\n// needs it mounts and removed when it unmounts, so a single screen can\n// own its own actions instead of the process owning all of them forever;\n// - it composes: two unrelated subtrees can each declare their own without\n// meeting in one options object.\nimport {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useSyncExternalStore,\n type ComponentProps,\n type ReactNode,\n} from \"react\"\nimport {\n createSlotPortal,\n GSimpleAction as GtkxSimpleAction,\n useApplication,\n useParentWindow,\n} from \"../gtkx/bridge/index\"\n\n/**\n * The action map an enclosing {@link WindowActions} / {@link ApplicationActions}\n * registers into, plus the GTK prefix its children answer to. Carried through\n * React context, so a `GSimpleAction` nested arbitrarily deep — inside a\n * component of the app's own, not just as a direct child — still finds it.\n */\ntype ActionScope = {\n /** The `Gio.ActionMap` (a window or the application). Registry key, too. */\n target: object\n /** \"win\" or \"app\": what an `actionName` has to say to reach these. */\n prefix: string\n}\n\nconst ActionScopeContext = createContext<ActionScope | null>(null)\n\n// One live claim on one action name. `notify` is the claimant's own\n// useSyncExternalStore callback, so the registry can tell the next in line\n// that the name has come free.\ntype NameClaim = { notify: () => void }\n\n// Claims per action map, in mount order. A WeakMap so a closed window's\n// bookkeeping goes away with the window.\nconst claimsByScope: WeakMap<object, Map<string, NameClaim[]>> = new WeakMap()\n\nconst queueFor = (target: object, name: string): NameClaim[] => {\n let names = claimsByScope.get(target)\n if (!names) {\n names = new Map()\n claimsByScope.set(target, names)\n }\n let queue = names.get(name)\n if (!queue) {\n queue = []\n names.set(name, queue)\n }\n return queue\n}\n\n/**\n * Arbitrates one action name inside one scope, and answers \"may I register?\".\n *\n * FIRST DECLARATION WINS, and a second one is ignored with a development\n * warning. That is not a coin toss between first and last: `Gio.ActionMap`\n * is name-keyed on BOTH ends — `addAction` replaces a same-named action\n * silently, and `removeAction` takes a NAME, not the action object. So with\n * \"last wins\" the first unmount of either declaration removes whatever\n * currently answers to that name, leaving the other one mounted but dead.\n * First-wins is the only order in which release always happens before\n * acquire: the loser never registers at all, and when the winner unmounts\n * (removing its own action, correctly) the next claimant is notified and\n * registers afterwards, in a later commit.\n *\n * The claim queue is an external store, so it is read as one: the claim is\n * made when React subscribes and dropped when it unsubscribes, which is also\n * what puts the hand-off after the departing owner's own deregistration\n * rather than racing it.\n *\n * With no scope (a `GSimpleAction` handed to `<GtkApplicationWindow\n * actions={…}>` directly, the pre-existing path) there is nothing to\n * arbitrate and the action always renders.\n */\nconst useIsNameOwner = (scope: ActionScope | null, name: string): boolean => {\n const claimRef = useRef<NameClaim | null>(null)\n\n const subscribe = useCallback(\n (notify: () => void) => {\n if (scope === null) {\n return () => undefined\n }\n const queue = queueFor(scope.target, name)\n const claim: NameClaim = { notify }\n queue.push(claim)\n claimRef.current = claim\n\n if (queue.length > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\n `[react-native-gtkx] the action \"${scope.prefix}.${name}\" is declared by ${queue.length} mounted components at once. ` +\n `The first one to mount stays registered and this one is ignored — GTK removes an action by NAME, so letting the ` +\n `newest win would let whichever declaration unmounts first take the name down with it. Give them distinct names, ` +\n `or move the declaration to one place both can reach.`,\n )\n }\n\n return () => {\n const index = queue.indexOf(claim)\n claimRef.current = null\n if (index === -1) {\n return\n }\n const wasOwner = index === 0\n queue.splice(index, 1)\n if (wasOwner) {\n queue[0]?.notify()\n }\n }\n },\n [scope, name],\n )\n\n const getSnapshot = useCallback(() => {\n if (scope === null) {\n return true\n }\n const claim = claimRef.current\n return claim !== null && queueFor(scope.target, name)[0] === claim\n }, [scope, name])\n\n return useSyncExternalStore(subscribe, getSnapshot)\n}\n\nexport type GSimpleActionProps = ComponentProps<typeof GtkxSimpleAction>\n\n/**\n * A `Gio.SimpleAction`, declared as an element.\n *\n * Identical to gtkx's own element except for one thing: inside\n * {@link WindowActions} or {@link ApplicationActions} it takes part in name\n * arbitration, so two subtrees declaring the same action name produce a\n * warning and a predictable winner instead of a name that the first unmount\n * silently kills. Outside them it renders exactly as before.\n */\nexport const GSimpleAction = (props: GSimpleActionProps) => {\n const scope = useContext(ActionScopeContext)\n const name = typeof props.name === \"string\" ? props.name : \"\"\n const isOwner = useIsNameOwner(scope, name)\n return isOwner ? <GtkxSimpleAction {...props} /> : null\n}\n\nexport type WindowActionsProps = {\n /** `GSimpleAction` elements, or any components that render them. */\n children?: ReactNode\n}\n\n/**\n * Registers its children as actions on the WINDOW — the `win.` prefix a\n * HeaderBar button's `actionName`, a `GMenu` item or an `actionAccels` entry\n * targets.\n *\n * Render it anywhere in the app tree; the children are registered on the\n * window that encloses them and unregistered when this component unmounts.\n *\n * ```tsx\n * const NewTaskAction = () => {\n * const { addTask } = useStore() // an ordinary React context store\n * return (\n * <WindowActions>\n * <GSimpleAction name=\"new\" onActivate={() => addTask()} />\n * </WindowActions>\n * )\n * }\n * ```\n *\n * Inside a `Modal` the enclosing window is the MODAL's window, so the\n * actions belong to it and go away with it — which is usually what a dialog\n * wants, and worth knowing when it is not.\n */\nexport const WindowActions = ({ children }: WindowActionsProps) => {\n const window = useParentWindow()\n const scope = useMemo(\n () => (window === null ? null : { target: window, prefix: \"win\" }),\n [window],\n )\n // Null for exactly one commit: the window object reaches context through\n // state, so the app's first render happens before it is known.\n if (window === null || scope === null) {\n return null\n }\n return (\n <ActionScopeContext.Provider value={scope}>\n {createSlotPortal(children, window, \"actions\")}\n </ActionScopeContext.Provider>\n )\n}\n\nexport type ApplicationActionsProps = {\n /** `GSimpleAction` elements, or any components that render them. */\n children?: ReactNode\n}\n\n/**\n * Registers its children as actions on the APPLICATION — the `app.` prefix.\n *\n * The same component as {@link WindowActions} against a different action\n * map, and the two are not interchangeable: a `Gio.Notification`'s action\n * button can only ever activate an application action, and an application\n * action outlives any one window. Which prefix an `actionName=` has to say\n * is decided by which of the two you write, deliberately — a prop that\n * silently moved every child between prefixes would be a good way to spend\n * an hour wondering why a button is insensitive.\n */\nexport const ApplicationActions = ({ children }: ApplicationActionsProps) => {\n const application = useApplication()\n const scope = useMemo(\n () =>\n application === null ? null : { target: application, prefix: \"app\" },\n [application],\n )\n if (application === null || scope === null) {\n return null\n }\n return (\n <ActionScopeContext.Provider value={scope}>\n {createSlotPortal(children, application, \"actions\")}\n </ActionScopeContext.Provider>\n )\n}\n\nexport type WindowControllersProps = {\n /** `Gtk.EventController` elements — `GtkShortcutController` above all. */\n children?: ReactNode\n}\n\n/**\n * Attaches its children as event controllers on the WINDOW: a\n * `GtkShortcutController` with `scope={Gtk.ShortcutScope.GLOBAL}` is the\n * reason this exists — window-wide keyboard shortcuts, declared by the\n * screen they belong to and gone when it leaves.\n *\n * Deliberately a different component from {@link WindowActions} rather than\n * one that sorts its children: controllers land on the window as a WIDGET\n * (`addController`/`removeController`, keyed by the controller object)\n * while actions land on it as a `Gio.ActionMap` (keyed by name). Different\n * children, different GObject interfaces, and — as the name arbitration\n * above shows — different duplicate semantics. One component sniffing each\n * child's type to pick a slot would fail silently on a wrong child; two\n * components fail at the type level instead.\n */\nexport const WindowControllers = ({ children }: WindowControllersProps) => {\n const window = useParentWindow()\n if (window === null) {\n return null\n }\n return createSlotPortal(children, window, \"controllers\")\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type * as Gtk from "@gtkx/gi/gtk";
|
|
2
|
+
export type Point = {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Translates a point from `widget`'s coordinates into `target`'s.
|
|
8
|
+
* Returns null when the two are not in the same widget hierarchy.
|
|
9
|
+
*/
|
|
10
|
+
export declare const computePointIn: (widget: Gtk.Widget, target: Gtk.Widget, x: number, y: number) => Point | null;
|
|
11
|
+
/**
|
|
12
|
+
* Translates a point from `widget`'s coordinates into its toplevel's — RN's
|
|
13
|
+
* "page" space. Returns null for a widget that is not in a window yet.
|
|
14
|
+
*/
|
|
15
|
+
export declare const computePointInWindow: (widget: Gtk.Widget, x: number, y: number) => Point | null;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Widget geometry in foreign coordinate spaces — what RN's measure()/
|
|
2
|
+
// measureInWindow()/measureLayout() and an event's pageX/pageY need.
|
|
3
|
+
//
|
|
4
|
+
// GTK4 folds a widget's allocated position into its transform relative to
|
|
5
|
+
// its parent, so there is no globally meaningful x/y to read off a widget:
|
|
6
|
+
// the position only exists as an answer to "in whose coordinates?".
|
|
7
|
+
// gtk_widget_compute_point() walks that transform chain, which is also why
|
|
8
|
+
// it comes out right inside a scrolled viewport — GtkViewport allocates its
|
|
9
|
+
// child at -adjustment.value, so the scroll offset IS the child's transform.
|
|
10
|
+
//
|
|
11
|
+
// gtk_widget_translate_coordinates() and gtk_widget_get_allocation() do the
|
|
12
|
+
// same job and are deprecated since GTK 4.12; compute_point/compute_bounds
|
|
13
|
+
// are the replacements. Both can legitimately fail (no common ancestor, an
|
|
14
|
+
// unrealized widget, a singular transform) — every helper here returns null
|
|
15
|
+
// rather than a plausible-looking zero.
|
|
16
|
+
import * as Graphene from "@gtkx/gi/graphene";
|
|
17
|
+
// Graphene.Point's constructor takes plain scalars, so it never hit the
|
|
18
|
+
// nested-boxed-struct crash Graphene.Rect's did (the retired
|
|
19
|
+
// graphene-rect-nested-boxed-props workaround, fixed upstream in rc.3 by our
|
|
20
|
+
// gtkx-org/gtkx#473 — see "Fixed in rc.3" in docs/gtkx-rc4-notes.md).
|
|
21
|
+
// alloc+init stays because it is the cheaper of the two here, not because
|
|
22
|
+
// the constructor is unsafe.
|
|
23
|
+
const point = (x, y) => Graphene.Point.alloc().init(x, y);
|
|
24
|
+
/**
|
|
25
|
+
* Translates a point from `widget`'s coordinates into `target`'s.
|
|
26
|
+
* Returns null when the two are not in the same widget hierarchy.
|
|
27
|
+
*/
|
|
28
|
+
export const computePointIn = (widget, target, x, y) => {
|
|
29
|
+
const [ok, translated] = widget.computePoint(target, point(x, y));
|
|
30
|
+
return ok ? { x: translated.x, y: translated.y } : null;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Translates a point from `widget`'s coordinates into its toplevel's — RN's
|
|
34
|
+
* "page" space. Returns null for a widget that is not in a window yet.
|
|
35
|
+
*/
|
|
36
|
+
export const computePointInWindow = (widget, x, y) => {
|
|
37
|
+
const root = widget.getRoot();
|
|
38
|
+
return root ? computePointIn(widget, root, x, y) : null;
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=geometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../../src/gtkx/bridge/geometry.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,qEAAqE;AACrE,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,oEAAoE;AACpE,2EAA2E;AAC3E,4EAA4E;AAC5E,6EAA6E;AAC7E,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,wCAAwC;AACxC,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAK7C,wEAAwE;AACxE,6DAA6D;AAC7D,6EAA6E;AAC7E,sEAAsE;AACtE,0EAA0E;AAC1E,6BAA6B;AAC7B,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAkB,EAAE,CACrD,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEnC;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAAkB,EAClB,MAAkB,EAClB,CAAS,EACT,CAAS,EACK,EAAE;IAChB,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACjE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACzD,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAkB,EAClB,CAAS,EACT,CAAS,EACK,EAAE;IAChB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;IAC7B,OAAO,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACzD,CAAC,CAAA","sourcesContent":["// Widget geometry in foreign coordinate spaces — what RN's measure()/\n// measureInWindow()/measureLayout() and an event's pageX/pageY need.\n//\n// GTK4 folds a widget's allocated position into its transform relative to\n// its parent, so there is no globally meaningful x/y to read off a widget:\n// the position only exists as an answer to \"in whose coordinates?\".\n// gtk_widget_compute_point() walks that transform chain, which is also why\n// it comes out right inside a scrolled viewport — GtkViewport allocates its\n// child at -adjustment.value, so the scroll offset IS the child's transform.\n//\n// gtk_widget_translate_coordinates() and gtk_widget_get_allocation() do the\n// same job and are deprecated since GTK 4.12; compute_point/compute_bounds\n// are the replacements. Both can legitimately fail (no common ancestor, an\n// unrealized widget, a singular transform) — every helper here returns null\n// rather than a plausible-looking zero.\nimport * as Graphene from \"@gtkx/gi/graphene\"\nimport type * as Gtk from \"@gtkx/gi/gtk\"\n\nexport type Point = { x: number; y: number }\n\n// Graphene.Point's constructor takes plain scalars, so it never hit the\n// nested-boxed-struct crash Graphene.Rect's did (the retired\n// graphene-rect-nested-boxed-props workaround, fixed upstream in rc.3 by our\n// gtkx-org/gtkx#473 — see \"Fixed in rc.3\" in docs/gtkx-rc4-notes.md).\n// alloc+init stays because it is the cheaper of the two here, not because\n// the constructor is unsafe.\nconst point = (x: number, y: number): Graphene.Point =>\n Graphene.Point.alloc().init(x, y)\n\n/**\n * Translates a point from `widget`'s coordinates into `target`'s.\n * Returns null when the two are not in the same widget hierarchy.\n */\nexport const computePointIn = (\n widget: Gtk.Widget,\n target: Gtk.Widget,\n x: number,\n y: number,\n): Point | null => {\n const [ok, translated] = widget.computePoint(target, point(x, y))\n return ok ? { x: translated.x, y: translated.y } : null\n}\n\n/**\n * Translates a point from `widget`'s coordinates into its toplevel's — RN's\n * \"page\" space. Returns null for a widget that is not in a window yet.\n */\nexport const computePointInWindow = (\n widget: Gtk.Widget,\n x: number,\n y: number,\n): Point | null => {\n const root = widget.getRoot()\n return root ? computePointIn(widget, root, x, y) : null\n}\n"]}
|
|
@@ -11,13 +11,17 @@ export { Adw, Gdk, Gio, GLib, GObject, Graphene, Gsk, Gtk, Pango };
|
|
|
11
11
|
export { GtkApplication, GtkGestureClick } from "@gtkx/jsx/gtk";
|
|
12
12
|
export { GMenu, GSimpleAction } from "@gtkx/jsx/gio";
|
|
13
13
|
export { AdwBreakpoint, AdwShortcutsItem, AdwShortcutsSection, AdwToggle, } from "@gtkx/jsx/adw";
|
|
14
|
-
export { GtkAdjustment, GtkDragSource, GtkDropTarget, GtkShortcut, GtkShortcutController, GtkTextBuffer, } from "@gtkx/jsx/gtk";
|
|
14
|
+
export { GtkAdjustment, GtkDragSource, GtkDropControllerMotion, GtkDropTarget, GtkShortcut, GtkShortcutController, GtkTextBuffer, } from "@gtkx/jsx/gtk";
|
|
15
15
|
export * from "./widgets.generated";
|
|
16
|
-
export { createPortal, createRoot, quit, rootElement, useApplication, useBindSetting, useParentWindow, useProperty, useSetting, type Root, type RootElement,
|
|
16
|
+
export { createPortal, createRoot, quit, rootElement, useApplication, useBindSetting, useParentWindow, useProperty, useSetting, type Root, type RootElement, } from "@gtkx/react";
|
|
17
|
+
export type { SettingsSchema, SettingsSchemaKeys, SettingValue, } from "@gtkx/react/internal";
|
|
17
18
|
export { useSignal } from "./use-signal";
|
|
18
19
|
export { css, cx, injectGlobal } from "@gtkx/css";
|
|
20
|
+
export { createWidgetCss, type WidgetCss } from "./widget-css";
|
|
19
21
|
export { createTextProbe, measureWidget, toNumber } from "./measure";
|
|
20
|
-
export {
|
|
22
|
+
export { computePointIn, computePointInWindow, type Point } from "./geometry";
|
|
23
|
+
export { createSlotPortal } from "./slot-portal";
|
|
24
|
+
export { cacheChildOrder, getViewBoxComponent, invalidateZOrder, setBoxOnly, setBoxPassthrough, setHitSlop, setPaintOnlyLeaf, setPointerTarget, setZIndex, type HitSlop, } from "./view-box";
|
|
21
25
|
export { getSvgNodeComponent, getSvgNodeDescriptor, queueSvgRedraw, resolveSvgColor, resolveSvgPaint, setSvgNodeDescriptor, type SvgDefsDescriptor, type SvgGradientUnits, type SvgGroupDescriptor, type SvgLinearGradientDescriptor, type SvgNodeDescriptor, type SvgPaintSpec, type SvgRadialGradientDescriptor, type SvgShapeDescriptor, type SvgStopDescriptor, type SvgSvgDescriptor, } from "./svg-node";
|
|
22
26
|
export { allocateChild, attachRnLayout, detachRnLayout, queueAllocate, queueResize, type RnLayoutHooks, type RnLayoutOrientation, } from "./layout-manager";
|
|
23
27
|
export { colorScheme, styleManager } from "./theme";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// The ONLY module allowed to import @gtkx/* (enforced by eslint no-restricted-imports).
|
|
2
2
|
// gtkx is an RC dependency: when its API moves, this bridge absorbs the change.
|
|
3
3
|
//
|
|
4
|
-
// Caveats baked into this surface (catalogued in docs/gtkx-
|
|
4
|
+
// Caveats baked into this surface (catalogued in docs/gtkx-rc4-notes.md):
|
|
5
5
|
// - 64-bit FFI values arrive as BigInt → normalize with toNumber() at this boundary
|
|
6
6
|
// import-then-export (not `export * as`): the latter is the one syntax the
|
|
7
7
|
// stock @react-native/babel-preset cannot transform — this form keeps
|
|
@@ -44,7 +44,7 @@ export { GtkApplication, GtkGestureClick } from "@gtkx/jsx/gtk";
|
|
|
44
44
|
// docs/platform-layer.md, "Two ways to react to size").
|
|
45
45
|
export { GMenu, GSimpleAction } from "@gtkx/jsx/gio";
|
|
46
46
|
export { AdwBreakpoint, AdwShortcutsItem, AdwShortcutsSection, AdwToggle, } from "@gtkx/jsx/adw";
|
|
47
|
-
export { GtkAdjustment, GtkDragSource, GtkDropTarget, GtkShortcut, GtkShortcutController, GtkTextBuffer, } from "@gtkx/jsx/gtk";
|
|
47
|
+
export { GtkAdjustment, GtkDragSource, GtkDropControllerMotion, GtkDropTarget, GtkShortcut, GtkShortcutController, GtkTextBuffer, } from "@gtkx/jsx/gtk";
|
|
48
48
|
// The full widget surface — every GTK/Adwaita class gtkx binds that derives
|
|
49
49
|
// Gtk.Widget, raw. src/gtk/widgets.generated and src/adw/widgets.generated
|
|
50
50
|
// wrap most of them with wrapReactNative; this file is where @gtkx/jsx is
|
|
@@ -54,11 +54,19 @@ export { GtkAdjustment, GtkDragSource, GtkDropTarget, GtkShortcut, GtkShortcutCo
|
|
|
54
54
|
export * from "./widgets.generated";
|
|
55
55
|
export { createPortal, createRoot, quit, rootElement, useApplication, useBindSetting, useParentWindow, useProperty, useSetting, } from "@gtkx/react";
|
|
56
56
|
// useSignal comes from ./use-signal, not @gtkx/react — see the workaround note
|
|
57
|
-
// there (rc.
|
|
57
|
+
// there (rc.3 delivers a stale handler).
|
|
58
58
|
export { useSignal } from "./use-signal";
|
|
59
59
|
export { css, cx, injectGlobal } from "@gtkx/css";
|
|
60
|
+
// The imperative counterpart of `css`: a private provider on one widget,
|
|
61
|
+
// for values that change per frame and must not enter the shared stylesheet.
|
|
62
|
+
export { createWidgetCss } from "./widget-css";
|
|
60
63
|
export { createTextProbe, measureWidget, toNumber } from "./measure";
|
|
61
|
-
export {
|
|
64
|
+
export { computePointIn, computePointInWindow } from "./geometry";
|
|
65
|
+
// A portal into a NAMED slot of a remote object (the window's action map,
|
|
66
|
+
// its controllers) rather than into its default child slot — see the file
|
|
67
|
+
// for why gtkx's own createPortal is not enough on its own.
|
|
68
|
+
export { createSlotPortal } from "./slot-portal";
|
|
69
|
+
export { cacheChildOrder, getViewBoxComponent, invalidateZOrder, setBoxOnly, setBoxPassthrough, setHitSlop, setPaintOnlyLeaf, setPointerTarget, setZIndex, } from "./view-box";
|
|
62
70
|
export { getSvgNodeComponent, getSvgNodeDescriptor, queueSvgRedraw, resolveSvgColor, resolveSvgPaint, setSvgNodeDescriptor, } from "./svg-node";
|
|
63
71
|
export { allocateChild, attachRnLayout, detachRnLayout, queueAllocate, queueResize, } from "./layout-manager";
|
|
64
72
|
export { colorScheme, styleManager } from "./theme";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gtkx/bridge/index.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,gFAAgF;AAChF,EAAE;AACF,0EAA0E;AAC1E,oFAAoF;AAEpF,2EAA2E;AAC3E,sEAAsE;AACtE,qDAAqD;AACrD,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;AAElE,uEAAuE;AACvE,2EAA2E;AAC3E,2EAA2E;AAC3E,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/D,4EAA4E;AAC5E,6EAA6E;AAC7E,sEAAsE;AACtE,qEAAqE;AACrE,6EAA6E;AAC7E,0EAA0E;AAC1E,4EAA4E;AAC5E,4EAA4E;AAC5E,iCAAiC;AACjC,EAAE;AACF,sDAAsD;AACtD,yEAAyE;AACzE,2EAA2E;AAC3E,yEAAyE;AACzE,0EAA0E;AAC1E,sEAAsE;AACtE,2EAA2E;AAC3E,sEAAsE;AACtE,+DAA+D;AAC/D,sEAAsE;AACtE,wDAAwD;AACxD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,GACV,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,aAAa,GACd,MAAM,eAAe,CAAA;AAEtB,4EAA4E;AAC5E,2EAA2E;AAC3E,0EAA0E;AAC1E,sEAAsE;AACtE,0EAA0E;AAC1E,6BAA6B;AAC7B,cAAc,qBAAqB,CAAA;AAEnC,OAAO,EACL,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,WAAW,EACX,cAAc,EACd,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gtkx/bridge/index.ts"],"names":[],"mappings":"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","sourcesContent":["// The ONLY module allowed to import @gtkx/* (enforced by eslint no-restricted-imports).\n// gtkx is an RC dependency: when its API moves, this bridge absorbs the change.\n//\n// Caveats baked into this surface (catalogued in docs/gtkx-rc4-notes.md):\n// - 64-bit FFI values arrive as BigInt → normalize with toNumber() at this boundary\n\n// import-then-export (not `export * as`): the latter is the one syntax the\n// stock @react-native/babel-preset cannot transform — this form keeps\n// consumer apps on their unmodified RN Babel config.\nimport * as Adw from \"@gtkx/gi/adw\"\nimport * as Gdk from \"@gtkx/gi/gdk\"\nimport * as Gio from \"@gtkx/gi/gio\"\nimport * as GLib from \"@gtkx/gi/glib\"\nimport * as GObject from \"@gtkx/gi/gobject\"\nimport * as Graphene from \"@gtkx/gi/graphene\"\nimport * as Gsk from \"@gtkx/gi/gsk\"\nimport * as Gtk from \"@gtkx/gi/gtk\"\nimport * as Pango from \"@gtkx/gi/pango\"\n\nexport { Adw, Gdk, Gio, GLib, GObject, Graphene, Gsk, Gtk, Pango }\n\n// GtkApplication and GtkGestureClick are not Gtk.Widget subclasses (an\n// application object and an event controller, respectively), so the widget\n// surface generator never sees them — kept here by hand, same as before it\n// existed.\nexport { GtkApplication, GtkGestureClick } from \"@gtkx/jsx/gtk\"\n\n// Auxiliary gtkx JSX elements that are not Gtk.Widget/Adw.Widget subclasses\n// either, same reason as the pair above — scripts/generate-widget-surface.ts\n// only classifies widgets, so these fall into its \"notAWidget\" bucket\n// (see scripts/widget-surface/classification.json) and are otherwise\n// unreachable through react-native-gtkx/gtk or /adw. Every one of these is a\n// real, necessary building block for a real app: actions and menus (Gio),\n// a responsive breakpoint (Adw), a text buffer and an adjustment (the model\n// objects GtkTextView/GtkSpinRow etc. bind to), keyboard shortcuts, and the\n// two drag-and-drop controllers.\n//\n// Adw.Breakpoint specifically: independently verified\n// (`Adw.Breakpoint.prototype instanceof Gtk.Widget === false`, prototype\n// chain bottoms out at plain GObject.Object) — it draws nothing and has no\n// size, it is a declaration (a condition plus a set of property setters)\n// attached to a Window/ApplicationWindow/Dialog/BreakpointBin. Running it\n// through wrapReactNative would give it a Yoga node for a widget that\n// occupies no space: a layout bug, not a convenience. Adw.BreakpointBin (a\n// real widget, the container that scopes breakpoints to a subtree) is\n// wrapped normally in ./widgets.generated instead, and is what\n// createSidebarNavigator's own collapse pairs AdwBreakpoint with (see\n// docs/platform-layer.md, \"Two ways to react to size\").\nexport { GMenu, GSimpleAction } from \"@gtkx/jsx/gio\"\nexport {\n AdwBreakpoint,\n AdwShortcutsItem,\n AdwShortcutsSection,\n AdwToggle,\n} from \"@gtkx/jsx/adw\"\nexport {\n GtkAdjustment,\n GtkDragSource,\n GtkDropControllerMotion,\n GtkDropTarget,\n GtkShortcut,\n GtkShortcutController,\n GtkTextBuffer,\n} from \"@gtkx/jsx/gtk\"\n\n// The full widget surface — every GTK/Adwaita class gtkx binds that derives\n// Gtk.Widget, raw. src/gtk/widgets.generated and src/adw/widgets.generated\n// wrap most of them with wrapReactNative; this file is where @gtkx/jsx is\n// still allowed to be imported directly (see the eslint carve-out for\n// src/gtkx/bridge/**), so they pull the raw widgets from here rather than\n// from @gtkx/jsx themselves.\nexport * from \"./widgets.generated\"\n\nexport {\n createPortal,\n createRoot,\n quit,\n rootElement,\n useApplication,\n useBindSetting,\n useParentWindow,\n useProperty,\n useSetting,\n type Root,\n type RootElement,\n} from \"@gtkx/react\"\n\n// rc.4 moved the settings-schema types off the public entry point into\n// /internal, with no replacement on `@gtkx/react` — `useSetting`/\n// `useBindSetting` are still public and still typed by them, so a consumer\n// that wants to name the type of a setting has no supported import for it.\n// We re-export them from here, which is the whole point of the bridge; the\n// ask to put them back is filed in docs/upstream-gtkx.md.\nexport type {\n SettingsSchema,\n SettingsSchemaKeys,\n SettingValue,\n} from \"@gtkx/react/internal\"\n\n// useSignal comes from ./use-signal, not @gtkx/react — see the workaround note\n// there (rc.3 delivers a stale handler).\nexport { useSignal } from \"./use-signal\"\n\nexport { css, cx, injectGlobal } from \"@gtkx/css\"\n\n// The imperative counterpart of `css`: a private provider on one widget,\n// for values that change per frame and must not enter the shared stylesheet.\nexport { createWidgetCss, type WidgetCss } from \"./widget-css\"\n\nexport { createTextProbe, measureWidget, toNumber } from \"./measure\"\nexport { computePointIn, computePointInWindow, type Point } from \"./geometry\"\n// A portal into a NAMED slot of a remote object (the window's action map,\n// its controllers) rather than into its default child slot — see the file\n// for why gtkx's own createPortal is not enough on its own.\nexport { createSlotPortal } from \"./slot-portal\"\nexport {\n cacheChildOrder,\n getViewBoxComponent,\n invalidateZOrder,\n setBoxOnly,\n setBoxPassthrough,\n setHitSlop,\n setPaintOnlyLeaf,\n setPointerTarget,\n setZIndex,\n type HitSlop,\n} from \"./view-box\"\nexport {\n getSvgNodeComponent,\n getSvgNodeDescriptor,\n queueSvgRedraw,\n resolveSvgColor,\n resolveSvgPaint,\n setSvgNodeDescriptor,\n type SvgDefsDescriptor,\n type SvgGradientUnits,\n type SvgGroupDescriptor,\n type SvgLinearGradientDescriptor,\n type SvgNodeDescriptor,\n type SvgPaintSpec,\n type SvgRadialGradientDescriptor,\n type SvgShapeDescriptor,\n type SvgStopDescriptor,\n type SvgSvgDescriptor,\n} from \"./svg-node\"\nexport {\n allocateChild,\n attachRnLayout,\n detachRnLayout,\n queueAllocate,\n queueResize,\n type RnLayoutHooks,\n type RnLayoutOrientation,\n} from \"./layout-manager\"\nexport { colorScheme, styleManager } from \"./theme\"\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type * as GObject from "@gtkx/gi/gobject";
|
|
2
|
+
import { type ReactNode } from "react";
|
|
3
|
+
/**
|
|
4
|
+
* A React portal that renders `children` into `target`'s named `slot`
|
|
5
|
+
* instead of into the tree position where it is written — the declarative
|
|
6
|
+
* equivalent of passing `<Target slot={children} />`, for a target the
|
|
7
|
+
* declaring component does not render.
|
|
8
|
+
*
|
|
9
|
+
* The children stay part of the React tree where the portal element sits,
|
|
10
|
+
* so context, state and effects behave exactly as they would in place.
|
|
11
|
+
*/
|
|
12
|
+
export declare const createSlotPortal: (children: ReactNode, target: GObject.Object, slot: string, key?: string) => ReactNode;
|