@weasel-js/ui 1.6.0 → 1.7.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 → ActionBar-DCq16yFA.js} +9 -9
- package/dist/chunks/ActionBar-DCq16yFA.js.map +1 -0
- package/dist/chunks/Badge-CTc9Lkwn.js +14 -0
- package/dist/chunks/Badge-CTc9Lkwn.js.map +1 -0
- package/dist/chunks/{Badge-DZ0lFs14.js → Badge-D2aD7xVL.js} +418 -369
- package/dist/chunks/Badge-D2aD7xVL.js.map +1 -0
- package/dist/chunks/BandEditor-Dd0egAgE.js +292 -0
- package/dist/chunks/BandEditor-Dd0egAgE.js.map +1 -0
- package/dist/chunks/{Button-Dyp31jMt.js → Button-BIdXHQOx.js} +3 -3
- package/dist/chunks/Button-BIdXHQOx.js.map +1 -0
- package/dist/chunks/{ButtonBar-smZzFuEo.js → ButtonBar-DIQTe5GQ.js} +4 -4
- package/dist/chunks/ButtonBar-DIQTe5GQ.js.map +1 -0
- package/dist/chunks/Callout-ndW5_Bqx.js +116 -0
- package/dist/chunks/Callout-ndW5_Bqx.js.map +1 -0
- package/dist/chunks/{Checkbox-ChZz30Ds.js → Checkbox-DHXTUHO9.js} +1 -1
- package/dist/chunks/Checkbox-DHXTUHO9.js.map +1 -0
- package/dist/chunks/CloseButton-C2J7wVfo.js +26 -0
- package/dist/chunks/CloseButton-C2J7wVfo.js.map +1 -0
- package/dist/chunks/{Code-v4tDWuuN.js → Code-AsKpgnv6.js} +3 -3
- package/dist/chunks/Code-AsKpgnv6.js.map +1 -0
- package/dist/chunks/ColorField-Yz_BkcCT.js +69 -0
- package/dist/chunks/ColorField-Yz_BkcCT.js.map +1 -0
- package/dist/chunks/{ColorModeControl-JOEiqtE0.js → ColorModeControl-BewxA0rX.js} +3 -3
- package/dist/chunks/ColorModeControl-BewxA0rX.js.map +1 -0
- package/dist/chunks/{ComboBox-C1JgIpML.js → ComboBox-B34H76CW.js} +14 -14
- package/dist/chunks/ComboBox-B34H76CW.js.map +1 -0
- package/dist/chunks/{CurveEditor-f1R4kSbD.js → CurveEditor-DUVjd25R.js} +35 -35
- package/dist/chunks/CurveEditor-DUVjd25R.js.map +1 -0
- package/dist/chunks/{DataGrid-CZPrB_3a.js → DataGrid-LZ2JgY2Y.js} +27 -27
- package/dist/chunks/DataGrid-LZ2JgY2Y.js.map +1 -0
- package/dist/chunks/DetailList-BKomDzg5.js +52 -0
- package/dist/chunks/DetailList-BKomDzg5.js.map +1 -0
- package/dist/chunks/{DetentSlider-BYyaZha6.js → DetentSlider-5uQPFucv.js} +2 -2
- package/dist/chunks/DetentSlider-5uQPFucv.js.map +1 -0
- package/dist/chunks/Dialog-DGFutQ--.js +63 -0
- package/dist/chunks/Dialog-DGFutQ--.js.map +1 -0
- package/dist/chunks/{Disclosure-D79jhmh2.js → Disclosure-Ch2KxYuB.js} +7 -7
- package/dist/chunks/Disclosure-Ch2KxYuB.js.map +1 -0
- package/dist/chunks/{DragGhost-DcU7cOwy.js → DragGhost-B5_hb9W9.js} +2 -2
- package/dist/chunks/DragGhost-B5_hb9W9.js.map +1 -0
- package/dist/chunks/{DragHandleGlyph-BtBxHjZS.js → DragGrip-AoIZXfZb.js} +2 -2
- package/dist/chunks/DragGrip-AoIZXfZb.js.map +1 -0
- package/dist/chunks/FallthroughDiagram-BEHiM5IS.js +284 -0
- package/dist/chunks/FallthroughDiagram-BEHiM5IS.js.map +1 -0
- package/dist/chunks/{Field-xbqRmjsI.js → Field--onYxXTF.js} +7 -6
- package/dist/chunks/Field--onYxXTF.js.map +1 -0
- package/dist/chunks/{FillStrokeSwatch-BViKXIPx.js → FillStrokeSwatch-DNb0KXPk.js} +11 -11
- package/dist/chunks/FillStrokeSwatch-DNb0KXPk.js.map +1 -0
- package/dist/chunks/{FontFamilySelect-r9TV_xIH.js → FontFamilySelect-DkRgNtag.js} +2 -2
- package/dist/chunks/FontFamilySelect-DkRgNtag.js.map +1 -0
- package/dist/chunks/GestureRoute-C_YGl7bJ.js +82 -0
- package/dist/chunks/GestureRoute-C_YGl7bJ.js.map +1 -0
- package/dist/chunks/GradientEditor-b7v4Ph3i.js +363 -0
- package/dist/chunks/GradientEditor-b7v4Ph3i.js.map +1 -0
- package/dist/chunks/{Icon-BW0qv_U7.js → Icon-CcVjdq2C.js} +32 -2
- package/dist/chunks/Icon-CcVjdq2C.js.map +1 -0
- package/dist/chunks/{InlineRange-BwGFDhpT.js → InlineRange-P01ABSzo.js} +3 -3
- package/dist/chunks/InlineRange-P01ABSzo.js.map +1 -0
- package/dist/chunks/{Input-Bx2cuUbS.js → Input-CHmkfYaD.js} +2 -2
- package/dist/chunks/Input-CHmkfYaD.js.map +1 -0
- package/dist/chunks/{ItemList-DzJ2lK0R.js → ItemList-Cm-HUWCi.js} +6 -7
- package/dist/chunks/ItemList-Cm-HUWCi.js.map +1 -0
- package/dist/chunks/{ItemList.module-DDUXfuZL.js → ItemList.module-BSpCSxan.js} +1 -1
- package/dist/chunks/ItemList.module-BSpCSxan.js.map +1 -0
- package/dist/chunks/{Jog-LPoac9s4.js → Jog-DRmfrkCg.js} +4 -4
- package/dist/chunks/Jog-DRmfrkCg.js.map +1 -0
- package/dist/chunks/{Keycaps-CKiKOJnJ.js → Keycaps-C-FJyG8k.js} +15 -15
- package/dist/chunks/Keycaps-C-FJyG8k.js.map +1 -0
- package/dist/chunks/{LayerList-BeGrkLb9.js → LayerList-wCI1EueM.js} +150 -154
- package/dist/chunks/LayerList-wCI1EueM.js.map +1 -0
- package/dist/chunks/ListEditor-BeA60TAA.js +71 -0
- package/dist/chunks/ListEditor-BeA60TAA.js.map +1 -0
- package/dist/chunks/{MenuButton-BcdhrNGh.js → MenuButton-BSqEChJE.js} +9 -9
- package/dist/chunks/MenuButton-BSqEChJE.js.map +1 -0
- package/dist/chunks/{MeshEditor-BOOIFWnz.js → MeshEditor-D1HLZcAh.js} +4 -4
- package/dist/chunks/MeshEditor-D1HLZcAh.js.map +1 -0
- package/dist/chunks/NumberField-BnJxcazc.js +206 -0
- package/dist/chunks/NumberField-BnJxcazc.js.map +1 -0
- package/dist/chunks/{OptionsBar-DlcagPYK.js → OptionsBar-ujxYidhj.js} +3 -3
- package/dist/chunks/OptionsBar-ujxYidhj.js.map +1 -0
- package/dist/chunks/{PaintField-B2mLRZa4.js → PaintField-DadOELMg.js} +4 -4
- package/dist/chunks/PaintField-DadOELMg.js.map +1 -0
- package/dist/chunks/PaintInput-v8Y7MDbH.js +121 -0
- package/dist/chunks/PaintInput-v8Y7MDbH.js.map +1 -0
- package/dist/chunks/{PatternPicker-DdfpxoQy.js → PatternPicker-R_EQtw2Q.js} +2 -2
- package/dist/chunks/PatternPicker-R_EQtw2Q.js.map +1 -0
- package/dist/chunks/{Plot2D-lyO7waPQ.js → Plot2D-CTXHkL5p.js} +13 -13
- package/dist/chunks/Plot2D-CTXHkL5p.js.map +1 -0
- package/dist/chunks/{PointPlotter-DGs9i5P-.js → PointPlotter-ldI4RrU1.js} +5 -4
- package/dist/chunks/PointPlotter-ldI4RrU1.js.map +1 -0
- package/dist/chunks/Powerline-DNyH885r.js +42 -0
- package/dist/chunks/Powerline-DNyH885r.js.map +1 -0
- package/dist/chunks/{Prefs-Ctu0H4-b.js → Prefs-ByA-x51i.js} +60 -47
- package/dist/chunks/Prefs-ByA-x51i.js.map +1 -0
- package/dist/chunks/{Properties-Bbneh1ws.js → Properties-DmAeQ3mk.js} +43 -36
- package/dist/chunks/Properties-DmAeQ3mk.js.map +1 -0
- package/dist/chunks/PropertyField-DfIJJ5GS.js +673 -0
- package/dist/chunks/PropertyField-DfIJJ5GS.js.map +1 -0
- package/dist/chunks/{RadioGroup-BK2mD6Q0.js → RadioGroup-Bh4-12e-.js} +2 -2
- package/dist/chunks/RadioGroup-Bh4-12e-.js.map +1 -0
- package/dist/chunks/{RangeSlider-BiRAOsTh.js → RangeSlider-SEGE-7VF.js} +8 -8
- package/dist/chunks/RangeSlider-SEGE-7VF.js.map +1 -0
- package/dist/chunks/{ResizeHandle-Cc6EOehs.js → ResizeHandle-rKVWyeTG.js} +9 -9
- package/dist/chunks/ResizeHandle-rKVWyeTG.js.map +1 -0
- package/dist/chunks/Select-ClmKtyWg.js +229 -0
- package/dist/chunks/Select-ClmKtyWg.js.map +1 -0
- package/dist/chunks/SelectionPanel-BaQnX4Bs.js +106 -0
- package/dist/chunks/SelectionPanel-BaQnX4Bs.js.map +1 -0
- package/dist/chunks/{Sidebar-DKKd4R-x.js → Sidebar-BZ0m4afn.js} +8 -8
- package/dist/chunks/Sidebar-BZ0m4afn.js.map +1 -0
- package/dist/chunks/SidebarPanel-BblDEz4G.js +53 -0
- package/dist/chunks/SidebarPanel-BblDEz4G.js.map +1 -0
- package/dist/chunks/Slider-YofwGOI4.js +389 -0
- package/dist/chunks/Slider-YofwGOI4.js.map +1 -0
- package/dist/chunks/{StatusBar-CdPdmmda.js → StatusBar-Ca9Dvhhq.js} +13 -13
- package/dist/chunks/StatusBar-Ca9Dvhhq.js.map +1 -0
- package/dist/chunks/{SwatchGrid-C-Zx2Exd.js → SwatchGrid-BYvA8Bmh.js} +3 -3
- package/dist/chunks/{SwatchGrid-C-Zx2Exd.js.map → SwatchGrid-BYvA8Bmh.js.map} +1 -1
- package/dist/chunks/{Switch-DxF7TsEu.js → Switch-CSYmcM8y.js} +1 -1
- package/dist/chunks/Switch-CSYmcM8y.js.map +1 -0
- package/dist/chunks/{Tabs-GXEfoe3o.js → Tabs-BbpzLLdY.js} +1 -1
- package/dist/chunks/Tabs-BbpzLLdY.js.map +1 -0
- package/dist/chunks/ThemeSwitcher-BlsInAmR.js +38 -0
- package/dist/chunks/ThemeSwitcher-BlsInAmR.js.map +1 -0
- package/dist/chunks/{Timeline-SgmpQtUV.js → Timeline-B39cwfMB.js} +213 -209
- package/dist/chunks/Timeline-B39cwfMB.js.map +1 -0
- package/dist/chunks/{Toast-BfcljZz6.js → Toast-BF9GE0HC.js} +25 -27
- package/dist/chunks/Toast-BF9GE0HC.js.map +1 -0
- package/dist/chunks/{ToggleBar-Btnl5r7F.js → ToggleBar-BTYkBXU9.js} +20 -18
- package/dist/chunks/ToggleBar-BTYkBXU9.js.map +1 -0
- package/dist/chunks/{TokenPanel-5ajHEHha.js → TokenPanel-CMDAOfYH.js} +21 -18
- package/dist/chunks/TokenPanel-CMDAOfYH.js.map +1 -0
- package/dist/chunks/{ToolButton-rzqlFlAc.js → ToolButton-CAHBa08P.js} +7 -7
- package/dist/chunks/ToolButton-CAHBa08P.js.map +1 -0
- package/dist/chunks/{ToolGroup-4bUBV5k6.js → ToolGroup-Dpg1LN0l.js} +7 -7
- package/dist/chunks/ToolGroup-Dpg1LN0l.js.map +1 -0
- package/dist/chunks/{ToolOptionsBar-BF3TNXA3.js → ToolOptionsBar-D_GCrBAN.js} +12 -10
- package/dist/chunks/ToolOptionsBar-D_GCrBAN.js.map +1 -0
- package/dist/chunks/{ToolPalette-Uw4PvWwa.js → ToolPalette-OOWN51Xx.js} +7 -7
- package/dist/chunks/ToolPalette-OOWN51Xx.js.map +1 -0
- package/dist/chunks/{Tooltip-9XiJF937.js → Tooltip-Clg2mhSt.js} +2 -2
- package/dist/chunks/Tooltip-Clg2mhSt.js.map +1 -0
- package/dist/chunks/{Tree-BGt6P8tI.js → Tree-Cc8lIzgM.js} +3 -3
- package/dist/chunks/Tree-Cc8lIzgM.js.map +1 -0
- package/dist/chunks/{createKeyframeLayer-BzDRCrrh.js → createKeyframeLayer-DVl321_l.js} +46 -47
- package/dist/chunks/createKeyframeLayer-DVl321_l.js.map +1 -0
- package/dist/chunks/{dlog-CMYiRF3Q.js → dlog-F0I8KsIW.js} +2 -2
- package/dist/chunks/dlog-F0I8KsIW.js.map +1 -0
- package/dist/chunks/{formatShortcut-BoGqUoWi.js → formatShortcut-DRQrVThu.js} +2 -2
- package/dist/chunks/formatShortcut-DRQrVThu.js.map +1 -0
- package/dist/chunks/icons-BhcR1l64.js +162 -0
- package/dist/chunks/icons-BhcR1l64.js.map +1 -0
- package/dist/chunks/{interactiveTarget-C7QUBaJN.js → interactiveTarget-BNZmTow2.js} +1 -1
- package/dist/chunks/{interactiveTarget-C7QUBaJN.js.map → interactiveTarget-BNZmTow2.js.map} +1 -1
- package/dist/chunks/{keyGlyph-CLvUHU8c.js → keyGlyph-C0qTakG-.js} +1 -1
- package/dist/chunks/keyGlyph-C0qTakG-.js.map +1 -0
- package/dist/chunks/{model-BQMvTLnW.js → model-BaF65rnX.js} +95 -90
- package/dist/chunks/model-BaF65rnX.js.map +1 -0
- package/dist/chunks/{paintPreview-DPtZS4yU.js → paintPreview-CuSZiHpR.js} +1 -1
- package/dist/chunks/paintPreview-CuSZiHpR.js.map +1 -0
- package/dist/chunks/{paintValue-Bz6AVuh3.js → paintValue-BpaGPjV3.js} +3 -3
- package/dist/chunks/paintValue-BpaGPjV3.js.map +1 -0
- package/dist/chunks/{portalHost-CjpCnuGU.js → portalHost-yTOVuCej.js} +1 -1
- package/dist/chunks/portalHost-yTOVuCej.js.map +1 -0
- package/dist/chunks/{prefField-CLkhrvYl.js → prefField-BopW9bjx.js} +18 -14
- package/dist/chunks/prefField-BopW9bjx.js.map +1 -0
- package/dist/chunks/{segmentTooltip-CAkZlW-t.js → segmentTooltip-CStYHKzd.js} +2 -2
- package/dist/chunks/segmentTooltip-CStYHKzd.js.map +1 -0
- package/dist/chunks/segmentedControl.module-D6SzYJD7.js +11 -0
- package/dist/chunks/segmentedControl.module-D6SzYJD7.js.map +1 -0
- package/dist/chunks/{snap-DC4Km8xG.js → snap-DRjbOiG9.js} +1 -1
- package/dist/chunks/snap-DRjbOiG9.js.map +1 -0
- package/dist/chunks/{stance-CarrcbbP.js → stance-BFQpS_fL.js} +1 -1
- package/dist/chunks/stance-BFQpS_fL.js.map +1 -0
- package/dist/chunks/{useReorderDragList-Dcezzgix.js → useReorderDragList-FCMoFIzH.js} +3 -3
- package/dist/chunks/useReorderDragList-FCMoFIzH.js.map +1 -0
- package/dist/chunks/{useRovingTabIndex-B4uJqiKP.js → useRovingTabIndex-Bp_hYm_h.js} +1 -1
- package/dist/chunks/useRovingTabIndex-Bp_hYm_h.js.map +1 -0
- package/dist/components/ActionBar/ActionBar.d.ts +1 -1
- package/dist/components/ActionBar/ActionBar.d.ts.map +1 -1
- package/dist/components/ActionBar/index.js +1 -1
- package/dist/components/Badge/bases/Powerline.d.ts.map +1 -1
- package/dist/components/Badge/bases/edgeProfiles.d.ts +31 -4
- package/dist/components/Badge/bases/edgeProfiles.d.ts.map +1 -1
- package/dist/components/Badge/index.d.ts +1 -0
- package/dist/components/Badge/index.d.ts.map +1 -1
- package/dist/components/Badge/index.js +3 -2
- package/dist/components/Badge/statusIcons.d.ts +5 -0
- package/dist/components/Badge/statusIcons.d.ts.map +1 -0
- package/dist/components/BandEditor/BandEditor.d.ts +16 -7
- package/dist/components/BandEditor/BandEditor.d.ts.map +1 -1
- package/dist/components/BandEditor/bands.d.ts +5 -2
- package/dist/components/BandEditor/bands.d.ts.map +1 -1
- package/dist/components/BandEditor/index.js +1 -1
- package/dist/components/Button/index.js +1 -1
- package/dist/components/ButtonBar/index.js +1 -1
- package/dist/components/Callout/Callout.d.ts +3 -3
- package/dist/components/Callout/Callout.d.ts.map +1 -1
- package/dist/components/Callout/index.js +1 -1
- package/dist/components/Checkbox/index.js +1 -1
- package/dist/components/CloseButton/CloseButton.d.ts +21 -0
- package/dist/components/CloseButton/CloseButton.d.ts.map +1 -0
- package/dist/components/CloseButton/index.d.ts +3 -0
- package/dist/components/CloseButton/index.d.ts.map +1 -0
- package/dist/components/CloseButton/index.js +2 -0
- package/dist/components/Code/Code.d.ts +1 -1
- package/dist/components/Code/Code.d.ts.map +1 -1
- package/dist/components/Code/index.js +1 -1
- package/dist/components/ColorField/ColorField.d.ts +6 -2
- package/dist/components/ColorField/ColorField.d.ts.map +1 -1
- package/dist/components/ColorField/index.js +1 -1
- package/dist/components/ColorModeControl/index.js +1 -1
- package/dist/components/ComboBox/ComboBox.d.ts +2 -2
- package/dist/components/ComboBox/ComboBox.d.ts.map +1 -1
- package/dist/components/ComboBox/index.js +1 -1
- package/dist/components/CurveEditor/CurveEditor.d.ts +1 -1
- package/dist/components/CurveEditor/CurveEditor.d.ts.map +1 -1
- package/dist/components/CurveEditor/LayeredCurveEditor.d.ts +1 -1
- package/dist/components/CurveEditor/LayeredCurveEditor.d.ts.map +1 -1
- package/dist/components/CurveEditor/index.js +3 -3
- package/dist/components/DataGrid/DataGrid.d.ts +1 -1
- 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 +31 -5
- package/dist/components/DetailList/DetailList.d.ts.map +1 -1
- package/dist/components/DetailList/index.d.ts +1 -1
- package/dist/components/DetailList/index.d.ts.map +1 -1
- package/dist/components/DetailList/index.js +1 -1
- package/dist/components/DetentSlider/index.js +1 -1
- package/dist/components/Dialog/Dialog.d.ts +1 -1
- 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 +4 -4
- package/dist/components/Disclosure/Disclosure.d.ts.map +1 -1
- package/dist/components/Disclosure/index.js +1 -1
- package/dist/components/DragGhost/index.js +1 -1
- package/dist/components/{DragHandleGlyph/DragHandleGlyph.d.ts → DragGrip/DragGrip.d.ts} +4 -4
- package/dist/components/DragGrip/DragGrip.d.ts.map +1 -0
- package/dist/components/DragGrip/index.d.ts +3 -0
- package/dist/components/DragGrip/index.d.ts.map +1 -0
- package/dist/components/DragGrip/index.js +2 -0
- package/dist/components/FallthroughDiagram/FallthroughDiagram.d.ts +14 -0
- package/dist/components/FallthroughDiagram/FallthroughDiagram.d.ts.map +1 -0
- package/dist/components/FallthroughDiagram/fixtures.d.ts +17 -0
- package/dist/components/FallthroughDiagram/fixtures.d.ts.map +1 -0
- package/dist/components/FallthroughDiagram/index.d.ts +3 -0
- package/dist/components/FallthroughDiagram/index.d.ts.map +1 -0
- package/dist/components/FallthroughDiagram/index.js +2 -0
- package/dist/components/Field/Field.d.ts +1 -1
- package/dist/components/Field/Field.d.ts.map +1 -1
- package/dist/components/Field/index.js +1 -1
- package/dist/components/FillStrokeSwatch/index.js +1 -1
- package/dist/components/FontFamilySelect/FontFamilySelect.d.ts +1 -1
- package/dist/components/FontFamilySelect/FontFamilySelect.d.ts.map +1 -1
- package/dist/components/FontFamilySelect/index.js +1 -1
- package/dist/components/GestureRoute/GestureRoute.d.ts +19 -0
- package/dist/components/GestureRoute/GestureRoute.d.ts.map +1 -0
- package/dist/components/GestureRoute/index.d.ts +3 -0
- package/dist/components/GestureRoute/index.d.ts.map +1 -0
- package/dist/components/GestureRoute/index.js +2 -0
- package/dist/components/GradientEditor/GradientEditor.d.ts +22 -8
- package/dist/components/GradientEditor/GradientEditor.d.ts.map +1 -1
- package/dist/components/GradientEditor/index.js +1 -1
- package/dist/components/InlineRange/index.js +1 -1
- package/dist/components/Input/index.js +1 -1
- package/dist/components/ItemList/index.js +1 -1
- package/dist/components/Jog/Jog.d.ts +1 -1
- package/dist/components/Jog/Jog.d.ts.map +1 -1
- package/dist/components/Jog/index.js +1 -1
- package/dist/components/Keycaps/Keycap.d.ts +1 -1
- package/dist/components/Keycaps/Keycap.d.ts.map +1 -1
- package/dist/components/Keycaps/Keycaps.d.ts +11 -5
- package/dist/components/Keycaps/Keycaps.d.ts.map +1 -1
- package/dist/components/Keycaps/index.d.ts +1 -1
- package/dist/components/Keycaps/index.d.ts.map +1 -1
- package/dist/components/Keycaps/index.js +2 -2
- package/dist/components/LayerList/LayerList.d.ts +2 -2
- package/dist/components/LayerList/LayerList.d.ts.map +1 -1
- package/dist/components/LayerList/index.js +1 -1
- package/dist/components/ListEditor/ListEditor.d.ts +1 -1
- package/dist/components/ListEditor/ListEditor.d.ts.map +1 -1
- package/dist/components/ListEditor/index.js +1 -1
- package/dist/components/MenuButton/MenuButton.d.ts +1 -1
- 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/UnitField.d.ts +20 -7
- 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/PaintInput.d.ts.map +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/PointPlotter.d.ts +1 -1
- package/dist/components/PointPlotter/PointPlotter.d.ts.map +1 -1
- package/dist/components/PointPlotter/index.js +1 -1
- package/dist/components/Powerline/Powerline.d.ts +1 -1
- package/dist/components/Powerline/Powerline.d.ts.map +1 -1
- package/dist/components/Powerline/index.d.ts +1 -1
- package/dist/components/Powerline/index.d.ts.map +1 -1
- package/dist/components/Powerline/index.js +2 -2
- package/dist/components/Prefs/PrefsDialog.d.ts +1 -1
- package/dist/components/Prefs/PrefsDialog.d.ts.map +1 -1
- package/dist/components/Prefs/PrefsForm.d.ts +1 -1
- package/dist/components/Prefs/PrefsForm.d.ts.map +1 -1
- package/dist/components/Prefs/PrefsPane.d.ts +1 -1
- package/dist/components/Prefs/PrefsPane.d.ts.map +1 -1
- package/dist/components/Prefs/PrefsRail.d.ts +1 -1
- package/dist/components/Prefs/PrefsRail.d.ts.map +1 -1
- package/dist/components/Prefs/PrefsRow.d.ts +1 -1
- package/dist/components/Prefs/PrefsRow.d.ts.map +1 -1
- package/dist/components/Prefs/index.d.ts +1 -1
- package/dist/components/Prefs/index.d.ts.map +1 -1
- package/dist/components/Prefs/index.js +2 -2
- package/dist/components/Prefs/prefField.d.ts.map +1 -1
- package/dist/components/Prefs/schema.d.ts +2 -2
- package/dist/components/Prefs/schema.d.ts.map +1 -1
- package/dist/components/Properties/CurveField.d.ts +1 -1
- package/dist/components/Properties/CurveField.d.ts.map +1 -1
- package/dist/components/Properties/DialogRow.d.ts +1 -1
- package/dist/components/Properties/DialogRow.d.ts.map +1 -1
- package/dist/components/Properties/PropertyField.d.ts +24 -32
- package/dist/components/Properties/PropertyField.d.ts.map +1 -1
- package/dist/components/Properties/PropertyGroup.d.ts +1 -1
- package/dist/components/Properties/PropertyGroup.d.ts.map +1 -1
- package/dist/components/Properties/PropertyPanel.d.ts +4 -11
- package/dist/components/Properties/PropertyPanel.d.ts.map +1 -1
- package/dist/components/Properties/Subpanel.d.ts +1 -1
- package/dist/components/Properties/Subpanel.d.ts.map +1 -1
- package/dist/components/Properties/index.d.ts +1 -1
- package/dist/components/Properties/index.d.ts.map +1 -1
- package/dist/components/Properties/index.js +2 -2
- package/dist/components/Properties/storyLayouts.d.ts +1 -1
- package/dist/components/Properties/storyLayouts.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +2 -2
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.js +1 -1
- package/dist/components/RangeSlider/RangeSlider.d.ts +1 -1
- package/dist/components/RangeSlider/RangeSlider.d.ts.map +1 -1
- package/dist/components/RangeSlider/index.js +1 -1
- package/dist/components/ResizeHandle/ResizeHandle.d.ts +1 -1
- package/dist/components/ResizeHandle/ResizeHandle.d.ts.map +1 -1
- package/dist/components/ResizeHandle/index.js +1 -1
- package/dist/components/Select/Select.d.ts +3 -3
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/index.js +1 -1
- package/dist/components/SelectionPanel/SelectionPanel.d.ts +1 -1
- package/dist/components/SelectionPanel/SelectionPanel.d.ts.map +1 -1
- package/dist/components/SelectionPanel/index.js +2 -2
- package/dist/components/SelectionPanel/renderLeaf.d.ts +7 -0
- package/dist/components/SelectionPanel/renderLeaf.d.ts.map +1 -1
- package/dist/components/Sidebar/Sidebar.d.ts +1 -1
- package/dist/components/Sidebar/Sidebar.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/Slider.d.ts +21 -3
- package/dist/components/Slider/Slider.d.ts.map +1 -1
- package/dist/components/Slider/index.js +1 -1
- package/dist/components/StatusBar/StatusBar.d.ts +3 -3
- package/dist/components/StatusBar/StatusBar.d.ts.map +1 -1
- package/dist/components/StatusBar/index.js +1 -1
- package/dist/components/SwatchGrid/index.js +1 -1
- package/dist/components/Switch/index.js +1 -1
- package/dist/components/Tabs/Tabs.d.ts +4 -4
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/index.js +1 -1
- package/dist/components/ThemeSwitcher/ThemeSwitcher.d.ts +38 -0
- package/dist/components/ThemeSwitcher/ThemeSwitcher.d.ts.map +1 -0
- package/dist/components/ThemeSwitcher/index.d.ts +3 -0
- package/dist/components/ThemeSwitcher/index.d.ts.map +1 -0
- package/dist/components/ThemeSwitcher/index.js +2 -0
- package/dist/components/Timeline/Transport.d.ts.map +1 -1
- package/dist/components/Timeline/index.js +1 -1
- package/dist/components/Toast/Toast.d.ts +1 -1
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/index.js +1 -1
- package/dist/components/ToggleBar/index.js +1 -1
- package/dist/components/TokenPanel/TokenPanel.d.ts +1 -1
- package/dist/components/TokenPanel/TokenPanel.d.ts.map +1 -1
- package/dist/components/TokenPanel/index.js +1 -1
- package/dist/components/ToolButton/ToolButton.d.ts +1 -1
- package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
- package/dist/components/ToolButton/index.js +1 -1
- package/dist/components/ToolGroup/ToolGroup.d.ts +1 -1
- package/dist/components/ToolGroup/ToolGroup.d.ts.map +1 -1
- package/dist/components/ToolGroup/index.js +1 -1
- package/dist/components/ToolOptionsBar/ToolOptionsBar.d.ts +1 -1
- 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 +3 -2
- package/dist/components/ToolPalette/ToolPalette.d.ts.map +1 -1
- package/dist/components/ToolPalette/index.js +2 -2
- package/dist/components/Tooltip/Tooltip.d.ts +2 -2
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/index.js +1 -1
- package/dist/components/Tree/index.js +1 -1
- package/dist/components/spin.d.ts +16 -0
- package/dist/components/spin.d.ts.map +1 -0
- package/dist/components/stanceSurfaces.d.ts.map +1 -1
- package/dist/icons/Icon.d.ts +1 -1
- package/dist/icons/Icon.d.ts.map +1 -1
- package/dist/icons/index.d.ts +52 -54
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/paths.d.ts +10 -0
- package/dist/icons/paths.d.ts.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +86 -83
- package/dist/index.js.map +1 -1
- package/dist/overlays/portalHost.d.ts +1 -1
- package/dist/overlays/portalHost.d.ts.map +1 -1
- package/dist/paintGradientTrack.d.ts +5 -2
- package/dist/paintGradientTrack.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/dist/useReorderDragList.d.ts +1 -1
- package/dist/useReorderDragList.d.ts.map +1 -1
- package/package.json +9 -8
- package/dist/chunks/ActionBar-CYvfmEz0.js.map +0 -1
- package/dist/chunks/Badge-DZ0lFs14.js.map +0 -1
- package/dist/chunks/BandEditor-D-nVrVO4.js +0 -247
- package/dist/chunks/BandEditor-D-nVrVO4.js.map +0 -1
- package/dist/chunks/Button-Dyp31jMt.js.map +0 -1
- package/dist/chunks/ButtonBar-smZzFuEo.js.map +0 -1
- package/dist/chunks/Callout-xLjnx7Mp.js +0 -119
- package/dist/chunks/Callout-xLjnx7Mp.js.map +0 -1
- package/dist/chunks/Checkbox-ChZz30Ds.js.map +0 -1
- package/dist/chunks/Code-v4tDWuuN.js.map +0 -1
- package/dist/chunks/ColorField-DJSCuSJv.js +0 -60
- package/dist/chunks/ColorField-DJSCuSJv.js.map +0 -1
- package/dist/chunks/ColorModeControl-JOEiqtE0.js.map +0 -1
- package/dist/chunks/ComboBox-C1JgIpML.js.map +0 -1
- package/dist/chunks/CurveEditor-f1R4kSbD.js.map +0 -1
- package/dist/chunks/DataGrid-CZPrB_3a.js.map +0 -1
- package/dist/chunks/DetailList-DHaXX4TG.js +0 -43
- package/dist/chunks/DetailList-DHaXX4TG.js.map +0 -1
- package/dist/chunks/DetentSlider-BYyaZha6.js.map +0 -1
- package/dist/chunks/Dialog-GIvjoDQj.js +0 -66
- package/dist/chunks/Dialog-GIvjoDQj.js.map +0 -1
- package/dist/chunks/Disclosure-D79jhmh2.js.map +0 -1
- package/dist/chunks/DragGhost-DcU7cOwy.js.map +0 -1
- package/dist/chunks/DragHandleGlyph-BtBxHjZS.js.map +0 -1
- package/dist/chunks/Field-xbqRmjsI.js.map +0 -1
- package/dist/chunks/FillStrokeSwatch-BViKXIPx.js.map +0 -1
- package/dist/chunks/FontFamilySelect-r9TV_xIH.js.map +0 -1
- package/dist/chunks/GradientEditor-BRTxHG-W.js +0 -333
- package/dist/chunks/GradientEditor-BRTxHG-W.js.map +0 -1
- package/dist/chunks/Icon-BW0qv_U7.js.map +0 -1
- package/dist/chunks/InlineRange-BwGFDhpT.js.map +0 -1
- package/dist/chunks/Input-Bx2cuUbS.js.map +0 -1
- package/dist/chunks/ItemList-DzJ2lK0R.js.map +0 -1
- package/dist/chunks/ItemList.module-DDUXfuZL.js.map +0 -1
- package/dist/chunks/Jog-LPoac9s4.js.map +0 -1
- package/dist/chunks/Keycaps-CKiKOJnJ.js.map +0 -1
- package/dist/chunks/LayerList-BeGrkLb9.js.map +0 -1
- package/dist/chunks/ListEditor-C6zLzCsJ.js +0 -74
- package/dist/chunks/ListEditor-C6zLzCsJ.js.map +0 -1
- package/dist/chunks/MenuButton-BcdhrNGh.js.map +0 -1
- package/dist/chunks/MeshEditor-BOOIFWnz.js.map +0 -1
- package/dist/chunks/NumberField-C1Y7zP-a.js +0 -117
- package/dist/chunks/NumberField-C1Y7zP-a.js.map +0 -1
- package/dist/chunks/OptionsBar-DlcagPYK.js.map +0 -1
- package/dist/chunks/PaintField-B2mLRZa4.js.map +0 -1
- package/dist/chunks/PaintInput-BFKhd83I.js +0 -131
- package/dist/chunks/PaintInput-BFKhd83I.js.map +0 -1
- package/dist/chunks/PatternPicker-DdfpxoQy.js.map +0 -1
- package/dist/chunks/Plot2D-lyO7waPQ.js.map +0 -1
- package/dist/chunks/PointPlotter-DGs9i5P-.js.map +0 -1
- package/dist/chunks/Powerline-DBEPceLE.js +0 -38
- package/dist/chunks/Powerline-DBEPceLE.js.map +0 -1
- package/dist/chunks/Prefs-Ctu0H4-b.js.map +0 -1
- package/dist/chunks/Properties-Bbneh1ws.js.map +0 -1
- package/dist/chunks/PropertyField-CDb19d3F.js +0 -756
- package/dist/chunks/PropertyField-CDb19d3F.js.map +0 -1
- package/dist/chunks/RadioGroup-BK2mD6Q0.js.map +0 -1
- package/dist/chunks/RangeSlider-BiRAOsTh.js.map +0 -1
- package/dist/chunks/ResizeHandle-Cc6EOehs.js.map +0 -1
- package/dist/chunks/Select-DVValBe1.js +0 -225
- package/dist/chunks/Select-DVValBe1.js.map +0 -1
- package/dist/chunks/SelectionPanel-C5LmZA7b.js +0 -103
- package/dist/chunks/SelectionPanel-C5LmZA7b.js.map +0 -1
- package/dist/chunks/Sidebar-DKKd4R-x.js.map +0 -1
- package/dist/chunks/SidebarPanel-u5NsuAZY.js +0 -55
- package/dist/chunks/SidebarPanel-u5NsuAZY.js.map +0 -1
- package/dist/chunks/Slider-BwRrWHFW.js +0 -381
- package/dist/chunks/Slider-BwRrWHFW.js.map +0 -1
- package/dist/chunks/StatusBar-CdPdmmda.js.map +0 -1
- package/dist/chunks/Switch-DxF7TsEu.js.map +0 -1
- package/dist/chunks/Tabs-GXEfoe3o.js.map +0 -1
- package/dist/chunks/Timeline-SgmpQtUV.js.map +0 -1
- package/dist/chunks/Toast-BfcljZz6.js.map +0 -1
- package/dist/chunks/ToggleBar-Btnl5r7F.js.map +0 -1
- package/dist/chunks/TokenPanel-5ajHEHha.js.map +0 -1
- package/dist/chunks/ToolButton-rzqlFlAc.js.map +0 -1
- package/dist/chunks/ToolGroup-4bUBV5k6.js.map +0 -1
- package/dist/chunks/ToolOptionsBar-BF3TNXA3.js.map +0 -1
- package/dist/chunks/ToolPalette-Uw4PvWwa.js.map +0 -1
- package/dist/chunks/Tooltip-9XiJF937.js.map +0 -1
- package/dist/chunks/Tree-BGt6P8tI.js.map +0 -1
- package/dist/chunks/createKeyframeLayer-BzDRCrrh.js.map +0 -1
- package/dist/chunks/dlog-CMYiRF3Q.js.map +0 -1
- package/dist/chunks/formatShortcut-BoGqUoWi.js.map +0 -1
- package/dist/chunks/icons-DbScMMqX.js +0 -179
- package/dist/chunks/icons-DbScMMqX.js.map +0 -1
- package/dist/chunks/keyGlyph-CLvUHU8c.js.map +0 -1
- package/dist/chunks/model-BQMvTLnW.js.map +0 -1
- package/dist/chunks/number-6S8IzXVt.js +0 -89
- package/dist/chunks/number-6S8IzXVt.js.map +0 -1
- package/dist/chunks/paintPreview-DPtZS4yU.js.map +0 -1
- package/dist/chunks/paintValue-Bz6AVuh3.js.map +0 -1
- package/dist/chunks/portalHost-CjpCnuGU.js.map +0 -1
- package/dist/chunks/prefField-CLkhrvYl.js.map +0 -1
- package/dist/chunks/segmentTooltip-CAkZlW-t.js.map +0 -1
- package/dist/chunks/segmentedControl.module-D2nw68Yo.js +0 -11
- package/dist/chunks/segmentedControl.module-D2nw68Yo.js.map +0 -1
- package/dist/chunks/snap-DC4Km8xG.js.map +0 -1
- package/dist/chunks/stance-CarrcbbP.js.map +0 -1
- package/dist/chunks/useReorderDragList-Dcezzgix.js.map +0 -1
- package/dist/chunks/useRovingTabIndex-B4uJqiKP.js.map +0 -1
- package/dist/components/DragHandleGlyph/DragHandleGlyph.d.ts.map +0 -1
- package/dist/components/DragHandleGlyph/index.d.ts +0 -3
- package/dist/components/DragHandleGlyph/index.d.ts.map +0 -1
- package/dist/components/DragHandleGlyph/index.js +0 -2
- package/dist/format/number.d.ts +0 -56
- package/dist/format/number.d.ts.map +0 -1
- package/dist/icons/ShapeKindIcon.d.ts +0 -10
- package/dist/icons/ShapeKindIcon.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GradientEditor-b7v4Ph3i.js","names":["s","_Fragment","s","_Fragment","ColorField","ToggleBar","isMeshPaint","MeshEditor","DEFAULT_HATCH","paintGradientTrack","opts","stops","i","samples","t","gradient","ctx","baseGradient","layers","activeRange","low","high","h","hatch","stripe","dimColor","dimOverlay","wL","wR","style","GradientEditor_module_default","SPACES","MIN_STOPS","GradientEditor","props","kind","value","space","kinds","listGradientKinds","svg","nativeSvgKind","entry","spaces","nativeSvgSpace","item","switchKind","converted","switchGradientKind","next","onChange","className","kindSwitch","renderBody","spaceBar","spaceSwitch","getPaintKind","Editor","Fragment","isGradientFill","StopsBody","withStops","thumbs","stop","applyThumbs","setStopColor","index","ordered","a","b","Slider","onInput","at","sampleGradientStops","hex","GradientHandles_module_default","GradientHandles","renderForKind","toScreen","toLocal","emit","phase","from","to","Guide","DragPoint","p","center","edge","screenRadius","local","radius","MIN_RADIUS","gradientGeometry","tip","angle","start","useRef","drag","useHandleDrag","moved","onDrag","point","HANDLE_RADIUS","label","amount","e","KEY_STEP","dx","dy","SceneGradientHandles","frame","useNodeOverlayFrame","scene","containerRef","nodeId","edit","useOngoingAction","slot","gradientInSlot","paintOf","dispatch","paint","fillToBoundsFrame","fillInPoseFrame","data"],"sources":["../../src/paintGradientTrack.tsx","../../src/components/GradientEditor/GradientEditor.module.css","../../src/components/GradientEditor/GradientEditor.tsx","../../src/components/GradientEditor/GradientHandles.module.css","../../src/components/GradientEditor/GradientHandles.tsx","../../src/components/GradientEditor/SceneGradientHandles.tsx"],"sourcesContent":["import type { ReactNode, CSSProperties } from 'react';\nimport type { TrackCtx } from './components/Slider';\n\n/**\n * Options for {@link paintGradientTrack}.\n *\n * `gradient` maps a normalized position along the slider's value span (0 to\n * 1) to a CSS color; `samples` is how many stops the resulting\n * linear-gradient uses. The ramp is laid on the same span as the thumbs, so a\n * thumb at 0.3 sits over `gradient(0.3)`; any track beyond the span takes the\n * end colors.\n * `activeRange`, given in the slider's own value units, keeps that span at\n * full strength and dims + hatches the rest.\n */\nexport type GradientTrackOpts = {\n gradient: (t: number) => string;\n samples?: number;\n activeRange?: [number, number];\n hatch?: {\n angleDeg?: number;\n stripe?: number;\n gap?: number;\n dim?: number;\n };\n};\n\nconst DEFAULT_HATCH = { angleDeg: 135, stripe: 2, gap: 4, dim: 75 };\n\n/**\n * Builds a `Slider` `renderTrack` function that paints the track as a\n * sampled color gradient, optionally dimming and hatching the portions\n * outside an active range.\n */\nexport function paintGradientTrack(opts: GradientTrackOpts): (ctx: TrackCtx) => ReactNode {\n const { gradient, samples = 16, activeRange, hatch } = opts;\n\n return (ctx: TrackCtx) => {\n const stops: string[] = [];\n for (let i = 0; i <= samples; i++) {\n const t = i / samples;\n stops.push(`${gradient(t)} ${ctx.fractionToPosition(t)}`);\n }\n const baseGradient = `linear-gradient(to right, ${stops.join(', ')})`;\n\n const layers: string[] = [];\n if (activeRange) {\n const low = ctx.valueToFraction(activeRange[0]);\n const high = ctx.valueToFraction(activeRange[1]);\n const h = { ...DEFAULT_HATCH, ...hatch };\n const stripe = `repeating-linear-gradient(${h.angleDeg}deg, transparent 0 ${h.stripe}px, var(--wzl-surface) ${h.stripe}px ${h.stripe + h.gap}px)`;\n const dimColor = `color-mix(in srgb, var(--wzl-surface) ${h.dim}%, transparent)`;\n const dimOverlay = `linear-gradient(${dimColor}, ${dimColor})`;\n\n if (low > 0) {\n const wL = ctx.fractionToPosition(low);\n layers.push(`${dimOverlay} left 0 / ${wL} 100% no-repeat`);\n layers.push(`${stripe} left 0 / ${wL} 100% no-repeat`);\n }\n if (high < 1) {\n const wR = `calc(100% - ${ctx.fractionToPosition(high)})`;\n layers.push(`${dimOverlay} right 0 / ${wR} 100% no-repeat`);\n layers.push(`${stripe} right 0 / ${wR} 100% no-repeat`);\n }\n }\n layers.push(baseGradient);\n\n const style: CSSProperties = {\n position: 'absolute',\n inset: 0,\n background: layers.join(', '),\n };\n return <div style={style} />;\n };\n}\n",".root {\n display: flex;\n flex-direction: column;\n gap: var(--wzl-space-4);\n min-inline-size: 0;\n}\n\n.swatches {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wzl-space-3);\n}\n\n/* Each stop's opacity slider would otherwise stretch the row to a width no\n * properties panel has; the chip stays legible, the slider yields. */\n.swatch {\n flex: 0 1 auto;\n min-inline-size: 0;\n}\n\n.noEditor {\n font-size: var(--wzl-font-size-sm);\n color: var(--wzl-fg-muted);\n}\n","import { type ReactElement, type ReactNode } from 'react';\nimport {\n getPaintKind,\n isGradientFill,\n listGradientKinds,\n sampleGradientStops,\n switchGradientKind,\n type ColorSpace,\n type FillStyle,\n type GradStop,\n type GradientFill,\n type PaintKind,\n} from '@weasel-js/core';\nimport { nativeSvgKind, nativeSvgSpace } from '@weasel-js/svg';\nimport { Slider, type Thumb } from '../Slider';\nimport { ColorField } from '../ColorField';\nimport { MeshEditor, isMeshPaint } from '../MeshEditor';\nimport { ToggleBar, type ToggleBarItem } from '../ToggleBar';\nimport { paintGradientTrack } from '../../paintGradientTrack';\nimport s from './GradientEditor.module.css';\n\nconst SPACES: readonly ToggleBarItem<ColorSpace>[] = [\n { value: 'rgb', label: 'sRGB' },\n { value: 'oklab', label: 'OKLab' },\n { value: 'oklch', label: 'OKLCh' },\n];\n\n/** Fewer than two stops is not a gradient any renderer can ramp between. */\nconst MIN_STOPS = 2;\n\n/**\n * Props for {@link GradientEditor}. `onInput` fires throughout a gesture and\n * `onChange` once at its end.\n */\nexport interface GradientEditorProps {\n /** The gradient being edited: a paint of any gradient kind — one that\n * `listGradientKinds` returns. */\n value: FillStyle;\n /**\n * Live value during a gesture — a stop drag, a color-picker scrub. Wire\n * it for preview; it fires many times per gesture and must not be\n * written to history.\n */\n onInput?: (next: FillStyle) => void;\n /** Committed value: one call per completed gesture. Pair with an\n * undoable write. */\n onChange: (next: FillStyle) => void;\n /** Show the kind switch — every registered gradient kind. Default true;\n * turn it off when the surrounding UI already owns the kind. */\n kindSwitch?: boolean;\n /** Show the sRGB / OKLab / OKLCh switch, which writes `interpolate`.\n * Default true. */\n spaceSwitch?: boolean;\n /**\n * Offer only what an SVG file carries natively: the linear and radial\n * gradients, which SVG has elements for, blended in sRGB, the only space\n * every SVG renderer honors. A conic or mesh gradient exports as a weasel\n * element that other renderers paint as one flat color, and an OKLab or\n * OKLCh blend exports as an attribute they ignore. A value already outside\n * that set keeps its own kind and space on offer, so it can be switched\n * back. Default false.\n */\n svg?: boolean;\n className?: string;\n}\n\ntype StopThumb = Thumb & { color: string };\n\n/**\n * Editor for a gradient's kind and colors: the stop list of a linear, radial\n * or conic gradient, a mesh's corner colors, or a registered kind's own\n * `Editor`. Switching kind goes through `switchGradientKind`, so the colors\n * carry across.\n *\n * Geometry (`from`/`to`, `center`, `radius`, `angle`) is deliberately not\n * edited here — on a canvas that belongs on the artwork, via\n * `<GradientHandles>`. This component owns the parts with no spatial\n * meaning, so it composes into a properties panel at any width.\n *\n * Stops are addressed by their position in `value.stops`, which is never\n * reordered — dragging one stop past another leaves both indices alone, so\n * a drag can cross a neighbour without the two swapping under the pointer.\n * Rendering sorts a copy.\n */\nexport function GradientEditor(props: GradientEditorProps): ReactElement {\n const { value, onInput, onChange, kindSwitch = true, spaceSwitch = true, svg = false, className } = props;\n const kind: PaintKind = value.fill ?? 'solid';\n const space: ColorSpace = (value as { interpolate?: ColorSpace }).interpolate ?? 'rgb';\n\n const kinds: readonly ToggleBarItem<PaintKind>[] = listGradientKinds()\n .filter((entry) => !svg || nativeSvgKind(entry.id) || entry.id === kind)\n .map((entry) => ({ value: entry.id, label: entry.label }));\n const spaces = SPACES.filter((item) => !svg || nativeSvgSpace(item.value) || item.value === space);\n\n const switchKind = (next: PaintKind): void => {\n const converted = switchGradientKind(value, next);\n if (converted && converted !== value) onChange(converted);\n };\n\n return (\n <div className={[s.root, className].filter(Boolean).join(' ')}>\n {kindSwitch && (\n <ToggleBar<PaintKind>\n items={kinds}\n value={kind}\n size=\"sm\"\n ariaLabel=\"Gradient kind\"\n onChange={(next) => next && switchKind(next)}\n />\n )}\n\n {renderBody()}\n </div>\n );\n\n function renderBody(): ReactElement {\n const spaceBar = spaceSwitch && spaces.length > 1 && (\n <ToggleBar<ColorSpace>\n items={spaces}\n value={space}\n size=\"sm\"\n ariaLabel=\"Blend space\"\n onChange={(next) => next && onChange({ ...value, interpolate: next } as FillStyle)}\n />\n );\n // A registered `Editor` wins even for a built-in id, as it does in `PaintInput`.\n const entry = getPaintKind(kind);\n if (entry?.Editor) {\n const Editor = entry.Editor;\n return <><Editor value={value} onInput={onInput} onChange={onChange} />{spaceBar}</>;\n }\n if (isGradientFill(value)) {\n return <StopsBody value={value} spaceBar={spaceBar} onInput={onInput} onChange={onChange} />;\n }\n if (isMeshPaint(value)) {\n return <><MeshEditor value={value} spaceSwitch={false} onInput={onInput} onChange={onChange} />{spaceBar}</>;\n }\n return <div className={s.noEditor}>{entry?.label ?? kind}: no editor</div>;\n }\n}\n\n/** The stop slider and swatch row of a linear, radial or conic gradient. */\nfunction StopsBody(props: {\n value: GradientFill;\n spaceBar: ReactNode;\n onInput?: (next: FillStyle) => void;\n onChange: (next: FillStyle) => void;\n}): ReactElement {\n const { value, spaceBar, onInput, onChange } = props;\n const stops = value.stops;\n const space = value.interpolate ?? 'rgb';\n\n const withStops = (next: GradStop[]): GradientFill => ({ ...value, stops: next });\n\n const thumbs: StopThumb[] = stops.map((stop) => ({ value: stop.offset, color: stop.color }));\n\n const applyThumbs = (next: StopThumb[]): GradStop[] =>\n next.map((t) => ({ offset: t.value, color: t.color }));\n\n const setStopColor = (index: number, color: string): GradStop[] =>\n stops.map((stop, i) => (i === index ? { ...stop, color } : stop));\n\n // Sorted view for the swatch row, carrying each stop's real index so a\n // recolor writes back to the right entry.\n const ordered = stops\n .map((stop, index) => ({ stop, index }))\n .sort((a, b) => a.stop.offset - b.stop.offset);\n\n return (\n <>\n <Slider<StopThumb>\n min={0}\n max={1}\n step={0.005}\n constraint=\"free\"\n thumbs={thumbs}\n ariaLabel=\"Gradient stops\"\n readoutPlacement=\"none\"\n onInput={(next) => onInput?.(withStops(applyThumbs(next)))}\n onChange={(next) => onChange(withStops(applyThumbs(next)))}\n onAddThumb={(at) => ({ value: at, color: sampleGradientStops(stops, at, space) })}\n onRemoveThumb={() => stops.length > MIN_STOPS}\n renderTrack={paintGradientTrack({\n gradient: (t) => sampleGradientStops(stops, t, space),\n // The track lerps between samples in sRGB whatever the gradient does,\n // so a hue arc needs more of them to not read as a straight line.\n samples: space === 'rgb' ? 32 : 64,\n })}\n />\n\n {spaceBar}\n\n <div className={s.swatches}>\n {ordered.map(({ stop, index }) => (\n <ColorField\n key={index}\n value={stop.color}\n alpha\n aria-label={`Stop ${index + 1} at ${Math.round(stop.offset * 100)}%`}\n className={s.swatch}\n onInput={(hex) => onInput?.(withStops(setStopColor(index, hex)))}\n onChange={(hex) => onChange(withStops(setStopColor(index, hex)))}\n />\n ))}\n </div>\n </>\n );\n}\n","/* The overlay covers the canvas but must not intercept tool input; only the\n * handles opt back into hit-testing. */\n.overlay {\n position: absolute;\n inset: 0;\n pointer-events: none;\n}\n\n/* These sit over artwork of unknown color, not over the app's own surface,\n * so they are deliberately not themed: a themed handle disappears against\n * whatever the user painted underneath. White-on-dark reads on anything,\n * which is why every editor draws handles this way. */\n.guide {\n fill: none;\n stroke: #ffffff;\n stroke-opacity: 0.7;\n stroke-dasharray: 4 4;\n paint-order: stroke;\n}\n\n.handle {\n fill: #ffffff;\n stroke: #222222;\n stroke-width: 2;\n cursor: grab;\n pointer-events: auto;\n}\n\n.handle:active {\n cursor: grabbing;\n}\n\n.handle:focus-visible {\n outline: 2px solid var(--wzl-accent);\n outline-offset: 2px;\n}\n","import { useRef, type KeyboardEvent as ReactKeyboardEvent, type ReactElement, type ReactNode } from 'react';\nimport { useHandleDrag, gradientGeometry, type GradientFill } from '@weasel-js/core';\nimport s from './GradientHandles.module.css';\n\n/** Structural, and deliberately not exported — `Plot2D` and `CurveEditor`\n * each publish their own `Point`, and a third would only be ambiguous at\n * the package barrel. Consumers pass any `{ x, y }`. */\ninterface Point {\n x: number;\n y: number;\n}\n\n/**\n * Props for {@link GradientHandles}. `onInput` fires throughout a drag and\n * `onChange` once at its end.\n */\nexport interface GradientHandlesProps {\n /**\n * The gradient whose geometry these handles move, in a **resolved,\n * isotropic** frame — one where `radius` is a length in the same units as\n * `center.x` and a right angle is a right angle.\n *\n * A `units: 'bounds'` gradient is not such a frame: `x` and `y` are\n * fractions of two different lengths, so a circle there is an ellipse on\n * screen and polar math silently mixes scales. Resolve it first with\n * `fillInPoseFrame(fill, box)` and convert edits back with\n * `fillToBoundsFrame(next, box)`.\n */\n value: GradientFill;\n /**\n * Gradient space → overlay pixels. For a `units: 'local'` gradient this\n * is the node's local-to-screen transform; for `'world'`, the view.\n */\n toScreen: (p: Point) => Point;\n /** Overlay pixels → gradient space. Must invert `toScreen`. */\n toLocal: (p: Point) => Point;\n /** Live during a drag — wire for preview, do not write to history. */\n onInput?: (next: GradientFill) => void;\n /** Committed at drag end: one call per gesture. */\n onChange: (next: GradientFill) => void;\n /** Overlay size in CSS pixels. */\n width: number;\n height: number;\n className?: string;\n}\n\n/**\n * Direct-manipulation handles for a gradient's geometry, drawn as an SVG\n * overlay above a canvas: endpoints for linear, center and radius for\n * radial, center and angle arm for conic.\n *\n * Positioning is entirely the consumer's `toScreen` / `toLocal` — this\n * component never sees a view or a scene node, so the same handles serve a\n * node-local gradient, a world-space one, and a plain unzoomed preview.\n *\n * The overlay ignores pointer events except on the handles themselves, so\n * it can sit over live canvas content without swallowing tool input.\n */\nexport function GradientHandles(props: GradientHandlesProps): ReactElement {\n const { value, toScreen, toLocal, onInput, onChange, width, height, className } = props;\n\n return (\n <svg\n className={[s.overlay, className].filter(Boolean).join(' ')}\n width={width}\n height={height}\n >\n {renderForKind(value, toScreen, toLocal, onInput, onChange)}\n </svg>\n );\n}\n\nfunction renderForKind(\n value: GradientFill,\n toScreen: (p: Point) => Point,\n toLocal: (p: Point) => Point,\n onInput: ((next: GradientFill) => void) | undefined,\n onChange: (next: GradientFill) => void,\n): ReactNode {\n const emit = (next: GradientFill, phase: 'input' | 'commit'): void => {\n if (phase === 'input') onInput?.(next);\n else onChange(next);\n };\n\n if (value.fill === 'linear-gradient') {\n const from = toScreen(value.from);\n const to = toScreen(value.to);\n return (\n <>\n <Guide x1={from.x} y1={from.y} x2={to.x} y2={to.y} />\n <DragPoint\n at={from}\n label=\"Gradient start\"\n onDrag={(p, phase) => emit({ ...value, from: toLocal(p) }, phase)}\n />\n <DragPoint\n at={to}\n label=\"Gradient end\"\n onDrag={(p, phase) => emit({ ...value, to: toLocal(p) }, phase)}\n />\n </>\n );\n }\n\n if (value.fill === 'radial-gradient') {\n const center = toScreen(value.center);\n // The radius handle rides the +x axis of gradient space, so it stays on\n // the drawn circle under a rotated or anisotropic transform.\n const edge = toScreen({ x: value.center.x + value.radius, y: value.center.y });\n const screenRadius = Math.hypot(edge.x - center.x, edge.y - center.y);\n return (\n <>\n <circle className={s.guide} cx={center.x} cy={center.y} r={screenRadius} />\n <DragPoint\n at={center}\n label=\"Gradient center\"\n onDrag={(p, phase) => emit({ ...value, center: toLocal(p) }, phase)}\n />\n <DragPoint\n at={edge}\n label=\"Gradient radius\"\n onDrag={(p, phase) => {\n const local = toLocal(p);\n const radius = Math.hypot(local.x - value.center.x, local.y - value.center.y);\n emit({ ...value, radius: Math.max(MIN_RADIUS, radius) }, phase);\n }}\n />\n </>\n );\n }\n\n const center = toScreen(value.center);\n const { radius } = gradientGeometry(value);\n const tip = toScreen({\n x: value.center.x + Math.cos(value.angle) * radius,\n y: value.center.y + Math.sin(value.angle) * radius,\n });\n return (\n <>\n <Guide x1={center.x} y1={center.y} x2={tip.x} y2={tip.y} />\n <DragPoint\n at={center}\n label=\"Gradient center\"\n onDrag={(p, phase) => emit({ ...value, center: toLocal(p) }, phase)}\n />\n <DragPoint\n at={tip}\n label=\"Gradient angle\"\n onDrag={(p, phase) => {\n const local = toLocal(p);\n const angle = Math.atan2(local.y - value.center.y, local.x - value.center.x);\n emit({ ...value, angle }, phase);\n }}\n />\n </>\n );\n}\n\n/** A radius of zero divides by zero in the shader's `t`; keep it off the floor. */\nconst MIN_RADIUS = 1;\n\nfunction Guide(props: { x1: number; y1: number; x2: number; y2: number }): ReactElement {\n return <line className={s.guide} {...props} />;\n}\n\nfunction DragPoint({\n at,\n label,\n onDrag,\n}: {\n at: Point;\n label: string;\n onDrag: (p: Point, phase: 'input' | 'commit') => void;\n}): ReactElement {\n const start = useRef<Point>(at);\n const drag = useHandleDrag<SVGCircleElement>({\n onStart: () => { start.current = at; },\n onMove: (p) => { onDrag(p, 'input'); },\n onEnd: ({ point, moved }) => {\n // A press that never moved is not an edit and must not write anything.\n if (moved) onDrag(point, 'commit');\n },\n // An abandoned gesture is not an edit either — put the live preview back\n // where it started rather than committing where it was left.\n onCancel: () => { onDrag(start.current, 'input'); },\n });\n const onKeyDown = (e: ReactKeyboardEvent<SVGCircleElement>): void => {\n const amount = e.shiftKey ? KEY_STEP * 10 : KEY_STEP;\n let dx = 0;\n let dy = 0;\n if (e.key === 'ArrowLeft') dx = -amount;\n else if (e.key === 'ArrowRight') dx = amount;\n else if (e.key === 'ArrowUp') dy = -amount;\n else if (e.key === 'ArrowDown') dy = amount;\n else return;\n e.preventDefault();\n const next = { x: at.x + dx, y: at.y + dy };\n onDrag(next, 'input');\n onDrag(next, 'commit');\n };\n return (\n <circle\n className={s.handle}\n cx={at.x}\n cy={at.y}\n r={HANDLE_RADIUS}\n // Not `slider`: the handle carries a 2-D position, not one value, so\n // it has no `aria-valuenow` to honor the role's contract with.\n role=\"button\"\n aria-label={label}\n tabIndex={0}\n onKeyDown={onKeyDown}\n {...drag}\n />\n );\n}\n\nconst HANDLE_RADIUS = 7;\n\n/** One arrow-key step, in overlay pixels. */\nconst KEY_STEP = 1;\n","import { type ReactElement, type RefObject } from 'react';\nimport {\n fillInPoseFrame,\n fillToBoundsFrame,\n isGradientFill,\n useNodeOverlayFrame,\n useOngoingAction,\n type FillStyle,\n type GradientFill,\n type RectPose,\n type Scene,\n type Stroke,\n type View,\n} from '@weasel-js/core';\nimport { GradientHandles } from './GradientHandles';\n\n/** The paint slots a node carries. Either may hold a gradient, and each has\n * its own action, so the overlay is told which one it is editing. */\nexport type PaintSlot = 'fill' | 'stroke';\n\n/** What `SceneGradientHandles` reads off a node. Every field is optional, so\n * any richer app data shape satisfies it. */\nexport interface PaintedNodeData {\n fill?: FillStyle | null;\n stroke?: Stroke | null;\n}\n\nexport interface SceneGradientHandlesProps<\n TData extends PaintedNodeData,\n TLayer extends string,\n TPose extends RectPose,\n> {\n scene: Scene<TData, TLayer, TPose>;\n /** The element the overlay is positioned in. Must be the canvas's own box,\n * or the handles land somewhere other than the paint. */\n containerRef: RefObject<HTMLElement | null>;\n /** The node whose paint is being edited — usually the lone selected id. */\n nodeId: string | null | undefined;\n /** Which of the node's two paints these handles move. */\n slot: PaintSlot;\n /** Current viewport; a thunk is re-read per projection. See\n * `useNodeOverlayFrame`. */\n view?: View | (() => View);\n className?: string;\n}\n\n/**\n * Scene-aware `GradientHandles`: on-canvas geometry handles for the gradient\n * in one node's `fill` or `stroke`, committed through the `setFill` /\n * `setStroke` actions as a single undo entry per drag.\n *\n * Renders nothing unless the targeted slot holds a gradient. The node stores\n * its gradient in `units: 'bounds'` — fractions of its own box, so the paint\n * survives pan, zoom and resize — which is not a frame polar math can work\n * in; the handles get it resolved onto the box and every edit is normalized\n * back on the way out.\n *\n * `slot` is a prop rather than state the kit keeps: an app that edits fill\n * and stroke separately already knows which one has focus.\n */\nexport function SceneGradientHandles<\n TData extends PaintedNodeData,\n TLayer extends string,\n TPose extends RectPose,\n>(props: SceneGradientHandlesProps<TData, TLayer, TPose>): ReactElement | null {\n const { scene, containerRef, nodeId, slot, view, className } = props;\n const frame = useNodeOverlayFrame(scene, containerRef, nodeId, { view });\n const edit = useOngoingAction(slot === 'fill' ? 'setFill' : 'setStroke');\n\n const gradient = frame ? gradientInSlot(paintOf(scene, nodeId, slot)) : null;\n if (!frame || !gradient) return null;\n\n const dispatch = (next: GradientFill, phase: 'input' | 'commit'): void => {\n const paint = fillToBoundsFrame(next, frame.box);\n if (phase === 'commit') edit.commit({ paint });\n else edit.input({ paint });\n };\n\n return (\n <GradientHandles\n value={fillInPoseFrame(gradient, frame.box) as GradientFill}\n toScreen={frame.toScreen}\n toLocal={frame.toLocal}\n width={frame.width}\n height={frame.height}\n className={className}\n onInput={(next) => dispatch(next, 'input')}\n onChange={(next) => dispatch(next, 'commit')}\n />\n );\n}\n\nfunction paintOf<TData extends PaintedNodeData, TLayer extends string, TPose extends RectPose>(\n scene: Scene<TData, TLayer, TPose>,\n nodeId: string | null | undefined,\n slot: PaintSlot,\n): FillStyle | null | undefined {\n if (nodeId == null) return undefined;\n const data = (scene.nodes as ReadonlyMap<string, { data: TData }>).get(nodeId)?.data;\n if (!data) return undefined;\n return slot === 'fill' ? data.fill : data.stroke?.paint;\n}\n\nfunction gradientInSlot(paint: FillStyle | null | undefined): GradientFill | null {\n return isGradientFill(paint) ? paint : null;\n}\n"],"mappings":";;;;;;;;;AA0BA,IAAMQ,IAAgB;CAAE,UAAU;CAAK,QAAQ;CAAG,KAAK;CAAG,KAAK;AAAG;AAOlE,SAAgBC,EAAmB,GAAuD;CACxF,IAAM,EAAE,aAAU,aAAU,IAAI,gBAAa,aAAUC;CAEvD,QAAQ,MAAkB;EACxB,IAAMC,IAAkB,CAAC;EACzB,KAAK,IAAIC,IAAI,GAAGA,KAAKC,GAAS,KAAK;GACjC,IAAMC,IAAIF,IAAIC;GACd,EAAM,KAAK,GAAGE,EAASD,CAAC,EAAE,GAAGE,EAAI,mBAAmBF,CAAC,GAAG;EAC1D;EACA,IAAMG,IAAe,6BAA6BN,EAAM,KAAK,IAAI,EAAE,IAE7DO,IAAmB,CAAC;EAC1B,IAAIC,GAAa;GACf,IAAMC,IAAMJ,EAAI,gBAAgBG,EAAY,EAAE,GACxCE,IAAOL,EAAI,gBAAgBG,EAAY,EAAE,GACzCG,IAAI;IAAE,GAAGd;IAAe,GAAGe;GAAM,GACjCC,IAAS,6BAA6BF,EAAE,SAAS,qBAAqBA,EAAE,OAAO,yBAAyBA,EAAE,OAAO,KAAKA,EAAE,SAASA,EAAE,IAAI,MACvIG,IAAW,yCAAyCH,EAAE,IAAI,kBAC1DI,IAAa,mBAAmBD,EAAS,IAAIA,EAAS;GAE5D,IAAIL,IAAM,GAAG;IACX,IAAMO,IAAKX,EAAI,mBAAmBI,CAAG;IAErC,AADAF,EAAO,KAAK,GAAGQ,EAAW,YAAYC,EAAG,gBAAgB,GACzDT,EAAO,KAAK,GAAGM,EAAO,YAAYG,EAAG,gBAAgB;GACvD;GACA,IAAIN,IAAO,GAAG;IACZ,IAAMO,IAAK,eAAeZ,EAAI,mBAAmBK,CAAI,EAAE;IAEvD,AADAH,EAAO,KAAK,GAAGQ,EAAW,aAAaE,EAAG,gBAAgB,GAC1DV,EAAO,KAAK,GAAGM,EAAO,aAAaI,EAAG,gBAAgB;GACxD;EACF;EACA,EAAO,KAAKX,CAAY;EAExB,IAAMY,IAAuB;GAC3B,UAAU;GACV,OAAO;GACP,YAAYX,EAAO,KAAK,IAAI;EAC9B;EACA,OAAO,kBAAC,OAAD,EAAY,SAAQ,CAAA;CAC7B;AACF;;;;;;GEpDMa,IAA+C;CACnD;EAAE,OAAO;EAAO,OAAO;CAAO;CAC9B;EAAE,OAAO;EAAS,OAAO;CAAQ;CACjC;EAAE,OAAO;EAAS,OAAO;CAAQ;AACnC,GAGMC,IAAY;AAwDlB,SAAgBC,EAAe,GAA0C;CACvE,IAAM,EAAE,UAAO,YAAS,aAAU,gBAAa,IAAM,iBAAc,IAAM,SAAM,IAAO,iBAAcC,GAC9FC,IAAkBC,EAAM,QAAQ,SAChCC,IAAqBD,EAAuC,eAAe,OAE3EE,IAA6CC,EAAkB,CAAC,CACnE,QAAQ,MAAU,CAACC,KAAOC,EAAcC,EAAM,EAAE,KAAKA,EAAM,OAAOP,CAAI,CAAC,CACvE,KAAK,OAAW;EAAE,OAAOO,EAAM;EAAI,OAAOA,EAAM;CAAM,EAAE,GACrDC,IAASZ,EAAO,QAAQ,MAAS,CAACS,KAAOI,EAAeC,EAAK,KAAK,KAAKA,EAAK,UAAUR,CAAK,GAE3FS,KAAc,MAA0B;EAC5C,IAAMC,IAAYC,EAAmBZ,GAAOa,CAAI;EAChD,AAAIF,KAAaA,MAAcX,KAAOc,EAASH,CAAS;CAC1D;CAEA,OACE,kBAAC,OAAD;EAAK,WAAW,CAAC/C,EAAE,MAAMmD,CAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;EAA5D,UAAA,CACGC,KACC,kBAAC/C,GAAD;GACE,OAAOiC;GACP,OAAOH;GACP,MAAK;GACL,WAAU;GACV,WAAW,MAASc,KAAQH,EAAWG,CAAI;EAC5C,CAAA,GAGFI,EAAW,CACT;;CAGP,SAASA,IAA2B;EAClC,IAAMC,IAAWC,KAAeZ,EAAO,SAAS,KAC9C,kBAACtC,GAAD;GACE,OAAOsC;GACP,OAAON;GACP,MAAK;GACL,WAAU;GACV,WAAW,MAASY,KAAQC,EAAS;IAAE,GAAGd;IAAO,aAAaa;GAAK,CAAc;EAClF,CAAA,GAGGP,IAAQc,EAAarB,CAAI;EAC/B,IAAIO,GAAO,QAAQ;GACjB,IAAMe,IAASf,EAAM;GACrB,OAAO,kBAAAzC,GAAA,EAAA,UAAA,CAAE,kBAACwD,GAAD;IAAe;IAAgB;IAAmB;GAAW,CAAA,GAAEH,CAAW,EAAA,CAAA;EACrF;EAOA,OANIK,EAAevB,CAAK,IACf,kBAACwB,GAAD;GAAkB;GAAiB;GAAmB;GAAmB;EAAW,CAAA,IAEzFtD,EAAY8B,CAAK,IACZ,kBAAAnC,GAAA,EAAA,UAAA,CAAE,kBAACM,GAAD;GAAmB;GAAO,aAAa;GAAgB;GAAmB;EAAW,CAAA,GAAE+C,CAAW,EAAA,CAAA,IAEtG,kBAAC,OAAD;GAAK,WAAWtD,EAAE;GAAlB,UAAA,CAA6B0C,GAAO,SAASP,GAAK,aAAgB;;CAC3E;AACF;AAGA,SAASyB,EAAU,GAKF;CACf,IAAM,EAAE,UAAO,aAAU,YAAS,gBAAa1B,GACzCvB,IAAQyB,EAAM,OACdC,IAAQD,EAAM,eAAe,OAE7ByB,KAAa,OAAoC;EAAE,GAAGzB;EAAO,OAAOa;CAAK,IAEzEa,IAAsBnD,EAAM,KAAK,OAAU;EAAE,OAAOoD,EAAK;EAAQ,OAAOA,EAAK;CAAM,EAAE,GAErFC,KAAe,MACnBf,EAAK,KAAK,OAAO;EAAE,QAAQnC,EAAE;EAAO,OAAOA,EAAE;CAAM,EAAE,GAEjDmD,KAAgB,GAAe,MACnCtD,EAAM,KAAK,GAAM,MAAOC,MAAMsD,IAAQ;EAAE,GAAGH;EAAM;CAAM,IAAIA,CAAK,GAI5DI,IAAUxD,EACb,KAAK,GAAM,OAAW;EAAE;EAAM;CAAM,EAAE,CAAC,CACvC,MAAM,GAAG,MAAMyD,EAAE,KAAK,SAASC,EAAE,KAAK,MAAM;CAE/C,OACE,kBAAApE,GAAA,EAAA,UAAA;EACE,kBAACqE,GAAD;GACE,KAAK;GACL,KAAK;GACL,MAAM;GACN,YAAW;GACH;GACR,WAAU;GACV,kBAAiB;GACjB,UAAU,MAASC,IAAUV,EAAUG,EAAYf,CAAI,CAAC,CAAC;GACzD,WAAW,MAASC,EAASW,EAAUG,EAAYf,CAAI,CAAC,CAAC;GACzD,aAAa,OAAQ;IAAE,OAAOuB;IAAI,OAAOC,EAAoB9D,GAAO6D,GAAInC,CAAK;GAAE;GAC/E,qBAAqB1B,EAAM,SAASqB;GACpC,aAAavB,EAAmB;IAC9B,WAAW,MAAMgE,EAAoB9D,GAAOG,GAAGuB,CAAK;IAGpD,SAASA,MAAU,QAAQ,KAAK;GAClC,CAAC;EACF,CAAA;EAEAiB;EAED,kBAAC,OAAD;GAAK,WAAWtD,EAAE;GACf,UAAAmE,EAAQ,KAAK,EAAE,SAAM,eACpB,kBAAC/D,GAAD;IAEE,OAAO2D,EAAK;IACZ,OAAA;IACA,cAAY,QAAQG,IAAQ,EAAE,MAAM,KAAK,MAAMH,EAAK,SAAS,GAAG,EAAE;IAClE,WAAW/D,EAAE;IACb,UAAU,MAAQuE,IAAUV,EAAUI,EAAaC,GAAOQ,CAAG,CAAC,CAAC;IAC/D,WAAW,MAAQxB,EAASW,EAAUI,EAAaC,GAAOQ,CAAG,CAAC,CAAC;GAChE,GAPMR,CAON,CACF;EACE,CAAA;CACL,EAAA,CAAA;AAEN;;;;;;;;AErJA,SAAgBU,EAAgB,GAA2C;CACzE,IAAM,EAAE,UAAO,aAAU,YAAS,YAAS,aAAU,UAAO,WAAQ,iBAAc1C;CAElF,OACE,kBAAC,OAAD;EACE,WAAW,CAAChC,EAAE,SAASiD,CAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;EACnD;EACC;EAEP,UAAA0B,EAAczC,GAAO0C,GAAUC,GAASR,GAASrB,CAAQ;CACvD,CAAA;AAET;AAEA,SAAS2B,EACP,GACA,GACA,GACA,GACA,GACW;CACX,IAAMG,KAAQ,GAAoB,MAAoC;EACpE,AAAIC,MAAU,UAASV,IAAUtB,CAAI,IAChCC,EAASD,CAAI;CACpB;CAEA,IAAIb,EAAM,SAAS,mBAAmB;EACpC,IAAM8C,IAAOJ,EAAS1C,EAAM,IAAI,GAC1B+C,IAAKL,EAAS1C,EAAM,EAAE;EAC5B,OACE,kBAAAjC,GAAA,EAAA,UAAA;GACE,kBAACiF,GAAD;IAAO,IAAIF,EAAK;IAAG,IAAIA,EAAK;IAAG,IAAIC,EAAG;IAAG,IAAIA,EAAG;GAAI,CAAA;GACpD,kBAACE,GAAD;IACE,IAAIH;IACJ,OAAM;IACN,SAAS,GAAG,MAAUF,EAAK;KAAE,GAAG5C;KAAO,MAAM2C,EAAQO,CAAC;IAAE,GAAGL,CAAK;GACjE,CAAA;GACD,kBAACI,GAAD;IACE,IAAIF;IACJ,OAAM;IACN,SAAS,GAAG,MAAUH,EAAK;KAAE,GAAG5C;KAAO,IAAI2C,EAAQO,CAAC;IAAE,GAAGL,CAAK;GAC/D,CAAA;EACD,EAAA,CAAA;CAEN;CAEA,IAAI7C,EAAM,SAAS,mBAAmB;EACpC,IAAMmD,IAAST,EAAS1C,EAAM,MAAM,GAG9BoD,IAAOV,EAAS;GAAE,GAAG1C,EAAM,OAAO,IAAIA,EAAM;GAAQ,GAAGA,EAAM,OAAO;EAAE,CAAC,GACvEqD,IAAe,KAAK,MAAMD,EAAK,IAAID,EAAO,GAAGC,EAAK,IAAID,EAAO,CAAC;EACpE,OACE,kBAAApF,GAAA,EAAA,UAAA;GACE,kBAAC,UAAD;IAAQ,WAAWD,EAAE;IAAO,IAAIqF,EAAO;IAAG,IAAIA,EAAO;IAAG,GAAGE;GAAe,CAAA;GAC1E,kBAACJ,GAAD;IACE,IAAIE;IACJ,OAAM;IACN,SAAS,GAAG,MAAUP,EAAK;KAAE,GAAG5C;KAAO,QAAQ2C,EAAQO,CAAC;IAAE,GAAGL,CAAK;GACnE,CAAA;GACD,kBAACI,GAAD;IACE,IAAIG;IACJ,OAAM;IACN,SAAS,GAAG,MAAU;KACpB,IAAME,IAAQX,EAAQO,CAAC,GACjBK,IAAS,KAAK,MAAMD,EAAM,IAAItD,EAAM,OAAO,GAAGsD,EAAM,IAAItD,EAAM,OAAO,CAAC;KAC5E,EAAK;MAAE,GAAGA;MAAO,QAAQ,KAAK,IAAIwD,GAAYD,CAAM;KAAE,GAAGV,CAAK;IAChE;GACD,CAAA;EACD,EAAA,CAAA;CAEN;CAEA,IAAMM,IAAST,EAAS1C,EAAM,MAAM,GAC9B,EAAE,cAAWyD,EAAiBzD,CAAK,GACnC0D,IAAMhB,EAAS;EACnB,GAAG1C,EAAM,OAAO,IAAI,KAAK,IAAIA,EAAM,KAAK,IAAIuD;EAC5C,GAAGvD,EAAM,OAAO,IAAI,KAAK,IAAIA,EAAM,KAAK,IAAIuD;CAC9C,CAAC;CACD,OACE,kBAAAxF,GAAA,EAAA,UAAA;EACE,kBAACiF,GAAD;GAAO,IAAIG,EAAO;GAAG,IAAIA,EAAO;GAAG,IAAIO,EAAI;GAAG,IAAIA,EAAI;EAAI,CAAA;EAC1D,kBAACT,GAAD;GACE,IAAIE;GACJ,OAAM;GACN,SAAS,GAAG,MAAUP,EAAK;IAAE,GAAG5C;IAAO,QAAQ2C,EAAQO,CAAC;GAAE,GAAGL,CAAK;EACnE,CAAA;EACD,kBAACI,GAAD;GACE,IAAIS;GACJ,OAAM;GACN,SAAS,GAAG,MAAU;IACpB,IAAMJ,IAAQX,EAAQO,CAAC,GACjBS,IAAQ,KAAK,MAAML,EAAM,IAAItD,EAAM,OAAO,GAAGsD,EAAM,IAAItD,EAAM,OAAO,CAAC;IAC3E,EAAK;KAAE,GAAGA;KAAO;IAAM,GAAG6C,CAAK;GACjC;EACD,CAAA;CACD,EAAA,CAAA;AAEN;AAGA,IAAMW,IAAa;AAEnB,SAASR,EAAM,GAAyE;CACtF,OAAO,kBAAC,QAAD;EAAM,WAAWlF,EAAE;EAAO,GAAIgC;CAAQ,CAAA;AAC/C;AAEA,SAASmD,EAAU,EACjB,OACA,UACA,aAKe;CACf,IAAMW,IAAQC,EAAczB,CAAE,GACxB0B,IAAOC,EAAgC;EAC3C,eAAe;GAAE,EAAM,UAAU3B;EAAI;EACrC,SAAS,MAAM;GAAE,EAAOc,GAAG,OAAO;EAAG;EACrC,QAAQ,EAAE,UAAO,eAAY;GAE3B,AAAIc,KAAOC,EAAOC,GAAO,QAAQ;EACnC;EAGA,gBAAgB;GAAE,EAAON,EAAM,SAAS,OAAO;EAAG;CACpD,CAAC;CAeD,OACE,kBAAC,UAAD;EACE,WAAW9F,EAAE;EACb,IAAIsE,EAAG;EACP,IAAIA,EAAG;EACP,GAAG+B;EAGH,MAAK;EACL,cAAYC;EACZ,UAAU;EACC,YAzBI,MAAkD;GACnE,IAAMC,IAASC,EAAE,WAAWC,IAAW,KAAKA,GACxCC,IAAK,GACLC,IAAK;GACT,IAAIH,EAAE,QAAQ,aAAa,IAAK,CAACD;QAC5B,IAAIC,EAAE,QAAQ,cAAc,IAAKD;QACjC,IAAIC,EAAE,QAAQ,WAAW,IAAK,CAACD;QAC/B,IAAIC,EAAE,QAAQ,aAAa,IAAKD;QAChC;GACL,EAAE,eAAe;GACjB,IAAMxD,IAAO;IAAE,GAAGuB,EAAG,IAAIoC;IAAI,GAAGpC,EAAG,IAAIqC;GAAG;GAE1C,AADAR,EAAOpD,GAAM,OAAO,GACpBoD,EAAOpD,GAAM,QAAQ;EACvB;EAaI,GAAIiD;CACL,CAAA;AAEL;AAEA,IAAMK,IAAgB,GAGhBI,IAAW;;;AChKjB,SAAgBG,EAId,GAA6E;CAC7E,IAAM,EAAE,UAAO,iBAAc,WAAQ,SAAM,SAAM,iBAAc5E,GACzD6E,IAAQC,EAAoBC,GAAOC,GAAcC,GAAQ,EAAE,QAAK,CAAC,GACjEC,IAAOC,EAAiBC,MAAS,SAAS,YAAY,WAAW,GAEjEvG,IAAWgG,IAAQQ,EAAeC,EAAQP,GAAOE,GAAQG,CAAI,CAAC,IAAI;CACxE,IAAI,CAACP,KAAS,CAAChG,GAAU,OAAO;CAEhC,IAAM0G,KAAY,GAAoB,MAAoC;EACxE,IAAMC,IAAQC,EAAkB1E,GAAM8D,EAAM,GAAG;EAC/C,AAAI9B,MAAU,WAAUmC,EAAK,OAAO,EAAE,SAAM,CAAC,IACxCA,EAAK,MAAM,EAAE,SAAM,CAAC;CAC3B;CAEA,OACE,kBAACxC,GAAD;EACE,OAAOgD,EAAgB7G,GAAUgG,EAAM,GAAG;EAC1C,UAAUA,EAAM;EAChB,SAASA,EAAM;EACf,OAAOA,EAAM;EACb,QAAQA,EAAM;EACH;EACX,UAAU,MAASU,EAASxE,GAAM,OAAO;EACzC,WAAW,MAASwE,EAASxE,GAAM,QAAQ;CAC5C,CAAA;AAEL;AAEA,SAASuE,EACP,GACA,GACA,GAC8B;CAC9B,IAAIL,KAAU,MAAM;CACpB,IAAMU,IAAQZ,EAAM,MAA+C,IAAIE,CAAM,CAAC,EAAE;CAChF,IAAKU,GACL,OAAOP,MAAS,SAASO,EAAK,OAAOA,EAAK,QAAQ;AACpD;AAEA,SAASN,EAAe,GAA0D;CAChF,OAAO5D,EAAe+D,CAAK,IAAIA,IAAQ;AACzC"}
|
|
@@ -26,6 +26,12 @@ var n = {
|
|
|
26
26
|
superscript: "<path d=\"M3.6 8.6 10.4 16.4M10.4 8.6 3.6 16.4\"/><path d=\"M11.9 5.3a2.2 2.2 0 1 1 4.3.8c0 1.4-4.3 2.2-4.3 3.5h4.5\"/>",
|
|
27
27
|
subscript: "<path d=\"M3.6 3.6 10.4 11.4M10.4 3.6 3.6 11.4\"/><path d=\"M11.9 11.5a2.2 2.2 0 1 1 4.3.8c0 1.4-4.3 2.2-4.3 3.5h4.5\"/>",
|
|
28
28
|
code: "<path d=\"M7 6.2 3.2 10 7 13.8M13 6.2 16.8 10 13 13.8\"/><path d=\"M11.2 4.8 8.8 15.2\"/>",
|
|
29
|
+
textAlignLeft: "<path d=\"M3 4.375H17M3 8.125H12M3 11.875H17M3 15.625H12\"/>",
|
|
30
|
+
textAlignCenter: "<path d=\"M3 4.375H17M5.5 8.125H14.5M3 11.875H17M5.5 15.625H14.5\"/>",
|
|
31
|
+
textAlignRight: "<path d=\"M3 4.375H17M8 8.125H17M3 11.875H17M8 15.625H17\"/>",
|
|
32
|
+
textAlignTop: "<rect x=\"1.875\" y=\"1.875\" width=\"16.25\" height=\"16.25\" rx=\"2\" stroke-width=\"1\"/><path d=\"M5.5 5.625H14.5M7 9.375H13\"/>",
|
|
33
|
+
textAlignMiddle: "<rect x=\"1.875\" y=\"1.875\" width=\"16.25\" height=\"16.25\" rx=\"2\" stroke-width=\"1\"/><path d=\"M5.5 8.125H14.5M7 11.875H13\"/>",
|
|
34
|
+
textAlignBottom: "<rect x=\"1.875\" y=\"1.875\" width=\"16.25\" height=\"16.25\" rx=\"2\" stroke-width=\"1\"/><path d=\"M5.5 10.625H14.5M7 14.375H13\"/>",
|
|
29
35
|
play: "<path d=\"M7.6 5.2 15.6 10 7.6 14.8Z\"/>",
|
|
30
36
|
pause: "<path d=\"M7.8 5.2v9.6M12.2 5.2v9.6\"/>",
|
|
31
37
|
stop: "<rect x=\"5.6\" y=\"5.6\" width=\"8.8\" height=\"8.8\" rx=\"1.4\"/>",
|
|
@@ -44,6 +50,10 @@ var n = {
|
|
|
44
50
|
modeLight: "<circle cx=\"10\" cy=\"10\" r=\"3.5\"/><path d=\"M15.3 10L17.7 10M13.75 6.25L15.44 4.56M10 4.7L10 2.3M6.25 6.25L4.56 4.56M4.7 10L2.3 10M6.25 13.75L4.56 15.44M10 15.3L10 17.7M13.75 13.75L15.44 15.44\"/>",
|
|
45
51
|
modeDark: "<path d=\"M8.19 3.55A6.7 6.7 0 1 0 16.45 11.81A5.9 5.9 0 0 1 8.19 3.55Z\"/>",
|
|
46
52
|
modeAuto: "<path d=\"M10 2.6Q10 10 17.4 10Q10 10 10 17.4Q10 10 2.6 10Q10 10 10 2.6Z\"/>",
|
|
53
|
+
statusSuccess: "<circle cx=\"10\" cy=\"10\" r=\"7\"/><path d=\"M6.84 10.33 8.89 12.38 13.17 7.62\"/>",
|
|
54
|
+
statusAccent: "<circle cx=\"10\" cy=\"10\" r=\"7\" fill=\"currentColor\"/>",
|
|
55
|
+
statusNeutral: "<path d=\"M10 3A7 7 0 0 1 10 17Z\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"10\" cy=\"10\" r=\"7\"/>",
|
|
56
|
+
statusMuted: "<path d=\"M11.44 3.15A7 7 0 0 0 8.56 3.15M4.79 5.33A7 7 0 0 0 3.35 7.82M3.35 12.18A7 7 0 0 0 4.79 14.67M8.56 16.85A7 7 0 0 0 11.44 16.85M15.21 14.67A7 7 0 0 0 16.65 12.18M16.65 7.82A7 7 0 0 0 15.21 5.33\"/>",
|
|
47
57
|
crosshair: "<circle cx=\"10\" cy=\"10\" r=\"5.6\"/><path d=\"M10 2.8v4.4M10 12.8v4.4M2.8 10h4.4M12.8 10h4.4\"/>",
|
|
48
58
|
fullscreen: "<path d=\"M11.6 3.6h4.8v4.8M8.4 16.4H3.6v-4.8\"/><path d=\"M16.4 3.6 11.2 8.8M3.6 16.4 8.8 11.2\"/>",
|
|
49
59
|
compare: "<rect x=\"3.4\" y=\"4.6\" width=\"13.2\" height=\"10.8\" rx=\"1.6\"/><path d=\"M10 4.6v10.8\" stroke-width=\"1\"/><path d=\"M5.2 7.6h3.4M5.2 10h2.6M5.2 12.4h3.4\" stroke-width=\"1\"/><path d=\"M11.4 7.6h3.4M11.4 10h3.4M11.4 12.4h1.8\" stroke-width=\"1\"/>",
|
|
@@ -368,6 +378,17 @@ var n = {
|
|
|
368
378
|
"code"
|
|
369
379
|
]
|
|
370
380
|
},
|
|
381
|
+
{
|
|
382
|
+
label: "Paragraph alignment",
|
|
383
|
+
names: [
|
|
384
|
+
"textAlignLeft",
|
|
385
|
+
"textAlignCenter",
|
|
386
|
+
"textAlignRight",
|
|
387
|
+
"textAlignTop",
|
|
388
|
+
"textAlignMiddle",
|
|
389
|
+
"textAlignBottom"
|
|
390
|
+
]
|
|
391
|
+
},
|
|
371
392
|
{
|
|
372
393
|
label: "Playback",
|
|
373
394
|
names: [
|
|
@@ -396,6 +417,15 @@ var n = {
|
|
|
396
417
|
"modeAuto"
|
|
397
418
|
]
|
|
398
419
|
},
|
|
420
|
+
{
|
|
421
|
+
label: "Badge status",
|
|
422
|
+
names: [
|
|
423
|
+
"statusSuccess",
|
|
424
|
+
"statusAccent",
|
|
425
|
+
"statusNeutral",
|
|
426
|
+
"statusMuted"
|
|
427
|
+
]
|
|
428
|
+
},
|
|
399
429
|
{
|
|
400
430
|
label: "Instrument",
|
|
401
431
|
names: [
|
|
@@ -517,11 +547,11 @@ function l({ name: e, className: i, size: s = 20, label: l, filled: u = !1, fill
|
|
|
517
547
|
fillOpacity: f ? d : void 0,
|
|
518
548
|
role: l ? "img" : void 0,
|
|
519
549
|
"aria-label": l,
|
|
520
|
-
"aria-hidden": l
|
|
550
|
+
"aria-hidden": !l || void 0,
|
|
521
551
|
dangerouslySetInnerHTML: c(f + n[e])
|
|
522
552
|
});
|
|
523
553
|
}
|
|
524
554
|
//#endregion
|
|
525
555
|
export { n as a, i, a as n, r, l as t };
|
|
526
556
|
|
|
527
|
-
//# sourceMappingURL=Icon-
|
|
557
|
+
//# sourceMappingURL=Icon-CcVjdq2C.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon-CcVjdq2C.js","names":["ICON_PATHS","ACTION_GLYPHS","ICON_FILLS","ICON_GROUPS","isFillable","name","SVG_BASE","markup","markupFor","m","html","Icon","shade","filled","size","fillOpacity","label"],"sources":["../../src/icons/paths.ts","../../src/icons/Icon.tsx"],"sourcesContent":["// GENERATED by scripts/gen-icons.mjs — do not edit by hand.\n// Every glyph is a 20x20 viewBox drawn in currentColor at stroke-width 1.5.\n\nimport { ACTION_GLYPHS } from '@weasel-js/core';\n\nexport const ICON_PATHS = {\n\n // View and lifecycle\n clone: `<path d=\"M7 7.4V4.6A1.6 1.6 0 0 1 8.6 3h6.8A1.6 1.6 0 0 1 17 4.6v6.8a1.6 1.6 0 0 1-1.6 1.6H12.6\" stroke-linecap=\"butt\"/><rect x=\"3\" y=\"7\" width=\"10\" height=\"10\" rx=\"1.6\"/><path d=\"M5.7 10.8h4.6M5.7 13.4h3\" stroke-width=\"1\"/>`,\n reset: `<path d=\"M7.28 4.88A5.8 5.8 0 1 0 12.72 4.88\"/><path d=\"M13.81 7.57 12.72 4.88 15.56 4.28\"/>`,\n close: `<path d=\"M4.5 4.5 15.5 15.5M15.5 4.5 4.5 15.5\" stroke-width=\"1.75\"/>`,\n export: `<path d=\"M4 12.6v2.9A1.5 1.5 0 0 0 5.5 17h9a1.5 1.5 0 0 0 1.5-1.5v-2.9\"/><path d=\"M10 3.2v8.5\"/><path d=\"M11.7 9.35 10 11.7 8.3 9.35\"/><path d=\"M6.8 14.7h6.4\" stroke-width=\"1\"/>`,\n zoomIn: `<circle cx=\"9\" cy=\"9\" r=\"5.4\"/><path d=\"M12.82 12.82 16.9 16.9\"/><path d=\"M9 6.7v4.6M6.7 9h4.6\"/>`,\n zoomOut: `<circle cx=\"9\" cy=\"9\" r=\"5.4\"/><path d=\"M12.82 12.82 16.9 16.9\"/><path d=\"M6.7 9h4.6\"/>`,\n fit: `<path d=\"M3.2 7.2V4.4A1.2 1.2 0 0 1 4.4 3.2h2.8M12.8 3.2h2.8A1.2 1.2 0 0 1 16.8 4.4v2.8M16.8 12.8v2.8a1.2 1.2 0 0 1-1.2 1.2h-2.8M7.2 16.8H4.4a1.2 1.2 0 0 1-1.2-1.2v-2.8\"/><rect x=\"7.4\" y=\"8.2\" width=\"5.2\" height=\"3.6\" rx=\"0.8\" stroke-width=\"1\"/>`,\n pan: `<path d=\"M10 8.1V3.2M10 11.9V16.8M8.1 10H3.2M11.9 10H16.8\"/><path d=\"M8.26 5.27 10 3.2 11.74 5.27M11.74 14.73 10 16.8 8.26 14.73M5.27 11.74 3.2 10 5.27 8.26M14.73 8.26 16.8 10 14.73 11.74\"/><circle cx=\"10\" cy=\"10\" r=\"1.9\"/>`,\n\n // Actions\n filter: `<path d=\"M3.4 4.6h13.2L11.8 11v5.4L8.2 14.8V11z\"/>`,\n add: `<path d=\"M10 4.9v10.2M4.9 10h10.2\"/>`,\n remove: `<path d=\"M4.9 10h10.2\"/>`,\n delete: ACTION_GLYPHS.delete,\n sort: `<path d=\"M3.6 5.6h7.2M3.6 10h8.8M3.6 14.4h5\"/><path d=\"M15.3 5.4v9.4\"/><path d=\"M16.97 12.81 15.3 14.8 13.63 12.81\"/>`,\n undo: ACTION_GLYPHS.undo,\n redo: ACTION_GLYPHS.redo,\n snapshot: `<path d=\"M3.8 8.3A1.4 1.4 0 0 1 5.2 6.9h1.9L8 5.1h4l.9 1.8h1.9A1.4 1.4 0 0 1 16.2 8.3v6A1.4 1.4 0 0 1 14.8 15.7H5.2A1.4 1.4 0 0 1 3.8 14.3z\"/><circle cx=\"10\" cy=\"11\" r=\"2.75\"/>`,\n\n // Character styling\n bold: `<path d=\"M6 3.5h4.6a3.1 3.1 0 0 1 0 6.2H6zM6 9.7h5.4a3.4 3.4 0 0 1 0 6.8H6z\" stroke-width=\"2.1\"/>`,\n italic: `<path d=\"M9 3.5h6M5 16.5h6M12.5 3.5 7.5 16.5\"/>`,\n underline: `<path d=\"M6 3.4v5.6a4 4 0 0 0 8 0V3.4\"/><path d=\"M4.6 17h10.8\"/>`,\n strikethrough: `<path d=\"M14.4 5.8c-.9-1.6-2.4-2.4-4.4-2.4-2.5 0-4.2 1.3-4.2 3.1 0 .9.4 1.6 1.2 2.2\"/><path d=\"M5.6 14.2c.9 1.6 2.4 2.4 4.4 2.4 2.5 0 4.2-1.3 4.2-3.1 0-.9-.4-1.6-1.2-2.2\"/><path d=\"M3.4 10h13.2\"/>`,\n overline: `<path d=\"M4.6 3h10.8\"/><ellipse cx=\"10\" cy=\"11.4\" rx=\"4.4\" ry=\"4.8\"/>`,\n superscript: `<path d=\"M3.6 8.6 10.4 16.4M10.4 8.6 3.6 16.4\"/><path d=\"M11.9 5.3a2.2 2.2 0 1 1 4.3.8c0 1.4-4.3 2.2-4.3 3.5h4.5\"/>`,\n subscript: `<path d=\"M3.6 3.6 10.4 11.4M10.4 3.6 3.6 11.4\"/><path d=\"M11.9 11.5a2.2 2.2 0 1 1 4.3.8c0 1.4-4.3 2.2-4.3 3.5h4.5\"/>`,\n code: `<path d=\"M7 6.2 3.2 10 7 13.8M13 6.2 16.8 10 13 13.8\"/><path d=\"M11.2 4.8 8.8 15.2\"/>`,\n\n // Paragraph alignment\n textAlignLeft: `<path d=\"M3 4.375H17M3 8.125H12M3 11.875H17M3 15.625H12\"/>`,\n textAlignCenter: `<path d=\"M3 4.375H17M5.5 8.125H14.5M3 11.875H17M5.5 15.625H14.5\"/>`,\n textAlignRight: `<path d=\"M3 4.375H17M8 8.125H17M3 11.875H17M8 15.625H17\"/>`,\n textAlignTop: `<rect x=\"1.875\" y=\"1.875\" width=\"16.25\" height=\"16.25\" rx=\"2\" stroke-width=\"1\"/><path d=\"M5.5 5.625H14.5M7 9.375H13\"/>`,\n textAlignMiddle: `<rect x=\"1.875\" y=\"1.875\" width=\"16.25\" height=\"16.25\" rx=\"2\" stroke-width=\"1\"/><path d=\"M5.5 8.125H14.5M7 11.875H13\"/>`,\n textAlignBottom: `<rect x=\"1.875\" y=\"1.875\" width=\"16.25\" height=\"16.25\" rx=\"2\" stroke-width=\"1\"/><path d=\"M5.5 10.625H14.5M7 14.375H13\"/>`,\n\n // Playback\n play: `<path d=\"M7.6 5.2 15.6 10 7.6 14.8Z\"/>`,\n pause: `<path d=\"M7.8 5.2v9.6M12.2 5.2v9.6\"/>`,\n stop: `<rect x=\"5.6\" y=\"5.6\" width=\"8.8\" height=\"8.8\" rx=\"1.4\"/>`,\n stepBack: `<path d=\"M13.6 5.4 7 10 13.6 14.6Z\"/><path d=\"M4.8 5.4v9.2\"/>`,\n stepForward: `<path d=\"M6.4 5.4 13 10 6.4 14.6Z\"/><path d=\"M15.2 5.4v9.2\"/>`,\n\n // State\n lock: `<rect x=\"4.6\" y=\"9\" width=\"10.8\" height=\"8\" rx=\"1.6\"/><path d=\"M7.2 9V6.6a2.8 2.8 0 0 1 5.6 0V9\"/>`,\n unlock: `<rect x=\"4.6\" y=\"9\" width=\"10.8\" height=\"8\" rx=\"1.6\"/><path d=\"M7.2 9V6.6a2.8 2.8 0 0 1 5.6 0\"/>`,\n visible: `<path d=\"M2.6 10C4.6 6.6 7.1 5 10 5s5.4 1.6 7.4 5c-2 3.4-4.5 5-7.4 5s-5.4-1.6-7.4-5z\"/><circle cx=\"10\" cy=\"10\" r=\"2.2\"/>`,\n hidden: `<path d=\"M2.6 10C4.6 6.6 7.1 5 10 5s5.4 1.6 7.4 5c-2 3.4-4.5 5-7.4 5s-5.4-1.6-7.4-5z\"/><circle cx=\"10\" cy=\"10\" r=\"2.2\"/><path d=\"M4.2 15.8 15.8 4.2\"/>`,\n pin: `<path d=\"M8.2 3.4v5.2l-2 2.6h7.6l-2-2.6V3.4z\"/><path d=\"M7 3.4h6\"/><path d=\"M10 11.2v5.4\"/>`,\n info: `<circle cx=\"10\" cy=\"10\" r=\"7\"/><path d=\"M10 9.4v4.4\"/><path d=\"M10 6.5h0\"/>`,\n warning: `<path d=\"M10 3.4 17.4 16.2H2.6z\"/><path d=\"M10 8.4v3.4\"/><path d=\"M10 14h0\"/>`,\n error: `<circle cx=\"10\" cy=\"10\" r=\"7\"/><path d=\"M7.6 7.6 12.4 12.4M12.4 7.6 7.6 12.4\"/>`,\n busy: `<path d=\"M10 3.2A6.8 6.8 0 1 1 3.2 10\"/>`,\n check: `<path d=\"M4.35 10.56 8.03 14.24 15.66 5.77\"/>`,\n modeLight: `<circle cx=\"10\" cy=\"10\" r=\"3.5\"/><path d=\"M15.3 10L17.7 10M13.75 6.25L15.44 4.56M10 4.7L10 2.3M6.25 6.25L4.56 4.56M4.7 10L2.3 10M6.25 13.75L4.56 15.44M10 15.3L10 17.7M13.75 13.75L15.44 15.44\"/>`,\n modeDark: `<path d=\"M8.19 3.55A6.7 6.7 0 1 0 16.45 11.81A5.9 5.9 0 0 1 8.19 3.55Z\"/>`,\n modeAuto: `<path d=\"M10 2.6Q10 10 17.4 10Q10 10 10 17.4Q10 10 2.6 10Q10 10 10 2.6Z\"/>`,\n\n // Badge status\n statusSuccess: `<circle cx=\"10\" cy=\"10\" r=\"7\"/><path d=\"M6.84 10.33 8.89 12.38 13.17 7.62\"/>`,\n statusAccent: `<circle cx=\"10\" cy=\"10\" r=\"7\" fill=\"currentColor\"/>`,\n statusNeutral: `<path d=\"M10 3A7 7 0 0 1 10 17Z\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"10\" cy=\"10\" r=\"7\"/>`,\n statusMuted: `<path d=\"M11.44 3.15A7 7 0 0 0 8.56 3.15M4.79 5.33A7 7 0 0 0 3.35 7.82M3.35 12.18A7 7 0 0 0 4.79 14.67M8.56 16.85A7 7 0 0 0 11.44 16.85M15.21 14.67A7 7 0 0 0 16.65 12.18M16.65 7.82A7 7 0 0 0 15.21 5.33\"/>`,\n\n // Instrument\n crosshair: `<circle cx=\"10\" cy=\"10\" r=\"5.6\"/><path d=\"M10 2.8v4.4M10 12.8v4.4M2.8 10h4.4M12.8 10h4.4\"/>`,\n fullscreen: `<path d=\"M11.6 3.6h4.8v4.8M8.4 16.4H3.6v-4.8\"/><path d=\"M16.4 3.6 11.2 8.8M3.6 16.4 8.8 11.2\"/>`,\n compare: `<rect x=\"3.4\" y=\"4.6\" width=\"13.2\" height=\"10.8\" rx=\"1.6\"/><path d=\"M10 4.6v10.8\" stroke-width=\"1\"/><path d=\"M5.2 7.6h3.4M5.2 10h2.6M5.2 12.4h3.4\" stroke-width=\"1\"/><path d=\"M11.4 7.6h3.4M11.4 10h3.4M11.4 12.4h1.8\" stroke-width=\"1\"/>`,\n search: `<circle cx=\"9\" cy=\"9\" r=\"5.4\"/><path d=\"M12.82 12.82 16.9 16.9\"/>`,\n loupe: `<circle cx=\"9\" cy=\"9\" r=\"5.6\"/><path d=\"M12.96 12.96 17 17\"/><rect x=\"6\" y=\"6\" width=\"6\" height=\"6\" stroke-width=\"1\"/><path d=\"M9 6v6M6 9h6\" stroke-width=\"1\"/>`,\n layers: `<path d=\"M10 2.8 17.2 6.6 10 10.4 2.8 6.6z\"/><path d=\"M2.8 10 10 13.8 17.2 10\" stroke-width=\"1\"/><path d=\"M2.8 13.4 10 17.2 17.2 13.4\" stroke-width=\"1\"/>`,\n page: `<path d=\"M4.6 2.8H11.6L15.4 6.6V17.2H4.6z\"/><path d=\"M11.6 2.8V6.6H15.4\"/>`,\n link: `<path d=\"M8.6 11.4a3.4 3.4 0 0 1 0-4.8l2.2-2.2a3.4 3.4 0 0 1 4.8 4.8l-1.1 1.1\"/><path d=\"M11.4 8.6a3.4 3.4 0 0 1 0 4.8l-2.2 2.2a3.4 3.4 0 0 1-4.8-4.8l1.1-1.1\"/>`,\n collapse: `<path d=\"M14.16 4.05 10 7.8 5.84 4.05M5.84 15.95 10 12.2 14.16 15.95\"/>`,\n expand: `<path d=\"M5.84 8.15 10 4.4 14.16 8.15M14.16 11.85 10 15.6 5.84 11.85\"/>`,\n chevron: `<path d=\"M14.9 7.98 10 12.4 5.1 7.98\"/>`,\n tune: `<path d=\"M3.4 6h13.2M3.4 10h13.2M3.4 14h13.2\" stroke-width=\"1.25\"/><circle cx=\"7\" cy=\"6\" r=\"1.8\"/><circle cx=\"12.6\" cy=\"10\" r=\"1.8\"/><circle cx=\"9\" cy=\"14\" r=\"1.8\"/>`,\n grid: `<rect x=\"3.4\" y=\"3.4\" width=\"13.2\" height=\"13.2\" rx=\"1.4\"/><path d=\"M7.8 3.4v13.2M12.2 3.4v13.2M3.4 7.8h13.2M3.4 12.2h13.2\" stroke-width=\"1\"/>`,\n snap: `<path d=\"M5.4 15.6V9.4a4.6 4.6 0 0 1 9.2 0v6.2h-3.2V9.4a1.4 1.4 0 0 0-2.8 0v6.2z\"/><path d=\"M5.4 12.8h3.2M11.4 12.8h3.2\" stroke-width=\"1\"/>`,\n measure: `<rect x=\"2.6\" y=\"7.4\" width=\"14.8\" height=\"5.2\" rx=\"1.2\"/><path d=\"M6 7.4v2.2M9.4 7.4v3M12.8 7.4v2.2\" stroke-width=\"1\"/>`,\n randomize: `<rect x=\"3.6\" y=\"3.6\" width=\"12.8\" height=\"12.8\" rx=\"2\"/><circle cx=\"7.2\" cy=\"7.2\" r=\"1\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"10\" cy=\"10\" r=\"1\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"12.8\" cy=\"12.8\" r=\"1\" fill=\"currentColor\" stroke=\"none\"/>`,\n refresh: `<path d=\"M4.27 12.09A6.1 6.1 0 0 1 14.67 6.08\"/><path d=\"M14.67 3.38 14.67 6.08 12.01 5.61\"/><path d=\"M15.73 7.91A6.1 6.1 0 0 1 5.33 13.92\"/><path d=\"M5.33 16.62 5.33 13.92 7.99 14.39\"/>`,\n\n // Stroke cap, join, align and dash\n strokeWidth: `<path d=\"M3.4 5.6h13.2\" stroke-width=\"1\"/><path d=\"M3.4 10h13.2\" stroke-width=\"2\"/><path d=\"M3.4 15.2h13.2\" stroke-width=\"3.4\"/>`,\n strokeCap: `<path d=\"M2.5 10H12\" stroke-linecap=\"butt\"/><path d=\"M12 6V14\" stroke-width=\"1\"/>`,\n strokeJoin: `<path d=\"M4.4 15.5 10 5.5 15.6 15.5\" stroke-linecap=\"butt\" stroke-linejoin=\"miter\"/>`,\n strokeAlign: `<circle cx=\"10\" cy=\"10\" r=\"6.2\"/>`,\n capButt: `<path d=\"M5.5 5.25H14.5V14.75H5.5Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linejoin=\"miter\"/>`,\n capRound: `<path d=\"M3.13 5.25H12.13V14.75H3.13Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linejoin=\"miter\"/><path d=\"M12.13 4.5A5.5 5.5 0 0 1 12.13 15.5Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n capSquare: `<path d=\"M3.13 5.25H12.13V14.75H3.13Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linejoin=\"miter\"/><path d=\"M12.13 4.5H17.63V15.5H12.13Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n joinMiter: `<path d=\"M10 3.5 15.6 15.5H4.4Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n joinRound: `<path d=\"M4.4 15.5V12a5.6 5.6 0 0 1 11.2 0v3.5Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n joinBevel: `<path d=\"M6.8 8.2h6.4l2.4 7.3H4.4Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n alignInner: `<path d=\"M10 3.8A6.2 6.2 0 1 0 10 16.2A6.2 6.2 0 1 0 10 3.8Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n alignCenter: `<path d=\"M10 2.1A7.9 7.9 0 1 0 10 17.9A7.9 7.9 0 1 0 10 2.1ZM10 5.5A4.5 4.5 0 1 0 10 14.5A4.5 4.5 0 1 0 10 5.5Z\" fill=\"currentColor\" stroke=\"none\" fill-rule=\"evenodd\"/>`,\n alignOuter: `<path d=\"M0 0H20V20H0ZM10 3.8A6.2 6.2 0 1 0 10 16.2A6.2 6.2 0 1 0 10 3.8Z\" fill=\"currentColor\" stroke=\"none\" fill-rule=\"evenodd\"/>`,\n dashSolid: `<path d=\"M2 10h16\" stroke-width=\"3\" stroke-linecap=\"butt\"/>`,\n dashDashed: `<path d=\"M2 10h16\" stroke-width=\"3\" stroke-linecap=\"butt\" stroke-dasharray=\"6 4\"/>`,\n dashDotted: `<path d=\"M2 10h16\" stroke-width=\"3\" stroke-linecap=\"butt\" stroke-dasharray=\"2.5 2\"/>`,\n dashCustom: `<path d=\"M2 10h16\" stroke-width=\"3\" stroke-linecap=\"butt\" stroke-dasharray=\"5 2 2 2\"/>`,\n paintSolid: `<path d=\"M3.4 3.4H16.6V16.6H3.4Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"1\"/>`,\n paintLinear: `<path d=\"M3.4 3.4H6.7V16.6H3.4Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"1\"/><path d=\"M6.7 3.4H10V16.6H6.7Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.68\"/><path d=\"M10 3.4H13.3V16.6H10Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.42\"/><path d=\"M13.3 3.4H16.6V16.6H13.3Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.2\"/>`,\n paintRadial: `<path d=\"M3.4 3.4H16.6V16.6H3.4ZM4.95 4.95H15.05V15.05H4.95Z\" fill=\"currentColor\" fill-rule=\"evenodd\" stroke=\"none\" fill-opacity=\"0.7\"/><path d=\"M4.95 4.95H15.05V15.05H4.95ZM6.5 6.5H13.5V13.5H6.5Z\" fill=\"currentColor\" fill-rule=\"evenodd\" stroke=\"none\" fill-opacity=\"0.53\"/><path d=\"M6.5 6.5H13.5V13.5H6.5ZM8.05 8.05H11.95V11.95H8.05Z\" fill=\"currentColor\" fill-rule=\"evenodd\" stroke=\"none\" fill-opacity=\"0.37\"/><path d=\"M8.05 8.05H11.95V11.95H8.05Z\" fill=\"currentColor\" fill-rule=\"evenodd\" stroke=\"none\" fill-opacity=\"0.2\"/>`,\n paintConic: `<path d=\"M10 10L16.6 3.4L16.6 16.6Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"1\"/><path d=\"M10 10L16.6 16.6L3.4 16.6Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.68\"/><path d=\"M10 10L3.4 16.6L3.4 3.4Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.42\"/><path d=\"M10 10L3.4 3.4L16.6 3.4Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.2\"/>`,\n paintMesh: `<path d=\"M3.4 3.4L10 3.4C10 6.26 11.6 5.74 11.6 8.6C7.09 8.6 7.91 10 3.4 10L3.4 3.4Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"1\"/><path d=\"M10 3.4L16.6 3.4L16.6 10C13.85 10 14.35 8.6 11.6 8.6C11.6 5.74 10 6.26 10 3.4Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.68\"/><path d=\"M11.6 8.6C14.35 8.6 13.85 10 16.6 10L16.6 16.6L10 16.6C10 12.2 11.6 13 11.6 8.6Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.42\"/><path d=\"M11.6 8.6C11.6 13 10 12.2 10 16.6L3.4 16.6L3.4 10C7.91 10 7.09 8.6 11.6 8.6Z\" fill=\"currentColor\" stroke=\"none\" fill-opacity=\"0.2\"/>`,\n paintPattern: `<path d=\"M3.4 3.4L4.7 3.4L3.4 4.7Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M8.7 3.4L11.3 3.4L3.4 11.3L3.4 8.7Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M15.3 3.4L16.6 3.4L16.6 4.7L4.7 16.6L3.4 16.6L3.4 15.3Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M16.6 8.7L16.6 11.3L11.3 16.6L8.7 16.6Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M16.6 15.3L16.6 16.6L15.3 16.6Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M15.3 3.4L16.6 3.4L16.6 4.7Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M8.7 3.4L11.3 3.4L16.6 8.7L16.6 11.3Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M3.4 3.4L4.7 3.4L16.6 15.3L16.6 16.6L15.3 16.6L3.4 4.7Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M11.3 16.6L8.7 16.6L3.4 11.3L3.4 8.7Z\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M4.7 16.6L3.4 16.6L3.4 15.3Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n paintNone: `<path d=\"M3.4 3.4H16.6V16.6H3.4Z\"/><path d=\"M3.4 16.6L16.6 3.4\" stroke=\"var(--wzl-danger, #d94a3f)\" stroke-width=\"1.8\" stroke-linecap=\"butt\"/>`,\n\n // Workspace layout\n layoutRows: `<rect x=\"3.4\" y=\"3.4\" width=\"13.2\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"3.4\" y=\"8.3\" width=\"13.2\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"3.4\" y=\"13.2\" width=\"13.2\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/>`,\n layoutColumns: `<rect x=\"3.4\" y=\"3.4\" width=\"3.4\" height=\"13.2\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"8.3\" y=\"3.4\" width=\"3.4\" height=\"13.2\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"13.2\" y=\"3.4\" width=\"3.4\" height=\"13.2\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/>`,\n layoutGrid: `<rect x=\"3.4\" y=\"3.4\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"8.3\" y=\"3.4\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"13.2\" y=\"3.4\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"3.4\" y=\"8.3\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"8.3\" y=\"8.3\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"13.2\" y=\"8.3\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"3.4\" y=\"13.2\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"8.3\" y=\"13.2\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/><rect x=\"13.2\" y=\"13.2\" width=\"3.4\" height=\"3.4\" rx=\"1\" fill=\"currentColor\" stroke=\"none\"/>`,\n\n // Arc profiles\n arcStraight: `<path d=\"M2.6 15H17.4\"/>`,\n arcParabola: `<path d=\"M2.6 15Q10 -5 17.4 15\"/>`,\n arcCircle: `<path d=\"M2.6 15A7.4 7.4 0 0 1 17.4 15\"/>`,\n arcSine: `<path d=\"M2.6 10C3.83 7.38 5.07 5 6.3 5C7.53 5 8.77 7.38 10 10C11.23 12.62 12.47 15 13.7 15C14.93 15 16.17 12.62 17.4 10\"/>`,\n arcBump: `<path d=\"M2.6 15C3.83 15 5.07 11.87 6.3 9.38C7.53 6.88 8.77 5 10 5C11.23 5 12.47 6.88 13.7 9.38C14.93 11.87 16.17 15 17.4 15\"/>`,\n arcPlateau: `<path d=\"M2.6 15V8.6A3.6 3.6 0 0 1 6.2 5H13.8A3.6 3.6 0 0 1 17.4 8.6V15\"/>`,\n arcBell: `<path d=\"M2.6 15C3.42 14.87 4.24 14.6 5.07 13.65C5.89 12.7 6.71 10.87 7.53 8.87C8.36 6.86 9.18 5 10 5C10.82 5 11.64 6.86 12.47 8.87C13.29 10.87 14.11 12.7 14.93 13.65C15.76 14.6 16.58 14.87 17.4 15\"/>`,\n arcEllipse: `<path d=\"M2.6 15A7.4 10 0 0 1 17.4 15\"/>`,\n arcLob: `<path d=\"M2.6 15C3.78 -0.6 10.74 4.2 17.4 15\"/>`,\n arcDive: `<path d=\"M2.6 15C9.26 4.2 16.22 -0.6 17.4 15\"/>`,\n arcTriangle: `<path d=\"M2.6 10L6.3 5L13.7 15L17.4 10\"/>`,\n arcSquare: `<path d=\"M2.6 10L2.6 5L10 5L10 15L17.4 15L17.4 10\"/>`,\n arcSawtooth: `<path d=\"M2.6 10L10 5L10 15L17.4 10\"/>`,\n arcStair: `<path d=\"M2.6 10L4.97 10L4.97 5L8.82 5L8.82 10L11.18 10L11.18 15L15.03 15L15.03 10L17.4 10\"/>`,\n arcZigzag: `<path d=\"M2.6 10L4.45 5L8.15 15L10 10L11.85 5L15.55 15L17.4 10\"/>`,\n arcRipple: `<path d=\"M2.6 10C3.22 7.38 3.83 5 4.45 5C5.07 5 5.68 7.38 6.3 10C6.92 12.62 7.53 15 8.15 15C8.77 15 9.38 12.62 10 10C10.62 7.38 11.23 5 11.85 5C12.47 5 13.08 7.38 13.7 10C14.32 12.62 14.93 15 15.55 15C16.17 15 16.78 12.62 17.4 10\"/>`,\n arcHop: `<path d=\"M2.6 15Q6.3 -5 10 15M10 15Q13.7 4 17.4 15\"/>`,\n arcCusp: `<path d=\"M2.6 15Q7.34 12.8 10 5Q12.66 12.8 17.4 15\"/>`,\n\n // Curves\n curveLine: `<path d=\"M2.6 10.72H17.4\"/>`,\n curveParabola: `<path d=\"M2.6 15.72Q10 -4.28 17.4 15.72\"/>`,\n curveCircle: `<path d=\"M2.6 15.72A7.4 7.4 0 0 1 17.4 15.72\"/>`,\n curveEllipse: `<path d=\"M2.6 15.72A7.4 10 0 0 1 17.4 15.72\"/>`,\n curveHyperbola: `<path d=\"M2.6 15.72C2.91 15.08 3.8 13.12 4.48 11.86C5.16 10.61 5.76 9.21 6.68 8.19C7.6 7.16 8.89 5.72 10 5.72C11.11 5.72 12.4 7.16 13.32 8.19C14.24 9.21 14.84 10.61 15.52 11.86C16.2 13.12 17.09 15.08 17.4 15.72\"/>`,\n curveHyperbolaPair: `<path d=\"M2.6 15.72C2.91 15.08 3.8 13.12 4.48 11.86C5.16 10.61 5.76 9.21 6.68 8.19C7.6 7.16 8.89 5.72 10 5.72C11.11 5.72 12.4 7.16 13.32 8.19C14.24 9.21 14.84 10.61 15.52 11.86C16.2 13.12 17.09 15.08 17.4 15.72M2.6 5.72C2.91 6.36 3.8 8.32 4.48 9.58C5.16 10.83 5.76 12.23 6.68 13.25C7.6 14.28 8.89 15.72 10 15.72C11.11 15.72 12.4 14.28 13.32 13.25C14.24 12.23 14.84 10.83 15.52 9.58C16.2 8.32 17.09 6.36 17.4 5.72\"/>`,\n curveCubic: `<path d=\"M2.6 15.72C2.88 15.27 3.59 13.78 4.3 13.01C5 12.24 5.89 11.49 6.84 11.11C7.79 10.73 8.95 10.85 10 10.72C11.05 10.59 12.21 10.71 13.16 10.33C14.11 9.95 15 9.2 15.7 8.43C16.41 7.66 17.12 6.17 17.4 5.72\"/>`,\n curveQuartic: `<path d=\"M2.6 15.28C2.98 15.06 4.27 14.67 4.88 13.94C5.49 13.22 5.8 11.93 6.27 10.92C6.74 9.92 7.08 8.79 7.7 7.93C8.32 7.06 9.23 5.72 10 5.72C10.77 5.72 11.68 7.06 12.3 7.93C12.92 8.79 13.26 9.92 13.73 10.92C14.2 11.93 14.51 13.22 15.12 13.94C15.73 14.67 17.02 15.06 17.4 15.28\"/>`,\n curveSqrt: `<path d=\"M2.6 15.72C2.8 15.25 3.19 13.72 3.77 12.91C4.36 12.1 5.27 11.46 6.1 10.86C6.93 10.25 7.86 9.75 8.77 9.26C9.69 8.77 10.63 8.35 11.58 7.93C12.53 7.51 13.5 7.13 14.47 6.76C15.44 6.4 16.91 5.89 17.4 5.72\"/>`,\n curveReciprocal: `<path d=\"M2.6 15.72C2.69 15.31 2.91 14.08 3.15 13.28C3.39 12.49 3.66 11.68 4.06 10.96C4.46 10.24 4.95 9.53 5.55 8.97C6.15 8.41 6.89 7.97 7.63 7.61C8.37 7.25 9.19 7.01 9.99 6.79C10.79 6.57 11.62 6.43 12.44 6.29C13.26 6.15 14.09 6.05 14.91 5.96C15.74 5.86 16.99 5.76 17.4 5.72\"/>`,\n curveAbs: `<path d=\"M2.6 5.72L10 15.72L17.4 5.72\"/>`,\n curveCusp: `<path d=\"M2.6 15.72Q7.34 13.52 10 5.72Q12.66 13.52 17.4 15.72\"/>`,\n curveExponential: `<path d=\"M2.6 15.72C3.12 15.64 4.69 15.47 5.72 15.26C6.74 15.04 7.78 14.79 8.76 14.42C9.73 14.05 10.7 13.59 11.57 13.01C12.44 12.44 13.26 11.74 13.98 10.99C14.7 10.23 15.32 9.37 15.89 8.49C16.46 7.61 17.15 6.18 17.4 5.72\"/>`,\n curveLogarithm: `<path d=\"M2.6 15.72C2.72 15.34 3.01 14.18 3.35 13.47C3.68 12.76 4.11 12.07 4.61 11.46C5.11 10.86 5.72 10.32 6.35 9.85C6.97 9.37 7.67 8.98 8.37 8.61C9.07 8.25 9.81 7.94 10.55 7.66C11.28 7.37 12.04 7.12 12.79 6.89C13.55 6.66 14.32 6.45 15.09 6.26C15.85 6.06 17.01 5.81 17.4 5.72\"/>`,\n curveDecay: `<path d=\"M2.6 5.72C2.84 6.19 3.5 7.64 4.06 8.53C4.61 9.43 5.22 10.31 5.94 11.08C6.65 11.85 7.47 12.56 8.34 13.13C9.22 13.71 10.2 14.16 11.19 14.52C12.17 14.88 13.22 15.11 14.26 15.31C15.29 15.51 16.88 15.65 17.4 15.72\"/>`,\n curveSigmoid: `<path d=\"M2.6 15.72C3.11 15.62 4.75 15.55 5.68 15.14C6.61 14.74 7.46 14.02 8.18 13.29C8.9 12.55 9.39 11.58 10 10.72C10.61 9.86 11.1 8.89 11.82 8.15C12.54 7.42 13.39 6.7 14.32 6.3C15.25 5.89 16.89 5.82 17.4 5.72\"/>`,\n curveSoftplus: `<path d=\"M2.6 15.72C3.13 15.7 4.74 15.73 5.79 15.62C6.85 15.5 7.95 15.42 8.92 15.03C9.89 14.65 10.79 14 11.59 13.32C12.38 12.63 13.03 11.75 13.7 10.93C14.37 10.1 14.97 9.22 15.59 8.35C16.2 7.48 17.1 6.16 17.4 5.72\"/>`,\n curveRelu: `<path d=\"M2.6 15.72L10 15.72L17.4 5.72\"/>`,\n curveStep: `<path d=\"M2.6 15.72L10 15.72L10 5.72L17.4 5.72\"/>`,\n curvePowerLaw: `<path d=\"M2.6 15.72C2.62 15.25 2.67 13.85 2.74 12.91C2.81 11.98 2.83 11.03 3.01 10.12C3.19 9.21 3.27 8.11 3.8 7.45C4.33 6.78 5.32 6.39 6.18 6.13C7.04 5.87 8.04 5.93 8.98 5.87C9.91 5.81 10.85 5.8 11.78 5.78C12.72 5.76 13.66 5.75 14.59 5.74C15.53 5.73 16.93 5.72 17.4 5.72\"/>`,\n curveCatenary: `<path d=\"M2.6 5.72C2.86 6.4 3.53 8.49 4.16 9.8C4.79 11.11 5.4 12.57 6.37 13.55C7.34 14.54 8.79 15.72 10 15.72C11.21 15.72 12.66 14.54 13.63 13.55C14.6 12.57 15.21 11.11 15.84 9.8C16.47 8.49 17.14 6.4 17.4 5.72\"/>`,\n curveBathtub: `<path d=\"M2.6 5.72C2.71 6.29 2.98 8.02 3.27 9.14C3.57 10.27 3.81 11.47 4.37 12.45C4.92 13.43 5.67 14.5 6.61 15.04C7.55 15.59 8.87 15.72 10 15.72C11.13 15.72 12.45 15.59 13.39 15.04C14.33 14.5 15.08 13.43 15.63 12.45C16.19 11.47 16.43 10.27 16.73 9.14C17.02 8.02 17.29 6.29 17.4 5.72\"/>`,\n curveHockeyStick: `<path d=\"M2.6 15.72C3.15 15.68 4.81 15.61 5.91 15.5C7.01 15.39 8.12 15.31 9.19 15.06C10.26 14.8 11.38 14.51 12.3 13.96C13.23 13.41 14.08 12.61 14.75 11.76C15.42 10.91 15.89 9.86 16.33 8.86C16.78 7.85 17.22 6.24 17.4 5.72\"/>`,\n curveSine: `<path d=\"M2.6 10.72C3.83 8.1 5.07 5.72 6.3 5.72C7.53 5.72 8.77 8.1 10 10.72C11.23 13.34 12.47 15.72 13.7 15.72C14.93 15.72 16.17 13.34 17.4 10.72\"/>`,\n curveCosine: `<path d=\"M2.6 5.72C3.83 5.72 5.07 8.1 6.3 10.72C7.53 13.34 8.77 15.72 10 15.72C11.23 15.72 12.47 13.34 13.7 10.72C14.93 8.1 16.17 5.72 17.4 5.72\"/>`,\n curveRipple: `<path d=\"M2.6 10.72C3.22 8.1 3.83 5.72 4.45 5.72C5.07 5.72 5.68 8.1 6.3 10.72C6.92 13.34 7.53 15.72 8.15 15.72C8.77 15.72 9.38 13.34 10 10.72C10.62 8.1 11.23 5.72 11.85 5.72C12.47 5.72 13.08 8.1 13.7 10.72C14.32 13.34 14.93 15.72 15.55 15.72C16.17 15.72 16.78 13.34 17.4 10.72\"/>`,\n curveTriangleWave: `<path d=\"M2.6 10.72L6.3 5.72L13.7 15.72L17.4 10.72\"/>`,\n curveSquareWave: `<path d=\"M2.6 10.72L2.6 5.72L10 5.72L10 15.72L17.4 15.72L17.4 10.72\"/>`,\n curveSawtooth: `<path d=\"M2.6 10.72L10 5.72L10 15.72L17.4 10.72\"/>`,\n curveStair: `<path d=\"M2.6 10.72L4.97 10.72L4.97 5.72L8.82 5.72L8.82 10.72L11.18 10.72L11.18 15.72L15.03 15.72L15.03 10.72L17.4 10.72\"/>`,\n curvePulseTrain: `<path d=\"M2.6 10.72L4.23 10.72L4.23 5.72L6.3 5.72L6.3 10.72L8.96 10.72L8.96 5.72L11.04 5.72L11.04 10.72L13.7 10.72L13.7 5.72L15.77 5.72L15.77 10.72L17.4 10.72\"/>`,\n curveDamped: `<path d=\"M2.6 5.72C2.95 6.01 3.3 6.7 3.66 7.55C4.01 8.39 4.36 9.37 4.71 10.24C5.07 11.11 5.42 11.86 5.77 12.37C6.12 12.87 6.48 13.13 6.83 13.15C7.18 13.17 7.53 12.96 7.89 12.63C8.24 12.3 8.59 11.86 8.94 11.42C9.3 10.99 9.65 10.57 10 10.25C10.35 9.94 10.7 9.72 11.06 9.63C11.41 9.54 11.76 9.56 12.11 9.67C12.47 9.77 12.82 9.96 13.17 10.16C13.52 10.36 13.88 10.57 14.23 10.75C14.58 10.93 14.93 11.08 15.29 11.16C15.64 11.25 15.99 11.28 16.34 11.26C16.7 11.24 17.05 11.17 17.4 11.09\"/>`,\n curveChirp: `<path d=\"M2.6 10.72C2.85 10.33 3.09 9.84 3.34 9.28C3.59 8.73 3.83 8.1 4.08 7.53C4.33 6.96 4.57 6.45 4.82 6.23C5.07 6.01 5.31 6.1 5.56 6.66C5.81 7.22 6.05 8.29 6.3 9.65C6.55 11 6.79 12.65 7.04 13.83C7.29 15.01 7.53 15.64 7.78 15.14C8.03 14.64 8.27 12.95 8.52 10.95C8.77 8.95 9.01 6.8 9.26 6.26C9.51 5.72 9.75 7.01 10 9.3C10.25 11.59 10.49 14.54 10.74 15.18C10.99 15.82 11.23 13.76 11.48 10.95C11.73 8.14 11.97 5.47 12.22 6.3C12.47 7.13 12.71 11.45 12.96 13.83C13.21 16.2 13.45 15.12 13.7 11.79C13.95 8.47 14.19 4.96 14.44 6.66C14.69 8.37 14.93 14.36 15.18 15.21C15.43 16.05 15.67 10.43 15.92 7.53C16.17 4.63 16.41 8.14 16.66 12.16C16.91 16.17 17.15 15.15 17.4 10.72\"/>`,\n curveBeat: `<path d=\"M2.6 10.72C2.81 10.72 3.01 10.48 3.22 10.2C3.42 9.92 3.63 9.65 3.83 9.69C4.04 9.73 4.24 10.11 4.45 10.72C4.66 11.33 4.86 12.16 5.07 12.71C5.27 13.26 5.48 13.5 5.68 13.15C5.89 12.79 6.09 11.86 6.3 10.72C6.51 9.58 6.71 8.3 6.92 7.56C7.12 6.82 7.33 6.66 7.53 7.27C7.74 7.88 7.94 9.24 8.15 10.72C8.36 12.2 8.56 13.75 8.77 14.57C8.97 15.39 9.18 15.44 9.38 14.67C9.59 13.9 9.79 12.33 10 10.72C10.21 9.11 10.41 7.54 10.62 6.77C10.82 6 11.03 6.05 11.23 6.87C11.44 7.69 11.64 9.24 11.85 10.72C12.06 12.2 12.26 13.56 12.47 14.17C12.67 14.78 12.88 14.62 13.08 13.88C13.29 13.14 13.49 11.86 13.7 10.72C13.91 9.58 14.11 8.65 14.32 8.29C14.52 7.94 14.73 8.18 14.93 8.73C15.14 9.28 15.34 10.11 15.55 10.72C15.76 11.33 15.96 11.71 16.17 11.75C16.37 11.79 16.58 11.52 16.78 11.24C16.99 10.96 17.19 10.72 17.4 10.72\"/>`,\n curveGaussian: `<path d=\"M2.6 15.72C3.13 15.57 4.98 15.47 5.78 14.83C6.57 14.18 6.92 12.87 7.35 11.84C7.79 10.8 7.97 9.62 8.41 8.6C8.85 7.58 9.47 5.72 10 5.72C10.53 5.72 11.15 7.58 11.59 8.6C12.03 9.62 12.21 10.8 12.65 11.84C13.08 12.87 13.43 14.18 14.22 14.83C15.02 15.47 16.87 15.57 17.4 15.72\"/>`,\n curveBimodal: `<path d=\"M2.6 15.72C2.95 15.39 4.21 14.57 4.67 13.73C5.14 12.89 5.17 11.7 5.39 10.68C5.62 9.66 5.69 8.28 6 7.6C6.31 6.92 6.93 6.26 7.24 6.61C7.56 6.96 7.69 8.66 7.9 9.68C8.12 10.7 8.19 11.81 8.54 12.75C8.89 13.7 9.51 15.36 10 15.36C10.49 15.36 11.11 13.7 11.46 12.75C11.81 11.81 11.88 10.7 12.1 9.68C12.31 8.66 12.44 6.96 12.76 6.61C13.07 6.26 13.69 6.92 14 7.6C14.31 8.28 14.38 9.66 14.61 10.68C14.83 11.7 14.86 12.89 15.33 13.73C15.79 14.57 17.05 15.39 17.4 15.72\"/>`,\n curveSkewed: `<path d=\"M2.6 15.72C2.76 15.32 3.35 14.19 3.58 13.35C3.82 12.5 3.87 11.55 4.02 10.65C4.17 9.75 4.22 8.78 4.5 7.96C4.79 7.14 5.26 5.74 5.71 5.75C6.15 5.76 6.71 7.24 7.15 8.03C7.6 8.82 7.92 9.69 8.38 10.47C8.85 11.25 9.32 12.06 9.94 12.71C10.56 13.36 11.3 13.96 12.09 14.37C12.88 14.78 13.8 15.01 14.69 15.2C15.57 15.39 16.95 15.46 17.4 15.52\"/>`,\n curveLorentzian: `<path d=\"M2.6 15.72C3.06 15.64 4.52 15.6 5.35 15.26C6.18 14.92 7.02 14.36 7.57 13.66C8.11 12.96 8.34 11.97 8.62 11.08C8.89 10.2 8.99 9.25 9.22 8.35C9.45 7.46 9.74 5.72 10 5.72C10.26 5.72 10.55 7.46 10.78 8.35C11.01 9.25 11.11 10.2 11.38 11.08C11.66 11.97 11.89 12.96 12.43 13.66C12.98 14.36 13.82 14.92 14.65 15.26C15.48 15.6 16.94 15.64 17.4 15.72\"/>`,\n curveOgive: `<path d=\"M2.6 15.72C3.13 15.66 4.83 15.71 5.79 15.34C6.75 14.97 7.64 14.25 8.35 13.48C9.05 12.71 9.45 11.64 10 10.72C10.55 9.8 10.95 8.73 11.65 7.96C12.36 7.19 13.25 6.47 14.21 6.1C15.17 5.73 16.87 5.78 17.4 5.72\"/>`,\n curveUniform: `<path d=\"M2.6 15.72V9.32A3.6 3.6 0 0 1 6.2 5.72H13.8A3.6 3.6 0 0 1 17.4 9.32V15.72\"/>`,\n curveSinc: `<path d=\"M2.6 15.72C2.83 15.6 3.61 15.35 4.01 15.02C4.4 14.69 4.68 14.18 4.96 13.72C5.25 13.27 5.49 12.78 5.73 12.3C5.97 11.82 6.19 11.33 6.42 10.84C6.65 10.35 6.86 9.86 7.1 9.37C7.33 8.89 7.55 8.39 7.82 7.93C8.08 7.46 8.32 6.93 8.69 6.57C9.05 6.2 9.56 5.72 10 5.72C10.44 5.72 10.95 6.2 11.31 6.57C11.68 6.93 11.92 7.46 12.18 7.93C12.45 8.39 12.67 8.89 12.9 9.37C13.14 9.86 13.35 10.35 13.58 10.84C13.81 11.33 14.03 11.82 14.27 12.3C14.51 12.78 14.75 13.27 15.04 13.72C15.32 14.18 15.6 14.69 15.99 15.02C16.39 15.35 17.17 15.6 17.4 15.72\"/>`,\n curveImpulse: `<path d=\"M2.6 15.72L9.7 15.72L10 5.72L10.3 15.72L17.4 15.72\"/>`,\n curveEaseIn: `<path d=\"M2.6 15.72C3.13 15.7 4.75 15.75 5.8 15.62C6.86 15.49 7.94 15.31 8.93 14.94C9.91 14.57 10.87 14.01 11.72 13.38C12.56 12.75 13.31 11.95 14 11.14C14.7 10.34 15.29 9.43 15.86 8.53C16.42 7.63 17.14 6.19 17.4 5.72\"/>`,\n curveEaseOut: `<path d=\"M2.6 15.72C2.86 15.25 3.58 13.81 4.14 12.91C4.71 12.01 5.3 11.1 6 10.3C6.69 9.49 7.44 8.69 8.28 8.06C9.13 7.43 10.09 6.87 11.07 6.5C12.06 6.13 13.14 5.95 14.2 5.82C15.25 5.69 16.87 5.74 17.4 5.72\"/>`,\n curveEaseInOut: `<path d=\"M2.6 15.72C3 15.69 4.23 15.75 4.99 15.55C5.75 15.36 6.53 15.01 7.16 14.55C7.79 14.09 8.32 13.43 8.79 12.8C9.26 12.16 9.6 11.41 10 10.72C10.4 10.03 10.74 9.28 11.21 8.64C11.68 8.01 12.21 7.35 12.84 6.89C13.47 6.43 14.25 6.08 15.01 5.89C15.77 5.69 17 5.75 17.4 5.72\"/>`,\n curveOvershoot: `<path d=\"M2.6 15.72C2.76 15.33 3.2 14.15 3.54 13.39C3.88 12.62 4.24 11.86 4.64 11.13C5.05 10.4 5.48 9.67 6 9.02C6.51 8.36 7.06 7.7 7.72 7.19C8.37 6.69 9.14 6.25 9.92 6.01C10.7 5.77 11.57 5.73 12.4 5.73C13.23 5.73 14.07 5.92 14.9 6C15.73 6.08 16.98 6.18 17.4 6.22\"/>`,\n curveBounce: `<path d=\"M2.6 15.72Q6 -4.28 9.41 15.72M9.41 15.72Q11.63 6.72 13.85 15.72M13.85 15.72Q15.18 12.12 16.51 15.72M16.51 15.72Q16.96 14.72 17.4 15.72\"/>`,\n curveElastic: `<path d=\"M2.6 15.72C2.91 15.01 3.22 13.44 3.53 11.66C3.83 9.87 4.14 7.89 4.45 6.23C4.76 4.58 5.07 3.25 5.38 2.45C5.68 1.65 5.99 1.37 6.3 1.5C6.61 1.63 6.92 2.17 7.23 2.85C7.53 3.53 7.84 4.35 8.15 5.07C8.46 5.79 8.77 6.41 9.07 6.82C9.38 7.24 9.69 7.44 10 7.46C10.31 7.47 10.62 7.31 10.93 7.06C11.23 6.81 11.54 6.48 11.85 6.18C12.16 5.87 12.47 5.59 12.77 5.39C13.08 5.18 13.39 5.06 13.7 5.02C14.01 4.99 14.32 5.03 14.62 5.11C14.93 5.2 15.24 5.33 15.55 5.45C15.86 5.58 16.17 5.71 16.47 5.8C16.78 5.9 17.09 5.96 17.4 5.99\"/>`,\n curveLemniscate: `<path d=\"M17.4 11.12C17.4 11.98 16.91 12.8 16.23 13.25C15.54 13.7 14.73 13.8 14.01 13.7C13.29 13.6 12.66 13.3 12.11 12.95C11.57 12.6 11.1 12.19 10.65 11.76C10.21 11.34 9.79 10.9 9.35 10.48C8.9 10.05 8.43 9.64 7.89 9.29C7.34 8.94 6.71 8.64 5.99 8.54C5.27 8.44 4.46 8.54 3.77 8.99C3.09 9.44 2.6 10.26 2.6 11.12C2.6 11.98 3.09 12.8 3.77 13.25C4.46 13.7 5.27 13.8 5.99 13.7C6.71 13.6 7.34 13.3 7.89 12.95C8.43 12.6 8.9 12.19 9.35 11.76C9.79 11.34 10.21 10.9 10.65 10.48C11.1 10.05 11.57 9.64 12.11 9.29C12.66 8.94 13.29 8.64 14.01 8.54C14.73 8.44 15.54 8.54 16.23 8.99C16.91 9.44 17.4 10.26 17.4 11.12\"/>`,\n curveCardioid: `<path d=\"M10 6.14C10 6.14 10 6.09 10.03 6C10.06 5.91 10.13 5.78 10.24 5.63C10.36 5.48 10.54 5.31 10.77 5.16C11.01 5.01 11.32 4.88 11.68 4.8C12.04 4.72 12.45 4.69 12.91 4.74C13.36 4.79 13.84 4.92 14.32 5.15C14.8 5.38 15.27 5.71 15.7 6.14C16.12 6.56 16.5 7.08 16.79 7.69C17.08 8.29 17.28 8.96 17.36 9.68C17.44 10.4 17.4 11.15 17.23 11.9C17.06 12.65 16.76 13.39 16.33 14.07C15.9 14.75 15.35 15.37 14.7 15.89C14.05 16.41 13.3 16.82 12.5 17.1C11.7 17.38 10.85 17.53 10 17.53C9.15 17.53 8.3 17.38 7.5 17.1C6.7 16.82 5.95 16.41 5.3 15.89C4.65 15.37 4.1 14.75 3.67 14.07C3.24 13.39 2.94 12.65 2.77 11.9C2.6 11.15 2.56 10.4 2.64 9.68C2.72 8.96 2.92 8.29 3.21 7.69C3.5 7.08 3.88 6.56 4.3 6.14C4.73 5.71 5.2 5.38 5.68 5.15C6.16 4.92 6.64 4.79 7.09 4.74C7.55 4.69 7.96 4.72 8.32 4.8C8.68 4.88 8.99 5.01 9.23 5.16C9.46 5.31 9.64 5.48 9.76 5.63C9.87 5.78 9.94 5.91 9.97 6C10 6.09 10 6.14 10 6.14\"/>`,\n curveAstroid: `<path d=\"M17.4 11.12C17.4 11.12 17.02 11.13 16.37 11.34C15.72 11.55 14.81 11.97 13.92 12.62C13.02 13.27 12.15 14.14 11.5 15.04C10.85 15.93 10.43 16.84 10.22 17.49C10.01 18.14 10 18.52 10 18.52C10 18.52 9.99 18.14 9.78 17.49C9.57 16.84 9.15 15.93 8.5 15.04C7.85 14.14 6.98 13.27 6.08 12.62C5.19 11.97 4.28 11.55 3.63 11.34C2.98 11.13 2.6 11.12 2.6 11.12C2.6 11.12 2.98 11.11 3.63 10.9C4.28 10.69 5.19 10.27 6.08 9.62C6.98 8.97 7.85 8.1 8.5 7.2C9.15 6.31 9.57 5.4 9.78 4.75C9.99 4.1 10 3.72 10 3.72C10 3.72 10.01 4.1 10.22 4.75C10.43 5.4 10.85 6.31 11.5 7.2C12.15 8.1 13.02 8.97 13.92 9.62C14.81 10.27 15.72 10.69 16.37 10.9C17.02 11.11 17.4 11.12 17.4 11.12\"/>`,\n curveRose: `<path d=\"M16.57 11.12C16.57 11.49 16.32 11.85 15.86 12.13C15.4 12.42 14.72 12.61 13.9 12.66C13.08 12.71 12.13 12.61 11.13 12.35C10.14 12.09 9.11 11.67 8.16 11.12C7.21 10.57 6.33 9.89 5.61 9.16C4.89 8.43 4.32 7.65 3.96 6.92C3.59 6.18 3.42 5.5 3.43 4.96C3.44 4.42 3.64 4.02 3.96 3.84C4.27 3.65 4.71 3.68 5.19 3.94C5.66 4.2 6.17 4.69 6.62 5.38C7.07 6.06 7.47 6.94 7.74 7.93C8.01 8.92 8.16 10.02 8.16 11.12C8.16 12.22 8.01 13.32 7.74 14.31C7.47 15.3 7.07 16.18 6.62 16.86C6.17 17.55 5.66 18.04 5.19 18.3C4.71 18.56 4.27 18.59 3.96 18.4C3.64 18.22 3.44 17.82 3.43 17.28C3.42 16.74 3.59 16.06 3.96 15.32C4.32 14.59 4.89 13.81 5.61 13.08C6.33 12.35 7.21 11.67 8.16 11.12C9.11 10.57 10.14 10.15 11.13 9.89C12.13 9.63 13.08 9.53 13.9 9.58C14.72 9.63 15.4 9.82 15.86 10.11C16.32 10.39 16.57 10.75 16.57 11.12C16.57 11.49 16.32 11.85 15.86 12.13C15.4 12.42 14.72 12.61 13.9 12.66C13.08 12.71 12.13 12.61 11.13 12.35C10.14 12.09 9.11 11.67 8.16 11.12C7.21 10.57 6.33 9.89 5.61 9.16C4.89 8.43 4.32 7.65 3.96 6.92C3.59 6.18 3.42 5.5 3.43 4.96C3.44 4.42 3.64 4.02 3.96 3.84C4.27 3.65 4.71 3.68 5.19 3.94C5.66 4.2 6.17 4.69 6.62 5.38C7.07 6.06 7.47 6.94 7.74 7.93C8.01 8.92 8.16 10.02 8.16 11.12C8.16 12.22 8.01 13.32 7.74 14.31C7.47 15.3 7.07 16.18 6.62 16.86C6.17 17.55 5.66 18.04 5.19 18.3C4.71 18.56 4.27 18.59 3.96 18.4C3.64 18.22 3.44 17.82 3.43 17.28C3.42 16.74 3.59 16.06 3.96 15.32C4.32 14.59 4.89 13.81 5.61 13.08C6.33 12.35 7.21 11.67 8.16 11.12C9.11 10.57 10.14 10.15 11.13 9.89C12.13 9.63 13.08 9.53 13.9 9.58C14.72 9.63 15.4 9.82 15.86 10.11C16.32 10.39 16.57 10.75 16.57 11.12\"/>`,\n curveSpiral: `<path d=\"M10.77 12.22C10.92 12.38 11.02 12.66 10.97 12.97C10.93 13.28 10.74 13.62 10.42 13.86C10.09 14.1 9.63 14.24 9.13 14.18C8.63 14.13 8.1 13.88 7.69 13.45C7.29 13.01 7 12.38 6.97 11.68C6.94 10.98 7.15 10.22 7.63 9.58C8.11 8.94 8.85 8.43 9.73 8.21C10.6 7.99 11.6 8.08 12.51 8.5C13.42 8.93 14.22 9.7 14.71 10.69C15.19 11.68 15.35 12.89 15.09 14.07C14.83 15.24 14.14 16.38 13.12 17.2C12.1 18.02 10.75 18.51 9.34 18.52C7.93 18.53 6.47 18.04 5.28 17.11C4.09 16.18 3.19 14.8 2.81 13.23C2.43 11.66 2.59 9.91 3.31 8.35C4.03 6.79 5.31 5.44 6.94 4.61C8.56 3.79 10.51 3.51 12.4 3.89C14.28 4.27 16.08 5.31 17.39 6.85\"/>`,\n curveLissajous: `<path d=\"M10 11.12C11.66 12.23 13.32 13.33 14.61 14.33C15.91 15.33 16.84 16.22 17.21 16.91C17.58 17.6 17.39 18.09 16.67 18.33C15.95 18.58 14.71 18.58 13.21 18.33C11.71 18.09 9.97 17.6 8.35 16.91C6.73 16.22 5.25 15.33 4.21 14.33C3.18 13.33 2.6 12.23 2.6 11.12C2.6 10.01 3.18 8.91 4.21 7.91C5.25 6.91 6.73 6.02 8.35 5.33C9.97 4.64 11.71 4.15 13.21 3.91C14.71 3.66 15.95 3.66 16.67 3.91C17.39 4.15 17.58 4.64 17.21 5.33C16.84 6.02 15.91 6.91 14.61 7.91C13.32 8.91 11.66 10.01 10 11.12C8.34 12.23 6.68 13.33 5.39 14.33C4.09 15.33 3.16 16.22 2.79 16.91C2.42 17.6 2.61 18.09 3.33 18.33C4.05 18.58 5.29 18.58 6.79 18.33C8.29 18.09 10.03 17.6 11.65 16.91C13.27 16.22 14.75 15.33 15.79 14.33C16.82 13.33 17.4 12.23 17.4 11.12C17.4 10.01 16.82 8.91 15.79 7.91C14.75 6.91 13.27 6.02 11.65 5.33C10.03 4.64 8.29 4.15 6.79 3.91C5.29 3.66 4.05 3.66 3.33 3.91C2.61 4.15 2.42 4.64 2.79 5.33C3.16 6.02 4.09 6.91 5.39 7.91C6.68 8.91 8.34 10.01 10 11.12\"/>`,\n curveCycloid: `<path d=\"M2.6 15.72C2.6 15.72 2.6 15.49 2.66 15.05C2.71 14.61 2.82 13.98 3.03 13.22C3.23 12.46 3.53 11.59 3.94 10.72C4.36 9.85 4.88 8.98 5.49 8.22C6.11 7.46 6.82 6.83 7.59 6.39C8.36 5.95 9.18 5.72 10 5.72C10.82 5.72 11.64 5.95 12.41 6.39C13.18 6.83 13.89 7.46 14.51 8.22C15.12 8.98 15.64 9.85 16.06 10.72C16.47 11.59 16.77 12.46 16.97 13.22C17.18 13.98 17.29 14.61 17.34 15.05C17.4 15.49 17.4 15.72 17.4 15.72\"/>`,\n curveSuperellipse: `<path d=\"M17.4 11.12C17.4 14.45 17.38 12.98 17.34 13.46C17.31 13.94 17.25 14.34 17.17 14.69C17.1 15.05 17 15.37 16.89 15.66C16.78 15.94 16.64 16.21 16.49 16.44C16.34 16.68 16.16 16.9 15.97 17.09C15.78 17.28 15.56 17.46 15.32 17.61C15.09 17.76 14.82 17.9 14.54 18.01C14.25 18.12 13.93 18.22 13.57 18.29C13.22 18.37 12.82 18.43 12.34 18.46C11.86 18.5 13.33 18.52 10 18.52C6.67 18.52 8.14 18.5 7.66 18.46C7.18 18.43 6.78 18.37 6.43 18.29C6.07 18.22 5.75 18.12 5.46 18.01C5.18 17.9 4.91 17.76 4.68 17.61C4.44 17.46 4.22 17.28 4.03 17.09C3.84 16.9 3.66 16.68 3.51 16.44C3.36 16.21 3.22 15.94 3.11 15.66C3 15.37 2.9 15.05 2.83 14.69C2.75 14.34 2.69 13.94 2.66 13.46C2.62 12.98 2.6 14.45 2.6 11.12C2.6 7.79 2.62 9.26 2.66 8.78C2.69 8.3 2.75 7.9 2.83 7.55C2.9 7.19 3 6.87 3.11 6.58C3.22 6.3 3.36 6.03 3.51 5.8C3.66 5.56 3.84 5.34 4.03 5.15C4.22 4.96 4.44 4.78 4.68 4.63C4.91 4.48 5.18 4.34 5.46 4.23C5.75 4.12 6.07 4.02 6.43 3.95C6.78 3.87 7.18 3.81 7.66 3.78C8.14 3.74 6.67 3.72 10 3.72C13.33 3.72 11.86 3.74 12.34 3.78C12.82 3.81 13.22 3.87 13.57 3.95C13.93 4.02 14.25 4.12 14.54 4.23C14.82 4.34 15.09 4.48 15.32 4.63C15.56 4.78 15.78 4.96 15.97 5.15C16.16 5.34 16.34 5.56 16.49 5.8C16.64 6.03 16.78 6.3 16.89 6.58C17 6.87 17.1 7.19 17.17 7.55C17.25 7.9 17.31 8.3 17.34 8.78C17.38 9.26 17.4 7.79 17.4 11.12\"/>`,\n curveTangent: `<path d=\"M2.6 10.72C2.66 10.67 2.82 10.51 2.93 10.4C3.04 10.29 3.16 10.18 3.27 10.06C3.38 9.94 3.49 9.82 3.6 9.69C3.71 9.56 3.82 9.43 3.93 9.28C4.04 9.13 4.15 8.97 4.26 8.78C4.38 8.59 4.49 8.4 4.6 8.14C4.71 7.89 4.82 7.64 4.93 7.26C5.04 6.88 5.21 6.12 5.26 5.89M7.34 15.55C7.45 15.17 7.78 13.86 8 13.3C8.22 12.73 8.45 12.48 8.67 12.16C8.89 11.84 9.11 11.62 9.33 11.38C9.56 11.14 9.78 10.94 10 10.72C10.22 10.5 10.44 10.3 10.67 10.06C10.89 9.82 11.11 9.6 11.33 9.28C11.55 8.96 11.78 8.71 12 8.14C12.22 7.58 12.55 6.27 12.66 5.89M14.74 15.55C14.79 15.32 14.96 14.56 15.07 14.18C15.18 13.8 15.29 13.55 15.4 13.3C15.51 13.04 15.62 12.85 15.73 12.66C15.85 12.47 15.96 12.31 16.07 12.16C16.18 12.01 16.29 11.88 16.4 11.75C16.51 11.62 16.62 11.5 16.73 11.38C16.85 11.26 16.96 11.15 17.07 11.04C17.18 10.93 17.34 10.77 17.4 10.72\"/>`,\n curveCotangent: `<path d=\"M3.64 5.89C3.75 6.27 4.08 7.58 4.3 8.14C4.52 8.71 4.75 8.96 4.97 9.28C5.19 9.6 5.41 9.82 5.63 10.06C5.86 10.3 6.08 10.5 6.3 10.72C6.52 10.94 6.74 11.14 6.97 11.38C7.19 11.62 7.41 11.84 7.63 12.16C7.85 12.48 8.08 12.73 8.3 13.3C8.52 13.86 8.85 15.17 8.96 15.55M11.04 5.89C11.15 6.27 11.48 7.58 11.7 8.14C11.92 8.71 12.15 8.96 12.37 9.28C12.59 9.6 12.81 9.82 13.03 10.06C13.26 10.3 13.48 10.5 13.7 10.72C13.92 10.94 14.14 11.14 14.37 11.38C14.59 11.62 14.81 11.84 15.03 12.16C15.25 12.48 15.48 12.73 15.7 13.3C15.92 13.86 16.25 15.17 16.36 15.55\"/>`,\n curveSecant: `<path d=\"M2.6 12.64C2.66 12.65 2.82 12.65 2.93 12.66C3.04 12.68 3.16 12.69 3.27 12.72C3.38 12.75 3.49 12.78 3.6 12.83C3.71 12.88 3.82 12.93 3.93 13C4.04 13.07 4.15 13.14 4.26 13.25C4.38 13.35 4.49 13.47 4.6 13.63C4.71 13.79 4.82 13.95 4.93 14.22C5.04 14.49 5.2 15.01 5.26 15.24C5.33 15.46 5.33 15.51 5.34 15.56M7.26 5.88C7.37 6.18 7.71 7.28 7.93 7.7C8.15 8.12 8.37 8.23 8.59 8.39C8.82 8.56 9.04 8.63 9.26 8.7C9.48 8.76 9.7 8.79 9.93 8.8C10.15 8.8 10.37 8.79 10.59 8.73C10.81 8.68 11.04 8.62 11.26 8.49C11.48 8.35 11.7 8.24 11.92 7.91C12.15 7.58 12.45 6.82 12.59 6.48C12.73 6.15 12.71 5.98 12.74 5.88M14.66 15.56C14.72 15.37 14.88 14.7 15 14.4C15.11 14.1 15.22 13.92 15.33 13.74C15.44 13.56 15.55 13.44 15.66 13.32C15.77 13.2 15.88 13.12 15.99 13.05C16.11 12.97 16.22 12.91 16.33 12.86C16.44 12.81 16.55 12.77 16.66 12.74C16.77 12.71 16.88 12.69 16.99 12.67C17.1 12.66 17.26 12.65 17.33 12.64C17.39 12.64 17.39 12.64 17.4 12.64\"/>`,\n curveCosecant: `<path d=\"M3.56 15.56C3.67 15.26 4.01 14.16 4.23 13.74C4.45 13.32 4.67 13.21 4.89 13.05C5.12 12.88 5.34 12.81 5.56 12.74C5.78 12.68 6 12.65 6.23 12.64C6.45 12.64 6.67 12.65 6.89 12.71C7.11 12.76 7.34 12.82 7.56 12.95C7.78 13.09 8 13.2 8.22 13.53C8.45 13.86 8.75 14.62 8.89 14.96C9.03 15.29 9.01 15.46 9.04 15.56M10.96 5.88C11.07 6.18 11.41 7.28 11.63 7.7C11.85 8.12 12.07 8.23 12.29 8.39C12.52 8.56 12.74 8.63 12.96 8.7C13.18 8.76 13.4 8.79 13.63 8.8C13.85 8.8 14.07 8.79 14.29 8.73C14.51 8.68 14.74 8.62 14.96 8.49C15.18 8.35 15.4 8.24 15.62 7.91C15.85 7.58 16.15 6.82 16.29 6.48C16.43 6.15 16.41 5.98 16.44 5.88\"/>`,\n curveArcsine: `<path d=\"M2.6 15.72C2.85 15.38 3.59 14.16 4.08 13.67C4.57 13.18 5.07 13.04 5.56 12.77C6.05 12.49 6.55 12.26 7.04 12.03C7.53 11.8 8.03 11.58 8.52 11.36C9.01 11.14 9.51 10.93 10 10.72C10.49 10.51 10.99 10.3 11.48 10.08C11.97 9.86 12.47 9.64 12.96 9.41C13.45 9.18 13.95 8.95 14.44 8.67C14.93 8.4 15.43 8.26 15.92 7.77C16.41 7.28 17.15 6.06 17.4 5.72\"/>`,\n curveAsymptote: `<path d=\"M2.6 12.61C2.69 12.64 2.97 12.71 3.16 12.77C3.34 12.82 3.53 12.88 3.71 12.95C3.9 13.01 4.08 13.08 4.26 13.16C4.45 13.24 4.64 13.33 4.82 13.43C5.01 13.52 5.19 13.63 5.38 13.75C5.56 13.87 5.75 14 5.93 14.16C6.11 14.32 6.3 14.49 6.49 14.71C6.67 14.92 6.92 15.29 7.04 15.45C7.16 15.62 7.16 15.66 7.19 15.7M12.81 5.74C12.9 5.87 13.18 6.32 13.37 6.56C13.55 6.79 13.74 6.97 13.92 7.15C14.11 7.32 14.29 7.46 14.48 7.59C14.66 7.72 14.85 7.83 15.03 7.93C15.22 8.04 15.4 8.13 15.59 8.21C15.77 8.3 15.96 8.37 16.14 8.44C16.33 8.51 16.51 8.57 16.7 8.63C16.88 8.69 17.13 8.75 17.25 8.79C17.37 8.82 17.38 8.82 17.4 8.83\"/>`,\n\n // Shapes\n shapeTriangle: `<path d=\"M10 3.59L17.4 16.41L2.6 16.41Z\" stroke-linejoin=\"miter\"/>`,\n shapeRightTriangle: `<path d=\"M2.6 17.4L2.6 2.6L17.4 17.4Z\" stroke-linejoin=\"miter\"/>`,\n shapeSquare: `<path d=\"M2.6 2.6L17.4 2.6L17.4 17.4L2.6 17.4Z\" stroke-linejoin=\"miter\"/>`,\n shapeRectangle: `<path d=\"M2.6 5.37L17.4 5.37L17.4 14.63L2.6 14.63Z\" stroke-linejoin=\"miter\"/>`,\n shapeDiamond: `<path d=\"M10 2.6L17.4 10L10 17.4L2.6 10Z\" stroke-linejoin=\"miter\"/>`,\n shapeParallelogram: `<path d=\"M5.35 4.71L17.4 4.71L14.65 15.29L2.6 15.29Z\" stroke-linejoin=\"miter\"/>`,\n shapeTrapezoid: `<path d=\"M5.35 4.71L14.65 4.71L17.4 15.29L2.6 15.29Z\" stroke-linejoin=\"miter\"/>`,\n shapeKite: `<path d=\"M10 2.6L16.43 7.75L10 17.4L3.57 7.75Z\" stroke-linejoin=\"miter\"/>`,\n shapePentagon: `<path d=\"M10 2.96L17.4 8.34L14.57 17.04L5.43 17.04L2.6 8.34Z\" stroke-linejoin=\"miter\"/>`,\n shapeHexagon: `<path d=\"M10 2.6L16.41 6.3L16.41 13.7L10 17.4L3.59 13.7L3.59 6.3Z\" stroke-linejoin=\"miter\"/>`,\n shapeHexagonFlat: `<path d=\"M17.4 10L13.7 16.41L6.3 16.41L2.6 10L6.3 3.59L13.7 3.59Z\" stroke-linejoin=\"miter\"/>`,\n shapeHeptagon: `<path d=\"M10 2.79L15.93 5.64L17.4 12.06L13.29 17.21L6.71 17.21L2.6 12.06L4.07 5.64Z\" stroke-linejoin=\"miter\"/>`,\n shapeOctagon: `<path d=\"M13.07 2.6L17.4 6.93L17.4 13.07L13.07 17.4L6.93 17.4L2.6 13.07L2.6 6.93L6.93 2.6Z\" stroke-linejoin=\"miter\"/>`,\n shapeDecagon: `<path d=\"M10 2.6L14.35 4.01L17.04 7.71L17.04 12.29L14.35 15.99L10 17.4L5.65 15.99L2.96 12.29L2.96 7.71L5.65 4.01Z\" stroke-linejoin=\"miter\"/>`,\n shapeDodecagon: `<path d=\"M10 2.6L13.7 3.59L16.41 6.3L17.4 10L16.41 13.7L13.7 16.41L10 17.4L6.3 16.41L3.59 13.7L2.6 10L3.59 6.3L6.3 3.59Z\" stroke-linejoin=\"miter\"/>`,\n shapeCross: `<path d=\"M7.63 2.6L12.37 2.6L12.37 7.63L17.4 7.63L17.4 12.37L12.37 12.37L12.37 17.4L7.63 17.4L7.63 12.37L2.6 12.37L2.6 7.63L7.63 7.63Z\" stroke-linejoin=\"miter\"/>`,\n shapeLShape: `<path d=\"M2.6 2.6L8.82 2.6L8.82 11.78L17.4 11.78L17.4 17.4L2.6 17.4Z\" stroke-linejoin=\"miter\"/>`,\n shapeChevron: `<path d=\"M2.6 4.38L10 10.59L17.4 4.38L17.4 9.41L10 15.62L2.6 9.41Z\" stroke-linejoin=\"miter\"/>`,\n shapeStar: `<path d=\"M10 2.96L12.2 7.72L17.4 8.34L13.55 11.9L14.57 17.04L10 14.48L5.43 17.04L6.45 11.9L2.6 8.34L7.8 7.72Z\" stroke-linejoin=\"miter\"/>`,\n shapeStar4: `<path d=\"M10 2.6L11.99 8.01L17.4 10L11.99 11.99L10 17.4L8.01 11.99L2.6 10L8.01 8.01Z\" stroke-linejoin=\"miter\"/>`,\n shapeStar6: `<path d=\"M10 2.6L12.07 6.41L16.41 6.3L14.14 10L16.41 13.7L12.07 13.59L10 17.4L7.93 13.59L3.59 13.7L5.86 10L3.59 6.3L7.93 6.41Z\" stroke-linejoin=\"miter\"/>`,\n shapeStar8: `<path d=\"M10 2.6L11.76 5.76L15.23 4.77L14.24 8.24L17.4 10L14.24 11.76L15.23 15.23L11.76 14.24L10 17.4L8.24 14.24L4.77 15.23L5.76 11.76L2.6 10L5.76 8.24L4.77 4.77L8.24 5.76Z\" stroke-linejoin=\"miter\"/>`,\n shapePentagram: `<path d=\"M10 2.96L14.57 17.04L2.6 8.34L17.4 8.34L5.43 17.04Z\" stroke-linejoin=\"miter\"/>`,\n shapeCircle: `<path d=\"M2.6 10A7.4 7.4 0 1 1 17.4 10A7.4 7.4 0 1 1 2.6 10Z\"/>`,\n shapeEllipse: `<path d=\"M2.6 10A7.4 4.74 0 1 1 17.4 10A7.4 4.74 0 1 1 2.6 10Z\"/>`,\n shapeSemicircle: `<path d=\"M2.6 13.7A7.4 7.4 0 0 1 17.4 13.7Z\"/>`,\n shapeQuarter: `<path d=\"M2.6 17.4V2.6A14.8 14.8 0 0 1 17.4 17.4Z\"/>`,\n shapeStadium: `<path d=\"M6.74 5.86H13.26A4.14 4.14 0 0 1 13.26 14.14H6.74A4.14 4.14 0 0 1 6.74 5.86Z\"/>`,\n shapeRoundedSquare: `<path d=\"M6 2.6H14A3.4 3.4 0 0 1 17.4 6V14A3.4 3.4 0 0 1 14 17.4H6A3.4 3.4 0 0 1 2.6 14V6A3.4 3.4 0 0 1 6 2.6Z\"/>`,\n shapeRing: `<path d=\"M2.6 10A7.4 7.4 0 1 1 17.4 10A7.4 7.4 0 1 1 2.6 10ZM6.15 10A3.85 3.85 0 1 0 13.85 10A3.85 3.85 0 1 0 6.15 10Z\"/>`,\n shapeCrescent: `<path d=\"M6.3 2.6A7.4 7.4 0 1 1 6.3 17.4A8.51 8.51 0 0 0 6.3 2.6Z\"/>`,\n shapeLens: `<path d=\"M10 2.6A9.99 9.99 0 0 1 10 17.4A9.99 9.99 0 0 1 10 2.6Z\"/>`,\n shapeSector: `<path d=\"M10 14.63L2.6 9.06A9.27 9.27 0 0 1 17.4 9.06Z\"/>`,\n shapeSegment: `<path d=\"M2.6 12.59A7.88 7.88 0 0 1 17.4 12.59Z\"/>`,\n shapeArch: `<path d=\"M2.6 17.4V10A7.4 7.4 0 0 1 17.4 10V17.4Z\"/>`,\n shapeTeardrop: `<path d=\"M10 2.6L5.9 10.75A4.59 4.59 0 1 0 14.1 10.75Z\"/>`,\n shapeEgg: `<path d=\"M10 2.6C14.59 2.6 16.07 9.26 16.07 12.22C16.07 15.77 13.26 17.4 10 17.4C6.74 17.4 3.93 15.77 3.93 12.22C3.93 9.26 5.41 2.6 10 2.6Z\"/>`,\n shapeHeart: `<path d=\"M10 6.51L10.01 6.42L10.05 6.16L10.18 5.76L10.41 5.26L10.78 4.72L11.27 4.2L11.89 3.76L12.62 3.45L13.42 3.31L14.25 3.36L15.08 3.61L15.84 4.03L16.48 4.62L16.98 5.33L17.29 6.12L17.4 6.97L17.29 7.84L16.98 8.7L16.48 9.54L15.84 10.34L15.08 11.12L14.25 11.86L13.42 12.57L12.62 13.27L11.89 13.93L11.27 14.56L10.78 15.14L10.41 15.66L10.18 16.09L10.05 16.41L10.01 16.62L10 16.69L9.99 16.62L9.95 16.41L9.82 16.09L9.59 15.66L9.22 15.14L8.73 14.56L8.11 13.93L7.38 13.27L6.58 12.57L5.75 11.86L4.92 11.12L4.16 10.34L3.52 9.54L3.02 8.7L2.71 7.84L2.6 6.97L2.71 6.12L3.02 5.33L3.52 4.62L4.16 4.03L4.92 3.61L5.75 3.36L6.58 3.31L7.38 3.45L8.11 3.76L8.73 4.2L9.22 4.72L9.59 5.26L9.82 5.76L9.95 6.16L9.99 6.42L10 6.51Z\"/>`,\n shapeAngle: `<path d=\"M17.4 16.34L2.6 16.34L14.8 3.66M6.12 16.34A3.52 3.52 0 0 0 5.04 13.8\"/>`,\n\n // Platonic solids\n d4: `<path d=\"M2.6 14.47L10 3.31L17.4 14.47L10 16.69Z\" stroke-linejoin=\"miter\" stroke-width=\"1\"/><path d=\"M10 16.69L10 3.31\" stroke-width=\"0.6\"/>`,\n d6: `<path d=\"M3.59 6.3L10 2.6L16.41 6.3L16.41 13.7L10 17.4L3.59 13.7Z\" stroke-linejoin=\"miter\" stroke-width=\"1\"/><path d=\"M10 10L16.41 6.3M10 17.4L10 10M10 10L3.59 6.3\" stroke-width=\"0.6\"/>`,\n d8: `<path d=\"M2.85 9.6L10 2.6L17.15 10.4L10 17.4Z\" stroke-linejoin=\"miter\" stroke-width=\"1\"/><path d=\"M7.68 11.24L2.85 9.6M10 2.6L7.68 11.24M7.68 11.24L10 17.4M17.15 10.4L7.68 11.24\" stroke-width=\"0.6\"/>`,\n d12: `<path d=\"M2.96 7.71L5.65 4.01L10 2.6L14.35 4.01L17.04 7.71L17.04 12.29L14.35 15.99L10 17.4L5.65 15.99L2.96 12.29Z\" stroke-linejoin=\"miter\" stroke-width=\"1\"/><path d=\"M10 5.43L10 2.6M14.35 8.59L10 5.43M17.04 7.71L14.35 8.59M14.35 8.59L12.69 13.7M5.65 8.59L10 5.43M7.31 13.7L5.65 8.59M12.69 13.7L7.31 13.7M5.65 8.59L2.96 7.71M14.35 15.99L12.69 13.7M5.65 15.99L7.31 13.7\" stroke-width=\"0.6\"/>`,\n d20: `<path d=\"M3.59 13.7L3.59 6.3L10 2.6L16.41 6.3L16.41 13.7L10 17.4Z\" stroke-linejoin=\"miter\" stroke-width=\"1\"/><path d=\"M10 5.43L13.96 12.29M6.04 12.29L10 5.43M13.96 12.29L6.04 12.29M3.59 6.3L10 5.43M6.04 12.29L3.59 6.3M10 5.43L10 2.6M16.41 6.3L10 5.43M16.41 6.3L13.96 12.29M6.04 12.29L10 17.4M3.59 13.7L6.04 12.29M13.96 12.29L10 17.4M16.41 13.7L13.96 12.29\" stroke-width=\"0.6\"/>`,\n} as const;\n\n/** Every glyph name in the set. */\nexport type IconName = keyof typeof ICON_PATHS;\n\n/** The region a glyph encloses, for `<Icon filled>`. A shape fills its own\n * outline; a plotted curve fills down to the frame's baseline, reaching the outer\n * edge of the stroke rather than stopping at the path's own endpoint. Only the\n * glyphs where an enclosed region means something have an entry. */\nexport const ICON_FILLS = {\n arcStraight: `<path d=\"M1.85 15L2.6 15H17.4L18.15 15L18.15 15.75L1.85 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcParabola: `<path d=\"M2.31 15.69L2.6 15Q10 -5 17.4 15L17.69 15.69L17.69 15.75L2.31 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcCircle: `<path d=\"M2.52 15.75L2.6 15A7.4 7.4 0 0 1 17.4 15L17.48 15.75L17.48 15.75L2.52 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcSine: `<path d=\"M2.28 10.68L2.6 10C3.83 7.38 5.07 5 6.3 5C7.53 5 8.77 7.38 10 10C11.23 12.62 12.47 15 13.7 15C14.93 15 16.17 12.62 17.4 10L17.72 9.32L17.72 15.75L2.28 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcBump: `<path d=\"M1.87 15.18L2.6 15C3.83 15 5.07 11.87 6.3 9.38C7.53 6.88 8.77 5 10 5C11.23 5 12.47 6.88 13.7 9.38C14.93 11.87 16.17 15 17.4 15L18.13 15.18L18.13 15.75L1.87 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcPlateau: `<path d=\"M2.6 15.75L2.6 15V8.6A3.6 3.6 0 0 1 6.2 5H13.8A3.6 3.6 0 0 1 17.4 8.6V15L17.4 15.75L17.4 15.75L2.6 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcBell: `<path d=\"M1.86 15.13L2.6 15C3.42 14.87 4.24 14.6 5.07 13.65C5.89 12.7 6.71 10.87 7.53 8.87C8.36 6.86 9.18 5 10 5C10.82 5 11.64 6.86 12.47 8.87C13.29 10.87 14.11 12.7 14.93 13.65C15.76 14.6 16.58 14.87 17.4 15L18.14 15.13L18.14 15.75L1.86 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcEllipse: `<path d=\"M2.54 15.75L2.6 15A7.4 10 0 0 1 17.4 15L17.46 15.75L17.46 15.75L2.54 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcLob: `<path d=\"M2.5 15.74L2.6 15C3.78 -0.6 10.74 4.2 17.4 15L17.81 15.63L17.81 15.75L2.5 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcDive: `<path d=\"M2.19 15.63L2.6 15C9.26 4.2 16.22 -0.6 17.4 15L17.5 15.74L17.5 15.75L2.19 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcTriangle: `<path d=\"M2.15 10.6L2.6 10L6.3 5L13.7 15L17.4 10L17.85 9.4L17.85 15.75L2.15 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcSquare: `<path d=\"M2.6 10.75L2.6 10L2.6 5L10 5L10 15L17.4 15L17.4 10L17.4 9.25L17.4 15.75L2.6 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcSawtooth: `<path d=\"M1.98 10.42L2.6 10L10 5L10 15L17.4 10L18.02 9.58L18.02 15.75L1.98 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcStair: `<path d=\"M1.85 10L2.6 10L4.97 10L4.97 5L8.82 5L8.82 10L11.18 10L11.18 15L15.03 15L15.03 10L17.4 10L18.15 10L18.15 15.75L1.85 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcZigzag: `<path d=\"M2.34 10.7L2.6 10L4.45 5L8.15 15L10 10L11.85 5L15.55 15L17.4 10L17.66 9.3L17.66 15.75L2.34 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcRipple: `<path d=\"M2.43 10.73L2.6 10C3.22 7.38 3.83 5 4.45 5C5.07 5 5.68 7.38 6.3 10C6.92 12.62 7.53 15 8.15 15C8.77 15 9.38 12.62 10 10C10.62 7.38 11.23 5 11.85 5C12.47 5 13.08 7.38 13.7 10C14.32 12.62 14.93 15 15.55 15C16.17 15 16.78 12.62 17.4 10L17.57 9.27L17.57 15.75L2.43 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcHop: `<path d=\"M2.45 15.73L2.6 15Q6.3 -5 10 15L10.15 15.73L10.15 15.75L2.45 15.75ZM9.74 15.7L10 15Q13.7 4 17.4 15L17.66 15.7L17.66 15.75L9.74 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n arcCusp: `<path d=\"M1.94 15.35L2.6 15Q7.34 12.8 10 5Q12.66 12.8 17.4 15L18.06 15.35L18.06 15.75L1.94 15.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveLine: `<path d=\"M1.85 10.72L2.6 10.72H17.4L18.15 10.72L18.15 16.47L1.85 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveParabola: `<path d=\"M2.31 16.41L2.6 15.72Q10 -4.28 17.4 15.72L17.69 16.41L17.69 16.47L2.31 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveCircle: `<path d=\"M2.52 16.47L2.6 15.72A7.4 7.4 0 0 1 17.4 15.72L17.48 16.47L17.48 16.47L2.52 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveEllipse: `<path d=\"M2.54 16.47L2.6 15.72A7.4 10 0 0 1 17.4 15.72L17.46 16.47L17.46 16.47L2.54 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveHyperbola: `<path d=\"M2.28 16.4L2.6 15.72C2.91 15.08 3.8 13.12 4.48 11.86C5.16 10.61 5.76 9.21 6.68 8.19C7.6 7.16 8.89 5.72 10 5.72C11.11 5.72 12.4 7.16 13.32 8.19C14.24 9.21 14.84 10.61 15.52 11.86C16.2 13.12 17.09 15.08 17.4 15.72L17.72 16.4L17.72 16.47L2.28 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveCubic: `<path d=\"M2.22 16.37L2.6 15.72C2.88 15.27 3.59 13.78 4.3 13.01C5 12.24 5.89 11.49 6.84 11.11C7.79 10.73 8.95 10.85 10 10.72C11.05 10.59 12.21 10.71 13.16 10.33C14.11 9.95 15 9.2 15.7 8.43C16.41 7.66 17.12 6.17 17.4 5.72L17.78 5.07L17.78 16.47L2.22 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveQuartic: `<path d=\"M1.93 15.62L2.6 15.28C2.98 15.06 4.27 14.67 4.88 13.94C5.49 13.22 5.8 11.93 6.27 10.92C6.74 9.92 7.08 8.79 7.7 7.93C8.32 7.06 9.23 5.72 10 5.72C10.77 5.72 11.68 7.06 12.3 7.93C12.92 8.79 13.26 9.92 13.73 10.92C14.2 11.93 14.51 13.22 15.12 13.94C15.73 14.67 17.02 15.06 17.4 15.28L18.07 15.62L18.07 16.47L1.93 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveSqrt: `<path d=\"M2.33 16.42L2.6 15.72C2.8 15.25 3.19 13.72 3.77 12.91C4.36 12.1 5.27 11.46 6.1 10.86C6.93 10.25 7.86 9.75 8.77 9.26C9.69 8.77 10.63 8.35 11.58 7.93C12.53 7.51 13.5 7.13 14.47 6.76C15.44 6.4 16.91 5.89 17.4 5.72L18.11 5.47L18.11 16.47L2.33 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveReciprocal: `<path d=\"M2.45 16.45L2.6 15.72C2.69 15.31 2.91 14.08 3.15 13.28C3.39 12.49 3.66 11.68 4.06 10.96C4.46 10.24 4.95 9.53 5.55 8.97C6.15 8.41 6.89 7.97 7.63 7.61C8.37 7.25 9.19 7.01 9.99 6.79C10.79 6.57 11.62 6.43 12.44 6.29C13.26 6.15 14.09 6.05 14.91 5.96C15.74 5.86 16.99 5.76 17.4 5.72L18.15 5.65L18.15 16.47L2.45 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveAbs: `<path d=\"M2.15 5.12L2.6 5.72L10 15.72L17.4 5.72L17.85 5.12L17.85 16.47L2.15 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveCusp: `<path d=\"M1.94 16.07L2.6 15.72Q7.34 13.52 10 5.72Q12.66 13.52 17.4 15.72L18.06 16.07L18.06 16.47L1.94 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveExponential: `<path d=\"M1.86 15.83L2.6 15.72C3.12 15.64 4.69 15.47 5.72 15.26C6.74 15.04 7.78 14.79 8.76 14.42C9.73 14.05 10.7 13.59 11.57 13.01C12.44 12.44 13.26 11.74 13.98 10.99C14.7 10.23 15.32 9.37 15.89 8.49C16.46 7.61 17.15 6.18 17.4 5.72L17.75 5.06L17.75 16.47L1.86 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveLogarithm: `<path d=\"M2.38 16.44L2.6 15.72C2.72 15.34 3.01 14.18 3.35 13.47C3.68 12.76 4.11 12.07 4.61 11.46C5.11 10.86 5.72 10.32 6.35 9.85C6.97 9.37 7.67 8.98 8.37 8.61C9.07 8.25 9.81 7.94 10.55 7.66C11.28 7.37 12.04 7.12 12.79 6.89C13.55 6.66 14.32 6.45 15.09 6.26C15.85 6.06 17.01 5.81 17.4 5.72L18.13 5.55L18.13 16.47L2.38 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveDecay: `<path d=\"M2.27 5.05L2.6 5.72C2.84 6.19 3.5 7.64 4.06 8.53C4.61 9.43 5.22 10.31 5.94 11.08C6.65 11.85 7.47 12.56 8.34 13.13C9.22 13.71 10.2 14.16 11.19 14.52C12.17 14.88 13.22 15.11 14.26 15.31C15.29 15.51 16.88 15.65 17.4 15.72L18.14 15.81L18.14 16.47L2.27 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveSigmoid: `<path d=\"M1.86 15.84L2.6 15.72C3.11 15.62 4.75 15.55 5.68 15.14C6.61 14.74 7.46 14.02 8.18 13.29C8.9 12.55 9.39 11.58 10 10.72C10.61 9.86 11.1 8.89 11.82 8.15C12.54 7.42 13.39 6.7 14.32 6.3C15.25 5.89 16.89 5.82 17.4 5.72L18.14 5.6L18.14 16.47L1.86 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveSoftplus: `<path d=\"M1.85 15.74L2.6 15.72C3.13 15.7 4.74 15.73 5.79 15.62C6.85 15.5 7.95 15.42 8.92 15.03C9.89 14.65 10.79 14 11.59 13.32C12.38 12.63 13.03 11.75 13.7 10.93C14.37 10.1 14.97 9.22 15.59 8.35C16.2 7.48 17.1 6.16 17.4 5.72L17.82 5.1L17.82 16.47L1.85 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveRelu: `<path d=\"M1.85 15.72L2.6 15.72L10 15.72L17.4 5.72L17.85 5.12L17.85 16.47L1.85 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveStep: `<path d=\"M1.85 15.72L2.6 15.72L10 15.72L10 5.72L17.4 5.72L18.15 5.72L18.15 16.47L1.85 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curvePowerLaw: `<path d=\"M2.57 16.47L2.6 15.72C2.62 15.25 2.67 13.85 2.74 12.91C2.81 11.98 2.83 11.03 3.01 10.12C3.19 9.21 3.27 8.11 3.8 7.45C4.33 6.78 5.32 6.39 6.18 6.13C7.04 5.87 8.04 5.93 8.98 5.87C9.91 5.81 10.85 5.8 11.78 5.78C12.72 5.76 13.66 5.75 14.59 5.74C15.53 5.73 16.93 5.72 17.4 5.72L18.15 5.72L18.15 16.47L2.57 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveCatenary: `<path d=\"M2.34 5.02L2.6 5.72C2.86 6.4 3.53 8.49 4.16 9.8C4.79 11.11 5.4 12.57 6.37 13.55C7.34 14.54 8.79 15.72 10 15.72C11.21 15.72 12.66 14.54 13.63 13.55C14.6 12.57 15.21 11.11 15.84 9.8C16.47 8.49 17.14 6.4 17.4 5.72L17.66 5.02L17.66 16.47L2.34 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveBathtub: `<path d=\"M2.46 4.98L2.6 5.72C2.71 6.29 2.98 8.02 3.27 9.14C3.57 10.27 3.81 11.47 4.37 12.45C4.92 13.43 5.67 14.5 6.61 15.04C7.55 15.59 8.87 15.72 10 15.72C11.13 15.72 12.45 15.59 13.39 15.04C14.33 14.5 15.08 13.43 15.63 12.45C16.19 11.47 16.43 10.27 16.73 9.14C17.02 8.02 17.29 6.29 17.4 5.72L17.54 4.98L17.54 16.47L2.46 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveHockeyStick: `<path d=\"M1.85 15.77L2.6 15.72C3.15 15.68 4.81 15.61 5.91 15.5C7.01 15.39 8.12 15.31 9.19 15.06C10.26 14.8 11.38 14.51 12.3 13.96C13.23 13.41 14.08 12.61 14.75 11.76C15.42 10.91 15.89 9.86 16.33 8.86C16.78 7.85 17.22 6.24 17.4 5.72L17.63 5.01L17.63 16.47L1.85 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveSine: `<path d=\"M2.28 11.4L2.6 10.72C3.83 8.1 5.07 5.72 6.3 5.72C7.53 5.72 8.77 8.1 10 10.72C11.23 13.34 12.47 15.72 13.7 15.72C14.93 15.72 16.17 13.34 17.4 10.72L17.72 10.04L17.72 16.47L2.28 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveCosine: `<path d=\"M1.86 5.58L2.6 5.72C3.83 5.72 5.07 8.1 6.3 10.72C7.53 13.34 8.77 15.72 10 15.72C11.23 15.72 12.47 13.34 13.7 10.72C14.93 8.1 16.17 5.72 17.4 5.72L18.14 5.58L18.14 16.47L1.86 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveRipple: `<path d=\"M2.43 11.45L2.6 10.72C3.22 8.1 3.83 5.72 4.45 5.72C5.07 5.72 5.68 8.1 6.3 10.72C6.92 13.34 7.53 15.72 8.15 15.72C8.77 15.72 9.38 13.34 10 10.72C10.62 8.1 11.23 5.72 11.85 5.72C12.47 5.72 13.08 8.1 13.7 10.72C14.32 13.34 14.93 15.72 15.55 15.72C16.17 15.72 16.78 13.34 17.4 10.72L17.57 9.99L17.57 16.47L2.43 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveTriangleWave: `<path d=\"M2.15 11.32L2.6 10.72L6.3 5.72L13.7 15.72L17.4 10.72L17.85 10.12L17.85 16.47L2.15 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveSquareWave: `<path d=\"M2.6 11.47L2.6 10.72L2.6 5.72L10 5.72L10 15.72L17.4 15.72L17.4 10.72L17.4 9.97L17.4 16.47L2.6 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveSawtooth: `<path d=\"M1.98 11.14L2.6 10.72L10 5.72L10 15.72L17.4 10.72L18.02 10.3L18.02 16.47L1.98 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveStair: `<path d=\"M1.85 10.72L2.6 10.72L4.97 10.72L4.97 5.72L8.82 5.72L8.82 10.72L11.18 10.72L11.18 15.72L15.03 15.72L15.03 10.72L17.4 10.72L18.15 10.72L18.15 16.47L1.85 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curvePulseTrain: `<path d=\"M1.85 10.72L2.6 10.72L4.23 10.72L4.23 5.72L6.3 5.72L6.3 10.72L8.96 10.72L8.96 5.72L11.04 5.72L11.04 10.72L13.7 10.72L13.7 5.72L15.77 5.72L15.77 10.72L17.4 10.72L18.15 10.72L18.15 16.47L1.85 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveDamped: `<path d=\"M2.05 5.21L2.6 5.72C2.95 6.01 3.3 6.7 3.66 7.55C4.01 8.39 4.36 9.37 4.71 10.24C5.07 11.11 5.42 11.86 5.77 12.37C6.12 12.87 6.48 13.13 6.83 13.15C7.18 13.17 7.53 12.96 7.89 12.63C8.24 12.3 8.59 11.86 8.94 11.42C9.3 10.99 9.65 10.57 10 10.25C10.35 9.94 10.7 9.72 11.06 9.63C11.41 9.54 11.76 9.56 12.11 9.67C12.47 9.77 12.82 9.96 13.17 10.16C13.52 10.36 13.88 10.57 14.23 10.75C14.58 10.93 14.93 11.08 15.29 11.16C15.64 11.25 15.99 11.28 16.34 11.26C16.7 11.24 17.05 11.17 17.4 11.09L18.13 10.93L18.13 16.47L2.05 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveGaussian: `<path d=\"M1.87 15.88L2.6 15.72C3.13 15.57 4.98 15.47 5.78 14.83C6.57 14.18 6.92 12.87 7.35 11.84C7.79 10.8 7.97 9.62 8.41 8.6C8.85 7.58 9.47 5.72 10 5.72C10.53 5.72 11.15 7.58 11.59 8.6C12.03 9.62 12.21 10.8 12.65 11.84C13.08 12.87 13.43 14.18 14.22 14.83C15.02 15.47 16.87 15.57 17.4 15.72L18.13 15.88L18.13 16.47L1.87 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveBimodal: `<path d=\"M2.03 16.21L2.6 15.72C2.95 15.39 4.21 14.57 4.67 13.73C5.14 12.89 5.17 11.7 5.39 10.68C5.62 9.66 5.69 8.28 6 7.6C6.31 6.92 6.93 6.26 7.24 6.61C7.56 6.96 7.69 8.66 7.9 9.68C8.12 10.7 8.19 11.81 8.54 12.75C8.89 13.7 9.51 15.36 10 15.36C10.49 15.36 11.11 13.7 11.46 12.75C11.81 11.81 11.88 10.7 12.1 9.68C12.31 8.66 12.44 6.96 12.76 6.61C13.07 6.26 13.69 6.92 14 7.6C14.31 8.28 14.38 9.66 14.61 10.68C14.83 11.7 14.86 12.89 15.33 13.73C15.79 14.57 17.05 15.39 17.4 15.72L17.97 16.21L17.97 16.47L2.03 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveSkewed: `<path d=\"M2.31 16.41L2.6 15.72C2.76 15.32 3.35 14.19 3.58 13.35C3.82 12.5 3.87 11.55 4.02 10.65C4.17 9.75 4.22 8.78 4.5 7.96C4.79 7.14 5.26 5.74 5.71 5.75C6.15 5.76 6.71 7.24 7.15 8.03C7.6 8.82 7.92 9.69 8.38 10.47C8.85 11.25 9.32 12.06 9.94 12.71C10.56 13.36 11.3 13.96 12.09 14.37C12.88 14.78 13.8 15.01 14.69 15.2C15.57 15.39 16.95 15.46 17.4 15.52L18.15 15.6L18.15 16.47L2.31 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveLorentzian: `<path d=\"M1.86 15.82L2.6 15.72C3.06 15.64 4.52 15.6 5.35 15.26C6.18 14.92 7.02 14.36 7.57 13.66C8.11 12.96 8.34 11.97 8.62 11.08C8.89 10.2 8.99 9.25 9.22 8.35C9.45 7.46 9.74 5.72 10 5.72C10.26 5.72 10.55 7.46 10.78 8.35C11.01 9.25 11.11 10.2 11.38 11.08C11.66 11.97 11.89 12.96 12.43 13.66C12.98 14.36 13.82 14.92 14.65 15.26C15.48 15.6 16.94 15.64 17.4 15.72L18.14 15.82L18.14 16.47L1.86 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveOgive: `<path d=\"M1.85 15.78L2.6 15.72C3.13 15.66 4.83 15.71 5.79 15.34C6.75 14.97 7.64 14.25 8.35 13.48C9.05 12.71 9.45 11.64 10 10.72C10.55 9.8 10.95 8.73 11.65 7.96C12.36 7.19 13.25 6.47 14.21 6.1C15.17 5.73 16.87 5.78 17.4 5.72L18.15 5.66L18.15 16.47L1.85 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveUniform: `<path d=\"M2.6 16.47L2.6 15.72V9.32A3.6 3.6 0 0 1 6.2 5.72H13.8A3.6 3.6 0 0 1 17.4 9.32V15.72L17.4 16.47L17.4 16.47L2.6 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveSinc: `<path d=\"M1.92 16.04L2.6 15.72C2.83 15.6 3.61 15.35 4.01 15.02C4.4 14.69 4.68 14.18 4.96 13.72C5.25 13.27 5.49 12.78 5.73 12.3C5.97 11.82 6.19 11.33 6.42 10.84C6.65 10.35 6.86 9.86 7.1 9.37C7.33 8.89 7.55 8.39 7.82 7.93C8.08 7.46 8.32 6.93 8.69 6.57C9.05 6.2 9.56 5.72 10 5.72C10.44 5.72 10.95 6.2 11.31 6.57C11.68 6.93 11.92 7.46 12.18 7.93C12.45 8.39 12.67 8.89 12.9 9.37C13.14 9.86 13.35 10.35 13.58 10.84C13.81 11.33 14.03 11.82 14.27 12.3C14.51 12.78 14.75 13.27 15.04 13.72C15.32 14.18 15.6 14.69 15.99 15.02C16.39 15.35 17.17 15.6 17.4 15.72L18.08 16.04L18.08 16.47L1.92 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveImpulse: `<path d=\"M1.85 15.72L2.6 15.72L9.7 15.72L10 5.72L10.3 15.72L17.4 15.72L18.15 15.72L18.15 16.47L1.85 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveEaseIn: `<path d=\"M1.85 15.74L2.6 15.72C3.13 15.7 4.75 15.75 5.8 15.62C6.86 15.49 7.94 15.31 8.93 14.94C9.91 14.57 10.87 14.01 11.72 13.38C12.56 12.75 13.31 11.95 14 11.14C14.7 10.34 15.29 9.43 15.86 8.53C16.42 7.63 17.14 6.19 17.4 5.72L17.76 5.06L17.76 16.47L1.85 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveEaseOut: `<path d=\"M2.24 16.38L2.6 15.72C2.86 15.25 3.58 13.81 4.14 12.91C4.71 12.01 5.3 11.1 6 10.3C6.69 9.49 7.44 8.69 8.28 8.06C9.13 7.43 10.09 6.87 11.07 6.5C12.06 6.13 13.14 5.95 14.2 5.82C15.25 5.69 16.87 5.74 17.4 5.72L18.15 5.7L18.15 16.47L2.24 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveEaseInOut: `<path d=\"M1.85 15.75L2.6 15.72C3 15.69 4.23 15.75 4.99 15.55C5.75 15.36 6.53 15.01 7.16 14.55C7.79 14.09 8.32 13.43 8.79 12.8C9.26 12.16 9.6 11.41 10 10.72C10.4 10.03 10.74 9.28 11.21 8.64C11.68 8.01 12.21 7.35 12.84 6.89C13.47 6.43 14.25 6.08 15.01 5.89C15.77 5.69 17 5.75 17.4 5.72L18.15 5.69L18.15 16.47L1.85 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveOvershoot: `<path d=\"M2.32 16.42L2.6 15.72C2.76 15.33 3.2 14.15 3.54 13.39C3.88 12.62 4.24 11.86 4.64 11.13C5.05 10.4 5.48 9.67 6 9.02C6.51 8.36 7.06 7.7 7.72 7.19C8.37 6.69 9.14 6.25 9.92 6.01C10.7 5.77 11.57 5.73 12.4 5.73C13.23 5.73 14.07 5.92 14.9 6C15.73 6.08 16.98 6.18 17.4 6.22L18.15 6.29L18.15 16.47L2.32 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveBounce: `<path d=\"M2.46 16.46L2.6 15.72Q6 -4.28 9.41 15.72L9.55 16.46L9.55 16.47L2.46 16.47ZM9.21 16.44L9.41 15.72Q11.63 6.72 13.85 15.72L14.05 16.44L14.05 16.47L9.21 16.47ZM13.57 16.41L13.85 15.72Q15.18 12.12 16.51 15.72L16.79 16.41L16.79 16.47L13.57 16.47ZM16.17 16.39L16.51 15.72Q16.96 14.72 17.4 15.72L17.73 16.39L17.73 16.47L16.17 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveElastic: `<path d=\"M2.33 16.42L2.6 15.72C2.91 15.01 3.22 13.44 3.53 11.66C3.83 9.87 4.14 7.89 4.45 6.23C4.76 4.58 5.07 3.25 5.38 2.45C5.68 1.65 5.99 1.37 6.3 1.5C6.61 1.63 6.92 2.17 7.23 2.85C7.53 3.53 7.84 4.35 8.15 5.07C8.46 5.79 8.77 6.41 9.07 6.82C9.38 7.24 9.69 7.44 10 7.46C10.31 7.47 10.62 7.31 10.93 7.06C11.23 6.81 11.54 6.48 11.85 6.18C12.16 5.87 12.47 5.59 12.77 5.39C13.08 5.18 13.39 5.06 13.7 5.02C14.01 4.99 14.32 5.03 14.62 5.11C14.93 5.2 15.24 5.33 15.55 5.45C15.86 5.58 16.17 5.71 16.47 5.8C16.78 5.9 17.09 5.96 17.4 5.99L18.15 6.07L18.15 16.47L2.33 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveLemniscate: `<path d=\"M17.4 11.12C17.4 11.98 16.91 12.8 16.23 13.25C15.54 13.7 14.73 13.8 14.01 13.7C13.29 13.6 12.66 13.3 12.11 12.95C11.57 12.6 11.1 12.19 10.65 11.76C10.21 11.34 9.79 10.9 9.35 10.48C8.9 10.05 8.43 9.64 7.89 9.29C7.34 8.94 6.71 8.64 5.99 8.54C5.27 8.44 4.46 8.54 3.77 8.99C3.09 9.44 2.6 10.26 2.6 11.12C2.6 11.98 3.09 12.8 3.77 13.25C4.46 13.7 5.27 13.8 5.99 13.7C6.71 13.6 7.34 13.3 7.89 12.95C8.43 12.6 8.9 12.19 9.35 11.76C9.79 11.34 10.21 10.9 10.65 10.48C11.1 10.05 11.57 9.64 12.11 9.29C12.66 8.94 13.29 8.64 14.01 8.54C14.73 8.44 15.54 8.54 16.23 8.99C16.91 9.44 17.4 10.26 17.4 11.12\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveCardioid: `<path d=\"M10 6.14C10 6.14 10 6.09 10.03 6C10.06 5.91 10.13 5.78 10.24 5.63C10.36 5.48 10.54 5.31 10.77 5.16C11.01 5.01 11.32 4.88 11.68 4.8C12.04 4.72 12.45 4.69 12.91 4.74C13.36 4.79 13.84 4.92 14.32 5.15C14.8 5.38 15.27 5.71 15.7 6.14C16.12 6.56 16.5 7.08 16.79 7.69C17.08 8.29 17.28 8.96 17.36 9.68C17.44 10.4 17.4 11.15 17.23 11.9C17.06 12.65 16.76 13.39 16.33 14.07C15.9 14.75 15.35 15.37 14.7 15.89C14.05 16.41 13.3 16.82 12.5 17.1C11.7 17.38 10.85 17.53 10 17.53C9.15 17.53 8.3 17.38 7.5 17.1C6.7 16.82 5.95 16.41 5.3 15.89C4.65 15.37 4.1 14.75 3.67 14.07C3.24 13.39 2.94 12.65 2.77 11.9C2.6 11.15 2.56 10.4 2.64 9.68C2.72 8.96 2.92 8.29 3.21 7.69C3.5 7.08 3.88 6.56 4.3 6.14C4.73 5.71 5.2 5.38 5.68 5.15C6.16 4.92 6.64 4.79 7.09 4.74C7.55 4.69 7.96 4.72 8.32 4.8C8.68 4.88 8.99 5.01 9.23 5.16C9.46 5.31 9.64 5.48 9.76 5.63C9.87 5.78 9.94 5.91 9.97 6C10 6.09 10 6.14 10 6.14\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveAstroid: `<path d=\"M17.4 11.12C17.4 11.12 17.02 11.13 16.37 11.34C15.72 11.55 14.81 11.97 13.92 12.62C13.02 13.27 12.15 14.14 11.5 15.04C10.85 15.93 10.43 16.84 10.22 17.49C10.01 18.14 10 18.52 10 18.52C10 18.52 9.99 18.14 9.78 17.49C9.57 16.84 9.15 15.93 8.5 15.04C7.85 14.14 6.98 13.27 6.08 12.62C5.19 11.97 4.28 11.55 3.63 11.34C2.98 11.13 2.6 11.12 2.6 11.12C2.6 11.12 2.98 11.11 3.63 10.9C4.28 10.69 5.19 10.27 6.08 9.62C6.98 8.97 7.85 8.1 8.5 7.2C9.15 6.31 9.57 5.4 9.78 4.75C9.99 4.1 10 3.72 10 3.72C10 3.72 10.01 4.1 10.22 4.75C10.43 5.4 10.85 6.31 11.5 7.2C12.15 8.1 13.02 8.97 13.92 9.62C14.81 10.27 15.72 10.69 16.37 10.9C17.02 11.11 17.4 11.12 17.4 11.12\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveRose: `<path d=\"M16.57 11.12C16.57 11.49 16.32 11.85 15.86 12.13C15.4 12.42 14.72 12.61 13.9 12.66C13.08 12.71 12.13 12.61 11.13 12.35C10.14 12.09 9.11 11.67 8.16 11.12C7.21 10.57 6.33 9.89 5.61 9.16C4.89 8.43 4.32 7.65 3.96 6.92C3.59 6.18 3.42 5.5 3.43 4.96C3.44 4.42 3.64 4.02 3.96 3.84C4.27 3.65 4.71 3.68 5.19 3.94C5.66 4.2 6.17 4.69 6.62 5.38C7.07 6.06 7.47 6.94 7.74 7.93C8.01 8.92 8.16 10.02 8.16 11.12C8.16 12.22 8.01 13.32 7.74 14.31C7.47 15.3 7.07 16.18 6.62 16.86C6.17 17.55 5.66 18.04 5.19 18.3C4.71 18.56 4.27 18.59 3.96 18.4C3.64 18.22 3.44 17.82 3.43 17.28C3.42 16.74 3.59 16.06 3.96 15.32C4.32 14.59 4.89 13.81 5.61 13.08C6.33 12.35 7.21 11.67 8.16 11.12C9.11 10.57 10.14 10.15 11.13 9.89C12.13 9.63 13.08 9.53 13.9 9.58C14.72 9.63 15.4 9.82 15.86 10.11C16.32 10.39 16.57 10.75 16.57 11.12C16.57 11.49 16.32 11.85 15.86 12.13C15.4 12.42 14.72 12.61 13.9 12.66C13.08 12.71 12.13 12.61 11.13 12.35C10.14 12.09 9.11 11.67 8.16 11.12C7.21 10.57 6.33 9.89 5.61 9.16C4.89 8.43 4.32 7.65 3.96 6.92C3.59 6.18 3.42 5.5 3.43 4.96C3.44 4.42 3.64 4.02 3.96 3.84C4.27 3.65 4.71 3.68 5.19 3.94C5.66 4.2 6.17 4.69 6.62 5.38C7.07 6.06 7.47 6.94 7.74 7.93C8.01 8.92 8.16 10.02 8.16 11.12C8.16 12.22 8.01 13.32 7.74 14.31C7.47 15.3 7.07 16.18 6.62 16.86C6.17 17.55 5.66 18.04 5.19 18.3C4.71 18.56 4.27 18.59 3.96 18.4C3.64 18.22 3.44 17.82 3.43 17.28C3.42 16.74 3.59 16.06 3.96 15.32C4.32 14.59 4.89 13.81 5.61 13.08C6.33 12.35 7.21 11.67 8.16 11.12C9.11 10.57 10.14 10.15 11.13 9.89C12.13 9.63 13.08 9.53 13.9 9.58C14.72 9.63 15.4 9.82 15.86 10.11C16.32 10.39 16.57 10.75 16.57 11.12\" fill=\"currentColor\" stroke=\"none\" fill-rule=\"evenodd\"/>`,\n curveLissajous: `<path d=\"M10 11.12C11.66 12.23 13.32 13.33 14.61 14.33C15.91 15.33 16.84 16.22 17.21 16.91C17.58 17.6 17.39 18.09 16.67 18.33C15.95 18.58 14.71 18.58 13.21 18.33C11.71 18.09 9.97 17.6 8.35 16.91C6.73 16.22 5.25 15.33 4.21 14.33C3.18 13.33 2.6 12.23 2.6 11.12C2.6 10.01 3.18 8.91 4.21 7.91C5.25 6.91 6.73 6.02 8.35 5.33C9.97 4.64 11.71 4.15 13.21 3.91C14.71 3.66 15.95 3.66 16.67 3.91C17.39 4.15 17.58 4.64 17.21 5.33C16.84 6.02 15.91 6.91 14.61 7.91C13.32 8.91 11.66 10.01 10 11.12C8.34 12.23 6.68 13.33 5.39 14.33C4.09 15.33 3.16 16.22 2.79 16.91C2.42 17.6 2.61 18.09 3.33 18.33C4.05 18.58 5.29 18.58 6.79 18.33C8.29 18.09 10.03 17.6 11.65 16.91C13.27 16.22 14.75 15.33 15.79 14.33C16.82 13.33 17.4 12.23 17.4 11.12C17.4 10.01 16.82 8.91 15.79 7.91C14.75 6.91 13.27 6.02 11.65 5.33C10.03 4.64 8.29 4.15 6.79 3.91C5.29 3.66 4.05 3.66 3.33 3.91C2.61 4.15 2.42 4.64 2.79 5.33C3.16 6.02 4.09 6.91 5.39 7.91C6.68 8.91 8.34 10.01 10 11.12\" fill=\"currentColor\" stroke=\"none\" fill-rule=\"evenodd\"/>`,\n curveCycloid: `<path d=\"M2.59 16.47L2.6 15.72C2.6 15.72 2.6 15.49 2.66 15.05C2.71 14.61 2.82 13.98 3.03 13.22C3.23 12.46 3.53 11.59 3.94 10.72C4.36 9.85 4.88 8.98 5.49 8.22C6.11 7.46 6.82 6.83 7.59 6.39C8.36 5.95 9.18 5.72 10 5.72C10.82 5.72 11.64 5.95 12.41 6.39C13.18 6.83 13.89 7.46 14.51 8.22C15.12 8.98 15.64 9.85 16.06 10.72C16.47 11.59 16.77 12.46 16.97 13.22C17.18 13.98 17.29 14.61 17.34 15.05C17.4 15.49 17.4 15.72 17.4 15.72L17.41 16.47L17.41 16.47L2.59 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveSuperellipse: `<path d=\"M17.4 11.12C17.4 14.45 17.38 12.98 17.34 13.46C17.31 13.94 17.25 14.34 17.17 14.69C17.1 15.05 17 15.37 16.89 15.66C16.78 15.94 16.64 16.21 16.49 16.44C16.34 16.68 16.16 16.9 15.97 17.09C15.78 17.28 15.56 17.46 15.32 17.61C15.09 17.76 14.82 17.9 14.54 18.01C14.25 18.12 13.93 18.22 13.57 18.29C13.22 18.37 12.82 18.43 12.34 18.46C11.86 18.5 13.33 18.52 10 18.52C6.67 18.52 8.14 18.5 7.66 18.46C7.18 18.43 6.78 18.37 6.43 18.29C6.07 18.22 5.75 18.12 5.46 18.01C5.18 17.9 4.91 17.76 4.68 17.61C4.44 17.46 4.22 17.28 4.03 17.09C3.84 16.9 3.66 16.68 3.51 16.44C3.36 16.21 3.22 15.94 3.11 15.66C3 15.37 2.9 15.05 2.83 14.69C2.75 14.34 2.69 13.94 2.66 13.46C2.62 12.98 2.6 14.45 2.6 11.12C2.6 7.79 2.62 9.26 2.66 8.78C2.69 8.3 2.75 7.9 2.83 7.55C2.9 7.19 3 6.87 3.11 6.58C3.22 6.3 3.36 6.03 3.51 5.8C3.66 5.56 3.84 5.34 4.03 5.15C4.22 4.96 4.44 4.78 4.68 4.63C4.91 4.48 5.18 4.34 5.46 4.23C5.75 4.12 6.07 4.02 6.43 3.95C6.78 3.87 7.18 3.81 7.66 3.78C8.14 3.74 6.67 3.72 10 3.72C13.33 3.72 11.86 3.74 12.34 3.78C12.82 3.81 13.22 3.87 13.57 3.95C13.93 4.02 14.25 4.12 14.54 4.23C14.82 4.34 15.09 4.48 15.32 4.63C15.56 4.78 15.78 4.96 15.97 5.15C16.16 5.34 16.34 5.56 16.49 5.8C16.64 6.03 16.78 6.3 16.89 6.58C17 6.87 17.1 7.19 17.17 7.55C17.25 7.9 17.31 8.3 17.34 8.78C17.38 9.26 17.4 7.79 17.4 11.12\" fill=\"currentColor\" stroke=\"none\"/>`,\n curveArcsine: `<path d=\"M2.17 16.33L2.6 15.72C2.85 15.38 3.59 14.16 4.08 13.67C4.57 13.18 5.07 13.04 5.56 12.77C6.05 12.49 6.55 12.26 7.04 12.03C7.53 11.8 8.03 11.58 8.52 11.36C9.01 11.14 9.51 10.93 10 10.72C10.49 10.51 10.99 10.3 11.48 10.08C11.97 9.86 12.47 9.64 12.96 9.41C13.45 9.18 13.95 8.95 14.44 8.67C14.93 8.4 15.43 8.26 15.92 7.77C16.41 7.28 17.15 6.06 17.4 5.72L17.83 5.11L17.83 16.47L2.17 16.47Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeTriangle: `<path d=\"M10 3.59L17.4 16.41L2.6 16.41Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeRightTriangle: `<path d=\"M2.6 17.4L2.6 2.6L17.4 17.4Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeSquare: `<path d=\"M2.6 2.6L17.4 2.6L17.4 17.4L2.6 17.4Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeRectangle: `<path d=\"M2.6 5.37L17.4 5.37L17.4 14.63L2.6 14.63Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeDiamond: `<path d=\"M10 2.6L17.4 10L10 17.4L2.6 10Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeParallelogram: `<path d=\"M5.35 4.71L17.4 4.71L14.65 15.29L2.6 15.29Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeTrapezoid: `<path d=\"M5.35 4.71L14.65 4.71L17.4 15.29L2.6 15.29Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeKite: `<path d=\"M10 2.6L16.43 7.75L10 17.4L3.57 7.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapePentagon: `<path d=\"M10 2.96L17.4 8.34L14.57 17.04L5.43 17.04L2.6 8.34Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeHexagon: `<path d=\"M10 2.6L16.41 6.3L16.41 13.7L10 17.4L3.59 13.7L3.59 6.3Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeHexagonFlat: `<path d=\"M17.4 10L13.7 16.41L6.3 16.41L2.6 10L6.3 3.59L13.7 3.59Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeHeptagon: `<path d=\"M10 2.79L15.93 5.64L17.4 12.06L13.29 17.21L6.71 17.21L2.6 12.06L4.07 5.64Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeOctagon: `<path d=\"M13.07 2.6L17.4 6.93L17.4 13.07L13.07 17.4L6.93 17.4L2.6 13.07L2.6 6.93L6.93 2.6Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeDecagon: `<path d=\"M10 2.6L14.35 4.01L17.04 7.71L17.04 12.29L14.35 15.99L10 17.4L5.65 15.99L2.96 12.29L2.96 7.71L5.65 4.01Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeDodecagon: `<path d=\"M10 2.6L13.7 3.59L16.41 6.3L17.4 10L16.41 13.7L13.7 16.41L10 17.4L6.3 16.41L3.59 13.7L2.6 10L3.59 6.3L6.3 3.59Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeCross: `<path d=\"M7.63 2.6L12.37 2.6L12.37 7.63L17.4 7.63L17.4 12.37L12.37 12.37L12.37 17.4L7.63 17.4L7.63 12.37L2.6 12.37L2.6 7.63L7.63 7.63Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeLShape: `<path d=\"M2.6 2.6L8.82 2.6L8.82 11.78L17.4 11.78L17.4 17.4L2.6 17.4Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeChevron: `<path d=\"M2.6 4.38L10 10.59L17.4 4.38L17.4 9.41L10 15.62L2.6 9.41Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeStar: `<path d=\"M10 2.96L12.2 7.72L17.4 8.34L13.55 11.9L14.57 17.04L10 14.48L5.43 17.04L6.45 11.9L2.6 8.34L7.8 7.72Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeStar4: `<path d=\"M10 2.6L11.99 8.01L17.4 10L11.99 11.99L10 17.4L8.01 11.99L2.6 10L8.01 8.01Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeStar6: `<path d=\"M10 2.6L12.07 6.41L16.41 6.3L14.14 10L16.41 13.7L12.07 13.59L10 17.4L7.93 13.59L3.59 13.7L5.86 10L3.59 6.3L7.93 6.41Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeStar8: `<path d=\"M10 2.6L11.76 5.76L15.23 4.77L14.24 8.24L17.4 10L14.24 11.76L15.23 15.23L11.76 14.24L10 17.4L8.24 14.24L4.77 15.23L5.76 11.76L2.6 10L5.76 8.24L4.77 4.77L8.24 5.76Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapePentagram: `<path d=\"M10 2.96L14.57 17.04L2.6 8.34L17.4 8.34L5.43 17.04Z\" fill=\"currentColor\" stroke=\"none\" fill-rule=\"evenodd\"/>`,\n shapeCircle: `<path d=\"M2.6 10A7.4 7.4 0 1 1 17.4 10A7.4 7.4 0 1 1 2.6 10Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeEllipse: `<path d=\"M2.6 10A7.4 4.74 0 1 1 17.4 10A7.4 4.74 0 1 1 2.6 10Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeSemicircle: `<path d=\"M2.6 13.7A7.4 7.4 0 0 1 17.4 13.7Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeQuarter: `<path d=\"M2.6 17.4V2.6A14.8 14.8 0 0 1 17.4 17.4Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeStadium: `<path d=\"M6.74 5.86H13.26A4.14 4.14 0 0 1 13.26 14.14H6.74A4.14 4.14 0 0 1 6.74 5.86Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeRoundedSquare: `<path d=\"M6 2.6H14A3.4 3.4 0 0 1 17.4 6V14A3.4 3.4 0 0 1 14 17.4H6A3.4 3.4 0 0 1 2.6 14V6A3.4 3.4 0 0 1 6 2.6Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeRing: `<path d=\"M2.6 10A7.4 7.4 0 1 1 17.4 10A7.4 7.4 0 1 1 2.6 10ZM6.15 10A3.85 3.85 0 1 0 13.85 10A3.85 3.85 0 1 0 6.15 10Z\" fill=\"currentColor\" stroke=\"none\" fill-rule=\"evenodd\"/>`,\n shapeCrescent: `<path d=\"M6.3 2.6A7.4 7.4 0 1 1 6.3 17.4A8.51 8.51 0 0 0 6.3 2.6Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeLens: `<path d=\"M10 2.6A9.99 9.99 0 0 1 10 17.4A9.99 9.99 0 0 1 10 2.6Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeSector: `<path d=\"M10 14.63L2.6 9.06A9.27 9.27 0 0 1 17.4 9.06Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeSegment: `<path d=\"M2.6 12.59A7.88 7.88 0 0 1 17.4 12.59Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeArch: `<path d=\"M2.6 17.4V10A7.4 7.4 0 0 1 17.4 10V17.4Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeTeardrop: `<path d=\"M10 2.6L5.9 10.75A4.59 4.59 0 1 0 14.1 10.75Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeEgg: `<path d=\"M10 2.6C14.59 2.6 16.07 9.26 16.07 12.22C16.07 15.77 13.26 17.4 10 17.4C6.74 17.4 3.93 15.77 3.93 12.22C3.93 9.26 5.41 2.6 10 2.6Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeHeart: `<path d=\"M10 6.51L10.01 6.42L10.05 6.16L10.18 5.76L10.41 5.26L10.78 4.72L11.27 4.2L11.89 3.76L12.62 3.45L13.42 3.31L14.25 3.36L15.08 3.61L15.84 4.03L16.48 4.62L16.98 5.33L17.29 6.12L17.4 6.97L17.29 7.84L16.98 8.7L16.48 9.54L15.84 10.34L15.08 11.12L14.25 11.86L13.42 12.57L12.62 13.27L11.89 13.93L11.27 14.56L10.78 15.14L10.41 15.66L10.18 16.09L10.05 16.41L10.01 16.62L10 16.69L9.99 16.62L9.95 16.41L9.82 16.09L9.59 15.66L9.22 15.14L8.73 14.56L8.11 13.93L7.38 13.27L6.58 12.57L5.75 11.86L4.92 11.12L4.16 10.34L3.52 9.54L3.02 8.7L2.71 7.84L2.6 6.97L2.71 6.12L3.02 5.33L3.52 4.62L4.16 4.03L4.92 3.61L5.75 3.36L6.58 3.31L7.38 3.45L8.11 3.76L8.73 4.2L9.22 4.72L9.59 5.26L9.82 5.76L9.95 6.16L9.99 6.42L10 6.51Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n shapeAngle: `<path d=\"M2.6 16.34L17.4 16.34L14.8 3.66Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n d4: `<path d=\"M2.6 14.47L10 3.31L17.4 14.47L10 16.69Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n d6: `<path d=\"M3.59 6.3L10 2.6L16.41 6.3L16.41 13.7L10 17.4L3.59 13.7Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n d8: `<path d=\"M2.85 9.6L10 2.6L17.15 10.4L10 17.4Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n d12: `<path d=\"M2.96 7.71L5.65 4.01L10 2.6L14.35 4.01L17.04 7.71L17.04 12.29L14.35 15.99L10 17.4L5.65 15.99L2.96 12.29Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n d20: `<path d=\"M3.59 13.7L3.59 6.3L10 2.6L16.41 6.3L16.41 13.7L10 17.4Z\" fill=\"currentColor\" stroke=\"none\"/>`,\n} as const;\n\n/** The glyphs `<Icon filled>` can shade. */\nexport type FillableIconName = keyof typeof ICON_FILLS;\n\n/** Every glyph in `ICON_PATHS`, once, sorted into the families it was drawn in. */\nexport const ICON_GROUPS: readonly { label: string; names: readonly IconName[] }[] = [\n {\n label: 'View and lifecycle',\n names: [\n 'clone',\n 'reset',\n 'close',\n 'export',\n 'zoomIn',\n 'zoomOut',\n 'fit',\n 'pan',\n ],\n },\n {\n label: 'Actions',\n names: [\n 'filter',\n 'add',\n 'remove',\n 'delete',\n 'sort',\n 'undo',\n 'redo',\n 'snapshot',\n ],\n },\n {\n label: 'Character styling',\n names: [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'overline',\n 'superscript',\n 'subscript',\n 'code',\n ],\n },\n {\n label: 'Paragraph alignment',\n names: [\n 'textAlignLeft',\n 'textAlignCenter',\n 'textAlignRight',\n 'textAlignTop',\n 'textAlignMiddle',\n 'textAlignBottom',\n ],\n },\n {\n label: 'Playback',\n names: [\n 'play',\n 'pause',\n 'stop',\n 'stepBack',\n 'stepForward',\n ],\n },\n {\n label: 'State',\n names: [\n 'lock',\n 'unlock',\n 'visible',\n 'hidden',\n 'pin',\n 'info',\n 'warning',\n 'error',\n 'busy',\n 'check',\n 'modeLight',\n 'modeDark',\n 'modeAuto',\n ],\n },\n {\n label: 'Badge status',\n names: [\n 'statusSuccess',\n 'statusAccent',\n 'statusNeutral',\n 'statusMuted',\n ],\n },\n {\n label: 'Instrument',\n names: [\n 'crosshair',\n 'fullscreen',\n 'compare',\n 'search',\n 'loupe',\n 'layers',\n 'page',\n 'link',\n 'collapse',\n 'expand',\n 'chevron',\n 'tune',\n 'grid',\n 'snap',\n 'measure',\n 'randomize',\n 'refresh',\n ],\n },\n {\n label: 'Stroke cap, join, align and dash',\n names: [\n 'strokeWidth',\n 'strokeCap',\n 'strokeJoin',\n 'strokeAlign',\n 'capButt',\n 'capRound',\n 'capSquare',\n 'joinMiter',\n 'joinRound',\n 'joinBevel',\n 'alignInner',\n 'alignCenter',\n 'alignOuter',\n 'dashSolid',\n 'dashDashed',\n 'dashDotted',\n 'dashCustom',\n 'paintSolid',\n 'paintLinear',\n 'paintRadial',\n 'paintConic',\n 'paintMesh',\n 'paintPattern',\n 'paintNone',\n ],\n },\n {\n label: 'Workspace layout',\n names: [\n 'layoutRows',\n 'layoutColumns',\n 'layoutGrid',\n ],\n },\n {\n label: 'Arc profiles',\n names: [\n 'arcStraight',\n 'arcParabola',\n 'arcCircle',\n 'arcSine',\n 'arcBump',\n 'arcPlateau',\n 'arcBell',\n 'arcEllipse',\n 'arcLob',\n 'arcDive',\n 'arcTriangle',\n 'arcSquare',\n 'arcSawtooth',\n 'arcStair',\n 'arcZigzag',\n 'arcRipple',\n 'arcHop',\n 'arcCusp',\n ],\n },\n {\n label: 'Curves',\n names: [\n 'curveLine',\n 'curveParabola',\n 'curveCircle',\n 'curveEllipse',\n 'curveHyperbola',\n 'curveHyperbolaPair',\n 'curveCubic',\n 'curveQuartic',\n 'curveSqrt',\n 'curveReciprocal',\n 'curveAbs',\n 'curveCusp',\n 'curveExponential',\n 'curveLogarithm',\n 'curveDecay',\n 'curveSigmoid',\n 'curveSoftplus',\n 'curveRelu',\n 'curveStep',\n 'curvePowerLaw',\n 'curveCatenary',\n 'curveBathtub',\n 'curveHockeyStick',\n 'curveSine',\n 'curveCosine',\n 'curveRipple',\n 'curveTriangleWave',\n 'curveSquareWave',\n 'curveSawtooth',\n 'curveStair',\n 'curvePulseTrain',\n 'curveDamped',\n 'curveChirp',\n 'curveBeat',\n 'curveGaussian',\n 'curveBimodal',\n 'curveSkewed',\n 'curveLorentzian',\n 'curveOgive',\n 'curveUniform',\n 'curveSinc',\n 'curveImpulse',\n 'curveEaseIn',\n 'curveEaseOut',\n 'curveEaseInOut',\n 'curveOvershoot',\n 'curveBounce',\n 'curveElastic',\n 'curveLemniscate',\n 'curveCardioid',\n 'curveAstroid',\n 'curveRose',\n 'curveSpiral',\n 'curveLissajous',\n 'curveCycloid',\n 'curveSuperellipse',\n 'curveTangent',\n 'curveCotangent',\n 'curveSecant',\n 'curveCosecant',\n 'curveArcsine',\n 'curveAsymptote',\n ],\n },\n {\n label: 'Shapes',\n names: [\n 'shapeTriangle',\n 'shapeRightTriangle',\n 'shapeSquare',\n 'shapeRectangle',\n 'shapeDiamond',\n 'shapeParallelogram',\n 'shapeTrapezoid',\n 'shapeKite',\n 'shapePentagon',\n 'shapeHexagon',\n 'shapeHexagonFlat',\n 'shapeHeptagon',\n 'shapeOctagon',\n 'shapeDecagon',\n 'shapeDodecagon',\n 'shapeCross',\n 'shapeLShape',\n 'shapeChevron',\n 'shapeStar',\n 'shapeStar4',\n 'shapeStar6',\n 'shapeStar8',\n 'shapePentagram',\n 'shapeCircle',\n 'shapeEllipse',\n 'shapeSemicircle',\n 'shapeQuarter',\n 'shapeStadium',\n 'shapeRoundedSquare',\n 'shapeRing',\n 'shapeCrescent',\n 'shapeLens',\n 'shapeSector',\n 'shapeSegment',\n 'shapeArch',\n 'shapeTeardrop',\n 'shapeEgg',\n 'shapeHeart',\n 'shapeAngle',\n ],\n },\n {\n label: 'Platonic solids',\n names: [\n 'd4',\n 'd6',\n 'd8',\n 'd12',\n 'd20',\n ],\n },\n];\n","import type { SVGProps } from 'react';\nimport { ICON_FILLS, ICON_PATHS, type FillableIconName, type IconName } from './paths';\n\n/** Shared prop shape for the icon set. Color comes from the surrounding\n * `color` CSS property — every glyph strokes in `currentColor`. */\nexport interface IconProps {\n className?: string;\n /** Rendered pixel size, applied to both width and height. Defaults to 20. */\n size?: number;\n /** Accessible name. Omit inside a button that already labels itself; the\n * glyph is then `aria-hidden`. */\n label?: string;\n /** Shade the region the glyph encloses, in the same `currentColor` at\n * `fillOpacity`. Ignored by a glyph with no enclosed region — a spiral, or a\n * function with poles — so a caller can set it across a set without checking. */\n filled?: boolean;\n /** Tint strength for `filled`. */\n fillOpacity?: number;\n}\n\n/** True when `filled` will shade this glyph. */\nexport const isFillable = (name: IconName): name is FillableIconName => name in ICON_FILLS;\n\nconst SVG_BASE: SVGProps<SVGSVGElement> = {\n viewBox: '0 0 20 20',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 1.5,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n\n// React 19 rewrites innerHTML whenever this object's identity changes, and a\n// rewrite during a press removes the node pointerdown hit, so no click follows.\nconst markup = new Map<string, { __html: string }>();\nconst markupFor = (html: string) => {\n let m = markup.get(html);\n if (!m) markup.set(html, (m = { __html: html }));\n return m;\n};\n\n/** Renders one glyph by name. The named components below are the usual way\n * in; reach for this when the glyph is chosen at runtime. */\nexport function Icon({\n name,\n className,\n size = 20,\n label,\n filled = false,\n fillOpacity = 0.16,\n}: IconProps & { name: IconName }) {\n const shade = filled && isFillable(name) ? ICON_FILLS[name] : '';\n return (\n <svg\n {...SVG_BASE}\n className={className}\n width={size}\n height={size}\n // The shade is drawn first so the stroke sits on top of it, and the tint\n // rides on the root: the stroked paths inherit `fill=\"none\"`, so a fill\n // opacity here reaches only the shade.\n fillOpacity={shade ? fillOpacity : undefined}\n role={label ? 'img' : undefined}\n aria-label={label}\n aria-hidden={label ? undefined : true}\n // Glyph bodies are generated from scripts/icons/ and contain no\n // interpolated input.\n dangerouslySetInnerHTML={markupFor(shade + ICON_PATHS[name])}\n />\n );\n}\n"],"mappings":"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EACP,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA;EACE,OAAO;EACP,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA;EACE,OAAO;EACP,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA;EACE,OAAO;EACP,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA;EACE,OAAO;EACP,OAAO;GACL;GACA;GACA;GACA;GACA;EACF;CACF;CACA;EACE,OAAO;EACP,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA;EACE,OAAO;EACP,OAAO;GACL;GACA;GACA;GACA;EACF;CACF;CACA;EACE,OAAO;EACP,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA;EACE,OAAO;EACP,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA;EACE,OAAO;EACP,OAAO;GACL;GACA;GACA;EACF;CACF;CACA;EACE,OAAO;EACP,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA;EACE,OAAO;EACP,OAAO,40BA+DP;CACF;CACA;EACE,OAAO;EACP,OAAO,yhBAwCP;CACF;CACA;EACE,OAAO;EACP,OAAO;GACL;GACA;GACA;GACA;GACA;EACF;CACF;AACF,GC/oBaC,KAAc,MAA6CC,KAAQH,GAE1EI,IAAoC;CACxC,SAAS;CACT,MAAM;CACN,QAAQ;CACR,aAAa;CACb,eAAe;CACf,gBAAgB;AAClB,GAIMC,oBAAS,IAAI,IAAgC,GAC7CC,KAAa,MAAiB;CAClC,IAAIC,IAAIF,EAAO,IAAIG,CAAI;CAEvB,OADKD,KAAGF,EAAO,IAAIG,GAAO,IAAI,EAAE,QAAQA,EAAK,CAAE,GACxCD;AACT;AAIA,SAAgBE,EAAK,EACnB,SACA,cACA,UAAO,IACP,UACA,YAAS,IACT,iBAAc,OACmB;CACjC,IAAMC,IAAQC,KAAUT,EAAWC,CAAI,IAAIH,EAAWG,KAAQ;CAC9D,OACE,kBAAC,OAAD;EACE,GAAIC;EACO;EACX,OAAOQ;EACP,QAAQA;EAIR,aAAaF,IAAQG,IAAc,KAAA;EACnC,MAAMC,IAAQ,QAAQ,KAAA;EACtB,cAAYA;EACZ,eAAa,MAAQ,KAAA;EAGrB,yBAAyBR,EAAUI,IAAQZ,EAAWK,EAAK;CAC5D,CAAA;AAEL"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as t } from "react";
|
|
3
3
|
var n = {
|
|
4
|
-
range: "
|
|
5
|
-
alpha: "
|
|
4
|
+
range: "_range_36g90_10",
|
|
5
|
+
alpha: "_alpha_36g90_79"
|
|
6
6
|
}, r = { range: "_range_1on6e_4" }, i = t(function(t, i) {
|
|
7
7
|
let { value: a, min: o = 0, max: s = 100, className: c, style: l, ...u } = t, d = s - o, f = d > 0 ? (Math.min(Math.max(a, o), s) - o) / d * 100 : 0;
|
|
8
8
|
return /* @__PURE__ */ e("input", {
|
|
@@ -26,4 +26,4 @@ var n = {
|
|
|
26
26
|
//#endregion
|
|
27
27
|
export { n, i as t };
|
|
28
28
|
|
|
29
|
-
//# sourceMappingURL=InlineRange-
|
|
29
|
+
//# sourceMappingURL=InlineRange-P01ABSzo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineRange-P01ABSzo.js","names":["range","shared","s","range_module_default","InlineRange_module_default","InlineRange","forwardRef","rest","props","span","max","min","filled","value","className","style"],"sources":["../../src/components/range.module.css","../../src/components/InlineRange/InlineRange.module.css","../../src/components/InlineRange/InlineRange.tsx"],"sourcesContent":["/* The one skin for a native <input type=\"range\">. Imported by InlineRange and\n by the property rows, which render the same DOM and used to carry three\n independently authored copies of these rules. labkit's theme/base.less\n extends it onto a bare range under `.lk-root`, so it is the only copy.\n\n The track is painted here rather than left to `accent-color`: a UA fills the\n left of the track with the accent but draws the remainder near-white on a\n dark surface whatever `color-scheme` says, and overriding the track's\n background removes the accent fill instead of recoloring the remainder. */\n.range {\n appearance: none;\n -webkit-appearance: none;\n width: 100%;\n min-inline-size: 48px;\n /* The box is taller than the track so the thumb has room to spill; a surface\n where the element itself IS the track overrides this. */\n height: var(--wzl-range-box-h, 12px);\n margin: 0;\n padding: 0;\n /* Transparent so the track pseudo-element shows; a surface that paints the element itself overrides it. */\n background: var(--wzl-range-bg, transparent);\n cursor: pointer;\n}\n\n.range::-webkit-slider-runnable-track {\n height: var(--wzl-slider-track-h);\n border-radius: var(--wzl-radius-sm);\n background: var(\n --wzl-range-track-bg,\n color-mix(in srgb, var(--wzl-accent) var(--wzl-slider-track-mix), transparent)\n );\n}\n\n.range::-moz-range-track {\n height: var(--wzl-slider-track-h);\n border-radius: var(--wzl-radius-sm);\n background: var(\n --wzl-range-track-bg,\n color-mix(in srgb, var(--wzl-accent) var(--wzl-slider-track-mix), transparent)\n );\n}\n\n.range::-webkit-slider-thumb {\n appearance: none;\n -webkit-appearance: none;\n width: var(--wzl-slider-thumb-size);\n height: var(--wzl-slider-thumb-size);\n border: none;\n border-radius: 50%;\n background: color-mix(in srgb, var(--wzl-accent) var(--wzl-slider-thumb-mix), transparent);\n /* WebKit and Blink hang the thumb from the track's top edge. A transform, not\n margin-top: Blink rounds a thumb margin to a whole CSS pixel, which leaves an\n odd track/thumb gap half a pixel off center at every DPR. */\n transform: translateY(calc((var(--wzl-slider-track-h) - var(--wzl-slider-thumb-size)) / 2));\n}\n\n.range::-moz-range-thumb {\n width: var(--wzl-slider-thumb-size);\n height: var(--wzl-slider-thumb-size);\n border: none;\n border-radius: 50%;\n background: color-mix(in srgb, var(--wzl-accent) var(--wzl-slider-thumb-mix), transparent);\n}\n\n/* :where() keeps these at the specificity of `.range` alone, which is what a bare\n labkit range extending this skin needs to stay at zero. */\n.range:where(:focus-visible) {\n outline: 2px solid var(--wzl-focus-ring);\n outline-offset: 2px;\n}\n\n.range:where(:disabled) {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n/* Alpha variant: a fainter track, used where the row already carries a color\n swatch and the slider must not compete with it. */\n.alpha::-webkit-slider-runnable-track {\n background: var(--wzl-range-track-bg, color-mix(in srgb, var(--wzl-accent) 10%, transparent));\n}\n\n.alpha::-moz-range-track {\n background: var(--wzl-range-track-bg, color-mix(in srgb, var(--wzl-accent) 10%, transparent));\n}\n\n/* A dead alpha track keeps its groove but loses its thumb, so the affordance\n reads inert rather than merely dimmed. Keyed off `:disabled`, which a color field\n already sets on the input — not off a class on the row. One rule per engine:\n Blink and WebKit drop a whole selector list that names a -moz- pseudo-element. */\n.alpha:disabled::-webkit-slider-runnable-track {\n background: color-mix(in srgb, var(--wzl-fg) 5%, transparent);\n}\n\n.alpha:disabled::-moz-range-track {\n background: color-mix(in srgb, var(--wzl-fg) 5%, transparent);\n}\n\n.alpha:disabled::-webkit-slider-thumb {\n background: transparent;\n}\n\n.alpha:disabled::-moz-range-thumb {\n background: transparent;\n}\n","/* Track and thumb come from the shared range skin. What is local to\n InlineRange is the filled-to-N% paint, which no other surface has:\n `--slider-fill` carries the value, since no static rule expresses it. */\n.range {\n flex: 1;\n --wzl-range-bg: linear-gradient(\n to right,\n var(--wzl-accent) 0 var(--slider-fill, 0%),\n var(--wzl-border-strong) var(--slider-fill, 0%) 100%\n );\n --wzl-range-box-h: var(--wzl-slider-track-h);\n /* The gradient above IS the track, so the shared track paint must not land on top of it. */\n --wzl-range-track-bg: transparent;\n border-radius: var(--wzl-radius-pill);\n}\n","import { type CSSProperties, forwardRef, type InputHTMLAttributes, type Ref } from 'react';\nimport shared from '../range.module.css';\nimport s from './InlineRange.module.css';\n\n/** Props for {@link InlineRange} — a range input's, with `value` required. */\nexport type InlineRangeProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'type' | 'value' | 'min' | 'max'\n> & {\n value: number;\n min?: number;\n max?: number;\n};\n\n/**\n * Compact range input for a property row: one track, no label, no output.\n *\n * Distinct from the kit's other two — `Slider` is shaped for canvas scrubbing,\n * and `RangeSlider` is a full-width labelled form control on React Aria. This\n * one exists to sit inline beside a swatch or a readout, and to own the track\n * painting both of those surfaces need.\n */\nexport const InlineRange = forwardRef(function InlineRange(\n props: InlineRangeProps,\n ref: Ref<HTMLInputElement>,\n) {\n const { value, min = 0, max = 100, className, style, ...rest } = props;\n const span = max - min;\n const filled = span > 0 ? ((Math.min(Math.max(value, min), max) - min) / span) * 100 : 0;\n return (\n <input\n {...rest}\n ref={ref}\n type=\"range\"\n value={value}\n min={min}\n max={max}\n className={[shared.range, s.range, className].filter(Boolean).join(' ')}\n style={{ ['--slider-fill' as string]: `${filled}%`, ...style } as CSSProperties}\n />\n );\n});\n"],"mappings":";;;;;oCEsBaK,IAAcC,EAAW,SACpC,GACA,GACA;CACA,IAAM,EAAE,UAAO,SAAM,GAAG,SAAM,KAAK,cAAW,UAAO,GAAGC,MAASC,GAC3DC,IAAOC,IAAMC,GACbC,IAASH,IAAO,KAAM,KAAK,IAAI,KAAK,IAAII,GAAOF,CAAG,GAAGD,CAAG,IAAIC,KAAOF,IAAQ,MAAM;CACvF,OACE,kBAAC,SAAD;EACE,GAAIF;EACC;EACL,MAAK;EACE;EACF;EACA;EACL,WAAW;GAACN,EAAO;GAAOC,EAAE;GAAOY;EAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;EACtE,OAAO;GAAG,iBAA4B,GAAGF,EAAO;GAAI,GAAGG;EAAM;CAC9D,CAAA;AAEL,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as e } from "./Field
|
|
1
|
+
import { n as e } from "./Field--onYxXTF.js";
|
|
2
2
|
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
3
|
import { forwardRef as r } from "react";
|
|
4
4
|
import { FieldError as i, Input as a, Label as o, Text as s, TextField as c } from "react-aria-components";
|
|
@@ -57,4 +57,4 @@ var l = {
|
|
|
57
57
|
//#endregion
|
|
58
58
|
export { u as t };
|
|
59
59
|
|
|
60
|
-
//# sourceMappingURL=Input-
|
|
60
|
+
//# sourceMappingURL=Input-CHmkfYaD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input-CHmkfYaD.js","names":["Input","s","RACInput","fieldClasses","Input_module_default","Input$1","forwardRef","textFieldProps","props","TextField","orientation","className","label","Label","leadingAdornment","Input","trailingAdornment","description","Text","FieldError","errorMessage"],"sources":["../../src/components/Input/Input.module.css","../../src/components/Input/Input.tsx"],"sourcesContent":[".field {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n gap: var(--wzl-space-2);\n}\n\n/* `orientation='row'`: the label keeps its own width and the field takes the\n rest; description and error wrap onto a line of their own. */\n.field.row {\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n column-gap: var(--wzl-space-4);\n row-gap: var(--wzl-space-2);\n}\n.field.row .label { flex: 0 0 auto; }\n.field.row .frame { flex: 1 1 0; min-width: 0; }\n.field.row .below { flex-basis: 100%; }\n\n.frame {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-3);\n height: var(--wzl-field-h, var(--wzl-control-h));\n padding: 0 var(--wzl-field-pad-x);\n background: var(--wzl-input-surface, var(--wzl-surface-sunken));\n border: 1px solid var(--wzl-border);\n border-radius: var(--wzl-radius-sm);\n color: var(--wzl-fg);\n font-family: var(--wzl-font-ui);\n font-size: var(--wzl-font-size);\n line-height: 1;\n transition: border-color var(--wzl-motion-fast), box-shadow var(--wzl-motion-fast);\n}\n\n.frame:focus-within {\n border-color: var(--wzl-focus-ring);\n box-shadow: 0 0 0 1px var(--wzl-focus-ring);\n}\n\n.field[data-invalid] .frame {\n border-color: var(--wzl-danger);\n}\n\n.field[data-disabled] .frame {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.frame input {\n flex: 1;\n min-width: 0;\n background: transparent;\n border: none;\n outline: none;\n color: inherit;\n font: inherit;\n padding: 0;\n}\n\n.frame input::placeholder {\n color: var(--wzl-fg-subtle);\n}\n\n.adornment {\n display: inline-flex;\n align-items: center;\n color: var(--wzl-fg-subtle);\n font-size: var(--wzl-font-size-sm);\n pointer-events: none;\n}\n","import { forwardRef, type ReactNode, type Ref } from 'react';\nimport {\n TextField,\n Label,\n Input as RACInput,\n Text,\n FieldError,\n type TextFieldProps as RACTextFieldProps,\n type ValidationResult,\n} from 'react-aria-components';\nimport { fieldClasses, type FieldOrientation } from '../Field/Field';\nimport s from './Input.module.css';\n\n/** Props for {@link Input}, on top of React Aria's `TextField` props. */\nexport type InputProps = Omit<RACTextFieldProps, 'children' | 'className'> & {\n label?: ReactNode;\n /**\n * `'stacked'` (the default) puts the label above the field; `'row'` sets it\n * beside the field at its own width, with any description or error on a\n * line below. Same vocabulary as {@link Field}'s `orientation`.\n */\n orientation?: FieldOrientation;\n description?: ReactNode;\n errorMessage?: ReactNode | ((v: ValidationResult) => ReactNode);\n placeholder?: string;\n leadingAdornment?: ReactNode;\n trailingAdornment?: ReactNode;\n className?: string;\n};\n\n/**\n * Single-line text input wrapping React Aria's TextField. Supplies a\n * default skin against the `--wzl-*` token system, and exposes the\n * familiar label / description / errorMessage / adornment slot shape.\n *\n * `ref` forwards to the underlying `<input>`.\n */\nexport const Input = forwardRef(function Input(\n props: InputProps,\n ref: Ref<HTMLInputElement>,\n) {\n const {\n label,\n orientation = 'stacked',\n description,\n errorMessage,\n placeholder,\n leadingAdornment,\n trailingAdornment,\n className,\n ...textFieldProps\n } = props;\n\n return (\n <TextField\n {...textFieldProps}\n className={[\n s.field,\n fieldClasses.root,\n orientation === 'row' && fieldClasses.row,\n orientation === 'row' && s.row,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {label !== undefined && <Label className={`${fieldClasses.label} ${s.label}`}>{label}</Label>}\n <div className={s.frame}>\n {leadingAdornment !== undefined && <span className={s.adornment}>{leadingAdornment}</span>}\n <RACInput ref={ref} placeholder={placeholder} />\n {trailingAdornment !== undefined && <span className={s.adornment}>{trailingAdornment}</span>}\n </div>\n {description !== undefined && (\n <Text slot=\"description\" className={`${fieldClasses.hint} ${s.below}`}>\n {description}\n </Text>\n )}\n <FieldError className={`${fieldClasses.error} ${s.below}`}>{errorMessage}</FieldError>\n </TextField>\n );\n});\n"],"mappings":";;;;;;;;;;;GCqCaA,IAAQM,EAAW,SAC9B,GACA,GACA;CACA,IAAM,EACJ,UACA,iBAAc,WACd,gBACA,iBACA,gBACA,qBACA,sBACA,cACA,GAAGC,MACDC;CAEJ,OACE,kBAACC,GAAD;EACE,GAAIF;EACJ,WAAW;GACTN,EAAE;GACFE,EAAa;GACbO,MAAgB,SAASP,EAAa;GACtCO,MAAgB,SAAST,EAAE;GAC3BU;EACF,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;EAVb,UAAA;GAYGC,MAAU,KAAA,KAAa,kBAACC,GAAD;IAAO,WAAW,GAAGV,EAAa,MAAM,GAAGF,EAAE;IAAU,UAAAW;GAAa,CAAA;GAC5F,kBAAC,OAAD;IAAK,WAAWX,EAAE;IAAlB,UAAA;KACGa,MAAqB,KAAA,KAAa,kBAAC,QAAD;MAAM,WAAWb,EAAE;MAAY,UAAAa;KAAuB,CAAA;KACzF,kBAACZ,GAAD;MAAe;MAAkB;KAAc,CAAA;KAC9Cc,MAAsB,KAAA,KAAa,kBAAC,QAAD;MAAM,WAAWf,EAAE;MAAY,UAAAe;KAAwB,CAAA;IACxF;;GACJC,MAAgB,KAAA,KACf,kBAACC,GAAD;IAAM,MAAK;IAAc,WAAW,GAAGf,EAAa,KAAK,GAAGF,EAAE;IAC3D,UAAAgB;GACG,CAAA;GAER,kBAACE,GAAD;IAAY,WAAW,GAAGhB,EAAa,MAAM,GAAGF,EAAE;IAAU,UAAAmB;GAAyB,CAAA;EAC5E;;AAEf,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as e, t } from "./interactiveTarget-
|
|
2
|
-
import { t as n } from "./DragGhost-
|
|
3
|
-
import { t as r } from "./ItemList.module-
|
|
1
|
+
import { n as e, t } from "./interactiveTarget-BNZmTow2.js";
|
|
2
|
+
import { t as n } from "./DragGhost-B5_hb9W9.js";
|
|
3
|
+
import { t as r } from "./ItemList.module-BSpCSxan.js";
|
|
4
4
|
import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
5
5
|
import { forwardRef as s, useCallback as c, useLayoutEffect as l, useRef as u, useState as d } from "react";
|
|
6
6
|
//#region src/components/ItemList/ItemList.tsx
|
|
@@ -56,7 +56,7 @@ var f = {
|
|
|
56
56
|
let a = j.current.get(e.id);
|
|
57
57
|
if (!a) return;
|
|
58
58
|
let o = i.target === a, c = E === "grid" ? i.currentTarget.querySelector(`.${r.trailing}`) : null;
|
|
59
|
-
if (
|
|
59
|
+
if (o || c?.contains(i.target)) switch (i.key) {
|
|
60
60
|
case "ArrowDown":
|
|
61
61
|
case "ArrowUp": {
|
|
62
62
|
i.preventDefault();
|
|
@@ -89,7 +89,6 @@ var f = {
|
|
|
89
89
|
i.key === "ArrowRight" ? e[n + 1]?.focus() : i.key === "ArrowLeft" && n > 0 ? e[n - 1]?.focus() : a.focus();
|
|
90
90
|
return;
|
|
91
91
|
}
|
|
92
|
-
default:
|
|
93
92
|
}
|
|
94
93
|
}, U = (t, n) => (r) => {
|
|
95
94
|
t.rowProps?.onClick?.(r), !(r.defaultPrevented || e(r.target, r.currentTarget)) && (F.current = t.id, v?.(t.id, n, m(r)));
|
|
@@ -103,7 +102,7 @@ var f = {
|
|
|
103
102
|
ref: A,
|
|
104
103
|
...C,
|
|
105
104
|
role: K.container,
|
|
106
|
-
"aria-multiselectable": _ === "multi" && E !== "list"
|
|
105
|
+
"aria-multiselectable": _ === "multi" && E !== "list" || void 0,
|
|
107
106
|
children: [
|
|
108
107
|
S,
|
|
109
108
|
w && O ? /* @__PURE__ */ a(n, {
|
|
@@ -172,4 +171,4 @@ function h(e, t, n) {
|
|
|
172
171
|
//#endregion
|
|
173
172
|
export { p as t };
|
|
174
173
|
|
|
175
|
-
//# sourceMappingURL=ItemList-
|
|
174
|
+
//# sourceMappingURL=ItemList-Cm-HUWCi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemList-Cm-HUWCi.js","names":["s","_Fragment","isInControlWithin","DragGhost","ItemList_module_default","ROLES","ItemList","forwardRef","mode","rows","r","onActivate","selection","interactive","container","setContainer","useState","setRefs","useCallback","el","ref","targets","useRef","focusId","setFocusId","pendingFocus","anchor","extending","stopId","useLayoutEffect","id","target","CONTROL_SELECTOR","c","cls","className","containerProps","empty","focusRow","row","index","ranges","onSelectRange","moveTo","to","extend","at","from","onKeyDown","e","onTarget","controlCell","delta","onNudge","i","modsOf","controls","onClick","onFocus","targetRef","roles","overlay","ghost","tabIndex","content","Fragment","dropSide","dropIndex","count"],"sources":["../../src/components/ItemList/ItemList.tsx"],"sourcesContent":["/**\n * The row chrome behind a sidebar list — layers, history, anything that is a\n * flat column of selectable rows in a panel.\n *\n * It owns the container, the row box, the empty state, the list's semantics\n * and its keyboard; what a row *means* stays with the consumer. History dims\n * its redo entries and rules a line under the current one; a layer list drags\n * to reorder and leads each row with a swatch. Both reach that through\n * `className` and `rowProps` rather than through options here, so this does\n * not grow a flag per consumer.\n *\n * Rows are one height and one inset for every list, which is the point: two\n * panels stacked in the same sidebar have to agree, and they did not while\n * each owned a private copy of the same CSS.\n *\n * **Semantics.** The role follows what the list can do:\n * - nothing to select or activate → `list` / `listitem`, and no row is focusable;\n * - `selection` with no row controls → `listbox` / `option`, `aria-selected`;\n * - any row with `trailing` controls, or `onActivate` without `selection` →\n * `grid` / `row`, with the leading content and label in one `gridcell` and\n * the controls in a second. An option may not contain interactive content,\n * so a list whose rows host toggles cannot be a listbox.\n *\n * **Keyboard.** One row is in the tab order: the one last focused, else the\n * first selected, else the first. Up/Down and Home/End move between rows,\n * Enter/Space activate, carrying modifiers so Shift+Space is Shift+click, and\n * Alt+Up/Down call `onNudge`. In a multi-select list with `onSelectRange`,\n * Shift+Up/Down and Shift+Home/End move focus and report the rows from the\n * anchor — the row last focused or activated other than by a range — to it. In a grid, Right steps from the row into its\n * controls, Left and Escape step back; the controls leave the tab order.\n */\nimport {\n forwardRef,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n type FocusEvent,\n type HTMLAttributes,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport { CONTROL_SELECTOR, isInControlWithin } from '../../interactiveTarget';\nimport type { PressModifiers, ReorderGhost } from '../../useReorderDragList';\nimport { DragGhost } from '../DragGhost';\nimport s from './ItemList.module.css';\n\n/** One row. `id` is the React key. */\nexport interface ItemListRow {\n id: string;\n label: ReactNode;\n /** Fixed-size decoration before the label — a color swatch. Not a control:\n * those go in `trailing`. */\n leading?: ReactNode;\n /** Buttons and toggles after the label — visibility, lock. They keep their\n * own clicks and keys, and turn the list into a grid. A control that edits\n * with the arrow keys does not belong here. */\n trailing?: ReactNode;\n /** The row the list considers current. With `selection` set this is also\n * `aria-selected`. */\n selected?: boolean;\n /** Present but not in effect — history's redo entries. */\n muted?: boolean;\n /** Part of a drag in progress — `useReorderDragList`'s `state.draggedIds`. */\n dragging?: boolean;\n /** Consumer classes for states this component has no opinion about. */\n className?: string;\n /** Handlers and data attributes for this row's element. `data-*` is\n * spelled out because `HTMLAttributes` does not admit it, and every\n * consumer here marks its rows up with one. A handler here runs before the\n * list's own, and `preventDefault()` in it keeps the list out. */\n rowProps?: HTMLAttributes<HTMLDivElement> & Record<`data-${string}`, unknown>;\n}\n\nexport interface ItemListProps {\n rows: readonly ItemListRow[];\n /** Shown in place of the rows when there are none. */\n empty?: ReactNode;\n className?: string;\n /**\n * Whether rows are selectable, and how many at once. The list reports\n * `selected` to assistive tech; choosing what is selected stays with\n * `onActivate`.\n */\n selection?: 'single' | 'multi';\n /**\n * A row was clicked, or Enter/Space was pressed on it, with the modifiers\n * held. Clicks and keys on a row's `trailing` controls do not reach this.\n */\n onActivate?(id: string, index: number, mods: PressModifiers): void;\n /**\n * Alt+Up (`-1`) or Alt+Down (`1`) on a row: move it. Focus stays on the\n * row wherever it lands. `useReorderDragList`'s `nudge` fits as-is.\n */\n onNudge?(id: string, index: number, delta: -1 | 1): void;\n /**\n * With `selection=\"multi\"`: Shift+Up/Down or Shift+Home/End moved focus,\n * and `ids` is every row from the anchor to the newly focused one, in list\n * order. The anchor is the row last focused or activated other than by a\n * range move, so a click or a plain arrow move re-anchors. What the range does to\n * the selection stays with the consumer, as with `onActivate`. Without it,\n * Shift+Arrow only moves focus.\n */\n onSelectRange?(ids: string[]): void;\n /**\n * Where a drop would land, as an insertion index: `0` is above the first\n * row, `rows.length` below the last. The list draws the seam itself, from\n * the rows' own boxes, so it follows whatever height the density gives\n * them. `useReorderDragList`'s `state.targetIndex` goes here as-is.\n */\n dropIndex?: number | null;\n /** Rendered inside the container ahead of the rows. */\n overlay?: ReactNode;\n /** Spread onto the container: pointer handlers for a drag, `aria-label`. */\n containerProps?: HTMLAttributes<HTMLDivElement>;\n /** Rows to draw again under the pointer during a drag — `useReorderDragList`'s `state.ghost`. */\n ghost?: ReorderGhost | null;\n}\n\ntype Mode = 'list' | 'listbox' | 'grid';\n\nconst ROLES: Record<Mode, { container: string; row: string }> = {\n list: { container: 'list', row: 'listitem' },\n listbox: { container: 'listbox', row: 'option' },\n grid: { container: 'grid', row: 'row' },\n};\n\nexport const ItemList = forwardRef(function ItemList(\n {\n rows, empty, className, selection, onActivate, onNudge, onSelectRange, dropIndex, overlay,\n containerProps, ghost,\n }: ItemListProps,\n ref: Ref<HTMLDivElement>,\n) {\n const hasTrailing = rows.some((r) => r.trailing != null);\n const mode: Mode = hasTrailing || (onActivate && !selection)\n ? 'grid'\n : selection ? 'listbox' : 'list';\n const interactive = mode !== 'list';\n\n const [container, setContainer] = useState<HTMLDivElement | null>(null);\n const setRefs = useCallback(\n (el: HTMLDivElement | null) => {\n setContainer(el);\n if (typeof ref === 'function') ref(el);\n else if (ref) ref.current = el;\n },\n [ref],\n );\n\n /** The element of each row that takes focus: the row itself, or in a grid its label cell. */\n const targets = useRef(new Map<string, HTMLElement>());\n const [focusId, setFocusId] = useState<string | null>(null);\n const pendingFocus = useRef<string | null>(null);\n const anchor = useRef<string | null>(null);\n /** The row a range move is focusing, whose focus must not re-anchor. */\n const extending = useRef<string | null>(null);\n\n const stopId = rows.some((r) => r.id === focusId)\n ? focusId\n : (rows.find((r) => r.selected) ?? rows[0])?.id;\n\n useLayoutEffect(() => {\n const id = pendingFocus.current;\n if (id == null) return;\n pendingFocus.current = null;\n const el = targets.current.get(id);\n if (el && document.activeElement !== el) el.focus();\n });\n\n useLayoutEffect(() => {\n if (mode !== 'grid') return;\n for (const target of targets.current.values()) {\n const cell = target.parentElement?.querySelector(`.${s.trailing}`);\n cell?.querySelectorAll(CONTROL_SELECTOR).forEach((c) => c.setAttribute('tabindex', '-1'));\n }\n });\n\n const cls = [s.list, className].filter(Boolean).join(' ');\n if (rows.length === 0) {\n return (\n <div className={cls} ref={setRefs} {...containerProps}>\n <div className={s.empty}>{empty ?? '—'}</div>\n </div>\n );\n }\n\n const focusRow = (index: number) => {\n const row = rows[Math.max(0, Math.min(rows.length - 1, index))];\n if (row) targets.current.get(row.id)?.focus();\n };\n\n const ranges = selection === 'multi' && onSelectRange !== undefined;\n\n /** Moves focus to `index`: a range from the anchor when `extend`, else a plain move. */\n const moveTo = (from: ItemListRow, index: number, extend: boolean) => {\n const to = Math.max(0, Math.min(rows.length - 1, index));\n if (!extend || !ranges) {\n focusRow(to);\n return;\n }\n let at = rows.findIndex((r) => r.id === anchor.current);\n if (at < 0) {\n anchor.current = from.id;\n at = rows.indexOf(from);\n }\n extending.current = rows[to]!.id;\n focusRow(to);\n extending.current = null;\n onSelectRange(rows.slice(Math.min(at, to), Math.max(at, to) + 1).map((r) => r.id));\n };\n\n const onKeyDown = (row: ItemListRow, i: number) => (e: KeyboardEvent<HTMLDivElement>) => {\n row.rowProps?.onKeyDown?.(e);\n if (e.defaultPrevented) return;\n const target = targets.current.get(row.id);\n if (!target) return;\n const onTarget = e.target === target;\n const controlCell = mode === 'grid'\n ? e.currentTarget.querySelector<HTMLElement>(`.${s.trailing}`)\n : null;\n if (!onTarget && !controlCell?.contains(e.target as Node)) return;\n\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowUp': {\n e.preventDefault();\n const delta = e.key === 'ArrowDown' ? 1 : -1;\n if (e.altKey && onNudge && onTarget) {\n pendingFocus.current = row.id;\n onNudge(row.id, i, delta);\n } else {\n moveTo(row, i + delta, e.shiftKey);\n }\n return;\n }\n case 'Home':\n case 'End':\n if (!onTarget) return;\n e.preventDefault();\n moveTo(row, e.key === 'Home' ? 0 : rows.length - 1, e.shiftKey);\n return;\n case 'Enter':\n case ' ':\n if (!onTarget) return;\n e.preventDefault();\n anchor.current = row.id;\n onActivate?.(row.id, i, modsOf(e));\n return;\n case 'ArrowRight':\n case 'ArrowLeft':\n case 'Escape': {\n if (!controlCell) return;\n const controls = Array.from(controlCell.querySelectorAll<HTMLElement>(CONTROL_SELECTOR))\n .filter((c) => !c.matches(':disabled'));\n if (onTarget) {\n if (e.key !== 'ArrowRight' || !controls[0]) return;\n e.preventDefault();\n controls[0].focus();\n return;\n }\n e.preventDefault();\n const at = controls.findIndex((c) => c.contains(e.target as Node));\n if (e.key === 'ArrowRight') controls[at + 1]?.focus();\n else if (e.key === 'ArrowLeft' && at > 0) controls[at - 1]?.focus();\n else target.focus();\n return;\n }\n default:\n }\n };\n\n const onClick = (row: ItemListRow, i: number) => (e: MouseEvent<HTMLDivElement>) => {\n row.rowProps?.onClick?.(e);\n if (e.defaultPrevented || isInControlWithin(e.target, e.currentTarget)) return;\n anchor.current = row.id;\n onActivate?.(row.id, i, modsOf(e));\n };\n\n const onFocus = (row: ItemListRow) => (e: FocusEvent<HTMLDivElement>) => {\n row.rowProps?.onFocus?.(e);\n if (e.target !== targets.current.get(row.id)) return;\n setFocusId(row.id);\n if (extending.current !== row.id) anchor.current = row.id;\n };\n\n const targetRef = (id: string) => (el: HTMLElement | null) => {\n if (el) targets.current.set(id, el);\n else targets.current.delete(id);\n };\n\n const roles = ROLES[mode];\n return (\n <div\n className={cls}\n ref={setRefs}\n {...containerProps}\n role={roles.container}\n aria-multiselectable={selection === 'multi' && mode !== 'list' ? true : undefined}\n >\n {overlay}\n {ghost && container ? (\n <DragGhost at={ghost} from={container}>\n {rows\n .filter((row) => ghost.ids.includes(row.id))\n .map((row) => (\n <div key={row.id} className={[s.row, row.selected && s.selected].filter(Boolean).join(' ')}>\n {row.leading}\n <span className={s.label}>{row.label}</span>\n </div>\n ))}\n </DragGhost>\n ) : null}\n {rows.map((row, i) => {\n const tabIndex = interactive ? (row.id === stopId ? 0 : -1) : undefined;\n const content = (\n <>\n {row.leading}\n <span className={s.label}>{row.label}</span>\n </>\n );\n return (\n <div\n key={row.id}\n className={[\n s.row,\n row.selected && s.selected,\n row.muted && s.muted,\n row.className,\n ].filter(Boolean).join(' ')}\n {...row.rowProps}\n role={roles.row}\n aria-selected={selection && mode !== 'list' ? !!row.selected : undefined}\n ref={mode === 'listbox' ? targetRef(row.id) : undefined}\n tabIndex={mode === 'listbox' ? tabIndex : row.rowProps?.tabIndex}\n onKeyDown={interactive ? onKeyDown(row, i) : row.rowProps?.onKeyDown}\n onClick={interactive ? onClick(row, i) : row.rowProps?.onClick}\n onFocus={interactive ? onFocus(row) : row.rowProps?.onFocus}\n data-drop={dropSide(dropIndex, i, rows.length)}\n data-dragging={row.dragging ? 'true' : undefined}\n >\n {mode === 'grid' ? (\n <>\n <div role=\"gridcell\" className={s.cell} ref={targetRef(row.id)} tabIndex={tabIndex}>\n {content}\n </div>\n {row.trailing != null && (\n <div role=\"gridcell\" className={s.trailing}>{row.trailing}</div>\n )}\n </>\n ) : content}\n </div>\n );\n })}\n </div>\n );\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\n/** Which edge of row `i` carries the seam for `dropIndex`, if any. */\nfunction dropSide(\n dropIndex: number | null | undefined,\n i: number,\n count: number,\n): 'before' | 'after' | undefined {\n if (dropIndex == null) return undefined;\n if (dropIndex === i) return 'before';\n if (dropIndex >= count && i === count - 1) return 'after';\n return undefined;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemList.module-BSpCSxan.js","names":["ItemList_module_default"],"sources":["../../src/components/ItemList/ItemList.module.css"],"sourcesContent":["/* One height and one inset for every sidebar list. A panel stacking two of\n them has to have their rows line up, which is what a private copy of this\n file per list stopped happening. */\n.list {\n display: flex;\n flex-direction: column;\n gap: 1px;\n user-select: none;\n -webkit-user-select: none;\n position: relative;\n width: 100%;\n}\n\n.row {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-4);\n padding: 0 var(--wzl-space-4);\n height: var(--wzl-control-h);\n font-size: var(--wzl-font-size-sm);\n color: var(--wzl-fg);\n background: transparent;\n border-radius: var(--wzl-radius-sm);\n cursor: default;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.row:hover {\n background: var(--wzl-surface);\n}\n\n.row:focus-visible,\n.row:has(> .cell:focus-visible) {\n outline: 2px solid var(--wzl-focus-ring);\n outline-offset: -2px;\n}\n\n/* A grid row's label cell takes the row's focus; the ring is drawn on the row\n so it looks the same as a listbox option's. */\n.cell {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-4);\n flex: 1 1 auto;\n min-width: 0;\n align-self: stretch;\n outline: none;\n}\n\n.trailing {\n display: flex;\n align-items: center;\n gap: var(--wzl-space-2);\n flex: none;\n}\n\n.label {\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.selected,\n.selected:hover {\n background: var(--wzl-border);\n color: var(--wzl-fg);\n}\n\n/* Drag feedback. The seam is an outer shadow of the row beside it: it needs no\n measured offset, adds no element for a drag to count as a row, and escapes\n the row's own `overflow: hidden`. */\n.row[data-drop='before'] { box-shadow: 0 -2px 0 0 var(--wzl-accent); }\n.row[data-drop='after'] { box-shadow: 0 2px 0 0 var(--wzl-accent); }\n.row[data-dragging] { opacity: 0.4; }\n\n/* Present but not in effect. */\n.muted {\n color: var(--wzl-fg-subtle);\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"],"mappings":""}
|