@weasel-js/ui 1.7.0 → 1.7.2

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 (416) hide show
  1. package/dist/chunks/ActionBar-xA73vzzF.js +64 -0
  2. package/dist/chunks/ActionBar-xA73vzzF.js.map +1 -0
  3. package/dist/chunks/{Badge-D2aD7xVL.js → Badge-jYQjrTKc.js} +235 -264
  4. package/dist/chunks/{Badge-D2aD7xVL.js.map → Badge-jYQjrTKc.js.map} +1 -1
  5. package/dist/chunks/{BandEditor-Dd0egAgE.js → BandEditor-B4jUAHQ8.js} +13 -13
  6. package/dist/chunks/BandEditor-B4jUAHQ8.js.map +1 -0
  7. package/dist/chunks/{Button-BIdXHQOx.js → Button-XB-T75YL.js} +2 -2
  8. package/dist/chunks/{Button-BIdXHQOx.js.map → Button-XB-T75YL.js.map} +1 -1
  9. package/dist/chunks/{ButtonBar-DIQTe5GQ.js → ButtonBar-CIMKPPRS.js} +7 -9
  10. package/dist/chunks/{ButtonBar-DIQTe5GQ.js.map → ButtonBar-CIMKPPRS.js.map} +1 -1
  11. package/dist/chunks/Callout-BUn0dP_S.js +115 -0
  12. package/dist/chunks/Callout-BUn0dP_S.js.map +1 -0
  13. package/dist/chunks/Checkbox-DFn-x0JO.js +37 -0
  14. package/dist/chunks/Checkbox-DFn-x0JO.js.map +1 -0
  15. package/dist/chunks/{CloseButton-C2J7wVfo.js → CloseButton-BmNmRVtb.js} +3 -3
  16. package/dist/chunks/{CloseButton-C2J7wVfo.js.map → CloseButton-BmNmRVtb.js.map} +1 -1
  17. package/dist/chunks/ColorField-BwlelY26.js +90 -0
  18. package/dist/chunks/ColorField-BwlelY26.js.map +1 -0
  19. package/dist/chunks/{ColorModeControl-BewxA0rX.js → ColorModeControl-DaVJ-SyX.js} +3 -3
  20. package/dist/chunks/{ColorModeControl-BewxA0rX.js.map → ColorModeControl-DaVJ-SyX.js.map} +1 -1
  21. package/dist/chunks/ComboBox-DKln_mOd.js +138 -0
  22. package/dist/chunks/ComboBox-DKln_mOd.js.map +1 -0
  23. package/dist/chunks/{CurveEditor-DUVjd25R.js → CurveEditor-0EE00D6s.js} +90 -87
  24. package/dist/chunks/CurveEditor-0EE00D6s.js.map +1 -0
  25. package/dist/chunks/{DataGrid-LZ2JgY2Y.js → DataGrid-CmHJe57v.js} +23 -18
  26. package/dist/chunks/DataGrid-CmHJe57v.js.map +1 -0
  27. package/dist/chunks/DetailList-BpU50XVe.js +54 -0
  28. package/dist/chunks/DetailList-BpU50XVe.js.map +1 -0
  29. package/dist/chunks/{DetentSlider-5uQPFucv.js → DetentSlider-DNTAk8xP.js} +2 -2
  30. package/dist/chunks/{DetentSlider-5uQPFucv.js.map → DetentSlider-DNTAk8xP.js.map} +1 -1
  31. package/dist/chunks/{Dialog-DGFutQ--.js → Dialog-DKfsk5VN.js} +3 -3
  32. package/dist/chunks/{Dialog-DGFutQ--.js.map → Dialog-DKfsk5VN.js.map} +1 -1
  33. package/dist/chunks/{DragGhost-B5_hb9W9.js → DragGhost-BeYDJyLZ.js} +2 -2
  34. package/dist/chunks/{DragGhost-B5_hb9W9.js.map → DragGhost-BeYDJyLZ.js.map} +1 -1
  35. package/dist/chunks/{FallthroughDiagram-BEHiM5IS.js → FallthroughDiagram-CS1IhQaU.js} +16 -16
  36. package/dist/chunks/FallthroughDiagram-CS1IhQaU.js.map +1 -0
  37. package/dist/chunks/Field-DiX_WByH.js +25 -0
  38. package/dist/chunks/Field-DiX_WByH.js.map +1 -0
  39. package/dist/chunks/FillStrokeSwatch-C4h3rUFM.js +112 -0
  40. package/dist/chunks/FillStrokeSwatch-C4h3rUFM.js.map +1 -0
  41. package/dist/chunks/{FontFamilySelect-DkRgNtag.js → FontFamilySelect-DEvMXyZd.js} +2 -2
  42. package/dist/chunks/FontFamilySelect-DEvMXyZd.js.map +1 -0
  43. package/dist/chunks/FontWeightSelect-BLQ_LMJF.js +49 -0
  44. package/dist/chunks/FontWeightSelect-BLQ_LMJF.js.map +1 -0
  45. package/dist/chunks/{GestureRoute-C_YGl7bJ.js → GestureRoute-BXESrHI0.js} +2 -2
  46. package/dist/chunks/{GestureRoute-C_YGl7bJ.js.map → GestureRoute-BXESrHI0.js.map} +1 -1
  47. package/dist/chunks/GradientEditor-DD2OjQtn.js +325 -0
  48. package/dist/chunks/GradientEditor-DD2OjQtn.js.map +1 -0
  49. package/dist/chunks/{Icon-CcVjdq2C.js → Icon--B1ME-6c.js} +3 -1
  50. package/dist/chunks/Icon--B1ME-6c.js.map +1 -0
  51. package/dist/chunks/{InlineRange-P01ABSzo.js → InlineRange-DPjIsJB3.js} +3 -3
  52. package/dist/chunks/InlineRange-DPjIsJB3.js.map +1 -0
  53. package/dist/chunks/{Input-CHmkfYaD.js → Input-D7SDKbST.js} +10 -15
  54. package/dist/chunks/Input-D7SDKbST.js.map +1 -0
  55. package/dist/chunks/{ItemList-Cm-HUWCi.js → ItemList-CRu9y7hL.js} +2 -2
  56. package/dist/chunks/ItemList-CRu9y7hL.js.map +1 -0
  57. package/dist/chunks/{Jog-DRmfrkCg.js → Jog-BrkzdGV2.js} +8 -8
  58. package/dist/chunks/Jog-BrkzdGV2.js.map +1 -0
  59. package/dist/chunks/{LayerList-wCI1EueM.js → LayerList-Bxj1N6bj.js} +151 -153
  60. package/dist/chunks/LayerList-Bxj1N6bj.js.map +1 -0
  61. package/dist/chunks/ListEditor-OQDzG4A5.js +72 -0
  62. package/dist/chunks/ListEditor-OQDzG4A5.js.map +1 -0
  63. package/dist/chunks/MenuButton-TAFg88Lp.js +75 -0
  64. package/dist/chunks/MenuButton-TAFg88Lp.js.map +1 -0
  65. package/dist/chunks/MeshEditor-DWpvg8H6.js +199 -0
  66. package/dist/chunks/MeshEditor-DWpvg8H6.js.map +1 -0
  67. package/dist/chunks/{NumberField-BnJxcazc.js → NumberField-DS0WSiin.js} +26 -23
  68. package/dist/chunks/NumberField-DS0WSiin.js.map +1 -0
  69. package/dist/chunks/{OptionsBar-ujxYidhj.js → OptionsBar-DeTAjVb7.js} +6 -8
  70. package/dist/chunks/{OptionsBar-ujxYidhj.js.map → OptionsBar-DeTAjVb7.js.map} +1 -1
  71. package/dist/chunks/PaintField-BdmQM53v.js +63 -0
  72. package/dist/chunks/PaintField-BdmQM53v.js.map +1 -0
  73. package/dist/chunks/PaintInput-DaQMeBsI.js +132 -0
  74. package/dist/chunks/PaintInput-DaQMeBsI.js.map +1 -0
  75. package/dist/chunks/PatternPicker-B3HcMZWg.js +135 -0
  76. package/dist/chunks/PatternPicker-B3HcMZWg.js.map +1 -0
  77. package/dist/chunks/{Plot2D-CTXHkL5p.js → Plot2D-BrvQS0dh.js} +7 -7
  78. package/dist/chunks/Plot2D-BrvQS0dh.js.map +1 -0
  79. package/dist/chunks/{PointPlotter-ldI4RrU1.js → PointPlotter-BBXpQ_QD.js} +2 -2
  80. package/dist/chunks/{PointPlotter-ldI4RrU1.js.map → PointPlotter-BBXpQ_QD.js.map} +1 -1
  81. package/dist/chunks/{Powerline-DNyH885r.js → Powerline-6wIFmDik.js} +2 -2
  82. package/dist/chunks/{Powerline-DNyH885r.js.map → Powerline-6wIFmDik.js.map} +1 -1
  83. package/dist/chunks/{Prefs-ByA-x51i.js → Prefs-C4MZ28SX.js} +118 -95
  84. package/dist/chunks/Prefs-C4MZ28SX.js.map +1 -0
  85. package/dist/chunks/{Properties-DmAeQ3mk.js → Properties-DseN56WI.js} +29 -29
  86. package/dist/chunks/{Properties-DmAeQ3mk.js.map → Properties-DseN56WI.js.map} +1 -1
  87. package/dist/chunks/PropertyField-BbNqK8xr.js +743 -0
  88. package/dist/chunks/PropertyField-BbNqK8xr.js.map +1 -0
  89. package/dist/chunks/{RadioGroup-Bh4-12e-.js → RadioGroup-B70_M-gT.js} +2 -2
  90. package/dist/chunks/{RadioGroup-Bh4-12e-.js.map → RadioGroup-B70_M-gT.js.map} +1 -1
  91. package/dist/chunks/{RangeSlider-SEGE-7VF.js → RangeSlider-DO5TZVk7.js} +8 -8
  92. package/dist/chunks/{RangeSlider-SEGE-7VF.js.map → RangeSlider-DO5TZVk7.js.map} +1 -1
  93. package/dist/chunks/RecentColorsProvider-DHcfk25u.js +84 -0
  94. package/dist/chunks/RecentColorsProvider-DHcfk25u.js.map +1 -0
  95. package/dist/chunks/ResizeHandle-CbAgCQOt.js +81 -0
  96. package/dist/chunks/ResizeHandle-CbAgCQOt.js.map +1 -0
  97. package/dist/chunks/Select-ouV8O6cp.js +236 -0
  98. package/dist/chunks/Select-ouV8O6cp.js.map +1 -0
  99. package/dist/chunks/{SelectionPanel-BaQnX4Bs.js → SelectionPanel-C3WzyaZV.js} +14 -13
  100. package/dist/chunks/{SelectionPanel-BaQnX4Bs.js.map → SelectionPanel-C3WzyaZV.js.map} +1 -1
  101. package/dist/chunks/{SidebarPanel-BblDEz4G.js → SidebarPanel-AXQ0jRDx.js} +2 -2
  102. package/dist/chunks/{SidebarPanel-BblDEz4G.js.map → SidebarPanel-AXQ0jRDx.js.map} +1 -1
  103. package/dist/chunks/{Slider-YofwGOI4.js → Slider-DSrlMEq8.js} +19 -19
  104. package/dist/chunks/Slider-DSrlMEq8.js.map +1 -0
  105. package/dist/chunks/{StatusBar-Ca9Dvhhq.js → StatusBar-BEOfOX0D.js} +6 -6
  106. package/dist/chunks/StatusBar-BEOfOX0D.js.map +1 -0
  107. package/dist/chunks/SwatchGrid-9ZPiDmxd.js +78 -0
  108. package/dist/chunks/SwatchGrid-9ZPiDmxd.js.map +1 -0
  109. package/dist/chunks/SwatchStrip-Bi9iPLoh.js +577 -0
  110. package/dist/chunks/SwatchStrip-Bi9iPLoh.js.map +1 -0
  111. package/dist/chunks/{ThemeSwitcher-BlsInAmR.js → ThemeSwitcher-DiBmMh_B.js} +3 -3
  112. package/dist/chunks/{ThemeSwitcher-BlsInAmR.js.map → ThemeSwitcher-DiBmMh_B.js.map} +1 -1
  113. package/dist/chunks/{Timeline-B39cwfMB.js → Timeline-sMCH2fah.js} +293 -280
  114. package/dist/chunks/Timeline-sMCH2fah.js.map +1 -0
  115. package/dist/chunks/Toast-C3ozq11V.js +170 -0
  116. package/dist/chunks/Toast-C3ozq11V.js.map +1 -0
  117. package/dist/chunks/{ToggleBar-BTYkBXU9.js → ToggleBar-Z2jZiguF.js} +6 -8
  118. package/dist/chunks/{ToggleBar-BTYkBXU9.js.map → ToggleBar-Z2jZiguF.js.map} +1 -1
  119. package/dist/chunks/{TokenPanel-CMDAOfYH.js → TokenPanel-WtKGY2Db.js} +32 -32
  120. package/dist/chunks/TokenPanel-WtKGY2Db.js.map +1 -0
  121. package/dist/chunks/{ToolButton-CAHBa08P.js → ToolButton-BURp4YIO.js} +7 -9
  122. package/dist/chunks/ToolButton-BURp4YIO.js.map +1 -0
  123. package/dist/chunks/{ToolOptionsBar-D_GCrBAN.js → ToolOptionsBar-CZTYPoC2.js} +3 -2
  124. package/dist/chunks/{ToolOptionsBar-D_GCrBAN.js.map → ToolOptionsBar-CZTYPoC2.js.map} +1 -1
  125. package/dist/chunks/{ToolPalette-OOWN51Xx.js → ToolPalette-DKDFWOX-.js} +7 -9
  126. package/dist/chunks/{ToolPalette-OOWN51Xx.js.map → ToolPalette-DKDFWOX-.js.map} +1 -1
  127. package/dist/chunks/{Tooltip-Clg2mhSt.js → Tooltip-C6eFCYxw.js} +2 -2
  128. package/dist/chunks/{Tooltip-Clg2mhSt.js.map → Tooltip-C6eFCYxw.js.map} +1 -1
  129. package/dist/chunks/Tree-Cc8lIzgM.js.map +1 -1
  130. package/dist/chunks/checkbox.module-DLQV9tMX.js +5 -0
  131. package/dist/chunks/checkbox.module-DLQV9tMX.js.map +1 -0
  132. package/dist/chunks/{createKeyframeLayer-DVl321_l.js → createKeyframeLayer-DSVf13Su.js} +194 -208
  133. package/dist/chunks/createKeyframeLayer-DSVf13Su.js.map +1 -0
  134. package/dist/chunks/field.module-B27pWv0i.js +15 -0
  135. package/dist/chunks/field.module-B27pWv0i.js.map +1 -0
  136. package/dist/chunks/formatShortcut-DRQrVThu.js.map +1 -1
  137. package/dist/chunks/handles-CqVANLtu.js +17 -0
  138. package/dist/chunks/handles-CqVANLtu.js.map +1 -0
  139. package/dist/chunks/{icons-BhcR1l64.js → icons-Dr2-r30x.js} +2 -2
  140. package/dist/chunks/icons-Dr2-r30x.js.map +1 -0
  141. package/dist/chunks/listbox.module-BcdVJMbm.js +8 -0
  142. package/dist/chunks/listbox.module-BcdVJMbm.js.map +1 -0
  143. package/dist/chunks/model-qsAFK7_0.js +386 -0
  144. package/dist/chunks/model-qsAFK7_0.js.map +1 -0
  145. package/dist/chunks/{portalHost-yTOVuCej.js → portalHost-CE70wLzo.js} +10 -6
  146. package/dist/chunks/portalHost-CE70wLzo.js.map +1 -0
  147. package/dist/chunks/prefField-BE_Ytr2H.js +229 -0
  148. package/dist/chunks/prefField-BE_Ytr2H.js.map +1 -0
  149. package/dist/chunks/{segmentTooltip-CStYHKzd.js → segmentTooltip-CGxCOWNz.js} +2 -2
  150. package/dist/chunks/{segmentTooltip-CStYHKzd.js.map → segmentTooltip-CGxCOWNz.js.map} +1 -1
  151. package/dist/chunks/segmentedControl.module-BzGXUL5G.js +11 -0
  152. package/dist/chunks/segmentedControl.module-BzGXUL5G.js.map +1 -0
  153. package/dist/chunks/useReorderDragList-CStYKjHl.js +133 -0
  154. package/dist/chunks/useReorderDragList-CStYKjHl.js.map +1 -0
  155. package/dist/chunks/useRovingTabIndex-D7u22Ia_.js +91 -0
  156. package/dist/chunks/useRovingTabIndex-D7u22Ia_.js.map +1 -0
  157. package/dist/components/ActionBar/ActionBar.d.ts.map +1 -1
  158. package/dist/components/ActionBar/index.js +1 -1
  159. package/dist/components/Badge/bases/ChamferedRect.d.ts.map +1 -1
  160. package/dist/components/Badge/index.js +1 -1
  161. package/dist/components/BandEditor/BandEditor.d.ts +1 -0
  162. package/dist/components/BandEditor/BandEditor.d.ts.map +1 -1
  163. package/dist/components/BandEditor/index.js +1 -1
  164. package/dist/components/Button/index.js +1 -1
  165. package/dist/components/ButtonBar/ButtonBar.d.ts.map +1 -1
  166. package/dist/components/ButtonBar/index.js +1 -1
  167. package/dist/components/Callout/Callout.d.ts.map +1 -1
  168. package/dist/components/Callout/index.js +1 -1
  169. package/dist/components/Checkbox/Checkbox.d.ts +28 -13
  170. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  171. package/dist/components/Checkbox/index.js +1 -1
  172. package/dist/components/CloseButton/index.js +1 -1
  173. package/dist/components/ColorField/ColorField.d.ts.map +1 -1
  174. package/dist/components/ColorField/OpacityRange.d.ts +18 -0
  175. package/dist/components/ColorField/OpacityRange.d.ts.map +1 -0
  176. package/dist/components/ColorField/index.js +1 -1
  177. package/dist/components/ColorModeControl/index.js +1 -1
  178. package/dist/components/ComboBox/ComboBox.d.ts +7 -0
  179. package/dist/components/ComboBox/ComboBox.d.ts.map +1 -1
  180. package/dist/components/ComboBox/index.js +1 -1
  181. package/dist/components/CurveEditor/CurveEditor.d.ts.map +1 -1
  182. package/dist/components/CurveEditor/LayeredCurveEditor.d.ts.map +1 -1
  183. package/dist/components/CurveEditor/index.js +2 -2
  184. package/dist/components/DataGrid/DataGrid.d.ts +3 -0
  185. package/dist/components/DataGrid/DataGrid.d.ts.map +1 -1
  186. package/dist/components/DataGrid/index.js +1 -1
  187. package/dist/components/DetailList/DetailList.d.ts +1 -1
  188. package/dist/components/DetailList/DetailList.d.ts.map +1 -1
  189. package/dist/components/DetailList/index.js +1 -1
  190. package/dist/components/DetentSlider/index.js +1 -1
  191. package/dist/components/Dialog/index.js +1 -1
  192. package/dist/components/DragGhost/index.js +1 -1
  193. package/dist/components/FallthroughDiagram/index.js +1 -1
  194. package/dist/components/Field/index.js +1 -1
  195. package/dist/components/FillStrokeSwatch/FillStrokeSwatch.d.ts +5 -2
  196. package/dist/components/FillStrokeSwatch/FillStrokeSwatch.d.ts.map +1 -1
  197. package/dist/components/FillStrokeSwatch/index.js +1 -1
  198. package/dist/components/FontFamilySelect/FontFamilySelect.d.ts +20 -0
  199. package/dist/components/FontFamilySelect/FontFamilySelect.d.ts.map +1 -1
  200. package/dist/components/FontFamilySelect/index.js +1 -1
  201. package/dist/components/FontWeightSelect/FontWeightSelect.d.ts +26 -0
  202. package/dist/components/FontWeightSelect/FontWeightSelect.d.ts.map +1 -0
  203. package/dist/components/FontWeightSelect/index.d.ts +3 -0
  204. package/dist/components/FontWeightSelect/index.d.ts.map +1 -0
  205. package/dist/components/FontWeightSelect/index.js +2 -0
  206. package/dist/components/GestureRoute/index.js +1 -1
  207. package/dist/components/GradientEditor/GradientHandles.d.ts +1 -8
  208. package/dist/components/GradientEditor/GradientHandles.d.ts.map +1 -1
  209. package/dist/components/GradientEditor/SceneGradientHandles.d.ts +7 -5
  210. package/dist/components/GradientEditor/SceneGradientHandles.d.ts.map +1 -1
  211. package/dist/components/GradientEditor/handleOverlay.d.ts +41 -0
  212. package/dist/components/GradientEditor/handleOverlay.d.ts.map +1 -0
  213. package/dist/components/GradientEditor/index.js +1 -1
  214. package/dist/components/InlineRange/index.js +1 -1
  215. package/dist/components/Input/Input.d.ts +1 -1
  216. package/dist/components/Input/Input.d.ts.map +1 -1
  217. package/dist/components/Input/index.js +1 -1
  218. package/dist/components/ItemList/ItemList.d.ts +32 -31
  219. package/dist/components/ItemList/ItemList.d.ts.map +1 -1
  220. package/dist/components/ItemList/index.js +1 -1
  221. package/dist/components/Jog/index.js +1 -1
  222. package/dist/components/LayerList/LayerList.d.ts.map +1 -1
  223. package/dist/components/LayerList/index.js +1 -1
  224. package/dist/components/ListEditor/ListEditor.d.ts.map +1 -1
  225. package/dist/components/ListEditor/index.js +1 -1
  226. package/dist/components/MenuButton/MenuButton.d.ts.map +1 -1
  227. package/dist/components/MenuButton/index.js +1 -1
  228. package/dist/components/MeshEditor/MeshEditor.d.ts +4 -3
  229. package/dist/components/MeshEditor/MeshEditor.d.ts.map +1 -1
  230. package/dist/components/MeshEditor/MeshHandles.d.ts +38 -0
  231. package/dist/components/MeshEditor/MeshHandles.d.ts.map +1 -0
  232. package/dist/components/MeshEditor/index.d.ts +2 -0
  233. package/dist/components/MeshEditor/index.d.ts.map +1 -1
  234. package/dist/components/MeshEditor/index.js +2 -2
  235. package/dist/components/NumberField/NumberField.d.ts +1 -1
  236. package/dist/components/NumberField/NumberField.d.ts.map +1 -1
  237. package/dist/components/NumberField/index.js +1 -1
  238. package/dist/components/OptionsBar/OptionsBar.d.ts.map +1 -1
  239. package/dist/components/OptionsBar/index.js +1 -1
  240. package/dist/components/PaintField/PaintField.d.ts.map +1 -1
  241. package/dist/components/PaintField/index.js +1 -1
  242. package/dist/components/PaintInput/PaintInput.d.ts.map +1 -1
  243. package/dist/components/PaintInput/index.js +1 -1
  244. package/dist/components/PatternPicker/PatternPicker.d.ts +6 -5
  245. package/dist/components/PatternPicker/PatternPicker.d.ts.map +1 -1
  246. package/dist/components/PatternPicker/index.js +1 -1
  247. package/dist/components/Plot2D/index.js +1 -1
  248. package/dist/components/PointPlotter/index.js +1 -1
  249. package/dist/components/Powerline/index.js +2 -2
  250. package/dist/components/Prefs/PrefsForm.d.ts +22 -0
  251. package/dist/components/Prefs/PrefsForm.d.ts.map +1 -1
  252. package/dist/components/Prefs/PrefsRail.d.ts +3 -2
  253. package/dist/components/Prefs/PrefsRail.d.ts.map +1 -1
  254. package/dist/components/Prefs/PrefsRow.d.ts +4 -0
  255. package/dist/components/Prefs/PrefsRow.d.ts.map +1 -1
  256. package/dist/components/Prefs/index.js +2 -2
  257. package/dist/components/Prefs/prefField.d.ts +13 -0
  258. package/dist/components/Prefs/prefField.d.ts.map +1 -1
  259. package/dist/components/Properties/PropertyField.d.ts +13 -2
  260. package/dist/components/Properties/PropertyField.d.ts.map +1 -1
  261. package/dist/components/Properties/PropertyPanel.d.ts +18 -1
  262. package/dist/components/Properties/PropertyPanel.d.ts.map +1 -1
  263. package/dist/components/Properties/index.d.ts +2 -2
  264. package/dist/components/Properties/index.d.ts.map +1 -1
  265. package/dist/components/Properties/index.js +3 -3
  266. package/dist/components/RadioGroup/index.js +1 -1
  267. package/dist/components/RangeSlider/index.js +1 -1
  268. package/dist/components/RecentColors/RecentColorsProvider.d.ts +24 -0
  269. package/dist/components/RecentColors/RecentColorsProvider.d.ts.map +1 -0
  270. package/dist/components/RecentColors/index.d.ts +5 -0
  271. package/dist/components/RecentColors/index.d.ts.map +1 -0
  272. package/dist/components/RecentColors/index.js +2 -0
  273. package/dist/components/RecentColors/recentColors.d.ts +39 -0
  274. package/dist/components/RecentColors/recentColors.d.ts.map +1 -0
  275. package/dist/components/ResizeHandle/ResizeHandle.d.ts.map +1 -1
  276. package/dist/components/ResizeHandle/index.js +1 -1
  277. package/dist/components/Select/Select.d.ts +6 -2
  278. package/dist/components/Select/Select.d.ts.map +1 -1
  279. package/dist/components/Select/index.js +1 -1
  280. package/dist/components/SelectionPanel/index.js +2 -2
  281. package/dist/components/SelectionPanel/renderLeaf.d.ts +12 -2
  282. package/dist/components/SelectionPanel/renderLeaf.d.ts.map +1 -1
  283. package/dist/components/SidebarPanel/index.js +1 -1
  284. package/dist/components/Slider/index.js +1 -1
  285. package/dist/components/StatusBar/StatusBar.d.ts +1 -1
  286. package/dist/components/StatusBar/index.js +1 -1
  287. package/dist/components/SwatchGrid/SwatchGrid.d.ts.map +1 -1
  288. package/dist/components/SwatchGrid/index.js +1 -1
  289. package/dist/components/SwatchStrip/SwatchStrip.d.ts +44 -0
  290. package/dist/components/SwatchStrip/SwatchStrip.d.ts.map +1 -0
  291. package/dist/components/SwatchStrip/index.d.ts +5 -0
  292. package/dist/components/SwatchStrip/index.d.ts.map +1 -0
  293. package/dist/components/SwatchStrip/index.js +2 -0
  294. package/dist/components/SwatchStrip/palettes.d.ts +21 -0
  295. package/dist/components/SwatchStrip/palettes.d.ts.map +1 -0
  296. package/dist/components/ThemeSwitcher/index.js +1 -1
  297. package/dist/components/Timeline/AnimatedTimeline.d.ts +1 -0
  298. package/dist/components/Timeline/AnimatedTimeline.d.ts.map +1 -1
  299. package/dist/components/Timeline/EasingPicker.d.ts +3 -0
  300. package/dist/components/Timeline/EasingPicker.d.ts.map +1 -1
  301. package/dist/components/Timeline/LaneGraph.d.ts +1 -1
  302. package/dist/components/Timeline/LaneGraph.d.ts.map +1 -1
  303. package/dist/components/Timeline/Timeline.d.ts +10 -1
  304. package/dist/components/Timeline/Timeline.d.ts.map +1 -1
  305. package/dist/components/Timeline/Transport.d.ts +6 -0
  306. package/dist/components/Timeline/Transport.d.ts.map +1 -1
  307. package/dist/components/Timeline/index.js +1 -1
  308. package/dist/components/Timeline/keys.d.ts +1 -0
  309. package/dist/components/Timeline/keys.d.ts.map +1 -1
  310. package/dist/components/Toast/Toast.d.ts +12 -3
  311. package/dist/components/Toast/Toast.d.ts.map +1 -1
  312. package/dist/components/Toast/index.js +1 -1
  313. package/dist/components/ToggleBar/ToggleBar.d.ts.map +1 -1
  314. package/dist/components/ToggleBar/index.js +1 -1
  315. package/dist/components/TokenPanel/index.js +1 -1
  316. package/dist/components/TokenPanel/tokenTypes.d.ts +1 -0
  317. package/dist/components/TokenPanel/tokenTypes.d.ts.map +1 -1
  318. package/dist/components/ToolButton/ToolButton.d.ts +1 -10
  319. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  320. package/dist/components/ToolButton/index.js +1 -1
  321. package/dist/components/ToolOptionsBar/index.js +1 -1
  322. package/dist/components/ToolPalette/ToolPalette.d.ts.map +1 -1
  323. package/dist/components/ToolPalette/formatShortcut.d.ts +2 -0
  324. package/dist/components/ToolPalette/formatShortcut.d.ts.map +1 -1
  325. package/dist/components/ToolPalette/index.js +1 -1
  326. package/dist/components/Tooltip/index.js +1 -1
  327. package/dist/components/Tree/Tree.d.ts +27 -26
  328. package/dist/components/Tree/Tree.d.ts.map +1 -1
  329. package/dist/icons/index.d.ts +51 -0
  330. package/dist/icons/index.d.ts.map +1 -1
  331. package/dist/icons/paths.d.ts +2 -0
  332. package/dist/icons/paths.d.ts.map +1 -1
  333. package/dist/index.d.ts +4 -1
  334. package/dist/index.d.ts.map +1 -1
  335. package/dist/index.js +98 -95
  336. package/dist/index.js.map +1 -1
  337. package/dist/overlays/portalHost.d.ts +6 -0
  338. package/dist/overlays/portalHost.d.ts.map +1 -1
  339. package/dist/style.css +1 -1
  340. package/dist/useAsyncOptions.d.ts.map +1 -1
  341. package/dist/useReorderDragList.d.ts.map +1 -1
  342. package/dist/useRovingTabIndex.d.ts +40 -39
  343. package/dist/useRovingTabIndex.d.ts.map +1 -1
  344. package/package.json +9 -9
  345. package/dist/chunks/ActionBar-DCq16yFA.js +0 -57
  346. package/dist/chunks/ActionBar-DCq16yFA.js.map +0 -1
  347. package/dist/chunks/BandEditor-Dd0egAgE.js.map +0 -1
  348. package/dist/chunks/Callout-ndW5_Bqx.js +0 -116
  349. package/dist/chunks/Callout-ndW5_Bqx.js.map +0 -1
  350. package/dist/chunks/Checkbox-DHXTUHO9.js +0 -47
  351. package/dist/chunks/Checkbox-DHXTUHO9.js.map +0 -1
  352. package/dist/chunks/ColorField-Yz_BkcCT.js +0 -69
  353. package/dist/chunks/ColorField-Yz_BkcCT.js.map +0 -1
  354. package/dist/chunks/ComboBox-B34H76CW.js +0 -138
  355. package/dist/chunks/ComboBox-B34H76CW.js.map +0 -1
  356. package/dist/chunks/CurveEditor-DUVjd25R.js.map +0 -1
  357. package/dist/chunks/DataGrid-LZ2JgY2Y.js.map +0 -1
  358. package/dist/chunks/DetailList-BKomDzg5.js +0 -52
  359. package/dist/chunks/DetailList-BKomDzg5.js.map +0 -1
  360. package/dist/chunks/FallthroughDiagram-BEHiM5IS.js.map +0 -1
  361. package/dist/chunks/Field--onYxXTF.js +0 -32
  362. package/dist/chunks/Field--onYxXTF.js.map +0 -1
  363. package/dist/chunks/FillStrokeSwatch-DNb0KXPk.js +0 -111
  364. package/dist/chunks/FillStrokeSwatch-DNb0KXPk.js.map +0 -1
  365. package/dist/chunks/FontFamilySelect-DkRgNtag.js.map +0 -1
  366. package/dist/chunks/GradientEditor-b7v4Ph3i.js +0 -363
  367. package/dist/chunks/GradientEditor-b7v4Ph3i.js.map +0 -1
  368. package/dist/chunks/Icon-CcVjdq2C.js.map +0 -1
  369. package/dist/chunks/InlineRange-P01ABSzo.js.map +0 -1
  370. package/dist/chunks/Input-CHmkfYaD.js.map +0 -1
  371. package/dist/chunks/ItemList-Cm-HUWCi.js.map +0 -1
  372. package/dist/chunks/Jog-DRmfrkCg.js.map +0 -1
  373. package/dist/chunks/LayerList-wCI1EueM.js.map +0 -1
  374. package/dist/chunks/ListEditor-BeA60TAA.js +0 -71
  375. package/dist/chunks/ListEditor-BeA60TAA.js.map +0 -1
  376. package/dist/chunks/MenuButton-BSqEChJE.js +0 -70
  377. package/dist/chunks/MenuButton-BSqEChJE.js.map +0 -1
  378. package/dist/chunks/MeshEditor-D1HLZcAh.js +0 -87
  379. package/dist/chunks/MeshEditor-D1HLZcAh.js.map +0 -1
  380. package/dist/chunks/NumberField-BnJxcazc.js.map +0 -1
  381. package/dist/chunks/PaintField-DadOELMg.js +0 -62
  382. package/dist/chunks/PaintField-DadOELMg.js.map +0 -1
  383. package/dist/chunks/PaintInput-v8Y7MDbH.js +0 -121
  384. package/dist/chunks/PaintInput-v8Y7MDbH.js.map +0 -1
  385. package/dist/chunks/PatternPicker-R_EQtw2Q.js +0 -93
  386. package/dist/chunks/PatternPicker-R_EQtw2Q.js.map +0 -1
  387. package/dist/chunks/Plot2D-CTXHkL5p.js.map +0 -1
  388. package/dist/chunks/Prefs-ByA-x51i.js.map +0 -1
  389. package/dist/chunks/PropertyField-DfIJJ5GS.js +0 -673
  390. package/dist/chunks/PropertyField-DfIJJ5GS.js.map +0 -1
  391. package/dist/chunks/ResizeHandle-rKVWyeTG.js +0 -79
  392. package/dist/chunks/ResizeHandle-rKVWyeTG.js.map +0 -1
  393. package/dist/chunks/Select-ClmKtyWg.js +0 -229
  394. package/dist/chunks/Select-ClmKtyWg.js.map +0 -1
  395. package/dist/chunks/Slider-YofwGOI4.js.map +0 -1
  396. package/dist/chunks/StatusBar-Ca9Dvhhq.js.map +0 -1
  397. package/dist/chunks/SwatchGrid-BYvA8Bmh.js +0 -73
  398. package/dist/chunks/SwatchGrid-BYvA8Bmh.js.map +0 -1
  399. package/dist/chunks/Timeline-B39cwfMB.js.map +0 -1
  400. package/dist/chunks/Toast-BF9GE0HC.js +0 -126
  401. package/dist/chunks/Toast-BF9GE0HC.js.map +0 -1
  402. package/dist/chunks/TokenPanel-CMDAOfYH.js.map +0 -1
  403. package/dist/chunks/ToolButton-CAHBa08P.js.map +0 -1
  404. package/dist/chunks/createKeyframeLayer-DVl321_l.js.map +0 -1
  405. package/dist/chunks/icons-BhcR1l64.js.map +0 -1
  406. package/dist/chunks/model-BaF65rnX.js +0 -365
  407. package/dist/chunks/model-BaF65rnX.js.map +0 -1
  408. package/dist/chunks/portalHost-yTOVuCej.js.map +0 -1
  409. package/dist/chunks/prefField-BopW9bjx.js +0 -201
  410. package/dist/chunks/prefField-BopW9bjx.js.map +0 -1
  411. package/dist/chunks/segmentedControl.module-D6SzYJD7.js +0 -11
  412. package/dist/chunks/segmentedControl.module-D6SzYJD7.js.map +0 -1
  413. package/dist/chunks/useReorderDragList-FCMoFIzH.js +0 -131
  414. package/dist/chunks/useReorderDragList-FCMoFIzH.js.map +0 -1
  415. package/dist/chunks/useRovingTabIndex-Bp_hYm_h.js +0 -65
  416. package/dist/chunks/useRovingTabIndex-Bp_hYm_h.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,93 +1,97 @@
1
1
  import { n as e, t } from "./chunks/dlog-F0I8KsIW.js";
2
- import { a as n, i as r, n as i, r as a, t as o } from "./chunks/Icon-CcVjdq2C.js";
3
- import { $ as s, A as c, At as l, B as u, C as d, Ct as f, D as p, Dt as m, E as ee, Et as te, F as ne, Ft as re, G as ie, H as ae, I as oe, It as se, J as ce, K as le, L as ue, M as de, Mt as h, N as g, Nt as _, O as v, Ot as y, P as b, Pt as x, Q as S, R as C, S as w, St as T, T as E, Tt as D, U as O, V as k, W as A, X as j, Y as M, Z as N, _ as P, _t as F, a as I, at as L, b as R, bt as z, c as B, ct as V, d as H, dt as fe, et as pe, f as me, ft as he, g as ge, gt as _e, h as ve, ht as ye, i as be, it as xe, j as Se, jt as Ce, k as we, kt as Te, l as Ee, lt as De, m as Oe, mt as ke, n as Ae, nt as je, o as Me, ot as Ne, p as Pe, pt as Fe, q as Ie, r as Le, rt as Re, s as ze, st as Be, t as Ve, tt as He, u as Ue, ut as We, v as Ge, vt as Ke, w as qe, wt as Je, x as Ye, xt as Xe, y as Ze, yt as Qe, z as $e } from "./chunks/icons-BhcR1l64.js";
2
+ import { a as n, i as r, n as i, r as a, t as o } from "./chunks/Icon--B1ME-6c.js";
3
+ import { $ as s, A as c, At as l, B as u, C as d, Ct as f, D as p, Dt as m, E as ee, Et as te, F as ne, Ft as re, G as ie, H as ae, I as oe, It as se, J as ce, K as le, L as ue, M as de, Mt as h, N as g, Nt as _, O as v, Ot as y, P as b, Pt as x, Q as S, R as C, S as w, St as T, T as E, Tt as D, U as O, V as k, W as A, X as j, Y as M, Z as N, _ as P, _t as F, a as I, at as L, b as R, bt as z, c as B, ct as V, d as H, dt as fe, et as pe, f as me, ft as he, g as ge, gt as _e, h as ve, ht as ye, i as be, it as xe, j as Se, jt as Ce, k as we, kt as Te, l as Ee, lt as De, m as Oe, mt as ke, n as Ae, nt as je, o as Me, ot as Ne, p as Pe, pt as Fe, q as Ie, r as Le, rt as Re, s as ze, st as Be, t as Ve, tt as He, u as Ue, ut as We, v as Ge, vt as Ke, w as qe, wt as Je, x as Ye, xt as Xe, y as Ze, yt as Qe, z as $e } from "./chunks/icons-Dr2-r30x.js";
4
4
  import { n as et, r as tt } from "./chunks/paintValue-BpaGPjV3.js";
5
- import { n as nt, r as rt, t as it } from "./chunks/portalHost-yTOVuCej.js";
6
- import { n as at, r as ot, t as st } from "./chunks/Tooltip-Clg2mhSt.js";
7
- import { t as ct } from "./chunks/keyGlyph-C0qTakG-.js";
8
- import { n as lt, t as ut } from "./chunks/formatShortcut-DRQrVThu.js";
9
- import { t as dt } from "./chunks/ActionBar-DCq16yFA.js";
10
- import { n as ft, t as pt } from "./chunks/Badge-D2aD7xVL.js";
11
- import { t as mt } from "./chunks/stance-BFQpS_fL.js";
12
- import { t as ht } from "./chunks/Badge-CTc9Lkwn.js";
13
- import { t as gt } from "./chunks/Button-BIdXHQOx.js";
14
- import { t as _t } from "./chunks/CloseButton-C2J7wVfo.js";
15
- import { t as vt } from "./chunks/Code-AsKpgnv6.js";
16
- import { t as yt } from "./chunks/useReorderDragList-FCMoFIzH.js";
17
- import { n as bt, r as xt, t as St } from "./chunks/Disclosure-Ch2KxYuB.js";
18
- import { t as Ct } from "./chunks/DataGrid-LZ2JgY2Y.js";
19
- import { n as wt, t as Tt } from "./chunks/DetailList-BKomDzg5.js";
20
- import { t as Et } from "./chunks/DragGhost-B5_hb9W9.js";
21
- import { t as Dt } from "./chunks/DragGrip-AoIZXfZb.js";
22
- import { a as Ot, i as kt, n as At, o as jt, r as Mt, s as Nt, t as Pt } from "./chunks/Keycaps-C-FJyG8k.js";
23
- import { a as Ft, c as It, i as Lt, n as Rt, o as zt, r as Bt, s as Vt, t as Ht } from "./chunks/Plot2D-CTXHkL5p.js";
24
- import { a as Ut, i as Wt, n as Gt, r as Kt, t as qt } from "./chunks/CurveEditor-DUVjd25R.js";
25
- import { c as Jt, i as Yt, n as Xt, o as Zt, r as Qt, s as $t, t as en } from "./chunks/createKeyframeLayer-DVl321_l.js";
26
- import { t as tn } from "./chunks/snap-DRjbOiG9.js";
27
- import { i as nn, n as rn, r as an, t as on } from "./chunks/Properties-DmAeQ3mk.js";
28
- import { t as sn } from "./chunks/Dialog-DGFutQ--.js";
29
- import { a as cn, i as ln, n as U, o as un, r as dn, s as fn, t as pn } from "./chunks/PropertyField-DfIJJ5GS.js";
30
- import { t as mn } from "./chunks/InlineRange-P01ABSzo.js";
31
- import { t as hn } from "./chunks/ColorField-Yz_BkcCT.js";
32
- import { n as gn, t as _n } from "./chunks/Field--onYxXTF.js";
33
- import { n as vn, r as yn, t as bn } from "./chunks/Select-ClmKtyWg.js";
34
- import { t as xn } from "./chunks/FontFamilySelect-DkRgNtag.js";
35
- import { t as Sn } from "./chunks/Input-CHmkfYaD.js";
36
- import { r as Cn, t as wn } from "./chunks/NumberField-BnJxcazc.js";
37
- import { t as Tn } from "./chunks/paintPreview-CuSZiHpR.js";
38
- import { t as En } from "./chunks/Slider-YofwGOI4.js";
39
- import { t as Dn } from "./chunks/ToggleBar-BTYkBXU9.js";
40
- import { t as On } from "./chunks/useRovingTabIndex-Bp_hYm_h.js";
41
- import { n as kn, t as An } from "./chunks/MeshEditor-D1HLZcAh.js";
42
- import { i as jn, n as Mn, r as Nn, t as Pn } from "./chunks/GradientEditor-b7v4Ph3i.js";
43
- import { n as Fn, t as In } from "./chunks/PatternPicker-R_EQtw2Q.js";
44
- import { t as Ln } from "./chunks/PaintInput-v8Y7MDbH.js";
45
- import { t as Rn } from "./chunks/PaintField-DadOELMg.js";
46
- import { n as zn, t as Bn } from "./chunks/RadioGroup-Bh4-12e-.js";
47
- import { t as Vn } from "./chunks/Switch-CSYmcM8y.js";
48
- import { n as Hn, r as Un, t as Wn } from "./chunks/LayerList-wCI1EueM.js";
49
- import { t as Gn } from "./chunks/ItemList-Cm-HUWCi.js";
50
- import { t as Kn } from "./chunks/ListEditor-BeA60TAA.js";
51
- import { t as qn } from "./chunks/ColorModeControl-BewxA0rX.js";
52
- import { n as Jn, t as Yn } from "./chunks/ThemeSwitcher-BlsInAmR.js";
53
- import { t as Xn } from "./chunks/OptionsBar-ujxYidhj.js";
54
- import { t as Zn } from "./chunks/ButtonBar-DIQTe5GQ.js";
55
- import { a as Qn, i as $n, n as er, o as tr, r as nr, s as rr, t as ir } from "./chunks/prefField-BopW9bjx.js";
56
- import { i as ar, l as or, n as sr, o as cr, r as lr, s as ur, t as dr } from "./chunks/model-BaF65rnX.js";
57
- import { t as fr } from "./chunks/ToolOptionsBar-D_GCrBAN.js";
58
- import { t as pr } from "./chunks/FillStrokeSwatch-DNb0KXPk.js";
59
- import { t as mr } from "./chunks/SwatchGrid-BYvA8Bmh.js";
60
- import { t as hr } from "./chunks/Powerline-DNyH885r.js";
61
- import { n as gr, t as _r } from "./chunks/GestureRoute-C_YGl7bJ.js";
62
- import { t as vr } from "./chunks/FallthroughDiagram-BEHiM5IS.js";
63
- import { a as yr, i as br, n as xr, o as Sr, r as Cr, t as wr } from "./chunks/Prefs-ByA-x51i.js";
64
- import { t as Tr } from "./chunks/SelectionPanel-BaQnX4Bs.js";
65
- import { t as Er } from "./chunks/ResizeHandle-rKVWyeTG.js";
66
- import { t as Dr } from "./chunks/Sidebar-BZ0m4afn.js";
67
- import { t as Or } from "./chunks/SidebarPanel-BblDEz4G.js";
68
- import { n as kr, r as Ar, t as jr } from "./chunks/StatusBar-Ca9Dvhhq.js";
69
- import { t as Mr } from "./chunks/ToolButton-CAHBa08P.js";
70
- import { t as Nr } from "./chunks/ToolGroup-Dpg1LN0l.js";
71
- import { t as Pr } from "./chunks/ToolPalette-OOWN51Xx.js";
5
+ import { i as nt, n as rt, r as it, t as at } from "./chunks/portalHost-CE70wLzo.js";
6
+ import { n as ot, r as st, t as ct } from "./chunks/Tooltip-C6eFCYxw.js";
7
+ import { t as lt } from "./chunks/keyGlyph-C0qTakG-.js";
8
+ import { n as ut, t as dt } from "./chunks/formatShortcut-DRQrVThu.js";
9
+ import { t as ft } from "./chunks/ActionBar-xA73vzzF.js";
10
+ import { n as pt, t as mt } from "./chunks/Badge-jYQjrTKc.js";
11
+ import { t as ht } from "./chunks/stance-BFQpS_fL.js";
12
+ import { t as gt } from "./chunks/Badge-CTc9Lkwn.js";
13
+ import { t as _t } from "./chunks/Button-XB-T75YL.js";
14
+ import { t as vt } from "./chunks/CloseButton-BmNmRVtb.js";
15
+ import { t as yt } from "./chunks/Code-AsKpgnv6.js";
16
+ import { t as bt } from "./chunks/useReorderDragList-CStYKjHl.js";
17
+ import { n as xt, r as St, t as Ct } from "./chunks/Disclosure-Ch2KxYuB.js";
18
+ import { t as wt } from "./chunks/DataGrid-CmHJe57v.js";
19
+ import { n as Tt, t as Et } from "./chunks/DetailList-BpU50XVe.js";
20
+ import { t as Dt } from "./chunks/DragGhost-BeYDJyLZ.js";
21
+ import { t as Ot } from "./chunks/DragGrip-AoIZXfZb.js";
22
+ import { a as kt, i as At, n as jt, o as Mt, r as Nt, s as Pt, t as Ft } from "./chunks/Keycaps-C-FJyG8k.js";
23
+ import { a as It, c as Lt, i as Rt, n as zt, o as Bt, r as Vt, s as Ht, t as Ut } from "./chunks/Plot2D-BrvQS0dh.js";
24
+ import { a as Wt, i as Gt, n as Kt, r as qt, t as Jt } from "./chunks/CurveEditor-0EE00D6s.js";
25
+ import { i as Yt, n as Xt, r as Zt, t as Qt } from "./chunks/createKeyframeLayer-DSVf13Su.js";
26
+ import { n as $t, r as en, t as tn } from "./chunks/handles-CqVANLtu.js";
27
+ import { t as nn } from "./chunks/snap-DRjbOiG9.js";
28
+ import { i as rn, n as an, r as on, t as sn } from "./chunks/Properties-DseN56WI.js";
29
+ import { t as cn } from "./chunks/Dialog-DKfsk5VN.js";
30
+ import { a as ln, c as un, i as dn, l as fn, n as pn, o as mn, s as hn, t as gn } from "./chunks/PropertyField-BbNqK8xr.js";
31
+ import { a as _n, i as U, n as vn, o as yn, r as bn, t as xn } from "./chunks/RecentColorsProvider-DHcfk25u.js";
32
+ import { t as Sn } from "./chunks/InlineRange-DPjIsJB3.js";
33
+ import { t as Cn } from "./chunks/ColorField-BwlelY26.js";
34
+ import { n as wn, r as Tn, t as En } from "./chunks/Select-ouV8O6cp.js";
35
+ import { t as Dn } from "./chunks/FontFamilySelect-DEvMXyZd.js";
36
+ import { n as On, t as kn } from "./chunks/FontWeightSelect-BLQ_LMJF.js";
37
+ import { t as An } from "./chunks/Input-D7SDKbST.js";
38
+ import { r as jn, t as Mn } from "./chunks/NumberField-DS0WSiin.js";
39
+ import { t as Nn } from "./chunks/paintPreview-CuSZiHpR.js";
40
+ import { t as Pn } from "./chunks/Slider-DSrlMEq8.js";
41
+ import { t as Fn } from "./chunks/ToggleBar-Z2jZiguF.js";
42
+ import { t as In } from "./chunks/useRovingTabIndex-D7u22Ia_.js";
43
+ import { o as Ln, s as Rn, t as zn } from "./chunks/MeshEditor-DWpvg8H6.js";
44
+ import { i as Bn, n as Vn, r as Hn, t as Un } from "./chunks/GradientEditor-DD2OjQtn.js";
45
+ import { n as Wn, t as Gn } from "./chunks/PatternPicker-B3HcMZWg.js";
46
+ import { t as Kn } from "./chunks/PaintInput-DaQMeBsI.js";
47
+ import { t as qn } from "./chunks/PaintField-BdmQM53v.js";
48
+ import { n as Jn, t as Yn } from "./chunks/Field-DiX_WByH.js";
49
+ import { n as Xn, t as Zn } from "./chunks/RadioGroup-B70_M-gT.js";
50
+ import { t as Qn } from "./chunks/Switch-CSYmcM8y.js";
51
+ import { n as $n, r as er, t as tr } from "./chunks/LayerList-Bxj1N6bj.js";
52
+ import { t as nr } from "./chunks/ItemList-CRu9y7hL.js";
53
+ import { t as rr } from "./chunks/ListEditor-OQDzG4A5.js";
54
+ import { t as ir } from "./chunks/ColorModeControl-DaVJ-SyX.js";
55
+ import { n as ar, t as or } from "./chunks/ThemeSwitcher-DiBmMh_B.js";
56
+ import { t as sr } from "./chunks/OptionsBar-DeTAjVb7.js";
57
+ import { t as cr } from "./chunks/ButtonBar-CIMKPPRS.js";
58
+ import { a as lr, i as ur, n as dr, o as fr, r as pr, s as mr, t as hr } from "./chunks/prefField-BE_Ytr2H.js";
59
+ import { i as gr, l as _r, n as vr, o as yr, r as br, s as xr, t as Sr } from "./chunks/model-qsAFK7_0.js";
60
+ import { t as Cr } from "./chunks/ToolOptionsBar-CZTYPoC2.js";
61
+ import { t as wr } from "./chunks/FillStrokeSwatch-C4h3rUFM.js";
62
+ import { t as Tr } from "./chunks/SwatchGrid-9ZPiDmxd.js";
63
+ import { a as Er, i as Dr, n as Or, r as kr, t as Ar } from "./chunks/SwatchStrip-Bi9iPLoh.js";
64
+ import { t as jr } from "./chunks/Powerline-6wIFmDik.js";
65
+ import { n as Mr, t as Nr } from "./chunks/GestureRoute-BXESrHI0.js";
66
+ import { t as Pr } from "./chunks/FallthroughDiagram-CS1IhQaU.js";
67
+ import { a as Fr, i as Ir, n as Lr, o as Rr, r as zr, t as Br } from "./chunks/Prefs-C4MZ28SX.js";
68
+ import { t as Vr } from "./chunks/SelectionPanel-C3WzyaZV.js";
69
+ import { t as Hr } from "./chunks/ResizeHandle-CbAgCQOt.js";
70
+ import { t as Ur } from "./chunks/Sidebar-BZ0m4afn.js";
71
+ import { t as Wr } from "./chunks/SidebarPanel-AXQ0jRDx.js";
72
+ import { n as Gr, r as Kr, t as qr } from "./chunks/StatusBar-BEOfOX0D.js";
73
+ import { t as Jr } from "./chunks/ToolButton-BURp4YIO.js";
74
+ import { t as Yr } from "./chunks/ToolGroup-Dpg1LN0l.js";
75
+ import { t as Xr } from "./chunks/ToolPalette-DKDFWOX-.js";
72
76
  import "./components/Field/index.js";
73
- import { t as Fr } from "./chunks/Checkbox-DHXTUHO9.js";
74
- import { i as Ir, n as Lr, r as Rr, t as zr } from "./chunks/Tabs-BbpzLLdY.js";
75
- import { n as Br, r as Vr, t as Hr } from "./chunks/Tree-Cc8lIzgM.js";
76
- import { t as Ur } from "./chunks/MenuButton-BSqEChJE.js";
77
- import { n as Wr, t as Gr } from "./chunks/ComboBox-B34H76CW.js";
78
- import { t as Kr } from "./chunks/RangeSlider-SEGE-7VF.js";
79
- import { t as qr } from "./chunks/DetentSlider-5uQPFucv.js";
80
- import { n as Jr, t as Yr } from "./chunks/Callout-ndW5_Bqx.js";
81
- import { a as Xr, i as Zr, n as Qr, r as $r, t as ei } from "./chunks/Toast-BF9GE0HC.js";
82
- import { t as ti } from "./chunks/PointPlotter-ldI4RrU1.js";
83
- import { a as ni, i as ri, n as ii, r as ai, t as oi } from "./chunks/TokenPanel-CMDAOfYH.js";
84
- import { n as si, r as ci, t as li } from "./chunks/BandEditor-Dd0egAgE.js";
85
- import { t as ui } from "./chunks/Jog-DRmfrkCg.js";
86
- import { a as di, c as fi, i as pi, l as mi, n as hi, o as gi, r as _i, s as vi, t as yi } from "./chunks/Timeline-B39cwfMB.js";
87
- import { hexToOklchDeg as W, hexToRgba as bi, interpolateSrgb as G, oklchDegToHex as xi, rgbaToHex as K } from "@weasel-js/core";
88
- import { useCallback as Si, useEffect as q, useRef as J, useState as Y } from "react";
77
+ import { t as Zr } from "./chunks/Checkbox-DFn-x0JO.js";
78
+ import { i as Qr, n as $r, r as ei, t as ti } from "./chunks/Tabs-BbpzLLdY.js";
79
+ import { n as ni, r as ri, t as ii } from "./chunks/Tree-Cc8lIzgM.js";
80
+ import { t as ai } from "./chunks/MenuButton-TAFg88Lp.js";
81
+ import { n as oi, t as si } from "./chunks/ComboBox-DKln_mOd.js";
82
+ import { t as ci } from "./chunks/RangeSlider-DO5TZVk7.js";
83
+ import { t as li } from "./chunks/DetentSlider-DNTAk8xP.js";
84
+ import { n as ui, t as di } from "./chunks/Callout-BUn0dP_S.js";
85
+ import { a as fi, i as pi, n as mi, r as hi, t as gi } from "./chunks/Toast-C3ozq11V.js";
86
+ import { t as _i } from "./chunks/PointPlotter-BBXpQ_QD.js";
87
+ import { a as vi, i as yi, n as bi, r as xi, t as Si } from "./chunks/TokenPanel-WtKGY2Db.js";
88
+ import { n as Ci, r as wi, t as Ti } from "./chunks/BandEditor-B4jUAHQ8.js";
89
+ import { t as Ei } from "./chunks/Jog-BrkzdGV2.js";
90
+ import { a as Di, c as Oi, i as ki, l as Ai, n as ji, o as Mi, r as Ni, s as Pi, t as Fi } from "./chunks/Timeline-sMCH2fah.js";
91
+ import { hexToOklchDeg as W, hexToRgba as Ii, interpolateSrgb as G, oklchDegToHex as Li, rgbaToHex as K, useLatest as Ri } from "@weasel-js/core";
92
+ import { useCallback as zi, useEffect as q, useRef as J, useState as Y } from "react";
89
93
  //#region src/color/oklch.ts
90
- var X = xi;
94
+ var X = Li;
91
95
  function Z(e, t) {
92
96
  let [n, r] = t.lRange;
93
97
  return e <= n ? t.cBot : e >= r ? t.cTop : e <= t.midL ? t.cBot + (t.cPeak - t.cBot) * ((e - n) / (t.midL - n)) : t.cPeak + (t.cTop - t.cPeak) * ((e - t.midL) / (r - t.midL));
@@ -95,7 +99,7 @@ function Z(e, t) {
95
99
  //#endregion
96
100
  //#region src/color/ramp.ts
97
101
  var Q = (e) => {
98
- let [t, n, r] = bi(e);
102
+ let [t, n, r] = Ii(e);
99
103
  return [
100
104
  t,
101
105
  n,
@@ -108,15 +112,13 @@ function $(e, t, n, r = {}) {
108
112
  let u = W(l), d = u.C > 1e-4 ? u.H : W(K(G(s, c, n, "oklch", a))).H;
109
113
  return X(u.L, Z(u.L, o), d);
110
114
  }
111
- function Ci(e, t, n, r = {}) {
115
+ function Bi(e, t, n, r = {}) {
112
116
  return n <= 1 ? n === 1 ? [$(e, t, 0, r)] : [] : Array.from({ length: n }, (i, a) => $(e, t, a / (n - 1), r));
113
117
  }
114
118
  //#endregion
115
119
  //#region src/useAsyncOptions.ts
116
- function wi({ load: e, debounceMs: t = 150, minLength: n = 0 }) {
117
- let [r, i] = Y(""), [a, o] = Y([]), [s, c] = Y(!1), [l, u] = Y(null), d = J(e);
118
- d.current = e;
119
- let f = J(0), p = J(0), m = J(null);
120
+ function Vi({ load: e, debounceMs: t = 150, minLength: n = 0 }) {
121
+ let [r, i] = Y(""), [a, o] = Y([]), [s, c] = Y(!1), [l, u] = Y(null), d = Ri(e), f = J(0), p = J(0), m = J(null);
120
122
  return q(() => {
121
123
  if (r.length < n) {
122
124
  m.current?.abort(), m.current = null, p.current = f.current, o([]), c(!1), u(null);
@@ -134,16 +136,17 @@ function wi({ load: e, debounceMs: t = 150, minLength: n = 0 }) {
134
136
  }, [
135
137
  r,
136
138
  t,
137
- n
139
+ n,
140
+ d
138
141
  ]), q(() => () => m.current?.abort(), []), {
139
142
  options: a,
140
143
  isLoading: s,
141
144
  loadError: l,
142
145
  inputValue: r,
143
- onInputChange: Si((e) => i(e), [])
146
+ onInputChange: zi((e) => i(e), [])
144
147
  };
145
148
  }
146
149
  //#endregion
147
- export { dt as ActionBar, Ve as AddIcon, Ae as AlignBottomIcon, Le as AlignCenterXIcon, be as AlignCenterYIcon, I as AlignLeftIcon, Me as AlignRightIcon, ze as AlignTopIcon, yi as AnimatedTimeline, B as ArrowIcon, ht as BADGE_STATUS_ICONS, pt as Badge, li as BandEditor, Ee as BringForwardIcon, Ue as BringToFrontIcon, H as BusyIcon, gt as Button, Zn as ButtonBar, Yn as COLOR_MODE_OPTIONS, Yr as Callout, Jr as CalloutTrigger, me as CheckIcon, Fr as Checkbox, Pe as ChevronIcon, Oe as CloneIcon, _t as CloseButton, ve as CloseIcon, vt as Code, ge as CollapseIcon, hn as ColorField, qn as ColorModeControl, Gr as ComboBox, Wr as ComboBoxItem, P as CompareIcon, Ge as CopyIcon, Ze as CrosshairIcon, Gt as CurveEditor, nn as CurveField, R as CutIcon, Ct as DataGrid, Ye as DeleteIcon, Tt as DetailList, wt as DetailRow, qr as DetentSlider, sn as Dialog, an as DialogRow, St as Disclosure, bt as DisclosureMark, xt as DisclosureRow, w as DistributeHorizontalIcon, d as DistributeVerticalIcon, Et as DragGhost, Dt as DragGrip, qe as DuplicateIcon, gi as EASING_NAMES, ft as EDGE_PROFILES, di as EasingPicker, E as EllipseIcon, ee as ErrorIcon, p as ExpandIcon, v as ExportIcon, we as EyedropperIcon, vr as FallthroughDiagram, _n as Field, pr as FillStrokeSwatch, c as FilterIcon, Se as FitIcon, de as FlipXIcon, g as FlipYIcon, st as Focusable, xn as FontFamilySelect, b as FullscreenIcon, _r as GestureRoute, Nn as GradientEditor, Mn as GradientHandles, ne as GridIcon, oe as GroupIcon, Zt as HANDLE_SIZE_TOKENS, ue as HandIcon, C as HiddenIcon, a as ICON_FILLS, r as ICON_GROUPS, n as ICON_PATHS, o as Icon, $e as ImageIcon, u as InfoIcon, mn as InlineRange, Sn as Input, Gn as ItemList, ui as Jog, Mt as KeyCap, At as KeySequence, k as LassoIcon, Hn as LayerList, Yt as LayeredCurveEditor, ae as LayersIcon, O as LayoutColumnsIcon, A as LayoutGridIcon, ie as LayoutRowsIcon, le as LineIcon, Ie as LinkIcon, Kn as ListEditor, ce as LockIcon, M as LoupeIcon, dr as MIXED, j as MeasureIcon, Ur as MenuButton, An as MeshEditor, N as ModeAutoIcon, S as ModeDarkIcon, s as ModeLightIcon, Cn as NumberField, Xn as OptionsBar, it as OverlayPortalProvider, pe as PageIcon, Rn as PaintField, Ln as PaintInput, He as PanIcon, je as PasteIcon, In as PatternPicker, Re as PauseIcon, xe as PenIcon, L as PencilIcon, Ne as PinIcon, Be as PlayIcon, Ht as Plot2D, ti as PointPlotter, V as PolygonIcon, hr as Powerline, wr as PrefsDialog, xr as PrefsForm, br as PrefsPane, Cr as PrefsRail, pn as PropertyControl, U as PropertyField, rn as PropertyGroup, dn as PropertyList, ln as PropertyNote, cn as PropertyPanel, un as PropertyRow, fn as PropertySpan, Bn as Radio, zn as RadioGroup, De as RandomizeIcon, Kr as RangeSlider, We as RectIcon, fe as RedoIcon, he as RefreshIcon, Fe as RemoveIcon, ke as ResetIcon, Er as ResizeHandle, Pn as SceneGradientHandles, ye as SearchIcon, bn as Select, _e as SelectIcon, vn as SelectItem, yn as SelectSection, Tr as SelectionPanel, F as SendBackwardIcon, Ke as SendToBackIcon, Dr as Sidebar, Or as SidebarPanel, En as Slider, Qe as SnapIcon, z as SnapshotIcon, Xe as SortIcon, T as StarIcon, jr as StatusBar, kr as StatusBarItem, Ar as StatusBarSpacer, f as StepBackIcon, Je as StepForwardIcon, D as StepIcon, te as StopIcon, on as Subpanel, mr as SwatchGrid, Vn as Switch, ii as TOKEN_CATEGORIES, zr as Tab, Lr as TabList, Rr as TabPanel, Ir as Tabs, m as TextIcon, Jn as ThemeSwitcher, hi as Timeline, Qr as ToastQueue, ei as ToastRegion, Dn as ToggleBar, oi as TokenPanel, Mr as ToolButton, Nr as ToolGroup, fr as ToolOptionsBar, Pr as ToolPalette, at as Tooltip, ot as TooltipTrigger, pi as Transport, Hr as Tree, y as TuneIcon, Te as UndoIcon, l as UngroupIcon, wn as UnitField, Ce as UnknownIcon, h as UnlockIcon, _ as VisibleIcon, x as WarningIcon, re as ZoomInIcon, se as ZoomOutIcon, sr as aggregateValue, en as applyKeyframeDrag, Z as chromaAt, lr as classifyKind, Ci as colorRamp, Kt as createFunctionLayer, Xt as createKeyframeLayer, qt as createSetCurveOp, $r as createToastQueue, Zr as defaultToastQueue, Ot as detectPlatform, t as dlog, vi as easingBezier, fi as easingLabel, ar as effectiveSections, gn as fieldClasses, er as filterPrefSubtree, Br as filterTree, ut as formatShortcut, lt as formatShortcutParts, Rt as formatTick, Wt as functionLayerState, gr as gestureRouteSegments, $t as handleHalf, Jt as handleSize, kt as inferKeycapKind, ai as inferTokenType, e as isDebugEnabled, i as isFillable, kn as isMeshPaint, nr as isPrefLeaf, ct as keyGlyph, jt as keySpecFromKey, Nt as keySpecsFromMods, Pt as keySpecsFromShortcut, Qt as keyframeLayerState, cr as kindBreakdown, si as linearScale, ci as logScale, Vt as modelToPlot, Un as moveLayers, nt as nearestPortalHost, Bt as niceStep, Lt as niceTicks, ur as nodeValueAt, X as oklchToHex, jn as paintGradientTrack, Tn as paintPreviewCss, yr as pickActiveSection, It as plotToModel, $n as prefDisplayBounds, ir as prefFieldProps, Qn as prefRailItems, tr as prefValueAtPath, $ as rampColor, ri as refitScale, _i as samePath, Ut as sampleByInterpolation, mi as sampleEasing, Fn as seedPattern, or as setAtPath, tn as snapToNearest, et as solidColorOf, Ft as stepDecimals, tt as strokeColorOf, zt as tickDecimals, Xr as toast, ni as tokenCategory, Vr as treeBranchIds, wi as useAsyncOptions, rt as useOverlayPortal, yt as useReorderDragList, On as useRovingTabIndex, Wn as useSceneLayerList, Sr as useScrollSpy, mt as useStance, rr as visiblePrefSubtree };
150
+ export { ft as ActionBar, Ve as AddIcon, Ae as AlignBottomIcon, Le as AlignCenterXIcon, be as AlignCenterYIcon, I as AlignLeftIcon, Me as AlignRightIcon, ze as AlignTopIcon, Fi as AnimatedTimeline, B as ArrowIcon, gt as BADGE_STATUS_ICONS, kr as BASIC_PALETTE, Dr as BUILTIN_PALETTES, mt as Badge, Ti as BandEditor, Ee as BringForwardIcon, Ue as BringToFrontIcon, H as BusyIcon, _t as Button, cr as ButtonBar, or as COLOR_MODE_OPTIONS, di as Callout, ui as CalloutTrigger, me as CheckIcon, Zr as Checkbox, Pe as ChevronIcon, Oe as CloneIcon, vt as CloseButton, ve as CloseIcon, yt as Code, ge as CollapseIcon, Cn as ColorField, ir as ColorModeControl, si as ComboBox, oi as ComboBoxItem, P as CompareIcon, Ge as CopyIcon, Ze as CrosshairIcon, Kt as CurveEditor, rn as CurveField, R as CutIcon, wt as DataGrid, Ye as DeleteIcon, Et as DetailList, Tt as DetailRow, li as DetentSlider, cn as Dialog, on as DialogRow, Ct as Disclosure, xt as DisclosureMark, St as DisclosureRow, w as DistributeHorizontalIcon, d as DistributeVerticalIcon, Dt as DragGhost, Ot as DragGrip, qe as DuplicateIcon, Mi as EASING_NAMES, pt as EDGE_PROFILES, Di as EasingPicker, E as EllipseIcon, ee as ErrorIcon, p as ExpandIcon, v as ExportIcon, we as EyedropperIcon, Pr as FallthroughDiagram, Yn as Field, wr as FillStrokeSwatch, c as FilterIcon, Se as FitIcon, de as FlipXIcon, g as FlipYIcon, ct as Focusable, Dn as FontFamilySelect, kn as FontWeightSelect, b as FullscreenIcon, Nr as GestureRoute, Hn as GradientEditor, Vn as GradientHandles, ne as GridIcon, oe as GroupIcon, tn as HANDLE_SIZE_TOKENS, ue as HandIcon, C as HiddenIcon, a as ICON_FILLS, r as ICON_GROUPS, n as ICON_PATHS, o as Icon, $e as ImageIcon, u as InfoIcon, Sn as InlineRange, An as Input, nr as ItemList, Ei as Jog, Nt as KeyCap, jt as KeySequence, k as LassoIcon, $n as LayerList, Yt as LayeredCurveEditor, ae as LayersIcon, O as LayoutColumnsIcon, A as LayoutGridIcon, ie as LayoutRowsIcon, le as LineIcon, Ie as LinkIcon, rr as ListEditor, ce as LockIcon, M as LoupeIcon, Sr as MIXED, j as MeasureIcon, ai as MenuButton, Ln as MeshEditor, zn as MeshHandles, N as ModeAutoIcon, S as ModeDarkIcon, s as ModeLightIcon, jn as NumberField, sr as OptionsBar, at as OverlayPortalProvider, pe as PageIcon, qn as PaintField, Kn as PaintInput, He as PanIcon, je as PasteIcon, Gn as PatternPicker, Re as PauseIcon, xe as PenIcon, L as PencilIcon, Ne as PinIcon, Be as PlayIcon, Ut as Plot2D, _i as PointPlotter, V as PolygonIcon, jr as Powerline, Br as PrefsDialog, Lr as PrefsForm, Ir as PrefsPane, zr as PrefsRail, gn as PropertyControl, pn as PropertyField, an as PropertyGroup, dn as PropertyHelp, ln as PropertyList, mn as PropertyNote, hn as PropertyPanel, un as PropertyRow, fn as PropertySpan, Zn as Radio, Xn as RadioGroup, De as RandomizeIcon, ci as RangeSlider, xn as RecentColorsProvider, We as RectIcon, fe as RedoIcon, he as RefreshIcon, Fe as RemoveIcon, ke as ResetIcon, Hr as ResizeHandle, Er as STANDARD_PALETTE, Un as SceneGradientHandles, ye as SearchIcon, En as Select, _e as SelectIcon, wn as SelectItem, Tn as SelectSection, Vr as SelectionPanel, F as SendBackwardIcon, Ke as SendToBackIcon, Ur as Sidebar, Wr as SidebarPanel, Pn as Slider, Qe as SnapIcon, z as SnapshotIcon, Xe as SortIcon, T as StarIcon, qr as StatusBar, Gr as StatusBarItem, Kr as StatusBarSpacer, f as StepBackIcon, Je as StepForwardIcon, D as StepIcon, te as StopIcon, sn as Subpanel, Tr as SwatchGrid, Ar as SwatchStrip, Qn as Switch, bi as TOKEN_CATEGORIES, ti as Tab, $r as TabList, ei as TabPanel, Qr as Tabs, m as TextIcon, ar as ThemeSwitcher, ji as Timeline, mi as ToastQueue, gi as ToastRegion, Fn as ToggleBar, Si as TokenPanel, Jr as ToolButton, Yr as ToolGroup, Cr as ToolOptionsBar, Xr as ToolPalette, ot as Tooltip, st as TooltipTrigger, ki as Transport, ii as Tree, y as TuneIcon, Te as UndoIcon, l as UngroupIcon, Mn as UnitField, Ce as UnknownIcon, h as UnlockIcon, _ as VisibleIcon, x as WarningIcon, re as ZoomInIcon, se as ZoomOutIcon, vr as aggregateValue, Qt as applyKeyframeDrag, Z as chromaAt, br as classifyKind, Bi as colorRamp, qt as createFunctionLayer, Xt as createKeyframeLayer, _n as createRecentColorsStore, Jt as createSetCurveOp, hi as createToastQueue, pi as defaultToastQueue, Or as describeColor, kt as detectPlatform, t as dlog, Pi as easingBezier, Oi as easingLabel, gr as effectiveSections, Jn as fieldClasses, dr as filterPrefSubtree, ni as filterTree, On as fontWeightLabel, dt as formatShortcut, ut as formatShortcutParts, zt as formatTick, Gt as functionLayerState, Mr as gestureRouteSegments, $t as handleHalf, en as handleSize, At as inferKeycapKind, xi as inferTokenType, e as isDebugEnabled, i as isFillable, Rn as isMeshPaint, pr as isPrefLeaf, lt as keyGlyph, Mt as keySpecFromKey, Pt as keySpecsFromMods, Ft as keySpecsFromShortcut, Zt as keyframeLayerState, yr as kindBreakdown, Ci as linearScale, wi as logScale, Ht as modelToPlot, er as moveLayers, rt as nearestPortalHost, Vt as niceStep, Rt as niceTicks, xr as nodeValueAt, yn as normalizeRecentColor, X as oklchToHex, Bn as paintGradientTrack, Nn as paintPreviewCss, Fr as pickActiveSection, Lt as plotToModel, ur as prefDisplayBounds, hr as prefFieldProps, lr as prefRailItems, fr as prefValueAtPath, $ as rampColor, yi as refitScale, Ni as samePath, Wt as sampleByInterpolation, Ai as sampleEasing, Wn as seedPattern, _r as setAtPath, nn as snapToNearest, et as solidColorOf, It as stepDecimals, tt as strokeColorOf, Bt as tickDecimals, fi as toast, vi as tokenCategory, ri as treeBranchIds, it as useAssignedPortalContainer, Vi as useAsyncOptions, nt as useOverlayPortal, vn as useRecentColors, bn as useRecentColorsStore, U as useRecordRecentColor, bt as useReorderDragList, In as useRovingTabIndex, tr as useSceneLayerList, Rr as useScrollSpy, ht as useStance, mr as visiblePrefSubtree };
148
151
 
149
152
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isDebugEnabled","ICON_PATHS","ICON_GROUPS","isFillable","ICON_FILLS","Icon","ModeLightIcon","FilterIcon","UngroupIcon","InfoIcon","DistributeVerticalIcon","StepBackIcon","ExpandIcon","TextIcon","ErrorIcon","StopIcon","GridIcon","ZoomInIcon","LayoutRowsIcon","LayersIcon","GroupIcon","ZoomOutIcon","LockIcon","LineIcon","HandIcon","FlipXIcon","UnlockIcon","FlipYIcon","VisibleIcon","ExportIcon","TuneIcon","FullscreenIcon","WarningIcon","ModeDarkIcon","HiddenIcon","DistributeHorizontalIcon","StarIcon","EllipseIcon","StepIcon","LayoutColumnsIcon","LassoIcon","LayoutGridIcon","MeasureIcon","LoupeIcon","ModeAutoIcon","CompareIcon","SendBackwardIcon","AlignLeftIcon","PencilIcon","CutIcon","SnapshotIcon","ArrowIcon","PolygonIcon","BusyIcon","RedoIcon","PageIcon","CheckIcon","RefreshIcon","CollapseIcon","SelectIcon","CloseIcon","SearchIcon","AlignCenterYIcon","PenIcon","FitIcon","UnknownIcon","EyedropperIcon","UndoIcon","BringForwardIcon","RandomizeIcon","CloneIcon","ResetIcon","AlignBottomIcon","PasteIcon","AlignRightIcon","PinIcon","ChevronIcon","RemoveIcon","LinkIcon","AlignCenterXIcon","PauseIcon","AlignTopIcon","PlayIcon","AddIcon","PanIcon","BringToFrontIcon","RectIcon","CopyIcon","SendToBackIcon","DuplicateIcon","StepForwardIcon","DeleteIcon","SortIcon","CrosshairIcon","SnapIcon","ImageIcon","solidColorOf","strokeColorOf","nearestPortalHost","useOverlayPortal","OverlayPortalProvider","Tooltip","TooltipTrigger","Focusable","keyGlyph","formatShortcutParts","formatShortcut","ActionBar","EDGE_PROFILES","Badge","useStance","BADGE_STATUS_ICONS","Button","CloseButton","Code","useReorderDragList","DisclosureMark","DisclosureRow","Disclosure","DataGrid","DetailRow","DetailList","DragGhost","DragGrip","detectPlatform","inferKeycapKind","KeySequence","keySpecFromKey","KeyCap","keySpecsFromMods","keySpecsFromShortcut","stepDecimals","plotToModel","niceTicks","formatTick","tickDecimals","niceStep","modelToPlot","Plot2D","sampleByInterpolation","functionLayerState","CurveEditor","createFunctionLayer","createSetCurveOp","handleSize","LayeredCurveEditor","createKeyframeLayer","HANDLE_SIZE_TOKENS","keyframeLayerState","handleHalf","applyKeyframeDrag","snapToNearest","CurveField","PropertyGroup","DialogRow","Subpanel","Dialog","PropertyPanel","PropertyNote","PropertyField","PropertyRow","PropertyList","PropertySpan","PropertyControl","InlineRange","ColorField","fieldClasses","Field","SelectItem","SelectSection","Select","FontFamilySelect","Input","NumberField","UnitField","paintPreviewCss","Slider","ToggleBar","useRovingTabIndex","isMeshPaint","MeshEditor","paintGradientTrack","GradientHandles","GradientEditor","SceneGradientHandles","seedPattern","PatternPicker","PaintInput","PaintField","RadioGroup","Radio","Switch","LayerList","moveLayers","useSceneLayerList","ItemList","ListEditor","ColorModeControl","ThemeSwitcher","COLOR_MODE_OPTIONS","OptionsBar","ButtonBar","prefRailItems","prefDisplayBounds","filterPrefSubtree","prefValueAtPath","isPrefLeaf","visiblePrefSubtree","prefFieldProps","effectiveSections","setAtPath","aggregateValue","kindBreakdown","classifyKind","nodeValueAt","MIXED","ToolOptionsBar","FillStrokeSwatch","SwatchGrid","Powerline","gestureRouteSegments","GestureRoute","FallthroughDiagram","pickActiveSection","PrefsPane","PrefsForm","useScrollSpy","PrefsRail","PrefsDialog","SelectionPanel","ResizeHandle","Sidebar","SidebarPanel","StatusBarItem","StatusBarSpacer","StatusBar","ToolButton","ToolGroup","ToolPalette","Checkbox","Tabs","TabList","TabPanel","Tab","filterTree","treeBranchIds","Tree","MenuButton","ComboBoxItem","ComboBox","RangeSlider","DetentSlider","DialogTrigger","Callout","toast","defaultToastQueue","ToastQueue","createToastQueue","ToastRegion","PointPlotter","tokenCategory","refitScale","TOKEN_CATEGORIES","inferTokenType","TokenPanel","linearScale","logScale","BandEditor","Jog","EasingPicker","easingLabel","Transport","sampleEasing","Timeline","EASING_NAMES","samePath","easingBezier","AnimatedTimeline","oklchToHex","oklchDegToHex","chromaAt","lo","hi","curve","L","rgb","r","g","b","hexToRgba","hex","rampColor","options","a","from","to","rgbaToHex","interpolateSrgb","t","space","hue","chroma","s","hexToOklchDeg","H","colorRamp","steps","i","useAsyncOptions","inputValue","setInputValue","useState","setOptions","isLoading","setIsLoading","loadError","setLoadError","loadRef","useRef","load","issued","applied","inFlight","useEffect","minLength","timer","mine","controller","next","error","debounceMs","useCallback","dlog"],"sources":["../src/color/oklch.ts","../src/color/ramp.ts","../src/useAsyncOptions.ts"],"sourcesContent":["// OKLCH math from Björn Ottosson: https://bottosson.github.io/posts/oklab/\nimport { oklchDegToHex } from '@weasel-js/core';\n\n/**\n * A chroma envelope over lightness, as three linear segments: flat at `cBot`\n * below `lRange[0]`, rising to `cPeak` at `midL`, falling to `cTop` at\n * `lRange[1]`, flat beyond. Keeps a color ramp inside gamut at the light and\n * dark ends while staying saturated through the middle.\n */\nexport type ChromaCurve = {\n lRange: [number, number];\n midL: number;\n cBot: number;\n cPeak: number;\n cTop: number;\n};\n\n/** A single lightness/chroma sample. */\nexport type ChromaCurvePoint = { L: number; C: number };\n\n/**\n * Converts an OKLCH color to a gamut-clipped `#rrggbb` string. Hue is in\n * degrees, unlike the kit's OKLab helpers which take radians.\n */\nexport const oklchToHex = oklchDegToHex;\n\n/** Evaluates a {@link ChromaCurve} at a lightness, clamping outside its range. */\nexport function chromaAt(L: number, curve: ChromaCurve): number {\n const [lo, hi] = curve.lRange;\n if (L <= lo) return curve.cBot;\n if (L >= hi) return curve.cTop;\n if (L <= curve.midL) return curve.cBot + (curve.cPeak - curve.cBot) * ((L - lo) / (curve.midL - lo));\n return curve.cPeak + (curve.cTop - curve.cPeak) * ((L - curve.midL) / (hi - curve.midL));\n}\n","import {\n hexToOklchDeg,\n hexToRgba,\n interpolateSrgb,\n rgbaToHex,\n type ColorInterpolationSpace,\n type HueInterpolation,\n} from '@weasel-js/core';\nimport { chromaAt, oklchToHex, type ChromaCurve } from './oklch';\n\n/**\n * How {@link rampColor} and {@link colorRamp} travel between two endpoints.\n *\n * What each space interpolates:\n *\n * | `space` | components lerped | hue |\n * | --------------- | ---------------------------- | -------------------- |\n * | `'oklch'` | L, C, H | around the wheel |\n * | `'hsl'` | H, S, L | around the wheel |\n * | `'oklab'` | L, a, b | through the wheel |\n * | `'srgb'` | gamma-encoded R, G, B | through the wheel |\n * | `'srgb-linear'` | linear-light R, G, B | through the wheel |\n *\n * A lightness ramp is two endpoints that differ in lightness, and a hue ramp\n * two that differ in hue: the polar spaces keep chroma or saturation fixed\n * while they move, and the others cut a straight line between the two colors,\n * which for a hue ramp passes through gray.\n *\n * `chroma` is an OKLCH envelope in every space, since {@link ChromaCurve}'s\n * numbers are OKLCH chroma over OKLCH lightness. It runs after the\n * interpolation: each sample keeps its lightness and hue, and its chroma is\n * replaced with the curve's value at that lightness. A sample left with no\n * hue (a gray midpoint) takes the hue an OKLCH ramp would have had there.\n */\nexport interface ColorRampOptions {\n /** Default `'oklch'`. */\n space?: ColorInterpolationSpace;\n /** Polar spaces only. Default `'shorter'`. */\n hue?: HueInterpolation;\n chroma?: ChromaCurve;\n}\n\nconst rgb = (hex: string): [number, number, number] => {\n const [r, g, b] = hexToRgba(hex);\n return [r, g, b];\n};\n\n/** One sample of a ramp from `from` to `to` (`#rrggbb`), `t` in 0..1. */\nexport function rampColor(from: string, to: string, t: number, options: ColorRampOptions = {}): string {\n const { space = 'oklch', hue = 'shorter', chroma } = options;\n const a = rgb(from);\n const b = rgb(to);\n const hex = rgbaToHex(interpolateSrgb(a, b, t, space, hue));\n if (!chroma) return hex;\n const s = hexToOklchDeg(hex);\n const H = s.C > 1e-4 ? s.H : hexToOklchDeg(rgbaToHex(interpolateSrgb(a, b, t, 'oklch', hue))).H;\n return oklchToHex(s.L, chromaAt(s.L, chroma), H);\n}\n\n/** `steps` evenly spaced samples from `from` to `to`, both ends included. */\nexport function colorRamp(from: string, to: string, steps: number, options: ColorRampOptions = {}): string[] {\n if (steps <= 1) return steps === 1 ? [rampColor(from, to, 0, options)] : [];\n return Array.from({ length: steps }, (_, i) => rampColor(from, to, i / (steps - 1), options));\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport type { ComboBoxOption } from './components/ComboBox/ComboBox';\n\ntype Key = string | number;\n\n/** An option list keyed to the value type its combo box commits. */\nexport type AsyncOption<T extends Key> = ComboBoxOption & { value: T };\n\n/** Options for {@link useAsyncOptions}. */\nexport type UseAsyncOptionsProps<T extends Key> = {\n /**\n * Fetches the options for a query. The signal aborts when a later keystroke\n * supersedes this call, so a `fetch` should forward it.\n */\n load: (query: string, signal: AbortSignal) => Promise<ReadonlyArray<AsyncOption<T>>>;\n /** Quiet period before a query is sent. */\n debounceMs?: number;\n /** Shorter queries are not sent, and empty the options. */\n minLength?: number;\n};\n\n/** What {@link useAsyncOptions} returns, shaped to spread into a `ComboBox`. */\nexport type AsyncOptionsResult<T extends Key> = {\n options: ReadonlyArray<AsyncOption<T>>;\n isLoading: boolean;\n loadError: unknown | null;\n inputValue: string;\n onInputChange: (next: string) => void;\n};\n\n/**\n * Drives a combo box whose options come from a server: debounces the query,\n * discards responses overtaken by a later one, and reports a failed load\n * separately from an empty result.\n *\n * `options` holds the last *resolved* list and is never emptied to mean\n * \"working\", so the previous results stay on screen — and stay arrowable —\n * while the next request is in flight.\n */\nexport function useAsyncOptions<T extends Key = string>({\n load,\n debounceMs = 150,\n minLength = 0,\n}: UseAsyncOptionsProps<T>): AsyncOptionsResult<T> {\n const [inputValue, setInputValue] = useState('');\n const [options, setOptions] = useState<ReadonlyArray<AsyncOption<T>>>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [loadError, setLoadError] = useState<unknown | null>(null);\n\n // Read through a ref: a consumer passing an inline arrow re-creates `load`\n // every render, and depending on it directly would refire the request.\n const loadRef = useRef(load);\n loadRef.current = load;\n\n // A monotonic id per request, and the highest one whose result has been\n // applied. A liveness flag cannot do this job: two requests from adjacent\n // keystrokes are both live, so the slower one overwrites the newer result\n // if it lands second.\n const issued = useRef(0);\n const applied = useRef(0);\n const inFlight = useRef<AbortController | null>(null);\n\n useEffect(() => {\n if (inputValue.length < minLength) {\n inFlight.current?.abort();\n inFlight.current = null;\n applied.current = issued.current;\n setOptions([]);\n setIsLoading(false);\n setLoadError(null);\n return;\n }\n\n const timer = setTimeout(() => {\n const mine = ++issued.current;\n const controller = new AbortController();\n inFlight.current?.abort();\n inFlight.current = controller;\n setIsLoading(true);\n\n loadRef.current(inputValue, controller.signal).then(\n (next) => {\n if (mine <= applied.current) return;\n applied.current = mine;\n setOptions(next);\n setLoadError(null);\n setIsLoading(false);\n },\n (error: unknown) => {\n if (controller.signal.aborted || mine <= applied.current) return;\n applied.current = mine;\n setLoadError(error);\n setIsLoading(false);\n },\n );\n }, debounceMs);\n\n return () => clearTimeout(timer);\n }, [inputValue, debounceMs, minLength]);\n\n useEffect(() => () => inFlight.current?.abort(), []);\n\n const onInputChange = useCallback((next: string) => setInputValue(next), []);\n\n return { options, isLoading, loadError, inputValue, onInputChange };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAasR,IAAaC;AAG1B,SAAgBC,EAAS,GAAW,GAA4B;CAC9D,IAAM,CAACC,GAAIC,KAAMC,EAAM;CAIvB,OAHIC,KAAKH,IAAWE,EAAM,OACtBC,KAAKF,IAAWC,EAAM,OACtBC,KAAKD,EAAM,OAAaA,EAAM,QAAQA,EAAM,QAAQA,EAAM,UAAUC,IAAIH,MAAOE,EAAM,OAAOF,MACzFE,EAAM,SAASA,EAAM,OAAOA,EAAM,WAAWC,IAAID,EAAM,SAASD,IAAKC,EAAM;AACpF;;;ACSA,IAAME,KAAO,MAA0C;CACrD,IAAM,CAACC,GAAGC,GAAGC,KAAKC,GAAUC,CAAG;CAC/B,OAAO;EAACJ;EAAGC;EAAGC;CAAC;AACjB;AAGA,SAAgBG,EAAU,GAAc,GAAY,GAAW,IAA4B,CAAC,GAAW;CACrG,IAAM,EAAE,WAAQ,SAAS,SAAM,WAAW,cAAWC,GAC/CC,IAAIR,EAAIS,CAAI,GACZN,IAAIH,EAAIU,CAAE,GACVL,IAAMM,EAAUC,EAAgBJ,GAAGL,GAAGU,GAAGC,GAAOC,CAAG,CAAC;CAC1D,IAAI,CAACC,GAAQ,OAAOX;CACpB,IAAMY,IAAIC,EAAcb,CAAG,GACrBc,IAAIF,EAAE,IAAI,OAAOA,EAAE,IAAIC,EAAcP,EAAUC,EAAgBJ,GAAGL,GAAGU,GAAG,SAASE,CAAG,CAAC,CAAC,CAAC,CAAC;CAC9F,OAAOtB,EAAWwB,EAAE,GAAGtB,EAASsB,EAAE,GAAGD,CAAM,GAAGG,CAAC;AACjD;AAGA,SAAgBC,GAAU,GAAc,GAAY,GAAe,IAA4B,CAAC,GAAa;CAE3G,OADIC,KAAS,IAAUA,MAAU,IAAI,CAACf,EAAUG,GAAMC,GAAI,GAAGH,CAAO,CAAC,IAAI,CAAC,IACnE,MAAM,KAAK,EAAE,QAAQc,EAAM,IAAI,GAAG,MAAMf,EAAUG,GAAMC,GAAIY,KAAKD,IAAQ,IAAId,CAAO,CAAC;AAC9F;;;ACxBA,SAAgBgB,GAAwC,EACtD,SACA,gBAAa,KACb,eAAY,KACqC;CACjD,IAAM,CAACC,GAAYC,KAAiBC,EAAS,EAAE,GACzC,CAACnB,GAASoB,KAAcD,EAAwC,CAAC,CAAC,GAClE,CAACE,GAAWC,KAAgBH,EAAS,EAAK,GAC1C,CAACI,GAAWC,KAAgBL,EAAyB,IAAI,GAIzDM,IAAUC,EAAOC,CAAI;CAC3B,EAAQ,UAAUA;CAMlB,IAAMC,IAASF,EAAO,CAAC,GACjBG,IAAUH,EAAO,CAAC,GAClBI,IAAWJ,EAA+B,IAAI;CA4CpD,OA1CAK,QAAgB;EACd,IAAId,EAAW,SAASe,GAAW;GAMjC,AALAF,EAAS,SAAS,MAAM,GACxB,EAAS,UAAU,MACnB,EAAQ,UAAUF,EAAO,SACzBR,EAAW,CAAC,CAAC,GACbE,EAAa,EAAK,GAClBE,EAAa,IAAI;GACjB;EACF;EAEA,IAAMS,IAAQ,iBAAiB;GAC7B,IAAMC,IAAO,EAAEN,EAAO,SAChBO,IAAa,IAAI,gBAAgB;GAKvC,AAJAL,EAAS,SAAS,MAAM,GACxB,EAAS,UAAUK,GACnBb,EAAa,EAAI,GAEjBG,EAAQ,QAAQR,GAAYkB,EAAW,MAAM,CAAC,CAAC,MAC5C,MAAS;IACR,AAAID,KAAQL,EAAQ,YACpB,EAAQ,UAAUK,GAClBd,EAAWgB,CAAI,GACfZ,EAAa,IAAI,GACjBF,EAAa,EAAK;GACpB,IACC,MAAmB;IAClB,AAAIa,EAAW,OAAO,WAAWD,KAAQL,EAAQ,YACjD,EAAQ,UAAUK,GAClBV,EAAaa,CAAK,GAClBf,EAAa,EAAK;GACpB,CACF;EACF,GAAGgB,CAAU;EAEb,aAAa,aAAaL,CAAK;CACjC,GAAG;EAAChB;EAAYqB;EAAYN;CAAS,CAAC,GAEtCD,cAAsBD,EAAS,SAAS,MAAM,GAAG,CAAC,CAAC,GAI5C;EAAE;EAAS;EAAW;EAAW;EAAY,eAF9BS,IAAa,MAAiBrB,EAAckB,CAAI,GAAG,CAAC,CAEtB;CAAc;AACpE"}
1
+ {"version":3,"file":"index.js","names":["isDebugEnabled","ICON_PATHS","ICON_GROUPS","isFillable","ICON_FILLS","Icon","ModeLightIcon","FilterIcon","UngroupIcon","InfoIcon","DistributeVerticalIcon","StepBackIcon","ExpandIcon","TextIcon","ErrorIcon","StopIcon","GridIcon","ZoomInIcon","LayoutRowsIcon","LayersIcon","GroupIcon","ZoomOutIcon","LockIcon","LineIcon","HandIcon","FlipXIcon","UnlockIcon","FlipYIcon","VisibleIcon","ExportIcon","TuneIcon","FullscreenIcon","WarningIcon","ModeDarkIcon","HiddenIcon","DistributeHorizontalIcon","StarIcon","EllipseIcon","StepIcon","LayoutColumnsIcon","LassoIcon","LayoutGridIcon","MeasureIcon","LoupeIcon","ModeAutoIcon","CompareIcon","SendBackwardIcon","AlignLeftIcon","PencilIcon","CutIcon","SnapshotIcon","ArrowIcon","PolygonIcon","BusyIcon","RedoIcon","PageIcon","CheckIcon","RefreshIcon","CollapseIcon","SelectIcon","CloseIcon","SearchIcon","AlignCenterYIcon","PenIcon","FitIcon","UnknownIcon","EyedropperIcon","UndoIcon","BringForwardIcon","RandomizeIcon","CloneIcon","ResetIcon","AlignBottomIcon","PasteIcon","AlignRightIcon","PinIcon","ChevronIcon","RemoveIcon","LinkIcon","AlignCenterXIcon","PauseIcon","AlignTopIcon","PlayIcon","AddIcon","PanIcon","BringToFrontIcon","RectIcon","CopyIcon","SendToBackIcon","DuplicateIcon","StepForwardIcon","DeleteIcon","SortIcon","CrosshairIcon","SnapIcon","ImageIcon","solidColorOf","strokeColorOf","useOverlayPortal","nearestPortalHost","useAssignedPortalContainer","OverlayPortalProvider","Tooltip","TooltipTrigger","Focusable","keyGlyph","formatShortcutParts","formatShortcut","ActionBar","EDGE_PROFILES","Badge","useStance","BADGE_STATUS_ICONS","Button","CloseButton","Code","useReorderDragList","DisclosureMark","DisclosureRow","Disclosure","DataGrid","DetailRow","DetailList","DragGhost","DragGrip","detectPlatform","inferKeycapKind","KeySequence","keySpecFromKey","KeyCap","keySpecsFromMods","keySpecsFromShortcut","stepDecimals","plotToModel","niceTicks","formatTick","tickDecimals","niceStep","modelToPlot","Plot2D","sampleByInterpolation","functionLayerState","CurveEditor","createFunctionLayer","createSetCurveOp","LayeredCurveEditor","createKeyframeLayer","keyframeLayerState","applyKeyframeDrag","handleHalf","handleSize","HANDLE_SIZE_TOKENS","snapToNearest","CurveField","PropertyGroup","DialogRow","Subpanel","Dialog","PropertyList","PropertyRow","PropertyHelp","PropertySpan","PropertyField","PropertyNote","PropertyPanel","PropertyControl","createRecentColorsStore","useRecordRecentColor","useRecentColors","normalizeRecentColor","useRecentColorsStore","RecentColorsProvider","InlineRange","ColorField","SelectItem","SelectSection","Select","FontFamilySelect","fontWeightLabel","FontWeightSelect","Input","NumberField","UnitField","paintPreviewCss","Slider","ToggleBar","useRovingTabIndex","MeshEditor","isMeshPaint","MeshHandles","paintGradientTrack","GradientHandles","GradientEditor","SceneGradientHandles","seedPattern","PatternPicker","PaintInput","PaintField","fieldClasses","Field","RadioGroup","Radio","Switch","LayerList","moveLayers","useSceneLayerList","ItemList","ListEditor","ColorModeControl","ThemeSwitcher","COLOR_MODE_OPTIONS","OptionsBar","ButtonBar","prefRailItems","prefDisplayBounds","filterPrefSubtree","prefValueAtPath","isPrefLeaf","visiblePrefSubtree","prefFieldProps","effectiveSections","setAtPath","aggregateValue","kindBreakdown","classifyKind","nodeValueAt","MIXED","ToolOptionsBar","FillStrokeSwatch","SwatchGrid","STANDARD_PALETTE","BUILTIN_PALETTES","describeColor","BASIC_PALETTE","SwatchStrip","Powerline","gestureRouteSegments","GestureRoute","FallthroughDiagram","pickActiveSection","PrefsPane","PrefsForm","useScrollSpy","PrefsRail","PrefsDialog","SelectionPanel","ResizeHandle","Sidebar","SidebarPanel","StatusBarItem","StatusBarSpacer","StatusBar","ToolButton","ToolGroup","ToolPalette","Checkbox","Tabs","TabList","TabPanel","Tab","filterTree","treeBranchIds","Tree","MenuButton","ComboBoxItem","ComboBox","RangeSlider","DetentSlider","DialogTrigger","Callout","toast","defaultToastQueue","ToastQueue","createToastQueue","ToastRegion","PointPlotter","tokenCategory","refitScale","TOKEN_CATEGORIES","inferTokenType","TokenPanel","linearScale","logScale","BandEditor","Jog","EasingPicker","easingLabel","Transport","sampleEasing","Timeline","EASING_NAMES","samePath","easingBezier","AnimatedTimeline","oklchToHex","oklchDegToHex","chromaAt","lo","hi","curve","L","rgb","r","g","b","hexToRgba","hex","rampColor","options","a","from","to","rgbaToHex","interpolateSrgb","t","space","hue","chroma","s","hexToOklchDeg","H","colorRamp","steps","i","useAsyncOptions","inputValue","setInputValue","useState","setOptions","isLoading","setIsLoading","loadError","setLoadError","loadRef","useLatest","load","issued","useRef","applied","inFlight","useEffect","minLength","timer","mine","controller","next","error","debounceMs","useCallback","dlog"],"sources":["../src/color/oklch.ts","../src/color/ramp.ts","../src/useAsyncOptions.ts"],"sourcesContent":["// OKLCH math from Björn Ottosson: https://bottosson.github.io/posts/oklab/\nimport { oklchDegToHex } from '@weasel-js/core';\n\n/**\n * A chroma envelope over lightness, as three linear segments: flat at `cBot`\n * below `lRange[0]`, rising to `cPeak` at `midL`, falling to `cTop` at\n * `lRange[1]`, flat beyond. Keeps a color ramp inside gamut at the light and\n * dark ends while staying saturated through the middle.\n */\nexport type ChromaCurve = {\n lRange: [number, number];\n midL: number;\n cBot: number;\n cPeak: number;\n cTop: number;\n};\n\n/** A single lightness/chroma sample. */\nexport type ChromaCurvePoint = { L: number; C: number };\n\n/**\n * Converts an OKLCH color to a gamut-clipped `#rrggbb` string. Hue is in\n * degrees, unlike the kit's OKLab helpers which take radians.\n */\nexport const oklchToHex = oklchDegToHex;\n\n/** Evaluates a {@link ChromaCurve} at a lightness, clamping outside its range. */\nexport function chromaAt(L: number, curve: ChromaCurve): number {\n const [lo, hi] = curve.lRange;\n if (L <= lo) return curve.cBot;\n if (L >= hi) return curve.cTop;\n if (L <= curve.midL) return curve.cBot + (curve.cPeak - curve.cBot) * ((L - lo) / (curve.midL - lo));\n return curve.cPeak + (curve.cTop - curve.cPeak) * ((L - curve.midL) / (hi - curve.midL));\n}\n","import {\n hexToOklchDeg,\n hexToRgba,\n interpolateSrgb,\n rgbaToHex,\n type ColorInterpolationSpace,\n type HueInterpolation,\n} from '@weasel-js/core';\nimport { chromaAt, oklchToHex, type ChromaCurve } from './oklch';\n\n/**\n * How {@link rampColor} and {@link colorRamp} travel between two endpoints.\n *\n * What each space interpolates:\n *\n * | `space` | components lerped | hue |\n * | --------------- | ---------------------------- | -------------------- |\n * | `'oklch'` | L, C, H | around the wheel |\n * | `'hsl'` | H, S, L | around the wheel |\n * | `'oklab'` | L, a, b | through the wheel |\n * | `'srgb'` | gamma-encoded R, G, B | through the wheel |\n * | `'srgb-linear'` | linear-light R, G, B | through the wheel |\n *\n * A lightness ramp is two endpoints that differ in lightness, and a hue ramp\n * two that differ in hue: the polar spaces keep chroma or saturation fixed\n * while they move, and the others cut a straight line between the two colors,\n * which for a hue ramp passes through gray.\n *\n * `chroma` is an OKLCH envelope in every space, since {@link ChromaCurve}'s\n * numbers are OKLCH chroma over OKLCH lightness. It runs after the\n * interpolation: each sample keeps its lightness and hue, and its chroma is\n * replaced with the curve's value at that lightness. A sample left with no\n * hue (a gray midpoint) takes the hue an OKLCH ramp would have had there.\n */\nexport interface ColorRampOptions {\n /** Default `'oklch'`. */\n space?: ColorInterpolationSpace;\n /** Polar spaces only. Default `'shorter'`. */\n hue?: HueInterpolation;\n chroma?: ChromaCurve;\n}\n\nconst rgb = (hex: string): [number, number, number] => {\n const [r, g, b] = hexToRgba(hex);\n return [r, g, b];\n};\n\n/** One sample of a ramp from `from` to `to` (`#rrggbb`), `t` in 0..1. */\nexport function rampColor(from: string, to: string, t: number, options: ColorRampOptions = {}): string {\n const { space = 'oklch', hue = 'shorter', chroma } = options;\n const a = rgb(from);\n const b = rgb(to);\n const hex = rgbaToHex(interpolateSrgb(a, b, t, space, hue));\n if (!chroma) return hex;\n const s = hexToOklchDeg(hex);\n const H = s.C > 1e-4 ? s.H : hexToOklchDeg(rgbaToHex(interpolateSrgb(a, b, t, 'oklch', hue))).H;\n return oklchToHex(s.L, chromaAt(s.L, chroma), H);\n}\n\n/** `steps` evenly spaced samples from `from` to `to`, both ends included. */\nexport function colorRamp(from: string, to: string, steps: number, options: ColorRampOptions = {}): string[] {\n if (steps <= 1) return steps === 1 ? [rampColor(from, to, 0, options)] : [];\n return Array.from({ length: steps }, (_, i) => rampColor(from, to, i / (steps - 1), options));\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { useLatest } from '@weasel-js/core';\nimport type { ComboBoxOption } from './components/ComboBox/ComboBox';\n\ntype Key = string | number;\n\n/** An option list keyed to the value type its combo box commits. */\nexport type AsyncOption<T extends Key> = ComboBoxOption & { value: T };\n\n/** Options for {@link useAsyncOptions}. */\nexport type UseAsyncOptionsProps<T extends Key> = {\n /**\n * Fetches the options for a query. The signal aborts when a later keystroke\n * supersedes this call, so a `fetch` should forward it.\n */\n load: (query: string, signal: AbortSignal) => Promise<ReadonlyArray<AsyncOption<T>>>;\n /** Quiet period before a query is sent. */\n debounceMs?: number;\n /** Shorter queries are not sent, and empty the options. */\n minLength?: number;\n};\n\n/** What {@link useAsyncOptions} returns, shaped to spread into a `ComboBox`. */\nexport type AsyncOptionsResult<T extends Key> = {\n options: ReadonlyArray<AsyncOption<T>>;\n isLoading: boolean;\n loadError: unknown | null;\n inputValue: string;\n onInputChange: (next: string) => void;\n};\n\n/**\n * Drives a combo box whose options come from a server: debounces the query,\n * discards responses overtaken by a later one, and reports a failed load\n * separately from an empty result.\n *\n * `options` holds the last *resolved* list and is never emptied to mean\n * \"working\", so the previous results stay on screen — and stay arrowable —\n * while the next request is in flight.\n */\nexport function useAsyncOptions<T extends Key = string>({\n load,\n debounceMs = 150,\n minLength = 0,\n}: UseAsyncOptionsProps<T>): AsyncOptionsResult<T> {\n const [inputValue, setInputValue] = useState('');\n const [options, setOptions] = useState<ReadonlyArray<AsyncOption<T>>>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [loadError, setLoadError] = useState<unknown | null>(null);\n\n // Read through a ref: a consumer passing an inline arrow re-creates `load`\n // every render, and depending on it directly would refire the request.\n const loadRef = useLatest(load);\n\n // A monotonic id per request, and the highest one whose result has been\n // applied. A liveness flag cannot do this job: two requests from adjacent\n // keystrokes are both live, so the slower one overwrites the newer result\n // if it lands second.\n const issued = useRef(0);\n const applied = useRef(0);\n const inFlight = useRef<AbortController | null>(null);\n\n useEffect(() => {\n if (inputValue.length < minLength) {\n inFlight.current?.abort();\n inFlight.current = null;\n applied.current = issued.current;\n setOptions([]);\n setIsLoading(false);\n setLoadError(null);\n return;\n }\n\n const timer = setTimeout(() => {\n const mine = ++issued.current;\n const controller = new AbortController();\n inFlight.current?.abort();\n inFlight.current = controller;\n setIsLoading(true);\n\n loadRef.current(inputValue, controller.signal).then(\n (next) => {\n if (mine <= applied.current) return;\n applied.current = mine;\n setOptions(next);\n setLoadError(null);\n setIsLoading(false);\n },\n (error: unknown) => {\n if (controller.signal.aborted || mine <= applied.current) return;\n applied.current = mine;\n setLoadError(error);\n setIsLoading(false);\n },\n );\n }, debounceMs);\n\n return () => clearTimeout(timer);\n }, [inputValue, debounceMs, minLength, loadRef]);\n\n useEffect(() => () => inFlight.current?.abort(), []);\n\n const onInputChange = useCallback((next: string) => setInputValue(next), []);\n\n return { options, isLoading, loadError, inputValue, onInputChange };\n}\n"],"mappings":"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"}
@@ -16,6 +16,12 @@ export interface OverlayPortalProviderProps {
16
16
  * own `portalContainer` prop still wins.
17
17
  */
18
18
  export declare function OverlayPortalProvider({ container, children }: OverlayPortalProviderProps): import("react").JSX.Element;
19
+ /**
20
+ * The container an overlay has been *told* to use: its own `portalContainer`
21
+ * prop, else the nearest {@link OverlayPortalProvider}. `undefined` when
22
+ * neither said, which leaves the choice to the overlay.
23
+ */
24
+ export declare function useAssignedPortalContainer(explicit?: Element | null): Element | null | undefined;
19
25
  /** The `portalContainer` prop every weasel overlay accepts. */
20
26
  export interface OverlayPortalProps {
21
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"portalHost.d.ts","sourceRoot":"","sources":["../../src/overlays/portalHost.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAW/F;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAEtF;AAKD,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC,2EAA2E;IAC3E,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,0BAA0B,+BAIxF;AAED,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAED,mEAAmE;AACnE,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC;AAEzE;4EAC4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,wBAAwB,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG;IAC3D,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;CAClC,CAeA"}
1
+ {"version":3,"file":"portalHost.d.ts","sourceRoot":"","sources":["../../src/overlays/portalHost.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAW/F;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAEtF;AAKD,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC,2EAA2E;IAC3E,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,0BAA0B,+BAIxF;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAGhG;AAED,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAED,mEAAmE;AACnE,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC;AAEzE;4EAC4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,wBAAwB,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG;IAC3D,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;CAClC,CASA"}