@asymmetric-effort/specifyjs 0.2.98 → 0.2.100

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 (538) hide show
  1. package/dist/specifyjs-build.cjs.js +160 -1
  2. package/dist/specifyjs-build.cjs.js.map +7 -1
  3. package/dist/specifyjs-build.d.ts +1 -110
  4. package/dist/specifyjs-build.esm.js +160 -1
  5. package/dist/specifyjs-build.esm.js.map +7 -1
  6. package/dist/specifyjs-client.cjs.js +2 -1
  7. package/dist/specifyjs-client.cjs.js.map +7 -1
  8. package/dist/specifyjs-client.d.ts +1 -159
  9. package/dist/specifyjs-client.esm.js +2 -1
  10. package/dist/specifyjs-client.esm.js.map +7 -1
  11. package/dist/specifyjs-components.cjs.js +8 -1
  12. package/dist/specifyjs-components.cjs.js.map +7 -1
  13. package/dist/specifyjs-components.d.ts +1 -3334
  14. package/dist/specifyjs-components.esm.js +8 -1
  15. package/dist/specifyjs-components.esm.js.map +7 -1
  16. package/dist/specifyjs-dom.cjs.js +2 -1
  17. package/dist/specifyjs-dom.cjs.js.map +7 -1
  18. package/dist/specifyjs-dom.d.ts +1 -107
  19. package/dist/specifyjs-dom.esm.js +2 -1
  20. package/dist/specifyjs-dom.esm.js.map +7 -1
  21. package/dist/specifyjs-jsx-dev-runtime.cjs.js +2 -1
  22. package/dist/specifyjs-jsx-dev-runtime.cjs.js.map +7 -1
  23. package/dist/specifyjs-jsx-dev-runtime.esm.js +2 -1
  24. package/dist/specifyjs-jsx-dev-runtime.esm.js.map +7 -1
  25. package/dist/specifyjs-jsx-runtime.cjs.js +2 -1
  26. package/dist/specifyjs-jsx-runtime.cjs.js.map +7 -1
  27. package/dist/specifyjs-jsx-runtime.esm.js +2 -1
  28. package/dist/specifyjs-jsx-runtime.esm.js.map +7 -1
  29. package/dist/specifyjs-server.cjs.js +2 -1
  30. package/dist/specifyjs-server.cjs.js.map +7 -1
  31. package/dist/specifyjs-server.d.ts +1 -136
  32. package/dist/specifyjs-server.esm.js +2 -1
  33. package/dist/specifyjs-server.esm.js.map +7 -1
  34. package/dist/specifyjs-telemetry.cjs.js +2 -1
  35. package/dist/specifyjs-telemetry.cjs.js.map +7 -1
  36. package/dist/specifyjs-telemetry.d.ts +1 -165
  37. package/dist/specifyjs-telemetry.esm.js +2 -1
  38. package/dist/specifyjs-telemetry.esm.js.map +7 -1
  39. package/dist/specifyjs.cjs.js +2 -1
  40. package/dist/specifyjs.cjs.js.map +7 -1
  41. package/dist/specifyjs.d.ts +1 -581
  42. package/dist/specifyjs.esm.js +2 -1
  43. package/dist/specifyjs.esm.js.map +7 -1
  44. package/dist/types/build/index.d.ts +5 -0
  45. package/dist/types/build/index.d.ts.map +1 -0
  46. package/dist/types/build/noscript-plugin.d.ts +63 -0
  47. package/dist/types/build/noscript-plugin.d.ts.map +1 -0
  48. package/dist/types/build/seo-plugin.d.ts +43 -0
  49. package/dist/types/build/seo-plugin.d.ts.map +1 -0
  50. package/dist/types/client/graphql.d.ts +64 -0
  51. package/dist/types/client/graphql.d.ts.map +1 -0
  52. package/dist/types/client/index.d.ts +4 -0
  53. package/dist/types/client/index.d.ts.map +1 -0
  54. package/dist/types/client/protobuf.d.ts +40 -0
  55. package/dist/types/client/protobuf.d.ts.map +1 -0
  56. package/dist/types/client/rest.d.ts +61 -0
  57. package/dist/types/client/rest.d.ts.map +1 -0
  58. package/dist/types/components/ad/adsense/src/AdSense.d.ts +19 -0
  59. package/dist/types/components/ad/adsense/src/index.d.ts +2 -0
  60. package/dist/types/components/analytics/google-analytics/src/GoogleAnalytics.d.ts +13 -0
  61. package/dist/types/components/analytics/google-analytics/src/index.d.ts +2 -0
  62. package/dist/types/components/component.d.ts +39 -0
  63. package/dist/types/components/component.d.ts.map +1 -0
  64. package/dist/types/components/data/analog-clock/src/AnalogClock.d.ts +17 -0
  65. package/dist/types/components/data/analog-clock/src/index.d.ts +2 -0
  66. package/dist/types/components/data/avatar/src/Avatar.d.ts +19 -0
  67. package/dist/types/components/data/avatar/src/index.d.ts +2 -0
  68. package/dist/types/components/data/badge/src/Badge.d.ts +17 -0
  69. package/dist/types/components/data/badge/src/index.d.ts +2 -0
  70. package/dist/types/components/data/data-grid/src/DataGrid.d.ts +47 -0
  71. package/dist/types/components/data/data-grid/src/index.d.ts +2 -0
  72. package/dist/types/components/data/digital-clock/src/DigitalClock.d.ts +15 -0
  73. package/dist/types/components/data/digital-clock/src/index.d.ts +2 -0
  74. package/dist/types/components/data/list-view/src/ListView.d.ts +23 -0
  75. package/dist/types/components/data/list-view/src/index.d.ts +2 -0
  76. package/dist/types/components/data/tag/src/Tag.d.ts +21 -0
  77. package/dist/types/components/data/tag/src/index.d.ts +2 -0
  78. package/dist/types/components/data/virtual-scroll/src/VirtualScroll.d.ts +13 -0
  79. package/dist/types/components/data/virtual-scroll/src/index.d.ts +2 -0
  80. package/dist/types/components/error-boundary.d.ts +23 -0
  81. package/dist/types/components/error-boundary.d.ts.map +1 -0
  82. package/dist/types/components/errors/_shared/src/HttpErrorPage.d.ts +15 -0
  83. package/dist/types/components/errors/_shared/src/index.d.ts +2 -0
  84. package/dist/types/components/errors/http-400/src/Http400.d.ts +9 -0
  85. package/dist/types/components/errors/http-400/src/index.d.ts +2 -0
  86. package/dist/types/components/errors/http-401/src/Http401.d.ts +9 -0
  87. package/dist/types/components/errors/http-401/src/index.d.ts +2 -0
  88. package/dist/types/components/errors/http-403/src/Http403.d.ts +9 -0
  89. package/dist/types/components/errors/http-403/src/index.d.ts +2 -0
  90. package/dist/types/components/errors/http-404/src/Http404.d.ts +9 -0
  91. package/dist/types/components/errors/http-404/src/index.d.ts +2 -0
  92. package/dist/types/components/errors/http-405/src/Http405.d.ts +9 -0
  93. package/dist/types/components/errors/http-405/src/index.d.ts +2 -0
  94. package/dist/types/components/errors/http-408/src/Http408.d.ts +9 -0
  95. package/dist/types/components/errors/http-408/src/index.d.ts +2 -0
  96. package/dist/types/components/errors/http-429/src/Http429.d.ts +9 -0
  97. package/dist/types/components/errors/http-429/src/index.d.ts +2 -0
  98. package/dist/types/components/errors/http-500/src/Http500.d.ts +9 -0
  99. package/dist/types/components/errors/http-500/src/index.d.ts +2 -0
  100. package/dist/types/components/errors/http-502/src/Http502.d.ts +9 -0
  101. package/dist/types/components/errors/http-502/src/index.d.ts +2 -0
  102. package/dist/types/components/errors/http-503/src/Http503.d.ts +9 -0
  103. package/dist/types/components/errors/http-503/src/index.d.ts +2 -0
  104. package/dist/types/components/errors/http-504/src/Http504.d.ts +9 -0
  105. package/dist/types/components/errors/http-504/src/index.d.ts +2 -0
  106. package/dist/types/components/feedback/alert/src/Alert.d.ts +25 -0
  107. package/dist/types/components/feedback/alert/src/index.d.ts +2 -0
  108. package/dist/types/components/feedback/empty-state/src/EmptyState.d.ts +17 -0
  109. package/dist/types/components/feedback/empty-state/src/index.d.ts +2 -0
  110. package/dist/types/components/feedback/progress-bar/src/ProgressBar.d.ts +23 -0
  111. package/dist/types/components/feedback/progress-bar/src/index.d.ts +2 -0
  112. package/dist/types/components/feedback/skeleton/src/Skeleton.d.ts +15 -0
  113. package/dist/types/components/feedback/skeleton/src/index.d.ts +2 -0
  114. package/dist/types/components/feedback/spinner/src/Spinner.d.ts +13 -0
  115. package/dist/types/components/feedback/spinner/src/index.d.ts +2 -0
  116. package/dist/types/components/form/button/src/Button.d.ts +25 -0
  117. package/dist/types/components/form/button/src/index.d.ts +2 -0
  118. package/dist/types/components/form/checkbox/src/Checkbox.d.ts +19 -0
  119. package/dist/types/components/form/checkbox/src/index.d.ts +2 -0
  120. package/dist/types/components/form/color-picker/src/ColorPicker.d.ts +19 -0
  121. package/dist/types/components/form/color-picker/src/index.d.ts +2 -0
  122. package/dist/types/components/form/color-wheel/src/ColorWheel.d.ts +17 -0
  123. package/dist/types/components/form/color-wheel/src/index.d.ts +2 -0
  124. package/dist/types/components/form/datepicker/src/DatePicker.d.ts +23 -0
  125. package/dist/types/components/form/datepicker/src/index.d.ts +2 -0
  126. package/dist/types/components/form/file-upload/src/FileUpload.d.ts +19 -0
  127. package/dist/types/components/form/file-upload/src/index.d.ts +2 -0
  128. package/dist/types/components/form/multiline/src/MultilineField.d.ts +41 -0
  129. package/dist/types/components/form/multiline/src/index.d.ts +2 -0
  130. package/dist/types/components/form/number-spinner/src/NumberSpinner.d.ts +25 -0
  131. package/dist/types/components/form/number-spinner/src/index.d.ts +2 -0
  132. package/dist/types/components/form/radio/src/RadioGroup.d.ts +26 -0
  133. package/dist/types/components/form/radio/src/index.d.ts +2 -0
  134. package/dist/types/components/form/select/src/Select.d.ts +33 -0
  135. package/dist/types/components/form/select/src/index.d.ts +2 -0
  136. package/dist/types/components/form/slider/src/Slider.d.ts +33 -0
  137. package/dist/types/components/form/slider/src/index.d.ts +2 -0
  138. package/dist/types/components/form/texteditor/src/TextEditor.d.ts +46 -0
  139. package/dist/types/components/form/texteditor/src/index.d.ts +2 -0
  140. package/dist/types/components/form/textfield/src/TextField.d.ts +48 -0
  141. package/dist/types/components/form/textfield/src/index.d.ts +2 -0
  142. package/dist/types/components/form/timepicker/src/TimePicker.d.ts +29 -0
  143. package/dist/types/components/form/timepicker/src/index.d.ts +2 -0
  144. package/dist/types/components/form/toggle/src/Toggle.d.ts +19 -0
  145. package/dist/types/components/form/toggle/src/index.d.ts +2 -0
  146. package/dist/types/components/form/wrapper/src/FormFieldWrapper.d.ts +67 -0
  147. package/dist/types/components/form/wrapper/src/index.d.ts +2 -0
  148. package/dist/types/components/layout/card/src/Card.d.ts +31 -0
  149. package/dist/types/components/layout/card/src/index.d.ts +2 -0
  150. package/dist/types/components/layout/desktop-background/src/DesktopBackground.d.ts +23 -0
  151. package/dist/types/components/layout/desktop-background/src/index.d.ts +2 -0
  152. package/dist/types/components/layout/draggable-window/src/DraggableWindow.d.ts +59 -0
  153. package/dist/types/components/layout/draggable-window/src/index.d.ts +2 -0
  154. package/dist/types/components/layout/flex-container/src/FlexContainer.d.ts +42 -0
  155. package/dist/types/components/layout/flex-container/src/index.d.ts +2 -0
  156. package/dist/types/components/layout/footer/src/Footer.d.ts +25 -0
  157. package/dist/types/components/layout/footer/src/index.d.ts +2 -0
  158. package/dist/types/components/layout/grid/src/Grid.d.ts +54 -0
  159. package/dist/types/components/layout/grid/src/index.d.ts +2 -0
  160. package/dist/types/components/layout/panel/src/Panel.d.ts +23 -0
  161. package/dist/types/components/layout/panel/src/index.d.ts +2 -0
  162. package/dist/types/components/layout/scroll-container/src/ScrollContainer.d.ts +21 -0
  163. package/dist/types/components/layout/scroll-container/src/index.d.ts +2 -0
  164. package/dist/types/components/layout/splitter/src/Splitter.d.ts +19 -0
  165. package/dist/types/components/layout/splitter/src/index.d.ts +2 -0
  166. package/dist/types/components/layout/tabs/src/Tabs.d.ts +29 -0
  167. package/dist/types/components/layout/tabs/src/index.d.ts +2 -0
  168. package/dist/types/components/layout/window-manager/src/WindowManager.d.ts +106 -0
  169. package/dist/types/components/layout/window-manager/src/index.d.ts +2 -0
  170. package/dist/types/components/math/src/index.d.ts +5 -0
  171. package/dist/types/components/math/src/mat.d.ts +71 -0
  172. package/dist/types/components/math/src/mat4.d.ts +101 -0
  173. package/dist/types/components/math/src/quaternion.d.ts +62 -0
  174. package/dist/types/components/math/src/solver.d.ts +55 -0
  175. package/dist/types/components/math/src/vec.d.ts +54 -0
  176. package/dist/types/components/media/carousel/src/Carousel.d.ts +23 -0
  177. package/dist/types/components/media/carousel/src/index.d.ts +2 -0
  178. package/dist/types/components/media/image/src/Image.d.ts +23 -0
  179. package/dist/types/components/media/image/src/index.d.ts +2 -0
  180. package/dist/types/components/media/video-player/src/VideoPlayer.d.ts +27 -0
  181. package/dist/types/components/media/video-player/src/index.d.ts +2 -0
  182. package/dist/types/components/nav/accordion/src/Accordion.d.ts +52 -0
  183. package/dist/types/components/nav/accordion/src/index.d.ts +2 -0
  184. package/dist/types/components/nav/breadcrumb/src/Breadcrumb.d.ts +20 -0
  185. package/dist/types/components/nav/breadcrumb/src/index.d.ts +2 -0
  186. package/dist/types/components/nav/dock/src/Dock.d.ts +46 -0
  187. package/dist/types/components/nav/dock/src/index.d.ts +2 -0
  188. package/dist/types/components/nav/dropdown/src/Dropdown.d.ts +36 -0
  189. package/dist/types/components/nav/dropdown/src/index.d.ts +2 -0
  190. package/dist/types/components/nav/menubar/src/Menubar.d.ts +27 -0
  191. package/dist/types/components/nav/menubar/src/index.d.ts +2 -0
  192. package/dist/types/components/nav/pagination/src/Pagination.d.ts +19 -0
  193. package/dist/types/components/nav/pagination/src/index.d.ts +2 -0
  194. package/dist/types/components/nav/sidebar/src/Sidebar.d.ts +29 -0
  195. package/dist/types/components/nav/sidebar/src/index.d.ts +2 -0
  196. package/dist/types/components/nav/stepper/src/Stepper.d.ts +25 -0
  197. package/dist/types/components/nav/stepper/src/index.d.ts +2 -0
  198. package/dist/types/components/nav/system-tray/src/SystemTray.d.ts +47 -0
  199. package/dist/types/components/nav/system-tray/src/index.d.ts +2 -0
  200. package/dist/types/components/nav/toolbar/src/Toolbar.d.ts +27 -0
  201. package/dist/types/components/nav/toolbar/src/index.d.ts +2 -0
  202. package/dist/types/components/nav/treenav/src/TreeNav.d.ts +34 -0
  203. package/dist/types/components/nav/treenav/src/TreeNode.d.ts +74 -0
  204. package/dist/types/components/nav/treenav/src/index.d.ts +4 -0
  205. package/dist/types/components/nav/wrapper/src/NavWrapper.d.ts +73 -0
  206. package/dist/types/components/nav/wrapper/src/index.d.ts +2 -0
  207. package/dist/types/components/overlay/context-menu/src/ContextMenu.d.ts +21 -0
  208. package/dist/types/components/overlay/context-menu/src/index.d.ts +2 -0
  209. package/dist/types/components/overlay/drawer/src/Drawer.d.ts +22 -0
  210. package/dist/types/components/overlay/drawer/src/index.d.ts +2 -0
  211. package/dist/types/components/overlay/modal/src/Modal.d.ts +22 -0
  212. package/dist/types/components/overlay/modal/src/index.d.ts +2 -0
  213. package/dist/types/components/overlay/popover/src/Popover.d.ts +20 -0
  214. package/dist/types/components/overlay/popover/src/index.d.ts +2 -0
  215. package/dist/types/components/overlay/toast/src/Toast.d.ts +59 -0
  216. package/dist/types/components/overlay/toast/src/index.d.ts +2 -0
  217. package/dist/types/components/overlay/tooltip/src/Tooltip.d.ts +14 -0
  218. package/dist/types/components/overlay/tooltip/src/index.d.ts +2 -0
  219. package/dist/types/components/page/ide/src/IDE.d.ts +5 -0
  220. package/dist/types/components/page/ide/src/index.d.ts +2 -0
  221. package/dist/types/components/page/trading-dashboard/src/TradingDashboard.d.ts +5 -0
  222. package/dist/types/components/page/trading-dashboard/src/index.d.ts +2 -0
  223. package/dist/types/components/page/unity-desktop/src/UnityApp.d.ts +30 -0
  224. package/dist/types/components/page/unity-desktop/src/UnityDesktop.d.ts +30 -0
  225. package/dist/types/components/page/unity-desktop/src/index.d.ts +4 -0
  226. package/dist/types/components/page/word-processor/src/WordProcessor.d.ts +7 -0
  227. package/dist/types/components/page/word-processor/src/index.d.ts +2 -0
  228. package/dist/types/components/profiler.d.ts +6 -0
  229. package/dist/types/components/profiler.d.ts.map +1 -0
  230. package/dist/types/components/strict-mode.d.ts +6 -0
  231. package/dist/types/components/strict-mode.d.ts.map +1 -0
  232. package/dist/types/components/suspense.d.ts +6 -0
  233. package/dist/types/components/suspense.d.ts.map +1 -0
  234. package/dist/types/components/viz/2D-bar-graph/src/BarGraph.d.ts +61 -0
  235. package/dist/types/components/viz/2D-bar-graph/src/index.d.ts +2 -0
  236. package/dist/types/components/viz/2D-cartesian-raw/src/CartesianGraph2D.d.ts +40 -0
  237. package/dist/types/components/viz/2D-cartesian-raw/src/index.d.ts +2 -0
  238. package/dist/types/components/viz/2D-complex-graph/src/ComplexGraph2D.d.ts +33 -0
  239. package/dist/types/components/viz/2D-complex-graph/src/index.d.ts +2 -0
  240. package/dist/types/components/viz/2D-discrete-cartesian/src/DiscreteCartesian2D.d.ts +31 -0
  241. package/dist/types/components/viz/2D-discrete-cartesian/src/index.d.ts +2 -0
  242. package/dist/types/components/viz/2D-line-graph/src/LineGraph.d.ts +53 -0
  243. package/dist/types/components/viz/2D-line-graph/src/index.d.ts +2 -0
  244. package/dist/types/components/viz/2D-pie-graph/src/PieGraph.d.ts +49 -0
  245. package/dist/types/components/viz/2D-pie-graph/src/index.d.ts +3 -0
  246. package/dist/types/components/viz/2D-polar-graph/src/PolarGraph2D.d.ts +35 -0
  247. package/dist/types/components/viz/2D-polar-graph/src/index.d.ts +2 -0
  248. package/dist/types/components/viz/3d-layers/src/ThreeDLayers.d.ts +35 -0
  249. package/dist/types/components/viz/3d-layers/src/index.d.ts +2 -0
  250. package/dist/types/components/viz/3dSpace/src/Space3D.d.ts +63 -0
  251. package/dist/types/components/viz/3dSpace/src/animation.d.ts +75 -0
  252. package/dist/types/components/viz/3dSpace/src/bounds.d.ts +36 -0
  253. package/dist/types/components/viz/3dSpace/src/camera-controller.d.ts +59 -0
  254. package/dist/types/components/viz/3dSpace/src/camera.d.ts +43 -0
  255. package/dist/types/components/viz/3dSpace/src/collision.d.ts +54 -0
  256. package/dist/types/components/viz/3dSpace/src/cpu-pipeline.d.ts +47 -0
  257. package/dist/types/components/viz/3dSpace/src/index.d.ts +32 -0
  258. package/dist/types/components/viz/3dSpace/src/light.d.ts +23 -0
  259. package/dist/types/components/viz/3dSpace/src/lighting-model.d.ts +34 -0
  260. package/dist/types/components/viz/3dSpace/src/material.d.ts +12 -0
  261. package/dist/types/components/viz/3dSpace/src/mesh.d.ts +35 -0
  262. package/dist/types/components/viz/3dSpace/src/picking.d.ts +51 -0
  263. package/dist/types/components/viz/3dSpace/src/render-pipeline.d.ts +12 -0
  264. package/dist/types/components/viz/3dSpace/src/scene-graph.d.ts +20 -0
  265. package/dist/types/components/viz/3dSpace/src/scene-object.d.ts +31 -0
  266. package/dist/types/components/viz/3dSpace/src/terrain.d.ts +34 -0
  267. package/dist/types/components/viz/3dSpace/src/texture.d.ts +22 -0
  268. package/dist/types/components/viz/3dSpace/src/types.d.ts +42 -0
  269. package/dist/types/components/viz/3dSpace/src/viewport.d.ts +19 -0
  270. package/dist/types/components/viz/3dSpace/src/webgl-pipeline.d.ts +54 -0
  271. package/dist/types/components/viz/big-number/src/BigNumber.d.ts +29 -0
  272. package/dist/types/components/viz/big-number/src/index.d.ts +2 -0
  273. package/dist/types/components/viz/bloch-sphere/src/BlochSphere.d.ts +73 -0
  274. package/dist/types/components/viz/bloch-sphere/src/index.d.ts +2 -0
  275. package/dist/types/components/viz/box-plot/src/BoxPlot.d.ts +47 -0
  276. package/dist/types/components/viz/box-plot/src/index.d.ts +2 -0
  277. package/dist/types/components/viz/bubble-chart/src/BubbleChart.d.ts +38 -0
  278. package/dist/types/components/viz/bubble-chart/src/index.d.ts +2 -0
  279. package/dist/types/components/viz/calendar-heat-map/src/CalendarHeatMap.d.ts +29 -0
  280. package/dist/types/components/viz/calendar-heat-map/src/index.d.ts +2 -0
  281. package/dist/types/components/viz/chord/src/ChordDiagram.d.ts +25 -0
  282. package/dist/types/components/viz/chord/src/index.d.ts +2 -0
  283. package/dist/types/components/viz/decomposition-tree/src/DecompositionTree.d.ts +33 -0
  284. package/dist/types/components/viz/decomposition-tree/src/index.d.ts +2 -0
  285. package/dist/types/components/viz/earth-globe/src/EarthGlobe.d.ts +62 -0
  286. package/dist/types/components/viz/earth-globe/src/globe-data.d.ts +23 -0
  287. package/dist/types/components/viz/earth-globe/src/index.d.ts +5 -0
  288. package/dist/types/components/viz/force-graph/src/ForceGraph.d.ts +99 -0
  289. package/dist/types/components/viz/force-graph/src/index.d.ts +2 -0
  290. package/dist/types/components/viz/funnel/src/FunnelChart.d.ts +28 -0
  291. package/dist/types/components/viz/funnel/src/index.d.ts +2 -0
  292. package/dist/types/components/viz/gantt-chart/src/GanttChart.d.ts +33 -0
  293. package/dist/types/components/viz/gantt-chart/src/index.d.ts +2 -0
  294. package/dist/types/components/viz/gauge/src/Gauge.d.ts +37 -0
  295. package/dist/types/components/viz/gauge/src/index.d.ts +2 -0
  296. package/dist/types/components/viz/graph/src/HypercubeGraph.d.ts +43 -0
  297. package/dist/types/components/viz/graph/src/hypercube.d.ts +78 -0
  298. package/dist/types/components/viz/graph/src/index.d.ts +4 -0
  299. package/dist/types/components/viz/heat-map/src/HeatMap.d.ts +29 -0
  300. package/dist/types/components/viz/heat-map/src/index.d.ts +2 -0
  301. package/dist/types/components/viz/histogram/src/Histogram.d.ts +27 -0
  302. package/dist/types/components/viz/histogram/src/index.d.ts +2 -0
  303. package/dist/types/components/viz/lollipop/src/LollipopChart.d.ts +32 -0
  304. package/dist/types/components/viz/lollipop/src/index.d.ts +2 -0
  305. package/dist/types/components/viz/matrix/src/Matrix.d.ts +29 -0
  306. package/dist/types/components/viz/matrix/src/index.d.ts +2 -0
  307. package/dist/types/components/viz/partition/src/Partition.d.ts +31 -0
  308. package/dist/types/components/viz/partition/src/index.d.ts +2 -0
  309. package/dist/types/components/viz/pivot-table/src/PivotTable.d.ts +25 -0
  310. package/dist/types/components/viz/pivot-table/src/index.d.ts +2 -0
  311. package/dist/types/components/viz/radar-chart/src/RadarChart.d.ts +35 -0
  312. package/dist/types/components/viz/radar-chart/src/index.d.ts +2 -0
  313. package/dist/types/components/viz/sankey/src/SankeyDiagram.d.ts +38 -0
  314. package/dist/types/components/viz/sankey/src/index.d.ts +2 -0
  315. package/dist/types/components/viz/sunburst/src/Sunburst.d.ts +27 -0
  316. package/dist/types/components/viz/sunburst/src/index.d.ts +2 -0
  317. package/dist/types/components/viz/tree-map/src/TreeMap.d.ts +29 -0
  318. package/dist/types/components/viz/tree-map/src/index.d.ts +2 -0
  319. package/dist/types/components/viz/us-state-map/src/USStateMap.d.ts +23 -0
  320. package/dist/types/components/viz/us-state-map/src/index.d.ts +4 -0
  321. package/dist/types/components/viz/us-state-map/src/us-state-paths.d.ts +10 -0
  322. package/dist/types/components/viz/vector-field/src/VectorField.d.ts +61 -0
  323. package/dist/types/components/viz/vector-field/src/index.d.ts +2 -0
  324. package/dist/types/components/viz/waterfall/src/WaterfallChart.d.ts +32 -0
  325. package/dist/types/components/viz/waterfall/src/index.d.ts +2 -0
  326. package/dist/types/components/viz/word-cloud/src/WordCloud.d.ts +30 -0
  327. package/dist/types/components/viz/word-cloud/src/index.d.ts +2 -0
  328. package/dist/types/components/viz/wrapper/src/VizWrapper.d.ts +60 -0
  329. package/dist/types/components/viz/wrapper/src/index.d.ts +2 -0
  330. package/dist/types/compute/context.d.ts +20 -0
  331. package/dist/types/compute/context.d.ts.map +1 -0
  332. package/dist/types/compute/cpu-backend.d.ts +15 -0
  333. package/dist/types/compute/cpu-backend.d.ts.map +1 -0
  334. package/dist/types/compute/index.d.ts +3 -0
  335. package/dist/types/compute/index.d.ts.map +1 -0
  336. package/dist/types/compute/types.d.ts +57 -0
  337. package/dist/types/compute/types.d.ts.map +1 -0
  338. package/dist/types/compute/webgl-backend.d.ts +33 -0
  339. package/dist/types/compute/webgl-backend.d.ts.map +1 -0
  340. package/dist/types/compute/webgpu-backend.d.ts +50 -0
  341. package/dist/types/compute/webgpu-backend.d.ts.map +1 -0
  342. package/dist/types/context/create-context.d.ts +15 -0
  343. package/dist/types/context/create-context.d.ts.map +1 -0
  344. package/dist/types/core/children.d.ts +15 -0
  345. package/dist/types/core/children.d.ts.map +1 -0
  346. package/dist/types/core/clone-element.d.ts +10 -0
  347. package/dist/types/core/clone-element.d.ts.map +1 -0
  348. package/dist/types/core/create-element.d.ts +20 -0
  349. package/dist/types/core/create-element.d.ts.map +1 -0
  350. package/dist/types/core/create-ref.d.ts +7 -0
  351. package/dist/types/core/create-ref.d.ts.map +1 -0
  352. package/dist/types/core/fiber.d.ts +30 -0
  353. package/dist/types/core/fiber.d.ts.map +1 -0
  354. package/dist/types/core/forward-ref.d.ts +16 -0
  355. package/dist/types/core/forward-ref.d.ts.map +1 -0
  356. package/dist/types/core/fragment.d.ts +6 -0
  357. package/dist/types/core/fragment.d.ts.map +1 -0
  358. package/dist/types/core/is-valid-element.d.ts +7 -0
  359. package/dist/types/core/is-valid-element.d.ts.map +1 -0
  360. package/dist/types/core/lanes.d.ts +47 -0
  361. package/dist/types/core/lanes.d.ts.map +1 -0
  362. package/dist/types/core/lazy.d.ts +20 -0
  363. package/dist/types/core/lazy.d.ts.map +1 -0
  364. package/dist/types/core/memo.d.ts +13 -0
  365. package/dist/types/core/memo.d.ts.map +1 -0
  366. package/dist/types/core/reconciler.d.ts +12 -0
  367. package/dist/types/core/reconciler.d.ts.map +1 -0
  368. package/dist/types/core/scheduler-host-config.d.ts +37 -0
  369. package/dist/types/core/scheduler-host-config.d.ts.map +1 -0
  370. package/dist/types/core/scheduler.d.ts +29 -0
  371. package/dist/types/core/scheduler.d.ts.map +1 -0
  372. package/dist/types/core/src/build/index.d.ts +4 -0
  373. package/dist/types/core/src/build/noscript-plugin.d.ts +62 -0
  374. package/dist/types/core/src/build/seo-plugin.d.ts +42 -0
  375. package/dist/types/core/src/client/graphql.d.ts +63 -0
  376. package/dist/types/core/src/client/index.d.ts +3 -0
  377. package/dist/types/core/src/client/protobuf.d.ts +39 -0
  378. package/dist/types/core/src/client/rest.d.ts +60 -0
  379. package/dist/types/core/src/components/component.d.ts +38 -0
  380. package/dist/types/core/src/components/error-boundary.d.ts +22 -0
  381. package/dist/types/core/src/components/profiler.d.ts +5 -0
  382. package/dist/types/core/src/components/strict-mode.d.ts +5 -0
  383. package/dist/types/core/src/components/suspense.d.ts +5 -0
  384. package/dist/types/core/src/components-barrel.d.ts +100 -0
  385. package/dist/types/core/src/compute/context.d.ts +19 -0
  386. package/dist/types/core/src/compute/cpu-backend.d.ts +14 -0
  387. package/dist/types/core/src/compute/index.d.ts +2 -0
  388. package/dist/types/core/src/compute/types.d.ts +56 -0
  389. package/dist/types/core/src/compute/webgl-backend.d.ts +32 -0
  390. package/dist/types/core/src/compute/webgpu-backend.d.ts +49 -0
  391. package/dist/types/core/src/context/create-context.d.ts +14 -0
  392. package/dist/types/core/src/core/children.d.ts +14 -0
  393. package/dist/types/core/src/core/clone-element.d.ts +9 -0
  394. package/dist/types/core/src/core/create-element.d.ts +19 -0
  395. package/dist/types/core/src/core/create-ref.d.ts +6 -0
  396. package/dist/types/core/src/core/fiber.d.ts +29 -0
  397. package/dist/types/core/src/core/forward-ref.d.ts +15 -0
  398. package/dist/types/core/src/core/fragment.d.ts +5 -0
  399. package/dist/types/core/src/core/is-valid-element.d.ts +6 -0
  400. package/dist/types/core/src/core/lanes.d.ts +46 -0
  401. package/dist/types/core/src/core/lazy.d.ts +19 -0
  402. package/dist/types/core/src/core/memo.d.ts +12 -0
  403. package/dist/types/core/src/core/reconciler.d.ts +11 -0
  404. package/dist/types/core/src/core/scheduler-host-config.d.ts +36 -0
  405. package/dist/types/core/src/core/scheduler.d.ts +28 -0
  406. package/dist/types/core/src/core/transitions.d.ts +31 -0
  407. package/dist/types/core/src/devtools/index.d.ts +21 -0
  408. package/dist/types/core/src/dom/create-portal.d.ts +6 -0
  409. package/dist/types/core/src/dom/create-root.d.ts +23 -0
  410. package/dist/types/core/src/dom/flush-sync.d.ts +1 -0
  411. package/dist/types/core/src/dom/index.d.ts +4 -0
  412. package/dist/types/core/src/dom/legacy.d.ts +16 -0
  413. package/dist/types/core/src/dom/synthetic-event.d.ts +90 -0
  414. package/dist/types/core/src/dom/work-loop.d.ts +34 -0
  415. package/dist/types/core/src/features/feature-flags.d.ts +38 -0
  416. package/dist/types/core/src/features/index.d.ts +27 -0
  417. package/dist/types/core/src/hooks/dispatcher.d.ts +26 -0
  418. package/dist/types/core/src/hooks/hook-state.d.ts +46 -0
  419. package/dist/types/core/src/hooks/index.d.ts +47 -0
  420. package/dist/types/core/src/hooks/install-dispatcher.d.ts +2 -0
  421. package/dist/types/core/src/hooks/use-head.d.ts +54 -0
  422. package/dist/types/core/src/index.d.ts +23 -0
  423. package/dist/types/core/src/jsx-dev-runtime.d.ts +1 -0
  424. package/dist/types/core/src/jsx-runtime.d.ts +7 -0
  425. package/dist/types/core/src/router/index.d.ts +12 -0
  426. package/dist/types/core/src/router/link-component.d.ts +16 -0
  427. package/dist/types/core/src/router/match-path.d.ts +28 -0
  428. package/dist/types/core/src/router/route-component.d.ts +12 -0
  429. package/dist/types/core/src/router/router-component.d.ts +5 -0
  430. package/dist/types/core/src/router/router-context.d.ts +13 -0
  431. package/dist/types/core/src/router/router-store.d.ts +22 -0
  432. package/dist/types/core/src/router/use-navigate.d.ts +4 -0
  433. package/dist/types/core/src/router/use-params.d.ts +2 -0
  434. package/dist/types/core/src/router/use-router.d.ts +3 -0
  435. package/dist/types/core/src/server/index.d.ts +3 -0
  436. package/dist/types/core/src/server/render-to-pipeable-stream.d.ts +31 -0
  437. package/dist/types/core/src/server/render-to-readable-stream.d.ts +19 -0
  438. package/dist/types/core/src/server/render-to-string.d.ts +25 -0
  439. package/dist/types/core/src/shared/act.d.ts +1 -0
  440. package/dist/types/core/src/shared/aria-warnings.d.ts +1 -0
  441. package/dist/types/core/src/shared/async-compute.d.ts +63 -0
  442. package/dist/types/core/src/shared/component-registry.d.ts +53 -0
  443. package/dist/types/core/src/shared/render-guard.d.ts +47 -0
  444. package/dist/types/core/src/shared/secure-fetch.d.ts +21 -0
  445. package/dist/types/core/src/shared/types.d.ts +127 -0
  446. package/dist/types/core/src/shared/warnings.d.ts +19 -0
  447. package/dist/types/core/src/telemetry/index.d.ts +2 -0
  448. package/dist/types/core/src/telemetry/metrics.d.ts +67 -0
  449. package/dist/types/core/src/telemetry/tracing.d.ts +95 -0
  450. package/dist/types/core/transitions.d.ts +32 -0
  451. package/dist/types/core/transitions.d.ts.map +1 -0
  452. package/dist/types/devtools/index.d.ts +22 -0
  453. package/dist/types/devtools/index.d.ts.map +1 -0
  454. package/dist/types/dom/create-portal.d.ts +7 -0
  455. package/dist/types/dom/create-portal.d.ts.map +1 -0
  456. package/dist/types/dom/create-root.d.ts +24 -0
  457. package/dist/types/dom/create-root.d.ts.map +1 -0
  458. package/dist/types/dom/flush-sync.d.ts +2 -0
  459. package/dist/types/dom/flush-sync.d.ts.map +1 -0
  460. package/dist/types/dom/index.d.ts +5 -0
  461. package/dist/types/dom/index.d.ts.map +1 -0
  462. package/dist/types/dom/legacy.d.ts +17 -0
  463. package/dist/types/dom/legacy.d.ts.map +1 -0
  464. package/dist/types/dom/synthetic-event.d.ts +91 -0
  465. package/dist/types/dom/synthetic-event.d.ts.map +1 -0
  466. package/dist/types/dom/work-loop.d.ts +35 -0
  467. package/dist/types/dom/work-loop.d.ts.map +1 -0
  468. package/dist/types/features/feature-flags.d.ts +39 -0
  469. package/dist/types/features/feature-flags.d.ts.map +1 -0
  470. package/dist/types/features/index.d.ts +28 -0
  471. package/dist/types/features/index.d.ts.map +1 -0
  472. package/dist/types/hooks/dispatcher.d.ts +27 -0
  473. package/dist/types/hooks/dispatcher.d.ts.map +1 -0
  474. package/dist/types/hooks/hook-state.d.ts +47 -0
  475. package/dist/types/hooks/hook-state.d.ts.map +1 -0
  476. package/dist/types/hooks/index.d.ts +48 -0
  477. package/dist/types/hooks/index.d.ts.map +1 -0
  478. package/dist/types/hooks/install-dispatcher.d.ts +3 -0
  479. package/dist/types/hooks/install-dispatcher.d.ts.map +1 -0
  480. package/dist/types/hooks/use-head.d.ts +55 -0
  481. package/dist/types/hooks/use-head.d.ts.map +1 -0
  482. package/dist/types/index.d.ts +24 -0
  483. package/dist/types/index.d.ts.map +1 -0
  484. package/dist/types/jsx-dev-runtime.d.ts +2 -0
  485. package/dist/types/jsx-dev-runtime.d.ts.map +1 -0
  486. package/dist/types/jsx-runtime.d.ts +8 -0
  487. package/dist/types/jsx-runtime.d.ts.map +1 -0
  488. package/dist/types/router/index.d.ts +13 -0
  489. package/dist/types/router/index.d.ts.map +1 -0
  490. package/dist/types/router/link-component.d.ts +17 -0
  491. package/dist/types/router/link-component.d.ts.map +1 -0
  492. package/dist/types/router/match-path.d.ts +29 -0
  493. package/dist/types/router/match-path.d.ts.map +1 -0
  494. package/dist/types/router/route-component.d.ts +13 -0
  495. package/dist/types/router/route-component.d.ts.map +1 -0
  496. package/dist/types/router/router-component.d.ts +6 -0
  497. package/dist/types/router/router-component.d.ts.map +1 -0
  498. package/dist/types/router/router-context.d.ts +14 -0
  499. package/dist/types/router/router-context.d.ts.map +1 -0
  500. package/dist/types/router/router-store.d.ts +23 -0
  501. package/dist/types/router/router-store.d.ts.map +1 -0
  502. package/dist/types/router/use-navigate.d.ts +5 -0
  503. package/dist/types/router/use-navigate.d.ts.map +1 -0
  504. package/dist/types/router/use-params.d.ts +3 -0
  505. package/dist/types/router/use-params.d.ts.map +1 -0
  506. package/dist/types/router/use-router.d.ts +4 -0
  507. package/dist/types/router/use-router.d.ts.map +1 -0
  508. package/dist/types/server/index.d.ts +4 -0
  509. package/dist/types/server/index.d.ts.map +1 -0
  510. package/dist/types/server/render-to-pipeable-stream.d.ts +32 -0
  511. package/dist/types/server/render-to-pipeable-stream.d.ts.map +1 -0
  512. package/dist/types/server/render-to-readable-stream.d.ts +20 -0
  513. package/dist/types/server/render-to-readable-stream.d.ts.map +1 -0
  514. package/dist/types/server/render-to-string.d.ts +26 -0
  515. package/dist/types/server/render-to-string.d.ts.map +1 -0
  516. package/dist/types/shared/act.d.ts +2 -0
  517. package/dist/types/shared/act.d.ts.map +1 -0
  518. package/dist/types/shared/aria-warnings.d.ts +2 -0
  519. package/dist/types/shared/aria-warnings.d.ts.map +1 -0
  520. package/dist/types/shared/async-compute.d.ts +64 -0
  521. package/dist/types/shared/async-compute.d.ts.map +1 -0
  522. package/dist/types/shared/component-registry.d.ts +54 -0
  523. package/dist/types/shared/component-registry.d.ts.map +1 -0
  524. package/dist/types/shared/render-guard.d.ts +48 -0
  525. package/dist/types/shared/render-guard.d.ts.map +1 -0
  526. package/dist/types/shared/secure-fetch.d.ts +22 -0
  527. package/dist/types/shared/secure-fetch.d.ts.map +1 -0
  528. package/dist/types/shared/types.d.ts +128 -0
  529. package/dist/types/shared/types.d.ts.map +1 -0
  530. package/dist/types/shared/warnings.d.ts +20 -0
  531. package/dist/types/shared/warnings.d.ts.map +1 -0
  532. package/dist/types/telemetry/index.d.ts +3 -0
  533. package/dist/types/telemetry/index.d.ts.map +1 -0
  534. package/dist/types/telemetry/metrics.d.ts +68 -0
  535. package/dist/types/telemetry/metrics.d.ts.map +1 -0
  536. package/dist/types/telemetry/tracing.d.ts +96 -0
  537. package/dist/types/telemetry/tracing.d.ts.map +1 -0
  538. package/package.json +8 -17
@@ -0,0 +1,33 @@
1
+ export interface ComplexPointInfo {
2
+ re: number;
3
+ im: number;
4
+ iterations: number;
5
+ event: Event;
6
+ }
7
+ export interface ComplexGraph2DProps {
8
+ width?: number;
9
+ height?: number;
10
+ realRange?: [number, number];
11
+ imagRange?: [number, number];
12
+ maxIterations?: number;
13
+ colorScheme?: "classic" | "fire" | "ocean";
14
+ computeFunction?: (re: number, im: number, maxIter: number) => number;
15
+ /** Precomputed iteration grid (rows x cols). When provided, renders as SVG
16
+ * instead of canvas. Each value is the iteration count at that pixel. */
17
+ data?: number[][];
18
+ /** Pixel resolution for precomputed SVG rendering (default: 2) */
19
+ resolution?: number;
20
+ /** If true, compute values synchronously (blocks render).
21
+ * Default: false — uses canvas useEffect for runtime computation. */
22
+ sync?: boolean;
23
+ onPointClick?: (info: ComplexPointInfo) => void;
24
+ onPointHover?: (info: ComplexPointInfo) => void;
25
+ onPointDoubleClick?: (info: ComplexPointInfo) => void;
26
+ onPointContextMenu?: (info: ComplexPointInfo) => void;
27
+ }
28
+ /**
29
+ * Precompute a Mandelbrot iteration grid at a given resolution.
30
+ * Returns a 2D array of iteration counts (rows x cols).
31
+ */
32
+ export declare function computeMandelbrotGrid(cols: number, rows: number, realRange?: [number, number], imagRange?: [number, number], maxIter?: number, computeFn?: (re: number, im: number, maxIter: number) => number): number[][];
33
+ export declare function ComplexGraph2D(props: ComplexGraph2DProps): import("specifyjs/shared/types").SpecElement<import("specifyjs/shared/types").Props>;
@@ -0,0 +1,2 @@
1
+ export { ComplexGraph2D, computeMandelbrotGrid } from './ComplexGraph2D';
2
+ export type { ComplexGraph2DProps, ComplexPointInfo } from './ComplexGraph2D';
@@ -0,0 +1,31 @@
1
+ export interface DiscreteCartesian2DProps {
2
+ /** Grid data: rows x cols. Each value maps to a color via colorMap. */
3
+ data: number[][];
4
+ /** Map cell values to colors (e.g., {0: '#1e293b', 1: '#3b82f6'}) */
5
+ colorMap?: Record<number, string>;
6
+ /** SVG viewBox width (default: 600) */
7
+ width?: number;
8
+ /** SVG viewBox height (default: 600) */
9
+ height?: number;
10
+ /** Gap between cells in pixels (default: 1) */
11
+ cellGap?: number;
12
+ /** Cell border radius (default: 0) */
13
+ cellRadius?: number;
14
+ /** Show grid lines (default: false) */
15
+ showGrid?: boolean;
16
+ /** Grid line color (default: '#334155') */
17
+ gridColor?: string;
18
+ /** Show row/column indices (default: false) */
19
+ showIndices?: boolean;
20
+ /** Background color (default: '#0f172a') */
21
+ backgroundColor?: string;
22
+ /** Padding around grid (default: 10) */
23
+ padding?: number;
24
+ /** Called when a cell is clicked: (row, col, value) */
25
+ onCellClick?: (row: number, col: number, value: number) => void;
26
+ /** Called when mouse enters a cell */
27
+ onCellHover?: (row: number, col: number, value: number) => void;
28
+ /** Title */
29
+ title?: string;
30
+ }
31
+ export declare function DiscreteCartesian2D(props: DiscreteCartesian2DProps): import("specifyjs/shared/types").SpecElement<import("specifyjs/shared/types").Props>;
@@ -0,0 +1,2 @@
1
+ export { DiscreteCartesian2D } from './DiscreteCartesian2D';
2
+ export type { DiscreteCartesian2DProps } from './DiscreteCartesian2D';
@@ -0,0 +1,53 @@
1
+ /** Supported point marker shapes */
2
+ export type PointShape = 'circle' | 'square' | 'diamond' | 'triangle' | 'triangle-down' | 'cross' | 'plus';
3
+ export interface Point {
4
+ x: number;
5
+ y: number;
6
+ /** Per-point shape override */
7
+ shape?: PointShape;
8
+ /** Per-point radius override */
9
+ radius?: number;
10
+ }
11
+ export interface LineSeries {
12
+ data: Point[];
13
+ color: string;
14
+ label?: string;
15
+ /** Point shape for this series */
16
+ pointShape?: PointShape;
17
+ /** Point radius for this series */
18
+ pointRadius?: number;
19
+ }
20
+ export interface LineGraphProps {
21
+ data: Point[];
22
+ width?: number;
23
+ height?: number;
24
+ lineColor?: string;
25
+ lineWidth?: number;
26
+ pointRadius?: number;
27
+ pointColor?: string;
28
+ /** Default point marker shape (default: 'circle') */
29
+ pointShape?: PointShape;
30
+ showPoints?: boolean;
31
+ showGrid?: boolean;
32
+ showArea?: boolean;
33
+ areaColor?: string;
34
+ xLabel?: string;
35
+ yLabel?: string;
36
+ title?: string;
37
+ padding?: number;
38
+ animate?: boolean;
39
+ multiLine?: LineSeries[];
40
+ }
41
+ interface ScaleResult {
42
+ xScale: (v: number) => number;
43
+ yScale: (v: number) => number;
44
+ xTicks: number[];
45
+ yTicks: number[];
46
+ xMin: number;
47
+ xMax: number;
48
+ yMin: number;
49
+ yMax: number;
50
+ }
51
+ export declare function useLineGraphScales(data: Point[], width: number, height: number, padding: number): ScaleResult;
52
+ export declare function LineGraph(props: LineGraphProps): import("specifyjs/shared/types").SpecElement<import("specifyjs/shared/types").Props>;
53
+ export {};
@@ -0,0 +1,2 @@
1
+ export { LineGraph, useLineGraphScales } from './LineGraph';
2
+ export type { LineGraphProps, LineSeries, Point, PointShape } from './LineGraph';
@@ -0,0 +1,49 @@
1
+ import { type SpecElement } from '../../../../core/src/index';
2
+ export interface PieSliceDatum {
3
+ label: string;
4
+ value: number;
5
+ color?: string;
6
+ }
7
+ export interface ComputedSlice {
8
+ label: string;
9
+ value: number;
10
+ startAngle: number;
11
+ endAngle: number;
12
+ percentage: number;
13
+ color: string;
14
+ }
15
+ export interface PieGraphProps {
16
+ data: PieSliceDatum[];
17
+ width?: number;
18
+ height?: number;
19
+ innerRadius?: number;
20
+ outerRadius?: number;
21
+ padAngle?: number;
22
+ showLabels?: boolean;
23
+ showValues?: boolean;
24
+ showLegend?: boolean;
25
+ legendPosition?: 'right' | 'bottom';
26
+ title?: string;
27
+ centerLabel?: string;
28
+ colors?: string[];
29
+ strokeColor?: string;
30
+ strokeWidth?: number;
31
+ textColor?: string;
32
+ }
33
+ /**
34
+ * Build an SVG path `d` string for an arc (or annular sector).
35
+ *
36
+ * Angles are in **radians**, measured clockwise from 12-o'clock
37
+ * (i.e. -PI/2 offset so 0 rad = top).
38
+ *
39
+ * Exported as a public utility so consumers can draw custom arcs.
40
+ */
41
+ export declare function describeArc(cx: number, cy: number, innerR: number, outerR: number, startAngle: number, endAngle: number): string;
42
+ /**
43
+ * Given raw data, compute start/end angles, percentages, and resolved colors.
44
+ */
45
+ export declare function computeSlices(data: PieSliceDatum[], options?: {
46
+ padAngle?: number;
47
+ colors?: string[];
48
+ }): ComputedSlice[];
49
+ export declare function PieGraph(props: PieGraphProps): SpecElement;
@@ -0,0 +1,3 @@
1
+ export { PieGraph } from './PieGraph';
2
+ export { describeArc, computeSlices } from './PieGraph';
3
+ export type { PieGraphProps, PieSliceDatum, ComputedSlice, } from './PieGraph';
@@ -0,0 +1,35 @@
1
+ export interface PolarPointInfo {
2
+ r: number;
3
+ theta: number;
4
+ index: number;
5
+ event: Event;
6
+ }
7
+ export interface PolarGraph2DProps {
8
+ width?: number;
9
+ height?: number;
10
+ rRange?: [number, number];
11
+ /** Function to plot: f(theta) → r */
12
+ plotFunction?: (theta: number) => number;
13
+ /** Number of samples around the full circle (default: 360). Ignored if thetaStep is set. */
14
+ plotResolution?: number;
15
+ /** Explicit step increment in radians for function evaluation (e.g., Math.PI/180).
16
+ * When set, overrides plotResolution and computes f(theta) at
17
+ * theta = 0, step, 2*step, ..., 2*PI. */
18
+ thetaStep?: number;
19
+ /** If true, compute plotFunction synchronously (blocks render).
20
+ * Default: false — computes asynchronously. */
21
+ sync?: boolean;
22
+ points?: {
23
+ r: number;
24
+ theta: number;
25
+ }[];
26
+ showGrid?: boolean;
27
+ pointRadius?: number;
28
+ pointColor?: string;
29
+ curveColor?: string;
30
+ onPointClick?: (info: PolarPointInfo) => void;
31
+ onPointDoubleClick?: (info: PolarPointInfo) => void;
32
+ onPointContextMenu?: (info: PolarPointInfo) => void;
33
+ onPointHover?: (info: PolarPointInfo) => void;
34
+ }
35
+ export declare function PolarGraph2D(props: PolarGraph2DProps): import("specifyjs/shared/types").SpecElement<import("specifyjs/shared/types").Props>;
@@ -0,0 +1,2 @@
1
+ export { PolarGraph2D } from './PolarGraph2D';
2
+ export type { PolarGraph2DProps, PolarPointInfo } from './PolarGraph2D';
@@ -0,0 +1,35 @@
1
+ export interface Layer3D {
2
+ label: string;
3
+ data: number[][];
4
+ color?: string;
5
+ opacity?: number;
6
+ }
7
+ export interface ThreeDLayersProps {
8
+ /** Array of layers, each containing a 2D grid of height values */
9
+ layers: Layer3D[];
10
+ /** SVG width in pixels (default: 700) */
11
+ width?: number;
12
+ /** SVG height in pixels (default: 500) */
13
+ height?: number;
14
+ /** Perspective strength (default: 0.5) — 0 = flat, 1 = strong perspective */
15
+ perspective?: number;
16
+ /** X-axis rotation in degrees (default: 35) */
17
+ rotateX?: number;
18
+ /** Y-axis rotation in degrees (default: 45) */
19
+ rotateY?: number;
20
+ /** Z-axis rotation in degrees (default: 0) */
21
+ rotateZ?: number;
22
+ /** Show layer labels (default: true) */
23
+ showLabels?: boolean;
24
+ /** Show 3D axes (default: true) */
25
+ showAxes?: boolean;
26
+ /** Vertical spacing between layers in data units (default: 2) */
27
+ layerSpacing?: number;
28
+ /** Color palette for layers (default: built-in palette) */
29
+ colorScale?: string[];
30
+ /** Grid wireframe color (default: '#94a3b8') */
31
+ gridColor?: string;
32
+ /** Chart title */
33
+ title?: string;
34
+ }
35
+ export declare function ThreeDLayers(props: ThreeDLayersProps): import("specifyjs/shared/types").SpecElement<import("specifyjs/shared/types").Props>;
@@ -0,0 +1,2 @@
1
+ export { ThreeDLayers } from './ThreeDLayers';
2
+ export type { ThreeDLayersProps, Layer3D } from './ThreeDLayers';
@@ -0,0 +1,63 @@
1
+ import type { Vec3 } from '../../../math/src/vec';
2
+ import type { LightingModel } from './lighting-model';
3
+ import type { ObjectPicker } from './types';
4
+ import type { CameraControllerFn } from './camera-controller';
5
+ import type { Light } from './light';
6
+ import type { AnimationManager } from './animation';
7
+ import type { BoundaryMode } from './bounds';
8
+ import type { CollisionManager } from './collision';
9
+ import { Camera } from './camera';
10
+ import { Viewport } from './viewport';
11
+ import { SceneGraph } from './scene-graph';
12
+ import { SceneObject } from './scene-object';
13
+ /** Props for the Space3D component. */
14
+ export interface Space3DProps {
15
+ /** Width of the canvas in pixels. */
16
+ width: number;
17
+ /** Height of the canvas in pixels. */
18
+ height: number;
19
+ /** Whether space is finite (bounded). Default: true */
20
+ finiteSpace?: boolean;
21
+ /** Bounds for finite space. Objects and camera are clamped within. */
22
+ bounds?: {
23
+ min: Vec3;
24
+ max: Vec3;
25
+ };
26
+ /** Lighting model (default: FlatShading). */
27
+ lightingModel?: LightingModel;
28
+ /** Consumer animation function — called each frame with deltaTime in seconds. */
29
+ onFrame?: (deltaTime: number, scene: SceneGraph, cameras: Camera[]) => void;
30
+ /** Object picker (default: no-op). */
31
+ objectPicker?: ObjectPicker;
32
+ /** Cameras (consumer-defined). */
33
+ cameras?: Camera[];
34
+ /** Viewports mapped to cameras. */
35
+ viewports?: Viewport[];
36
+ /** Scene objects to register. */
37
+ objects?: SceneObject[];
38
+ /** Lights. */
39
+ lights?: Light[];
40
+ /** Show a 3D grid on the XZ plane for spatial reference. Default: false. */
41
+ showGrid?: boolean;
42
+ /** Grid size in world units (default: 20). */
43
+ gridSize?: number;
44
+ /** Grid divisions (default: 20). */
45
+ gridDivisions?: number;
46
+ /** Preferred renderer: 'webgl' | 'cpu' | 'auto' (default 'auto'). */
47
+ renderer?: 'webgl' | 'cpu' | 'auto';
48
+ /** Pluggable camera controller function, called each frame with camera, input state, and delta time. */
49
+ cameraController?: CameraControllerFn;
50
+ /** Animation manager for per-object animations */
51
+ animations?: AnimationManager;
52
+ /** Boundary behavior mode. Default: 'none' */
53
+ boundaryMode?: BoundaryMode;
54
+ /** Collision manager for detecting object intersections */
55
+ collisions?: CollisionManager;
56
+ }
57
+ /**
58
+ * Space3D — a SpecifyJS component that renders a 3D scene to a canvas.
59
+ *
60
+ * Assembles the render pipeline, scene graph, cameras, viewports, and
61
+ * runs a requestAnimationFrame loop for continuous rendering.
62
+ */
63
+ export declare function Space3D(props: Space3DProps): import("specifyjs/shared/types").SpecElement<import("specifyjs/shared/types").Props>;
@@ -0,0 +1,75 @@
1
+ import type { SceneObject } from './scene-object';
2
+ /**
3
+ * Animation update function for a single scene object.
4
+ * Called each frame with the object, elapsed time, and delta time.
5
+ */
6
+ export type AnimationFn = (object: SceneObject, totalTime: number, deltaTime: number) => void;
7
+ /**
8
+ * An animation binding: associates an animation function with a scene object.
9
+ */
10
+ export interface AnimationBinding {
11
+ /** The scene object to animate */
12
+ objectId: string;
13
+ /** The animation function to call each frame */
14
+ animate: AnimationFn;
15
+ /** Whether this animation is currently active. Default: true */
16
+ active?: boolean;
17
+ }
18
+ /**
19
+ * Animation manager that tracks and executes per-object animations.
20
+ */
21
+ export declare class AnimationManager {
22
+ private bindings;
23
+ /**
24
+ * Register an animation for a scene object.
25
+ * If an animation already exists for this objectId, it is replaced.
26
+ */
27
+ register(binding: AnimationBinding): void;
28
+ /**
29
+ * Unregister an animation by object ID.
30
+ */
31
+ unregister(objectId: string): void;
32
+ /**
33
+ * Pause animation for a specific object.
34
+ */
35
+ pause(objectId: string): void;
36
+ /**
37
+ * Resume animation for a specific object.
38
+ */
39
+ resume(objectId: string): void;
40
+ /**
41
+ * Check if an object has an active animation.
42
+ */
43
+ isActive(objectId: string): boolean;
44
+ /**
45
+ * Get all registered binding IDs.
46
+ */
47
+ getRegisteredIds(): string[];
48
+ /**
49
+ * Execute all active animations for the given frame.
50
+ * Looks up each object in the scene graph by ID.
51
+ */
52
+ update(scene: {
53
+ getVisibleObjects(): SceneObject[];
54
+ }, totalTime: number, deltaTime: number): void;
55
+ /**
56
+ * Remove all bindings.
57
+ */
58
+ clear(): void;
59
+ }
60
+ /**
61
+ * Create a rotation animation around the Y axis.
62
+ */
63
+ export declare function rotateY(radiansPerSecond: number): AnimationFn;
64
+ /**
65
+ * Create a bobbing animation (up and down on Y axis).
66
+ */
67
+ export declare function bob(amplitude: number, frequency: number, baseY?: number): AnimationFn;
68
+ /**
69
+ * Create a circular orbit animation in the XZ plane.
70
+ */
71
+ export declare function orbit(radius: number, speed: number, centerX?: number, centerZ?: number): AnimationFn;
72
+ /**
73
+ * Compose multiple animations on the same object.
74
+ */
75
+ export declare function compose(...fns: AnimationFn[]): AnimationFn;
@@ -0,0 +1,36 @@
1
+ import type { Vec3 } from '../../../math/src/vec';
2
+ import type { SceneObject } from './scene-object';
3
+ /**
4
+ * Boundary behavior when an object reaches the edge of finite space.
5
+ */
6
+ export type BoundaryMode = 'none' | 'clamp' | 'wrap' | 'bounce' | 'destroy';
7
+ /** Axis-aligned bounding box defined by min and max corners. */
8
+ export interface SpaceBounds {
9
+ min: Vec3;
10
+ max: Vec3;
11
+ }
12
+ /** Clamp a position to stay within the given bounds. */
13
+ export declare function clampToBounds(position: Vec3, bounds: {
14
+ min: Vec3;
15
+ max: Vec3;
16
+ }): Vec3;
17
+ /** Check if a position is within bounds. */
18
+ export declare function isInBounds(position: Vec3, bounds: SpaceBounds): boolean;
19
+ /** Compute the center of bounds. */
20
+ export declare function boundsCenter(bounds: SpaceBounds): Vec3;
21
+ /** Compute the size (extents) of bounds. */
22
+ export declare function boundsSize(bounds: SpaceBounds): Vec3;
23
+ /**
24
+ * Apply boundary behavior to a scene object's position.
25
+ *
26
+ * @param obj - The scene object to check
27
+ * @param bounds - The space boundaries
28
+ * @param mode - The boundary behavior mode
29
+ * @param velocity - Object velocity (required for 'bounce' mode, modified in-place)
30
+ * @returns true if the object should remain in the scene, false if it should be destroyed
31
+ */
32
+ export declare function applyBoundary(obj: SceneObject, bounds: SpaceBounds, mode: BoundaryMode, velocity?: {
33
+ x: number;
34
+ y: number;
35
+ z: number;
36
+ }): boolean;
@@ -0,0 +1,59 @@
1
+ import type { Camera } from './camera';
2
+ /**
3
+ * Input state snapshot passed to camera controllers each frame.
4
+ */
5
+ export interface InputState {
6
+ /** Currently pressed keys (Set of key names, e.g., 'ArrowUp', 'w', 'Shift') */
7
+ keysDown: Set<string>;
8
+ /** Mouse position relative to canvas (pixels) */
9
+ mouseX: number;
10
+ mouseY: number;
11
+ /** Mouse button state */
12
+ mouseLeft: boolean;
13
+ mouseRight: boolean;
14
+ mouseMiddle: boolean;
15
+ /** Mouse movement since last frame (pixels) */
16
+ mouseDeltaX: number;
17
+ mouseDeltaY: number;
18
+ /** Scroll wheel delta */
19
+ scrollDelta: number;
20
+ }
21
+ /**
22
+ * Consumer-provided camera controller function.
23
+ * Called each frame with the current input state, camera, and delta time.
24
+ * The function should modify the camera's position and orientation.
25
+ */
26
+ export type CameraControllerFn = (camera: Camera, input: InputState, deltaTime: number) => void;
27
+ /**
28
+ * Create an InputState tracker that listens to keyboard, mouse, and wheel events
29
+ * on a canvas element. Returns the current state and a cleanup function.
30
+ */
31
+ export declare function createInputTracker(canvas: HTMLCanvasElement): {
32
+ state: InputState;
33
+ cleanup: () => void;
34
+ };
35
+ /**
36
+ * Reset per-frame deltas. Call at the end of each frame.
37
+ */
38
+ export declare function resetFrameDeltas(state: InputState): void;
39
+ /**
40
+ * Orbit controller: left-drag to orbit around a target, scroll to zoom.
41
+ */
42
+ export declare function orbitController(target: {
43
+ x: number;
44
+ y: number;
45
+ z: number;
46
+ }, options?: {
47
+ orbitSpeed?: number;
48
+ zoomSpeed?: number;
49
+ minDist?: number;
50
+ maxDist?: number;
51
+ }): CameraControllerFn;
52
+ /**
53
+ * Fly controller: WASD + mouse look, arrow keys for strafe.
54
+ * Like a free-flying camera in space.
55
+ */
56
+ export declare function flyController(options?: {
57
+ moveSpeed?: number;
58
+ lookSpeed?: number;
59
+ }): CameraControllerFn;
@@ -0,0 +1,43 @@
1
+ import type { Vec3 } from '../../../math/src/vec';
2
+ import type { Mat4, Quaternion } from './types';
3
+ /** Projection mode for the camera. */
4
+ export type ProjectionMode = 'perspective' | 'orthographic';
5
+ /** Camera for viewing a 3D scene. */
6
+ export declare class Camera {
7
+ position: Vec3;
8
+ orientation: Quaternion;
9
+ projectionMode: ProjectionMode;
10
+ fov: number;
11
+ aspect: number;
12
+ near: number;
13
+ far: number;
14
+ left: number;
15
+ right: number;
16
+ top: number;
17
+ bottom: number;
18
+ constructor(options?: {
19
+ position?: Vec3;
20
+ orientation?: Quaternion;
21
+ projectionMode?: ProjectionMode;
22
+ fov?: number;
23
+ aspect?: number;
24
+ near?: number;
25
+ far?: number;
26
+ left?: number;
27
+ right?: number;
28
+ top?: number;
29
+ bottom?: number;
30
+ });
31
+ /** Compute the view matrix from camera position and orientation. */
32
+ getViewMatrix(): Mat4;
33
+ /** Compute the projection matrix based on the current projection mode. */
34
+ getProjectionMatrix(): Mat4;
35
+ /** Move the camera by a delta vector. */
36
+ move(delta: Vec3): void;
37
+ /** Rotate the camera by multiplying a quaternion. */
38
+ rotate(q: Quaternion): void;
39
+ /** Orient the camera to look at a target position. */
40
+ lookAt(target: Vec3): void;
41
+ private perspectiveMatrix;
42
+ private orthographicMatrix;
43
+ }
@@ -0,0 +1,54 @@
1
+ import type { Vec3 } from '../../../math/src/vec';
2
+ import type { SceneObject } from './scene-object';
3
+ /** Collision detection method */
4
+ export type ColliderType = 'sphere' | 'aabb';
5
+ /** Information about a detected collision */
6
+ export interface CollisionInfo {
7
+ objectA: SceneObject;
8
+ objectB: SceneObject;
9
+ /** Overlap distance (penetration depth) */
10
+ overlap: number;
11
+ /** Collision normal (from A toward B) */
12
+ normal: Vec3;
13
+ /** Contact point (approximate midpoint of overlap) */
14
+ contactPoint: Vec3;
15
+ }
16
+ /** Consumer-provided collision response function */
17
+ export type CollisionResponse = (info: CollisionInfo) => void;
18
+ /** Compute bounding sphere radius from mesh vertices */
19
+ export declare function computeBoundingSphereRadius(obj: SceneObject): number;
20
+ /** Axis-aligned bounding box */
21
+ export interface AABB {
22
+ min: Vec3;
23
+ max: Vec3;
24
+ }
25
+ /** Compute AABB from mesh vertices in world space */
26
+ export declare function computeAABB(obj: SceneObject): AABB;
27
+ /** Test sphere-sphere overlap. Returns CollisionInfo or null. */
28
+ export declare function sphereSphereTest(a: SceneObject, b: SceneObject): CollisionInfo | null;
29
+ /** Test AABB-AABB overlap. Returns CollisionInfo or null. */
30
+ export declare function aabbTest(a: SceneObject, b: SceneObject): CollisionInfo | null;
31
+ /**
32
+ * CollisionManager detects collisions between registered objects
33
+ * each frame and calls the consumer's response function.
34
+ */
35
+ export declare class CollisionManager {
36
+ private colliderType;
37
+ private response;
38
+ private pairs;
39
+ constructor(options?: {
40
+ colliderType?: ColliderType;
41
+ response?: CollisionResponse;
42
+ });
43
+ /** Update the collision response function */
44
+ setResponse(fn: CollisionResponse): void;
45
+ /** Update the collider type */
46
+ setColliderType(type: ColliderType): void;
47
+ /** Get active collision pair keys from last frame */
48
+ getActivePairs(): string[];
49
+ /**
50
+ * Check all object pairs for collisions.
51
+ * Call this once per frame with the visible objects.
52
+ */
53
+ update(objects: SceneObject[]): CollisionInfo[];
54
+ }
@@ -0,0 +1,47 @@
1
+ import type { RenderPipeline } from './render-pipeline';
2
+ import type { SceneGraph } from './scene-graph';
3
+ import type { Camera } from './camera';
4
+ import type { Viewport } from './viewport';
5
+ import type { LightingModel } from './lighting-model';
6
+ import type { Light } from './light';
7
+ import type { SpaceBounds } from './bounds';
8
+ /**
9
+ * CPU-based software render pipeline.
10
+ * Renders 3D scenes to a Canvas 2D context using the painter's algorithm
11
+ * and canvas path fills for triangle rasterization.
12
+ */
13
+ export declare class CpuPipeline implements RenderPipeline {
14
+ readonly name = "cpu";
15
+ private ctx;
16
+ initialize(canvas: HTMLCanvasElement): void;
17
+ dispose(): void;
18
+ render(scene: SceneGraph, camera: Camera, viewport: Viewport, lighting: LightingModel, lights?: Light[]): void;
19
+ /**
20
+ * Render wireframe edges (black outlines) for all visible scene objects.
21
+ * Call after render() to overlay edges on the filled triangles.
22
+ */
23
+ renderEdges(scene: SceneGraph, camera: Camera, viewport: Viewport, options?: {
24
+ color?: string;
25
+ lineWidth?: number;
26
+ opacity?: number;
27
+ }): void;
28
+ /**
29
+ * Render a 3D grid on the XZ plane at y=0.
30
+ * Call this after render() to overlay the grid on top of the scene
31
+ * (or before render() to draw it behind — painter's order).
32
+ */
33
+ renderGrid(camera: Camera, viewport: Viewport, options?: {
34
+ size?: number;
35
+ divisions?: number;
36
+ color?: string;
37
+ opacity?: number;
38
+ }): void;
39
+ /**
40
+ * Render a wireframe bounding box showing space boundaries.
41
+ * Draws the 12 edges of the box projected through the camera.
42
+ */
43
+ renderBounds(camera: Camera, viewport: Viewport, bounds: SpaceBounds, options?: {
44
+ color?: string;
45
+ opacity?: number;
46
+ }): void;
47
+ }