@weasel-js/labkit 1.4.4 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/README.md +54 -6
  2. package/dist/_dts/{CanvasStackContext-kTEZvEgE.d.ts → CanvasStackContext-CJNMS6mz.d.ts} +1 -1
  3. package/dist/_dts/{PrefsForm.d-DDHFANkc.d.ts → PrefsForm.d-DPy9I8It.d.ts} +4 -0
  4. package/dist/_dts/Select.d-Gwr8fLpK.d.ts +453 -0
  5. package/dist/_dts/{frac-z7ker2Vx.d.ts → frac-B4okC2lX.d.ts} +291 -31
  6. package/dist/_dts/{index-Blv9uQzu.d.ts → index-BNdz-tNd.d.ts} +105 -17
  7. package/dist/_dts/index-CSJoj4LC.d.ts +248 -0
  8. package/dist/_dts/{types-B9_zrHmb.d.ts → types-DzoNY1pO.d.ts} +91 -4
  9. package/dist/_dts/usePanZoom-Pzf9f2jh.d.ts +160 -0
  10. package/dist/_dts/useTrialState-uLlmaccn.d.ts +212 -0
  11. package/dist/canvas/index.d.ts +18 -129
  12. package/dist/canvas/index.js +4 -2
  13. package/dist/chrome/index.d.ts +5 -93
  14. package/dist/chrome/index.js +10 -6
  15. package/dist/chunk-7PFH3CNM.js +150 -0
  16. package/dist/chunk-7PFH3CNM.js.map +1 -0
  17. package/dist/{chunk-I6JCVE24.js → chunk-CEIUBPPW.js} +143 -17
  18. package/dist/chunk-CEIUBPPW.js.map +1 -0
  19. package/dist/chunk-EH7UEQV7.js +590 -0
  20. package/dist/chunk-EH7UEQV7.js.map +1 -0
  21. package/dist/{chunk-MOM3GOVY.js → chunk-EHGVROVV.js} +125 -27
  22. package/dist/chunk-EHGVROVV.js.map +1 -0
  23. package/dist/{chunk-TJ7QY3OC.js → chunk-ERFMC6WU.js} +160 -78
  24. package/dist/chunk-ERFMC6WU.js.map +1 -0
  25. package/dist/{chunk-CTRKTLYZ.js → chunk-H6ZAOWNE.js} +11 -11
  26. package/dist/chunk-H6ZAOWNE.js.map +1 -0
  27. package/dist/{chunk-64ZCN3DA.js → chunk-IHUVQ3TX.js} +250 -160
  28. package/dist/chunk-IHUVQ3TX.js.map +1 -0
  29. package/dist/{chunk-FQMJUVHJ.js → chunk-IJJUK4FU.js} +53 -46
  30. package/dist/chunk-IJJUK4FU.js.map +1 -0
  31. package/dist/chunk-IXTQI7JX.js +737 -0
  32. package/dist/chunk-IXTQI7JX.js.map +1 -0
  33. package/dist/{chunk-BKFVHKJH.js → chunk-MDVTK5U3.js} +4 -4
  34. package/dist/{chunk-BKFVHKJH.js.map → chunk-MDVTK5U3.js.map} +1 -1
  35. package/dist/chunk-PHK4W562.js +72 -0
  36. package/dist/chunk-PHK4W562.js.map +1 -0
  37. package/dist/chunk-PJ7WEQBJ.js +18 -0
  38. package/dist/chunk-PJ7WEQBJ.js.map +1 -0
  39. package/dist/chunk-RWNDDKOH.js +682 -0
  40. package/dist/chunk-RWNDDKOH.js.map +1 -0
  41. package/dist/chunk-T3EC2DXD.js +12628 -0
  42. package/dist/chunk-T3EC2DXD.js.map +1 -0
  43. package/dist/{chunk-SMHP6XZ4.js → chunk-UN4U4P63.js} +10 -8
  44. package/dist/chunk-UN4U4P63.js.map +1 -0
  45. package/dist/chunk-WIG6XHJ7.js +35 -0
  46. package/dist/chunk-WIG6XHJ7.js.map +1 -0
  47. package/dist/chunk-Z76KEZAX.js +15 -0
  48. package/dist/chunk-Z76KEZAX.js.map +1 -0
  49. package/dist/chunk-ZDHY47EV.js +363 -0
  50. package/dist/chunk-ZDHY47EV.js.map +1 -0
  51. package/dist/config/index.d.ts +276 -0
  52. package/dist/config/index.js +8 -0
  53. package/dist/config/index.js.map +1 -0
  54. package/dist/controls/index.d.ts +3 -4
  55. package/dist/controls/index.js +4 -3
  56. package/dist/dragdrop/index.d.ts +3 -5
  57. package/dist/index.d.ts +266 -413
  58. package/dist/index.js +1775 -2251
  59. package/dist/index.js.map +1 -1
  60. package/dist/layers/index.d.ts +4 -6
  61. package/dist/layers/index.js +2 -2
  62. package/dist/loupe/index.d.ts +69 -20
  63. package/dist/loupe/index.js +2 -2
  64. package/dist/passthrough/weasel-ui.d.ts +175 -309
  65. package/dist/passthrough/weasel-ui.js +1 -1
  66. package/dist/primitives/index.d.ts +55 -6
  67. package/dist/primitives/index.js +6 -4
  68. package/dist/state/index.d.ts +13 -8
  69. package/dist/state/index.js +18 -13
  70. package/dist/state/index.js.map +1 -1
  71. package/dist/styles.css +223 -76
  72. package/dist/surface/index.d.ts +44 -7
  73. package/dist/surface/index.js +2 -1
  74. package/dist/ui/layers/index.js +1 -1
  75. package/dist/undo/index.d.ts +3 -5
  76. package/package.json +15 -8
  77. package/src/annotations/AnnotationOverlay.tsx +56 -5
  78. package/src/annotations/Annotations.less +4 -0
  79. package/src/annotations/Annotations.overlay.test.tsx +105 -6
  80. package/src/annotations/drawOne.test.ts +1 -1
  81. package/src/annotations/drawOne.ts +2 -2
  82. package/src/annotations/paint.test.ts +2 -2
  83. package/src/annotations/paint.ts +1 -1
  84. package/src/annotations/preload.ts +6 -0
  85. package/src/annotations/store.test.ts +18 -0
  86. package/src/annotations/store.ts +5 -4
  87. package/src/annotations/svgNodes.test.ts +2 -2
  88. package/src/annotations/svgNodes.ts +1 -0
  89. package/src/annotations/toolMap.test.ts +9 -5
  90. package/src/annotations/toolMap.ts +6 -3
  91. package/src/annotations/types.ts +6 -3
  92. package/src/canvas/CameraWheelContext.ts +12 -0
  93. package/src/canvas/CanvasStack.stories.tsx +1 -1
  94. package/src/canvas/CanvasStack.test.tsx +25 -0
  95. package/src/canvas/CanvasStack.tsx +31 -4
  96. package/src/canvas/Stage.less +18 -0
  97. package/src/canvas/Stage.test.tsx +186 -0
  98. package/src/canvas/Stage.tsx +134 -0
  99. package/src/canvas/camera.test.ts +17 -2
  100. package/src/canvas/camera.ts +9 -9
  101. package/src/canvas/index.ts +4 -0
  102. package/src/canvas/usePanZoom.test.ts +28 -0
  103. package/src/canvas/usePanZoom.ts +21 -9
  104. package/src/chrome/ChromeRegions.stories.tsx +1 -4
  105. package/src/chrome/LabChrome.tsx +130 -0
  106. package/src/chrome/builtins.test.ts +1 -0
  107. package/src/chrome/builtins.tsx +21 -31
  108. package/src/chrome/index.ts +16 -0
  109. package/src/chrome/labRegions.test.tsx +208 -0
  110. package/src/chrome/labTypes.ts +50 -0
  111. package/src/chrome/merge.ts +7 -9
  112. package/src/chrome/regions/PaletteRegion.test.tsx +6 -4
  113. package/src/chrome/regions/PaletteRegion.tsx +16 -9
  114. package/src/chrome/regions/SidebarRegion.stories.tsx +44 -0
  115. package/src/chrome/regions/SidebarRegion.tsx +25 -13
  116. package/src/chrome/regions/StatusRegion.tsx +15 -8
  117. package/src/chrome/regions/ToolbarRegion.tsx +34 -16
  118. package/src/chrome/types.ts +50 -20
  119. package/src/config/auto.test.ts +12 -0
  120. package/src/config/auto.ts +15 -0
  121. package/src/config/autoConfig.test.ts +107 -0
  122. package/src/config/autoConfig.ts +153 -0
  123. package/src/config/builder.test.ts +42 -0
  124. package/src/config/builder.ts +68 -17
  125. package/src/config/declarationEmit.fixture.ts +11 -0
  126. package/src/config/declarationEmit.test.ts +51 -0
  127. package/src/config/entry.test.ts +46 -0
  128. package/src/config/index.ts +16 -1
  129. package/src/config/nodeClasses.test.ts +18 -0
  130. package/src/config/path.ts +7 -2
  131. package/src/config/resolve.test.ts +25 -0
  132. package/src/config/resolve.ts +17 -1
  133. package/src/config/types.ts +34 -2
  134. package/src/config/useResolvedConfig.ts +26 -0
  135. package/src/controls/AutoControls.stories.tsx +88 -0
  136. package/src/controls/ControlPanel.stories.tsx +42 -1
  137. package/src/controls/ControlPanel.test.tsx +530 -4
  138. package/src/controls/ControlPanel.tsx +562 -82
  139. package/src/fake-indexeddb-auto.d.ts +5 -0
  140. package/src/index.test.ts +7 -0
  141. package/src/index.ts +66 -5
  142. package/src/instrument/serializers.test.ts +22 -0
  143. package/src/instrument/serializers.ts +40 -1
  144. package/src/instrument/types.ts +25 -1
  145. package/src/lab/Lab.chrome.test.tsx +16 -0
  146. package/src/lab/Lab.less +4 -13
  147. package/src/lab/Lab.persist.test.tsx +147 -0
  148. package/src/lab/Lab.stories.tsx +1 -3
  149. package/src/lab/Lab.surface.test.tsx +71 -3
  150. package/src/lab/Lab.test.tsx +168 -16
  151. package/src/lab/Lab.tsx +434 -129
  152. package/src/lab/LabContext.ts +8 -0
  153. package/src/lab/LabFit.stories.less +18 -0
  154. package/src/lab/LabFit.stories.tsx +219 -0
  155. package/src/lab/LabFullChrome.stories.tsx +1 -4
  156. package/src/lab/LabHeader.test.tsx +40 -9
  157. package/src/lab/LabHeader.tsx +7 -14
  158. package/src/lab/LabPalette.tsx +13 -26
  159. package/src/lab/LabRoot.test.tsx +56 -0
  160. package/src/lab/LabRoot.tsx +47 -0
  161. package/src/lab/LabShell.less +73 -15
  162. package/src/lab/LabShell.stories.tsx +50 -1
  163. package/src/lab/LabShell.tsx +18 -27
  164. package/src/lab/LabSwitcher.less +18 -11
  165. package/src/lab/LabSwitcher.test.tsx +14 -9
  166. package/src/lab/LabSwitcher.tsx +8 -4
  167. package/src/lab/Workspace.less +1 -1
  168. package/src/lab/Workspace.stories.tsx +1 -1
  169. package/src/lab/Workspace.surface.test.tsx +1 -0
  170. package/src/lab/fitCheck.test.ts +57 -0
  171. package/src/lab/fitCheck.ts +125 -0
  172. package/src/lab/index.ts +2 -0
  173. package/src/layers/LayerList.stories.tsx +1 -1
  174. package/src/loupe/AGENTS.md +17 -5
  175. package/src/loupe/Loupe.less +1 -1
  176. package/src/loupe/LoupeGestures.tsx +67 -0
  177. package/src/loupe/TrialLoupe.tsx +43 -28
  178. package/src/loupe/canvasLens.ts +1 -1
  179. package/src/loupe/index.ts +4 -0
  180. package/src/loupe/loupeActions.ts +98 -0
  181. package/src/loupe/types.ts +1 -1
  182. package/src/loupe/useLoupe.test.tsx +60 -3
  183. package/src/loupe/useLoupe.ts +29 -49
  184. package/src/passthrough/weasel-ui.ts +9 -0
  185. package/src/primitives/FloatingPanel.stories.tsx +14 -2
  186. package/src/primitives/FloatingPanel.test.tsx +47 -16
  187. package/src/primitives/FloatingPanel.tsx +11 -25
  188. package/src/primitives/FpsMeter.stories.tsx +1 -1
  189. package/src/primitives/JobProgress.stories.tsx +1 -1
  190. package/src/primitives/Legend.stories.tsx +1 -1
  191. package/src/primitives/ScaleIndicator.stories.tsx +1 -1
  192. package/src/primitives/Sidebar.less +7 -0
  193. package/src/primitives/Sidebar.stories.tsx +1 -1
  194. package/src/primitives/Split.less +14 -0
  195. package/src/primitives/Split.test.tsx +133 -0
  196. package/src/primitives/Split.tsx +175 -0
  197. package/src/primitives/StatusBar.stories.tsx +1 -1
  198. package/src/primitives/Toolbar.stories.tsx +1 -1
  199. package/src/primitives/ZoomControl.tsx +5 -2
  200. package/src/primitives/index.ts +2 -0
  201. package/src/specimen/Specimen.less +95 -0
  202. package/src/specimen/Specimen.stories.tsx +13 -0
  203. package/src/specimen/Specimen.test.tsx +13 -0
  204. package/src/specimen/Specimen.tsx +888 -0
  205. package/src/state/Persistence.stories.tsx +75 -0
  206. package/src/state/Persistence.tsx +33 -0
  207. package/src/state/SingletonExperiment.test.tsx +47 -53
  208. package/src/state/SingletonExperiment.tsx +24 -13
  209. package/src/state/adapterContract.ts +116 -0
  210. package/src/state/adapters.test.ts +113 -61
  211. package/src/state/adapters.ts +328 -69
  212. package/src/state/document.test.ts +71 -96
  213. package/src/state/document.ts +66 -52
  214. package/src/state/helpers.test.ts +1 -1
  215. package/src/state/index.ts +8 -0
  216. package/src/state/labRecords.test.ts +105 -0
  217. package/src/state/labRecords.ts +160 -0
  218. package/src/state/openLabStore.test.ts +658 -0
  219. package/src/state/openLabStore.ts +403 -0
  220. package/src/state/records.test.ts +234 -0
  221. package/src/state/records.ts +219 -0
  222. package/src/state/store.test.ts +169 -635
  223. package/src/state/store.ts +146 -163
  224. package/src/state/toolSlot.test.ts +1 -1
  225. package/src/state/types.ts +65 -17
  226. package/src/state/useOpenOnce.ts +68 -0
  227. package/src/state/usePersistedState.test.tsx +125 -0
  228. package/src/state/usePersistedState.ts +66 -0
  229. package/src/state/useTrialState.test.tsx +87 -3
  230. package/src/state/useTrialState.ts +9 -1
  231. package/src/state/view.test.ts +49 -15
  232. package/src/state/view.ts +18 -1
  233. package/src/styles.less +3 -0
  234. package/src/surface/AGENTS.md +39 -7
  235. package/src/surface/SurfaceContext.ts +26 -3
  236. package/src/surface/index.ts +2 -0
  237. package/src/surface/useSurfaceTile.test.tsx +1 -0
  238. package/src/surface/useSurfaceTile.ts +6 -5
  239. package/src/surface/useTiledSurface.test.tsx +231 -1
  240. package/src/surface/useTiledSurface.ts +76 -15
  241. package/src/theme/Interstellar.stories.tsx +9 -9
  242. package/src/theme/interstellar.test.ts +17 -6
  243. package/src/theme/interstellar.theme.json +180 -0
  244. package/src/theme/interstellar.ts +8 -5
  245. package/src/tools/labTool.ts +11 -0
  246. package/src/trial/Trial.annotations.persist.test.tsx +100 -58
  247. package/src/trial/Trial.annotations.test.tsx +59 -7
  248. package/src/trial/Trial.canvas.test.tsx +32 -0
  249. package/src/trial/Trial.config.test.tsx +75 -2
  250. package/src/trial/Trial.job.test.tsx +3 -3
  251. package/src/trial/Trial.less +5 -26
  252. package/src/trial/Trial.stories.tsx +5 -3
  253. package/src/trial/Trial.test.tsx +31 -4
  254. package/src/trial/Trial.trialId.test.tsx +23 -1
  255. package/src/trial/Trial.tsx +139 -52
  256. package/src/trial/TrialBody.tsx +17 -141
  257. package/src/trial/TrialChrome.tsx +24 -7
  258. package/src/trial/trialOps.test.ts +101 -1
  259. package/src/trial/trialOps.ts +67 -7
  260. package/dist/_dts/types-BP2OCcpg.d.ts +0 -155
  261. package/dist/_dts/types-x92Kfeme.d.ts +0 -62
  262. package/dist/_dts/useTrialState-D6Vb3T-g.d.ts +0 -99
  263. package/dist/chunk-2P6PP5N4.js +0 -553
  264. package/dist/chunk-2P6PP5N4.js.map +0 -1
  265. package/dist/chunk-64ZCN3DA.js.map +0 -1
  266. package/dist/chunk-CTRKTLYZ.js.map +0 -1
  267. package/dist/chunk-E44SU6XS.js +0 -50
  268. package/dist/chunk-E44SU6XS.js.map +0 -1
  269. package/dist/chunk-FQMJUVHJ.js.map +0 -1
  270. package/dist/chunk-I6JCVE24.js.map +0 -1
  271. package/dist/chunk-MOM3GOVY.js.map +0 -1
  272. package/dist/chunk-SMHP6XZ4.js.map +0 -1
  273. package/dist/chunk-TJ7QY3OC.js.map +0 -1
  274. package/dist/chunk-U3IYHIAE.js +0 -343
  275. package/dist/chunk-U3IYHIAE.js.map +0 -1
  276. package/dist/chunk-W3ECWC2K.js +0 -7335
  277. package/dist/chunk-W3ECWC2K.js.map +0 -1
  278. package/src/theme/interstellar.tokens.json +0 -61
@@ -1,11 +1,13 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
1
+ import { O as OverlayPortalProps, W as WithoutPortalTarget } from '../_dts/Select.d-Gwr8fLpK.js';
2
+ export { B as Button, a as ButtonProps, b as ButtonSize, c as ButtonVariant, l as ICON_PATHS, d as Icon, m as IconName, I as IconProps, e as Input, f as InputProps, S as Select, n as SelectItem, o as SelectItemProps, p as SelectOption, g as SelectProps, T as ToggleBar, h as ToggleBarItem, i as ToggleBarProps, j as ToggleBarSize, k as ToggleBarVariant } from '../_dts/Select.d-Gwr8fLpK.js';
2
3
  import { ToolPrefLeaf, ToolPrefGroup, ToolsApi } from '@weasel-js/core';
3
4
  export { ToolPref as BuiltinPref, ToolPrefBoolean as PrefBoolean, ToolPrefBooleanControl as PrefBooleanControl, ToolPrefColor as PrefColor, ToolPrefCustom as PrefCustom, ToolPrefEnum as PrefEnum, ToolPrefEnumControl as PrefEnumControl, ToolPrefEnumEncoding as PrefEnumEncoding, ToolPrefGroup as PrefGroup, ToolPrefKind as PrefKind, ToolPrefLeaf as PrefLeaf, ToolPrefNumber as PrefNumber, ToolPrefNumberControl as PrefNumberControl, ToolPrefNumberUnit as PrefNumberUnit, ToolPrefObject as PrefObject, ToolPrefPaint as PrefPaint, ToolPrefString as PrefString, ToolPrefStringControl as PrefStringControl } from '@weasel-js/core';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
6
  import * as react from 'react';
5
- import { ReactNode, CSSProperties, ButtonHTMLAttributes, ReactElement, KeyboardEvent, RefObject, PointerEvent, RefCallback } from 'react';
7
+ import { ReactNode, CSSProperties, ReactElement, KeyboardEvent, RefObject, PointerEvent, RefCallback } from 'react';
6
8
  export { LayerStack, LayerStackItem, LayerStackProps } from '../ui/layers/index.js';
7
- export { a as PrefRenderContext, P as PrefRenderer } from '../_dts/PrefsForm.d-DDHFANkc.js';
8
- import { TextFieldProps, ValidationResult, CheckboxProps as CheckboxProps$1, SwitchProps as SwitchProps$1, TabProps as TabProps$1, TabListProps as TabListProps$1, TabPanelProps as TabPanelProps$1, TabsProps as TabsProps$1, RadioProps as RadioProps$1, RadioGroupProps as RadioGroupProps$1, NumberFieldProps as NumberFieldProps$1, SelectProps as SelectProps$1, ListBoxItemProps, ComboBoxProps as ComboBoxProps$1, SliderProps as SliderProps$1, ModalOverlayProps, DialogProps as DialogProps$1, PopoverProps } from 'react-aria-components';
9
+ export { a as PrefRenderContext, P as PrefRenderer } from '../_dts/PrefsForm.d-DPy9I8It.js';
10
+ import { CheckboxProps as CheckboxProps$1, SwitchProps as SwitchProps$1, TabProps as TabProps$1, TabListProps as TabListProps$1, TabPanelProps as TabPanelProps$1, TabsProps as TabsProps$1, RadioProps as RadioProps$1, RadioGroupProps as RadioGroupProps$1, ValidationResult, NumberFieldProps as NumberFieldProps$1, ComboBoxProps as ComboBoxProps$1, ListBoxItemProps, SliderProps as SliderProps$1, ModalOverlayProps, DialogProps as DialogProps$1, PopoverProps } from 'react-aria-components';
9
11
  export { DialogTrigger as CalloutTrigger } from 'react-aria-components';
10
12
 
11
13
  /**
@@ -41,101 +43,6 @@ declare function isDebugEnabled(namespace: string): boolean;
41
43
  * Each call is prefixed with `[namespace]` so the source is searchable. */
42
44
  declare function dlog(namespace: string, ...args: unknown[]): void;
43
45
 
44
- declare const ICON_PATHS: {
45
- readonly clone: "<path d=\"M7 7.4V4.6A1.6 1.6 0 0 1 8.6 3h6.8A1.6 1.6 0 0 1 17 4.6v6.8a1.6 1.6 0 0 1-1.6 1.6H12.6\" stroke-linecap=\"butt\"/><rect x=\"3\" y=\"7\" width=\"10\" height=\"10\" rx=\"1.6\"/><path d=\"M5.7 10.8h4.6M5.7 13.4h3\" stroke-width=\"1\"/>";
46
- readonly reset: "<path d=\"M7.28 4.88A5.8 5.8 0 1 0 12.72 4.88\"/><path d=\"M13.81 7.57 12.72 4.88 15.56 4.28\"/>";
47
- readonly close: "<path d=\"M5 5 15 15M15 5 5 15\" stroke-width=\"1.75\"/>";
48
- readonly export: "<path d=\"M4 12.6v2.9A1.5 1.5 0 0 0 5.5 17h9a1.5 1.5 0 0 0 1.5-1.5v-2.9\"/><path d=\"M10 3.2v8.5\"/><path d=\"M11.7 9.35 10 11.7 8.3 9.35\"/><path d=\"M6.8 14.7h6.4\" stroke-width=\"1\"/>";
49
- readonly zoomIn: "<circle cx=\"9\" cy=\"9\" r=\"5.4\"/><path d=\"M12.82 12.82 16.9 16.9\"/><path d=\"M9 6.7v4.6M6.7 9h4.6\"/>";
50
- readonly pan: "<path d=\"M10 8.1V3.2M10 11.9V16.8M8.1 10H3.2M11.9 10H16.8\"/><path d=\"M8.26 5.27 10 3.2 11.74 5.27M11.74 14.73 10 16.8 8.26 14.73M5.27 11.74 3.2 10 5.27 8.26M14.73 8.26 16.8 10 14.73 11.74\"/><circle cx=\"10\" cy=\"10\" r=\"1.9\"/>";
51
- readonly add: "<path d=\"M10 4.9v10.2M4.9 10h10.2\"/>";
52
- readonly remove: "<path d=\"M4.9 10h10.2\"/>";
53
- readonly delete: "<path d=\"M3.6 5.8h12.8M8 5.8V4.5A1.1 1.1 0 0 1 9.1 3.4h1.8A1.1 1.1 0 0 1 12 4.5v1.3\"/><path d=\"M5.2 5.8v9.6A1.6 1.6 0 0 0 6.8 17h6.4a1.6 1.6 0 0 0 1.6-1.6V5.8\"/><path d=\"M8.4 8.8v5.2M11.6 8.8v5.2\" stroke-width=\"1\"/>";
54
- readonly sort: "<path d=\"M3.6 5.6h7.2M3.6 10h8.8M3.6 14.4h5\"/><path d=\"M15.3 5.4v9.4\"/><path d=\"M16.97 12.81 15.3 14.8 13.63 12.81\"/>";
55
- readonly undo: "<path d=\"M4.4 8.4h6.8a3.6 3.6 0 0 1 0 7.2H8.6\"/><path d=\"M6.47 10.14 4.4 8.4 6.47 6.66\"/>";
56
- readonly redo: "<path d=\"M15.6 8.4H8.8a3.6 3.6 0 0 0 0 7.2H11.4\"/><path d=\"M13.53 6.66 15.6 8.4 13.53 10.14\"/>";
57
- readonly zoomOut: "<circle cx=\"9\" cy=\"9\" r=\"5.4\"/><path d=\"M12.82 12.82 16.9 16.9\"/><path d=\"M6.7 9h4.6\"/>";
58
- readonly fit: "<path d=\"M3.2 7.2V4.4A1.2 1.2 0 0 1 4.4 3.2h2.8M12.8 3.2h2.8A1.2 1.2 0 0 1 16.8 4.4v2.8M16.8 12.8v2.8a1.2 1.2 0 0 1-1.2 1.2h-2.8M7.2 16.8H4.4a1.2 1.2 0 0 1-1.2-1.2v-2.8\"/><rect x=\"7.4\" y=\"8.2\" width=\"5.2\" height=\"3.6\" rx=\"0.8\" stroke-width=\"1\"/>";
59
- readonly snapshot: "<path d=\"M3.8 8.3A1.4 1.4 0 0 1 5.2 6.9h1.9L8 5.1h4l.9 1.8h1.9A1.4 1.4 0 0 1 16.2 8.3v6A1.4 1.4 0 0 1 14.8 15.7H5.2A1.4 1.4 0 0 1 3.8 14.3z\"/><circle cx=\"10\" cy=\"11\" r=\"2.75\"/>";
60
- readonly play: "<path d=\"M7.6 5.2 15.6 10 7.6 14.8Z\"/>";
61
- readonly pause: "<path d=\"M7.8 5.2v9.6M12.2 5.2v9.6\"/>";
62
- readonly stop: "<rect x=\"5.6\" y=\"5.6\" width=\"8.8\" height=\"8.8\" rx=\"1.4\"/>";
63
- readonly step: "<path d=\"M6.4 5.4 13 10 6.4 14.6Z\"/><path d=\"M15.2 5.4v9.2\"/>";
64
- readonly crosshair: "<circle cx=\"10\" cy=\"10\" r=\"5.6\"/><path d=\"M10 2.8v4.4M10 12.8v4.4M2.8 10h4.4M12.8 10h4.4\"/>";
65
- readonly fullscreen: "<path d=\"M11.6 3.6h4.8v4.8M8.4 16.4H3.6v-4.8\"/><path d=\"M16.4 3.6 11.2 8.8M3.6 16.4 8.8 11.2\"/>";
66
- readonly compare: "<rect x=\"3.4\" y=\"4.6\" width=\"13.2\" height=\"10.8\" rx=\"1.6\"/><path d=\"M10 4.6v10.8\" stroke-width=\"1\"/><path d=\"M5.2 7.6h3.4M5.2 10h2.6M5.2 12.4h3.4\" stroke-width=\"1\"/><path d=\"M11.4 7.6h3.4M11.4 10h3.4M11.4 12.4h1.8\" stroke-width=\"1\"/>";
67
- readonly filter: "<path d=\"M3.4 4.6h13.2L11.8 11v5.4L8.2 14.8V11z\"/>";
68
- readonly search: "<circle cx=\"9\" cy=\"9\" r=\"5.4\"/><path d=\"M12.82 12.82 16.9 16.9\"/>";
69
- readonly loupe: "<circle cx=\"9\" cy=\"9\" r=\"5.6\"/><path d=\"M12.96 12.96 17 17\"/><rect x=\"6\" y=\"6\" width=\"6\" height=\"6\" stroke-width=\"1\"/><path d=\"M9 6v6M6 9h6\" stroke-width=\"1\"/>";
70
- readonly layers: "<path d=\"M10 2.8 17.2 6.6 10 10.4 2.8 6.6z\"/><path d=\"M2.8 10 10 13.8 17.2 10\" stroke-width=\"1\"/><path d=\"M2.8 13.4 10 17.2 17.2 13.4\" stroke-width=\"1\"/>";
71
- readonly lock: "<rect x=\"4.6\" y=\"9\" width=\"10.8\" height=\"8\" rx=\"1.6\"/><path d=\"M7.2 9V6.6a2.8 2.8 0 0 1 5.6 0V9\"/>";
72
- readonly unlock: "<rect x=\"4.6\" y=\"9\" width=\"10.8\" height=\"8\" rx=\"1.6\"/><path d=\"M7.2 9V6.6a2.8 2.8 0 0 1 5.6 0\"/>";
73
- readonly visible: "<path d=\"M2.6 10C4.6 6.6 7.1 5 10 5s5.4 1.6 7.4 5c-2 3.4-4.5 5-7.4 5s-5.4-1.6-7.4-5z\"/><circle cx=\"10\" cy=\"10\" r=\"2.2\"/>";
74
- readonly hidden: "<path d=\"M2.6 10C4.6 6.6 7.1 5 10 5s5.4 1.6 7.4 5c-2 3.4-4.5 5-7.4 5s-5.4-1.6-7.4-5z\"/><circle cx=\"10\" cy=\"10\" r=\"2.2\"/><path d=\"M4.2 15.8 15.8 4.2\"/>";
75
- readonly pin: "<path d=\"M8.2 3.4v5.2l-2 2.6h7.6l-2-2.6V3.4z\"/><path d=\"M7 3.4h6\"/><path d=\"M10 11.2v5.4\"/>";
76
- readonly link: "<path d=\"M8.6 11.4a3.4 3.4 0 0 1 0-4.8l2.2-2.2a3.4 3.4 0 0 1 4.8 4.8l-1.1 1.1\"/><path d=\"M11.4 8.6a3.4 3.4 0 0 1 0 4.8l-2.2 2.2a3.4 3.4 0 0 1-4.8-4.8l1.1-1.1\"/>";
77
- readonly collapse: "<path d=\"M14.16 4.05 10 7.8 5.84 4.05M5.84 15.95 10 12.2 14.16 15.95\"/>";
78
- readonly expand: "<path d=\"M5.84 8.15 10 4.4 14.16 8.15M14.16 11.85 10 15.6 5.84 11.85\"/>";
79
- readonly chevron: "<path d=\"M14.9 7.98 10 12.4 5.1 7.98\"/>";
80
- readonly tune: "<path d=\"M3.4 6h13.2M3.4 10h13.2M3.4 14h13.2\" stroke-width=\"1.25\"/><circle cx=\"7\" cy=\"6\" r=\"1.8\"/><circle cx=\"12.6\" cy=\"10\" r=\"1.8\"/><circle cx=\"9\" cy=\"14\" r=\"1.8\"/>";
81
- readonly grid: "<rect x=\"3.4\" y=\"3.4\" width=\"13.2\" height=\"13.2\" rx=\"1.4\"/><path d=\"M7.8 3.4v13.2M12.2 3.4v13.2M3.4 7.8h13.2M3.4 12.2h13.2\" stroke-width=\"1\"/>";
82
- readonly snap: "<path d=\"M5.4 15.6V9.4a4.6 4.6 0 0 1 9.2 0v6.2h-3.2V9.4a1.4 1.4 0 0 0-2.8 0v6.2z\"/><path d=\"M5.4 12.8h3.2M11.4 12.8h3.2\" stroke-width=\"1\"/>";
83
- readonly measure: "<rect x=\"2.6\" y=\"7.4\" width=\"14.8\" height=\"5.2\" rx=\"1.2\"/><path d=\"M6 7.4v2.2M9.4 7.4v3M12.8 7.4v2.2\" stroke-width=\"1\"/>";
84
- readonly randomize: "<rect x=\"3.6\" y=\"3.6\" width=\"12.8\" height=\"12.8\" rx=\"2\"/><circle cx=\"7.2\" cy=\"7.2\" r=\"1\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"10\" cy=\"10\" r=\"1\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"12.8\" cy=\"12.8\" r=\"1\" fill=\"currentColor\" stroke=\"none\"/>";
85
- readonly refresh: "<path d=\"M4.27 12.09A6.1 6.1 0 0 1 14.67 6.08\"/><path d=\"M14.67 3.38 14.67 6.08 12.01 5.61\"/><path d=\"M15.73 7.91A6.1 6.1 0 0 1 5.33 13.92\"/><path d=\"M5.33 16.62 5.33 13.92 7.99 14.39\"/>";
86
- readonly info: "<circle cx=\"10\" cy=\"10\" r=\"7\"/><path d=\"M10 9.4v4.4\"/><path d=\"M10 6.5h0\"/>";
87
- readonly warning: "<path d=\"M10 3.4 17.4 16.2H2.6z\"/><path d=\"M10 8.4v3.4\"/><path d=\"M10 14h0\"/>";
88
- readonly error: "<circle cx=\"10\" cy=\"10\" r=\"7\"/><path d=\"M7.6 7.6 12.4 12.4M12.4 7.6 7.6 12.4\"/>";
89
- readonly busy: "<path d=\"M10 3.2A6.8 6.8 0 1 1 3.2 10\"/>";
90
- readonly modeLight: "<circle cx=\"10\" cy=\"10\" r=\"3.5\"/><path d=\"M15.3 10L17.7 10M13.75 6.25L15.44 4.56M10 4.7L10 2.3M6.25 6.25L4.56 4.56M4.7 10L2.3 10M6.25 13.75L4.56 15.44M10 15.3L10 17.7M13.75 13.75L15.44 15.44\"/>";
91
- readonly modeDark: "<path d=\"M8.19 3.55A6.7 6.7 0 1 0 16.45 11.81A5.9 5.9 0 0 1 8.19 3.55Z\"/>";
92
- readonly modeAuto: "<path d=\"M10 2.6Q10 10 17.4 10Q10 10 10 17.4Q10 10 2.6 10Q10 10 10 2.6Z\"/>";
93
- readonly strokeWidth: "<path d=\"M3.4 5.6h13.2\" stroke-width=\"1\"/><path d=\"M3.4 10h13.2\" stroke-width=\"2\"/><path d=\"M3.4 15.2h13.2\" stroke-width=\"3.4\"/>";
94
- readonly strokeCap: "<path d=\"M2.5 10H12\" stroke-linecap=\"butt\"/><path d=\"M12 6V14\" stroke-width=\"1\"/>";
95
- readonly strokeJoin: "<path d=\"M4.4 15.5 10 5.5 15.6 15.5\" stroke-linecap=\"butt\" stroke-linejoin=\"miter\"/>";
96
- readonly strokeAlign: "<circle cx=\"10\" cy=\"10\" r=\"6.2\"/>";
97
- readonly capButt: "<path d=\"M5.5 5.25H14.5V14.75H5.5Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linejoin=\"miter\"/>";
98
- readonly capRound: "<path d=\"M3.13 5.25H12.13V14.75H3.13Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linejoin=\"miter\"/><path d=\"M12.13 4.5A5.5 5.5 0 0 1 12.13 15.5Z\" fill=\"currentColor\" stroke=\"none\"/>";
99
- readonly capSquare: "<path d=\"M3.13 5.25H12.13V14.75H3.13Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linejoin=\"miter\"/><path d=\"M12.13 4.5H17.63V15.5H12.13Z\" fill=\"currentColor\" stroke=\"none\"/>";
100
- readonly joinMiter: "<path d=\"M10 3.5 15.6 15.5H4.4Z\" fill=\"currentColor\" stroke=\"none\"/>";
101
- readonly joinRound: "<path d=\"M4.4 15.5V12a5.6 5.6 0 0 1 11.2 0v3.5Z\" fill=\"currentColor\" stroke=\"none\"/>";
102
- readonly joinBevel: "<path d=\"M6.8 8.2h6.4l2.4 7.3H4.4Z\" fill=\"currentColor\" stroke=\"none\"/>";
103
- readonly alignInner: "<path d=\"M10 3.8A6.2 6.2 0 1 0 10 16.2A6.2 6.2 0 1 0 10 3.8Z\" fill=\"currentColor\" stroke=\"none\"/>";
104
- readonly alignCenter: "<path d=\"M10 2.1A7.9 7.9 0 1 0 10 17.9A7.9 7.9 0 1 0 10 2.1ZM10 5.5A4.5 4.5 0 1 0 10 14.5A4.5 4.5 0 1 0 10 5.5Z\" fill=\"currentColor\" stroke=\"none\" fill-rule=\"evenodd\"/>";
105
- readonly alignOuter: "<path d=\"M0 0H20V20H0ZM10 3.8A6.2 6.2 0 1 0 10 16.2A6.2 6.2 0 1 0 10 3.8Z\" fill=\"currentColor\" stroke=\"none\" fill-rule=\"evenodd\"/>";
106
- readonly dashSolid: "<path d=\"M2 10h16\" stroke-width=\"3\" stroke-linecap=\"butt\"/>";
107
- readonly dashDashed: "<path d=\"M2 10h16\" stroke-width=\"3\" stroke-linecap=\"butt\" stroke-dasharray=\"6 4\"/>";
108
- readonly dashDotted: "<path d=\"M2 10h16\" stroke-width=\"3\" stroke-linecap=\"butt\" stroke-dasharray=\"2.5 2\"/>";
109
- readonly dashCustom: "<path d=\"M2 10h16\" stroke-width=\"3\" stroke-linecap=\"butt\" stroke-dasharray=\"5 2 2 2\"/>";
110
- readonly paintSolid: "<path d=\"M3.4 3.4H16.6V16.6H3.4Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"1\"/>";
111
- readonly paintLinear: "<path d=\"M3.4 3.4H6.7V16.6H3.4Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"1\"/><path d=\"M6.7 3.4H10V16.6H6.7Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.68\"/><path d=\"M10 3.4H13.3V16.6H10Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.42\"/><path d=\"M13.3 3.4H16.6V16.6H13.3Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.2\"/>";
112
- readonly paintRadial: "<path d=\"M3.4 3.4H16.6V16.6H3.4ZM4.95 4.95H15.05V15.05H4.95Z\" fill=\"currentColor\" fill-rule=\"evenodd\" stroke=\"none\" fill-opacity=\"0.7\"/><path d=\"M4.95 4.95H15.05V15.05H4.95ZM6.5 6.5H13.5V13.5H6.5Z\" fill=\"currentColor\" fill-rule=\"evenodd\" stroke=\"none\" fill-opacity=\"0.53\"/><path d=\"M6.5 6.5H13.5V13.5H6.5ZM8.05 8.05H11.95V11.95H8.05Z\" fill=\"currentColor\" fill-rule=\"evenodd\" stroke=\"none\" fill-opacity=\"0.37\"/><path d=\"M8.05 8.05H11.95V11.95H8.05Z\" fill=\"currentColor\" fill-rule=\"evenodd\" stroke=\"none\" fill-opacity=\"0.2\"/>";
113
- readonly paintConic: "<path d=\"M10 10L16.6 3.4L16.6 16.6Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"1\"/><path d=\"M10 10L16.6 16.6L3.4 16.6Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.68\"/><path d=\"M10 10L3.4 16.6L3.4 3.4Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.42\"/><path d=\"M10 10L3.4 3.4L16.6 3.4Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.2\"/>";
114
- readonly paintPattern: "<path d=\"M3.4 3.4L4.7 3.4L3.4 4.7Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M8.7 3.4L11.3 3.4L3.4 11.3L3.4 8.7Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M15.3 3.4L16.6 3.4L16.6 4.7L4.7 16.6L3.4 16.6L3.4 15.3Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M16.6 8.7L16.6 11.3L11.3 16.6L8.7 16.6Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M16.6 15.3L16.6 16.6L15.3 16.6Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M15.3 3.4L16.6 3.4L16.6 4.7Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M8.7 3.4L11.3 3.4L16.6 8.7L16.6 11.3Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M3.4 3.4L4.7 3.4L16.6 15.3L16.6 16.6L15.3 16.6L3.4 4.7Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M11.3 16.6L8.7 16.6L3.4 11.3L3.4 8.7Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M4.7 16.6L3.4 16.6L3.4 15.3Z\" fill=\"currentColor\" stroke=\"none\"/>";
115
- readonly paintNone: "<path d=\"M3.4 3.4H16.6V16.6H3.4Z\"/><path d=\"M3.4 16.6L16.6 3.4\" stroke=\"var(--wzl-danger, #d94a3f)\" stroke-width=\"1.8\" stroke-linecap=\"butt\"/>";
116
- readonly layoutRows: "<rect x=\"3.4\" y=\"3.4\" width=\"13.2\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"3.4\" y=\"8.3\" width=\"13.2\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"3.4\" y=\"13.2\" width=\"13.2\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/>";
117
- readonly layoutColumns: "<rect x=\"3.4\" y=\"3.4\" width=\"3.4\" height=\"13.2\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"8.3\" y=\"3.4\" width=\"3.4\" height=\"13.2\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"13.2\" y=\"3.4\" width=\"3.4\" height=\"13.2\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/>";
118
- readonly layoutGrid: "<rect x=\"3.4\" y=\"3.4\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"8.3\" y=\"3.4\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"13.2\" y=\"3.4\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"3.4\" y=\"8.3\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"8.3\" y=\"8.3\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"13.2\" y=\"8.3\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"3.4\" y=\"13.2\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"8.3\" y=\"13.2\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"13.2\" y=\"13.2\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/>";
119
- };
120
- /** Every glyph name in the set. */
121
- type IconName = keyof typeof ICON_PATHS;
122
-
123
- /** Shared prop shape for the icon set. Color comes from the surrounding
124
- * `color` CSS property — every glyph strokes in `currentColor`. */
125
- interface IconProps {
126
- className?: string;
127
- /** Rendered pixel size, applied to both width and height. Defaults to 20. */
128
- size?: number;
129
- /** Accessible name. Omit inside a button that already labels itself; the
130
- * glyph is then `aria-hidden`. */
131
- label?: string;
132
- }
133
- /** Renders one glyph by name. The named components below are the usual way
134
- * in; reach for this when the glyph is chosen at runtime. */
135
- declare function Icon({ name, className, size, label }: IconProps & {
136
- name: IconName;
137
- }): react_jsx_runtime.JSX.Element;
138
-
139
46
  /** Props for {@link ActionBar}. */
140
47
  interface ActionBarProps {
141
48
  /** Group key — only actions with `action.group === group` are rendered. */
@@ -885,51 +792,6 @@ type BadgeProps = BadgePropsByShape;
885
792
  */
886
793
  declare function Badge(props: BadgeProps): react_jsx_runtime.JSX.Element;
887
794
 
888
- /** Visual weight of a button. Defaults to `secondary`. */
889
- type ButtonVariant = 'primary' | 'secondary' | 'ghost';
890
- /** Button height and type scale. */
891
- type ButtonSize = 'sm' | 'md';
892
- type ButtonBase = {
893
- variant?: ButtonVariant;
894
- size?: ButtonSize;
895
- /** A button that stays down: renders `aria-pressed` and holds the active
896
- * treatment while it is on. For a control that reports a state rather than
897
- * firing an action -- a panel toggle, a mode switch. Left off, the button
898
- * announces no pressed state at all, which is what an action button wants. */
899
- pressed?: boolean;
900
- disabled?: boolean;
901
- loading?: boolean;
902
- leadingIcon?: ReactNode;
903
- trailingIcon?: ReactNode;
904
- fullWidth?: boolean;
905
- type?: 'button' | 'submit' | 'reset';
906
- className?: string;
907
- style?: ButtonHTMLAttributes<HTMLButtonElement>['style'];
908
- children?: ReactNode;
909
- onClick?: ButtonHTMLAttributes<HTMLButtonElement>['onClick'];
910
- };
911
- type ButtonRegular = ButtonBase & {
912
- iconOnly?: false;
913
- ariaLabel?: string;
914
- };
915
- type ButtonIconOnly = ButtonBase & {
916
- iconOnly: true;
917
- ariaLabel: string;
918
- };
919
- /**
920
- * Props for {@link Button}. Setting `iconOnly` makes `ariaLabel` required,
921
- * since an icon-only button has no text for a screen reader to announce.
922
- */
923
- type ButtonProps = ButtonRegular | ButtonIconOnly;
924
- /**
925
- * Standard button. `loading` swaps the leading icon for a spinner, marks the
926
- * button `aria-busy`, and leaves the label in place; it does not disable the
927
- * button, so pass `disabled` too if the click should be blocked.
928
- *
929
- * `ref` forwards to the underlying `<button>`.
930
- */
931
- declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
932
-
933
795
  /**
934
796
  * One column of a {@link DataGrid}. `id` doubles as the default property name
935
797
  * read off each row when no `accessor` is given.
@@ -1262,6 +1124,11 @@ type TrackCtx = {
1262
1124
  trackWidth: number;
1263
1125
  valueToFraction: (v: number) => number;
1264
1126
  };
1127
+ /** A {@link Slider} stop that carries a label, drawn under the track at the stop. */
1128
+ type SliderStop = {
1129
+ value: number;
1130
+ label?: ReactNode;
1131
+ };
1265
1132
  /**
1266
1133
  * Props for {@link Slider}.
1267
1134
  *
@@ -1272,6 +1139,16 @@ type TrackCtx = {
1272
1139
  * on it, and the arrow keys move stop to stop. `step` still quantizes the
1273
1140
  * values between them. Each one is drawn on the track as a mark; pass
1274
1141
  * `showStops: false` for a track whose own paint already reads as the stops.
1142
+ * A stop given as a {@link SliderStop} with a `label` gets that label drawn
1143
+ * under it; `stopLabels` narrows the row to the two ends or turns it off.
1144
+ *
1145
+ * `snap: 'strict'` makes every stop a detent the thumb must rest on: drags and
1146
+ * track presses land on the nearest one, and `step` no longer applies.
1147
+ * `spacing: 'even'` places the stops at equal intervals, runs the track from
1148
+ * the first stop to the last, and maps values linearly within each gap — so a
1149
+ * geometric list (0.25/0.5/1/2/4) gets usable room for every stop instead of
1150
+ * four crowded into the first fifth. Both need stops; with fewer than two,
1151
+ * `'even'` falls back to linear.
1275
1152
  *
1276
1153
  * `trackClick: 'move-nearest'` makes a press on bare track send the closest
1277
1154
  * thumb there and continue as a drag. It is off by default because on a
@@ -1291,8 +1168,11 @@ type SliderProps<T extends Thumb = Thumb> = {
1291
1168
  min: number;
1292
1169
  max: number;
1293
1170
  step?: number;
1294
- stops?: number[];
1171
+ stops?: readonly (number | SliderStop)[];
1295
1172
  showStops?: boolean;
1173
+ stopLabels?: 'all' | 'ends' | 'none';
1174
+ snap?: 'magnetic' | 'strict';
1175
+ spacing?: 'linear' | 'even';
1296
1176
  trackClick?: 'none' | 'move-nearest';
1297
1177
  constraint?: 'free' | 'ordered';
1298
1178
  onAddThumb?: (atValue: number) => T | null;
@@ -1318,72 +1198,6 @@ type SliderProps<T extends Thumb = Thumb> = {
1318
1198
  */
1319
1199
  declare function Slider<T extends Thumb = Thumb>(props: SliderProps<T>): ReactElement;
1320
1200
 
1321
- /** One segment of a {@link ToggleBar}, identified by its `value`. */
1322
- type ToggleBarItem<V extends string | number = string> = {
1323
- value: V;
1324
- label?: ReactNode;
1325
- ariaLabel?: string;
1326
- disabled?: boolean;
1327
- };
1328
- /** Segment height and type scale for a {@link ToggleBar}. */
1329
- type ToggleBarSize = 'sm' | 'md';
1330
- /** Visual treatment of a {@link ToggleBar}. */
1331
- type ToggleBarVariant = 'default' | 'minimal' | 'flat';
1332
- type CommonProps = {
1333
- ariaLabel?: string;
1334
- className?: string;
1335
- height?: number;
1336
- /** Size variant. `sm` is ~60% of the default height with reduced padding
1337
- * and font size — sized for dense surfaces like lab control panels. */
1338
- size?: ToggleBarSize;
1339
- /** Visual variant. `minimal` strips the pill track and glass treatment;
1340
- * selection becomes a flat accent. For dense diagnostic surfaces. */
1341
- variant?: ToggleBarVariant;
1342
- };
1343
- /**
1344
- * Props for {@link ToggleBar}, discriminated on `mode`. Single mode is
1345
- * controlled by one value or `null`; multiple mode by an array, and only it
1346
- * accepts `mixedValues`.
1347
- */
1348
- type ToggleBarProps<V extends string | number = string> = (CommonProps & {
1349
- mode?: 'single';
1350
- items: readonly ToggleBarItem<V>[];
1351
- value: V | null;
1352
- onChange: (next: V | null) => void;
1353
- allowDeselect?: boolean;
1354
- }) | (CommonProps & {
1355
- mode: 'multiple';
1356
- items: readonly ToggleBarItem<V>[];
1357
- value: readonly V[];
1358
- /**
1359
- * Values that are neither on nor off — the sources this bar
1360
- * aggregates disagree (a text range that is bold in part of it, a
1361
- * multi-selection whose nodes differ). Rendered `aria-pressed="mixed"`,
1362
- * the ARIA tri-state a toggle button actually has, rather than
1363
- * `SelectionPanel`'s reduced-opacity-plus-`title` workaround for
1364
- * `Switch`, which has no indeterminate state to render.
1365
- *
1366
- * `value` wins where the two lists overlap, so a caller that can't
1367
- * cheaply keep them disjoint doesn't get an ambiguous segment.
1368
- *
1369
- * Clicking a mixed segment turns it fully **on**, matching the
1370
- * everywhere-else convention (and `toggleFlagInRange`'s rule for a
1371
- * partially-styled text range) that a mixed toggle resolves toward
1372
- * the affirmative rather than clearing.
1373
- */
1374
- mixedValues?: readonly V[];
1375
- onChange: (next: V[]) => void;
1376
- });
1377
- /**
1378
- * Segmented control for choosing among a fixed set of values — one of them
1379
- * (`mode: 'single'`, the default) or any number (`mode: 'multiple'`).
1380
- *
1381
- * Single mode ignores a click on the already-selected segment unless
1382
- * `allowDeselect` is set. Arrow keys move focus without changing the value;
1383
- * Space and Enter commit.
1384
- */
1385
- declare function ToggleBar<V extends string | number = string>(props: ToggleBarProps<V>): ReactElement;
1386
-
1387
1201
  /**
1388
1202
  * One segment of an {@link OptionsBar}. Unlike `ToggleBar`, each item carries
1389
1203
  * its own selected state and its own `onChange`.
@@ -1786,33 +1600,6 @@ declare const fieldClasses: {
1786
1600
  error: string;
1787
1601
  };
1788
1602
 
1789
- /** Props for {@link Input}, on top of React Aria's `TextField` props. */
1790
- type InputProps = Omit<TextFieldProps, 'children' | 'className'> & {
1791
- label?: ReactNode;
1792
- description?: ReactNode;
1793
- errorMessage?: ReactNode | ((v: ValidationResult) => ReactNode);
1794
- placeholder?: string;
1795
- leadingAdornment?: ReactNode;
1796
- trailingAdornment?: ReactNode;
1797
- className?: string;
1798
- };
1799
- /**
1800
- * Single-line text input wrapping React Aria's TextField. Supplies a
1801
- * default skin against the `--wzl-*` token system, and exposes the
1802
- * familiar label / description / errorMessage / adornment slot shape.
1803
- *
1804
- * `ref` forwards to the underlying `<input>`.
1805
- */
1806
- declare const Input: react.ForwardRefExoticComponent<Omit<TextFieldProps, "className" | "children"> & {
1807
- label?: ReactNode;
1808
- description?: ReactNode;
1809
- errorMessage?: ReactNode | ((v: ValidationResult) => ReactNode);
1810
- placeholder?: string;
1811
- leadingAdornment?: ReactNode;
1812
- trailingAdornment?: ReactNode;
1813
- className?: string;
1814
- } & react.RefAttributes<HTMLInputElement>>;
1815
-
1816
1603
  /**
1817
1604
  * Props for {@link Checkbox}, on top of React Aria's `Checkbox` props. The
1818
1605
  * label is passed as children.
@@ -1953,78 +1740,32 @@ declare const NumberField: react.ForwardRefExoticComponent<Omit<NumberFieldProps
1953
1740
  className?: string;
1954
1741
  } & react.RefAttributes<HTMLInputElement>>;
1955
1742
 
1956
- /** The `portalContainer` prop every weasel overlay accepts. */
1957
- interface OverlayPortalProps {
1958
- /**
1959
- * Where the overlay's portal mounts. Defaults to the nearest ancestor of
1960
- * the overlay's own position that carries a weasel theme, so the overlay
1961
- * resolves the same `--wzl-*` tokens as the control it belongs to. Pass
1962
- * `null` for `document.body`.
1963
- */
1964
- portalContainer?: Element | null;
1965
- }
1966
- /** React Aria props minus the portal key a weasel overlay owns. */
1967
- type WithoutPortalTarget<T> = Omit<T, 'UNSTABLE_portalContainer'>;
1968
-
1969
- /** One option in a {@link Select}'s `options` list. */
1970
- type SelectOption = {
1971
- value: string;
1743
+ /** One row in a {@link MenuButton}'s list. */
1744
+ type MenuButtonItem<T extends string = string> = {
1745
+ value: T;
1972
1746
  label: ReactNode;
1973
1747
  isDisabled?: boolean;
1974
- /**
1975
- * Plain-text form of `label`, for type-to-select and screen readers.
1976
- * Only needed when `label` isn't a bare string — a label built from
1977
- * elements has no text React Aria can read off it. A string label
1978
- * supplies this itself.
1979
- */
1748
+ /** Plain-text form of `label`, for type-to-select and screen readers. A
1749
+ * string label supplies this itself. */
1980
1750
  textValue?: string;
1981
1751
  };
1982
- type Key$1 = string | number;
1983
- /**
1984
- * Props for {@link Select}, on top of React Aria's `Select` props, with the
1985
- * selection key narrowed to the option value type.
1986
- */
1987
- type SelectProps<T extends Key$1 = string> = Omit<SelectProps$1<object>, 'children' | 'className' | 'selectedKey' | 'defaultSelectedKey' | 'onSelectionChange'> & {
1988
- label?: ReactNode;
1989
- description?: ReactNode;
1990
- errorMessage?: ReactNode | ((v: ValidationResult) => ReactNode);
1991
- placeholder?: string;
1992
- /** Either pass `options` for a quick render, or `children` for full control. */
1993
- options?: ReadonlyArray<SelectOption & {
1994
- value: T;
1995
- }>;
1996
- children?: ReactNode;
1997
- selectedKey?: T | null;
1998
- defaultSelectedKey?: T;
1999
- onSelectionChange?: (key: T) => void;
2000
- /**
2001
- * `'fill'` (the default) takes the width of whatever row the select sits in.
2002
- * `'fit'` sizes the trigger to its widest option, so it neither swallows a
2003
- * toolbar's slack nor changes width as the selection moves.
2004
- */
2005
- width?: 'fill' | 'fit';
1752
+ /** Props for {@link MenuButton}. */
1753
+ type MenuButtonProps<T extends string = string> = {
1754
+ /** What the button says. It never changes to show a chosen row. */
1755
+ label: ReactNode;
1756
+ items: ReadonlyArray<MenuButtonItem<T>>;
1757
+ /** Fired with the value of the row chosen. */
1758
+ onAction: (value: T) => void;
1759
+ isDisabled?: boolean;
2006
1760
  className?: string;
1761
+ 'aria-label'?: string;
2007
1762
  } & OverlayPortalProps;
2008
1763
  /**
2009
- * Form select wrapping React Aria's Select. Pass either `options` for a
2010
- * quick declarative render or `children` of `<SelectItem>` for control over
2011
- * each row.
2012
- *
2013
- * The selection key type is parameterized so consumers with a string-literal
2014
- * union for `value` (e.g. `'r' | 'g' | 'b'`) get a typed `onSelectionChange`.
2015
- */
2016
- declare function Select<T extends Key$1 = string>(props: SelectProps<T>): react_jsx_runtime.JSX.Element;
2017
- /** Props for {@link SelectItem}, on top of React Aria's `ListBoxItem` props. */
2018
- type SelectItemProps = Omit<ListBoxItemProps, 'className' | 'children'> & {
2019
- children?: ReactNode;
2020
- className?: string;
2021
- };
2022
- /**
2023
- * One row in a {@link Select}'s list, with a leading check mark when
2024
- * selected. A string child supplies its own `textValue`; anything richer must
2025
- * pass one so type-to-select and screen readers have something to read.
1764
+ * A button that opens a list and acts on the row chosen — "Add trial…",
1765
+ * "Load…". Unlike a {@link Select} it holds no value, so it sizes to its own
1766
+ * label rather than to its widest row.
2026
1767
  */
2027
- declare function SelectItem({ children, className, textValue, ...rest }: SelectItemProps): react_jsx_runtime.JSX.Element;
1768
+ declare function MenuButton<T extends string = string>({ label, items, onAction, isDisabled, className, 'aria-label': ariaLabel, portalContainer, }: MenuButtonProps<T>): react_jsx_runtime.JSX.Element;
2028
1769
 
2029
1770
  /**
2030
1771
  * One option in a {@link ComboBox}'s `options` list. `textValue` is the
@@ -2037,12 +1778,29 @@ type ComboBoxOption = {
2037
1778
  textValue?: string;
2038
1779
  isDisabled?: boolean;
2039
1780
  };
2040
- type Key = string | number;
1781
+ type Key$1 = string | number;
1782
+ /**
1783
+ * How the typed text narrows the options.
1784
+ *
1785
+ * `'contains'` is a locale-aware substring match over each option's text.
1786
+ * `'none'` shows every option given — what a list a server already filtered
1787
+ * and ranked needs, since a second pass would drop rows that do not contain
1788
+ * the query and reorder whatever survived.
1789
+ */
1790
+ type ComboBoxFilter = 'contains' | 'none' | ((textValue: string, inputValue: string) => boolean);
1791
+ /** What the user committed: an option they picked, or text they typed. */
1792
+ type ComboBoxCommit<T extends Key$1 = string> = {
1793
+ source: 'option';
1794
+ key: T;
1795
+ } | {
1796
+ source: 'text';
1797
+ text: string;
1798
+ };
2041
1799
  /**
2042
1800
  * Props for {@link ComboBox}, on top of React Aria's `ComboBox` props, with
2043
1801
  * the selection key narrowed to the option value type.
2044
1802
  */
2045
- type ComboBoxProps<T extends Key = string> = Omit<ComboBoxProps$1<object>, 'children' | 'className' | 'selectedKey' | 'defaultSelectedKey' | 'onSelectionChange'> & {
1803
+ type ComboBoxProps<T extends Key$1 = string> = Omit<ComboBoxProps$1<object>, 'children' | 'className' | 'selectedKey' | 'defaultSelectedKey' | 'onSelectionChange'> & {
2046
1804
  label?: ReactNode;
2047
1805
  description?: ReactNode;
2048
1806
  errorMessage?: ReactNode | ((v: ValidationResult) => ReactNode);
@@ -2055,6 +1813,25 @@ type ComboBoxProps<T extends Key = string> = Omit<ComboBoxProps$1<object>, 'chil
2055
1813
  defaultSelectedKey?: T;
2056
1814
  onSelectionChange?: (key: T | null) => void;
2057
1815
  emptyLabel?: ReactNode;
1816
+ /** Shown in place of `emptyLabel` while `loadError` is set. */
1817
+ errorLabel?: ReactNode;
1818
+ /**
1819
+ * How typed text narrows `options`. Defaults to `'contains'`. `'none'` also
1820
+ * keeps the popover open on an empty collection: a list the kit does not
1821
+ * filter can arrive empty from a server mid-query, and without that the
1822
+ * popover closes and `emptyLabel` is never seen.
1823
+ */
1824
+ filter?: ComboBoxFilter;
1825
+ /** Marks the options as out of date while the next set is being fetched. */
1826
+ isLoading?: boolean;
1827
+ /** A failed load, shown as `errorLabel` rather than as an empty corpus. */
1828
+ loadError?: unknown | null;
1829
+ /**
1830
+ * Fires when the user commits — Enter on the active option, a click on one,
1831
+ * or Enter on text matching none of them when `allowsCustomValue` is set.
1832
+ * Empty text commits nothing.
1833
+ */
1834
+ onCommit?: (commit: ComboBoxCommit<T>) => void;
2058
1835
  /**
2059
1836
  * `'fill'` (the default) takes the width of whatever row the combo box sits
2060
1837
  * in. `'fit'` sizes the input to its widest option, so it neither swallows a
@@ -2068,7 +1845,7 @@ type ComboBoxProps<T extends Key = string> = Omit<ComboBoxProps$1<object>, 'chil
2068
1845
  * type to filter; selection commits to `onSelectionChange`. When no value
2069
1846
  * is in the input, selection clears (key becomes null).
2070
1847
  */
2071
- declare function ComboBox<T extends Key = string>(props: ComboBoxProps<T>): react_jsx_runtime.JSX.Element;
1848
+ declare function ComboBox<T extends Key$1 = string>(props: ComboBoxProps<T>): react_jsx_runtime.JSX.Element;
2072
1849
  /** Props for {@link ComboBoxItem}, on top of React Aria's `ListBoxItem` props. */
2073
1850
  type ComboBoxItemProps = Omit<ListBoxItemProps, 'className'> & {
2074
1851
  className?: string;
@@ -2197,6 +1974,20 @@ interface Point {
2197
1974
  y: number;
2198
1975
  }
2199
1976
 
1977
+ /**
1978
+ * Tick placement for a numeric axis. Pure — no DOM, no React.
1979
+ */
1980
+ /** What a tick label formatter knows about the column it is part of. */
1981
+ interface TickFormatCtx {
1982
+ /** Places after the point that every label in the column shares. */
1983
+ decimals: number;
1984
+ /** Distance between neighboring ticks, or 0 when the ticks were given
1985
+ * explicitly and are not evenly spaced. */
1986
+ step: number;
1987
+ }
1988
+ /** Turns a tick value into its label. */
1989
+ type TickFormatter = (value: number, ctx: TickFormatCtx) => string;
1990
+
2200
1991
  /** Background grid configuration for a {@link Plot2D}. */
2201
1992
  interface GridSettings {
2202
1993
  /** Number of evenly-spaced internal grid lines per axis (excluding
@@ -2210,6 +2001,33 @@ interface AxesSettings {
2210
2001
  /** Stroke color override. When omitted, uses `var(--plot-axis)`. */
2211
2002
  color?: string;
2212
2003
  }
2004
+ /**
2005
+ * Ticks along one axis of a {@link Plot2D}: a line across the plot at each
2006
+ * tick value, and a label naming it. Every label in a column is formatted
2007
+ * to the same number of decimal places.
2008
+ */
2009
+ interface TickSettings {
2010
+ /** Tick values in model space; any outside the range are skipped.
2011
+ * Omitted = round 1/2/5 steps, as many as `minSpacing` allows at the
2012
+ * plot's current size. */
2013
+ values?: readonly number[];
2014
+ /** Smallest gap between generated ticks, in px. Default 24 on y, 64 on x. */
2015
+ minSpacing?: number;
2016
+ /** A generated tick nearer either end of the axis than this is dropped,
2017
+ * so its label stays on the plot, in px. Default 4 on y, 16 on x. */
2018
+ inset?: number;
2019
+ /** Draw a line across the plot at each tick. Default true. */
2020
+ lines?: boolean;
2021
+ /** Where labels sit: `'inside'` the plot along its left (y) or bottom (x)
2022
+ * edge, `'outside'` it past that edge in space the caller leaves free,
2023
+ * or `false` for none. Default `'inside'`. */
2024
+ labels?: 'inside' | 'outside' | false;
2025
+ /** Space between a label and the plot edge it sits against, in px.
2026
+ * Default 4. */
2027
+ gap?: number;
2028
+ /** Label text for a tick. Default {@link formatTick}. */
2029
+ format?: TickFormatter;
2030
+ }
2213
2031
  /** A pointer position given in both of the plot's coordinate systems. */
2214
2032
  interface Plot2DCoords {
2215
2033
  plot: Point;
@@ -2229,8 +2047,16 @@ interface Plot2DProps {
2229
2047
  /** Axis lines. `false` / `null` = no axes. Omitted = default-styled
2230
2048
  * axes (on). Pass AxesSettings to customize. */
2231
2049
  axes?: AxesSettings | false | null;
2050
+ /** Ticks at x values. `false` / `null` / omitted = none; `{}` = defaults. */
2051
+ xTicks?: TickSettings | false | null;
2052
+ /** Ticks at y values. `false` / `null` / omitted = none; `{}` = defaults. */
2053
+ yTicks?: TickSettings | false | null;
2232
2054
  /** Forwarded to the underlying svg. Consumer opts into focus this way. */
2233
2055
  tabIndex?: number;
2056
+ /** Default `'img'`. A plot holding focusable marks must not be an image,
2057
+ * whose children are presentational to assistive technology. */
2058
+ role?: string;
2059
+ 'aria-label'?: string;
2234
2060
  className?: string;
2235
2061
  style?: CSSProperties;
2236
2062
  /** Pointer down on the SVG. Receives both plot- and model-space coords
@@ -2263,8 +2089,8 @@ interface Plot2DHandle {
2263
2089
  readonly height: number;
2264
2090
  }
2265
2091
  /**
2266
- * An SVG plotting surface with an optional grid and axes. It draws the frame
2267
- * and owns the model-space to plot-space mapping; the plotted content is
2092
+ * An SVG plotting surface with an optional grid, axes and ticks. It draws the
2093
+ * frame and owns the model-space to plot-space mapping; the plotted content is
2268
2094
  * whatever children are passed, positioned in plot space.
2269
2095
  */
2270
2096
  declare const Plot2D: react.ForwardRefExoticComponent<Plot2DProps & react.RefAttributes<Plot2DHandle>>;
@@ -2357,6 +2183,8 @@ interface CurveEditorProps {
2357
2183
  height: number;
2358
2184
  grid?: GridSettings | false | null;
2359
2185
  axes?: AxesSettings | false | null;
2186
+ xTicks?: TickSettings | false | null;
2187
+ yTicks?: TickSettings | false | null;
2360
2188
  curve?: CurveSettings | false | null;
2361
2189
  fill?: FillSettings | false | null;
2362
2190
  hideNonInteractive?: boolean;
@@ -2398,6 +2226,8 @@ interface PointPlotterProps {
2398
2226
  height: number;
2399
2227
  grid?: GridSettings | false | null;
2400
2228
  axes?: AxesSettings | false | null;
2229
+ xTicks?: TickSettings | false | null;
2230
+ yTicks?: TickSettings | false | null;
2401
2231
  /** Minimum allowed point count. User-initiated deletion is refused
2402
2232
  * while `value.length <= minPoints`. */
2403
2233
  minPoints?: number;
@@ -2482,6 +2312,42 @@ declare function oklchToHex(L: number, C: number, Hdeg: number): string;
2482
2312
  /** Evaluates a {@link ChromaCurve} at a lightness, clamping outside its range. */
2483
2313
  declare function chromaAt(L: number, curve: ChromaCurve): number;
2484
2314
 
2315
+ type Key = string | number;
2316
+ /** An option list keyed to the value type its combo box commits. */
2317
+ type AsyncOption<T extends Key> = ComboBoxOption & {
2318
+ value: T;
2319
+ };
2320
+ /** Options for {@link useAsyncOptions}. */
2321
+ type UseAsyncOptionsProps<T extends Key> = {
2322
+ /**
2323
+ * Fetches the options for a query. The signal aborts when a later keystroke
2324
+ * supersedes this call, so a `fetch` should forward it.
2325
+ */
2326
+ load: (query: string, signal: AbortSignal) => Promise<ReadonlyArray<AsyncOption<T>>>;
2327
+ /** Quiet period before a query is sent. */
2328
+ debounceMs?: number;
2329
+ /** Shorter queries are not sent, and empty the options. */
2330
+ minLength?: number;
2331
+ };
2332
+ /** What {@link useAsyncOptions} returns, shaped to spread into a `ComboBox`. */
2333
+ type AsyncOptionsResult<T extends Key> = {
2334
+ options: ReadonlyArray<AsyncOption<T>>;
2335
+ isLoading: boolean;
2336
+ loadError: unknown | null;
2337
+ inputValue: string;
2338
+ onInputChange: (next: string) => void;
2339
+ };
2340
+ /**
2341
+ * Drives a combo box whose options come from a server: debounces the query,
2342
+ * discards responses overtaken by a later one, and reports a failed load
2343
+ * separately from an empty result.
2344
+ *
2345
+ * `options` holds the last *resolved* list and is never emptied to mean
2346
+ * "working", so the previous results stay on screen — and stay arrowable —
2347
+ * while the next request is in flight.
2348
+ */
2349
+ declare function useAsyncOptions<T extends Key = string>({ load, debounceMs, minLength, }: UseAsyncOptionsProps<T>): AsyncOptionsResult<T>;
2350
+
2485
2351
  /** One row in a reorderable list. */
2486
2352
  interface LayerListItem {
2487
2353
  id: string;
@@ -2625,5 +2491,5 @@ declare const MINUS_SIGN = "\u2212";
2625
2491
  */
2626
2492
  declare function formatNumber(value: number, options?: Intl.NumberFormatOptions): string;
2627
2493
 
2628
- export { ActionBar, ActionsBar, Badge, Button, Callout, Checkbox, ComboBox, ComboBoxItem, CurveEditor, DataGrid, Dialog, Disclosure, DisclosureRow, DragHandleGlyph, EDGE_PROFILES, Field, ICON_PATHS, Icon, Input, KeyCap, KeySequence, MINUS_SIGN, NumberField, OptionsBar, Plot2D, PointPlotter, Powerline, Radio, RadioGroup, RangeSlider, Select, SelectItem, Sidebar, SidebarPanel, Slider, Switch, Tab, TabList, TabPanel, Tabs, ToggleBar, ToolButton, ToolGroup, ToolPalette, chromaAt, detectPlatform, dlog, fieldClasses, formatNumber, formatShortcut, formatShortcutParts, inferKeycapKind, isDebugEnabled, isPrefLeaf, keyGlyph, keySpecFromKey, keySpecsFromMods, oklchToHex, paintGradientTrack, prefValueAtPath, useReorderDragList, useRovingTabIndex, visiblePrefSubtree };
2629
- export type { ActionBarProps, ActionsBarItem, ActionsBarProps, ActionsBarSize, ActionsBarVariant, AddPointMode, AnchorRenderProps, AxesSettings, BadgeProps, BadgeShape, BadgeSize, BadgeTone, BadgeVariant, BoundsCtx, BuiltInEdgeName, ButtonProps, ButtonSize, ButtonVariant, CalloutProps, CheckboxProps, ChromaCurve, ChromaCurvePoint, ComboBoxItemProps, ComboBoxOption, ComboBoxProps, ControlPoint, CurveDomain, CurveEditorProps, DataGridColumn, DataGridProps, DialogProps, DisclosureDirection, DisclosureProps, DisclosureRowProps, DragHandleGlyphProps, EdgeCap, EdgeProfile, EndpointMode, FieldOrientation, FieldProps, FillSettings, GradientTrackOpts, GridSettings, IconName, IconProps, InputProps, InterpolationMode, KeyCapProps, KeyCapVariant, KeySequenceProps, KeySpec, KeycapKind, LayerListItem, LogicalMod, LogicalModSpec, NumberFieldProps, OptionsBarItem, OptionsBarProps, OptionsBarSize, OptionsBarVariant, Platform, Plot2DCoords, Plot2DHandle, Plot2DProps, PointPlotterProps, PowerlineProps, PowerlineSegment, RadioGroupProps, RadioProps, RangeSliderProps, ReorderDragHandlers, ReorderDragState, RovingItem, RovingTabIndex, SelectItemProps, SelectOption, SelectProps, SidebarPanelProps, SidebarProps, SliderProps, SwitchProps, TabListProps, TabPanelProps, TabProps, TabsProps, Thumb, ThumbRenderCtx, ThumbShape, ToggleBarItem, ToggleBarProps, ToggleBarSize, ToggleBarVariant, ToolButtonProps, ToolGroupProps, ToolPaletteProps, TrackCtx, UseReorderDragListOptions, UseRovingTabIndexOptions };
2494
+ export { ActionBar, ActionsBar, Badge, Callout, Checkbox, ComboBox, ComboBoxItem, CurveEditor, DataGrid, Dialog, Disclosure, DisclosureRow, DragHandleGlyph, EDGE_PROFILES, Field, KeyCap, KeySequence, MINUS_SIGN, MenuButton, NumberField, OptionsBar, Plot2D, PointPlotter, Powerline, Radio, RadioGroup, RangeSlider, Sidebar, SidebarPanel, Slider, Switch, Tab, TabList, TabPanel, Tabs, ToolButton, ToolGroup, ToolPalette, chromaAt, detectPlatform, dlog, fieldClasses, formatNumber, formatShortcut, formatShortcutParts, inferKeycapKind, isDebugEnabled, isPrefLeaf, keyGlyph, keySpecFromKey, keySpecsFromMods, oklchToHex, paintGradientTrack, prefValueAtPath, useAsyncOptions, useReorderDragList, useRovingTabIndex, visiblePrefSubtree };
2495
+ export type { ActionBarProps, ActionsBarItem, ActionsBarProps, ActionsBarSize, ActionsBarVariant, AddPointMode, AnchorRenderProps, AsyncOption, AsyncOptionsResult, AxesSettings, BadgeProps, BadgeShape, BadgeSize, BadgeTone, BadgeVariant, BoundsCtx, BuiltInEdgeName, CalloutProps, CheckboxProps, ChromaCurve, ChromaCurvePoint, ComboBoxCommit, ComboBoxFilter, ComboBoxItemProps, ComboBoxOption, ComboBoxProps, ControlPoint, CurveDomain, CurveEditorProps, DataGridColumn, DataGridProps, DialogProps, DisclosureDirection, DisclosureProps, DisclosureRowProps, DragHandleGlyphProps, EdgeCap, EdgeProfile, EndpointMode, FieldOrientation, FieldProps, FillSettings, GradientTrackOpts, GridSettings, InterpolationMode, KeyCapProps, KeyCapVariant, KeySequenceProps, KeySpec, KeycapKind, LayerListItem, LogicalMod, LogicalModSpec, MenuButtonItem, MenuButtonProps, NumberFieldProps, OptionsBarItem, OptionsBarProps, OptionsBarSize, OptionsBarVariant, Platform, Plot2DCoords, Plot2DHandle, Plot2DProps, PointPlotterProps, PowerlineProps, PowerlineSegment, RadioGroupProps, RadioProps, RangeSliderProps, ReorderDragHandlers, ReorderDragState, RovingItem, RovingTabIndex, SidebarPanelProps, SidebarProps, SliderProps, SwitchProps, TabListProps, TabPanelProps, TabProps, TabsProps, Thumb, ThumbRenderCtx, ThumbShape, ToolButtonProps, ToolGroupProps, ToolPaletteProps, TrackCtx, UseAsyncOptionsProps, UseReorderDragListOptions, UseRovingTabIndexOptions };