@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
@@ -0,0 +1,453 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode, ButtonHTMLAttributes, ReactElement } from 'react';
4
+ import { TextFieldProps, ValidationResult, SelectProps as SelectProps$1, ListBoxItemProps } from 'react-aria-components';
5
+
6
+ declare const ICON_PATHS: {
7
+ 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\"/>";
8
+ 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\"/>";
9
+ readonly close: "<path d=\"M5 5 15 15M15 5 5 15\" stroke-width=\"1.75\"/>";
10
+ 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\"/>";
11
+ 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\"/>";
12
+ 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\"/>";
13
+ 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\"/>";
14
+ 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\"/>";
15
+ readonly filter: "<path d=\"M3.4 4.6h13.2L11.8 11v5.4L8.2 14.8V11z\"/>";
16
+ readonly add: "<path d=\"M10 4.9v10.2M4.9 10h10.2\"/>";
17
+ readonly remove: "<path d=\"M4.9 10h10.2\"/>";
18
+ 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\"/>";
19
+ 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\"/>";
20
+ 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\"/>";
21
+ 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\"/>";
22
+ 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\"/>";
23
+ readonly play: "<path d=\"M7.6 5.2 15.6 10 7.6 14.8Z\"/>";
24
+ readonly pause: "<path d=\"M7.8 5.2v9.6M12.2 5.2v9.6\"/>";
25
+ readonly stop: "<rect x=\"5.6\" y=\"5.6\" width=\"8.8\" height=\"8.8\" rx=\"1.4\"/>";
26
+ readonly stepBack: "<path d=\"M13.6 5.4 7 10 13.6 14.6Z\"/><path d=\"M4.8 5.4v9.2\"/>";
27
+ readonly stepForward: "<path d=\"M6.4 5.4 13 10 6.4 14.6Z\"/><path d=\"M15.2 5.4v9.2\"/>";
28
+ 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\"/>";
29
+ 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\"/>";
30
+ 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\"/>";
31
+ 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\"/>";
32
+ 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\"/>";
33
+ readonly info: "<circle cx=\"10\" cy=\"10\" r=\"7\"/><path d=\"M10 9.4v4.4\"/><path d=\"M10 6.5h0\"/>";
34
+ readonly warning: "<path d=\"M10 3.4 17.4 16.2H2.6z\"/><path d=\"M10 8.4v3.4\"/><path d=\"M10 14h0\"/>";
35
+ 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\"/>";
36
+ readonly busy: "<path d=\"M10 3.2A6.8 6.8 0 1 1 3.2 10\"/>";
37
+ 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\"/>";
38
+ 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\"/>";
39
+ readonly modeAuto: "<path d=\"M10 2.6Q10 10 17.4 10Q10 10 10 17.4Q10 10 2.6 10Q10 10 10 2.6Z\"/>";
40
+ 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\"/>";
41
+ 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\"/>";
42
+ 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\"/>";
43
+ readonly search: "<circle cx=\"9\" cy=\"9\" r=\"5.4\"/><path d=\"M12.82 12.82 16.9 16.9\"/>";
44
+ 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\"/>";
45
+ 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\"/>";
46
+ 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\"/>";
47
+ 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\"/>";
48
+ 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\"/>";
49
+ readonly chevron: "<path d=\"M14.9 7.98 10 12.4 5.1 7.98\"/>";
50
+ 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\"/>";
51
+ 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\"/>";
52
+ 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\"/>";
53
+ 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\"/>";
54
+ 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\"/>";
55
+ 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\"/>";
56
+ 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\"/>";
57
+ readonly strokeCap: "<path d=\"M2.5 10H12\" stroke-linecap=\"butt\"/><path d=\"M12 6V14\" stroke-width=\"1\"/>";
58
+ readonly strokeJoin: "<path d=\"M4.4 15.5 10 5.5 15.6 15.5\" stroke-linecap=\"butt\" stroke-linejoin=\"miter\"/>";
59
+ readonly strokeAlign: "<circle cx=\"10\" cy=\"10\" r=\"6.2\"/>";
60
+ readonly capButt: "<path d=\"M5.5 5.25H14.5V14.75H5.5Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linejoin=\"miter\"/>";
61
+ 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\"/>";
62
+ 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\"/>";
63
+ readonly joinMiter: "<path d=\"M10 3.5 15.6 15.5H4.4Z\" fill=\"currentColor\" stroke=\"none\"/>";
64
+ readonly joinRound: "<path d=\"M4.4 15.5V12a5.6 5.6 0 0 1 11.2 0v3.5Z\" fill=\"currentColor\" stroke=\"none\"/>";
65
+ readonly joinBevel: "<path d=\"M6.8 8.2h6.4l2.4 7.3H4.4Z\" fill=\"currentColor\" stroke=\"none\"/>";
66
+ 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\"/>";
67
+ 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\"/>";
68
+ 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\"/>";
69
+ readonly dashSolid: "<path d=\"M2 10h16\" stroke-width=\"3\" stroke-linecap=\"butt\"/>";
70
+ readonly dashDashed: "<path d=\"M2 10h16\" stroke-width=\"3\" stroke-linecap=\"butt\" stroke-dasharray=\"6 4\"/>";
71
+ readonly dashDotted: "<path d=\"M2 10h16\" stroke-width=\"3\" stroke-linecap=\"butt\" stroke-dasharray=\"2.5 2\"/>";
72
+ readonly dashCustom: "<path d=\"M2 10h16\" stroke-width=\"3\" stroke-linecap=\"butt\" stroke-dasharray=\"5 2 2 2\"/>";
73
+ readonly paintSolid: "<path d=\"M3.4 3.4H16.6V16.6H3.4Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"1\"/>";
74
+ 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\"/>";
75
+ 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\"/>";
76
+ 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\"/>";
77
+ readonly paintMesh: "<path d=\"M3.4 3.4L10 3.4C10 6.26 11.6 5.74 11.6 8.6C7.09 8.6 7.91 10 3.4 10L3.4 3.4Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"1\"/><path d=\"M10 3.4L16.6 3.4L16.6 10C13.85 10 14.35 8.6 11.6 8.6C11.6 5.74 10 6.26 10 3.4Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.68\"/><path d=\"M11.6 8.6C14.35 8.6 13.85 10 16.6 10L16.6 16.6L10 16.6C10 12.2 11.6 13 11.6 8.6Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.42\"/><path d=\"M11.6 8.6C11.6 13 10 12.2 10 16.6L3.4 16.6L3.4 10C7.91 10 7.09 8.6 11.6 8.6Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.2\"/>";
78
+ 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\"/>";
79
+ 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\"/>";
80
+ 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\"/>";
81
+ 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\"/>";
82
+ 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\"/>";
83
+ readonly arcStraight: "<path d=\"M2.6 15H17.4\"/>";
84
+ readonly arcParabola: "<path d=\"M2.6 15Q10 -5 17.4 15\"/>";
85
+ readonly arcCircle: "<path d=\"M2.6 15A7.4 7.4 0 0 1 17.4 15\"/>";
86
+ readonly arcSine: "<path d=\"M2.6 10C3.83 7.38 5.07 5 6.3 5C7.53 5 8.77 7.38 10 10C11.23 12.62 12.47 15 13.7 15C14.93 15 16.17 12.62 17.4 10\"/>";
87
+ readonly arcBump: "<path d=\"M2.6 15C3.83 15 5.07 11.87 6.3 9.38C7.53 6.88 8.77 5 10 5C11.23 5 12.47 6.88 13.7 9.38C14.93 11.87 16.17 15 17.4 15\"/>";
88
+ readonly arcPlateau: "<path d=\"M2.6 15V8.6A3.6 3.6 0 0 1 6.2 5H13.8A3.6 3.6 0 0 1 17.4 8.6V15\"/>";
89
+ readonly arcBell: "<path d=\"M2.6 15C3.42 14.87 4.24 14.6 5.07 13.65C5.89 12.7 6.71 10.87 7.53 8.87C8.36 6.86 9.18 5 10 5C10.82 5 11.64 6.86 12.47 8.87C13.29 10.87 14.11 12.7 14.93 13.65C15.76 14.6 16.58 14.87 17.4 15\"/>";
90
+ readonly arcEllipse: "<path d=\"M2.6 15A7.4 10 0 0 1 17.4 15\"/>";
91
+ readonly arcLob: "<path d=\"M2.6 15C3.78 -0.6 10.74 4.2 17.4 15\"/>";
92
+ readonly arcDive: "<path d=\"M2.6 15C9.26 4.2 16.22 -0.6 17.4 15\"/>";
93
+ readonly arcTriangle: "<path d=\"M2.6 10L6.3 5L13.7 15L17.4 10\"/>";
94
+ readonly arcSquare: "<path d=\"M2.6 10L2.6 5L10 5L10 15L17.4 15L17.4 10\"/>";
95
+ readonly arcSawtooth: "<path d=\"M2.6 10L10 5L10 15L17.4 10\"/>";
96
+ readonly arcStair: "<path d=\"M2.6 10L4.97 10L4.97 5L8.82 5L8.82 10L11.18 10L11.18 15L15.03 15L15.03 10L17.4 10\"/>";
97
+ readonly arcZigzag: "<path d=\"M2.6 10L4.45 5L8.15 15L10 10L11.85 5L15.55 15L17.4 10\"/>";
98
+ readonly arcRipple: "<path d=\"M2.6 10C3.22 7.38 3.83 5 4.45 5C5.07 5 5.68 7.38 6.3 10C6.92 12.62 7.53 15 8.15 15C8.77 15 9.38 12.62 10 10C10.62 7.38 11.23 5 11.85 5C12.47 5 13.08 7.38 13.7 10C14.32 12.62 14.93 15 15.55 15C16.17 15 16.78 12.62 17.4 10\"/>";
99
+ readonly arcHop: "<path d=\"M2.6 15Q6.3 -5 10 15M10 15Q13.7 4 17.4 15\"/>";
100
+ readonly arcCusp: "<path d=\"M2.6 15Q7.34 12.8 10 5Q12.66 12.8 17.4 15\"/>";
101
+ readonly curveLine: "<path d=\"M2.6 10.72H17.4\"/>";
102
+ readonly curveParabola: "<path d=\"M2.6 15.72Q10 -4.28 17.4 15.72\"/>";
103
+ readonly curveCircle: "<path d=\"M2.6 15.72A7.4 7.4 0 0 1 17.4 15.72\"/>";
104
+ readonly curveEllipse: "<path d=\"M2.6 15.72A7.4 10 0 0 1 17.4 15.72\"/>";
105
+ readonly curveHyperbola: "<path d=\"M2.6 15.72C2.91 15.08 3.8 13.12 4.48 11.86C5.16 10.61 5.76 9.21 6.68 8.19C7.6 7.16 8.89 5.72 10 5.72C11.11 5.72 12.4 7.16 13.32 8.19C14.24 9.21 14.84 10.61 15.52 11.86C16.2 13.12 17.09 15.08 17.4 15.72\"/>";
106
+ readonly curveHyperbolaPair: "<path d=\"M2.6 15.72C2.91 15.08 3.8 13.12 4.48 11.86C5.16 10.61 5.76 9.21 6.68 8.19C7.6 7.16 8.89 5.72 10 5.72C11.11 5.72 12.4 7.16 13.32 8.19C14.24 9.21 14.84 10.61 15.52 11.86C16.2 13.12 17.09 15.08 17.4 15.72M2.6 5.72C2.91 6.36 3.8 8.32 4.48 9.58C5.16 10.83 5.76 12.23 6.68 13.25C7.6 14.28 8.89 15.72 10 15.72C11.11 15.72 12.4 14.28 13.32 13.25C14.24 12.23 14.84 10.83 15.52 9.58C16.2 8.32 17.09 6.36 17.4 5.72\"/>";
107
+ readonly curveCubic: "<path d=\"M2.6 15.72C2.88 15.27 3.59 13.78 4.3 13.01C5 12.24 5.89 11.49 6.84 11.11C7.79 10.73 8.95 10.85 10 10.72C11.05 10.59 12.21 10.71 13.16 10.33C14.11 9.95 15 9.2 15.7 8.43C16.41 7.66 17.12 6.17 17.4 5.72\"/>";
108
+ readonly curveQuartic: "<path d=\"M2.6 15.28C2.98 15.06 4.27 14.67 4.88 13.94C5.49 13.22 5.8 11.93 6.27 10.92C6.74 9.92 7.08 8.79 7.7 7.93C8.32 7.06 9.23 5.72 10 5.72C10.77 5.72 11.68 7.06 12.3 7.93C12.92 8.79 13.26 9.92 13.73 10.92C14.2 11.93 14.51 13.22 15.12 13.94C15.73 14.67 17.02 15.06 17.4 15.28\"/>";
109
+ readonly curveSqrt: "<path d=\"M2.6 15.72C2.8 15.25 3.19 13.72 3.77 12.91C4.36 12.1 5.27 11.46 6.1 10.86C6.93 10.25 7.86 9.75 8.77 9.26C9.69 8.77 10.63 8.35 11.58 7.93C12.53 7.51 13.5 7.13 14.47 6.76C15.44 6.4 16.91 5.89 17.4 5.72\"/>";
110
+ readonly curveReciprocal: "<path d=\"M2.6 15.72C2.69 15.31 2.91 14.08 3.15 13.28C3.39 12.49 3.66 11.68 4.06 10.96C4.46 10.24 4.95 9.53 5.55 8.97C6.15 8.41 6.89 7.97 7.63 7.61C8.37 7.25 9.19 7.01 9.99 6.79C10.79 6.57 11.62 6.43 12.44 6.29C13.26 6.15 14.09 6.05 14.91 5.96C15.74 5.86 16.99 5.76 17.4 5.72\"/>";
111
+ readonly curveAbs: "<path d=\"M2.6 5.72L10 15.72L17.4 5.72\"/>";
112
+ readonly curveCusp: "<path d=\"M2.6 15.72Q7.34 13.52 10 5.72Q12.66 13.52 17.4 15.72\"/>";
113
+ readonly curveExponential: "<path d=\"M2.6 15.72C3.12 15.64 4.69 15.47 5.72 15.26C6.74 15.04 7.78 14.79 8.76 14.42C9.73 14.05 10.7 13.59 11.57 13.01C12.44 12.44 13.26 11.74 13.98 10.99C14.7 10.23 15.32 9.37 15.89 8.49C16.46 7.61 17.15 6.18 17.4 5.72\"/>";
114
+ readonly curveLogarithm: "<path d=\"M2.6 15.72C2.72 15.34 3.01 14.18 3.35 13.47C3.68 12.76 4.11 12.07 4.61 11.46C5.11 10.86 5.72 10.32 6.35 9.85C6.97 9.37 7.67 8.98 8.37 8.61C9.07 8.25 9.81 7.94 10.55 7.66C11.28 7.37 12.04 7.12 12.79 6.89C13.55 6.66 14.32 6.45 15.09 6.26C15.85 6.06 17.01 5.81 17.4 5.72\"/>";
115
+ readonly curveDecay: "<path d=\"M2.6 5.72C2.84 6.19 3.5 7.64 4.06 8.53C4.61 9.43 5.22 10.31 5.94 11.08C6.65 11.85 7.47 12.56 8.34 13.13C9.22 13.71 10.2 14.16 11.19 14.52C12.17 14.88 13.22 15.11 14.26 15.31C15.29 15.51 16.88 15.65 17.4 15.72\"/>";
116
+ readonly curveSigmoid: "<path d=\"M2.6 15.72C3.11 15.62 4.75 15.55 5.68 15.14C6.61 14.74 7.46 14.02 8.18 13.29C8.9 12.55 9.39 11.58 10 10.72C10.61 9.86 11.1 8.89 11.82 8.15C12.54 7.42 13.39 6.7 14.32 6.3C15.25 5.89 16.89 5.82 17.4 5.72\"/>";
117
+ readonly curveSoftplus: "<path d=\"M2.6 15.72C3.13 15.7 4.74 15.73 5.79 15.62C6.85 15.5 7.95 15.42 8.92 15.03C9.89 14.65 10.79 14 11.59 13.32C12.38 12.63 13.03 11.75 13.7 10.93C14.37 10.1 14.97 9.22 15.59 8.35C16.2 7.48 17.1 6.16 17.4 5.72\"/>";
118
+ readonly curveRelu: "<path d=\"M2.6 15.72L10 15.72L17.4 5.72\"/>";
119
+ readonly curveStep: "<path d=\"M2.6 15.72L10 15.72L10 5.72L17.4 5.72\"/>";
120
+ readonly curvePowerLaw: "<path d=\"M2.6 15.72C2.62 15.25 2.67 13.85 2.74 12.91C2.81 11.98 2.83 11.03 3.01 10.12C3.19 9.21 3.27 8.11 3.8 7.45C4.33 6.78 5.32 6.39 6.18 6.13C7.04 5.87 8.04 5.93 8.98 5.87C9.91 5.81 10.85 5.8 11.78 5.78C12.72 5.76 13.66 5.75 14.59 5.74C15.53 5.73 16.93 5.72 17.4 5.72\"/>";
121
+ readonly curveCatenary: "<path d=\"M2.6 5.72C2.86 6.4 3.53 8.49 4.16 9.8C4.79 11.11 5.4 12.57 6.37 13.55C7.34 14.54 8.79 15.72 10 15.72C11.21 15.72 12.66 14.54 13.63 13.55C14.6 12.57 15.21 11.11 15.84 9.8C16.47 8.49 17.14 6.4 17.4 5.72\"/>";
122
+ readonly curveBathtub: "<path d=\"M2.6 5.72C2.71 6.29 2.98 8.02 3.27 9.14C3.57 10.27 3.81 11.47 4.37 12.45C4.92 13.43 5.67 14.5 6.61 15.04C7.55 15.59 8.87 15.72 10 15.72C11.13 15.72 12.45 15.59 13.39 15.04C14.33 14.5 15.08 13.43 15.63 12.45C16.19 11.47 16.43 10.27 16.73 9.14C17.02 8.02 17.29 6.29 17.4 5.72\"/>";
123
+ readonly curveHockeyStick: "<path d=\"M2.6 15.72C3.15 15.68 4.81 15.61 5.91 15.5C7.01 15.39 8.12 15.31 9.19 15.06C10.26 14.8 11.38 14.51 12.3 13.96C13.23 13.41 14.08 12.61 14.75 11.76C15.42 10.91 15.89 9.86 16.33 8.86C16.78 7.85 17.22 6.24 17.4 5.72\"/>";
124
+ readonly curveSine: "<path d=\"M2.6 10.72C3.83 8.1 5.07 5.72 6.3 5.72C7.53 5.72 8.77 8.1 10 10.72C11.23 13.34 12.47 15.72 13.7 15.72C14.93 15.72 16.17 13.34 17.4 10.72\"/>";
125
+ readonly curveCosine: "<path d=\"M2.6 5.72C3.83 5.72 5.07 8.1 6.3 10.72C7.53 13.34 8.77 15.72 10 15.72C11.23 15.72 12.47 13.34 13.7 10.72C14.93 8.1 16.17 5.72 17.4 5.72\"/>";
126
+ readonly curveRipple: "<path d=\"M2.6 10.72C3.22 8.1 3.83 5.72 4.45 5.72C5.07 5.72 5.68 8.1 6.3 10.72C6.92 13.34 7.53 15.72 8.15 15.72C8.77 15.72 9.38 13.34 10 10.72C10.62 8.1 11.23 5.72 11.85 5.72C12.47 5.72 13.08 8.1 13.7 10.72C14.32 13.34 14.93 15.72 15.55 15.72C16.17 15.72 16.78 13.34 17.4 10.72\"/>";
127
+ readonly curveTriangleWave: "<path d=\"M2.6 10.72L6.3 5.72L13.7 15.72L17.4 10.72\"/>";
128
+ readonly curveSquareWave: "<path d=\"M2.6 10.72L2.6 5.72L10 5.72L10 15.72L17.4 15.72L17.4 10.72\"/>";
129
+ readonly curveSawtooth: "<path d=\"M2.6 10.72L10 5.72L10 15.72L17.4 10.72\"/>";
130
+ readonly curveStair: "<path d=\"M2.6 10.72L4.97 10.72L4.97 5.72L8.82 5.72L8.82 10.72L11.18 10.72L11.18 15.72L15.03 15.72L15.03 10.72L17.4 10.72\"/>";
131
+ readonly curvePulseTrain: "<path d=\"M2.6 10.72L4.23 10.72L4.23 5.72L6.3 5.72L6.3 10.72L8.96 10.72L8.96 5.72L11.04 5.72L11.04 10.72L13.7 10.72L13.7 5.72L15.77 5.72L15.77 10.72L17.4 10.72\"/>";
132
+ readonly curveDamped: "<path d=\"M2.6 5.72C2.95 6.01 3.3 6.7 3.66 7.55C4.01 8.39 4.36 9.37 4.71 10.24C5.07 11.11 5.42 11.86 5.77 12.37C6.12 12.87 6.48 13.13 6.83 13.15C7.18 13.17 7.53 12.96 7.89 12.63C8.24 12.3 8.59 11.86 8.94 11.42C9.3 10.99 9.65 10.57 10 10.25C10.35 9.94 10.7 9.72 11.06 9.63C11.41 9.54 11.76 9.56 12.11 9.67C12.47 9.77 12.82 9.96 13.17 10.16C13.52 10.36 13.88 10.57 14.23 10.75C14.58 10.93 14.93 11.08 15.29 11.16C15.64 11.25 15.99 11.28 16.34 11.26C16.7 11.24 17.05 11.17 17.4 11.09\"/>";
133
+ readonly curveChirp: "<path d=\"M2.6 10.72C2.85 10.33 3.09 9.84 3.34 9.28C3.59 8.73 3.83 8.1 4.08 7.53C4.33 6.96 4.57 6.45 4.82 6.23C5.07 6.01 5.31 6.1 5.56 6.66C5.81 7.22 6.05 8.29 6.3 9.65C6.55 11 6.79 12.65 7.04 13.83C7.29 15.01 7.53 15.64 7.78 15.14C8.03 14.64 8.27 12.95 8.52 10.95C8.77 8.95 9.01 6.8 9.26 6.26C9.51 5.72 9.75 7.01 10 9.3C10.25 11.59 10.49 14.54 10.74 15.18C10.99 15.82 11.23 13.76 11.48 10.95C11.73 8.14 11.97 5.47 12.22 6.3C12.47 7.13 12.71 11.45 12.96 13.83C13.21 16.2 13.45 15.12 13.7 11.79C13.95 8.47 14.19 4.96 14.44 6.66C14.69 8.37 14.93 14.36 15.18 15.21C15.43 16.05 15.67 10.43 15.92 7.53C16.17 4.63 16.41 8.14 16.66 12.16C16.91 16.17 17.15 15.15 17.4 10.72\"/>";
134
+ readonly curveBeat: "<path d=\"M2.6 10.72C2.81 10.72 3.01 10.48 3.22 10.2C3.42 9.92 3.63 9.65 3.83 9.69C4.04 9.73 4.24 10.11 4.45 10.72C4.66 11.33 4.86 12.16 5.07 12.71C5.27 13.26 5.48 13.5 5.68 13.15C5.89 12.79 6.09 11.86 6.3 10.72C6.51 9.58 6.71 8.3 6.92 7.56C7.12 6.82 7.33 6.66 7.53 7.27C7.74 7.88 7.94 9.24 8.15 10.72C8.36 12.2 8.56 13.75 8.77 14.57C8.97 15.39 9.18 15.44 9.38 14.67C9.59 13.9 9.79 12.33 10 10.72C10.21 9.11 10.41 7.54 10.62 6.77C10.82 6 11.03 6.05 11.23 6.87C11.44 7.69 11.64 9.24 11.85 10.72C12.06 12.2 12.26 13.56 12.47 14.17C12.67 14.78 12.88 14.62 13.08 13.88C13.29 13.14 13.49 11.86 13.7 10.72C13.91 9.58 14.11 8.65 14.32 8.29C14.52 7.94 14.73 8.18 14.93 8.73C15.14 9.28 15.34 10.11 15.55 10.72C15.76 11.33 15.96 11.71 16.17 11.75C16.37 11.79 16.58 11.52 16.78 11.24C16.99 10.96 17.19 10.72 17.4 10.72\"/>";
135
+ readonly curveGaussian: "<path d=\"M2.6 15.72C3.13 15.57 4.98 15.47 5.78 14.83C6.57 14.18 6.92 12.87 7.35 11.84C7.79 10.8 7.97 9.62 8.41 8.6C8.85 7.58 9.47 5.72 10 5.72C10.53 5.72 11.15 7.58 11.59 8.6C12.03 9.62 12.21 10.8 12.65 11.84C13.08 12.87 13.43 14.18 14.22 14.83C15.02 15.47 16.87 15.57 17.4 15.72\"/>";
136
+ readonly curveBimodal: "<path d=\"M2.6 15.72C2.95 15.39 4.21 14.57 4.67 13.73C5.14 12.89 5.17 11.7 5.39 10.68C5.62 9.66 5.69 8.28 6 7.6C6.31 6.92 6.93 6.26 7.24 6.61C7.56 6.96 7.69 8.66 7.9 9.68C8.12 10.7 8.19 11.81 8.54 12.75C8.89 13.7 9.51 15.36 10 15.36C10.49 15.36 11.11 13.7 11.46 12.75C11.81 11.81 11.88 10.7 12.1 9.68C12.31 8.66 12.44 6.96 12.76 6.61C13.07 6.26 13.69 6.92 14 7.6C14.31 8.28 14.38 9.66 14.61 10.68C14.83 11.7 14.86 12.89 15.33 13.73C15.79 14.57 17.05 15.39 17.4 15.72\"/>";
137
+ readonly curveSkewed: "<path d=\"M2.6 15.72C2.76 15.32 3.35 14.19 3.58 13.35C3.82 12.5 3.87 11.55 4.02 10.65C4.17 9.75 4.22 8.78 4.5 7.96C4.79 7.14 5.26 5.74 5.71 5.75C6.15 5.76 6.71 7.24 7.15 8.03C7.6 8.82 7.92 9.69 8.38 10.47C8.85 11.25 9.32 12.06 9.94 12.71C10.56 13.36 11.3 13.96 12.09 14.37C12.88 14.78 13.8 15.01 14.69 15.2C15.57 15.39 16.95 15.46 17.4 15.52\"/>";
138
+ readonly curveLorentzian: "<path d=\"M2.6 15.72C3.06 15.64 4.52 15.6 5.35 15.26C6.18 14.92 7.02 14.36 7.57 13.66C8.11 12.96 8.34 11.97 8.62 11.08C8.89 10.2 8.99 9.25 9.22 8.35C9.45 7.46 9.74 5.72 10 5.72C10.26 5.72 10.55 7.46 10.78 8.35C11.01 9.25 11.11 10.2 11.38 11.08C11.66 11.97 11.89 12.96 12.43 13.66C12.98 14.36 13.82 14.92 14.65 15.26C15.48 15.6 16.94 15.64 17.4 15.72\"/>";
139
+ readonly curveOgive: "<path d=\"M2.6 15.72C3.13 15.66 4.83 15.71 5.79 15.34C6.75 14.97 7.64 14.25 8.35 13.48C9.05 12.71 9.45 11.64 10 10.72C10.55 9.8 10.95 8.73 11.65 7.96C12.36 7.19 13.25 6.47 14.21 6.1C15.17 5.73 16.87 5.78 17.4 5.72\"/>";
140
+ readonly curveUniform: "<path d=\"M2.6 15.72V9.32A3.6 3.6 0 0 1 6.2 5.72H13.8A3.6 3.6 0 0 1 17.4 9.32V15.72\"/>";
141
+ readonly curveSinc: "<path d=\"M2.6 15.72C2.83 15.6 3.61 15.35 4.01 15.02C4.4 14.69 4.68 14.18 4.96 13.72C5.25 13.27 5.49 12.78 5.73 12.3C5.97 11.82 6.19 11.33 6.42 10.84C6.65 10.35 6.86 9.86 7.1 9.37C7.33 8.89 7.55 8.39 7.82 7.93C8.08 7.46 8.32 6.93 8.69 6.57C9.05 6.2 9.56 5.72 10 5.72C10.44 5.72 10.95 6.2 11.31 6.57C11.68 6.93 11.92 7.46 12.18 7.93C12.45 8.39 12.67 8.89 12.9 9.37C13.14 9.86 13.35 10.35 13.58 10.84C13.81 11.33 14.03 11.82 14.27 12.3C14.51 12.78 14.75 13.27 15.04 13.72C15.32 14.18 15.6 14.69 15.99 15.02C16.39 15.35 17.17 15.6 17.4 15.72\"/>";
142
+ readonly curveImpulse: "<path d=\"M2.6 15.72L9.7 15.72L10 5.72L10.3 15.72L17.4 15.72\"/>";
143
+ readonly curveEaseIn: "<path d=\"M2.6 15.72C3.13 15.7 4.75 15.75 5.8 15.62C6.86 15.49 7.94 15.31 8.93 14.94C9.91 14.57 10.87 14.01 11.72 13.38C12.56 12.75 13.31 11.95 14 11.14C14.7 10.34 15.29 9.43 15.86 8.53C16.42 7.63 17.14 6.19 17.4 5.72\"/>";
144
+ readonly curveEaseOut: "<path d=\"M2.6 15.72C2.86 15.25 3.58 13.81 4.14 12.91C4.71 12.01 5.3 11.1 6 10.3C6.69 9.49 7.44 8.69 8.28 8.06C9.13 7.43 10.09 6.87 11.07 6.5C12.06 6.13 13.14 5.95 14.2 5.82C15.25 5.69 16.87 5.74 17.4 5.72\"/>";
145
+ readonly curveEaseInOut: "<path d=\"M2.6 15.72C3 15.69 4.23 15.75 4.99 15.55C5.75 15.36 6.53 15.01 7.16 14.55C7.79 14.09 8.32 13.43 8.79 12.8C9.26 12.16 9.6 11.41 10 10.72C10.4 10.03 10.74 9.28 11.21 8.64C11.68 8.01 12.21 7.35 12.84 6.89C13.47 6.43 14.25 6.08 15.01 5.89C15.77 5.69 17 5.75 17.4 5.72\"/>";
146
+ readonly curveOvershoot: "<path d=\"M2.6 15.72C2.76 15.33 3.2 14.15 3.54 13.39C3.88 12.62 4.24 11.86 4.64 11.13C5.05 10.4 5.48 9.67 6 9.02C6.51 8.36 7.06 7.7 7.72 7.19C8.37 6.69 9.14 6.25 9.92 6.01C10.7 5.77 11.57 5.73 12.4 5.73C13.23 5.73 14.07 5.92 14.9 6C15.73 6.08 16.98 6.18 17.4 6.22\"/>";
147
+ readonly curveBounce: "<path d=\"M2.6 15.72Q6 -4.28 9.41 15.72M9.41 15.72Q11.63 6.72 13.85 15.72M13.85 15.72Q15.18 12.12 16.51 15.72M16.51 15.72Q16.96 14.72 17.4 15.72\"/>";
148
+ readonly curveElastic: "<path d=\"M2.6 15.72C2.91 15.01 3.22 13.44 3.53 11.66C3.83 9.87 4.14 7.89 4.45 6.23C4.76 4.58 5.07 3.25 5.38 2.45C5.68 1.65 5.99 1.37 6.3 1.5C6.61 1.63 6.92 2.17 7.23 2.85C7.53 3.53 7.84 4.35 8.15 5.07C8.46 5.79 8.77 6.41 9.07 6.82C9.38 7.24 9.69 7.44 10 7.46C10.31 7.47 10.62 7.31 10.93 7.06C11.23 6.81 11.54 6.48 11.85 6.18C12.16 5.87 12.47 5.59 12.77 5.39C13.08 5.18 13.39 5.06 13.7 5.02C14.01 4.99 14.32 5.03 14.62 5.11C14.93 5.2 15.24 5.33 15.55 5.45C15.86 5.58 16.17 5.71 16.47 5.8C16.78 5.9 17.09 5.96 17.4 5.99\"/>";
149
+ readonly curveLemniscate: "<path d=\"M17.4 11.12C17.4 11.98 16.91 12.8 16.23 13.25C15.54 13.7 14.73 13.8 14.01 13.7C13.29 13.6 12.66 13.3 12.11 12.95C11.57 12.6 11.1 12.19 10.65 11.76C10.21 11.34 9.79 10.9 9.35 10.48C8.9 10.05 8.43 9.64 7.89 9.29C7.34 8.94 6.71 8.64 5.99 8.54C5.27 8.44 4.46 8.54 3.77 8.99C3.09 9.44 2.6 10.26 2.6 11.12C2.6 11.98 3.09 12.8 3.77 13.25C4.46 13.7 5.27 13.8 5.99 13.7C6.71 13.6 7.34 13.3 7.89 12.95C8.43 12.6 8.9 12.19 9.35 11.76C9.79 11.34 10.21 10.9 10.65 10.48C11.1 10.05 11.57 9.64 12.11 9.29C12.66 8.94 13.29 8.64 14.01 8.54C14.73 8.44 15.54 8.54 16.23 8.99C16.91 9.44 17.4 10.26 17.4 11.12\"/>";
150
+ readonly curveCardioid: "<path d=\"M10 6.14C10 6.14 10 6.09 10.03 6C10.06 5.91 10.13 5.78 10.24 5.63C10.36 5.48 10.54 5.31 10.77 5.16C11.01 5.01 11.32 4.88 11.68 4.8C12.04 4.72 12.45 4.69 12.91 4.74C13.36 4.79 13.84 4.92 14.32 5.15C14.8 5.38 15.27 5.71 15.7 6.14C16.12 6.56 16.5 7.08 16.79 7.69C17.08 8.29 17.28 8.96 17.36 9.68C17.44 10.4 17.4 11.15 17.23 11.9C17.06 12.65 16.76 13.39 16.33 14.07C15.9 14.75 15.35 15.37 14.7 15.89C14.05 16.41 13.3 16.82 12.5 17.1C11.7 17.38 10.85 17.53 10 17.53C9.15 17.53 8.3 17.38 7.5 17.1C6.7 16.82 5.95 16.41 5.3 15.89C4.65 15.37 4.1 14.75 3.67 14.07C3.24 13.39 2.94 12.65 2.77 11.9C2.6 11.15 2.56 10.4 2.64 9.68C2.72 8.96 2.92 8.29 3.21 7.69C3.5 7.08 3.88 6.56 4.3 6.14C4.73 5.71 5.2 5.38 5.68 5.15C6.16 4.92 6.64 4.79 7.09 4.74C7.55 4.69 7.96 4.72 8.32 4.8C8.68 4.88 8.99 5.01 9.23 5.16C9.46 5.31 9.64 5.48 9.76 5.63C9.87 5.78 9.94 5.91 9.97 6C10 6.09 10 6.14 10 6.14\"/>";
151
+ readonly curveAstroid: "<path d=\"M17.4 11.12C17.4 11.12 17.02 11.13 16.37 11.34C15.72 11.55 14.81 11.97 13.92 12.62C13.02 13.27 12.15 14.14 11.5 15.04C10.85 15.93 10.43 16.84 10.22 17.49C10.01 18.14 10 18.52 10 18.52C10 18.52 9.99 18.14 9.78 17.49C9.57 16.84 9.15 15.93 8.5 15.04C7.85 14.14 6.98 13.27 6.08 12.62C5.19 11.97 4.28 11.55 3.63 11.34C2.98 11.13 2.6 11.12 2.6 11.12C2.6 11.12 2.98 11.11 3.63 10.9C4.28 10.69 5.19 10.27 6.08 9.62C6.98 8.97 7.85 8.1 8.5 7.2C9.15 6.31 9.57 5.4 9.78 4.75C9.99 4.1 10 3.72 10 3.72C10 3.72 10.01 4.1 10.22 4.75C10.43 5.4 10.85 6.31 11.5 7.2C12.15 8.1 13.02 8.97 13.92 9.62C14.81 10.27 15.72 10.69 16.37 10.9C17.02 11.11 17.4 11.12 17.4 11.12\"/>";
152
+ readonly curveRose: "<path d=\"M16.57 11.12C16.57 11.49 16.32 11.85 15.86 12.13C15.4 12.42 14.72 12.61 13.9 12.66C13.08 12.71 12.13 12.61 11.13 12.35C10.14 12.09 9.11 11.67 8.16 11.12C7.21 10.57 6.33 9.89 5.61 9.16C4.89 8.43 4.32 7.65 3.96 6.92C3.59 6.18 3.42 5.5 3.43 4.96C3.44 4.42 3.64 4.02 3.96 3.84C4.27 3.65 4.71 3.68 5.19 3.94C5.66 4.2 6.17 4.69 6.62 5.38C7.07 6.06 7.47 6.94 7.74 7.93C8.01 8.92 8.16 10.02 8.16 11.12C8.16 12.22 8.01 13.32 7.74 14.31C7.47 15.3 7.07 16.18 6.62 16.86C6.17 17.55 5.66 18.04 5.19 18.3C4.71 18.56 4.27 18.59 3.96 18.4C3.64 18.22 3.44 17.82 3.43 17.28C3.42 16.74 3.59 16.06 3.96 15.32C4.32 14.59 4.89 13.81 5.61 13.08C6.33 12.35 7.21 11.67 8.16 11.12C9.11 10.57 10.14 10.15 11.13 9.89C12.13 9.63 13.08 9.53 13.9 9.58C14.72 9.63 15.4 9.82 15.86 10.11C16.32 10.39 16.57 10.75 16.57 11.12C16.57 11.49 16.32 11.85 15.86 12.13C15.4 12.42 14.72 12.61 13.9 12.66C13.08 12.71 12.13 12.61 11.13 12.35C10.14 12.09 9.11 11.67 8.16 11.12C7.21 10.57 6.33 9.89 5.61 9.16C4.89 8.43 4.32 7.65 3.96 6.92C3.59 6.18 3.42 5.5 3.43 4.96C3.44 4.42 3.64 4.02 3.96 3.84C4.27 3.65 4.71 3.68 5.19 3.94C5.66 4.2 6.17 4.69 6.62 5.38C7.07 6.06 7.47 6.94 7.74 7.93C8.01 8.92 8.16 10.02 8.16 11.12C8.16 12.22 8.01 13.32 7.74 14.31C7.47 15.3 7.07 16.18 6.62 16.86C6.17 17.55 5.66 18.04 5.19 18.3C4.71 18.56 4.27 18.59 3.96 18.4C3.64 18.22 3.44 17.82 3.43 17.28C3.42 16.74 3.59 16.06 3.96 15.32C4.32 14.59 4.89 13.81 5.61 13.08C6.33 12.35 7.21 11.67 8.16 11.12C9.11 10.57 10.14 10.15 11.13 9.89C12.13 9.63 13.08 9.53 13.9 9.58C14.72 9.63 15.4 9.82 15.86 10.11C16.32 10.39 16.57 10.75 16.57 11.12\"/>";
153
+ readonly curveSpiral: "<path d=\"M10.77 12.22C10.92 12.38 11.02 12.66 10.97 12.97C10.93 13.28 10.74 13.62 10.42 13.86C10.09 14.1 9.63 14.24 9.13 14.18C8.63 14.13 8.1 13.88 7.69 13.45C7.29 13.01 7 12.38 6.97 11.68C6.94 10.98 7.15 10.22 7.63 9.58C8.11 8.94 8.85 8.43 9.73 8.21C10.6 7.99 11.6 8.08 12.51 8.5C13.42 8.93 14.22 9.7 14.71 10.69C15.19 11.68 15.35 12.89 15.09 14.07C14.83 15.24 14.14 16.38 13.12 17.2C12.1 18.02 10.75 18.51 9.34 18.52C7.93 18.53 6.47 18.04 5.28 17.11C4.09 16.18 3.19 14.8 2.81 13.23C2.43 11.66 2.59 9.91 3.31 8.35C4.03 6.79 5.31 5.44 6.94 4.61C8.56 3.79 10.51 3.51 12.4 3.89C14.28 4.27 16.08 5.31 17.39 6.85\"/>";
154
+ readonly curveLissajous: "<path d=\"M10 11.12C11.66 12.23 13.32 13.33 14.61 14.33C15.91 15.33 16.84 16.22 17.21 16.91C17.58 17.6 17.39 18.09 16.67 18.33C15.95 18.58 14.71 18.58 13.21 18.33C11.71 18.09 9.97 17.6 8.35 16.91C6.73 16.22 5.25 15.33 4.21 14.33C3.18 13.33 2.6 12.23 2.6 11.12C2.6 10.01 3.18 8.91 4.21 7.91C5.25 6.91 6.73 6.02 8.35 5.33C9.97 4.64 11.71 4.15 13.21 3.91C14.71 3.66 15.95 3.66 16.67 3.91C17.39 4.15 17.58 4.64 17.21 5.33C16.84 6.02 15.91 6.91 14.61 7.91C13.32 8.91 11.66 10.01 10 11.12C8.34 12.23 6.68 13.33 5.39 14.33C4.09 15.33 3.16 16.22 2.79 16.91C2.42 17.6 2.61 18.09 3.33 18.33C4.05 18.58 5.29 18.58 6.79 18.33C8.29 18.09 10.03 17.6 11.65 16.91C13.27 16.22 14.75 15.33 15.79 14.33C16.82 13.33 17.4 12.23 17.4 11.12C17.4 10.01 16.82 8.91 15.79 7.91C14.75 6.91 13.27 6.02 11.65 5.33C10.03 4.64 8.29 4.15 6.79 3.91C5.29 3.66 4.05 3.66 3.33 3.91C2.61 4.15 2.42 4.64 2.79 5.33C3.16 6.02 4.09 6.91 5.39 7.91C6.68 8.91 8.34 10.01 10 11.12\"/>";
155
+ readonly curveCycloid: "<path d=\"M2.6 15.72C2.6 15.72 2.6 15.49 2.66 15.05C2.71 14.61 2.82 13.98 3.03 13.22C3.23 12.46 3.53 11.59 3.94 10.72C4.36 9.85 4.88 8.98 5.49 8.22C6.11 7.46 6.82 6.83 7.59 6.39C8.36 5.95 9.18 5.72 10 5.72C10.82 5.72 11.64 5.95 12.41 6.39C13.18 6.83 13.89 7.46 14.51 8.22C15.12 8.98 15.64 9.85 16.06 10.72C16.47 11.59 16.77 12.46 16.97 13.22C17.18 13.98 17.29 14.61 17.34 15.05C17.4 15.49 17.4 15.72 17.4 15.72\"/>";
156
+ readonly curveSuperellipse: "<path d=\"M17.4 11.12C17.4 14.45 17.38 12.98 17.34 13.46C17.31 13.94 17.25 14.34 17.17 14.69C17.1 15.05 17 15.37 16.89 15.66C16.78 15.94 16.64 16.21 16.49 16.44C16.34 16.68 16.16 16.9 15.97 17.09C15.78 17.28 15.56 17.46 15.32 17.61C15.09 17.76 14.82 17.9 14.54 18.01C14.25 18.12 13.93 18.22 13.57 18.29C13.22 18.37 12.82 18.43 12.34 18.46C11.86 18.5 13.33 18.52 10 18.52C6.67 18.52 8.14 18.5 7.66 18.46C7.18 18.43 6.78 18.37 6.43 18.29C6.07 18.22 5.75 18.12 5.46 18.01C5.18 17.9 4.91 17.76 4.68 17.61C4.44 17.46 4.22 17.28 4.03 17.09C3.84 16.9 3.66 16.68 3.51 16.44C3.36 16.21 3.22 15.94 3.11 15.66C3 15.37 2.9 15.05 2.83 14.69C2.75 14.34 2.69 13.94 2.66 13.46C2.62 12.98 2.6 14.45 2.6 11.12C2.6 7.79 2.62 9.26 2.66 8.78C2.69 8.3 2.75 7.9 2.83 7.55C2.9 7.19 3 6.87 3.11 6.58C3.22 6.3 3.36 6.03 3.51 5.8C3.66 5.56 3.84 5.34 4.03 5.15C4.22 4.96 4.44 4.78 4.68 4.63C4.91 4.48 5.18 4.34 5.46 4.23C5.75 4.12 6.07 4.02 6.43 3.95C6.78 3.87 7.18 3.81 7.66 3.78C8.14 3.74 6.67 3.72 10 3.72C13.33 3.72 11.86 3.74 12.34 3.78C12.82 3.81 13.22 3.87 13.57 3.95C13.93 4.02 14.25 4.12 14.54 4.23C14.82 4.34 15.09 4.48 15.32 4.63C15.56 4.78 15.78 4.96 15.97 5.15C16.16 5.34 16.34 5.56 16.49 5.8C16.64 6.03 16.78 6.3 16.89 6.58C17 6.87 17.1 7.19 17.17 7.55C17.25 7.9 17.31 8.3 17.34 8.78C17.38 9.26 17.4 7.79 17.4 11.12\"/>";
157
+ readonly curveTangent: "<path d=\"M2.6 10.72C2.66 10.67 2.82 10.51 2.93 10.4C3.04 10.29 3.16 10.18 3.27 10.06C3.38 9.94 3.49 9.82 3.6 9.69C3.71 9.56 3.82 9.43 3.93 9.28C4.04 9.13 4.15 8.97 4.26 8.78C4.38 8.59 4.49 8.4 4.6 8.14C4.71 7.89 4.82 7.64 4.93 7.26C5.04 6.88 5.21 6.12 5.26 5.89M7.34 15.55C7.45 15.17 7.78 13.86 8 13.3C8.22 12.73 8.45 12.48 8.67 12.16C8.89 11.84 9.11 11.62 9.33 11.38C9.56 11.14 9.78 10.94 10 10.72C10.22 10.5 10.44 10.3 10.67 10.06C10.89 9.82 11.11 9.6 11.33 9.28C11.55 8.96 11.78 8.71 12 8.14C12.22 7.58 12.55 6.27 12.66 5.89M14.74 15.55C14.79 15.32 14.96 14.56 15.07 14.18C15.18 13.8 15.29 13.55 15.4 13.3C15.51 13.04 15.62 12.85 15.73 12.66C15.85 12.47 15.96 12.31 16.07 12.16C16.18 12.01 16.29 11.88 16.4 11.75C16.51 11.62 16.62 11.5 16.73 11.38C16.85 11.26 16.96 11.15 17.07 11.04C17.18 10.93 17.34 10.77 17.4 10.72\"/>";
158
+ readonly curveCotangent: "<path d=\"M3.64 5.89C3.75 6.27 4.08 7.58 4.3 8.14C4.52 8.71 4.75 8.96 4.97 9.28C5.19 9.6 5.41 9.82 5.63 10.06C5.86 10.3 6.08 10.5 6.3 10.72C6.52 10.94 6.74 11.14 6.97 11.38C7.19 11.62 7.41 11.84 7.63 12.16C7.85 12.48 8.08 12.73 8.3 13.3C8.52 13.86 8.85 15.17 8.96 15.55M11.04 5.89C11.15 6.27 11.48 7.58 11.7 8.14C11.92 8.71 12.15 8.96 12.37 9.28C12.59 9.6 12.81 9.82 13.03 10.06C13.26 10.3 13.48 10.5 13.7 10.72C13.92 10.94 14.14 11.14 14.37 11.38C14.59 11.62 14.81 11.84 15.03 12.16C15.25 12.48 15.48 12.73 15.7 13.3C15.92 13.86 16.25 15.17 16.36 15.55\"/>";
159
+ readonly curveSecant: "<path d=\"M2.6 12.64C2.66 12.65 2.82 12.65 2.93 12.66C3.04 12.68 3.16 12.69 3.27 12.72C3.38 12.75 3.49 12.78 3.6 12.83C3.71 12.88 3.82 12.93 3.93 13C4.04 13.07 4.15 13.14 4.26 13.25C4.38 13.35 4.49 13.47 4.6 13.63C4.71 13.79 4.82 13.95 4.93 14.22C5.04 14.49 5.2 15.01 5.26 15.24C5.33 15.46 5.33 15.51 5.34 15.56M7.26 5.88C7.37 6.18 7.71 7.28 7.93 7.7C8.15 8.12 8.37 8.23 8.59 8.39C8.82 8.56 9.04 8.63 9.26 8.7C9.48 8.76 9.7 8.79 9.93 8.8C10.15 8.8 10.37 8.79 10.59 8.73C10.81 8.68 11.04 8.62 11.26 8.49C11.48 8.35 11.7 8.24 11.92 7.91C12.15 7.58 12.45 6.82 12.59 6.48C12.73 6.15 12.71 5.98 12.74 5.88M14.66 15.56C14.72 15.37 14.88 14.7 15 14.4C15.11 14.1 15.22 13.92 15.33 13.74C15.44 13.56 15.55 13.44 15.66 13.32C15.77 13.2 15.88 13.12 15.99 13.05C16.11 12.97 16.22 12.91 16.33 12.86C16.44 12.81 16.55 12.77 16.66 12.74C16.77 12.71 16.88 12.69 16.99 12.67C17.1 12.66 17.26 12.65 17.33 12.64C17.39 12.64 17.39 12.64 17.4 12.64\"/>";
160
+ readonly curveCosecant: "<path d=\"M3.56 15.56C3.67 15.26 4.01 14.16 4.23 13.74C4.45 13.32 4.67 13.21 4.89 13.05C5.12 12.88 5.34 12.81 5.56 12.74C5.78 12.68 6 12.65 6.23 12.64C6.45 12.64 6.67 12.65 6.89 12.71C7.11 12.76 7.34 12.82 7.56 12.95C7.78 13.09 8 13.2 8.22 13.53C8.45 13.86 8.75 14.62 8.89 14.96C9.03 15.29 9.01 15.46 9.04 15.56M10.96 5.88C11.07 6.18 11.41 7.28 11.63 7.7C11.85 8.12 12.07 8.23 12.29 8.39C12.52 8.56 12.74 8.63 12.96 8.7C13.18 8.76 13.4 8.79 13.63 8.8C13.85 8.8 14.07 8.79 14.29 8.73C14.51 8.68 14.74 8.62 14.96 8.49C15.18 8.35 15.4 8.24 15.62 7.91C15.85 7.58 16.15 6.82 16.29 6.48C16.43 6.15 16.41 5.98 16.44 5.88\"/>";
161
+ readonly curveArcsine: "<path d=\"M2.6 15.72C2.85 15.38 3.59 14.16 4.08 13.67C4.57 13.18 5.07 13.04 5.56 12.77C6.05 12.49 6.55 12.26 7.04 12.03C7.53 11.8 8.03 11.58 8.52 11.36C9.01 11.14 9.51 10.93 10 10.72C10.49 10.51 10.99 10.3 11.48 10.08C11.97 9.86 12.47 9.64 12.96 9.41C13.45 9.18 13.95 8.95 14.44 8.67C14.93 8.4 15.43 8.26 15.92 7.77C16.41 7.28 17.15 6.06 17.4 5.72\"/>";
162
+ readonly curveAsymptote: "<path d=\"M2.6 12.61C2.69 12.64 2.97 12.71 3.16 12.77C3.34 12.82 3.53 12.88 3.71 12.95C3.9 13.01 4.08 13.08 4.26 13.16C4.45 13.24 4.64 13.33 4.82 13.43C5.01 13.52 5.19 13.63 5.38 13.75C5.56 13.87 5.75 14 5.93 14.16C6.11 14.32 6.3 14.49 6.49 14.71C6.67 14.92 6.92 15.29 7.04 15.45C7.16 15.62 7.16 15.66 7.19 15.7M12.81 5.74C12.9 5.87 13.18 6.32 13.37 6.56C13.55 6.79 13.74 6.97 13.92 7.15C14.11 7.32 14.29 7.46 14.48 7.59C14.66 7.72 14.85 7.83 15.03 7.93C15.22 8.04 15.4 8.13 15.59 8.21C15.77 8.3 15.96 8.37 16.14 8.44C16.33 8.51 16.51 8.57 16.7 8.63C16.88 8.69 17.13 8.75 17.25 8.79C17.37 8.82 17.38 8.82 17.4 8.83\"/>";
163
+ readonly shapeTriangle: "<path d=\"M10 3.59L17.4 16.41L2.6 16.41Z\" stroke-linejoin=\"miter\"/>";
164
+ readonly shapeRightTriangle: "<path d=\"M2.6 17.4L2.6 2.6L17.4 17.4Z\" stroke-linejoin=\"miter\"/>";
165
+ readonly shapeSquare: "<path d=\"M2.6 2.6L17.4 2.6L17.4 17.4L2.6 17.4Z\" stroke-linejoin=\"miter\"/>";
166
+ readonly shapeRectangle: "<path d=\"M2.6 5.37L17.4 5.37L17.4 14.63L2.6 14.63Z\" stroke-linejoin=\"miter\"/>";
167
+ readonly shapeDiamond: "<path d=\"M10 2.6L17.4 10L10 17.4L2.6 10Z\" stroke-linejoin=\"miter\"/>";
168
+ readonly shapeParallelogram: "<path d=\"M5.35 4.71L17.4 4.71L14.65 15.29L2.6 15.29Z\" stroke-linejoin=\"miter\"/>";
169
+ readonly shapeTrapezoid: "<path d=\"M5.35 4.71L14.65 4.71L17.4 15.29L2.6 15.29Z\" stroke-linejoin=\"miter\"/>";
170
+ readonly shapeKite: "<path d=\"M10 2.6L16.43 7.75L10 17.4L3.57 7.75Z\" stroke-linejoin=\"miter\"/>";
171
+ readonly shapePentagon: "<path d=\"M10 2.96L17.4 8.34L14.57 17.04L5.43 17.04L2.6 8.34Z\" stroke-linejoin=\"miter\"/>";
172
+ readonly shapeHexagon: "<path d=\"M10 2.6L16.41 6.3L16.41 13.7L10 17.4L3.59 13.7L3.59 6.3Z\" stroke-linejoin=\"miter\"/>";
173
+ readonly shapeHexagonFlat: "<path d=\"M17.4 10L13.7 16.41L6.3 16.41L2.6 10L6.3 3.59L13.7 3.59Z\" stroke-linejoin=\"miter\"/>";
174
+ readonly shapeHeptagon: "<path d=\"M10 2.79L15.93 5.64L17.4 12.06L13.29 17.21L6.71 17.21L2.6 12.06L4.07 5.64Z\" stroke-linejoin=\"miter\"/>";
175
+ readonly shapeOctagon: "<path d=\"M13.07 2.6L17.4 6.93L17.4 13.07L13.07 17.4L6.93 17.4L2.6 13.07L2.6 6.93L6.93 2.6Z\" stroke-linejoin=\"miter\"/>";
176
+ readonly shapeDecagon: "<path d=\"M10 2.6L14.35 4.01L17.04 7.71L17.04 12.29L14.35 15.99L10 17.4L5.65 15.99L2.96 12.29L2.96 7.71L5.65 4.01Z\" stroke-linejoin=\"miter\"/>";
177
+ readonly shapeDodecagon: "<path d=\"M10 2.6L13.7 3.59L16.41 6.3L17.4 10L16.41 13.7L13.7 16.41L10 17.4L6.3 16.41L3.59 13.7L2.6 10L3.59 6.3L6.3 3.59Z\" stroke-linejoin=\"miter\"/>";
178
+ readonly shapeCross: "<path d=\"M7.63 2.6L12.37 2.6L12.37 7.63L17.4 7.63L17.4 12.37L12.37 12.37L12.37 17.4L7.63 17.4L7.63 12.37L2.6 12.37L2.6 7.63L7.63 7.63Z\" stroke-linejoin=\"miter\"/>";
179
+ readonly shapeLShape: "<path d=\"M2.6 2.6L8.82 2.6L8.82 11.78L17.4 11.78L17.4 17.4L2.6 17.4Z\" stroke-linejoin=\"miter\"/>";
180
+ readonly shapeChevron: "<path d=\"M2.6 4.38L10 10.59L17.4 4.38L17.4 9.41L10 15.62L2.6 9.41Z\" stroke-linejoin=\"miter\"/>";
181
+ readonly shapeStar: "<path d=\"M10 2.96L12.2 7.72L17.4 8.34L13.55 11.9L14.57 17.04L10 14.48L5.43 17.04L6.45 11.9L2.6 8.34L7.8 7.72Z\" stroke-linejoin=\"miter\"/>";
182
+ readonly shapeStar4: "<path d=\"M10 2.6L11.99 8.01L17.4 10L11.99 11.99L10 17.4L8.01 11.99L2.6 10L8.01 8.01Z\" stroke-linejoin=\"miter\"/>";
183
+ readonly shapeStar6: "<path d=\"M10 2.6L12.07 6.41L16.41 6.3L14.14 10L16.41 13.7L12.07 13.59L10 17.4L7.93 13.59L3.59 13.7L5.86 10L3.59 6.3L7.93 6.41Z\" stroke-linejoin=\"miter\"/>";
184
+ readonly shapeStar8: "<path d=\"M10 2.6L11.76 5.76L15.23 4.77L14.24 8.24L17.4 10L14.24 11.76L15.23 15.23L11.76 14.24L10 17.4L8.24 14.24L4.77 15.23L5.76 11.76L2.6 10L5.76 8.24L4.77 4.77L8.24 5.76Z\" stroke-linejoin=\"miter\"/>";
185
+ readonly shapePentagram: "<path d=\"M10 2.96L14.57 17.04L2.6 8.34L17.4 8.34L5.43 17.04Z\" stroke-linejoin=\"miter\"/>";
186
+ readonly shapeCircle: "<path d=\"M2.6 10A7.4 7.4 0 1 1 17.4 10A7.4 7.4 0 1 1 2.6 10Z\"/>";
187
+ readonly shapeEllipse: "<path d=\"M2.6 10A7.4 4.74 0 1 1 17.4 10A7.4 4.74 0 1 1 2.6 10Z\"/>";
188
+ readonly shapeSemicircle: "<path d=\"M2.6 13.7A7.4 7.4 0 0 1 17.4 13.7Z\"/>";
189
+ readonly shapeQuarter: "<path d=\"M2.6 17.4V2.6A14.8 14.8 0 0 1 17.4 17.4Z\"/>";
190
+ readonly shapeStadium: "<path d=\"M6.74 5.86H13.26A4.14 4.14 0 0 1 13.26 14.14H6.74A4.14 4.14 0 0 1 6.74 5.86Z\"/>";
191
+ readonly shapeRoundedSquare: "<path d=\"M6 2.6H14A3.4 3.4 0 0 1 17.4 6V14A3.4 3.4 0 0 1 14 17.4H6A3.4 3.4 0 0 1 2.6 14V6A3.4 3.4 0 0 1 6 2.6Z\"/>";
192
+ readonly shapeRing: "<path d=\"M2.6 10A7.4 7.4 0 1 1 17.4 10A7.4 7.4 0 1 1 2.6 10ZM6.15 10A3.85 3.85 0 1 0 13.85 10A3.85 3.85 0 1 0 6.15 10Z\"/>";
193
+ readonly shapeCrescent: "<path d=\"M6.3 2.6A7.4 7.4 0 1 1 6.3 17.4A8.51 8.51 0 0 0 6.3 2.6Z\"/>";
194
+ readonly shapeLens: "<path d=\"M10 2.6A9.99 9.99 0 0 1 10 17.4A9.99 9.99 0 0 1 10 2.6Z\"/>";
195
+ readonly shapeSector: "<path d=\"M10 14.63L2.6 9.06A9.27 9.27 0 0 1 17.4 9.06Z\"/>";
196
+ readonly shapeSegment: "<path d=\"M2.6 12.59A7.88 7.88 0 0 1 17.4 12.59Z\"/>";
197
+ readonly shapeArch: "<path d=\"M2.6 17.4V10A7.4 7.4 0 0 1 17.4 10V17.4Z\"/>";
198
+ readonly shapeTeardrop: "<path d=\"M10 2.6L5.9 10.75A4.59 4.59 0 1 0 14.1 10.75Z\"/>";
199
+ readonly shapeEgg: "<path d=\"M10 2.6C14.59 2.6 16.07 9.26 16.07 12.22C16.07 15.77 13.26 17.4 10 17.4C6.74 17.4 3.93 15.77 3.93 12.22C3.93 9.26 5.41 2.6 10 2.6Z\"/>";
200
+ readonly shapeHeart: "<path d=\"M10 6.51L10.01 6.42L10.05 6.16L10.18 5.76L10.41 5.26L10.78 4.72L11.27 4.2L11.89 3.76L12.62 3.45L13.42 3.31L14.25 3.36L15.08 3.61L15.84 4.03L16.48 4.62L16.98 5.33L17.29 6.12L17.4 6.97L17.29 7.84L16.98 8.7L16.48 9.54L15.84 10.34L15.08 11.12L14.25 11.86L13.42 12.57L12.62 13.27L11.89 13.93L11.27 14.56L10.78 15.14L10.41 15.66L10.18 16.09L10.05 16.41L10.01 16.62L10 16.69L9.99 16.62L9.95 16.41L9.82 16.09L9.59 15.66L9.22 15.14L8.73 14.56L8.11 13.93L7.38 13.27L6.58 12.57L5.75 11.86L4.92 11.12L4.16 10.34L3.52 9.54L3.02 8.7L2.71 7.84L2.6 6.97L2.71 6.12L3.02 5.33L3.52 4.62L4.16 4.03L4.92 3.61L5.75 3.36L6.58 3.31L7.38 3.45L8.11 3.76L8.73 4.2L9.22 4.72L9.59 5.26L9.82 5.76L9.95 6.16L9.99 6.42L10 6.51Z\"/>";
201
+ readonly shapeAngle: "<path d=\"M17.4 16.34L2.6 16.34L14.8 3.66M6.12 16.34A3.52 3.52 0 0 0 5.04 13.8\"/>";
202
+ readonly d4: "<path d=\"M2.6 14.47L10 3.31L17.4 14.47L10 16.69Z\" stroke-linejoin=\"miter\" stroke-width=\"1\"/><path d=\"M10 16.69L10 3.31\" stroke-width=\"0.6\"/>";
203
+ readonly d6: "<path d=\"M3.59 6.3L10 2.6L16.41 6.3L16.41 13.7L10 17.4L3.59 13.7Z\" stroke-linejoin=\"miter\" stroke-width=\"1\"/><path d=\"M10 10L16.41 6.3M10 17.4L10 10M10 10L3.59 6.3\" stroke-width=\"0.6\"/>";
204
+ readonly d8: "<path d=\"M2.85 9.6L10 2.6L17.15 10.4L10 17.4Z\" stroke-linejoin=\"miter\" stroke-width=\"1\"/><path d=\"M7.68 11.24L2.85 9.6M10 2.6L7.68 11.24M7.68 11.24L10 17.4M17.15 10.4L7.68 11.24\" stroke-width=\"0.6\"/>";
205
+ readonly d12: "<path d=\"M2.96 7.71L5.65 4.01L10 2.6L14.35 4.01L17.04 7.71L17.04 12.29L14.35 15.99L10 17.4L5.65 15.99L2.96 12.29Z\" stroke-linejoin=\"miter\" stroke-width=\"1\"/><path d=\"M10 5.43L10 2.6M14.35 8.59L10 5.43M17.04 7.71L14.35 8.59M14.35 8.59L12.69 13.7M5.65 8.59L10 5.43M7.31 13.7L5.65 8.59M12.69 13.7L7.31 13.7M5.65 8.59L2.96 7.71M14.35 15.99L12.69 13.7M5.65 15.99L7.31 13.7\" stroke-width=\"0.6\"/>";
206
+ readonly d20: "<path d=\"M3.59 13.7L3.59 6.3L10 2.6L16.41 6.3L16.41 13.7L10 17.4Z\" stroke-linejoin=\"miter\" stroke-width=\"1\"/><path d=\"M10 5.43L13.96 12.29M6.04 12.29L10 5.43M13.96 12.29L6.04 12.29M3.59 6.3L10 5.43M6.04 12.29L3.59 6.3M10 5.43L10 2.6M16.41 6.3L10 5.43M16.41 6.3L13.96 12.29M6.04 12.29L10 17.4M3.59 13.7L6.04 12.29M13.96 12.29L10 17.4M16.41 13.7L13.96 12.29\" stroke-width=\"0.6\"/>";
207
+ };
208
+ /** Every glyph name in the set. */
209
+ type IconName = keyof typeof ICON_PATHS;
210
+
211
+ /** Shared prop shape for the icon set. Color comes from the surrounding
212
+ * `color` CSS property — every glyph strokes in `currentColor`. */
213
+ interface IconProps {
214
+ className?: string;
215
+ /** Rendered pixel size, applied to both width and height. Defaults to 20. */
216
+ size?: number;
217
+ /** Accessible name. Omit inside a button that already labels itself; the
218
+ * glyph is then `aria-hidden`. */
219
+ label?: string;
220
+ /** Shade the region the glyph encloses, in the same `currentColor` at
221
+ * `fillOpacity`. Ignored by a glyph with no enclosed region — a spiral, or a
222
+ * function with poles — so a caller can set it across a set without checking. */
223
+ filled?: boolean;
224
+ /** Tint strength for `filled`. */
225
+ fillOpacity?: number;
226
+ }
227
+ /** Renders one glyph by name. The named components below are the usual way
228
+ * in; reach for this when the glyph is chosen at runtime. */
229
+ declare function Icon({ name, className, size, label, filled, fillOpacity, }: IconProps & {
230
+ name: IconName;
231
+ }): react_jsx_runtime.JSX.Element;
232
+
233
+ /** Visual weight of a button. Defaults to `secondary`. */
234
+ type ButtonVariant = 'primary' | 'secondary' | 'ghost';
235
+ /** Button height and type scale. */
236
+ type ButtonSize = 'sm' | 'md';
237
+ type ButtonBase = {
238
+ variant?: ButtonVariant;
239
+ size?: ButtonSize;
240
+ /** A button that stays down: renders `aria-pressed` and holds the active
241
+ * treatment while it is on. For a control that reports a state rather than
242
+ * firing an action -- a panel toggle, a mode switch. Left off, the button
243
+ * announces no pressed state at all, which is what an action button wants. */
244
+ pressed?: boolean;
245
+ disabled?: boolean;
246
+ loading?: boolean;
247
+ leadingIcon?: ReactNode;
248
+ trailingIcon?: ReactNode;
249
+ fullWidth?: boolean;
250
+ type?: 'button' | 'submit' | 'reset';
251
+ className?: string;
252
+ style?: ButtonHTMLAttributes<HTMLButtonElement>['style'];
253
+ children?: ReactNode;
254
+ onClick?: ButtonHTMLAttributes<HTMLButtonElement>['onClick'];
255
+ };
256
+ type ButtonRegular = ButtonBase & {
257
+ iconOnly?: false;
258
+ ariaLabel?: string;
259
+ };
260
+ type ButtonIconOnly = ButtonBase & {
261
+ iconOnly: true;
262
+ ariaLabel: string;
263
+ };
264
+ /**
265
+ * Props for {@link Button}. Setting `iconOnly` makes `ariaLabel` required,
266
+ * since an icon-only button has no text for a screen reader to announce.
267
+ */
268
+ type ButtonProps = ButtonRegular | ButtonIconOnly;
269
+ /**
270
+ * Standard button. `loading` swaps the leading icon for a spinner, marks the
271
+ * button `aria-busy`, and leaves the label in place; it does not disable the
272
+ * button, so pass `disabled` too if the click should be blocked.
273
+ *
274
+ * `ref` forwards to the underlying `<button>`.
275
+ */
276
+ declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
277
+
278
+ /** One segment of a {@link ToggleBar}, identified by its `value`. */
279
+ type ToggleBarItem<V extends string | number = string> = {
280
+ value: V;
281
+ label?: ReactNode;
282
+ ariaLabel?: string;
283
+ disabled?: boolean;
284
+ };
285
+ /** Segment height and type scale for a {@link ToggleBar}. */
286
+ type ToggleBarSize = 'sm' | 'md';
287
+ /** Visual treatment of a {@link ToggleBar}. */
288
+ type ToggleBarVariant = 'default' | 'minimal' | 'flat';
289
+ type CommonProps = {
290
+ ariaLabel?: string;
291
+ className?: string;
292
+ height?: number;
293
+ /** Size variant. `sm` is ~60% of the default height with reduced padding
294
+ * and font size — sized for dense surfaces like lab control panels. */
295
+ size?: ToggleBarSize;
296
+ /** Visual variant. `minimal` strips the pill track and glass treatment;
297
+ * selection becomes a flat accent. For dense diagnostic surfaces. */
298
+ variant?: ToggleBarVariant;
299
+ };
300
+ /**
301
+ * Props for {@link ToggleBar}, discriminated on `mode`. Single mode is
302
+ * controlled by one value or `null`; multiple mode by an array, and only it
303
+ * accepts `mixedValues`.
304
+ */
305
+ type ToggleBarProps<V extends string | number = string> = (CommonProps & {
306
+ mode?: 'single';
307
+ items: readonly ToggleBarItem<V>[];
308
+ value: V | null;
309
+ onChange: (next: V | null) => void;
310
+ allowDeselect?: boolean;
311
+ }) | (CommonProps & {
312
+ mode: 'multiple';
313
+ items: readonly ToggleBarItem<V>[];
314
+ value: readonly V[];
315
+ /**
316
+ * Values that are neither on nor off — the sources this bar
317
+ * aggregates disagree (a text range that is bold in part of it, a
318
+ * multi-selection whose nodes differ). Rendered `aria-pressed="mixed"`,
319
+ * the ARIA tri-state a toggle button actually has, rather than
320
+ * `SelectionPanel`'s reduced-opacity-plus-`title` workaround for
321
+ * `Switch`, which has no indeterminate state to render.
322
+ *
323
+ * `value` wins where the two lists overlap, so a caller that can't
324
+ * cheaply keep them disjoint doesn't get an ambiguous segment.
325
+ *
326
+ * Clicking a mixed segment turns it fully **on**, matching the
327
+ * everywhere-else convention (and `toggleFlagInRange`'s rule for a
328
+ * partially-styled text range) that a mixed toggle resolves toward
329
+ * the affirmative rather than clearing.
330
+ */
331
+ mixedValues?: readonly V[];
332
+ onChange: (next: V[]) => void;
333
+ });
334
+ /**
335
+ * Segmented control for choosing among a fixed set of values — one of them
336
+ * (`mode: 'single'`, the default) or any number (`mode: 'multiple'`).
337
+ *
338
+ * Single mode ignores a click on the already-selected segment unless
339
+ * `allowDeselect` is set. Arrow keys move focus without changing the value;
340
+ * Space and Enter commit.
341
+ */
342
+ declare function ToggleBar<V extends string | number = string>(props: ToggleBarProps<V>): ReactElement;
343
+
344
+ /** The `portalContainer` prop every weasel overlay accepts. */
345
+ interface OverlayPortalProps {
346
+ /**
347
+ * Where the overlay's portal mounts. Defaults to the nearest ancestor of
348
+ * the overlay's own position that carries a weasel theme, so the overlay
349
+ * resolves the same `--wzl-*` tokens as the control it belongs to. Pass
350
+ * `null` for `document.body`.
351
+ */
352
+ portalContainer?: Element | null;
353
+ }
354
+ /** React Aria props minus the portal key a weasel overlay owns. */
355
+ type WithoutPortalTarget<T> = Omit<T, 'UNSTABLE_portalContainer'>;
356
+
357
+ /** Props for {@link Input}, on top of React Aria's `TextField` props. */
358
+ type InputProps = Omit<TextFieldProps, 'children' | 'className'> & {
359
+ label?: ReactNode;
360
+ description?: ReactNode;
361
+ errorMessage?: ReactNode | ((v: ValidationResult) => ReactNode);
362
+ placeholder?: string;
363
+ leadingAdornment?: ReactNode;
364
+ trailingAdornment?: ReactNode;
365
+ className?: string;
366
+ };
367
+ /**
368
+ * Single-line text input wrapping React Aria's TextField. Supplies a
369
+ * default skin against the `--wzl-*` token system, and exposes the
370
+ * familiar label / description / errorMessage / adornment slot shape.
371
+ *
372
+ * `ref` forwards to the underlying `<input>`.
373
+ */
374
+ declare const Input: react.ForwardRefExoticComponent<Omit<TextFieldProps, "className" | "children"> & {
375
+ label?: ReactNode;
376
+ description?: ReactNode;
377
+ errorMessage?: ReactNode | ((v: ValidationResult) => ReactNode);
378
+ placeholder?: string;
379
+ leadingAdornment?: ReactNode;
380
+ trailingAdornment?: ReactNode;
381
+ className?: string;
382
+ } & react.RefAttributes<HTMLInputElement>>;
383
+
384
+ /** One option in a {@link Select}'s `options` list. */
385
+ type SelectOption = {
386
+ value: string;
387
+ label: ReactNode;
388
+ isDisabled?: boolean;
389
+ /**
390
+ * Plain-text form of `label`, for type-to-select and screen readers.
391
+ * Only needed when `label` isn't a bare string — a label built from
392
+ * elements has no text React Aria can read off it. A string label
393
+ * supplies this itself.
394
+ */
395
+ textValue?: string;
396
+ };
397
+ type Key = string | number;
398
+ /**
399
+ * Props for {@link Select}, on top of React Aria's `Select` props, with the
400
+ * selection key narrowed to the option value type.
401
+ */
402
+ type SelectProps<T extends Key = string> = Omit<SelectProps$1<object>, 'children' | 'className' | 'selectedKey' | 'defaultSelectedKey' | 'onSelectionChange'> & {
403
+ label?: ReactNode;
404
+ description?: ReactNode;
405
+ errorMessage?: ReactNode | ((v: ValidationResult) => ReactNode);
406
+ placeholder?: string;
407
+ /** Either pass `options` for a quick render, or `children` for full control. */
408
+ options?: ReadonlyArray<SelectOption & {
409
+ value: T;
410
+ }>;
411
+ children?: ReactNode;
412
+ selectedKey?: T | null;
413
+ defaultSelectedKey?: T;
414
+ onSelectionChange?: (key: T) => void;
415
+ /**
416
+ * `'fill'` (the default) takes the width of whatever row the select sits in.
417
+ * `'fit'` sizes the trigger to its widest option, so it neither swallows a
418
+ * toolbar's slack nor changes width as the selection moves.
419
+ */
420
+ width?: 'fill' | 'fit';
421
+ /** `'bare'` drops the box, for a select set in a row of other chrome such as a property row. */
422
+ variant?: 'field' | 'bare';
423
+ /**
424
+ * Id for the trigger button. React Aria puts a plain `id` on the wrapper,
425
+ * which is not labelable, so an outer `<label for>` needs this to reach a
426
+ * control the label can actually own.
427
+ */
428
+ triggerId?: string;
429
+ className?: string;
430
+ } & OverlayPortalProps;
431
+ /**
432
+ * Form select wrapping React Aria's Select. Pass either `options` for a
433
+ * quick declarative render or `children` of `<SelectItem>` for control over
434
+ * each row.
435
+ *
436
+ * The selection key type is parameterized so consumers with a string-literal
437
+ * union for `value` (e.g. `'r' | 'g' | 'b'`) get a typed `onSelectionChange`.
438
+ */
439
+ declare function Select<T extends Key = string>(props: SelectProps<T>): react_jsx_runtime.JSX.Element;
440
+ /** Props for {@link SelectItem}, on top of React Aria's `ListBoxItem` props. */
441
+ type SelectItemProps = Omit<ListBoxItemProps, 'className' | 'children'> & {
442
+ children?: ReactNode;
443
+ className?: string;
444
+ };
445
+ /**
446
+ * One row in a {@link Select}'s list, with a leading check mark when
447
+ * selected. A string child supplies its own `textValue`; anything richer must
448
+ * pass one so type-to-select and screen readers have something to read.
449
+ */
450
+ declare function SelectItem({ children, className, textValue, ...rest }: SelectItemProps): react_jsx_runtime.JSX.Element;
451
+
452
+ export { Button as B, Select as S, ToggleBar as T, Icon as d, Input as e, ICON_PATHS as l, SelectItem as n };
453
+ export type { IconProps as I, OverlayPortalProps as O, WithoutPortalTarget as W, ButtonProps as a, ButtonSize as b, ButtonVariant as c, InputProps as f, SelectProps as g, ToggleBarItem as h, ToggleBarProps as i, ToggleBarSize as j, ToggleBarVariant as k, IconName as m, SelectItemProps as o, SelectOption as p };