@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.
Files changed (599) hide show
  1. package/README.md +137 -34
  2. package/dist/adw/config.d.ts +2 -0
  3. package/dist/adw/config.d.ts.map +1 -0
  4. package/dist/adw/config.js +2 -0
  5. package/dist/adw/config.js.map +1 -0
  6. package/dist/adw/dialog.d.ts +8 -0
  7. package/dist/adw/dialog.d.ts.map +1 -0
  8. package/dist/adw/dialog.js +25 -0
  9. package/dist/adw/dialog.js.map +1 -0
  10. package/dist/adw/element-behaviors.d.ts +2 -0
  11. package/dist/adw/element-behaviors.d.ts.map +1 -0
  12. package/dist/adw/element-behaviors.js +299 -0
  13. package/dist/adw/element-behaviors.js.map +1 -0
  14. package/dist/adw/element-config.d.ts +9 -0
  15. package/dist/adw/element-config.d.ts.map +1 -0
  16. package/dist/adw/element-config.js +137 -0
  17. package/dist/adw/element-config.js.map +1 -0
  18. package/dist/adw/index.d.ts +4 -0
  19. package/dist/adw/index.d.ts.map +1 -0
  20. package/dist/adw/index.js +3 -0
  21. package/dist/adw/index.js.map +1 -0
  22. package/dist/adw/prop-types.d.ts +29 -0
  23. package/dist/adw/prop-types.d.ts.map +1 -0
  24. package/dist/adw/prop-types.js +2 -0
  25. package/dist/adw/prop-types.js.map +1 -0
  26. package/dist/bootstrap.d.ts +2 -0
  27. package/dist/bootstrap.d.ts.map +1 -0
  28. package/dist/bootstrap.js +5 -0
  29. package/dist/bootstrap.js.map +1 -0
  30. package/dist/components/application.d.ts +10 -0
  31. package/dist/components/application.d.ts.map +1 -0
  32. package/dist/components/application.js +39 -0
  33. package/dist/components/application.js.map +1 -0
  34. package/dist/components/element.d.ts +6 -0
  35. package/dist/components/element.d.ts.map +1 -0
  36. package/dist/components/element.js +29 -0
  37. package/dist/components/element.js.map +1 -0
  38. package/dist/components/window.d.ts +8 -0
  39. package/dist/components/window.d.ts.map +1 -0
  40. package/dist/components/window.js +22 -0
  41. package/dist/components/window.js.map +1 -0
  42. package/dist/config.d.ts +4 -0
  43. package/dist/config.d.ts.map +1 -0
  44. package/dist/config.js +3 -0
  45. package/dist/config.js.map +1 -0
  46. package/dist/element-behaviors.d.ts +2 -0
  47. package/dist/element-behaviors.d.ts.map +1 -0
  48. package/dist/element-behaviors.js +348 -0
  49. package/dist/element-behaviors.js.map +1 -0
  50. package/dist/element-config.d.ts +10 -0
  51. package/dist/element-config.d.ts.map +1 -0
  52. package/dist/element-config.js +146 -0
  53. package/dist/element-config.js.map +1 -0
  54. package/dist/hooks/use-application.d.ts +9 -0
  55. package/dist/hooks/use-application.d.ts.map +1 -0
  56. package/dist/hooks/use-application.js +14 -0
  57. package/dist/hooks/use-application.js.map +1 -0
  58. package/dist/hooks/use-bind-setting.d.ts +23 -0
  59. package/dist/hooks/use-bind-setting.d.ts.map +1 -0
  60. package/dist/hooks/use-bind-setting.js +30 -0
  61. package/dist/hooks/use-bind-setting.js.map +1 -0
  62. package/dist/hooks/use-merged-refs.d.ts +8 -0
  63. package/dist/hooks/use-merged-refs.d.ts.map +1 -0
  64. package/dist/hooks/use-merged-refs.js +48 -0
  65. package/dist/hooks/use-merged-refs.js.map +1 -0
  66. package/dist/hooks/use-object-value.d.ts +5 -0
  67. package/dist/hooks/use-object-value.d.ts.map +1 -0
  68. package/dist/hooks/use-object-value.js +29 -0
  69. package/dist/hooks/use-object-value.js.map +1 -0
  70. package/dist/hooks/use-parent-window.d.ts +9 -0
  71. package/dist/hooks/use-parent-window.d.ts.map +1 -0
  72. package/dist/hooks/use-parent-window.js +8 -0
  73. package/dist/hooks/use-parent-window.js.map +1 -0
  74. package/dist/hooks/use-property.d.ts +14 -0
  75. package/dist/hooks/use-property.d.ts.map +1 -0
  76. package/dist/hooks/use-property.js +14 -0
  77. package/dist/hooks/use-property.js.map +1 -0
  78. package/dist/hooks/use-setting.d.ts +14 -0
  79. package/dist/hooks/use-setting.d.ts.map +1 -0
  80. package/dist/hooks/use-setting.js +20 -0
  81. package/dist/hooks/use-setting.js.map +1 -0
  82. package/dist/hooks/use-signal.d.ts +24 -0
  83. package/dist/hooks/use-signal.d.ts.map +1 -0
  84. package/dist/hooks/use-signal.js +31 -0
  85. package/dist/hooks/use-signal.js.map +1 -0
  86. package/dist/index.d.ts +13 -7
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +9 -7
  89. package/dist/index.js.map +1 -1
  90. package/dist/internal.d.ts +13 -0
  91. package/dist/internal.d.ts.map +1 -0
  92. package/dist/internal.js +12 -0
  93. package/dist/internal.js.map +1 -0
  94. package/dist/prop-types.d.ts +110 -0
  95. package/dist/prop-types.d.ts.map +1 -0
  96. package/dist/prop-types.js +2 -0
  97. package/dist/prop-types.js.map +1 -0
  98. package/dist/reconciler/apply-props.d.ts +11 -0
  99. package/dist/reconciler/apply-props.d.ts.map +1 -0
  100. package/dist/reconciler/apply-props.js +190 -0
  101. package/dist/reconciler/apply-props.js.map +1 -0
  102. package/dist/reconciler/behaviors.d.ts +59 -0
  103. package/dist/reconciler/behaviors.d.ts.map +1 -0
  104. package/dist/reconciler/behaviors.js +172 -0
  105. package/dist/reconciler/behaviors.js.map +1 -0
  106. package/dist/reconciler/child-routing.d.ts +5 -0
  107. package/dist/reconciler/child-routing.d.ts.map +1 -0
  108. package/dist/reconciler/child-routing.js +156 -0
  109. package/dist/reconciler/child-routing.js.map +1 -0
  110. package/dist/reconciler/host-config.d.ts +9 -0
  111. package/dist/reconciler/host-config.d.ts.map +1 -0
  112. package/dist/reconciler/host-config.js +214 -0
  113. package/dist/reconciler/host-config.js.map +1 -0
  114. package/dist/reconciler/instance.d.ts +5 -0
  115. package/dist/reconciler/instance.d.ts.map +1 -0
  116. package/dist/reconciler/instance.js +49 -0
  117. package/dist/reconciler/instance.js.map +1 -0
  118. package/dist/reconciler/metadata.d.ts +17 -0
  119. package/dist/reconciler/metadata.d.ts.map +1 -0
  120. package/dist/reconciler/metadata.js +82 -0
  121. package/dist/reconciler/metadata.js.map +1 -0
  122. package/dist/reconciler/node.d.ts +76 -0
  123. package/dist/reconciler/node.d.ts.map +1 -0
  124. package/dist/reconciler/node.js +53 -0
  125. package/dist/reconciler/node.js.map +1 -0
  126. package/dist/reconciler/placement.d.ts +5 -0
  127. package/dist/reconciler/placement.d.ts.map +1 -0
  128. package/dist/reconciler/placement.js +175 -0
  129. package/dist/reconciler/placement.js.map +1 -0
  130. package/dist/reconciler/registry.d.ts +92 -0
  131. package/dist/reconciler/registry.d.ts.map +1 -0
  132. package/dist/reconciler/registry.js +64 -0
  133. package/dist/reconciler/registry.js.map +1 -0
  134. package/dist/reconciler/root-element.d.ts +11 -0
  135. package/dist/reconciler/root-element.d.ts.map +1 -0
  136. package/dist/reconciler/root-element.js +7 -0
  137. package/dist/reconciler/root-element.js.map +1 -0
  138. package/dist/reconciler/root.d.ts +56 -0
  139. package/dist/reconciler/root.d.ts.map +1 -0
  140. package/dist/reconciler/root.js +109 -0
  141. package/dist/reconciler/root.js.map +1 -0
  142. package/dist/reconciler/signals.d.ts +10 -0
  143. package/dist/reconciler/signals.d.ts.map +1 -0
  144. package/dist/reconciler/signals.js +70 -0
  145. package/dist/reconciler/signals.js.map +1 -0
  146. package/dist/reconciler/text.d.ts +19 -0
  147. package/dist/reconciler/text.d.ts.map +1 -0
  148. package/dist/reconciler/text.js +276 -0
  149. package/dist/reconciler/text.js.map +1 -0
  150. package/dist/utils/accessible-metadata.d.ts +12 -0
  151. package/dist/utils/accessible-metadata.d.ts.map +1 -0
  152. package/dist/utils/accessible-metadata.js +25 -0
  153. package/dist/utils/accessible-metadata.js.map +1 -0
  154. package/dist/utils/accessible-props.d.ts +60 -0
  155. package/dist/utils/accessible-props.d.ts.map +1 -0
  156. package/dist/utils/accessible-props.js +181 -0
  157. package/dist/utils/accessible-props.js.map +1 -0
  158. package/dist/utils/ref-prop.d.ts +15 -0
  159. package/dist/utils/ref-prop.d.ts.map +1 -0
  160. package/dist/utils/ref-prop.js +18 -0
  161. package/dist/utils/ref-prop.js.map +1 -0
  162. package/dist/utils/settings.d.ts +17 -0
  163. package/dist/utils/settings.d.ts.map +1 -0
  164. package/dist/utils/settings.js +37 -0
  165. package/dist/utils/settings.js.map +1 -0
  166. package/dist/utils/variant.d.ts +57 -0
  167. package/dist/utils/variant.d.ts.map +1 -0
  168. package/dist/utils/variant.js +197 -0
  169. package/dist/utils/variant.js.map +1 -0
  170. package/env.d.ts +9 -0
  171. package/package.json +49 -10
  172. package/src/adw/config.ts +1 -0
  173. package/src/adw/dialog.tsx +35 -0
  174. package/src/adw/element-behaviors.ts +379 -0
  175. package/src/adw/element-config.ts +140 -0
  176. package/src/adw/index.ts +4 -0
  177. package/src/adw/prop-types.ts +42 -0
  178. package/src/bootstrap.ts +5 -0
  179. package/src/components/application.tsx +62 -0
  180. package/src/components/element.tsx +47 -0
  181. package/src/components/window.tsx +35 -0
  182. package/src/config.ts +3 -0
  183. package/src/element-behaviors.ts +424 -0
  184. package/src/element-config.ts +148 -0
  185. package/src/env.d.ts +1 -0
  186. package/src/hooks/use-application.ts +19 -0
  187. package/src/hooks/use-bind-setting.ts +51 -0
  188. package/src/hooks/use-merged-refs.ts +64 -0
  189. package/src/hooks/use-object-value.ts +54 -0
  190. package/src/hooks/use-parent-window.ts +11 -0
  191. package/src/hooks/use-property.ts +23 -0
  192. package/src/hooks/use-setting.ts +34 -0
  193. package/src/hooks/use-signal.ts +60 -0
  194. package/src/index.ts +14 -14
  195. package/src/internal.ts +13 -0
  196. package/src/prop-types.ts +142 -0
  197. package/src/reconciler/apply-props.ts +265 -0
  198. package/src/reconciler/behaviors.ts +324 -0
  199. package/src/reconciler/child-routing.ts +202 -0
  200. package/src/reconciler/host-config.ts +278 -0
  201. package/src/reconciler/instance.ts +82 -0
  202. package/src/reconciler/metadata.ts +119 -0
  203. package/src/reconciler/node.ts +161 -0
  204. package/src/reconciler/placement.ts +255 -0
  205. package/src/reconciler/registry.ts +161 -0
  206. package/src/reconciler/root-element.ts +12 -0
  207. package/src/reconciler/root.ts +175 -0
  208. package/src/reconciler/signals.ts +113 -0
  209. package/src/reconciler/text.ts +407 -0
  210. package/src/utils/accessible-metadata.ts +31 -0
  211. package/src/utils/accessible-props.ts +279 -0
  212. package/src/utils/ref-prop.ts +30 -0
  213. package/src/utils/settings.ts +69 -0
  214. package/src/utils/variant.ts +368 -0
  215. package/dist/components/compound.d.ts +0 -40
  216. package/dist/components/compound.d.ts.map +0 -1
  217. package/dist/components/compound.js +0 -46
  218. package/dist/components/compound.js.map +0 -1
  219. package/dist/components/list.d.ts +0 -75
  220. package/dist/components/list.d.ts.map +0 -1
  221. package/dist/components/list.js +0 -81
  222. package/dist/components/list.js.map +0 -1
  223. package/dist/components/slot-widget.d.ts +0 -15
  224. package/dist/components/slot-widget.d.ts.map +0 -1
  225. package/dist/components/slot-widget.js +0 -37
  226. package/dist/components/slot-widget.js.map +0 -1
  227. package/dist/errors.d.ts +0 -15
  228. package/dist/errors.d.ts.map +0 -1
  229. package/dist/errors.js +0 -44
  230. package/dist/errors.js.map +0 -1
  231. package/dist/factory.d.ts +0 -5
  232. package/dist/factory.d.ts.map +0 -1
  233. package/dist/factory.js +0 -37
  234. package/dist/factory.js.map +0 -1
  235. package/dist/generated/compounds.d.ts +0 -2672
  236. package/dist/generated/compounds.d.ts.map +0 -1
  237. package/dist/generated/compounds.js +0 -2624
  238. package/dist/generated/compounds.js.map +0 -1
  239. package/dist/generated/internal.d.ts +0 -16
  240. package/dist/generated/internal.d.ts.map +0 -1
  241. package/dist/generated/internal.js +0 -3638
  242. package/dist/generated/internal.js.map +0 -1
  243. package/dist/generated/jsx.d.ts +0 -17074
  244. package/dist/generated/jsx.d.ts.map +0 -1
  245. package/dist/generated/jsx.js +0 -6715
  246. package/dist/generated/jsx.js.map +0 -1
  247. package/dist/generated/registry.d.ts +0 -5
  248. package/dist/generated/registry.d.ts.map +0 -1
  249. package/dist/generated/registry.js +0 -13
  250. package/dist/generated/registry.js.map +0 -1
  251. package/dist/host-config.d.ts +0 -24
  252. package/dist/host-config.d.ts.map +0 -1
  253. package/dist/host-config.js +0 -172
  254. package/dist/host-config.js.map +0 -1
  255. package/dist/jsx.d.ts +0 -974
  256. package/dist/jsx.d.ts.map +0 -1
  257. package/dist/jsx.js +0 -8
  258. package/dist/jsx.js.map +0 -1
  259. package/dist/metadata.d.ts +0 -5
  260. package/dist/metadata.d.ts.map +0 -1
  261. package/dist/metadata.js +0 -33
  262. package/dist/metadata.js.map +0 -1
  263. package/dist/node.d.ts +0 -25
  264. package/dist/node.d.ts.map +0 -1
  265. package/dist/node.js +0 -85
  266. package/dist/node.js.map +0 -1
  267. package/dist/nodes/adjustable.d.ts +0 -11
  268. package/dist/nodes/adjustable.d.ts.map +0 -1
  269. package/dist/nodes/adjustable.js +0 -46
  270. package/dist/nodes/adjustable.js.map +0 -1
  271. package/dist/nodes/alert-dialog-response.d.ts +0 -15
  272. package/dist/nodes/alert-dialog-response.d.ts.map +0 -1
  273. package/dist/nodes/alert-dialog-response.js +0 -61
  274. package/dist/nodes/alert-dialog-response.js.map +0 -1
  275. package/dist/nodes/alert-dialog.d.ts +0 -14
  276. package/dist/nodes/alert-dialog.d.ts.map +0 -1
  277. package/dist/nodes/alert-dialog.js +0 -41
  278. package/dist/nodes/alert-dialog.js.map +0 -1
  279. package/dist/nodes/animation.d.ts +0 -39
  280. package/dist/nodes/animation.d.ts.map +0 -1
  281. package/dist/nodes/animation.js +0 -326
  282. package/dist/nodes/animation.js.map +0 -1
  283. package/dist/nodes/application.d.ts +0 -12
  284. package/dist/nodes/application.d.ts.map +0 -1
  285. package/dist/nodes/application.js +0 -51
  286. package/dist/nodes/application.js.map +0 -1
  287. package/dist/nodes/calendar.d.ts +0 -18
  288. package/dist/nodes/calendar.d.ts.map +0 -1
  289. package/dist/nodes/calendar.js +0 -28
  290. package/dist/nodes/calendar.js.map +0 -1
  291. package/dist/nodes/color-dialog-button.d.ts +0 -15
  292. package/dist/nodes/color-dialog-button.d.ts.map +0 -1
  293. package/dist/nodes/color-dialog-button.js +0 -43
  294. package/dist/nodes/color-dialog-button.js.map +0 -1
  295. package/dist/nodes/column-view-column.d.ts +0 -36
  296. package/dist/nodes/column-view-column.d.ts.map +0 -1
  297. package/dist/nodes/column-view-column.js +0 -168
  298. package/dist/nodes/column-view-column.js.map +0 -1
  299. package/dist/nodes/container-slot.d.ts +0 -18
  300. package/dist/nodes/container-slot.d.ts.map +0 -1
  301. package/dist/nodes/container-slot.js +0 -81
  302. package/dist/nodes/container-slot.js.map +0 -1
  303. package/dist/nodes/dialog.d.ts +0 -10
  304. package/dist/nodes/dialog.d.ts.map +0 -1
  305. package/dist/nodes/dialog.js +0 -20
  306. package/dist/nodes/dialog.js.map +0 -1
  307. package/dist/nodes/drawing-area.d.ts +0 -19
  308. package/dist/nodes/drawing-area.d.ts.map +0 -1
  309. package/dist/nodes/drawing-area.js +0 -40
  310. package/dist/nodes/drawing-area.js.map +0 -1
  311. package/dist/nodes/event-controller.d.ts +0 -15
  312. package/dist/nodes/event-controller.d.ts.map +0 -1
  313. package/dist/nodes/event-controller.js +0 -73
  314. package/dist/nodes/event-controller.js.map +0 -1
  315. package/dist/nodes/fixed-child.d.ts +0 -19
  316. package/dist/nodes/fixed-child.d.ts.map +0 -1
  317. package/dist/nodes/fixed-child.js +0 -99
  318. package/dist/nodes/fixed-child.js.map +0 -1
  319. package/dist/nodes/font-dialog-button.d.ts +0 -15
  320. package/dist/nodes/font-dialog-button.d.ts.map +0 -1
  321. package/dist/nodes/font-dialog-button.js +0 -76
  322. package/dist/nodes/font-dialog-button.js.map +0 -1
  323. package/dist/nodes/grid-child.d.ts +0 -19
  324. package/dist/nodes/grid-child.d.ts.map +0 -1
  325. package/dist/nodes/grid-child.js +0 -94
  326. package/dist/nodes/grid-child.js.map +0 -1
  327. package/dist/nodes/internal/accessible.d.ts +0 -5
  328. package/dist/nodes/internal/accessible.d.ts.map +0 -1
  329. package/dist/nodes/internal/accessible.js +0 -119
  330. package/dist/nodes/internal/accessible.js.map +0 -1
  331. package/dist/nodes/internal/bound-item.d.ts +0 -4
  332. package/dist/nodes/internal/bound-item.d.ts.map +0 -1
  333. package/dist/nodes/internal/bound-item.js +0 -2
  334. package/dist/nodes/internal/bound-item.js.map +0 -1
  335. package/dist/nodes/internal/construct.d.ts +0 -3
  336. package/dist/nodes/internal/construct.d.ts.map +0 -1
  337. package/dist/nodes/internal/construct.js +0 -44
  338. package/dist/nodes/internal/construct.js.map +0 -1
  339. package/dist/nodes/internal/predicates.d.ts +0 -51
  340. package/dist/nodes/internal/predicates.d.ts.map +0 -1
  341. package/dist/nodes/internal/predicates.js +0 -36
  342. package/dist/nodes/internal/predicates.js.map +0 -1
  343. package/dist/nodes/internal/props.d.ts +0 -6
  344. package/dist/nodes/internal/props.d.ts.map +0 -1
  345. package/dist/nodes/internal/props.js +0 -43
  346. package/dist/nodes/internal/props.js.map +0 -1
  347. package/dist/nodes/internal/signal-store.d.ts +0 -22
  348. package/dist/nodes/internal/signal-store.d.ts.map +0 -1
  349. package/dist/nodes/internal/signal-store.js +0 -98
  350. package/dist/nodes/internal/signal-store.js.map +0 -1
  351. package/dist/nodes/internal/text-buffer-controller.d.ts +0 -40
  352. package/dist/nodes/internal/text-buffer-controller.d.ts.map +0 -1
  353. package/dist/nodes/internal/text-buffer-controller.js +0 -327
  354. package/dist/nodes/internal/text-buffer-controller.js.map +0 -1
  355. package/dist/nodes/internal/widget.d.ts +0 -8
  356. package/dist/nodes/internal/widget.d.ts.map +0 -1
  357. package/dist/nodes/internal/widget.js +0 -68
  358. package/dist/nodes/internal/widget.js.map +0 -1
  359. package/dist/nodes/level-bar.d.ts +0 -12
  360. package/dist/nodes/level-bar.d.ts.map +0 -1
  361. package/dist/nodes/level-bar.js +0 -24
  362. package/dist/nodes/level-bar.js.map +0 -1
  363. package/dist/nodes/list-item-node.d.ts +0 -12
  364. package/dist/nodes/list-item-node.d.ts.map +0 -1
  365. package/dist/nodes/list-item-node.js +0 -45
  366. package/dist/nodes/list-item-node.js.map +0 -1
  367. package/dist/nodes/list.d.ts +0 -100
  368. package/dist/nodes/list.d.ts.map +0 -1
  369. package/dist/nodes/list.js +0 -950
  370. package/dist/nodes/list.js.map +0 -1
  371. package/dist/nodes/menu.d.ts +0 -7
  372. package/dist/nodes/menu.d.ts.map +0 -1
  373. package/dist/nodes/menu.js +0 -20
  374. package/dist/nodes/menu.js.map +0 -1
  375. package/dist/nodes/models/menu.d.ts +0 -47
  376. package/dist/nodes/models/menu.d.ts.map +0 -1
  377. package/dist/nodes/models/menu.js +0 -240
  378. package/dist/nodes/models/menu.js.map +0 -1
  379. package/dist/nodes/navigation-page.d.ts +0 -19
  380. package/dist/nodes/navigation-page.d.ts.map +0 -1
  381. package/dist/nodes/navigation-page.js +0 -129
  382. package/dist/nodes/navigation-page.js.map +0 -1
  383. package/dist/nodes/navigation-view.d.ts +0 -19
  384. package/dist/nodes/navigation-view.d.ts.map +0 -1
  385. package/dist/nodes/navigation-view.js +0 -51
  386. package/dist/nodes/navigation-view.js.map +0 -1
  387. package/dist/nodes/notebook-page-tab.d.ts +0 -15
  388. package/dist/nodes/notebook-page-tab.d.ts.map +0 -1
  389. package/dist/nodes/notebook-page-tab.js +0 -40
  390. package/dist/nodes/notebook-page-tab.js.map +0 -1
  391. package/dist/nodes/notebook-page.d.ts +0 -29
  392. package/dist/nodes/notebook-page.d.ts.map +0 -1
  393. package/dist/nodes/notebook-page.js +0 -151
  394. package/dist/nodes/notebook-page.js.map +0 -1
  395. package/dist/nodes/notebook.d.ts +0 -16
  396. package/dist/nodes/notebook.d.ts.map +0 -1
  397. package/dist/nodes/notebook.js +0 -31
  398. package/dist/nodes/notebook.js.map +0 -1
  399. package/dist/nodes/overlay-child.d.ts +0 -20
  400. package/dist/nodes/overlay-child.d.ts.map +0 -1
  401. package/dist/nodes/overlay-child.js +0 -109
  402. package/dist/nodes/overlay-child.js.map +0 -1
  403. package/dist/nodes/popover-menu.d.ts +0 -19
  404. package/dist/nodes/popover-menu.d.ts.map +0 -1
  405. package/dist/nodes/popover-menu.js +0 -54
  406. package/dist/nodes/popover-menu.js.map +0 -1
  407. package/dist/nodes/scale.d.ts +0 -10
  408. package/dist/nodes/scale.d.ts.map +0 -1
  409. package/dist/nodes/scale.js +0 -19
  410. package/dist/nodes/scale.js.map +0 -1
  411. package/dist/nodes/scrolled-window.d.ts +0 -11
  412. package/dist/nodes/scrolled-window.d.ts.map +0 -1
  413. package/dist/nodes/scrolled-window.js +0 -18
  414. package/dist/nodes/scrolled-window.js.map +0 -1
  415. package/dist/nodes/search-bar.d.ts +0 -11
  416. package/dist/nodes/search-bar.d.ts.map +0 -1
  417. package/dist/nodes/search-bar.js +0 -16
  418. package/dist/nodes/search-bar.js.map +0 -1
  419. package/dist/nodes/shortcut.d.ts +0 -19
  420. package/dist/nodes/shortcut.d.ts.map +0 -1
  421. package/dist/nodes/shortcut.js +0 -72
  422. package/dist/nodes/shortcut.js.map +0 -1
  423. package/dist/nodes/slot.d.ts +0 -21
  424. package/dist/nodes/slot.d.ts.map +0 -1
  425. package/dist/nodes/slot.js +0 -102
  426. package/dist/nodes/slot.js.map +0 -1
  427. package/dist/nodes/source-view.d.ts +0 -18
  428. package/dist/nodes/source-view.d.ts.map +0 -1
  429. package/dist/nodes/source-view.js +0 -94
  430. package/dist/nodes/source-view.js.map +0 -1
  431. package/dist/nodes/spin-row.d.ts +0 -14
  432. package/dist/nodes/spin-row.d.ts.map +0 -1
  433. package/dist/nodes/spin-row.js +0 -46
  434. package/dist/nodes/spin-row.js.map +0 -1
  435. package/dist/nodes/stack-page.d.ts +0 -22
  436. package/dist/nodes/stack-page.d.ts.map +0 -1
  437. package/dist/nodes/stack-page.js +0 -140
  438. package/dist/nodes/stack-page.js.map +0 -1
  439. package/dist/nodes/stack.d.ts +0 -13
  440. package/dist/nodes/stack.d.ts.map +0 -1
  441. package/dist/nodes/stack.js +0 -21
  442. package/dist/nodes/stack.js.map +0 -1
  443. package/dist/nodes/switch-row.d.ts +0 -11
  444. package/dist/nodes/switch-row.d.ts.map +0 -1
  445. package/dist/nodes/switch-row.js +0 -15
  446. package/dist/nodes/switch-row.js.map +0 -1
  447. package/dist/nodes/text-anchor.d.ts +0 -23
  448. package/dist/nodes/text-anchor.d.ts.map +0 -1
  449. package/dist/nodes/text-anchor.js +0 -74
  450. package/dist/nodes/text-anchor.js.map +0 -1
  451. package/dist/nodes/text-content.d.ts +0 -12
  452. package/dist/nodes/text-content.d.ts.map +0 -1
  453. package/dist/nodes/text-content.js +0 -2
  454. package/dist/nodes/text-content.js.map +0 -1
  455. package/dist/nodes/text-paintable.d.ts +0 -19
  456. package/dist/nodes/text-paintable.d.ts.map +0 -1
  457. package/dist/nodes/text-paintable.js +0 -42
  458. package/dist/nodes/text-paintable.js.map +0 -1
  459. package/dist/nodes/text-segment.d.ts +0 -18
  460. package/dist/nodes/text-segment.d.ts.map +0 -1
  461. package/dist/nodes/text-segment.js +0 -38
  462. package/dist/nodes/text-segment.js.map +0 -1
  463. package/dist/nodes/text-tag.d.ts +0 -38
  464. package/dist/nodes/text-tag.d.ts.map +0 -1
  465. package/dist/nodes/text-tag.js +0 -247
  466. package/dist/nodes/text-tag.js.map +0 -1
  467. package/dist/nodes/text-view.d.ts +0 -29
  468. package/dist/nodes/text-view.d.ts.map +0 -1
  469. package/dist/nodes/text-view.js +0 -80
  470. package/dist/nodes/text-view.js.map +0 -1
  471. package/dist/nodes/toggle-group.d.ts +0 -17
  472. package/dist/nodes/toggle-group.d.ts.map +0 -1
  473. package/dist/nodes/toggle-group.js +0 -65
  474. package/dist/nodes/toggle-group.js.map +0 -1
  475. package/dist/nodes/toggle.d.ts +0 -16
  476. package/dist/nodes/toggle.d.ts.map +0 -1
  477. package/dist/nodes/toggle.js +0 -61
  478. package/dist/nodes/toggle.js.map +0 -1
  479. package/dist/nodes/virtual.d.ts +0 -7
  480. package/dist/nodes/virtual.d.ts.map +0 -1
  481. package/dist/nodes/virtual.js +0 -9
  482. package/dist/nodes/virtual.js.map +0 -1
  483. package/dist/nodes/web-view.d.ts +0 -11
  484. package/dist/nodes/web-view.d.ts.map +0 -1
  485. package/dist/nodes/web-view.js +0 -16
  486. package/dist/nodes/web-view.js.map +0 -1
  487. package/dist/nodes/widget.d.ts +0 -26
  488. package/dist/nodes/widget.d.ts.map +0 -1
  489. package/dist/nodes/widget.js +0 -308
  490. package/dist/nodes/widget.js.map +0 -1
  491. package/dist/nodes/window.d.ts +0 -31
  492. package/dist/nodes/window.d.ts.map +0 -1
  493. package/dist/nodes/window.js +0 -122
  494. package/dist/nodes/window.js.map +0 -1
  495. package/dist/portal.d.ts +0 -29
  496. package/dist/portal.d.ts.map +0 -1
  497. package/dist/portal.js +0 -35
  498. package/dist/portal.js.map +0 -1
  499. package/dist/reconciler.d.ts +0 -34
  500. package/dist/reconciler.d.ts.map +0 -1
  501. package/dist/reconciler.js +0 -48
  502. package/dist/reconciler.js.map +0 -1
  503. package/dist/registry.d.ts +0 -18
  504. package/dist/registry.d.ts.map +0 -1
  505. package/dist/registry.js +0 -98
  506. package/dist/registry.js.map +0 -1
  507. package/dist/render.d.ts +0 -117
  508. package/dist/render.d.ts.map +0 -1
  509. package/dist/render.js +0 -159
  510. package/dist/render.js.map +0 -1
  511. package/dist/types.d.ts +0 -6
  512. package/dist/types.d.ts.map +0 -1
  513. package/dist/types.js +0 -2
  514. package/dist/types.js.map +0 -1
  515. package/dist/use-property.d.ts +0 -29
  516. package/dist/use-property.d.ts.map +0 -1
  517. package/dist/use-property.js +0 -44
  518. package/dist/use-property.js.map +0 -1
  519. package/dist/use-setting.d.ts +0 -36
  520. package/dist/use-setting.d.ts.map +0 -1
  521. package/dist/use-setting.js +0 -68
  522. package/dist/use-setting.js.map +0 -1
  523. package/src/components/compound.tsx +0 -57
  524. package/src/components/list.tsx +0 -140
  525. package/src/components/slot-widget.tsx +0 -46
  526. package/src/errors.ts +0 -53
  527. package/src/factory.ts +0 -62
  528. package/src/generated/compounds.ts +0 -2741
  529. package/src/generated/internal.ts +0 -3642
  530. package/src/generated/jsx.ts +0 -17383
  531. package/src/generated/registry.ts +0 -17
  532. package/src/host-config.ts +0 -219
  533. package/src/jsx.ts +0 -1033
  534. package/src/metadata.ts +0 -43
  535. package/src/node.ts +0 -107
  536. package/src/nodes/adjustable.ts +0 -68
  537. package/src/nodes/alert-dialog-response.ts +0 -78
  538. package/src/nodes/alert-dialog.ts +0 -55
  539. package/src/nodes/animation.ts +0 -409
  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 -100
  545. package/src/nodes/dialog.ts +0 -25
  546. package/src/nodes/drawing-area.ts +0 -53
  547. package/src/nodes/event-controller.ts +0 -96
  548. package/src/nodes/fixed-child.ts +0 -122
  549. package/src/nodes/font-dialog-button.ts +0 -107
  550. package/src/nodes/grid-child.ts +0 -116
  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 -74
  559. package/src/nodes/level-bar.ts +0 -36
  560. package/src/nodes/list-item-node.ts +0 -53
  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 -130
  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/spin-row.ts +0 -72
  578. package/src/nodes/stack-page.ts +0 -170
  579. package/src/nodes/stack.ts +0 -35
  580. package/src/nodes/switch-row.ts +0 -26
  581. package/src/nodes/text-anchor.ts +0 -88
  582. package/src/nodes/text-content.ts +0 -14
  583. package/src/nodes/text-paintable.ts +0 -51
  584. package/src/nodes/text-segment.ts +0 -55
  585. package/src/nodes/text-tag.ts +0 -298
  586. package/src/nodes/text-view.ts +0 -100
  587. package/src/nodes/toggle-group.ts +0 -81
  588. package/src/nodes/toggle.ts +0 -72
  589. package/src/nodes/virtual.ts +0 -16
  590. package/src/nodes/web-view.ts +0 -22
  591. package/src/nodes/widget.ts +0 -369
  592. package/src/nodes/window.ts +0 -172
  593. package/src/portal.ts +0 -37
  594. package/src/reconciler.ts +0 -52
  595. package/src/registry.ts +0 -119
  596. package/src/render.tsx +0 -192
  597. package/src/types.ts +0 -13
  598. package/src/use-property.ts +0 -58
  599. package/src/use-setting.ts +0 -96
@@ -0,0 +1,368 @@
1
+ import * as GLib from "@gtkx/gi/glib";
2
+
3
+ type BasicValueMap = {
4
+ b: boolean;
5
+ y: number;
6
+ n: number;
7
+ q: number;
8
+ i: number;
9
+ u: number;
10
+ h: number;
11
+ d: number;
12
+ x: bigint;
13
+ t: bigint;
14
+ s: string;
15
+ o: string;
16
+ g: string;
17
+ v: GLib.Variant;
18
+ };
19
+
20
+ type BasicCode = keyof BasicValueMap;
21
+ type ParseArray<S extends string> = Parse<S> extends [infer V, infer R extends string] ? [V[], R] : never;
22
+ type ParseMaybe<S extends string> = Parse<S> extends [infer V, infer R extends string] ? [V | null, R] : never;
23
+
24
+ type ParseTuple<S extends string, Acc extends unknown[]> = S extends `)${infer Rest}`
25
+ ? [Acc, Rest]
26
+ : [Parse<S>] extends [never]
27
+ ? never
28
+ : Parse<S> extends [infer V, infer R extends string]
29
+ ? ParseTuple<R, [...Acc, V]>
30
+ : never;
31
+
32
+ type DictKey = string | number | bigint | boolean;
33
+
34
+ type ParsePair<S extends string> =
35
+ Parse<S> extends [infer K, infer R1 extends string]
36
+ ? Parse<R1> extends [infer V, infer R2 extends string]
37
+ ? R2 extends `}${infer R3}`
38
+ ? [K] extends [DictKey]
39
+ ? [K, V, R3]
40
+ : never
41
+ : never
42
+ : never
43
+ : never;
44
+
45
+ type ParseDict<S extends string> =
46
+ ParsePair<S> extends [infer K, infer V, infer R extends string]
47
+ ? [[K] extends [string] ? Record<string, V> : Map<K, V>, R]
48
+ : never;
49
+
50
+ type ParseEntry<S extends string> =
51
+ ParsePair<S> extends [infer K, infer V, infer R extends string] ? [[K, V], R] : never;
52
+
53
+ type ParseArrayOrDict<S extends string> = S extends `{${infer Rest}` ? ParseDict<Rest> : ParseArray<S>;
54
+
55
+ type Parse<S extends string> = S extends `a${infer Rest}`
56
+ ? ParseArrayOrDict<Rest>
57
+ : S extends `m${infer Rest}`
58
+ ? ParseMaybe<Rest>
59
+ : S extends `(${infer Rest}`
60
+ ? ParseTuple<Rest, []>
61
+ : S extends `{${infer Rest}`
62
+ ? ParseEntry<Rest>
63
+ : S extends `${infer C}${infer Rest}`
64
+ ? C extends BasicCode
65
+ ? [BasicValueMap[C], Rest]
66
+ : never
67
+ : never;
68
+
69
+ type VariantValue<S extends string> = [Parse<S>] extends [never]
70
+ ? unknown
71
+ : Parse<S> extends [infer V, ""]
72
+ ? V
73
+ : unknown;
74
+
75
+ type VariantTypeNode =
76
+ | { kind: "basic"; code: BasicCode } |
77
+ { kind: "array"; elementTypeString: string; element: VariantTypeNode } |
78
+ { kind: "dict"; entryTypeString: string; key: VariantTypeNode; value: VariantTypeNode } |
79
+ { kind: "entry"; key: VariantTypeNode; value: VariantTypeNode } |
80
+ { kind: "tuple"; items: VariantTypeNode[] } |
81
+ { kind: "maybe"; elementTypeString: string; element: VariantTypeNode };
82
+
83
+ const BASIC_CODES = "bynqiuxthdsogv";
84
+ const STRING_KEY_CODES: Set<string> = new Set(["s", "o", "g"]);
85
+
86
+ const CONTAINER_PARSERS: Record<string, (source: string, start: number) => [VariantTypeNode, number]> = {
87
+ a: parseArrayNode,
88
+ m: parseMaybeNode,
89
+ "(": parseTupleNode,
90
+ "{": parseEntryNode,
91
+ };
92
+
93
+ const parsedTypes: Map<string, VariantTypeNode> = new Map();
94
+
95
+ const unpackBasic: Record<BasicCode, (variant: GLib.Variant) => unknown> = {
96
+ b: (variant) => variant.getBoolean(),
97
+ y: (variant) => variant.getByte(),
98
+ n: (variant) => variant.getInt16(),
99
+ q: (variant) => variant.getUint16(),
100
+ i: (variant) => variant.getInt32(),
101
+ u: (variant) => variant.getUint32(),
102
+ h: (variant) => variant.getHandle(),
103
+ d: (variant) => variant.getDouble(),
104
+ x: (variant) => variant.getInt64(),
105
+ t: (variant) => variant.getUint64(),
106
+ s: (variant) => variant.getString()[0],
107
+ o: (variant) => variant.getString()[0],
108
+ g: (variant) => variant.getString()[0],
109
+ v: (variant) => variant.getVariant(),
110
+ };
111
+
112
+ const packBasic: Record<BasicCode, (value: unknown) => GLib.Variant> = {
113
+ b: (value) => GLib.Variant.newBoolean(value as boolean),
114
+ y: (value) => GLib.Variant.newByte(value as number),
115
+ n: (value) => GLib.Variant.newInt16(value as number),
116
+ q: (value) => GLib.Variant.newUint16(value as number),
117
+ i: (value) => GLib.Variant.newInt32(value as number),
118
+ u: (value) => GLib.Variant.newUint32(value as number),
119
+ h: (value) => GLib.Variant.newHandle(value as number),
120
+ d: (value) => GLib.Variant.newDouble(value as number),
121
+ x: (value) => GLib.Variant.newInt64(value as bigint),
122
+ t: (value) => GLib.Variant.newUint64(value as bigint),
123
+ s: (value) => GLib.Variant.newString(value as string),
124
+ o: packObjectPath,
125
+ g: packSignature,
126
+ v: (value) => GLib.Variant.newVariant(value as GLib.Variant),
127
+ };
128
+
129
+ const isBasicCode = (code: string): code is BasicCode => BASIC_CODES.includes(code);
130
+ const isStringKeyed = (key: VariantTypeNode): boolean => key.kind === "basic" && STRING_KEY_CODES.has(key.code);
131
+ const invalidType = (source: string): Error => new Error(`Invalid GVariant type string "${source}"`);
132
+
133
+ const parsePair = (source: string, start: number): [VariantTypeNode, VariantTypeNode, number] => {
134
+ const [key, keyEnd] = parseNode(source, start);
135
+
136
+ if (key.kind !== "basic" || key.code === "v") {
137
+ throw invalidType(source);
138
+ }
139
+
140
+ const [value, valueEnd] = parseNode(source, keyEnd);
141
+
142
+ if (source[valueEnd] !== "}") {
143
+ throw invalidType(source);
144
+ }
145
+
146
+ return [key, value, valueEnd + 1];
147
+ };
148
+
149
+ function parseArrayNode(source: string, start: number): [VariantTypeNode, number] {
150
+ if (source[start] === "{") {
151
+ const [key, value, end] = parsePair(source, start + 1);
152
+
153
+ return [{ kind: "dict", entryTypeString: source.slice(start, end), key, value }, end];
154
+ }
155
+
156
+ const [element, end] = parseNode(source, start);
157
+
158
+ return [{ kind: "array", elementTypeString: source.slice(start, end), element }, end];
159
+ }
160
+
161
+ function parseMaybeNode(source: string, start: number): [VariantTypeNode, number] {
162
+ const [element, end] = parseNode(source, start);
163
+
164
+ return [{ kind: "maybe", elementTypeString: source.slice(start, end), element }, end];
165
+ }
166
+
167
+ function parseTupleNode(source: string, start: number): [VariantTypeNode, number] {
168
+ const items: VariantTypeNode[] = [];
169
+ let position = start;
170
+
171
+ while (source[position] !== ")") {
172
+ if (position >= source.length) {
173
+ throw invalidType(source);
174
+ }
175
+
176
+ const [item, end] = parseNode(source, position);
177
+ items.push(item);
178
+ position = end;
179
+ }
180
+
181
+ return [{ kind: "tuple", items }, position + 1];
182
+ }
183
+
184
+ function parseEntryNode(source: string, start: number): [VariantTypeNode, number] {
185
+ const [key, value, end] = parsePair(source, start);
186
+
187
+ return [{ kind: "entry", key, value }, end];
188
+ }
189
+
190
+ const parseNode = (source: string, start: number): [VariantTypeNode, number] => {
191
+ const code = source[start];
192
+
193
+ if (code === undefined) {
194
+ throw invalidType(source);
195
+ }
196
+
197
+ const container = CONTAINER_PARSERS[code];
198
+
199
+ if (container !== undefined) {
200
+ return container(source, start + 1);
201
+ }
202
+
203
+ if (isBasicCode(code)) {
204
+ return [{ kind: "basic", code }, start + 1];
205
+ }
206
+
207
+ throw invalidType(source);
208
+ };
209
+
210
+ const parseVariantType = (typeString: string): VariantTypeNode => {
211
+ const cached = parsedTypes.get(typeString);
212
+
213
+ if (cached !== undefined) {
214
+ return cached;
215
+ }
216
+
217
+ const [node, end] = parseNode(typeString, 0);
218
+
219
+ if (end !== typeString.length) {
220
+ throw invalidType(typeString);
221
+ }
222
+
223
+ parsedTypes.set(typeString, node);
224
+
225
+ return node;
226
+ };
227
+
228
+ const unpackChildren = (variant: GLib.Variant, unpackChild: (child: GLib.Variant) => unknown): unknown[] => {
229
+ const children: unknown[] = [];
230
+ const count = variant.nChildren();
231
+
232
+ for (let index = 0; index < count; index += 1) {
233
+ children.push(unpackChild(variant.getChildValue(index)));
234
+ }
235
+
236
+ return children;
237
+ };
238
+
239
+ const unpackPair = (key: VariantTypeNode, value: VariantTypeNode, entry: GLib.Variant): [unknown, unknown] => [
240
+ unpackVariant(key, entry.getChildValue(0)),
241
+ unpackVariant(value, entry.getChildValue(1)),
242
+ ];
243
+
244
+ const unpackDict = (
245
+ node: { key: VariantTypeNode; value: VariantTypeNode },
246
+ variant: GLib.Variant,
247
+ ): Record<string, unknown> | Map<unknown, unknown> => {
248
+ const entries = unpackChildren(variant, (entry) => unpackPair(node.key, node.value, entry)) as [unknown, unknown][];
249
+
250
+ if (!isStringKeyed(node.key)) {
251
+ return new Map(entries);
252
+ }
253
+
254
+ const stringEntries: [string, unknown][] = entries.map(([key, value]) => [key as string, value]);
255
+
256
+ return Object.fromEntries(stringEntries);
257
+ };
258
+
259
+ const unpackMaybe = (element: VariantTypeNode, variant: GLib.Variant): unknown => {
260
+ const child = variant.getMaybe();
261
+
262
+ return child === null ? null : unpackVariant(element, child);
263
+ };
264
+
265
+ const unpackVariant = (node: VariantTypeNode, variant: GLib.Variant): unknown => {
266
+ switch (node.kind) {
267
+ case "basic": {
268
+ return unpackBasic[node.code](variant);
269
+ }
270
+ case "array": {
271
+ return unpackChildren(variant, (child) => unpackVariant(node.element, child));
272
+ }
273
+ case "dict": {
274
+ return unpackDict(node, variant);
275
+ }
276
+ case "entry": {
277
+ return unpackPair(node.key, node.value, variant);
278
+ }
279
+ case "tuple": {
280
+ return node.items.map((item, index) => unpackVariant(item, variant.getChildValue(index)));
281
+ }
282
+ case "maybe": {
283
+ return unpackMaybe(node.element, variant);
284
+ }
285
+ }
286
+ };
287
+
288
+ const packValidatedString = (
289
+ value: unknown,
290
+ isValid: (value: string) => boolean,
291
+ description: string,
292
+ construct: (value: string) => GLib.Variant,
293
+ ): GLib.Variant => {
294
+ if (typeof value !== "string" || !isValid(value)) {
295
+ throw new Error(`"${String(value)}" is not a valid GVariant ${description}`);
296
+ }
297
+
298
+ return construct(value);
299
+ };
300
+
301
+ function packObjectPath(value: unknown): GLib.Variant {
302
+ return packValidatedString(
303
+ value,
304
+ (path) => GLib.Variant.isObjectPath(path),
305
+ "object path",
306
+ (path) => GLib.Variant.newObjectPath(path),
307
+ );
308
+ }
309
+
310
+ function packSignature(value: unknown): GLib.Variant {
311
+ return packValidatedString(
312
+ value,
313
+ (signature) => GLib.Variant.isSignature(signature),
314
+ "type signature",
315
+ (signature) => GLib.Variant.newSignature(signature),
316
+ );
317
+ }
318
+
319
+ const packEntry = (key: VariantTypeNode, value: VariantTypeNode, pair: [unknown, unknown]): GLib.Variant =>
320
+ GLib.Variant.newDictEntry(packVariant(key, pair[0]), packVariant(value, pair[1]));
321
+
322
+ const dictEntries = (value: unknown): [unknown, unknown][] =>
323
+ value instanceof Map ? [...value] : Object.entries(value as Record<string, unknown>);
324
+
325
+ const packDict = (
326
+ node: { entryTypeString: string; key: VariantTypeNode; value: VariantTypeNode },
327
+ value: unknown,
328
+ ): GLib.Variant =>
329
+ GLib.Variant.newArray(
330
+ GLib.VariantType.new(node.entryTypeString),
331
+ dictEntries(value).map((pair) => packEntry(node.key, node.value, pair)),
332
+ );
333
+
334
+ const packMaybe = (node: { elementTypeString: string; element: VariantTypeNode }, value: unknown): GLib.Variant =>
335
+ GLib.Variant.newMaybe(
336
+ GLib.VariantType.new(node.elementTypeString),
337
+ value === null ? null : packVariant(node.element, value),
338
+ );
339
+
340
+ const packVariant = (node: VariantTypeNode, value: unknown): GLib.Variant => {
341
+ switch (node.kind) {
342
+ case "basic": {
343
+ return packBasic[node.code](value);
344
+ }
345
+ case "array": {
346
+ return GLib.Variant.newArray(
347
+ GLib.VariantType.new(node.elementTypeString),
348
+ (value as unknown[]).map((item) => packVariant(node.element, item)),
349
+ );
350
+ }
351
+ case "dict": {
352
+ return packDict(node, value);
353
+ }
354
+ case "entry": {
355
+ return packEntry(node.key, node.value, value as [unknown, unknown]);
356
+ }
357
+ case "tuple": {
358
+ return GLib.Variant.newTuple(
359
+ node.items.map((item, index) => packVariant(item, (value as unknown[])[index])),
360
+ );
361
+ }
362
+ case "maybe": {
363
+ return packMaybe(node, value);
364
+ }
365
+ }
366
+ };
367
+
368
+ export { parseVariantType, unpackVariant, packVariant, type VariantValue, type VariantTypeNode };
@@ -1,40 +0,0 @@
1
- import { type ReactNode } from "react";
2
- type ContainerSlotChild = (props: {
3
- children?: ReactNode;
4
- }) => ReactNode;
5
- /**
6
- * Creates a compound child component that delegates to a ContainerSlot
7
- * with a specific method name.
8
- *
9
- * @param methodName - The container slot method name (e.g., "packStart", "addPrefix")
10
- */
11
- export declare function createContainerSlotChild(methodName: string): ContainerSlotChild;
12
- /**
13
- * Creates a compound child component that delegates to an existing
14
- * virtual node intrinsic element.
15
- *
16
- * @param intrinsicName - The intrinsic element name (e.g., "StackPage", "GridChild")
17
- */
18
- export declare function createVirtualChild<P extends Record<string, unknown>>(intrinsicName: string): (props: P & {
19
- children?: ReactNode;
20
- }) => ReactNode;
21
- /**
22
- * Creates a compound child component for NavigationPage that automatically
23
- * sets the `for` discriminant based on the parent widget type.
24
- *
25
- * @param forValue - The `for` discriminant value (e.g., "AdwNavigationView")
26
- */
27
- export declare function createNavigationPageChild<P extends Record<string, unknown>>(forValue: string): (props: P & {
28
- children?: ReactNode;
29
- }) => ReactNode;
30
- /**
31
- * Creates a compound child component for menu items that delegates to
32
- * an existing menu intrinsic element.
33
- *
34
- * @param intrinsicName - "MenuItem", "MenuSection", or "MenuSubmenu"
35
- */
36
- export declare function createMenuChild<P extends Record<string, unknown>>(intrinsicName: string): (props: P & {
37
- children?: ReactNode;
38
- }) => ReactNode;
39
- export {};
40
- //# sourceMappingURL=compound.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compound.d.ts","sourceRoot":"","sources":["../../src/components/compound.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,KAAK,kBAAkB,GAAG,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,KAAK,SAAS,CAAC;AAEzE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,CAI/E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,aAAa,EAAE,MAAM,GACtB,CAAC,KAAK,EAAE,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,KAAK,SAAS,CAIpD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,QAAQ,EAAE,MAAM,GACjB,CAAC,KAAK,EAAE,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,KAAK,SAAS,CAIpD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,aAAa,EAAE,MAAM,GACtB,CAAC,KAAK,EAAE,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,KAAK,SAAS,CAIpD"}
@@ -1,46 +0,0 @@
1
- import { createElement } from "react";
2
- /**
3
- * Creates a compound child component that delegates to a ContainerSlot
4
- * with a specific method name.
5
- *
6
- * @param methodName - The container slot method name (e.g., "packStart", "addPrefix")
7
- */
8
- export function createContainerSlotChild(methodName) {
9
- return (props) => {
10
- return createElement("ContainerSlot", { id: methodName }, props.children);
11
- };
12
- }
13
- /**
14
- * Creates a compound child component that delegates to an existing
15
- * virtual node intrinsic element.
16
- *
17
- * @param intrinsicName - The intrinsic element name (e.g., "StackPage", "GridChild")
18
- */
19
- export function createVirtualChild(intrinsicName) {
20
- return (props) => {
21
- return createElement(intrinsicName, props, props.children);
22
- };
23
- }
24
- /**
25
- * Creates a compound child component for NavigationPage that automatically
26
- * sets the `for` discriminant based on the parent widget type.
27
- *
28
- * @param forValue - The `for` discriminant value (e.g., "AdwNavigationView")
29
- */
30
- export function createNavigationPageChild(forValue) {
31
- return (props) => {
32
- return createElement("NavigationPage", { ...props, for: forValue }, props.children);
33
- };
34
- }
35
- /**
36
- * Creates a compound child component for menu items that delegates to
37
- * an existing menu intrinsic element.
38
- *
39
- * @param intrinsicName - "MenuItem", "MenuSection", or "MenuSubmenu"
40
- */
41
- export function createMenuChild(intrinsicName) {
42
- return (props) => {
43
- return createElement(intrinsicName, props, props.children);
44
- };
45
- }
46
- //# sourceMappingURL=compound.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compound.js","sourceRoot":"","sources":["../../src/components/compound.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,OAAO,CAAC;AAItD;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACvD,OAAO,CAAC,KAA+B,EAAa,EAAE;QAClD,OAAO,aAAa,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9E,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAC9B,aAAqB;IAErB,OAAO,CAAC,KAAmC,EAAa,EAAE;QACtD,OAAO,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACrC,QAAgB;IAEhB,OAAO,CAAC,KAAmC,EAAa,EAAE;QACtD,OAAO,aAAa,CAAC,gBAAgB,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxF,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC3B,aAAqB;IAErB,OAAO,CAAC,KAAmC,EAAa,EAAE;QACtD,OAAO,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC,CAAC;AACN,CAAC"}
@@ -1,75 +0,0 @@
1
- import type * as Adw from "@gtkx/ffi/adw";
2
- import type * as Gtk from "@gtkx/ffi/gtk";
3
- import { type ReactNode, type Ref } from "react";
4
- import type { AdwComboRowProps, GtkColumnViewProps, GtkDropDownProps, GtkGridViewProps, GtkListViewProps } from "../generated/jsx.js";
5
- import type { ColumnViewColumnProps, DropDownProps, GridViewProps, ListItem, ListViewProps, MenuItemProps, MenuSectionProps, MenuSubmenuProps } from "../jsx.js";
6
- type GenericListViewProps<T, S> = Omit<GtkListViewProps, keyof ListViewProps> & ListViewProps<T, S>;
7
- type GenericGridViewProps<T> = Omit<GtkGridViewProps, keyof GridViewProps> & GridViewProps<T>;
8
- type GenericDropDownProps<T, S> = Omit<GtkDropDownProps, keyof DropDownProps> & DropDownProps<T, S>;
9
- type GenericComboRowProps<T, S> = Omit<AdwComboRowProps, keyof DropDownProps> & DropDownProps<T, S>;
10
- type GenericColumnViewProps<T, S> = Omit<GtkColumnViewProps, "items" | "renderHeader"> & {
11
- items?: ListItem<T, S>[];
12
- renderHeader?: ((item: S) => ReactNode) | null;
13
- };
14
- /**
15
- * Virtualized scrollable list that renders items from a flat or tree data model.
16
- *
17
- * Wraps `GtkListView` with React-managed item rendering via portals,
18
- * supporting single/multi selection, section headers, and tree expansion.
19
- */
20
- export declare function GtkListView<T = unknown, S = unknown>(props: GenericListViewProps<T, S> & {
21
- children?: ReactNode;
22
- ref?: Ref<Gtk.ListView>;
23
- }): ReactNode;
24
- /**
25
- * Virtualized scrollable grid that renders items in a multi-column layout.
26
- *
27
- * Wraps `GtkGridView` with React-managed item rendering via portals,
28
- * supporting single/multi selection.
29
- */
30
- export declare function GtkGridView<T = unknown>(props: GenericGridViewProps<T> & {
31
- children?: ReactNode;
32
- ref?: Ref<Gtk.GridView>;
33
- }): ReactNode;
34
- /** @internal */
35
- declare function GtkColumnViewBase<T = unknown, S = unknown>(props: GenericColumnViewProps<T, S> & {
36
- children?: ReactNode;
37
- ref?: Ref<Gtk.ColumnView>;
38
- }): ReactNode;
39
- /**
40
- * Multi-column sortable list with React-managed cell rendering.
41
- *
42
- * Wraps `GtkColumnView` with portal-based factories. Use the
43
- * `GtkColumnView.Column` compound component to define columns,
44
- * and the `MenuItem` / `MenuSection` / `MenuSubmenu` compounds
45
- * for the column header context menu.
46
- */
47
- export declare const GtkColumnView: typeof GtkColumnViewBase & {
48
- Column: <T = unknown>(props: ColumnViewColumnProps<T>) => ReactNode;
49
- MenuItem: (props: MenuItemProps) => ReactNode;
50
- MenuSection: (props: MenuSectionProps) => ReactNode;
51
- MenuSubmenu: (props: MenuSubmenuProps) => ReactNode;
52
- };
53
- /**
54
- * Single-selection dropdown widget with React-managed item rendering.
55
- *
56
- * Wraps `GtkDropDown` with portal-based factories, supporting custom
57
- * item templates, separate list-item templates, and section headers.
58
- */
59
- export declare function GtkDropDown<T = unknown, S = unknown>(props: GenericDropDownProps<T, S> & {
60
- children?: ReactNode;
61
- ref?: Ref<Gtk.DropDown>;
62
- }): ReactNode;
63
- /**
64
- * Libadwaita combo row with React-managed item rendering.
65
- *
66
- * Wraps `AdwComboRow` with portal-based factories, providing a
67
- * preferences-style dropdown row with custom item templates and
68
- * section headers.
69
- */
70
- export declare function AdwComboRow<T = unknown, S = unknown>(props: GenericComboRowProps<T, S> & {
71
- children?: ReactNode;
72
- ref?: Ref<Adw.ComboRow>;
73
- }): ReactNode;
74
- export {};
75
- //# sourceMappingURL=list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/components/list.tsx"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- import { createElement, Fragment, useReducer, useRef } from "react";
2
- import { createPortal } from "../portal.js";
3
- import { createMenuChild } from "./compound.js";
4
- function useListHandle() {
5
- const [, rerender] = useReducer((x) => x + 1, 0);
6
- const boundItemsRef = useRef([]);
7
- const headerBoundItemsRef = useRef([]);
8
- return { rerender, boundItemsRef, headerBoundItemsRef };
9
- }
10
- function renderListElement(intrinsicName, handle, props) {
11
- const { rerender, boundItemsRef, headerBoundItemsRef } = handle;
12
- const portals = [];
13
- for (const [content, container, key] of boundItemsRef.current) {
14
- portals.push(createPortal(content, container, key));
15
- }
16
- for (const [content, container, key] of headerBoundItemsRef.current) {
17
- portals.push(createPortal(content, container, key));
18
- }
19
- return createElement(Fragment, null, createElement(intrinsicName, {
20
- ...props,
21
- __boundItemsRef: boundItemsRef,
22
- __rerender: rerender,
23
- __headerBoundItemsRef: headerBoundItemsRef,
24
- }), ...portals);
25
- }
26
- /**
27
- * Virtualized scrollable list that renders items from a flat or tree data model.
28
- *
29
- * Wraps `GtkListView` with React-managed item rendering via portals,
30
- * supporting single/multi selection, section headers, and tree expansion.
31
- */
32
- export function GtkListView(props) {
33
- return renderListElement("GtkListView", useListHandle(), props);
34
- }
35
- /**
36
- * Virtualized scrollable grid that renders items in a multi-column layout.
37
- *
38
- * Wraps `GtkGridView` with React-managed item rendering via portals,
39
- * supporting single/multi selection.
40
- */
41
- export function GtkGridView(props) {
42
- return renderListElement("GtkGridView", useListHandle(), props);
43
- }
44
- /** @internal */
45
- function GtkColumnViewBase(props) {
46
- return renderListElement("GtkColumnView", useListHandle(), props);
47
- }
48
- /**
49
- * Multi-column sortable list with React-managed cell rendering.
50
- *
51
- * Wraps `GtkColumnView` with portal-based factories. Use the
52
- * `GtkColumnView.Column` compound component to define columns,
53
- * and the `MenuItem` / `MenuSection` / `MenuSubmenu` compounds
54
- * for the column header context menu.
55
- */
56
- export const GtkColumnView = Object.assign(GtkColumnViewBase, {
57
- Column: (props) => createElement("ColumnViewColumn", props, props.children),
58
- MenuItem: createMenuChild("MenuItem"),
59
- MenuSection: createMenuChild("MenuSection"),
60
- MenuSubmenu: createMenuChild("MenuSubmenu"),
61
- });
62
- /**
63
- * Single-selection dropdown widget with React-managed item rendering.
64
- *
65
- * Wraps `GtkDropDown` with portal-based factories, supporting custom
66
- * item templates, separate list-item templates, and section headers.
67
- */
68
- export function GtkDropDown(props) {
69
- return renderListElement("GtkDropDown", useListHandle(), props);
70
- }
71
- /**
72
- * Libadwaita combo row with React-managed item rendering.
73
- *
74
- * Wraps `AdwComboRow` with portal-based factories, providing a
75
- * preferences-style dropdown row with custom item templates and
76
- * section headers.
77
- */
78
- export function AdwComboRow(props) {
79
- return renderListElement("AdwComboRow", useListHandle(), props);
80
- }
81
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/components/list.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { type ReactNode } from "react";
2
- /**
3
- * Creates a function component for a widget that has named property slots.
4
- *
5
- * The returned component extracts slot props (ReactNode values), forwards
6
- * remaining props to the underlying intrinsic element, and appends internal
7
- * Slot children for each non-null slot prop.
8
- *
9
- * @param intrinsicName - The intrinsic element name (e.g., "GtkWindow")
10
- * @param slotNames - Array of camelCase slot prop names (e.g., ["titlebar", "startChild"])
11
- */
12
- export declare function createSlotWidget<P = any>(intrinsicName: string, slotNames: readonly string[]): (props: P & {
13
- children?: ReactNode;
14
- }) => ReactNode;
15
- //# sourceMappingURL=slot-widget.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slot-widget.d.ts","sourceRoot":"","sources":["../../src/components/slot-widget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAItD;;;;;;;;;GASG;AAEH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,GAAG,EACpC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC7B,CAAC,KAAK,EAAE,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,KAAK,SAAS,CA2BpD"}