@synnaxlabs/pluto 0.43.0 → 0.44.0

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 (954) hide show
  1. package/dist/Animated-CCN9ByY6.cjs +1 -0
  2. package/dist/Animated-Owbkpo6B.js +27 -0
  3. package/dist/Menu-BSLsdSQe.cjs +1 -0
  4. package/dist/Menu-DZ-gh1ky.js +61 -0
  5. package/dist/Toggle-BUJcWkDS.js +26 -0
  6. package/dist/Toggle-BWcSF1BX.cjs +1 -0
  7. package/dist/{Video-BuzHLiXL.cjs → Video-BcSAFYkH.cjs} +1 -1
  8. package/dist/{Video-Bq_WSdfc.js → Video-DqCXiObt.js} +1 -1
  9. package/dist/button.cjs +1 -1
  10. package/dist/button.js +1 -1
  11. package/dist/color.cjs +1 -1
  12. package/dist/color.js +1 -1
  13. package/dist/css-BR-Ih764.cjs +8 -0
  14. package/dist/css-Cg4qHNg7.js +4329 -0
  15. package/dist/css.cjs +1 -1
  16. package/dist/css.js +5 -11
  17. package/dist/dialog.cjs +1 -0
  18. package/dist/dialog.js +4 -0
  19. package/dist/eraser-BPrMJQSi.js +13325 -0
  20. package/dist/eraser-DeKDbhe4.cjs +63 -0
  21. package/dist/ether.cjs +1 -1
  22. package/dist/ether.js +46 -47
  23. package/dist/external-BHiMn0_8.cjs +1 -0
  24. package/dist/external-BKWucUPD.cjs +1 -0
  25. package/dist/external-BXXtl81l.js +82 -0
  26. package/dist/external-BZs08bQT.js +30 -0
  27. package/dist/external-Be6wSMuJ.cjs +1 -0
  28. package/dist/external-BhHJuw2t.js +25 -0
  29. package/dist/external-C4JmDQou.cjs +1 -0
  30. package/dist/external-CO49SSMt.js +69 -0
  31. package/dist/external-CcIlyM7a.cjs +1 -0
  32. package/dist/external-Cdszmp1I.cjs +1 -0
  33. package/dist/external-CmXsU6yu.cjs +1 -0
  34. package/dist/external-CwWs_qf4.js +10 -0
  35. package/dist/external-D2eCxMkQ.cjs +46 -0
  36. package/dist/external-D7fvHJwL.cjs +1 -0
  37. package/dist/external-D9Mbu0wy.cjs +1 -0
  38. package/dist/external-DCftrpz2.js +319 -0
  39. package/dist/external-DVV0t11f.cjs +1 -0
  40. package/dist/external-Dd9YnYGw.js +126 -0
  41. package/dist/external-Dr1KTRgM.js +75 -0
  42. package/dist/external-E3bYM0JI.cjs +1 -0
  43. package/dist/external-JZqEUnPB.js +69 -0
  44. package/dist/external-O7GBl914.cjs +1 -0
  45. package/dist/external-SZ8meWoz.js +42 -0
  46. package/dist/external-ZbSTG-v-.js +43 -0
  47. package/dist/{external-firJ8w9n.js → external-bO6dVXFd.js} +2050 -2056
  48. package/dist/external-fKroctog.js +375 -0
  49. package/dist/flex.cjs +1 -0
  50. package/dist/flex.js +4 -0
  51. package/dist/{fontString-CynarMI1.js → fontString-BCV37JOn.js} +12 -13
  52. package/dist/fontString-DUff-KJe.cjs +1 -0
  53. package/dist/header.cjs +1 -1
  54. package/dist/header.js +1 -1
  55. package/dist/index.cjs +7 -7
  56. package/dist/index.js +12627 -11601
  57. package/dist/input.cjs +1 -1
  58. package/dist/input.js +1 -1
  59. package/dist/list.cjs +1 -1
  60. package/dist/list.js +1 -1
  61. package/dist/menu.cjs +1 -1
  62. package/dist/menu.js +1 -1
  63. package/dist/pluto.css +1 -1
  64. package/dist/provider-Dx_qX7Wi.cjs +53 -0
  65. package/dist/provider-Y8rmJd2z.js +6031 -0
  66. package/dist/src/aether/aether/aether.d.ts +11 -5
  67. package/dist/src/aether/aether/aether.d.ts.map +1 -1
  68. package/dist/src/aether/aether/aether.spec.d.ts +1 -1
  69. package/dist/src/aether/aether/aether.spec.d.ts.map +1 -1
  70. package/dist/src/aether/main.d.ts +2 -2
  71. package/dist/src/aether/main.d.ts.map +1 -1
  72. package/dist/src/aether/main.spec.d.ts +1 -1
  73. package/dist/src/aether/main.spec.d.ts.map +1 -1
  74. package/dist/src/alamos/aether/alamos.d.ts +1 -1
  75. package/dist/src/alamos/aether/alamos.d.ts.map +1 -1
  76. package/dist/src/breadcrumb/Breadcrumb.d.ts +15 -42
  77. package/dist/src/breadcrumb/Breadcrumb.d.ts.map +1 -1
  78. package/dist/src/button/Button.d.ts +16 -32
  79. package/dist/src/button/Button.d.ts.map +1 -1
  80. package/dist/src/button/Toggle.d.ts +3 -36
  81. package/dist/src/button/Toggle.d.ts.map +1 -1
  82. package/dist/src/button/external.d.ts +0 -2
  83. package/dist/src/button/external.d.ts.map +1 -1
  84. package/dist/src/caret/Animated.d.ts +2 -2
  85. package/dist/src/caret/Animated.d.ts.map +1 -1
  86. package/dist/src/channel/AliasContext.d.ts +19 -0
  87. package/dist/src/channel/AliasContext.d.ts.map +1 -0
  88. package/dist/src/channel/AliasInput.d.ts +9 -0
  89. package/dist/src/channel/AliasInput.d.ts.map +1 -0
  90. package/dist/src/channel/AliasProvider.d.ts +1 -19
  91. package/dist/src/channel/AliasProvider.d.ts.map +1 -1
  92. package/dist/src/channel/LinePlot.d.ts +2 -2
  93. package/dist/src/channel/LinePlot.d.ts.map +1 -1
  94. package/dist/src/channel/Select.d.ts +9 -11
  95. package/dist/src/channel/Select.d.ts.map +1 -1
  96. package/dist/src/channel/external.d.ts +3 -0
  97. package/dist/src/channel/external.d.ts.map +1 -1
  98. package/dist/src/channel/queries.d.ts +69 -0
  99. package/dist/src/channel/queries.d.ts.map +1 -0
  100. package/dist/src/channel/queries.spec.d.ts +2 -0
  101. package/dist/src/channel/queries.spec.d.ts.map +1 -0
  102. package/dist/src/color/Picker.d.ts.map +1 -1
  103. package/dist/src/color/Provider.d.ts +2 -2
  104. package/dist/src/color/Provider.d.ts.map +1 -1
  105. package/dist/src/color/Swatch.d.ts +3 -3
  106. package/dist/src/color/Swatch.d.ts.map +1 -1
  107. package/dist/src/component/SelectSize.d.ts +7 -0
  108. package/dist/src/component/SelectSize.d.ts.map +1 -0
  109. package/dist/src/component/external.d.ts +5 -0
  110. package/dist/src/component/external.d.ts.map +1 -0
  111. package/dist/src/component/index.d.ts +2 -0
  112. package/dist/src/component/index.d.ts.map +1 -0
  113. package/dist/src/component/removeProps.d.ts.map +1 -0
  114. package/dist/src/component/removeProps.spec.d.ts.map +1 -0
  115. package/dist/src/{util → component}/renderProp.d.ts +1 -1
  116. package/dist/src/component/renderProp.d.ts.map +1 -0
  117. package/dist/src/component/size.d.ts +12 -0
  118. package/dist/src/component/size.d.ts.map +1 -0
  119. package/dist/src/css/bem.d.ts +6 -6
  120. package/dist/src/css/bem.d.ts.map +1 -1
  121. package/dist/src/css/css.d.ts +6 -6
  122. package/dist/src/css/css.d.ts.map +1 -1
  123. package/dist/src/css/units.d.ts +1 -1
  124. package/dist/src/css/units.d.ts.map +1 -1
  125. package/dist/src/dialog/Background.d.ts +8 -0
  126. package/dist/src/dialog/Background.d.ts.map +1 -0
  127. package/dist/src/dialog/Dialog.d.ts +6 -0
  128. package/dist/src/dialog/Dialog.d.ts.map +1 -0
  129. package/dist/src/dialog/Dialog.spec.d.ts +2 -0
  130. package/dist/src/dialog/Dialog.spec.d.ts.map +1 -0
  131. package/dist/src/dialog/Frame.d.ts +48 -0
  132. package/dist/src/dialog/Frame.d.ts.map +1 -0
  133. package/dist/src/dialog/Trigger.d.ts +7 -0
  134. package/dist/src/dialog/Trigger.d.ts.map +1 -0
  135. package/dist/src/dialog/external.d.ts +5 -0
  136. package/dist/src/dialog/external.d.ts.map +1 -0
  137. package/dist/src/dialog/index.d.ts +1 -1
  138. package/dist/src/dialog/index.d.ts.map +1 -1
  139. package/dist/src/dialog/position.d.ts +10 -0
  140. package/dist/src/dialog/position.d.ts.map +1 -0
  141. package/dist/src/direction/Select.d.ts +8 -0
  142. package/dist/src/direction/Select.d.ts.map +1 -0
  143. package/dist/src/direction/index.d.ts +2 -0
  144. package/dist/src/direction/index.d.ts.map +1 -0
  145. package/dist/src/divider/Divider.d.ts +4 -5
  146. package/dist/src/divider/Divider.d.ts.map +1 -1
  147. package/dist/src/flex/Box.d.ts +128 -0
  148. package/dist/src/flex/Box.d.ts.map +1 -0
  149. package/dist/src/flex/Box.spec.d.ts +2 -0
  150. package/dist/src/flex/Box.spec.d.ts.map +1 -0
  151. package/dist/src/flex/Select.d.ts +7 -0
  152. package/dist/src/flex/Select.d.ts.map +1 -0
  153. package/dist/src/flex/external.d.ts +3 -0
  154. package/dist/src/flex/external.d.ts.map +1 -0
  155. package/dist/src/flex/index.d.ts +2 -0
  156. package/dist/src/flex/index.d.ts.map +1 -0
  157. package/dist/src/flux/Context.d.ts +4 -0
  158. package/dist/src/flux/Context.d.ts.map +1 -0
  159. package/dist/src/flux/Provider.d.ts +9 -0
  160. package/dist/src/flux/Provider.d.ts.map +1 -0
  161. package/dist/src/flux/aether/external.d.ts +5 -0
  162. package/dist/src/flux/aether/external.d.ts.map +1 -0
  163. package/dist/src/flux/aether/index.d.ts +2 -0
  164. package/dist/src/flux/aether/index.d.ts.map +1 -0
  165. package/dist/src/flux/aether/listeners.d.ts +16 -0
  166. package/dist/src/flux/aether/listeners.d.ts.map +1 -0
  167. package/dist/src/flux/aether/params.d.ts +31 -0
  168. package/dist/src/flux/aether/params.d.ts.map +1 -0
  169. package/dist/src/flux/aether/provider.d.ts +29 -0
  170. package/dist/src/flux/aether/provider.d.ts.map +1 -0
  171. package/dist/src/flux/aether/streamer.d.ts +22 -0
  172. package/dist/src/flux/aether/streamer.d.ts.map +1 -0
  173. package/dist/src/flux/aether/streamer.spec.d.ts +2 -0
  174. package/dist/src/flux/aether/streamer.spec.d.ts.map +1 -0
  175. package/dist/src/flux/aether/types.d.ts +13 -0
  176. package/dist/src/flux/aether/types.d.ts.map +1 -0
  177. package/dist/src/flux/external.d.ts +12 -0
  178. package/dist/src/flux/external.d.ts.map +1 -0
  179. package/dist/src/flux/form.d.ts +112 -0
  180. package/dist/src/flux/form.d.ts.map +1 -0
  181. package/dist/src/flux/form.spec.d.ts +2 -0
  182. package/dist/src/flux/form.spec.d.ts.map +1 -0
  183. package/dist/src/flux/index.d.ts +2 -0
  184. package/dist/src/flux/index.d.ts.map +1 -0
  185. package/dist/src/flux/list.d.ts +251 -0
  186. package/dist/src/flux/list.d.ts.map +1 -0
  187. package/dist/src/flux/list.spec.d.ts +2 -0
  188. package/dist/src/flux/list.spec.d.ts.map +1 -0
  189. package/dist/src/flux/listeners.d.ts +4 -0
  190. package/dist/src/flux/listeners.d.ts.map +1 -0
  191. package/dist/src/flux/listeners.spec.d.ts +2 -0
  192. package/dist/src/flux/listeners.spec.d.ts.map +1 -0
  193. package/dist/src/flux/result.d.ts +101 -0
  194. package/dist/src/flux/result.d.ts.map +1 -0
  195. package/dist/src/flux/result.spec.d.ts +2 -0
  196. package/dist/src/flux/result.spec.d.ts.map +1 -0
  197. package/dist/src/flux/retrieve.d.ts +213 -0
  198. package/dist/src/flux/retrieve.d.ts.map +1 -0
  199. package/dist/src/flux/retrieve.spec.d.ts +2 -0
  200. package/dist/src/flux/retrieve.spec.d.ts.map +1 -0
  201. package/dist/src/flux/update.d.ts +132 -0
  202. package/dist/src/flux/update.d.ts.map +1 -0
  203. package/dist/src/flux/update.spec.d.ts +2 -0
  204. package/dist/src/flux/update.spec.d.ts.map +1 -0
  205. package/dist/src/flux/useMountListeners.d.ts +7 -0
  206. package/dist/src/flux/useMountListeners.d.ts.map +1 -0
  207. package/dist/src/form/Context.d.ts +34 -0
  208. package/dist/src/form/Context.d.ts.map +1 -0
  209. package/dist/src/form/Field.d.ts +23 -27
  210. package/dist/src/form/Field.d.ts.map +1 -1
  211. package/dist/src/form/Form.d.ts +2 -173
  212. package/dist/src/form/Form.d.ts.map +1 -1
  213. package/dist/src/form/external.d.ts +3 -0
  214. package/dist/src/form/external.d.ts.map +1 -1
  215. package/dist/src/form/state.d.ts +53 -0
  216. package/dist/src/form/state.d.ts.map +1 -0
  217. package/dist/src/form/state.spec.d.ts +2 -0
  218. package/dist/src/form/state.spec.d.ts.map +1 -0
  219. package/dist/src/form/synced.d.ts +5 -4
  220. package/dist/src/form/synced.d.ts.map +1 -1
  221. package/dist/src/form/use.d.ts +24 -0
  222. package/dist/src/form/use.d.ts.map +1 -0
  223. package/dist/src/form/useField.d.ts +64 -0
  224. package/dist/src/form/useField.d.ts.map +1 -0
  225. package/dist/src/generic/Generic.d.ts +8 -3
  226. package/dist/src/generic/Generic.d.ts.map +1 -1
  227. package/dist/src/generic/Generic.spec.d.ts +2 -0
  228. package/dist/src/generic/Generic.spec.d.ts.map +1 -0
  229. package/dist/src/hardware/device/Select.d.ts +5 -7
  230. package/dist/src/hardware/device/Select.d.ts.map +1 -1
  231. package/dist/src/hardware/device/StatusIndicator.d.ts +8 -0
  232. package/dist/src/hardware/device/StatusIndicator.d.ts.map +1 -0
  233. package/dist/src/hardware/device/external.d.ts +4 -0
  234. package/dist/src/hardware/device/external.d.ts.map +1 -0
  235. package/dist/src/hardware/device/index.d.ts +1 -1
  236. package/dist/src/hardware/device/index.d.ts.map +1 -1
  237. package/dist/src/hardware/device/queries.d.ts +12 -0
  238. package/dist/src/hardware/device/queries.d.ts.map +1 -0
  239. package/dist/src/hardware/device/queries.spec.d.ts +2 -0
  240. package/dist/src/hardware/device/queries.spec.d.ts.map +1 -0
  241. package/dist/src/hardware/rack/Select.d.ts +6 -2
  242. package/dist/src/hardware/rack/Select.d.ts.map +1 -1
  243. package/dist/src/hardware/rack/StatusIndicator.d.ts +8 -0
  244. package/dist/src/hardware/rack/StatusIndicator.d.ts.map +1 -0
  245. package/dist/src/hardware/rack/external.d.ts +7 -0
  246. package/dist/src/hardware/rack/external.d.ts.map +1 -0
  247. package/dist/src/hardware/rack/index.d.ts +1 -1
  248. package/dist/src/hardware/rack/index.d.ts.map +1 -1
  249. package/dist/src/hardware/rack/queries.d.ts +10 -0
  250. package/dist/src/hardware/rack/queries.d.ts.map +1 -0
  251. package/dist/src/hardware/rack/queries.spec.d.ts +2 -0
  252. package/dist/src/hardware/rack/queries.spec.d.ts.map +1 -0
  253. package/dist/src/hardware/rack/synchronizers.d.ts +3 -0
  254. package/dist/src/hardware/rack/synchronizers.d.ts.map +1 -0
  255. package/dist/src/hardware/rack/use.d.ts +3 -0
  256. package/dist/src/hardware/rack/use.d.ts.map +1 -0
  257. package/dist/src/hardware/rack/useStatus.d.ts +3 -0
  258. package/dist/src/hardware/rack/useStatus.d.ts.map +1 -0
  259. package/dist/src/hardware/task/index.d.ts +2 -0
  260. package/dist/src/hardware/task/index.d.ts.map +1 -0
  261. package/dist/src/hardware/task/queries.d.ts +17 -0
  262. package/dist/src/hardware/task/queries.d.ts.map +1 -0
  263. package/dist/src/hardware/task/queries.spec.d.ts +2 -0
  264. package/dist/src/hardware/task/queries.spec.d.ts.map +1 -0
  265. package/dist/src/haul/Haul.d.ts +5 -4
  266. package/dist/src/haul/Haul.d.ts.map +1 -1
  267. package/dist/src/header/Actions.d.ts +4 -6
  268. package/dist/src/header/Actions.d.ts.map +1 -1
  269. package/dist/src/header/Header.d.ts +4 -3
  270. package/dist/src/header/Header.d.ts.map +1 -1
  271. package/dist/src/header/Title.d.ts +1 -1
  272. package/dist/src/header/Title.d.ts.map +1 -1
  273. package/dist/src/hooks/index.d.ts +3 -2
  274. package/dist/src/hooks/index.d.ts.map +1 -1
  275. package/dist/src/hooks/ref.d.ts +2 -2
  276. package/dist/src/hooks/ref.d.ts.map +1 -1
  277. package/dist/src/hooks/useAsyncEffect.d.ts +45 -0
  278. package/dist/src/hooks/useAsyncEffect.d.ts.map +1 -0
  279. package/dist/src/hooks/useAsyncEffect.spec.d.ts +2 -0
  280. package/dist/src/hooks/useAsyncEffect.spec.d.ts.map +1 -0
  281. package/dist/src/hooks/useEffectCompare.d.ts +3 -0
  282. package/dist/src/hooks/useEffectCompare.d.ts.map +1 -0
  283. package/dist/src/hooks/useRequiredContext.d.ts +1 -1
  284. package/dist/src/hooks/useRequiredContext.d.ts.map +1 -1
  285. package/dist/src/icon/Icon.d.ts +14 -16
  286. package/dist/src/icon/Icon.d.ts.map +1 -1
  287. package/dist/src/icon/external.d.ts +3 -0
  288. package/dist/src/icon/external.d.ts.map +1 -0
  289. package/dist/src/icon/index.d.ts +1 -1
  290. package/dist/src/icon/index.d.ts.map +1 -1
  291. package/dist/src/icon/registry.d.ts +206 -0
  292. package/dist/src/icon/registry.d.ts.map +1 -0
  293. package/dist/src/index.d.ts +7 -6
  294. package/dist/src/index.d.ts.map +1 -1
  295. package/dist/src/input/Boolean.d.ts +11 -0
  296. package/dist/src/input/Boolean.d.ts.map +1 -0
  297. package/dist/src/input/Checkbox.d.ts +17 -0
  298. package/dist/src/input/Checkbox.d.ts.map +1 -0
  299. package/dist/src/input/Date.d.ts +3 -3
  300. package/dist/src/input/Date.d.ts.map +1 -1
  301. package/dist/src/input/DateTime.d.ts +3 -2
  302. package/dist/src/input/DateTime.d.ts.map +1 -1
  303. package/dist/src/input/DragButton.d.ts +2 -2
  304. package/dist/src/input/DragButton.d.ts.map +1 -1
  305. package/dist/src/input/HelpText.d.ts +1 -1
  306. package/dist/src/input/HelpText.d.ts.map +1 -1
  307. package/dist/src/input/Item.d.ts +4 -4
  308. package/dist/src/input/Item.d.ts.map +1 -1
  309. package/dist/src/input/Numeric.d.ts +4 -4
  310. package/dist/src/input/Numeric.d.ts.map +1 -1
  311. package/dist/src/input/Switch.d.ts +4 -3
  312. package/dist/src/input/Switch.d.ts.map +1 -1
  313. package/dist/src/input/Text.d.ts +12 -9
  314. package/dist/src/input/Text.d.ts.map +1 -1
  315. package/dist/src/input/TextArea.d.ts +9 -5
  316. package/dist/src/input/TextArea.d.ts.map +1 -1
  317. package/dist/src/input/Time.d.ts +6 -5
  318. package/dist/src/input/Time.d.ts.map +1 -1
  319. package/dist/src/input/external.d.ts +1 -0
  320. package/dist/src/input/external.d.ts.map +1 -1
  321. package/dist/src/input/types.d.ts +7 -22
  322. package/dist/src/input/types.d.ts.map +1 -1
  323. package/dist/src/label/Select.d.ts +6 -5
  324. package/dist/src/label/Select.d.ts.map +1 -1
  325. package/dist/src/label/external.d.ts +1 -0
  326. package/dist/src/label/external.d.ts.map +1 -1
  327. package/dist/src/label/queries.d.ts +38 -0
  328. package/dist/src/label/queries.d.ts.map +1 -0
  329. package/dist/src/label/queries.spec.d.ts +2 -0
  330. package/dist/src/label/queries.spec.d.ts.map +1 -0
  331. package/dist/src/list/Frame.d.ts +33 -0
  332. package/dist/src/list/Frame.d.ts.map +1 -0
  333. package/dist/src/list/Item.d.ts +17 -7
  334. package/dist/src/list/Item.d.ts.map +1 -1
  335. package/dist/src/list/Items.d.ts +13 -0
  336. package/dist/src/list/Items.d.ts.map +1 -0
  337. package/dist/src/list/external.d.ts +6 -10
  338. package/dist/src/list/external.d.ts.map +1 -1
  339. package/dist/src/list/pager.d.ts +62 -0
  340. package/dist/src/list/pager.d.ts.map +1 -0
  341. package/dist/src/list/pager.spec.d.ts +2 -0
  342. package/dist/src/list/pager.spec.d.ts.map +1 -0
  343. package/dist/src/list/useKeysData.d.ts +7 -0
  344. package/dist/src/list/useKeysData.d.ts.map +1 -0
  345. package/dist/src/list/useKeysData.spec.d.ts +2 -0
  346. package/dist/src/list/useKeysData.spec.d.ts.map +1 -0
  347. package/dist/src/list/useMapData.d.ts +18 -0
  348. package/dist/src/list/useMapData.d.ts.map +1 -0
  349. package/dist/src/list/useMapData.spec.d.ts +2 -0
  350. package/dist/src/list/useMapData.spec.d.ts.map +1 -0
  351. package/dist/src/list/useStaticData.d.ts +19 -0
  352. package/dist/src/list/useStaticData.d.ts.map +1 -0
  353. package/dist/src/list/useStaticData.spec.d.ts +2 -0
  354. package/dist/src/list/useStaticData.spec.d.ts.map +1 -0
  355. package/dist/src/memo/useMemoCompare.d.ts +1 -1
  356. package/dist/src/memo/useMemoCompare.d.ts.map +1 -1
  357. package/dist/src/menu/ContextMenu.d.ts +3 -3
  358. package/dist/src/menu/ContextMenu.d.ts.map +1 -1
  359. package/dist/src/menu/Item.d.ts +3 -28
  360. package/dist/src/menu/Item.d.ts.map +1 -1
  361. package/dist/src/menu/Menu.d.ts +6 -5
  362. package/dist/src/menu/Menu.d.ts.map +1 -1
  363. package/dist/src/mosaic/Mosaic.d.ts +2 -2
  364. package/dist/src/mosaic/Mosaic.d.ts.map +1 -1
  365. package/dist/src/mosaic/types.d.ts +1 -1
  366. package/dist/src/mosaic/types.d.ts.map +1 -1
  367. package/dist/src/nav/Bar.d.ts +3 -3
  368. package/dist/src/nav/Bar.d.ts.map +1 -1
  369. package/dist/src/notation/Select.d.ts +3 -3
  370. package/dist/src/notation/Select.d.ts.map +1 -1
  371. package/dist/src/note/Note.d.ts +2 -2
  372. package/dist/src/note/Note.d.ts.map +1 -1
  373. package/dist/src/observe/use.d.ts +0 -7
  374. package/dist/src/observe/use.d.ts.map +1 -1
  375. package/dist/src/ontology/external.d.ts +2 -0
  376. package/dist/src/ontology/external.d.ts.map +1 -0
  377. package/dist/src/ontology/index.d.ts +2 -0
  378. package/dist/src/ontology/index.d.ts.map +1 -0
  379. package/dist/src/ontology/queries.d.ts +27 -0
  380. package/dist/src/ontology/queries.d.ts.map +1 -0
  381. package/dist/src/ontology/queries.spec.d.ts +2 -0
  382. package/dist/src/ontology/queries.spec.d.ts.map +1 -0
  383. package/dist/src/os/Controls/Mac.d.ts.map +1 -1
  384. package/dist/src/os/Controls/Windows.d.ts +1 -1
  385. package/dist/src/os/Controls/Windows.d.ts.map +1 -1
  386. package/dist/src/os/Controls/types.d.ts +4 -4
  387. package/dist/src/os/Controls/types.d.ts.map +1 -1
  388. package/dist/src/pluto/Pluto.d.ts.map +1 -1
  389. package/dist/src/pluto/aether/pluto.d.ts.map +1 -1
  390. package/dist/src/ranger/Breadcrumb.d.ts +9 -0
  391. package/dist/src/ranger/Breadcrumb.d.ts.map +1 -0
  392. package/dist/src/ranger/Select.d.ts +13 -5
  393. package/dist/src/ranger/Select.d.ts.map +1 -1
  394. package/dist/src/ranger/TimeRangeChip.d.ts +3 -4
  395. package/dist/src/ranger/TimeRangeChip.d.ts.map +1 -1
  396. package/dist/src/ranger/external.d.ts +2 -1
  397. package/dist/src/ranger/external.d.ts.map +1 -1
  398. package/dist/src/ranger/queries.d.ts +97 -0
  399. package/dist/src/ranger/queries.d.ts.map +1 -0
  400. package/dist/src/ranger/queries.spec.d.ts +2 -0
  401. package/dist/src/ranger/queries.spec.d.ts.map +1 -0
  402. package/dist/src/resize/Core.d.ts +3 -3
  403. package/dist/src/resize/Core.d.ts.map +1 -1
  404. package/dist/src/resize/Multiple.d.ts +2 -2
  405. package/dist/src/resize/Multiple.d.ts.map +1 -1
  406. package/dist/src/select/Button.d.ts +10 -44
  407. package/dist/src/select/Button.d.ts.map +1 -1
  408. package/dist/src/select/Button.spec.d.ts +2 -0
  409. package/dist/src/select/Button.spec.d.ts.map +1 -0
  410. package/dist/src/select/Dialog.d.ts +16 -0
  411. package/dist/src/select/Dialog.d.ts.map +1 -0
  412. package/dist/src/select/Dialog.spec.d.ts +2 -0
  413. package/dist/src/select/Dialog.spec.d.ts.map +1 -0
  414. package/dist/src/select/Frame.d.ts +41 -0
  415. package/dist/src/select/Frame.d.ts.map +1 -0
  416. package/dist/src/select/ListItem.d.ts +6 -0
  417. package/dist/src/select/ListItem.d.ts.map +1 -0
  418. package/dist/src/select/Multiple.d.ts +16 -51
  419. package/dist/src/select/Multiple.d.ts.map +1 -1
  420. package/dist/src/select/Multiple.spec.d.ts +2 -0
  421. package/dist/src/select/Multiple.spec.d.ts.map +1 -0
  422. package/dist/src/select/MultipleTrigger.d.ts +24 -0
  423. package/dist/src/select/MultipleTrigger.d.ts.map +1 -0
  424. package/dist/src/select/SearchInput.d.ts +10 -0
  425. package/dist/src/select/SearchInput.d.ts.map +1 -0
  426. package/dist/src/select/Single.d.ts +15 -49
  427. package/dist/src/select/Single.d.ts.map +1 -1
  428. package/dist/src/select/Single.spec.d.ts +2 -0
  429. package/dist/src/select/Single.spec.d.ts.map +1 -0
  430. package/dist/src/select/SingleTrigger.d.ts +14 -0
  431. package/dist/src/select/SingleTrigger.d.ts.map +1 -0
  432. package/dist/src/select/Static.d.ts +12 -0
  433. package/dist/src/select/Static.d.ts.map +1 -0
  434. package/dist/src/select/Static.spec.d.ts +2 -0
  435. package/dist/src/select/Static.spec.d.ts.map +1 -0
  436. package/dist/src/select/external.d.ts +8 -4
  437. package/dist/src/select/external.d.ts.map +1 -1
  438. package/dist/src/select/text/Level.d.ts +2 -6
  439. package/dist/src/select/text/Level.d.ts.map +1 -1
  440. package/dist/src/select/text/Weight.d.ts +2 -6
  441. package/dist/src/select/text/Weight.d.ts.map +1 -1
  442. package/dist/src/select/use.d.ts +42 -0
  443. package/dist/src/select/use.d.ts.map +1 -0
  444. package/dist/src/select/use.spec.d.ts +2 -0
  445. package/dist/src/select/use.spec.d.ts.map +1 -0
  446. package/dist/src/select/useHover.d.ts +11 -0
  447. package/dist/src/select/useHover.d.ts.map +1 -0
  448. package/dist/src/select/useHover.spec.d.ts +2 -0
  449. package/dist/src/select/useHover.spec.d.ts.map +1 -0
  450. package/dist/src/select/variant.d.ts +6 -0
  451. package/dist/src/select/variant.d.ts.map +1 -0
  452. package/dist/src/showcase/BreadcrumbShowcase.d.ts +2 -0
  453. package/dist/src/showcase/BreadcrumbShowcase.d.ts.map +1 -0
  454. package/dist/src/showcase/ButtonShowcase.d.ts +2 -0
  455. package/dist/src/showcase/ButtonShowcase.d.ts.map +1 -0
  456. package/dist/src/showcase/DisplaySelector.d.ts +8 -0
  457. package/dist/src/showcase/DisplaySelector.d.ts.map +1 -0
  458. package/dist/src/showcase/DividerShowcase.d.ts +2 -0
  459. package/dist/src/showcase/DividerShowcase.d.ts.map +1 -0
  460. package/dist/src/showcase/FlexShowcase.d.ts +2 -0
  461. package/dist/src/showcase/FlexShowcase.d.ts.map +1 -0
  462. package/dist/src/showcase/HeaderShowcase.d.ts +2 -0
  463. package/dist/src/showcase/HeaderShowcase.d.ts.map +1 -0
  464. package/dist/src/showcase/InputShowcase.d.ts +19 -0
  465. package/dist/src/showcase/InputShowcase.d.ts.map +1 -0
  466. package/dist/src/showcase/MenuShowcase.d.ts +2 -0
  467. package/dist/src/showcase/MenuShowcase.d.ts.map +1 -0
  468. package/dist/src/showcase/NavShowcase.d.ts +2 -0
  469. package/dist/src/showcase/NavShowcase.d.ts.map +1 -0
  470. package/dist/src/showcase/NoteShowcase.d.ts +2 -0
  471. package/dist/src/showcase/NoteShowcase.d.ts.map +1 -0
  472. package/dist/src/showcase/SelectShowcase.d.ts +3 -0
  473. package/dist/src/showcase/SelectShowcase.d.ts.map +1 -0
  474. package/dist/src/showcase/Showcase.d.ts +2 -0
  475. package/dist/src/showcase/Showcase.d.ts.map +1 -0
  476. package/dist/src/showcase/SubcategorySection.d.ts +6 -0
  477. package/dist/src/showcase/SubcategorySection.d.ts.map +1 -0
  478. package/dist/src/showcase/TagShowcase.d.ts +2 -0
  479. package/dist/src/showcase/TagShowcase.d.ts.map +1 -0
  480. package/dist/src/showcase/TextShowcase.d.ts +2 -0
  481. package/dist/src/showcase/TextShowcase.d.ts.map +1 -0
  482. package/dist/src/showcase/constants.d.ts +8 -0
  483. package/dist/src/showcase/constants.d.ts.map +1 -0
  484. package/dist/src/showcase/index.d.ts +16 -0
  485. package/dist/src/showcase/index.d.ts.map +1 -0
  486. package/dist/src/state/state.d.ts +24 -24
  487. package/dist/src/state/state.d.ts.map +1 -1
  488. package/dist/src/status/Aggregator.d.ts +5 -5
  489. package/dist/src/status/Aggregator.d.ts.map +1 -1
  490. package/dist/src/status/Indicator.d.ts +2 -2
  491. package/dist/src/status/Indicator.d.ts.map +1 -1
  492. package/dist/src/status/Notification.d.ts +2 -2
  493. package/dist/src/status/Notification.d.ts.map +1 -1
  494. package/dist/src/status/Summary.d.ts +8 -0
  495. package/dist/src/status/Summary.d.ts.map +1 -0
  496. package/dist/src/status/aether/aggregator.d.ts +13 -30
  497. package/dist/src/status/aether/aggregator.d.ts.map +1 -1
  498. package/dist/src/status/aether/index.d.ts +1 -1
  499. package/dist/src/status/aether/index.d.ts.map +1 -1
  500. package/dist/src/status/external.d.ts +1 -2
  501. package/dist/src/status/external.d.ts.map +1 -1
  502. package/dist/src/steps/Steps.d.ts +2 -2
  503. package/dist/src/steps/Steps.d.ts.map +1 -1
  504. package/dist/src/store/index.d.ts +2 -0
  505. package/dist/src/store/index.d.ts.map +1 -0
  506. package/dist/src/store/store.d.ts +7 -0
  507. package/dist/src/store/store.d.ts.map +1 -0
  508. package/dist/src/store/store.spec.d.ts +2 -0
  509. package/dist/src/store/store.spec.d.ts.map +1 -0
  510. package/dist/src/synnax/Provider.d.ts +11 -0
  511. package/dist/src/synnax/Provider.d.ts.map +1 -1
  512. package/dist/src/synnax/aether/provider.d.ts +7 -7
  513. package/dist/src/synnax/aether/provider.d.ts.map +1 -1
  514. package/dist/src/table/Table.d.ts +1 -1
  515. package/dist/src/table/Table.d.ts.map +1 -1
  516. package/dist/src/table/aether/Table.d.ts +1 -1
  517. package/dist/src/table/aether/Table.d.ts.map +1 -1
  518. package/dist/src/table/cells/Cells.d.ts +6 -6
  519. package/dist/src/table/cells/Cells.d.ts.map +1 -1
  520. package/dist/src/table/cells/Forms.d.ts +4 -0
  521. package/dist/src/table/cells/Forms.d.ts.map +1 -1
  522. package/dist/src/table/cells/external.d.ts +4 -0
  523. package/dist/src/table/cells/external.d.ts.map +1 -0
  524. package/dist/src/table/cells/index.d.ts +1 -1
  525. package/dist/src/table/cells/registry.d.ts +1 -1
  526. package/dist/src/table/cells/registry.d.ts.map +1 -1
  527. package/dist/src/tabs/Selector.d.ts +9 -9
  528. package/dist/src/tabs/Selector.d.ts.map +1 -1
  529. package/dist/src/tabs/Tabs.d.ts +6 -6
  530. package/dist/src/tabs/Tabs.d.ts.map +1 -1
  531. package/dist/src/tabs/types.d.ts +3 -3
  532. package/dist/src/tabs/types.d.ts.map +1 -1
  533. package/dist/src/tabs/useContext.d.ts +3 -3
  534. package/dist/src/tabs/useContext.d.ts.map +1 -1
  535. package/dist/src/tag/Tag.d.ts +6 -6
  536. package/dist/src/tag/Tag.d.ts.map +1 -1
  537. package/dist/src/tag/Tags.d.ts +5 -0
  538. package/dist/src/tag/Tags.d.ts.map +1 -0
  539. package/dist/src/tag/external.d.ts +3 -0
  540. package/dist/src/tag/external.d.ts.map +1 -0
  541. package/dist/src/tag/index.d.ts +1 -1
  542. package/dist/src/tag/index.d.ts.map +1 -1
  543. package/dist/src/telem/SelectDataType.d.ts +7 -0
  544. package/dist/src/telem/SelectDataType.d.ts.map +1 -0
  545. package/dist/src/telem/aether/context.d.ts +1 -0
  546. package/dist/src/telem/aether/context.d.ts.map +1 -1
  547. package/dist/src/telem/aether/noop.d.ts.map +1 -1
  548. package/dist/src/telem/aether/pipeline.d.ts +1 -1
  549. package/dist/src/telem/aether/pipeline.d.ts.map +1 -1
  550. package/dist/src/telem/aether/provider.d.ts +1 -1
  551. package/dist/src/telem/aether/provider.d.ts.map +1 -1
  552. package/dist/src/telem/aether/remote.d.ts +13 -13
  553. package/dist/src/telem/aether/remote.d.ts.map +1 -1
  554. package/dist/src/telem/aether/static.d.ts +3 -3
  555. package/dist/src/telem/aether/static.d.ts.map +1 -1
  556. package/dist/src/telem/aether/telem.d.ts +3 -4
  557. package/dist/src/telem/aether/telem.d.ts.map +1 -1
  558. package/dist/src/telem/aether/transformers.d.ts +4 -5
  559. package/dist/src/telem/aether/transformers.d.ts.map +1 -1
  560. package/dist/src/telem/client/cache/cache.d.ts.map +1 -1
  561. package/dist/src/telem/client/cache/static.d.ts +1 -1
  562. package/dist/src/telem/client/cache/static.d.ts.map +1 -1
  563. package/dist/src/telem/client/reader.spec.d.ts +1 -3
  564. package/dist/src/telem/client/reader.spec.d.ts.map +1 -1
  565. package/dist/src/telem/client/streamer.d.ts.map +1 -1
  566. package/dist/src/telem/control/Chip.d.ts +2 -2
  567. package/dist/src/telem/control/Chip.d.ts.map +1 -1
  568. package/dist/src/telem/control/Controller.d.ts +1 -1
  569. package/dist/src/telem/control/Controller.d.ts.map +1 -1
  570. package/dist/src/telem/control/Indicator.d.ts +4 -1
  571. package/dist/src/telem/control/Indicator.d.ts.map +1 -1
  572. package/dist/src/telem/control/Legend.d.ts.map +1 -1
  573. package/dist/src/telem/control/aether/chip.d.ts +22 -25
  574. package/dist/src/telem/control/aether/chip.d.ts.map +1 -1
  575. package/dist/src/telem/control/aether/controller.d.ts +14 -4
  576. package/dist/src/telem/control/aether/controller.d.ts.map +1 -1
  577. package/dist/src/telem/control/aether/indicator.d.ts +31 -24
  578. package/dist/src/telem/control/aether/indicator.d.ts.map +1 -1
  579. package/dist/src/telem/control/aether/legend.d.ts +3 -3
  580. package/dist/src/telem/control/aether/legend.d.ts.map +1 -1
  581. package/dist/src/telem/control/aether/state.d.ts +2 -2
  582. package/dist/src/telem/control/aether/state.d.ts.map +1 -1
  583. package/dist/src/telem/external.d.ts +3 -0
  584. package/dist/src/telem/external.d.ts.map +1 -0
  585. package/dist/src/telem/index.d.ts +1 -1
  586. package/dist/src/testutil/Aether.d.ts +4 -0
  587. package/dist/src/testutil/Aether.d.ts.map +1 -0
  588. package/dist/src/testutil/Synnax.d.ts +9 -0
  589. package/dist/src/testutil/Synnax.d.ts.map +1 -0
  590. package/dist/src/text/DateTime.d.ts +3 -3
  591. package/dist/src/text/DateTime.d.ts.map +1 -1
  592. package/dist/src/text/Editable.d.ts +5 -6
  593. package/dist/src/text/Editable.d.ts.map +1 -1
  594. package/dist/src/text/Text.d.ts +17 -11
  595. package/dist/src/text/Text.d.ts.map +1 -1
  596. package/dist/src/text/core/types.d.ts +7 -8
  597. package/dist/src/text/core/types.d.ts.map +1 -1
  598. package/dist/src/text/external.d.ts +0 -3
  599. package/dist/src/text/external.d.ts.map +1 -1
  600. package/dist/src/text/symbols.d.ts.map +1 -1
  601. package/dist/src/theming/aether/provider.d.ts +4 -4
  602. package/dist/src/theming/aether/provider.d.ts.map +1 -1
  603. package/dist/src/theming/core/fontString.d.ts +2 -2
  604. package/dist/src/theming/core/fontString.d.ts.map +1 -1
  605. package/dist/src/theming/core/theme.d.ts +2 -2
  606. package/dist/src/theming/core/theme.d.ts.map +1 -1
  607. package/dist/src/tooltip/Dialog.d.ts +1 -1
  608. package/dist/src/tooltip/Dialog.d.ts.map +1 -1
  609. package/dist/src/tree/Item.d.ts +11 -0
  610. package/dist/src/tree/Item.d.ts.map +1 -0
  611. package/dist/src/tree/Tree.d.ts +28 -48
  612. package/dist/src/tree/Tree.d.ts.map +1 -1
  613. package/dist/src/tree/core.d.ts +59 -71
  614. package/dist/src/tree/core.d.ts.map +1 -1
  615. package/dist/src/tree/external.d.ts +1 -0
  616. package/dist/src/tree/external.d.ts.map +1 -1
  617. package/dist/src/triggers/Text.d.ts +3 -2
  618. package/dist/src/triggers/Text.d.ts.map +1 -1
  619. package/dist/src/triggers/triggers.d.ts +6 -6
  620. package/dist/src/triggers/triggers.d.ts.map +1 -1
  621. package/dist/src/util/children.d.ts.map +1 -1
  622. package/dist/src/util/zod.d.ts +1 -1
  623. package/dist/src/util/zod.d.ts.map +1 -1
  624. package/dist/src/viewport/SelectMode.d.ts +3 -3
  625. package/dist/src/viewport/SelectMode.d.ts.map +1 -1
  626. package/dist/src/viewport/use.d.ts +3 -3
  627. package/dist/src/viewport/use.d.ts.map +1 -1
  628. package/dist/src/vis/axis/axis.d.ts +1 -1
  629. package/dist/src/vis/axis/axis.d.ts.map +1 -1
  630. package/dist/src/vis/axis/ticks.d.ts +1 -1
  631. package/dist/src/vis/axis/ticks.d.ts.map +1 -1
  632. package/dist/src/vis/button/SelectMode.d.ts +8 -0
  633. package/dist/src/vis/button/SelectMode.d.ts.map +1 -0
  634. package/dist/src/vis/button/aether/button.d.ts +2 -1
  635. package/dist/src/vis/button/aether/button.d.ts.map +1 -1
  636. package/dist/src/vis/button/external.d.ts +3 -0
  637. package/dist/src/vis/button/external.d.ts.map +1 -0
  638. package/dist/src/vis/button/index.d.ts +1 -1
  639. package/dist/src/vis/button/index.d.ts.map +1 -1
  640. package/dist/src/vis/button/use.d.ts +3 -1
  641. package/dist/src/vis/button/use.d.ts.map +1 -1
  642. package/dist/src/vis/canvas/aether/canvas.d.ts +1 -1
  643. package/dist/src/vis/canvas/aether/canvas.d.ts.map +1 -1
  644. package/dist/src/vis/diagram/Diagram.d.ts +6 -6
  645. package/dist/src/vis/diagram/Diagram.d.ts.map +1 -1
  646. package/dist/src/vis/diagram/aether/Diagram.d.ts +1 -1
  647. package/dist/src/vis/diagram/aether/Diagram.d.ts.map +1 -1
  648. package/dist/src/vis/diagram/aether/types.d.ts +1 -1
  649. package/dist/src/vis/diagram/aether/types.d.ts.map +1 -1
  650. package/dist/src/vis/diagram/edge/connector/connector.d.ts +1 -1
  651. package/dist/src/vis/diagram/edge/connector/connector.d.ts.map +1 -1
  652. package/dist/src/vis/diagram/edge/paths.d.ts +2 -3
  653. package/dist/src/vis/diagram/edge/paths.d.ts.map +1 -1
  654. package/dist/src/vis/eraser/aether/eraser.d.ts +1 -1
  655. package/dist/src/vis/eraser/aether/eraser.d.ts.map +1 -1
  656. package/dist/src/vis/grid/grid.d.ts +1 -1
  657. package/dist/src/vis/grid/grid.d.ts.map +1 -1
  658. package/dist/src/vis/legend/Container.d.ts +3 -3
  659. package/dist/src/vis/legend/Container.d.ts.map +1 -1
  660. package/dist/src/vis/legend/Simple.d.ts +8 -7
  661. package/dist/src/vis/legend/Simple.d.ts.map +1 -1
  662. package/dist/src/vis/light/aether/light.d.ts +1 -1
  663. package/dist/src/vis/light/aether/light.d.ts.map +1 -1
  664. package/dist/src/vis/light/use.d.ts +1 -1
  665. package/dist/src/vis/light/use.d.ts.map +1 -1
  666. package/dist/src/vis/line/aether/line.d.ts +1 -1
  667. package/dist/src/vis/line/aether/line.d.ts.map +1 -1
  668. package/dist/src/vis/lineplot/Axis.d.ts +3 -3
  669. package/dist/src/vis/lineplot/Axis.d.ts.map +1 -1
  670. package/dist/src/vis/lineplot/LinePlot.d.ts +1 -1
  671. package/dist/src/vis/lineplot/LinePlot.d.ts.map +1 -1
  672. package/dist/src/vis/lineplot/Title.d.ts +2 -2
  673. package/dist/src/vis/lineplot/Title.d.ts.map +1 -1
  674. package/dist/src/vis/lineplot/aether/BoundQuerier.d.ts +1 -1
  675. package/dist/src/vis/lineplot/aether/BoundQuerier.d.ts.map +1 -1
  676. package/dist/src/vis/lineplot/aether/LinePlot.d.ts +1 -1
  677. package/dist/src/vis/lineplot/aether/LinePlot.d.ts.map +1 -1
  678. package/dist/src/vis/lineplot/aether/XAxis.d.ts +56 -56
  679. package/dist/src/vis/lineplot/aether/YAxis.d.ts +56 -56
  680. package/dist/src/vis/lineplot/aether/axis.d.ts +2 -2
  681. package/dist/src/vis/lineplot/aether/axis.d.ts.map +1 -1
  682. package/dist/src/vis/lineplot/range/Annotation.d.ts +1 -1
  683. package/dist/src/vis/lineplot/range/Annotation.d.ts.map +1 -1
  684. package/dist/src/vis/lineplot/range/Provider.d.ts +1 -1
  685. package/dist/src/vis/lineplot/range/Provider.d.ts.map +1 -1
  686. package/dist/src/vis/lineplot/range/aether/annotation.d.ts +9 -9
  687. package/dist/src/vis/lineplot/range/aether/annotation.d.ts.map +1 -1
  688. package/dist/src/vis/lineplot/range/aether/provider.d.ts +51 -21
  689. package/dist/src/vis/lineplot/range/aether/provider.d.ts.map +1 -1
  690. package/dist/src/vis/lineplot/tooltip/Tooltip.d.ts +1 -1
  691. package/dist/src/vis/lineplot/tooltip/Tooltip.d.ts.map +1 -1
  692. package/dist/src/vis/lineplot/tooltip/aether/tooltip.d.ts +1 -1
  693. package/dist/src/vis/lineplot/tooltip/aether/tooltip.d.ts.map +1 -1
  694. package/dist/src/vis/log/Log.d.ts +3 -3
  695. package/dist/src/vis/log/Log.d.ts.map +1 -1
  696. package/dist/src/vis/log/aether/Log.d.ts +4 -4
  697. package/dist/src/vis/log/aether/Log.d.ts.map +1 -1
  698. package/dist/src/vis/measure/aether/measure.d.ts +1 -1
  699. package/dist/src/vis/measure/aether/measure.d.ts.map +1 -1
  700. package/dist/src/vis/rule/Rule.d.ts +3 -3
  701. package/dist/src/vis/rule/Rule.d.ts.map +1 -1
  702. package/dist/src/vis/rule/aether/aether.d.ts +1 -1
  703. package/dist/src/vis/rule/aether/aether.d.ts.map +1 -1
  704. package/dist/src/vis/schematic/Forms.d.ts.map +1 -1
  705. package/dist/src/vis/schematic/Grid.d.ts.map +1 -1
  706. package/dist/src/vis/schematic/SelectOrientation.d.ts +3 -3
  707. package/dist/src/vis/schematic/SelectOrientation.d.ts.map +1 -1
  708. package/dist/src/vis/schematic/Symbols.d.ts +15 -12
  709. package/dist/src/vis/schematic/Symbols.d.ts.map +1 -1
  710. package/dist/src/vis/schematic/primitives/Primitives.d.ts +3 -3
  711. package/dist/src/vis/schematic/primitives/Primitives.d.ts.map +1 -1
  712. package/dist/src/vis/schematic/registry.d.ts +3 -3
  713. package/dist/src/vis/schematic/registry.d.ts.map +1 -1
  714. package/dist/src/vis/setpoint/aether/setpoint.d.ts +1 -1
  715. package/dist/src/vis/setpoint/aether/setpoint.d.ts.map +1 -1
  716. package/dist/src/vis/setpoint/use.d.ts +1 -1
  717. package/dist/src/vis/setpoint/use.d.ts.map +1 -1
  718. package/dist/src/vis/toggle/aether/toggle.d.ts +1 -1
  719. package/dist/src/vis/toggle/aether/toggle.d.ts.map +1 -1
  720. package/dist/src/vis/toggle/use.d.ts +1 -1
  721. package/dist/src/vis/toggle/use.d.ts.map +1 -1
  722. package/dist/src/vis/value/RedlineForm.d.ts +6 -0
  723. package/dist/src/vis/value/RedlineForm.d.ts.map +1 -0
  724. package/dist/src/vis/value/TelemForm.d.ts +6 -0
  725. package/dist/src/vis/value/TelemForm.d.ts.map +1 -0
  726. package/dist/src/vis/value/aether/value.d.ts +31 -4
  727. package/dist/src/vis/value/aether/value.d.ts.map +1 -1
  728. package/dist/src/vis/value/external.d.ts +3 -1
  729. package/dist/src/vis/value/external.d.ts.map +1 -1
  730. package/dist/src/vis/value/redline.d.ts +18 -0
  731. package/dist/src/vis/value/redline.d.ts.map +1 -0
  732. package/dist/src/vis/value/use.d.ts +12 -3
  733. package/dist/src/vis/value/use.d.ts.map +1 -1
  734. package/dist/src/workspace/index.d.ts +2 -0
  735. package/dist/src/workspace/index.d.ts.map +1 -0
  736. package/dist/src/workspace/queries.d.ts +12 -0
  737. package/dist/src/workspace/queries.d.ts.map +1 -0
  738. package/dist/src/workspace/queries.spec.d.ts +2 -0
  739. package/dist/src/workspace/queries.spec.d.ts.map +1 -0
  740. package/dist/symbols-BtW1eE35.cjs +92 -0
  741. package/dist/{external-Cjnx793K.js → symbols-DT8-7-NW.js} +21546 -16277
  742. package/dist/tabs.cjs +1 -1
  743. package/dist/tabs.js +1 -1
  744. package/dist/text.cjs +1 -1
  745. package/dist/text.js +2 -2
  746. package/dist/theming.cjs +1 -1
  747. package/dist/theming.js +2 -2
  748. package/dist/tree.cjs +1 -1
  749. package/dist/tree.js +1 -1
  750. package/dist/triggers.cjs +1 -1
  751. package/dist/triggers.js +1 -1
  752. package/dist/units-DR4EJndw.cjs +1 -0
  753. package/dist/units-ts2tUMPH.js +14 -0
  754. package/dist/useKeysData-B1kiZOOw.js +14 -0
  755. package/dist/useKeysData-G9Mk3mA6.cjs +1 -0
  756. package/dist/video.cjs +1 -1
  757. package/dist/video.js +1 -1
  758. package/package.json +24 -23
  759. package/dist/Center-Bq5L7oy0.js +0 -24
  760. package/dist/Center-DE_BtCCX.cjs +0 -1
  761. package/dist/ContextMenu-BC5x7XR5.cjs +0 -1
  762. package/dist/ContextMenu-DLM5eLLG.js +0 -95
  763. package/dist/DateTime-CdNKxVxT.js +0 -17
  764. package/dist/DateTime-DC19AIGq.cjs +0 -1
  765. package/dist/Divider-CDFHLK9U.js +0 -1358
  766. package/dist/Divider-D74_FAXn.cjs +0 -22
  767. package/dist/Dropdown-BpoU-xVd.cjs +0 -1
  768. package/dist/Dropdown-CQu3yo3v.js +0 -327
  769. package/dist/Haul-D6kpOYBa.js +0 -124
  770. package/dist/Haul-De8axVdi.cjs +0 -1
  771. package/dist/Item-BgUwEjzV.js +0 -109
  772. package/dist/Item-BrHZi6Fl.cjs +0 -1
  773. package/dist/Keyboard-CiNuYBa3.cjs +0 -1
  774. package/dist/Keyboard-DjeQa-Nx.js +0 -31
  775. package/dist/Link-Bngd8rrL.cjs +0 -1
  776. package/dist/Link-y133HE5v.js +0 -14
  777. package/dist/Pack-80N7XB5O.cjs +0 -1
  778. package/dist/Pack-BiS6QIuA.js +0 -52
  779. package/dist/Provider-B1j7nPL9.cjs +0 -1
  780. package/dist/Provider-CAR23fYq.js +0 -464
  781. package/dist/Space-ByFmfiTa.cjs +0 -1
  782. package/dist/Space-DxHm2ok7.js +0 -100
  783. package/dist/Stack-BbwDtaE6.cjs +0 -1
  784. package/dist/Stack-D50qN0Vu.js +0 -13
  785. package/dist/Text-B1uUpUKk.js +0 -1247
  786. package/dist/Text-CLsJyQGy.cjs +0 -4
  787. package/dist/Text-CacHYC7L.js +0 -35
  788. package/dist/Text-DTPuORh0.cjs +0 -1
  789. package/dist/Text-Ddc0C5JU.cjs +0 -1
  790. package/dist/Text-P0b041la.js +0 -137
  791. package/dist/Toggle-BC1o8qt5.js +0 -383
  792. package/dist/Toggle-D-vvd8lz.cjs +0 -1
  793. package/dist/WithIcon-B7VPBqA2.js +0 -95
  794. package/dist/WithIcon-CCnlO2LC.cjs +0 -1
  795. package/dist/align.cjs +0 -1
  796. package/dist/align.js +0 -4
  797. package/dist/array-CPtP5Oov.js +0 -7
  798. package/dist/array-CZHEGH95.cjs +0 -1
  799. package/dist/css-C7rJrqRi.cjs +0 -38
  800. package/dist/css-DjQu2Qyf.js +0 -12511
  801. package/dist/debounce-CW9Q-DsR.js +0 -17
  802. package/dist/debounce-heEWeOqL.cjs +0 -1
  803. package/dist/deep-BRgXTyZn.cjs +0 -1
  804. package/dist/deep-D72Fid_q.js +0 -193
  805. package/dist/dimensions-BmlCx5q4.cjs +0 -1
  806. package/dist/dimensions-FnMV2fyj.js +0 -19
  807. package/dist/dropdown.cjs +0 -1
  808. package/dist/dropdown.js +0 -4
  809. package/dist/eraser-C0Kv4_kL.cjs +0 -11
  810. package/dist/eraser-CupVBBBp.js +0 -967
  811. package/dist/external-8zJ3fvo2.js +0 -431
  812. package/dist/external-BDh272rT.js +0 -19
  813. package/dist/external-BYsOdgw5.js +0 -20
  814. package/dist/external-BgKH42un.cjs +0 -1
  815. package/dist/external-BmeMUsxr.js +0 -399
  816. package/dist/external-CKag7gXR.js +0 -1265
  817. package/dist/external-CVHgvs0C.js +0 -28
  818. package/dist/external-CjTwWT6m.cjs +0 -1
  819. package/dist/external-D1gwMWza.cjs +0 -1
  820. package/dist/external-D38Y0J6S.cjs +0 -1
  821. package/dist/external-D8mHEAIG.cjs +0 -46
  822. package/dist/external-DC1RT1Js.cjs +0 -1
  823. package/dist/external-DHw0SdIj.cjs +0 -1
  824. package/dist/external-DOujCKRS.cjs +0 -1
  825. package/dist/external-DlyrUZhP.cjs +0 -1
  826. package/dist/external-Ds5GDIp9.cjs +0 -1
  827. package/dist/external-DuvwfKLw.js +0 -13
  828. package/dist/external-GjPk23XZ.cjs +0 -1
  829. package/dist/external-IsogMmdT.cjs +0 -85
  830. package/dist/external-ZV7pEm55.js +0 -111
  831. package/dist/external-l7imNJRR.js +0 -78
  832. package/dist/external-upR9Jz-8.js +0 -60
  833. package/dist/font-C5EV9fq1.cjs +0 -1
  834. package/dist/font-Cy9UYjyY.js +0 -15
  835. package/dist/fontString-CUy7T-OR.cjs +0 -1
  836. package/dist/hooks-B92WH57y.cjs +0 -1
  837. package/dist/hooks-u_TgL0Xi.js +0 -296
  838. package/dist/provider-B8IM-N4g.cjs +0 -154
  839. package/dist/provider-CQqS-teQ.js +0 -31994
  840. package/dist/src/accordion/Accordion.d.ts +0 -39
  841. package/dist/src/accordion/Accordion.d.ts.map +0 -1
  842. package/dist/src/accordion/Accordion.spec.d.ts +0 -2
  843. package/dist/src/accordion/Accordion.spec.d.ts.map +0 -1
  844. package/dist/src/accordion/index.d.ts +0 -2
  845. package/dist/src/accordion/index.d.ts.map +0 -1
  846. package/dist/src/align/Center.d.ts +0 -8
  847. package/dist/src/align/Center.d.ts.map +0 -1
  848. package/dist/src/align/Pack.d.ts +0 -24
  849. package/dist/src/align/Pack.d.ts.map +0 -1
  850. package/dist/src/align/Space.d.ts +0 -74
  851. package/dist/src/align/Space.d.ts.map +0 -1
  852. package/dist/src/align/Space.spec.d.ts +0 -2
  853. package/dist/src/align/Space.spec.d.ts.map +0 -1
  854. package/dist/src/align/Stack.d.ts +0 -7
  855. package/dist/src/align/Stack.d.ts.map +0 -1
  856. package/dist/src/align/external.d.ts +0 -5
  857. package/dist/src/align/external.d.ts.map +0 -1
  858. package/dist/src/align/index.d.ts +0 -2
  859. package/dist/src/align/index.d.ts.map +0 -1
  860. package/dist/src/button/Icon.d.ts +0 -30
  861. package/dist/src/button/Icon.d.ts.map +0 -1
  862. package/dist/src/button/Link.d.ts +0 -18
  863. package/dist/src/button/Link.d.ts.map +0 -1
  864. package/dist/src/dialog/use.d.ts +0 -51
  865. package/dist/src/dialog/use.d.ts.map +0 -1
  866. package/dist/src/dropdown/Dropdown.d.ts +0 -34
  867. package/dist/src/dropdown/Dropdown.d.ts.map +0 -1
  868. package/dist/src/dropdown/Dropdown.spec.d.ts +0 -2
  869. package/dist/src/dropdown/Dropdown.spec.d.ts.map +0 -1
  870. package/dist/src/dropdown/index.d.ts +0 -2
  871. package/dist/src/dropdown/index.d.ts.map +0 -1
  872. package/dist/src/hooks/effect.d.ts +0 -15
  873. package/dist/src/hooks/effect.d.ts.map +0 -1
  874. package/dist/src/hooks/useFilter.d.ts +0 -23
  875. package/dist/src/hooks/useFilter.d.ts.map +0 -1
  876. package/dist/src/list/Column.d.ts +0 -57
  877. package/dist/src/list/Column.d.ts.map +0 -1
  878. package/dist/src/list/Core.d.ts +0 -41
  879. package/dist/src/list/Core.d.ts.map +0 -1
  880. package/dist/src/list/Data.d.ts +0 -31
  881. package/dist/src/list/Data.d.ts.map +0 -1
  882. package/dist/src/list/Filter.d.ts +0 -27
  883. package/dist/src/list/Filter.d.ts.map +0 -1
  884. package/dist/src/list/Hover.d.ts +0 -14
  885. package/dist/src/list/Hover.d.ts.map +0 -1
  886. package/dist/src/list/Infinite.d.ts +0 -15
  887. package/dist/src/list/Infinite.d.ts.map +0 -1
  888. package/dist/src/list/List.d.ts +0 -21
  889. package/dist/src/list/List.d.ts.map +0 -1
  890. package/dist/src/list/Search.d.ts +0 -18
  891. package/dist/src/list/Search.d.ts.map +0 -1
  892. package/dist/src/list/Selector.d.ts +0 -18
  893. package/dist/src/list/Selector.d.ts.map +0 -1
  894. package/dist/src/list/types.d.ts +0 -15
  895. package/dist/src/list/types.d.ts.map +0 -1
  896. package/dist/src/list/useSelect.d.ts +0 -84
  897. package/dist/src/list/useSelect.d.ts.map +0 -1
  898. package/dist/src/list/useSelect.spec.d.ts +0 -2
  899. package/dist/src/list/useSelect.spec.d.ts.map +0 -1
  900. package/dist/src/modal/Modal.d.ts +0 -15
  901. package/dist/src/modal/Modal.d.ts.map +0 -1
  902. package/dist/src/modal/index.d.ts +0 -2
  903. package/dist/src/modal/index.d.ts.map +0 -1
  904. package/dist/src/ranger/SelectLabel.d.ts +0 -7
  905. package/dist/src/ranger/SelectLabel.d.ts.map +0 -1
  906. package/dist/src/select/Alignment.d.ts +0 -13
  907. package/dist/src/select/Alignment.d.ts.map +0 -1
  908. package/dist/src/select/ClearButton.d.ts +0 -4
  909. package/dist/src/select/ClearButton.d.ts.map +0 -1
  910. package/dist/src/select/ComponentSize.d.ts +0 -12
  911. package/dist/src/select/ComponentSize.d.ts.map +0 -1
  912. package/dist/src/select/DataType.d.ts +0 -12
  913. package/dist/src/select/DataType.d.ts.map +0 -1
  914. package/dist/src/select/Direction.d.ts +0 -14
  915. package/dist/src/select/Direction.d.ts.map +0 -1
  916. package/dist/src/select/List.d.ts +0 -15
  917. package/dist/src/select/List.d.ts.map +0 -1
  918. package/dist/src/select/Select.spec.d.ts +0 -10
  919. package/dist/src/select/Select.spec.d.ts.map +0 -1
  920. package/dist/src/status/Text.d.ts +0 -20
  921. package/dist/src/status/Text.d.ts.map +0 -1
  922. package/dist/src/status/aether/external.d.ts +0 -3
  923. package/dist/src/status/aether/external.d.ts.map +0 -1
  924. package/dist/src/status/aether/types.d.ts +0 -26
  925. package/dist/src/status/aether/types.d.ts.map +0 -1
  926. package/dist/src/text/Keyboard.d.ts +0 -6
  927. package/dist/src/text/Keyboard.d.ts.map +0 -1
  928. package/dist/src/text/Link.d.ts +0 -11
  929. package/dist/src/text/Link.d.ts.map +0 -1
  930. package/dist/src/text/WithIcon.d.ts +0 -21
  931. package/dist/src/text/WithIcon.d.ts.map +0 -1
  932. package/dist/src/tree/Tree.spec.d.ts +0 -2
  933. package/dist/src/tree/Tree.spec.d.ts.map +0 -1
  934. package/dist/src/util/component.d.ts +0 -12
  935. package/dist/src/util/component.d.ts.map +0 -1
  936. package/dist/src/util/removeProps.d.ts.map +0 -1
  937. package/dist/src/util/removeProps.spec.d.ts.map +0 -1
  938. package/dist/src/util/renderProp.d.ts.map +0 -1
  939. package/dist/src/vis/value/Form.d.ts +0 -9
  940. package/dist/src/vis/value/Form.d.ts.map +0 -1
  941. package/dist/state-DAFH2z9y.js +0 -4082
  942. package/dist/state-DwM4WaEw.cjs +0 -27
  943. package/dist/useClickOutside-CUa496t0.cjs +0 -1
  944. package/dist/useClickOutside-Dw3KdU3w.js +0 -106
  945. package/dist/useDebouncedCallback-Bx-HX76R.cjs +0 -1
  946. package/dist/useDebouncedCallback-Cvo_HNow.js +0 -7
  947. package/dist/useMemoCompare-B5QPDK2p.js +0 -19
  948. package/dist/useMemoCompare-BDs2sKw5.cjs +0 -1
  949. package/dist/useVirtualCursorDragWebKit-CUbBopD6.cjs +0 -1
  950. package/dist/useVirtualCursorDragWebKit-CfxbToxm.js +0 -65
  951. package/dist/value-BVL4mfhG.cjs +0 -55
  952. package/dist/value-DLy5XRhS.js +0 -10797
  953. /package/dist/src/{util → component}/removeProps.d.ts +0 -0
  954. /package/dist/src/{util → component}/removeProps.spec.d.ts +0 -0
@@ -0,0 +1,251 @@
1
+ import { Synnax as Client } from '@synnaxlabs/client';
2
+ import { compare, CrudeTimeSpan, Destructor, MultiSeries, record } from '@synnaxlabs/x';
3
+ import { flux } from './aether';
4
+ import { FetchOptions, Params } from './aether/params';
5
+ import { Result } from './result';
6
+ import { CreateRetrieveArgs } from './retrieve';
7
+ import { state } from '../state';
8
+ /**
9
+ * Function interface for getting items from a list by key(s).
10
+ *
11
+ * @template K The type of the key (must be a record key)
12
+ * @template E The type of the entity (must be keyed by K)
13
+ */
14
+ interface GetItem<K extends record.Key, E extends record.Keyed<K>> {
15
+ /** Get a single item by key, returns undefined if not found */
16
+ (key: K): E | undefined;
17
+ /** Get multiple items by an array of keys */
18
+ (keys: K[]): E[];
19
+ }
20
+ /**
21
+ * Options for async list operations.
22
+ */
23
+ interface AsyncListOptions extends FetchOptions {
24
+ /**
25
+ * How to modify the list when new data is retrieved. In append mode, new entries
26
+ * will be added to the end of the list. In replace mode, the list will be replaced
27
+ * with the new data.
28
+ */
29
+ mode?: "append" | "replace";
30
+ }
31
+ /**
32
+ * Return type for the list hook, providing comprehensive list management utilities.
33
+ *
34
+ * @template RetrieveParams The type of parameters for the retrieve operation
35
+ * @template K The type of the key (must be a record key)
36
+ * @template E The type of the entity (must be keyed by K)
37
+ */
38
+ export type UseListReturn<RetrieveParams extends Params, K extends record.Key, E extends record.Keyed<K>> = Omit<Result<K[]>, "data"> & {
39
+ /** Function to trigger a list retrieval operation (fire-and-forget) */
40
+ retrieve: (params: state.SetArg<RetrieveParams, Partial<RetrieveParams>>, options?: AsyncListOptions) => void;
41
+ /** Function to trigger a list retrieval operation and await the result */
42
+ retrieveAsync: (params: state.SetArg<RetrieveParams, Partial<RetrieveParams>>, options?: AsyncListOptions) => Promise<void>;
43
+ /** Array of keys for the items currently in the list */
44
+ data: K[];
45
+ /** Function to get items by key, with automatic lazy loading */
46
+ getItem: GetItem<K, E>;
47
+ /** Function to subscribe to changes for specific items */
48
+ subscribe: (callback: () => void, key: K) => Destructor;
49
+ };
50
+ /**
51
+ * Arguments for retrieving a single item by key.
52
+ *
53
+ * @template RetrieveParams The type of parameters for the retrieve operation
54
+ * @template K The type of the key (must be a record key)
55
+ */
56
+ export interface RetrieveByKeyArgs<RetrieveParams extends Params, K extends record.Key> {
57
+ /** Parameters for the retrieve operation */
58
+ params: Partial<RetrieveParams>;
59
+ /** The key of the item to retrieve */
60
+ key: K;
61
+ /** The Synnax client instance */
62
+ client: Client;
63
+ }
64
+ /**
65
+ * Configuration arguments for creating a list query.
66
+ *
67
+ * @template RetrieveParams The type of parameters for the retrieve operation
68
+ * @template K The type of the key (must be a record key)
69
+ * @template E The type of the entity (must be keyed by K)
70
+ */
71
+ export interface CreateListArgs<RetrieveParams extends Params, K extends record.Key, E extends record.Keyed<K>> extends Omit<CreateRetrieveArgs<RetrieveParams, E[]>, "listeners"> {
72
+ /** Function to retrieve a single item by key for lazy loading */
73
+ retrieveByKey: (args: RetrieveByKeyArgs<RetrieveParams, K>) => Promise<E | undefined>;
74
+ /** Optional listeners for real-time list updates */
75
+ listeners?: ListListenerConfig<RetrieveParams, K, E>[];
76
+ }
77
+ /**
78
+ * Arguments for using a list hook.
79
+ *
80
+ * @template RetrieveParams The type of parameters for the retrieve operation
81
+ * @template K The type of the key (must be a record key)
82
+ * @template E The type of the entity (must be keyed by K)
83
+ */
84
+ export interface UseListArgs<RetrieveParams extends Params, K extends record.Key, E extends record.Keyed<K>> {
85
+ /** Initial parameters for the list query */
86
+ initialParams?: RetrieveParams;
87
+ /** Optional filter function to apply to items */
88
+ filter?: (item: E) => boolean;
89
+ /** Optional function to sort the list */
90
+ sort?: compare.Comparator<E>;
91
+ /** Debounce time for retrieve operations */
92
+ retrieveDebounce?: CrudeTimeSpan;
93
+ }
94
+ /**
95
+ * List hook function signature.
96
+ *
97
+ * @template RetrieveParams The type of parameters for the retrieve operation
98
+ * @template K The type of the key (must be a record key)
99
+ * @template E The type of the entity (must be keyed by K)
100
+ */
101
+ export interface UseList<RetrieveParams extends Params, K extends record.Key, E extends record.Keyed<K>> {
102
+ (args?: UseListArgs<RetrieveParams, K, E>): UseListReturn<RetrieveParams, K, E>;
103
+ }
104
+ type ListChangeMode = "prepend" | "append" | "replace";
105
+ interface ListenerOnChangeOptions {
106
+ mode?: ListChangeMode;
107
+ }
108
+ /**
109
+ * Extra arguments passed to list listener handlers.
110
+ *
111
+ * @template RetrieveParams The type of parameters for the retrieve operation
112
+ * @template K The type of the key (must be a record key)
113
+ * @template E The type of the entity (must be keyed by K)
114
+ */
115
+ export interface ListListenerExtraArgs<RetrieveParams extends Params, K extends record.Key, E extends record.Keyed<K>> {
116
+ changed: MultiSeries;
117
+ /** The current retrieve parameters */
118
+ params: RetrieveParams;
119
+ /** The Synnax client instance */
120
+ client: Client;
121
+ /** Function to update a specific item in the list */
122
+ onChange: (key: K, e: state.SetArg<E | null>, opts?: ListenerOnChangeOptions) => void;
123
+ /** Function to remove an item from the list */
124
+ onDelete: (key: K) => void;
125
+ }
126
+ /**
127
+ * Configuration for a list listener that handles real-time updates.
128
+ *
129
+ * @template RetrieveParams The type of parameters for the retrieve operation
130
+ * @template K The type of the key (must be a record key)
131
+ * @template E The type of the entity (must be keyed by K)
132
+ */
133
+ export interface ListListenerConfig<RetrieveParams extends Params, K extends record.Key, E extends record.Keyed<K>> {
134
+ /** The channel to listen to for real-time updates */
135
+ channel: string;
136
+ /** The function to call when a new value is received from the channel */
137
+ onChange: flux.ListenerHandler<MultiSeries, ListListenerExtraArgs<RetrieveParams, K, E>>;
138
+ }
139
+ /**
140
+ * Creates a list query hook that provides comprehensive list management with real-time updates.
141
+ *
142
+ * This function creates a React hook that handles:
143
+ * - List data retrieval with loading states
144
+ * - Individual item lazy loading
145
+ * - Real-time synchronization with server state
146
+ * - Pagination and infinite scrolling support
147
+ * - Item filtering and search
148
+ * - Optimistic updates and error handling
149
+ * - Subscribe to individual item changes
150
+ *
151
+ * @template P The type of parameters for the list query
152
+ * @template K The type of the key (must be a record key)
153
+ * @template E The type of the entity (must be keyed by K)
154
+ * @param config Configuration object with list retrieval functions and settings
155
+ * @returns A React hook for managing the list
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * interface UserListParams extends Params {
160
+ * department?: string;
161
+ * searchTerm?: string;
162
+ * offset?: number;
163
+ * limit?: number;
164
+ * }
165
+ *
166
+ * interface User {
167
+ * id: number;
168
+ * name: string;
169
+ * email: string;
170
+ * department: string;
171
+ * }
172
+ *
173
+ * const useUserList = createList<UserListParams, number, User>({
174
+ * name: "users",
175
+ * retrieve: async ({ params, client }) => {
176
+ * return await client.users.list(params);
177
+ * },
178
+ * retrieveByKey: async ({ key, client }) => {
179
+ * return await client.users.get(key);
180
+ * },
181
+ * listeners: [
182
+ * {
183
+ * channel: "user_updates",
184
+ * onChange: ({ changed, onChange, onDelete }) => {
185
+ * const updates = changed.get("user_updates");
186
+ * updates.forEach(update => {
187
+ * if (update.deleted) {
188
+ * onDelete(update.id);
189
+ * } else {
190
+ * onChange(update.id, update);
191
+ * }
192
+ * });
193
+ * }
194
+ * }
195
+ * ]
196
+ * });
197
+ *
198
+ * // Usage in component
199
+ * const { data, getItem, retrieve, variant } = useUserList({
200
+ * initialParams: { department: "engineering" },
201
+ * filter: (user) => user.name.includes("John")
202
+ * });
203
+ *
204
+ * // Get individual user (lazy loaded if not in cache)
205
+ * const user = getItem(123);
206
+ *
207
+ * // Load more users
208
+ * retrieve({ offset: data.length, limit: 10 }, { mode: "append" });
209
+ * ```
210
+ */
211
+ export declare const createList: <P extends Params, K extends record.Key, E extends record.Keyed<K>>({ name, listeners, retrieve, retrieveByKey, }: CreateListArgs<P, K, E>) => UseList<P, K, E>;
212
+ /**
213
+ * Arguments for the useListItem hook.
214
+ *
215
+ * @template K The type of the key (must be a record key)
216
+ * @template E The type of the entity (must be keyed by K)
217
+ */
218
+ export interface UseListItemArgs<K extends record.Key, E extends record.Keyed<K>> extends Pick<UseListReturn<Params, K, E>, "subscribe" | "getItem"> {
219
+ /** The key of the item to retrieve and subscribe to */
220
+ key: K;
221
+ }
222
+ /**
223
+ * Hook for subscribing to and retrieving individual items from a list.
224
+ *
225
+ * This hook provides a way to efficiently track individual items from a list
226
+ * with automatic re-rendering when the item changes. It uses React's
227
+ * useSyncExternalStore to provide optimal performance.
228
+ *
229
+ * @template K The type of the key (must be a record key)
230
+ * @template E The type of the entity (must be keyed by K)
231
+ * @param args Configuration object with key and list utilities
232
+ * @returns The current item data, or undefined if not found
233
+ *
234
+ * @example
235
+ * ```typescript
236
+ * const userList = useUserList();
237
+ * const user = useListItem({
238
+ * key: userId,
239
+ * subscribe: userList.subscribe,
240
+ * getItem: userList.getItem
241
+ * });
242
+ *
243
+ * // Component will re-render when this specific user changes
244
+ * if (user) {
245
+ * return <div>{user.name} - {user.email}</div>;
246
+ * }
247
+ * ```
248
+ */
249
+ export declare const useListItem: <K extends record.Key, E extends record.Keyed<K>>({ key, subscribe, getItem, }: UseListItemArgs<K, E>) => E | undefined;
250
+ export {};
251
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/flux/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=list.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.spec.d.ts","sourceRoot":"","sources":["../../../src/flux/list.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { MultiSeries } from '@synnaxlabs/x';
2
+ import { flux } from './aether';
3
+ export declare const useListener: (listeners: flux.ListenerSpec<MultiSeries, {}> | flux.ListenerSpec<MultiSeries, {}>[]) => void;
4
+ //# sourceMappingURL=listeners.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listeners.d.ts","sourceRoot":"","sources":["../../../src/flux/listeners.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAIrC,eAAO,MAAM,WAAW,GACtB,WAAW,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,KACnF,IAOF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=listeners.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listeners.spec.d.ts","sourceRoot":"","sources":["../../../src/flux/listeners.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,101 @@
1
+ import { status } from '@synnaxlabs/x';
2
+ import { state } from '../state';
3
+ /**
4
+ * The result of a query operation that can be in one of three states:
5
+ * - `loading` - Data is currently being fetched from the server
6
+ * - `error` - An error occurred while fetching data, or while handling values provided
7
+ * to a listener
8
+ * - `success` - Data was successfully fetched and is available in the `data` field
9
+ *
10
+ * @template Data The type of data being retrieved, must extend state.State
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const result: Result<User[]> = {
15
+ * variant: "success",
16
+ * data: [{ id: 1, name: "John" }],
17
+ * error: null,
18
+ * message: "Retrieved users"
19
+ * };
20
+ * ```
21
+ */
22
+ export type Result<Data extends state.State> = {
23
+ variant: "error";
24
+ status: status.Status<status.ExceptionDetails, "error">;
25
+ data: null;
26
+ listenersMounted: boolean;
27
+ } | {
28
+ variant: "success";
29
+ status: status.Status<undefined, "success">;
30
+ data: Data;
31
+ listenersMounted: boolean;
32
+ } | {
33
+ variant: "loading";
34
+ status: status.Status<undefined, "loading">;
35
+ data: null | Data;
36
+ listenersMounted: boolean;
37
+ };
38
+ /**
39
+ * Factory function to create a loading result state.
40
+ *
41
+ * @template Data The type of data being retrieved
42
+ * @param name The name of the resource being retrieved (used in status messages)
43
+ * @param op The operation being performed (e.g., "retrieving", "updating")
44
+ * @param data Optional existing data to preserve during loading
45
+ * @returns A Result object in loading state
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * const loadingResult = pendingResult<User[]>("users", "retrieving");
50
+ * // Returns: { variant: "loading", data: null, error: null, message: "Retrieving users" }
51
+ * ```
52
+ */
53
+ export declare const pendingResult: <Data extends state.State>(name: string, op: string, data: Data | null, listenersMounted: boolean) => Result<Data>;
54
+ /**
55
+ * Factory function to create a success result state.
56
+ *
57
+ * @template Data The type of data being retrieved
58
+ * @param name The name of the resource being retrieved (used in status messages)
59
+ * @param op The operation that was performed (e.g., "retrieved", "updated")
60
+ * @param data The successfully retrieved data
61
+ * @returns A Result object in success state
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * const successResult = successResult<User[]>("users", "retrieved", userList);
66
+ * // Returns: { variant: "success", data: userList, error: null, message: "Retrieved users" }
67
+ * ```
68
+ */
69
+ export declare const successResult: <Data extends state.State>(name: string, op: string, data: Data, listenersMounted: boolean) => Result<Data>;
70
+ /**
71
+ * Factory function to create an error result state.
72
+ *
73
+ * @template Data The type of data being retrieved
74
+ * @param name The name of the resource being retrieved (used in status messages)
75
+ * @param op The operation that failed (e.g., "retrieve", "update")
76
+ * @param error The error that occurred
77
+ * @returns A Result object in error state
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * const errorResult = errorResult<User[]>("users", "retrieve", new Error("Network error"));
82
+ * // Returns: { variant: "error", data: null, error: Error, message: "Failed to retrieve users" }
83
+ * ```
84
+ */
85
+ export declare const errorResult: <Data extends state.State>(name: string, op: string, error: unknown, listenersMounted: boolean) => Result<Data>;
86
+ /**
87
+ * Factory function to create an error result for operations that require a connected client.
88
+ *
89
+ * @template Data The type of data being retrieved
90
+ * @param name The name of the resource being retrieved
91
+ * @param opName The operation that cannot be performed
92
+ * @returns A Result object in error state with a DisconnectedError
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * const result = nullClientResult<User[]>("users", "retrieve");
97
+ * // Returns error result with message: "Cannot retrieve users because no cluster is connected."
98
+ * ```
99
+ */
100
+ export declare const nullClientResult: <Data extends state.State>(name: string, opName: string, listenersMounted: boolean) => Result<Data>;
101
+ //# sourceMappingURL=result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/flux/result.ts"],"names":[],"mappings":"AAUA,OAAO,EAAY,MAAM,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,MAAM,CAAC,IAAI,SAAS,KAAK,CAAC,KAAK,IACvC;IACE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,EAAE,IAAI,CAAC;IACX,gBAAgB,EAAE,OAAO,CAAC;CAC3B,GACD;IACE,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,EAAE,IAAI,CAAC;IACX,gBAAgB,EAAE,OAAO,CAAC;CAC3B,GACD;IACE,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEN;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,IAAI,SAAS,KAAK,CAAC,KAAK,EACpD,MAAM,MAAM,EACZ,IAAI,MAAM,EACV,MAAM,IAAI,GAAG,IAAI,EACjB,kBAAkB,OAAO,KACxB,MAAM,CAAC,IAAI,CAQZ,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,IAAI,SAAS,KAAK,CAAC,KAAK,EACpD,MAAM,MAAM,EACZ,IAAI,MAAM,EACV,MAAM,IAAI,EACV,kBAAkB,OAAO,KACxB,MAAM,CAAC,IAAI,CAQZ,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,GAAI,IAAI,SAAS,KAAK,CAAC,KAAK,EAClD,MAAM,MAAM,EACZ,IAAI,MAAM,EACV,OAAO,OAAO,EACd,kBAAkB,OAAO,KACxB,MAAM,CAAC,IAAI,CAKZ,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,GAAI,IAAI,SAAS,KAAK,CAAC,KAAK,EACvD,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,kBAAkB,OAAO,KACxB,MAAM,CAAC,IAAI,CAMX,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=result.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.spec.d.ts","sourceRoot":"","sources":["../../../src/flux/result.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,213 @@
1
+ import { channel, Synnax as Client } from '@synnaxlabs/client';
2
+ import { MultiSeries } from '@synnaxlabs/x';
3
+ import { flux } from './aether';
4
+ import { FetchOptions, Params } from './aether/params';
5
+ import { Result } from './result';
6
+ import { state } from '../state';
7
+ /**
8
+ * Extra arguments passed to retrieve listener handlers.
9
+ *
10
+ * @template RetrieveParams The type of parameters for the retrieve operation
11
+ * @template Data The type of data being retrieved
12
+ */
13
+ interface RetrieveListenerExtraArgs<RetrieveParams, Data extends state.State> {
14
+ /** The current retrieve parameters */
15
+ params: RetrieveParams;
16
+ /** The Synnax client instance */
17
+ client: Client;
18
+ /** Function that updates the query data when a new value is received */
19
+ onChange: state.Setter<Data>;
20
+ }
21
+ /**
22
+ * Configuration for a listener that is called whenever a new value is received
23
+ * from the specified channel. The listener is called with the new value and can
24
+ * choose to update the state of the query by calling the `onChange` function.
25
+ *
26
+ * The listener will not be called if the query is in a loading or an error state.
27
+ *
28
+ * @template RetrieveParams The type of parameters for the retrieve operation
29
+ * @template Data The type of data being retrieved
30
+ */
31
+ export interface RetrieveListenerConfig<RetrieveParams, Data extends state.State> {
32
+ /** The channel to listen to for real-time updates */
33
+ channel: channel.Name;
34
+ /** The function to call when a new value is received from the channel */
35
+ onChange: flux.ListenerHandler<MultiSeries, RetrieveListenerExtraArgs<RetrieveParams, Data>>;
36
+ }
37
+ /**
38
+ * Arguments passed to the `retrieve` function when executing a query.
39
+ *
40
+ * @template RetrieveParams The type of parameters for the retrieve operation
41
+ */
42
+ export interface RetrieveArgs<RetrieveParams> {
43
+ /** The Synnax client instance for making requests */
44
+ client: Client;
45
+ /** The parameters for the retrieve operation */
46
+ params: RetrieveParams;
47
+ }
48
+ /**
49
+ * Configuration arguments for creating a retrieve query.
50
+ *
51
+ * @template RetrieveParams The type of parameters for the retrieve operation
52
+ * @template Data The type of data being retrieved
53
+ */
54
+ export interface CreateRetrieveArgs<RetrieveParams, Data extends state.State> {
55
+ /**
56
+ * The name of the resource being retrieved. This is used to make pretty messages for
57
+ * the various query states. This name should be in a human readable format and
58
+ * capitalized as a proper noun.
59
+ */
60
+ name: string;
61
+ /** Function executed when the query is evaluated or the query parameters change. */
62
+ retrieve: (args: RetrieveArgs<RetrieveParams>) => Promise<Data>;
63
+ /**
64
+ * Listeners to mount to the query. These listeners will be re-mounted when
65
+ * the query parameters change and/or the client disconnects/re-connects or clusters
66
+ * are switched.
67
+ *
68
+ * These listeners will NOT be remounted when the identity of the onChange function
69
+ * changes, as the onChange function should be static.
70
+ */
71
+ listeners?: RetrieveListenerConfig<RetrieveParams, Data>[];
72
+ }
73
+ /**
74
+ * Arguments for the observable retrieve hook.
75
+ *
76
+ * @template V The type of data being retrieved
77
+ */
78
+ export interface UseObservableRetrieveArgs<V extends state.State> {
79
+ /** Callback function to handle state changes */
80
+ onChange: state.Setter<Result<V>>;
81
+ }
82
+ /**
83
+ * Return type for the observable retrieve hook.
84
+ *
85
+ * @template RetrieveParams The type of parameters for the retrieve operation
86
+ */
87
+ export interface UseObservableRetrieveReturn<RetrieveParams extends Params> {
88
+ /** Function to trigger a retrieve operation (fire-and-forget) */
89
+ retrieve: (params: state.SetArg<RetrieveParams, Partial<RetrieveParams>>, options?: FetchOptions) => void;
90
+ /** Function to trigger a retrieve operation and await the result */
91
+ retrieveAsync: (params: state.SetArg<RetrieveParams, Partial<RetrieveParams>>, options?: FetchOptions) => Promise<void>;
92
+ }
93
+ /**
94
+ * Return type for the stateful retrieve hook, combining result state with retrieve functions.
95
+ *
96
+ * @template RetrieveParams The type of parameters for the retrieve operation
97
+ * @template Data The type of data being retrieved
98
+ */
99
+ export type UseStatefulRetrieveReturn<RetrieveParams extends Params, Data extends state.State> = Result<Data> & UseObservableRetrieveReturn<RetrieveParams>;
100
+ /**
101
+ * Arguments for the direct retrieve hook.
102
+ *
103
+ * @template RetrieveParams The type of parameters for the retrieve operation
104
+ */
105
+ export interface UseDirectRetrieveArgs<RetrieveParams extends Params> {
106
+ /** Parameters for the retrieve operation */
107
+ params: RetrieveParams;
108
+ }
109
+ /**
110
+ * Return type for the direct retrieve hook.
111
+ *
112
+ * @template Data The type of data being retrieved
113
+ */
114
+ export type UseDirectRetrieveReturn<Data extends state.State> = Result<Data>;
115
+ /**
116
+ * Arguments for the effect retrieve hook.
117
+ *
118
+ * @template RetrieveParams The type of parameters for the retrieve operation
119
+ * @template Data The type of data being retrieved
120
+ */
121
+ export interface UseEffectRetrieveArgs<RetrieveParams extends Params, Data extends state.State> extends UseObservableRetrieveArgs<Data> {
122
+ /** Parameters for the retrieve operation */
123
+ params: RetrieveParams;
124
+ }
125
+ /**
126
+ * Return type for the createRetrieve function.
127
+ *
128
+ * @template RetrieveParams The type of parameters for the retrieve operation
129
+ * @template Data The type of data being retrieved
130
+ */
131
+ export interface CreateRetrieveReturn<RetrieveParams extends Params, Data extends state.State> {
132
+ /**
133
+ * Hook that automatically fetches data when parameters change and returns the result state.
134
+ * Use this for most cases where you want React to handle the data fetching lifecycle automatically.
135
+ * Data is fetched when the component mounts and re-fetched whenever params change.
136
+ */
137
+ useDirect: (args: UseDirectRetrieveArgs<RetrieveParams>) => UseDirectRetrieveReturn<Data>;
138
+ /**
139
+ * Hook that triggers data fetching as a side effect when parameters change but returns nothing.
140
+ * Use this when you need to trigger data fetching but handle the result state externally
141
+ * (e.g., through the onChange callback). Returns void - no state is managed internally.
142
+ */
143
+ useEffect: (args: UseEffectRetrieveArgs<RetrieveParams, Data>) => void;
144
+ /**
145
+ * Hook that provides manual control over when data is fetched, with internal state management.
146
+ * Use this when you need to trigger data fetching based on user actions or specific events.
147
+ * Returns both the current state (data, variant, error) and functions to manually trigger retrieval.
148
+ */
149
+ useStateful: () => UseStatefulRetrieveReturn<RetrieveParams, Data>;
150
+ }
151
+ /**
152
+ * Creates a retrieve query system that provides hooks for fetching data with different control patterns.
153
+ *
154
+ * This function creates a set of React hooks that handle data retrieval with
155
+ * proper loading states, error handling, caching, and real-time updates. It provides
156
+ * two hook variants for different use cases:
157
+ *
158
+ * - `useDirect`: Automatically fetches data when parameters change. Best for most use cases.
159
+ * - `useEffect`: Triggers data fetching as a side effect without returning state. Use when handling results externally.
160
+ *
161
+ * @template RetrieveParams The type of parameters for the retrieve operation
162
+ * @template Data The type of data being retrieved
163
+ * @param factoryArgs Configuration object containing the retrieve function and resource name
164
+ * @returns Object containing hooks for different retrieve patterns
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * interface UserRetrieveParams extends Params {
169
+ * userId: number;
170
+ * includeProfile?: boolean;
171
+ * }
172
+ *
173
+ * interface User {
174
+ * id: number;
175
+ * name: string;
176
+ * email: string;
177
+ * }
178
+ *
179
+ * const userRetrieve = createRetrieve<UserRetrieveParams, User>({
180
+ * name: "User",
181
+ * retrieve: async ({ params, client }) => {
182
+ * return await client.users.get(params.userId, {
183
+ * includeProfile: params.includeProfile
184
+ * });
185
+ * },
186
+ * listeners: [
187
+ * {
188
+ * channel: "user_updates",
189
+ * onChange: ({ changed, params, onChange }) => {
190
+ * const updatedUser = changed.get("user_updates");
191
+ * if (updatedUser.id === params.userId) {
192
+ * onChange(updatedUser);
193
+ * }
194
+ * }
195
+ * }
196
+ * ]
197
+ * });
198
+ *
199
+ * // Automatic fetching - data loads when component mounts and when userId changes
200
+ * const { data, variant, error } = userRetrieve.useDirect({
201
+ * params: { userId: 123, includeProfile: true }
202
+ * });
203
+ *
204
+ * // Side effect only - trigger fetching but handle result elsewhere
205
+ * userRetrieve.useEffect({
206
+ * params: { userId: 123 },
207
+ * onChange: (result) => analyticsService.track('user_loaded', result)
208
+ * });
209
+ * ```
210
+ */
211
+ export declare const createRetrieve: <RetrieveParams extends Params, Data extends state.State>(factoryArgs: CreateRetrieveArgs<RetrieveParams, Data>) => CreateRetrieveReturn<RetrieveParams, Data>;
212
+ export {};
213
+ //# sourceMappingURL=retrieve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieve.d.ts","sourceRoot":"","sources":["../../../src/flux/retrieve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=retrieve.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieve.spec.d.ts","sourceRoot":"","sources":["../../../src/flux/retrieve.spec.tsx"],"names":[],"mappings":""}