@weasel-js/ui 1.5.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/ActionBar-CYvfmEz0.js +57 -0
- package/dist/chunks/ActionBar-CYvfmEz0.js.map +1 -0
- package/dist/chunks/{Badge-Bf8Rd1R6.js → Badge-DZ0lFs14.js} +755 -738
- package/dist/chunks/Badge-DZ0lFs14.js.map +1 -0
- package/dist/chunks/{BandEditor-D8I5Uun-.js → BandEditor-D-nVrVO4.js} +44 -44
- package/dist/chunks/BandEditor-D-nVrVO4.js.map +1 -0
- package/dist/chunks/Button-Dyp31jMt.js +111 -0
- package/dist/chunks/Button-Dyp31jMt.js.map +1 -0
- package/dist/chunks/ButtonBar-smZzFuEo.js +46 -0
- package/dist/chunks/ButtonBar-smZzFuEo.js.map +1 -0
- package/dist/chunks/Callout-xLjnx7Mp.js +119 -0
- package/dist/chunks/Callout-xLjnx7Mp.js.map +1 -0
- package/dist/chunks/{Checkbox-BZZsPaVF.js → Checkbox-ChZz30Ds.js} +5 -5
- package/dist/chunks/Checkbox-ChZz30Ds.js.map +1 -0
- package/dist/chunks/Code-v4tDWuuN.js +24 -0
- package/dist/chunks/Code-v4tDWuuN.js.map +1 -0
- package/dist/chunks/{ColorField-YVf8irfr.js → ColorField-DJSCuSJv.js} +15 -15
- package/dist/chunks/{ColorField-YVf8irfr.js.map → ColorField-DJSCuSJv.js.map} +1 -1
- package/dist/chunks/ColorModeControl-JOEiqtE0.js +47 -0
- package/dist/chunks/ColorModeControl-JOEiqtE0.js.map +1 -0
- package/dist/chunks/{ComboBox-D57tNYDD.js → ComboBox-C1JgIpML.js} +13 -13
- package/dist/chunks/ComboBox-C1JgIpML.js.map +1 -0
- package/dist/chunks/{CurveEditor-BXiMoN9d.js → CurveEditor-f1R4kSbD.js} +2 -2
- package/dist/chunks/{CurveEditor-BXiMoN9d.js.map → CurveEditor-f1R4kSbD.js.map} +1 -1
- package/dist/chunks/DataGrid-CZPrB_3a.js +152 -0
- package/dist/chunks/DataGrid-CZPrB_3a.js.map +1 -0
- package/dist/chunks/DetailList-DHaXX4TG.js +43 -0
- package/dist/chunks/DetailList-DHaXX4TG.js.map +1 -0
- package/dist/chunks/{DetentSlider-BWNSv07Z.js → DetentSlider-BYyaZha6.js} +2 -2
- package/dist/chunks/{DetentSlider-BWNSv07Z.js.map → DetentSlider-BYyaZha6.js.map} +1 -1
- package/dist/chunks/Dialog-GIvjoDQj.js +66 -0
- package/dist/chunks/Dialog-GIvjoDQj.js.map +1 -0
- package/dist/chunks/Disclosure-D79jhmh2.js +58 -0
- package/dist/chunks/Disclosure-D79jhmh2.js.map +1 -0
- package/dist/chunks/DragGhost-DcU7cOwy.js +30 -0
- package/dist/chunks/DragGhost-DcU7cOwy.js.map +1 -0
- package/dist/chunks/{DragHandleGlyph-CppAz4_8.js → DragHandleGlyph-BtBxHjZS.js} +1 -1
- package/dist/chunks/{DragHandleGlyph-CppAz4_8.js.map → DragHandleGlyph-BtBxHjZS.js.map} +1 -1
- package/dist/chunks/{Field-BNqvUJfg.js → Field-xbqRmjsI.js} +6 -6
- package/dist/chunks/Field-xbqRmjsI.js.map +1 -0
- package/dist/chunks/FillStrokeSwatch-BViKXIPx.js +111 -0
- package/dist/chunks/FillStrokeSwatch-BViKXIPx.js.map +1 -0
- package/dist/chunks/{FontFamilySelect-CO19kyOO.js → FontFamilySelect-r9TV_xIH.js} +2 -2
- package/dist/chunks/{FontFamilySelect-CO19kyOO.js.map → FontFamilySelect-r9TV_xIH.js.map} +1 -1
- package/dist/chunks/GradientEditor-BRTxHG-W.js +333 -0
- package/dist/chunks/GradientEditor-BRTxHG-W.js.map +1 -0
- package/dist/chunks/{Icon-QhLhaGFe.js → Icon-BW0qv_U7.js} +50 -21
- package/dist/chunks/Icon-BW0qv_U7.js.map +1 -0
- package/dist/chunks/InlineRange-BwGFDhpT.js +29 -0
- package/dist/chunks/InlineRange-BwGFDhpT.js.map +1 -0
- package/dist/chunks/{Input-B9Vh7ASP.js → Input-Bx2cuUbS.js} +24 -19
- package/dist/chunks/Input-Bx2cuUbS.js.map +1 -0
- package/dist/chunks/ItemList-DzJ2lK0R.js +175 -0
- package/dist/chunks/ItemList-DzJ2lK0R.js.map +1 -0
- package/dist/chunks/ItemList.module-DDUXfuZL.js +14 -0
- package/dist/chunks/ItemList.module-DDUXfuZL.js.map +1 -0
- package/dist/chunks/{Jog-BYrxbAQU.js → Jog-LPoac9s4.js} +10 -10
- package/dist/chunks/Jog-LPoac9s4.js.map +1 -0
- package/dist/chunks/{Keycaps-CGNQV2Pz.js → Keycaps-CKiKOJnJ.js} +75 -69
- package/dist/chunks/Keycaps-CKiKOJnJ.js.map +1 -0
- package/dist/chunks/LayerList-BeGrkLb9.js +427 -0
- package/dist/chunks/LayerList-BeGrkLb9.js.map +1 -0
- package/dist/chunks/ListEditor-C6zLzCsJ.js +74 -0
- package/dist/chunks/ListEditor-C6zLzCsJ.js.map +1 -0
- package/dist/chunks/MenuButton-BcdhrNGh.js +70 -0
- package/dist/chunks/MenuButton-BcdhrNGh.js.map +1 -0
- package/dist/chunks/MeshEditor-BOOIFWnz.js +87 -0
- package/dist/chunks/MeshEditor-BOOIFWnz.js.map +1 -0
- package/dist/chunks/{NumberField-CQzS6TjF.js → NumberField-C1Y7zP-a.js} +27 -22
- package/dist/chunks/NumberField-C1Y7zP-a.js.map +1 -0
- package/dist/chunks/{OptionsBar-BWaYG_OH.js → OptionsBar-DlcagPYK.js} +3 -3
- package/dist/chunks/{OptionsBar-BWaYG_OH.js.map → OptionsBar-DlcagPYK.js.map} +1 -1
- package/dist/chunks/{PaintField-BVYMu3OI.js → PaintField-B2mLRZa4.js} +20 -20
- package/dist/chunks/PaintField-B2mLRZa4.js.map +1 -0
- package/dist/chunks/{PaintInput-BzAHCKro.js → PaintInput-BFKhd83I.js} +27 -27
- package/dist/chunks/PaintInput-BFKhd83I.js.map +1 -0
- package/dist/chunks/{PatternPicker-C4OryrYi.js → PatternPicker-DdfpxoQy.js} +6 -6
- package/dist/chunks/PatternPicker-DdfpxoQy.js.map +1 -0
- package/dist/chunks/{Plot2D-Czvyt_vG.js → Plot2D-lyO7waPQ.js} +1 -1
- package/dist/chunks/{Plot2D-Czvyt_vG.js.map → Plot2D-lyO7waPQ.js.map} +1 -1
- package/dist/chunks/{PointPlotter-Xvb98GwB.js → PointPlotter-DGs9i5P-.js} +2 -2
- package/dist/chunks/{PointPlotter-Xvb98GwB.js.map → PointPlotter-DGs9i5P-.js.map} +1 -1
- package/dist/chunks/{Powerline-B_EH-7Z-.js → Powerline-DBEPceLE.js} +7 -5
- package/dist/chunks/Powerline-DBEPceLE.js.map +1 -0
- package/dist/chunks/Prefs-Ctu0H4-b.js +475 -0
- package/dist/chunks/Prefs-Ctu0H4-b.js.map +1 -0
- package/dist/chunks/Properties-Bbneh1ws.js +281 -0
- package/dist/chunks/Properties-Bbneh1ws.js.map +1 -0
- package/dist/chunks/PropertyField-CDb19d3F.js +756 -0
- package/dist/chunks/PropertyField-CDb19d3F.js.map +1 -0
- package/dist/chunks/{RadioGroup-C6xpdQNg.js → RadioGroup-BK2mD6Q0.js} +6 -6
- package/dist/chunks/RadioGroup-BK2mD6Q0.js.map +1 -0
- package/dist/chunks/{RangeSlider-CzgeGLVS.js → RangeSlider-BiRAOsTh.js} +8 -8
- package/dist/chunks/RangeSlider-BiRAOsTh.js.map +1 -0
- package/dist/chunks/{ResizeHandle-1Ey8AOij.js → ResizeHandle-Cc6EOehs.js} +9 -9
- package/dist/chunks/{ResizeHandle-1Ey8AOij.js.map → ResizeHandle-Cc6EOehs.js.map} +1 -1
- package/dist/chunks/Select-DVValBe1.js +225 -0
- package/dist/chunks/Select-DVValBe1.js.map +1 -0
- package/dist/chunks/SelectionPanel-C5LmZA7b.js +103 -0
- package/dist/chunks/SelectionPanel-C5LmZA7b.js.map +1 -0
- package/dist/chunks/{Sidebar-BlUjn8lD.js → Sidebar-DKKd4R-x.js} +4 -4
- package/dist/chunks/Sidebar-DKKd4R-x.js.map +1 -0
- package/dist/chunks/{SidebarPanel-BqHfz6VK.js → SidebarPanel-u5NsuAZY.js} +15 -19
- package/dist/chunks/SidebarPanel-u5NsuAZY.js.map +1 -0
- package/dist/chunks/{Slider-B2ywUZH6.js → Slider-BwRrWHFW.js} +58 -58
- package/dist/chunks/Slider-BwRrWHFW.js.map +1 -0
- package/dist/chunks/{StatusBar-BFt7Yw5O.js → StatusBar-CdPdmmda.js} +6 -6
- package/dist/chunks/StatusBar-CdPdmmda.js.map +1 -0
- package/dist/chunks/SwatchGrid-C-Zx2Exd.js +73 -0
- package/dist/chunks/SwatchGrid-C-Zx2Exd.js.map +1 -0
- package/dist/chunks/{Switch-Om3t3ASc.js → Switch-DxF7TsEu.js} +5 -5
- package/dist/chunks/Switch-DxF7TsEu.js.map +1 -0
- package/dist/chunks/{Tabs-EAvYywil.js → Tabs-GXEfoe3o.js} +5 -5
- package/dist/chunks/Tabs-GXEfoe3o.js.map +1 -0
- package/dist/chunks/{Timeline-BEyKaBXl.js → Timeline-SgmpQtUV.js} +128 -132
- package/dist/chunks/Timeline-SgmpQtUV.js.map +1 -0
- package/dist/chunks/{Toast-iqLDD_XZ.js → Toast-BfcljZz6.js} +15 -15
- package/dist/chunks/Toast-BfcljZz6.js.map +1 -0
- package/dist/chunks/ToggleBar-Btnl5r7F.js +80 -0
- package/dist/chunks/ToggleBar-Btnl5r7F.js.map +1 -0
- package/dist/chunks/TokenPanel-5ajHEHha.js +634 -0
- package/dist/chunks/TokenPanel-5ajHEHha.js.map +1 -0
- package/dist/chunks/{ToolButton-Dd-1T5aX.js → ToolButton-rzqlFlAc.js} +9 -9
- package/dist/chunks/ToolButton-rzqlFlAc.js.map +1 -0
- package/dist/chunks/{ToolGroup-BBI-W-Gm.js → ToolGroup-4bUBV5k6.js} +3 -3
- package/dist/chunks/ToolGroup-4bUBV5k6.js.map +1 -0
- package/dist/chunks/ToolOptionsBar-BF3TNXA3.js +85 -0
- package/dist/chunks/ToolOptionsBar-BF3TNXA3.js.map +1 -0
- package/dist/chunks/ToolPalette-Uw4PvWwa.js +83 -0
- package/dist/chunks/ToolPalette-Uw4PvWwa.js.map +1 -0
- package/dist/chunks/Tooltip-9XiJF937.js +42 -0
- package/dist/chunks/Tooltip-9XiJF937.js.map +1 -0
- package/dist/chunks/Tree-BGt6P8tI.js +203 -0
- package/dist/chunks/Tree-BGt6P8tI.js.map +1 -0
- package/dist/chunks/{createKeyframeLayer-7j7ukrSx.js → createKeyframeLayer-BzDRCrrh.js} +71 -71
- package/dist/chunks/{createKeyframeLayer-7j7ukrSx.js.map → createKeyframeLayer-BzDRCrrh.js.map} +1 -1
- package/dist/chunks/formatShortcut-BoGqUoWi.js +15 -0
- package/dist/chunks/formatShortcut-BoGqUoWi.js.map +1 -0
- package/dist/chunks/icons-DbScMMqX.js +179 -0
- package/dist/chunks/icons-DbScMMqX.js.map +1 -0
- package/dist/chunks/interactiveTarget-C7QUBaJN.js +24 -0
- package/dist/chunks/interactiveTarget-C7QUBaJN.js.map +1 -0
- package/dist/chunks/{keyGlyph-Bp0wnLHn.js → keyGlyph-CLvUHU8c.js} +1 -1
- package/dist/chunks/{keyGlyph-Bp0wnLHn.js.map → keyGlyph-CLvUHU8c.js.map} +1 -1
- package/dist/chunks/model-BQMvTLnW.js +360 -0
- package/dist/chunks/model-BQMvTLnW.js.map +1 -0
- package/dist/chunks/number-6S8IzXVt.js +89 -0
- package/dist/chunks/number-6S8IzXVt.js.map +1 -0
- package/dist/chunks/paintPreview-DPtZS4yU.js +42 -0
- package/dist/chunks/paintPreview-DPtZS4yU.js.map +1 -0
- package/dist/chunks/paintValue-Bz6AVuh3.js +18 -0
- package/dist/chunks/paintValue-Bz6AVuh3.js.map +1 -0
- package/dist/chunks/prefField-CLkhrvYl.js +197 -0
- package/dist/chunks/prefField-CLkhrvYl.js.map +1 -0
- package/dist/chunks/segmentTooltip-CAkZlW-t.js +29 -0
- package/dist/chunks/segmentTooltip-CAkZlW-t.js.map +1 -0
- package/dist/chunks/segmentedControl.module-D2nw68Yo.js +11 -0
- package/dist/chunks/segmentedControl.module-D2nw68Yo.js.map +1 -0
- package/dist/chunks/{snap-B0WQwetQ.js → snap-DC4Km8xG.js} +1 -1
- package/dist/chunks/{snap-B0WQwetQ.js.map → snap-DC4Km8xG.js.map} +1 -1
- package/dist/chunks/stance-CarrcbbP.js +17 -0
- package/dist/chunks/stance-CarrcbbP.js.map +1 -0
- package/dist/chunks/useReorderDragList-Dcezzgix.js +131 -0
- package/dist/chunks/useReorderDragList-Dcezzgix.js.map +1 -0
- package/dist/chunks/{useRovingTabIndex-Dkpf_KhN.js → useRovingTabIndex-B4uJqiKP.js} +1 -1
- package/dist/chunks/useRovingTabIndex-B4uJqiKP.js.map +1 -0
- package/dist/color/oklch.d.ts +2 -1
- package/dist/color/oklch.d.ts.map +1 -1
- package/dist/color/ramp.d.ts +38 -0
- package/dist/color/ramp.d.ts.map +1 -0
- package/dist/components/ActionBar/ActionBar.d.ts +6 -4
- package/dist/components/ActionBar/ActionBar.d.ts.map +1 -1
- package/dist/components/ActionBar/index.js +1 -1
- package/dist/components/Badge/Badge.d.ts +21 -7
- package/dist/components/Badge/Badge.d.ts.map +1 -1
- package/dist/components/Badge/effects/Aqua.d.ts +1 -1
- package/dist/components/Badge/effects/Aqua.d.ts.map +1 -1
- package/dist/components/Badge/index.d.ts +1 -1
- package/dist/components/Badge/index.d.ts.map +1 -1
- package/dist/components/Badge/index.js +1 -1
- package/dist/components/Badge/types.d.ts +6 -5
- package/dist/components/Badge/types.d.ts.map +1 -1
- package/dist/components/BandEditor/index.js +1 -1
- package/dist/components/Button/Button.d.ts +17 -3
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/index.d.ts +1 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +1 -1
- package/dist/components/ButtonBar/ButtonBar.d.ts +36 -0
- package/dist/components/ButtonBar/ButtonBar.d.ts.map +1 -0
- package/dist/components/ButtonBar/index.d.ts +3 -0
- package/dist/components/ButtonBar/index.d.ts.map +1 -0
- package/dist/components/ButtonBar/index.js +2 -0
- package/dist/components/Callout/Callout.d.ts +2 -5
- package/dist/components/Callout/Callout.d.ts.map +1 -1
- package/dist/components/Callout/index.d.ts +1 -1
- package/dist/components/Callout/index.d.ts.map +1 -1
- package/dist/components/Callout/index.js +1 -1
- package/dist/components/Checkbox/index.js +1 -1
- package/dist/components/Code/Code.d.ts +28 -0
- package/dist/components/Code/Code.d.ts.map +1 -0
- package/dist/components/Code/index.d.ts +3 -0
- package/dist/components/Code/index.d.ts.map +1 -0
- package/dist/components/Code/index.js +2 -0
- package/dist/components/ColorField/index.js +1 -1
- package/dist/components/ColorModeControl/ColorModeControl.d.ts +21 -0
- package/dist/components/ColorModeControl/ColorModeControl.d.ts.map +1 -0
- package/dist/components/ColorModeControl/index.d.ts +3 -0
- package/dist/components/ColorModeControl/index.d.ts.map +1 -0
- package/dist/components/ColorModeControl/index.js +2 -0
- package/dist/components/ComboBox/index.js +1 -1
- package/dist/components/CurveEditor/index.js +3 -3
- package/dist/components/DataGrid/DataGrid.d.ts +22 -0
- package/dist/components/DataGrid/DataGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/index.js +1 -1
- package/dist/components/DetailList/DetailList.d.ts +36 -0
- package/dist/components/DetailList/DetailList.d.ts.map +1 -0
- package/dist/components/DetailList/index.d.ts +3 -0
- package/dist/components/DetailList/index.d.ts.map +1 -0
- package/dist/components/DetailList/index.js +2 -0
- package/dist/components/DetentSlider/index.js +1 -1
- package/dist/components/Dialog/Dialog.d.ts +8 -2
- package/dist/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog/index.js +1 -1
- package/dist/components/Disclosure/Disclosure.d.ts +25 -17
- package/dist/components/Disclosure/Disclosure.d.ts.map +1 -1
- package/dist/components/Disclosure/index.d.ts +2 -2
- package/dist/components/Disclosure/index.d.ts.map +1 -1
- package/dist/components/Disclosure/index.js +2 -2
- package/dist/components/DragGhost/DragGhost.d.ts +21 -0
- package/dist/components/DragGhost/DragGhost.d.ts.map +1 -0
- package/dist/components/DragGhost/index.d.ts +3 -0
- package/dist/components/DragGhost/index.d.ts.map +1 -0
- package/dist/components/DragGhost/index.js +2 -0
- package/dist/components/DragHandleGlyph/index.js +1 -1
- package/dist/components/Field/index.js +1 -1
- package/dist/components/FillStrokeSwatch/FillStrokeSwatch.d.ts +45 -0
- package/dist/components/FillStrokeSwatch/FillStrokeSwatch.d.ts.map +1 -0
- package/dist/components/FillStrokeSwatch/index.d.ts +3 -0
- package/dist/components/FillStrokeSwatch/index.d.ts.map +1 -0
- package/dist/components/FillStrokeSwatch/index.js +2 -0
- package/dist/components/FontFamilySelect/index.js +1 -1
- package/dist/components/GradientEditor/SceneGradientHandles.d.ts.map +1 -1
- package/dist/components/GradientEditor/index.js +1 -1
- package/dist/components/InlineRange/InlineRange.d.ts +6 -2
- package/dist/components/InlineRange/InlineRange.d.ts.map +1 -1
- package/dist/components/InlineRange/index.js +1 -1
- package/dist/components/Input/Input.d.ts +13 -0
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/Input/index.js +1 -1
- package/dist/components/ItemList/ItemList.d.ts +70 -10
- package/dist/components/ItemList/ItemList.d.ts.map +1 -1
- package/dist/components/ItemList/index.js +1 -1
- package/dist/components/Jog/index.js +1 -1
- package/dist/components/Keycaps/index.d.ts +1 -0
- package/dist/components/Keycaps/index.d.ts.map +1 -1
- package/dist/components/Keycaps/index.js +3 -3
- package/dist/components/Keycaps/keySpecsFromMods.d.ts +2 -0
- package/dist/components/Keycaps/keySpecsFromMods.d.ts.map +1 -1
- package/dist/components/Keycaps/keySpecsFromShortcut.d.ts +16 -0
- package/dist/components/Keycaps/keySpecsFromShortcut.d.ts.map +1 -0
- package/dist/components/LayerList/LayerList.d.ts +79 -0
- package/dist/components/LayerList/LayerList.d.ts.map +1 -0
- package/dist/components/LayerList/index.d.ts +3 -0
- package/dist/components/LayerList/index.d.ts.map +1 -0
- package/dist/components/LayerList/index.js +2 -0
- package/dist/components/LayerList/useSceneLayerList.d.ts +20 -0
- package/dist/components/LayerList/useSceneLayerList.d.ts.map +1 -0
- package/dist/components/ListEditor/ListEditor.d.ts +23 -0
- package/dist/components/ListEditor/ListEditor.d.ts.map +1 -0
- package/dist/components/ListEditor/index.d.ts +3 -0
- package/dist/components/ListEditor/index.d.ts.map +1 -0
- package/dist/components/ListEditor/index.js +2 -0
- package/dist/components/MenuButton/MenuButton.d.ts +6 -2
- package/dist/components/MenuButton/MenuButton.d.ts.map +1 -1
- package/dist/components/MenuButton/index.js +1 -1
- package/dist/components/MeshEditor/index.js +1 -1
- package/dist/components/NumberField/NumberField.d.ts +13 -0
- package/dist/components/NumberField/NumberField.d.ts.map +1 -1
- package/dist/components/NumberField/UnitField.d.ts +2 -1
- package/dist/components/NumberField/UnitField.d.ts.map +1 -1
- package/dist/components/NumberField/index.js +1 -1
- package/dist/components/OptionsBar/index.js +1 -1
- package/dist/components/PaintField/index.js +1 -1
- package/dist/components/PaintInput/index.js +1 -1
- package/dist/components/PatternPicker/index.js +1 -1
- package/dist/components/Plot2D/index.js +1 -1
- package/dist/components/PointPlotter/index.js +1 -1
- package/dist/components/Powerline/Powerline.d.ts +4 -3
- package/dist/components/Powerline/Powerline.d.ts.map +1 -1
- package/dist/components/Powerline/index.js +2 -2
- package/dist/components/Prefs/PrefsDialog.d.ts +10 -2
- package/dist/components/Prefs/PrefsDialog.d.ts.map +1 -1
- package/dist/components/Prefs/PrefsForm.d.ts +26 -25
- package/dist/components/Prefs/PrefsForm.d.ts.map +1 -1
- package/dist/components/Prefs/PrefsPane.d.ts +24 -0
- package/dist/components/Prefs/PrefsPane.d.ts.map +1 -0
- package/dist/components/Prefs/PrefsRail.d.ts +32 -0
- package/dist/components/Prefs/PrefsRail.d.ts.map +1 -0
- package/dist/components/Prefs/PrefsRow.d.ts +32 -0
- package/dist/components/Prefs/PrefsRow.d.ts.map +1 -0
- package/dist/components/Prefs/index.d.ts +5 -2
- package/dist/components/Prefs/index.d.ts.map +1 -1
- package/dist/components/Prefs/index.js +3 -3
- package/dist/components/Prefs/prefField.d.ts +36 -0
- package/dist/components/Prefs/prefField.d.ts.map +1 -0
- package/dist/components/Prefs/schema.d.ts +32 -1
- package/dist/components/Prefs/schema.d.ts.map +1 -1
- package/dist/components/Properties/DialogRow.d.ts +33 -0
- package/dist/components/Properties/DialogRow.d.ts.map +1 -0
- package/dist/components/Properties/PropertyField.d.ts +238 -0
- package/dist/components/Properties/PropertyField.d.ts.map +1 -0
- package/dist/components/Properties/PropertyGroup.d.ts +18 -3
- package/dist/components/Properties/PropertyGroup.d.ts.map +1 -1
- package/dist/components/Properties/PropertyPanel.d.ts +50 -256
- package/dist/components/Properties/PropertyPanel.d.ts.map +1 -1
- package/dist/components/Properties/Subpanel.d.ts +14 -0
- package/dist/components/Properties/Subpanel.d.ts.map +1 -0
- package/dist/components/Properties/index.d.ts +8 -6
- package/dist/components/Properties/index.d.ts.map +1 -1
- package/dist/components/Properties/index.js +3 -2
- package/dist/components/Properties/storyLayouts.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.js +1 -1
- package/dist/components/RangeSlider/index.js +1 -1
- package/dist/components/ResizeHandle/index.js +1 -1
- package/dist/components/Select/Select.d.ts +56 -5
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/index.d.ts +2 -2
- package/dist/components/Select/index.d.ts.map +1 -1
- package/dist/components/Select/index.js +2 -2
- package/dist/components/SelectionPanel/SelectionPanel.d.ts +3 -50
- package/dist/components/SelectionPanel/SelectionPanel.d.ts.map +1 -1
- package/dist/components/SelectionPanel/index.js +3 -2
- package/dist/components/SelectionPanel/model.d.ts +4 -1
- package/dist/components/SelectionPanel/model.d.ts.map +1 -1
- package/dist/components/SelectionPanel/renderLeaf.d.ts +112 -0
- package/dist/components/SelectionPanel/renderLeaf.d.ts.map +1 -0
- package/dist/components/Sidebar/index.js +1 -1
- package/dist/components/SidebarPanel/SidebarPanel.d.ts +2 -2
- package/dist/components/SidebarPanel/SidebarPanel.d.ts.map +1 -1
- package/dist/components/SidebarPanel/index.js +1 -1
- package/dist/components/Slider/index.js +1 -1
- package/dist/components/StatusBar/index.js +1 -1
- package/dist/components/SwatchGrid/SwatchGrid.d.ts +34 -0
- package/dist/components/SwatchGrid/SwatchGrid.d.ts.map +1 -0
- package/dist/components/SwatchGrid/index.d.ts +3 -0
- package/dist/components/SwatchGrid/index.d.ts.map +1 -0
- package/dist/components/SwatchGrid/index.js +2 -0
- package/dist/components/Switch/index.js +1 -1
- package/dist/components/Tabs/index.js +1 -1
- package/dist/components/Timeline/Lane.d.ts.map +1 -1
- package/dist/components/Timeline/index.js +1 -1
- package/dist/components/Toast/index.js +1 -1
- package/dist/components/ToggleBar/ToggleBar.d.ts +2 -1
- package/dist/components/ToggleBar/ToggleBar.d.ts.map +1 -1
- package/dist/components/ToggleBar/index.js +1 -1
- package/dist/components/TokenPanel/TokenPanel.d.ts +10 -4
- package/dist/components/TokenPanel/TokenPanel.d.ts.map +1 -1
- package/dist/components/TokenPanel/index.d.ts +2 -2
- package/dist/components/TokenPanel/index.d.ts.map +1 -1
- package/dist/components/TokenPanel/index.js +2 -2
- package/dist/components/TokenPanel/tokenTypes.d.ts +24 -0
- package/dist/components/TokenPanel/tokenTypes.d.ts.map +1 -1
- package/dist/components/ToolButton/index.js +1 -1
- package/dist/components/ToolGroup/index.js +1 -1
- package/dist/components/ToolOptionsBar/ToolOptionsBar.d.ts +29 -18
- package/dist/components/ToolOptionsBar/ToolOptionsBar.d.ts.map +1 -1
- package/dist/components/ToolOptionsBar/index.js +1 -1
- package/dist/components/ToolPalette/ToolPalette.d.ts +5 -4
- package/dist/components/ToolPalette/ToolPalette.d.ts.map +1 -1
- package/dist/components/ToolPalette/index.d.ts +1 -0
- package/dist/components/ToolPalette/index.d.ts.map +1 -1
- package/dist/components/ToolPalette/index.js +3 -2
- package/dist/components/Tooltip/Tooltip.d.ts +6 -2
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/index.d.ts +1 -1
- package/dist/components/Tooltip/index.d.ts.map +1 -1
- package/dist/components/Tooltip/index.js +2 -2
- package/dist/components/Tree/Tree.d.ts +84 -0
- package/dist/components/Tree/Tree.d.ts.map +1 -0
- package/dist/components/Tree/index.d.ts +3 -0
- package/dist/components/Tree/index.d.ts.map +1 -0
- package/dist/components/Tree/index.js +2 -0
- package/dist/components/segmentTooltip.d.ts +30 -0
- package/dist/components/segmentTooltip.d.ts.map +1 -0
- package/dist/components/stance.d.ts +30 -0
- package/dist/components/stance.d.ts.map +1 -0
- package/dist/components/stanceCss.d.ts +31 -0
- package/dist/components/stanceCss.d.ts.map +1 -0
- package/dist/components/stanceSurfaces.d.ts +4 -0
- package/dist/components/stanceSurfaces.d.ts.map +1 -0
- package/dist/format/number.d.ts +13 -3
- package/dist/format/number.d.ts.map +1 -1
- package/dist/icons/Icon.d.ts.map +1 -1
- package/dist/icons/ShapeKindIcon.d.ts +10 -0
- package/dist/icons/ShapeKindIcon.d.ts.map +1 -0
- package/dist/icons/index.d.ts +5 -3
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/paths.d.ts +11 -1
- package/dist/icons/paths.d.ts.map +1 -1
- package/dist/index.d.ts +16 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +110 -84
- package/dist/index.js.map +1 -1
- package/dist/interactiveTarget.d.ts +9 -0
- package/dist/interactiveTarget.d.ts.map +1 -0
- package/dist/style.css +1 -1
- package/dist/useReorderDragList.d.ts +36 -7
- package/dist/useReorderDragList.d.ts.map +1 -1
- package/dist/useRovingTabIndex.d.ts +8 -6
- package/dist/useRovingTabIndex.d.ts.map +1 -1
- package/dist/useScrollSpy.d.ts +48 -0
- package/dist/useScrollSpy.d.ts.map +1 -0
- package/package.json +8 -8
- package/dist/chunks/ActionBar-GZdcfdQL.js +0 -62
- package/dist/chunks/ActionBar-GZdcfdQL.js.map +0 -1
- package/dist/chunks/ActionsBar-Fhx_40iP.js +0 -41
- package/dist/chunks/ActionsBar-Fhx_40iP.js.map +0 -1
- package/dist/chunks/Badge-Bf8Rd1R6.js.map +0 -1
- package/dist/chunks/BandEditor-D8I5Uun-.js.map +0 -1
- package/dist/chunks/Button-CExdkQcU.js +0 -90
- package/dist/chunks/Button-CExdkQcU.js.map +0 -1
- package/dist/chunks/Callout-cx5_CWcW.js +0 -122
- package/dist/chunks/Callout-cx5_CWcW.js.map +0 -1
- package/dist/chunks/Checkbox-BZZsPaVF.js.map +0 -1
- package/dist/chunks/ComboBox-D57tNYDD.js.map +0 -1
- package/dist/chunks/DataGrid-BVdDMZkQ.js +0 -104
- package/dist/chunks/DataGrid-BVdDMZkQ.js.map +0 -1
- package/dist/chunks/Dialog-DuOzsR2g.js +0 -61
- package/dist/chunks/Dialog-DuOzsR2g.js.map +0 -1
- package/dist/chunks/Disclosure-9UgDzc7Z.js +0 -47
- package/dist/chunks/Disclosure-9UgDzc7Z.js.map +0 -1
- package/dist/chunks/Field-BNqvUJfg.js.map +0 -1
- package/dist/chunks/GradientEditor-B_ymIr4Q.js +0 -333
- package/dist/chunks/GradientEditor-B_ymIr4Q.js.map +0 -1
- package/dist/chunks/Icon-QhLhaGFe.js.map +0 -1
- package/dist/chunks/InlineRange-DdIlfGqG.js +0 -29
- package/dist/chunks/InlineRange-DdIlfGqG.js.map +0 -1
- package/dist/chunks/Input-B9Vh7ASP.js.map +0 -1
- package/dist/chunks/ItemList-BZJQReXD.js +0 -42
- package/dist/chunks/ItemList-BZJQReXD.js.map +0 -1
- package/dist/chunks/Jog-BYrxbAQU.js.map +0 -1
- package/dist/chunks/Keycaps-CGNQV2Pz.js.map +0 -1
- package/dist/chunks/LayerStack-DOylrQcm.js +0 -142
- package/dist/chunks/LayerStack-DOylrQcm.js.map +0 -1
- package/dist/chunks/MenuButton-DGE-0DP0.js +0 -60
- package/dist/chunks/MenuButton-DGE-0DP0.js.map +0 -1
- package/dist/chunks/MeshEditor-CHoGQ9K8.js +0 -123
- package/dist/chunks/MeshEditor-CHoGQ9K8.js.map +0 -1
- package/dist/chunks/NumberField-CQzS6TjF.js.map +0 -1
- package/dist/chunks/PaintField-BVYMu3OI.js.map +0 -1
- package/dist/chunks/PaintInput-BzAHCKro.js.map +0 -1
- package/dist/chunks/PatternPicker-C4OryrYi.js.map +0 -1
- package/dist/chunks/Powerline-B_EH-7Z-.js.map +0 -1
- package/dist/chunks/Prefs-FuaJBs3t.js +0 -308
- package/dist/chunks/Prefs-FuaJBs3t.js.map +0 -1
- package/dist/chunks/Properties-B3KU69NI.js +0 -874
- package/dist/chunks/Properties-B3KU69NI.js.map +0 -1
- package/dist/chunks/RadioGroup-C6xpdQNg.js.map +0 -1
- package/dist/chunks/RangeSlider-CzgeGLVS.js.map +0 -1
- package/dist/chunks/Select-BMYVh10x.js +0 -127
- package/dist/chunks/Select-BMYVh10x.js.map +0 -1
- package/dist/chunks/SelectionPanel-DTpcQidl.js +0 -572
- package/dist/chunks/SelectionPanel-DTpcQidl.js.map +0 -1
- package/dist/chunks/Sidebar-BlUjn8lD.js.map +0 -1
- package/dist/chunks/SidebarPanel-BqHfz6VK.js.map +0 -1
- package/dist/chunks/Slider-B2ywUZH6.js.map +0 -1
- package/dist/chunks/StatusBar-BFt7Yw5O.js.map +0 -1
- package/dist/chunks/Switch-Om3t3ASc.js.map +0 -1
- package/dist/chunks/Tabs-EAvYywil.js.map +0 -1
- package/dist/chunks/Timeline-BEyKaBXl.js.map +0 -1
- package/dist/chunks/Toast-iqLDD_XZ.js.map +0 -1
- package/dist/chunks/ToggleBar--9As2PWG.js +0 -75
- package/dist/chunks/ToggleBar--9As2PWG.js.map +0 -1
- package/dist/chunks/TokenPanel-BL9hlq7x.js +0 -374
- package/dist/chunks/TokenPanel-BL9hlq7x.js.map +0 -1
- package/dist/chunks/ToolButton-Dd-1T5aX.js.map +0 -1
- package/dist/chunks/ToolGroup-BBI-W-Gm.js.map +0 -1
- package/dist/chunks/ToolOptionsBar-B2xPWzJf.js +0 -27
- package/dist/chunks/ToolOptionsBar-B2xPWzJf.js.map +0 -1
- package/dist/chunks/ToolPalette-BmTDDpmz.js +0 -97
- package/dist/chunks/ToolPalette-BmTDDpmz.js.map +0 -1
- package/dist/chunks/Tooltip-BHre_vbI.js +0 -42
- package/dist/chunks/Tooltip-BHre_vbI.js.map +0 -1
- package/dist/chunks/icons-Btrs-JD7.js +0 -165
- package/dist/chunks/icons-Btrs-JD7.js.map +0 -1
- package/dist/chunks/number-f6PydOZK.js +0 -52
- package/dist/chunks/number-f6PydOZK.js.map +0 -1
- package/dist/chunks/range.module-DSsOIq1R.js +0 -8
- package/dist/chunks/range.module-DSsOIq1R.js.map +0 -1
- package/dist/chunks/schema-MCVT1MLv.js +0 -47
- package/dist/chunks/schema-MCVT1MLv.js.map +0 -1
- package/dist/chunks/segmentedControl.module-DmeUMYe3.js +0 -11
- package/dist/chunks/segmentedControl.module-DmeUMYe3.js.map +0 -1
- package/dist/chunks/useReorderDragList-CSQGd7zQ.js +0 -102
- package/dist/chunks/useReorderDragList-CSQGd7zQ.js.map +0 -1
- package/dist/chunks/useRovingTabIndex-Dkpf_KhN.js.map +0 -1
- package/dist/components/ActionsBar/ActionsBar.d.ts +0 -35
- package/dist/components/ActionsBar/ActionsBar.d.ts.map +0 -1
- package/dist/components/ActionsBar/index.d.ts +0 -3
- package/dist/components/ActionsBar/index.d.ts.map +0 -1
- package/dist/components/ActionsBar/index.js +0 -2
- package/dist/components/LayerStack/LayerStack.d.ts +0 -62
- package/dist/components/LayerStack/LayerStack.d.ts.map +0 -1
- package/dist/components/LayerStack/index.d.ts +0 -2
- package/dist/components/LayerStack/index.d.ts.map +0 -1
- package/dist/components/LayerStack/index.js +0 -2
- package/dist/components/Properties/EffectCard.d.ts +0 -69
- package/dist/components/Properties/EffectCard.d.ts.map +0 -1
- package/dist/components/Properties/PinDot.d.ts +0 -18
- package/dist/components/Properties/PinDot.d.ts.map +0 -1
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { n as e } from "./Disclosure-D79jhmh2.js";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef as r, useId as i, useMemo as a, useRef as o, useState as s } from "react";
|
|
4
|
+
var c = {
|
|
5
|
+
tree: "_tree_10k4o_1",
|
|
6
|
+
group: "_group_10k4o_2",
|
|
7
|
+
item: "_item_10k4o_19",
|
|
8
|
+
row: "_row_10k4o_23",
|
|
9
|
+
twisty: "_twisty_10k4o_61",
|
|
10
|
+
leading: "_leading_10k4o_75",
|
|
11
|
+
label: "_label_10k4o_81",
|
|
12
|
+
trailing: "_trailing_10k4o_88",
|
|
13
|
+
empty: "_empty_10k4o_95"
|
|
14
|
+
}, l = 500, u = r(function({ nodes: r, empty: u, className: d, "aria-label": f, "aria-labelledby": g, expandedIds: _, defaultExpandedIds: v, onExpandedChange: y, selectionMode: b = "none", selectedIds: x, defaultSelectedIds: S, onSelectionChange: C, onAction: w }, T) {
|
|
15
|
+
let [E, D] = h(_, v, y), [O, k] = h(x, S, C), A = b !== "none", j = i(), M = a(() => {
|
|
16
|
+
let e = [], t = (n, r, i) => {
|
|
17
|
+
for (let a of n) e.push({
|
|
18
|
+
node: a,
|
|
19
|
+
parentId: r,
|
|
20
|
+
level: i
|
|
21
|
+
}), a.children && E.has(a.id) && t(a.children, a.id, i + 1);
|
|
22
|
+
};
|
|
23
|
+
return t(r, null, 1), e;
|
|
24
|
+
}, [r, E]), N = a(() => new Map(M.map((e, t) => [e.node.id, t])), [M]), P = o(/* @__PURE__ */ new Map()), [F, I] = s(null), L = o(null), R = o({
|
|
25
|
+
text: "",
|
|
26
|
+
at: 0
|
|
27
|
+
}), z = F != null && N.has(F) ? F : (M.find((e) => A && O.has(e.node.id)) ?? M[0])?.node.id;
|
|
28
|
+
if (r.length === 0) return /* @__PURE__ */ t("div", {
|
|
29
|
+
className: [c.empty, d].filter(Boolean).join(" "),
|
|
30
|
+
children: u ?? "—"
|
|
31
|
+
});
|
|
32
|
+
let B = (e) => {
|
|
33
|
+
e != null && P.current.get(e)?.focus();
|
|
34
|
+
}, V = (e) => {
|
|
35
|
+
if (!e.children || e.disabled) return;
|
|
36
|
+
let t = new Set(E);
|
|
37
|
+
t.has(e.id) ? t.delete(e.id) : t.add(e.id), D(t);
|
|
38
|
+
}, H = (e, t) => {
|
|
39
|
+
let n;
|
|
40
|
+
if (b === "multiple" && t.shiftKey && L.current != null && N.has(L.current)) {
|
|
41
|
+
let t = N.get(L.current), r = N.get(e);
|
|
42
|
+
n = new Set(M.slice(Math.min(t, r), Math.max(t, r) + 1).filter((e) => !e.node.disabled).map((e) => e.node.id));
|
|
43
|
+
} else b === "multiple" && (t.metaKey || t.ctrlKey) ? (n = new Set(O), n.has(e) ? n.delete(e) : n.add(e), L.current = e) : (n = new Set([e]), L.current = e);
|
|
44
|
+
(n.size !== O.size || [...n].some((e) => !O.has(e))) && k(n);
|
|
45
|
+
}, U = (e, t) => {
|
|
46
|
+
e.disabled || (V(e), A && H(e.id, t), w?.(e.id, t));
|
|
47
|
+
}, W = (e) => (t) => {
|
|
48
|
+
if (t.target !== t.currentTarget) return;
|
|
49
|
+
let n = N.get(e.node.id), { node: r } = e, i = !!r.children && E.has(r.id);
|
|
50
|
+
switch (t.key) {
|
|
51
|
+
case "ArrowDown":
|
|
52
|
+
t.preventDefault(), B(M[Math.min(n + 1, M.length - 1)].node.id);
|
|
53
|
+
return;
|
|
54
|
+
case "ArrowUp":
|
|
55
|
+
t.preventDefault(), B(M[Math.max(n - 1, 0)].node.id);
|
|
56
|
+
return;
|
|
57
|
+
case "Home":
|
|
58
|
+
t.preventDefault(), B(M[0].node.id);
|
|
59
|
+
return;
|
|
60
|
+
case "End":
|
|
61
|
+
t.preventDefault(), B(M[M.length - 1].node.id);
|
|
62
|
+
return;
|
|
63
|
+
case "ArrowRight":
|
|
64
|
+
if (!r.children) return;
|
|
65
|
+
t.preventDefault(), i ? B(r.children[0]?.id) : V(r);
|
|
66
|
+
return;
|
|
67
|
+
case "ArrowLeft":
|
|
68
|
+
t.preventDefault(), i ? V(r) : B(e.parentId ?? void 0);
|
|
69
|
+
return;
|
|
70
|
+
case "Enter":
|
|
71
|
+
case " ":
|
|
72
|
+
t.preventDefault(), U(r, m(t));
|
|
73
|
+
return;
|
|
74
|
+
default:
|
|
75
|
+
if (t.key.length !== 1 || t.ctrlKey || t.metaKey || t.altKey) return;
|
|
76
|
+
G(t, n);
|
|
77
|
+
}
|
|
78
|
+
}, G = (e, t) => {
|
|
79
|
+
let n = Date.now(), r = R.current;
|
|
80
|
+
r.text = n - r.at > l ? e.key : r.text + e.key, r.at = n;
|
|
81
|
+
let i = r.text.toLowerCase(), a = r.text.length === 1 ? t + 1 : t;
|
|
82
|
+
for (let t = 0; t < M.length; t++) {
|
|
83
|
+
let n = M[(a + t) % M.length];
|
|
84
|
+
if (p(n.node).toLowerCase().startsWith(i)) {
|
|
85
|
+
e.preventDefault(), B(n.node.id);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}, K = (e) => (t) => U(e, m(t)), q = (e) => (t) => {
|
|
90
|
+
t.stopPropagation(), V(e);
|
|
91
|
+
}, J = (e) => (t) => {
|
|
92
|
+
t ? P.current.set(e, t) : P.current.delete(e);
|
|
93
|
+
}, Y = 0, X = (r, i, a) => r.map((o, s) => {
|
|
94
|
+
let l = Y++, u = !!o.children, d = u && E.has(o.id), f = `${j}-${l}`, p = o.trailing == null ? void 0 : `${j}-${l}-t`;
|
|
95
|
+
return /* @__PURE__ */ n("li", {
|
|
96
|
+
ref: J(o.id),
|
|
97
|
+
role: "treeitem",
|
|
98
|
+
className: [c.item, o.className].filter(Boolean).join(" "),
|
|
99
|
+
"aria-level": a,
|
|
100
|
+
"aria-setsize": r.length,
|
|
101
|
+
"aria-posinset": s + 1,
|
|
102
|
+
"aria-expanded": u ? d : void 0,
|
|
103
|
+
"aria-selected": A ? O.has(o.id) : void 0,
|
|
104
|
+
"aria-disabled": o.disabled || void 0,
|
|
105
|
+
"aria-labelledby": p ? `${f} ${p}` : f,
|
|
106
|
+
"data-muted": o.muted ? "true" : void 0,
|
|
107
|
+
tabIndex: o.id === z ? 0 : -1,
|
|
108
|
+
onKeyDown: W({
|
|
109
|
+
node: o,
|
|
110
|
+
parentId: i,
|
|
111
|
+
level: a
|
|
112
|
+
}),
|
|
113
|
+
onFocus: (e) => {
|
|
114
|
+
e.target === e.currentTarget && I(o.id);
|
|
115
|
+
},
|
|
116
|
+
children: [/* @__PURE__ */ n("div", {
|
|
117
|
+
className: c.row,
|
|
118
|
+
onClick: K(o),
|
|
119
|
+
children: [
|
|
120
|
+
/* @__PURE__ */ t("span", {
|
|
121
|
+
className: c.twisty,
|
|
122
|
+
"aria-hidden": "true",
|
|
123
|
+
onClick: u ? q(o) : void 0,
|
|
124
|
+
children: u && /* @__PURE__ */ t(e, { open: d })
|
|
125
|
+
}),
|
|
126
|
+
o.leading != null && /* @__PURE__ */ t("span", {
|
|
127
|
+
className: c.leading,
|
|
128
|
+
children: o.leading
|
|
129
|
+
}),
|
|
130
|
+
/* @__PURE__ */ t("span", {
|
|
131
|
+
id: f,
|
|
132
|
+
className: c.label,
|
|
133
|
+
children: o.label
|
|
134
|
+
}),
|
|
135
|
+
p && /* @__PURE__ */ t("span", {
|
|
136
|
+
id: p,
|
|
137
|
+
className: c.trailing,
|
|
138
|
+
children: o.trailing
|
|
139
|
+
})
|
|
140
|
+
]
|
|
141
|
+
}), d && o.children.length > 0 && /* @__PURE__ */ t("ul", {
|
|
142
|
+
role: "group",
|
|
143
|
+
className: c.group,
|
|
144
|
+
children: X(o.children, o.id, a + 1)
|
|
145
|
+
})]
|
|
146
|
+
}, o.id);
|
|
147
|
+
});
|
|
148
|
+
return /* @__PURE__ */ t("ul", {
|
|
149
|
+
ref: T,
|
|
150
|
+
role: "tree",
|
|
151
|
+
className: [c.tree, d].filter(Boolean).join(" "),
|
|
152
|
+
"aria-label": f,
|
|
153
|
+
"aria-labelledby": g,
|
|
154
|
+
"aria-multiselectable": b === "multiple" || void 0,
|
|
155
|
+
children: X(r, null, 1)
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
function d(e, t) {
|
|
159
|
+
let n = !1, r = [];
|
|
160
|
+
for (let i of e) {
|
|
161
|
+
if (t(i)) {
|
|
162
|
+
r.push(i);
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
let e = i.children ? d(i.children, t) : [];
|
|
166
|
+
if (e.length === 0) {
|
|
167
|
+
n = !0;
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
e !== i.children && (n = !0), r.push(e === i.children ? i : {
|
|
171
|
+
...i,
|
|
172
|
+
children: e
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
return n ? r : e;
|
|
176
|
+
}
|
|
177
|
+
function f(e) {
|
|
178
|
+
let t = [], n = (e) => {
|
|
179
|
+
for (let r of e) r.children && (t.push(r.id), n(r.children));
|
|
180
|
+
};
|
|
181
|
+
return n(e), t;
|
|
182
|
+
}
|
|
183
|
+
function p(e) {
|
|
184
|
+
return e.textValue ?? (typeof e.label == "string" ? e.label : "");
|
|
185
|
+
}
|
|
186
|
+
function m(e) {
|
|
187
|
+
return {
|
|
188
|
+
shiftKey: e.shiftKey,
|
|
189
|
+
ctrlKey: e.ctrlKey,
|
|
190
|
+
metaKey: e.metaKey,
|
|
191
|
+
altKey: e.altKey
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
function h(e, t, n) {
|
|
195
|
+
let [r, i] = s(() => new Set(t));
|
|
196
|
+
return [a(() => e === void 0 ? void 0 : new Set(e), [e]) ?? r, (t) => {
|
|
197
|
+
e === void 0 && i(t), n?.(t);
|
|
198
|
+
}];
|
|
199
|
+
}
|
|
200
|
+
//#endregion
|
|
201
|
+
export { d as n, f as r, u as t };
|
|
202
|
+
|
|
203
|
+
//# sourceMappingURL=Tree-BGt6P8tI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tree-BGt6P8tI.js","names":[],"sources":["../../src/components/Tree/Tree.module.css","../../src/components/Tree/Tree.tsx"],"sourcesContent":[".tree,\n.group {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.tree {\n user-select: none;\n -webkit-user-select: none;\n width: 100%;\n}\n\n/* One twisty and one gap, so a child's twisty sits under its parent's label. */\n.group {\n padding-inline-start: var(--wzl-tree-indent, calc(var(--wzl-control-h-xs) + var(--wzl-space-2)));\n}\n\n.item {\n outline: none;\n}\n\n.row {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-2);\n padding: 0 var(--wzl-space-2) 0 0;\n height: var(--wzl-control-h);\n font-size: var(--wzl-font-size-sm);\n color: var(--wzl-fg);\n border-radius: var(--wzl-radius-sm);\n cursor: default;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.row:hover {\n background: var(--wzl-surface);\n}\n\n.item:focus-visible > .row {\n outline: 2px solid var(--wzl-focus-ring);\n outline-offset: -2px;\n}\n\n.item[aria-selected='true'] > .row {\n background: var(--wzl-border);\n}\n\n.item[data-muted] > .row {\n color: var(--wzl-fg-subtle);\n}\n\n.item[aria-disabled='true'] > .row {\n color: var(--wzl-fg-subtle);\n cursor: not-allowed;\n}\n\n/* A leaf keeps the empty box, so labels at one level line up whether or not\n their rows are branches. */\n.twisty {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wzl-control-h-xs);\n align-self: stretch;\n color: var(--wzl-fg-muted);\n}\n\n.row:hover > .twisty {\n color: var(--wzl-fg);\n}\n\n.leading {\n flex: none;\n display: inline-flex;\n align-items: center;\n}\n\n.label {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.trailing {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wzl-space-2);\n}\n\n.empty {\n padding: var(--wzl-space-6) var(--wzl-space-4);\n font-size: var(--wzl-font-size-sm);\n color: var(--wzl-fg-subtle);\n font-style: italic;\n}\n","/**\n * A hierarchy of rows that expand and collapse: a file tree, a registry\n * browser, an outline.\n *\n * **Semantics.** WAI-ARIA `tree`: each node is a `treeitem` carrying\n * `aria-level`, `aria-setsize` and `aria-posinset`; a branch carries\n * `aria-expanded` and nests its children in a `group`, which is rendered only\n * while the branch is open. `aria-selected` appears only when `selectionMode`\n * is set. A treeitem may not contain interactive content, so `leading` and\n * `trailing` are decoration — an icon, a count — and the twisty is a drawn\n * `DisclosureMark`, not a button.\n *\n * **Keyboard.** One treeitem is in the tab order: the one last focused, else\n * the first selected, else the first. Up/Down move between visible rows,\n * Home/End go to the first and last. Right opens a closed branch, then moves\n * into it; Left closes an open branch, else moves to the parent. Enter and\n * Space activate, as a click does. Typing moves to the next row whose text\n * starts with what was typed.\n *\n * **Activating** a row — click, Enter, Space — toggles it if it is a branch,\n * selects it under `selectionMode`, and calls `onAction`. Clicking the twisty\n * only toggles.\n *\n * **Filtering** is the consumer's: narrow `nodes` with `filterTree`, and pass\n * `treeBranchIds` of the result as `expandedIds` so every match shows.\n */\nimport {\n forwardRef,\n useId,\n useMemo,\n useRef,\n useState,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport type { PressModifiers } from '../../useReorderDragList';\nimport { DisclosureMark } from '../Disclosure';\nimport s from './Tree.module.css';\n\n/** One node. A node with `children` is a branch, even when the array is empty. */\nexport interface TreeNode {\n /** Unique across the whole tree. */\n id: string;\n label: ReactNode;\n /** What type-ahead matches against. Defaults to `label` when that is a string. */\n textValue?: string;\n /** Decoration before the label — an icon. Not a control. */\n leading?: ReactNode;\n /** Decoration after the label — a count badge. Not a control. Read as part\n * of the row's accessible name. */\n trailing?: ReactNode;\n children?: readonly TreeNode[];\n /** Present but not in effect. */\n muted?: boolean;\n /** Focusable and announced, but cannot be activated, expanded or selected. */\n disabled?: boolean;\n className?: string;\n}\n\n/** Whether and how rows are selectable. */\nexport type TreeSelectionMode = 'none' | 'single' | 'multiple';\n\nexport interface TreeProps {\n nodes: readonly TreeNode[];\n /** Shown in place of the tree when `nodes` is empty. */\n empty?: ReactNode;\n className?: string;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n\n /** Open branches, controlled. */\n expandedIds?: Iterable<string>;\n /** Open branches on first render, when uncontrolled. */\n defaultExpandedIds?: Iterable<string>;\n /** The whole set a toggle would produce. Called whether or not controlled. */\n onExpandedChange?(ids: Set<string>): void;\n\n /** Default `'none'`. `'multiple'` adds to the selection with Cmd/Ctrl and\n * extends it over visible rows with Shift. */\n selectionMode?: TreeSelectionMode;\n /** Selected rows, controlled. */\n selectedIds?: Iterable<string>;\n /** Selected rows on first render, when uncontrolled. */\n defaultSelectedIds?: Iterable<string>;\n /** The whole set an activation would produce, when it differs. */\n onSelectionChange?(ids: Set<string>): void;\n\n /** A row was activated — click, Enter or Space — with the modifiers held. */\n onAction?(id: string, mods: PressModifiers): void;\n}\n\ninterface Visible {\n node: TreeNode;\n parentId: string | null;\n level: number;\n}\n\nconst TYPEAHEAD_MS = 500;\n\nexport const Tree = forwardRef(function Tree(\n {\n nodes, empty, className,\n 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy,\n expandedIds, defaultExpandedIds, onExpandedChange,\n selectionMode = 'none', selectedIds, defaultSelectedIds, onSelectionChange,\n onAction,\n }: TreeProps,\n ref: Ref<HTMLUListElement>,\n) {\n const [expanded, setExpanded] = useControlledSet(expandedIds, defaultExpandedIds, onExpandedChange);\n const [selected, setSelected] = useControlledSet(selectedIds, defaultSelectedIds, onSelectionChange);\n const selectable = selectionMode !== 'none';\n const baseId = useId();\n\n const visible = useMemo(() => {\n const out: Visible[] = [];\n const walk = (list: readonly TreeNode[], parentId: string | null, level: number) => {\n for (const node of list) {\n out.push({ node, parentId, level });\n if (node.children && expanded.has(node.id)) walk(node.children, node.id, level + 1);\n }\n };\n walk(nodes, null, 1);\n return out;\n }, [nodes, expanded]);\n const indexOf = useMemo(() => new Map(visible.map((v, i) => [v.node.id, i])), [visible]);\n\n const items = useRef(new Map<string, HTMLLIElement>());\n const [focusId, setFocusId] = useState<string | null>(null);\n const anchor = useRef<string | null>(null);\n const typed = useRef({ text: '', at: 0 });\n\n const stopId = focusId != null && indexOf.has(focusId)\n ? focusId\n : (visible.find((v) => selectable && selected.has(v.node.id)) ?? visible[0])?.node.id;\n\n if (nodes.length === 0) {\n return <div className={[s.empty, className].filter(Boolean).join(' ')}>{empty ?? '—'}</div>;\n }\n\n const focus = (id: string | undefined) => { if (id != null) items.current.get(id)?.focus(); };\n\n const toggle = (node: TreeNode) => {\n if (!node.children || node.disabled) return;\n const next = new Set(expanded);\n if (next.has(node.id)) next.delete(node.id);\n else next.add(node.id);\n setExpanded(next);\n };\n\n const select = (id: string, mods: PressModifiers) => {\n let next: Set<string>;\n if (selectionMode === 'multiple' && mods.shiftKey && anchor.current != null && indexOf.has(anchor.current)) {\n const a = indexOf.get(anchor.current)!;\n const b = indexOf.get(id)!;\n next = new Set(visible.slice(Math.min(a, b), Math.max(a, b) + 1)\n .filter((v) => !v.node.disabled).map((v) => v.node.id));\n } else if (selectionMode === 'multiple' && (mods.metaKey || mods.ctrlKey)) {\n next = new Set(selected);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n anchor.current = id;\n } else {\n next = new Set([id]);\n anchor.current = id;\n }\n if (next.size !== selected.size || [...next].some((x) => !selected.has(x))) setSelected(next);\n };\n\n const activate = (node: TreeNode, mods: PressModifiers) => {\n if (node.disabled) return;\n toggle(node);\n if (selectable) select(node.id, mods);\n onAction?.(node.id, mods);\n };\n\n const onKeyDown = (v: Visible) => (e: KeyboardEvent<HTMLLIElement>) => {\n if (e.target !== e.currentTarget) return;\n const i = indexOf.get(v.node.id)!;\n const { node } = v;\n const open = !!node.children && expanded.has(node.id);\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n focus(visible[Math.min(i + 1, visible.length - 1)].node.id);\n return;\n case 'ArrowUp':\n e.preventDefault();\n focus(visible[Math.max(i - 1, 0)].node.id);\n return;\n case 'Home':\n e.preventDefault();\n focus(visible[0].node.id);\n return;\n case 'End':\n e.preventDefault();\n focus(visible[visible.length - 1].node.id);\n return;\n case 'ArrowRight':\n if (!node.children) return;\n e.preventDefault();\n if (!open) toggle(node);\n else focus(node.children[0]?.id);\n return;\n case 'ArrowLeft':\n e.preventDefault();\n if (open) toggle(node);\n else focus(v.parentId ?? undefined);\n return;\n case 'Enter':\n case ' ':\n e.preventDefault();\n activate(node, modsOf(e));\n return;\n default:\n if (e.key.length !== 1 || e.ctrlKey || e.metaKey || e.altKey) return;\n typeAhead(e, i);\n }\n };\n\n const typeAhead = (e: KeyboardEvent, from: number) => {\n const now = Date.now();\n const t = typed.current;\n t.text = now - t.at > TYPEAHEAD_MS ? e.key : t.text + e.key;\n t.at = now;\n const want = t.text.toLowerCase();\n // A fresh first letter looks past the current row; a longer prefix may still match it.\n const start = t.text.length === 1 ? from + 1 : from;\n for (let k = 0; k < visible.length; k++) {\n const v = visible[(start + k) % visible.length];\n if (textOf(v.node).toLowerCase().startsWith(want)) {\n e.preventDefault();\n focus(v.node.id);\n return;\n }\n }\n };\n\n const onRowClick = (node: TreeNode) => (e: MouseEvent<HTMLDivElement>) => activate(node, modsOf(e));\n\n const onTwistyClick = (node: TreeNode) => (e: MouseEvent<HTMLSpanElement>) => {\n e.stopPropagation();\n toggle(node);\n };\n\n const itemRef = (id: string) => (el: HTMLLIElement | null) => {\n if (el) items.current.set(id, el);\n else items.current.delete(id);\n };\n\n let seq = 0;\n const renderLevel = (list: readonly TreeNode[], parentId: string | null, level: number): ReactNode =>\n list.map((node, pos) => {\n const n = seq++;\n const branch = !!node.children;\n const open = branch && expanded.has(node.id);\n const labelId = `${baseId}-${n}`;\n const trailingId = node.trailing != null ? `${baseId}-${n}-t` : undefined;\n return (\n <li\n key={node.id}\n ref={itemRef(node.id)}\n role=\"treeitem\"\n className={[s.item, node.className].filter(Boolean).join(' ')}\n aria-level={level}\n aria-setsize={list.length}\n aria-posinset={pos + 1}\n aria-expanded={branch ? open : undefined}\n aria-selected={selectable ? selected.has(node.id) : undefined}\n aria-disabled={node.disabled || undefined}\n aria-labelledby={trailingId ? `${labelId} ${trailingId}` : labelId}\n data-muted={node.muted ? 'true' : undefined}\n tabIndex={node.id === stopId ? 0 : -1}\n onKeyDown={onKeyDown({ node, parentId, level })}\n onFocus={(e) => { if (e.target === e.currentTarget) setFocusId(node.id); }}\n >\n <div className={s.row} onClick={onRowClick(node)}>\n <span className={s.twisty} aria-hidden=\"true\" onClick={branch ? onTwistyClick(node) : undefined}>\n {branch && <DisclosureMark open={open} />}\n </span>\n {node.leading != null && <span className={s.leading}>{node.leading}</span>}\n <span id={labelId} className={s.label}>{node.label}</span>\n {trailingId && <span id={trailingId} className={s.trailing}>{node.trailing}</span>}\n </div>\n {open && node.children!.length > 0 && (\n <ul role=\"group\" className={s.group}>\n {renderLevel(node.children!, node.id, level + 1)}\n </ul>\n )}\n </li>\n );\n });\n\n return (\n <ul\n ref={ref}\n role=\"tree\"\n className={[s.tree, className].filter(Boolean).join(' ')}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-multiselectable={selectionMode === 'multiple' || undefined}\n >\n {renderLevel(nodes, null, 1)}\n </ul>\n );\n});\n\n/**\n * `nodes` narrowed to those `match` accepts, plus their ancestors. A matching\n * node keeps its whole subtree; a branch with no match inside it is dropped.\n * Returns `nodes` itself when nothing is dropped.\n */\nexport function filterTree(\n nodes: readonly TreeNode[],\n match: (node: TreeNode) => boolean,\n): readonly TreeNode[] {\n let changed = false;\n const out: TreeNode[] = [];\n for (const node of nodes) {\n if (match(node)) {\n out.push(node);\n continue;\n }\n const kids = node.children ? filterTree(node.children, match) : [];\n if (kids.length === 0) {\n changed = true;\n continue;\n }\n if (kids !== node.children) changed = true;\n out.push(kids === node.children ? node : { ...node, children: kids });\n }\n return changed ? out : nodes;\n}\n\n/** Every branch id in `nodes`, depth first — `expandedIds` for a tree with everything open. */\nexport function treeBranchIds(nodes: readonly TreeNode[]): string[] {\n const out: string[] = [];\n const walk = (list: readonly TreeNode[]) => {\n for (const node of list) {\n if (!node.children) continue;\n out.push(node.id);\n walk(node.children);\n }\n };\n walk(nodes);\n return out;\n}\n\nfunction textOf(node: TreeNode): string {\n return node.textValue ?? (typeof node.label === 'string' ? node.label : '');\n}\n\nfunction modsOf(e: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean; altKey: boolean }): PressModifiers {\n return { shiftKey: e.shiftKey, ctrlKey: e.ctrlKey, metaKey: e.metaKey, altKey: e.altKey };\n}\n\nfunction useControlledSet(\n value: Iterable<string> | undefined,\n initial: Iterable<string> | undefined,\n onChange: ((ids: Set<string>) => void) | undefined,\n): [ReadonlySet<string>, (next: Set<string>) => void] {\n const [own, setOwn] = useState<ReadonlySet<string>>(() => new Set(initial));\n const controlled = useMemo(() => (value === undefined ? undefined : new Set(value)), [value]);\n const set = (next: Set<string>) => {\n if (value === undefined) setOwn(next);\n onChange?.(next);\n };\n return [controlled ?? own, set];\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as e } from "./dlog-CMYiRF3Q.js";
|
|
2
|
-
import { c as t, s as n, t as r } from "./Plot2D-
|
|
3
|
-
import { t as i } from "./snap-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { c as t, s as n, t as r } from "./Plot2D-lyO7waPQ.js";
|
|
3
|
+
import { t as i } from "./snap-DC4Km8xG.js";
|
|
4
|
+
import { cubicBezierEasing as a, openPointerSession as o, resolveEasing as s } from "@weasel-js/core";
|
|
5
|
+
import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
6
6
|
import { useCallback as d, useEffect as f, useMemo as p, useRef as m, useState as h } from "react";
|
|
7
7
|
import { tokenPx as g } from "@weasel-js/theme";
|
|
8
8
|
//#region src/components/CurveEditor/hitTest.ts
|
|
@@ -85,7 +85,7 @@ function w(e) {
|
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
87
|
function T(i) {
|
|
88
|
-
let { layers: a, onLayerChange:
|
|
88
|
+
let { layers: a, onLayerChange: s, onLayerCommit: c, width: g, height: _, xRange: v = [0, 1], yRange: y = [0, 1], grid: b, axes: x, xTicks: T, yTicks: E, className: D, style: O, children: k } = i, A = i.history !== !1, j = p(() => ({
|
|
89
89
|
xMin: v[0],
|
|
90
90
|
xMax: v[1],
|
|
91
91
|
yMin: y[0],
|
|
@@ -116,9 +116,9 @@ function T(i) {
|
|
|
116
116
|
let t = N.current;
|
|
117
117
|
for (let n of t) {
|
|
118
118
|
let t = e.get(n.layer.id);
|
|
119
|
-
t !== void 0 && t !== n.state &&
|
|
119
|
+
t !== void 0 && t !== n.state && s(n.layer.id, t);
|
|
120
120
|
}
|
|
121
|
-
}, [
|
|
121
|
+
}, [s]), G = d(() => {
|
|
122
122
|
if (!A) return;
|
|
123
123
|
let e = V.current;
|
|
124
124
|
if (e.length === 0) return;
|
|
@@ -151,7 +151,7 @@ function T(i) {
|
|
|
151
151
|
let r = n.clientToModel(e), i = Q(t.layerId);
|
|
152
152
|
if (i === void 0) return;
|
|
153
153
|
let a = L(w(e)), o = t.gesture.onMove(i, r, e, a);
|
|
154
|
-
o !== i &&
|
|
154
|
+
o !== i && s(t.layerId, o);
|
|
155
155
|
}, J.current = (e) => {
|
|
156
156
|
let t = R.current;
|
|
157
157
|
if (!t) return;
|
|
@@ -161,7 +161,7 @@ function T(i) {
|
|
|
161
161
|
return;
|
|
162
162
|
}
|
|
163
163
|
let r = L(w(e)), i = t.gesture.onCommit ? t.gesture.onCommit(n, r) : n;
|
|
164
|
-
i !== n &&
|
|
164
|
+
i !== n && s(t.layerId, i), A && (V.current.push(t.startStates), H.current = []), c && c(t.layerId, i, t.startSelfState), Z();
|
|
165
165
|
}, Y.current = () => {
|
|
166
166
|
let e = R.current;
|
|
167
167
|
if (!e) return;
|
|
@@ -171,7 +171,7 @@ function T(i) {
|
|
|
171
171
|
return;
|
|
172
172
|
}
|
|
173
173
|
let n = L(C), r = e.gesture.onCancel ? e.gesture.onCancel(t, n) : e.startSelfState;
|
|
174
|
-
r !== t &&
|
|
174
|
+
r !== t && s(e.layerId, r), Z();
|
|
175
175
|
};
|
|
176
176
|
let $ = d((e, t, n) => {
|
|
177
177
|
let r = U();
|
|
@@ -180,7 +180,7 @@ function T(i) {
|
|
|
180
180
|
gesture: n,
|
|
181
181
|
startStates: r,
|
|
182
182
|
startSelfState: r.get(e)
|
|
183
|
-
}, B(e), X.current =
|
|
183
|
+
}, B(e), X.current = o(t.currentTarget, t, {
|
|
184
184
|
onMove: (e) => q.current(e),
|
|
185
185
|
onEnd: (e) => J.current(e),
|
|
186
186
|
onCancel: () => Y.current()
|
|
@@ -195,52 +195,52 @@ function T(i) {
|
|
|
195
195
|
});
|
|
196
196
|
let o = U();
|
|
197
197
|
for (let e = i.length - 1; e >= 0; e--) {
|
|
198
|
-
let
|
|
199
|
-
if (!
|
|
200
|
-
let d =
|
|
198
|
+
let l = i[e], u = l.layer.hitTest?.(l.state, n.plot, r);
|
|
199
|
+
if (!u) continue;
|
|
200
|
+
let d = l.state, f, p = l.layer.onPointerDown?.(d, u, a, r, {
|
|
201
201
|
plot: n.plot,
|
|
202
202
|
model: n.model,
|
|
203
203
|
commit(e) {
|
|
204
|
-
f = e,
|
|
204
|
+
f = e, s(l.layer.id, e);
|
|
205
205
|
}
|
|
206
206
|
});
|
|
207
207
|
if (t.stopPropagation(), p) {
|
|
208
|
-
$(
|
|
208
|
+
$(l.layer.id, t, p);
|
|
209
209
|
return;
|
|
210
210
|
}
|
|
211
|
-
f !== void 0 && (A && (V.current.push(o), H.current = []),
|
|
211
|
+
f !== void 0 && (A && (V.current.push(o), H.current = []), c?.(l.layer.id, f, d));
|
|
212
212
|
return;
|
|
213
213
|
}
|
|
214
|
-
let
|
|
214
|
+
let l = null;
|
|
215
215
|
for (let e = i.length - 1; e >= 0; e--) {
|
|
216
|
-
let
|
|
217
|
-
if (!
|
|
218
|
-
let u =
|
|
216
|
+
let c = i[e];
|
|
217
|
+
if (!c.layer.onEmptyPointerDown) continue;
|
|
218
|
+
let u = c.state, d, f = c.layer.onEmptyPointerDown(u, n.model, a, r, {
|
|
219
219
|
plot: n.plot,
|
|
220
220
|
model: n.model,
|
|
221
221
|
commit(e) {
|
|
222
|
-
d = e, c
|
|
222
|
+
d = e, s(c.layer.id, e);
|
|
223
223
|
}
|
|
224
224
|
});
|
|
225
225
|
if (f) {
|
|
226
|
-
$(
|
|
226
|
+
$(c.layer.id, t, f), d !== void 0 && R.current !== null && (R.current.startStates = o, R.current.startSelfState = o.get(c.layer.id));
|
|
227
227
|
return;
|
|
228
228
|
}
|
|
229
229
|
if (d !== void 0) {
|
|
230
|
-
|
|
231
|
-
id:
|
|
230
|
+
l = {
|
|
231
|
+
id: c.layer.id,
|
|
232
232
|
next: d,
|
|
233
233
|
prev: u
|
|
234
234
|
};
|
|
235
235
|
break;
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
|
-
|
|
238
|
+
l && (A && (V.current.push(o), H.current = []), c?.(l.id, l.next, l.prev));
|
|
239
239
|
}, [
|
|
240
240
|
L,
|
|
241
241
|
$,
|
|
242
|
+
s,
|
|
242
243
|
c,
|
|
243
|
-
u,
|
|
244
244
|
A,
|
|
245
245
|
U
|
|
246
246
|
]), te = d((e) => {
|
|
@@ -261,8 +261,8 @@ function T(i) {
|
|
|
261
261
|
if (!i.layer.onKeyDown) continue;
|
|
262
262
|
let a = U(), o;
|
|
263
263
|
if (i.layer.onKeyDown(i.state, e.nativeEvent, t, { commit(e) {
|
|
264
|
-
o = e,
|
|
265
|
-
} }), o !== void 0 && (A && (V.current.push(a), H.current = []),
|
|
264
|
+
o = e, s(i.layer.id, e);
|
|
265
|
+
} }), o !== void 0 && (A && (V.current.push(a), H.current = []), c?.(i.layer.id, o, i.state)), e.nativeEvent.defaultPrevented) return;
|
|
266
266
|
}
|
|
267
267
|
}, [
|
|
268
268
|
A,
|
|
@@ -270,8 +270,8 @@ function T(i) {
|
|
|
270
270
|
K,
|
|
271
271
|
L,
|
|
272
272
|
U,
|
|
273
|
-
|
|
274
|
-
|
|
273
|
+
s,
|
|
274
|
+
c
|
|
275
275
|
]);
|
|
276
276
|
f(() => () => {
|
|
277
277
|
X.current?.cancel();
|
|
@@ -282,7 +282,7 @@ function T(i) {
|
|
|
282
282
|
toPlot: (e) => n(e, j, M),
|
|
283
283
|
toModel: (e) => t(e, j, M)
|
|
284
284
|
}), [j, M]);
|
|
285
|
-
return /* @__PURE__ */
|
|
285
|
+
return /* @__PURE__ */ u(r, {
|
|
286
286
|
ref: I,
|
|
287
287
|
className: [S.root, D].filter(Boolean).join(" "),
|
|
288
288
|
style: O,
|
|
@@ -310,7 +310,7 @@ function T(i) {
|
|
|
310
310
|
},
|
|
311
311
|
isActive: z === e.layer.id
|
|
312
312
|
};
|
|
313
|
-
return /* @__PURE__ */
|
|
313
|
+
return /* @__PURE__ */ l("g", {
|
|
314
314
|
"data-layer-id": e.layer.id,
|
|
315
315
|
children: e.layer.render(e.state, t)
|
|
316
316
|
}, e.layer.id);
|
|
@@ -369,10 +369,10 @@ function R(e) {
|
|
|
369
369
|
};
|
|
370
370
|
}
|
|
371
371
|
function z(e = {}) {
|
|
372
|
-
let t = e.id ?? "keyframes", n = e.label ?? "Curve", r = e.formatX ?? ((e) => String(Math.round(e))),
|
|
372
|
+
let t = e.id ?? "keyframes", n = e.label ?? "Curve", r = e.formatX ?? ((e) => String(Math.round(e))), o = e.snapRadiusPx ?? 6;
|
|
373
373
|
function d(e, t, n) {
|
|
374
374
|
let r = e.drag;
|
|
375
|
-
return r?.kind === "handle" && r.segment === n ?
|
|
375
|
+
return r?.kind === "handle" && r.segment === n ? a(...r.bezier) : s(t[n].easing);
|
|
376
376
|
}
|
|
377
377
|
function f(e, t, n) {
|
|
378
378
|
let r = [];
|
|
@@ -404,17 +404,17 @@ function z(e = {}) {
|
|
|
404
404
|
}
|
|
405
405
|
let h = (e) => e.map((e, t) => `${t === 0 ? "M" : "L"}${e.x.toFixed(2)},${e.y.toFixed(2)}`).join("");
|
|
406
406
|
function g(e, t) {
|
|
407
|
-
let i = e.drag?.kind === "key" ? R(e).keys : e.keys,
|
|
408
|
-
return /* @__PURE__ */
|
|
409
|
-
|
|
407
|
+
let i = e.drag?.kind === "key" ? R(e).keys : e.keys, a = f(e, i, t), o = a.flatMap((e, t) => t === 0 ? e : e.slice(1)), s = e.selectedSegment, d = p(e), g = e.drag?.kind === "key" ? e.drag.index : null;
|
|
408
|
+
return /* @__PURE__ */ u(c, { children: [
|
|
409
|
+
s !== null && s >= 1 && s < i.length ? (() => {
|
|
410
410
|
let e = t.toPlot({
|
|
411
|
-
x: i[
|
|
411
|
+
x: i[s - 1].t,
|
|
412
412
|
y: 0
|
|
413
413
|
}).x, n = t.toPlot({
|
|
414
|
-
x: i[
|
|
414
|
+
x: i[s].t,
|
|
415
415
|
y: 0
|
|
416
416
|
}).x;
|
|
417
|
-
return /* @__PURE__ */
|
|
417
|
+
return /* @__PURE__ */ l("rect", {
|
|
418
418
|
className: S.segmentBand,
|
|
419
419
|
x: Math.min(e, n),
|
|
420
420
|
y: 0,
|
|
@@ -422,44 +422,44 @@ function z(e = {}) {
|
|
|
422
422
|
height: t.plotSize.height
|
|
423
423
|
});
|
|
424
424
|
})() : null,
|
|
425
|
-
|
|
425
|
+
o.length > 1 ? /* @__PURE__ */ l("path", {
|
|
426
426
|
"data-curve-element": "curve",
|
|
427
427
|
className: S.curve,
|
|
428
|
-
d: h(
|
|
428
|
+
d: h(o)
|
|
429
429
|
}) : null,
|
|
430
|
-
|
|
430
|
+
a.map((e, t) => /* @__PURE__ */ l("path", {
|
|
431
431
|
className: S.segmentTarget,
|
|
432
432
|
d: h(e),
|
|
433
433
|
role: "button",
|
|
434
434
|
tabIndex: 0,
|
|
435
435
|
"aria-label": `${n} segment into ${r(i[t + 1].t)}`,
|
|
436
|
-
"aria-current":
|
|
436
|
+
"aria-current": s === t + 1 ? "true" : void 0,
|
|
437
437
|
"data-segment-index": t + 1
|
|
438
438
|
}, `seg-${t + 1}`)),
|
|
439
439
|
d ? (() => {
|
|
440
|
-
let [r, i] = m(e, d, t),
|
|
441
|
-
x: e.keys[
|
|
442
|
-
y: e.keys[
|
|
443
|
-
}),
|
|
444
|
-
x: e.keys[
|
|
445
|
-
y: e.keys[
|
|
440
|
+
let [r, i] = m(e, d, t), a = t.toPlot({
|
|
441
|
+
x: e.keys[s - 1].t,
|
|
442
|
+
y: e.keys[s - 1].value
|
|
443
|
+
}), o = t.toPlot({
|
|
444
|
+
x: e.keys[s].t,
|
|
445
|
+
y: e.keys[s].value
|
|
446
446
|
});
|
|
447
|
-
return /* @__PURE__ */
|
|
448
|
-
/* @__PURE__ */
|
|
447
|
+
return /* @__PURE__ */ u(c, { children: [
|
|
448
|
+
/* @__PURE__ */ l("line", {
|
|
449
449
|
className: S.handleStem,
|
|
450
|
-
x1:
|
|
451
|
-
y1:
|
|
450
|
+
x1: a.x,
|
|
451
|
+
y1: a.y,
|
|
452
452
|
x2: r.x,
|
|
453
453
|
y2: r.y
|
|
454
454
|
}),
|
|
455
|
-
/* @__PURE__ */
|
|
455
|
+
/* @__PURE__ */ l("line", {
|
|
456
456
|
className: S.handleStem,
|
|
457
|
-
x1:
|
|
458
|
-
y1:
|
|
457
|
+
x1: o.x,
|
|
458
|
+
y1: o.y,
|
|
459
459
|
x2: i.x,
|
|
460
460
|
y2: i.y
|
|
461
461
|
}),
|
|
462
|
-
[r, i].map((e, t) => /* @__PURE__ */
|
|
462
|
+
[r, i].map((e, t) => /* @__PURE__ */ l("circle", {
|
|
463
463
|
className: S.handle,
|
|
464
464
|
cx: e.x,
|
|
465
465
|
cy: e.y,
|
|
@@ -472,17 +472,17 @@ function z(e = {}) {
|
|
|
472
472
|
] });
|
|
473
473
|
})() : null,
|
|
474
474
|
e.keys.map((i, a) => {
|
|
475
|
-
let
|
|
475
|
+
let o = t.toPlot({
|
|
476
476
|
x: i.t,
|
|
477
477
|
y: i.value
|
|
478
478
|
});
|
|
479
|
-
return /* @__PURE__ */
|
|
479
|
+
return /* @__PURE__ */ l("rect", {
|
|
480
480
|
className: S.keyframe,
|
|
481
|
-
x:
|
|
482
|
-
y:
|
|
481
|
+
x: o.x - A,
|
|
482
|
+
y: o.y - A,
|
|
483
483
|
width: A * 2,
|
|
484
484
|
height: A * 2,
|
|
485
|
-
transform: `rotate(45 ${
|
|
485
|
+
transform: `rotate(45 ${o.x} ${o.y})`,
|
|
486
486
|
role: "button",
|
|
487
487
|
tabIndex: 0,
|
|
488
488
|
"aria-label": `${n} key at ${r(i.t)}`,
|
|
@@ -496,7 +496,7 @@ function z(e = {}) {
|
|
|
496
496
|
x: e.drag.t,
|
|
497
497
|
y: e.drag.value
|
|
498
498
|
});
|
|
499
|
-
return /* @__PURE__ */
|
|
499
|
+
return /* @__PURE__ */ l("rect", {
|
|
500
500
|
"aria-hidden": "true",
|
|
501
501
|
className: S.keyframeGhost,
|
|
502
502
|
x: n.x - A,
|
|
@@ -534,18 +534,18 @@ function z(e = {}) {
|
|
|
534
534
|
}
|
|
535
535
|
function b(t) {
|
|
536
536
|
return {
|
|
537
|
-
onMove(n, r, a,
|
|
538
|
-
let
|
|
537
|
+
onMove(n, r, a, s) {
|
|
538
|
+
let c = F(r.x, e.xClamp);
|
|
539
539
|
if (e.snapX && !a.altKey) {
|
|
540
|
-
let t = (
|
|
541
|
-
|
|
540
|
+
let t = (s.modelRange.xMax - s.modelRange.xMin) / s.plotSize.width;
|
|
541
|
+
c = F(i(c, e.snapX, Math.abs(t) * o), e.xClamp);
|
|
542
542
|
}
|
|
543
543
|
return {
|
|
544
544
|
...n,
|
|
545
545
|
drag: {
|
|
546
546
|
kind: "key",
|
|
547
547
|
index: t,
|
|
548
|
-
t:
|
|
548
|
+
t: c,
|
|
549
549
|
value: F(r.y, e.yClamp)
|
|
550
550
|
}
|
|
551
551
|
};
|
|
@@ -696,4 +696,4 @@ function z(e = {}) {
|
|
|
696
696
|
//#endregion
|
|
697
697
|
export { S as a, b as c, T as i, _ as l, z as n, y as o, P as r, x as s, R as t, v as u };
|
|
698
698
|
|
|
699
|
-
//# sourceMappingURL=createKeyframeLayer-
|
|
699
|
+
//# sourceMappingURL=createKeyframeLayer-BzDRCrrh.js.map
|