@weasel-js/ui 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/dist/chunks/ActionBar-CiKvEvXi.js +63 -0
  2. package/dist/chunks/ActionBar-CiKvEvXi.js.map +1 -0
  3. package/dist/chunks/ActionsBar-CzU6Of3B.js +94 -0
  4. package/dist/chunks/ActionsBar-CzU6Of3B.js.map +1 -0
  5. package/dist/chunks/Badge-DU8ihE7Z.js +2942 -0
  6. package/dist/chunks/Badge-DU8ihE7Z.js.map +1 -0
  7. package/dist/chunks/Button-9QNIYugK.js +87 -0
  8. package/dist/chunks/Button-9QNIYugK.js.map +1 -0
  9. package/dist/chunks/Callout-CvTKW1sd.js +114 -0
  10. package/dist/chunks/Callout-CvTKW1sd.js.map +1 -0
  11. package/dist/chunks/Checkbox-BeWFZr1M.js +47 -0
  12. package/dist/chunks/Checkbox-BeWFZr1M.js.map +1 -0
  13. package/dist/chunks/ColorField-B7vHaU5G.js +60 -0
  14. package/dist/chunks/ColorField-B7vHaU5G.js.map +1 -0
  15. package/dist/chunks/ComboBox-yfrxG0_I.js +88 -0
  16. package/dist/chunks/ComboBox-yfrxG0_I.js.map +1 -0
  17. package/dist/chunks/CurveEditor-BEQtef4P.js +786 -0
  18. package/dist/chunks/CurveEditor-BEQtef4P.js.map +1 -0
  19. package/dist/chunks/DataGrid-mUq38k0Q.js +186 -0
  20. package/dist/chunks/DataGrid-mUq38k0Q.js.map +1 -0
  21. package/dist/chunks/Dialog-tAi14bY3.js +58 -0
  22. package/dist/chunks/Dialog-tAi14bY3.js.map +1 -0
  23. package/dist/chunks/Field-4cagmYlT.js +31 -0
  24. package/dist/chunks/Field-4cagmYlT.js.map +1 -0
  25. package/dist/chunks/Input-DRei6KJr.js +55 -0
  26. package/dist/chunks/Input-DRei6KJr.js.map +1 -0
  27. package/dist/chunks/Keycaps-B9dJMYx_.js +397 -0
  28. package/dist/chunks/Keycaps-B9dJMYx_.js.map +1 -0
  29. package/dist/chunks/NumberField-BAmJwxw0.js +59 -0
  30. package/dist/chunks/NumberField-BAmJwxw0.js.map +1 -0
  31. package/dist/chunks/OptionsBar-CHOP_CiW.js +98 -0
  32. package/dist/chunks/OptionsBar-CHOP_CiW.js.map +1 -0
  33. package/dist/chunks/Plot2D-CEnhzodm.js +168 -0
  34. package/dist/chunks/Plot2D-CEnhzodm.js.map +1 -0
  35. package/dist/chunks/PointPlotter-Dvh5cyOC.js +16 -0
  36. package/dist/chunks/PointPlotter-Dvh5cyOC.js.map +1 -0
  37. package/dist/chunks/Powerline-W_yqAVMc.js +36 -0
  38. package/dist/chunks/Powerline-W_yqAVMc.js.map +1 -0
  39. package/dist/chunks/Prefs-NOoGuUHy.js +238 -0
  40. package/dist/chunks/Prefs-NOoGuUHy.js.map +1 -0
  41. package/dist/chunks/RadioGroup-DUlTy95a.js +49 -0
  42. package/dist/chunks/RadioGroup-DUlTy95a.js.map +1 -0
  43. package/dist/chunks/RangeSlider-Bks9GQuO.js +52 -0
  44. package/dist/chunks/RangeSlider-Bks9GQuO.js.map +1 -0
  45. package/dist/chunks/Select-BV70VU5O.js +97 -0
  46. package/dist/chunks/Select-BV70VU5O.js.map +1 -0
  47. package/dist/chunks/SelectionPanel-D_U7GKup.js +283 -0
  48. package/dist/chunks/SelectionPanel-D_U7GKup.js.map +1 -0
  49. package/dist/chunks/Sidebar-Bk9_TPhX.js +26 -0
  50. package/dist/chunks/Sidebar-Bk9_TPhX.js.map +1 -0
  51. package/dist/chunks/SidebarPanel-Nd9Od5WD.js +59 -0
  52. package/dist/chunks/SidebarPanel-Nd9Od5WD.js.map +1 -0
  53. package/dist/chunks/Slider-sUJGgmKR.js +221 -0
  54. package/dist/chunks/Slider-sUJGgmKR.js.map +1 -0
  55. package/dist/chunks/Switch-iUmlnP_b.js +27 -0
  56. package/dist/chunks/Switch-iUmlnP_b.js.map +1 -0
  57. package/dist/chunks/Tabs-DCs-Ww2f.js +41 -0
  58. package/dist/chunks/Tabs-DCs-Ww2f.js.map +1 -0
  59. package/dist/chunks/Toast-NdSJo2vj.js +128 -0
  60. package/dist/chunks/Toast-NdSJo2vj.js.map +1 -0
  61. package/dist/chunks/ToggleBar-BfcvLaOr.js +120 -0
  62. package/dist/chunks/ToggleBar-BfcvLaOr.js.map +1 -0
  63. package/dist/chunks/ToolButton-GAzBOvcR.js +53 -0
  64. package/dist/chunks/ToolButton-GAzBOvcR.js.map +1 -0
  65. package/dist/chunks/ToolGroup-Btg47vJF.js +25 -0
  66. package/dist/chunks/ToolGroup-Btg47vJF.js.map +1 -0
  67. package/dist/chunks/ToolPalette-C8V-I-uX.js +117 -0
  68. package/dist/chunks/ToolPalette-C8V-I-uX.js.map +1 -0
  69. package/dist/chunks/Tooltip-Clgn4trm.js +39 -0
  70. package/dist/chunks/Tooltip-Clgn4trm.js.map +1 -0
  71. package/dist/chunks/keyGlyph-BDH5fqkO.js +22 -0
  72. package/dist/chunks/keyGlyph-BDH5fqkO.js.map +1 -0
  73. package/dist/color/oklch.d.ts +14 -0
  74. package/dist/color/oklch.d.ts.map +1 -0
  75. package/dist/components/ActionBar/ActionBar.d.ts +36 -0
  76. package/dist/components/ActionBar/ActionBar.d.ts.map +1 -0
  77. package/dist/components/ActionBar/index.d.ts +3 -0
  78. package/dist/components/ActionBar/index.d.ts.map +1 -0
  79. package/dist/components/ActionBar/index.js +2 -0
  80. package/dist/components/ActionsBar/ActionsBar.d.ts +20 -0
  81. package/dist/components/ActionsBar/ActionsBar.d.ts.map +1 -0
  82. package/dist/components/ActionsBar/index.d.ts +3 -0
  83. package/dist/components/ActionsBar/index.d.ts.map +1 -0
  84. package/dist/components/ActionsBar/index.js +2 -0
  85. package/dist/components/Badge/Badge.d.ts +50 -0
  86. package/dist/components/Badge/Badge.d.ts.map +1 -0
  87. package/dist/components/Badge/bases/ChamferedRect.d.ts +8 -0
  88. package/dist/components/Badge/bases/ChamferedRect.d.ts.map +1 -0
  89. package/dist/components/Badge/bases/OctantBSpline.d.ts +71 -0
  90. package/dist/components/Badge/bases/OctantBSpline.d.ts.map +1 -0
  91. package/dist/components/Badge/bases/OctantSpline.d.ts +79 -0
  92. package/dist/components/Badge/bases/OctantSpline.d.ts.map +1 -0
  93. package/dist/components/Badge/bases/Polygon.d.ts +8 -0
  94. package/dist/components/Badge/bases/Polygon.d.ts.map +1 -0
  95. package/dist/components/Badge/bases/Powerline.d.ts +13 -0
  96. package/dist/components/Badge/bases/Powerline.d.ts.map +1 -0
  97. package/dist/components/Badge/bases/Puzzle.d.ts +15 -0
  98. package/dist/components/Badge/bases/Puzzle.d.ts.map +1 -0
  99. package/dist/components/Badge/bases/Quatrefoil.d.ts +46 -0
  100. package/dist/components/Badge/bases/Quatrefoil.d.ts.map +1 -0
  101. package/dist/components/Badge/bases/Ribbon.d.ts +12 -0
  102. package/dist/components/Badge/bases/Ribbon.d.ts.map +1 -0
  103. package/dist/components/Badge/bases/RoundedRect.d.ts +14 -0
  104. package/dist/components/Badge/bases/RoundedRect.d.ts.map +1 -0
  105. package/dist/components/Badge/bases/edgeProfiles.d.ts +6 -0
  106. package/dist/components/Badge/bases/edgeProfiles.d.ts.map +1 -0
  107. package/dist/components/Badge/bases/index.d.ts +24 -0
  108. package/dist/components/Badge/bases/index.d.ts.map +1 -0
  109. package/dist/components/Badge/bases/polygonSampler.d.ts +4 -0
  110. package/dist/components/Badge/bases/polygonSampler.d.ts.map +1 -0
  111. package/dist/components/Badge/bases/types.d.ts +69 -0
  112. package/dist/components/Badge/bases/types.d.ts.map +1 -0
  113. package/dist/components/Badge/effects/Aqua.d.ts +49 -0
  114. package/dist/components/Badge/effects/Aqua.d.ts.map +1 -0
  115. package/dist/components/Badge/effects/Bevel.d.ts +11 -0
  116. package/dist/components/Badge/effects/Bevel.d.ts.map +1 -0
  117. package/dist/components/Badge/effects/Bevel2.d.ts +11 -0
  118. package/dist/components/Badge/effects/Bevel2.d.ts.map +1 -0
  119. package/dist/components/Badge/effects/Bites.d.ts +10 -0
  120. package/dist/components/Badge/effects/Bites.d.ts.map +1 -0
  121. package/dist/components/Badge/effects/Metal.d.ts +41 -0
  122. package/dist/components/Badge/effects/Metal.d.ts.map +1 -0
  123. package/dist/components/Badge/effects/Outline.d.ts +17 -0
  124. package/dist/components/Badge/effects/Outline.d.ts.map +1 -0
  125. package/dist/components/Badge/effects/Perforations.d.ts +11 -0
  126. package/dist/components/Badge/effects/Perforations.d.ts.map +1 -0
  127. package/dist/components/Badge/effects/Puffs.d.ts +10 -0
  128. package/dist/components/Badge/effects/Puffs.d.ts.map +1 -0
  129. package/dist/components/Badge/effects/Rivets.d.ts +13 -0
  130. package/dist/components/Badge/effects/Rivets.d.ts.map +1 -0
  131. package/dist/components/Badge/effects/Scallops.d.ts +10 -0
  132. package/dist/components/Badge/effects/Scallops.d.ts.map +1 -0
  133. package/dist/components/Badge/effects/Shadow.d.ts +11 -0
  134. package/dist/components/Badge/effects/Shadow.d.ts.map +1 -0
  135. package/dist/components/Badge/effects/Sheen.d.ts +10 -0
  136. package/dist/components/Badge/effects/Sheen.d.ts.map +1 -0
  137. package/dist/components/Badge/effects/Spikes.d.ts +20 -0
  138. package/dist/components/Badge/effects/Spikes.d.ts.map +1 -0
  139. package/dist/components/Badge/effects/Sunbeams.d.ts +29 -0
  140. package/dist/components/Badge/effects/Sunbeams.d.ts.map +1 -0
  141. package/dist/components/Badge/effects/Woodgrain.d.ts +12 -0
  142. package/dist/components/Badge/effects/Woodgrain.d.ts.map +1 -0
  143. package/dist/components/Badge/effects/index.d.ts +40 -0
  144. package/dist/components/Badge/effects/index.d.ts.map +1 -0
  145. package/dist/components/Badge/effects/rangeMask.d.ts +13 -0
  146. package/dist/components/Badge/effects/rangeMask.d.ts.map +1 -0
  147. package/dist/components/Badge/index.d.ts +4 -0
  148. package/dist/components/Badge/index.d.ts.map +1 -0
  149. package/dist/components/Badge/index.js +2 -0
  150. package/dist/components/Badge/shapeControls.d.ts +29 -0
  151. package/dist/components/Badge/shapeControls.d.ts.map +1 -0
  152. package/dist/components/Badge/shapes/Beavis.d.ts +11 -0
  153. package/dist/components/Badge/shapes/Beavis.d.ts.map +1 -0
  154. package/dist/components/Badge/shapes/Cloud.d.ts +11 -0
  155. package/dist/components/Badge/shapes/Cloud.d.ts.map +1 -0
  156. package/dist/components/Badge/shapes/Coffin.d.ts +12 -0
  157. package/dist/components/Badge/shapes/Coffin.d.ts.map +1 -0
  158. package/dist/components/Badge/shapes/Crest.d.ts +8 -0
  159. package/dist/components/Badge/shapes/Crest.d.ts.map +1 -0
  160. package/dist/components/Badge/shapes/Hexagon.d.ts +10 -0
  161. package/dist/components/Badge/shapes/Hexagon.d.ts.map +1 -0
  162. package/dist/components/Badge/shapes/House.d.ts +9 -0
  163. package/dist/components/Badge/shapes/House.d.ts.map +1 -0
  164. package/dist/components/Badge/shapes/Notched.d.ts +10 -0
  165. package/dist/components/Badge/shapes/Notched.d.ts.map +1 -0
  166. package/dist/components/Badge/shapes/Perforated.d.ts +8 -0
  167. package/dist/components/Badge/shapes/Perforated.d.ts.map +1 -0
  168. package/dist/components/Badge/shapes/Pill.d.ts +4 -0
  169. package/dist/components/Badge/shapes/Pill.d.ts.map +1 -0
  170. package/dist/components/Badge/shapes/Plain.d.ts +4 -0
  171. package/dist/components/Badge/shapes/Plain.d.ts.map +1 -0
  172. package/dist/components/Badge/shapes/Plaque.d.ts +12 -0
  173. package/dist/components/Badge/shapes/Plaque.d.ts.map +1 -0
  174. package/dist/components/Badge/shapes/Postage.d.ts +9 -0
  175. package/dist/components/Badge/shapes/Postage.d.ts.map +1 -0
  176. package/dist/components/Badge/shapes/Quatrefoil.d.ts +19 -0
  177. package/dist/components/Badge/shapes/Quatrefoil.d.ts.map +1 -0
  178. package/dist/components/Badge/shapes/Receipt.d.ts +9 -0
  179. package/dist/components/Badge/shapes/Receipt.d.ts.map +1 -0
  180. package/dist/components/Badge/shapes/Ribbon.d.ts +13 -0
  181. package/dist/components/Badge/shapes/Ribbon.d.ts.map +1 -0
  182. package/dist/components/Badge/shapes/Scalloped.d.ts +9 -0
  183. package/dist/components/Badge/shapes/Scalloped.d.ts.map +1 -0
  184. package/dist/components/Badge/shapes/Shield.d.ts +11 -0
  185. package/dist/components/Badge/shapes/Shield.d.ts.map +1 -0
  186. package/dist/components/Badge/shapes/Sparkler.d.ts +10 -0
  187. package/dist/components/Badge/shapes/Sparkler.d.ts.map +1 -0
  188. package/dist/components/Badge/shapes/Square.d.ts +8 -0
  189. package/dist/components/Badge/shapes/Square.d.ts.map +1 -0
  190. package/dist/components/Badge/shapes/Starburst.d.ts +11 -0
  191. package/dist/components/Badge/shapes/Starburst.d.ts.map +1 -0
  192. package/dist/components/Badge/shapes/Urn.d.ts +4 -0
  193. package/dist/components/Badge/shapes/Urn.d.ts.map +1 -0
  194. package/dist/components/Badge/shapes/Wood.d.ts +4 -0
  195. package/dist/components/Badge/shapes/Wood.d.ts.map +1 -0
  196. package/dist/components/Badge/shapes/index.d.ts +46 -0
  197. package/dist/components/Badge/shapes/index.d.ts.map +1 -0
  198. package/dist/components/Badge/types.d.ts +39 -0
  199. package/dist/components/Badge/types.d.ts.map +1 -0
  200. package/dist/components/Button/Button.d.ts +29 -0
  201. package/dist/components/Button/Button.d.ts.map +1 -0
  202. package/dist/components/Button/index.d.ts +3 -0
  203. package/dist/components/Button/index.d.ts.map +1 -0
  204. package/dist/components/Button/index.js +2 -0
  205. package/dist/components/Callout/Callout.d.ts +67 -0
  206. package/dist/components/Callout/Callout.d.ts.map +1 -0
  207. package/dist/components/Callout/index.d.ts +3 -0
  208. package/dist/components/Callout/index.d.ts.map +1 -0
  209. package/dist/components/Callout/index.js +2 -0
  210. package/dist/components/Checkbox/Checkbox.d.ts +15 -0
  211. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  212. package/dist/components/Checkbox/index.d.ts +3 -0
  213. package/dist/components/Checkbox/index.d.ts.map +1 -0
  214. package/dist/components/Checkbox/index.js +2 -0
  215. package/dist/components/ColorField/ColorField.d.ts +28 -0
  216. package/dist/components/ColorField/ColorField.d.ts.map +1 -0
  217. package/dist/components/ColorField/index.d.ts +2 -0
  218. package/dist/components/ColorField/index.d.ts.map +1 -0
  219. package/dist/components/ColorField/index.js +2 -0
  220. package/dist/components/ComboBox/ComboBox.d.ts +36 -0
  221. package/dist/components/ComboBox/ComboBox.d.ts.map +1 -0
  222. package/dist/components/ComboBox/index.d.ts +3 -0
  223. package/dist/components/ComboBox/index.d.ts.map +1 -0
  224. package/dist/components/ComboBox/index.js +2 -0
  225. package/dist/components/CurveEditor/CurveEditor.d.ts +41 -0
  226. package/dist/components/CurveEditor/CurveEditor.d.ts.map +1 -0
  227. package/dist/components/CurveEditor/LayeredCurveEditor.d.ts +40 -0
  228. package/dist/components/CurveEditor/LayeredCurveEditor.d.ts.map +1 -0
  229. package/dist/components/CurveEditor/catmullRom.d.ts +35 -0
  230. package/dist/components/CurveEditor/catmullRom.d.ts.map +1 -0
  231. package/dist/components/CurveEditor/createFunctionLayer.d.ts +72 -0
  232. package/dist/components/CurveEditor/createFunctionLayer.d.ts.map +1 -0
  233. package/dist/components/CurveEditor/hitTest.d.ts +29 -0
  234. package/dist/components/CurveEditor/hitTest.d.ts.map +1 -0
  235. package/dist/components/CurveEditor/index.d.ts +7 -0
  236. package/dist/components/CurveEditor/index.d.ts.map +1 -0
  237. package/dist/components/CurveEditor/index.js +2 -0
  238. package/dist/components/CurveEditor/interpolation.d.ts +15 -0
  239. package/dist/components/CurveEditor/interpolation.d.ts.map +1 -0
  240. package/dist/components/CurveEditor/layerTypes.d.ts +103 -0
  241. package/dist/components/CurveEditor/layerTypes.d.ts.map +1 -0
  242. package/dist/components/CurveEditor/monotone.d.ts +25 -0
  243. package/dist/components/CurveEditor/monotone.d.ts.map +1 -0
  244. package/dist/components/CurveEditor/setCurveOp.d.ts +35 -0
  245. package/dist/components/CurveEditor/setCurveOp.d.ts.map +1 -0
  246. package/dist/components/DataGrid/DataGrid.d.ts +34 -0
  247. package/dist/components/DataGrid/DataGrid.d.ts.map +1 -0
  248. package/dist/components/DataGrid/index.d.ts +3 -0
  249. package/dist/components/DataGrid/index.d.ts.map +1 -0
  250. package/dist/components/DataGrid/index.js +2 -0
  251. package/dist/components/Dialog/Dialog.d.ts +29 -0
  252. package/dist/components/Dialog/Dialog.d.ts.map +1 -0
  253. package/dist/components/Dialog/index.d.ts +3 -0
  254. package/dist/components/Dialog/index.d.ts.map +1 -0
  255. package/dist/components/Dialog/index.js +2 -0
  256. package/dist/components/Field/Field.d.ts +25 -0
  257. package/dist/components/Field/Field.d.ts.map +1 -0
  258. package/dist/components/Field/index.d.ts +3 -0
  259. package/dist/components/Field/index.d.ts.map +1 -0
  260. package/dist/components/Field/index.js +2 -0
  261. package/dist/components/Input/Input.d.ts +28 -0
  262. package/dist/components/Input/Input.d.ts.map +1 -0
  263. package/dist/components/Input/index.d.ts +3 -0
  264. package/dist/components/Input/index.d.ts.map +1 -0
  265. package/dist/components/Input/index.js +2 -0
  266. package/dist/components/Keycaps/Keycap.d.ts +34 -0
  267. package/dist/components/Keycaps/Keycap.d.ts.map +1 -0
  268. package/dist/components/Keycaps/Keycaps.d.ts +29 -0
  269. package/dist/components/Keycaps/Keycaps.d.ts.map +1 -0
  270. package/dist/components/Keycaps/index.d.ts +8 -0
  271. package/dist/components/Keycaps/index.d.ts.map +1 -0
  272. package/dist/components/Keycaps/index.js +3 -0
  273. package/dist/components/Keycaps/keyGlyph.d.ts +7 -0
  274. package/dist/components/Keycaps/keyGlyph.d.ts.map +1 -0
  275. package/dist/components/Keycaps/keySpecsFromMods.d.ts +81 -0
  276. package/dist/components/Keycaps/keySpecsFromMods.d.ts.map +1 -0
  277. package/dist/components/NumberField/NumberField.d.ts +25 -0
  278. package/dist/components/NumberField/NumberField.d.ts.map +1 -0
  279. package/dist/components/NumberField/index.d.ts +3 -0
  280. package/dist/components/NumberField/index.d.ts.map +1 -0
  281. package/dist/components/NumberField/index.js +2 -0
  282. package/dist/components/OptionsBar/OptionsBar.d.ts +25 -0
  283. package/dist/components/OptionsBar/OptionsBar.d.ts.map +1 -0
  284. package/dist/components/OptionsBar/index.d.ts +3 -0
  285. package/dist/components/OptionsBar/index.d.ts.map +1 -0
  286. package/dist/components/OptionsBar/index.js +2 -0
  287. package/dist/components/Plot2D/Plot2D.d.ts +60 -0
  288. package/dist/components/Plot2D/Plot2D.d.ts.map +1 -0
  289. package/dist/components/Plot2D/geometry.d.ts +24 -0
  290. package/dist/components/Plot2D/geometry.d.ts.map +1 -0
  291. package/dist/components/Plot2D/index.d.ts +3 -0
  292. package/dist/components/Plot2D/index.d.ts.map +1 -0
  293. package/dist/components/Plot2D/index.js +2 -0
  294. package/dist/components/PointPlotter/PointPlotter.d.ts +51 -0
  295. package/dist/components/PointPlotter/PointPlotter.d.ts.map +1 -0
  296. package/dist/components/PointPlotter/index.d.ts +2 -0
  297. package/dist/components/PointPlotter/index.d.ts.map +1 -0
  298. package/dist/components/PointPlotter/index.js +2 -0
  299. package/dist/components/Powerline/Powerline.d.ts +32 -0
  300. package/dist/components/Powerline/Powerline.d.ts.map +1 -0
  301. package/dist/components/Powerline/index.d.ts +5 -0
  302. package/dist/components/Powerline/index.d.ts.map +1 -0
  303. package/dist/components/Powerline/index.js +3 -0
  304. package/dist/components/Prefs/PrefsDialog.d.ts +21 -0
  305. package/dist/components/Prefs/PrefsDialog.d.ts.map +1 -0
  306. package/dist/components/Prefs/PrefsForm.d.ts +42 -0
  307. package/dist/components/Prefs/PrefsForm.d.ts.map +1 -0
  308. package/dist/components/Prefs/index.d.ts +4 -0
  309. package/dist/components/Prefs/index.d.ts.map +1 -0
  310. package/dist/components/Prefs/index.js +2 -0
  311. package/dist/components/Prefs/schema.d.ts +85 -0
  312. package/dist/components/Prefs/schema.d.ts.map +1 -0
  313. package/dist/components/RadioGroup/RadioGroup.d.ts +16 -0
  314. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -0
  315. package/dist/components/RadioGroup/index.d.ts +3 -0
  316. package/dist/components/RadioGroup/index.d.ts.map +1 -0
  317. package/dist/components/RadioGroup/index.js +2 -0
  318. package/dist/components/RangeSlider/RangeSlider.d.ts +18 -0
  319. package/dist/components/RangeSlider/RangeSlider.d.ts.map +1 -0
  320. package/dist/components/RangeSlider/index.d.ts +3 -0
  321. package/dist/components/RangeSlider/index.d.ts.map +1 -0
  322. package/dist/components/RangeSlider/index.js +2 -0
  323. package/dist/components/Select/Select.d.ts +39 -0
  324. package/dist/components/Select/Select.d.ts.map +1 -0
  325. package/dist/components/Select/index.d.ts +3 -0
  326. package/dist/components/Select/index.d.ts.map +1 -0
  327. package/dist/components/Select/index.js +2 -0
  328. package/dist/components/SelectionPanel/SelectionPanel.d.ts +46 -0
  329. package/dist/components/SelectionPanel/SelectionPanel.d.ts.map +1 -0
  330. package/dist/components/SelectionPanel/index.d.ts +3 -0
  331. package/dist/components/SelectionPanel/index.d.ts.map +1 -0
  332. package/dist/components/SelectionPanel/index.js +2 -0
  333. package/dist/components/SelectionPanel/model.d.ts +43 -0
  334. package/dist/components/SelectionPanel/model.d.ts.map +1 -0
  335. package/dist/components/Sidebar/Sidebar.d.ts +31 -0
  336. package/dist/components/Sidebar/Sidebar.d.ts.map +1 -0
  337. package/dist/components/Sidebar/index.d.ts +3 -0
  338. package/dist/components/Sidebar/index.d.ts.map +1 -0
  339. package/dist/components/Sidebar/index.js +2 -0
  340. package/dist/components/SidebarPanel/SidebarPanel.d.ts +35 -0
  341. package/dist/components/SidebarPanel/SidebarPanel.d.ts.map +1 -0
  342. package/dist/components/SidebarPanel/index.d.ts +3 -0
  343. package/dist/components/SidebarPanel/index.d.ts.map +1 -0
  344. package/dist/components/SidebarPanel/index.js +2 -0
  345. package/dist/components/Slider/Slider.d.ts +43 -0
  346. package/dist/components/Slider/Slider.d.ts.map +1 -0
  347. package/dist/components/Slider/index.d.ts +3 -0
  348. package/dist/components/Slider/index.d.ts.map +1 -0
  349. package/dist/components/Slider/index.js +2 -0
  350. package/dist/components/Switch/Switch.d.ts +11 -0
  351. package/dist/components/Switch/Switch.d.ts.map +1 -0
  352. package/dist/components/Switch/index.d.ts +3 -0
  353. package/dist/components/Switch/index.d.ts.map +1 -0
  354. package/dist/components/Switch/index.js +2 -0
  355. package/dist/components/Tabs/Tabs.d.ts +22 -0
  356. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  357. package/dist/components/Tabs/index.d.ts +3 -0
  358. package/dist/components/Tabs/index.d.ts.map +1 -0
  359. package/dist/components/Tabs/index.js +2 -0
  360. package/dist/components/Toast/Toast.d.ts +18 -0
  361. package/dist/components/Toast/Toast.d.ts.map +1 -0
  362. package/dist/components/Toast/index.d.ts +5 -0
  363. package/dist/components/Toast/index.d.ts.map +1 -0
  364. package/dist/components/Toast/index.js +2 -0
  365. package/dist/components/Toast/queue.d.ts +56 -0
  366. package/dist/components/Toast/queue.d.ts.map +1 -0
  367. package/dist/components/ToggleBar/ToggleBar.d.ts +35 -0
  368. package/dist/components/ToggleBar/ToggleBar.d.ts.map +1 -0
  369. package/dist/components/ToggleBar/index.d.ts +3 -0
  370. package/dist/components/ToggleBar/index.d.ts.map +1 -0
  371. package/dist/components/ToggleBar/index.js +2 -0
  372. package/dist/components/ToolButton/ToolButton.d.ts +41 -0
  373. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -0
  374. package/dist/components/ToolButton/index.d.ts +3 -0
  375. package/dist/components/ToolButton/index.d.ts.map +1 -0
  376. package/dist/components/ToolButton/index.js +2 -0
  377. package/dist/components/ToolGroup/ToolGroup.d.ts +25 -0
  378. package/dist/components/ToolGroup/ToolGroup.d.ts.map +1 -0
  379. package/dist/components/ToolGroup/index.d.ts +3 -0
  380. package/dist/components/ToolGroup/index.d.ts.map +1 -0
  381. package/dist/components/ToolGroup/index.js +2 -0
  382. package/dist/components/ToolPalette/ToolPalette.d.ts +27 -0
  383. package/dist/components/ToolPalette/ToolPalette.d.ts.map +1 -0
  384. package/dist/components/ToolPalette/formatShortcut.d.ts +17 -0
  385. package/dist/components/ToolPalette/formatShortcut.d.ts.map +1 -0
  386. package/dist/components/ToolPalette/index.d.ts +4 -0
  387. package/dist/components/ToolPalette/index.d.ts.map +1 -0
  388. package/dist/components/ToolPalette/index.js +2 -0
  389. package/dist/components/Tooltip/Tooltip.d.ts +24 -0
  390. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  391. package/dist/components/Tooltip/index.d.ts +3 -0
  392. package/dist/components/Tooltip/index.d.ts.map +1 -0
  393. package/dist/components/Tooltip/index.js +2 -0
  394. package/dist/dlog.d.ts +33 -0
  395. package/dist/dlog.d.ts.map +1 -0
  396. package/dist/format/number.d.ts +13 -0
  397. package/dist/format/number.d.ts.map +1 -0
  398. package/dist/index.d.ts +44 -0
  399. package/dist/index.d.ts.map +1 -0
  400. package/dist/index.js +49 -6749
  401. package/dist/index.js.map +1 -1
  402. package/dist/paintGradientTrack.d.ts +15 -0
  403. package/dist/paintGradientTrack.d.ts.map +1 -0
  404. package/dist/style.css +1 -1
  405. package/dist/useReorderDragList.d.ts +35 -0
  406. package/dist/useReorderDragList.d.ts.map +1 -0
  407. package/package.json +8 -4
@@ -0,0 +1,39 @@
1
+ import type { ReactNode } from 'react';
2
+ export type BadgeShape = 'pill' | 'plain' | 'square' | 'notched' | 'perforated' | 'hexagon' | 'starburst' | 'scalloped' | 'shield' | 'ribbon' | 'beavis' | 'sparkler' | 'postage' | 'cloud' | 'house' | 'plaque' | 'crest' | 'urn' | 'coffin' | 'receipt' | 'wood' | 'quatrefoil';
3
+ export type BadgeTone = 'accent' | 'info' | 'warn' | 'danger' | 'muted' | 'neutral' | 'custom';
4
+ export type BadgeVariant = 'outline' | 'solid' | 'subtle';
5
+ export type BadgeSize = 'sm' | 'md';
6
+ export interface ShapeRenderProps<P = Record<string, never>> {
7
+ variant: BadgeVariant;
8
+ focused: boolean;
9
+ params: P;
10
+ /** 0..1 phase offset applied to perimeter patterns when the badge has `crawl` enabled. */
11
+ phase: number;
12
+ }
13
+ export interface ShapeInsets {
14
+ top: number;
15
+ right: number;
16
+ bottom: number;
17
+ left: number;
18
+ }
19
+ /** Compose-mode descriptor a ShapeModule can produce to route rendering through base + effects.
20
+ * Strings reference the shape's BadgeBase/BadgeEffect keys; see bases/index.ts and effects/index.ts. */
21
+ export interface ShapeComposeSpec {
22
+ base: string;
23
+ baseParams?: Record<string, unknown>;
24
+ effects?: {
25
+ type: string;
26
+ params?: Record<string, unknown>;
27
+ }[];
28
+ }
29
+ export interface ShapeModule<P = Record<string, never>> {
30
+ /** Provide a Component for legacy SVG rendering OR a compose() returning a base+effects spec. At least one is required. */
31
+ Component?: (props: ShapeRenderProps<P>) => ReactNode;
32
+ compose?: (params: P) => ShapeComposeSpec;
33
+ insets: ShapeInsets | ((params: P) => ShapeInsets);
34
+ stretches: boolean;
35
+ defaultAspect?: number;
36
+ renderMode?: 'svg' | 'css';
37
+ defaults?: P;
38
+ }
39
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,UAAU,GAClB,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GACtD,SAAS,GACT,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAC1D,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GACrD,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC;AAEnE,MAAM,MAAM,SAAS,GACjB,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE3E,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpC,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IACzD,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,CAAC;IACV,0FAA0F;IAC1F,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAEzF;yGACyG;AACzG,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE,CAAC;CAChE;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IACpD,2HAA2H;IAC3H,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;IACtD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,gBAAgB,CAAC;IAC1C,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,CAAC;CACd"}
@@ -0,0 +1,29 @@
1
+ import { type ButtonHTMLAttributes, type ReactNode } from 'react';
2
+ export type ButtonVariant = 'primary' | 'secondary' | 'ghost';
3
+ export type ButtonSize = 'sm' | 'md';
4
+ type ButtonBase = {
5
+ variant?: ButtonVariant;
6
+ size?: ButtonSize;
7
+ disabled?: boolean;
8
+ loading?: boolean;
9
+ leadingIcon?: ReactNode;
10
+ trailingIcon?: ReactNode;
11
+ fullWidth?: boolean;
12
+ type?: 'button' | 'submit' | 'reset';
13
+ className?: string;
14
+ style?: ButtonHTMLAttributes<HTMLButtonElement>['style'];
15
+ children?: ReactNode;
16
+ onClick?: ButtonHTMLAttributes<HTMLButtonElement>['onClick'];
17
+ };
18
+ type ButtonRegular = ButtonBase & {
19
+ iconOnly?: false;
20
+ ariaLabel?: string;
21
+ };
22
+ type ButtonIconOnly = ButtonBase & {
23
+ iconOnly: true;
24
+ ariaLabel: string;
25
+ };
26
+ export type ButtonProps = ButtonRegular | ButtonIconOnly;
27
+ export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
28
+ export {};
29
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAGxF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAC9D,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAErC,KAAK,UAAU,GAAG;IAChB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC;CAC9D,CAAC;AAEF,KAAK,aAAa,GAAG,UAAU,GAAG;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,cAAc,GAAG,UAAU,GAAG;IACjC,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;AA2BzD,eAAO,MAAM,MAAM,2GA2DjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Button } from './Button';
2
+ export type { ButtonProps, ButtonVariant, ButtonSize } from './Button';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../../chunks/Button-9QNIYugK.js";
2
+ export { e as Button };
@@ -0,0 +1,67 @@
1
+ import { type ReactNode, type RefObject } from 'react';
2
+ import { DialogTrigger, type PopoverProps as RACPopoverProps } from 'react-aria-components';
3
+ export type CalloutTone = 'info' | 'warning' | 'danger';
4
+ /**
5
+ * Composition wrapper for press-to-open callouts:
6
+ * `<CalloutTrigger><Pressable>…</Pressable><Callout>…</Callout></CalloutTrigger>`.
7
+ * Re-exported RAC DialogTrigger — non-RAC trigger elements must be wrapped
8
+ * in `<Pressable>` from react-aria-components.
9
+ * In composed mode, put `defaultOpen` on `CalloutTrigger`, not `Callout` —
10
+ * RAC detaches to local open state on the trigger, not the popover.
11
+ */
12
+ export { DialogTrigger as CalloutTrigger };
13
+ export type CalloutProps = Omit<RACPopoverProps, 'children' | 'className' | 'isNonModal' | 'triggerRef'> & {
14
+ children?: ReactNode;
15
+ className?: string;
16
+ /** Optional heading rendered above the body. */
17
+ title?: ReactNode;
18
+ /** Footer slot — typically action buttons. */
19
+ footer?: ReactNode;
20
+ /** Accent tone for border + arrow. Default `info`. */
21
+ tone?: CalloutTone;
22
+ /**
23
+ * `true` — blocks interaction with the rest of the app until dismissed;
24
+ * inner dialog is `role="alertdialog"`. `false` (default) — non-blocking:
25
+ * the app stays interactive; Esc / outside click / close button dismiss.
26
+ */
27
+ modal?: boolean;
28
+ /**
29
+ * Show the × button. Defaults to `!modal`. In programmatic
30
+ * `triggerRef`/`anchorRect` modes the close button requires either
31
+ * controlled open (`isOpen` + `onOpenChange`) or `onDismiss`; with only
32
+ * `defaultOpen` it has no open-state setter to call and cannot close.
33
+ */
34
+ showCloseButton?: boolean;
35
+ /**
36
+ * The user asked for this callout to go away — the × button or Escape.
37
+ *
38
+ * Distinct from `onOpenChange`, which a non-modal popover *also* fires when
39
+ * interaction or focus merely leaves it. On a canvas that's every click on
40
+ * the artwork, so a consumer that pins `isOpen` and treats `onOpenChange`
41
+ * as dismissal retires messages nobody read. Use this instead: it fires
42
+ * only on a deliberate act, and never on incidental focus loss.
43
+ */
44
+ onDismiss?: () => void;
45
+ /** Anchor to an arbitrary element (programmatic use, with `isOpen`). */
46
+ triggerRef?: RefObject<Element | null>;
47
+ /**
48
+ * Anchor to a client-coordinate rect — e.g. a scene node's on-screen box.
49
+ * The callout re-anchors whenever this rect changes, so a consumer that
50
+ * recomputes it on pan, zoom, or scene edits keeps the arrow on its target.
51
+ * Takes precedence over `triggerRef`.
52
+ */
53
+ anchorRect?: {
54
+ x: number;
55
+ y: number;
56
+ width: number;
57
+ height: number;
58
+ };
59
+ };
60
+ /**
61
+ * Anchored callout with an arrow pointing at its source — a trigger
62
+ * element, an arbitrary `triggerRef`, or a client-space `anchorRect`.
63
+ * Wraps React Aria Popover + Dialog; positioning, collision flipping,
64
+ * dismissal, and focus behavior come from the underlying primitives.
65
+ */
66
+ export declare function Callout(props: CalloutProps): import("react/jsx-runtime").JSX.Element;
67
+ //# sourceMappingURL=Callout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Callout.d.ts","sourceRoot":"","sources":["../../../src/components/Callout/Callout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9F,OAAO,EACL,aAAa,EAKb,KAAK,YAAY,IAAI,eAAe,EACrC,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAExD;;;;;;;GAOG;AACH,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,CAAC;AAE3C,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,eAAe,EACf,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,CACvD,GAAG;IACF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,sDAAsD;IACtD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,wEAAwE;IACxE,UAAU,CAAC,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACvC;;;;;OAKG;IACH,UAAU,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACtE,CAAC;AAQF;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,2CA2I1C"}
@@ -0,0 +1,3 @@
1
+ export { Callout, CalloutTrigger } from './Callout';
2
+ export type { CalloutProps, CalloutTone } from './Callout';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Callout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { n as e, t } from "../../chunks/Callout-CvTKW1sd.js";
2
+ export { t as Callout, e as CalloutTrigger };
@@ -0,0 +1,15 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type CheckboxProps as RACCheckboxProps } from 'react-aria-components';
3
+ export type CheckboxProps = Omit<RACCheckboxProps, 'children' | 'className'> & {
4
+ children?: ReactNode;
5
+ className?: string;
6
+ };
7
+ /**
8
+ * Single checkbox wrapping React Aria's Checkbox. Supports indeterminate
9
+ * via `isIndeterminate`. The label is supplied as children.
10
+ */
11
+ export declare const Checkbox: import("react").ForwardRefExoticComponent<Omit<RACCheckboxProps, "children" | "className"> & {
12
+ children?: ReactNode;
13
+ className?: string;
14
+ } & import("react").RefAttributes<HTMLLabelElement>>;
15
+ //# sourceMappingURL=Checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAC7D,OAAO,EAEL,KAAK,aAAa,IAAI,gBAAgB,EACvC,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;IAC7E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ;eARR,SAAS;gBACR,MAAM;oDAyClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Checkbox } from './Checkbox';
2
+ export type { CheckboxProps } from './Checkbox';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../../chunks/Checkbox-BeWFZr1M.js";
2
+ export { e as Checkbox };
@@ -0,0 +1,28 @@
1
+ export interface ColorFieldProps {
2
+ /** Current color, `#rrggbb` or `#rrggbbaa`. Omit when `mixed`. */
3
+ value?: string;
4
+ /** Indeterminate presentation (multi-selection with differing colors):
5
+ * checkered chip, empty value. The first color edit produces a real
6
+ * value; the opacity slider stays disabled until then (an alpha-only
7
+ * edit would otherwise commit a value composed against the
8
+ * placeholder black). */
9
+ mixed?: boolean;
10
+ /** Show the opacity slider; emitted values are `#rrggbbaa`. */
11
+ alpha?: boolean;
12
+ /** Live value during interaction (picker drag, slider drag). Optional —
13
+ * wire it for live preview; omit it for commit-only consumers. */
14
+ onInput?: (hex: string) => void;
15
+ /** Committed value — picker close (blur) or slider release. One call
16
+ * per user gesture; pair with an undoable write. */
17
+ onChange: (hex: string) => void;
18
+ 'aria-label'?: string;
19
+ className?: string;
20
+ }
21
+ /**
22
+ * Compact color editor: native color input + optional opacity slider.
23
+ * Commit semantics are gesture-based (see `onChange`) because native
24
+ * color/range inputs fire `change` continuously during interaction —
25
+ * commit-on-change would emit one undo entry per tick.
26
+ */
27
+ export declare function ColorField(props: ColorFieldProps): import("react/jsx-runtime").JSX.Element;
28
+ //# sourceMappingURL=ColorField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorField.d.ts","sourceRoot":"","sources":["../../../src/components/ColorField/ColorField.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;8BAI0B;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;uEACmE;IACnE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC;yDACqD;IACrD,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CA4EhD"}
@@ -0,0 +1,2 @@
1
+ export { ColorField, type ColorFieldProps } from './ColorField';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ColorField/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../../chunks/ColorField-B7vHaU5G.js";
2
+ export { e as ColorField };
@@ -0,0 +1,36 @@
1
+ import type { ReactNode } from 'react';
2
+ import { type ComboBoxProps as RACComboBoxProps, type ListBoxItemProps as RACListBoxItemProps, type ValidationResult } from 'react-aria-components';
3
+ export type ComboBoxOption = {
4
+ value: string;
5
+ label: ReactNode;
6
+ textValue?: string;
7
+ isDisabled?: boolean;
8
+ };
9
+ type Key = string | number;
10
+ export type ComboBoxProps<T extends Key = string> = Omit<RACComboBoxProps<object>, 'children' | 'className' | 'selectedKey' | 'defaultSelectedKey' | 'onSelectionChange'> & {
11
+ label?: ReactNode;
12
+ description?: ReactNode;
13
+ errorMessage?: ReactNode | ((v: ValidationResult) => ReactNode);
14
+ placeholder?: string;
15
+ options?: ReadonlyArray<ComboBoxOption & {
16
+ value: T;
17
+ }>;
18
+ children?: ReactNode;
19
+ selectedKey?: T | null;
20
+ defaultSelectedKey?: T;
21
+ onSelectionChange?: (key: T | null) => void;
22
+ emptyLabel?: ReactNode;
23
+ className?: string;
24
+ };
25
+ /**
26
+ * Filterable single-select wrapping React Aria's ComboBox. The user can
27
+ * type to filter; selection commits to `onSelectionChange`. When no value
28
+ * is in the input, selection clears (key becomes null).
29
+ */
30
+ export declare function ComboBox<T extends Key = string>(props: ComboBoxProps<T>): import("react/jsx-runtime").JSX.Element;
31
+ export type ComboBoxItemProps = Omit<RACListBoxItemProps, 'className'> & {
32
+ className?: string;
33
+ };
34
+ export declare function ComboBoxItem({ className, ...rest }: ComboBoxItemProps): import("react/jsx-runtime").JSX.Element;
35
+ export {};
36
+ //# sourceMappingURL=ComboBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../../../src/components/ComboBox/ComboBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAUL,KAAK,aAAa,IAAI,gBAAgB,EACtC,KAAK,gBAAgB,IAAI,mBAAmB,EAC5C,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,KAAK,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3B,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,oBAAoB,GAAG,mBAAmB,CAAC,GAAG;IAC1K,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC,CAAC;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC,cAAc,GAAG;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IACvD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACvB,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACvB,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,GAAG,GAAG,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,2CAoDvE;AAED,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,GAAG;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,iBAAiB,2CAErE"}
@@ -0,0 +1,3 @@
1
+ export { ComboBox, ComboBoxItem } from './ComboBox';
2
+ export type { ComboBoxProps, ComboBoxItemProps, ComboBoxOption } from './ComboBox';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ComboBox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { n as e, t } from "../../chunks/ComboBox-yfrxG0_I.js";
2
+ export { t as ComboBox, e as ComboBoxItem };
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Back-compat wrapper around `LayeredCurveEditor` that preserves the
3
+ * original single-curve API. New consumers wanting multi-layer
4
+ * composition should reach for `LayeredCurveEditor` + `createFunctionLayer`
5
+ * directly.
6
+ */
7
+ import { type CSSProperties, type ReactNode } from 'react';
8
+ import { type GridSettings, type AxesSettings } from '../Plot2D';
9
+ import type { InterpolationMode } from './interpolation';
10
+ import { type ControlPoint, type CurveDomain, type EndpointMode, type AddPointMode, type CurveSettings, type FillSettings, type AnchorRenderProps } from './createFunctionLayer';
11
+ export type { GridSettings, AxesSettings };
12
+ export type { ControlPoint, CurveDomain, EndpointMode, AddPointMode, CurveSettings, FillSettings, AnchorRenderProps, };
13
+ export interface CurveEditorProps {
14
+ value: readonly ControlPoint[];
15
+ onChange: (next: ControlPoint[]) => void;
16
+ onChangeCommit?: (next: ControlPoint[], prev: readonly ControlPoint[]) => void;
17
+ domain?: CurveDomain;
18
+ interpolation?: InterpolationMode;
19
+ endpoints?: EndpointMode;
20
+ xRange?: readonly [number, number];
21
+ yRange?: readonly [number, number];
22
+ width: number;
23
+ height: number;
24
+ grid?: GridSettings | false | null;
25
+ axes?: AxesSettings | false | null;
26
+ curve?: CurveSettings | false | null;
27
+ fill?: FillSettings | false | null;
28
+ hideNonInteractive?: boolean;
29
+ constrain?: 'none' | 'function';
30
+ history?: boolean;
31
+ minPoints?: number;
32
+ maxPoints?: number;
33
+ addPointMode?: AddPointMode;
34
+ renderAnchor?: (info: AnchorRenderProps) => ReactNode;
35
+ /** Extra SVG content rendered behind the curve and anchors. */
36
+ decorations?: ReactNode;
37
+ className?: string;
38
+ style?: CSSProperties;
39
+ }
40
+ export declare function CurveEditor(props: CurveEditorProps): import("react/jsx-runtime").JSX.Element;
41
+ //# sourceMappingURL=CurveEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurveEditor.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/CurveEditor.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAC3C,YAAY,EACV,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EACrD,aAAa,EAAE,YAAY,EAAE,iBAAiB,GAC/C,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,YAAY,EAAE,KAAK,IAAI,CAAC;IAC/E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACtD,+DAA+D;IAC/D,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CA4GlD"}
@@ -0,0 +1,40 @@
1
+ import { type CSSProperties, type ReactNode } from 'react';
2
+ import { type GridSettings, type AxesSettings } from '../Plot2D';
3
+ import type { CurveLayer } from './layerTypes';
4
+ export interface LayerBinding<S = unknown> {
5
+ layer: CurveLayer<S>;
6
+ state: S;
7
+ }
8
+ export interface LayeredCurveEditorProps {
9
+ /** Bottom-to-top render order: `layers[0]` paints first, `layers[N-1]`
10
+ * paints on top. Hit-testing runs in reverse (topmost claim wins). */
11
+ layers: ReadonlyArray<LayerBinding<any>>;
12
+ /** Fires every frame during a gesture with the live in-flight state
13
+ * for the layer that owns the gesture. */
14
+ onLayerChange(id: string, next: unknown): void;
15
+ /** Fires once per discrete user action (drag-end, one-shot insert,
16
+ * delete) for the layer that produced the change. `prev` is the
17
+ * layer's state at gesture start. */
18
+ onLayerCommit?(id: string, next: unknown, prev: unknown): void;
19
+ width: number;
20
+ height: number;
21
+ /** Model-space x range. Default [0, 1]. */
22
+ xRange?: readonly [number, number];
23
+ /** Model-space y range. Default [0, 1]. */
24
+ yRange?: readonly [number, number];
25
+ grid?: GridSettings | false | null;
26
+ axes?: AxesSettings | false | null;
27
+ /** Built-in undo/redo via Cmd/Ctrl+Z (Shift+Z or Y for redo) on the
28
+ * focused SVG. Snapshots every layer's state on each commit; undo
29
+ * fires `onLayerChange(id, prevState)` for each layer whose state
30
+ * changed. Default `true`. */
31
+ history?: boolean;
32
+ className?: string;
33
+ style?: CSSProperties;
34
+ /** Extra SVG content rendered behind all layers (under the lowest
35
+ * layer but above grid/axes). Use this for static chrome that isn't
36
+ * worth modeling as a layer. */
37
+ children?: ReactNode;
38
+ }
39
+ export declare function LayeredCurveEditor(props: LayeredCurveEditorProps): import("react/jsx-runtime").JSX.Element;
40
+ //# sourceMappingURL=LayeredCurveEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayeredCurveEditor.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/LayeredCurveEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAGlB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAOnB,OAAO,KAAK,EACV,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,uBAAuB;IACtC;2EACuE;IACvE,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzC;+CAC2C;IAC3C,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAE/C;;0CAEsC;IACtC,aAAa,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAE/D,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IAEnC;;;mCAG+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;;qCAEiC;IACjC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAmBD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CA0UhE"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Catmull-Rom spline sampling, parameterized by α.
3
+ *
4
+ * α = 0 → uniform parameterization (original Catmull-Rom). Fast, can
5
+ * produce cusps and self-intersections at sharp 2D angles.
6
+ * α = 0.5 → centripetal (Yuksel/Schneider 2011). No cusps, no
7
+ * self-intersection. The "safe default" for 2D.
8
+ * α = 1 → chordal. Smoother than uniform, different artifacts.
9
+ *
10
+ * `sampleCurve(...)` is the convenience alias for centripetal (α=0.5).
11
+ */
12
+ export interface Point {
13
+ x: number;
14
+ y: number;
15
+ }
16
+ /**
17
+ * Sample the Catmull-Rom segment between p1 and p2 at parameter
18
+ * t ∈ [0, 1]. p0 and p3 are the surrounding control points (use phantom
19
+ * reflection at endpoints — see sampleCatmullRom below).
20
+ *
21
+ * Returns p1 at t=0 and p2 at t=1. `alpha` controls parameterization.
22
+ */
23
+ export declare function segmentSampleAt(p0: Point, p1: Point, p2: Point, p3: Point, t: number, alpha?: number): Point;
24
+ /**
25
+ * Sample the whole curve through `anchors` using Catmull-Rom with the
26
+ * given α. Returns `(n-1) * samplesPerSegment + 1` points. Phantom
27
+ * endpoints by reflection so the first/last segments are tangent to
28
+ * the chord into/out of the endpoints. Returns `[]` for fewer than 2
29
+ * anchors.
30
+ */
31
+ export declare function sampleCatmullRom(anchors: readonly Point[], samplesPerSegment: number, alpha?: number): Point[];
32
+ /** Convenience alias for centripetal Catmull-Rom (α=0.5). The most
33
+ * common choice; safe default for 2D paths. */
34
+ export declare function sampleCurve(anchors: readonly Point[], samplesPerSegment: number): Point[];
35
+ //# sourceMappingURL=catmullRom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catmullRom.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/catmullRom.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAQD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EACrD,KAAK,GAAE,MAAY,GAClB,KAAK,CA4BP;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,KAAK,EAAE,EACzB,iBAAiB,EAAE,MAAM,EACzB,KAAK,GAAE,MAAY,GAClB,KAAK,EAAE,CAoCT;AAED;gDACgD;AAChD,wBAAgB,WAAW,CACzB,OAAO,EAAE,SAAS,KAAK,EAAE,EACzB,iBAAiB,EAAE,MAAM,GACxB,KAAK,EAAE,CAET"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Built-in function/curve layer for LayeredCurveEditor. Bundles the
3
+ * curve-render + anchor-render + drag/insert/delete gestures that were
4
+ * the entirety of the original `CurveEditor`. Multiple instances coexist
5
+ * by id; consumers can compose several to plot e.g. a primary function
6
+ * and a derived (read-only) curve on the same chart.
7
+ */
8
+ import type { ReactNode } from 'react';
9
+ import { type InterpolationMode } from './interpolation';
10
+ import type { CurveLayer } from './layerTypes';
11
+ export interface ControlPoint {
12
+ x: number;
13
+ y: number;
14
+ /** When true, this control point can't be moved or deleted by the
15
+ * user. Render as a smaller diamond with locked styling. */
16
+ locked?: boolean;
17
+ }
18
+ export type CurveDomain = '1d' | '2d';
19
+ export type EndpointMode = 'free' | 'pinned-x' | 'pinned-both';
20
+ export type AddPointMode = 'click-curve' | 'click-empty' | 'never';
21
+ export interface AnchorRenderProps {
22
+ point: ControlPoint;
23
+ index: number;
24
+ cx: number;
25
+ cy: number;
26
+ isActive: boolean;
27
+ isLocked: boolean;
28
+ isPinnedEndpoint: boolean;
29
+ isEndpoint: boolean;
30
+ }
31
+ export interface CurveSettings {
32
+ }
33
+ export interface FillSettings {
34
+ side: 'below' | 'above';
35
+ color?: string;
36
+ }
37
+ export interface FunctionLayerConfig {
38
+ /** Layer id; default `'function'`. Two instances on the same editor
39
+ * must have distinct ids. */
40
+ id?: string;
41
+ domain?: CurveDomain;
42
+ endpoints?: EndpointMode;
43
+ interpolation?: InterpolationMode;
44
+ constrain?: 'none' | 'function';
45
+ addPointMode?: AddPointMode;
46
+ minPoints?: number;
47
+ maxPoints?: number;
48
+ curve?: CurveSettings | false | null;
49
+ fill?: FillSettings | false | null;
50
+ hideNonInteractive?: boolean;
51
+ renderAnchor?: (info: AnchorRenderProps) => ReactNode;
52
+ /** When false, the layer renders the curve+fill but doesn't render
53
+ * anchors and doesn't accept pointer input. For derived read-only
54
+ * curves (e.g. plotting f'(x) alongside f(x)). Default true. */
55
+ interactive?: boolean;
56
+ /** Override x clamp range for drags and pinned endpoints. Defaults
57
+ * to the editor's modelRange x. Use this to constrain a layer to a
58
+ * sub-range of the plot (e.g. a bevel curve occupying x ∈ [0, b]
59
+ * while the editor's xRange is [0, halfWidth]). */
60
+ xClamp?: readonly [number, number];
61
+ }
62
+ export interface FunctionLayerState {
63
+ points: readonly ControlPoint[];
64
+ /** Layer-internal: the index of the anchor currently being dragged.
65
+ * Cleared between gestures. Consumers treat the whole state as
66
+ * opaque and round-trip it via onLayerChange. */
67
+ activeIndex: number | null;
68
+ }
69
+ export declare function createFunctionLayer(cfg?: FunctionLayerConfig): CurveLayer<FunctionLayerState>;
70
+ /** Convenience: build a function-layer state from a points array. */
71
+ export declare function functionLayerState(points: readonly ControlPoint[]): FunctionLayerState;
72
+ //# sourceMappingURL=createFunctionLayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFunctionLayer.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/createFunctionLayer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIhF,OAAO,KAAK,EACV,UAAU,EAEX,MAAM,cAAc,CAAC;AAItB,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV;iEAC6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC;AACtC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;CAE7B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC;kCAC8B;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACtD;;qEAEiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;wDAGoD;IACpD,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IAChC;;sDAEkD;IAClD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAsDD,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,mBAAwB,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAkQjG;AAED,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,kBAAkB,CAEtF"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Curve-specific hit tests. Generic coord transforms live in
3
+ * `../Plot2D/geometry`; what's here is curve-only (anchor / polyline
4
+ * proximity).
5
+ */
6
+ import type { Point } from '../Plot2D/geometry';
7
+ /**
8
+ * Nearest-anchor hit test. Anchors are already in plot/screen coords.
9
+ * Returns the index of the nearest anchor whose squared distance to
10
+ * the pointer is ≤ radius². Null if no anchor is within radius.
11
+ */
12
+ export declare function hitTestAnchor(anchors: readonly Point[], pointer: Point, radius: number): {
13
+ index: number;
14
+ } | null;
15
+ /**
16
+ * Hit test against a per-segment sampled polyline. Each entry in
17
+ * `segments` is the sample list for one segment (inclusive of
18
+ * endpoints). Returns segment index + t (∈ [0, 1]) of the closest
19
+ * point on the polyline within radius. Null if nothing is in range.
20
+ *
21
+ * Distance is measured to the line-segment chords between adjacent
22
+ * samples, not just to the samples themselves — so sparse sampling
23
+ * still produces accurate hits along the chord.
24
+ */
25
+ export declare function hitTestCurve(segments: readonly (readonly Point[])[], pointer: Point, radius: number): {
26
+ segIdx: number;
27
+ t: number;
28
+ } | null;
29
+ //# sourceMappingURL=hitTest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hitTest.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/hitTest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,SAAS,KAAK,EAAE,EACzB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAY1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,SAAS,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,EACvC,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,MAAM,GACb;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA6BtC"}
@@ -0,0 +1,7 @@
1
+ export { CurveEditor, type CurveEditorProps, } from './CurveEditor';
2
+ export { type ControlPoint, type CurveDomain, type EndpointMode, type AddPointMode, type FillSettings, type CurveSettings, type AnchorRenderProps, createFunctionLayer, functionLayerState, type FunctionLayerConfig, type FunctionLayerState, } from './createFunctionLayer';
3
+ export { LayeredCurveEditor, type LayeredCurveEditorProps, type LayerBinding, } from './LayeredCurveEditor';
4
+ export type { CurveLayer, LayerCtx, LayerRenderCtx, LayerHit, LayerGesture, LayerModifiers, EmptyDownArgs, ModelPoint, PlotPoint, } from './layerTypes';
5
+ export { createSetCurveOp, type SetCurveAdapter, type CreateSetCurveOpArgs, } from './setCurveOp';
6
+ export { sampleByInterpolation, type InterpolationMode, } from './interpolation';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,UAAU,EACV,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,SAAS,GACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,qBAAqB,EACrB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { a as e, i as t, n, o as r, r as i, t as a } from "../../chunks/CurveEditor-BEQtef4P.js";
2
+ export { n as CurveEditor, i as LayeredCurveEditor, t as createFunctionLayer, a as createSetCurveOp, e as functionLayerState, r as sampleByInterpolation };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Interpolation mode dispatcher for CurveEditor. The vocabulary of
3
+ * supported algorithms and the unified `sample(...)` entry point that
4
+ * picks the right one. All algorithms produce
5
+ * `(n-1) * samplesPerSegment + 1` points and pass through every
6
+ * anchor — CurveEditor is strictly interpolating, never approximating.
7
+ */
8
+ import { type Point } from './catmullRom';
9
+ /** Supported interpolation modes. All are interpolating (pass through
10
+ * every anchor); the differences are in tangent computation and
11
+ * parameterization. */
12
+ export type InterpolationMode = 'linear' | 'catmull-rom' | 'catmull-rom-uniform' | 'catmull-rom-chordal' | 'monotone';
13
+ /** Sample `anchors` using the chosen interpolation mode. */
14
+ export declare function sampleByInterpolation(anchors: readonly Point[], samplesPerSegment: number, mode: InterpolationMode): Point[];
15
+ //# sourceMappingURL=interpolation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpolation.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/interpolation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAoB,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAG5D;;wBAEwB;AACxB,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,aAAa,GACb,qBAAqB,GACrB,qBAAqB,GACrB,UAAU,CAAC;AA2Bf,4DAA4D;AAC5D,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,SAAS,KAAK,EAAE,EACzB,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,iBAAiB,GACtB,KAAK,EAAE,CAcT"}