@weasel-js/ui 1.5.2 → 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-CW9pBPFl.js → Badge-DZ0lFs14.js} +755 -738
- package/dist/chunks/Badge-DZ0lFs14.js.map +1 -0
- package/dist/chunks/{BandEditor-jY-PFKY6.js → BandEditor-D-nVrVO4.js} +34 -34
- package/dist/chunks/{BandEditor-jY-PFKY6.js.map → BandEditor-D-nVrVO4.js.map} +1 -1
- 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-BOsDAY2F.js → Checkbox-ChZz30Ds.js} +1 -1
- package/dist/chunks/{Checkbox-BOsDAY2F.js.map → Checkbox-ChZz30Ds.js.map} +1 -1
- package/dist/chunks/Code-v4tDWuuN.js +24 -0
- package/dist/chunks/Code-v4tDWuuN.js.map +1 -0
- package/dist/chunks/{ColorField-BYzgZM9o.js → ColorField-DJSCuSJv.js} +15 -15
- package/dist/chunks/ColorField-DJSCuSJv.js.map +1 -0
- package/dist/chunks/ColorModeControl-JOEiqtE0.js +47 -0
- package/dist/chunks/ColorModeControl-JOEiqtE0.js.map +1 -0
- package/dist/chunks/{ComboBox-Cz3f0Y_8.js → ComboBox-C1JgIpML.js} +2 -2
- package/dist/chunks/{ComboBox-Cz3f0Y_8.js.map → ComboBox-C1JgIpML.js.map} +1 -1
- package/dist/chunks/{CurveEditor-DXwSP-iA.js → CurveEditor-f1R4kSbD.js} +2 -2
- package/dist/chunks/{CurveEditor-DXwSP-iA.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-CAubVX0J.js → DetentSlider-BYyaZha6.js} +2 -2
- package/dist/chunks/{DetentSlider-CAubVX0J.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-DWnV8WZY.js → Field-xbqRmjsI.js} +1 -1
- package/dist/chunks/{Field-DWnV8WZY.js.map → Field-xbqRmjsI.js.map} +1 -1
- package/dist/chunks/FillStrokeSwatch-BViKXIPx.js +111 -0
- package/dist/chunks/FillStrokeSwatch-BViKXIPx.js.map +1 -0
- package/dist/chunks/{FontFamilySelect-DxfgTC3G.js → FontFamilySelect-r9TV_xIH.js} +2 -2
- package/dist/chunks/{FontFamilySelect-DxfgTC3G.js.map → FontFamilySelect-r9TV_xIH.js.map} +1 -1
- package/dist/chunks/GradientEditor-BRTxHG-W.js +333 -0
- package/dist/chunks/{GradientEditor-rRBmf3G0.js.map → GradientEditor-BRTxHG-W.js.map} +1 -1
- package/dist/chunks/{Icon-DT0x6HaQ.js → Icon-BW0qv_U7.js} +28 -20
- 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-DbMKpkXy.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-DkkTlL3_.js → Jog-LPoac9s4.js} +6 -6
- package/dist/chunks/{Jog-DkkTlL3_.js.map → Jog-LPoac9s4.js.map} +1 -1
- package/dist/chunks/{Keycaps-DunVpejA.js → Keycaps-CKiKOJnJ.js} +71 -65
- 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-CCjEDZCg.js → NumberField-C1Y7zP-a.js} +27 -22
- package/dist/chunks/NumberField-C1Y7zP-a.js.map +1 -0
- package/dist/chunks/{OptionsBar-DeQ-vUeZ.js → OptionsBar-DlcagPYK.js} +3 -3
- package/dist/chunks/{OptionsBar-DeQ-vUeZ.js.map → OptionsBar-DlcagPYK.js.map} +1 -1
- package/dist/chunks/{PaintField-jBOJ32rL.js → PaintField-B2mLRZa4.js} +20 -20
- package/dist/chunks/PaintField-B2mLRZa4.js.map +1 -0
- package/dist/chunks/{PaintInput-Qs7Rul5R.js → PaintInput-BFKhd83I.js} +24 -24
- package/dist/chunks/{PaintInput-Qs7Rul5R.js.map → PaintInput-BFKhd83I.js.map} +1 -1
- package/dist/chunks/{PatternPicker-BMpXWboq.js → PatternPicker-DdfpxoQy.js} +2 -2
- package/dist/chunks/{PatternPicker-BMpXWboq.js.map → PatternPicker-DdfpxoQy.js.map} +1 -1
- package/dist/chunks/{Plot2D-CXf_f7QD.js → Plot2D-lyO7waPQ.js} +1 -1
- package/dist/chunks/{Plot2D-CXf_f7QD.js.map → Plot2D-lyO7waPQ.js.map} +1 -1
- package/dist/chunks/{PointPlotter-S_gz7VYt.js → PointPlotter-DGs9i5P-.js} +2 -2
- package/dist/chunks/{PointPlotter-S_gz7VYt.js.map → PointPlotter-DGs9i5P-.js.map} +1 -1
- package/dist/chunks/{Powerline-Ak5AWUlK.js → Powerline-DBEPceLE.js} +4 -2
- 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-CsVp3SEu.js → RadioGroup-BK2mD6Q0.js} +2 -2
- package/dist/chunks/{RadioGroup-CsVp3SEu.js.map → RadioGroup-BK2mD6Q0.js.map} +1 -1
- package/dist/chunks/{RangeSlider-DNr-pJpZ.js → RangeSlider-BiRAOsTh.js} +1 -1
- package/dist/chunks/{RangeSlider-DNr-pJpZ.js.map → RangeSlider-BiRAOsTh.js.map} +1 -1
- package/dist/chunks/{ResizeHandle-RXFf5fXr.js → ResizeHandle-Cc6EOehs.js} +9 -9
- package/dist/chunks/{ResizeHandle-RXFf5fXr.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-CEbLS-0D.js → SelectionPanel-C5LmZA7b.js} +21 -20
- package/dist/chunks/{SelectionPanel-CEbLS-0D.js.map → SelectionPanel-C5LmZA7b.js.map} +1 -1
- package/dist/chunks/{Sidebar-qn_oSCNX.js → Sidebar-DKKd4R-x.js} +1 -1
- package/dist/chunks/{Sidebar-qn_oSCNX.js.map → Sidebar-DKKd4R-x.js.map} +1 -1
- package/dist/chunks/{SidebarPanel-Bs6V21hg.js → SidebarPanel-u5NsuAZY.js} +15 -19
- package/dist/chunks/SidebarPanel-u5NsuAZY.js.map +1 -0
- package/dist/chunks/{Slider-CIIrqiFS.js → Slider-BwRrWHFW.js} +42 -42
- package/dist/chunks/{Slider-CIIrqiFS.js.map → Slider-BwRrWHFW.js.map} +1 -1
- package/dist/chunks/{StatusBar-B4L15DSm.js → StatusBar-CdPdmmda.js} +1 -1
- package/dist/chunks/{StatusBar-B4L15DSm.js.map → StatusBar-CdPdmmda.js.map} +1 -1
- package/dist/chunks/SwatchGrid-C-Zx2Exd.js +73 -0
- package/dist/chunks/SwatchGrid-C-Zx2Exd.js.map +1 -0
- package/dist/chunks/{Switch-DH5POG0T.js → Switch-DxF7TsEu.js} +1 -1
- package/dist/chunks/{Switch-DH5POG0T.js.map → Switch-DxF7TsEu.js.map} +1 -1
- package/dist/chunks/{Tabs-BFHikpml.js → Tabs-GXEfoe3o.js} +1 -1
- package/dist/chunks/{Tabs-BFHikpml.js.map → Tabs-GXEfoe3o.js.map} +1 -1
- package/dist/chunks/{Timeline-DNKY_yiK.js → Timeline-SgmpQtUV.js} +128 -132
- package/dist/chunks/Timeline-SgmpQtUV.js.map +1 -0
- package/dist/chunks/{Toast-CI1UDuK6.js → Toast-BfcljZz6.js} +1 -1
- package/dist/chunks/{Toast-CI1UDuK6.js.map → Toast-BfcljZz6.js.map} +1 -1
- package/dist/chunks/ToggleBar-Btnl5r7F.js +80 -0
- package/dist/chunks/{ToggleBar-CClus5Cd.js.map → ToggleBar-Btnl5r7F.js.map} +1 -1
- package/dist/chunks/{TokenPanel-BPHq24dc.js → TokenPanel-5ajHEHha.js} +40 -40
- package/dist/chunks/{TokenPanel-BPHq24dc.js.map → TokenPanel-5ajHEHha.js.map} +1 -1
- package/dist/chunks/{ToolButton-9QzJCmuM.js → ToolButton-rzqlFlAc.js} +4 -4
- package/dist/chunks/{ToolButton-9QzJCmuM.js.map → ToolButton-rzqlFlAc.js.map} +1 -1
- package/dist/chunks/{ToolGroup-BJiDrH_i.js → ToolGroup-4bUBV5k6.js} +1 -1
- package/dist/chunks/{ToolGroup-BJiDrH_i.js.map → ToolGroup-4bUBV5k6.js.map} +1 -1
- package/dist/chunks/{ToolOptionsBar-CAM6RcUH.js → ToolOptionsBar-BF3TNXA3.js} +2 -2
- package/dist/chunks/{ToolOptionsBar-CAM6RcUH.js.map → ToolOptionsBar-BF3TNXA3.js.map} +1 -1
- package/dist/chunks/ToolPalette-Uw4PvWwa.js +83 -0
- package/dist/chunks/ToolPalette-Uw4PvWwa.js.map +1 -0
- package/dist/chunks/{Tooltip-C4YBczLq.js → Tooltip-9XiJF937.js} +13 -13
- 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-DKtO0Sw_.js → createKeyframeLayer-BzDRCrrh.js} +71 -71
- package/dist/chunks/{createKeyframeLayer-DKtO0Sw_.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-BHz66zQO.js → number-6S8IzXVt.js} +3 -3
- 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-CEjuWOhN.js → snap-DC4Km8xG.js} +1 -1
- package/dist/chunks/{snap-CEjuWOhN.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/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/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 +30 -0
- 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 +12 -3
- package/dist/components/Properties/PropertyGroup.d.ts.map +1 -1
- package/dist/components/Properties/PropertyPanel.d.ts +32 -236
- 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 -4
- 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 +38 -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/index.js +2 -2
- package/dist/components/SelectionPanel/renderLeaf.d.ts +14 -8
- package/dist/components/SelectionPanel/renderLeaf.d.ts.map +1 -1
- 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/index.js +1 -1
- package/dist/components/ToolButton/index.js +1 -1
- package/dist/components/ToolGroup/index.js +1 -1
- package/dist/components/ToolOptionsBar/index.js +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 +3 -2
- 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 +2 -0
- 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 -78
- 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 +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-CLwiY3Jg.js +0 -62
- package/dist/chunks/ActionBar-CLwiY3Jg.js.map +0 -1
- package/dist/chunks/ActionsBar-D84a4eGy.js +0 -41
- package/dist/chunks/ActionsBar-D84a4eGy.js.map +0 -1
- package/dist/chunks/Badge-CW9pBPFl.js.map +0 -1
- package/dist/chunks/Button-DRSApvnK.js +0 -90
- package/dist/chunks/Button-DRSApvnK.js.map +0 -1
- package/dist/chunks/Callout-DrNu-9Qr.js +0 -122
- package/dist/chunks/Callout-DrNu-9Qr.js.map +0 -1
- package/dist/chunks/ColorField-BYzgZM9o.js.map +0 -1
- package/dist/chunks/DataGrid-C8KrYtw7.js +0 -104
- package/dist/chunks/DataGrid-C8KrYtw7.js.map +0 -1
- package/dist/chunks/Dialog-fGqqQ6o_.js +0 -61
- package/dist/chunks/Dialog-fGqqQ6o_.js.map +0 -1
- package/dist/chunks/Disclosure-CILDfWsU.js +0 -47
- package/dist/chunks/Disclosure-CILDfWsU.js.map +0 -1
- package/dist/chunks/GradientEditor-rRBmf3G0.js +0 -333
- package/dist/chunks/Icon-DT0x6HaQ.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-DbMKpkXy.js.map +0 -1
- package/dist/chunks/ItemList-B9zYb0GE.js +0 -42
- package/dist/chunks/ItemList-B9zYb0GE.js.map +0 -1
- package/dist/chunks/Keycaps-DunVpejA.js.map +0 -1
- package/dist/chunks/LayerStack-CfQ6GsRz.js +0 -142
- package/dist/chunks/LayerStack-CfQ6GsRz.js.map +0 -1
- package/dist/chunks/MenuButton-C_4nox39.js +0 -60
- package/dist/chunks/MenuButton-C_4nox39.js.map +0 -1
- package/dist/chunks/MeshEditor-Bipz-Ocl.js +0 -123
- package/dist/chunks/MeshEditor-Bipz-Ocl.js.map +0 -1
- package/dist/chunks/NumberField-CCjEDZCg.js.map +0 -1
- package/dist/chunks/PaintField-jBOJ32rL.js.map +0 -1
- package/dist/chunks/Powerline-Ak5AWUlK.js.map +0 -1
- package/dist/chunks/Prefs-CNC8tzyN.js +0 -308
- package/dist/chunks/Prefs-CNC8tzyN.js.map +0 -1
- package/dist/chunks/Properties-Rnb6TAbN.js +0 -891
- package/dist/chunks/Properties-Rnb6TAbN.js.map +0 -1
- package/dist/chunks/Select-BEope086.js +0 -190
- package/dist/chunks/Select-BEope086.js.map +0 -1
- package/dist/chunks/SidebarPanel-Bs6V21hg.js.map +0 -1
- package/dist/chunks/Timeline-DNKY_yiK.js.map +0 -1
- package/dist/chunks/ToggleBar-CClus5Cd.js +0 -75
- package/dist/chunks/ToolPalette-DGkKwE7D.js +0 -97
- package/dist/chunks/ToolPalette-DGkKwE7D.js.map +0 -1
- package/dist/chunks/Tooltip-C4YBczLq.js.map +0 -1
- package/dist/chunks/icons-DFLytcui.js +0 -165
- package/dist/chunks/icons-DFLytcui.js.map +0 -1
- package/dist/chunks/model-13kZ_-mE.js +0 -483
- package/dist/chunks/model-13kZ_-mE.js.map +0 -1
- package/dist/chunks/number-BHz66zQO.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-Dft4Cu2p.js +0 -47
- package/dist/chunks/schema-Dft4Cu2p.js.map +0 -1
- package/dist/chunks/segmentedControl.module-DS72X1ns.js +0 -11
- package/dist/chunks/segmentedControl.module-DS72X1ns.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
|
@@ -1,24 +1,8 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
path: string;
|
|
7
|
-
/** The schema node. App renderers narrow this to their own kind shape. */
|
|
8
|
-
pref: PrefLeaf;
|
|
9
|
-
/** Current value — `values` at `path`, falling back to `pref.default`. */
|
|
10
|
-
value: unknown;
|
|
11
|
-
setValue: (value: unknown) => void;
|
|
12
|
-
/** Whether this leaf is currently auto — not pinned, computed by the owner. */
|
|
13
|
-
auto: boolean;
|
|
14
|
-
/** Toggle this leaf's auto state. */
|
|
15
|
-
setAuto: (next: boolean) => void;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Renders the control cell for one preference leaf. Returning `null`
|
|
19
|
-
* collapses the row.
|
|
20
|
-
*/
|
|
21
|
-
export type PrefRenderer = (ctx: PrefRenderContext) => ReactNode;
|
|
1
|
+
import { type PrefGroup } from './schema';
|
|
2
|
+
import { type PrefRenderer } from './PrefsRow';
|
|
3
|
+
export type { PrefRenderer, PrefRenderContext } from './PrefsRow';
|
|
4
|
+
/** How a {@link PrefsForm} lays its groups out. */
|
|
5
|
+
export type PrefsLayout = 'columns' | 'rail';
|
|
22
6
|
/** Props for {@link PrefsForm}. */
|
|
23
7
|
export interface PrefsFormProps {
|
|
24
8
|
/** Root of the schema tree. Core `ToolPrefGroup`s assign structurally. */
|
|
@@ -40,13 +24,30 @@ export interface PrefsFormProps {
|
|
|
40
24
|
renderers?: Record<string, PrefRenderer>;
|
|
41
25
|
/** Reveal `hidden` leaves (dev tooling). Default false. */
|
|
42
26
|
showHidden?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* `'columns'` (the default) wraps each top-level group into its own panel
|
|
29
|
+
* column. `'rail'` puts a two-level navigation rail beside one group's
|
|
30
|
+
* settings at a time — what a dialog-sized surface wants, since columns
|
|
31
|
+
* overflow sideways once there are more than two.
|
|
32
|
+
*/
|
|
33
|
+
layout?: PrefsLayout;
|
|
34
|
+
/** Show a filter field that narrows the form to matching leaves. */
|
|
35
|
+
filterable?: boolean;
|
|
36
|
+
/** Rail layout: path of the open top-level group. Controlled. */
|
|
37
|
+
section?: string;
|
|
38
|
+
/** Rail layout: path of the group open before the reader picks one.
|
|
39
|
+
* Defaults to the first in the schema. */
|
|
40
|
+
defaultSection?: string;
|
|
41
|
+
onSectionChange?: (path: string) => void;
|
|
43
42
|
className?: string;
|
|
44
43
|
}
|
|
45
44
|
/**
|
|
46
|
-
* Schema-driven preferences form.
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
45
|
+
* Schema-driven preferences form. Leaves render as label + control rows;
|
|
46
|
+
* how the groups around them are arranged is `layout`'s to say — columns of
|
|
47
|
+
* panels, or a navigation rail beside one group at a time.
|
|
48
|
+
*
|
|
49
|
+
* Storage-agnostic: pair with `PrefsDialog` for the modal composition, and
|
|
50
|
+
* persist however the app likes via `onChange`.
|
|
50
51
|
*/
|
|
51
52
|
export declare function PrefsForm(props: PrefsFormProps): import("react/jsx-runtime").JSX.Element;
|
|
52
53
|
//# sourceMappingURL=PrefsForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrefsForm.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/PrefsForm.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PrefsForm.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/PrefsForm.tsx"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAW,KAAK,YAAY,EAAgB,MAAM,YAAY,CAAC;AAKtE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAElE,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7C,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,MAAM,EAAE,SAAS,CAAC;IAClB;8DAC0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;0CACsC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,oEAAoE;IACpE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;+CAC2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAgE9C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import { type PrefGroup } from './schema';
|
|
3
|
+
import { type WalkCtx } from './PrefsRow';
|
|
4
|
+
/** Props for {@link PrefsPane}. */
|
|
5
|
+
export interface PrefsPaneProps {
|
|
6
|
+
ctx: WalkCtx;
|
|
7
|
+
/** The open group, or a synthetic one holding the root's loose leaves. */
|
|
8
|
+
group: PrefGroup;
|
|
9
|
+
/** Dotted path of `group`. Empty for the loose-leaf pane. */
|
|
10
|
+
path: string;
|
|
11
|
+
/** The pane's scroll container, for the rail's scroll spy. */
|
|
12
|
+
scrollRef: RefObject<HTMLDivElement | null>;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* One rail section's settings: the group's own leaves, then one headed
|
|
17
|
+
* section per nested group.
|
|
18
|
+
*
|
|
19
|
+
* Nothing here draws a panel. The rail is the layout's structure, and a card
|
|
20
|
+
* inside a dialog that already has a border only restates it — the columns
|
|
21
|
+
* layout's sunken panels are what this is the alternative to.
|
|
22
|
+
*/
|
|
23
|
+
export declare function PrefsPane(props: PrefsPaneProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
//# sourceMappingURL=PrefsPane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrefsPane.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/PrefsPane.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAc,KAAK,SAAS,EAAiB,MAAM,UAAU,CAAC;AACrE,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAGnD,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,OAAO,CAAC;IACb,0EAA0E;IAC1E,KAAK,EAAE,SAAS,CAAC;IACjB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,SAAS,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAoC9C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { PrefRailItem } from './schema';
|
|
3
|
+
/** Props for {@link PrefsRail}. */
|
|
4
|
+
export interface PrefsRailProps {
|
|
5
|
+
items: readonly PrefRailItem[];
|
|
6
|
+
/** Path of the open depth-0 group. */
|
|
7
|
+
section: string;
|
|
8
|
+
/** Path of the depth-1 group in view, from the pane's scroll spy. */
|
|
9
|
+
current: string | null;
|
|
10
|
+
/** A depth-0 entry was chosen: open its pane. */
|
|
11
|
+
onOpen: (path: string) => void;
|
|
12
|
+
/** A depth-1 entry was chosen: scroll the open pane to it. */
|
|
13
|
+
onScrollTo: (path: string) => void;
|
|
14
|
+
/** Accessible name for the rail's landmark. */
|
|
15
|
+
ariaLabel: string;
|
|
16
|
+
/** Rendered above the list — the filter field, when there is one. */
|
|
17
|
+
header?: ReactNode;
|
|
18
|
+
/** Show each entry's match count. Only meaningful while filtering. */
|
|
19
|
+
showCounts?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The rail beside a `PrefsForm` pane: depth-0 groups, each followed by the
|
|
23
|
+
* depth-1 groups that scroll within it.
|
|
24
|
+
*
|
|
25
|
+
* A list of buttons rather than a tablist, because only half of these entries
|
|
26
|
+
* switch anything — the nested ones scroll the pane the selected entry already
|
|
27
|
+
* opened, and a tab that does not own a panel has no honest role. The open
|
|
28
|
+
* group is `aria-current="page"`; the nested group in view is
|
|
29
|
+
* `aria-current="location"`.
|
|
30
|
+
*/
|
|
31
|
+
export declare function PrefsRail(props: PrefsRailProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
//# sourceMappingURL=PrefsRail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrefsRail.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/PrefsRail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iDAAiD;IACjD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,8DAA8D;IAC9D,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,sEAAsE;IACtE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAyC9C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type PrefLeaf } from './schema';
|
|
3
|
+
/** What a {@link PrefRenderer} is given for the leaf it is rendering. */
|
|
4
|
+
export interface PrefRenderContext {
|
|
5
|
+
/** Dotted path of the leaf within the schema root. */
|
|
6
|
+
path: string;
|
|
7
|
+
/** The schema node. App renderers narrow this to their own kind shape. */
|
|
8
|
+
pref: PrefLeaf;
|
|
9
|
+
/** Current value — `values` at `path`, falling back to `pref.default`. */
|
|
10
|
+
value: unknown;
|
|
11
|
+
setValue: (value: unknown) => void;
|
|
12
|
+
/** Whether this leaf is currently auto — not pinned, computed by the owner. */
|
|
13
|
+
auto: boolean;
|
|
14
|
+
/** Toggle this leaf's auto state. */
|
|
15
|
+
setAuto: (next: boolean) => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Renders the control cell for one preference leaf. Returning `null`
|
|
19
|
+
* collapses the row.
|
|
20
|
+
*/
|
|
21
|
+
export type PrefRenderer = (ctx: PrefRenderContext) => ReactNode;
|
|
22
|
+
export interface WalkCtx {
|
|
23
|
+
values: unknown;
|
|
24
|
+
onChange: (path: string, value: unknown) => void;
|
|
25
|
+
renderers?: Record<string, PrefRenderer>;
|
|
26
|
+
}
|
|
27
|
+
export declare function PrefRow({ ctx, path, pref }: {
|
|
28
|
+
ctx: WalkCtx;
|
|
29
|
+
path: string;
|
|
30
|
+
pref: PrefLeaf;
|
|
31
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
32
|
+
//# sourceMappingURL=PrefsRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrefsRow.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/PrefsRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,EAIL,KAAK,QAAQ,EAEd,MAAM,UAAU,CAAC;AAGlB,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,IAAI,EAAE,QAAQ,CAAC;IACf,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,+EAA+E;IAC/E,IAAI,EAAE,OAAO,CAAC;IACd,qCAAqC;IACrC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,SAAS,CAAC;AAEjE,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC1C;AAED,wBAAgB,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,kDA+B1F"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
export { PrefsForm, type PrefsFormProps, type PrefRenderer, type PrefRenderContext } from './PrefsForm';
|
|
1
|
+
export { PrefsForm, type PrefsFormProps, type PrefsLayout, type PrefRenderer, type PrefRenderContext, } from './PrefsForm';
|
|
2
|
+
export { prefFieldProps, type PrefFieldState } from './prefField';
|
|
3
|
+
export { PrefsRail, type PrefsRailProps } from './PrefsRail';
|
|
4
|
+
export { PrefsPane, type PrefsPaneProps } from './PrefsPane';
|
|
2
5
|
export { PrefsDialog, type PrefsDialogProps } from './PrefsDialog';
|
|
3
|
-
export { isPrefLeaf, prefDisplayBounds, prefValueAtPath, visiblePrefSubtree, type BuiltinPref, type PrefBoolean, type PrefBooleanControl, type PrefColor, type PrefCustom, type PrefEnum, type PrefEnumControl, type PrefEnumEncoding, type PrefGroup, type PrefKind, type PrefLeaf, type PrefNumber, type PrefNumberControl, type PrefNumberFormat, type PrefNumberUnit, type PrefPaint, type PrefObject, type PrefString, type PrefStringControl, } from './schema';
|
|
6
|
+
export { filterPrefSubtree, isPrefLeaf, prefDisplayBounds, prefRailItems, prefValueAtPath, visiblePrefSubtree, type PrefRailItem, type BuiltinPref, type PrefBoolean, type PrefBooleanControl, type PrefColor, type PrefCustom, type PrefEnum, type PrefEnumControl, type PrefEnumEncoding, type PrefGroup, type PrefKind, type PrefLeaf, type PrefNumber, type PrefNumberControl, type PrefNumberFormat, type PrefNumberUnit, type PrefPaint, type PrefObject, type PrefString, type PrefStringControl, } from './schema';
|
|
4
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
1
|
+
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../../chunks/prefField-CLkhrvYl.js";
|
|
2
|
+
import { i as s, n as c, r as l, t as u } from "../../chunks/Prefs-Ctu0H4-b.js";
|
|
3
|
+
export { u as PrefsDialog, c as PrefsForm, s as PrefsPane, l as PrefsRail, n as filterPrefSubtree, i as isPrefLeaf, t as prefDisplayBounds, o as prefFieldProps, e as prefRailItems, r as prefValueAtPath, a as visiblePrefSubtree };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { PropertyControlProps } from '../Properties/PropertyField';
|
|
2
|
+
import { type PrefLeaf } from './schema';
|
|
3
|
+
/** What {@link prefFieldProps} is told about one leaf's value. */
|
|
4
|
+
export interface PrefFieldState {
|
|
5
|
+
/** The value held at the leaf. `undefined` when `mixed` or `unset`. */
|
|
6
|
+
value: unknown;
|
|
7
|
+
mixed?: boolean;
|
|
8
|
+
unset?: boolean;
|
|
9
|
+
/** The object the leaf is a field of, for an enum `encoding` and a font's
|
|
10
|
+
* weight and slant. `undefined` for a top-level leaf. */
|
|
11
|
+
siblings?: Record<string, unknown>;
|
|
12
|
+
/** Writes a value in the leaf's stored form. */
|
|
13
|
+
setValue: (value: unknown) => void;
|
|
14
|
+
/** A font family's weight and slant, where they are not `siblings`' own
|
|
15
|
+
* `fontWeight` / `fontStyle`. */
|
|
16
|
+
fontVariant?: {
|
|
17
|
+
weight?: unknown;
|
|
18
|
+
style?: unknown;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A schema leaf as {@link PropertyControl} props: its value, bounds and
|
|
23
|
+
* options in the form it is shown in, and a writer that stores what the
|
|
24
|
+
* control reports in the form the leaf holds.
|
|
25
|
+
*
|
|
26
|
+
* The conversions every schema-driven surface needs live here once — a
|
|
27
|
+
* number's display unit and its bounds, an enum's `encoding`, a color's
|
|
28
|
+
* alpha, an icon resolved to a glyph. A leaf that is not a single control —
|
|
29
|
+
* an `object`, whose fields each are, or an app-defined kind — returns
|
|
30
|
+
* `null`, and the surface draws it.
|
|
31
|
+
*
|
|
32
|
+
* Spread the result and add what the surface decides: `chrome`, `name`, a
|
|
33
|
+
* class, a different default `control`.
|
|
34
|
+
*/
|
|
35
|
+
export declare function prefFieldProps(leaf: PrefLeaf, state: PrefFieldState): PropertyControlProps | null;
|
|
36
|
+
//# sourceMappingURL=prefField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prefField.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/prefField.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAsC,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE7E,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;8DAC0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,gDAAgD;IAChD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC;sCACkC;IAClC,WAAW,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACrD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,GAAG,oBAAoB,GAAG,IAAI,CAqIjG"}
|
|
@@ -30,4 +30,34 @@ export declare function prefValueAtPath(values: unknown, path: string): unknown;
|
|
|
30
30
|
* that end up empty. Returns null when the entire subtree is hidden.
|
|
31
31
|
*/
|
|
32
32
|
export declare function visiblePrefSubtree<T extends ToolPrefLeaf | ToolPrefGroup>(node: T, showHidden: boolean): T | null;
|
|
33
|
+
/** One entry in a {@link PrefsForm} rail: a group the reader can navigate to. */
|
|
34
|
+
export interface PrefRailItem {
|
|
35
|
+
/** Dotted path of the group. Empty for the entry holding loose root leaves. */
|
|
36
|
+
path: string;
|
|
37
|
+
name: string;
|
|
38
|
+
/** 0 opens a pane; 1 scrolls within the open one. The rail goes no deeper. */
|
|
39
|
+
depth: 0 | 1;
|
|
40
|
+
/** Path of the depth-0 ancestor — its own path when `depth` is 0. */
|
|
41
|
+
section: string;
|
|
42
|
+
/** Leaves surviving the active filter, counted over the whole subtree. */
|
|
43
|
+
matches: number;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The rail's model for a schema: depth-0 groups, each followed by its depth-1
|
|
47
|
+
* children. Deeper groups render inside a pane and get no entry — a schema
|
|
48
|
+
* that nests ten deep still navigates two levels.
|
|
49
|
+
*
|
|
50
|
+
* Loose leaves directly under the root lead the list under an entry named for
|
|
51
|
+
* the root itself, since they belong to no group that could name them.
|
|
52
|
+
*/
|
|
53
|
+
export declare function prefRailItems(root: ToolPrefGroup): PrefRailItem[];
|
|
54
|
+
/**
|
|
55
|
+
* Drop every leaf that does not answer to `query`, pruning groups left empty.
|
|
56
|
+
* A group whose own name matches keeps all of its leaves — a reader who typed
|
|
57
|
+
* the group's name is asking for the group, not for leaves repeating it.
|
|
58
|
+
*
|
|
59
|
+
* An empty or whitespace query matches everything, so a cleared field restores
|
|
60
|
+
* the tree rather than emptying it.
|
|
61
|
+
*/
|
|
62
|
+
export declare function filterPrefSubtree<T extends ToolPrefLeaf | ToolPrefGroup>(node: T, query: string, path?: string): T | null;
|
|
33
63
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/schema.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,QAAQ,IAAI,WAAW,EACvB,eAAe,IAAI,WAAW,EAC9B,sBAAsB,IAAI,kBAAkB,EAC5C,aAAa,IAAI,SAAS,EAC1B,cAAc,IAAI,UAAU,EAC5B,YAAY,IAAI,QAAQ,EACxB,mBAAmB,IAAI,eAAe,EACtC,oBAAoB,IAAI,gBAAgB,EACxC,aAAa,IAAI,SAAS,EAC1B,YAAY,IAAI,QAAQ,EACxB,YAAY,IAAI,QAAQ,EACxB,cAAc,IAAI,UAAU,EAC5B,qBAAqB,IAAI,iBAAiB,EAC1C,oBAAoB,IAAI,gBAAgB,EACxC,kBAAkB,IAAI,cAAc,EACpC,cAAc,IAAI,UAAU,EAC5B,aAAa,IAAI,SAAS,EAC1B,cAAc,IAAI,UAAU,EAC5B,qBAAqB,IAAI,iBAAiB,GAC3C,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE7H;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,cAAc,GAChB;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAU9C;AAED;2CAC2C;AAC3C,wBAAgB,eAAe,CAAC,IAAI,EAAE,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAC,CAE7E;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,IAAI,IAAI,YAAY,CAEnF;AAED;kEACkE;AAClE,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,EACvE,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,OAAO,GAClB,CAAC,GAAG,IAAI,CAUV"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/schema.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,QAAQ,IAAI,WAAW,EACvB,eAAe,IAAI,WAAW,EAC9B,sBAAsB,IAAI,kBAAkB,EAC5C,aAAa,IAAI,SAAS,EAC1B,cAAc,IAAI,UAAU,EAC5B,YAAY,IAAI,QAAQ,EACxB,mBAAmB,IAAI,eAAe,EACtC,oBAAoB,IAAI,gBAAgB,EACxC,aAAa,IAAI,SAAS,EAC1B,YAAY,IAAI,QAAQ,EACxB,YAAY,IAAI,QAAQ,EACxB,cAAc,IAAI,UAAU,EAC5B,qBAAqB,IAAI,iBAAiB,EAC1C,oBAAoB,IAAI,gBAAgB,EACxC,kBAAkB,IAAI,cAAc,EACpC,cAAc,IAAI,UAAU,EAC5B,aAAa,IAAI,SAAS,EAC1B,cAAc,IAAI,UAAU,EAC5B,qBAAqB,IAAI,iBAAiB,GAC3C,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE7H;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,cAAc,GAChB;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAU9C;AAED;2CAC2C;AAC3C,wBAAgB,eAAe,CAAC,IAAI,EAAE,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAC,CAE7E;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,IAAI,IAAI,YAAY,CAEnF;AAED;kEACkE;AAClE,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,EACvE,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,OAAO,GAClB,CAAC,GAAG,IAAI,CAUV;AAED,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IACb,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;CACjB;AAUD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,EAAE,CA2BjE;AASD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,EACtE,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,EACb,IAAI,SAAK,GACR,CAAC,GAAG,IAAI,CAaV"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type PropertyMetricProps, type PropertyRowLayout } from './PropertyPanel';
|
|
3
|
+
/** Props for `<DialogRow>`. */
|
|
4
|
+
export interface DialogRowProps extends PropertyMetricProps {
|
|
5
|
+
label: ReactNode;
|
|
6
|
+
/** What the row shows of the value, on the button that opens the dialog. One
|
|
7
|
+
* line; a longer one is cut off with an ellipsis. */
|
|
8
|
+
summary: ReactNode;
|
|
9
|
+
/** The dialog's body. A function runs only while the dialog is open, as a
|
|
10
|
+
* component — it may use hooks — and is handed `close`. */
|
|
11
|
+
children: ReactNode | ((close: () => void) => ReactNode);
|
|
12
|
+
/** The dialog's heading. Defaults to `label`. */
|
|
13
|
+
title?: ReactNode;
|
|
14
|
+
/** Dialog footer. Defaults to a Done button; `null` draws none. */
|
|
15
|
+
footer?: ReactNode | null;
|
|
16
|
+
layout?: PropertyRowLayout;
|
|
17
|
+
description?: string;
|
|
18
|
+
/** Right-aligned readout shown next to the label — see `<PropertyRow readout>`. */
|
|
19
|
+
readout?: ReactNode;
|
|
20
|
+
/** Take the full width of the enclosing grid — see `<PropertyRow span>`. */
|
|
21
|
+
span?: boolean;
|
|
22
|
+
/** The row is auto — see `<PropertyRow auto>`. */
|
|
23
|
+
auto?: boolean;
|
|
24
|
+
/** Toggles `auto` from the row's label — see `<PropertyRow onAutoChange>`. */
|
|
25
|
+
onAutoChange?: (next: boolean) => void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A row for a value too big to edit in place: it shows a one-line summary on a
|
|
29
|
+
* button, and the button opens a modal holding whatever editor the row is
|
|
30
|
+
* given. The body edits live — the dialog is room, not a transaction.
|
|
31
|
+
*/
|
|
32
|
+
export declare function DialogRow({ label, summary, children, title, footer, layout, description, readout, span, density, align, auto, onAutoChange, }: DialogRowProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
//# sourceMappingURL=DialogRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogRow.d.ts","sourceRoot":"","sources":["../../../src/components/Properties/DialogRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAe,MAAM,iBAAiB,CAAC;AAGhG,+BAA+B;AAC/B,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,KAAK,EAAE,SAAS,CAAC;IACjB;0DACsD;IACtD,OAAO,EAAE,SAAS,CAAC;IACnB;gEAC4D;IAC5D,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC,CAAC;IACzD,iDAAiD;IACjD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,mEAAmE;IACnE,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,WAAW,EACX,OAAO,EACP,IAAI,EACJ,OAAO,EACP,KAAK,EACL,IAAI,EACJ,YAAY,GACb,EAAE,cAAc,2CAiDhB"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type FillStyle, type PaintKind } from '@weasel-js/core';
|
|
3
|
+
import { type UnitTable } from '../../format/number';
|
|
4
|
+
import type { PrefNumberFormat } from '../Prefs/schema';
|
|
5
|
+
import { type PropertyMetricProps, type PropertyRowLayout } from './PropertyPanel';
|
|
6
|
+
/**
|
|
7
|
+
* Which controls a field is drawn with.
|
|
8
|
+
*
|
|
9
|
+
* - `'bare'` (the default): native inputs the property row's own stylesheet
|
|
10
|
+
* draws — the compact controls of an inspector sidebar or a lab panel.
|
|
11
|
+
* - `'framed'`: the kit's field components, each bringing its own frame —
|
|
12
|
+
* for a surface whose row does not style its controls (`SelectionPanel`,
|
|
13
|
+
* `ToolOptionsBar`), or that needs what only they do, such as reading a
|
|
14
|
+
* unit typed into a number (`accepts`).
|
|
15
|
+
*
|
|
16
|
+
* The two differ only where the kit still has two widgets for one job; a
|
|
17
|
+
* slider, a switch, a font picker and a paint are the same in both.
|
|
18
|
+
*/
|
|
19
|
+
export type PropertyFieldChrome = 'bare' | 'framed';
|
|
20
|
+
/** One choice of an enum field. */
|
|
21
|
+
export interface PropertyOption<T extends string> {
|
|
22
|
+
value: T;
|
|
23
|
+
/** The option's name. A string also names its segment for a screen reader. */
|
|
24
|
+
label: ReactNode;
|
|
25
|
+
/** What a segment shows in place of `label` when the full one would not fit
|
|
26
|
+
* — a glyph or a letter. `label` stays the accessible name. */
|
|
27
|
+
glyph?: ReactNode;
|
|
28
|
+
/** Shown but not choosable: a value the control reports and cannot author. */
|
|
29
|
+
disabled?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/** Props every kind of field shares. */
|
|
32
|
+
interface FieldBase {
|
|
33
|
+
/** The control's accessible name. A `<PropertyField>` takes it from a string
|
|
34
|
+
* `label` when this is omitted. */
|
|
35
|
+
name?: string;
|
|
36
|
+
/** The sources the field reads disagree — a multi-selection whose nodes
|
|
37
|
+
* differ. The control shows no value, in whatever form it has for that. */
|
|
38
|
+
mixed?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* The sources agree on holding nothing: whatever is in effect comes from a
|
|
41
|
+
* fallback further down. The control shows no chosen value rather than
|
|
42
|
+
* inventing one, since the next edit would write the invention back.
|
|
43
|
+
*/
|
|
44
|
+
unset?: boolean;
|
|
45
|
+
chrome?: PropertyFieldChrome;
|
|
46
|
+
/** Class on the control element itself. */
|
|
47
|
+
className?: string;
|
|
48
|
+
/** Id for the control element, for a `<label htmlFor>` outside it. */
|
|
49
|
+
id?: string;
|
|
50
|
+
}
|
|
51
|
+
/** A boolean field. */
|
|
52
|
+
export interface PropertyBooleanFieldProps extends FieldBase {
|
|
53
|
+
kind: 'boolean';
|
|
54
|
+
/** `checkbox` (default), `switch`, or `toggle` — a one-segment pressable bar. */
|
|
55
|
+
control?: 'checkbox' | 'switch' | 'toggle';
|
|
56
|
+
/** Absent reads as off. */
|
|
57
|
+
value: boolean | undefined;
|
|
58
|
+
onChange: (next: boolean) => void;
|
|
59
|
+
/** A `toggle`'s segment content. Defaults to the first letter of `name`. */
|
|
60
|
+
glyph?: ReactNode;
|
|
61
|
+
}
|
|
62
|
+
/** A number field. */
|
|
63
|
+
export interface PropertyNumberFieldProps extends FieldBase {
|
|
64
|
+
kind: 'number';
|
|
65
|
+
/** `input` (default) for a typed number; `slider` for a track with an
|
|
66
|
+
* editable readout, where the range matters more than the exact value. */
|
|
67
|
+
control?: 'input' | 'slider';
|
|
68
|
+
/** Absent reads as an empty field. */
|
|
69
|
+
value: number | null | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* The committed value. Given `onInput` as well, it fires once a drag ends,
|
|
72
|
+
* or on blur or Enter in a typed field; on its own it fires on every move
|
|
73
|
+
* and keystroke. A `framed` typed field commits only on blur or Enter,
|
|
74
|
+
* whichever callbacks it has.
|
|
75
|
+
*/
|
|
76
|
+
onChange: (next: number) => void;
|
|
77
|
+
/** The live value, fired continuously. Pass it alongside `onChange` when the
|
|
78
|
+
* write is expensive — cheap state here, the costly work there. */
|
|
79
|
+
onInput?: (next: number) => void;
|
|
80
|
+
/** A slider's track runs 0..100 where these are omitted. */
|
|
81
|
+
min?: number;
|
|
82
|
+
max?: number;
|
|
83
|
+
step?: number;
|
|
84
|
+
/**
|
|
85
|
+
* Suffix after the value. A string becomes a dim word unit (`px`); pass JSX
|
|
86
|
+
* like `<sup>°</sup>` for a symbol. Display only — the value stays a number.
|
|
87
|
+
*/
|
|
88
|
+
unit?: ReactNode;
|
|
89
|
+
/** Units a person may type into a `framed` field, each mapped to the factor
|
|
90
|
+
* that turns it into the unit shown: `{ mm: 0.1, cm: 1 }`. */
|
|
91
|
+
accepts?: Readonly<UnitTable>;
|
|
92
|
+
/** A slider readout's display. Defaults to the value at `step`'s precision. */
|
|
93
|
+
format?: (value: number) => ReactNode;
|
|
94
|
+
/** A named display for the value: `compact` reads `2.00M`. `format` wins. */
|
|
95
|
+
notation?: PrefNumberFormat;
|
|
96
|
+
placeholder?: string;
|
|
97
|
+
/** A `framed` unitless field's stepper buttons. Default `true`. */
|
|
98
|
+
steppers?: boolean;
|
|
99
|
+
}
|
|
100
|
+
/** A text field. */
|
|
101
|
+
export interface PropertyStringFieldProps extends FieldBase {
|
|
102
|
+
kind: 'string';
|
|
103
|
+
control?: 'input' | 'textarea';
|
|
104
|
+
/** Absent reads as an empty field. */
|
|
105
|
+
value: string | null | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* The committed text. On its own it fires on every keystroke. Given
|
|
108
|
+
* `onInput` as well, the field drafts: `onInput` gets each keystroke and
|
|
109
|
+
* this fires once, on blur or Enter, and only if the text changed.
|
|
110
|
+
*/
|
|
111
|
+
onChange: (next: string) => void;
|
|
112
|
+
onInput?: (next: string) => void;
|
|
113
|
+
placeholder?: string;
|
|
114
|
+
maxLength?: number;
|
|
115
|
+
}
|
|
116
|
+
/** A choice among fixed options. */
|
|
117
|
+
export interface PropertyEnumFieldProps<T extends string = string> extends FieldBase {
|
|
118
|
+
kind: 'enum';
|
|
119
|
+
/**
|
|
120
|
+
* `select` (default) is a dropdown. `radio` and `toggle` show every option
|
|
121
|
+
* at once — a radio group chooses, and a toggle is a row of pressable
|
|
122
|
+
* segments. Drawn `bare`, both are segments.
|
|
123
|
+
*/
|
|
124
|
+
control?: 'select' | 'radio' | 'toggle';
|
|
125
|
+
/** Absent, or not one of `options`, chooses nothing. */
|
|
126
|
+
value: T | undefined;
|
|
127
|
+
options: ReadonlyArray<PropertyOption<T>>;
|
|
128
|
+
onChange: (next: T) => void;
|
|
129
|
+
/** Shown while no option is chosen. Defaults to "Choose option…". */
|
|
130
|
+
placeholder?: string;
|
|
131
|
+
}
|
|
132
|
+
/** A single color. */
|
|
133
|
+
export interface PropertyColorFieldProps extends FieldBase {
|
|
134
|
+
kind: 'color';
|
|
135
|
+
/** `#rrggbb`, or `#rrggbbaa` when `alpha` is `true`. */
|
|
136
|
+
value: string | undefined;
|
|
137
|
+
/**
|
|
138
|
+
* The committed color. `bare`: given `onInput` as well, it fires once the
|
|
139
|
+
* picker closes; on its own it fires on every move. `framed`: it fires once
|
|
140
|
+
* per gesture, whichever callbacks it has.
|
|
141
|
+
*/
|
|
142
|
+
onChange: (next: string) => void;
|
|
143
|
+
onInput?: (next: string) => void;
|
|
144
|
+
/**
|
|
145
|
+
* Offer an opacity track. `true` keeps the alpha in `value` as `#rrggbbaa`;
|
|
146
|
+
* a number is the 0..1 alpha held apart from it, reported through
|
|
147
|
+
* `onAlphaChange` / `onAlphaInput`.
|
|
148
|
+
*/
|
|
149
|
+
alpha?: boolean | number;
|
|
150
|
+
onAlphaChange?: (next: number) => void;
|
|
151
|
+
onAlphaInput?: (next: number) => void;
|
|
152
|
+
/** Draw the opacity track inert, for a consumer that drops alpha. */
|
|
153
|
+
alphaDisabled?: boolean;
|
|
154
|
+
}
|
|
155
|
+
/** A whole paint: a solid, a gradient, a pattern, or none. */
|
|
156
|
+
export interface PropertyPaintFieldProps extends FieldBase {
|
|
157
|
+
kind: 'paint';
|
|
158
|
+
/** `swatch` (default) opens the editor in a popover, for a narrow slot;
|
|
159
|
+
* `inline` draws the kind bar and its editor in place. */
|
|
160
|
+
control?: 'swatch' | 'inline';
|
|
161
|
+
/** `null` is an explicit "no paint"; `undefined` is nothing to show. */
|
|
162
|
+
value: FillStyle | null | undefined;
|
|
163
|
+
onChange: (next: FillStyle | null) => void;
|
|
164
|
+
onInput?: (next: FillStyle | null) => void;
|
|
165
|
+
/** Offer "None". Default `true`. */
|
|
166
|
+
allowNone?: boolean;
|
|
167
|
+
/** Restrict the kinds offered. Default: every registered kind. */
|
|
168
|
+
kinds?: readonly PaintKind[];
|
|
169
|
+
}
|
|
170
|
+
/** A font family, picked from the live font registry. */
|
|
171
|
+
export interface PropertyFontFamilyFieldProps extends FieldBase {
|
|
172
|
+
kind: 'font-family';
|
|
173
|
+
value: string | undefined;
|
|
174
|
+
onChange: (next: string) => void;
|
|
175
|
+
/** The weight and slant the family is drawn at, so the picker names the
|
|
176
|
+
* variant that will actually paint. */
|
|
177
|
+
weight?: number;
|
|
178
|
+
fontStyle?: 'normal' | 'italic';
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* One field for {@link PropertyControl} and {@link PropertyField}, keyed by
|
|
182
|
+
* `kind`.
|
|
183
|
+
*/
|
|
184
|
+
export type PropertyControlProps<T extends string = string> = PropertyBooleanFieldProps | PropertyNumberFieldProps | PropertyStringFieldProps | PropertyEnumFieldProps<T> | PropertyColorFieldProps | PropertyPaintFieldProps | PropertyFontFamilyFieldProps;
|
|
185
|
+
/** The kinds a {@link PropertyControl} draws. */
|
|
186
|
+
export type PropertyFieldKind = PropertyControlProps['kind'];
|
|
187
|
+
/** Row props {@link PropertyField} adds to the field it draws. */
|
|
188
|
+
export interface PropertyFieldRowProps extends PropertyMetricProps {
|
|
189
|
+
label: ReactNode;
|
|
190
|
+
/**
|
|
191
|
+
* Text beside the label. On a slider it replaces the editable readout —
|
|
192
|
+
* use it when the row is not showing a number a caller could type back,
|
|
193
|
+
* such as an auto row's `auto`.
|
|
194
|
+
*/
|
|
195
|
+
readout?: ReactNode;
|
|
196
|
+
description?: string;
|
|
197
|
+
layout?: PropertyRowLayout;
|
|
198
|
+
/** Take the full width of the enclosing grid — see `<PropertyRow span>`. */
|
|
199
|
+
span?: boolean;
|
|
200
|
+
/** The row is auto — see `<PropertyRow auto>`. */
|
|
201
|
+
auto?: boolean;
|
|
202
|
+
/** Toggles `auto` from the row's label — see `<PropertyRow onAutoChange>`. */
|
|
203
|
+
onAutoChange?: (next: boolean) => void;
|
|
204
|
+
/** Class on the row. `controlClassName` reaches the control. */
|
|
205
|
+
rowClassName?: string;
|
|
206
|
+
controlClassName?: string;
|
|
207
|
+
}
|
|
208
|
+
/** Props for {@link PropertyField}: one field, and the row around it. */
|
|
209
|
+
export type PropertyFieldProps<T extends string = string> = PropertyFieldRowProps & DistributiveOmit<PropertyControlProps<T>, 'className' | 'id'>;
|
|
210
|
+
type DistributiveOmit<U, K extends PropertyKey> = U extends unknown ? Omit<U, K> : never;
|
|
211
|
+
/**
|
|
212
|
+
* A labeled settings row for one field, its control chosen by `kind` (and
|
|
213
|
+
* `control`): `<PropertyField kind="number" control="slider" label="Blur" …>`.
|
|
214
|
+
*
|
|
215
|
+
* The row is a {@link PropertyRow}; the control is the one
|
|
216
|
+
* {@link PropertyControl} draws for the same props. Every schema-driven
|
|
217
|
+
* settings surface in the kit — `ControlPanel`, `PrefsForm`, `SelectionPanel`
|
|
218
|
+
* — draws its built-in kinds through that one mapping, so a kind's control
|
|
219
|
+
* is decided once.
|
|
220
|
+
*
|
|
221
|
+
* Callbacks follow the field's shape: a discrete control (a box, a choice)
|
|
222
|
+
* reports each pick; a continuous or typed one reports every change through
|
|
223
|
+
* `onChange` alone, or splits them into live `onInput` and settled
|
|
224
|
+
* `onChange` when given both. `mixed` and `unset` show a field whose sources
|
|
225
|
+
* disagree, or agree on holding nothing.
|
|
226
|
+
*/
|
|
227
|
+
export declare function PropertyField<T extends string = string>(props: PropertyFieldProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
228
|
+
/**
|
|
229
|
+
* The control for one field, with no row around it — for a cell that shares
|
|
230
|
+
* a row with others, or a surface that draws its own row. Keyed by `kind`
|
|
231
|
+
* (and `control`), the same mapping {@link PropertyField} draws.
|
|
232
|
+
*
|
|
233
|
+
* A slider brings its readout beside the track. Several elements come back
|
|
234
|
+
* as siblings rather than wrapped, so the surrounding row lays them out.
|
|
235
|
+
*/
|
|
236
|
+
export declare function PropertyControl<T extends string = string>(typed: PropertyControlProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
237
|
+
export {};
|
|
238
|
+
//# sourceMappingURL=PropertyField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyField.d.ts","sourceRoot":"","sources":["../../../src/components/Properties/PropertyField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
+
import { type StanceProps } from '../stance';
|
|
2
3
|
import { type PropertyListPack, type PropertyMetricProps } from './PropertyPanel';
|
|
3
4
|
/** Props for `<PropertyGroup>`. */
|
|
4
|
-
export interface PropertyGroupProps extends PropertyMetricProps {
|
|
5
|
+
export interface PropertyGroupProps extends PropertyMetricProps, StanceProps {
|
|
5
6
|
/** Title rendered between two rules at the top of the group. */
|
|
6
7
|
title: ReactNode;
|
|
8
|
+
/** Before the title: a drag handle, an ordinal. Clicks here do not fold the group. */
|
|
9
|
+
leading?: ReactNode;
|
|
10
|
+
/** After the title: a summary of the group's value, a remove button. Clicks here do not fold the group. */
|
|
11
|
+
actions?: ReactNode;
|
|
7
12
|
/** Help text for the whole group, drawn under the title and above the
|
|
8
13
|
* rows. `<PropertyRow description>` covers the per-row case. */
|
|
9
14
|
description?: ReactNode;
|
|
@@ -38,7 +43,11 @@ export interface PropertyGroupProps extends PropertyMetricProps {
|
|
|
38
43
|
* inside a fill effect's controls).
|
|
39
44
|
*
|
|
40
45
|
* A collapsible group keeps its rows mounted and hides them, so a control's
|
|
41
|
-
* local state survives being folded away.
|
|
46
|
+
* local state survives being folded away. `stance` and `tone` work as on
|
|
47
|
+
* `<PropertyPanel>`; a tone also draws the group's leading edge in it, which
|
|
48
|
+
* is how a list of like groups — effects, tails — tells its members apart.
|
|
49
|
+
* `leading` and `actions` put a handle and controls in the title row, and the
|
|
50
|
+
* groups of a `<PropertyList>` reorder with `useReorderDragList`.
|
|
42
51
|
*/
|
|
43
|
-
export declare function PropertyGroup({ title, description, hidden, collapsible, defaultCollapsed, collapsed, onCollapsedChange, children, className, span, pack, density, align, }: PropertyGroupProps): import("react/jsx-runtime").JSX.Element | null;
|
|
52
|
+
export declare function PropertyGroup({ title, leading, actions, description, hidden, collapsible, defaultCollapsed, collapsed, onCollapsedChange, children, className, span, pack, density, align, stance, tone, }: PropertyGroupProps): import("react/jsx-runtime").JSX.Element | null;
|
|
44
53
|
//# sourceMappingURL=PropertyGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyGroup.d.ts","sourceRoot":"","sources":["../../../src/components/Properties/PropertyGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAmB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PropertyGroup.d.ts","sourceRoot":"","sources":["../../../src/components/Properties/PropertyGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAmB,MAAM,OAAO,CAAC;AAExD,OAAO,EAAE,KAAK,WAAW,EAAa,MAAM,WAAW,CAAC;AAExD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAGzB,MAAM,iBAAiB,CAAC;AAEzB,mCAAmC;AACnC,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB,EAAE,WAAW;IAC1E,gEAAgE;IAChE,KAAK,EAAE,SAAS,CAAC;IACjB,sFAAsF;IACtF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,2GAA2G;IAC3G,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;qEACiE;IACjE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;2EACuE;IACvE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,EACP,OAAO,EACP,WAAW,EACX,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,IAAmB,EACnB,OAAO,EACP,KAAK,EACL,MAAM,EACN,IAAI,GACL,EAAE,kBAAkB,kDAuDpB"}
|