@gtkx/react 0.21.0 → 1.0.0-rc.2
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 +137 -34
- package/dist/adw/config.d.ts +2 -0
- package/dist/adw/config.d.ts.map +1 -0
- package/dist/adw/config.js +2 -0
- package/dist/adw/config.js.map +1 -0
- package/dist/adw/dialog.d.ts +8 -0
- package/dist/adw/dialog.d.ts.map +1 -0
- package/dist/adw/dialog.js +25 -0
- package/dist/adw/dialog.js.map +1 -0
- package/dist/adw/element-behaviors.d.ts +2 -0
- package/dist/adw/element-behaviors.d.ts.map +1 -0
- package/dist/adw/element-behaviors.js +299 -0
- package/dist/adw/element-behaviors.js.map +1 -0
- package/dist/adw/element-config.d.ts +9 -0
- package/dist/adw/element-config.d.ts.map +1 -0
- package/dist/adw/element-config.js +137 -0
- package/dist/adw/element-config.js.map +1 -0
- package/dist/adw/index.d.ts +4 -0
- package/dist/adw/index.d.ts.map +1 -0
- package/dist/adw/index.js +3 -0
- package/dist/adw/index.js.map +1 -0
- package/dist/adw/prop-types.d.ts +29 -0
- package/dist/adw/prop-types.d.ts.map +1 -0
- package/dist/adw/prop-types.js +2 -0
- package/dist/adw/prop-types.js.map +1 -0
- package/dist/bootstrap.d.ts +2 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +5 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/components/application.d.ts +10 -0
- package/dist/components/application.d.ts.map +1 -0
- package/dist/components/application.js +39 -0
- package/dist/components/application.js.map +1 -0
- package/dist/components/element.d.ts +6 -0
- package/dist/components/element.d.ts.map +1 -0
- package/dist/components/element.js +29 -0
- package/dist/components/element.js.map +1 -0
- package/dist/components/window.d.ts +8 -0
- package/dist/components/window.d.ts.map +1 -0
- package/dist/components/window.js +22 -0
- package/dist/components/window.js.map +1 -0
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -0
- package/dist/element-behaviors.d.ts +2 -0
- package/dist/element-behaviors.d.ts.map +1 -0
- package/dist/element-behaviors.js +348 -0
- package/dist/element-behaviors.js.map +1 -0
- package/dist/element-config.d.ts +10 -0
- package/dist/element-config.d.ts.map +1 -0
- package/dist/element-config.js +146 -0
- package/dist/element-config.js.map +1 -0
- package/dist/hooks/use-application.d.ts +9 -0
- package/dist/hooks/use-application.d.ts.map +1 -0
- package/dist/hooks/use-application.js +14 -0
- package/dist/hooks/use-application.js.map +1 -0
- package/dist/hooks/use-bind-setting.d.ts +23 -0
- package/dist/hooks/use-bind-setting.d.ts.map +1 -0
- package/dist/hooks/use-bind-setting.js +30 -0
- package/dist/hooks/use-bind-setting.js.map +1 -0
- package/dist/hooks/use-merged-refs.d.ts +8 -0
- package/dist/hooks/use-merged-refs.d.ts.map +1 -0
- package/dist/hooks/use-merged-refs.js +48 -0
- package/dist/hooks/use-merged-refs.js.map +1 -0
- package/dist/hooks/use-object-value.d.ts +5 -0
- package/dist/hooks/use-object-value.d.ts.map +1 -0
- package/dist/hooks/use-object-value.js +29 -0
- package/dist/hooks/use-object-value.js.map +1 -0
- package/dist/hooks/use-parent-window.d.ts +9 -0
- package/dist/hooks/use-parent-window.d.ts.map +1 -0
- package/dist/hooks/use-parent-window.js +8 -0
- package/dist/hooks/use-parent-window.js.map +1 -0
- package/dist/hooks/use-property.d.ts +14 -0
- package/dist/hooks/use-property.d.ts.map +1 -0
- package/dist/hooks/use-property.js +14 -0
- package/dist/hooks/use-property.js.map +1 -0
- package/dist/hooks/use-setting.d.ts +14 -0
- package/dist/hooks/use-setting.d.ts.map +1 -0
- package/dist/hooks/use-setting.js +20 -0
- package/dist/hooks/use-setting.js.map +1 -0
- package/dist/hooks/use-signal.d.ts +24 -0
- package/dist/hooks/use-signal.d.ts.map +1 -0
- package/dist/hooks/use-signal.js +31 -0
- package/dist/hooks/use-signal.js.map +1 -0
- package/dist/index.d.ts +13 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -7
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +13 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +12 -0
- package/dist/internal.js.map +1 -0
- package/dist/prop-types.d.ts +110 -0
- package/dist/prop-types.d.ts.map +1 -0
- package/dist/prop-types.js +2 -0
- package/dist/prop-types.js.map +1 -0
- package/dist/reconciler/apply-props.d.ts +11 -0
- package/dist/reconciler/apply-props.d.ts.map +1 -0
- package/dist/reconciler/apply-props.js +190 -0
- package/dist/reconciler/apply-props.js.map +1 -0
- package/dist/reconciler/behaviors.d.ts +59 -0
- package/dist/reconciler/behaviors.d.ts.map +1 -0
- package/dist/reconciler/behaviors.js +172 -0
- package/dist/reconciler/behaviors.js.map +1 -0
- package/dist/reconciler/child-routing.d.ts +5 -0
- package/dist/reconciler/child-routing.d.ts.map +1 -0
- package/dist/reconciler/child-routing.js +156 -0
- package/dist/reconciler/child-routing.js.map +1 -0
- package/dist/reconciler/host-config.d.ts +9 -0
- package/dist/reconciler/host-config.d.ts.map +1 -0
- package/dist/reconciler/host-config.js +214 -0
- package/dist/reconciler/host-config.js.map +1 -0
- package/dist/reconciler/instance.d.ts +5 -0
- package/dist/reconciler/instance.d.ts.map +1 -0
- package/dist/reconciler/instance.js +49 -0
- package/dist/reconciler/instance.js.map +1 -0
- package/dist/reconciler/metadata.d.ts +17 -0
- package/dist/reconciler/metadata.d.ts.map +1 -0
- package/dist/reconciler/metadata.js +82 -0
- package/dist/reconciler/metadata.js.map +1 -0
- package/dist/reconciler/node.d.ts +76 -0
- package/dist/reconciler/node.d.ts.map +1 -0
- package/dist/reconciler/node.js +53 -0
- package/dist/reconciler/node.js.map +1 -0
- package/dist/reconciler/placement.d.ts +5 -0
- package/dist/reconciler/placement.d.ts.map +1 -0
- package/dist/reconciler/placement.js +175 -0
- package/dist/reconciler/placement.js.map +1 -0
- package/dist/reconciler/registry.d.ts +92 -0
- package/dist/reconciler/registry.d.ts.map +1 -0
- package/dist/reconciler/registry.js +64 -0
- package/dist/reconciler/registry.js.map +1 -0
- package/dist/reconciler/root-element.d.ts +11 -0
- package/dist/reconciler/root-element.d.ts.map +1 -0
- package/dist/reconciler/root-element.js +7 -0
- package/dist/reconciler/root-element.js.map +1 -0
- package/dist/reconciler/root.d.ts +56 -0
- package/dist/reconciler/root.d.ts.map +1 -0
- package/dist/reconciler/root.js +109 -0
- package/dist/reconciler/root.js.map +1 -0
- package/dist/reconciler/signals.d.ts +10 -0
- package/dist/reconciler/signals.d.ts.map +1 -0
- package/dist/reconciler/signals.js +70 -0
- package/dist/reconciler/signals.js.map +1 -0
- package/dist/reconciler/text.d.ts +19 -0
- package/dist/reconciler/text.d.ts.map +1 -0
- package/dist/reconciler/text.js +276 -0
- package/dist/reconciler/text.js.map +1 -0
- package/dist/utils/accessible-metadata.d.ts +12 -0
- package/dist/utils/accessible-metadata.d.ts.map +1 -0
- package/dist/utils/accessible-metadata.js +25 -0
- package/dist/utils/accessible-metadata.js.map +1 -0
- package/dist/utils/accessible-props.d.ts +60 -0
- package/dist/utils/accessible-props.d.ts.map +1 -0
- package/dist/utils/accessible-props.js +181 -0
- package/dist/utils/accessible-props.js.map +1 -0
- package/dist/utils/ref-prop.d.ts +15 -0
- package/dist/utils/ref-prop.d.ts.map +1 -0
- package/dist/utils/ref-prop.js +18 -0
- package/dist/utils/ref-prop.js.map +1 -0
- package/dist/utils/settings.d.ts +17 -0
- package/dist/utils/settings.d.ts.map +1 -0
- package/dist/utils/settings.js +37 -0
- package/dist/utils/settings.js.map +1 -0
- package/dist/utils/variant.d.ts +57 -0
- package/dist/utils/variant.d.ts.map +1 -0
- package/dist/utils/variant.js +197 -0
- package/dist/utils/variant.js.map +1 -0
- package/env.d.ts +9 -0
- package/package.json +49 -10
- package/src/adw/config.ts +1 -0
- package/src/adw/dialog.tsx +35 -0
- package/src/adw/element-behaviors.ts +379 -0
- package/src/adw/element-config.ts +140 -0
- package/src/adw/index.ts +4 -0
- package/src/adw/prop-types.ts +42 -0
- package/src/bootstrap.ts +5 -0
- package/src/components/application.tsx +62 -0
- package/src/components/element.tsx +47 -0
- package/src/components/window.tsx +35 -0
- package/src/config.ts +3 -0
- package/src/element-behaviors.ts +424 -0
- package/src/element-config.ts +148 -0
- package/src/env.d.ts +1 -0
- package/src/hooks/use-application.ts +19 -0
- package/src/hooks/use-bind-setting.ts +51 -0
- package/src/hooks/use-merged-refs.ts +64 -0
- package/src/hooks/use-object-value.ts +54 -0
- package/src/hooks/use-parent-window.ts +11 -0
- package/src/hooks/use-property.ts +23 -0
- package/src/hooks/use-setting.ts +34 -0
- package/src/hooks/use-signal.ts +60 -0
- package/src/index.ts +14 -14
- package/src/internal.ts +13 -0
- package/src/prop-types.ts +142 -0
- package/src/reconciler/apply-props.ts +265 -0
- package/src/reconciler/behaviors.ts +324 -0
- package/src/reconciler/child-routing.ts +202 -0
- package/src/reconciler/host-config.ts +278 -0
- package/src/reconciler/instance.ts +82 -0
- package/src/reconciler/metadata.ts +119 -0
- package/src/reconciler/node.ts +161 -0
- package/src/reconciler/placement.ts +255 -0
- package/src/reconciler/registry.ts +161 -0
- package/src/reconciler/root-element.ts +12 -0
- package/src/reconciler/root.ts +175 -0
- package/src/reconciler/signals.ts +113 -0
- package/src/reconciler/text.ts +407 -0
- package/src/utils/accessible-metadata.ts +31 -0
- package/src/utils/accessible-props.ts +279 -0
- package/src/utils/ref-prop.ts +30 -0
- package/src/utils/settings.ts +69 -0
- package/src/utils/variant.ts +368 -0
- package/dist/components/compound.d.ts +0 -40
- package/dist/components/compound.d.ts.map +0 -1
- package/dist/components/compound.js +0 -46
- package/dist/components/compound.js.map +0 -1
- package/dist/components/list.d.ts +0 -75
- package/dist/components/list.d.ts.map +0 -1
- package/dist/components/list.js +0 -81
- package/dist/components/list.js.map +0 -1
- package/dist/components/slot-widget.d.ts +0 -15
- package/dist/components/slot-widget.d.ts.map +0 -1
- package/dist/components/slot-widget.js +0 -37
- package/dist/components/slot-widget.js.map +0 -1
- package/dist/errors.d.ts +0 -15
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -44
- package/dist/errors.js.map +0 -1
- package/dist/factory.d.ts +0 -5
- package/dist/factory.d.ts.map +0 -1
- package/dist/factory.js +0 -37
- package/dist/factory.js.map +0 -1
- package/dist/generated/compounds.d.ts +0 -2672
- package/dist/generated/compounds.d.ts.map +0 -1
- package/dist/generated/compounds.js +0 -2624
- package/dist/generated/compounds.js.map +0 -1
- package/dist/generated/internal.d.ts +0 -16
- package/dist/generated/internal.d.ts.map +0 -1
- package/dist/generated/internal.js +0 -3638
- package/dist/generated/internal.js.map +0 -1
- package/dist/generated/jsx.d.ts +0 -17074
- package/dist/generated/jsx.d.ts.map +0 -1
- package/dist/generated/jsx.js +0 -6715
- package/dist/generated/jsx.js.map +0 -1
- package/dist/generated/registry.d.ts +0 -5
- package/dist/generated/registry.d.ts.map +0 -1
- package/dist/generated/registry.js +0 -13
- package/dist/generated/registry.js.map +0 -1
- package/dist/host-config.d.ts +0 -24
- package/dist/host-config.d.ts.map +0 -1
- package/dist/host-config.js +0 -172
- package/dist/host-config.js.map +0 -1
- package/dist/jsx.d.ts +0 -974
- package/dist/jsx.d.ts.map +0 -1
- package/dist/jsx.js +0 -8
- package/dist/jsx.js.map +0 -1
- package/dist/metadata.d.ts +0 -5
- package/dist/metadata.d.ts.map +0 -1
- package/dist/metadata.js +0 -33
- package/dist/metadata.js.map +0 -1
- package/dist/node.d.ts +0 -25
- package/dist/node.d.ts.map +0 -1
- package/dist/node.js +0 -85
- package/dist/node.js.map +0 -1
- package/dist/nodes/adjustable.d.ts +0 -11
- package/dist/nodes/adjustable.d.ts.map +0 -1
- package/dist/nodes/adjustable.js +0 -46
- package/dist/nodes/adjustable.js.map +0 -1
- package/dist/nodes/alert-dialog-response.d.ts +0 -15
- package/dist/nodes/alert-dialog-response.d.ts.map +0 -1
- package/dist/nodes/alert-dialog-response.js +0 -61
- package/dist/nodes/alert-dialog-response.js.map +0 -1
- package/dist/nodes/alert-dialog.d.ts +0 -14
- package/dist/nodes/alert-dialog.d.ts.map +0 -1
- package/dist/nodes/alert-dialog.js +0 -41
- package/dist/nodes/alert-dialog.js.map +0 -1
- package/dist/nodes/animation.d.ts +0 -39
- package/dist/nodes/animation.d.ts.map +0 -1
- package/dist/nodes/animation.js +0 -326
- package/dist/nodes/animation.js.map +0 -1
- package/dist/nodes/application.d.ts +0 -12
- package/dist/nodes/application.d.ts.map +0 -1
- package/dist/nodes/application.js +0 -51
- package/dist/nodes/application.js.map +0 -1
- package/dist/nodes/calendar.d.ts +0 -18
- package/dist/nodes/calendar.d.ts.map +0 -1
- package/dist/nodes/calendar.js +0 -28
- package/dist/nodes/calendar.js.map +0 -1
- package/dist/nodes/color-dialog-button.d.ts +0 -15
- package/dist/nodes/color-dialog-button.d.ts.map +0 -1
- package/dist/nodes/color-dialog-button.js +0 -43
- package/dist/nodes/color-dialog-button.js.map +0 -1
- package/dist/nodes/column-view-column.d.ts +0 -36
- package/dist/nodes/column-view-column.d.ts.map +0 -1
- package/dist/nodes/column-view-column.js +0 -168
- package/dist/nodes/column-view-column.js.map +0 -1
- package/dist/nodes/container-slot.d.ts +0 -18
- package/dist/nodes/container-slot.d.ts.map +0 -1
- package/dist/nodes/container-slot.js +0 -81
- package/dist/nodes/container-slot.js.map +0 -1
- package/dist/nodes/dialog.d.ts +0 -10
- package/dist/nodes/dialog.d.ts.map +0 -1
- package/dist/nodes/dialog.js +0 -20
- package/dist/nodes/dialog.js.map +0 -1
- package/dist/nodes/drawing-area.d.ts +0 -19
- package/dist/nodes/drawing-area.d.ts.map +0 -1
- package/dist/nodes/drawing-area.js +0 -40
- package/dist/nodes/drawing-area.js.map +0 -1
- package/dist/nodes/event-controller.d.ts +0 -15
- package/dist/nodes/event-controller.d.ts.map +0 -1
- package/dist/nodes/event-controller.js +0 -73
- package/dist/nodes/event-controller.js.map +0 -1
- package/dist/nodes/fixed-child.d.ts +0 -19
- package/dist/nodes/fixed-child.d.ts.map +0 -1
- package/dist/nodes/fixed-child.js +0 -99
- package/dist/nodes/fixed-child.js.map +0 -1
- package/dist/nodes/font-dialog-button.d.ts +0 -15
- package/dist/nodes/font-dialog-button.d.ts.map +0 -1
- package/dist/nodes/font-dialog-button.js +0 -76
- package/dist/nodes/font-dialog-button.js.map +0 -1
- package/dist/nodes/grid-child.d.ts +0 -19
- package/dist/nodes/grid-child.d.ts.map +0 -1
- package/dist/nodes/grid-child.js +0 -94
- package/dist/nodes/grid-child.js.map +0 -1
- package/dist/nodes/internal/accessible.d.ts +0 -5
- package/dist/nodes/internal/accessible.d.ts.map +0 -1
- package/dist/nodes/internal/accessible.js +0 -119
- package/dist/nodes/internal/accessible.js.map +0 -1
- package/dist/nodes/internal/bound-item.d.ts +0 -4
- package/dist/nodes/internal/bound-item.d.ts.map +0 -1
- package/dist/nodes/internal/bound-item.js +0 -2
- package/dist/nodes/internal/bound-item.js.map +0 -1
- package/dist/nodes/internal/construct.d.ts +0 -3
- package/dist/nodes/internal/construct.d.ts.map +0 -1
- package/dist/nodes/internal/construct.js +0 -44
- package/dist/nodes/internal/construct.js.map +0 -1
- package/dist/nodes/internal/predicates.d.ts +0 -51
- package/dist/nodes/internal/predicates.d.ts.map +0 -1
- package/dist/nodes/internal/predicates.js +0 -36
- package/dist/nodes/internal/predicates.js.map +0 -1
- package/dist/nodes/internal/props.d.ts +0 -6
- package/dist/nodes/internal/props.d.ts.map +0 -1
- package/dist/nodes/internal/props.js +0 -43
- package/dist/nodes/internal/props.js.map +0 -1
- package/dist/nodes/internal/signal-store.d.ts +0 -22
- package/dist/nodes/internal/signal-store.d.ts.map +0 -1
- package/dist/nodes/internal/signal-store.js +0 -98
- package/dist/nodes/internal/signal-store.js.map +0 -1
- package/dist/nodes/internal/text-buffer-controller.d.ts +0 -40
- package/dist/nodes/internal/text-buffer-controller.d.ts.map +0 -1
- package/dist/nodes/internal/text-buffer-controller.js +0 -327
- package/dist/nodes/internal/text-buffer-controller.js.map +0 -1
- package/dist/nodes/internal/widget.d.ts +0 -8
- package/dist/nodes/internal/widget.d.ts.map +0 -1
- package/dist/nodes/internal/widget.js +0 -68
- package/dist/nodes/internal/widget.js.map +0 -1
- package/dist/nodes/level-bar.d.ts +0 -12
- package/dist/nodes/level-bar.d.ts.map +0 -1
- package/dist/nodes/level-bar.js +0 -24
- package/dist/nodes/level-bar.js.map +0 -1
- package/dist/nodes/list-item-node.d.ts +0 -12
- package/dist/nodes/list-item-node.d.ts.map +0 -1
- package/dist/nodes/list-item-node.js +0 -45
- package/dist/nodes/list-item-node.js.map +0 -1
- package/dist/nodes/list.d.ts +0 -100
- package/dist/nodes/list.d.ts.map +0 -1
- package/dist/nodes/list.js +0 -950
- package/dist/nodes/list.js.map +0 -1
- package/dist/nodes/menu.d.ts +0 -7
- package/dist/nodes/menu.d.ts.map +0 -1
- package/dist/nodes/menu.js +0 -20
- package/dist/nodes/menu.js.map +0 -1
- package/dist/nodes/models/menu.d.ts +0 -47
- package/dist/nodes/models/menu.d.ts.map +0 -1
- package/dist/nodes/models/menu.js +0 -240
- package/dist/nodes/models/menu.js.map +0 -1
- package/dist/nodes/navigation-page.d.ts +0 -19
- package/dist/nodes/navigation-page.d.ts.map +0 -1
- package/dist/nodes/navigation-page.js +0 -129
- package/dist/nodes/navigation-page.js.map +0 -1
- package/dist/nodes/navigation-view.d.ts +0 -19
- package/dist/nodes/navigation-view.d.ts.map +0 -1
- package/dist/nodes/navigation-view.js +0 -51
- package/dist/nodes/navigation-view.js.map +0 -1
- package/dist/nodes/notebook-page-tab.d.ts +0 -15
- package/dist/nodes/notebook-page-tab.d.ts.map +0 -1
- package/dist/nodes/notebook-page-tab.js +0 -40
- package/dist/nodes/notebook-page-tab.js.map +0 -1
- package/dist/nodes/notebook-page.d.ts +0 -29
- package/dist/nodes/notebook-page.d.ts.map +0 -1
- package/dist/nodes/notebook-page.js +0 -151
- package/dist/nodes/notebook-page.js.map +0 -1
- package/dist/nodes/notebook.d.ts +0 -16
- package/dist/nodes/notebook.d.ts.map +0 -1
- package/dist/nodes/notebook.js +0 -31
- package/dist/nodes/notebook.js.map +0 -1
- package/dist/nodes/overlay-child.d.ts +0 -20
- package/dist/nodes/overlay-child.d.ts.map +0 -1
- package/dist/nodes/overlay-child.js +0 -109
- package/dist/nodes/overlay-child.js.map +0 -1
- package/dist/nodes/popover-menu.d.ts +0 -19
- package/dist/nodes/popover-menu.d.ts.map +0 -1
- package/dist/nodes/popover-menu.js +0 -54
- package/dist/nodes/popover-menu.js.map +0 -1
- package/dist/nodes/scale.d.ts +0 -10
- package/dist/nodes/scale.d.ts.map +0 -1
- package/dist/nodes/scale.js +0 -19
- package/dist/nodes/scale.js.map +0 -1
- package/dist/nodes/scrolled-window.d.ts +0 -11
- package/dist/nodes/scrolled-window.d.ts.map +0 -1
- package/dist/nodes/scrolled-window.js +0 -18
- package/dist/nodes/scrolled-window.js.map +0 -1
- package/dist/nodes/search-bar.d.ts +0 -11
- package/dist/nodes/search-bar.d.ts.map +0 -1
- package/dist/nodes/search-bar.js +0 -16
- package/dist/nodes/search-bar.js.map +0 -1
- package/dist/nodes/shortcut.d.ts +0 -19
- package/dist/nodes/shortcut.d.ts.map +0 -1
- package/dist/nodes/shortcut.js +0 -72
- package/dist/nodes/shortcut.js.map +0 -1
- package/dist/nodes/slot.d.ts +0 -21
- package/dist/nodes/slot.d.ts.map +0 -1
- package/dist/nodes/slot.js +0 -102
- package/dist/nodes/slot.js.map +0 -1
- package/dist/nodes/source-view.d.ts +0 -18
- package/dist/nodes/source-view.d.ts.map +0 -1
- package/dist/nodes/source-view.js +0 -94
- package/dist/nodes/source-view.js.map +0 -1
- package/dist/nodes/spin-row.d.ts +0 -14
- package/dist/nodes/spin-row.d.ts.map +0 -1
- package/dist/nodes/spin-row.js +0 -46
- package/dist/nodes/spin-row.js.map +0 -1
- package/dist/nodes/stack-page.d.ts +0 -22
- package/dist/nodes/stack-page.d.ts.map +0 -1
- package/dist/nodes/stack-page.js +0 -140
- package/dist/nodes/stack-page.js.map +0 -1
- package/dist/nodes/stack.d.ts +0 -13
- package/dist/nodes/stack.d.ts.map +0 -1
- package/dist/nodes/stack.js +0 -21
- package/dist/nodes/stack.js.map +0 -1
- package/dist/nodes/switch-row.d.ts +0 -11
- package/dist/nodes/switch-row.d.ts.map +0 -1
- package/dist/nodes/switch-row.js +0 -15
- package/dist/nodes/switch-row.js.map +0 -1
- package/dist/nodes/text-anchor.d.ts +0 -23
- package/dist/nodes/text-anchor.d.ts.map +0 -1
- package/dist/nodes/text-anchor.js +0 -74
- package/dist/nodes/text-anchor.js.map +0 -1
- package/dist/nodes/text-content.d.ts +0 -12
- package/dist/nodes/text-content.d.ts.map +0 -1
- package/dist/nodes/text-content.js +0 -2
- package/dist/nodes/text-content.js.map +0 -1
- package/dist/nodes/text-paintable.d.ts +0 -19
- package/dist/nodes/text-paintable.d.ts.map +0 -1
- package/dist/nodes/text-paintable.js +0 -42
- package/dist/nodes/text-paintable.js.map +0 -1
- package/dist/nodes/text-segment.d.ts +0 -18
- package/dist/nodes/text-segment.d.ts.map +0 -1
- package/dist/nodes/text-segment.js +0 -38
- package/dist/nodes/text-segment.js.map +0 -1
- package/dist/nodes/text-tag.d.ts +0 -38
- package/dist/nodes/text-tag.d.ts.map +0 -1
- package/dist/nodes/text-tag.js +0 -247
- package/dist/nodes/text-tag.js.map +0 -1
- package/dist/nodes/text-view.d.ts +0 -29
- package/dist/nodes/text-view.d.ts.map +0 -1
- package/dist/nodes/text-view.js +0 -80
- package/dist/nodes/text-view.js.map +0 -1
- package/dist/nodes/toggle-group.d.ts +0 -17
- package/dist/nodes/toggle-group.d.ts.map +0 -1
- package/dist/nodes/toggle-group.js +0 -65
- package/dist/nodes/toggle-group.js.map +0 -1
- package/dist/nodes/toggle.d.ts +0 -16
- package/dist/nodes/toggle.d.ts.map +0 -1
- package/dist/nodes/toggle.js +0 -61
- package/dist/nodes/toggle.js.map +0 -1
- package/dist/nodes/virtual.d.ts +0 -7
- package/dist/nodes/virtual.d.ts.map +0 -1
- package/dist/nodes/virtual.js +0 -9
- package/dist/nodes/virtual.js.map +0 -1
- package/dist/nodes/web-view.d.ts +0 -11
- package/dist/nodes/web-view.d.ts.map +0 -1
- package/dist/nodes/web-view.js +0 -16
- package/dist/nodes/web-view.js.map +0 -1
- package/dist/nodes/widget.d.ts +0 -26
- package/dist/nodes/widget.d.ts.map +0 -1
- package/dist/nodes/widget.js +0 -308
- package/dist/nodes/widget.js.map +0 -1
- package/dist/nodes/window.d.ts +0 -31
- package/dist/nodes/window.d.ts.map +0 -1
- package/dist/nodes/window.js +0 -122
- package/dist/nodes/window.js.map +0 -1
- package/dist/portal.d.ts +0 -29
- package/dist/portal.d.ts.map +0 -1
- package/dist/portal.js +0 -35
- package/dist/portal.js.map +0 -1
- package/dist/reconciler.d.ts +0 -34
- package/dist/reconciler.d.ts.map +0 -1
- package/dist/reconciler.js +0 -48
- package/dist/reconciler.js.map +0 -1
- package/dist/registry.d.ts +0 -18
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js +0 -98
- package/dist/registry.js.map +0 -1
- package/dist/render.d.ts +0 -117
- package/dist/render.d.ts.map +0 -1
- package/dist/render.js +0 -159
- package/dist/render.js.map +0 -1
- package/dist/types.d.ts +0 -6
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/use-property.d.ts +0 -29
- package/dist/use-property.d.ts.map +0 -1
- package/dist/use-property.js +0 -44
- package/dist/use-property.js.map +0 -1
- package/dist/use-setting.d.ts +0 -36
- package/dist/use-setting.d.ts.map +0 -1
- package/dist/use-setting.js +0 -68
- package/dist/use-setting.js.map +0 -1
- package/src/components/compound.tsx +0 -57
- package/src/components/list.tsx +0 -140
- package/src/components/slot-widget.tsx +0 -46
- package/src/errors.ts +0 -53
- package/src/factory.ts +0 -62
- package/src/generated/compounds.ts +0 -2741
- package/src/generated/internal.ts +0 -3642
- package/src/generated/jsx.ts +0 -17383
- package/src/generated/registry.ts +0 -17
- package/src/host-config.ts +0 -219
- package/src/jsx.ts +0 -1033
- package/src/metadata.ts +0 -43
- package/src/node.ts +0 -107
- package/src/nodes/adjustable.ts +0 -68
- package/src/nodes/alert-dialog-response.ts +0 -78
- package/src/nodes/alert-dialog.ts +0 -55
- package/src/nodes/animation.ts +0 -409
- package/src/nodes/application.ts +0 -61
- package/src/nodes/calendar.ts +0 -42
- package/src/nodes/color-dialog-button.ts +0 -69
- package/src/nodes/column-view-column.ts +0 -189
- package/src/nodes/container-slot.ts +0 -100
- package/src/nodes/dialog.ts +0 -25
- package/src/nodes/drawing-area.ts +0 -53
- package/src/nodes/event-controller.ts +0 -96
- package/src/nodes/fixed-child.ts +0 -122
- package/src/nodes/font-dialog-button.ts +0 -107
- package/src/nodes/grid-child.ts +0 -116
- package/src/nodes/internal/accessible.ts +0 -155
- package/src/nodes/internal/bound-item.ts +0 -4
- package/src/nodes/internal/construct.ts +0 -60
- package/src/nodes/internal/predicates.ts +0 -80
- package/src/nodes/internal/props.ts +0 -51
- package/src/nodes/internal/signal-store.ts +0 -141
- package/src/nodes/internal/text-buffer-controller.ts +0 -417
- package/src/nodes/internal/widget.ts +0 -74
- package/src/nodes/level-bar.ts +0 -36
- package/src/nodes/list-item-node.ts +0 -53
- package/src/nodes/list.ts +0 -1082
- package/src/nodes/menu.ts +0 -27
- package/src/nodes/models/menu.ts +0 -314
- package/src/nodes/navigation-page.ts +0 -154
- package/src/nodes/navigation-view.ts +0 -66
- package/src/nodes/notebook-page-tab.ts +0 -55
- package/src/nodes/notebook-page.ts +0 -189
- package/src/nodes/notebook.ts +0 -42
- package/src/nodes/overlay-child.ts +0 -130
- package/src/nodes/popover-menu.ts +0 -67
- package/src/nodes/scale.ts +0 -28
- package/src/nodes/scrolled-window.ts +0 -23
- package/src/nodes/search-bar.ts +0 -27
- package/src/nodes/shortcut.ts +0 -86
- package/src/nodes/slot.ts +0 -138
- package/src/nodes/source-view.ts +0 -130
- package/src/nodes/spin-row.ts +0 -72
- package/src/nodes/stack-page.ts +0 -170
- package/src/nodes/stack.ts +0 -35
- package/src/nodes/switch-row.ts +0 -26
- package/src/nodes/text-anchor.ts +0 -88
- package/src/nodes/text-content.ts +0 -14
- package/src/nodes/text-paintable.ts +0 -51
- package/src/nodes/text-segment.ts +0 -55
- package/src/nodes/text-tag.ts +0 -298
- package/src/nodes/text-view.ts +0 -100
- package/src/nodes/toggle-group.ts +0 -81
- package/src/nodes/toggle.ts +0 -72
- package/src/nodes/virtual.ts +0 -16
- package/src/nodes/web-view.ts +0 -22
- package/src/nodes/widget.ts +0 -369
- package/src/nodes/window.ts +0 -172
- package/src/portal.ts +0 -37
- package/src/reconciler.ts +0 -52
- package/src/registry.ts +0 -119
- package/src/render.tsx +0 -192
- package/src/types.ts +0 -13
- package/src/use-property.ts +0 -58
- package/src/use-setting.ts +0 -96
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { isRecord } from "@gtkx/utils";
|
|
2
|
+
import { type Ref, type RefCallback, useMemo } from "react";
|
|
3
|
+
|
|
4
|
+
type PossibleRef<T> = Ref<T> | undefined;
|
|
5
|
+
type RefCleanup<T> = ReturnType<RefCallback<T>>;
|
|
6
|
+
type CleanupMap<T> = Map<PossibleRef<T>, Exclude<RefCleanup<T>, void>>;
|
|
7
|
+
|
|
8
|
+
function assignRef<T>(ref: PossibleRef<T>, value: T): RefCleanup<T> {
|
|
9
|
+
if (typeof ref === "function") {
|
|
10
|
+
return ref(value);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
if (isRecord(ref) && "current" in ref) {
|
|
14
|
+
ref.current = value;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function collectCleanup<T>(cleanupMap: CleanupMap<T>, ref: PossibleRef<T>, node: T | null): void {
|
|
19
|
+
const cleanup = assignRef(ref, node);
|
|
20
|
+
|
|
21
|
+
if (cleanup) {
|
|
22
|
+
cleanupMap.set(ref, cleanup);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function cleanupRef<T>(cleanupMap: CleanupMap<T>, ref: PossibleRef<T>): void {
|
|
27
|
+
const cleanup = cleanupMap.get(ref);
|
|
28
|
+
|
|
29
|
+
if (cleanup && typeof cleanup === "function") {
|
|
30
|
+
cleanup();
|
|
31
|
+
} else {
|
|
32
|
+
assignRef(ref, null);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function applyRefs<T>(cleanupMap: CleanupMap<T>, refs: PossibleRef<T>[], node: T | null): RefCleanup<T> {
|
|
37
|
+
for (const ref of refs) {
|
|
38
|
+
collectCleanup(cleanupMap, ref, node);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (cleanupMap.size === 0) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return () => {
|
|
46
|
+
for (const ref of refs) {
|
|
47
|
+
cleanupRef(cleanupMap, ref);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
cleanupMap.clear();
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function mergeRefs<T>(...refs: PossibleRef<T>[]): RefCallback<T> {
|
|
55
|
+
const cleanupMap: CleanupMap<T> = new Map();
|
|
56
|
+
|
|
57
|
+
return (node: T | null): RefCleanup<T> => applyRefs(cleanupMap, refs, node);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function useMergedRef<T>(first: PossibleRef<T>, second: PossibleRef<T>): RefCallback<T> {
|
|
61
|
+
return useMemo(() => mergeRefs(first, second), [first, second]);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export { assignRef, mergeRefs, useMergedRef };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type * as GObject from "@gtkx/gi/gobject";
|
|
2
|
+
import type { SignalHandler } from "@gtkx/runtime";
|
|
3
|
+
import { useCallback, useRef, useSyncExternalStore } from "react";
|
|
4
|
+
import { type RefProp, resolveRefProp } from "../utils/ref-prop.js";
|
|
5
|
+
|
|
6
|
+
type ObjectValueCache<T extends GObject.Object, V> = {
|
|
7
|
+
object: T | null;
|
|
8
|
+
signal: string;
|
|
9
|
+
value: V;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
function useObjectValue<T extends GObject.Object, V>(
|
|
13
|
+
object: RefProp<T>,
|
|
14
|
+
signal: string,
|
|
15
|
+
read: (object: T | null) => V,
|
|
16
|
+
): V {
|
|
17
|
+
const resolved = resolveRefProp(object);
|
|
18
|
+
const cacheRef = useRef<ObjectValueCache<T, V> | null>(null);
|
|
19
|
+
|
|
20
|
+
const subscribe = useCallback(
|
|
21
|
+
(onStoreChange: () => void): (() => void) => {
|
|
22
|
+
if (resolved === null) {
|
|
23
|
+
return (): void => undefined;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const handler: SignalHandler = () => {
|
|
27
|
+
cacheRef.current = null;
|
|
28
|
+
onStoreChange();
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
resolved.on(signal, handler);
|
|
32
|
+
|
|
33
|
+
return () => resolved.off(signal, handler);
|
|
34
|
+
},
|
|
35
|
+
[resolved, signal],
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
const getSnapshot = (): V => {
|
|
39
|
+
const cache = cacheRef.current;
|
|
40
|
+
|
|
41
|
+
if (cache !== null && cache.object === resolved && cache.signal === signal) {
|
|
42
|
+
return cache.value;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const value = read(resolved);
|
|
46
|
+
cacheRef.current = { object: resolved, signal, value };
|
|
47
|
+
|
|
48
|
+
return value;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { useObjectValue };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type * as Gtk from "@gtkx/gi/gtk";
|
|
2
|
+
import { type Context, createContext, use } from "react";
|
|
3
|
+
|
|
4
|
+
const ParentWindowContext: Context<Gtk.Window | null> = createContext<Gtk.Window | null>(null);
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Returns the `Gtk.Window` provided by the nearest window ancestor, or `null` when there is none.
|
|
8
|
+
*/
|
|
9
|
+
const useParentWindow = (): Gtk.Window | null => use(ParentWindowContext);
|
|
10
|
+
|
|
11
|
+
export { ParentWindowContext, useParentWindow };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type * as GObject from "@gtkx/gi/gobject";
|
|
2
|
+
import { kebabCase } from "@gtkx/utils";
|
|
3
|
+
import type { RefProp } from "../utils/ref-prop.js";
|
|
4
|
+
import { useObjectValue } from "./use-object-value.js";
|
|
5
|
+
|
|
6
|
+
type Properties<T extends GObject.Object> = NonNullable<T["__properties__"]>;
|
|
7
|
+
type PropertyName<T extends GObject.Object> = keyof Properties<T> & keyof T;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Subscribes to a GObject property and returns its current value, re-rendering when the property changes.
|
|
11
|
+
*
|
|
12
|
+
* @param object The GObject (or ref to one) whose property to observe.
|
|
13
|
+
* @param propertyName The camelCase name of a readable property on the object.
|
|
14
|
+
* @returns The current property value, or `undefined` when the object is not resolved.
|
|
15
|
+
*/
|
|
16
|
+
function useProperty<T extends GObject.Object, P extends PropertyName<T>>(
|
|
17
|
+
object: RefProp<T>,
|
|
18
|
+
propertyName: P & string,
|
|
19
|
+
): T[P] | undefined {
|
|
20
|
+
return useObjectValue(object, `notify::${kebabCase(propertyName)}`, (obj) => obj?.[propertyName]);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { useProperty, type PropertyName };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as Gio from "@gtkx/gi/gio";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import {
|
|
4
|
+
resolveSettingAccessor,
|
|
5
|
+
type SettingsSchema,
|
|
6
|
+
type SettingsSchemaKeys,
|
|
7
|
+
type SettingValue,
|
|
8
|
+
} from "../utils/settings.js";
|
|
9
|
+
import { useObjectValue } from "./use-object-value.js";
|
|
10
|
+
|
|
11
|
+
type UseSettingsProps<K extends SettingsSchemaKeys> = Pick<SettingsSchema<K>, "id" | "path">;
|
|
12
|
+
|
|
13
|
+
const useSettings = <K extends SettingsSchemaKeys>({ id, path }: UseSettingsProps<K>): Gio.Settings =>
|
|
14
|
+
useMemo(() => (path ? new Gio.Settings({ schema: id, path }) : Gio.Settings.new(id)), [id, path]);
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Reads and writes a single key of a GSettings schema, re-rendering when the stored value changes.
|
|
18
|
+
*
|
|
19
|
+
* @param schema The schema reference identifying the settings backend.
|
|
20
|
+
* @param key The key within the schema to read and write.
|
|
21
|
+
* @returns A tuple of the current value and a setter that persists a new value.
|
|
22
|
+
*/
|
|
23
|
+
function useSetting<K extends SettingsSchemaKeys, P extends keyof K>(
|
|
24
|
+
schema: SettingsSchema<K>,
|
|
25
|
+
key: P & string,
|
|
26
|
+
): [SettingValue<K, P>, (value: SettingValue<K, P>) => void] {
|
|
27
|
+
const settings = useSettings({ id: schema.id, path: schema.path });
|
|
28
|
+
const accessor = resolveSettingAccessor(settings, schema, key);
|
|
29
|
+
const value = useObjectValue(settings, `changed::${key}`, () => accessor.get());
|
|
30
|
+
|
|
31
|
+
return [value, accessor.set];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { useSettings, useSetting };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type * as GObject from "@gtkx/gi/gobject";
|
|
2
|
+
import type { SignalHandler } from "@gtkx/runtime";
|
|
3
|
+
import { useEffectEvent, useLayoutEffect } from "react";
|
|
4
|
+
import { type RefProp, resolveRefProp } from "../utils/ref-prop.js";
|
|
5
|
+
|
|
6
|
+
type Signals<T extends GObject.Object> = NonNullable<T["__signals__"]>;
|
|
7
|
+
type SignalName<T extends GObject.Object> = keyof Signals<T> | `${keyof Signals<T> & string}::${string}`;
|
|
8
|
+
|
|
9
|
+
type TypedSignalHandler<T extends GObject.Object, S extends string> = S extends keyof Signals<T>
|
|
10
|
+
? Signals<T>[S]
|
|
11
|
+
: S extends `${infer TBase}::${string}`
|
|
12
|
+
? TBase extends keyof Signals<T>
|
|
13
|
+
? Signals<T>[TBase]
|
|
14
|
+
: SignalHandler
|
|
15
|
+
: SignalHandler;
|
|
16
|
+
|
|
17
|
+
type UseSignalOptions = {
|
|
18
|
+
after?: boolean;
|
|
19
|
+
immediate?: boolean;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Connects a handler to a GObject signal for the lifetime of the component, reconnecting when the object changes.
|
|
24
|
+
*
|
|
25
|
+
* Each emission runs the handler from the latest render, so it does not have to be stable and a
|
|
26
|
+
* changing handler never reconnects the signal.
|
|
27
|
+
*
|
|
28
|
+
* @param object The GObject (or ref to one) to connect to.
|
|
29
|
+
* @param signal The signal name, optionally with a detail suffix.
|
|
30
|
+
* @param handler The callback invoked when the signal is emitted.
|
|
31
|
+
* @param options Connection options such as running after the default handler or invoking immediately.
|
|
32
|
+
*/
|
|
33
|
+
function useSignal<T extends GObject.Object, S extends SignalName<T> & string>(
|
|
34
|
+
object: RefProp<T>,
|
|
35
|
+
signal: S,
|
|
36
|
+
handler: TypedSignalHandler<T, S>,
|
|
37
|
+
{ after = false, immediate = false }: UseSignalOptions = {},
|
|
38
|
+
): void {
|
|
39
|
+
const emit = useEffectEvent(handler as SignalHandler);
|
|
40
|
+
|
|
41
|
+
useLayoutEffect(() => {
|
|
42
|
+
const resolved = resolveRefProp(object);
|
|
43
|
+
|
|
44
|
+
if (!resolved) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
resolved.on(signal, emit, after);
|
|
49
|
+
|
|
50
|
+
if (immediate) {
|
|
51
|
+
emit();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return () => {
|
|
55
|
+
resolved.off(signal, emit);
|
|
56
|
+
};
|
|
57
|
+
}, [object, signal, after, immediate]);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { useSignal, type SignalName, type TypedSignalHandler };
|
package/src/index.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
} from "./
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
1
|
+
import "./bootstrap.js";
|
|
2
|
+
|
|
3
|
+
export { useApplication } from "./hooks/use-application.js";
|
|
4
|
+
export { useBindSetting } from "./hooks/use-bind-setting.js";
|
|
5
|
+
export { useParentWindow } from "./hooks/use-parent-window.js";
|
|
6
|
+
export { useProperty } from "./hooks/use-property.js";
|
|
7
|
+
export { useSetting } from "./hooks/use-setting.js";
|
|
8
|
+
export { useSignal } from "./hooks/use-signal.js";
|
|
9
|
+
export type { MenuItem, VflConstraints } from "./prop-types.js";
|
|
10
|
+
export { type RootElement, rootElement } from "./reconciler/root-element.js";
|
|
11
|
+
export { createPortal, createRoot, quit, type Root } from "./reconciler/root.js";
|
|
12
|
+
export type { AccessibleProps } from "./utils/accessible-props.js";
|
|
13
|
+
export type { RefProp } from "./utils/ref-prop.js";
|
|
14
|
+
export type { SettingsSchema, SettingsSchemaKeys, SettingValue } from "./utils/settings.js";
|
package/src/internal.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import "./bootstrap.js";
|
|
2
|
+
|
|
3
|
+
export { createApplicationComponent } from "./components/application.js";
|
|
4
|
+
export { createElementComponent } from "./components/element.js";
|
|
5
|
+
export { createWindowComponent } from "./components/window.js";
|
|
6
|
+
export { ApplicationContext } from "./hooks/use-application.js";
|
|
7
|
+
export { useMergedRef } from "./hooks/use-merged-refs.js";
|
|
8
|
+
export { useObjectValue } from "./hooks/use-object-value.js";
|
|
9
|
+
export type * from "./prop-types.js";
|
|
10
|
+
export { isRootElement } from "./reconciler/root-element.js";
|
|
11
|
+
export { createReconcilerRoot, type ReconcilerRoot, setReconcilerErrorHandler } from "./reconciler/root.js";
|
|
12
|
+
export { getAccessibleMetadata } from "./utils/accessible-metadata.js";
|
|
13
|
+
export { type RefProp, resolveRefProp } from "./utils/ref-prop.js";
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import type * as Gdk from "@gtkx/gi/gdk";
|
|
2
|
+
import type * as GObject from "@gtkx/gi/gobject";
|
|
3
|
+
import type * as Gtk from "@gtkx/gi/gtk";
|
|
4
|
+
import type { ReactNode } from "react";
|
|
5
|
+
|
|
6
|
+
/** One entry of a `GMenu`'s `items` prop; `submenu` and `section` nest further menus. */
|
|
7
|
+
type MenuItem = {
|
|
8
|
+
label?: string | null;
|
|
9
|
+
action?: string | null;
|
|
10
|
+
submenu?: MenuItem[];
|
|
11
|
+
section?: MenuItem[];
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/** One Visual Format Language block applied to a `Gtk.ConstraintLayout`. */
|
|
15
|
+
type VflConstraints = {
|
|
16
|
+
lines: string[];
|
|
17
|
+
hspacing?: number;
|
|
18
|
+
vspacing?: number;
|
|
19
|
+
views?: Map<string, Gtk.ConstraintTarget>;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/** One mark on a `Gtk.Scale`. */
|
|
23
|
+
type ScaleMark = { value?: number; position: Gtk.PositionType; markup?: string | null };
|
|
24
|
+
/** One labelled offset on a `Gtk.LevelBar`. */
|
|
25
|
+
type LevelBarOffset = { name: string; value?: number };
|
|
26
|
+
/** One credit section on a `Gtk.AboutDialog`. */
|
|
27
|
+
type CreditSection = { sectionName: string; people: string[] };
|
|
28
|
+
/** One accelerator binding on a `Gtk.Application`. */
|
|
29
|
+
type ActionAccel = { detailedActionName: string; accels: string[] };
|
|
30
|
+
/** The drag icon of a `Gtk.DragSource`, with its hotspot. */
|
|
31
|
+
type DragSourceIcon = { paintable?: Gdk.Paintable | null; hotX?: number; hotY?: number };
|
|
32
|
+
|
|
33
|
+
/** Props of an element that accepts children. */
|
|
34
|
+
type ChildrenProps = {
|
|
35
|
+
children?: ReactNode;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
type GtkWidgetProps = {
|
|
39
|
+
controllers?: ReactNode | null | undefined;
|
|
40
|
+
actionGroups?: ReactNode | null | undefined;
|
|
41
|
+
} & ChildrenProps;
|
|
42
|
+
|
|
43
|
+
type GActionGroupProps = {
|
|
44
|
+
prefix?: string | null | undefined;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
type GActionMapProps = {
|
|
48
|
+
actions?: ReactNode | null | undefined;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
type GMenuProps = {
|
|
52
|
+
items?: MenuItem[] | null | undefined;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
type GtkShortcutControllerProps = {
|
|
56
|
+
shortcuts?: ReactNode | null | undefined;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
type GtkOverlayProps = {
|
|
60
|
+
overlays?: ReactNode | null | undefined;
|
|
61
|
+
} & ChildrenProps;
|
|
62
|
+
|
|
63
|
+
type GtkConstraintLayoutProps = {
|
|
64
|
+
constraints?: ReactNode | null | undefined;
|
|
65
|
+
guides?: ReactNode | null | undefined;
|
|
66
|
+
vfl?: VflConstraints[] | null | undefined;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/** Props of `GtkTextChildAnchor`, which embeds either a child widget or a paintable in a text buffer. */
|
|
70
|
+
type GtkTextChildAnchorProps = {
|
|
71
|
+
paintable?: Gdk.Paintable | null | undefined;
|
|
72
|
+
} & ChildrenProps;
|
|
73
|
+
|
|
74
|
+
type GtkHeaderBarProps = {
|
|
75
|
+
start?: ReactNode | null | undefined;
|
|
76
|
+
end?: ReactNode | null | undefined;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
type GtkScaleProps = {
|
|
80
|
+
marks?: ScaleMark[] | null | undefined;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
type GtkCalendarProps = {
|
|
84
|
+
markedDays?: number[] | null | undefined;
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
type GtkLevelBarProps = {
|
|
88
|
+
offsets?: LevelBarOffset[] | null | undefined;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
type GtkSizeGroupProps = {
|
|
92
|
+
widgets?: Gtk.Widget[] | null | undefined;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
type GtkAboutDialogProps = {
|
|
96
|
+
creditSections?: CreditSection[] | null | undefined;
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
type GtkApplicationProps = {
|
|
100
|
+
actionAccels?: ActionAccel[] | null | undefined;
|
|
101
|
+
} & ChildrenProps;
|
|
102
|
+
|
|
103
|
+
type GtkDropTargetProps = {
|
|
104
|
+
types?: GObject.Type[] | null | undefined;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
type GtkDrawingAreaProps = {
|
|
108
|
+
drawFunc?: Gtk.DrawingAreaDrawFunc | null | undefined;
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
type GtkDragSourceProps = {
|
|
112
|
+
icon?: DragSourceIcon | null | undefined;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
export {
|
|
116
|
+
type MenuItem,
|
|
117
|
+
type VflConstraints,
|
|
118
|
+
type ScaleMark,
|
|
119
|
+
type LevelBarOffset,
|
|
120
|
+
type CreditSection,
|
|
121
|
+
type ActionAccel,
|
|
122
|
+
type DragSourceIcon,
|
|
123
|
+
type ChildrenProps,
|
|
124
|
+
type GtkWidgetProps,
|
|
125
|
+
type GActionGroupProps,
|
|
126
|
+
type GActionMapProps,
|
|
127
|
+
type GMenuProps,
|
|
128
|
+
type GtkShortcutControllerProps,
|
|
129
|
+
type GtkOverlayProps,
|
|
130
|
+
type GtkTextChildAnchorProps,
|
|
131
|
+
type GtkConstraintLayoutProps,
|
|
132
|
+
type GtkHeaderBarProps,
|
|
133
|
+
type GtkScaleProps,
|
|
134
|
+
type GtkCalendarProps,
|
|
135
|
+
type GtkLevelBarProps,
|
|
136
|
+
type GtkSizeGroupProps,
|
|
137
|
+
type GtkAboutDialogProps,
|
|
138
|
+
type GtkApplicationProps,
|
|
139
|
+
type GtkDropTargetProps,
|
|
140
|
+
type GtkDrawingAreaProps,
|
|
141
|
+
type GtkDragSourceProps,
|
|
142
|
+
};
|