react-native-gtkx 0.1.0-alpha.4 → 0.2.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 +12 -8
- package/dist/adw/index.d.ts +3 -0
- package/dist/adw/index.js +41 -0
- package/dist/adw/index.js.map +1 -0
- package/dist/adw/widgets.generated.d.ts +63 -0
- package/dist/adw/widgets.generated.js +125 -0
- package/dist/adw/widgets.generated.js.map +1 -0
- package/dist/common/content.d.ts +69 -0
- package/dist/common/content.js +84 -0
- package/dist/common/content.js.map +1 -0
- package/dist/common/index.d.ts +3 -0
- package/dist/common/index.js +19 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/navigation-stack.d.ts +84 -0
- package/dist/common/navigation-stack.js +313 -0
- package/dist/common/navigation-stack.js.map +1 -0
- package/dist/common/widget.d.ts +83 -0
- package/dist/common/widget.js +142 -0
- package/dist/common/widget.js.map +1 -0
- package/dist/components/animated.d.ts +3 -2
- package/dist/components/animated.js +85 -66
- package/dist/components/animated.js.map +1 -1
- package/dist/components/app-registry.d.ts +10 -1
- package/dist/components/app-registry.js +8 -3
- package/dist/components/app-registry.js.map +1 -1
- package/dist/components/pressable.js +105 -12
- package/dist/components/pressable.js.map +1 -1
- package/dist/components/rect-store.d.ts +11 -1
- package/dist/components/rect-store.js +27 -3
- package/dist/components/rect-store.js.map +1 -1
- package/dist/components/svg/animated-support.d.ts +19 -0
- package/dist/components/svg/animated-support.js +64 -0
- package/dist/components/svg/animated-support.js.map +1 -0
- package/dist/components/svg/context.d.ts +8 -0
- package/dist/components/svg/context.js +15 -0
- package/dist/components/svg/context.js.map +1 -0
- package/dist/components/svg/gradients.d.ts +31 -0
- package/dist/components/svg/gradients.js +93 -0
- package/dist/components/svg/gradients.js.map +1 -0
- package/dist/components/svg/group.d.ts +8 -0
- package/dist/components/svg/group.js +30 -0
- package/dist/components/svg/group.js.map +1 -0
- package/dist/components/svg/index.d.ts +6 -0
- package/dist/components/svg/index.js +5 -0
- package/dist/components/svg/index.js.map +1 -0
- package/dist/components/svg/node.d.ts +7 -0
- package/dist/components/svg/node.js +7 -0
- package/dist/components/svg/node.js.map +1 -0
- package/dist/components/svg/paint.d.ts +24 -0
- package/dist/components/svg/paint.js +57 -0
- package/dist/components/svg/paint.js.map +1 -0
- package/dist/components/svg/shapes.d.ts +47 -0
- package/dist/components/svg/shapes.js +51 -0
- package/dist/components/svg/shapes.js.map +1 -0
- package/dist/components/svg/svg.d.ts +14 -0
- package/dist/components/svg/svg.js +48 -0
- package/dist/components/svg/svg.js.map +1 -0
- package/dist/components/svg/use-shape-node.d.ts +12 -0
- package/dist/components/svg/use-shape-node.js +52 -0
- package/dist/components/svg/use-shape-node.js.map +1 -0
- package/dist/components/text.js +11 -2
- package/dist/components/text.js.map +1 -1
- package/dist/components/use-layout-child.js +47 -4
- package/dist/components/use-layout-child.js.map +1 -1
- package/dist/contracts.d.ts +12 -1
- package/dist/contracts.js.map +1 -1
- package/dist/gtk/index.d.ts +6 -0
- package/dist/gtk/index.js +39 -0
- package/dist/gtk/index.js.map +1 -0
- package/dist/gtk/widgets.generated.d.ts +103 -0
- package/dist/gtk/widgets.generated.js +206 -0
- package/dist/gtk/widgets.generated.js.map +1 -0
- package/dist/gtkx/bridge/index.d.ts +9 -4
- package/dist/gtkx/bridge/index.js +40 -4
- package/dist/gtkx/bridge/index.js.map +1 -1
- package/dist/gtkx/bridge/layout-manager.d.ts +2 -1
- package/dist/gtkx/bridge/layout-manager.js +31 -9
- package/dist/gtkx/bridge/layout-manager.js.map +1 -1
- package/dist/gtkx/bridge/svg-node.d.ts +79 -0
- package/dist/gtkx/bridge/svg-node.js +367 -0
- package/dist/gtkx/bridge/svg-node.js.map +1 -0
- package/dist/gtkx/bridge/use-signal.js +18 -8
- package/dist/gtkx/bridge/use-signal.js.map +1 -1
- package/dist/gtkx/bridge/widgets.generated.d.ts +2 -0
- package/dist/gtkx/bridge/widgets.generated.js +14 -0
- package/dist/gtkx/bridge/widgets.generated.js.map +1 -0
- package/dist/mcp/bin.d.ts +2 -0
- package/dist/mcp/bin.js +17 -0
- package/dist/mcp/bin.js.map +1 -0
- package/dist/mcp/data/generated.d.ts +1282 -0
- package/dist/mcp/data/generated.js +1148 -0
- package/dist/mcp/data/generated.js.map +1 -0
- package/dist/mcp/index.d.ts +5 -0
- package/dist/mcp/index.js +9 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/list.d.ts +4 -0
- package/dist/mcp/list.js +56 -0
- package/dist/mcp/list.js.map +1 -0
- package/dist/mcp/resolve.d.ts +55 -0
- package/dist/mcp/resolve.js +151 -0
- package/dist/mcp/resolve.js.map +1 -0
- package/dist/mcp/search.d.ts +13 -0
- package/dist/mcp/search.js +48 -0
- package/dist/mcp/search.js.map +1 -0
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.js +135 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tool.d.ts +21 -0
- package/dist/mcp/tool.js +36 -0
- package/dist/mcp/tool.js.map +1 -0
- package/dist/metro/index.js +10 -0
- package/dist/metro/index.js.map +1 -1
- package/dist/navigation/index.d.ts +50 -13
- package/dist/navigation/index.js +183 -148
- package/dist/navigation/index.js.map +1 -1
- package/dist/navigation/option-warnings.js +9 -1
- package/dist/navigation/option-warnings.js.map +1 -1
- package/dist/navigation/sidebar.d.ts +177 -9
- package/dist/navigation/sidebar.js +284 -10
- package/dist/navigation/sidebar.js.map +1 -1
- package/dist/runner/index.d.ts +22 -2
- package/dist/runner/index.js +163 -13
- package/dist/runner/index.js.map +1 -1
- package/dist/sea/assemble.d.ts +29 -0
- package/dist/sea/assemble.js +129 -0
- package/dist/sea/assemble.js.map +1 -0
- package/dist/sea/bundle.d.ts +61 -0
- package/dist/sea/bundle.js +202 -0
- package/dist/sea/bundle.js.map +1 -0
- package/dist/sea/gtkx-config-module.d.ts +18 -0
- package/dist/sea/gtkx-config-module.js +67 -0
- package/dist/sea/gtkx-config-module.js.map +1 -0
- package/dist/sea/native-shim.d.ts +40 -0
- package/dist/sea/native-shim.js +121 -0
- package/dist/sea/native-shim.js.map +1 -0
- package/dist/sea/react-anchor-plugin.d.ts +2 -0
- package/dist/sea/react-anchor-plugin.js +30 -0
- package/dist/sea/react-anchor-plugin.js.map +1 -0
- package/dist/style/index.d.ts +1 -0
- package/dist/style/index.js +1 -0
- package/dist/style/index.js.map +1 -1
- package/dist/style/split-style.js +2 -2
- package/dist/style/split-style.js.map +1 -1
- package/dist/style/transform.d.ts +22 -0
- package/dist/style/transform.js +137 -0
- package/dist/style/transform.js.map +1 -0
- package/dist/style/visual-css.js +3 -2
- package/dist/style/visual-css.js.map +1 -1
- package/dist/svg/geometry.d.ts +19 -0
- package/dist/svg/geometry.js +80 -0
- package/dist/svg/geometry.js.map +1 -0
- package/dist/svg/gradient-geometry.d.ts +15 -0
- package/dist/svg/gradient-geometry.js +18 -0
- package/dist/svg/gradient-geometry.js.map +1 -0
- package/dist/svg/transform.d.ts +22 -0
- package/dist/svg/transform.js +74 -0
- package/dist/svg/transform.js.map +1 -0
- package/dist/svg/view-box.d.ts +34 -0
- package/dist/svg/view-box.js +108 -0
- package/dist/svg/view-box.js.map +1 -0
- package/dist/svg-compat/index.d.ts +1 -0
- package/dist/svg-compat/index.js +16 -0
- package/dist/svg-compat/index.js.map +1 -0
- package/dist/testing/index.d.ts +14 -0
- package/dist/testing/index.js +14 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/vite/index.d.ts +7 -3
- package/dist/vite/index.js +15 -3
- package/dist/vite/index.js.map +1 -1
- package/dist/vitest/index.d.ts +52 -0
- package/dist/vitest/index.js +58 -0
- package/dist/vitest/index.js.map +1 -0
- package/dist/vitest/setup.d.ts +4 -0
- package/dist/vitest/setup.js +22 -0
- package/dist/vitest/setup.js.map +1 -0
- package/package.json +47 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-layout-child.js","sourceRoot":"","sources":["../../src/components/use-layout-child.ts"],"names":[],"mappings":"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","sourcesContent":["import { useLayoutEffect, useRef, useState, type RefObject } from \"react\"\nimport type { LayoutNode } from \"../layout/index\"\nimport { splitStyle, StyleSheet } from \"../style/index\"\nimport { defaultCssRegistry } from \"../style/registry.gtkx\"\nimport type {\n LayoutStyle,\n MeasureFn,\n Rect,\n StyleProp,\n VisualStyle,\n} from \"../contracts\"\nimport {\n allocateChild,\n attachRnLayout,\n detachRnLayout,\n measureWidget,\n queueAllocate,\n queueResize,\n type Gtk,\n} from \"../gtkx/bridge/index\"\nimport {\n perfAddTime,\n perfBurst,\n perfCount,\n perfEnabled,\n perfNow,\n} from \"../perf\"\nimport { useHostNode, type HostNode } from \"./host-node\"\nimport {\n deferDuringAllocate,\n getStoredOffset,\n getStoredRect,\n setStoredRect,\n} from \"./rect-store\"\n\nexport type LayoutEvent = {\n nativeEvent: {\n layout: { x: number; y: number; width: number; height: number }\n }\n}\n\n// Perf: sizeAllocate recurses synchronously into child containers, so a\n// naive per-pass timer double-counts nested passes. Track depth and time\n// only the outermost (top-level) allocate — that is the real wall time GTK\n// spends in OUR layout code for the frame.\nlet perfAllocDepth = 0\n\nexport type LayoutChildOptions = {\n style: StyleProp | undefined\n onLayout: ((event: LayoutEvent) => void) | undefined\n measure?: MeasureFn\n // Leaves with intrinsic GTK sizes (Entry, Switch, Spinner) measure their\n // own widget so Yoga reserves exactly what the theme will draw.\n measureFromWidget?: boolean\n extraLayout?: LayoutStyle\n}\n\nexport type LayoutChild = {\n host: HostNode\n node: LayoutNode\n flat: ReturnType<typeof StyleSheet.flatten>\n visual: VisualStyle\n cssClass: string | null\n}\n\n// Shared plumbing for every leaf/container component: owns one LayoutNode,\n// keeps it in the parent's shadow tree for the component lifetime, applies\n// the layout half of the style and commits Yoga rects into the rect store,\n// where the parent container's RnGtkxLayout allocate() picks them up.\nexport const useLayoutChild = (\n widgetRef: RefObject<Gtk.Widget | null>,\n options: LayoutChildOptions,\n): LayoutChild => {\n const host = useHostNode()\n\n // useState's lazy initializer is guaranteed once-per-instance even under\n // the React Compiler — a lazy ref here got its creation memoized ACROSS\n // component instances, sharing one Yoga node and double-freeing it.\n const [node] = useState<LayoutNode>(() => host.engine.createNode())\n\n const flat = StyleSheet.flatten(options.style)\n const { layout, visual } = splitStyle(flat)\n const effectiveLayout = options.extraLayout\n ? { ...layout, ...options.extraLayout }\n : layout\n\n // Re-apply layout style only when it actually changed (keyed effect) —\n // setStyle dirties the whole tree.\n const layoutKey = JSON.stringify(effectiveLayout)\n useLayoutEffect(() => {\n node.setStyle(JSON.parse(layoutKey) as LayoutStyle)\n }, [node, layoutKey])\n\n const cssClass = defaultCssRegistry.getClassName(visual)\n\n useLayoutEffect(() => {\n const parent = host.node\n // The reconciler has already attached our widget in JSX order, so its\n // sibling position is the correct Yoga index — this keeps the shadow tree\n // ordered even for mid-list mounts (conditional children, list inserts).\n const widget = widgetRef.current\n const parentWidget = host.widgetRef.current\n let index = parent.children.length\n if (widget && parentWidget) {\n let position = 0\n let sibling = parentWidget.getFirstChild()\n while (sibling !== null && sibling !== widget) {\n position += 1\n sibling = sibling.getNextSibling()\n }\n if (sibling === widget) {\n index = Math.min(position, parent.children.length)\n }\n }\n parent.insertChild(node, index)\n node.setCommit((rect: Rect) => {\n const widget = widgetRef.current\n const parentWidget = host.widgetRef.current\n if (!widget || !parentWidget) {\n return\n }\n const previous = getStoredRect(widget)\n setStoredRect(widget, rect)\n const sizeChanged =\n !previous ||\n previous.width !== rect.width ||\n previous.height !== rect.height\n const queue = (): void => {\n if (sizeChanged) {\n // A size change invalidates this widget's cached measure (nested\n // managers, ScrolledWindow ranges) and re-allocates the ancestors.\n queueResize(widget)\n } else {\n // Pure move: the parent just needs another allocation pass. GTK\n // dedupes queued allocates, so per-child calls batch into one.\n queueAllocate(parentWidget)\n }\n }\n if (!deferDuringAllocate(widget, queue)) {\n queue()\n }\n })\n return () => {\n node.setCommit(null)\n parent.removeChild(node)\n node.free()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const onLayout = options.onLayout\n useLayoutEffect(() => {\n node.setOnLayout(\n onLayout\n ? (rect: Rect) => {\n onLayout({ nativeEvent: { layout: rect } })\n }\n : null,\n )\n }, [node, onLayout])\n\n // The explicit return type keeps the inner params contextually typed: with a\n // bare lazy initializer TS may match the outer arrow against MeasureFn\n // itself (useState accepts S | () => S) and drop the context.\n const [widgetMeasure] = useState<MeasureFn>(\n (): MeasureFn => (width, widthMode) => {\n const widget = widgetRef.current\n if (!widget) {\n return { width: 0, height: 0 }\n }\n const natural = measureWidget(widget, \"horizontal\").natural\n const used =\n widthMode === \"undefined\"\n ? natural\n : Math.min(natural, Math.max(1, Math.floor(width)))\n return {\n width: used,\n height: measureWidget(widget, \"vertical\", used).natural,\n }\n },\n )\n const measure =\n options.measure ?? (options.measureFromWidget ? widgetMeasure : undefined)\n useLayoutEffect(() => {\n if (!measure) {\n return\n }\n node.setMeasureFn(measure)\n // Widgets measured before their window is mapped report zero (no realized\n // theme context yet, unlike offscreen probes) and Yoga caches it —\n // invalidate once the widget actually maps.\n const widget = widgetRef.current\n const remeasure = (): void => {\n node.markDirty()\n }\n if (options.measureFromWidget && widget) {\n widget.on(\"map\", remeasure)\n }\n return () => {\n if (options.measureFromWidget && widget) {\n widget.off(\"map\", remeasure)\n }\n // Cleared by free() on unmount; explicit unset only when measure is\n // removed while mounted.\n node.setMeasureFn(null)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [node, measure])\n\n return { host, node, flat, visual, cssClass }\n}\n\nexport type RnContainerOptions = {\n // Overrides the default engine-rect measure (the window root reports 0 so\n // the window can shrink freely below the current content size; the\n // intrinsic root measures its content through Yoga, honoring forSize for\n // height-for-width).\n measure?: (orientation: \"horizontal\" | \"vertical\", forSize: number) => number\n // Runs before children are placed — the window root syncs the engine\n // viewport to the actual allocation here.\n beforeAllocate?: (width: number, height: number) => void\n}\n\n// Containers (Root, View, Animated.View, ScrollView content) drive their GTK\n// side with an RnGtkxLayout: measure() reports the engine rect of `node`\n// (minimum == natural — GTK minimums of children never leak upward), and\n// allocate() places every child widget at exactly its stored engine rect\n// plus the Animated offset.\nexport const useRnContainer = (\n widgetRef: RefObject<Gtk.Widget | null>,\n node: LayoutNode,\n options?: RnContainerOptions,\n): void => {\n const optionsRef = useRef<RnContainerOptions | undefined>(options)\n optionsRef.current = options\n useLayoutEffect(() => {\n const widget = widgetRef.current\n if (!widget) {\n return\n }\n attachRnLayout(widget, {\n measure: (orientation, forSize) => {\n const custom = optionsRef.current?.measure\n if (custom) {\n return custom(orientation, forSize)\n }\n const rect = node.getRect()\n return Math.round(\n (orientation === \"horizontal\" ? rect?.width : rect?.height) ?? 0,\n )\n },\n allocate: (width, height) => {\n const start = perfEnabled ? perfNow() : 0\n perfAllocDepth += 1\n optionsRef.current?.beforeAllocate?.(width, height)\n let child = widget.getFirstChild()\n let children = 0\n while (child) {\n const rect = getStoredRect(child)\n if (rect) {\n const offset = getStoredOffset(child)\n allocateChild(\n child,\n rect.x + offset.dx,\n rect.y + offset.dy,\n rect.width,\n rect.height,\n )\n children += 1\n }\n child = child.getNextSibling()\n }\n perfAllocDepth -= 1\n if (perfEnabled) {\n perfCount(\"gtk.allocPass\")\n perfCount(\"gtk.allocChild\", children)\n if (perfAllocDepth === 0) {\n const elapsed = perfNow() - start\n perfAddTime(\"gtk.allocTop\", elapsed)\n perfBurst(\"gtk.allocMsPerFrame\", elapsed)\n }\n }\n },\n })\n return () => {\n detachRnLayout(widget)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n}\n"]}
|
|
1
|
+
{"version":3,"file":"use-layout-child.js","sourceRoot":"","sources":["../../src/components/use-layout-child.ts"],"names":[],"mappings":"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","sourcesContent":["import { useLayoutEffect, useRef, useState, type RefObject } from \"react\"\nimport type { LayoutNode } from \"../layout/index\"\nimport { splitStyle, StyleSheet } from \"../style/index\"\nimport { defaultCssRegistry } from \"../style/registry.gtkx\"\nimport type {\n LayoutStyle,\n MeasureFn,\n Rect,\n StyleProp,\n TransformPart,\n VisualStyle,\n} from \"../contracts\"\nimport {\n allocateChild,\n attachRnLayout,\n detachRnLayout,\n measureWidget,\n queueAllocate,\n queueResize,\n type Gtk,\n} from \"../gtkx/bridge/index\"\nimport {\n perfAddTime,\n perfBurst,\n perfCount,\n perfEnabled,\n perfNow,\n} from \"../perf\"\nimport { useHostNode, type HostNode } from \"./host-node\"\nimport {\n deferDuringAllocate,\n getStoredOffset,\n getStoredRect,\n setStoredRect,\n setStoredTransform,\n} from \"./rect-store\"\n\nexport type LayoutEvent = {\n nativeEvent: {\n layout: { x: number; y: number; width: number; height: number }\n }\n}\n\n// Perf: sizeAllocate recurses synchronously into child containers, so a\n// naive per-pass timer double-counts nested passes. Track depth and time\n// only the outermost (top-level) allocate — that is the real wall time GTK\n// spends in OUR layout code for the frame.\nlet perfAllocDepth = 0\n\nexport type LayoutChildOptions = {\n style: StyleProp | undefined\n onLayout: ((event: LayoutEvent) => void) | undefined\n measure?: MeasureFn\n // Leaves with intrinsic GTK sizes (Entry, Switch, Spinner) measure their\n // own widget so Yoga reserves exactly what the theme will draw.\n measureFromWidget?: boolean\n extraLayout?: LayoutStyle\n}\n\nexport type LayoutChild = {\n host: HostNode\n node: LayoutNode\n flat: ReturnType<typeof StyleSheet.flatten>\n visual: VisualStyle\n cssClass: string | null\n}\n\n// Shared plumbing for every leaf/container component: owns one LayoutNode,\n// keeps it in the parent's shadow tree for the component lifetime, applies\n// the layout half of the style and commits Yoga rects into the rect store,\n// where the parent container's RnGtkxLayout allocate() picks them up.\nexport const useLayoutChild = (\n widgetRef: RefObject<Gtk.Widget | null>,\n options: LayoutChildOptions,\n): LayoutChild => {\n const host = useHostNode()\n\n // useState's lazy initializer is guaranteed once-per-instance even under\n // the React Compiler — a lazy ref here got its creation memoized ACROSS\n // component instances, sharing one Yoga node and double-freeing it.\n const [node] = useState<LayoutNode>(() => host.engine.createNode())\n\n const flat = StyleSheet.flatten(options.style)\n const { layout, visual } = splitStyle(flat)\n const effectiveLayout = options.extraLayout\n ? { ...layout, ...options.extraLayout }\n : layout\n\n // Re-apply layout style only when it actually changed (keyed effect) —\n // setStyle dirties the whole tree.\n const layoutKey = JSON.stringify(effectiveLayout)\n useLayoutEffect(() => {\n node.setStyle(JSON.parse(layoutKey) as LayoutStyle)\n }, [node, layoutKey])\n\n const cssClass = defaultCssRegistry.getClassName(visual)\n\n // RN transforms are visual only: the widget keeps the box Yoga gave it, so\n // a transform never touches the shadow tree — it only asks the parent\n // container to run its allocate hook again. Keyed on the serialized array\n // so a re-render with the same transform costs nothing.\n // (Animated.View owns its own transform and strips it from the static\n // style before it gets here, so the two writers never race.)\n const transformKey = JSON.stringify(visual.transform ?? null)\n useLayoutEffect(() => {\n const widget = widgetRef.current\n if (!widget) {\n return\n }\n setStoredTransform(widget, JSON.parse(transformKey) as TransformPart[])\n const parentWidget = host.widgetRef.current\n if (parentWidget) {\n queueAllocate(parentWidget)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [transformKey])\n\n useLayoutEffect(() => {\n const parent = host.node\n // The reconciler has already attached our widget in JSX order, so its\n // sibling position is the correct Yoga index — this keeps the shadow tree\n // ordered even for mid-list mounts (conditional children, list inserts).\n const widget = widgetRef.current\n const parentWidget = host.widgetRef.current\n let index = parent.children.length\n if (widget && parentWidget) {\n let position = 0\n let sibling = parentWidget.getFirstChild()\n while (sibling !== null && sibling !== widget) {\n position += 1\n sibling = sibling.getNextSibling()\n }\n if (sibling === widget) {\n index = Math.min(position, parent.children.length)\n }\n }\n parent.insertChild(node, index)\n node.setCommit((rect: Rect) => {\n const widget = widgetRef.current\n const parentWidget = host.widgetRef.current\n if (!widget || !parentWidget) {\n return\n }\n const previous = getStoredRect(widget)\n // A commit does not imply a change. The engine filters unchanged nodes\n // out of the walk, EXCEPT nodes carrying a measure function — every\n // Text leaf, every intrinsic widget — which it must still visit. Those\n // then arrive here with the rect they already have, and queueing an\n // allocation for them makes GTK re-allocate and re-snapshot the whole\n // container for nothing.\n //\n // The cost of that is not academic: it scales with children × painted\n // area. Measured on a 500-row list, maximized, windowSize 11 — 801\n // live nodes — the frame average was 40.4 ms against 15.7 ms windowed,\n // while neither 777 nodes in a small window nor 205 nodes maximized\n // cost anything. Only the product hurts, and this is where we inflate\n // the first factor.\n if (\n previous &&\n previous.x === rect.x &&\n previous.y === rect.y &&\n previous.width === rect.width &&\n previous.height === rect.height\n ) {\n return\n }\n setStoredRect(widget, rect)\n const sizeChanged =\n !previous ||\n previous.width !== rect.width ||\n previous.height !== rect.height\n const queue = (): void => {\n if (sizeChanged) {\n // A size change invalidates this widget's cached measure (nested\n // managers, ScrolledWindow ranges) and re-allocates the ancestors.\n queueResize(widget)\n } else {\n // Pure move: the parent just needs another allocation pass. GTK\n // dedupes queued allocates, so per-child calls batch into one.\n queueAllocate(parentWidget)\n }\n }\n if (!deferDuringAllocate(widget, queue)) {\n queue()\n }\n })\n return () => {\n node.setCommit(null)\n parent.removeChild(node)\n node.free()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const onLayout = options.onLayout\n useLayoutEffect(() => {\n node.setOnLayout(\n onLayout\n ? (rect: Rect) => {\n onLayout({ nativeEvent: { layout: rect } })\n }\n : null,\n )\n }, [node, onLayout])\n\n // The explicit return type keeps the inner params contextually typed: with a\n // bare lazy initializer TS may match the outer arrow against MeasureFn\n // itself (useState accepts S | () => S) and drop the context.\n const [widgetMeasure] = useState<MeasureFn>(\n (): MeasureFn => (width, widthMode) => {\n const widget = widgetRef.current\n if (!widget) {\n return { width: 0, height: 0 }\n }\n const { minimum, natural } = measureWidget(widget, \"horizontal\")\n // Floor at the widget's own minimum width, not at 1 — see the same\n // clamp in text.tsx's measure for why: gtk_widget_measure() enforces\n // this floor internally regardless of what we request (warning while\n // it does), so anything below `minimum` was never actually honored.\n const used =\n widthMode === \"undefined\"\n ? natural\n : Math.min(natural, Math.max(minimum, Math.floor(width)))\n return {\n width: used,\n height: measureWidget(widget, \"vertical\", used).natural,\n }\n },\n )\n const measure =\n options.measure ?? (options.measureFromWidget ? widgetMeasure : undefined)\n useLayoutEffect(() => {\n if (!measure) {\n return\n }\n node.setMeasureFn(measure)\n // Widgets measured before their window is mapped report zero (no realized\n // theme context yet, unlike offscreen probes) and Yoga caches it —\n // invalidate once the widget actually maps.\n const widget = widgetRef.current\n const remeasure = (): void => {\n node.markDirty()\n }\n if (options.measureFromWidget && widget) {\n widget.on(\"map\", remeasure)\n }\n return () => {\n if (options.measureFromWidget && widget) {\n widget.off(\"map\", remeasure)\n }\n // Cleared by free() on unmount; explicit unset only when measure is\n // removed while mounted.\n node.setMeasureFn(null)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [node, measure])\n\n return { host, node, flat, visual, cssClass }\n}\n\nexport type RnContainerOptions = {\n // Overrides the default engine-rect measure (the window root reports 0 so\n // the window can shrink freely below the current content size; the\n // intrinsic root measures its content through Yoga, honoring forSize for\n // height-for-width).\n measure?: (orientation: \"horizontal\" | \"vertical\", forSize: number) => number\n // Runs before children are placed — the window root syncs the engine\n // viewport to the actual allocation here.\n beforeAllocate?: (width: number, height: number) => void\n}\n\n// Containers (Root, View, Animated.View, ScrollView content) drive their GTK\n// side with an RnGtkxLayout: measure() reports the engine rect of `node`\n// (minimum == natural — GTK minimums of children never leak upward), and\n// allocate() places every child widget at exactly its stored engine rect\n// plus the Animated offset.\nexport const useRnContainer = (\n widgetRef: RefObject<Gtk.Widget | null>,\n node: LayoutNode,\n options?: RnContainerOptions,\n): void => {\n const optionsRef = useRef<RnContainerOptions | undefined>(options)\n optionsRef.current = options\n useLayoutEffect(() => {\n const widget = widgetRef.current\n if (!widget) {\n return\n }\n attachRnLayout(widget, {\n measure: (orientation, forSize) => {\n const custom = optionsRef.current?.measure\n if (custom) {\n return custom(orientation, forSize)\n }\n const rect = node.getRect()\n return Math.round(\n (orientation === \"horizontal\" ? rect?.width : rect?.height) ?? 0,\n )\n },\n allocate: (width, height) => {\n const start = perfEnabled ? perfNow() : 0\n perfAllocDepth += 1\n optionsRef.current?.beforeAllocate?.(width, height)\n let child = widget.getFirstChild()\n let children = 0\n while (child) {\n const rect = getStoredRect(child)\n if (rect) {\n const offset = getStoredOffset(child)\n allocateChild(\n child,\n rect.x + offset.dx,\n rect.y + offset.dy,\n rect.width,\n rect.height,\n offset.matrix,\n )\n children += 1\n }\n child = child.getNextSibling()\n }\n perfAllocDepth -= 1\n if (perfEnabled) {\n perfCount(\"gtk.allocPass\")\n perfCount(\"gtk.allocChild\", children)\n if (perfAllocDepth === 0) {\n const elapsed = perfNow() - start\n perfAddTime(\"gtk.allocTop\", elapsed)\n perfBurst(\"gtk.allocMsPerFrame\", elapsed)\n }\n }\n },\n })\n return () => {\n detachRnLayout(widget)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n}\n"]}
|
package/dist/contracts.d.ts
CHANGED
|
@@ -44,6 +44,7 @@ export type LayoutStyle = Partial<{
|
|
|
44
44
|
top: DimensionValue;
|
|
45
45
|
width: DimensionValue;
|
|
46
46
|
}>;
|
|
47
|
+
export type Angle = `${number}deg` | `${number}rad`;
|
|
47
48
|
export type TransformPart = {
|
|
48
49
|
translateX: number;
|
|
49
50
|
} | {
|
|
@@ -55,7 +56,17 @@ export type TransformPart = {
|
|
|
55
56
|
} | {
|
|
56
57
|
scaleY: number;
|
|
57
58
|
} | {
|
|
58
|
-
rotate:
|
|
59
|
+
rotate: Angle;
|
|
60
|
+
} | {
|
|
61
|
+
rotateZ: Angle;
|
|
62
|
+
};
|
|
63
|
+
export type Transform2D = {
|
|
64
|
+
xx: number;
|
|
65
|
+
yx: number;
|
|
66
|
+
xy: number;
|
|
67
|
+
yy: number;
|
|
68
|
+
dx: number;
|
|
69
|
+
dy: number;
|
|
59
70
|
};
|
|
60
71
|
export type VisualStyle = Partial<{
|
|
61
72
|
backgroundColor: string;
|
package/dist/contracts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,sEAAsE","sourcesContent":["// Shared contracts between the layout engine, the style system, the API\n// modules and the components — the one module every layer may import.\n\n// --- style ------------------------------------------------------------------\n\nexport type DimensionValue = number | `${number}%` | \"auto\"\n\nexport type FlexAlignType =\n \"flex-start\" | \"flex-end\" | \"center\" | \"stretch\" | \"baseline\"\n\n// Layout-affecting props: classified by the style system, consumed by the\n// layout engine, which maps them onto Yoga node setters.\nexport type LayoutStyle = Partial<{\n alignContent:\n | \"flex-start\"\n | \"flex-end\"\n | \"center\"\n | \"stretch\"\n | \"space-between\"\n | \"space-around\"\n alignItems: FlexAlignType\n alignSelf: \"auto\" | FlexAlignType\n aspectRatio: number | string\n bottom: DimensionValue\n columnGap: number\n direction: \"inherit\" | \"ltr\" | \"rtl\"\n display: \"none\" | \"flex\"\n flex: number\n flexBasis: DimensionValue\n flexDirection: \"row\" | \"row-reverse\" | \"column\" | \"column-reverse\"\n flexGrow: number\n flexShrink: number\n flexWrap: \"wrap\" | \"nowrap\" | \"wrap-reverse\"\n gap: number\n height: DimensionValue\n justifyContent:\n | \"flex-start\"\n | \"flex-end\"\n | \"center\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\"\n left: DimensionValue\n margin: DimensionValue\n marginBottom: DimensionValue\n marginHorizontal: DimensionValue\n marginLeft: DimensionValue\n marginRight: DimensionValue\n marginTop: DimensionValue\n marginVertical: DimensionValue\n maxHeight: DimensionValue\n maxWidth: DimensionValue\n minHeight: DimensionValue\n minWidth: DimensionValue\n overflow: \"visible\" | \"hidden\" | \"scroll\"\n padding: DimensionValue\n paddingBottom: DimensionValue\n paddingHorizontal: DimensionValue\n paddingLeft: DimensionValue\n paddingRight: DimensionValue\n paddingTop: DimensionValue\n paddingVertical: DimensionValue\n position: \"absolute\" | \"relative\" | \"static\"\n right: DimensionValue\n rowGap: number\n top: DimensionValue\n width: DimensionValue\n}>\n\nexport type TransformPart =\n | { translateX: number }\n | { translateY: number }\n | { scale: number }\n | { scaleX: number }\n | { scaleY: number }\n | { rotate:
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,sEAAsE","sourcesContent":["// Shared contracts between the layout engine, the style system, the API\n// modules and the components — the one module every layer may import.\n\n// --- style ------------------------------------------------------------------\n\nexport type DimensionValue = number | `${number}%` | \"auto\"\n\nexport type FlexAlignType =\n \"flex-start\" | \"flex-end\" | \"center\" | \"stretch\" | \"baseline\"\n\n// Layout-affecting props: classified by the style system, consumed by the\n// layout engine, which maps them onto Yoga node setters.\nexport type LayoutStyle = Partial<{\n alignContent:\n | \"flex-start\"\n | \"flex-end\"\n | \"center\"\n | \"stretch\"\n | \"space-between\"\n | \"space-around\"\n alignItems: FlexAlignType\n alignSelf: \"auto\" | FlexAlignType\n aspectRatio: number | string\n bottom: DimensionValue\n columnGap: number\n direction: \"inherit\" | \"ltr\" | \"rtl\"\n display: \"none\" | \"flex\"\n flex: number\n flexBasis: DimensionValue\n flexDirection: \"row\" | \"row-reverse\" | \"column\" | \"column-reverse\"\n flexGrow: number\n flexShrink: number\n flexWrap: \"wrap\" | \"nowrap\" | \"wrap-reverse\"\n gap: number\n height: DimensionValue\n justifyContent:\n | \"flex-start\"\n | \"flex-end\"\n | \"center\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\"\n left: DimensionValue\n margin: DimensionValue\n marginBottom: DimensionValue\n marginHorizontal: DimensionValue\n marginLeft: DimensionValue\n marginRight: DimensionValue\n marginTop: DimensionValue\n marginVertical: DimensionValue\n maxHeight: DimensionValue\n maxWidth: DimensionValue\n minHeight: DimensionValue\n minWidth: DimensionValue\n overflow: \"visible\" | \"hidden\" | \"scroll\"\n padding: DimensionValue\n paddingBottom: DimensionValue\n paddingHorizontal: DimensionValue\n paddingLeft: DimensionValue\n paddingRight: DimensionValue\n paddingTop: DimensionValue\n paddingVertical: DimensionValue\n position: \"absolute\" | \"relative\" | \"static\"\n right: DimensionValue\n rowGap: number\n top: DimensionValue\n width: DimensionValue\n}>\n\nexport type Angle = `${number}deg` | `${number}rad`\n\nexport type TransformPart =\n | { translateX: number }\n | { translateY: number }\n | { scale: number }\n | { scaleX: number }\n | { scaleY: number }\n | { rotate: Angle }\n // RN's 2D alias for `rotate` (rotation about the Z axis).\n | { rotateZ: Angle }\n\n// A 2D affine transform in the component order GSK and cairo use:\n// x' = xx * x + xy * y + dx\n// y' = yx * x + yy * y + dy\n// This is exactly the argument order of gsk_transform_matrix2d(), so a\n// composed TransformPart[] reaches GTK in a single FFI call.\nexport type Transform2D = {\n xx: number\n yx: number\n xy: number\n yy: number\n dx: number\n dy: number\n}\n\n// Visual props: classified by the style system, compiled into GTK CSS\n// classes via the bridge `css` helper. Text-specific props apply to <Text>.\nexport type VisualStyle = Partial<{\n backgroundColor: string\n borderBottomColor: string\n borderBottomLeftRadius: number\n borderBottomRightRadius: number\n borderBottomWidth: number\n borderColor: string\n borderLeftColor: string\n borderLeftWidth: number\n borderRadius: number\n borderRightColor: string\n borderRightWidth: number\n borderStyle: \"solid\" | \"dotted\" | \"dashed\"\n borderTopColor: string\n borderTopLeftRadius: number\n borderTopRightRadius: number\n borderTopWidth: number\n borderWidth: number\n color: string\n fontFamily: string\n fontSize: number\n fontStyle: \"normal\" | \"italic\"\n fontWeight:\n | \"normal\"\n | \"bold\"\n | \"100\"\n | \"200\"\n | \"300\"\n | \"400\"\n | \"500\"\n | \"600\"\n | \"700\"\n | \"800\"\n | \"900\"\n letterSpacing: number\n lineHeight: number\n opacity: number\n // NOT emitted to CSS (no such GTK CSS property): the Text component applies\n // it via label props using the pure style/text-align helper.\n textAlign: \"auto\" | \"left\" | \"right\" | \"center\" | \"justify\"\n // NOT emitted to CSS (GTK4 has no widget `transform` property): composed\n // into a Transform2D by style/transform.ts and applied as the GskTransform\n // of the child's allocation by the container's layout manager.\n transform: TransformPart[]\n}>\n\n// RN pointerEvents (also allowed in styles since RN 0.71); behavioral, so\n// it belongs to neither the layout nor the visual bucket — splitStyle\n// ignores it and View reads it from the flattened style.\nexport type PointerEventsValue = \"auto\" | \"none\" | \"box-none\" | \"box-only\"\n\nexport type FlatStyle = LayoutStyle &\n VisualStyle & {\n pointerEvents?: PointerEventsValue\n }\n\n// Style prop as components accept it: single object, array (with falsy holes).\nexport type StyleProp<T = FlatStyle> =\n T | null | undefined | false | ReadonlyArray<StyleProp<T>>\n\n// Result of classifying a flattened style (produced by the style system):\nexport type SplitStyle = {\n layout: LayoutStyle\n visual: VisualStyle\n}\n\n// --- layout engine ----------------------------------------------------------\n\nexport type Rect = {\n x: number\n y: number\n width: number\n height: number\n}\n\nexport type MeasureConstraintMode = \"undefined\" | \"exactly\" | \"at-most\"\n\nexport type MeasureSize = { width: number; height: number }\n\n// Measure callback for leaf nodes (text, images): implemented by components\n// using bridge probes; called by the engine during Yoga layout passes.\nexport type MeasureFn = (\n width: number,\n widthMode: MeasureConstraintMode,\n height: number,\n heightMode: MeasureConstraintMode,\n) => MeasureSize\n\n// Handle the layout engine gives every mounted component.\nexport interface LayoutNodeApi {\n setStyle(style: LayoutStyle): void\n setMeasureFn(measure: MeasureFn | null): void\n markDirty(): void\n getRect(): Rect | null\n setOnLayout(callback: ((rect: Rect) => void) | null): void\n}\n\n// --- subscriptions ----------------------------------------------------------\n\nexport type SubscriptionHandle = { remove(): void }\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./widgets.generated";
|
|
2
|
+
export { Gdk, Gio, GLib, GObject, Gtk, Pango } from "../gtkx/bridge/index";
|
|
3
|
+
export { GMenu, GSimpleAction, GtkAdjustment, GtkDragSource, GtkDropTarget, GtkShortcut, GtkShortcutController, GtkTextBuffer, } from "../gtkx/bridge/index";
|
|
4
|
+
export { useBindSetting, useSetting, type SettingsSchema, type SettingsSchemaKeys, type SettingValue, } from "../gtkx/bridge/index";
|
|
5
|
+
export { css, cx, injectGlobal } from "../gtkx/bridge/index";
|
|
6
|
+
export { quit, useApplication, useParentWindow } from "../gtkx/bridge/index";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// The full GTK widget surface lives in a generated file: every Gtk.Widget
|
|
2
|
+
// subclass gtkx binds, wrapped so React Native drives it. See
|
|
3
|
+
// scripts/generate-widget-surface.ts and
|
|
4
|
+
// scripts/widget-surface/classification.json for how the list is derived.
|
|
5
|
+
export * from "./widgets.generated";
|
|
6
|
+
// The GTK namespaces themselves, exported as values because they carry both
|
|
7
|
+
// the enums you need at runtime — `hscrollbarPolicy={Gtk.PolicyType.NEVER}` —
|
|
8
|
+
// and the types you need for refs.
|
|
9
|
+
export { Gdk, Gio, GLib, GObject, Gtk, Pango } from "../gtkx/bridge/index";
|
|
10
|
+
// Auxiliary JSX elements that are not Gtk.Widget subclasses, so the
|
|
11
|
+
// generated widget surface above never sees them — real building blocks a
|
|
12
|
+
// non-trivial app still needs: actions and menus (Gio, used through
|
|
13
|
+
// `Gtk.Application`/`Gtk.ApplicationWindow`), a text buffer and an
|
|
14
|
+
// adjustment (the model objects `GtkTextView`/`GtkSpinRow`-style widgets
|
|
15
|
+
// bind to), keyboard shortcuts, and the two drag-and-drop controllers. See
|
|
16
|
+
// docs/platform-layer.md "Unwrapped by necessity".
|
|
17
|
+
export { GMenu, GSimpleAction, GtkAdjustment, GtkDragSource, GtkDropTarget, GtkShortcut, GtkShortcutController, GtkTextBuffer, } from "../gtkx/bridge/index";
|
|
18
|
+
// GSettings: reads and writes backed by a compiled `.gschema.xml` schema.
|
|
19
|
+
// `useSetting`/`useBindSetting` come straight from @gtkx/react; loading a
|
|
20
|
+
// `.gschema.xml` file into the `SettingsSchema` object they expect is a
|
|
21
|
+
// build-time concern (see docs/platform-layer.md).
|
|
22
|
+
export { useBindSetting, useSetting, } from "../gtkx/bridge/index";
|
|
23
|
+
// @gtkx/css — a real GTK CSS class from a tagged template, the same
|
|
24
|
+
// mechanism the style prop's visual half uses under the hood. Re-exported
|
|
25
|
+
// here rather than left to a direct @gtkx/css dependency for the same
|
|
26
|
+
// reason the namespaces above are: one subpath for the whole gtkx toolkit
|
|
27
|
+
// surface, not just Gtk.Widget subclasses. `GObject` above is exported
|
|
28
|
+
// mainly for `GObject.Value` — constructing a boxed value is required by
|
|
29
|
+
// APIs like `Adw.Breakpoint.addSetter`, which reject a bare JS primitive
|
|
30
|
+
// (see docs/platform-layer.md, "Two ways to react to size").
|
|
31
|
+
export { css, cx, injectGlobal } from "../gtkx/bridge/index";
|
|
32
|
+
// The window and application AppRegistry itself sits on: useParentWindow
|
|
33
|
+
// reaches the Gtk.Window ancestor (for anything not modeled by a prop —
|
|
34
|
+
// e.g. binding a GSettings key to its own defaultWidth/defaultHeight),
|
|
35
|
+
// useApplication reaches the Adw.Application (e.g. to send a
|
|
36
|
+
// Gio.Notification), quit tears the whole app down programmatically (the
|
|
37
|
+
// same function AppRegistry wires to a window's own close button).
|
|
38
|
+
export { quit, useApplication, useParentWindow } from "../gtkx/bridge/index";
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gtk/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8DAA8D;AAC9D,yCAAyC;AACzC,0EAA0E;AAC1E,cAAc,qBAAqB,CAAA;AAEnC,4EAA4E;AAC5E,8EAA8E;AAC9E,mCAAmC;AACnC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE1E,oEAAoE;AACpE,0EAA0E;AAC1E,oEAAoE;AACpE,mEAAmE;AACnE,yEAAyE;AACzE,2EAA2E;AAC3E,mDAAmD;AACnD,OAAO,EACL,KAAK,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,aAAa,GACd,MAAM,sBAAsB,CAAA;AAE7B,0EAA0E;AAC1E,0EAA0E;AAC1E,wEAAwE;AACxE,mDAAmD;AACnD,OAAO,EACL,cAAc,EACd,UAAU,GAIX,MAAM,sBAAsB,CAAA;AAE7B,oEAAoE;AACpE,0EAA0E;AAC1E,sEAAsE;AACtE,0EAA0E;AAC1E,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,6DAA6D;AAC7D,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAE5D,yEAAyE;AACzE,wEAAwE;AACxE,uEAAuE;AACvE,6DAA6D;AAC7D,yEAAyE;AACzE,mEAAmE;AACnE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA","sourcesContent":["// The full GTK widget surface lives in a generated file: every Gtk.Widget\n// subclass gtkx binds, wrapped so React Native drives it. See\n// scripts/generate-widget-surface.ts and\n// scripts/widget-surface/classification.json for how the list is derived.\nexport * from \"./widgets.generated\"\n\n// The GTK namespaces themselves, exported as values because they carry both\n// the enums you need at runtime — `hscrollbarPolicy={Gtk.PolicyType.NEVER}` —\n// and the types you need for refs.\nexport { Gdk, Gio, GLib, GObject, Gtk, Pango } from \"../gtkx/bridge/index\"\n\n// Auxiliary JSX elements that are not Gtk.Widget subclasses, so the\n// generated widget surface above never sees them — real building blocks a\n// non-trivial app still needs: actions and menus (Gio, used through\n// `Gtk.Application`/`Gtk.ApplicationWindow`), a text buffer and an\n// adjustment (the model objects `GtkTextView`/`GtkSpinRow`-style widgets\n// bind to), keyboard shortcuts, and the two drag-and-drop controllers. See\n// docs/platform-layer.md \"Unwrapped by necessity\".\nexport {\n GMenu,\n GSimpleAction,\n GtkAdjustment,\n GtkDragSource,\n GtkDropTarget,\n GtkShortcut,\n GtkShortcutController,\n GtkTextBuffer,\n} from \"../gtkx/bridge/index\"\n\n// GSettings: reads and writes backed by a compiled `.gschema.xml` schema.\n// `useSetting`/`useBindSetting` come straight from @gtkx/react; loading a\n// `.gschema.xml` file into the `SettingsSchema` object they expect is a\n// build-time concern (see docs/platform-layer.md).\nexport {\n useBindSetting,\n useSetting,\n type SettingsSchema,\n type SettingsSchemaKeys,\n type SettingValue,\n} from \"../gtkx/bridge/index\"\n\n// @gtkx/css — a real GTK CSS class from a tagged template, the same\n// mechanism the style prop's visual half uses under the hood. Re-exported\n// here rather than left to a direct @gtkx/css dependency for the same\n// reason the namespaces above are: one subpath for the whole gtkx toolkit\n// surface, not just Gtk.Widget subclasses. `GObject` above is exported\n// mainly for `GObject.Value` — constructing a boxed value is required by\n// APIs like `Adw.Breakpoint.addSetter`, which reject a bare JS primitive\n// (see docs/platform-layer.md, \"Two ways to react to size\").\nexport { css, cx, injectGlobal } from \"../gtkx/bridge/index\"\n\n// The window and application AppRegistry itself sits on: useParentWindow\n// reaches the Gtk.Window ancestor (for anything not modeled by a prop —\n// e.g. binding a GSettings key to its own defaultWidth/defaultHeight),\n// useApplication reaches the Adw.Application (e.g. to send a\n// Gio.Notification), quit tears the whole app down programmatically (the\n// same function AppRegistry wires to a window's own close button).\nexport { quit, useApplication, useParentWindow } from \"../gtkx/bridge/index\"\n"]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
export declare const GtkActionBar: React.ComponentType<import("@gtkx/jsx/gtk").GtkActionBarProps<import("@gtkx/gi/gtk").ActionBar> & import("../common").ReactNativeLayoutProps>;
|
|
2
|
+
export declare const GtkAppChooserButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkAppChooserButtonProps<import("@gtkx/gi/gtk").AppChooserButton> & import("../common").ReactNativeLayoutProps>;
|
|
3
|
+
export declare const GtkAppChooserWidget: React.ComponentType<import("@gtkx/jsx/gtk").GtkAppChooserWidgetProps<import("@gtkx/gi/gtk").AppChooserWidget> & import("../common").ReactNativeLayoutProps>;
|
|
4
|
+
export declare const GtkAspectFrame: React.ComponentType<import("@gtkx/jsx/gtk").GtkAspectFrameProps<import("@gtkx/gi/gtk").AspectFrame> & import("../common").ReactNativeLayoutProps>;
|
|
5
|
+
export declare const GtkBox: React.ComponentType<import("@gtkx/jsx/gtk").GtkBoxProps<import("@gtkx/gi/gtk").Box> & import("../common").ReactNativeLayoutProps>;
|
|
6
|
+
export declare const GtkButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkButtonProps<import("@gtkx/gi/gtk").Button> & import("../common").ReactNativeLayoutProps>;
|
|
7
|
+
export declare const GtkCalendar: React.ComponentType<import("@gtkx/jsx/gtk").GtkCalendarProps<import("@gtkx/gi/gtk").Calendar> & import("../common").ReactNativeLayoutProps>;
|
|
8
|
+
export declare const GtkCellView: React.ComponentType<import("@gtkx/jsx/gtk").GtkCellViewProps<import("@gtkx/gi/gtk").CellView> & import("../common").ReactNativeLayoutProps>;
|
|
9
|
+
export declare const GtkCenterBox: React.ComponentType<import("@gtkx/jsx/gtk").GtkCenterBoxProps<import("@gtkx/gi/gtk").CenterBox> & import("../common").ReactNativeLayoutProps>;
|
|
10
|
+
export declare const GtkCheckButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkCheckButtonProps<import("@gtkx/gi/gtk").CheckButton> & import("../common").ReactNativeLayoutProps>;
|
|
11
|
+
export declare const GtkColorButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkColorButtonProps<import("@gtkx/gi/gtk").ColorButton> & import("../common").ReactNativeLayoutProps>;
|
|
12
|
+
export declare const GtkColorChooserWidget: React.ComponentType<import("@gtkx/jsx/gtk").GtkColorChooserWidgetProps<import("@gtkx/gi/gtk").ColorChooserWidget> & import("../common").ReactNativeLayoutProps>;
|
|
13
|
+
export declare const GtkColorDialogButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkColorDialogButtonProps<import("@gtkx/gi/gtk").ColorDialogButton> & import("../common").ReactNativeLayoutProps>;
|
|
14
|
+
export declare const GtkColumnView: React.ComponentType<import("@gtkx/jsx/gtk").GtkColumnViewProps<import("@gtkx/gi/gtk").ColumnView> & import("../common").ReactNativeLayoutProps>;
|
|
15
|
+
export declare const GtkComboBox: React.ComponentType<import("@gtkx/jsx/gtk").GtkComboBoxProps<import("@gtkx/gi/gtk").ComboBox> & import("../common").ReactNativeLayoutProps>;
|
|
16
|
+
export declare const GtkComboBoxText: React.ComponentType<import("@gtkx/jsx/gtk").GtkComboBoxTextProps<import("@gtkx/gi/gtk").ComboBoxText> & import("../common").ReactNativeLayoutProps>;
|
|
17
|
+
export declare const GtkDragIcon: React.ComponentType<import("@gtkx/jsx/gtk").GtkDragIconProps<import("@gtkx/gi/gtk").DragIcon> & import("../common").ReactNativeLayoutProps>;
|
|
18
|
+
export declare const GtkDrawingArea: React.ComponentType<import("@gtkx/jsx/gtk").GtkDrawingAreaProps<import("@gtkx/gi/gtk").DrawingArea> & import("../common").ReactNativeLayoutProps>;
|
|
19
|
+
export declare const GtkDropDown: React.ComponentType<import("@gtkx/jsx/gtk").GtkDropDownProps<import("@gtkx/gi/gtk").DropDown> & import("../common").ReactNativeLayoutProps>;
|
|
20
|
+
export declare const GtkEditableLabel: React.ComponentType<import("@gtkx/jsx/gtk").GtkEditableLabelProps<import("@gtkx/gi/gtk").EditableLabel> & import("../common").ReactNativeLayoutProps>;
|
|
21
|
+
export declare const GtkEmojiChooser: React.ComponentType<import("@gtkx/jsx/gtk").GtkEmojiChooserProps<import("@gtkx/gi/gtk").EmojiChooser> & import("../common").ReactNativeLayoutProps>;
|
|
22
|
+
export declare const GtkEntry: React.ComponentType<import("@gtkx/jsx/gtk").GtkEntryProps<import("@gtkx/gi/gtk").Entry> & import("../common").ReactNativeLayoutProps>;
|
|
23
|
+
export declare const GtkExpander: React.ComponentType<import("@gtkx/jsx/gtk").GtkExpanderProps<import("@gtkx/gi/gtk").Expander> & import("../common").ReactNativeLayoutProps>;
|
|
24
|
+
export declare const GtkFileChooserWidget: React.ComponentType<import("@gtkx/jsx/gtk").GtkFileChooserWidgetProps<import("@gtkx/gi/gtk").FileChooserWidget> & import("../common").ReactNativeLayoutProps>;
|
|
25
|
+
export declare const GtkFixed: React.ComponentType<import("@gtkx/jsx/gtk").GtkFixedProps<import("@gtkx/gi/gtk").Fixed> & import("../common").ReactNativeLayoutProps>;
|
|
26
|
+
export declare const GtkFlowBox: React.ComponentType<import("@gtkx/jsx/gtk").GtkFlowBoxProps<import("@gtkx/gi/gtk").FlowBox> & import("../common").ReactNativeLayoutProps>;
|
|
27
|
+
export declare const GtkFontButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkFontButtonProps<import("@gtkx/gi/gtk").FontButton> & import("../common").ReactNativeLayoutProps>;
|
|
28
|
+
export declare const GtkFontChooserWidget: React.ComponentType<import("@gtkx/jsx/gtk").GtkFontChooserWidgetProps<import("@gtkx/gi/gtk").FontChooserWidget> & import("../common").ReactNativeLayoutProps>;
|
|
29
|
+
export declare const GtkFontDialogButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkFontDialogButtonProps<import("@gtkx/gi/gtk").FontDialogButton> & import("../common").ReactNativeLayoutProps>;
|
|
30
|
+
export declare const GtkFrame: React.ComponentType<import("@gtkx/jsx/gtk").GtkFrameProps<import("@gtkx/gi/gtk").Frame> & import("../common").ReactNativeLayoutProps>;
|
|
31
|
+
export declare const GtkGLArea: React.ComponentType<import("@gtkx/jsx/gtk").GtkGLAreaProps<import("@gtkx/gi/gtk").GLArea> & import("../common").ReactNativeLayoutProps>;
|
|
32
|
+
export declare const GtkGraphicsOffload: React.ComponentType<import("@gtkx/jsx/gtk").GtkGraphicsOffloadProps<import("@gtkx/gi/gtk").GraphicsOffload> & import("../common").ReactNativeLayoutProps>;
|
|
33
|
+
export declare const GtkGrid: React.ComponentType<import("@gtkx/jsx/gtk").GtkGridProps<import("@gtkx/gi/gtk").Grid> & import("../common").ReactNativeLayoutProps>;
|
|
34
|
+
export declare const GtkGridView: React.ComponentType<import("@gtkx/jsx/gtk").GtkGridViewProps<import("@gtkx/gi/gtk").GridView> & import("../common").ReactNativeLayoutProps>;
|
|
35
|
+
export declare const GtkHeaderBar: React.ComponentType<import("@gtkx/jsx/gtk").GtkHeaderBarProps<import("@gtkx/gi/gtk").HeaderBar> & import("../common").ReactNativeLayoutProps>;
|
|
36
|
+
export declare const GtkIconView: React.ComponentType<import("@gtkx/jsx/gtk").GtkIconViewProps<import("@gtkx/gi/gtk").IconView> & import("../common").ReactNativeLayoutProps>;
|
|
37
|
+
export declare const GtkImage: React.ComponentType<import("@gtkx/jsx/gtk").GtkImageProps<import("@gtkx/gi/gtk").Image> & import("../common").ReactNativeLayoutProps>;
|
|
38
|
+
export declare const GtkInfoBar: React.ComponentType<import("@gtkx/jsx/gtk").GtkInfoBarProps<import("@gtkx/gi/gtk").InfoBar> & import("../common").ReactNativeLayoutProps>;
|
|
39
|
+
export declare const GtkInscription: React.ComponentType<import("@gtkx/jsx/gtk").GtkInscriptionProps<import("@gtkx/gi/gtk").Inscription> & import("../common").ReactNativeLayoutProps>;
|
|
40
|
+
export declare const GtkLabel: React.ComponentType<import("@gtkx/jsx/gtk").GtkLabelProps<import("@gtkx/gi/gtk").Label> & import("../common").ReactNativeLayoutProps>;
|
|
41
|
+
export declare const GtkLevelBar: React.ComponentType<import("@gtkx/jsx/gtk").GtkLevelBarProps<import("@gtkx/gi/gtk").LevelBar> & import("../common").ReactNativeLayoutProps>;
|
|
42
|
+
export declare const GtkLinkButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkLinkButtonProps<import("@gtkx/gi/gtk").LinkButton> & import("../common").ReactNativeLayoutProps>;
|
|
43
|
+
export declare const GtkListBox: React.ComponentType<import("@gtkx/jsx/gtk").GtkListBoxProps<import("@gtkx/gi/gtk").ListBox> & import("../common").ReactNativeLayoutProps>;
|
|
44
|
+
export declare const GtkListView: React.ComponentType<import("@gtkx/jsx/gtk").GtkListViewProps<import("@gtkx/gi/gtk").ListView> & import("../common").ReactNativeLayoutProps>;
|
|
45
|
+
export declare const GtkLockButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkLockButtonProps<import("@gtkx/gi/gtk").LockButton> & import("../common").ReactNativeLayoutProps>;
|
|
46
|
+
export declare const GtkMediaControls: React.ComponentType<import("@gtkx/jsx/gtk").GtkMediaControlsProps<import("@gtkx/gi/gtk").MediaControls> & import("../common").ReactNativeLayoutProps>;
|
|
47
|
+
export declare const GtkMenuButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkMenuButtonProps<import("@gtkx/gi/gtk").MenuButton> & import("../common").ReactNativeLayoutProps>;
|
|
48
|
+
export declare const GtkNotebook: React.ComponentType<import("@gtkx/jsx/gtk").GtkNotebookProps<import("@gtkx/gi/gtk").Notebook> & import("../common").ReactNativeLayoutProps>;
|
|
49
|
+
export declare const GtkOverlay: React.ComponentType<import("@gtkx/jsx/gtk").GtkOverlayProps<import("@gtkx/gi/gtk").Overlay> & import("../common").ReactNativeLayoutProps>;
|
|
50
|
+
export declare const GtkPaned: React.ComponentType<import("@gtkx/jsx/gtk").GtkPanedProps<import("@gtkx/gi/gtk").Paned> & import("../common").ReactNativeLayoutProps>;
|
|
51
|
+
export declare const GtkPasswordEntry: React.ComponentType<import("@gtkx/jsx/gtk").GtkPasswordEntryProps<import("@gtkx/gi/gtk").PasswordEntry> & import("../common").ReactNativeLayoutProps>;
|
|
52
|
+
export declare const GtkPicture: React.ComponentType<import("@gtkx/jsx/gtk").GtkPictureProps<import("@gtkx/gi/gtk").Picture> & import("../common").ReactNativeLayoutProps>;
|
|
53
|
+
export declare const GtkPopover: React.ComponentType<import("@gtkx/jsx/gtk").GtkPopoverProps<import("@gtkx/gi/gtk").Popover> & import("../common").ReactNativeLayoutProps>;
|
|
54
|
+
export declare const GtkPopoverBin: React.ComponentType<import("@gtkx/jsx/gtk").GtkPopoverBinProps<import("@gtkx/gi/gtk").PopoverBin> & import("../common").ReactNativeLayoutProps>;
|
|
55
|
+
export declare const GtkPopoverMenu: React.ComponentType<import("@gtkx/jsx/gtk").GtkPopoverMenuProps<import("@gtkx/gi/gtk").PopoverMenu> & import("../common").ReactNativeLayoutProps>;
|
|
56
|
+
export declare const GtkPopoverMenuBar: React.ComponentType<import("@gtkx/jsx/gtk").GtkPopoverMenuBarProps<import("@gtkx/gi/gtk").PopoverMenuBar> & import("../common").ReactNativeLayoutProps>;
|
|
57
|
+
export declare const GtkProgressBar: React.ComponentType<import("@gtkx/jsx/gtk").GtkProgressBarProps<import("@gtkx/gi/gtk").ProgressBar> & import("../common").ReactNativeLayoutProps>;
|
|
58
|
+
export declare const GtkRange: React.ComponentType<import("@gtkx/jsx/gtk").GtkRangeProps<import("@gtkx/gi/gtk").Range> & import("../common").ReactNativeLayoutProps>;
|
|
59
|
+
export declare const GtkRevealer: React.ComponentType<import("@gtkx/jsx/gtk").GtkRevealerProps<import("@gtkx/gi/gtk").Revealer> & import("../common").ReactNativeLayoutProps>;
|
|
60
|
+
export declare const GtkScale: React.ComponentType<import("@gtkx/jsx/gtk").GtkScaleProps<import("@gtkx/gi/gtk").Scale> & import("../common").ReactNativeLayoutProps>;
|
|
61
|
+
export declare const GtkScaleButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkScaleButtonProps<import("@gtkx/gi/gtk").ScaleButton> & import("../common").ReactNativeLayoutProps>;
|
|
62
|
+
export declare const GtkScrollbar: React.ComponentType<import("@gtkx/jsx/gtk").GtkScrollbarProps<import("@gtkx/gi/gtk").Scrollbar> & import("../common").ReactNativeLayoutProps>;
|
|
63
|
+
export declare const GtkScrolledWindow: React.ComponentType<import("@gtkx/jsx/gtk").GtkScrolledWindowProps<import("@gtkx/gi/gtk").ScrolledWindow> & import("../common").ReactNativeLayoutProps>;
|
|
64
|
+
export declare const GtkSearchBar: React.ComponentType<import("@gtkx/jsx/gtk").GtkSearchBarProps<import("@gtkx/gi/gtk").SearchBar> & import("../common").ReactNativeLayoutProps>;
|
|
65
|
+
export declare const GtkSearchEntry: React.ComponentType<import("@gtkx/jsx/gtk").GtkSearchEntryProps<import("@gtkx/gi/gtk").SearchEntry> & import("../common").ReactNativeLayoutProps>;
|
|
66
|
+
export declare const GtkSeparator: React.ComponentType<import("@gtkx/jsx/gtk").GtkSeparatorProps<import("@gtkx/gi/gtk").Separator> & import("../common").ReactNativeLayoutProps>;
|
|
67
|
+
export declare const GtkShortcutLabel: React.ComponentType<import("@gtkx/jsx/gtk").GtkShortcutLabelProps<import("@gtkx/gi/gtk").ShortcutLabel> & import("../common").ReactNativeLayoutProps>;
|
|
68
|
+
export declare const GtkShortcutsGroup: React.ComponentType<import("@gtkx/jsx/gtk").GtkShortcutsGroupProps<import("@gtkx/gi/gtk").ShortcutsGroup> & import("../common").ReactNativeLayoutProps>;
|
|
69
|
+
export declare const GtkShortcutsSection: React.ComponentType<import("@gtkx/jsx/gtk").GtkShortcutsSectionProps<import("@gtkx/gi/gtk").ShortcutsSection> & import("../common").ReactNativeLayoutProps>;
|
|
70
|
+
export declare const GtkShortcutsShortcut: React.ComponentType<import("@gtkx/jsx/gtk").GtkShortcutsShortcutProps<import("@gtkx/gi/gtk").ShortcutsShortcut> & import("../common").ReactNativeLayoutProps>;
|
|
71
|
+
export declare const GtkSpinButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkSpinButtonProps<import("@gtkx/gi/gtk").SpinButton> & import("../common").ReactNativeLayoutProps>;
|
|
72
|
+
export declare const GtkSpinner: React.ComponentType<import("@gtkx/jsx/gtk").GtkSpinnerProps<import("@gtkx/gi/gtk").Spinner> & import("../common").ReactNativeLayoutProps>;
|
|
73
|
+
export declare const GtkStack: React.ComponentType<import("@gtkx/jsx/gtk").GtkStackProps<import("@gtkx/gi/gtk").Stack> & import("../common").ReactNativeLayoutProps>;
|
|
74
|
+
export declare const GtkStackSidebar: React.ComponentType<import("@gtkx/jsx/gtk").GtkStackSidebarProps<import("@gtkx/gi/gtk").StackSidebar> & import("../common").ReactNativeLayoutProps>;
|
|
75
|
+
export declare const GtkStackSwitcher: React.ComponentType<import("@gtkx/jsx/gtk").GtkStackSwitcherProps<import("@gtkx/gi/gtk").StackSwitcher> & import("../common").ReactNativeLayoutProps>;
|
|
76
|
+
export declare const GtkStatusbar: React.ComponentType<import("@gtkx/jsx/gtk").GtkStatusbarProps<import("@gtkx/gi/gtk").Statusbar> & import("../common").ReactNativeLayoutProps>;
|
|
77
|
+
export declare const GtkSwitch: React.ComponentType<import("@gtkx/jsx/gtk").GtkSwitchProps<import("@gtkx/gi/gtk").Switch> & import("../common").ReactNativeLayoutProps>;
|
|
78
|
+
export declare const GtkText: React.ComponentType<import("@gtkx/jsx/gtk").GtkTextProps<import("@gtkx/gi/gtk").Text> & import("../common").ReactNativeLayoutProps>;
|
|
79
|
+
export declare const GtkTextView: React.ComponentType<import("@gtkx/jsx/gtk").GtkTextViewProps<import("@gtkx/gi/gtk").TextView> & import("../common").ReactNativeLayoutProps>;
|
|
80
|
+
export declare const GtkToggleButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkToggleButtonProps<import("@gtkx/gi/gtk").ToggleButton> & import("../common").ReactNativeLayoutProps>;
|
|
81
|
+
export declare const GtkTreeExpander: React.ComponentType<import("@gtkx/jsx/gtk").GtkTreeExpanderProps<import("@gtkx/gi/gtk").TreeExpander> & import("../common").ReactNativeLayoutProps>;
|
|
82
|
+
export declare const GtkTreeView: React.ComponentType<import("@gtkx/jsx/gtk").GtkTreeViewProps<import("@gtkx/gi/gtk").TreeView> & import("../common").ReactNativeLayoutProps>;
|
|
83
|
+
export declare const GtkVideo: React.ComponentType<import("@gtkx/jsx/gtk").GtkVideoProps<import("@gtkx/gi/gtk").Video> & import("../common").ReactNativeLayoutProps>;
|
|
84
|
+
export declare const GtkViewport: React.ComponentType<import("@gtkx/jsx/gtk").GtkViewportProps<import("@gtkx/gi/gtk").Viewport> & import("../common").ReactNativeLayoutProps>;
|
|
85
|
+
export declare const GtkVolumeButton: React.ComponentType<import("@gtkx/jsx/gtk").GtkVolumeButtonProps<import("@gtkx/gi/gtk").VolumeButton> & import("../common").ReactNativeLayoutProps>;
|
|
86
|
+
export declare const GtkWindowControls: React.ComponentType<import("@gtkx/jsx/gtk").GtkWindowControlsProps<import("@gtkx/gi/gtk").WindowControls> & import("../common").ReactNativeLayoutProps>;
|
|
87
|
+
export declare const GtkWindowHandle: React.ComponentType<import("@gtkx/jsx/gtk").GtkWindowHandleProps<import("@gtkx/gi/gtk").WindowHandle> & import("../common").ReactNativeLayoutProps>;
|
|
88
|
+
export { GtkAboutDialog, // toplevel (derives Gtk.Window)
|
|
89
|
+
GtkAppChooserDialog, // toplevel (derives Gtk.Window)
|
|
90
|
+
GtkApplicationWindow, // toplevel (derives Gtk.Window)
|
|
91
|
+
GtkAssistant, // toplevel (derives Gtk.Window)
|
|
92
|
+
GtkColorChooserDialog, // toplevel (derives Gtk.Window)
|
|
93
|
+
GtkDialog, // toplevel (derives Gtk.Window)
|
|
94
|
+
GtkFileChooserDialog, // toplevel (derives Gtk.Window)
|
|
95
|
+
GtkFlowBoxChild, // child-only (derives Gtk.FlowBoxChild)
|
|
96
|
+
GtkFontChooserDialog, // toplevel (derives Gtk.Window)
|
|
97
|
+
GtkListBoxRow, // child-only (derives Gtk.ListBoxRow)
|
|
98
|
+
GtkMessageDialog, // toplevel (derives Gtk.Window)
|
|
99
|
+
GtkPageSetupUnixDialog, // toplevel (derives Gtk.Window)
|
|
100
|
+
GtkPrintUnixDialog, // toplevel (derives Gtk.Window)
|
|
101
|
+
GtkShortcutsWindow, // toplevel (derives Gtk.Window)
|
|
102
|
+
GtkWindow, } from "../gtkx/bridge/widgets.generated";
|
|
103
|
+
export declare const GTK_WRAPPED_WIDGET_NAMES: readonly ["GtkActionBar", "GtkAppChooserButton", "GtkAppChooserWidget", "GtkAspectFrame", "GtkBox", "GtkButton", "GtkCalendar", "GtkCellView", "GtkCenterBox", "GtkCheckButton", "GtkColorButton", "GtkColorChooserWidget", "GtkColorDialogButton", "GtkColumnView", "GtkComboBox", "GtkComboBoxText", "GtkDragIcon", "GtkDrawingArea", "GtkDropDown", "GtkEditableLabel", "GtkEmojiChooser", "GtkEntry", "GtkExpander", "GtkFileChooserWidget", "GtkFixed", "GtkFlowBox", "GtkFontButton", "GtkFontChooserWidget", "GtkFontDialogButton", "GtkFrame", "GtkGLArea", "GtkGraphicsOffload", "GtkGrid", "GtkGridView", "GtkHeaderBar", "GtkIconView", "GtkImage", "GtkInfoBar", "GtkInscription", "GtkLabel", "GtkLevelBar", "GtkLinkButton", "GtkListBox", "GtkListView", "GtkLockButton", "GtkMediaControls", "GtkMenuButton", "GtkNotebook", "GtkOverlay", "GtkPaned", "GtkPasswordEntry", "GtkPicture", "GtkPopover", "GtkPopoverBin", "GtkPopoverMenu", "GtkPopoverMenuBar", "GtkProgressBar", "GtkRange", "GtkRevealer", "GtkScale", "GtkScaleButton", "GtkScrollbar", "GtkScrolledWindow", "GtkSearchBar", "GtkSearchEntry", "GtkSeparator", "GtkShortcutLabel", "GtkShortcutsGroup", "GtkShortcutsSection", "GtkShortcutsShortcut", "GtkSpinButton", "GtkSpinner", "GtkStack", "GtkStackSidebar", "GtkStackSwitcher", "GtkStatusbar", "GtkSwitch", "GtkText", "GtkTextView", "GtkToggleButton", "GtkTreeExpander", "GtkTreeView", "GtkVideo", "GtkViewport", "GtkVolumeButton", "GtkWindowControls", "GtkWindowHandle"];
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
// GENERATED FILE — do not edit by hand.
|
|
2
|
+
// Produced by scripts/generate-widget-surface.ts. Re-run it inside the VM
|
|
3
|
+
// after `npm run codegen` picks up a gtkx update; see
|
|
4
|
+
// scripts/widget-surface/classification.json for the full classification
|
|
5
|
+
// and .claude/epics/widget-surface/ for the rules behind it.
|
|
6
|
+
//
|
|
7
|
+
// Wrapped: RN layout + a GTK CSS class from the style prop, steps aside and
|
|
8
|
+
// renders bare outside RN layout (see wrapReactNative in ../common/widget).
|
|
9
|
+
// Raw: toplevels and child-only widgets, where a wrapper box would be
|
|
10
|
+
// invalid GTK rather than a convenience — exported as gtkx binds them, same
|
|
11
|
+
// as the hand-picked ones were before this file existed.
|
|
12
|
+
import { wrapReactNative } from "../common/widget";
|
|
13
|
+
import { GtkActionBar as RawGtkActionBar, GtkAppChooserButton as RawGtkAppChooserButton, GtkAppChooserWidget as RawGtkAppChooserWidget, GtkAspectFrame as RawGtkAspectFrame, GtkBox as RawGtkBox, GtkButton as RawGtkButton, GtkCalendar as RawGtkCalendar, GtkCellView as RawGtkCellView, GtkCenterBox as RawGtkCenterBox, GtkCheckButton as RawGtkCheckButton, GtkColorButton as RawGtkColorButton, GtkColorChooserWidget as RawGtkColorChooserWidget, GtkColorDialogButton as RawGtkColorDialogButton, GtkColumnView as RawGtkColumnView, GtkComboBox as RawGtkComboBox, GtkComboBoxText as RawGtkComboBoxText, GtkDragIcon as RawGtkDragIcon, GtkDrawingArea as RawGtkDrawingArea, GtkDropDown as RawGtkDropDown, GtkEditableLabel as RawGtkEditableLabel, GtkEmojiChooser as RawGtkEmojiChooser, GtkEntry as RawGtkEntry, GtkExpander as RawGtkExpander, GtkFileChooserWidget as RawGtkFileChooserWidget, GtkFixed as RawGtkFixed, GtkFlowBox as RawGtkFlowBox, GtkFontButton as RawGtkFontButton, GtkFontChooserWidget as RawGtkFontChooserWidget, GtkFontDialogButton as RawGtkFontDialogButton, GtkFrame as RawGtkFrame, GtkGLArea as RawGtkGLArea, GtkGraphicsOffload as RawGtkGraphicsOffload, GtkGrid as RawGtkGrid, GtkGridView as RawGtkGridView, GtkHeaderBar as RawGtkHeaderBar, GtkIconView as RawGtkIconView, GtkImage as RawGtkImage, GtkInfoBar as RawGtkInfoBar, GtkInscription as RawGtkInscription, GtkLabel as RawGtkLabel, GtkLevelBar as RawGtkLevelBar, GtkLinkButton as RawGtkLinkButton, GtkListBox as RawGtkListBox, GtkListView as RawGtkListView, GtkLockButton as RawGtkLockButton, GtkMediaControls as RawGtkMediaControls, GtkMenuButton as RawGtkMenuButton, GtkNotebook as RawGtkNotebook, GtkOverlay as RawGtkOverlay, GtkPaned as RawGtkPaned, GtkPasswordEntry as RawGtkPasswordEntry, GtkPicture as RawGtkPicture, GtkPopover as RawGtkPopover, GtkPopoverBin as RawGtkPopoverBin, GtkPopoverMenu as RawGtkPopoverMenu, GtkPopoverMenuBar as RawGtkPopoverMenuBar, GtkProgressBar as RawGtkProgressBar, GtkRange as RawGtkRange, GtkRevealer as RawGtkRevealer, GtkScale as RawGtkScale, GtkScaleButton as RawGtkScaleButton, GtkScrollbar as RawGtkScrollbar, GtkScrolledWindow as RawGtkScrolledWindow, GtkSearchBar as RawGtkSearchBar, GtkSearchEntry as RawGtkSearchEntry, GtkSeparator as RawGtkSeparator, GtkShortcutLabel as RawGtkShortcutLabel, GtkShortcutsGroup as RawGtkShortcutsGroup, GtkShortcutsSection as RawGtkShortcutsSection, GtkShortcutsShortcut as RawGtkShortcutsShortcut, GtkSpinButton as RawGtkSpinButton, GtkSpinner as RawGtkSpinner, GtkStack as RawGtkStack, GtkStackSidebar as RawGtkStackSidebar, GtkStackSwitcher as RawGtkStackSwitcher, GtkStatusbar as RawGtkStatusbar, GtkSwitch as RawGtkSwitch, GtkText as RawGtkText, GtkTextView as RawGtkTextView, GtkToggleButton as RawGtkToggleButton, GtkTreeExpander as RawGtkTreeExpander, GtkTreeView as RawGtkTreeView, GtkVideo as RawGtkVideo, GtkViewport as RawGtkViewport, GtkVolumeButton as RawGtkVolumeButton, GtkWindowControls as RawGtkWindowControls, GtkWindowHandle as RawGtkWindowHandle, } from "../gtkx/bridge/widgets.generated";
|
|
14
|
+
export const GtkActionBar = wrapReactNative(RawGtkActionBar);
|
|
15
|
+
export const GtkAppChooserButton = wrapReactNative(RawGtkAppChooserButton);
|
|
16
|
+
export const GtkAppChooserWidget = wrapReactNative(RawGtkAppChooserWidget);
|
|
17
|
+
export const GtkAspectFrame = wrapReactNative(RawGtkAspectFrame);
|
|
18
|
+
export const GtkBox = wrapReactNative(RawGtkBox);
|
|
19
|
+
export const GtkButton = wrapReactNative(RawGtkButton);
|
|
20
|
+
export const GtkCalendar = wrapReactNative(RawGtkCalendar);
|
|
21
|
+
export const GtkCellView = wrapReactNative(RawGtkCellView);
|
|
22
|
+
export const GtkCenterBox = wrapReactNative(RawGtkCenterBox);
|
|
23
|
+
export const GtkCheckButton = wrapReactNative(RawGtkCheckButton);
|
|
24
|
+
export const GtkColorButton = wrapReactNative(RawGtkColorButton);
|
|
25
|
+
export const GtkColorChooserWidget = wrapReactNative(RawGtkColorChooserWidget);
|
|
26
|
+
export const GtkColorDialogButton = wrapReactNative(RawGtkColorDialogButton);
|
|
27
|
+
export const GtkColumnView = wrapReactNative(RawGtkColumnView);
|
|
28
|
+
export const GtkComboBox = wrapReactNative(RawGtkComboBox);
|
|
29
|
+
export const GtkComboBoxText = wrapReactNative(RawGtkComboBoxText);
|
|
30
|
+
export const GtkDragIcon = wrapReactNative(RawGtkDragIcon);
|
|
31
|
+
export const GtkDrawingArea = wrapReactNative(RawGtkDrawingArea);
|
|
32
|
+
export const GtkDropDown = wrapReactNative(RawGtkDropDown);
|
|
33
|
+
export const GtkEditableLabel = wrapReactNative(RawGtkEditableLabel);
|
|
34
|
+
export const GtkEmojiChooser = wrapReactNative(RawGtkEmojiChooser);
|
|
35
|
+
export const GtkEntry = wrapReactNative(RawGtkEntry);
|
|
36
|
+
export const GtkExpander = wrapReactNative(RawGtkExpander);
|
|
37
|
+
export const GtkFileChooserWidget = wrapReactNative(RawGtkFileChooserWidget);
|
|
38
|
+
export const GtkFixed = wrapReactNative(RawGtkFixed);
|
|
39
|
+
export const GtkFlowBox = wrapReactNative(RawGtkFlowBox);
|
|
40
|
+
export const GtkFontButton = wrapReactNative(RawGtkFontButton);
|
|
41
|
+
export const GtkFontChooserWidget = wrapReactNative(RawGtkFontChooserWidget);
|
|
42
|
+
export const GtkFontDialogButton = wrapReactNative(RawGtkFontDialogButton);
|
|
43
|
+
export const GtkFrame = wrapReactNative(RawGtkFrame);
|
|
44
|
+
export const GtkGLArea = wrapReactNative(RawGtkGLArea);
|
|
45
|
+
export const GtkGraphicsOffload = wrapReactNative(RawGtkGraphicsOffload);
|
|
46
|
+
export const GtkGrid = wrapReactNative(RawGtkGrid);
|
|
47
|
+
export const GtkGridView = wrapReactNative(RawGtkGridView);
|
|
48
|
+
export const GtkHeaderBar = wrapReactNative(RawGtkHeaderBar);
|
|
49
|
+
export const GtkIconView = wrapReactNative(RawGtkIconView);
|
|
50
|
+
export const GtkImage = wrapReactNative(RawGtkImage);
|
|
51
|
+
export const GtkInfoBar = wrapReactNative(RawGtkInfoBar);
|
|
52
|
+
export const GtkInscription = wrapReactNative(RawGtkInscription);
|
|
53
|
+
export const GtkLabel = wrapReactNative(RawGtkLabel);
|
|
54
|
+
export const GtkLevelBar = wrapReactNative(RawGtkLevelBar);
|
|
55
|
+
export const GtkLinkButton = wrapReactNative(RawGtkLinkButton);
|
|
56
|
+
export const GtkListBox = wrapReactNative(RawGtkListBox);
|
|
57
|
+
export const GtkListView = wrapReactNative(RawGtkListView);
|
|
58
|
+
export const GtkLockButton = wrapReactNative(RawGtkLockButton);
|
|
59
|
+
export const GtkMediaControls = wrapReactNative(RawGtkMediaControls);
|
|
60
|
+
export const GtkMenuButton = wrapReactNative(RawGtkMenuButton);
|
|
61
|
+
export const GtkNotebook = wrapReactNative(RawGtkNotebook);
|
|
62
|
+
export const GtkOverlay = wrapReactNative(RawGtkOverlay);
|
|
63
|
+
export const GtkPaned = wrapReactNative(RawGtkPaned);
|
|
64
|
+
export const GtkPasswordEntry = wrapReactNative(RawGtkPasswordEntry);
|
|
65
|
+
export const GtkPicture = wrapReactNative(RawGtkPicture);
|
|
66
|
+
export const GtkPopover = wrapReactNative(RawGtkPopover);
|
|
67
|
+
export const GtkPopoverBin = wrapReactNative(RawGtkPopoverBin);
|
|
68
|
+
export const GtkPopoverMenu = wrapReactNative(RawGtkPopoverMenu);
|
|
69
|
+
export const GtkPopoverMenuBar = wrapReactNative(RawGtkPopoverMenuBar);
|
|
70
|
+
export const GtkProgressBar = wrapReactNative(RawGtkProgressBar);
|
|
71
|
+
export const GtkRange = wrapReactNative(RawGtkRange);
|
|
72
|
+
export const GtkRevealer = wrapReactNative(RawGtkRevealer);
|
|
73
|
+
export const GtkScale = wrapReactNative(RawGtkScale);
|
|
74
|
+
export const GtkScaleButton = wrapReactNative(RawGtkScaleButton);
|
|
75
|
+
export const GtkScrollbar = wrapReactNative(RawGtkScrollbar);
|
|
76
|
+
export const GtkScrolledWindow = wrapReactNative(RawGtkScrolledWindow);
|
|
77
|
+
export const GtkSearchBar = wrapReactNative(RawGtkSearchBar);
|
|
78
|
+
export const GtkSearchEntry = wrapReactNative(RawGtkSearchEntry);
|
|
79
|
+
export const GtkSeparator = wrapReactNative(RawGtkSeparator);
|
|
80
|
+
export const GtkShortcutLabel = wrapReactNative(RawGtkShortcutLabel);
|
|
81
|
+
export const GtkShortcutsGroup = wrapReactNative(RawGtkShortcutsGroup);
|
|
82
|
+
export const GtkShortcutsSection = wrapReactNative(RawGtkShortcutsSection);
|
|
83
|
+
export const GtkShortcutsShortcut = wrapReactNative(RawGtkShortcutsShortcut);
|
|
84
|
+
export const GtkSpinButton = wrapReactNative(RawGtkSpinButton);
|
|
85
|
+
export const GtkSpinner = wrapReactNative(RawGtkSpinner);
|
|
86
|
+
export const GtkStack = wrapReactNative(RawGtkStack);
|
|
87
|
+
export const GtkStackSidebar = wrapReactNative(RawGtkStackSidebar);
|
|
88
|
+
export const GtkStackSwitcher = wrapReactNative(RawGtkStackSwitcher);
|
|
89
|
+
export const GtkStatusbar = wrapReactNative(RawGtkStatusbar);
|
|
90
|
+
export const GtkSwitch = wrapReactNative(RawGtkSwitch);
|
|
91
|
+
export const GtkText = wrapReactNative(RawGtkText);
|
|
92
|
+
export const GtkTextView = wrapReactNative(RawGtkTextView);
|
|
93
|
+
export const GtkToggleButton = wrapReactNative(RawGtkToggleButton);
|
|
94
|
+
export const GtkTreeExpander = wrapReactNative(RawGtkTreeExpander);
|
|
95
|
+
export const GtkTreeView = wrapReactNative(RawGtkTreeView);
|
|
96
|
+
export const GtkVideo = wrapReactNative(RawGtkVideo);
|
|
97
|
+
export const GtkViewport = wrapReactNative(RawGtkViewport);
|
|
98
|
+
export const GtkVolumeButton = wrapReactNative(RawGtkVolumeButton);
|
|
99
|
+
export const GtkWindowControls = wrapReactNative(RawGtkWindowControls);
|
|
100
|
+
export const GtkWindowHandle = wrapReactNative(RawGtkWindowHandle);
|
|
101
|
+
export { GtkAboutDialog, // toplevel (derives Gtk.Window)
|
|
102
|
+
GtkAppChooserDialog, // toplevel (derives Gtk.Window)
|
|
103
|
+
GtkApplicationWindow, // toplevel (derives Gtk.Window)
|
|
104
|
+
GtkAssistant, // toplevel (derives Gtk.Window)
|
|
105
|
+
GtkColorChooserDialog, // toplevel (derives Gtk.Window)
|
|
106
|
+
GtkDialog, // toplevel (derives Gtk.Window)
|
|
107
|
+
GtkFileChooserDialog, // toplevel (derives Gtk.Window)
|
|
108
|
+
GtkFlowBoxChild, // child-only (derives Gtk.FlowBoxChild)
|
|
109
|
+
GtkFontChooserDialog, // toplevel (derives Gtk.Window)
|
|
110
|
+
GtkListBoxRow, // child-only (derives Gtk.ListBoxRow)
|
|
111
|
+
GtkMessageDialog, // toplevel (derives Gtk.Window)
|
|
112
|
+
GtkPageSetupUnixDialog, // toplevel (derives Gtk.Window)
|
|
113
|
+
GtkPrintUnixDialog, // toplevel (derives Gtk.Window)
|
|
114
|
+
GtkShortcutsWindow, // toplevel (derives Gtk.Window)
|
|
115
|
+
GtkWindow, // toplevel (derives Gtk.Window)
|
|
116
|
+
} from "../gtkx/bridge/widgets.generated";
|
|
117
|
+
export const GTK_WRAPPED_WIDGET_NAMES = [
|
|
118
|
+
"GtkActionBar",
|
|
119
|
+
"GtkAppChooserButton",
|
|
120
|
+
"GtkAppChooserWidget",
|
|
121
|
+
"GtkAspectFrame",
|
|
122
|
+
"GtkBox",
|
|
123
|
+
"GtkButton",
|
|
124
|
+
"GtkCalendar",
|
|
125
|
+
"GtkCellView",
|
|
126
|
+
"GtkCenterBox",
|
|
127
|
+
"GtkCheckButton",
|
|
128
|
+
"GtkColorButton",
|
|
129
|
+
"GtkColorChooserWidget",
|
|
130
|
+
"GtkColorDialogButton",
|
|
131
|
+
"GtkColumnView",
|
|
132
|
+
"GtkComboBox",
|
|
133
|
+
"GtkComboBoxText",
|
|
134
|
+
"GtkDragIcon",
|
|
135
|
+
"GtkDrawingArea",
|
|
136
|
+
"GtkDropDown",
|
|
137
|
+
"GtkEditableLabel",
|
|
138
|
+
"GtkEmojiChooser",
|
|
139
|
+
"GtkEntry",
|
|
140
|
+
"GtkExpander",
|
|
141
|
+
"GtkFileChooserWidget",
|
|
142
|
+
"GtkFixed",
|
|
143
|
+
"GtkFlowBox",
|
|
144
|
+
"GtkFontButton",
|
|
145
|
+
"GtkFontChooserWidget",
|
|
146
|
+
"GtkFontDialogButton",
|
|
147
|
+
"GtkFrame",
|
|
148
|
+
"GtkGLArea",
|
|
149
|
+
"GtkGraphicsOffload",
|
|
150
|
+
"GtkGrid",
|
|
151
|
+
"GtkGridView",
|
|
152
|
+
"GtkHeaderBar",
|
|
153
|
+
"GtkIconView",
|
|
154
|
+
"GtkImage",
|
|
155
|
+
"GtkInfoBar",
|
|
156
|
+
"GtkInscription",
|
|
157
|
+
"GtkLabel",
|
|
158
|
+
"GtkLevelBar",
|
|
159
|
+
"GtkLinkButton",
|
|
160
|
+
"GtkListBox",
|
|
161
|
+
"GtkListView",
|
|
162
|
+
"GtkLockButton",
|
|
163
|
+
"GtkMediaControls",
|
|
164
|
+
"GtkMenuButton",
|
|
165
|
+
"GtkNotebook",
|
|
166
|
+
"GtkOverlay",
|
|
167
|
+
"GtkPaned",
|
|
168
|
+
"GtkPasswordEntry",
|
|
169
|
+
"GtkPicture",
|
|
170
|
+
"GtkPopover",
|
|
171
|
+
"GtkPopoverBin",
|
|
172
|
+
"GtkPopoverMenu",
|
|
173
|
+
"GtkPopoverMenuBar",
|
|
174
|
+
"GtkProgressBar",
|
|
175
|
+
"GtkRange",
|
|
176
|
+
"GtkRevealer",
|
|
177
|
+
"GtkScale",
|
|
178
|
+
"GtkScaleButton",
|
|
179
|
+
"GtkScrollbar",
|
|
180
|
+
"GtkScrolledWindow",
|
|
181
|
+
"GtkSearchBar",
|
|
182
|
+
"GtkSearchEntry",
|
|
183
|
+
"GtkSeparator",
|
|
184
|
+
"GtkShortcutLabel",
|
|
185
|
+
"GtkShortcutsGroup",
|
|
186
|
+
"GtkShortcutsSection",
|
|
187
|
+
"GtkShortcutsShortcut",
|
|
188
|
+
"GtkSpinButton",
|
|
189
|
+
"GtkSpinner",
|
|
190
|
+
"GtkStack",
|
|
191
|
+
"GtkStackSidebar",
|
|
192
|
+
"GtkStackSwitcher",
|
|
193
|
+
"GtkStatusbar",
|
|
194
|
+
"GtkSwitch",
|
|
195
|
+
"GtkText",
|
|
196
|
+
"GtkTextView",
|
|
197
|
+
"GtkToggleButton",
|
|
198
|
+
"GtkTreeExpander",
|
|
199
|
+
"GtkTreeView",
|
|
200
|
+
"GtkVideo",
|
|
201
|
+
"GtkViewport",
|
|
202
|
+
"GtkVolumeButton",
|
|
203
|
+
"GtkWindowControls",
|
|
204
|
+
"GtkWindowHandle",
|
|
205
|
+
];
|
|
206
|
+
//# sourceMappingURL=widgets.generated.js.map
|
|
@@ -0,0 +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"]}
|