@weasel-js/ui 1.5.0 → 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 (255) hide show
  1. package/dist/chunks/{ActionBar-DxGp3WuZ.js → ActionBar-GZdcfdQL.js} +1 -2
  2. package/dist/chunks/{ActionBar-DxGp3WuZ.js.map → ActionBar-GZdcfdQL.js.map} +1 -1
  3. package/dist/chunks/{ActionsBar-D1VFreoj.js → ActionsBar-Fhx_40iP.js} +2 -2
  4. package/dist/chunks/{ActionsBar-D1VFreoj.js.map → ActionsBar-Fhx_40iP.js.map} +1 -1
  5. package/dist/chunks/{BandEditor-BeWO56_w.js → BandEditor-D8I5Uun-.js} +93 -98
  6. package/dist/chunks/BandEditor-D8I5Uun-.js.map +1 -0
  7. package/dist/chunks/{Callout-BPIA2is-.js → Callout-cx5_CWcW.js} +1 -1
  8. package/dist/chunks/{Callout-BPIA2is-.js.map → Callout-cx5_CWcW.js.map} +1 -1
  9. package/dist/chunks/{Checkbox-D-pVpobU.js → Checkbox-BZZsPaVF.js} +1 -1
  10. package/dist/chunks/{Checkbox-D-pVpobU.js.map → Checkbox-BZZsPaVF.js.map} +1 -1
  11. package/dist/chunks/{ColorField-C20aRvCg.js → ColorField-YVf8irfr.js} +2 -2
  12. package/dist/chunks/{ColorField-C20aRvCg.js.map → ColorField-YVf8irfr.js.map} +1 -1
  13. package/dist/chunks/{ComboBox-CPES6Y1i.js → ComboBox-D57tNYDD.js} +2 -2
  14. package/dist/chunks/{ComboBox-CPES6Y1i.js.map → ComboBox-D57tNYDD.js.map} +1 -1
  15. package/dist/chunks/{CurveEditor-Cj0lLiyR.js → CurveEditor-BXiMoN9d.js} +175 -175
  16. package/dist/chunks/CurveEditor-BXiMoN9d.js.map +1 -0
  17. package/dist/chunks/DetentSlider-BWNSv07Z.js +72 -0
  18. package/dist/chunks/DetentSlider-BWNSv07Z.js.map +1 -0
  19. package/dist/chunks/{Dialog-CYBLjwbd.js → Dialog-DuOzsR2g.js} +1 -1
  20. package/dist/chunks/{Dialog-CYBLjwbd.js.map → Dialog-DuOzsR2g.js.map} +1 -1
  21. package/dist/chunks/{Disclosure-DiA6UKdM.js → Disclosure-9UgDzc7Z.js} +6 -6
  22. package/dist/chunks/{Disclosure-DiA6UKdM.js.map → Disclosure-9UgDzc7Z.js.map} +1 -1
  23. package/dist/chunks/{Field-dzlxOGxT.js → Field-BNqvUJfg.js} +1 -1
  24. package/dist/chunks/{Field-dzlxOGxT.js.map → Field-BNqvUJfg.js.map} +1 -1
  25. package/dist/chunks/{FontFamilySelect-DIJ4phXz.js → FontFamilySelect-CO19kyOO.js} +2 -2
  26. package/dist/chunks/{FontFamilySelect-DIJ4phXz.js.map → FontFamilySelect-CO19kyOO.js.map} +1 -1
  27. package/dist/chunks/{GradientEditor-dBprHbS0.js → GradientEditor-B_ymIr4Q.js} +74 -51
  28. package/dist/chunks/GradientEditor-B_ymIr4Q.js.map +1 -0
  29. package/dist/chunks/Icon-QhLhaGFe.js +498 -0
  30. package/dist/chunks/Icon-QhLhaGFe.js.map +1 -0
  31. package/dist/chunks/{InlineRange-CcfzY80y.js → InlineRange-DdIlfGqG.js} +2 -2
  32. package/dist/chunks/{InlineRange-CcfzY80y.js.map → InlineRange-DdIlfGqG.js.map} +1 -1
  33. package/dist/chunks/{Input-CoKOtyD0.js → Input-B9Vh7ASP.js} +2 -2
  34. package/dist/chunks/{Input-CoKOtyD0.js.map → Input-B9Vh7ASP.js.map} +1 -1
  35. package/dist/chunks/Jog-BYrxbAQU.js +81 -0
  36. package/dist/chunks/Jog-BYrxbAQU.js.map +1 -0
  37. package/dist/chunks/{Keycaps-DSeq6QWH.js → Keycaps-CGNQV2Pz.js} +5 -5
  38. package/dist/chunks/Keycaps-CGNQV2Pz.js.map +1 -0
  39. package/dist/chunks/{MenuButton-Do8fFUx1.js → MenuButton-DGE-0DP0.js} +1 -1
  40. package/dist/chunks/{MenuButton-Do8fFUx1.js.map → MenuButton-DGE-0DP0.js.map} +1 -1
  41. package/dist/chunks/MeshEditor-CHoGQ9K8.js +123 -0
  42. package/dist/chunks/MeshEditor-CHoGQ9K8.js.map +1 -0
  43. package/dist/chunks/{NumberField-BWzhqS19.js → NumberField-CQzS6TjF.js} +2 -2
  44. package/dist/chunks/{NumberField-BWzhqS19.js.map → NumberField-CQzS6TjF.js.map} +1 -1
  45. package/dist/chunks/{OptionsBar-D_Cd3ZYs.js → OptionsBar-BWaYG_OH.js} +2 -2
  46. package/dist/chunks/{OptionsBar-D_Cd3ZYs.js.map → OptionsBar-BWaYG_OH.js.map} +1 -1
  47. package/dist/chunks/PaintField-BVYMu3OI.js +62 -0
  48. package/dist/chunks/PaintField-BVYMu3OI.js.map +1 -0
  49. package/dist/chunks/PaintInput-BzAHCKro.js +131 -0
  50. package/dist/chunks/PaintInput-BzAHCKro.js.map +1 -0
  51. package/dist/chunks/{PatternPicker-Ba22Bf4L.js → PatternPicker-C4OryrYi.js} +2 -2
  52. package/dist/chunks/{PatternPicker-Ba22Bf4L.js.map → PatternPicker-C4OryrYi.js.map} +1 -1
  53. package/dist/chunks/{Plot2D-CVZwQpWJ.js → Plot2D-Czvyt_vG.js} +1 -1
  54. package/dist/chunks/{Plot2D-CVZwQpWJ.js.map → Plot2D-Czvyt_vG.js.map} +1 -1
  55. package/dist/chunks/{PointPlotter-anTHwz8f.js → PointPlotter-Xvb98GwB.js} +2 -2
  56. package/dist/chunks/{PointPlotter-anTHwz8f.js.map → PointPlotter-Xvb98GwB.js.map} +1 -1
  57. package/dist/chunks/{Powerline-BaHDJlcO.js → Powerline-B_EH-7Z-.js} +1 -1
  58. package/dist/chunks/{Powerline-BaHDJlcO.js.map → Powerline-B_EH-7Z-.js.map} +1 -1
  59. package/dist/chunks/Prefs-FuaJBs3t.js +308 -0
  60. package/dist/chunks/Prefs-FuaJBs3t.js.map +1 -0
  61. package/dist/chunks/Properties-B3KU69NI.js +874 -0
  62. package/dist/chunks/Properties-B3KU69NI.js.map +1 -0
  63. package/dist/chunks/{RadioGroup-B2_LUgDp.js → RadioGroup-C6xpdQNg.js} +2 -2
  64. package/dist/chunks/{RadioGroup-B2_LUgDp.js.map → RadioGroup-C6xpdQNg.js.map} +1 -1
  65. package/dist/chunks/{RangeSlider-S2R3zA8N.js → RangeSlider-CzgeGLVS.js} +1 -1
  66. package/dist/chunks/{RangeSlider-S2R3zA8N.js.map → RangeSlider-CzgeGLVS.js.map} +1 -1
  67. package/dist/chunks/{ResizeHandle-CiExUWP-.js → ResizeHandle-1Ey8AOij.js} +1 -1
  68. package/dist/chunks/{ResizeHandle-CiExUWP-.js.map → ResizeHandle-1Ey8AOij.js.map} +1 -1
  69. package/dist/chunks/{Select-CacMfs4v.js → Select-BMYVh10x.js} +20 -17
  70. package/dist/chunks/Select-BMYVh10x.js.map +1 -0
  71. package/dist/chunks/{SelectionPanel-CbyUT3Dh.js → SelectionPanel-DTpcQidl.js} +12 -12
  72. package/dist/chunks/{SelectionPanel-CbyUT3Dh.js.map → SelectionPanel-DTpcQidl.js.map} +1 -1
  73. package/dist/chunks/{Sidebar-Cqcfx3_s.js → Sidebar-BlUjn8lD.js} +1 -1
  74. package/dist/chunks/{Sidebar-Cqcfx3_s.js.map → Sidebar-BlUjn8lD.js.map} +1 -1
  75. package/dist/chunks/{SidebarPanel-BLzBo0S2.js → SidebarPanel-BqHfz6VK.js} +2 -2
  76. package/dist/chunks/{SidebarPanel-BLzBo0S2.js.map → SidebarPanel-BqHfz6VK.js.map} +1 -1
  77. package/dist/chunks/Slider-B2ywUZH6.js +381 -0
  78. package/dist/chunks/Slider-B2ywUZH6.js.map +1 -0
  79. package/dist/chunks/{StatusBar-B9NQ8atD.js → StatusBar-BFt7Yw5O.js} +1 -1
  80. package/dist/chunks/{StatusBar-B9NQ8atD.js.map → StatusBar-BFt7Yw5O.js.map} +1 -1
  81. package/dist/chunks/{Switch-C4NU-me1.js → Switch-Om3t3ASc.js} +1 -1
  82. package/dist/chunks/{Switch-C4NU-me1.js.map → Switch-Om3t3ASc.js.map} +1 -1
  83. package/dist/chunks/{Tabs-9sODd2Ut.js → Tabs-EAvYywil.js} +1 -1
  84. package/dist/chunks/{Tabs-9sODd2Ut.js.map → Tabs-EAvYywil.js.map} +1 -1
  85. package/dist/chunks/{Timeline-DOZgb1CG.js → Timeline-BEyKaBXl.js} +254 -253
  86. package/dist/chunks/Timeline-BEyKaBXl.js.map +1 -0
  87. package/dist/chunks/{Toast-LpN1WK8E.js → Toast-iqLDD_XZ.js} +1 -1
  88. package/dist/chunks/{Toast-LpN1WK8E.js.map → Toast-iqLDD_XZ.js.map} +1 -1
  89. package/dist/chunks/{ToggleBar-Bxwv6xvj.js → ToggleBar--9As2PWG.js} +8 -8
  90. package/dist/chunks/ToggleBar--9As2PWG.js.map +1 -0
  91. package/dist/chunks/TokenPanel-BL9hlq7x.js +374 -0
  92. package/dist/chunks/TokenPanel-BL9hlq7x.js.map +1 -0
  93. package/dist/chunks/{ToolButton-B81YjdwO.js → ToolButton-Dd-1T5aX.js} +1 -1
  94. package/dist/chunks/{ToolButton-B81YjdwO.js.map → ToolButton-Dd-1T5aX.js.map} +1 -1
  95. package/dist/chunks/{ToolGroup-D7juDOC_.js → ToolGroup-BBI-W-Gm.js} +1 -1
  96. package/dist/chunks/{ToolGroup-D7juDOC_.js.map → ToolGroup-BBI-W-Gm.js.map} +1 -1
  97. package/dist/chunks/{ToolPalette-BSzmRJS7.js → ToolPalette-BmTDDpmz.js} +3 -3
  98. package/dist/chunks/{ToolPalette-BSzmRJS7.js.map → ToolPalette-BmTDDpmz.js.map} +1 -1
  99. package/dist/chunks/{createKeyframeLayer-AL4jP0EX.js → createKeyframeLayer-7j7ukrSx.js} +198 -193
  100. package/dist/chunks/createKeyframeLayer-7j7ukrSx.js.map +1 -0
  101. package/dist/chunks/{icons-BV27dhKB.js → icons-Btrs-JD7.js} +35 -32
  102. package/dist/chunks/icons-Btrs-JD7.js.map +1 -0
  103. package/dist/chunks/range.module-DSsOIq1R.js +8 -0
  104. package/dist/chunks/range.module-DSsOIq1R.js.map +1 -0
  105. package/dist/chunks/{schema-CPdFNeP6.js → schema-MCVT1MLv.js} +1 -1
  106. package/dist/chunks/{schema-CPdFNeP6.js.map → schema-MCVT1MLv.js.map} +1 -1
  107. package/dist/chunks/segmentedControl.module-DmeUMYe3.js +11 -0
  108. package/dist/chunks/segmentedControl.module-DmeUMYe3.js.map +1 -0
  109. package/dist/chunks/snap-B0WQwetQ.js +13 -0
  110. package/dist/chunks/snap-B0WQwetQ.js.map +1 -0
  111. package/dist/components/ActionBar/ActionBar.d.ts.map +1 -1
  112. package/dist/components/ActionBar/index.js +1 -1
  113. package/dist/components/ActionsBar/index.js +1 -1
  114. package/dist/components/BandEditor/BandEditor.d.ts.map +1 -1
  115. package/dist/components/BandEditor/index.js +1 -1
  116. package/dist/components/BandEditor/scale.d.ts +1 -8
  117. package/dist/components/BandEditor/scale.d.ts.map +1 -1
  118. package/dist/components/Callout/index.js +1 -1
  119. package/dist/components/Checkbox/index.js +1 -1
  120. package/dist/components/ColorField/index.js +1 -1
  121. package/dist/components/ComboBox/index.js +1 -1
  122. package/dist/components/CurveEditor/createFunctionLayer.d.ts.map +1 -1
  123. package/dist/components/CurveEditor/createKeyframeLayer.d.ts.map +1 -1
  124. package/dist/components/CurveEditor/index.d.ts +1 -1
  125. package/dist/components/CurveEditor/index.d.ts.map +1 -1
  126. package/dist/components/CurveEditor/index.js +4 -3
  127. package/dist/components/DetentSlider/DetentSlider.d.ts +9 -10
  128. package/dist/components/DetentSlider/DetentSlider.d.ts.map +1 -1
  129. package/dist/components/DetentSlider/index.js +1 -1
  130. package/dist/components/Dialog/index.js +1 -1
  131. package/dist/components/Disclosure/index.js +1 -1
  132. package/dist/components/Field/index.js +1 -1
  133. package/dist/components/FontFamilySelect/index.js +1 -1
  134. package/dist/components/GradientEditor/GradientEditor.d.ts +3 -0
  135. package/dist/components/GradientEditor/GradientEditor.d.ts.map +1 -1
  136. package/dist/components/GradientEditor/index.js +1 -1
  137. package/dist/components/InlineRange/index.js +1 -1
  138. package/dist/components/Input/index.js +1 -1
  139. package/dist/components/Jog/Jog.d.ts +28 -0
  140. package/dist/components/Jog/Jog.d.ts.map +1 -0
  141. package/dist/components/Jog/index.d.ts +3 -0
  142. package/dist/components/Jog/index.d.ts.map +1 -0
  143. package/dist/components/Jog/index.js +2 -0
  144. package/dist/components/Keycaps/index.js +1 -1
  145. package/dist/components/MenuButton/index.js +1 -1
  146. package/dist/components/MeshEditor/MeshEditor.d.ts +30 -0
  147. package/dist/components/MeshEditor/MeshEditor.d.ts.map +1 -0
  148. package/dist/components/MeshEditor/index.d.ts +3 -0
  149. package/dist/components/MeshEditor/index.d.ts.map +1 -0
  150. package/dist/components/MeshEditor/index.js +2 -0
  151. package/dist/components/NumberField/index.js +1 -1
  152. package/dist/components/OptionsBar/index.js +1 -1
  153. package/dist/components/PaintField/PaintField.d.ts +36 -0
  154. package/dist/components/PaintField/PaintField.d.ts.map +1 -0
  155. package/dist/components/PaintField/index.d.ts +3 -0
  156. package/dist/components/PaintField/index.d.ts.map +1 -0
  157. package/dist/components/PaintField/index.js +2 -0
  158. package/dist/components/PaintInput/PaintInput.d.ts.map +1 -1
  159. package/dist/components/PaintInput/index.js +1 -1
  160. package/dist/components/PatternPicker/index.js +1 -1
  161. package/dist/components/Plot2D/index.js +1 -1
  162. package/dist/components/PointPlotter/index.js +1 -1
  163. package/dist/components/Powerline/index.js +1 -1
  164. package/dist/components/Prefs/PrefsForm.d.ts +4 -0
  165. package/dist/components/Prefs/PrefsForm.d.ts.map +1 -1
  166. package/dist/components/Prefs/index.js +2 -2
  167. package/dist/components/Properties/PinDot.d.ts +18 -0
  168. package/dist/components/Properties/PinDot.d.ts.map +1 -0
  169. package/dist/components/Properties/PropertyPanel.d.ts +93 -8
  170. package/dist/components/Properties/PropertyPanel.d.ts.map +1 -1
  171. package/dist/components/Properties/index.d.ts +4 -2
  172. package/dist/components/Properties/index.d.ts.map +1 -1
  173. package/dist/components/Properties/index.js +2 -2
  174. package/dist/components/Properties/storyLayouts.d.ts +1 -1
  175. package/dist/components/RadioGroup/index.js +1 -1
  176. package/dist/components/RangeSlider/index.js +1 -1
  177. package/dist/components/ResizeHandle/index.js +1 -1
  178. package/dist/components/Select/Select.d.ts +8 -0
  179. package/dist/components/Select/Select.d.ts.map +1 -1
  180. package/dist/components/Select/index.js +1 -1
  181. package/dist/components/SelectionPanel/index.js +1 -1
  182. package/dist/components/Sidebar/index.js +1 -1
  183. package/dist/components/SidebarPanel/index.js +1 -1
  184. package/dist/components/Slider/Slider.d.ts +19 -1
  185. package/dist/components/Slider/Slider.d.ts.map +1 -1
  186. package/dist/components/Slider/index.d.ts +1 -1
  187. package/dist/components/Slider/index.d.ts.map +1 -1
  188. package/dist/components/Slider/index.js +1 -1
  189. package/dist/components/StatusBar/index.js +1 -1
  190. package/dist/components/Switch/index.js +1 -1
  191. package/dist/components/Tabs/index.js +1 -1
  192. package/dist/components/Timeline/Lane.d.ts.map +1 -1
  193. package/dist/components/Timeline/index.js +2 -2
  194. package/dist/components/Timeline/keys.d.ts +1 -1
  195. package/dist/components/Timeline/keys.d.ts.map +1 -1
  196. package/dist/components/Toast/index.js +1 -1
  197. package/dist/components/ToggleBar/index.js +1 -1
  198. package/dist/components/TokenPanel/TokenPanel.d.ts +33 -0
  199. package/dist/components/TokenPanel/TokenPanel.d.ts.map +1 -0
  200. package/dist/components/TokenPanel/color.d.ts +7 -0
  201. package/dist/components/TokenPanel/color.d.ts.map +1 -0
  202. package/dist/components/TokenPanel/index.d.ts +5 -0
  203. package/dist/components/TokenPanel/index.d.ts.map +1 -0
  204. package/dist/components/TokenPanel/index.js +2 -0
  205. package/dist/components/TokenPanel/tokenTypes.d.ts +31 -0
  206. package/dist/components/TokenPanel/tokenTypes.d.ts.map +1 -0
  207. package/dist/components/ToolButton/index.js +1 -1
  208. package/dist/components/ToolGroup/index.js +1 -1
  209. package/dist/components/ToolPalette/index.js +1 -1
  210. package/dist/components/paintValue.d.ts +8 -0
  211. package/dist/components/paintValue.d.ts.map +1 -1
  212. package/dist/handles.d.ts +20 -0
  213. package/dist/handles.d.ts.map +1 -0
  214. package/dist/icons/Icon.d.ts +10 -2
  215. package/dist/icons/Icon.d.ts.map +1 -1
  216. package/dist/icons/index.d.ts +6 -3
  217. package/dist/icons/index.d.ts.map +1 -1
  218. package/dist/icons/paths.d.ts +270 -16
  219. package/dist/icons/paths.d.ts.map +1 -1
  220. package/dist/index.d.ts +7 -0
  221. package/dist/index.d.ts.map +1 -1
  222. package/dist/index.js +75 -70
  223. package/dist/index.js.map +1 -1
  224. package/dist/paintPreview.d.ts +13 -0
  225. package/dist/paintPreview.d.ts.map +1 -0
  226. package/dist/{components/CurveEditor/snap.d.ts → snap.d.ts} +2 -0
  227. package/dist/snap.d.ts.map +1 -0
  228. package/dist/style.css +1 -1
  229. package/package.json +8 -7
  230. package/dist/chunks/BandEditor-BeWO56_w.js.map +0 -1
  231. package/dist/chunks/CurveEditor-Cj0lLiyR.js.map +0 -1
  232. package/dist/chunks/DetentSlider-CYicfnKr.js +0 -83
  233. package/dist/chunks/DetentSlider-CYicfnKr.js.map +0 -1
  234. package/dist/chunks/GradientEditor-dBprHbS0.js.map +0 -1
  235. package/dist/chunks/Icon-DBXtBB1f.js +0 -101
  236. package/dist/chunks/Icon-DBXtBB1f.js.map +0 -1
  237. package/dist/chunks/Keycaps-DSeq6QWH.js.map +0 -1
  238. package/dist/chunks/PaintInput-DAevU7fd.js +0 -118
  239. package/dist/chunks/PaintInput-DAevU7fd.js.map +0 -1
  240. package/dist/chunks/Prefs-CzIn-hlq.js +0 -302
  241. package/dist/chunks/Prefs-CzIn-hlq.js.map +0 -1
  242. package/dist/chunks/Properties-DJaDEJkT.js +0 -765
  243. package/dist/chunks/Properties-DJaDEJkT.js.map +0 -1
  244. package/dist/chunks/Select-CacMfs4v.js.map +0 -1
  245. package/dist/chunks/Slider--DFRC_hc.js +0 -303
  246. package/dist/chunks/Slider--DFRC_hc.js.map +0 -1
  247. package/dist/chunks/Timeline-DOZgb1CG.js.map +0 -1
  248. package/dist/chunks/ToggleBar-Bxwv6xvj.js.map +0 -1
  249. package/dist/chunks/createKeyframeLayer-AL4jP0EX.js.map +0 -1
  250. package/dist/chunks/icons-BV27dhKB.js.map +0 -1
  251. package/dist/chunks/range.module-CvSfABmu.js +0 -8
  252. package/dist/chunks/range.module-CvSfABmu.js.map +0 -1
  253. package/dist/chunks/segmentedControl.module-BgvAPkSZ.js +0 -11
  254. package/dist/chunks/segmentedControl.module-BgvAPkSZ.js.map +0 -1
  255. package/dist/components/CurveEditor/snap.d.ts.map +0 -1
@@ -0,0 +1,874 @@
1
+ import { t as e } from "./dlog-CMYiRF3Q.js";
2
+ import { n as t, t as n } from "./Tooltip-BHre_vbI.js";
3
+ import { n as r } from "./Disclosure-9UgDzc7Z.js";
4
+ import { a as i, n as a, r as o } from "./number-f6PydOZK.js";
5
+ import { t as s } from "./range.module-DSsOIq1R.js";
6
+ import { t as c } from "./Select-BMYVh10x.js";
7
+ import { t as l } from "./Switch-Om3t3ASc.js";
8
+ import { n as u } from "./CurveEditor-BXiMoN9d.js";
9
+ import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
10
+ import { useCallback as m, useEffect as h, useId as g, useMemo as _, useRef as v, useState as y } from "react";
11
+ import { Focusable as b } from "react-aria-components";
12
+ var x = {
13
+ field: "_field_17u88_1",
14
+ plot: "_plot_17u88_12",
15
+ marks: "_marks_17u88_17",
16
+ actions: "_actions_17u88_23",
17
+ action: "_action_17u88_23"
18
+ };
19
+ //#endregion
20
+ //#region src/components/Properties/CurveField.tsx
21
+ function S({ values: t, min: n, max: r, step: i, width: a, height: o = 110, defaults: s, onChange: c, marks: l }) {
22
+ let d = _(() => {
23
+ let e = [];
24
+ for (let n = 0; n + 1 < t.length; n += 2) e.push({
25
+ x: t[n],
26
+ y: t[n + 1]
27
+ });
28
+ return e;
29
+ }, [t]), h = m((t) => {
30
+ let a = Array(t.length * 2);
31
+ for (let e = 0; e < t.length; e++) {
32
+ let o = Math.round(t[e].y / i) * i, s = Math.max(n, Math.min(r, o));
33
+ a[e * 2] = t[e].x, a[e * 2 + 1] = s;
34
+ }
35
+ e("curve-field", "handleChange", {
36
+ nLen: t.length,
37
+ flatLen: a.length,
38
+ sample: a.slice(0, 4)
39
+ }), c(a);
40
+ }, [
41
+ c,
42
+ n,
43
+ r,
44
+ i
45
+ ]), g = m(() => {
46
+ let e = [];
47
+ for (let n = 0; n + 1 < t.length; n += 2) e.push({
48
+ x: 1 - t[n],
49
+ y: t[n + 1]
50
+ });
51
+ e.sort((e, t) => e.x - t.x);
52
+ let n = [];
53
+ for (let t of e) n.push(t.x, t.y);
54
+ c(n);
55
+ }, [t, c]), v = m(() => {
56
+ let e = (n + r) / 2, i = Array(t.length);
57
+ for (let n = 0; n + 1 < t.length; n += 2) i[n] = t[n], i[n + 1] = 2 * e - t[n + 1];
58
+ c(i);
59
+ }, [
60
+ t,
61
+ n,
62
+ r,
63
+ c
64
+ ]);
65
+ return /* @__PURE__ */ p("div", {
66
+ className: x.field,
67
+ children: [/* @__PURE__ */ p("div", {
68
+ className: x.plot,
69
+ children: [/* @__PURE__ */ f(u, {
70
+ value: d,
71
+ onInput: h,
72
+ domain: "1d",
73
+ constrain: "function",
74
+ xRange: [0, 1],
75
+ yRange: [n, r],
76
+ width: a,
77
+ height: o,
78
+ endpoints: "pinned-x",
79
+ addPointMode: "click-curve",
80
+ minPoints: 2,
81
+ grid: {},
82
+ history: !1
83
+ }), l && l.length > 0 && /* @__PURE__ */ f("svg", {
84
+ className: x.marks,
85
+ width: a,
86
+ height: o,
87
+ viewBox: `0 0 ${a} ${o}`,
88
+ "aria-hidden": "true",
89
+ children: l.map((e) => {
90
+ let t = e.color ?? "#ffcc00";
91
+ if (e.kind === "band") {
92
+ let n = Math.max(0, Math.min(1, e.x[0])) * a, r = Math.max(0, Math.min(1, e.x[1])) * a, i = Math.min(n, r), s = Math.abs(r - n);
93
+ return /* @__PURE__ */ p("g", { children: [
94
+ /* @__PURE__ */ f("rect", {
95
+ x: i,
96
+ y: 0,
97
+ width: s,
98
+ height: o,
99
+ fill: t,
100
+ fillOpacity: .4
101
+ }),
102
+ /* @__PURE__ */ f("line", {
103
+ x1: i,
104
+ y1: 0,
105
+ x2: i,
106
+ y2: o,
107
+ stroke: t,
108
+ strokeOpacity: .85,
109
+ strokeWidth: 1
110
+ }),
111
+ /* @__PURE__ */ f("line", {
112
+ x1: i + s,
113
+ y1: 0,
114
+ x2: i + s,
115
+ y2: o,
116
+ stroke: t,
117
+ strokeOpacity: .85,
118
+ strokeWidth: 1
119
+ })
120
+ ] }, `band-${e.x[0]}-${e.x[1]}-${t}`);
121
+ }
122
+ let n = Math.max(0, Math.min(1, e.x)) * a;
123
+ return /* @__PURE__ */ f("line", {
124
+ x1: n,
125
+ y1: 0,
126
+ x2: n,
127
+ y2: o,
128
+ stroke: t,
129
+ strokeWidth: 1
130
+ }, `mark-${e.x}-${t}`);
131
+ })
132
+ })]
133
+ }), /* @__PURE__ */ p("div", {
134
+ className: x.actions,
135
+ children: [
136
+ /* @__PURE__ */ f("button", {
137
+ type: "button",
138
+ className: x.action,
139
+ onClick: g,
140
+ children: "Flip horizontally"
141
+ }),
142
+ /* @__PURE__ */ f("button", {
143
+ type: "button",
144
+ className: x.action,
145
+ onClick: v,
146
+ children: "Flip vertically"
147
+ }),
148
+ s && /* @__PURE__ */ f("button", {
149
+ type: "button",
150
+ className: x.action,
151
+ onClick: () => c([...s]),
152
+ children: "Reset"
153
+ })
154
+ ]
155
+ })]
156
+ });
157
+ }
158
+ var C = {
159
+ panel: "_panel_ksp0i_9",
160
+ list: "_list_ksp0i_3",
161
+ row: "_row_ksp0i_4",
162
+ group: "_group_ksp0i_4",
163
+ subpanel: "_subpanel_ksp0i_3",
164
+ card: "_card_ksp0i_14",
165
+ cardList: "_cardList_ksp0i_15",
166
+ panelTitle: "_panelTitle_ksp0i_42",
167
+ listPairs: "_listPairs_ksp0i_3",
168
+ rowColor: "_rowColor_ksp0i_4",
169
+ span: "_span_ksp0i_79",
170
+ listOneUp: "_listOneUp_ksp0i_87",
171
+ densityTight: "_densityTight_ksp0i_98",
172
+ densityNormal: "_densityNormal_ksp0i_110",
173
+ densityRoomy: "_densityRoomy_ksp0i_122",
174
+ alignStart: "_alignStart_ksp0i_144",
175
+ alignCenter: "_alignCenter_ksp0i_149",
176
+ alignEnd: "_alignEnd_ksp0i_154",
177
+ alignBaseline: "_alignBaseline_ksp0i_159",
178
+ rowLabel: "_rowLabel_ksp0i_186",
179
+ readout: "_readout_ksp0i_208",
180
+ help: "_help_ksp0i_220",
181
+ pin: "_pin_ksp0i_255",
182
+ pinAuto: "_pinAuto_ksp0i_288",
183
+ readoutInput: "_readoutInput_ksp0i_309",
184
+ readoutGroup: "_readoutGroup_ksp0i_352",
185
+ readoutUnit: "_readoutUnit_ksp0i_358",
186
+ fieldUnitGroup: "_fieldUnitGroup_ksp0i_365",
187
+ rowInline: "_rowInline_ksp0i_386",
188
+ toggle: "_toggle_ksp0i_404",
189
+ select: "_select_ksp0i_434",
190
+ alpha: "_alpha_ksp0i_565",
191
+ rowBlock: "_rowBlock_ksp0i_574",
192
+ rowCheckbox: "_rowCheckbox_ksp0i_594",
193
+ toggleButton: "_toggleButton_ksp0i_637",
194
+ toggleButtonSelected: "_toggleButtonSelected_ksp0i_663",
195
+ groupTitle: "_groupTitle_ksp0i_682",
196
+ groupHead: "_groupHead_ksp0i_704",
197
+ groupBody: "_groupBody_ksp0i_4",
198
+ groupPairs: "_groupPairs_ksp0i_728",
199
+ groupOneUp: "_groupOneUp_ksp0i_741",
200
+ subpanelTitle: "_subpanelTitle_ksp0i_764",
201
+ cardDragging: "_cardDragging_ksp0i_808",
202
+ cardExpanded: "_cardExpanded_ksp0i_812",
203
+ cardAccented: "_cardAccented_ksp0i_816",
204
+ cardHead: "_cardHead_ksp0i_831",
205
+ cardHandle: "_cardHandle_ksp0i_852",
206
+ cardIndexBadge: "_cardIndexBadge_ksp0i_865",
207
+ cardTitle: "_cardTitle_ksp0i_883",
208
+ cardPrimary: "_cardPrimary_ksp0i_893",
209
+ cardRemove: "_cardRemove_ksp0i_908",
210
+ cardBody: "_cardBody_ksp0i_937",
211
+ cardListWrap: "_cardListWrap_ksp0i_949",
212
+ cardDropHint: "_cardDropHint_ksp0i_953",
213
+ cardListEmpty: "_cardListEmpty_ksp0i_961",
214
+ rowAuto: "_rowAuto_ksp0i_978"
215
+ };
216
+ //#endregion
217
+ //#region src/components/Properties/PinDot.tsx
218
+ function w({ auto: e, label: t, onChange: n }) {
219
+ let r = typeof t == "string" ? t : "this setting", i = (t) => {
220
+ t.preventDefault(), t.stopPropagation(), n(!e);
221
+ };
222
+ return /* @__PURE__ */ f("span", {
223
+ role: "button",
224
+ tabIndex: 0,
225
+ className: e ? `${C.pin} ${C.pinAuto}` : C.pin,
226
+ "aria-pressed": !e,
227
+ "aria-label": `Pin ${r}`,
228
+ onClick: i,
229
+ onKeyDown: (e) => {
230
+ (e.key === "Enter" || e.key === " ") && i(e);
231
+ },
232
+ onMouseDown: (e) => e.stopPropagation()
233
+ });
234
+ }
235
+ //#endregion
236
+ //#region src/components/Properties/PropertyPanel.tsx
237
+ var T = {
238
+ tight: C.densityTight,
239
+ normal: C.densityNormal,
240
+ roomy: C.densityRoomy
241
+ }, E = {
242
+ start: C.alignStart,
243
+ center: C.alignCenter,
244
+ end: C.alignEnd,
245
+ baseline: C.alignBaseline
246
+ };
247
+ function D(e, { density: t, align: n }, r) {
248
+ return [
249
+ e,
250
+ t && T[t],
251
+ n && E[n],
252
+ r
253
+ ].filter(Boolean).join(" ");
254
+ }
255
+ function O({ title: e, children: t, className: n, density: r, align: i }) {
256
+ return /* @__PURE__ */ p("div", {
257
+ className: D(C.panel, {
258
+ density: r,
259
+ align: i
260
+ }, n),
261
+ children: [e != null && /* @__PURE__ */ f("h2", {
262
+ className: C.panelTitle,
263
+ children: e
264
+ }), t]
265
+ });
266
+ }
267
+ function k({ children: e, className: t, pack: n = "auto-color", density: r, align: i }) {
268
+ return /* @__PURE__ */ f("div", {
269
+ className: D(`${C.list}${n === "pairs" ? ` ${C.listPairs}` : n === "one-up" ? ` ${C.listOneUp}` : ""}`, {
270
+ density: r,
271
+ align: i
272
+ }, t),
273
+ children: e
274
+ });
275
+ }
276
+ function A({ children: e, className: t }) {
277
+ return /* @__PURE__ */ f("div", {
278
+ className: t ? `${C.span} ${t}` : C.span,
279
+ children: e
280
+ });
281
+ }
282
+ function j({ label: e, readout: t, description: n, variant: r = "default", layout: i, span: a, children: o, htmlFor: s, group: c, className: l, density: u, align: d, auto: m, onAutoChange: h, "data-auto-path": g }) {
283
+ let _ = r === "color" ? C.rowColor : r === "checkbox" ? C.rowCheckbox : "", v = r === "default" ? "block" : "inline", y = i ?? v, b = y === v ? "" : y === "inline" ? C.rowInline : C.rowBlock, x = D([
284
+ C.row,
285
+ _,
286
+ b,
287
+ a && C.span,
288
+ m && C.rowAuto
289
+ ].filter(Boolean).join(" "), {
290
+ density: u,
291
+ align: d
292
+ }, l), S = /* @__PURE__ */ p("span", {
293
+ className: C.rowLabel,
294
+ children: [
295
+ e,
296
+ n ? /* @__PURE__ */ f(M, {
297
+ label: e,
298
+ description: n
299
+ }) : null,
300
+ h ? /* @__PURE__ */ f(w, {
301
+ auto: m ?? !1,
302
+ label: e,
303
+ onChange: h
304
+ }) : null,
305
+ t != null && /* @__PURE__ */ f("em", {
306
+ className: C.readout,
307
+ children: t
308
+ })
309
+ ]
310
+ });
311
+ return c ? /* @__PURE__ */ p("div", {
312
+ className: x,
313
+ "data-auto-path": g,
314
+ children: [S, o]
315
+ }) : /* @__PURE__ */ p("label", {
316
+ className: x,
317
+ htmlFor: s,
318
+ "data-auto-path": g,
319
+ children: [S, o]
320
+ });
321
+ }
322
+ function M({ label: e, description: r }) {
323
+ let i = typeof e == "string" ? e : "this setting";
324
+ return /* @__PURE__ */ p(t, { children: [/* @__PURE__ */ f(b, { children: /* @__PURE__ */ f("button", {
325
+ type: "button",
326
+ className: C.help,
327
+ "aria-label": `About ${i}`,
328
+ onClick: (e) => {
329
+ e.preventDefault(), e.stopPropagation();
330
+ },
331
+ onMouseDown: (e) => e.stopPropagation(),
332
+ children: "ⓘ"
333
+ }) }), /* @__PURE__ */ f(n, { children: r })] });
334
+ }
335
+ function N(e) {
336
+ return typeof e == "string" ? e : void 0;
337
+ }
338
+ function P(e) {
339
+ let t = v(null), n = v(e);
340
+ return h(() => {
341
+ n.current = e;
342
+ }), h(() => {
343
+ let e = t.current;
344
+ if (!e) return;
345
+ let r = () => n.current?.(e.value);
346
+ return e.addEventListener("change", r), () => e.removeEventListener("change", r);
347
+ }, []), t;
348
+ }
349
+ function F({ label: t, value: n, min: r, max: i, step: c = 1, onChange: l, onInput: u, format: d, readout: p, notation: m, unit: h, layout: g, description: _, span: v, density: y, align: b, auto: x, onAutoChange: S, "data-auto-path": C }) {
350
+ let w = c >= 1 ? 0 : Math.min(6, Math.max(0, Math.ceil(-Math.log10(c)))), T = u ?? l, E = u ? l : void 0, D = P(E && ((e) => E(Number(e)))), O = d ?? (m === "compact" ? (e) => a(e, w) : (e) => o(e, {
351
+ useGrouping: !1,
352
+ minimumFractionDigits: w,
353
+ maximumFractionDigits: w
354
+ }));
355
+ return /* @__PURE__ */ f(j, {
356
+ span: v,
357
+ label: t,
358
+ readout: p ?? /* @__PURE__ */ f(I, {
359
+ name: N(t),
360
+ value: n,
361
+ min: r,
362
+ max: i,
363
+ format: O,
364
+ unit: h,
365
+ onCommit: (e) => {
366
+ T(e), E?.(e);
367
+ }
368
+ }),
369
+ layout: g,
370
+ description: _,
371
+ density: y,
372
+ align: b,
373
+ auto: x,
374
+ onAutoChange: S,
375
+ "data-auto-path": C,
376
+ children: /* @__PURE__ */ f("input", {
377
+ ref: D,
378
+ type: "range",
379
+ "aria-label": N(t),
380
+ className: s.range,
381
+ tabIndex: -1,
382
+ min: r,
383
+ max: i,
384
+ step: c,
385
+ value: n,
386
+ onChange: (n) => {
387
+ let r = Number(n.target.value);
388
+ e("property-panel", "slider", {
389
+ label: t,
390
+ value: r
391
+ }), T(r);
392
+ }
393
+ })
394
+ });
395
+ }
396
+ function I({ name: e, value: t, min: n, max: r, format: a, unit: s, onCommit: c }) {
397
+ let [l, u] = y(null), d = (e) => a ? a(e) : o(e, {
398
+ useGrouping: !1,
399
+ maximumFractionDigits: 20
400
+ }), m = (e) => {
401
+ let t = d(e);
402
+ return typeof t == "string" ? t : String(t);
403
+ }, h = l === null ? m(t) : l, g = { "--wzl-property-readout-fit": `${Math.max(m(n).length, m(r).length)}ch` }, _ = s == null ? null : typeof s == "string" ? /* @__PURE__ */ f("span", {
404
+ className: C.readoutUnit,
405
+ children: s
406
+ }) : s, v = () => {
407
+ if (l !== null) {
408
+ let e = i(l);
409
+ Number.isFinite(e) && c(Math.min(r, Math.max(n, e)));
410
+ }
411
+ u(null);
412
+ };
413
+ return /* @__PURE__ */ p("span", {
414
+ className: C.readoutGroup,
415
+ children: [/* @__PURE__ */ f("input", {
416
+ type: "text",
417
+ "aria-label": e,
418
+ inputMode: "decimal",
419
+ className: C.readoutInput,
420
+ style: g,
421
+ value: h,
422
+ onFocus: (e) => {
423
+ let n = d(t);
424
+ u(typeof n == "string" ? n : String(n)), e.currentTarget.select();
425
+ },
426
+ onChange: (e) => u(e.target.value.replace(/-/g, "−")),
427
+ onBlur: v,
428
+ onClick: (e) => {
429
+ e.preventDefault(), e.stopPropagation(), e.currentTarget.focus();
430
+ },
431
+ onMouseDown: (e) => e.stopPropagation(),
432
+ onKeyDown: (e) => {
433
+ e.key === "Enter" ? (v(), e.currentTarget.blur()) : e.key === "Escape" && (u(null), e.currentTarget.blur());
434
+ }
435
+ }), _]
436
+ });
437
+ }
438
+ function L({ label: e, readout: t, value: n, onChange: r, onInput: i, alpha: a, onAlphaChange: o, onAlphaInput: c, alphaDisabled: l, layout: u, description: d, span: m, density: h, align: _, auto: v, onAutoChange: y, "data-auto-path": b }) {
439
+ let x = a != null, S = i ?? r, w = P(i && ((e) => r(e))), T = c ?? o, E = P(c && o && ((e) => o(Number(e)))), D = g();
440
+ return /* @__PURE__ */ p(j, {
441
+ span: m,
442
+ label: e,
443
+ readout: t,
444
+ variant: "color",
445
+ layout: u,
446
+ description: d,
447
+ density: h,
448
+ align: _,
449
+ auto: v,
450
+ onAutoChange: y,
451
+ "data-auto-path": b,
452
+ htmlFor: D,
453
+ children: [/* @__PURE__ */ f("input", {
454
+ ref: w,
455
+ id: D,
456
+ type: "color",
457
+ "aria-label": N(e),
458
+ value: n,
459
+ onChange: (e) => S(e.target.value)
460
+ }), x && /* @__PURE__ */ f("input", {
461
+ ref: E,
462
+ type: "range",
463
+ "aria-label": typeof e == "string" ? `${e} opacity` : void 0,
464
+ className: `${s.range} ${s.alpha} ${C.alpha}`,
465
+ min: 0,
466
+ max: 1,
467
+ step: .01,
468
+ value: a,
469
+ disabled: l,
470
+ onChange: (e) => T?.(Number(e.target.value))
471
+ })]
472
+ });
473
+ }
474
+ function R({ label: e, readout: t, value: n, onChange: r, layout: i, span: a, description: o, density: s, align: c, auto: l, onAutoChange: u, "data-auto-path": d }) {
475
+ let p = g();
476
+ return /* @__PURE__ */ f(j, {
477
+ span: a,
478
+ label: e,
479
+ readout: t,
480
+ variant: "checkbox",
481
+ layout: i,
482
+ description: o,
483
+ density: s,
484
+ align: c,
485
+ auto: l,
486
+ onAutoChange: u,
487
+ "data-auto-path": d,
488
+ htmlFor: p,
489
+ children: /* @__PURE__ */ f("input", {
490
+ id: p,
491
+ type: "checkbox",
492
+ "aria-label": N(e),
493
+ checked: n === !0,
494
+ onChange: (e) => r(e.target.checked)
495
+ })
496
+ });
497
+ }
498
+ function z({ label: e, readout: t, value: n, onChange: r, layout: i, span: a, description: o, density: s, align: c, auto: u, onAutoChange: d, "data-auto-path": p }) {
499
+ return /* @__PURE__ */ f(j, {
500
+ group: !0,
501
+ span: a,
502
+ label: e,
503
+ readout: t,
504
+ variant: "checkbox",
505
+ layout: i,
506
+ description: o,
507
+ density: s,
508
+ align: c,
509
+ auto: u,
510
+ onAutoChange: d,
511
+ "data-auto-path": p,
512
+ children: /* @__PURE__ */ f(l, {
513
+ "aria-label": N(e),
514
+ isSelected: n === !0,
515
+ onChange: r
516
+ })
517
+ });
518
+ }
519
+ function B({ label: e, readout: t, value: n, onChange: r, placeholder: i, maxLength: a, layout: o, description: s, span: c, density: l, align: u, auto: d, onAutoChange: p, "data-auto-path": m }) {
520
+ let h = g();
521
+ return /* @__PURE__ */ f(j, {
522
+ span: c,
523
+ label: e,
524
+ readout: t,
525
+ layout: o,
526
+ description: s,
527
+ density: l,
528
+ align: u,
529
+ auto: d,
530
+ onAutoChange: p,
531
+ "data-auto-path": m,
532
+ htmlFor: h,
533
+ children: /* @__PURE__ */ f("input", {
534
+ id: h,
535
+ type: "text",
536
+ "aria-label": N(e),
537
+ value: n ?? "",
538
+ placeholder: i,
539
+ maxLength: a,
540
+ onChange: (e) => r(e.target.value)
541
+ })
542
+ });
543
+ }
544
+ function V({ label: e, readout: t, value: n, onChange: r, onInput: i, min: a, max: o, step: s, placeholder: c, unit: l, layout: u, description: d, span: m, density: h, align: _, auto: v, onAutoChange: y, "data-auto-path": b }) {
545
+ let x = i ?? r, S = P(i && ((e) => {
546
+ if (e === "") return;
547
+ let t = Number(e);
548
+ Number.isFinite(t) && r(t);
549
+ })), w = g(), T = /* @__PURE__ */ f("input", {
550
+ ref: S,
551
+ id: w,
552
+ type: "number",
553
+ "aria-label": N(e),
554
+ value: n ?? "",
555
+ min: a,
556
+ max: o,
557
+ step: s,
558
+ placeholder: c,
559
+ onChange: (e) => {
560
+ let t = e.target.value;
561
+ if (t === "") return;
562
+ let n = Number(t);
563
+ Number.isFinite(n) && x(n);
564
+ }
565
+ });
566
+ return /* @__PURE__ */ f(j, {
567
+ span: m,
568
+ label: e,
569
+ readout: t,
570
+ layout: u,
571
+ description: d,
572
+ density: h,
573
+ align: _,
574
+ auto: v,
575
+ onAutoChange: y,
576
+ "data-auto-path": b,
577
+ htmlFor: w,
578
+ children: l == null ? T : /* @__PURE__ */ p("span", {
579
+ className: C.fieldUnitGroup,
580
+ children: [T, typeof l == "string" ? /* @__PURE__ */ f("span", {
581
+ className: C.readoutUnit,
582
+ children: l
583
+ }) : l]
584
+ })
585
+ });
586
+ }
587
+ function H({ label: t, readout: n, value: r, options: i, onChange: a, placeholder: o = "Choose option…", layout: s, description: l, span: u, density: d, align: p, auto: m, onAutoChange: h, "data-auto-path": _ }) {
588
+ let v = i.some((e) => e.value === r), y = g();
589
+ return /* @__PURE__ */ f(j, {
590
+ span: u,
591
+ label: t,
592
+ readout: n,
593
+ layout: s,
594
+ description: l,
595
+ density: d,
596
+ align: p,
597
+ auto: m,
598
+ onAutoChange: h,
599
+ "data-auto-path": _,
600
+ htmlFor: y,
601
+ children: /* @__PURE__ */ f(c, {
602
+ className: C.select,
603
+ variant: "bare",
604
+ triggerId: y,
605
+ "aria-label": N(t),
606
+ placeholder: o,
607
+ selectedKey: v ? r : null,
608
+ options: i,
609
+ onSelectionChange: (n) => {
610
+ e("property-panel", "select", {
611
+ label: t,
612
+ value: n
613
+ }), a(n);
614
+ }
615
+ })
616
+ });
617
+ }
618
+ function U({ label: e, readout: t, value: n, options: r, onChange: i, layout: a, description: o, span: s, density: c, align: l, auto: u, onAutoChange: d, "data-auto-path": p }) {
619
+ return /* @__PURE__ */ f(j, {
620
+ group: !0,
621
+ span: s,
622
+ label: e,
623
+ readout: t,
624
+ layout: a,
625
+ description: o,
626
+ density: c,
627
+ align: l,
628
+ auto: u,
629
+ onAutoChange: d,
630
+ "data-auto-path": p,
631
+ children: /* @__PURE__ */ f("div", {
632
+ className: C.toggle,
633
+ role: "group",
634
+ "aria-label": N(e),
635
+ children: r.map((e) => {
636
+ let t = e.value === n;
637
+ return /* @__PURE__ */ f("button", {
638
+ type: "button",
639
+ "aria-pressed": t,
640
+ "aria-label": N(e.label),
641
+ className: t ? `${C.toggleButton} ${C.toggleButtonSelected}` : C.toggleButton,
642
+ onClick: () => i(e.value),
643
+ children: e.label
644
+ }, e.value);
645
+ })
646
+ })
647
+ });
648
+ }
649
+ //#endregion
650
+ //#region src/components/Properties/EffectCard.tsx
651
+ function W({ title: e, children: t, className: n, density: r, align: i }) {
652
+ return /* @__PURE__ */ p("div", {
653
+ className: D(C.subpanel, {
654
+ density: r,
655
+ align: i
656
+ }, n),
657
+ children: [/* @__PURE__ */ p("h4", {
658
+ className: C.subpanelTitle,
659
+ children: [/* @__PURE__ */ f("span", { children: e }), /* @__PURE__ */ f("hr", {})]
660
+ }), t]
661
+ });
662
+ }
663
+ function G({ title: e, primary: t, accent: n, index: r, expanded: i = !0, onToggleExpanded: a, onRemove: o, draggable: s, onPressHandle: c, onReleaseHandle: l, onDragStart: u, onDragEnd: d, onDragOver: m, onDragLeave: h, onDrop: g, dragging: _, children: v, className: y }) {
664
+ let b = `${i ? ` ${C.cardExpanded}` : ""}${_ ? ` ${C.cardDragging}` : ""}${n ? ` ${C.cardAccented}` : ""}`, x = `${C.card}${b}${y ? ` ${y}` : ""}`, S = n ? { "--wzl-effect-card-accent": n } : void 0, w = a ? {
665
+ role: "button",
666
+ tabIndex: 0,
667
+ onClick: a,
668
+ onKeyDown: (e) => {
669
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), a());
670
+ }
671
+ } : {};
672
+ return /* @__PURE__ */ p("div", {
673
+ className: x,
674
+ style: S,
675
+ draggable: s,
676
+ onDragStart: u,
677
+ onDragEnd: d,
678
+ onDragOver: m,
679
+ onDragLeave: h,
680
+ onDrop: g,
681
+ children: [/* @__PURE__ */ p("div", {
682
+ className: C.cardHead,
683
+ ...w,
684
+ children: [
685
+ r == null ? /* @__PURE__ */ f("span", {
686
+ className: C.cardHandle,
687
+ "aria-hidden": "true",
688
+ title: "Drag to reorder",
689
+ onMouseDown: c,
690
+ onMouseUp: l,
691
+ children: /* @__PURE__ */ f(K, {})
692
+ }) : /* @__PURE__ */ f("button", {
693
+ type: "button",
694
+ className: `${C.cardIndexBadge} ${C.cardHandle}`,
695
+ title: "Drag to reorder · click to toggle",
696
+ "aria-label": `Item ${r + 1} — drag to reorder, click to toggle`,
697
+ onMouseDown: c,
698
+ onMouseUp: l,
699
+ onClick: (e) => {
700
+ e.stopPropagation(), a?.();
701
+ },
702
+ children: r + 1
703
+ }),
704
+ /* @__PURE__ */ f("span", {
705
+ className: C.cardTitle,
706
+ children: e
707
+ }),
708
+ t != null && /* @__PURE__ */ f("span", {
709
+ className: C.cardPrimary,
710
+ children: t
711
+ }),
712
+ o && /* @__PURE__ */ f("button", {
713
+ type: "button",
714
+ className: C.cardRemove,
715
+ onClick: (e) => {
716
+ e.stopPropagation(), o();
717
+ },
718
+ title: "Remove",
719
+ "aria-label": "Remove",
720
+ children: "✕"
721
+ })
722
+ ]
723
+ }), i && /* @__PURE__ */ f("div", {
724
+ className: C.cardBody,
725
+ children: v
726
+ })]
727
+ });
728
+ }
729
+ function K() {
730
+ return /* @__PURE__ */ p("svg", {
731
+ width: "10",
732
+ height: "14",
733
+ viewBox: "0 0 10 14",
734
+ "aria-hidden": "true",
735
+ children: [
736
+ /* @__PURE__ */ f("circle", {
737
+ cx: "3",
738
+ cy: "3",
739
+ r: "1.3",
740
+ fill: "currentColor"
741
+ }),
742
+ /* @__PURE__ */ f("circle", {
743
+ cx: "7",
744
+ cy: "3",
745
+ r: "1.3",
746
+ fill: "currentColor"
747
+ }),
748
+ /* @__PURE__ */ f("circle", {
749
+ cx: "3",
750
+ cy: "7",
751
+ r: "1.3",
752
+ fill: "currentColor"
753
+ }),
754
+ /* @__PURE__ */ f("circle", {
755
+ cx: "7",
756
+ cy: "7",
757
+ r: "1.3",
758
+ fill: "currentColor"
759
+ }),
760
+ /* @__PURE__ */ f("circle", {
761
+ cx: "3",
762
+ cy: "11",
763
+ r: "1.3",
764
+ fill: "currentColor"
765
+ }),
766
+ /* @__PURE__ */ f("circle", {
767
+ cx: "7",
768
+ cy: "11",
769
+ r: "1.3",
770
+ fill: "currentColor"
771
+ })
772
+ ]
773
+ });
774
+ }
775
+ function q({ items: e, renderItem: t, onReorder: n, empty: r, defaultExpandedIds: i }) {
776
+ let [a, o] = y(() => new Set(i ?? [])), [s, c] = y(null), [l, u] = y(null), [m, h] = y(null);
777
+ return e.length === 0 ? /* @__PURE__ */ f(d, { children: r ?? /* @__PURE__ */ f("div", {
778
+ className: C.cardListEmpty,
779
+ children: "No items."
780
+ }) }) : /* @__PURE__ */ f("div", {
781
+ className: C.cardList,
782
+ children: e.map((e) => {
783
+ let r = a.has(e.id), i = s === e.id, d = l === e.id, g = m && m.id === e.id && m.position === "before", _ = m && m.id === e.id && m.position === "after", v = () => o((t) => {
784
+ let n = new Set(t);
785
+ return n.has(e.id) ? n.delete(e.id) : n.add(e.id), n;
786
+ });
787
+ return /* @__PURE__ */ p("div", {
788
+ className: C.cardListWrap,
789
+ children: [
790
+ g && /* @__PURE__ */ f("div", { className: C.cardDropHint }),
791
+ t(e, {
792
+ isExpanded: r,
793
+ isDragging: i,
794
+ toggleExpanded: v,
795
+ cardProps: {
796
+ expanded: r,
797
+ dragging: i,
798
+ draggable: d,
799
+ onToggleExpanded: v,
800
+ onPressHandle: () => u(e.id),
801
+ onReleaseHandle: () => u(null),
802
+ onDragStart: (t) => {
803
+ t.dataTransfer.effectAllowed = "move", t.dataTransfer.setData("text/plain", String(e.id)), c(e.id);
804
+ },
805
+ onDragEnd: () => {
806
+ c(null), u(null), h(null);
807
+ },
808
+ onDragOver: (t) => {
809
+ if (s === null || s === e.id) return;
810
+ t.preventDefault(), t.dataTransfer.dropEffect = "move";
811
+ let n = t.currentTarget.getBoundingClientRect(), r = t.clientY < n.top + n.height / 2 ? "before" : "after";
812
+ h({
813
+ id: e.id,
814
+ position: r
815
+ });
816
+ },
817
+ onDragLeave: () => {
818
+ h((t) => t && t.id === e.id ? null : t);
819
+ },
820
+ onDrop: (t) => {
821
+ if (t.preventDefault(), s === null || s === e.id) {
822
+ h(null);
823
+ return;
824
+ }
825
+ let r = t.currentTarget.getBoundingClientRect(), i = t.clientY < r.top + r.height / 2 ? "before" : "after";
826
+ n(s, e.id, i), h(null);
827
+ }
828
+ }
829
+ }),
830
+ _ && /* @__PURE__ */ f("div", { className: C.cardDropHint })
831
+ ]
832
+ }, String(e.id));
833
+ })
834
+ });
835
+ }
836
+ //#endregion
837
+ //#region src/components/Properties/PropertyGroup.tsx
838
+ function J({ title: e, hidden: t, collapsible: n, defaultCollapsed: i, collapsed: a, onCollapsedChange: o, children: s, className: c, pack: l = "auto-color", density: u, align: d }) {
839
+ let m = g(), [h, _] = y(i ?? !1);
840
+ if (t) return null;
841
+ let v = n ?? (i !== void 0 || a !== void 0 || o !== void 0), b = v && (a ?? h), x = () => {
842
+ a === void 0 && _(!b), o?.(!b);
843
+ }, S = D(`${C.group}${l === "pairs" ? ` ${C.groupPairs}` : l === "one-up" ? ` ${C.groupOneUp}` : ""}`, {
844
+ density: u,
845
+ align: d
846
+ }, c), w = /* @__PURE__ */ p("h3", {
847
+ className: C.groupTitle,
848
+ children: [
849
+ /* @__PURE__ */ f("hr", {}),
850
+ /* @__PURE__ */ f("span", { children: e }),
851
+ /* @__PURE__ */ f("hr", {})
852
+ ]
853
+ });
854
+ return /* @__PURE__ */ p("div", {
855
+ className: S,
856
+ children: [v ? /* @__PURE__ */ f(r, {
857
+ className: C.groupHead,
858
+ open: !b,
859
+ onToggle: x,
860
+ label: typeof e == "string" ? e : "this section",
861
+ controls: m,
862
+ children: w
863
+ }) : w, /* @__PURE__ */ f("div", {
864
+ id: m,
865
+ className: C.groupBody,
866
+ hidden: b,
867
+ children: s
868
+ })]
869
+ });
870
+ }
871
+ //#endregion
872
+ export { w as _, R as a, k as c, A as d, H as f, U as g, B as h, W as i, O as l, z as m, G as n, L as o, F as p, q as r, V as s, J as t, j as u, S as v };
873
+
874
+ //# sourceMappingURL=Properties-B3KU69NI.js.map