@gtkx/react 0.20.0 → 1.0.0-rc.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.
Files changed (596) hide show
  1. package/README.md +122 -55
  2. package/dist/components/application.d.ts +10 -0
  3. package/dist/components/application.d.ts.map +1 -0
  4. package/dist/components/application.js +26 -0
  5. package/dist/components/application.js.map +1 -0
  6. package/dist/components/window.d.ts +8 -0
  7. package/dist/components/window.d.ts.map +1 -0
  8. package/dist/components/window.js +23 -0
  9. package/dist/components/window.js.map +1 -0
  10. package/dist/hooks/use-application.d.ts +8 -0
  11. package/dist/hooks/use-application.d.ts.map +1 -0
  12. package/dist/hooks/use-application.js +13 -0
  13. package/dist/hooks/use-application.js.map +1 -0
  14. package/dist/hooks/use-bind-setting.d.ts +6 -0
  15. package/dist/hooks/use-bind-setting.d.ts.map +1 -0
  16. package/dist/hooks/use-bind-setting.js +19 -0
  17. package/dist/hooks/use-bind-setting.js.map +1 -0
  18. package/dist/hooks/use-merge-refs.d.ts +3 -0
  19. package/dist/hooks/use-merge-refs.d.ts.map +1 -0
  20. package/dist/hooks/use-merge-refs.js +48 -0
  21. package/dist/hooks/use-merge-refs.js.map +1 -0
  22. package/dist/hooks/use-object-attachment.d.ts +10 -0
  23. package/dist/hooks/use-object-attachment.d.ts.map +1 -0
  24. package/dist/hooks/use-object-attachment.js +24 -0
  25. package/dist/hooks/use-object-attachment.js.map +1 -0
  26. package/dist/hooks/use-object-value.d.ts +4 -0
  27. package/dist/hooks/use-object-value.d.ts.map +1 -0
  28. package/dist/hooks/use-object-value.js +32 -0
  29. package/dist/hooks/use-object-value.js.map +1 -0
  30. package/dist/hooks/use-parent-window.d.ts +8 -0
  31. package/dist/hooks/use-parent-window.d.ts.map +1 -0
  32. package/dist/hooks/use-parent-window.js +7 -0
  33. package/dist/hooks/use-parent-window.js.map +1 -0
  34. package/dist/hooks/use-property.d.ts +14 -0
  35. package/dist/hooks/use-property.d.ts.map +1 -0
  36. package/dist/hooks/use-property.js +13 -0
  37. package/dist/hooks/use-property.js.map +1 -0
  38. package/dist/hooks/use-setting.d.ts +25 -0
  39. package/dist/hooks/use-setting.d.ts.map +1 -0
  40. package/dist/hooks/use-setting.js +15 -0
  41. package/dist/hooks/use-setting.js.map +1 -0
  42. package/dist/hooks/use-signal.d.ts +21 -0
  43. package/dist/hooks/use-signal.d.ts.map +1 -0
  44. package/dist/hooks/use-signal.js +20 -0
  45. package/dist/hooks/use-signal.js.map +1 -0
  46. package/dist/index.d.ts +14 -5
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +10 -5
  49. package/dist/index.js.map +1 -1
  50. package/dist/internal.d.ts +14 -0
  51. package/dist/internal.d.ts.map +1 -0
  52. package/dist/internal.js +14 -0
  53. package/dist/internal.js.map +1 -0
  54. package/dist/libraries/adw/dialog.d.ts +8 -0
  55. package/dist/libraries/adw/dialog.d.ts.map +1 -0
  56. package/dist/libraries/adw/dialog.js +25 -0
  57. package/dist/libraries/adw/dialog.js.map +1 -0
  58. package/dist/libraries/adw/index.d.ts +2 -0
  59. package/dist/libraries/adw/index.d.ts.map +1 -0
  60. package/dist/libraries/adw/index.js +2 -0
  61. package/dist/libraries/adw/index.js.map +1 -0
  62. package/dist/reconciler/accessible.d.ts +59 -0
  63. package/dist/reconciler/accessible.d.ts.map +1 -0
  64. package/dist/reconciler/accessible.js +143 -0
  65. package/dist/reconciler/accessible.js.map +1 -0
  66. package/dist/reconciler/apply-props.d.ts +8 -0
  67. package/dist/reconciler/apply-props.d.ts.map +1 -0
  68. package/dist/reconciler/apply-props.js +92 -0
  69. package/dist/reconciler/apply-props.js.map +1 -0
  70. package/dist/reconciler/commit-flush.d.ts +3 -0
  71. package/dist/reconciler/commit-flush.d.ts.map +1 -0
  72. package/dist/reconciler/commit-flush.js +13 -0
  73. package/dist/reconciler/commit-flush.js.map +1 -0
  74. package/dist/reconciler/container-attach.d.ts +10 -0
  75. package/dist/reconciler/container-attach.d.ts.map +1 -0
  76. package/dist/reconciler/container-attach.js +216 -0
  77. package/dist/reconciler/container-attach.js.map +1 -0
  78. package/dist/reconciler/content-rebuild.d.ts +3 -0
  79. package/dist/reconciler/content-rebuild.d.ts.map +1 -0
  80. package/dist/reconciler/content-rebuild.js +15 -0
  81. package/dist/reconciler/content-rebuild.js.map +1 -0
  82. package/dist/reconciler/dispatch.d.ts +6 -0
  83. package/dist/reconciler/dispatch.d.ts.map +1 -0
  84. package/dist/reconciler/dispatch.js +61 -0
  85. package/dist/reconciler/dispatch.js.map +1 -0
  86. package/dist/reconciler/element-prop-appliers.d.ts +5 -0
  87. package/dist/reconciler/element-prop-appliers.d.ts.map +1 -0
  88. package/dist/reconciler/element-prop-appliers.js +104 -0
  89. package/dist/reconciler/element-prop-appliers.js.map +1 -0
  90. package/dist/reconciler/element-props.d.ts +25 -0
  91. package/dist/reconciler/element-props.d.ts.map +1 -0
  92. package/dist/reconciler/element-props.js +157 -0
  93. package/dist/reconciler/element-props.js.map +1 -0
  94. package/dist/reconciler/host-config.d.ts +13 -0
  95. package/dist/reconciler/host-config.d.ts.map +1 -0
  96. package/dist/reconciler/host-config.js +309 -0
  97. package/dist/reconciler/host-config.js.map +1 -0
  98. package/dist/reconciler/instance.d.ts +6 -0
  99. package/dist/reconciler/instance.d.ts.map +1 -0
  100. package/dist/reconciler/instance.js +27 -0
  101. package/dist/reconciler/instance.js.map +1 -0
  102. package/dist/reconciler/label-text-rebuild.d.ts +3 -0
  103. package/dist/reconciler/label-text-rebuild.d.ts.map +1 -0
  104. package/dist/reconciler/label-text-rebuild.js +22 -0
  105. package/dist/reconciler/label-text-rebuild.js.map +1 -0
  106. package/dist/reconciler/portal.d.ts +11 -0
  107. package/dist/reconciler/portal.d.ts.map +1 -0
  108. package/dist/reconciler/portal.js +20 -0
  109. package/dist/reconciler/portal.js.map +1 -0
  110. package/dist/reconciler/reconciler-error-handler.d.ts +7 -0
  111. package/dist/reconciler/reconciler-error-handler.d.ts.map +1 -0
  112. package/dist/reconciler/reconciler-error-handler.js +24 -0
  113. package/dist/reconciler/reconciler-error-handler.js.map +1 -0
  114. package/dist/reconciler/reconciler-root.d.ts +19 -0
  115. package/dist/reconciler/reconciler-root.d.ts.map +1 -0
  116. package/dist/reconciler/reconciler-root.js +24 -0
  117. package/dist/reconciler/reconciler-root.js.map +1 -0
  118. package/dist/reconciler/reconciler.d.ts +3 -0
  119. package/dist/reconciler/reconciler.d.ts.map +1 -0
  120. package/dist/reconciler/reconciler.js +12 -0
  121. package/dist/reconciler/reconciler.js.map +1 -0
  122. package/dist/reconciler/render.d.ts +23 -0
  123. package/dist/reconciler/render.d.ts.map +1 -0
  124. package/dist/reconciler/render.js +46 -0
  125. package/dist/reconciler/render.js.map +1 -0
  126. package/dist/reconciler/root-element.d.ts +14 -0
  127. package/dist/reconciler/root-element.d.ts.map +1 -0
  128. package/dist/reconciler/root-element.js +7 -0
  129. package/dist/reconciler/root-element.js.map +1 -0
  130. package/dist/reconciler/signal-store.d.ts +22 -0
  131. package/dist/reconciler/signal-store.d.ts.map +1 -0
  132. package/dist/reconciler/signal-store.js +84 -0
  133. package/dist/reconciler/signal-store.js.map +1 -0
  134. package/dist/reconciler/state.d.ts +36 -0
  135. package/dist/reconciler/state.d.ts.map +1 -0
  136. package/dist/reconciler/state.js +38 -0
  137. package/dist/reconciler/state.js.map +1 -0
  138. package/dist/reconciler/text-buffer-controller.d.ts +17 -0
  139. package/dist/reconciler/text-buffer-controller.d.ts.map +1 -0
  140. package/dist/reconciler/text-buffer-controller.js +102 -0
  141. package/dist/reconciler/text-buffer-controller.js.map +1 -0
  142. package/dist/reconciler/text-buffer-rebuild.d.ts +3 -0
  143. package/dist/reconciler/text-buffer-rebuild.d.ts.map +1 -0
  144. package/dist/reconciler/text-buffer-rebuild.js +7 -0
  145. package/dist/reconciler/text-buffer-rebuild.js.map +1 -0
  146. package/dist/reconciler/text-node.d.ts +7 -0
  147. package/dist/reconciler/text-node.d.ts.map +1 -0
  148. package/dist/reconciler/text-node.js +8 -0
  149. package/dist/reconciler/text-node.js.map +1 -0
  150. package/dist/reconciler/types.d.ts +5 -0
  151. package/dist/reconciler/types.d.ts.map +1 -0
  152. package/dist/reconciler/types.js.map +1 -0
  153. package/dist/reconciler/visibility.d.ts +6 -0
  154. package/dist/reconciler/visibility.d.ts.map +1 -0
  155. package/dist/reconciler/visibility.js +57 -0
  156. package/dist/reconciler/visibility.js.map +1 -0
  157. package/dist/reconciler/wrapper-apply.d.ts +6 -0
  158. package/dist/reconciler/wrapper-apply.d.ts.map +1 -0
  159. package/dist/reconciler/wrapper-apply.js +287 -0
  160. package/dist/reconciler/wrapper-apply.js.map +1 -0
  161. package/dist/reconciler/wrapper-content.d.ts +8 -0
  162. package/dist/reconciler/wrapper-content.d.ts.map +1 -0
  163. package/dist/reconciler/wrapper-content.js +19 -0
  164. package/dist/reconciler/wrapper-content.js.map +1 -0
  165. package/dist/reconciler/wrapper-node.d.ts +8 -0
  166. package/dist/reconciler/wrapper-node.d.ts.map +1 -0
  167. package/dist/reconciler/wrapper-node.js +4 -0
  168. package/dist/reconciler/wrapper-node.js.map +1 -0
  169. package/dist/reconciler/wrapper-protocol.d.ts +13 -0
  170. package/dist/reconciler/wrapper-protocol.d.ts.map +1 -0
  171. package/dist/reconciler/wrapper-protocol.js +20 -0
  172. package/dist/reconciler/wrapper-protocol.js.map +1 -0
  173. package/dist/utils/accessible-metadata.d.ts +5 -0
  174. package/dist/utils/accessible-metadata.d.ts.map +1 -0
  175. package/dist/utils/accessible-metadata.js +22 -0
  176. package/dist/utils/accessible-metadata.js.map +1 -0
  177. package/dist/utils/create-element-component.d.ts +4 -0
  178. package/dist/utils/create-element-component.d.ts.map +1 -0
  179. package/dist/utils/create-element-component.js +54 -0
  180. package/dist/utils/create-element-component.js.map +1 -0
  181. package/dist/utils/gtype.d.ts +16 -0
  182. package/dist/utils/gtype.d.ts.map +1 -0
  183. package/dist/utils/gtype.js +127 -0
  184. package/dist/utils/gtype.js.map +1 -0
  185. package/dist/utils/notify-name.d.ts +5 -0
  186. package/dist/utils/notify-name.d.ts.map +1 -0
  187. package/dist/utils/notify-name.js +6 -0
  188. package/dist/utils/notify-name.js.map +1 -0
  189. package/dist/utils/object-prop.d.ts +8 -0
  190. package/dist/utils/object-prop.d.ts.map +1 -0
  191. package/dist/utils/object-prop.js +9 -0
  192. package/dist/utils/object-prop.js.map +1 -0
  193. package/dist/utils/settings-accessor.d.ts +8 -0
  194. package/dist/utils/settings-accessor.d.ts.map +1 -0
  195. package/dist/utils/settings-accessor.js +69 -0
  196. package/dist/utils/settings-accessor.js.map +1 -0
  197. package/dist/utils/wrapper-node-jsx.d.ts +32 -0
  198. package/dist/utils/wrapper-node-jsx.d.ts.map +1 -0
  199. package/dist/utils/wrapper-node-jsx.js +2 -0
  200. package/dist/utils/wrapper-node-jsx.js.map +1 -0
  201. package/package.json +22 -8
  202. package/src/components/application.tsx +43 -0
  203. package/src/components/window.tsx +36 -0
  204. package/src/hooks/use-application.ts +17 -0
  205. package/src/hooks/use-bind-setting.ts +35 -0
  206. package/src/hooks/use-merge-refs.ts +53 -0
  207. package/src/hooks/use-object-attachment.ts +35 -0
  208. package/src/hooks/use-object-value.ts +50 -0
  209. package/src/hooks/use-parent-window.ts +9 -0
  210. package/src/hooks/use-property.ts +22 -0
  211. package/src/hooks/use-setting.ts +47 -0
  212. package/src/hooks/use-signal.ts +71 -0
  213. package/src/index.ts +15 -12
  214. package/src/internal.ts +24 -0
  215. package/src/libraries/adw/dialog.tsx +34 -0
  216. package/src/libraries/adw/index.ts +1 -0
  217. package/src/reconciler/accessible.ts +232 -0
  218. package/src/reconciler/apply-props.ts +117 -0
  219. package/src/reconciler/commit-flush.ts +13 -0
  220. package/src/reconciler/container-attach.ts +219 -0
  221. package/src/reconciler/content-rebuild.ts +19 -0
  222. package/src/reconciler/dispatch.ts +58 -0
  223. package/src/reconciler/element-prop-appliers.ts +110 -0
  224. package/src/reconciler/element-props.ts +192 -0
  225. package/src/reconciler/host-config.ts +405 -0
  226. package/src/reconciler/instance.ts +30 -0
  227. package/src/reconciler/label-text-rebuild.ts +26 -0
  228. package/src/reconciler/portal.ts +28 -0
  229. package/src/reconciler/reconciler-error-handler.ts +29 -0
  230. package/src/reconciler/reconciler-root.ts +57 -0
  231. package/src/reconciler/reconciler.ts +13 -0
  232. package/src/reconciler/render.ts +61 -0
  233. package/src/reconciler/root-element.ts +14 -0
  234. package/src/reconciler/signal-store.ts +103 -0
  235. package/src/reconciler/state.ts +72 -0
  236. package/src/reconciler/text-buffer-controller.ts +107 -0
  237. package/src/reconciler/text-buffer-rebuild.ts +12 -0
  238. package/src/reconciler/text-node.ts +13 -0
  239. package/src/reconciler/types.ts +6 -0
  240. package/src/reconciler/visibility.ts +52 -0
  241. package/src/reconciler/wrapper-apply.ts +308 -0
  242. package/src/reconciler/wrapper-content.ts +24 -0
  243. package/src/reconciler/wrapper-node.ts +8 -0
  244. package/src/reconciler/wrapper-protocol.ts +32 -0
  245. package/src/utils/accessible-metadata.ts +26 -0
  246. package/src/utils/create-element-component.ts +77 -0
  247. package/src/utils/gtype.ts +166 -0
  248. package/src/utils/notify-name.ts +10 -0
  249. package/src/utils/object-prop.ts +13 -0
  250. package/src/utils/settings-accessor.ts +89 -0
  251. package/src/utils/wrapper-node-jsx.ts +34 -0
  252. package/dist/components/list.d.ts +0 -35
  253. package/dist/components/list.d.ts.map +0 -1
  254. package/dist/components/list.js +0 -40
  255. package/dist/components/list.js.map +0 -1
  256. package/dist/errors.d.ts +0 -9
  257. package/dist/errors.d.ts.map +0 -1
  258. package/dist/errors.js +0 -42
  259. package/dist/errors.js.map +0 -1
  260. package/dist/factory.d.ts +0 -5
  261. package/dist/factory.d.ts.map +0 -1
  262. package/dist/factory.js +0 -37
  263. package/dist/factory.js.map +0 -1
  264. package/dist/generated/internal.d.ts +0 -16
  265. package/dist/generated/internal.d.ts.map +0 -1
  266. package/dist/generated/internal.js +0 -5635
  267. package/dist/generated/internal.js.map +0 -1
  268. package/dist/generated/jsx.d.ts +0 -19624
  269. package/dist/generated/jsx.d.ts.map +0 -1
  270. package/dist/generated/jsx.js +0 -9274
  271. package/dist/generated/jsx.js.map +0 -1
  272. package/dist/generated/registry.d.ts +0 -4
  273. package/dist/generated/registry.d.ts.map +0 -1
  274. package/dist/generated/registry.js +0 -14
  275. package/dist/generated/registry.js.map +0 -1
  276. package/dist/host-config.d.ts +0 -24
  277. package/dist/host-config.d.ts.map +0 -1
  278. package/dist/host-config.js +0 -172
  279. package/dist/host-config.js.map +0 -1
  280. package/dist/jsx.d.ts +0 -1272
  281. package/dist/jsx.d.ts.map +0 -1
  282. package/dist/jsx.js +0 -331
  283. package/dist/jsx.js.map +0 -1
  284. package/dist/metadata.d.ts +0 -5
  285. package/dist/metadata.d.ts.map +0 -1
  286. package/dist/metadata.js +0 -33
  287. package/dist/metadata.js.map +0 -1
  288. package/dist/node.d.ts +0 -25
  289. package/dist/node.d.ts.map +0 -1
  290. package/dist/node.js +0 -85
  291. package/dist/node.js.map +0 -1
  292. package/dist/nodes/adjustable.d.ts +0 -11
  293. package/dist/nodes/adjustable.d.ts.map +0 -1
  294. package/dist/nodes/adjustable.js +0 -46
  295. package/dist/nodes/adjustable.js.map +0 -1
  296. package/dist/nodes/alert-dialog-response.d.ts +0 -15
  297. package/dist/nodes/alert-dialog-response.d.ts.map +0 -1
  298. package/dist/nodes/alert-dialog-response.js +0 -61
  299. package/dist/nodes/alert-dialog-response.js.map +0 -1
  300. package/dist/nodes/animation.d.ts +0 -38
  301. package/dist/nodes/animation.d.ts.map +0 -1
  302. package/dist/nodes/animation.js +0 -310
  303. package/dist/nodes/animation.js.map +0 -1
  304. package/dist/nodes/application.d.ts +0 -12
  305. package/dist/nodes/application.d.ts.map +0 -1
  306. package/dist/nodes/application.js +0 -51
  307. package/dist/nodes/application.js.map +0 -1
  308. package/dist/nodes/calendar.d.ts +0 -18
  309. package/dist/nodes/calendar.d.ts.map +0 -1
  310. package/dist/nodes/calendar.js +0 -28
  311. package/dist/nodes/calendar.js.map +0 -1
  312. package/dist/nodes/color-dialog-button.d.ts +0 -15
  313. package/dist/nodes/color-dialog-button.d.ts.map +0 -1
  314. package/dist/nodes/color-dialog-button.js +0 -43
  315. package/dist/nodes/color-dialog-button.js.map +0 -1
  316. package/dist/nodes/column-view-column.d.ts +0 -36
  317. package/dist/nodes/column-view-column.d.ts.map +0 -1
  318. package/dist/nodes/column-view-column.js +0 -168
  319. package/dist/nodes/column-view-column.js.map +0 -1
  320. package/dist/nodes/container-slot.d.ts +0 -16
  321. package/dist/nodes/container-slot.d.ts.map +0 -1
  322. package/dist/nodes/container-slot.js +0 -69
  323. package/dist/nodes/container-slot.js.map +0 -1
  324. package/dist/nodes/dialog.d.ts +0 -10
  325. package/dist/nodes/dialog.d.ts.map +0 -1
  326. package/dist/nodes/dialog.js +0 -20
  327. package/dist/nodes/dialog.js.map +0 -1
  328. package/dist/nodes/drawing-area.d.ts +0 -17
  329. package/dist/nodes/drawing-area.d.ts.map +0 -1
  330. package/dist/nodes/drawing-area.js +0 -42
  331. package/dist/nodes/drawing-area.js.map +0 -1
  332. package/dist/nodes/event-controller.d.ts +0 -15
  333. package/dist/nodes/event-controller.d.ts.map +0 -1
  334. package/dist/nodes/event-controller.js +0 -77
  335. package/dist/nodes/event-controller.js.map +0 -1
  336. package/dist/nodes/fixed-child.d.ts +0 -18
  337. package/dist/nodes/fixed-child.d.ts.map +0 -1
  338. package/dist/nodes/fixed-child.js +0 -86
  339. package/dist/nodes/fixed-child.js.map +0 -1
  340. package/dist/nodes/font-dialog-button.d.ts +0 -15
  341. package/dist/nodes/font-dialog-button.d.ts.map +0 -1
  342. package/dist/nodes/font-dialog-button.js +0 -76
  343. package/dist/nodes/font-dialog-button.js.map +0 -1
  344. package/dist/nodes/grid-child.d.ts +0 -18
  345. package/dist/nodes/grid-child.d.ts.map +0 -1
  346. package/dist/nodes/grid-child.js +0 -81
  347. package/dist/nodes/grid-child.js.map +0 -1
  348. package/dist/nodes/internal/accessible.d.ts +0 -5
  349. package/dist/nodes/internal/accessible.d.ts.map +0 -1
  350. package/dist/nodes/internal/accessible.js +0 -119
  351. package/dist/nodes/internal/accessible.js.map +0 -1
  352. package/dist/nodes/internal/bound-item.d.ts +0 -4
  353. package/dist/nodes/internal/bound-item.d.ts.map +0 -1
  354. package/dist/nodes/internal/bound-item.js +0 -2
  355. package/dist/nodes/internal/bound-item.js.map +0 -1
  356. package/dist/nodes/internal/construct.d.ts +0 -3
  357. package/dist/nodes/internal/construct.d.ts.map +0 -1
  358. package/dist/nodes/internal/construct.js +0 -44
  359. package/dist/nodes/internal/construct.js.map +0 -1
  360. package/dist/nodes/internal/predicates.d.ts +0 -51
  361. package/dist/nodes/internal/predicates.d.ts.map +0 -1
  362. package/dist/nodes/internal/predicates.js +0 -36
  363. package/dist/nodes/internal/predicates.js.map +0 -1
  364. package/dist/nodes/internal/props.d.ts +0 -6
  365. package/dist/nodes/internal/props.d.ts.map +0 -1
  366. package/dist/nodes/internal/props.js +0 -43
  367. package/dist/nodes/internal/props.js.map +0 -1
  368. package/dist/nodes/internal/signal-store.d.ts +0 -22
  369. package/dist/nodes/internal/signal-store.d.ts.map +0 -1
  370. package/dist/nodes/internal/signal-store.js +0 -98
  371. package/dist/nodes/internal/signal-store.js.map +0 -1
  372. package/dist/nodes/internal/text-buffer-controller.d.ts +0 -40
  373. package/dist/nodes/internal/text-buffer-controller.d.ts.map +0 -1
  374. package/dist/nodes/internal/text-buffer-controller.js +0 -327
  375. package/dist/nodes/internal/text-buffer-controller.js.map +0 -1
  376. package/dist/nodes/internal/widget.d.ts +0 -8
  377. package/dist/nodes/internal/widget.d.ts.map +0 -1
  378. package/dist/nodes/internal/widget.js +0 -72
  379. package/dist/nodes/internal/widget.js.map +0 -1
  380. package/dist/nodes/level-bar.d.ts +0 -12
  381. package/dist/nodes/level-bar.d.ts.map +0 -1
  382. package/dist/nodes/level-bar.js +0 -24
  383. package/dist/nodes/level-bar.js.map +0 -1
  384. package/dist/nodes/list-item-node.d.ts +0 -12
  385. package/dist/nodes/list-item-node.d.ts.map +0 -1
  386. package/dist/nodes/list-item-node.js +0 -23
  387. package/dist/nodes/list-item-node.js.map +0 -1
  388. package/dist/nodes/list.d.ts +0 -100
  389. package/dist/nodes/list.d.ts.map +0 -1
  390. package/dist/nodes/list.js +0 -950
  391. package/dist/nodes/list.js.map +0 -1
  392. package/dist/nodes/menu.d.ts +0 -7
  393. package/dist/nodes/menu.d.ts.map +0 -1
  394. package/dist/nodes/menu.js +0 -20
  395. package/dist/nodes/menu.js.map +0 -1
  396. package/dist/nodes/models/menu.d.ts +0 -47
  397. package/dist/nodes/models/menu.d.ts.map +0 -1
  398. package/dist/nodes/models/menu.js +0 -240
  399. package/dist/nodes/models/menu.js.map +0 -1
  400. package/dist/nodes/navigation-page.d.ts +0 -19
  401. package/dist/nodes/navigation-page.d.ts.map +0 -1
  402. package/dist/nodes/navigation-page.js +0 -129
  403. package/dist/nodes/navigation-page.js.map +0 -1
  404. package/dist/nodes/navigation-view.d.ts +0 -19
  405. package/dist/nodes/navigation-view.d.ts.map +0 -1
  406. package/dist/nodes/navigation-view.js +0 -51
  407. package/dist/nodes/navigation-view.js.map +0 -1
  408. package/dist/nodes/notebook-page-tab.d.ts +0 -15
  409. package/dist/nodes/notebook-page-tab.d.ts.map +0 -1
  410. package/dist/nodes/notebook-page-tab.js +0 -40
  411. package/dist/nodes/notebook-page-tab.js.map +0 -1
  412. package/dist/nodes/notebook-page.d.ts +0 -29
  413. package/dist/nodes/notebook-page.d.ts.map +0 -1
  414. package/dist/nodes/notebook-page.js +0 -151
  415. package/dist/nodes/notebook-page.js.map +0 -1
  416. package/dist/nodes/notebook.d.ts +0 -16
  417. package/dist/nodes/notebook.d.ts.map +0 -1
  418. package/dist/nodes/notebook.js +0 -31
  419. package/dist/nodes/notebook.js.map +0 -1
  420. package/dist/nodes/overlay-child.d.ts +0 -18
  421. package/dist/nodes/overlay-child.d.ts.map +0 -1
  422. package/dist/nodes/overlay-child.js +0 -88
  423. package/dist/nodes/overlay-child.js.map +0 -1
  424. package/dist/nodes/popover-menu.d.ts +0 -19
  425. package/dist/nodes/popover-menu.d.ts.map +0 -1
  426. package/dist/nodes/popover-menu.js +0 -54
  427. package/dist/nodes/popover-menu.js.map +0 -1
  428. package/dist/nodes/scale.d.ts +0 -10
  429. package/dist/nodes/scale.d.ts.map +0 -1
  430. package/dist/nodes/scale.js +0 -19
  431. package/dist/nodes/scale.js.map +0 -1
  432. package/dist/nodes/scrolled-window.d.ts +0 -11
  433. package/dist/nodes/scrolled-window.d.ts.map +0 -1
  434. package/dist/nodes/scrolled-window.js +0 -18
  435. package/dist/nodes/scrolled-window.js.map +0 -1
  436. package/dist/nodes/search-bar.d.ts +0 -11
  437. package/dist/nodes/search-bar.d.ts.map +0 -1
  438. package/dist/nodes/search-bar.js +0 -16
  439. package/dist/nodes/search-bar.js.map +0 -1
  440. package/dist/nodes/shortcut.d.ts +0 -19
  441. package/dist/nodes/shortcut.d.ts.map +0 -1
  442. package/dist/nodes/shortcut.js +0 -72
  443. package/dist/nodes/shortcut.js.map +0 -1
  444. package/dist/nodes/slot.d.ts +0 -21
  445. package/dist/nodes/slot.d.ts.map +0 -1
  446. package/dist/nodes/slot.js +0 -102
  447. package/dist/nodes/slot.js.map +0 -1
  448. package/dist/nodes/source-view.d.ts +0 -18
  449. package/dist/nodes/source-view.d.ts.map +0 -1
  450. package/dist/nodes/source-view.js +0 -94
  451. package/dist/nodes/source-view.js.map +0 -1
  452. package/dist/nodes/stack-page.d.ts +0 -22
  453. package/dist/nodes/stack-page.d.ts.map +0 -1
  454. package/dist/nodes/stack-page.js +0 -140
  455. package/dist/nodes/stack-page.js.map +0 -1
  456. package/dist/nodes/stack.d.ts +0 -13
  457. package/dist/nodes/stack.d.ts.map +0 -1
  458. package/dist/nodes/stack.js +0 -21
  459. package/dist/nodes/stack.js.map +0 -1
  460. package/dist/nodes/text-anchor.d.ts +0 -23
  461. package/dist/nodes/text-anchor.d.ts.map +0 -1
  462. package/dist/nodes/text-anchor.js +0 -64
  463. package/dist/nodes/text-anchor.js.map +0 -1
  464. package/dist/nodes/text-content.d.ts +0 -12
  465. package/dist/nodes/text-content.d.ts.map +0 -1
  466. package/dist/nodes/text-content.js +0 -2
  467. package/dist/nodes/text-content.js.map +0 -1
  468. package/dist/nodes/text-paintable.d.ts +0 -19
  469. package/dist/nodes/text-paintable.d.ts.map +0 -1
  470. package/dist/nodes/text-paintable.js +0 -42
  471. package/dist/nodes/text-paintable.js.map +0 -1
  472. package/dist/nodes/text-segment.d.ts +0 -18
  473. package/dist/nodes/text-segment.d.ts.map +0 -1
  474. package/dist/nodes/text-segment.js +0 -38
  475. package/dist/nodes/text-segment.js.map +0 -1
  476. package/dist/nodes/text-tag.d.ts +0 -38
  477. package/dist/nodes/text-tag.d.ts.map +0 -1
  478. package/dist/nodes/text-tag.js +0 -241
  479. package/dist/nodes/text-tag.js.map +0 -1
  480. package/dist/nodes/text-view.d.ts +0 -29
  481. package/dist/nodes/text-view.d.ts.map +0 -1
  482. package/dist/nodes/text-view.js +0 -80
  483. package/dist/nodes/text-view.js.map +0 -1
  484. package/dist/nodes/toggle-group.d.ts +0 -11
  485. package/dist/nodes/toggle-group.d.ts.map +0 -1
  486. package/dist/nodes/toggle-group.js +0 -16
  487. package/dist/nodes/toggle-group.js.map +0 -1
  488. package/dist/nodes/toggle.d.ts +0 -16
  489. package/dist/nodes/toggle.d.ts.map +0 -1
  490. package/dist/nodes/toggle.js +0 -61
  491. package/dist/nodes/toggle.js.map +0 -1
  492. package/dist/nodes/virtual.d.ts +0 -7
  493. package/dist/nodes/virtual.d.ts.map +0 -1
  494. package/dist/nodes/virtual.js +0 -9
  495. package/dist/nodes/virtual.js.map +0 -1
  496. package/dist/nodes/web-view.d.ts +0 -11
  497. package/dist/nodes/web-view.d.ts.map +0 -1
  498. package/dist/nodes/web-view.js +0 -16
  499. package/dist/nodes/web-view.js.map +0 -1
  500. package/dist/nodes/widget.d.ts +0 -26
  501. package/dist/nodes/widget.d.ts.map +0 -1
  502. package/dist/nodes/widget.js +0 -315
  503. package/dist/nodes/widget.js.map +0 -1
  504. package/dist/nodes/window.d.ts +0 -31
  505. package/dist/nodes/window.d.ts.map +0 -1
  506. package/dist/nodes/window.js +0 -122
  507. package/dist/nodes/window.js.map +0 -1
  508. package/dist/portal.d.ts +0 -29
  509. package/dist/portal.d.ts.map +0 -1
  510. package/dist/portal.js +0 -35
  511. package/dist/portal.js.map +0 -1
  512. package/dist/reconciler.d.ts +0 -34
  513. package/dist/reconciler.d.ts.map +0 -1
  514. package/dist/reconciler.js +0 -48
  515. package/dist/reconciler.js.map +0 -1
  516. package/dist/registry.d.ts +0 -18
  517. package/dist/registry.d.ts.map +0 -1
  518. package/dist/registry.js +0 -96
  519. package/dist/registry.js.map +0 -1
  520. package/dist/render.d.ts +0 -117
  521. package/dist/render.d.ts.map +0 -1
  522. package/dist/render.js +0 -159
  523. package/dist/render.js.map +0 -1
  524. package/dist/types.d.ts +0 -5
  525. package/dist/types.d.ts.map +0 -1
  526. package/dist/types.js.map +0 -1
  527. package/src/components/list.tsx +0 -83
  528. package/src/errors.ts +0 -52
  529. package/src/factory.ts +0 -62
  530. package/src/generated/internal.ts +0 -5644
  531. package/src/generated/jsx.ts +0 -19900
  532. package/src/generated/registry.ts +0 -16
  533. package/src/host-config.ts +0 -219
  534. package/src/jsx.ts +0 -1355
  535. package/src/metadata.ts +0 -43
  536. package/src/node.ts +0 -107
  537. package/src/nodes/adjustable.ts +0 -68
  538. package/src/nodes/alert-dialog-response.ts +0 -78
  539. package/src/nodes/animation.ts +0 -402
  540. package/src/nodes/application.ts +0 -61
  541. package/src/nodes/calendar.ts +0 -42
  542. package/src/nodes/color-dialog-button.ts +0 -69
  543. package/src/nodes/column-view-column.ts +0 -189
  544. package/src/nodes/container-slot.ts +0 -87
  545. package/src/nodes/dialog.ts +0 -25
  546. package/src/nodes/drawing-area.ts +0 -62
  547. package/src/nodes/event-controller.ts +0 -100
  548. package/src/nodes/fixed-child.ts +0 -109
  549. package/src/nodes/font-dialog-button.ts +0 -107
  550. package/src/nodes/grid-child.ts +0 -103
  551. package/src/nodes/internal/accessible.ts +0 -155
  552. package/src/nodes/internal/bound-item.ts +0 -4
  553. package/src/nodes/internal/construct.ts +0 -60
  554. package/src/nodes/internal/predicates.ts +0 -80
  555. package/src/nodes/internal/props.ts +0 -51
  556. package/src/nodes/internal/signal-store.ts +0 -141
  557. package/src/nodes/internal/text-buffer-controller.ts +0 -417
  558. package/src/nodes/internal/widget.ts +0 -80
  559. package/src/nodes/level-bar.ts +0 -36
  560. package/src/nodes/list-item-node.ts +0 -29
  561. package/src/nodes/list.ts +0 -1082
  562. package/src/nodes/menu.ts +0 -27
  563. package/src/nodes/models/menu.ts +0 -314
  564. package/src/nodes/navigation-page.ts +0 -154
  565. package/src/nodes/navigation-view.ts +0 -66
  566. package/src/nodes/notebook-page-tab.ts +0 -55
  567. package/src/nodes/notebook-page.ts +0 -189
  568. package/src/nodes/notebook.ts +0 -42
  569. package/src/nodes/overlay-child.ts +0 -109
  570. package/src/nodes/popover-menu.ts +0 -67
  571. package/src/nodes/scale.ts +0 -28
  572. package/src/nodes/scrolled-window.ts +0 -23
  573. package/src/nodes/search-bar.ts +0 -27
  574. package/src/nodes/shortcut.ts +0 -86
  575. package/src/nodes/slot.ts +0 -138
  576. package/src/nodes/source-view.ts +0 -130
  577. package/src/nodes/stack-page.ts +0 -170
  578. package/src/nodes/stack.ts +0 -35
  579. package/src/nodes/text-anchor.ts +0 -79
  580. package/src/nodes/text-content.ts +0 -14
  581. package/src/nodes/text-paintable.ts +0 -51
  582. package/src/nodes/text-segment.ts +0 -55
  583. package/src/nodes/text-tag.ts +0 -293
  584. package/src/nodes/text-view.ts +0 -100
  585. package/src/nodes/toggle-group.ts +0 -27
  586. package/src/nodes/toggle.ts +0 -72
  587. package/src/nodes/virtual.ts +0 -16
  588. package/src/nodes/web-view.ts +0 -22
  589. package/src/nodes/widget.ts +0 -376
  590. package/src/nodes/window.ts +0 -172
  591. package/src/portal.ts +0 -37
  592. package/src/reconciler.ts +0 -52
  593. package/src/registry.ts +0 -117
  594. package/src/render.tsx +0 -192
  595. package/src/types.ts +0 -12
  596. /package/dist/{types.js → reconciler/types.js} +0 -0
@@ -1,189 +0,0 @@
1
- import * as Gtk from "@gtkx/ffi/gtk";
2
- import type { NotebookPageProps } from "../jsx.js";
3
- import type { Node } from "../node.js";
4
- import { hasChanged } from "./internal/props.js";
5
- import { NotebookPageTabNode } from "./notebook-page-tab.js";
6
- import { VirtualNode } from "./virtual.js";
7
- import { WidgetNode } from "./widget.js";
8
-
9
- type NotebookPageChild = WidgetNode | NotebookPageTabNode;
10
-
11
- export class NotebookPageNode extends VirtualNode<NotebookPageProps, WidgetNode<Gtk.Notebook>, NotebookPageChild> {
12
- private position: number | null = null;
13
-
14
- public override isValidChild(child: Node): boolean {
15
- return child instanceof WidgetNode || child instanceof NotebookPageTabNode;
16
- }
17
-
18
- public override isValidParent(parent: Node): boolean {
19
- return parent instanceof WidgetNode && parent.container instanceof Gtk.Notebook;
20
- }
21
-
22
- public findTabNode(): NotebookPageTabNode | undefined {
23
- return this.children.find((c): c is NotebookPageTabNode => c instanceof NotebookPageTabNode);
24
- }
25
-
26
- public findContentChild(): WidgetNode | undefined {
27
- return this.children.find(
28
- (c): c is WidgetNode => c instanceof WidgetNode && !(c instanceof NotebookPageTabNode),
29
- );
30
- }
31
-
32
- public override setParent(parent: WidgetNode<Gtk.Notebook> | null): void {
33
- if (!parent && this.parent) {
34
- const childWidget = this.findContentChild()?.container ?? null;
35
- if (childWidget) {
36
- this.detachPage(childWidget);
37
- }
38
- }
39
-
40
- super.setParent(parent);
41
-
42
- if (parent && this.findContentChild()) {
43
- this.onChildChange(null);
44
- }
45
- }
46
-
47
- public override appendChild(child: NotebookPageChild): void {
48
- if (child instanceof NotebookPageTabNode) {
49
- super.appendChild(child);
50
- return;
51
- }
52
-
53
- const oldContent = this.findContentChild()?.container ?? null;
54
- super.appendChild(child);
55
-
56
- if (this.parent) {
57
- this.onChildChange(oldContent);
58
- }
59
- }
60
-
61
- public override removeChild(child: NotebookPageChild): void {
62
- if (child instanceof NotebookPageTabNode) {
63
- super.removeChild(child);
64
- return;
65
- }
66
-
67
- const isContent = child === this.findContentChild();
68
- const oldContent = isContent ? child.container : null;
69
- super.removeChild(child);
70
-
71
- if (isContent && this.parent && oldContent) {
72
- this.onChildChange(oldContent);
73
- }
74
- }
75
-
76
- public override commitUpdate(oldProps: NotebookPageProps | null, newProps: NotebookPageProps): void {
77
- super.commitUpdate(oldProps, newProps);
78
- this.applyOwnProps(oldProps, newProps);
79
- }
80
-
81
- public override detachDeletedInstance(): void {
82
- const childWidget = this.findContentChild()?.container ?? null;
83
- if (childWidget && this.parent) {
84
- const notebook = this.getParentWidget();
85
- if (notebook.getNPages() <= 1) {
86
- notebook.setShowTabs(false);
87
- }
88
- this.detachPage(childWidget);
89
- }
90
- super.detachDeletedInstance();
91
- }
92
-
93
- public setPosition(position: number | null): void {
94
- this.position = position;
95
- }
96
-
97
- public getChildWidget(): Gtk.Widget {
98
- const contentChild = this.findContentChild();
99
- if (!contentChild) {
100
- throw new Error("Expected content child widget to be set on NotebookPageNode");
101
- }
102
-
103
- return contentChild.container;
104
- }
105
-
106
- private getParentWidget(): Gtk.Notebook {
107
- if (!this.parent) {
108
- throw new Error("Expected parent widget to be set on NotebookPageNode");
109
- }
110
-
111
- return this.parent.container;
112
- }
113
-
114
- private applyOwnProps(oldProps: NotebookPageProps | null, newProps: NotebookPageProps): void {
115
- const contentChild = this.findContentChild();
116
- const childWidget = contentChild?.container ?? null;
117
- const tabNode = this.findTabNode();
118
-
119
- if (hasChanged(oldProps, newProps, "label") && childWidget && this.parent && !tabNode?.children[0]) {
120
- const tabLabel = this.getParentWidget().getTabLabel(childWidget) as Gtk.Label;
121
- tabLabel.setLabel(newProps.label ?? "");
122
- }
123
-
124
- const pagePropsChanged =
125
- hasChanged(oldProps, newProps, "tabExpand") || hasChanged(oldProps, newProps, "tabFill");
126
- if (childWidget && this.parent && pagePropsChanged) {
127
- this.applyPageProps();
128
- }
129
- }
130
-
131
- private attachPage(): void {
132
- const child = this.getChildWidget();
133
- const notebook = this.getParentWidget();
134
- const tabNode = this.findTabNode();
135
-
136
- let tabLabel: Gtk.Widget;
137
-
138
- if (tabNode?.children[0]) {
139
- tabLabel = tabNode.children[0].container;
140
- } else {
141
- const label = new Gtk.Label();
142
- label.setLabel(this.props.label ?? "");
143
- tabLabel = label;
144
- }
145
-
146
- if (this.position != null) {
147
- notebook.insertPage(child, this.position, tabLabel);
148
- } else {
149
- notebook.appendPage(child, tabLabel);
150
- }
151
-
152
- this.applyPageProps();
153
- }
154
-
155
- private applyPageProps(): void {
156
- const child = this.findContentChild()?.container ?? null;
157
- if (!child || !this.parent) return;
158
-
159
- const notebook = this.getParentWidget();
160
- const page = notebook.getPage(child);
161
- if (!page) return;
162
-
163
- if (this.props.tabExpand !== undefined) {
164
- page.setTabExpand(this.props.tabExpand);
165
- }
166
-
167
- if (this.props.tabFill !== undefined) {
168
- page.setTabFill(this.props.tabFill);
169
- }
170
- }
171
-
172
- private detachPage(childToDetach: Gtk.Widget): void {
173
- const notebook = this.getParentWidget();
174
- const pageNum = notebook.pageNum(childToDetach);
175
- if (pageNum !== -1) {
176
- notebook.removePage(pageNum);
177
- }
178
- }
179
-
180
- private onChildChange(oldChild: Gtk.Widget | null): void {
181
- if (oldChild) {
182
- this.detachPage(oldChild);
183
- }
184
-
185
- if (this.findContentChild()) {
186
- this.attachPage();
187
- }
188
- }
189
- }
@@ -1,42 +0,0 @@
1
- import type * as Gtk from "@gtkx/ffi/gtk";
2
- import type { Node } from "../node.js";
3
- import type { Props } from "../types.js";
4
- import { ContainerSlotNode } from "./container-slot.js";
5
- import { EventControllerNode } from "./event-controller.js";
6
- import { NotebookPageNode } from "./notebook-page.js";
7
- import { SlotNode } from "./slot.js";
8
- import { WidgetNode } from "./widget.js";
9
-
10
- type NotebookChild = NotebookPageNode | EventControllerNode | SlotNode | ContainerSlotNode;
11
-
12
- export class NotebookNode extends WidgetNode<Gtk.Notebook, Props, NotebookChild> {
13
- public override isValidChild(child: Node): boolean {
14
- return (
15
- child instanceof NotebookPageNode ||
16
- child instanceof EventControllerNode ||
17
- child instanceof SlotNode ||
18
- child instanceof ContainerSlotNode
19
- );
20
- }
21
-
22
- public override insertBefore(child: NotebookChild, before: NotebookChild): void {
23
- if (child instanceof NotebookPageNode && before instanceof NotebookPageNode) {
24
- const isMove = this.children.includes(child);
25
- const beforePosition = this.container.pageNum(before.getChildWidget());
26
- child.setPosition(beforePosition);
27
-
28
- if (isMove) {
29
- this.container.reorderChild(child.getChildWidget(), beforePosition);
30
- }
31
- }
32
-
33
- super.insertBefore(child, before);
34
- }
35
-
36
- public override removeChild(child: NotebookChild): void {
37
- if (child instanceof NotebookPageNode) {
38
- child.setPosition(null);
39
- }
40
- super.removeChild(child);
41
- }
42
- }
@@ -1,109 +0,0 @@
1
- import * as Gtk from "@gtkx/ffi/gtk";
2
- import type { OverlayChildProps } from "../jsx.js";
3
- import type { Node } from "../node.js";
4
- import { hasChanged } from "./internal/props.js";
5
- import { VirtualNode } from "./virtual.js";
6
- import { WidgetNode } from "./widget.js";
7
-
8
- export class OverlayChildNode extends VirtualNode<OverlayChildProps, WidgetNode<Gtk.Overlay>, WidgetNode> {
9
- public override isValidChild(child: Node): boolean {
10
- return child instanceof WidgetNode;
11
- }
12
-
13
- public override isValidParent(parent: Node): boolean {
14
- return parent instanceof WidgetNode && parent.container instanceof Gtk.Overlay;
15
- }
16
-
17
- public override setParent(parent: WidgetNode<Gtk.Overlay> | null): void {
18
- if (!parent && this.parent) {
19
- this.detachAllChildren(this.parent.container);
20
- }
21
-
22
- super.setParent(parent);
23
-
24
- if (parent) {
25
- for (const child of this.children) {
26
- this.attachToParent(parent.container, child.container);
27
- }
28
- }
29
- }
30
-
31
- public override appendChild(child: WidgetNode): void {
32
- super.appendChild(child);
33
-
34
- if (this.parent) {
35
- this.attachToParent(this.parent.container, child.container);
36
- }
37
- }
38
-
39
- public override insertBefore(child: WidgetNode, before: WidgetNode): void {
40
- super.insertBefore(child, before);
41
-
42
- if (this.parent) {
43
- this.attachToParent(this.parent.container, child.container);
44
- }
45
- }
46
-
47
- public override removeChild(child: WidgetNode): void {
48
- if (this.parent) {
49
- const widget = child.container;
50
- const currentParent = widget.getParent();
51
- if (currentParent && currentParent === this.parent.container) {
52
- this.parent.container.removeOverlay(widget);
53
- }
54
- }
55
-
56
- super.removeChild(child);
57
- }
58
-
59
- public override commitUpdate(oldProps: OverlayChildProps | null, newProps: OverlayChildProps): void {
60
- super.commitUpdate(oldProps, newProps);
61
-
62
- if (!this.parent) {
63
- return;
64
- }
65
-
66
- const measureChanged = hasChanged(oldProps, newProps, "measure");
67
- const clipOverlayChanged = hasChanged(oldProps, newProps, "clipOverlay");
68
-
69
- if (measureChanged || clipOverlayChanged) {
70
- const parent = this.parent.container;
71
- for (const child of this.children) {
72
- if (measureChanged) {
73
- parent.setMeasureOverlay(child.container, newProps.measure ?? false);
74
- }
75
- if (clipOverlayChanged) {
76
- parent.setClipOverlay(child.container, newProps.clipOverlay ?? false);
77
- }
78
- }
79
- }
80
- }
81
-
82
- public override detachDeletedInstance(): void {
83
- if (this.parent) {
84
- this.detachAllChildren(this.parent.container);
85
- }
86
- super.detachDeletedInstance();
87
- }
88
-
89
- private attachToParent(parent: Gtk.Overlay, child: Gtk.Widget): void {
90
- parent.addOverlay(child);
91
-
92
- if (this.props.measure !== undefined) {
93
- parent.setMeasureOverlay(child, this.props.measure);
94
- }
95
-
96
- if (this.props.clipOverlay !== undefined) {
97
- parent.setClipOverlay(child, this.props.clipOverlay);
98
- }
99
- }
100
-
101
- private detachAllChildren(parent: Gtk.Overlay): void {
102
- for (const child of this.children) {
103
- const currentParent = child.container.getParent();
104
- if (currentParent && currentParent === parent) {
105
- parent.removeOverlay(child.container);
106
- }
107
- }
108
- }
109
- }
@@ -1,67 +0,0 @@
1
- import * as Gio from "@gtkx/ffi/gio";
2
- import * as Gtk from "@gtkx/ffi/gtk";
3
- import type { Node } from "../node.js";
4
- import type { PopoverMenuWidget } from "../registry.js";
5
- import type { Container, Props } from "../types.js";
6
- import { ContainerSlotNode } from "./container-slot.js";
7
- import { EventControllerNode } from "./event-controller.js";
8
- import { MenuNode } from "./menu.js";
9
- import { MenuModel } from "./models/menu.js";
10
- import { SlotNode } from "./slot.js";
11
- import { WidgetNode } from "./widget.js";
12
-
13
- type PopoverMenuChild = MenuNode | SlotNode | ContainerSlotNode | EventControllerNode | WidgetNode;
14
-
15
- export class PopoverMenuNode extends WidgetNode<PopoverMenuWidget, Props, PopoverMenuChild> {
16
- private menu: MenuModel;
17
-
18
- public override isValidChild(child: Node): boolean {
19
- return (
20
- child instanceof MenuNode ||
21
- child instanceof SlotNode ||
22
- child instanceof EventControllerNode ||
23
- child instanceof ContainerSlotNode ||
24
- child instanceof WidgetNode
25
- );
26
- }
27
-
28
- constructor(typeName: string, props: Props, container: PopoverMenuWidget, rootContainer: Container) {
29
- super(typeName, props, container, rootContainer);
30
-
31
- const application = rootContainer instanceof Gtk.Application ? rootContainer : undefined;
32
- const actionGroup = new Gio.SimpleActionGroup();
33
- const prefix = application ? "app" : "menu";
34
-
35
- this.container.insertActionGroup(prefix, actionGroup);
36
- this.menu = new MenuModel("root", {}, rootContainer, actionGroup, application);
37
- this.container.setMenuModel(this.menu.getMenu());
38
- }
39
-
40
- public override appendChild(child: PopoverMenuChild): void {
41
- if (child instanceof MenuNode) {
42
- this.menu.appendChild(child);
43
- return;
44
- }
45
- super.appendChild(child);
46
- }
47
-
48
- public override insertBefore(child: PopoverMenuChild, before: PopoverMenuChild): void {
49
- if (child instanceof MenuNode) {
50
- if (before instanceof MenuNode) {
51
- this.menu.insertBefore(child, before);
52
- } else {
53
- this.menu.appendChild(child);
54
- }
55
- return;
56
- }
57
- super.insertBefore(child, before);
58
- }
59
-
60
- public override removeChild(child: PopoverMenuChild): void {
61
- if (child instanceof MenuNode) {
62
- this.menu.removeChild(child);
63
- return;
64
- }
65
- super.removeChild(child);
66
- }
67
- }
@@ -1,28 +0,0 @@
1
- import * as Gtk from "@gtkx/ffi/gtk";
2
- import type { AdjustableProps, GtkScaleProps, ScaleMark } from "../jsx.js";
3
- import { AdjustableNode } from "./adjustable.js";
4
- import { shallowArrayEqual } from "./internal/props.js";
5
-
6
- type ScaleProps = AdjustableProps & Pick<GtkScaleProps, "marks">;
7
-
8
- export class ScaleNode extends AdjustableNode<Gtk.Scale> {
9
- private appliedMarks: ScaleMark[] = [];
10
-
11
- protected override applyOwnProps(oldProps: ScaleProps | null, newProps: ScaleProps): void {
12
- super.applyOwnProps(oldProps, newProps);
13
-
14
- const newMarks = newProps.marks ?? [];
15
-
16
- if (shallowArrayEqual(this.appliedMarks, newMarks)) {
17
- return;
18
- }
19
-
20
- this.container.clearMarks();
21
-
22
- for (const mark of newMarks) {
23
- this.container.addMark(mark.value, mark.position ?? Gtk.PositionType.BOTTOM, mark.label);
24
- }
25
-
26
- this.appliedMarks = [...newMarks];
27
- }
28
- }
@@ -1,23 +0,0 @@
1
- import * as Gtk from "@gtkx/ffi/gtk";
2
- import type { GtkScrolledWindowProps } from "../jsx.js";
3
- import { filterProps, hasChanged } from "./internal/props.js";
4
- import { WidgetNode } from "./widget.js";
5
-
6
- const OWN_PROPS = ["hscrollbarPolicy", "vscrollbarPolicy"] as const;
7
-
8
- type ScrolledWindowProps = Pick<GtkScrolledWindowProps, (typeof OWN_PROPS)[number]>;
9
-
10
- export class ScrolledWindowNode extends WidgetNode<Gtk.ScrolledWindow, ScrolledWindowProps> {
11
- public override commitUpdate(oldProps: ScrolledWindowProps | null, newProps: ScrolledWindowProps): void {
12
- super.commitUpdate(oldProps ? filterProps(oldProps, OWN_PROPS) : null, filterProps(newProps, OWN_PROPS));
13
- this.applyOwnProps(oldProps, newProps);
14
- }
15
-
16
- private applyOwnProps(oldProps: ScrolledWindowProps | null, newProps: ScrolledWindowProps): void {
17
- if (hasChanged(oldProps, newProps, "hscrollbarPolicy") || hasChanged(oldProps, newProps, "vscrollbarPolicy")) {
18
- const hPolicy = newProps.hscrollbarPolicy ?? Gtk.PolicyType.AUTOMATIC;
19
- const vPolicy = newProps.vscrollbarPolicy ?? Gtk.PolicyType.AUTOMATIC;
20
- this.container.setPolicy(hPolicy, vPolicy);
21
- }
22
- }
23
- }
@@ -1,27 +0,0 @@
1
- import type * as Gtk from "@gtkx/ffi/gtk";
2
- import type { GtkSearchBarProps } from "../jsx.js";
3
- import { filterProps, hasChanged } from "./internal/props.js";
4
- import { WidgetNode } from "./widget.js";
5
-
6
- const OWN_PROPS = ["onSearchModeChanged"] as const;
7
-
8
- type SearchBarProps = Pick<GtkSearchBarProps, (typeof OWN_PROPS)[number]>;
9
-
10
- export class SearchBarNode extends WidgetNode<Gtk.SearchBar, SearchBarProps> {
11
- public override commitUpdate(oldProps: SearchBarProps | null, newProps: SearchBarProps): void {
12
- super.commitUpdate(oldProps ? filterProps(oldProps, OWN_PROPS) : null, filterProps(newProps, OWN_PROPS));
13
- this.applyOwnProps(oldProps, newProps);
14
- }
15
-
16
- private applyOwnProps(oldProps: SearchBarProps | null, newProps: SearchBarProps): void {
17
- if (hasChanged(oldProps, newProps, "onSearchModeChanged")) {
18
- const callback = newProps.onSearchModeChanged;
19
- this.signalStore.set(
20
- this,
21
- this.container,
22
- "notify::search-mode-enabled",
23
- callback ? () => callback(this.container.getSearchMode()) : undefined,
24
- );
25
- }
26
- }
27
- }
@@ -1,86 +0,0 @@
1
- import * as Gtk from "@gtkx/ffi/gtk";
2
- import type { ShortcutProps } from "../jsx.js";
3
- import type { Node } from "../node.js";
4
- import { EventControllerNode } from "./event-controller.js";
5
- import { hasChanged } from "./internal/props.js";
6
- import { VirtualNode } from "./virtual.js";
7
-
8
- export class ShortcutNode extends VirtualNode<ShortcutProps, EventControllerNode<Gtk.ShortcutController>, never> {
9
- public override isValidChild(_child: Node): boolean {
10
- return false;
11
- }
12
-
13
- public override isValidParent(parent: Node): boolean {
14
- return parent instanceof EventControllerNode && parent.container instanceof Gtk.ShortcutController;
15
- }
16
-
17
- private shortcut: Gtk.Shortcut | null = null;
18
- private action: Gtk.CallbackAction | null = null;
19
-
20
- public override setParent(parent: EventControllerNode<Gtk.ShortcutController> | null): void {
21
- if (!parent && this.parent) {
22
- this.removeFromController();
23
- }
24
-
25
- super.setParent(parent);
26
-
27
- if (parent && !this.shortcut) {
28
- this.createShortcut();
29
- const shortcut = this.shortcut;
30
- if (shortcut) parent.container.addShortcut(shortcut);
31
- }
32
- }
33
-
34
- public override commitUpdate(oldProps: ShortcutProps | null, newProps: ShortcutProps): void {
35
- super.commitUpdate(oldProps, newProps);
36
- this.applyOwnProps(oldProps, newProps);
37
- }
38
-
39
- public override detachDeletedInstance(): void {
40
- this.removeFromController();
41
- super.detachDeletedInstance();
42
- }
43
-
44
- private removeFromController(): void {
45
- if (!this.parent || !this.shortcut) return;
46
- this.parent.container.removeShortcut(this.shortcut);
47
- this.shortcut = null;
48
- this.action = null;
49
- }
50
-
51
- private createShortcut(): void {
52
- const trigger = this.createTrigger();
53
- this.action = new Gtk.CallbackAction(() => {
54
- const result = this.props.onActivate();
55
- return result !== false;
56
- });
57
- this.shortcut = new Gtk.Shortcut(trigger, this.action);
58
- }
59
-
60
- private applyOwnProps(oldProps: ShortcutProps | null, newProps: ShortcutProps): void {
61
- if (!this.shortcut) return;
62
-
63
- if (hasChanged(oldProps, newProps, "trigger") || hasChanged(oldProps, newProps, "disabled")) {
64
- this.shortcut.setTrigger(this.createTrigger());
65
- }
66
- }
67
-
68
- private createTrigger(): Gtk.ShortcutTrigger {
69
- if (this.props.disabled) {
70
- return Gtk.NeverTrigger.get();
71
- }
72
-
73
- const { trigger } = this.props;
74
- const triggers = Array.isArray(trigger) ? trigger : [trigger];
75
-
76
- if (triggers.length === 0) {
77
- return Gtk.NeverTrigger.get();
78
- }
79
-
80
- let result: Gtk.ShortcutTrigger = new Gtk.ShortcutTrigger(triggers[0] as string);
81
- for (let i = 1; i < triggers.length; i++) {
82
- result = new Gtk.AlternativeTrigger(result, new Gtk.ShortcutTrigger(triggers[i] as string));
83
- }
84
- return result;
85
- }
86
- }