@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.
- package/dist/specifyjs-build.cjs.js +160 -1
- package/dist/specifyjs-build.cjs.js.map +7 -1
- package/dist/specifyjs-build.d.ts +1 -110
- package/dist/specifyjs-build.esm.js +160 -1
- package/dist/specifyjs-build.esm.js.map +7 -1
- package/dist/specifyjs-client.cjs.js +2 -1
- package/dist/specifyjs-client.cjs.js.map +7 -1
- package/dist/specifyjs-client.d.ts +1 -159
- package/dist/specifyjs-client.esm.js +2 -1
- package/dist/specifyjs-client.esm.js.map +7 -1
- package/dist/specifyjs-components.cjs.js +8 -1
- package/dist/specifyjs-components.cjs.js.map +7 -1
- package/dist/specifyjs-components.d.ts +1 -3334
- package/dist/specifyjs-components.esm.js +8 -1
- package/dist/specifyjs-components.esm.js.map +7 -1
- package/dist/specifyjs-dom.cjs.js +2 -1
- package/dist/specifyjs-dom.cjs.js.map +7 -1
- package/dist/specifyjs-dom.d.ts +1 -107
- package/dist/specifyjs-dom.esm.js +2 -1
- package/dist/specifyjs-dom.esm.js.map +7 -1
- package/dist/specifyjs-jsx-dev-runtime.cjs.js +2 -1
- package/dist/specifyjs-jsx-dev-runtime.cjs.js.map +7 -1
- package/dist/specifyjs-jsx-dev-runtime.esm.js +2 -1
- package/dist/specifyjs-jsx-dev-runtime.esm.js.map +7 -1
- package/dist/specifyjs-jsx-runtime.cjs.js +2 -1
- package/dist/specifyjs-jsx-runtime.cjs.js.map +7 -1
- package/dist/specifyjs-jsx-runtime.esm.js +2 -1
- package/dist/specifyjs-jsx-runtime.esm.js.map +7 -1
- package/dist/specifyjs-server.cjs.js +2 -1
- package/dist/specifyjs-server.cjs.js.map +7 -1
- package/dist/specifyjs-server.d.ts +1 -136
- package/dist/specifyjs-server.esm.js +2 -1
- package/dist/specifyjs-server.esm.js.map +7 -1
- package/dist/specifyjs-telemetry.cjs.js +2 -1
- package/dist/specifyjs-telemetry.cjs.js.map +7 -1
- package/dist/specifyjs-telemetry.d.ts +1 -165
- package/dist/specifyjs-telemetry.esm.js +2 -1
- package/dist/specifyjs-telemetry.esm.js.map +7 -1
- package/dist/specifyjs.cjs.js +2 -1
- package/dist/specifyjs.cjs.js.map +7 -1
- package/dist/specifyjs.d.ts +1 -581
- package/dist/specifyjs.esm.js +2 -1
- package/dist/specifyjs.esm.js.map +7 -1
- package/dist/types/build/index.d.ts +5 -0
- package/dist/types/build/index.d.ts.map +1 -0
- package/dist/types/build/noscript-plugin.d.ts +63 -0
- package/dist/types/build/noscript-plugin.d.ts.map +1 -0
- package/dist/types/build/seo-plugin.d.ts +43 -0
- package/dist/types/build/seo-plugin.d.ts.map +1 -0
- package/dist/types/client/graphql.d.ts +64 -0
- package/dist/types/client/graphql.d.ts.map +1 -0
- package/dist/types/client/index.d.ts +4 -0
- package/dist/types/client/index.d.ts.map +1 -0
- package/dist/types/client/protobuf.d.ts +40 -0
- package/dist/types/client/protobuf.d.ts.map +1 -0
- package/dist/types/client/rest.d.ts +61 -0
- package/dist/types/client/rest.d.ts.map +1 -0
- package/dist/types/components/ad/adsense/src/AdSense.d.ts +19 -0
- package/dist/types/components/ad/adsense/src/index.d.ts +2 -0
- package/dist/types/components/analytics/google-analytics/src/GoogleAnalytics.d.ts +13 -0
- package/dist/types/components/analytics/google-analytics/src/index.d.ts +2 -0
- package/dist/types/components/component.d.ts +39 -0
- package/dist/types/components/component.d.ts.map +1 -0
- package/dist/types/components/data/analog-clock/src/AnalogClock.d.ts +17 -0
- package/dist/types/components/data/analog-clock/src/index.d.ts +2 -0
- package/dist/types/components/data/avatar/src/Avatar.d.ts +19 -0
- package/dist/types/components/data/avatar/src/index.d.ts +2 -0
- package/dist/types/components/data/badge/src/Badge.d.ts +17 -0
- package/dist/types/components/data/badge/src/index.d.ts +2 -0
- package/dist/types/components/data/data-grid/src/DataGrid.d.ts +47 -0
- package/dist/types/components/data/data-grid/src/index.d.ts +2 -0
- package/dist/types/components/data/digital-clock/src/DigitalClock.d.ts +15 -0
- package/dist/types/components/data/digital-clock/src/index.d.ts +2 -0
- package/dist/types/components/data/list-view/src/ListView.d.ts +23 -0
- package/dist/types/components/data/list-view/src/index.d.ts +2 -0
- package/dist/types/components/data/tag/src/Tag.d.ts +21 -0
- package/dist/types/components/data/tag/src/index.d.ts +2 -0
- package/dist/types/components/data/virtual-scroll/src/VirtualScroll.d.ts +13 -0
- package/dist/types/components/data/virtual-scroll/src/index.d.ts +2 -0
- package/dist/types/components/error-boundary.d.ts +23 -0
- package/dist/types/components/error-boundary.d.ts.map +1 -0
- package/dist/types/components/errors/_shared/src/HttpErrorPage.d.ts +15 -0
- package/dist/types/components/errors/_shared/src/index.d.ts +2 -0
- package/dist/types/components/errors/http-400/src/Http400.d.ts +9 -0
- package/dist/types/components/errors/http-400/src/index.d.ts +2 -0
- package/dist/types/components/errors/http-401/src/Http401.d.ts +9 -0
- package/dist/types/components/errors/http-401/src/index.d.ts +2 -0
- package/dist/types/components/errors/http-403/src/Http403.d.ts +9 -0
- package/dist/types/components/errors/http-403/src/index.d.ts +2 -0
- package/dist/types/components/errors/http-404/src/Http404.d.ts +9 -0
- package/dist/types/components/errors/http-404/src/index.d.ts +2 -0
- package/dist/types/components/errors/http-405/src/Http405.d.ts +9 -0
- package/dist/types/components/errors/http-405/src/index.d.ts +2 -0
- package/dist/types/components/errors/http-408/src/Http408.d.ts +9 -0
- package/dist/types/components/errors/http-408/src/index.d.ts +2 -0
- package/dist/types/components/errors/http-429/src/Http429.d.ts +9 -0
- package/dist/types/components/errors/http-429/src/index.d.ts +2 -0
- package/dist/types/components/errors/http-500/src/Http500.d.ts +9 -0
- package/dist/types/components/errors/http-500/src/index.d.ts +2 -0
- package/dist/types/components/errors/http-502/src/Http502.d.ts +9 -0
- package/dist/types/components/errors/http-502/src/index.d.ts +2 -0
- package/dist/types/components/errors/http-503/src/Http503.d.ts +9 -0
- package/dist/types/components/errors/http-503/src/index.d.ts +2 -0
- package/dist/types/components/errors/http-504/src/Http504.d.ts +9 -0
- package/dist/types/components/errors/http-504/src/index.d.ts +2 -0
- package/dist/types/components/feedback/alert/src/Alert.d.ts +25 -0
- package/dist/types/components/feedback/alert/src/index.d.ts +2 -0
- package/dist/types/components/feedback/empty-state/src/EmptyState.d.ts +17 -0
- package/dist/types/components/feedback/empty-state/src/index.d.ts +2 -0
- package/dist/types/components/feedback/progress-bar/src/ProgressBar.d.ts +23 -0
- package/dist/types/components/feedback/progress-bar/src/index.d.ts +2 -0
- package/dist/types/components/feedback/skeleton/src/Skeleton.d.ts +15 -0
- package/dist/types/components/feedback/skeleton/src/index.d.ts +2 -0
- package/dist/types/components/feedback/spinner/src/Spinner.d.ts +13 -0
- package/dist/types/components/feedback/spinner/src/index.d.ts +2 -0
- package/dist/types/components/form/button/src/Button.d.ts +25 -0
- package/dist/types/components/form/button/src/index.d.ts +2 -0
- package/dist/types/components/form/checkbox/src/Checkbox.d.ts +19 -0
- package/dist/types/components/form/checkbox/src/index.d.ts +2 -0
- package/dist/types/components/form/color-picker/src/ColorPicker.d.ts +19 -0
- package/dist/types/components/form/color-picker/src/index.d.ts +2 -0
- package/dist/types/components/form/color-wheel/src/ColorWheel.d.ts +17 -0
- package/dist/types/components/form/color-wheel/src/index.d.ts +2 -0
- package/dist/types/components/form/datepicker/src/DatePicker.d.ts +23 -0
- package/dist/types/components/form/datepicker/src/index.d.ts +2 -0
- package/dist/types/components/form/file-upload/src/FileUpload.d.ts +19 -0
- package/dist/types/components/form/file-upload/src/index.d.ts +2 -0
- package/dist/types/components/form/multiline/src/MultilineField.d.ts +41 -0
- package/dist/types/components/form/multiline/src/index.d.ts +2 -0
- package/dist/types/components/form/number-spinner/src/NumberSpinner.d.ts +25 -0
- package/dist/types/components/form/number-spinner/src/index.d.ts +2 -0
- package/dist/types/components/form/radio/src/RadioGroup.d.ts +26 -0
- package/dist/types/components/form/radio/src/index.d.ts +2 -0
- package/dist/types/components/form/select/src/Select.d.ts +33 -0
- package/dist/types/components/form/select/src/index.d.ts +2 -0
- package/dist/types/components/form/slider/src/Slider.d.ts +33 -0
- package/dist/types/components/form/slider/src/index.d.ts +2 -0
- package/dist/types/components/form/texteditor/src/TextEditor.d.ts +46 -0
- package/dist/types/components/form/texteditor/src/index.d.ts +2 -0
- package/dist/types/components/form/textfield/src/TextField.d.ts +48 -0
- package/dist/types/components/form/textfield/src/index.d.ts +2 -0
- package/dist/types/components/form/timepicker/src/TimePicker.d.ts +29 -0
- package/dist/types/components/form/timepicker/src/index.d.ts +2 -0
- package/dist/types/components/form/toggle/src/Toggle.d.ts +19 -0
- package/dist/types/components/form/toggle/src/index.d.ts +2 -0
- package/dist/types/components/form/wrapper/src/FormFieldWrapper.d.ts +67 -0
- package/dist/types/components/form/wrapper/src/index.d.ts +2 -0
- package/dist/types/components/layout/card/src/Card.d.ts +31 -0
- package/dist/types/components/layout/card/src/index.d.ts +2 -0
- package/dist/types/components/layout/desktop-background/src/DesktopBackground.d.ts +23 -0
- package/dist/types/components/layout/desktop-background/src/index.d.ts +2 -0
- package/dist/types/components/layout/draggable-window/src/DraggableWindow.d.ts +59 -0
- package/dist/types/components/layout/draggable-window/src/index.d.ts +2 -0
- package/dist/types/components/layout/flex-container/src/FlexContainer.d.ts +42 -0
- package/dist/types/components/layout/flex-container/src/index.d.ts +2 -0
- package/dist/types/components/layout/footer/src/Footer.d.ts +25 -0
- package/dist/types/components/layout/footer/src/index.d.ts +2 -0
- package/dist/types/components/layout/grid/src/Grid.d.ts +54 -0
- package/dist/types/components/layout/grid/src/index.d.ts +2 -0
- package/dist/types/components/layout/panel/src/Panel.d.ts +23 -0
- package/dist/types/components/layout/panel/src/index.d.ts +2 -0
- package/dist/types/components/layout/scroll-container/src/ScrollContainer.d.ts +21 -0
- package/dist/types/components/layout/scroll-container/src/index.d.ts +2 -0
- package/dist/types/components/layout/splitter/src/Splitter.d.ts +19 -0
- package/dist/types/components/layout/splitter/src/index.d.ts +2 -0
- package/dist/types/components/layout/tabs/src/Tabs.d.ts +29 -0
- package/dist/types/components/layout/tabs/src/index.d.ts +2 -0
- package/dist/types/components/layout/window-manager/src/WindowManager.d.ts +106 -0
- package/dist/types/components/layout/window-manager/src/index.d.ts +2 -0
- package/dist/types/components/math/src/index.d.ts +5 -0
- package/dist/types/components/math/src/mat.d.ts +71 -0
- package/dist/types/components/math/src/mat4.d.ts +101 -0
- package/dist/types/components/math/src/quaternion.d.ts +62 -0
- package/dist/types/components/math/src/solver.d.ts +55 -0
- package/dist/types/components/math/src/vec.d.ts +54 -0
- package/dist/types/components/media/carousel/src/Carousel.d.ts +23 -0
- package/dist/types/components/media/carousel/src/index.d.ts +2 -0
- package/dist/types/components/media/image/src/Image.d.ts +23 -0
- package/dist/types/components/media/image/src/index.d.ts +2 -0
- package/dist/types/components/media/video-player/src/VideoPlayer.d.ts +27 -0
- package/dist/types/components/media/video-player/src/index.d.ts +2 -0
- package/dist/types/components/nav/accordion/src/Accordion.d.ts +52 -0
- package/dist/types/components/nav/accordion/src/index.d.ts +2 -0
- package/dist/types/components/nav/breadcrumb/src/Breadcrumb.d.ts +20 -0
- package/dist/types/components/nav/breadcrumb/src/index.d.ts +2 -0
- package/dist/types/components/nav/dock/src/Dock.d.ts +46 -0
- package/dist/types/components/nav/dock/src/index.d.ts +2 -0
- package/dist/types/components/nav/dropdown/src/Dropdown.d.ts +36 -0
- package/dist/types/components/nav/dropdown/src/index.d.ts +2 -0
- package/dist/types/components/nav/menubar/src/Menubar.d.ts +27 -0
- package/dist/types/components/nav/menubar/src/index.d.ts +2 -0
- package/dist/types/components/nav/pagination/src/Pagination.d.ts +19 -0
- package/dist/types/components/nav/pagination/src/index.d.ts +2 -0
- package/dist/types/components/nav/sidebar/src/Sidebar.d.ts +29 -0
- package/dist/types/components/nav/sidebar/src/index.d.ts +2 -0
- package/dist/types/components/nav/stepper/src/Stepper.d.ts +25 -0
- package/dist/types/components/nav/stepper/src/index.d.ts +2 -0
- package/dist/types/components/nav/system-tray/src/SystemTray.d.ts +47 -0
- package/dist/types/components/nav/system-tray/src/index.d.ts +2 -0
- package/dist/types/components/nav/toolbar/src/Toolbar.d.ts +27 -0
- package/dist/types/components/nav/toolbar/src/index.d.ts +2 -0
- package/dist/types/components/nav/treenav/src/TreeNav.d.ts +34 -0
- package/dist/types/components/nav/treenav/src/TreeNode.d.ts +74 -0
- package/dist/types/components/nav/treenav/src/index.d.ts +4 -0
- package/dist/types/components/nav/wrapper/src/NavWrapper.d.ts +73 -0
- package/dist/types/components/nav/wrapper/src/index.d.ts +2 -0
- package/dist/types/components/overlay/context-menu/src/ContextMenu.d.ts +21 -0
- package/dist/types/components/overlay/context-menu/src/index.d.ts +2 -0
- package/dist/types/components/overlay/drawer/src/Drawer.d.ts +22 -0
- package/dist/types/components/overlay/drawer/src/index.d.ts +2 -0
- package/dist/types/components/overlay/modal/src/Modal.d.ts +22 -0
- package/dist/types/components/overlay/modal/src/index.d.ts +2 -0
- package/dist/types/components/overlay/popover/src/Popover.d.ts +20 -0
- package/dist/types/components/overlay/popover/src/index.d.ts +2 -0
- package/dist/types/components/overlay/toast/src/Toast.d.ts +59 -0
- package/dist/types/components/overlay/toast/src/index.d.ts +2 -0
- package/dist/types/components/overlay/tooltip/src/Tooltip.d.ts +14 -0
- package/dist/types/components/overlay/tooltip/src/index.d.ts +2 -0
- package/dist/types/components/page/ide/src/IDE.d.ts +5 -0
- package/dist/types/components/page/ide/src/index.d.ts +2 -0
- package/dist/types/components/page/trading-dashboard/src/TradingDashboard.d.ts +5 -0
- package/dist/types/components/page/trading-dashboard/src/index.d.ts +2 -0
- package/dist/types/components/page/unity-desktop/src/UnityApp.d.ts +30 -0
- package/dist/types/components/page/unity-desktop/src/UnityDesktop.d.ts +30 -0
- package/dist/types/components/page/unity-desktop/src/index.d.ts +4 -0
- package/dist/types/components/page/word-processor/src/WordProcessor.d.ts +7 -0
- package/dist/types/components/page/word-processor/src/index.d.ts +2 -0
- package/dist/types/components/profiler.d.ts +6 -0
- package/dist/types/components/profiler.d.ts.map +1 -0
- package/dist/types/components/strict-mode.d.ts +6 -0
- package/dist/types/components/strict-mode.d.ts.map +1 -0
- package/dist/types/components/suspense.d.ts +6 -0
- package/dist/types/components/suspense.d.ts.map +1 -0
- package/dist/types/components/viz/2D-bar-graph/src/BarGraph.d.ts +61 -0
- package/dist/types/components/viz/2D-bar-graph/src/index.d.ts +2 -0
- package/dist/types/components/viz/2D-cartesian-raw/src/CartesianGraph2D.d.ts +40 -0
- package/dist/types/components/viz/2D-cartesian-raw/src/index.d.ts +2 -0
- package/dist/types/components/viz/2D-complex-graph/src/ComplexGraph2D.d.ts +33 -0
- package/dist/types/components/viz/2D-complex-graph/src/index.d.ts +2 -0
- package/dist/types/components/viz/2D-discrete-cartesian/src/DiscreteCartesian2D.d.ts +31 -0
- package/dist/types/components/viz/2D-discrete-cartesian/src/index.d.ts +2 -0
- package/dist/types/components/viz/2D-line-graph/src/LineGraph.d.ts +53 -0
- package/dist/types/components/viz/2D-line-graph/src/index.d.ts +2 -0
- package/dist/types/components/viz/2D-pie-graph/src/PieGraph.d.ts +49 -0
- package/dist/types/components/viz/2D-pie-graph/src/index.d.ts +3 -0
- package/dist/types/components/viz/2D-polar-graph/src/PolarGraph2D.d.ts +35 -0
- package/dist/types/components/viz/2D-polar-graph/src/index.d.ts +2 -0
- package/dist/types/components/viz/3d-layers/src/ThreeDLayers.d.ts +35 -0
- package/dist/types/components/viz/3d-layers/src/index.d.ts +2 -0
- package/dist/types/components/viz/3dSpace/src/Space3D.d.ts +63 -0
- package/dist/types/components/viz/3dSpace/src/animation.d.ts +75 -0
- package/dist/types/components/viz/3dSpace/src/bounds.d.ts +36 -0
- package/dist/types/components/viz/3dSpace/src/camera-controller.d.ts +59 -0
- package/dist/types/components/viz/3dSpace/src/camera.d.ts +43 -0
- package/dist/types/components/viz/3dSpace/src/collision.d.ts +54 -0
- package/dist/types/components/viz/3dSpace/src/cpu-pipeline.d.ts +47 -0
- package/dist/types/components/viz/3dSpace/src/index.d.ts +32 -0
- package/dist/types/components/viz/3dSpace/src/light.d.ts +23 -0
- package/dist/types/components/viz/3dSpace/src/lighting-model.d.ts +34 -0
- package/dist/types/components/viz/3dSpace/src/material.d.ts +12 -0
- package/dist/types/components/viz/3dSpace/src/mesh.d.ts +35 -0
- package/dist/types/components/viz/3dSpace/src/picking.d.ts +51 -0
- package/dist/types/components/viz/3dSpace/src/render-pipeline.d.ts +12 -0
- package/dist/types/components/viz/3dSpace/src/scene-graph.d.ts +20 -0
- package/dist/types/components/viz/3dSpace/src/scene-object.d.ts +31 -0
- package/dist/types/components/viz/3dSpace/src/terrain.d.ts +34 -0
- package/dist/types/components/viz/3dSpace/src/texture.d.ts +22 -0
- package/dist/types/components/viz/3dSpace/src/types.d.ts +42 -0
- package/dist/types/components/viz/3dSpace/src/viewport.d.ts +19 -0
- package/dist/types/components/viz/3dSpace/src/webgl-pipeline.d.ts +54 -0
- package/dist/types/components/viz/big-number/src/BigNumber.d.ts +29 -0
- package/dist/types/components/viz/big-number/src/index.d.ts +2 -0
- package/dist/types/components/viz/bloch-sphere/src/BlochSphere.d.ts +73 -0
- package/dist/types/components/viz/bloch-sphere/src/index.d.ts +2 -0
- package/dist/types/components/viz/box-plot/src/BoxPlot.d.ts +47 -0
- package/dist/types/components/viz/box-plot/src/index.d.ts +2 -0
- package/dist/types/components/viz/bubble-chart/src/BubbleChart.d.ts +38 -0
- package/dist/types/components/viz/bubble-chart/src/index.d.ts +2 -0
- package/dist/types/components/viz/calendar-heat-map/src/CalendarHeatMap.d.ts +29 -0
- package/dist/types/components/viz/calendar-heat-map/src/index.d.ts +2 -0
- package/dist/types/components/viz/chord/src/ChordDiagram.d.ts +25 -0
- package/dist/types/components/viz/chord/src/index.d.ts +2 -0
- package/dist/types/components/viz/decomposition-tree/src/DecompositionTree.d.ts +33 -0
- package/dist/types/components/viz/decomposition-tree/src/index.d.ts +2 -0
- package/dist/types/components/viz/earth-globe/src/EarthGlobe.d.ts +62 -0
- package/dist/types/components/viz/earth-globe/src/globe-data.d.ts +23 -0
- package/dist/types/components/viz/earth-globe/src/index.d.ts +5 -0
- package/dist/types/components/viz/force-graph/src/ForceGraph.d.ts +99 -0
- package/dist/types/components/viz/force-graph/src/index.d.ts +2 -0
- package/dist/types/components/viz/funnel/src/FunnelChart.d.ts +28 -0
- package/dist/types/components/viz/funnel/src/index.d.ts +2 -0
- package/dist/types/components/viz/gantt-chart/src/GanttChart.d.ts +33 -0
- package/dist/types/components/viz/gantt-chart/src/index.d.ts +2 -0
- package/dist/types/components/viz/gauge/src/Gauge.d.ts +37 -0
- package/dist/types/components/viz/gauge/src/index.d.ts +2 -0
- package/dist/types/components/viz/graph/src/HypercubeGraph.d.ts +43 -0
- package/dist/types/components/viz/graph/src/hypercube.d.ts +78 -0
- package/dist/types/components/viz/graph/src/index.d.ts +4 -0
- package/dist/types/components/viz/heat-map/src/HeatMap.d.ts +29 -0
- package/dist/types/components/viz/heat-map/src/index.d.ts +2 -0
- package/dist/types/components/viz/histogram/src/Histogram.d.ts +27 -0
- package/dist/types/components/viz/histogram/src/index.d.ts +2 -0
- package/dist/types/components/viz/lollipop/src/LollipopChart.d.ts +32 -0
- package/dist/types/components/viz/lollipop/src/index.d.ts +2 -0
- package/dist/types/components/viz/matrix/src/Matrix.d.ts +29 -0
- package/dist/types/components/viz/matrix/src/index.d.ts +2 -0
- package/dist/types/components/viz/partition/src/Partition.d.ts +31 -0
- package/dist/types/components/viz/partition/src/index.d.ts +2 -0
- package/dist/types/components/viz/pivot-table/src/PivotTable.d.ts +25 -0
- package/dist/types/components/viz/pivot-table/src/index.d.ts +2 -0
- package/dist/types/components/viz/radar-chart/src/RadarChart.d.ts +35 -0
- package/dist/types/components/viz/radar-chart/src/index.d.ts +2 -0
- package/dist/types/components/viz/sankey/src/SankeyDiagram.d.ts +38 -0
- package/dist/types/components/viz/sankey/src/index.d.ts +2 -0
- package/dist/types/components/viz/sunburst/src/Sunburst.d.ts +27 -0
- package/dist/types/components/viz/sunburst/src/index.d.ts +2 -0
- package/dist/types/components/viz/tree-map/src/TreeMap.d.ts +29 -0
- package/dist/types/components/viz/tree-map/src/index.d.ts +2 -0
- package/dist/types/components/viz/us-state-map/src/USStateMap.d.ts +23 -0
- package/dist/types/components/viz/us-state-map/src/index.d.ts +4 -0
- package/dist/types/components/viz/us-state-map/src/us-state-paths.d.ts +10 -0
- package/dist/types/components/viz/vector-field/src/VectorField.d.ts +61 -0
- package/dist/types/components/viz/vector-field/src/index.d.ts +2 -0
- package/dist/types/components/viz/waterfall/src/WaterfallChart.d.ts +32 -0
- package/dist/types/components/viz/waterfall/src/index.d.ts +2 -0
- package/dist/types/components/viz/word-cloud/src/WordCloud.d.ts +30 -0
- package/dist/types/components/viz/word-cloud/src/index.d.ts +2 -0
- package/dist/types/components/viz/wrapper/src/VizWrapper.d.ts +60 -0
- package/dist/types/components/viz/wrapper/src/index.d.ts +2 -0
- package/dist/types/compute/context.d.ts +20 -0
- package/dist/types/compute/context.d.ts.map +1 -0
- package/dist/types/compute/cpu-backend.d.ts +15 -0
- package/dist/types/compute/cpu-backend.d.ts.map +1 -0
- package/dist/types/compute/index.d.ts +3 -0
- package/dist/types/compute/index.d.ts.map +1 -0
- package/dist/types/compute/types.d.ts +57 -0
- package/dist/types/compute/types.d.ts.map +1 -0
- package/dist/types/compute/webgl-backend.d.ts +33 -0
- package/dist/types/compute/webgl-backend.d.ts.map +1 -0
- package/dist/types/compute/webgpu-backend.d.ts +50 -0
- package/dist/types/compute/webgpu-backend.d.ts.map +1 -0
- package/dist/types/context/create-context.d.ts +15 -0
- package/dist/types/context/create-context.d.ts.map +1 -0
- package/dist/types/core/children.d.ts +15 -0
- package/dist/types/core/children.d.ts.map +1 -0
- package/dist/types/core/clone-element.d.ts +10 -0
- package/dist/types/core/clone-element.d.ts.map +1 -0
- package/dist/types/core/create-element.d.ts +20 -0
- package/dist/types/core/create-element.d.ts.map +1 -0
- package/dist/types/core/create-ref.d.ts +7 -0
- package/dist/types/core/create-ref.d.ts.map +1 -0
- package/dist/types/core/fiber.d.ts +30 -0
- package/dist/types/core/fiber.d.ts.map +1 -0
- package/dist/types/core/forward-ref.d.ts +16 -0
- package/dist/types/core/forward-ref.d.ts.map +1 -0
- package/dist/types/core/fragment.d.ts +6 -0
- package/dist/types/core/fragment.d.ts.map +1 -0
- package/dist/types/core/is-valid-element.d.ts +7 -0
- package/dist/types/core/is-valid-element.d.ts.map +1 -0
- package/dist/types/core/lanes.d.ts +47 -0
- package/dist/types/core/lanes.d.ts.map +1 -0
- package/dist/types/core/lazy.d.ts +20 -0
- package/dist/types/core/lazy.d.ts.map +1 -0
- package/dist/types/core/memo.d.ts +13 -0
- package/dist/types/core/memo.d.ts.map +1 -0
- package/dist/types/core/reconciler.d.ts +12 -0
- package/dist/types/core/reconciler.d.ts.map +1 -0
- package/dist/types/core/scheduler-host-config.d.ts +37 -0
- package/dist/types/core/scheduler-host-config.d.ts.map +1 -0
- package/dist/types/core/scheduler.d.ts +29 -0
- package/dist/types/core/scheduler.d.ts.map +1 -0
- package/dist/types/core/src/build/index.d.ts +4 -0
- package/dist/types/core/src/build/noscript-plugin.d.ts +62 -0
- package/dist/types/core/src/build/seo-plugin.d.ts +42 -0
- package/dist/types/core/src/client/graphql.d.ts +63 -0
- package/dist/types/core/src/client/index.d.ts +3 -0
- package/dist/types/core/src/client/protobuf.d.ts +39 -0
- package/dist/types/core/src/client/rest.d.ts +60 -0
- package/dist/types/core/src/components/component.d.ts +38 -0
- package/dist/types/core/src/components/error-boundary.d.ts +22 -0
- package/dist/types/core/src/components/profiler.d.ts +5 -0
- package/dist/types/core/src/components/strict-mode.d.ts +5 -0
- package/dist/types/core/src/components/suspense.d.ts +5 -0
- package/dist/types/core/src/components-barrel.d.ts +100 -0
- package/dist/types/core/src/compute/context.d.ts +19 -0
- package/dist/types/core/src/compute/cpu-backend.d.ts +14 -0
- package/dist/types/core/src/compute/index.d.ts +2 -0
- package/dist/types/core/src/compute/types.d.ts +56 -0
- package/dist/types/core/src/compute/webgl-backend.d.ts +32 -0
- package/dist/types/core/src/compute/webgpu-backend.d.ts +49 -0
- package/dist/types/core/src/context/create-context.d.ts +14 -0
- package/dist/types/core/src/core/children.d.ts +14 -0
- package/dist/types/core/src/core/clone-element.d.ts +9 -0
- package/dist/types/core/src/core/create-element.d.ts +19 -0
- package/dist/types/core/src/core/create-ref.d.ts +6 -0
- package/dist/types/core/src/core/fiber.d.ts +29 -0
- package/dist/types/core/src/core/forward-ref.d.ts +15 -0
- package/dist/types/core/src/core/fragment.d.ts +5 -0
- package/dist/types/core/src/core/is-valid-element.d.ts +6 -0
- package/dist/types/core/src/core/lanes.d.ts +46 -0
- package/dist/types/core/src/core/lazy.d.ts +19 -0
- package/dist/types/core/src/core/memo.d.ts +12 -0
- package/dist/types/core/src/core/reconciler.d.ts +11 -0
- package/dist/types/core/src/core/scheduler-host-config.d.ts +36 -0
- package/dist/types/core/src/core/scheduler.d.ts +28 -0
- package/dist/types/core/src/core/transitions.d.ts +31 -0
- package/dist/types/core/src/devtools/index.d.ts +21 -0
- package/dist/types/core/src/dom/create-portal.d.ts +6 -0
- package/dist/types/core/src/dom/create-root.d.ts +23 -0
- package/dist/types/core/src/dom/flush-sync.d.ts +1 -0
- package/dist/types/core/src/dom/index.d.ts +4 -0
- package/dist/types/core/src/dom/legacy.d.ts +16 -0
- package/dist/types/core/src/dom/synthetic-event.d.ts +90 -0
- package/dist/types/core/src/dom/work-loop.d.ts +34 -0
- package/dist/types/core/src/features/feature-flags.d.ts +38 -0
- package/dist/types/core/src/features/index.d.ts +27 -0
- package/dist/types/core/src/hooks/dispatcher.d.ts +26 -0
- package/dist/types/core/src/hooks/hook-state.d.ts +46 -0
- package/dist/types/core/src/hooks/index.d.ts +47 -0
- package/dist/types/core/src/hooks/install-dispatcher.d.ts +2 -0
- package/dist/types/core/src/hooks/use-head.d.ts +54 -0
- package/dist/types/core/src/index.d.ts +23 -0
- package/dist/types/core/src/jsx-dev-runtime.d.ts +1 -0
- package/dist/types/core/src/jsx-runtime.d.ts +7 -0
- package/dist/types/core/src/router/index.d.ts +12 -0
- package/dist/types/core/src/router/link-component.d.ts +16 -0
- package/dist/types/core/src/router/match-path.d.ts +28 -0
- package/dist/types/core/src/router/route-component.d.ts +12 -0
- package/dist/types/core/src/router/router-component.d.ts +5 -0
- package/dist/types/core/src/router/router-context.d.ts +13 -0
- package/dist/types/core/src/router/router-store.d.ts +22 -0
- package/dist/types/core/src/router/use-navigate.d.ts +4 -0
- package/dist/types/core/src/router/use-params.d.ts +2 -0
- package/dist/types/core/src/router/use-router.d.ts +3 -0
- package/dist/types/core/src/server/index.d.ts +3 -0
- package/dist/types/core/src/server/render-to-pipeable-stream.d.ts +31 -0
- package/dist/types/core/src/server/render-to-readable-stream.d.ts +19 -0
- package/dist/types/core/src/server/render-to-string.d.ts +25 -0
- package/dist/types/core/src/shared/act.d.ts +1 -0
- package/dist/types/core/src/shared/aria-warnings.d.ts +1 -0
- package/dist/types/core/src/shared/async-compute.d.ts +63 -0
- package/dist/types/core/src/shared/component-registry.d.ts +53 -0
- package/dist/types/core/src/shared/render-guard.d.ts +47 -0
- package/dist/types/core/src/shared/secure-fetch.d.ts +21 -0
- package/dist/types/core/src/shared/types.d.ts +127 -0
- package/dist/types/core/src/shared/warnings.d.ts +19 -0
- package/dist/types/core/src/telemetry/index.d.ts +2 -0
- package/dist/types/core/src/telemetry/metrics.d.ts +67 -0
- package/dist/types/core/src/telemetry/tracing.d.ts +95 -0
- package/dist/types/core/transitions.d.ts +32 -0
- package/dist/types/core/transitions.d.ts.map +1 -0
- package/dist/types/devtools/index.d.ts +22 -0
- package/dist/types/devtools/index.d.ts.map +1 -0
- package/dist/types/dom/create-portal.d.ts +7 -0
- package/dist/types/dom/create-portal.d.ts.map +1 -0
- package/dist/types/dom/create-root.d.ts +24 -0
- package/dist/types/dom/create-root.d.ts.map +1 -0
- package/dist/types/dom/flush-sync.d.ts +2 -0
- package/dist/types/dom/flush-sync.d.ts.map +1 -0
- package/dist/types/dom/index.d.ts +5 -0
- package/dist/types/dom/index.d.ts.map +1 -0
- package/dist/types/dom/legacy.d.ts +17 -0
- package/dist/types/dom/legacy.d.ts.map +1 -0
- package/dist/types/dom/synthetic-event.d.ts +91 -0
- package/dist/types/dom/synthetic-event.d.ts.map +1 -0
- package/dist/types/dom/work-loop.d.ts +35 -0
- package/dist/types/dom/work-loop.d.ts.map +1 -0
- package/dist/types/features/feature-flags.d.ts +39 -0
- package/dist/types/features/feature-flags.d.ts.map +1 -0
- package/dist/types/features/index.d.ts +28 -0
- package/dist/types/features/index.d.ts.map +1 -0
- package/dist/types/hooks/dispatcher.d.ts +27 -0
- package/dist/types/hooks/dispatcher.d.ts.map +1 -0
- package/dist/types/hooks/hook-state.d.ts +47 -0
- package/dist/types/hooks/hook-state.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +48 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/install-dispatcher.d.ts +3 -0
- package/dist/types/hooks/install-dispatcher.d.ts.map +1 -0
- package/dist/types/hooks/use-head.d.ts +55 -0
- package/dist/types/hooks/use-head.d.ts.map +1 -0
- package/dist/types/index.d.ts +24 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/jsx-dev-runtime.d.ts +2 -0
- package/dist/types/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/types/jsx-runtime.d.ts +8 -0
- package/dist/types/jsx-runtime.d.ts.map +1 -0
- package/dist/types/router/index.d.ts +13 -0
- package/dist/types/router/index.d.ts.map +1 -0
- package/dist/types/router/link-component.d.ts +17 -0
- package/dist/types/router/link-component.d.ts.map +1 -0
- package/dist/types/router/match-path.d.ts +29 -0
- package/dist/types/router/match-path.d.ts.map +1 -0
- package/dist/types/router/route-component.d.ts +13 -0
- package/dist/types/router/route-component.d.ts.map +1 -0
- package/dist/types/router/router-component.d.ts +6 -0
- package/dist/types/router/router-component.d.ts.map +1 -0
- package/dist/types/router/router-context.d.ts +14 -0
- package/dist/types/router/router-context.d.ts.map +1 -0
- package/dist/types/router/router-store.d.ts +23 -0
- package/dist/types/router/router-store.d.ts.map +1 -0
- package/dist/types/router/use-navigate.d.ts +5 -0
- package/dist/types/router/use-navigate.d.ts.map +1 -0
- package/dist/types/router/use-params.d.ts +3 -0
- package/dist/types/router/use-params.d.ts.map +1 -0
- package/dist/types/router/use-router.d.ts +4 -0
- package/dist/types/router/use-router.d.ts.map +1 -0
- package/dist/types/server/index.d.ts +4 -0
- package/dist/types/server/index.d.ts.map +1 -0
- package/dist/types/server/render-to-pipeable-stream.d.ts +32 -0
- package/dist/types/server/render-to-pipeable-stream.d.ts.map +1 -0
- package/dist/types/server/render-to-readable-stream.d.ts +20 -0
- package/dist/types/server/render-to-readable-stream.d.ts.map +1 -0
- package/dist/types/server/render-to-string.d.ts +26 -0
- package/dist/types/server/render-to-string.d.ts.map +1 -0
- package/dist/types/shared/act.d.ts +2 -0
- package/dist/types/shared/act.d.ts.map +1 -0
- package/dist/types/shared/aria-warnings.d.ts +2 -0
- package/dist/types/shared/aria-warnings.d.ts.map +1 -0
- package/dist/types/shared/async-compute.d.ts +64 -0
- package/dist/types/shared/async-compute.d.ts.map +1 -0
- package/dist/types/shared/component-registry.d.ts +54 -0
- package/dist/types/shared/component-registry.d.ts.map +1 -0
- package/dist/types/shared/render-guard.d.ts +48 -0
- package/dist/types/shared/render-guard.d.ts.map +1 -0
- package/dist/types/shared/secure-fetch.d.ts +22 -0
- package/dist/types/shared/secure-fetch.d.ts.map +1 -0
- package/dist/types/shared/types.d.ts +128 -0
- package/dist/types/shared/types.d.ts.map +1 -0
- package/dist/types/shared/warnings.d.ts +20 -0
- package/dist/types/shared/warnings.d.ts.map +1 -0
- package/dist/types/telemetry/index.d.ts +3 -0
- package/dist/types/telemetry/index.d.ts.map +1 -0
- package/dist/types/telemetry/metrics.d.ts +68 -0
- package/dist/types/telemetry/metrics.d.ts.map +1 -0
- package/dist/types/telemetry/tracing.d.ts +96 -0
- package/dist/types/telemetry/tracing.d.ts.map +1 -0
- package/package.json +8 -17
|
@@ -1,3334 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
interface AnalogClockProps {
|
|
4
|
-
/** Display format: '12h' or '24h' — in 24h, show 0-23 hour numbers */
|
|
5
|
-
format?: '12h' | '24h';
|
|
6
|
-
/** Clock face size in pixels */
|
|
7
|
-
size?: number;
|
|
8
|
-
/** Show date below the clock */
|
|
9
|
-
showDate?: boolean;
|
|
10
|
-
/** Date format: 'short' (MM/DD/YYYY), 'long' (Month DD, YYYY), 'iso' (YYYY-MM-DD) */
|
|
11
|
-
dateFormat?: 'short' | 'long' | 'iso';
|
|
12
|
-
/** Show second hand */
|
|
13
|
-
showSeconds?: boolean;
|
|
14
|
-
/** Custom timezone */
|
|
15
|
-
timezone?: string;
|
|
16
|
-
/** CSS className */
|
|
17
|
-
className?: string;
|
|
18
|
-
}
|
|
19
|
-
declare function AnalogClock(props: AnalogClockProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
20
|
-
|
|
21
|
-
interface AvatarProps {
|
|
22
|
-
/** Image source URL */
|
|
23
|
-
src?: string;
|
|
24
|
-
/** Alt text for image */
|
|
25
|
-
alt?: string;
|
|
26
|
-
/** User's name (used to generate initials fallback) */
|
|
27
|
-
name?: string;
|
|
28
|
-
/** Size preset or pixel number */
|
|
29
|
-
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
|
|
30
|
-
/** Shape of the avatar */
|
|
31
|
-
shape?: 'circle' | 'square';
|
|
32
|
-
/** Background color for initials/fallback */
|
|
33
|
-
fallbackColor?: string;
|
|
34
|
-
/** Online status indicator */
|
|
35
|
-
status?: 'online' | 'offline' | 'busy' | 'away';
|
|
36
|
-
/** Position of the status dot */
|
|
37
|
-
statusPosition?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
|
|
38
|
-
}
|
|
39
|
-
declare function Avatar(props: AvatarProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
40
|
-
|
|
41
|
-
interface BadgeProps {
|
|
42
|
-
/** Numeric count to display */
|
|
43
|
-
count?: number;
|
|
44
|
-
/** Maximum count before showing "N+" */
|
|
45
|
-
max?: number;
|
|
46
|
-
/** Show a dot instead of a count */
|
|
47
|
-
dot?: boolean;
|
|
48
|
-
/** Badge color */
|
|
49
|
-
color?: string;
|
|
50
|
-
/** Size preset */
|
|
51
|
-
size?: 'sm' | 'md' | 'lg';
|
|
52
|
-
/** Visual variant */
|
|
53
|
-
variant?: 'solid' | 'outline';
|
|
54
|
-
/** Child element to overlay the badge on */
|
|
55
|
-
children?: unknown;
|
|
56
|
-
}
|
|
57
|
-
declare function Badge(props: BadgeProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
58
|
-
|
|
59
|
-
interface DataGridColumn {
|
|
60
|
-
/** Property key in the row data */
|
|
61
|
-
key: string;
|
|
62
|
-
/** Display header text */
|
|
63
|
-
header: string;
|
|
64
|
-
/** Column width (CSS value) */
|
|
65
|
-
width?: string;
|
|
66
|
-
/** Whether this column is sortable */
|
|
67
|
-
sortable?: boolean;
|
|
68
|
-
/** Whether this column shows a filter input */
|
|
69
|
-
filterable?: boolean;
|
|
70
|
-
/** Custom cell renderer */
|
|
71
|
-
render?: (value: unknown, row: Record<string, unknown>) => unknown;
|
|
72
|
-
}
|
|
73
|
-
interface DataGridProps {
|
|
74
|
-
/** Column definitions */
|
|
75
|
-
columns: DataGridColumn[];
|
|
76
|
-
/** Row data */
|
|
77
|
-
data: Record<string, unknown>[];
|
|
78
|
-
/** Rows per page (enables pagination when set) */
|
|
79
|
-
pageSize?: number;
|
|
80
|
-
/** Current page index (0-based) */
|
|
81
|
-
currentPage?: number;
|
|
82
|
-
/** Page change handler */
|
|
83
|
-
onPageChange?: (page: number) => void;
|
|
84
|
-
/** Current sort column key */
|
|
85
|
-
sortBy?: string;
|
|
86
|
-
/** Sort direction */
|
|
87
|
-
sortDir?: 'asc' | 'desc';
|
|
88
|
-
/** Sort change handler */
|
|
89
|
-
onSort?: (columnKey: string, direction: 'asc' | 'desc') => void;
|
|
90
|
-
/** Enable row selection checkboxes */
|
|
91
|
-
selectable?: boolean;
|
|
92
|
-
/** Currently selected row indices */
|
|
93
|
-
selectedRows?: number[];
|
|
94
|
-
/** Selection change handler */
|
|
95
|
-
onSelectionChange?: (selectedIndices: number[]) => void;
|
|
96
|
-
/** Alternate row background colors */
|
|
97
|
-
striped?: boolean;
|
|
98
|
-
/** Show cell borders */
|
|
99
|
-
bordered?: boolean;
|
|
100
|
-
/** Compact row height */
|
|
101
|
-
compact?: boolean;
|
|
102
|
-
/** Sticky header on scroll */
|
|
103
|
-
stickyHeader?: boolean;
|
|
104
|
-
}
|
|
105
|
-
declare function DataGrid(props: DataGridProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
106
|
-
|
|
107
|
-
interface DigitalClockProps {
|
|
108
|
-
/** Display format: '12h' for AM/PM or '24h' for 24-hour */
|
|
109
|
-
format?: '12h' | '24h';
|
|
110
|
-
/** Show date display */
|
|
111
|
-
showDate?: boolean;
|
|
112
|
-
/** Date format: 'short' (MM/DD/YYYY), 'long' (Month DD, YYYY), 'iso' (YYYY-MM-DD) */
|
|
113
|
-
dateFormat?: 'short' | 'long' | 'iso';
|
|
114
|
-
/** Show seconds */
|
|
115
|
-
showSeconds?: boolean;
|
|
116
|
-
/** Custom timezone (e.g., 'America/New_York') */
|
|
117
|
-
timezone?: string;
|
|
118
|
-
/** CSS className */
|
|
119
|
-
className?: string;
|
|
120
|
-
}
|
|
121
|
-
declare function DigitalClock(props: DigitalClockProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
122
|
-
|
|
123
|
-
interface ListViewProps {
|
|
124
|
-
/** Array of items to render */
|
|
125
|
-
items: unknown[];
|
|
126
|
-
/** Render function for each item */
|
|
127
|
-
renderItem: (item: unknown, index: number) => unknown;
|
|
128
|
-
/** Unique key extractor per item */
|
|
129
|
-
keyExtractor: (item: unknown, index: number) => string;
|
|
130
|
-
/** Show divider between items */
|
|
131
|
-
divider?: boolean;
|
|
132
|
-
/** Highlight items on hover */
|
|
133
|
-
hoverable?: boolean;
|
|
134
|
-
/** Currently selected item index */
|
|
135
|
-
selectedIndex?: number;
|
|
136
|
-
/** Selection handler */
|
|
137
|
-
onSelect?: (index: number) => void;
|
|
138
|
-
/** Message shown when items is empty */
|
|
139
|
-
emptyMessage?: string;
|
|
140
|
-
/** Optional header element */
|
|
141
|
-
header?: unknown;
|
|
142
|
-
/** Optional footer element */
|
|
143
|
-
footer?: unknown;
|
|
144
|
-
}
|
|
145
|
-
declare function ListView(props: ListViewProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
146
|
-
|
|
147
|
-
interface TagProps {
|
|
148
|
-
/** Tag label text */
|
|
149
|
-
label: string;
|
|
150
|
-
/** Color theme (CSS color or named color) */
|
|
151
|
-
color?: string;
|
|
152
|
-
/** Visual variant */
|
|
153
|
-
variant?: 'solid' | 'outline' | 'subtle';
|
|
154
|
-
/** Size preset */
|
|
155
|
-
size?: 'sm' | 'md' | 'lg';
|
|
156
|
-
/** Show remove/close button */
|
|
157
|
-
removable?: boolean;
|
|
158
|
-
/** Remove button handler */
|
|
159
|
-
onRemove?: () => void;
|
|
160
|
-
/** Leading icon element */
|
|
161
|
-
icon?: unknown;
|
|
162
|
-
/** Click handler (makes tag interactive) */
|
|
163
|
-
onClick?: () => void;
|
|
164
|
-
/** Disabled state */
|
|
165
|
-
disabled?: boolean;
|
|
166
|
-
}
|
|
167
|
-
declare function Tag(props: TagProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
168
|
-
|
|
169
|
-
interface VirtualScrollProps {
|
|
170
|
-
/** Full array of items */
|
|
171
|
-
items: unknown[];
|
|
172
|
-
/** Render function for a single item */
|
|
173
|
-
renderItem: (item: unknown, index: number) => unknown;
|
|
174
|
-
/** Fixed height of each item in pixels */
|
|
175
|
-
itemHeight: number;
|
|
176
|
-
/** Extra items rendered above/below the viewport */
|
|
177
|
-
overscan?: number;
|
|
178
|
-
/** Container height (CSS value, e.g. '400px' or '100%') */
|
|
179
|
-
height: string;
|
|
180
|
-
}
|
|
181
|
-
declare function VirtualScroll(props: VirtualScrollProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
182
|
-
|
|
183
|
-
interface AlertAction {
|
|
184
|
-
label: string;
|
|
185
|
-
onClick: () => void;
|
|
186
|
-
}
|
|
187
|
-
interface AlertProps {
|
|
188
|
-
/** Alert severity type */
|
|
189
|
-
type?: 'info' | 'success' | 'warning' | 'error';
|
|
190
|
-
/** Alert title */
|
|
191
|
-
title?: string;
|
|
192
|
-
/** Alert message (children) */
|
|
193
|
-
message?: unknown;
|
|
194
|
-
/** Children alias for message */
|
|
195
|
-
children?: unknown;
|
|
196
|
-
/** Show close button */
|
|
197
|
-
closable?: boolean;
|
|
198
|
-
/** Close callback */
|
|
199
|
-
onClose?: () => void;
|
|
200
|
-
/** Custom icon text/emoji; auto-selected by type if omitted */
|
|
201
|
-
icon?: string;
|
|
202
|
-
/** Style variant */
|
|
203
|
-
variant?: 'filled' | 'outline' | 'subtle';
|
|
204
|
-
/** Optional action button */
|
|
205
|
-
action?: AlertAction;
|
|
206
|
-
}
|
|
207
|
-
declare function Alert(props: AlertProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props> | null;
|
|
208
|
-
|
|
209
|
-
interface EmptyStateAction {
|
|
210
|
-
label: string;
|
|
211
|
-
onClick: () => void;
|
|
212
|
-
}
|
|
213
|
-
interface EmptyStateProps {
|
|
214
|
-
/** Large icon or emoji displayed at the top */
|
|
215
|
-
icon?: string;
|
|
216
|
-
/** Title text */
|
|
217
|
-
title?: string;
|
|
218
|
-
/** Description text */
|
|
219
|
-
description?: string;
|
|
220
|
-
/** Call-to-action button */
|
|
221
|
-
action?: EmptyStateAction;
|
|
222
|
-
/** Image URL displayed instead of / above the icon */
|
|
223
|
-
image?: string;
|
|
224
|
-
}
|
|
225
|
-
declare function EmptyState(props: EmptyStateProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
226
|
-
|
|
227
|
-
interface ProgressBarProps {
|
|
228
|
-
/** Current progress value (0-100) */
|
|
229
|
-
value?: number;
|
|
230
|
-
/** Maximum value (default: 100) */
|
|
231
|
-
max?: number;
|
|
232
|
-
/** Fill color */
|
|
233
|
-
color?: string;
|
|
234
|
-
/** Track background color */
|
|
235
|
-
backgroundColor?: string;
|
|
236
|
-
/** Bar height (CSS value) */
|
|
237
|
-
height?: string;
|
|
238
|
-
/** Show percentage label */
|
|
239
|
-
showLabel?: boolean;
|
|
240
|
-
/** Enable shimmer animation on the filled portion */
|
|
241
|
-
animated?: boolean;
|
|
242
|
-
/** Display variant */
|
|
243
|
-
variant?: 'bar' | 'circular';
|
|
244
|
-
/** Size for circular variant or bar height shorthand */
|
|
245
|
-
size?: number | string;
|
|
246
|
-
/** Indeterminate mode -- animated without a specific value */
|
|
247
|
-
indeterminate?: boolean;
|
|
248
|
-
}
|
|
249
|
-
declare function ProgressBar(props: ProgressBarProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
250
|
-
|
|
251
|
-
interface SkeletonProps {
|
|
252
|
-
/** Shape variant */
|
|
253
|
-
variant?: 'text' | 'circular' | 'rectangular';
|
|
254
|
-
/** Width (CSS value) */
|
|
255
|
-
width?: string | number;
|
|
256
|
-
/** Height (CSS value) */
|
|
257
|
-
height?: string | number;
|
|
258
|
-
/** Number of text lines to render (text variant only) */
|
|
259
|
-
lines?: number;
|
|
260
|
-
/** Enable shimmer animation (default: true) */
|
|
261
|
-
animated?: boolean;
|
|
262
|
-
/** Border radius (CSS value) */
|
|
263
|
-
borderRadius?: string;
|
|
264
|
-
}
|
|
265
|
-
declare function Skeleton(props: SkeletonProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
266
|
-
|
|
267
|
-
interface SpinnerProps {
|
|
268
|
-
/** Spinner size: preset name or pixel number */
|
|
269
|
-
size?: 'sm' | 'md' | 'lg' | number;
|
|
270
|
-
/** Spinner color */
|
|
271
|
-
color?: string;
|
|
272
|
-
/** Stroke thickness in pixels */
|
|
273
|
-
thickness?: number;
|
|
274
|
-
/** Animation speed */
|
|
275
|
-
speed?: 'slow' | 'normal' | 'fast';
|
|
276
|
-
/** Accessible label for screen readers */
|
|
277
|
-
label?: string;
|
|
278
|
-
}
|
|
279
|
-
declare function Spinner(props: SpinnerProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
280
|
-
|
|
281
|
-
interface CheckboxProps {
|
|
282
|
-
/** Whether checkbox is checked */
|
|
283
|
-
checked: boolean;
|
|
284
|
-
/** Change handler */
|
|
285
|
-
onChange: (checked: boolean) => void;
|
|
286
|
-
/** Label text */
|
|
287
|
-
label?: string;
|
|
288
|
-
/** Indeterminate state (overrides checkmark display) */
|
|
289
|
-
indeterminate?: boolean;
|
|
290
|
-
/** Disabled state */
|
|
291
|
-
disabled?: boolean;
|
|
292
|
-
/** Error message */
|
|
293
|
-
error?: string;
|
|
294
|
-
/** Size variant */
|
|
295
|
-
size?: 'sm' | 'md' | 'lg';
|
|
296
|
-
/** HTML id for the input element */
|
|
297
|
-
id?: string;
|
|
298
|
-
}
|
|
299
|
-
declare function Checkbox(props: CheckboxProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
300
|
-
|
|
301
|
-
interface ColorPickerProps {
|
|
302
|
-
/** Current color value as hex string (e.g. '#ff0000') */
|
|
303
|
-
value: string;
|
|
304
|
-
/** Change handler, receives hex string */
|
|
305
|
-
onChange: (value: string) => void;
|
|
306
|
-
/** Preset color swatches */
|
|
307
|
-
presets?: string[];
|
|
308
|
-
/** Show hex text input */
|
|
309
|
-
showInput?: boolean;
|
|
310
|
-
/** Show alpha/opacity slider (future: reserved) */
|
|
311
|
-
showAlpha?: boolean;
|
|
312
|
-
/** Disabled state */
|
|
313
|
-
disabled?: boolean;
|
|
314
|
-
/** Label text */
|
|
315
|
-
label?: string;
|
|
316
|
-
/** HTML id for the input element */
|
|
317
|
-
id?: string;
|
|
318
|
-
}
|
|
319
|
-
declare function ColorPicker(props: ColorPickerProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
320
|
-
|
|
321
|
-
interface ColorWheelProps {
|
|
322
|
-
/** Current color value (hex string) */
|
|
323
|
-
value?: string;
|
|
324
|
-
/** Called when color changes */
|
|
325
|
-
onChange?: (color: string) => void;
|
|
326
|
-
/** Swatch size in pixels (default: 32) */
|
|
327
|
-
size?: number;
|
|
328
|
-
/** Whether to show hex label below swatch (default: true) */
|
|
329
|
-
showLabel?: boolean;
|
|
330
|
-
/** Disabled state */
|
|
331
|
-
disabled?: boolean;
|
|
332
|
-
/** Label text */
|
|
333
|
-
label?: string;
|
|
334
|
-
/** HTML id for the input element */
|
|
335
|
-
id?: string;
|
|
336
|
-
}
|
|
337
|
-
declare function ColorWheel(props: ColorWheelProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
338
|
-
|
|
339
|
-
interface DatePickerProps {
|
|
340
|
-
/** Current value (Date object or 'YYYY-MM-DD' string) */
|
|
341
|
-
value: Date | string | null;
|
|
342
|
-
/** Change handler, receives ISO date string */
|
|
343
|
-
onChange: (value: string) => void;
|
|
344
|
-
/** Display format (default 'YYYY-MM-DD') */
|
|
345
|
-
format?: string;
|
|
346
|
-
/** Earliest selectable date */
|
|
347
|
-
minDate?: Date | string;
|
|
348
|
-
/** Latest selectable date */
|
|
349
|
-
maxDate?: Date | string;
|
|
350
|
-
/** Disabled state */
|
|
351
|
-
disabled?: boolean;
|
|
352
|
-
/** Placeholder text */
|
|
353
|
-
placeholder?: string;
|
|
354
|
-
/** Label text */
|
|
355
|
-
label?: string;
|
|
356
|
-
/** Error message */
|
|
357
|
-
error?: string;
|
|
358
|
-
/** HTML id for the input element */
|
|
359
|
-
id?: string;
|
|
360
|
-
}
|
|
361
|
-
declare function DatePicker(props: DatePickerProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
362
|
-
|
|
363
|
-
interface FileUploadProps {
|
|
364
|
-
/** Change handler, receives array of selected files */
|
|
365
|
-
onChange: (files: File[]) => void;
|
|
366
|
-
/** Accepted file types (e.g. 'image/*,.pdf') */
|
|
367
|
-
accept?: string;
|
|
368
|
-
/** Allow multiple file selection */
|
|
369
|
-
multiple?: boolean;
|
|
370
|
-
/** Maximum file size in bytes */
|
|
371
|
-
maxSize?: number;
|
|
372
|
-
/** Disabled state */
|
|
373
|
-
disabled?: boolean;
|
|
374
|
-
/** Label text */
|
|
375
|
-
label?: string;
|
|
376
|
-
/** Help text */
|
|
377
|
-
helpText?: string;
|
|
378
|
-
/** HTML id for the input element */
|
|
379
|
-
id?: string;
|
|
380
|
-
}
|
|
381
|
-
declare function FileUpload(props: FileUploadProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
382
|
-
|
|
383
|
-
interface FormFieldWrapperStyle {
|
|
384
|
-
/** Container font family */
|
|
385
|
-
fontFamily?: string;
|
|
386
|
-
/** Container font size (default: '14px') */
|
|
387
|
-
fontSize?: string;
|
|
388
|
-
/** Label color (default: '#374151') */
|
|
389
|
-
labelColor?: string;
|
|
390
|
-
/** Label font weight (default: '500') */
|
|
391
|
-
labelFontWeight?: string;
|
|
392
|
-
/** Label font size (default: '14px') */
|
|
393
|
-
labelFontSize?: string;
|
|
394
|
-
/** Help text color (default: '#6b7280') */
|
|
395
|
-
helpColor?: string;
|
|
396
|
-
/** Error text color (default: '#ef4444') */
|
|
397
|
-
errorColor?: string;
|
|
398
|
-
/** Error border color applied to child (default: '#ef4444') */
|
|
399
|
-
errorBorderColor?: string;
|
|
400
|
-
/** Focus border color hint (default: '#3b82f6') */
|
|
401
|
-
focusBorderColor?: string;
|
|
402
|
-
/** Gap between label/field/help (default: '4px') */
|
|
403
|
-
gap?: string;
|
|
404
|
-
/** Width (default: '100%') */
|
|
405
|
-
width?: string | number;
|
|
406
|
-
/** Custom overrides */
|
|
407
|
-
custom?: Record<string, string>;
|
|
408
|
-
}
|
|
409
|
-
interface FormFieldWrapperProps {
|
|
410
|
-
/** Label text */
|
|
411
|
-
label?: string;
|
|
412
|
-
/** HTML id to link label to input via htmlFor */
|
|
413
|
-
htmlFor?: string;
|
|
414
|
-
/** Help / description text shown below the field */
|
|
415
|
-
helpText?: string;
|
|
416
|
-
/** Error message — when set, field enters error state */
|
|
417
|
-
error?: string;
|
|
418
|
-
/** Show required asterisk (default: false) */
|
|
419
|
-
required?: boolean;
|
|
420
|
-
/** Disabled state (default: false) */
|
|
421
|
-
disabled?: boolean;
|
|
422
|
-
/** Styling */
|
|
423
|
-
styling?: FormFieldWrapperStyle;
|
|
424
|
-
/** Extra class */
|
|
425
|
-
className?: string;
|
|
426
|
-
/** The form control (children) */
|
|
427
|
-
children?: unknown;
|
|
428
|
-
}
|
|
429
|
-
declare function FormFieldWrapper(props: FormFieldWrapperProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
430
|
-
/**
|
|
431
|
-
* Shared input styling builder used by textfield, multiline, texteditor.
|
|
432
|
-
*/
|
|
433
|
-
interface InputBaseStyle {
|
|
434
|
-
padding?: string;
|
|
435
|
-
border?: string;
|
|
436
|
-
borderRadius?: string;
|
|
437
|
-
fontSize?: string;
|
|
438
|
-
fontFamily?: string;
|
|
439
|
-
backgroundColor?: string;
|
|
440
|
-
color?: string;
|
|
441
|
-
focusBorderColor?: string;
|
|
442
|
-
errorBorderColor?: string;
|
|
443
|
-
transition?: string;
|
|
444
|
-
custom?: Record<string, string>;
|
|
445
|
-
}
|
|
446
|
-
declare function buildInputStyle(s: InputBaseStyle, state: {
|
|
447
|
-
focused: boolean;
|
|
448
|
-
error: boolean;
|
|
449
|
-
}): Record<string, string>;
|
|
450
|
-
|
|
451
|
-
interface MultilineFieldProps {
|
|
452
|
-
/** Current value (controlled) */
|
|
453
|
-
value?: string;
|
|
454
|
-
/** Default value (uncontrolled) */
|
|
455
|
-
defaultValue?: string;
|
|
456
|
-
/** Change handler */
|
|
457
|
-
onChange?: (value: string) => void;
|
|
458
|
-
/** Blur handler */
|
|
459
|
-
onBlur?: (value: string) => void;
|
|
460
|
-
/** Placeholder */
|
|
461
|
-
placeholder?: string;
|
|
462
|
-
/** HTML name */
|
|
463
|
-
name?: string;
|
|
464
|
-
/** HTML id */
|
|
465
|
-
id?: string;
|
|
466
|
-
/** Number of visible rows (default: 4) */
|
|
467
|
-
rows?: number;
|
|
468
|
-
/** Max length */
|
|
469
|
-
maxLength?: number;
|
|
470
|
-
/** Auto-resize to fit content (default: false) */
|
|
471
|
-
autoResize?: boolean;
|
|
472
|
-
/** Min height when auto-resizing */
|
|
473
|
-
minHeight?: string;
|
|
474
|
-
/** Max height when auto-resizing */
|
|
475
|
-
maxHeight?: string;
|
|
476
|
-
/** Read-only */
|
|
477
|
-
readOnly?: boolean;
|
|
478
|
-
/** Disabled */
|
|
479
|
-
disabled?: boolean;
|
|
480
|
-
/** Show character count (default: false) */
|
|
481
|
-
showCount?: boolean;
|
|
482
|
-
label?: string;
|
|
483
|
-
helpText?: string;
|
|
484
|
-
error?: string;
|
|
485
|
-
required?: boolean;
|
|
486
|
-
wrapperStyle?: FormFieldWrapperStyle;
|
|
487
|
-
inputStyle?: InputBaseStyle;
|
|
488
|
-
className?: string;
|
|
489
|
-
}
|
|
490
|
-
declare function MultilineField(props: MultilineFieldProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
491
|
-
|
|
492
|
-
interface NumberSpinnerProps {
|
|
493
|
-
/** Current numeric value */
|
|
494
|
-
value: number;
|
|
495
|
-
/** Change handler */
|
|
496
|
-
onChange: (value: number) => void;
|
|
497
|
-
/** Minimum allowed value */
|
|
498
|
-
min?: number;
|
|
499
|
-
/** Maximum allowed value */
|
|
500
|
-
max?: number;
|
|
501
|
-
/** Step increment */
|
|
502
|
-
step?: number;
|
|
503
|
-
/** Disabled state */
|
|
504
|
-
disabled?: boolean;
|
|
505
|
-
/** Prefix text (e.g. '$') */
|
|
506
|
-
prefix?: string;
|
|
507
|
-
/** Suffix text (e.g. 'kg') */
|
|
508
|
-
suffix?: string;
|
|
509
|
-
/** Label text */
|
|
510
|
-
label?: string;
|
|
511
|
-
/** Error message */
|
|
512
|
-
error?: string;
|
|
513
|
-
/** HTML id for the input element */
|
|
514
|
-
id?: string;
|
|
515
|
-
}
|
|
516
|
-
declare function NumberSpinner(props: NumberSpinnerProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
517
|
-
|
|
518
|
-
interface RadioOption {
|
|
519
|
-
value: string;
|
|
520
|
-
label: string;
|
|
521
|
-
disabled?: boolean;
|
|
522
|
-
}
|
|
523
|
-
interface RadioGroupProps {
|
|
524
|
-
/** Available options */
|
|
525
|
-
options: RadioOption[];
|
|
526
|
-
/** Currently selected value */
|
|
527
|
-
value: string;
|
|
528
|
-
/** Change handler */
|
|
529
|
-
onChange: (value: string) => void;
|
|
530
|
-
/** Name attribute for the radio group */
|
|
531
|
-
name: string;
|
|
532
|
-
/** Layout direction */
|
|
533
|
-
direction?: 'horizontal' | 'vertical';
|
|
534
|
-
/** Disabled state for entire group */
|
|
535
|
-
disabled?: boolean;
|
|
536
|
-
/** Error message */
|
|
537
|
-
error?: string;
|
|
538
|
-
/** Label for the group */
|
|
539
|
-
label?: string;
|
|
540
|
-
/** HTML id for the radio group */
|
|
541
|
-
id?: string;
|
|
542
|
-
}
|
|
543
|
-
declare function RadioGroup(props: RadioGroupProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
544
|
-
|
|
545
|
-
interface SelectOption {
|
|
546
|
-
value: string;
|
|
547
|
-
label: string;
|
|
548
|
-
disabled?: boolean;
|
|
549
|
-
group?: string;
|
|
550
|
-
}
|
|
551
|
-
interface SelectProps {
|
|
552
|
-
/** Available options */
|
|
553
|
-
options: SelectOption[];
|
|
554
|
-
/** Current selected value (string for single, string[] for multiple) */
|
|
555
|
-
value: string | string[];
|
|
556
|
-
/** Change handler */
|
|
557
|
-
onChange: (value: string | string[]) => void;
|
|
558
|
-
/** Placeholder text */
|
|
559
|
-
placeholder?: string;
|
|
560
|
-
/** Enable search/filter by typing */
|
|
561
|
-
searchable?: boolean;
|
|
562
|
-
/** Allow multiple selection */
|
|
563
|
-
multiple?: boolean;
|
|
564
|
-
/** Show clear button */
|
|
565
|
-
clearable?: boolean;
|
|
566
|
-
/** Disabled state */
|
|
567
|
-
disabled?: boolean;
|
|
568
|
-
/** Error message */
|
|
569
|
-
error?: string;
|
|
570
|
-
/** Label text */
|
|
571
|
-
label?: string;
|
|
572
|
-
/** Help text */
|
|
573
|
-
helpText?: string;
|
|
574
|
-
/** HTML id for the input element */
|
|
575
|
-
id?: string;
|
|
576
|
-
}
|
|
577
|
-
declare function Select(props: SelectProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
578
|
-
|
|
579
|
-
interface SliderMark {
|
|
580
|
-
value: number;
|
|
581
|
-
label: string;
|
|
582
|
-
}
|
|
583
|
-
interface SliderProps {
|
|
584
|
-
/** Current value (number for single, [number, number] for range) */
|
|
585
|
-
value: number | [number, number];
|
|
586
|
-
/** Change handler */
|
|
587
|
-
onChange: (value: number | [number, number]) => void;
|
|
588
|
-
/** Minimum value */
|
|
589
|
-
min?: number;
|
|
590
|
-
/** Maximum value */
|
|
591
|
-
max?: number;
|
|
592
|
-
/** Step increment */
|
|
593
|
-
step?: number;
|
|
594
|
-
/** Show current value label above thumb */
|
|
595
|
-
showValue?: boolean;
|
|
596
|
-
/** Show tick marks at each step */
|
|
597
|
-
showTicks?: boolean;
|
|
598
|
-
/** Disabled state */
|
|
599
|
-
disabled?: boolean;
|
|
600
|
-
/** Named marks along the track */
|
|
601
|
-
marks?: SliderMark[];
|
|
602
|
-
/** Enable range mode (dual handles) */
|
|
603
|
-
range?: boolean;
|
|
604
|
-
/** Label text */
|
|
605
|
-
label?: string;
|
|
606
|
-
/** Error message */
|
|
607
|
-
error?: string;
|
|
608
|
-
/** HTML id for the input element */
|
|
609
|
-
id?: string;
|
|
610
|
-
}
|
|
611
|
-
declare function Slider(props: SliderProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
612
|
-
|
|
613
|
-
interface TextEditorProps {
|
|
614
|
-
/** Initial HTML content */
|
|
615
|
-
value?: string;
|
|
616
|
-
/** Change handler — receives HTML string */
|
|
617
|
-
onChange?: (html: string) => void;
|
|
618
|
-
/** Blur handler */
|
|
619
|
-
onBlur?: (html: string) => void;
|
|
620
|
-
/** Placeholder text */
|
|
621
|
-
placeholder?: string;
|
|
622
|
-
/** Minimum height of editing area (default: '200px') */
|
|
623
|
-
minHeight?: string;
|
|
624
|
-
/** Maximum height (default: none — grows to fit) */
|
|
625
|
-
maxHeight?: string;
|
|
626
|
-
/** Read-only */
|
|
627
|
-
readOnly?: boolean;
|
|
628
|
-
/** Disabled */
|
|
629
|
-
disabled?: boolean;
|
|
630
|
-
/** Which toolbar buttons to show (default: all) */
|
|
631
|
-
toolbar?: ToolbarButton[];
|
|
632
|
-
/** HTML id */
|
|
633
|
-
id?: string;
|
|
634
|
-
toolbarStyle?: {
|
|
635
|
-
backgroundColor?: string;
|
|
636
|
-
borderBottom?: string;
|
|
637
|
-
buttonColor?: string;
|
|
638
|
-
buttonHoverBackground?: string;
|
|
639
|
-
buttonActiveBackground?: string;
|
|
640
|
-
buttonSize?: string;
|
|
641
|
-
};
|
|
642
|
-
editorStyle?: {
|
|
643
|
-
padding?: string;
|
|
644
|
-
backgroundColor?: string;
|
|
645
|
-
color?: string;
|
|
646
|
-
fontFamily?: string;
|
|
647
|
-
fontSize?: string;
|
|
648
|
-
lineHeight?: string;
|
|
649
|
-
};
|
|
650
|
-
label?: string;
|
|
651
|
-
helpText?: string;
|
|
652
|
-
error?: string;
|
|
653
|
-
required?: boolean;
|
|
654
|
-
wrapperStyle?: FormFieldWrapperStyle;
|
|
655
|
-
}
|
|
656
|
-
type ToolbarButton = 'bold' | 'italic' | 'underline' | 'strikethrough' | 'heading1' | 'heading2' | 'heading3' | 'bulletList' | 'orderedList' | 'blockquote' | 'link' | 'unlink' | 'insertHR' | 'removeFormat' | 'undo' | 'redo';
|
|
657
|
-
declare function TextEditor(props: TextEditorProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
658
|
-
|
|
659
|
-
interface TextFieldProps {
|
|
660
|
-
/** Current value (controlled) */
|
|
661
|
-
value?: string;
|
|
662
|
-
/** Default value (uncontrolled) */
|
|
663
|
-
defaultValue?: string;
|
|
664
|
-
/** Change handler */
|
|
665
|
-
onChange?: (value: string) => void;
|
|
666
|
-
/** Input event handler (fires on every keystroke) */
|
|
667
|
-
onInput?: (value: string) => void;
|
|
668
|
-
/** Blur handler */
|
|
669
|
-
onBlur?: (value: string) => void;
|
|
670
|
-
/** Enter key handler */
|
|
671
|
-
onEnter?: (value: string) => void;
|
|
672
|
-
/** Placeholder text */
|
|
673
|
-
placeholder?: string;
|
|
674
|
-
/** Input type (default: 'text') */
|
|
675
|
-
type?: 'text' | 'password' | 'email' | 'url' | 'tel' | 'search' | 'number';
|
|
676
|
-
/** HTML name attribute */
|
|
677
|
-
name?: string;
|
|
678
|
-
/** HTML id */
|
|
679
|
-
id?: string;
|
|
680
|
-
/** Max length */
|
|
681
|
-
maxLength?: number;
|
|
682
|
-
/** Pattern for validation */
|
|
683
|
-
pattern?: string;
|
|
684
|
-
/** Auto-complete hint */
|
|
685
|
-
autoComplete?: string;
|
|
686
|
-
/** Autofocus on mount */
|
|
687
|
-
autoFocus?: boolean;
|
|
688
|
-
/** Read-only */
|
|
689
|
-
readOnly?: boolean;
|
|
690
|
-
/** Disabled */
|
|
691
|
-
disabled?: boolean;
|
|
692
|
-
/** Prefix element (icon, text) */
|
|
693
|
-
prefix?: unknown;
|
|
694
|
-
/** Suffix element (icon, button) */
|
|
695
|
-
suffix?: unknown;
|
|
696
|
-
label?: string;
|
|
697
|
-
helpText?: string;
|
|
698
|
-
error?: string;
|
|
699
|
-
required?: boolean;
|
|
700
|
-
wrapperStyle?: FormFieldWrapperStyle;
|
|
701
|
-
inputStyle?: InputBaseStyle;
|
|
702
|
-
/** Extra class on the input */
|
|
703
|
-
className?: string;
|
|
704
|
-
}
|
|
705
|
-
declare function TextField(props: TextFieldProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
706
|
-
|
|
707
|
-
interface TimePickerProps {
|
|
708
|
-
/** Current value in 'HH:MM' or 'HH:MM:SS' format (24h) */
|
|
709
|
-
value: string;
|
|
710
|
-
/** Change handler, receives 'HH:MM' or 'HH:MM:SS' string in 24h format */
|
|
711
|
-
onChange: (value: string) => void;
|
|
712
|
-
/** Display format */
|
|
713
|
-
format?: '12h' | '24h';
|
|
714
|
-
/** Minute increment step */
|
|
715
|
-
minuteStep?: number;
|
|
716
|
-
/** Disabled state */
|
|
717
|
-
disabled?: boolean;
|
|
718
|
-
/** Label text */
|
|
719
|
-
label?: string;
|
|
720
|
-
/** Error message */
|
|
721
|
-
error?: string;
|
|
722
|
-
/** When true, show a seconds spinner (default false) */
|
|
723
|
-
showSeconds?: boolean;
|
|
724
|
-
/** If provided, display a timezone label next to the time */
|
|
725
|
-
timezone?: string;
|
|
726
|
-
/** When true, show a timezone dropdown selector (default false) */
|
|
727
|
-
showTimezone?: boolean;
|
|
728
|
-
/** List of timezone strings for the dropdown */
|
|
729
|
-
timezones?: string[];
|
|
730
|
-
/** Callback when timezone changes */
|
|
731
|
-
onTimezoneChange?: (tz: string) => void;
|
|
732
|
-
/** HTML id for the input element */
|
|
733
|
-
id?: string;
|
|
734
|
-
}
|
|
735
|
-
declare function TimePicker(props: TimePickerProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
736
|
-
|
|
737
|
-
interface ToggleProps {
|
|
738
|
-
/** Whether toggle is on */
|
|
739
|
-
checked: boolean;
|
|
740
|
-
/** Change handler */
|
|
741
|
-
onChange: (checked: boolean) => void;
|
|
742
|
-
/** Label text */
|
|
743
|
-
label?: string;
|
|
744
|
-
/** Label position relative to toggle */
|
|
745
|
-
labelPosition?: 'left' | 'right';
|
|
746
|
-
/** Disabled state */
|
|
747
|
-
disabled?: boolean;
|
|
748
|
-
/** Size variant */
|
|
749
|
-
size?: 'sm' | 'md' | 'lg';
|
|
750
|
-
/** Track color when on */
|
|
751
|
-
onColor?: string;
|
|
752
|
-
/** Track color when off */
|
|
753
|
-
offColor?: string;
|
|
754
|
-
}
|
|
755
|
-
declare function Toggle(props: ToggleProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
756
|
-
|
|
757
|
-
interface CardProps {
|
|
758
|
-
/** Card title displayed in the header */
|
|
759
|
-
title?: string;
|
|
760
|
-
/** Subtitle shown below the title */
|
|
761
|
-
subtitle?: string;
|
|
762
|
-
/** Slot rendered at the trailing edge of the header (e.g. action button) */
|
|
763
|
-
headerAction?: unknown;
|
|
764
|
-
/** Slot rendered as the card footer */
|
|
765
|
-
footer?: unknown;
|
|
766
|
-
/** URL for a top image */
|
|
767
|
-
image?: string;
|
|
768
|
-
/** Alt text for the top image */
|
|
769
|
-
imageAlt?: string;
|
|
770
|
-
/** Enable hover elevation effect (default: false) */
|
|
771
|
-
hoverable?: boolean;
|
|
772
|
-
/** Show border (default: true) */
|
|
773
|
-
bordered?: boolean;
|
|
774
|
-
/** Shadow level: 'none' | 'sm' | 'md' | 'lg' (default: 'sm') */
|
|
775
|
-
shadow?: 'none' | 'sm' | 'md' | 'lg';
|
|
776
|
-
/** Inner padding (CSS value, default: '16px') */
|
|
777
|
-
padding?: string;
|
|
778
|
-
/** Border radius (CSS value, default: '8px') */
|
|
779
|
-
borderRadius?: string;
|
|
780
|
-
/** Extra inline styles */
|
|
781
|
-
style?: Record<string, string>;
|
|
782
|
-
/** Extra class name */
|
|
783
|
-
className?: string;
|
|
784
|
-
/** Body content */
|
|
785
|
-
children?: unknown;
|
|
786
|
-
}
|
|
787
|
-
declare function Card(props: CardProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
788
|
-
|
|
789
|
-
interface FlexContainerProps {
|
|
790
|
-
/** flex-direction (default: 'row') */
|
|
791
|
-
direction?: 'row' | 'row-reverse' | 'column' | 'column-reverse';
|
|
792
|
-
/** flex-wrap (default: 'nowrap') */
|
|
793
|
-
wrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
|
|
794
|
-
/** Gap between items (CSS value) */
|
|
795
|
-
gap?: string;
|
|
796
|
-
/** CSS align-items */
|
|
797
|
-
alignItems?: string;
|
|
798
|
-
/** CSS justify-content */
|
|
799
|
-
justifyContent?: string;
|
|
800
|
-
/** Use inline-flex instead of flex */
|
|
801
|
-
inline?: boolean;
|
|
802
|
-
/** Extra inline styles */
|
|
803
|
-
style?: Record<string, string>;
|
|
804
|
-
/** Extra class name */
|
|
805
|
-
className?: string;
|
|
806
|
-
/** Children */
|
|
807
|
-
children?: unknown;
|
|
808
|
-
}
|
|
809
|
-
interface FlexItemProps {
|
|
810
|
-
/** Shorthand flex property (e.g. '1 1 auto') */
|
|
811
|
-
flex?: string;
|
|
812
|
-
/** flex-grow */
|
|
813
|
-
grow?: number;
|
|
814
|
-
/** flex-shrink */
|
|
815
|
-
shrink?: number;
|
|
816
|
-
/** flex-basis */
|
|
817
|
-
basis?: string;
|
|
818
|
-
/** align-self override */
|
|
819
|
-
alignSelf?: string;
|
|
820
|
-
/** order */
|
|
821
|
-
order?: number;
|
|
822
|
-
/** Extra inline styles */
|
|
823
|
-
style?: Record<string, string>;
|
|
824
|
-
/** Extra class name */
|
|
825
|
-
className?: string;
|
|
826
|
-
/** Children */
|
|
827
|
-
children?: unknown;
|
|
828
|
-
}
|
|
829
|
-
declare function FlexContainer(props: FlexContainerProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
830
|
-
declare function FlexItem(props: FlexItemProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
831
|
-
|
|
832
|
-
interface GridBreakpoint {
|
|
833
|
-
/** Min-width media query value (e.g. '768px') */
|
|
834
|
-
minWidth: string;
|
|
835
|
-
/** Column template override at this breakpoint */
|
|
836
|
-
columns?: number | string;
|
|
837
|
-
/** Row template override */
|
|
838
|
-
rows?: string;
|
|
839
|
-
/** Gap override */
|
|
840
|
-
gap?: string;
|
|
841
|
-
}
|
|
842
|
-
interface GridProps {
|
|
843
|
-
/** Number of equal columns or a CSS grid-template-columns string */
|
|
844
|
-
columns?: number | string;
|
|
845
|
-
/** CSS grid-template-rows value */
|
|
846
|
-
rows?: string;
|
|
847
|
-
/** Gap between grid cells (CSS value, e.g. '16px' or '1rem 2rem') */
|
|
848
|
-
gap?: string;
|
|
849
|
-
/** CSS align-items for the grid container */
|
|
850
|
-
alignItems?: string;
|
|
851
|
-
/** CSS justify-items for the grid container */
|
|
852
|
-
justifyItems?: string;
|
|
853
|
-
/** When set, uses auto-fit with minmax(minColWidth, 1fr) */
|
|
854
|
-
minColWidth?: string;
|
|
855
|
-
/** Named grid areas (grid-template-areas lines) */
|
|
856
|
-
areas?: string[];
|
|
857
|
-
/** Responsive breakpoints — rendered as inline style overrides via CSS custom properties */
|
|
858
|
-
responsive?: GridBreakpoint[];
|
|
859
|
-
/** Extra inline styles */
|
|
860
|
-
style?: Record<string, string>;
|
|
861
|
-
/** Extra class name */
|
|
862
|
-
className?: string;
|
|
863
|
-
/** Children */
|
|
864
|
-
children?: unknown;
|
|
865
|
-
}
|
|
866
|
-
interface GridItemProps {
|
|
867
|
-
/** grid-column value (e.g. 'span 2', '1 / 3') */
|
|
868
|
-
gridColumn?: string;
|
|
869
|
-
/** grid-row value */
|
|
870
|
-
gridRow?: string;
|
|
871
|
-
/** grid-area name */
|
|
872
|
-
gridArea?: string;
|
|
873
|
-
/** CSS align-self */
|
|
874
|
-
alignSelf?: string;
|
|
875
|
-
/** CSS justify-self */
|
|
876
|
-
justifySelf?: string;
|
|
877
|
-
/** Extra inline styles */
|
|
878
|
-
style?: Record<string, string>;
|
|
879
|
-
/** Extra class name */
|
|
880
|
-
className?: string;
|
|
881
|
-
/** Children */
|
|
882
|
-
children?: unknown;
|
|
883
|
-
}
|
|
884
|
-
declare function Grid(props: GridProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
885
|
-
declare function GridItem(props: GridItemProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
886
|
-
|
|
887
|
-
interface PanelProps {
|
|
888
|
-
/** Panel title */
|
|
889
|
-
title?: string;
|
|
890
|
-
/** Whether the panel can be collapsed (default: false) */
|
|
891
|
-
collapsible?: boolean;
|
|
892
|
-
/** Initial collapsed state when collapsible (default: false) */
|
|
893
|
-
defaultCollapsed?: boolean;
|
|
894
|
-
/** Icon element rendered before the title */
|
|
895
|
-
icon?: unknown;
|
|
896
|
-
/** Slot rendered at the trailing edge of the header */
|
|
897
|
-
headerRight?: unknown;
|
|
898
|
-
/** Show border (default: true) */
|
|
899
|
-
bordered?: boolean;
|
|
900
|
-
/** Shadow: 'none' | 'sm' | 'md' (default: 'none') */
|
|
901
|
-
shadow?: 'none' | 'sm' | 'md';
|
|
902
|
-
/** Extra inline styles */
|
|
903
|
-
style?: Record<string, string>;
|
|
904
|
-
/** Extra class name */
|
|
905
|
-
className?: string;
|
|
906
|
-
/** Body content */
|
|
907
|
-
children?: unknown;
|
|
908
|
-
}
|
|
909
|
-
declare function Panel(props: PanelProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
910
|
-
|
|
911
|
-
interface ScrollContainerProps {
|
|
912
|
-
/** Maximum height (CSS value) */
|
|
913
|
-
maxHeight?: string;
|
|
914
|
-
/** Maximum width (CSS value) */
|
|
915
|
-
maxWidth?: string;
|
|
916
|
-
/** Scroll direction (default: 'vertical') */
|
|
917
|
-
direction?: 'vertical' | 'horizontal' | 'both';
|
|
918
|
-
/** Scrollbar visibility (default: 'auto') */
|
|
919
|
-
showScrollbar?: 'auto' | 'always' | 'hover' | 'never';
|
|
920
|
-
/** Inner padding (CSS value) */
|
|
921
|
-
padding?: string;
|
|
922
|
-
/** Show inset shadow at scroll edges to hint overflow (default: false) */
|
|
923
|
-
shadow?: boolean;
|
|
924
|
-
/** Extra inline styles */
|
|
925
|
-
style?: Record<string, string>;
|
|
926
|
-
/** Extra class name */
|
|
927
|
-
className?: string;
|
|
928
|
-
/** Children */
|
|
929
|
-
children?: unknown;
|
|
930
|
-
}
|
|
931
|
-
declare function ScrollContainer(props: ScrollContainerProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
932
|
-
|
|
933
|
-
interface SplitterProps {
|
|
934
|
-
/** Split direction (default: 'horizontal' — left|right panes) */
|
|
935
|
-
direction?: 'horizontal' | 'vertical';
|
|
936
|
-
/** Initial split percentage for the first pane (default: 50) */
|
|
937
|
-
initialSplit?: number;
|
|
938
|
-
/** Minimum size of either pane in px (default: 50) */
|
|
939
|
-
minSize?: number;
|
|
940
|
-
/** Maximum size of the first pane in px */
|
|
941
|
-
maxSize?: number;
|
|
942
|
-
/** Divider bar width/height in px (default: 6) */
|
|
943
|
-
dividerSize?: number;
|
|
944
|
-
/** Extra inline styles for the container */
|
|
945
|
-
style?: Record<string, string>;
|
|
946
|
-
/** Extra class name */
|
|
947
|
-
className?: string;
|
|
948
|
-
/** Exactly two children */
|
|
949
|
-
children?: unknown[];
|
|
950
|
-
}
|
|
951
|
-
declare function Splitter(props: SplitterProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
952
|
-
|
|
953
|
-
interface TabDefinition {
|
|
954
|
-
/** Unique tab identifier */
|
|
955
|
-
id: string;
|
|
956
|
-
/** Display label */
|
|
957
|
-
label: string;
|
|
958
|
-
/** Optional icon element */
|
|
959
|
-
icon?: unknown;
|
|
960
|
-
/** Disabled state */
|
|
961
|
-
disabled?: boolean;
|
|
962
|
-
/** Tab panel content */
|
|
963
|
-
content: unknown;
|
|
964
|
-
}
|
|
965
|
-
interface TabsProps {
|
|
966
|
-
/** Tab definitions */
|
|
967
|
-
tabs: TabDefinition[];
|
|
968
|
-
/** Controlled active tab id */
|
|
969
|
-
activeTab?: string;
|
|
970
|
-
/** Change handler (receives tab id) */
|
|
971
|
-
onChange?: (tabId: string) => void;
|
|
972
|
-
/** Tab list position (default: 'top') */
|
|
973
|
-
position?: 'top' | 'bottom' | 'left' | 'right';
|
|
974
|
-
/** Visual variant (default: 'line') */
|
|
975
|
-
variant?: 'line' | 'card' | 'pill';
|
|
976
|
-
/** Extra inline styles */
|
|
977
|
-
style?: Record<string, string>;
|
|
978
|
-
/** Extra class name */
|
|
979
|
-
className?: string;
|
|
980
|
-
}
|
|
981
|
-
declare function Tabs(props: TabsProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
982
|
-
|
|
983
|
-
interface CarouselItem {
|
|
984
|
-
content: unknown;
|
|
985
|
-
caption?: string;
|
|
986
|
-
}
|
|
987
|
-
interface CarouselProps {
|
|
988
|
-
/** Carousel items */
|
|
989
|
-
items: CarouselItem[];
|
|
990
|
-
/** Enable auto-advance */
|
|
991
|
-
autoPlay?: boolean;
|
|
992
|
-
/** Auto-advance interval in ms (default: 5000) */
|
|
993
|
-
interval?: number;
|
|
994
|
-
/** Show dot indicators (default: true) */
|
|
995
|
-
showDots?: boolean;
|
|
996
|
-
/** Show prev/next arrows (default: true) */
|
|
997
|
-
showArrows?: boolean;
|
|
998
|
-
/** Loop from last to first (default: true) */
|
|
999
|
-
loop?: boolean;
|
|
1000
|
-
/** Transition animation type */
|
|
1001
|
-
animation?: 'slide' | 'fade';
|
|
1002
|
-
/** Called when the active index changes */
|
|
1003
|
-
onChange?: (index: number) => void;
|
|
1004
|
-
}
|
|
1005
|
-
declare function Carousel(props: CarouselProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1006
|
-
|
|
1007
|
-
interface ImageProps {
|
|
1008
|
-
/** Image source URL */
|
|
1009
|
-
src: string;
|
|
1010
|
-
/** Alt text */
|
|
1011
|
-
alt?: string;
|
|
1012
|
-
/** Width (CSS value or number) */
|
|
1013
|
-
width?: string | number;
|
|
1014
|
-
/** Height (CSS value or number) */
|
|
1015
|
-
height?: string | number;
|
|
1016
|
-
/** Fallback URL or element shown on error */
|
|
1017
|
-
fallback?: string | unknown;
|
|
1018
|
-
/** Placeholder shown while loading: 'blur', 'skeleton', or element */
|
|
1019
|
-
placeholder?: 'blur' | 'skeleton' | unknown;
|
|
1020
|
-
/** Enable lazy loading (default: true) */
|
|
1021
|
-
lazy?: boolean;
|
|
1022
|
-
/** CSS object-fit value */
|
|
1023
|
-
objectFit?: string;
|
|
1024
|
-
/** CSS border-radius value */
|
|
1025
|
-
borderRadius?: string;
|
|
1026
|
-
/** Caption text rendered below the image */
|
|
1027
|
-
caption?: string;
|
|
1028
|
-
}
|
|
1029
|
-
declare function Image(props: ImageProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1030
|
-
|
|
1031
|
-
interface VideoPlayerProps {
|
|
1032
|
-
/** Video source URL */
|
|
1033
|
-
src: string;
|
|
1034
|
-
/** Poster image URL */
|
|
1035
|
-
poster?: string;
|
|
1036
|
-
/** Width (CSS value or number) */
|
|
1037
|
-
width?: string | number;
|
|
1038
|
-
/** Height (CSS value or number) */
|
|
1039
|
-
height?: string | number;
|
|
1040
|
-
/** Auto-play video */
|
|
1041
|
-
autoPlay?: boolean;
|
|
1042
|
-
/** Loop playback */
|
|
1043
|
-
loop?: boolean;
|
|
1044
|
-
/** Muted */
|
|
1045
|
-
muted?: boolean;
|
|
1046
|
-
/** Show custom controls (default: true) */
|
|
1047
|
-
controls?: boolean;
|
|
1048
|
-
/** Play callback */
|
|
1049
|
-
onPlay?: () => void;
|
|
1050
|
-
/** Pause callback */
|
|
1051
|
-
onPause?: () => void;
|
|
1052
|
-
/** Ended callback */
|
|
1053
|
-
onEnded?: () => void;
|
|
1054
|
-
/** Time update callback */
|
|
1055
|
-
onTimeUpdate?: (currentTime: number, duration: number) => void;
|
|
1056
|
-
}
|
|
1057
|
-
declare function VideoPlayer(props: VideoPlayerProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1058
|
-
|
|
1059
|
-
type NavOrientation = 'horizontal' | 'vertical';
|
|
1060
|
-
interface NavWrapperStyle {
|
|
1061
|
-
/** Background color (default: '#ffffff') */
|
|
1062
|
-
backgroundColor?: string;
|
|
1063
|
-
/** Text color (default: '#1f2937') */
|
|
1064
|
-
color?: string;
|
|
1065
|
-
/** Font family (default: inherit) */
|
|
1066
|
-
fontFamily?: string;
|
|
1067
|
-
/** Font size (default: '14px') */
|
|
1068
|
-
fontSize?: string;
|
|
1069
|
-
/** Border (default: '1px solid #e5e7eb') */
|
|
1070
|
-
border?: string;
|
|
1071
|
-
/** Border radius (default: '8px') */
|
|
1072
|
-
borderRadius?: string;
|
|
1073
|
-
/** Padding (default: '0') */
|
|
1074
|
-
padding?: string;
|
|
1075
|
-
/** Box shadow (default: none) */
|
|
1076
|
-
boxShadow?: string;
|
|
1077
|
-
/** Width (default: 'auto') */
|
|
1078
|
-
width?: string | number;
|
|
1079
|
-
/** Max height for scrollable content (default: none) */
|
|
1080
|
-
maxHeight?: string | number;
|
|
1081
|
-
/** Custom inline styles merged last */
|
|
1082
|
-
custom?: Record<string, string>;
|
|
1083
|
-
}
|
|
1084
|
-
interface NavWrapperProps {
|
|
1085
|
-
/** Orientation of child items (default: 'vertical') */
|
|
1086
|
-
orientation?: NavOrientation;
|
|
1087
|
-
/** ARIA role (default: 'navigation') */
|
|
1088
|
-
role?: string;
|
|
1089
|
-
/** ARIA label */
|
|
1090
|
-
ariaLabel?: string;
|
|
1091
|
-
/** Styling configuration */
|
|
1092
|
-
styling?: NavWrapperStyle;
|
|
1093
|
-
/** Extra CSS class name */
|
|
1094
|
-
className?: string;
|
|
1095
|
-
/** Enable keyboard navigation with arrow keys (default: true) */
|
|
1096
|
-
keyboardNav?: boolean;
|
|
1097
|
-
/** Children */
|
|
1098
|
-
children?: unknown;
|
|
1099
|
-
}
|
|
1100
|
-
declare function NavWrapper(props: NavWrapperProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1101
|
-
interface NavItemStyle {
|
|
1102
|
-
/** Padding (default: '10px 16px') */
|
|
1103
|
-
padding?: string;
|
|
1104
|
-
/** Hover background (default: '#f3f4f6') */
|
|
1105
|
-
hoverBackground?: string;
|
|
1106
|
-
/** Active/selected background (default: '#eff6ff') */
|
|
1107
|
-
activeBackground?: string;
|
|
1108
|
-
/** Active text color (default: '#2563eb') */
|
|
1109
|
-
activeColor?: string;
|
|
1110
|
-
/** Border bottom between items (default: none) */
|
|
1111
|
-
separator?: string;
|
|
1112
|
-
/** Cursor (default: 'pointer') */
|
|
1113
|
-
cursor?: string;
|
|
1114
|
-
/** Transition (default: 'background-color 0.15s') */
|
|
1115
|
-
transition?: string;
|
|
1116
|
-
}
|
|
1117
|
-
/**
|
|
1118
|
-
* Build common inline styles for a navigation item.
|
|
1119
|
-
*/
|
|
1120
|
-
declare function buildNavItemStyle(s: NavItemStyle, state: {
|
|
1121
|
-
hover: boolean;
|
|
1122
|
-
active: boolean;
|
|
1123
|
-
}): Record<string, string>;
|
|
1124
|
-
/**
|
|
1125
|
-
* useHover — simple hover state hook for nav items.
|
|
1126
|
-
*/
|
|
1127
|
-
declare function useHover(): {
|
|
1128
|
-
hover: boolean;
|
|
1129
|
-
onMouseEnter: () => void;
|
|
1130
|
-
onMouseLeave: () => void;
|
|
1131
|
-
};
|
|
1132
|
-
|
|
1133
|
-
interface AccordionSection {
|
|
1134
|
-
/** Unique identifier for the section */
|
|
1135
|
-
id: string;
|
|
1136
|
-
/** Text displayed in the section header */
|
|
1137
|
-
header: string;
|
|
1138
|
-
/** Content rendered when the section is expanded */
|
|
1139
|
-
content: unknown;
|
|
1140
|
-
/** Optional icon displayed in the header */
|
|
1141
|
-
icon?: string;
|
|
1142
|
-
/** When true, section cannot be toggled */
|
|
1143
|
-
disabled?: boolean;
|
|
1144
|
-
}
|
|
1145
|
-
interface AccordionHeaderStyle {
|
|
1146
|
-
padding?: string;
|
|
1147
|
-
backgroundColor?: string;
|
|
1148
|
-
hoverBackground?: string;
|
|
1149
|
-
color?: string;
|
|
1150
|
-
fontWeight?: string;
|
|
1151
|
-
fontSize?: string;
|
|
1152
|
-
borderBottom?: string;
|
|
1153
|
-
}
|
|
1154
|
-
interface AccordionContentStyle {
|
|
1155
|
-
padding?: string;
|
|
1156
|
-
backgroundColor?: string;
|
|
1157
|
-
borderBottom?: string;
|
|
1158
|
-
}
|
|
1159
|
-
interface AccordionProps {
|
|
1160
|
-
/** Array of sections to render */
|
|
1161
|
-
sections: AccordionSection[];
|
|
1162
|
-
/** IDs of sections that should be expanded on initial render */
|
|
1163
|
-
defaultExpanded?: string[];
|
|
1164
|
-
/** Allow multiple sections to be open at the same time (default: false) */
|
|
1165
|
-
allowMultiple?: boolean;
|
|
1166
|
-
/** Styling for section headers */
|
|
1167
|
-
headerStyle?: AccordionHeaderStyle;
|
|
1168
|
-
/** Styling for section content panels */
|
|
1169
|
-
contentStyle?: AccordionContentStyle;
|
|
1170
|
-
/** Styling passed through to the NavWrapper container */
|
|
1171
|
-
wrapperStyle?: NavWrapperStyle;
|
|
1172
|
-
/** Icon shown on collapsed sections (default: '+') */
|
|
1173
|
-
expandIcon?: string;
|
|
1174
|
-
/** Icon shown on expanded sections (default: '\u2212') */
|
|
1175
|
-
collapseIcon?: string;
|
|
1176
|
-
/** Position of the expand/collapse icon (default: 'right') */
|
|
1177
|
-
iconPosition?: 'left' | 'right';
|
|
1178
|
-
/** Enable smooth open/close animation via max-height transition (default: true) */
|
|
1179
|
-
animated?: boolean;
|
|
1180
|
-
/** Callback fired with the array of currently expanded section IDs */
|
|
1181
|
-
onChange?: (expandedIds: string[]) => void;
|
|
1182
|
-
}
|
|
1183
|
-
declare function Accordion(props: AccordionProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1184
|
-
|
|
1185
|
-
interface BreadcrumbItem {
|
|
1186
|
-
/** Display label */
|
|
1187
|
-
label: string;
|
|
1188
|
-
/** Optional link href — if omitted, rendered as plain text */
|
|
1189
|
-
href?: string;
|
|
1190
|
-
/** Optional click handler */
|
|
1191
|
-
onClick?: () => void;
|
|
1192
|
-
}
|
|
1193
|
-
type BreadcrumbSize = 'sm' | 'md' | 'lg';
|
|
1194
|
-
interface BreadcrumbProps {
|
|
1195
|
-
/** Ordered list of breadcrumb items (first = root, last = current page) */
|
|
1196
|
-
items: BreadcrumbItem[];
|
|
1197
|
-
/** Separator between items (default: '/') */
|
|
1198
|
-
separator?: string | unknown;
|
|
1199
|
-
/** When set, collapses middle items to '...' if items exceed this count */
|
|
1200
|
-
maxItems?: number;
|
|
1201
|
-
/** Size variant (default: 'md') */
|
|
1202
|
-
size?: BreadcrumbSize;
|
|
1203
|
-
}
|
|
1204
|
-
declare function Breadcrumb(props: BreadcrumbProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1205
|
-
|
|
1206
|
-
interface DropdownItem {
|
|
1207
|
-
/** Unique identifier for the item */
|
|
1208
|
-
id: string;
|
|
1209
|
-
/** Display label */
|
|
1210
|
-
label: string;
|
|
1211
|
-
/** Optional icon rendered as a text span before the label (emoji or text) */
|
|
1212
|
-
icon?: string;
|
|
1213
|
-
/** Whether the item is disabled (grayed out, non-interactive) */
|
|
1214
|
-
disabled?: boolean;
|
|
1215
|
-
/** Render as a thin horizontal divider instead of a menu item */
|
|
1216
|
-
divider?: boolean;
|
|
1217
|
-
/** Click handler */
|
|
1218
|
-
onClick?: () => void;
|
|
1219
|
-
/** Nested submenu items — shows a right chevron and expands on hover */
|
|
1220
|
-
children?: DropdownItem[];
|
|
1221
|
-
}
|
|
1222
|
-
interface DropdownProps {
|
|
1223
|
-
/** Trigger button text */
|
|
1224
|
-
label: string;
|
|
1225
|
-
/** Menu items */
|
|
1226
|
-
items: DropdownItem[];
|
|
1227
|
-
/** Custom styles for the trigger button */
|
|
1228
|
-
triggerStyle?: Record<string, string>;
|
|
1229
|
-
/** Styling passed to NavWrapper for the dropdown panel */
|
|
1230
|
-
menuStyle?: NavWrapperStyle;
|
|
1231
|
-
/** Styling for menu items */
|
|
1232
|
-
itemStyle?: NavItemStyle;
|
|
1233
|
-
/** Placement of the dropdown relative to the trigger (default: 'bottom-start') */
|
|
1234
|
-
placement?: 'bottom-start' | 'bottom-end';
|
|
1235
|
-
/** Close the dropdown when an item is selected (default: true) */
|
|
1236
|
-
closeOnSelect?: boolean;
|
|
1237
|
-
/** Width of the dropdown panel (default: '220px') */
|
|
1238
|
-
width?: string | number;
|
|
1239
|
-
}
|
|
1240
|
-
declare function Dropdown(props: DropdownProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1241
|
-
|
|
1242
|
-
interface MenuItem {
|
|
1243
|
-
/** Display label */
|
|
1244
|
-
label: string;
|
|
1245
|
-
/** Click handler */
|
|
1246
|
-
onClick?: () => void;
|
|
1247
|
-
/** Keyboard shortcut hint (e.g. 'Ctrl+S') */
|
|
1248
|
-
shortcut?: string;
|
|
1249
|
-
/** Icon text (emoji or character) */
|
|
1250
|
-
icon?: string;
|
|
1251
|
-
/** Render as a divider line */
|
|
1252
|
-
divider?: boolean;
|
|
1253
|
-
/** Whether the item is disabled */
|
|
1254
|
-
disabled?: boolean;
|
|
1255
|
-
/** Nested submenu items */
|
|
1256
|
-
children?: MenuItem[];
|
|
1257
|
-
}
|
|
1258
|
-
interface MenuDefinition {
|
|
1259
|
-
/** Top-level menu label */
|
|
1260
|
-
label: string;
|
|
1261
|
-
/** Items in this menu */
|
|
1262
|
-
items: MenuItem[];
|
|
1263
|
-
}
|
|
1264
|
-
interface MenubarProps {
|
|
1265
|
-
/** Array of top-level menu definitions */
|
|
1266
|
-
menus: MenuDefinition[];
|
|
1267
|
-
}
|
|
1268
|
-
declare function Menubar(props: MenubarProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1269
|
-
|
|
1270
|
-
interface PaginationProps {
|
|
1271
|
-
/** Total number of items */
|
|
1272
|
-
total: number;
|
|
1273
|
-
/** Items per page */
|
|
1274
|
-
pageSize: number;
|
|
1275
|
-
/** Current active page (1-based) */
|
|
1276
|
-
currentPage: number;
|
|
1277
|
-
/** Called when page changes */
|
|
1278
|
-
onChange: (page: number) => void;
|
|
1279
|
-
/** Number of sibling pages shown around the current page (default: 1) */
|
|
1280
|
-
siblingCount?: number;
|
|
1281
|
-
/** Show First/Last buttons (default: true) */
|
|
1282
|
-
showFirstLast?: boolean;
|
|
1283
|
-
/** Show Prev/Next buttons (default: true) */
|
|
1284
|
-
showPrevNext?: boolean;
|
|
1285
|
-
/** Disable all controls */
|
|
1286
|
-
disabled?: boolean;
|
|
1287
|
-
}
|
|
1288
|
-
declare function Pagination(props: PaginationProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1289
|
-
|
|
1290
|
-
interface SidebarItem {
|
|
1291
|
-
/** Unique identifier */
|
|
1292
|
-
id: string;
|
|
1293
|
-
/** Display label */
|
|
1294
|
-
label: string;
|
|
1295
|
-
/** Optional icon (emoji or text character) */
|
|
1296
|
-
icon?: string;
|
|
1297
|
-
/** Nested child items */
|
|
1298
|
-
children?: SidebarItem[];
|
|
1299
|
-
/** Optional badge text (e.g. count) */
|
|
1300
|
-
badge?: string;
|
|
1301
|
-
}
|
|
1302
|
-
interface SidebarProps {
|
|
1303
|
-
/** Navigation items */
|
|
1304
|
-
items: SidebarItem[];
|
|
1305
|
-
/** Whether the sidebar is collapsed to icon-only mode */
|
|
1306
|
-
collapsed?: boolean;
|
|
1307
|
-
/** Called to toggle collapse state */
|
|
1308
|
-
onToggleCollapse?: () => void;
|
|
1309
|
-
/** Currently selected item id */
|
|
1310
|
-
selectedId?: string;
|
|
1311
|
-
/** Called when an item is selected */
|
|
1312
|
-
onSelect?: (id: string) => void;
|
|
1313
|
-
/** Expanded width (default: '240px') */
|
|
1314
|
-
width?: string | number;
|
|
1315
|
-
/** Collapsed width (default: '56px') */
|
|
1316
|
-
collapsedWidth?: string | number;
|
|
1317
|
-
}
|
|
1318
|
-
declare function Sidebar(props: SidebarProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1319
|
-
|
|
1320
|
-
interface StepItem {
|
|
1321
|
-
/** Step label */
|
|
1322
|
-
label: string;
|
|
1323
|
-
/** Optional description shown below the label */
|
|
1324
|
-
description?: string;
|
|
1325
|
-
/** Optional icon text (emoji or character) shown inside the circle */
|
|
1326
|
-
icon?: string;
|
|
1327
|
-
}
|
|
1328
|
-
type StepperOrientation = 'horizontal' | 'vertical';
|
|
1329
|
-
type StepperVariant = 'circle' | 'dot';
|
|
1330
|
-
interface StepperProps {
|
|
1331
|
-
/** Array of step definitions */
|
|
1332
|
-
steps: StepItem[];
|
|
1333
|
-
/** Current active step (0-based index) */
|
|
1334
|
-
currentStep: number;
|
|
1335
|
-
/** Orientation (default: 'horizontal') */
|
|
1336
|
-
orientation?: StepperOrientation;
|
|
1337
|
-
/** Called when a step is clicked — receives the step index */
|
|
1338
|
-
onChange?: (step: number) => void;
|
|
1339
|
-
/** Whether steps are clickable (default: false) */
|
|
1340
|
-
clickable?: boolean;
|
|
1341
|
-
/** Visual variant (default: 'circle') */
|
|
1342
|
-
variant?: StepperVariant;
|
|
1343
|
-
}
|
|
1344
|
-
declare function Stepper(props: StepperProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1345
|
-
|
|
1346
|
-
interface ToolbarItem {
|
|
1347
|
-
/** Unique identifier */
|
|
1348
|
-
id: string;
|
|
1349
|
-
/** Display label (optional if icon provided) */
|
|
1350
|
-
label?: string;
|
|
1351
|
-
/** Icon text (emoji or character) */
|
|
1352
|
-
icon?: string;
|
|
1353
|
-
/** Item type — 'button' has momentary press, 'toggle' stays pressed until clicked again */
|
|
1354
|
-
type: 'button' | 'toggle' | 'separator' | 'dropdown' | 'spacer';
|
|
1355
|
-
/** Click handler */
|
|
1356
|
-
onClick?: () => void;
|
|
1357
|
-
/** Whether the item is disabled */
|
|
1358
|
-
disabled?: boolean;
|
|
1359
|
-
/** Whether the item is in an active/pressed state (used by toggle) */
|
|
1360
|
-
active?: boolean;
|
|
1361
|
-
}
|
|
1362
|
-
type ToolbarSize = 'sm' | 'md' | 'lg';
|
|
1363
|
-
type ToolbarVariant = 'flat' | 'raised';
|
|
1364
|
-
interface ToolbarProps {
|
|
1365
|
-
/** Toolbar items */
|
|
1366
|
-
items: ToolbarItem[];
|
|
1367
|
-
/** Size (default: 'md') */
|
|
1368
|
-
size?: ToolbarSize;
|
|
1369
|
-
/** Visual variant (default: 'flat') */
|
|
1370
|
-
variant?: ToolbarVariant;
|
|
1371
|
-
}
|
|
1372
|
-
declare function Toolbar(props: ToolbarProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1373
|
-
|
|
1374
|
-
/**
|
|
1375
|
-
* TreeNode — Extensible data model for tree navigation nodes.
|
|
1376
|
-
*
|
|
1377
|
-
* Represents a single node in a hierarchical tree structure. Supports
|
|
1378
|
-
* arbitrary metadata for extensibility, parent/child traversal, and
|
|
1379
|
-
* expand/collapse state management. Developers can subclass TreeNode or
|
|
1380
|
-
* attach custom data via the `metadata` field.
|
|
1381
|
-
*/
|
|
1382
|
-
interface TreeNodeData {
|
|
1383
|
-
/** Unique identifier for the node */
|
|
1384
|
-
id: string;
|
|
1385
|
-
/** Display label */
|
|
1386
|
-
label: string;
|
|
1387
|
-
/** Nested child nodes */
|
|
1388
|
-
children?: TreeNodeData[];
|
|
1389
|
-
/** Whether the node starts expanded (default: false) */
|
|
1390
|
-
expanded?: boolean;
|
|
1391
|
-
/** Text or emoji icon displayed alongside the label */
|
|
1392
|
-
icon?: string;
|
|
1393
|
-
/** Extensible payload — attach arbitrary data here */
|
|
1394
|
-
metadata?: Record<string, unknown>;
|
|
1395
|
-
}
|
|
1396
|
-
declare class TreeNode {
|
|
1397
|
-
id: string;
|
|
1398
|
-
label: string;
|
|
1399
|
-
children: TreeNode[];
|
|
1400
|
-
expanded: boolean;
|
|
1401
|
-
icon: string | null;
|
|
1402
|
-
metadata: Record<string, unknown>;
|
|
1403
|
-
parent: TreeNode | null;
|
|
1404
|
-
depth: number;
|
|
1405
|
-
constructor(data: TreeNodeData, parent?: TreeNode);
|
|
1406
|
-
/**
|
|
1407
|
-
* Build a full TreeNode tree from nested data.
|
|
1408
|
-
*/
|
|
1409
|
-
static fromData(data: TreeNodeData): TreeNode;
|
|
1410
|
-
/**
|
|
1411
|
-
* Returns true if the node has no children.
|
|
1412
|
-
*/
|
|
1413
|
-
isLeaf(): boolean;
|
|
1414
|
-
/**
|
|
1415
|
-
* Returns true if the node has no parent (root of the tree).
|
|
1416
|
-
*/
|
|
1417
|
-
isRoot(): boolean;
|
|
1418
|
-
/**
|
|
1419
|
-
* Depth-first walk of this node and all descendants.
|
|
1420
|
-
* The callback receives each node and its depth.
|
|
1421
|
-
*/
|
|
1422
|
-
walk(fn: (node: TreeNode, depth: number) => void): void;
|
|
1423
|
-
/**
|
|
1424
|
-
* Find a descendant (or self) by id. Returns null if not found.
|
|
1425
|
-
*/
|
|
1426
|
-
find(id: string): TreeNode | null;
|
|
1427
|
-
/**
|
|
1428
|
-
* Toggle the expanded/collapsed state.
|
|
1429
|
-
*/
|
|
1430
|
-
toggle(): void;
|
|
1431
|
-
/**
|
|
1432
|
-
* Expand this node (show children).
|
|
1433
|
-
*/
|
|
1434
|
-
expand(): void;
|
|
1435
|
-
/**
|
|
1436
|
-
* Collapse this node (hide children).
|
|
1437
|
-
*/
|
|
1438
|
-
collapse(): void;
|
|
1439
|
-
/**
|
|
1440
|
-
* Add a child node from data. Returns the newly created TreeNode.
|
|
1441
|
-
*/
|
|
1442
|
-
addChild(data: TreeNodeData): TreeNode;
|
|
1443
|
-
/**
|
|
1444
|
-
* Remove a direct child by id. Returns true if a child was removed.
|
|
1445
|
-
*/
|
|
1446
|
-
removeChild(id: string): boolean;
|
|
1447
|
-
}
|
|
1448
|
-
|
|
1449
|
-
interface TreeNavProps {
|
|
1450
|
-
/** Tree data structure */
|
|
1451
|
-
root: TreeNodeData;
|
|
1452
|
-
/** Fired when a node label is clicked */
|
|
1453
|
-
onNodeClick?: (node: TreeNode) => void;
|
|
1454
|
-
/** Fired when a node is expanded */
|
|
1455
|
-
onNodeExpand?: (node: TreeNode) => void;
|
|
1456
|
-
/** Fired when a node is collapsed */
|
|
1457
|
-
onNodeCollapse?: (node: TreeNode) => void;
|
|
1458
|
-
/** Id of the currently selected node */
|
|
1459
|
-
selectedId?: string;
|
|
1460
|
-
/** Start with all nodes expanded (default: false) */
|
|
1461
|
-
expandAll?: boolean;
|
|
1462
|
-
/** Color of connector lines (default: '#000') */
|
|
1463
|
-
lineColor?: string;
|
|
1464
|
-
/** Width of connector lines in px (default: 1) */
|
|
1465
|
-
lineWidth?: number;
|
|
1466
|
-
/** Pixels of indentation per depth level (default: 20) */
|
|
1467
|
-
indentPx?: number;
|
|
1468
|
-
/** Icon shown for expanded non-leaf nodes (default: '\u2212') */
|
|
1469
|
-
iconExpanded?: string;
|
|
1470
|
-
/** Icon shown for collapsed non-leaf nodes (default: '+') */
|
|
1471
|
-
iconCollapsed?: string;
|
|
1472
|
-
/** Styling for individual node items */
|
|
1473
|
-
nodeStyle?: NavItemStyle;
|
|
1474
|
-
/** Styling for the outer NavWrapper */
|
|
1475
|
-
wrapperStyle?: NavWrapperStyle;
|
|
1476
|
-
/** Custom node renderer for full control over node appearance */
|
|
1477
|
-
renderNode?: (node: TreeNode, isSelected: boolean) => unknown;
|
|
1478
|
-
}
|
|
1479
|
-
declare function TreeNav(props: TreeNavProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1480
|
-
|
|
1481
|
-
interface ContextMenuItem {
|
|
1482
|
-
/** Display label */
|
|
1483
|
-
label?: string;
|
|
1484
|
-
/** Click handler */
|
|
1485
|
-
onClick?: () => void;
|
|
1486
|
-
/** Optional icon (rendered as text/emoji) */
|
|
1487
|
-
icon?: string;
|
|
1488
|
-
/** Disabled state */
|
|
1489
|
-
disabled?: boolean;
|
|
1490
|
-
/** Render as a divider instead of a menu item */
|
|
1491
|
-
divider?: boolean;
|
|
1492
|
-
/** Nested submenu items */
|
|
1493
|
-
children?: ContextMenuItem[];
|
|
1494
|
-
}
|
|
1495
|
-
interface ContextMenuProps {
|
|
1496
|
-
/** Menu item definitions */
|
|
1497
|
-
items: ContextMenuItem[];
|
|
1498
|
-
/** Trigger area children */
|
|
1499
|
-
children?: unknown;
|
|
1500
|
-
}
|
|
1501
|
-
declare function ContextMenu(props: ContextMenuProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1502
|
-
|
|
1503
|
-
type DrawerPosition = 'left' | 'right' | 'top' | 'bottom';
|
|
1504
|
-
interface DrawerProps {
|
|
1505
|
-
/** Whether the drawer is open */
|
|
1506
|
-
open: boolean;
|
|
1507
|
-
/** Called when the drawer requests to close */
|
|
1508
|
-
onClose: () => void;
|
|
1509
|
-
/** Edge the drawer slides in from */
|
|
1510
|
-
position?: DrawerPosition;
|
|
1511
|
-
/** Width (left/right) or height (top/bottom) in px or % */
|
|
1512
|
-
size?: string;
|
|
1513
|
-
/** Drawer title */
|
|
1514
|
-
title?: string;
|
|
1515
|
-
/** Show overlay backdrop behind the drawer */
|
|
1516
|
-
overlay?: boolean;
|
|
1517
|
-
/** Close when clicking the overlay */
|
|
1518
|
-
closeOnOverlay?: boolean;
|
|
1519
|
-
/** Close on Escape key */
|
|
1520
|
-
closeOnEscape?: boolean;
|
|
1521
|
-
/** Drawer body children */
|
|
1522
|
-
children?: unknown;
|
|
1523
|
-
}
|
|
1524
|
-
declare function Drawer(props: DrawerProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props> | null;
|
|
1525
|
-
|
|
1526
|
-
type ModalSize = 'sm' | 'md' | 'lg' | 'full';
|
|
1527
|
-
interface ModalProps {
|
|
1528
|
-
/** Whether the modal is open */
|
|
1529
|
-
open: boolean;
|
|
1530
|
-
/** Called when the modal requests to close */
|
|
1531
|
-
onClose: () => void;
|
|
1532
|
-
/** Modal title rendered in the header */
|
|
1533
|
-
title?: string;
|
|
1534
|
-
/** Modal width preset */
|
|
1535
|
-
size?: ModalSize;
|
|
1536
|
-
/** Close when clicking the overlay backdrop (default true) */
|
|
1537
|
-
closeOnOverlay?: boolean;
|
|
1538
|
-
/** Close when pressing Escape (default true) */
|
|
1539
|
-
closeOnEscape?: boolean;
|
|
1540
|
-
/** Footer slot content */
|
|
1541
|
-
footer?: unknown;
|
|
1542
|
-
/** Show the X close button in the header (default true) */
|
|
1543
|
-
showCloseButton?: boolean;
|
|
1544
|
-
/** Modal body children */
|
|
1545
|
-
children?: unknown;
|
|
1546
|
-
}
|
|
1547
|
-
declare function Modal(props: ModalProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props> | null;
|
|
1548
|
-
|
|
1549
|
-
type PopoverPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
1550
|
-
interface PopoverProps {
|
|
1551
|
-
/** Trigger element slot */
|
|
1552
|
-
trigger: unknown;
|
|
1553
|
-
/** Popover content slot */
|
|
1554
|
-
content: unknown;
|
|
1555
|
-
/** Controlled open state (if provided, disables auto-toggle) */
|
|
1556
|
-
open?: boolean;
|
|
1557
|
-
/** Placement relative to trigger */
|
|
1558
|
-
placement?: PopoverPlacement;
|
|
1559
|
-
/** Offset from trigger in px */
|
|
1560
|
-
offset?: number;
|
|
1561
|
-
/** Show an arrow pointing to the trigger */
|
|
1562
|
-
arrow?: boolean;
|
|
1563
|
-
/** Close when clicking outside the popover */
|
|
1564
|
-
closeOnClickOutside?: boolean;
|
|
1565
|
-
/** Callback when open state changes (for controlled mode) */
|
|
1566
|
-
onOpenChange?: (open: boolean) => void;
|
|
1567
|
-
}
|
|
1568
|
-
declare function Popover(props: PopoverProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1569
|
-
|
|
1570
|
-
type ToastPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center';
|
|
1571
|
-
type ToastType = 'info' | 'success' | 'warning' | 'error';
|
|
1572
|
-
interface ToastAction {
|
|
1573
|
-
label: string;
|
|
1574
|
-
onClick: () => void;
|
|
1575
|
-
}
|
|
1576
|
-
interface ToastOptions {
|
|
1577
|
-
/** Toast type for styling */
|
|
1578
|
-
type?: ToastType;
|
|
1579
|
-
/** Duration in ms before auto-dismiss (0 = persistent) */
|
|
1580
|
-
duration?: number;
|
|
1581
|
-
/** Optional action button */
|
|
1582
|
-
action?: ToastAction;
|
|
1583
|
-
}
|
|
1584
|
-
interface ToasterConfig {
|
|
1585
|
-
/** Position of the toast stack */
|
|
1586
|
-
position?: ToastPosition;
|
|
1587
|
-
/** Maximum visible toasts */
|
|
1588
|
-
maxToasts?: number;
|
|
1589
|
-
/** Default auto-dismiss duration in ms */
|
|
1590
|
-
defaultDuration?: number;
|
|
1591
|
-
}
|
|
1592
|
-
interface ToastItem {
|
|
1593
|
-
id: string;
|
|
1594
|
-
message: string;
|
|
1595
|
-
type: ToastType;
|
|
1596
|
-
duration: number;
|
|
1597
|
-
action?: ToastAction;
|
|
1598
|
-
createdAt: number;
|
|
1599
|
-
}
|
|
1600
|
-
interface Toaster {
|
|
1601
|
-
toast: (message: string, opts?: ToastOptions) => string;
|
|
1602
|
-
dismiss: (id: string) => void;
|
|
1603
|
-
dismissAll: () => void;
|
|
1604
|
-
subscribe: (listener: () => void) => () => void;
|
|
1605
|
-
getToasts: () => ToastItem[];
|
|
1606
|
-
config: Required<ToasterConfig>;
|
|
1607
|
-
}
|
|
1608
|
-
/**
|
|
1609
|
-
* Creates a toaster instance that manages toast state externally.
|
|
1610
|
-
*/
|
|
1611
|
-
declare function createToaster(config?: ToasterConfig): Toaster;
|
|
1612
|
-
/**
|
|
1613
|
-
* ToastContainer — Renders all toasts from a given toaster.
|
|
1614
|
-
*/
|
|
1615
|
-
declare function ToastContainer(props: {
|
|
1616
|
-
toaster: Toaster;
|
|
1617
|
-
}): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props> | null;
|
|
1618
|
-
/**
|
|
1619
|
-
* useToast — Hook that creates a toaster and returns toast() + ToastContainer.
|
|
1620
|
-
*/
|
|
1621
|
-
declare function useToast(config?: ToasterConfig): {
|
|
1622
|
-
toast: (message: string, opts?: ToastOptions) => string;
|
|
1623
|
-
dismiss: (id: string) => void;
|
|
1624
|
-
dismissAll: () => void;
|
|
1625
|
-
ToastContainer: () => specifyjs_shared_types.SpecElement<{
|
|
1626
|
-
toaster: Toaster;
|
|
1627
|
-
}>;
|
|
1628
|
-
};
|
|
1629
|
-
|
|
1630
|
-
type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
1631
|
-
interface TooltipProps {
|
|
1632
|
-
/** Tooltip text content */
|
|
1633
|
-
text: string;
|
|
1634
|
-
/** Placement relative to the trigger */
|
|
1635
|
-
placement?: TooltipPlacement;
|
|
1636
|
-
/** Delay in ms before showing (default 200) */
|
|
1637
|
-
delay?: number;
|
|
1638
|
-
/** Max width of the tooltip */
|
|
1639
|
-
maxWidth?: string;
|
|
1640
|
-
/** Trigger element(s) */
|
|
1641
|
-
children?: unknown;
|
|
1642
|
-
}
|
|
1643
|
-
declare function Tooltip(props: TooltipProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1644
|
-
|
|
1645
|
-
interface BarDatum {
|
|
1646
|
-
label: string;
|
|
1647
|
-
value: number;
|
|
1648
|
-
color?: string;
|
|
1649
|
-
}
|
|
1650
|
-
interface StackedBarDatum {
|
|
1651
|
-
label: string;
|
|
1652
|
-
values: {
|
|
1653
|
-
category: string;
|
|
1654
|
-
value: number;
|
|
1655
|
-
color?: string;
|
|
1656
|
-
}[];
|
|
1657
|
-
}
|
|
1658
|
-
interface BarGraphProps {
|
|
1659
|
-
/** Simple bar data */
|
|
1660
|
-
data: BarDatum[];
|
|
1661
|
-
/** SVG width in pixels (default: 600) */
|
|
1662
|
-
width?: number;
|
|
1663
|
-
/** SVG height in pixels (default: 400) */
|
|
1664
|
-
height?: number;
|
|
1665
|
-
/** Bar orientation (default: 'vertical') */
|
|
1666
|
-
orientation?: 'vertical' | 'horizontal';
|
|
1667
|
-
/** Default bar fill color (default: '#3b82f6') */
|
|
1668
|
-
barColor?: string;
|
|
1669
|
-
/** Gap between bars in px (default: 8) */
|
|
1670
|
-
barGap?: number;
|
|
1671
|
-
/** Border radius on bar tops (default: 4) */
|
|
1672
|
-
barRadius?: number;
|
|
1673
|
-
/** Show value labels on bars (default: true) */
|
|
1674
|
-
showValues?: boolean;
|
|
1675
|
-
/** Show grid lines perpendicular to bars (default: true) */
|
|
1676
|
-
showGrid?: boolean;
|
|
1677
|
-
/** Grid line color (default: '#e5e7eb') */
|
|
1678
|
-
gridColor?: string;
|
|
1679
|
-
/** Chart title */
|
|
1680
|
-
title?: string;
|
|
1681
|
-
/** Padding around chart area in px (default: 50) */
|
|
1682
|
-
padding?: number;
|
|
1683
|
-
/** Enable animation (default: false) */
|
|
1684
|
-
animate?: boolean;
|
|
1685
|
-
/** Stacked bar data — overrides `data` when provided */
|
|
1686
|
-
stacked?: StackedBarDatum[];
|
|
1687
|
-
/** Grouped mode — side-by-side bars when using stacked data (default: false) */
|
|
1688
|
-
grouped?: boolean;
|
|
1689
|
-
}
|
|
1690
|
-
interface BarGraphScales {
|
|
1691
|
-
/** Maps a value to a pixel length along the value axis */
|
|
1692
|
-
valueScale: (v: number) => number;
|
|
1693
|
-
/** Maps a category index to a pixel position along the category axis */
|
|
1694
|
-
categoryScale: (i: number) => number;
|
|
1695
|
-
/** Width/thickness of a single bar in px */
|
|
1696
|
-
barThickness: number;
|
|
1697
|
-
/** Maximum data value (used for scale domain) */
|
|
1698
|
-
maxValue: number;
|
|
1699
|
-
/** Length of the value axis in px */
|
|
1700
|
-
valueAxisLength: number;
|
|
1701
|
-
/** Length of the category axis in px */
|
|
1702
|
-
categoryAxisLength: number;
|
|
1703
|
-
}
|
|
1704
|
-
declare function useBarGraphScales(count: number, maxValue: number, axisLength: number, categoryAxisLength: number, barGap: number): BarGraphScales;
|
|
1705
|
-
declare function BarGraph(props: BarGraphProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1706
|
-
|
|
1707
|
-
interface PointEvent {
|
|
1708
|
-
x: number;
|
|
1709
|
-
y: number;
|
|
1710
|
-
index: number;
|
|
1711
|
-
event: Event;
|
|
1712
|
-
}
|
|
1713
|
-
interface CartesianGraph2DProps {
|
|
1714
|
-
width?: number;
|
|
1715
|
-
height?: number;
|
|
1716
|
-
points?: {
|
|
1717
|
-
x: number;
|
|
1718
|
-
y: number;
|
|
1719
|
-
}[];
|
|
1720
|
-
/** Function to plot: f(x) → y */
|
|
1721
|
-
plotFunction?: (x: number) => number;
|
|
1722
|
-
/** Number of samples across the x range (default: 200). Ignored if xStep is set. */
|
|
1723
|
-
plotResolution?: number;
|
|
1724
|
-
/** Explicit step increment for function evaluation (e.g., 0.1).
|
|
1725
|
-
* When set, overrides plotResolution and computes f(x) at
|
|
1726
|
-
* x = xRange[0], xRange[0]+step, xRange[0]+2*step, ..., xRange[1]. */
|
|
1727
|
-
xStep?: number;
|
|
1728
|
-
/** If true, compute plotFunction synchronously (blocks render).
|
|
1729
|
-
* Default: false — computes asynchronously via requestIdleCallback,
|
|
1730
|
-
* rendering progressively as results arrive. */
|
|
1731
|
-
sync?: boolean;
|
|
1732
|
-
xRange?: [number, number];
|
|
1733
|
-
yRange?: [number, number];
|
|
1734
|
-
showGrid?: boolean;
|
|
1735
|
-
showAxes?: boolean;
|
|
1736
|
-
pointRadius?: number;
|
|
1737
|
-
pointColor?: string;
|
|
1738
|
-
curveColor?: string;
|
|
1739
|
-
gridColor?: string;
|
|
1740
|
-
axisColor?: string;
|
|
1741
|
-
onPointClick?: (info: PointEvent) => void;
|
|
1742
|
-
onPointDoubleClick?: (info: PointEvent) => void;
|
|
1743
|
-
onPointContextMenu?: (info: PointEvent) => void;
|
|
1744
|
-
onPointHover?: (info: PointEvent) => void;
|
|
1745
|
-
}
|
|
1746
|
-
declare function CartesianGraph2D(props: CartesianGraph2DProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1747
|
-
|
|
1748
|
-
interface ComplexPointInfo {
|
|
1749
|
-
re: number;
|
|
1750
|
-
im: number;
|
|
1751
|
-
iterations: number;
|
|
1752
|
-
event: Event;
|
|
1753
|
-
}
|
|
1754
|
-
interface ComplexGraph2DProps {
|
|
1755
|
-
width?: number;
|
|
1756
|
-
height?: number;
|
|
1757
|
-
realRange?: [number, number];
|
|
1758
|
-
imagRange?: [number, number];
|
|
1759
|
-
maxIterations?: number;
|
|
1760
|
-
colorScheme?: "classic" | "fire" | "ocean";
|
|
1761
|
-
computeFunction?: (re: number, im: number, maxIter: number) => number;
|
|
1762
|
-
/** Precomputed iteration grid (rows x cols). When provided, renders as SVG
|
|
1763
|
-
* instead of canvas. Each value is the iteration count at that pixel. */
|
|
1764
|
-
data?: number[][];
|
|
1765
|
-
/** Pixel resolution for precomputed SVG rendering (default: 2) */
|
|
1766
|
-
resolution?: number;
|
|
1767
|
-
/** If true, compute values synchronously (blocks render).
|
|
1768
|
-
* Default: false — uses canvas useEffect for runtime computation. */
|
|
1769
|
-
sync?: boolean;
|
|
1770
|
-
onPointClick?: (info: ComplexPointInfo) => void;
|
|
1771
|
-
onPointHover?: (info: ComplexPointInfo) => void;
|
|
1772
|
-
onPointDoubleClick?: (info: ComplexPointInfo) => void;
|
|
1773
|
-
onPointContextMenu?: (info: ComplexPointInfo) => void;
|
|
1774
|
-
}
|
|
1775
|
-
/**
|
|
1776
|
-
* Precompute a Mandelbrot iteration grid at a given resolution.
|
|
1777
|
-
* Returns a 2D array of iteration counts (rows x cols).
|
|
1778
|
-
*/
|
|
1779
|
-
declare function computeMandelbrotGrid(cols: number, rows: number, realRange?: [number, number], imagRange?: [number, number], maxIter?: number, computeFn?: (re: number, im: number, maxIter: number) => number): number[][];
|
|
1780
|
-
declare function ComplexGraph2D(props: ComplexGraph2DProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1781
|
-
|
|
1782
|
-
/** Supported point marker shapes */
|
|
1783
|
-
type PointShape = 'circle' | 'square' | 'diamond' | 'triangle' | 'triangle-down' | 'cross' | 'plus';
|
|
1784
|
-
interface Point {
|
|
1785
|
-
x: number;
|
|
1786
|
-
y: number;
|
|
1787
|
-
/** Per-point shape override */
|
|
1788
|
-
shape?: PointShape;
|
|
1789
|
-
/** Per-point radius override */
|
|
1790
|
-
radius?: number;
|
|
1791
|
-
}
|
|
1792
|
-
interface LineSeries {
|
|
1793
|
-
data: Point[];
|
|
1794
|
-
color: string;
|
|
1795
|
-
label?: string;
|
|
1796
|
-
/** Point shape for this series */
|
|
1797
|
-
pointShape?: PointShape;
|
|
1798
|
-
/** Point radius for this series */
|
|
1799
|
-
pointRadius?: number;
|
|
1800
|
-
}
|
|
1801
|
-
interface LineGraphProps {
|
|
1802
|
-
data: Point[];
|
|
1803
|
-
width?: number;
|
|
1804
|
-
height?: number;
|
|
1805
|
-
lineColor?: string;
|
|
1806
|
-
lineWidth?: number;
|
|
1807
|
-
pointRadius?: number;
|
|
1808
|
-
pointColor?: string;
|
|
1809
|
-
/** Default point marker shape (default: 'circle') */
|
|
1810
|
-
pointShape?: PointShape;
|
|
1811
|
-
showPoints?: boolean;
|
|
1812
|
-
showGrid?: boolean;
|
|
1813
|
-
showArea?: boolean;
|
|
1814
|
-
areaColor?: string;
|
|
1815
|
-
xLabel?: string;
|
|
1816
|
-
yLabel?: string;
|
|
1817
|
-
title?: string;
|
|
1818
|
-
padding?: number;
|
|
1819
|
-
animate?: boolean;
|
|
1820
|
-
multiLine?: LineSeries[];
|
|
1821
|
-
}
|
|
1822
|
-
interface ScaleResult {
|
|
1823
|
-
xScale: (v: number) => number;
|
|
1824
|
-
yScale: (v: number) => number;
|
|
1825
|
-
xTicks: number[];
|
|
1826
|
-
yTicks: number[];
|
|
1827
|
-
xMin: number;
|
|
1828
|
-
xMax: number;
|
|
1829
|
-
yMin: number;
|
|
1830
|
-
yMax: number;
|
|
1831
|
-
}
|
|
1832
|
-
declare function useLineGraphScales(data: Point[], width: number, height: number, padding: number): ScaleResult;
|
|
1833
|
-
declare function LineGraph(props: LineGraphProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1834
|
-
|
|
1835
|
-
/** Unique symbol to identify SpecifyJS elements */
|
|
1836
|
-
declare const SPEC_ELEMENT_TYPE: unique symbol;
|
|
1837
|
-
/** A key used for reconciliation */
|
|
1838
|
-
type Key = string | number | null;
|
|
1839
|
-
/** A ref can be a callback, an object, or null */
|
|
1840
|
-
type Ref<T = unknown> = RefCallback<T> | RefObject<T> | null;
|
|
1841
|
-
type RefCallback<T> = (instance: T | null) => void;
|
|
1842
|
-
interface RefObject<T> {
|
|
1843
|
-
current: T | null;
|
|
1844
|
-
}
|
|
1845
|
-
/** Props are an arbitrary key-value map */
|
|
1846
|
-
type Props = Record<string, unknown> & {
|
|
1847
|
-
children?: SpecNode;
|
|
1848
|
-
key?: Key;
|
|
1849
|
-
ref?: Ref;
|
|
1850
|
-
};
|
|
1851
|
-
/** Valid child types in a SpecifyJS tree */
|
|
1852
|
-
type SpecChild = SpecElement | string | number | boolean | null | undefined;
|
|
1853
|
-
type SpecNode = SpecChild | SpecNode[];
|
|
1854
|
-
/** A functional component */
|
|
1855
|
-
type FunctionComponent<P extends Props = Props> = (props: P) => SpecNode;
|
|
1856
|
-
/** A class component constructor */
|
|
1857
|
-
interface ClassComponentConstructor<P extends Props = Props, S = unknown> {
|
|
1858
|
-
new (props: P): ClassComponentInstance<P, S>;
|
|
1859
|
-
getDerivedStateFromProps?(props: P, state: S): Partial<S> | null;
|
|
1860
|
-
getDerivedStateFromError?(error: unknown): Partial<S> | null;
|
|
1861
|
-
}
|
|
1862
|
-
/** Instance of a class component */
|
|
1863
|
-
interface ClassComponentInstance<P extends Props = Props, S = unknown> {
|
|
1864
|
-
props: P;
|
|
1865
|
-
state: S;
|
|
1866
|
-
setState(updater: Partial<S> | ((prevState: S, props: P) => Partial<S> | null)): void;
|
|
1867
|
-
forceUpdate(callback?: () => void): void;
|
|
1868
|
-
render(): SpecNode;
|
|
1869
|
-
componentDidMount?(): void;
|
|
1870
|
-
componentDidUpdate?(prevProps: P, prevState: S, snapshot?: unknown): void;
|
|
1871
|
-
componentWillUnmount?(): void;
|
|
1872
|
-
shouldComponentUpdate?(nextProps: P, nextState: S): boolean;
|
|
1873
|
-
getSnapshotBeforeUpdate?(prevProps: P, prevState: S): unknown;
|
|
1874
|
-
componentDidCatch?(error: unknown, info: ErrorInfo): void;
|
|
1875
|
-
_fiber: unknown;
|
|
1876
|
-
_pendingState: Array<Partial<S> | ((prevState: S, props: P) => Partial<S> | null)>;
|
|
1877
|
-
_forceUpdate: boolean;
|
|
1878
|
-
_enqueueUpdate(callback?: () => void): void;
|
|
1879
|
-
}
|
|
1880
|
-
interface ErrorInfo {
|
|
1881
|
-
componentStack: string;
|
|
1882
|
-
}
|
|
1883
|
-
/** A component type can be a function, a class, or a special symbol type */
|
|
1884
|
-
type ComponentType<P extends Props = Props> = FunctionComponent<P> | ClassComponentConstructor<P> | string | symbol;
|
|
1885
|
-
/** The core element structure — equivalent to React.Element */
|
|
1886
|
-
interface SpecElement<P extends Props = Props> {
|
|
1887
|
-
$$typeof: typeof SPEC_ELEMENT_TYPE;
|
|
1888
|
-
type: ComponentType<P>;
|
|
1889
|
-
props: P;
|
|
1890
|
-
key: Key;
|
|
1891
|
-
ref: Ref;
|
|
1892
|
-
}
|
|
1893
|
-
|
|
1894
|
-
interface PieSliceDatum {
|
|
1895
|
-
label: string;
|
|
1896
|
-
value: number;
|
|
1897
|
-
color?: string;
|
|
1898
|
-
}
|
|
1899
|
-
interface ComputedSlice {
|
|
1900
|
-
label: string;
|
|
1901
|
-
value: number;
|
|
1902
|
-
startAngle: number;
|
|
1903
|
-
endAngle: number;
|
|
1904
|
-
percentage: number;
|
|
1905
|
-
color: string;
|
|
1906
|
-
}
|
|
1907
|
-
interface PieGraphProps {
|
|
1908
|
-
data: PieSliceDatum[];
|
|
1909
|
-
width?: number;
|
|
1910
|
-
height?: number;
|
|
1911
|
-
innerRadius?: number;
|
|
1912
|
-
outerRadius?: number;
|
|
1913
|
-
padAngle?: number;
|
|
1914
|
-
showLabels?: boolean;
|
|
1915
|
-
showValues?: boolean;
|
|
1916
|
-
showLegend?: boolean;
|
|
1917
|
-
legendPosition?: 'right' | 'bottom';
|
|
1918
|
-
title?: string;
|
|
1919
|
-
centerLabel?: string;
|
|
1920
|
-
colors?: string[];
|
|
1921
|
-
strokeColor?: string;
|
|
1922
|
-
strokeWidth?: number;
|
|
1923
|
-
textColor?: string;
|
|
1924
|
-
}
|
|
1925
|
-
/**
|
|
1926
|
-
* Build an SVG path `d` string for an arc (or annular sector).
|
|
1927
|
-
*
|
|
1928
|
-
* Angles are in **radians**, measured clockwise from 12-o'clock
|
|
1929
|
-
* (i.e. -PI/2 offset so 0 rad = top).
|
|
1930
|
-
*
|
|
1931
|
-
* Exported as a public utility so consumers can draw custom arcs.
|
|
1932
|
-
*/
|
|
1933
|
-
declare function describeArc(cx: number, cy: number, innerR: number, outerR: number, startAngle: number, endAngle: number): string;
|
|
1934
|
-
/**
|
|
1935
|
-
* Given raw data, compute start/end angles, percentages, and resolved colors.
|
|
1936
|
-
*/
|
|
1937
|
-
declare function computeSlices(data: PieSliceDatum[], options?: {
|
|
1938
|
-
padAngle?: number;
|
|
1939
|
-
colors?: string[];
|
|
1940
|
-
}): ComputedSlice[];
|
|
1941
|
-
declare function PieGraph(props: PieGraphProps): SpecElement;
|
|
1942
|
-
|
|
1943
|
-
interface PolarPointInfo {
|
|
1944
|
-
r: number;
|
|
1945
|
-
theta: number;
|
|
1946
|
-
index: number;
|
|
1947
|
-
event: Event;
|
|
1948
|
-
}
|
|
1949
|
-
interface PolarGraph2DProps {
|
|
1950
|
-
width?: number;
|
|
1951
|
-
height?: number;
|
|
1952
|
-
rRange?: [number, number];
|
|
1953
|
-
/** Function to plot: f(theta) → r */
|
|
1954
|
-
plotFunction?: (theta: number) => number;
|
|
1955
|
-
/** Number of samples around the full circle (default: 360). Ignored if thetaStep is set. */
|
|
1956
|
-
plotResolution?: number;
|
|
1957
|
-
/** Explicit step increment in radians for function evaluation (e.g., Math.PI/180).
|
|
1958
|
-
* When set, overrides plotResolution and computes f(theta) at
|
|
1959
|
-
* theta = 0, step, 2*step, ..., 2*PI. */
|
|
1960
|
-
thetaStep?: number;
|
|
1961
|
-
/** If true, compute plotFunction synchronously (blocks render).
|
|
1962
|
-
* Default: false — computes asynchronously. */
|
|
1963
|
-
sync?: boolean;
|
|
1964
|
-
points?: {
|
|
1965
|
-
r: number;
|
|
1966
|
-
theta: number;
|
|
1967
|
-
}[];
|
|
1968
|
-
showGrid?: boolean;
|
|
1969
|
-
pointRadius?: number;
|
|
1970
|
-
pointColor?: string;
|
|
1971
|
-
curveColor?: string;
|
|
1972
|
-
onPointClick?: (info: PolarPointInfo) => void;
|
|
1973
|
-
onPointDoubleClick?: (info: PolarPointInfo) => void;
|
|
1974
|
-
onPointContextMenu?: (info: PolarPointInfo) => void;
|
|
1975
|
-
onPointHover?: (info: PolarPointInfo) => void;
|
|
1976
|
-
}
|
|
1977
|
-
declare function PolarGraph2D(props: PolarGraph2DProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
1978
|
-
|
|
1979
|
-
/**
|
|
1980
|
-
* Hypercube math engine.
|
|
1981
|
-
*
|
|
1982
|
-
* Generates vertices and edges for an N-dimensional hypercube and projects
|
|
1983
|
-
* them to 2D via configurable rotation + orthographic projection.
|
|
1984
|
-
*/
|
|
1985
|
-
interface Vec {
|
|
1986
|
-
/** N-dimensional coordinates */
|
|
1987
|
-
coords: number[];
|
|
1988
|
-
}
|
|
1989
|
-
interface Vertex {
|
|
1990
|
-
id: number;
|
|
1991
|
-
/** Original N-dimensional position (each coord 0 or 1) */
|
|
1992
|
-
position: Vec;
|
|
1993
|
-
/** Projected 2D position after rotation */
|
|
1994
|
-
x: number;
|
|
1995
|
-
y: number;
|
|
1996
|
-
/** Projected depth for z-ordering */
|
|
1997
|
-
depth: number;
|
|
1998
|
-
}
|
|
1999
|
-
interface Edge {
|
|
2000
|
-
source: number;
|
|
2001
|
-
target: number;
|
|
2002
|
-
}
|
|
2003
|
-
interface HypercubeData {
|
|
2004
|
-
vertices: Vertex[];
|
|
2005
|
-
edges: Edge[];
|
|
2006
|
-
dimension: number;
|
|
2007
|
-
}
|
|
2008
|
-
/**
|
|
2009
|
-
* Generate all 2^n vertices of an n-dimensional hypercube.
|
|
2010
|
-
* Each vertex is a binary vector of length n, centered at the origin
|
|
2011
|
-
* (coords mapped from {0,1} to {-1,+1}).
|
|
2012
|
-
*/
|
|
2013
|
-
declare function generateVertices(dimension: number): Vec[];
|
|
2014
|
-
/**
|
|
2015
|
-
* Generate edges connecting vertices that differ in exactly one coordinate
|
|
2016
|
-
* (Hamming distance 1).
|
|
2017
|
-
*/
|
|
2018
|
-
declare function generateEdges(dimension: number): Edge[];
|
|
2019
|
-
/**
|
|
2020
|
-
* Build an N×N rotation matrix that applies rotations in each pair of
|
|
2021
|
-
* coordinate planes. `angles` is an array of rotation angles (radians),
|
|
2022
|
-
* one per plane pair: (0,1), (0,2), (1,2), (0,3), (1,3), (2,3), ...
|
|
2023
|
-
*/
|
|
2024
|
-
declare function buildRotationMatrix(dimension: number, angles: number[]): number[][];
|
|
2025
|
-
/**
|
|
2026
|
-
* Apply an N×N matrix to an N-dimensional vector.
|
|
2027
|
-
*/
|
|
2028
|
-
declare function transformVec(matrix: number[][], v: Vec): number[];
|
|
2029
|
-
/**
|
|
2030
|
-
* Project an N-dimensional point to 2D using orthographic projection
|
|
2031
|
-
* (just take the first two coordinates) with optional perspective scaling
|
|
2032
|
-
* based on depth (average of remaining coordinates).
|
|
2033
|
-
*/
|
|
2034
|
-
declare function projectTo2D(transformed: number[], perspective?: number): {
|
|
2035
|
-
x: number;
|
|
2036
|
-
y: number;
|
|
2037
|
-
depth: number;
|
|
2038
|
-
};
|
|
2039
|
-
/**
|
|
2040
|
-
* Generate a complete projected hypercube.
|
|
2041
|
-
*
|
|
2042
|
-
* @param dimension Number of dimensions (2 = square, 3 = cube, 4 = tesseract, ...)
|
|
2043
|
-
* @param angles Rotation angles for each plane pair
|
|
2044
|
-
* @param perspective Perspective strength (0 = orthographic)
|
|
2045
|
-
* @param scale Scaling factor for output coordinates
|
|
2046
|
-
*/
|
|
2047
|
-
declare function generateHypercube(dimension: number, angles?: number[], perspective?: number, scale?: number): HypercubeData;
|
|
2048
|
-
/**
|
|
2049
|
-
* Number of rotation plane-pairs for a given dimension.
|
|
2050
|
-
* This is C(n,2) = n*(n-1)/2.
|
|
2051
|
-
*/
|
|
2052
|
-
declare function numRotationAngles(dimension: number): number;
|
|
2053
|
-
/**
|
|
2054
|
-
* Generate a palette of distinct colors for vertices.
|
|
2055
|
-
*/
|
|
2056
|
-
declare function generatePalette(count: number, saturation?: number, lightness?: number): string[];
|
|
2057
|
-
|
|
2058
|
-
interface HypercubeGraphProps {
|
|
2059
|
-
/** Number of dimensions (default: 4) */
|
|
2060
|
-
dimension?: number;
|
|
2061
|
-
/** SVG width in pixels (default: 600) */
|
|
2062
|
-
width?: number;
|
|
2063
|
-
/** SVG height in pixels (default: 600) */
|
|
2064
|
-
height?: number;
|
|
2065
|
-
/** Vertex radius in pixels (default: 10) */
|
|
2066
|
-
vertexRadius?: number;
|
|
2067
|
-
/** Edge stroke width (default: 3) */
|
|
2068
|
-
edgeWidth?: number;
|
|
2069
|
-
/** Edge color (default: '#111') */
|
|
2070
|
-
edgeColor?: string;
|
|
2071
|
-
/** Array of vertex colors, or 'auto' for generated palette (default: 'auto') */
|
|
2072
|
-
vertexColors?: string[] | 'auto';
|
|
2073
|
-
/** Perspective strength, 0 = orthographic (default: 0.25) */
|
|
2074
|
-
perspective?: number;
|
|
2075
|
-
/** Auto-rotation speed (radians/frame). 0 = no rotation (default: 0.008) */
|
|
2076
|
-
rotationSpeed?: number;
|
|
2077
|
-
/** Whether to show vertex labels (default: false) */
|
|
2078
|
-
showLabels?: boolean;
|
|
2079
|
-
/** Background color (default: 'transparent') */
|
|
2080
|
-
backgroundColor?: string;
|
|
2081
|
-
/** Scale factor (default: auto-fit) */
|
|
2082
|
-
scale?: number;
|
|
2083
|
-
}
|
|
2084
|
-
declare function HypercubeGraph(props: HypercubeGraphProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2085
|
-
interface UseHypercubeOptions {
|
|
2086
|
-
dimension?: number;
|
|
2087
|
-
rotationSpeed?: number;
|
|
2088
|
-
perspective?: number;
|
|
2089
|
-
scale?: number;
|
|
2090
|
-
}
|
|
2091
|
-
/**
|
|
2092
|
-
* Hook that provides hypercube data with auto-animated rotation angles.
|
|
2093
|
-
* Useful for headless rendering or custom SVG layouts.
|
|
2094
|
-
*/
|
|
2095
|
-
declare function useHypercube(opts?: UseHypercubeOptions): {
|
|
2096
|
-
data: HypercubeData;
|
|
2097
|
-
angles: number[];
|
|
2098
|
-
setAngles: (action: number[] | ((prev: number[]) => number[])) => void;
|
|
2099
|
-
};
|
|
2100
|
-
|
|
2101
|
-
type Position = 'top' | 'bottom' | 'left' | 'right';
|
|
2102
|
-
interface LegendItem {
|
|
2103
|
-
label: string;
|
|
2104
|
-
color: string;
|
|
2105
|
-
/** Optional dash pattern for line charts (e.g. '5,3') */
|
|
2106
|
-
dash?: string;
|
|
2107
|
-
/** Shape: circle, square, line (default: circle) */
|
|
2108
|
-
shape?: 'circle' | 'square' | 'line';
|
|
2109
|
-
}
|
|
2110
|
-
interface VizWrapperProps {
|
|
2111
|
-
/** Title text */
|
|
2112
|
-
title?: string;
|
|
2113
|
-
/** Position of the title relative to content (default: 'top') */
|
|
2114
|
-
titlePosition?: Position;
|
|
2115
|
-
/** Title alignment: 'start' | 'center' | 'end' (default: 'center') */
|
|
2116
|
-
titleAlign?: 'start' | 'center' | 'end';
|
|
2117
|
-
/** Title font size (default: '16px') */
|
|
2118
|
-
titleFontSize?: string;
|
|
2119
|
-
/** Title font weight (default: '600') */
|
|
2120
|
-
titleFontWeight?: string;
|
|
2121
|
-
/** Title color (default: '#1f2937') */
|
|
2122
|
-
titleColor?: string;
|
|
2123
|
-
/** Legend items */
|
|
2124
|
-
legend?: LegendItem[];
|
|
2125
|
-
/** Position of the legend relative to content (default: 'bottom') */
|
|
2126
|
-
legendPosition?: Position;
|
|
2127
|
-
/** Legend alignment: 'start' | 'center' | 'end' (default: 'center') */
|
|
2128
|
-
legendAlign?: 'start' | 'center' | 'end';
|
|
2129
|
-
/** Legend font size (default: '12px') */
|
|
2130
|
-
legendFontSize?: string;
|
|
2131
|
-
/** Legend item spacing in px (default: 16) */
|
|
2132
|
-
legendGap?: number;
|
|
2133
|
-
/** Container width (default: 'auto') */
|
|
2134
|
-
width?: string | number;
|
|
2135
|
-
/** Container height (default: 'auto') */
|
|
2136
|
-
height?: string | number;
|
|
2137
|
-
/** Background color (default: '#ffffff') */
|
|
2138
|
-
backgroundColor?: string;
|
|
2139
|
-
/** Border (default: '1px solid #e5e7eb') */
|
|
2140
|
-
border?: string;
|
|
2141
|
-
/** Border radius (default: '8px') */
|
|
2142
|
-
borderRadius?: string;
|
|
2143
|
-
/** Padding around the entire wrapper (default: '16px') */
|
|
2144
|
-
padding?: string;
|
|
2145
|
-
/** Gap between title/legend/content (default: '12px') */
|
|
2146
|
-
gap?: string;
|
|
2147
|
-
/** Box shadow (default: none) */
|
|
2148
|
-
boxShadow?: string;
|
|
2149
|
-
/** Font family (default: inherit) */
|
|
2150
|
-
fontFamily?: string;
|
|
2151
|
-
/** CSS contain value for isolation (default: 'layout style paint') */
|
|
2152
|
-
contain?: string;
|
|
2153
|
-
/** Extra className on the outer container */
|
|
2154
|
-
className?: string;
|
|
2155
|
-
/** Extra inline style on the outer container */
|
|
2156
|
-
style?: Record<string, string>;
|
|
2157
|
-
/** The visualization content (children) */
|
|
2158
|
-
children?: unknown;
|
|
2159
|
-
}
|
|
2160
|
-
declare function VizWrapper(props: VizWrapperProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2161
|
-
|
|
2162
|
-
interface GoogleAnalyticsProps {
|
|
2163
|
-
/** Google Analytics measurement ID (e.g., 'G-XXXXXXXXXX') */
|
|
2164
|
-
measurementId: string;
|
|
2165
|
-
/** Disable tracking (useful for development/testing) */
|
|
2166
|
-
disabled?: boolean;
|
|
2167
|
-
/** Enable debug mode (logs events to console) */
|
|
2168
|
-
debug?: boolean;
|
|
2169
|
-
/** Anonymize IP addresses */
|
|
2170
|
-
anonymizeIp?: boolean;
|
|
2171
|
-
/** Custom config parameters passed to gtag('config', ...) */
|
|
2172
|
-
config?: Record<string, unknown>;
|
|
2173
|
-
}
|
|
2174
|
-
declare function GoogleAnalytics(props: GoogleAnalyticsProps): null;
|
|
2175
|
-
|
|
2176
|
-
interface FooterProps {
|
|
2177
|
-
/** Content for the left section */
|
|
2178
|
-
left?: unknown;
|
|
2179
|
-
/** Content for the center section */
|
|
2180
|
-
center?: unknown;
|
|
2181
|
-
/** Content for the right section */
|
|
2182
|
-
right?: unknown;
|
|
2183
|
-
/** Border top style */
|
|
2184
|
-
borderTop?: string;
|
|
2185
|
-
/** Background color */
|
|
2186
|
-
background?: string;
|
|
2187
|
-
/** Text color */
|
|
2188
|
-
color?: string;
|
|
2189
|
-
/** Font size */
|
|
2190
|
-
fontSize?: string;
|
|
2191
|
-
/** Padding */
|
|
2192
|
-
padding?: string;
|
|
2193
|
-
/** Max width for inner container */
|
|
2194
|
-
maxWidth?: string;
|
|
2195
|
-
/** CSS className */
|
|
2196
|
-
className?: string;
|
|
2197
|
-
/** ARIA label for the footer landmark */
|
|
2198
|
-
ariaLabel?: string;
|
|
2199
|
-
}
|
|
2200
|
-
declare function Footer(props: FooterProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2201
|
-
|
|
2202
|
-
interface UnityDesktopApp {
|
|
2203
|
-
id: string;
|
|
2204
|
-
icon: string;
|
|
2205
|
-
label: string;
|
|
2206
|
-
}
|
|
2207
|
-
interface UnityDesktopUser {
|
|
2208
|
-
name: string;
|
|
2209
|
-
avatar?: string;
|
|
2210
|
-
}
|
|
2211
|
-
interface UnityDesktopProps {
|
|
2212
|
-
/** Application definitions for the dock launcher */
|
|
2213
|
-
apps: UnityDesktopApp[];
|
|
2214
|
-
/** User info for the system tray */
|
|
2215
|
-
user?: UnityDesktopUser;
|
|
2216
|
-
/** Called when an app icon is clicked in the dock */
|
|
2217
|
-
onAppOpen?: (appId: string) => void;
|
|
2218
|
-
/** Called when the user selects logout from the user menu */
|
|
2219
|
-
onLogout?: () => void;
|
|
2220
|
-
/** Color theme */
|
|
2221
|
-
theme?: 'dark' | 'light';
|
|
2222
|
-
/** UnityApp windows render here */
|
|
2223
|
-
children?: unknown;
|
|
2224
|
-
}
|
|
2225
|
-
interface ToastNotification {
|
|
2226
|
-
id: number;
|
|
2227
|
-
message: string;
|
|
2228
|
-
severity: 'info' | 'warning' | 'error';
|
|
2229
|
-
timestamp: number;
|
|
2230
|
-
}
|
|
2231
|
-
declare function UnityDesktop(props: UnityDesktopProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2232
|
-
|
|
2233
|
-
interface UnityAppProps {
|
|
2234
|
-
/** Unique identifier for this app window */
|
|
2235
|
-
id: string;
|
|
2236
|
-
/** Window title */
|
|
2237
|
-
title: string;
|
|
2238
|
-
/** Optional icon (URL or emoji) */
|
|
2239
|
-
icon?: string;
|
|
2240
|
-
/** Default position when first opened */
|
|
2241
|
-
defaultPosition?: {
|
|
2242
|
-
x: number;
|
|
2243
|
-
y: number;
|
|
2244
|
-
};
|
|
2245
|
-
/** Default size when first opened */
|
|
2246
|
-
defaultSize?: {
|
|
2247
|
-
width: number;
|
|
2248
|
-
height: number;
|
|
2249
|
-
};
|
|
2250
|
-
/** Minimum size constraints */
|
|
2251
|
-
minSize?: {
|
|
2252
|
-
width: number;
|
|
2253
|
-
height: number;
|
|
2254
|
-
};
|
|
2255
|
-
/** Whether the window can be resized. Default: true */
|
|
2256
|
-
resizable?: boolean;
|
|
2257
|
-
/** Called when the window is closed */
|
|
2258
|
-
onClose?: () => void;
|
|
2259
|
-
/** Application content */
|
|
2260
|
-
children?: unknown;
|
|
2261
|
-
}
|
|
2262
|
-
declare function UnityApp(props: UnityAppProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props> | null;
|
|
2263
|
-
|
|
2264
|
-
interface WordProcessorProps {
|
|
2265
|
-
/** Document content rendered in the page area */
|
|
2266
|
-
content?: string;
|
|
2267
|
-
/** Extra class name */
|
|
2268
|
-
className?: string;
|
|
2269
|
-
}
|
|
2270
|
-
declare function WordProcessor(props: WordProcessorProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2271
|
-
|
|
2272
|
-
interface IDEProps {
|
|
2273
|
-
/** Extra class name */
|
|
2274
|
-
className?: string;
|
|
2275
|
-
}
|
|
2276
|
-
declare function IDE(props: IDEProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2277
|
-
|
|
2278
|
-
interface TradingDashboardProps {
|
|
2279
|
-
/** Extra class name */
|
|
2280
|
-
className?: string;
|
|
2281
|
-
}
|
|
2282
|
-
declare function TradingDashboard(props: TradingDashboardProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2283
|
-
|
|
2284
|
-
interface ButtonProps {
|
|
2285
|
-
/** Button label / children */
|
|
2286
|
-
children?: unknown;
|
|
2287
|
-
/** Click handler */
|
|
2288
|
-
onClick?: (e: Event) => void;
|
|
2289
|
-
/** Visual variant */
|
|
2290
|
-
variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger';
|
|
2291
|
-
/** Size */
|
|
2292
|
-
size?: 'sm' | 'md' | 'lg';
|
|
2293
|
-
/** Disabled state */
|
|
2294
|
-
disabled?: boolean;
|
|
2295
|
-
/** Full width */
|
|
2296
|
-
fullWidth?: boolean;
|
|
2297
|
-
/** HTML type attribute */
|
|
2298
|
-
type?: 'button' | 'submit' | 'reset';
|
|
2299
|
-
/** Custom className */
|
|
2300
|
-
className?: string;
|
|
2301
|
-
/** Custom inline style overrides */
|
|
2302
|
-
style?: Record<string, string>;
|
|
2303
|
-
/** Accessible label (when children is an icon) */
|
|
2304
|
-
ariaLabel?: string;
|
|
2305
|
-
/** Whether button is in active/toggled state */
|
|
2306
|
-
active?: boolean;
|
|
2307
|
-
}
|
|
2308
|
-
declare function Button(props: ButtonProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2309
|
-
|
|
2310
|
-
interface Layer3D {
|
|
2311
|
-
label: string;
|
|
2312
|
-
data: number[][];
|
|
2313
|
-
color?: string;
|
|
2314
|
-
opacity?: number;
|
|
2315
|
-
}
|
|
2316
|
-
interface ThreeDLayersProps {
|
|
2317
|
-
/** Array of layers, each containing a 2D grid of height values */
|
|
2318
|
-
layers: Layer3D[];
|
|
2319
|
-
/** SVG width in pixels (default: 700) */
|
|
2320
|
-
width?: number;
|
|
2321
|
-
/** SVG height in pixels (default: 500) */
|
|
2322
|
-
height?: number;
|
|
2323
|
-
/** Perspective strength (default: 0.5) — 0 = flat, 1 = strong perspective */
|
|
2324
|
-
perspective?: number;
|
|
2325
|
-
/** X-axis rotation in degrees (default: 35) */
|
|
2326
|
-
rotateX?: number;
|
|
2327
|
-
/** Y-axis rotation in degrees (default: 45) */
|
|
2328
|
-
rotateY?: number;
|
|
2329
|
-
/** Z-axis rotation in degrees (default: 0) */
|
|
2330
|
-
rotateZ?: number;
|
|
2331
|
-
/** Show layer labels (default: true) */
|
|
2332
|
-
showLabels?: boolean;
|
|
2333
|
-
/** Show 3D axes (default: true) */
|
|
2334
|
-
showAxes?: boolean;
|
|
2335
|
-
/** Vertical spacing between layers in data units (default: 2) */
|
|
2336
|
-
layerSpacing?: number;
|
|
2337
|
-
/** Color palette for layers (default: built-in palette) */
|
|
2338
|
-
colorScale?: string[];
|
|
2339
|
-
/** Grid wireframe color (default: '#94a3b8') */
|
|
2340
|
-
gridColor?: string;
|
|
2341
|
-
/** Chart title */
|
|
2342
|
-
title?: string;
|
|
2343
|
-
}
|
|
2344
|
-
declare function ThreeDLayers(props: ThreeDLayersProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2345
|
-
|
|
2346
|
-
interface BigNumberProps {
|
|
2347
|
-
/** The main value to display */
|
|
2348
|
-
value: number | string;
|
|
2349
|
-
/** Descriptive label beneath the value */
|
|
2350
|
-
label?: string;
|
|
2351
|
-
/** Prefix before the value (e.g. '$') */
|
|
2352
|
-
prefix?: string;
|
|
2353
|
-
/** Suffix after the value (e.g. '%') */
|
|
2354
|
-
suffix?: string;
|
|
2355
|
-
/** Trend value — positive = up, negative = down */
|
|
2356
|
-
trend?: number;
|
|
2357
|
-
/** Trend context label (e.g. 'vs last week') */
|
|
2358
|
-
trendLabel?: string;
|
|
2359
|
-
/** Small line chart data points */
|
|
2360
|
-
sparkline?: number[];
|
|
2361
|
-
/** SVG width in pixels (default: 280) */
|
|
2362
|
-
width?: number;
|
|
2363
|
-
/** SVG height in pixels (default: 160) */
|
|
2364
|
-
height?: number;
|
|
2365
|
-
/** Main value text color (default: 'currentColor') */
|
|
2366
|
-
valueColor?: string;
|
|
2367
|
-
/** Trend arrow color when positive (default: '#22c55e') */
|
|
2368
|
-
trendUpColor?: string;
|
|
2369
|
-
/** Trend arrow color when negative (default: '#ef4444') */
|
|
2370
|
-
trendDownColor?: string;
|
|
2371
|
-
/** Card background color (default: '#ffffff') */
|
|
2372
|
-
backgroundColor?: string;
|
|
2373
|
-
}
|
|
2374
|
-
declare function BigNumber(props: BigNumberProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2375
|
-
|
|
2376
|
-
/** Qubit state in Bloch sphere coordinates */
|
|
2377
|
-
interface BlochState {
|
|
2378
|
-
/** Polar angle from |0⟩ (north pole) in radians [0, π] */
|
|
2379
|
-
theta: number;
|
|
2380
|
-
/** Azimuthal angle in the XY plane in radians [0, 2π) */
|
|
2381
|
-
phi: number;
|
|
2382
|
-
}
|
|
2383
|
-
/** A point on the sphere trail */
|
|
2384
|
-
interface TrailPoint {
|
|
2385
|
-
x: number;
|
|
2386
|
-
y: number;
|
|
2387
|
-
z: number;
|
|
2388
|
-
}
|
|
2389
|
-
/** Standard quantum gate names */
|
|
2390
|
-
type GateName = 'X' | 'Y' | 'Z' | 'H' | 'S' | 'T' | 'Rx' | 'Ry' | 'Rz';
|
|
2391
|
-
/** Gate to apply with optional rotation angle */
|
|
2392
|
-
interface GateOp {
|
|
2393
|
-
gate: GateName;
|
|
2394
|
-
/** Rotation angle in radians (for Rx, Ry, Rz gates) */
|
|
2395
|
-
angle?: number;
|
|
2396
|
-
}
|
|
2397
|
-
interface BlochSphereProps {
|
|
2398
|
-
/** Current qubit state (default: |0⟩ = {theta: 0, phi: 0}) */
|
|
2399
|
-
state?: BlochState;
|
|
2400
|
-
/** Sequence of gates to animate (applied one per frame) */
|
|
2401
|
-
gates?: GateOp[];
|
|
2402
|
-
/** SVG viewBox width (default: 400) */
|
|
2403
|
-
width?: number;
|
|
2404
|
-
/** SVG viewBox height (default: 400) */
|
|
2405
|
-
height?: number;
|
|
2406
|
-
/** Initial rotation around Y axis in degrees (default: -25) */
|
|
2407
|
-
rotateY?: number;
|
|
2408
|
-
/** Initial rotation around X axis in degrees (default: 15) */
|
|
2409
|
-
rotateX?: number;
|
|
2410
|
-
/** Zoom level (default: 1.0, range 0.5–3.0) */
|
|
2411
|
-
zoom?: number;
|
|
2412
|
-
/** Allow interactive rotation via drag (default: true) */
|
|
2413
|
-
interactive?: boolean;
|
|
2414
|
-
/** Allow zoom via scroll (default: true) */
|
|
2415
|
-
zoomable?: boolean;
|
|
2416
|
-
/** Show state vector arrow (default: true) */
|
|
2417
|
-
showVector?: boolean;
|
|
2418
|
-
/** Show axis labels (default: true) */
|
|
2419
|
-
showLabels?: boolean;
|
|
2420
|
-
/** Show wireframe circles (default: true) */
|
|
2421
|
-
showWireframe?: boolean;
|
|
2422
|
-
/** Show trajectory trail (default: true) */
|
|
2423
|
-
showTrail?: boolean;
|
|
2424
|
-
/** Max trail points (default: 200) */
|
|
2425
|
-
trailMaxPoints?: number;
|
|
2426
|
-
/** Trail color (default: '#ef4444') */
|
|
2427
|
-
trailColor?: string;
|
|
2428
|
-
/** Sphere wireframe color (default: '#cbd5e1') */
|
|
2429
|
-
wireframeColor?: string;
|
|
2430
|
-
/** State vector color (default: '#3b82f6') */
|
|
2431
|
-
vectorColor?: string;
|
|
2432
|
-
/** Background color (default: transparent) */
|
|
2433
|
-
backgroundColor?: string;
|
|
2434
|
-
/** Sphere radius in viewBox units (default: 130) */
|
|
2435
|
-
sphereRadius?: number;
|
|
2436
|
-
/** Title text */
|
|
2437
|
-
title?: string;
|
|
2438
|
-
/** Called when state changes (from gates or interaction) */
|
|
2439
|
-
onStateChange?: (state: BlochState) => void;
|
|
2440
|
-
}
|
|
2441
|
-
declare function blochToCartesian(state: BlochState): {
|
|
2442
|
-
x: number;
|
|
2443
|
-
y: number;
|
|
2444
|
-
z: number;
|
|
2445
|
-
};
|
|
2446
|
-
declare function cartesianToBloch(x: number, y: number, z: number): BlochState;
|
|
2447
|
-
declare function applyGate(state: BlochState, op: GateOp): BlochState;
|
|
2448
|
-
declare function BlochSphere(props: BlochSphereProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2449
|
-
|
|
2450
|
-
interface BoxPlotDatum {
|
|
2451
|
-
/** Category label */
|
|
2452
|
-
label: string;
|
|
2453
|
-
/** Raw numeric values to compute statistics from */
|
|
2454
|
-
values: number[];
|
|
2455
|
-
/** Optional box fill color */
|
|
2456
|
-
color?: string;
|
|
2457
|
-
}
|
|
2458
|
-
interface BoxPlotProps {
|
|
2459
|
-
/** Array of box plot data */
|
|
2460
|
-
data: BoxPlotDatum[];
|
|
2461
|
-
/** SVG width in pixels (default: 600) */
|
|
2462
|
-
width?: number;
|
|
2463
|
-
/** SVG height in pixels (default: 400) */
|
|
2464
|
-
height?: number;
|
|
2465
|
-
/** Plot orientation (default: 'vertical') */
|
|
2466
|
-
orientation?: 'horizontal' | 'vertical';
|
|
2467
|
-
/** Show outlier circles (default: true) */
|
|
2468
|
-
showOutliers?: boolean;
|
|
2469
|
-
/** Show mean marker (default: false) */
|
|
2470
|
-
showMean?: boolean;
|
|
2471
|
-
/** Whisker line color (default: '#374151') */
|
|
2472
|
-
whiskerColor?: string;
|
|
2473
|
-
/** Box width as fraction of available space (default: 0.6) */
|
|
2474
|
-
boxWidth?: number;
|
|
2475
|
-
/** Show grid lines (default: true) */
|
|
2476
|
-
showGrid?: boolean;
|
|
2477
|
-
/** Chart title */
|
|
2478
|
-
title?: string;
|
|
2479
|
-
/** Padding around chart area in px (default: 60) */
|
|
2480
|
-
padding?: number;
|
|
2481
|
-
}
|
|
2482
|
-
interface BoxStats {
|
|
2483
|
-
q1: number;
|
|
2484
|
-
median: number;
|
|
2485
|
-
q3: number;
|
|
2486
|
-
iqr: number;
|
|
2487
|
-
whiskerLow: number;
|
|
2488
|
-
whiskerHigh: number;
|
|
2489
|
-
mean: number;
|
|
2490
|
-
outliers: number[];
|
|
2491
|
-
min: number;
|
|
2492
|
-
max: number;
|
|
2493
|
-
}
|
|
2494
|
-
/** Compute box-plot statistics from raw values. */
|
|
2495
|
-
declare function computeBoxStats(values: number[]): BoxStats | null;
|
|
2496
|
-
declare function BoxPlot(props: BoxPlotProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2497
|
-
|
|
2498
|
-
interface BubbleDatum {
|
|
2499
|
-
x: number;
|
|
2500
|
-
y: number;
|
|
2501
|
-
r: number;
|
|
2502
|
-
label?: string;
|
|
2503
|
-
color?: string;
|
|
2504
|
-
}
|
|
2505
|
-
interface BubbleChartProps {
|
|
2506
|
-
/** Array of bubble data points */
|
|
2507
|
-
data: BubbleDatum[];
|
|
2508
|
-
/** SVG width in pixels (default: 600) */
|
|
2509
|
-
width?: number;
|
|
2510
|
-
/** SVG height in pixels (default: 400) */
|
|
2511
|
-
height?: number;
|
|
2512
|
-
/** X-axis label */
|
|
2513
|
-
xLabel?: string;
|
|
2514
|
-
/** Y-axis label */
|
|
2515
|
-
yLabel?: string;
|
|
2516
|
-
/** Show grid lines (default: true) */
|
|
2517
|
-
showGrid?: boolean;
|
|
2518
|
-
/** Show axes (default: true) */
|
|
2519
|
-
showAxes?: boolean;
|
|
2520
|
-
/** Show datum labels (default: false) */
|
|
2521
|
-
showLabels?: boolean;
|
|
2522
|
-
/** Maximum rendered bubble radius in px (default: 40) */
|
|
2523
|
-
maxBubbleRadius?: number;
|
|
2524
|
-
/** Minimum rendered bubble radius in px (default: 4) */
|
|
2525
|
-
minBubbleRadius?: number;
|
|
2526
|
-
/** Default bubble fill color (default: '#3b82f6') */
|
|
2527
|
-
defaultColor?: string;
|
|
2528
|
-
/** Bubble fill opacity (default: 0.7) */
|
|
2529
|
-
opacity?: number;
|
|
2530
|
-
/** Chart title */
|
|
2531
|
-
title?: string;
|
|
2532
|
-
/** Padding around chart area in px (default: 60) */
|
|
2533
|
-
padding?: number;
|
|
2534
|
-
}
|
|
2535
|
-
declare function BubbleChart(props: BubbleChartProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2536
|
-
|
|
2537
|
-
interface CalendarDatum {
|
|
2538
|
-
/** Date string in 'YYYY-MM-DD' format */
|
|
2539
|
-
date: string;
|
|
2540
|
-
/** Numeric value for this date */
|
|
2541
|
-
value: number;
|
|
2542
|
-
}
|
|
2543
|
-
interface CalendarHeatMapProps {
|
|
2544
|
-
/** Array of date/value pairs */
|
|
2545
|
-
data: CalendarDatum[];
|
|
2546
|
-
/** SVG width in pixels (default: 800) */
|
|
2547
|
-
width?: number;
|
|
2548
|
-
/** SVG height in pixels (default: 160) */
|
|
2549
|
-
height?: number;
|
|
2550
|
-
/** Color gradient from low to high */
|
|
2551
|
-
colorScale?: string[];
|
|
2552
|
-
/** Size of each day cell in px (default: 12) */
|
|
2553
|
-
cellSize?: number;
|
|
2554
|
-
/** Gap between cells in px (default: 2) */
|
|
2555
|
-
cellGap?: number;
|
|
2556
|
-
/** Show month labels above the calendar (default: true) */
|
|
2557
|
-
showMonthLabels?: boolean;
|
|
2558
|
-
/** Show day-of-week labels on the left (default: true) */
|
|
2559
|
-
showDayLabels?: boolean;
|
|
2560
|
-
/** Color for days with no data (default: '#ebedf0') */
|
|
2561
|
-
emptyColor?: string;
|
|
2562
|
-
/** Chart title */
|
|
2563
|
-
title?: string;
|
|
2564
|
-
}
|
|
2565
|
-
declare function CalendarHeatMap(props: CalendarHeatMapProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2566
|
-
|
|
2567
|
-
interface ChordDiagramProps {
|
|
2568
|
-
/** Square matrix where matrix[i][j] = flow from group i to group j */
|
|
2569
|
-
matrix: number[][];
|
|
2570
|
-
/** Labels for each group (must match matrix dimensions) */
|
|
2571
|
-
labels: string[];
|
|
2572
|
-
/** SVG width in pixels (default: 600) */
|
|
2573
|
-
width?: number;
|
|
2574
|
-
/** SVG height in pixels (default: 600) */
|
|
2575
|
-
height?: number;
|
|
2576
|
-
/** Color palette for groups */
|
|
2577
|
-
colors?: string[];
|
|
2578
|
-
/** Angular padding between arcs in radians (default: 0.05) */
|
|
2579
|
-
padAngle?: number;
|
|
2580
|
-
/** Show group labels (default: true) */
|
|
2581
|
-
showLabels?: boolean;
|
|
2582
|
-
/** Show flow values on hover/annotation (default: false) */
|
|
2583
|
-
showValues?: boolean;
|
|
2584
|
-
/** Ribbon fill opacity 0..1 (default: 0.5) */
|
|
2585
|
-
ribbonOpacity?: number;
|
|
2586
|
-
/** Inner radius as ratio of outer radius (default: 0.9) */
|
|
2587
|
-
innerRadiusRatio?: number;
|
|
2588
|
-
/** Chart title */
|
|
2589
|
-
title?: string;
|
|
2590
|
-
}
|
|
2591
|
-
declare function ChordDiagram(props: ChordDiagramProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2592
|
-
|
|
2593
|
-
interface DecompNode {
|
|
2594
|
-
label: string;
|
|
2595
|
-
value?: number | string;
|
|
2596
|
-
color?: string;
|
|
2597
|
-
children?: DecompNode[];
|
|
2598
|
-
}
|
|
2599
|
-
interface DecompositionTreeProps {
|
|
2600
|
-
/** Root node of the tree */
|
|
2601
|
-
data: DecompNode;
|
|
2602
|
-
/** SVG width in pixels (default: 800) */
|
|
2603
|
-
width?: number;
|
|
2604
|
-
/** SVG height in pixels (default: 500) */
|
|
2605
|
-
height?: number;
|
|
2606
|
-
/** Layout orientation (default: 'horizontal') */
|
|
2607
|
-
orientation?: 'horizontal' | 'vertical';
|
|
2608
|
-
/** Width of each node rectangle (default: 120) */
|
|
2609
|
-
nodeWidth?: number;
|
|
2610
|
-
/** Height of each node rectangle (default: 40) */
|
|
2611
|
-
nodeHeight?: number;
|
|
2612
|
-
/** Show value inside nodes (default: true) */
|
|
2613
|
-
showValues?: boolean;
|
|
2614
|
-
/** Show connector lines between nodes (default: true) */
|
|
2615
|
-
showConnectors?: boolean;
|
|
2616
|
-
/** Connector line color (default: '#94a3b8') */
|
|
2617
|
-
connectorColor?: string;
|
|
2618
|
-
/** Color palette for nodes by depth */
|
|
2619
|
-
colors?: string[];
|
|
2620
|
-
/** Chart title */
|
|
2621
|
-
title?: string;
|
|
2622
|
-
/** Padding around chart area in px (default: 40) */
|
|
2623
|
-
padding?: number;
|
|
2624
|
-
}
|
|
2625
|
-
declare function DecompositionTree(props: DecompositionTreeProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2626
|
-
|
|
2627
|
-
interface ForceNode {
|
|
2628
|
-
id: string;
|
|
2629
|
-
label?: string;
|
|
2630
|
-
color?: string;
|
|
2631
|
-
x?: number;
|
|
2632
|
-
y?: number;
|
|
2633
|
-
fixed?: boolean;
|
|
2634
|
-
/** If true (default), this node cannot overlap other solid nodes.
|
|
2635
|
-
* Collisions produce elastic bounce consistent with Newtonian physics.
|
|
2636
|
-
* Set to false to allow nodes to pass through each other. */
|
|
2637
|
-
solid?: boolean;
|
|
2638
|
-
}
|
|
2639
|
-
interface ForceEdge {
|
|
2640
|
-
source: string;
|
|
2641
|
-
target: string;
|
|
2642
|
-
weight?: number;
|
|
2643
|
-
color?: string;
|
|
2644
|
-
}
|
|
2645
|
-
/** Simulation node state — exported so custom force functions can use it */
|
|
2646
|
-
interface ForceSimNode {
|
|
2647
|
-
id: string;
|
|
2648
|
-
label: string;
|
|
2649
|
-
color: string;
|
|
2650
|
-
x: number;
|
|
2651
|
-
y: number;
|
|
2652
|
-
vx: number;
|
|
2653
|
-
vy: number;
|
|
2654
|
-
fixed: boolean;
|
|
2655
|
-
/** Whether this node collides with other solid nodes (default: true) */
|
|
2656
|
-
solid: boolean;
|
|
2657
|
-
}
|
|
2658
|
-
/** Mouse position in viewBox coordinates (null if mouse is outside the SVG) */
|
|
2659
|
-
interface MousePosition {
|
|
2660
|
-
x: number;
|
|
2661
|
-
y: number;
|
|
2662
|
-
}
|
|
2663
|
-
/**
|
|
2664
|
-
* Custom force function signature.
|
|
2665
|
-
* Receives current node states, edges, viewport dimensions, and mouse position.
|
|
2666
|
-
* Must return the updated node states (new positions/velocities).
|
|
2667
|
-
* Called once per animation frame.
|
|
2668
|
-
*/
|
|
2669
|
-
type CustomForceFunction = (nodes: ForceSimNode[], edges: ForceEdge[], width: number, height: number, mouse: MousePosition | null) => ForceSimNode[];
|
|
2670
|
-
/** Trail configuration for a specific node */
|
|
2671
|
-
interface TrailConfig {
|
|
2672
|
-
/** Node ID to trail */
|
|
2673
|
-
nodeId: string;
|
|
2674
|
-
/** Trail color */
|
|
2675
|
-
color?: string;
|
|
2676
|
-
/** Max number of trail points (default: 200) */
|
|
2677
|
-
maxPoints?: number;
|
|
2678
|
-
/** Trail line width (default: 1) */
|
|
2679
|
-
width?: number;
|
|
2680
|
-
/** Trail opacity (default: 0.5) */
|
|
2681
|
-
opacity?: number;
|
|
2682
|
-
}
|
|
2683
|
-
interface ForceGraphProps {
|
|
2684
|
-
/** Array of nodes to render */
|
|
2685
|
-
nodes: ForceNode[];
|
|
2686
|
-
/** Array of edges connecting nodes */
|
|
2687
|
-
edges: ForceEdge[];
|
|
2688
|
-
/** SVG width in pixels (default: 600) */
|
|
2689
|
-
width?: number;
|
|
2690
|
-
/** SVG height in pixels (default: 400) */
|
|
2691
|
-
height?: number;
|
|
2692
|
-
/** Node circle radius in pixels (default: 12) */
|
|
2693
|
-
nodeRadius?: number;
|
|
2694
|
-
/** Node border stroke width in pixels (default: 2, set to 0 for no border) */
|
|
2695
|
-
nodeStrokeWidth?: number;
|
|
2696
|
-
/** Show node labels (default: true) */
|
|
2697
|
-
showLabels?: boolean;
|
|
2698
|
-
/** Show arrowheads on edges (default: false) */
|
|
2699
|
-
showArrows?: boolean;
|
|
2700
|
-
/** Repulsion force between nodes (default: 300) */
|
|
2701
|
-
repulsionForce?: number;
|
|
2702
|
-
/** Attraction force along edges (default: 0.01) */
|
|
2703
|
-
attractionForce?: number;
|
|
2704
|
-
/** Velocity damping factor 0..1 (default: 0.9) */
|
|
2705
|
-
damping?: number;
|
|
2706
|
-
/** Ideal edge length in pixels (default: 100) */
|
|
2707
|
-
edgeLength?: number;
|
|
2708
|
-
/** Default edge stroke color (default: '#94a3b8') */
|
|
2709
|
-
edgeColor?: string;
|
|
2710
|
-
/** Default edge stroke width (default: 1.5) */
|
|
2711
|
-
edgeWidth?: number;
|
|
2712
|
-
/** Chart title */
|
|
2713
|
-
title?: string;
|
|
2714
|
-
/** Whether nodes are solid by default — solid nodes cannot overlap and
|
|
2715
|
-
* bounce off each other via elastic collision. Per-node `solid` prop
|
|
2716
|
-
* overrides this. (default: true) */
|
|
2717
|
-
solidNodes?: boolean;
|
|
2718
|
-
/** Custom force function — replaces the default spring/repulsion physics.
|
|
2719
|
-
* When provided, repulsionForce/attractionForce/damping/edgeLength are ignored.
|
|
2720
|
-
* The function is called once per animation frame and must return updated nodes. */
|
|
2721
|
-
customForce?: CustomForceFunction;
|
|
2722
|
-
/** Trail configurations — render fading path trails for specific nodes */
|
|
2723
|
-
trails?: TrailConfig[];
|
|
2724
|
-
}
|
|
2725
|
-
declare function ForceGraph(props: ForceGraphProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2726
|
-
|
|
2727
|
-
interface FunnelDatum {
|
|
2728
|
-
label: string;
|
|
2729
|
-
value: number;
|
|
2730
|
-
color?: string;
|
|
2731
|
-
}
|
|
2732
|
-
interface FunnelChartProps {
|
|
2733
|
-
/** Data sections to render (in funnel order, largest first typically) */
|
|
2734
|
-
data: FunnelDatum[];
|
|
2735
|
-
/** SVG width in pixels (default: 600) */
|
|
2736
|
-
width?: number;
|
|
2737
|
-
/** SVG height in pixels (default: 400) */
|
|
2738
|
-
height?: number;
|
|
2739
|
-
/** Funnel orientation (default: 'vertical') */
|
|
2740
|
-
orientation?: 'vertical' | 'horizontal';
|
|
2741
|
-
/** Show labels on sections (default: true) */
|
|
2742
|
-
showLabels?: boolean;
|
|
2743
|
-
/** Show values on sections (default: true) */
|
|
2744
|
-
showValues?: boolean;
|
|
2745
|
-
/** Show percentage of first item (default: true) */
|
|
2746
|
-
showPercentage?: boolean;
|
|
2747
|
-
/** Gap between sections in px (default: 2) */
|
|
2748
|
-
gapSize?: number;
|
|
2749
|
-
/** Color palette (cycles through when per-datum color is absent) */
|
|
2750
|
-
colors?: string[];
|
|
2751
|
-
/** Chart title */
|
|
2752
|
-
title?: string;
|
|
2753
|
-
}
|
|
2754
|
-
declare function FunnelChart(props: FunnelChartProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2755
|
-
|
|
2756
|
-
interface GanttTask {
|
|
2757
|
-
id: string;
|
|
2758
|
-
label: string;
|
|
2759
|
-
start: number;
|
|
2760
|
-
duration: number;
|
|
2761
|
-
color?: string;
|
|
2762
|
-
group?: string;
|
|
2763
|
-
}
|
|
2764
|
-
interface GanttChartProps {
|
|
2765
|
-
/** Array of tasks to render */
|
|
2766
|
-
tasks: GanttTask[];
|
|
2767
|
-
/** SVG width in pixels (default: 800) */
|
|
2768
|
-
width?: number;
|
|
2769
|
-
/** SVG height in pixels (default: 400) */
|
|
2770
|
-
height?: number;
|
|
2771
|
-
/** Height of each task bar in px (default: 24) */
|
|
2772
|
-
barHeight?: number;
|
|
2773
|
-
/** Vertical gap between task bars in px (default: 8) */
|
|
2774
|
-
barGap?: number;
|
|
2775
|
-
/** Show vertical grid lines (default: true) */
|
|
2776
|
-
showGrid?: boolean;
|
|
2777
|
-
/** Show task labels on the left (default: true) */
|
|
2778
|
-
showLabels?: boolean;
|
|
2779
|
-
/** Show progress text on bars (default: false) */
|
|
2780
|
-
showProgress?: boolean;
|
|
2781
|
-
/** Label for the time unit displayed on axis (default: 'days') */
|
|
2782
|
-
timeUnit?: string;
|
|
2783
|
-
/** Chart title */
|
|
2784
|
-
title?: string;
|
|
2785
|
-
/** Padding around chart area in px (default: 50) */
|
|
2786
|
-
padding?: number;
|
|
2787
|
-
}
|
|
2788
|
-
declare function GanttChart(props: GanttChartProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2789
|
-
|
|
2790
|
-
interface GaugeProps {
|
|
2791
|
-
/** Current gauge value */
|
|
2792
|
-
value: number;
|
|
2793
|
-
/** Minimum value (default: 0) */
|
|
2794
|
-
min?: number;
|
|
2795
|
-
/** Maximum value (default: 100) */
|
|
2796
|
-
max?: number;
|
|
2797
|
-
/** SVG width in pixels (default: 300) */
|
|
2798
|
-
width?: number;
|
|
2799
|
-
/** SVG height in pixels (default: 200) */
|
|
2800
|
-
height?: number;
|
|
2801
|
-
/** Arc start angle in degrees (default: -135) */
|
|
2802
|
-
startAngle?: number;
|
|
2803
|
-
/** Arc end angle in degrees (default: 135) */
|
|
2804
|
-
endAngle?: number;
|
|
2805
|
-
/** Arc stroke width (default: 20) */
|
|
2806
|
-
arcWidth?: number;
|
|
2807
|
-
/** Show the numeric value (default: true) */
|
|
2808
|
-
showValue?: boolean;
|
|
2809
|
-
/** Show min/max labels (default: true) */
|
|
2810
|
-
showMinMax?: boolean;
|
|
2811
|
-
/** Show tick marks (default: true) */
|
|
2812
|
-
showTicks?: boolean;
|
|
2813
|
-
/** Number of tick divisions (default: 10) */
|
|
2814
|
-
tickCount?: number;
|
|
2815
|
-
/** Label text below the value */
|
|
2816
|
-
label?: string;
|
|
2817
|
-
/** Unit text after the value (e.g. 'rpm', '%') */
|
|
2818
|
-
unit?: string;
|
|
2819
|
-
/** Colors for arc segments — evenly distributed (default: ['#22c55e', '#f59e0b', '#ef4444']) */
|
|
2820
|
-
colors?: string[];
|
|
2821
|
-
/** Needle color (default: '#374151') */
|
|
2822
|
-
needleColor?: string;
|
|
2823
|
-
/** Background arc color (default: '#e5e7eb') */
|
|
2824
|
-
backgroundColor?: string;
|
|
2825
|
-
}
|
|
2826
|
-
declare function Gauge(props: GaugeProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2827
|
-
|
|
2828
|
-
interface USStateMapProps {
|
|
2829
|
-
/** SVG width in pixels (default: 959) */
|
|
2830
|
-
width?: number;
|
|
2831
|
-
/** SVG height in pixels (default: 593) */
|
|
2832
|
-
height?: number;
|
|
2833
|
-
/** Map of state abbreviation to fill color */
|
|
2834
|
-
stateColors?: Record<string, string>;
|
|
2835
|
-
/** Default fill color for states not in stateColors (default: '#D0D0D0') */
|
|
2836
|
-
defaultColor?: string;
|
|
2837
|
-
/** Border color between states (default: '#FFFFFF') */
|
|
2838
|
-
strokeColor?: string;
|
|
2839
|
-
/** Border width between states (default: 1) */
|
|
2840
|
-
strokeWidth?: number;
|
|
2841
|
-
/** Click handler — receives the state abbreviation */
|
|
2842
|
-
onStateClick?: (stateId: string) => void;
|
|
2843
|
-
/** Hover handler — receives the state abbreviation or null on mouse leave */
|
|
2844
|
-
onStateHover?: (stateId: string | null) => void;
|
|
2845
|
-
/** Highlight color on hover (default: '#FFD700') */
|
|
2846
|
-
hoverColor?: string;
|
|
2847
|
-
/** Accessible title for the SVG (default: 'Map of the United States') */
|
|
2848
|
-
title?: string;
|
|
2849
|
-
}
|
|
2850
|
-
declare function USStateMap(props: USStateMapProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2851
|
-
|
|
2852
|
-
/**
|
|
2853
|
-
* US state SVG path data extracted from a public domain (CC0) blank US map.
|
|
2854
|
-
* Each entry maps a two-letter state abbreviation to its name and SVG path.
|
|
2855
|
-
* The paths are designed for a viewBox of "0 0 959 593".
|
|
2856
|
-
*/
|
|
2857
|
-
interface StatePathData {
|
|
2858
|
-
name: string;
|
|
2859
|
-
path: string;
|
|
2860
|
-
}
|
|
2861
|
-
declare const US_STATE_PATHS: Record<string, StatePathData>;
|
|
2862
|
-
|
|
2863
|
-
interface HeatMapProps {
|
|
2864
|
-
/** 2D grid of values — data[row][col] */
|
|
2865
|
-
data: number[][];
|
|
2866
|
-
/** Labels for rows (Y axis) */
|
|
2867
|
-
rowLabels?: string[];
|
|
2868
|
-
/** Labels for columns (X axis) */
|
|
2869
|
-
columnLabels?: string[];
|
|
2870
|
-
/** SVG width in pixels (default: 600) */
|
|
2871
|
-
width?: number;
|
|
2872
|
-
/** SVG height in pixels (default: 400) */
|
|
2873
|
-
height?: number;
|
|
2874
|
-
/** Color gradient from low to high (default: blue to red) */
|
|
2875
|
-
colorScale?: string[];
|
|
2876
|
-
/** Minimum value for color mapping (auto-detected if omitted) */
|
|
2877
|
-
minValue?: number;
|
|
2878
|
-
/** Maximum value for color mapping (auto-detected if omitted) */
|
|
2879
|
-
maxValue?: number;
|
|
2880
|
-
/** Show numeric value in each cell (default: false) */
|
|
2881
|
-
showValues?: boolean;
|
|
2882
|
-
/** Cell border color (default: '#fff') */
|
|
2883
|
-
cellBorderColor?: string;
|
|
2884
|
-
/** Cell border width (default: 1) */
|
|
2885
|
-
cellBorderWidth?: number;
|
|
2886
|
-
/** Chart title */
|
|
2887
|
-
title?: string;
|
|
2888
|
-
/** Padding around the chart in px (default: 60) */
|
|
2889
|
-
padding?: number;
|
|
2890
|
-
}
|
|
2891
|
-
declare function HeatMap(props: HeatMapProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2892
|
-
|
|
2893
|
-
interface HistogramProps {
|
|
2894
|
-
/** Raw data values to bin */
|
|
2895
|
-
data: number[];
|
|
2896
|
-
/** Number of bins (default: 10) */
|
|
2897
|
-
bins?: number;
|
|
2898
|
-
/** SVG width in pixels (default: 600) */
|
|
2899
|
-
width?: number;
|
|
2900
|
-
/** SVG height in pixels (default: 400) */
|
|
2901
|
-
height?: number;
|
|
2902
|
-
/** Bar fill color (default: '#3b82f6') */
|
|
2903
|
-
barColor?: string;
|
|
2904
|
-
/** Gap between bars in px (default: 2) */
|
|
2905
|
-
barGap?: number;
|
|
2906
|
-
/** Show grid lines (default: true) */
|
|
2907
|
-
showGrid?: boolean;
|
|
2908
|
-
/** Show count values above bars (default: true) */
|
|
2909
|
-
showValues?: boolean;
|
|
2910
|
-
/** Chart title */
|
|
2911
|
-
title?: string;
|
|
2912
|
-
/** X-axis label */
|
|
2913
|
-
xLabel?: string;
|
|
2914
|
-
/** Y-axis label */
|
|
2915
|
-
yLabel?: string;
|
|
2916
|
-
/** Padding around chart area in px (default: 60) */
|
|
2917
|
-
padding?: number;
|
|
2918
|
-
}
|
|
2919
|
-
declare function Histogram(props: HistogramProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2920
|
-
|
|
2921
|
-
interface LollipopDatum {
|
|
2922
|
-
label: string;
|
|
2923
|
-
value: number;
|
|
2924
|
-
color?: string;
|
|
2925
|
-
}
|
|
2926
|
-
interface LollipopChartProps {
|
|
2927
|
-
/** Data points to render */
|
|
2928
|
-
data: LollipopDatum[];
|
|
2929
|
-
/** SVG width in pixels (default: 600) */
|
|
2930
|
-
width?: number;
|
|
2931
|
-
/** SVG height in pixels (default: 400) */
|
|
2932
|
-
height?: number;
|
|
2933
|
-
/** Chart orientation (default: 'vertical') */
|
|
2934
|
-
orientation?: "horizontal" | "vertical";
|
|
2935
|
-
/** Stem line color (default: '#94a3b8') */
|
|
2936
|
-
stemColor?: string;
|
|
2937
|
-
/** Stem line width in px (default: 2) */
|
|
2938
|
-
stemWidth?: number;
|
|
2939
|
-
/** Dot radius in px (default: 6) */
|
|
2940
|
-
dotRadius?: number;
|
|
2941
|
-
/** Dot fill color (default: '#3b82f6') */
|
|
2942
|
-
dotColor?: string;
|
|
2943
|
-
/** Show grid lines (default: true) */
|
|
2944
|
-
showGrid?: boolean;
|
|
2945
|
-
/** Show value labels (default: true) */
|
|
2946
|
-
showValues?: boolean;
|
|
2947
|
-
/** Chart title */
|
|
2948
|
-
title?: string;
|
|
2949
|
-
/** Padding around chart area in px (default: 60) */
|
|
2950
|
-
padding?: number;
|
|
2951
|
-
}
|
|
2952
|
-
declare function LollipopChart(props: LollipopChartProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2953
|
-
|
|
2954
|
-
interface MatrixProps {
|
|
2955
|
-
/** 2D grid of values — data[row][col] */
|
|
2956
|
-
data: number[][];
|
|
2957
|
-
/** Shared row/column labels for square matrices */
|
|
2958
|
-
labels?: string[];
|
|
2959
|
-
/** Explicit row labels (overrides `labels`) */
|
|
2960
|
-
rowLabels?: string[];
|
|
2961
|
-
/** Explicit column labels (overrides `labels`) */
|
|
2962
|
-
columnLabels?: string[];
|
|
2963
|
-
/** SVG width in pixels (default: 500) */
|
|
2964
|
-
width?: number;
|
|
2965
|
-
/** SVG height in pixels (default: 500) */
|
|
2966
|
-
height?: number;
|
|
2967
|
-
/** Color gradient from low to high (default: white to blue) */
|
|
2968
|
-
colorScale?: string[];
|
|
2969
|
-
/** Show numeric value in each cell (default: true) */
|
|
2970
|
-
showValues?: boolean;
|
|
2971
|
-
/** Highlight diagonal cells (default: true) */
|
|
2972
|
-
showDiagonal?: boolean;
|
|
2973
|
-
/** Cell border color (default: '#e5e7eb') */
|
|
2974
|
-
cellBorderColor?: string;
|
|
2975
|
-
/** Chart title */
|
|
2976
|
-
title?: string;
|
|
2977
|
-
/** Padding around the chart in px (default: 70) */
|
|
2978
|
-
padding?: number;
|
|
2979
|
-
/** If true, mirror values across diagonal for correlation matrices (default: false) */
|
|
2980
|
-
symmetric?: boolean;
|
|
2981
|
-
}
|
|
2982
|
-
declare function Matrix(props: MatrixProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
2983
|
-
|
|
2984
|
-
interface PartitionNode {
|
|
2985
|
-
label: string;
|
|
2986
|
-
value?: number;
|
|
2987
|
-
color?: string;
|
|
2988
|
-
children?: PartitionNode[];
|
|
2989
|
-
}
|
|
2990
|
-
interface PartitionProps {
|
|
2991
|
-
/** Root node of the partition data */
|
|
2992
|
-
data: PartitionNode;
|
|
2993
|
-
/** SVG width in pixels (default: 600) */
|
|
2994
|
-
width?: number;
|
|
2995
|
-
/** SVG height in pixels (default: 400) */
|
|
2996
|
-
height?: number;
|
|
2997
|
-
/** Layout orientation (default: 'horizontal') */
|
|
2998
|
-
orientation?: 'horizontal' | 'vertical';
|
|
2999
|
-
/** Show labels inside cells (default: true) */
|
|
3000
|
-
showLabels?: boolean;
|
|
3001
|
-
/** Show values inside cells (default: true) */
|
|
3002
|
-
showValues?: boolean;
|
|
3003
|
-
/** Color palette for cells without explicit color */
|
|
3004
|
-
colors?: string[];
|
|
3005
|
-
/** Border color around cells (default: '#ffffff') */
|
|
3006
|
-
borderColor?: string;
|
|
3007
|
-
/** Border width in px (default: 1) */
|
|
3008
|
-
borderWidth?: number;
|
|
3009
|
-
/** Chart title */
|
|
3010
|
-
title?: string;
|
|
3011
|
-
/** Padding around chart area in px (default: 10) */
|
|
3012
|
-
padding?: number;
|
|
3013
|
-
}
|
|
3014
|
-
declare function Partition(props: PartitionProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
3015
|
-
|
|
3016
|
-
interface PivotTableProps {
|
|
3017
|
-
/** Array of data records */
|
|
3018
|
-
data: Record<string, unknown>[];
|
|
3019
|
-
/** Row dimension field names */
|
|
3020
|
-
rows: string[];
|
|
3021
|
-
/** Column dimension field names */
|
|
3022
|
-
columns: string[];
|
|
3023
|
-
/** Value field names to aggregate */
|
|
3024
|
-
values: string[];
|
|
3025
|
-
/** Aggregation function (default: 'sum') */
|
|
3026
|
-
aggregation?: 'sum' | 'count' | 'avg' | 'min' | 'max';
|
|
3027
|
-
/** SVG width in pixels (default: 600) */
|
|
3028
|
-
width?: number;
|
|
3029
|
-
/** SVG height in pixels (default: 400) */
|
|
3030
|
-
height?: number;
|
|
3031
|
-
/** Show totals row and column (default: true) */
|
|
3032
|
-
showTotals?: boolean;
|
|
3033
|
-
/** Chart title */
|
|
3034
|
-
title?: string;
|
|
3035
|
-
/** Header background color (default: '#3b82f6') */
|
|
3036
|
-
headerColor?: string;
|
|
3037
|
-
/** Cell padding in px (default: 8) */
|
|
3038
|
-
cellPadding?: number;
|
|
3039
|
-
}
|
|
3040
|
-
declare function PivotTable(props: PivotTableProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
3041
|
-
|
|
3042
|
-
interface RadarAxis {
|
|
3043
|
-
label: string;
|
|
3044
|
-
max?: number;
|
|
3045
|
-
}
|
|
3046
|
-
interface RadarSeries {
|
|
3047
|
-
label: string;
|
|
3048
|
-
values: number[];
|
|
3049
|
-
color: string;
|
|
3050
|
-
fillOpacity?: number;
|
|
3051
|
-
}
|
|
3052
|
-
interface RadarChartProps {
|
|
3053
|
-
/** Axes definition — one per spoke of the radar */
|
|
3054
|
-
axes: RadarAxis[];
|
|
3055
|
-
/** Data series to overlay on the chart */
|
|
3056
|
-
series: RadarSeries[];
|
|
3057
|
-
/** SVG width in pixels (default: 500) */
|
|
3058
|
-
width?: number;
|
|
3059
|
-
/** SVG height in pixels (default: 500) */
|
|
3060
|
-
height?: number;
|
|
3061
|
-
/** Number of concentric grid rings (default: 5) */
|
|
3062
|
-
levels?: number;
|
|
3063
|
-
/** Show axis labels around the perimeter (default: true) */
|
|
3064
|
-
showLabels?: boolean;
|
|
3065
|
-
/** Show value annotations at data points (default: false) */
|
|
3066
|
-
showValues?: boolean;
|
|
3067
|
-
/** Show legend (default: true) */
|
|
3068
|
-
showLegend?: boolean;
|
|
3069
|
-
/** Show dots at data points (default: true) */
|
|
3070
|
-
showDots?: boolean;
|
|
3071
|
-
/** Grid line color (default: '#d1d5db') */
|
|
3072
|
-
gridColor?: string;
|
|
3073
|
-
/** Chart title */
|
|
3074
|
-
title?: string;
|
|
3075
|
-
}
|
|
3076
|
-
declare function RadarChart(props: RadarChartProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
3077
|
-
|
|
3078
|
-
interface SankeyNode {
|
|
3079
|
-
id: string;
|
|
3080
|
-
label: string;
|
|
3081
|
-
color?: string;
|
|
3082
|
-
}
|
|
3083
|
-
interface SankeyLink {
|
|
3084
|
-
source: string;
|
|
3085
|
-
target: string;
|
|
3086
|
-
value: number;
|
|
3087
|
-
color?: string;
|
|
3088
|
-
}
|
|
3089
|
-
interface SankeyDiagramProps {
|
|
3090
|
-
/** Array of nodes */
|
|
3091
|
-
nodes: SankeyNode[];
|
|
3092
|
-
/** Array of links (flows) between nodes */
|
|
3093
|
-
links: SankeyLink[];
|
|
3094
|
-
/** SVG width in pixels (default: 800) */
|
|
3095
|
-
width?: number;
|
|
3096
|
-
/** SVG height in pixels (default: 500) */
|
|
3097
|
-
height?: number;
|
|
3098
|
-
/** Width of each node rectangle in pixels (default: 20) */
|
|
3099
|
-
nodeWidth?: number;
|
|
3100
|
-
/** Vertical padding between nodes in pixels (default: 10) */
|
|
3101
|
-
nodePadding?: number;
|
|
3102
|
-
/** Show node labels (default: true) */
|
|
3103
|
-
showLabels?: boolean;
|
|
3104
|
-
/** Show flow values on links (default: false) */
|
|
3105
|
-
showValues?: boolean;
|
|
3106
|
-
/** Link fill opacity 0..1 (default: 0.4) */
|
|
3107
|
-
linkOpacity?: number;
|
|
3108
|
-
/** Color palette for auto-coloring nodes */
|
|
3109
|
-
colors?: string[];
|
|
3110
|
-
/** Chart title */
|
|
3111
|
-
title?: string;
|
|
3112
|
-
/** Padding around chart area in px (default: 40) */
|
|
3113
|
-
padding?: number;
|
|
3114
|
-
}
|
|
3115
|
-
declare function SankeyDiagram(props: SankeyDiagramProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
3116
|
-
|
|
3117
|
-
interface SunburstNode {
|
|
3118
|
-
label: string;
|
|
3119
|
-
value?: number;
|
|
3120
|
-
color?: string;
|
|
3121
|
-
children?: SunburstNode[];
|
|
3122
|
-
}
|
|
3123
|
-
interface SunburstProps {
|
|
3124
|
-
/** Root node of the sunburst data */
|
|
3125
|
-
data: SunburstNode;
|
|
3126
|
-
/** SVG width in pixels (default: 500) */
|
|
3127
|
-
width?: number;
|
|
3128
|
-
/** SVG height in pixels (default: 500) */
|
|
3129
|
-
height?: number;
|
|
3130
|
-
/** Inner radius of the first ring (default: 40) */
|
|
3131
|
-
innerRadius?: number;
|
|
3132
|
-
/** Show labels on segments (default: true) */
|
|
3133
|
-
showLabels?: boolean;
|
|
3134
|
-
/** Color palette for segments without explicit color */
|
|
3135
|
-
colors?: string[];
|
|
3136
|
-
/** Stroke color between segments (default: '#ffffff') */
|
|
3137
|
-
strokeColor?: string;
|
|
3138
|
-
/** Stroke width between segments (default: 1) */
|
|
3139
|
-
strokeWidth?: number;
|
|
3140
|
-
/** Chart title */
|
|
3141
|
-
title?: string;
|
|
3142
|
-
}
|
|
3143
|
-
declare function Sunburst(props: SunburstProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
3144
|
-
|
|
3145
|
-
interface TreeMapNode {
|
|
3146
|
-
label: string;
|
|
3147
|
-
value: number;
|
|
3148
|
-
color?: string;
|
|
3149
|
-
children?: TreeMapNode[];
|
|
3150
|
-
}
|
|
3151
|
-
interface TreeMapProps {
|
|
3152
|
-
/** Root node of the treemap data */
|
|
3153
|
-
data: TreeMapNode;
|
|
3154
|
-
/** SVG width in pixels (default: 600) */
|
|
3155
|
-
width?: number;
|
|
3156
|
-
/** SVG height in pixels (default: 400) */
|
|
3157
|
-
height?: number;
|
|
3158
|
-
/** Show labels inside cells (default: true) */
|
|
3159
|
-
showLabels?: boolean;
|
|
3160
|
-
/** Show values inside cells (default: true) */
|
|
3161
|
-
showValues?: boolean;
|
|
3162
|
-
/** Color palette for cells without explicit color */
|
|
3163
|
-
colors?: string[];
|
|
3164
|
-
/** Border color around cells (default: '#ffffff') */
|
|
3165
|
-
borderColor?: string;
|
|
3166
|
-
/** Border width in px (default: 2) */
|
|
3167
|
-
borderWidth?: number;
|
|
3168
|
-
/** Inner padding for nested cells in px (default: 2) */
|
|
3169
|
-
padding?: number;
|
|
3170
|
-
/** Chart title */
|
|
3171
|
-
title?: string;
|
|
3172
|
-
}
|
|
3173
|
-
declare function TreeMap(props: TreeMapProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
3174
|
-
|
|
3175
|
-
interface VectorDatum {
|
|
3176
|
-
x: number;
|
|
3177
|
-
y: number;
|
|
3178
|
-
dx: number;
|
|
3179
|
-
dy: number;
|
|
3180
|
-
magnitude?: number;
|
|
3181
|
-
}
|
|
3182
|
-
/** Function signature for a custom compute worker */
|
|
3183
|
-
type ComputeWorkerFn = (gridPoints: {
|
|
3184
|
-
x: number;
|
|
3185
|
-
y: number;
|
|
3186
|
-
}[], uniforms: Record<string, number>) => {
|
|
3187
|
-
dx: number;
|
|
3188
|
-
dy: number;
|
|
3189
|
-
}[];
|
|
3190
|
-
interface VectorFieldProps {
|
|
3191
|
-
/** Pre-computed vector data */
|
|
3192
|
-
data?: VectorDatum[];
|
|
3193
|
-
/** Function that computes vector at each grid point */
|
|
3194
|
-
vectorFunction?: (x: number, y: number) => {
|
|
3195
|
-
dx: number;
|
|
3196
|
-
dy: number;
|
|
3197
|
-
};
|
|
3198
|
-
/** Width in pixels (default: 600) */
|
|
3199
|
-
width?: number;
|
|
3200
|
-
/** Height in pixels (default: 600) */
|
|
3201
|
-
height?: number;
|
|
3202
|
-
/** Number of arrows per axis when using vectorFunction (default: 15, max: 50) */
|
|
3203
|
-
gridSize?: number;
|
|
3204
|
-
/** X-axis domain (default: [-5, 5]) */
|
|
3205
|
-
xRange?: [number, number];
|
|
3206
|
-
/** Y-axis domain (default: [-5, 5]) */
|
|
3207
|
-
yRange?: [number, number];
|
|
3208
|
-
/** Scale factor for arrow length (default: 1) */
|
|
3209
|
-
arrowScale?: number;
|
|
3210
|
-
/** Default arrow color (default: '#3b82f6') */
|
|
3211
|
-
arrowColor?: string;
|
|
3212
|
-
/** Show background grid (default: true) */
|
|
3213
|
-
showGrid?: boolean;
|
|
3214
|
-
/** Show axes through origin (default: true) */
|
|
3215
|
-
showAxes?: boolean;
|
|
3216
|
-
/** Color arrows by magnitude (default: false) */
|
|
3217
|
-
colorByMagnitude?: boolean;
|
|
3218
|
-
/** Color scale for magnitude coloring (default: blue-red) */
|
|
3219
|
-
colorScale?: string[];
|
|
3220
|
-
/** Chart title */
|
|
3221
|
-
title?: string;
|
|
3222
|
-
/** Padding around chart area in px (default: 50) */
|
|
3223
|
-
padding?: number;
|
|
3224
|
-
/** Font size for axis tick labels in px (default: 10) */
|
|
3225
|
-
tickFontSize?: number;
|
|
3226
|
-
/** Arrow stroke width (default: 1.5) */
|
|
3227
|
-
arrowWidth?: number;
|
|
3228
|
-
/** Rendering mode: 'svg' for DOM-based, 'canvas' for Canvas 2D (default: 'svg') */
|
|
3229
|
-
renderer?: 'svg' | 'canvas';
|
|
3230
|
-
/** Enable GPU-accelerated compute via a custom worker function (default: false) */
|
|
3231
|
-
useGPU?: boolean;
|
|
3232
|
-
/** Custom compute function for vector field calculation (e.g. for radio propagation) */
|
|
3233
|
-
computeWorker?: ComputeWorkerFn;
|
|
3234
|
-
}
|
|
3235
|
-
declare function VectorField(props: VectorFieldProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
3236
|
-
|
|
3237
|
-
interface WaterfallDatum {
|
|
3238
|
-
label: string;
|
|
3239
|
-
value: number;
|
|
3240
|
-
type?: 'increase' | 'decrease' | 'total';
|
|
3241
|
-
}
|
|
3242
|
-
interface WaterfallChartProps {
|
|
3243
|
-
/** Data points to render */
|
|
3244
|
-
data: WaterfallDatum[];
|
|
3245
|
-
/** SVG width in pixels (default: 600) */
|
|
3246
|
-
width?: number;
|
|
3247
|
-
/** SVG height in pixels (default: 400) */
|
|
3248
|
-
height?: number;
|
|
3249
|
-
/** Color for increase bars (default: '#10b981') */
|
|
3250
|
-
increaseColor?: string;
|
|
3251
|
-
/** Color for decrease bars (default: '#ef4444') */
|
|
3252
|
-
decreaseColor?: string;
|
|
3253
|
-
/** Color for total bars (default: '#3b82f6') */
|
|
3254
|
-
totalColor?: string;
|
|
3255
|
-
/** Color for connector lines (default: '#94a3b8') */
|
|
3256
|
-
connectorColor?: string;
|
|
3257
|
-
/** Show value labels on bars (default: true) */
|
|
3258
|
-
showValues?: boolean;
|
|
3259
|
-
/** Show grid lines (default: true) */
|
|
3260
|
-
showGrid?: boolean;
|
|
3261
|
-
/** Show connector lines between bars (default: true) */
|
|
3262
|
-
showConnectors?: boolean;
|
|
3263
|
-
/** Chart title */
|
|
3264
|
-
title?: string;
|
|
3265
|
-
/** Padding around chart area in px (default: 60) */
|
|
3266
|
-
padding?: number;
|
|
3267
|
-
}
|
|
3268
|
-
declare function WaterfallChart(props: WaterfallChartProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
3269
|
-
|
|
3270
|
-
interface WordDatum {
|
|
3271
|
-
text: string;
|
|
3272
|
-
weight: number;
|
|
3273
|
-
color?: string;
|
|
3274
|
-
}
|
|
3275
|
-
interface WordCloudProps {
|
|
3276
|
-
/** Array of words with weights */
|
|
3277
|
-
words: WordDatum[];
|
|
3278
|
-
/** SVG width in pixels (default: 600) */
|
|
3279
|
-
width?: number;
|
|
3280
|
-
/** SVG height in pixels (default: 400) */
|
|
3281
|
-
height?: number;
|
|
3282
|
-
/** Minimum font size in px (default: 10) */
|
|
3283
|
-
minFontSize?: number;
|
|
3284
|
-
/** Maximum font size in px (default: 64) */
|
|
3285
|
-
maxFontSize?: number;
|
|
3286
|
-
/** Font family (default: 'sans-serif') */
|
|
3287
|
-
fontFamily?: string;
|
|
3288
|
-
/** Color palette for words without explicit color */
|
|
3289
|
-
colors?: string[];
|
|
3290
|
-
/** Allowed rotation angles in degrees (default: [0, -45, 45, 90]) */
|
|
3291
|
-
rotations?: number[];
|
|
3292
|
-
/** Padding between words in px (default: 4) */
|
|
3293
|
-
padding?: number;
|
|
3294
|
-
/** Spiral type for placement (default: 'archimedean') */
|
|
3295
|
-
spiral?: 'archimedean' | 'rectangular';
|
|
3296
|
-
/** Chart title */
|
|
3297
|
-
title?: string;
|
|
3298
|
-
}
|
|
3299
|
-
declare function WordCloud(props: WordCloudProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
3300
|
-
|
|
3301
|
-
interface DiscreteCartesian2DProps {
|
|
3302
|
-
/** Grid data: rows x cols. Each value maps to a color via colorMap. */
|
|
3303
|
-
data: number[][];
|
|
3304
|
-
/** Map cell values to colors (e.g., {0: '#1e293b', 1: '#3b82f6'}) */
|
|
3305
|
-
colorMap?: Record<number, string>;
|
|
3306
|
-
/** SVG viewBox width (default: 600) */
|
|
3307
|
-
width?: number;
|
|
3308
|
-
/** SVG viewBox height (default: 600) */
|
|
3309
|
-
height?: number;
|
|
3310
|
-
/** Gap between cells in pixels (default: 1) */
|
|
3311
|
-
cellGap?: number;
|
|
3312
|
-
/** Cell border radius (default: 0) */
|
|
3313
|
-
cellRadius?: number;
|
|
3314
|
-
/** Show grid lines (default: false) */
|
|
3315
|
-
showGrid?: boolean;
|
|
3316
|
-
/** Grid line color (default: '#334155') */
|
|
3317
|
-
gridColor?: string;
|
|
3318
|
-
/** Show row/column indices (default: false) */
|
|
3319
|
-
showIndices?: boolean;
|
|
3320
|
-
/** Background color (default: '#0f172a') */
|
|
3321
|
-
backgroundColor?: string;
|
|
3322
|
-
/** Padding around grid (default: 10) */
|
|
3323
|
-
padding?: number;
|
|
3324
|
-
/** Called when a cell is clicked: (row, col, value) */
|
|
3325
|
-
onCellClick?: (row: number, col: number, value: number) => void;
|
|
3326
|
-
/** Called when mouse enters a cell */
|
|
3327
|
-
onCellHover?: (row: number, col: number, value: number) => void;
|
|
3328
|
-
/** Title */
|
|
3329
|
-
title?: string;
|
|
3330
|
-
}
|
|
3331
|
-
declare function DiscreteCartesian2D(props: DiscreteCartesian2DProps): specifyjs_shared_types.SpecElement<specifyjs_shared_types.Props>;
|
|
3332
|
-
|
|
3333
|
-
export { Accordion, Alert, AnalogClock, Avatar, Badge, BarGraph, BigNumber, BlochSphere, BoxPlot, Breadcrumb, BubbleChart, Button, CalendarHeatMap, Card, Carousel, CartesianGraph2D, Checkbox, ChordDiagram, ColorPicker, ColorWheel, ComplexGraph2D, ContextMenu, DataGrid, DatePicker, DecompositionTree, DigitalClock, DiscreteCartesian2D, Drawer, Dropdown, EmptyState, FileUpload, FlexContainer, FlexItem, Footer, ForceGraph, FormFieldWrapper, FunnelChart, GanttChart, Gauge, GoogleAnalytics, Grid, GridItem, HeatMap, Histogram, HypercubeGraph, IDE, Image, LineGraph, ListView, LollipopChart, Matrix, Menubar, Modal, MultilineField, NavWrapper, NumberSpinner, Pagination, Panel, Partition, PieGraph, PivotTable, PolarGraph2D, Popover, ProgressBar, RadarChart, RadioGroup, SankeyDiagram, ScrollContainer, Select, Sidebar, Skeleton, Slider, Spinner, Splitter, Stepper, Sunburst, Tabs, Tag, TextEditor, TextField, ThreeDLayers, TimePicker, ToastContainer, Toggle, Toolbar, Tooltip, TradingDashboard, TreeMap, TreeNav, TreeNode, USStateMap, US_STATE_PATHS, UnityApp, UnityDesktop, VectorField, VideoPlayer, VirtualScroll, VizWrapper, WaterfallChart, WordCloud, WordProcessor, applyGate, blochToCartesian, buildInputStyle, buildNavItemStyle, buildRotationMatrix, cartesianToBloch, computeBoxStats, computeMandelbrotGrid, computeSlices, createToaster, describeArc, generateEdges, generateHypercube, generatePalette, generateVertices, numRotationAngles, projectTo2D, transformVec, useBarGraphScales, useHover, useHypercube, useLineGraphScales, useToast };
|
|
3334
|
-
export type { AccordionContentStyle, AccordionHeaderStyle, AccordionProps, AccordionSection, AlertProps, AnalogClockProps, AvatarProps, BadgeProps, BarDatum, BarGraphProps, BarGraphScales, BigNumberProps, BlochSphereProps, BlochState, BoxPlotDatum, BoxPlotProps, BoxStats, BreadcrumbItem, BreadcrumbProps, BreadcrumbSize, BubbleChartProps, BubbleDatum, ButtonProps, CalendarDatum, CalendarHeatMapProps, CardProps, CarouselProps, CartesianGraph2DProps, CheckboxProps, ChordDiagramProps, ColorPickerProps, ColorWheelProps, ComplexGraph2DProps, ComplexPointInfo, ComputeWorkerFn, ComputedSlice, ContextMenuItem, ContextMenuProps, CustomForceFunction, DataGridColumn, DataGridProps, DatePickerProps, DecompNode, DecompositionTreeProps, DigitalClockProps, DiscreteCartesian2DProps, DrawerPosition, DrawerProps, DropdownItem, DropdownProps, Edge, EmptyStateProps, FileUploadProps, FlexContainerProps, FlexItemProps, FooterProps, ForceEdge, ForceGraphProps, ForceNode, ForceSimNode, FormFieldWrapperProps, FormFieldWrapperStyle, FunnelChartProps, FunnelDatum, GanttChartProps, GanttTask, GateName, GateOp, GaugeProps, GoogleAnalyticsProps, GridBreakpoint, GridItemProps, GridProps, HeatMapProps, HistogramProps, HypercubeData, HypercubeGraphProps, IDEProps, ImageProps, InputBaseStyle, Layer3D, LegendItem, LineGraphProps, LineSeries, ListViewProps, LollipopChartProps, LollipopDatum, MatrixProps, MenuDefinition, MenuItem, MenubarProps, ModalProps, ModalSize, MousePosition, MultilineFieldProps, NavItemStyle, NavOrientation, NavWrapperProps, NavWrapperStyle, NumberSpinnerProps, PaginationProps, PanelProps, PartitionNode, PartitionProps, PieGraphProps, PieSliceDatum, PivotTableProps, Point, PointEvent, PointShape, PolarGraph2DProps, PolarPointInfo, PopoverPlacement, PopoverProps, Position, ProgressBarProps, RadarAxis, RadarChartProps, RadarSeries, RadioGroupProps, RadioOption, SankeyDiagramProps, SankeyLink, SankeyNode, ScrollContainerProps, SelectOption, SelectProps, SidebarItem, SidebarProps, SkeletonProps, SliderMark, SliderProps, SpinnerProps, SplitterProps, StackedBarDatum, StatePathData, StepItem, StepperOrientation, StepperProps, StepperVariant, SunburstNode, SunburstProps, TabDefinition, TabsProps, TagProps, TextEditorProps, TextFieldProps, ThreeDLayersProps, TimePickerProps, ToastAction, ToastItem, ToastNotification, ToastOptions, ToastPosition, ToastType, Toaster, ToasterConfig, ToggleProps, ToolbarButton, ToolbarItem, ToolbarProps, ToolbarSize, ToolbarVariant, TooltipPlacement, TooltipProps, TradingDashboardProps, TrailConfig, TrailPoint, TreeMapNode, TreeMapProps, TreeNavProps, TreeNodeData, USStateMapProps, UnityAppProps, UnityDesktopApp, UnityDesktopProps, UnityDesktopUser, UseHypercubeOptions, Vec, VectorDatum, VectorFieldProps, Vertex, VideoPlayerProps, VirtualScrollProps, VizWrapperProps, WaterfallChartProps, WaterfallDatum, WordCloudProps, WordDatum, WordProcessorProps };
|
|
1
|
+
export * from "./types/core/src/components-barrel";
|