@weasel-js/ui 0.8.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist/chunks/{ActionBar-CiKvEvXi.js → ActionBar-GThu74LC.js} +4 -4
  2. package/dist/chunks/ActionBar-GThu74LC.js.map +1 -0
  3. package/dist/chunks/ActionsBar-CAjrj_Pt.js +48 -0
  4. package/dist/chunks/{ActionsBar-CzU6Of3B.js.map → ActionsBar-CAjrj_Pt.js.map} +1 -1
  5. package/dist/chunks/{Badge-DU8ihE7Z.js → Badge-DZQqAV4d.js} +5 -5
  6. package/dist/chunks/Badge-DZQqAV4d.js.map +1 -0
  7. package/dist/chunks/{Callout-CxxrEcSb.js → Callout-DlirfLJl.js} +1 -1
  8. package/dist/chunks/{Callout-CxxrEcSb.js.map → Callout-DlirfLJl.js.map} +1 -1
  9. package/dist/chunks/{Checkbox-CtK8H_OQ.js → Checkbox-B3Z_u7k0.js} +5 -5
  10. package/dist/chunks/Checkbox-B3Z_u7k0.js.map +1 -0
  11. package/dist/chunks/{ColorField-sGLnThpB.js → ColorField-B4Hd2qqS.js} +1 -1
  12. package/dist/chunks/{ColorField-sGLnThpB.js.map → ColorField-B4Hd2qqS.js.map} +1 -1
  13. package/dist/chunks/{ComboBox-CotoRgNi.js → ComboBox-tbmgND-F.js} +9 -9
  14. package/dist/chunks/ComboBox-tbmgND-F.js.map +1 -0
  15. package/dist/chunks/{CurveEditor-DAb2EMyR.js → CurveEditor-CSKqAXMp.js} +1 -1
  16. package/dist/chunks/{CurveEditor-DAb2EMyR.js.map → CurveEditor-CSKqAXMp.js.map} +1 -1
  17. package/dist/chunks/{DataGrid-mUq38k0Q.js → DataGrid-BQklXGRl.js} +10 -10
  18. package/dist/chunks/DataGrid-BQklXGRl.js.map +1 -0
  19. package/dist/chunks/{Dialog-CQymDCAl.js → Dialog-BFuakycR.js} +1 -1
  20. package/dist/chunks/{Dialog-CQymDCAl.js.map → Dialog-BFuakycR.js.map} +1 -1
  21. package/dist/chunks/{Field-BHSu2F3E.js → Field-DPxmJzZz.js} +1 -1
  22. package/dist/chunks/{Field-BHSu2F3E.js.map → Field-DPxmJzZz.js.map} +1 -1
  23. package/dist/chunks/GradientEditor-3pYXGAPg.js +260 -0
  24. package/dist/chunks/GradientEditor-3pYXGAPg.js.map +1 -0
  25. package/dist/chunks/{Input-D_Xzgr2b.js → Input-Dg_CYXg4.js} +5 -5
  26. package/dist/chunks/Input-Dg_CYXg4.js.map +1 -0
  27. package/dist/chunks/{Keycaps-B9dJMYx_.js → Keycaps-CFX7UAj8.js} +5 -5
  28. package/dist/chunks/Keycaps-CFX7UAj8.js.map +1 -0
  29. package/dist/chunks/{NumberField-BQmELz32.js → NumberField-BhxUgi43.js} +6 -6
  30. package/dist/chunks/NumberField-BhxUgi43.js.map +1 -0
  31. package/dist/chunks/OptionsBar-hQN-wfd-.js +52 -0
  32. package/dist/chunks/OptionsBar-hQN-wfd-.js.map +1 -0
  33. package/dist/chunks/{PointPlotter-EkbCBK9j.js → PointPlotter-DCSjvpN0.js} +2 -2
  34. package/dist/chunks/{PointPlotter-EkbCBK9j.js.map → PointPlotter-DCSjvpN0.js.map} +1 -1
  35. package/dist/chunks/{Powerline-C8rddbbK.js → Powerline-DkOTPnUV.js} +2 -2
  36. package/dist/chunks/{Powerline-C8rddbbK.js.map → Powerline-DkOTPnUV.js.map} +1 -1
  37. package/dist/chunks/{Prefs-BkDJ5Cdz.js → Prefs-C4HfuTvm.js} +25 -25
  38. package/dist/chunks/Prefs-C4HfuTvm.js.map +1 -0
  39. package/dist/chunks/{RadioGroup-Ci-I9NEx.js → RadioGroup-Bg3Rqxe2.js} +6 -6
  40. package/dist/chunks/RadioGroup-Bg3Rqxe2.js.map +1 -0
  41. package/dist/chunks/{RangeSlider-CW-edtNx.js → RangeSlider-BvM_DGSr.js} +8 -8
  42. package/dist/chunks/RangeSlider-BvM_DGSr.js.map +1 -0
  43. package/dist/chunks/{ResizeHandle-C2OBMqTs.js → ResizeHandle-BUkW2kZC.js} +3 -3
  44. package/dist/chunks/ResizeHandle-BUkW2kZC.js.map +1 -0
  45. package/dist/chunks/{Select-CLyBisCS.js → Select-DC0AjrEe.js} +10 -10
  46. package/dist/chunks/Select-DC0AjrEe.js.map +1 -0
  47. package/dist/chunks/{SelectionPanel-DBdhAKIK.js → SelectionPanel-DoTdisRY.js} +20 -20
  48. package/dist/chunks/SelectionPanel-DoTdisRY.js.map +1 -0
  49. package/dist/chunks/{Sidebar-doLqiTZH.js → Sidebar-B8qig3BQ.js} +4 -4
  50. package/dist/chunks/Sidebar-B8qig3BQ.js.map +1 -0
  51. package/dist/chunks/{SidebarPanel-DjTfOzB9.js → SidebarPanel-LOt2c-wb.js} +10 -10
  52. package/dist/chunks/SidebarPanel-LOt2c-wb.js.map +1 -0
  53. package/dist/chunks/{Slider-sUJGgmKR.js → Slider-Di2kNqVy.js} +11 -11
  54. package/dist/chunks/Slider-Di2kNqVy.js.map +1 -0
  55. package/dist/chunks/{StatusBar-OOjfqCD8.js → StatusBar-Cg2LzdAm.js} +6 -6
  56. package/dist/chunks/StatusBar-Cg2LzdAm.js.map +1 -0
  57. package/dist/chunks/{Switch-DxJLMYki.js → Switch-I4putUAY.js} +5 -5
  58. package/dist/chunks/Switch-I4putUAY.js.map +1 -0
  59. package/dist/chunks/{Tabs-DOW5jtnq.js → Tabs-irZuG_PN.js} +1 -1
  60. package/dist/chunks/{Tabs-DOW5jtnq.js.map → Tabs-irZuG_PN.js.map} +1 -1
  61. package/dist/chunks/{Toast-DLM2AsTz.js → Toast-BGYP8Pw0.js} +1 -1
  62. package/dist/chunks/{Toast-DLM2AsTz.js.map → Toast-BGYP8Pw0.js.map} +1 -1
  63. package/dist/chunks/ToggleBar-BP1zFcvg.js +74 -0
  64. package/dist/chunks/ToggleBar-BP1zFcvg.js.map +1 -0
  65. package/dist/chunks/{ToolButton-Dv6NdZKh.js → ToolButton-DUeg8fPN.js} +6 -6
  66. package/dist/chunks/ToolButton-DUeg8fPN.js.map +1 -0
  67. package/dist/chunks/{ToolGroup-BAthcF5H.js → ToolGroup-D0CvyQhQ.js} +1 -1
  68. package/dist/chunks/{ToolGroup-BAthcF5H.js.map → ToolGroup-D0CvyQhQ.js.map} +1 -1
  69. package/dist/chunks/{ToolOptionsBar-ChiL-HVA.js → ToolOptionsBar-N_MQcSo4.js} +4 -4
  70. package/dist/chunks/ToolOptionsBar-N_MQcSo4.js.map +1 -0
  71. package/dist/chunks/{ToolPalette-DXVIEO0w.js → ToolPalette-BipoMdZz.js} +8 -8
  72. package/dist/chunks/ToolPalette-BipoMdZz.js.map +1 -0
  73. package/dist/chunks/useRovingTabIndex-DBZtq4IH.js +65 -0
  74. package/dist/chunks/useRovingTabIndex-DBZtq4IH.js.map +1 -0
  75. package/dist/components/ActionBar/index.js +1 -1
  76. package/dist/components/ActionsBar/ActionsBar.d.ts.map +1 -1
  77. package/dist/components/ActionsBar/index.js +1 -1
  78. package/dist/components/Badge/index.js +1 -1
  79. package/dist/components/Callout/index.js +1 -1
  80. package/dist/components/Checkbox/index.js +1 -1
  81. package/dist/components/ColorField/index.js +1 -1
  82. package/dist/components/ComboBox/index.js +1 -1
  83. package/dist/components/CurveEditor/index.js +1 -1
  84. package/dist/components/DataGrid/index.js +1 -1
  85. package/dist/components/Dialog/index.js +1 -1
  86. package/dist/components/Field/index.js +1 -1
  87. package/dist/components/GradientEditor/GradientEditor.d.ts +34 -0
  88. package/dist/components/GradientEditor/GradientEditor.d.ts.map +1 -0
  89. package/dist/components/GradientEditor/GradientHandles.d.ts +53 -0
  90. package/dist/components/GradientEditor/GradientHandles.d.ts.map +1 -0
  91. package/dist/components/GradientEditor/index.d.ts +3 -0
  92. package/dist/components/GradientEditor/index.d.ts.map +1 -0
  93. package/dist/components/GradientEditor/index.js +2 -0
  94. package/dist/components/Input/index.js +1 -1
  95. package/dist/components/Keycaps/index.js +1 -1
  96. package/dist/components/NumberField/index.js +1 -1
  97. package/dist/components/OptionsBar/OptionsBar.d.ts.map +1 -1
  98. package/dist/components/OptionsBar/index.js +1 -1
  99. package/dist/components/PointPlotter/index.js +1 -1
  100. package/dist/components/Powerline/index.js +2 -2
  101. package/dist/components/Prefs/index.js +1 -1
  102. package/dist/components/RadioGroup/index.js +1 -1
  103. package/dist/components/RangeSlider/index.js +1 -1
  104. package/dist/components/ResizeHandle/index.js +1 -1
  105. package/dist/components/Select/index.js +1 -1
  106. package/dist/components/SelectionPanel/index.js +1 -1
  107. package/dist/components/Sidebar/index.js +1 -1
  108. package/dist/components/SidebarPanel/index.js +1 -1
  109. package/dist/components/Slider/index.js +1 -1
  110. package/dist/components/StatusBar/index.js +1 -1
  111. package/dist/components/Switch/index.js +1 -1
  112. package/dist/components/Tabs/index.js +1 -1
  113. package/dist/components/Toast/index.js +1 -1
  114. package/dist/components/ToggleBar/ToggleBar.d.ts.map +1 -1
  115. package/dist/components/ToggleBar/index.js +1 -1
  116. package/dist/components/ToolButton/index.js +1 -1
  117. package/dist/components/ToolGroup/index.js +1 -1
  118. package/dist/components/ToolOptionsBar/index.js +1 -1
  119. package/dist/components/ToolPalette/ToolPalette.d.ts.map +1 -1
  120. package/dist/components/ToolPalette/index.js +1 -1
  121. package/dist/index.d.ts +3 -0
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +45 -78
  124. package/dist/index.js.map +1 -1
  125. package/dist/style.css +1 -1
  126. package/dist/useRovingTabIndex.d.ts +52 -0
  127. package/dist/useRovingTabIndex.d.ts.map +1 -0
  128. package/package.json +2 -2
  129. package/dist/chunks/ActionBar-CiKvEvXi.js.map +0 -1
  130. package/dist/chunks/ActionsBar-CzU6Of3B.js +0 -94
  131. package/dist/chunks/Badge-DU8ihE7Z.js.map +0 -1
  132. package/dist/chunks/Checkbox-CtK8H_OQ.js.map +0 -1
  133. package/dist/chunks/ComboBox-CotoRgNi.js.map +0 -1
  134. package/dist/chunks/DataGrid-mUq38k0Q.js.map +0 -1
  135. package/dist/chunks/Input-D_Xzgr2b.js.map +0 -1
  136. package/dist/chunks/Keycaps-B9dJMYx_.js.map +0 -1
  137. package/dist/chunks/NumberField-BQmELz32.js.map +0 -1
  138. package/dist/chunks/OptionsBar-CHOP_CiW.js +0 -98
  139. package/dist/chunks/OptionsBar-CHOP_CiW.js.map +0 -1
  140. package/dist/chunks/Prefs-BkDJ5Cdz.js.map +0 -1
  141. package/dist/chunks/RadioGroup-Ci-I9NEx.js.map +0 -1
  142. package/dist/chunks/RangeSlider-CW-edtNx.js.map +0 -1
  143. package/dist/chunks/ResizeHandle-C2OBMqTs.js.map +0 -1
  144. package/dist/chunks/Select-CLyBisCS.js.map +0 -1
  145. package/dist/chunks/SelectionPanel-DBdhAKIK.js.map +0 -1
  146. package/dist/chunks/Sidebar-doLqiTZH.js.map +0 -1
  147. package/dist/chunks/SidebarPanel-DjTfOzB9.js.map +0 -1
  148. package/dist/chunks/Slider-sUJGgmKR.js.map +0 -1
  149. package/dist/chunks/StatusBar-OOjfqCD8.js.map +0 -1
  150. package/dist/chunks/Switch-DxJLMYki.js.map +0 -1
  151. package/dist/chunks/ToggleBar-Defj6Asn.js +0 -129
  152. package/dist/chunks/ToggleBar-Defj6Asn.js.map +0 -1
  153. package/dist/chunks/ToolButton-Dv6NdZKh.js.map +0 -1
  154. package/dist/chunks/ToolOptionsBar-ChiL-HVA.js.map +0 -1
  155. package/dist/chunks/ToolPalette-DXVIEO0w.js.map +0 -1
@@ -0,0 +1,65 @@
1
+ import { useRef as e } from "react";
2
+ //#region src/useRovingTabIndex.ts
3
+ function t(e) {
4
+ for (let t = 0; t < e.length; t++) if (!e[t].disabled) return t;
5
+ return -1;
6
+ }
7
+ function n(e) {
8
+ for (let t = e.length - 1; t >= 0; t--) if (!e[t].disabled) return t;
9
+ return -1;
10
+ }
11
+ function r(e, t) {
12
+ let n = e.length;
13
+ for (let r = 1; r <= n; r++) {
14
+ let i = (t + r + n) % n;
15
+ if (!e[i].disabled) return i;
16
+ }
17
+ return t;
18
+ }
19
+ function i(e, t) {
20
+ let n = e.length;
21
+ for (let r = 1; r <= n; r++) {
22
+ let i = (t - r + n) % n;
23
+ if (!e[i].disabled) return i;
24
+ }
25
+ return t;
26
+ }
27
+ function a(a) {
28
+ let { items: o, itemClassName: s, onNavigate: c, onActivate: l } = a, u = e(null), d = a.tabStopIndex ?? t(o), f = (e) => {
29
+ let t = u.current;
30
+ t && t.querySelectorAll(`.${s}`)[e]?.focus();
31
+ };
32
+ return {
33
+ rootRef: u,
34
+ tabIndexFor: (e) => e === d ? 0 : -1,
35
+ onKeyDown: (e) => (a) => {
36
+ let s = -1;
37
+ switch (a.key) {
38
+ case "ArrowLeft":
39
+ case "ArrowUp":
40
+ s = i(o, e);
41
+ break;
42
+ case "ArrowRight":
43
+ case "ArrowDown":
44
+ s = r(o, e);
45
+ break;
46
+ case "Home":
47
+ s = t(o);
48
+ break;
49
+ case "End":
50
+ s = n(o);
51
+ break;
52
+ case " ":
53
+ case "Enter":
54
+ l && (a.preventDefault(), l(e));
55
+ return;
56
+ default: return;
57
+ }
58
+ s < 0 || s === e || (a.preventDefault(), c?.(s), f(s));
59
+ }
60
+ };
61
+ }
62
+ //#endregion
63
+ export { a as t };
64
+
65
+ //# sourceMappingURL=useRovingTabIndex-DBZtq4IH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRovingTabIndex-DBZtq4IH.js","names":[],"sources":["../../src/useRovingTabIndex.ts"],"sourcesContent":["import { useRef, type KeyboardEvent as ReactKeyboardEvent, type RefObject } from 'react';\n\n/** The only thing the hook needs to know about a bar's items: which are\n * skipped by arrow navigation. */\nexport type RovingItem = { disabled?: boolean };\n\nexport type UseRovingTabIndexOptions = {\n /** In the same order as the elements carrying `itemClassName`. */\n items: readonly RovingItem[];\n /** Class on the focusable element of each item, inside the container the\n * returned `rootRef` is attached to. Their DOM order must match `items`. */\n itemClassName: string;\n /** Index that carries `tabIndex=0`. Defaults to the first enabled item; a\n * radiogroup-style bar passes its selected index so Tab lands on the\n * current value. */\n tabStopIndex?: number;\n /** Called with the new index as arrow/Home/End focus moves, before focus\n * moves. This is where a selection-follows-focus bar commits the value. */\n onNavigate?: (index: number) => void;\n /** Space/Enter on the item at `index`. When omitted the keypress is left\n * alone, which on a native `<button>` produces an ordinary click. */\n onActivate?: (index: number) => void;\n};\n\nexport type RovingTabIndex<T extends HTMLElement = HTMLDivElement> = {\n /** Attach to the container element that holds the items. */\n rootRef: RefObject<T | null>;\n /** `tabIndex` value for the item at `index`. */\n tabIndexFor: (index: number) => 0 | -1;\n /** `onKeyDown` for the item at `index`. */\n onKeyDown: (index: number) => (e: ReactKeyboardEvent<HTMLElement>) => void;\n};\n\nfunction firstEnabledIndex(items: readonly RovingItem[]): number {\n for (let i = 0; i < items.length; i++) if (!items[i].disabled) return i;\n return -1;\n}\n\nfunction lastEnabledIndex(items: readonly RovingItem[]): number {\n for (let i = items.length - 1; i >= 0; i--) if (!items[i].disabled) return i;\n return -1;\n}\n\nfunction nextEnabledIndex(items: readonly RovingItem[], from: number): number {\n const n = items.length;\n for (let k = 1; k <= n; k++) {\n const i = (from + k + n) % n;\n if (!items[i].disabled) return i;\n }\n return from;\n}\n\nfunction prevEnabledIndex(items: readonly RovingItem[], from: number): number {\n const n = items.length;\n for (let k = 1; k <= n; k++) {\n const i = (from - k + n) % n;\n if (!items[i].disabled) return i;\n }\n return from;\n}\n\n/**\n * Roving tabindex for a bar of items: one item is in the tab order, and the\n * arrow keys move focus among the rest, skipping disabled ones and wrapping\n * at both ends. Home and End go to the first and last enabled item. Both axes\n * navigate, so the same bar works laid out either way.\n *\n * Backs `ActionsBar`, `OptionsBar`, and `ToggleBar`.\n *\n * **When a bar should not use this.** Only when the bar owns its items. A\n * container of arbitrary compound controls — a number field, a select, a\n * color field — must leave the arrow keys alone, because those controls edit\n * their own value with them; taking the arrows over would break the control\n * to navigate between controls. `ToolOptionsBar` is that case and keeps plain\n * DOM tab order. A bar whose items are all simple buttons is the case this\n * hook is for.\n *\n * With every item disabled there is no tab stop and the bar drops out of the\n * tab order entirely.\n */\nexport function useRovingTabIndex<T extends HTMLElement = HTMLDivElement>(\n options: UseRovingTabIndexOptions,\n): RovingTabIndex<T> {\n const { items, itemClassName, onNavigate, onActivate } = options;\n const rootRef = useRef<T | null>(null);\n\n const tabStopIndex = options.tabStopIndex ?? firstEnabledIndex(items);\n\n const focusItem = (index: number): void => {\n const root = rootRef.current;\n if (!root) return;\n const elements = root.querySelectorAll<HTMLElement>(`.${itemClassName}`);\n elements[index]?.focus();\n };\n\n const onKeyDown = (index: number) => (e: ReactKeyboardEvent<HTMLElement>): void => {\n let nextIndex = -1;\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n nextIndex = prevEnabledIndex(items, index);\n break;\n case 'ArrowRight':\n case 'ArrowDown':\n nextIndex = nextEnabledIndex(items, index);\n break;\n case 'Home':\n nextIndex = firstEnabledIndex(items);\n break;\n case 'End':\n nextIndex = lastEnabledIndex(items);\n break;\n case ' ':\n case 'Enter':\n if (onActivate) {\n e.preventDefault();\n onActivate(index);\n }\n return;\n default:\n return;\n }\n if (nextIndex < 0 || nextIndex === index) return;\n e.preventDefault();\n onNavigate?.(nextIndex);\n focusItem(nextIndex);\n };\n\n return {\n rootRef,\n tabIndexFor: (index: number) => (index === tabStopIndex ? 0 : -1),\n onKeyDown,\n };\n}\n"],"mappings":";;AAiCA,SAAS,EAAkB,GAAsC;AAC/D,MAAK,IAAI,IAAI,GAAG,IAAI,EAAM,QAAQ,IAAK,KAAI,CAAC,EAAM,GAAG,SAAU,QAAO;AACtE,QAAO;;AAGT,SAAS,EAAiB,GAAsC;AAC9D,MAAK,IAAI,IAAI,EAAM,SAAS,GAAG,KAAK,GAAG,IAAK,KAAI,CAAC,EAAM,GAAG,SAAU,QAAO;AAC3E,QAAO;;AAGT,SAAS,EAAiB,GAA8B,GAAsB;CAC5E,IAAM,IAAI,EAAM;AAChB,MAAK,IAAI,IAAI,GAAG,KAAK,GAAG,KAAK;EAC3B,IAAM,KAAK,IAAO,IAAI,KAAK;AAC3B,MAAI,CAAC,EAAM,GAAG,SAAU,QAAO;;AAEjC,QAAO;;AAGT,SAAS,EAAiB,GAA8B,GAAsB;CAC5E,IAAM,IAAI,EAAM;AAChB,MAAK,IAAI,IAAI,GAAG,KAAK,GAAG,KAAK;EAC3B,IAAM,KAAK,IAAO,IAAI,KAAK;AAC3B,MAAI,CAAC,EAAM,GAAG,SAAU,QAAO;;AAEjC,QAAO;;AAsBT,SAAgB,EACd,GACmB;CACnB,IAAM,EAAE,UAAO,kBAAe,eAAY,kBAAe,GACnD,IAAU,EAAiB,KAAK,EAEhC,IAAe,EAAQ,gBAAgB,EAAkB,EAAM,EAE/D,KAAa,MAAwB;EACzC,IAAM,IAAO,EAAQ;AAChB,OACY,EAAK,iBAA8B,IAAI,IACxD,CAAS,IAAQ,OAAO;;AAoC1B,QAAO;EACL;EACA,cAAc,MAAmB,MAAU,IAAe,IAAI;EAC9D,YApCiB,OAAmB,MAA6C;GACjF,IAAI,IAAY;AAChB,WAAQ,EAAE,KAAV;IACE,KAAK;IACL,KAAK;AACH,SAAY,EAAiB,GAAO,EAAM;AAC1C;IACF,KAAK;IACL,KAAK;AACH,SAAY,EAAiB,GAAO,EAAM;AAC1C;IACF,KAAK;AACH,SAAY,EAAkB,EAAM;AACpC;IACF,KAAK;AACH,SAAY,EAAiB,EAAM;AACnC;IACF,KAAK;IACL,KAAK;AACH,KAAI,MACF,EAAE,gBAAgB,EAClB,EAAW,EAAM;AAEnB;IACF,QACE;;AAEA,OAAY,KAAK,MAAc,MACnC,EAAE,gBAAgB,EAClB,IAAa,EAAU,EACvB,EAAU,EAAU;;EAOrB"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ActionBar-CiKvEvXi.js";
1
+ import { t as e } from "../../chunks/ActionBar-GThu74LC.js";
2
2
  export { e as ActionBar };
@@ -1 +1 @@
1
- {"version":3,"file":"ActionsBar.d.ts","sourceRoot":"","sources":["../../../src/components/ActionsBar/ActionsBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGhI,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAC/D,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AACzC,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAChE,KAAK,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AA8BF,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,CAoFtG"}
1
+ {"version":3,"file":"ActionsBar.d.ts","sourceRoot":"","sources":["../../../src/components/ActionsBar/ActionsBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9E,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAC/D,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AACzC,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAChE,KAAK,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,CA8CtG"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ActionsBar-CzU6Of3B.js";
1
+ import { t as e } from "../../chunks/ActionsBar-CAjrj_Pt.js";
2
2
  export { e as ActionsBar };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/Badge-DU8ihE7Z.js";
1
+ import { t as e } from "../../chunks/Badge-DZQqAV4d.js";
2
2
  export { e as Badge };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../../chunks/Callout-CxxrEcSb.js";
1
+ import { n as e, t } from "../../chunks/Callout-DlirfLJl.js";
2
2
  export { t as Callout, e as CalloutTrigger };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/Checkbox-CtK8H_OQ.js";
1
+ import { t as e } from "../../chunks/Checkbox-B3Z_u7k0.js";
2
2
  export { e as Checkbox };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ColorField-sGLnThpB.js";
1
+ import { t as e } from "../../chunks/ColorField-B4Hd2qqS.js";
2
2
  export { e as ColorField };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../../chunks/ComboBox-CotoRgNi.js";
1
+ import { n as e, t } from "../../chunks/ComboBox-tbmgND-F.js";
2
2
  export { t as ComboBox, e as ComboBoxItem };
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, o as r, r as i, t as a } from "../../chunks/CurveEditor-DAb2EMyR.js";
1
+ import { a as e, i as t, n, o as r, r as i, t as a } from "../../chunks/CurveEditor-CSKqAXMp.js";
2
2
  export { n as CurveEditor, i as LayeredCurveEditor, t as createFunctionLayer, a as createSetCurveOp, e as functionLayerState, r as sampleByInterpolation };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/DataGrid-mUq38k0Q.js";
1
+ import { t as e } from "../../chunks/DataGrid-BQklXGRl.js";
2
2
  export { e as DataGrid };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/Dialog-CQymDCAl.js";
1
+ import { t as e } from "../../chunks/Dialog-BFuakycR.js";
2
2
  export { e as Dialog };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../../chunks/Field-BHSu2F3E.js";
1
+ import { n as e, t } from "../../chunks/Field-DPxmJzZz.js";
2
2
  export { t as Field, e as fieldClasses };
@@ -0,0 +1,34 @@
1
+ import { type ReactElement } from 'react';
2
+ import { type GradientFill } from '@weasel-js/core';
3
+ export interface GradientEditorProps {
4
+ /** The gradient being edited. */
5
+ value: GradientFill;
6
+ /**
7
+ * Live value during a gesture — a stop drag, a color-picker scrub. Wire
8
+ * it for preview; it fires many times per gesture and must not be
9
+ * written to history.
10
+ */
11
+ onInput?: (next: GradientFill) => void;
12
+ /** Committed value: one call per completed gesture. Pair with an
13
+ * undoable write. */
14
+ onChange: (next: GradientFill) => void;
15
+ /** Show the linear / radial / conic switch. Default true; turn it off
16
+ * when the surrounding UI already owns the kind. */
17
+ kindSwitch?: boolean;
18
+ className?: string;
19
+ }
20
+ /**
21
+ * Editor for a gradient's kind and stop list.
22
+ *
23
+ * Geometry (`from`/`to`, `center`, `radius`, `angle`) is deliberately not
24
+ * edited here — on a canvas that belongs on the artwork, via
25
+ * `<GradientHandles>`. This component owns the parts with no spatial
26
+ * meaning, so it composes into a properties panel at any width.
27
+ *
28
+ * Stops are addressed by their position in `value.stops`, which is never
29
+ * reordered — dragging one stop past another leaves both indices alone, so
30
+ * a drag can cross a neighbour without the two swapping under the pointer.
31
+ * Rendering sorts a copy.
32
+ */
33
+ export declare function GradientEditor(props: GradientEditorProps): ReactElement;
34
+ //# sourceMappingURL=GradientEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GradientEditor.d.ts","sourceRoot":"","sources":["../../../src/components/GradientEditor/GradientEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,iBAAiB,CAAC;AAgBzB,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,KAAK,EAAE,YAAY,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC;0BACsB;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC;yDACqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CAoEvE"}
@@ -0,0 +1,53 @@
1
+ import { type ReactElement } from 'react';
2
+ import { type GradientFill } from '@weasel-js/core';
3
+ /** Structural, and deliberately not exported — `Plot2D` and `CurveEditor`
4
+ * each publish their own `Point`, and a third would only be ambiguous at
5
+ * the package barrel. Consumers pass any `{ x, y }`. */
6
+ interface Point {
7
+ x: number;
8
+ y: number;
9
+ }
10
+ export interface GradientHandlesProps {
11
+ /**
12
+ * The gradient whose geometry these handles move, in a **resolved,
13
+ * isotropic** frame — one where `radius` is a length in the same units as
14
+ * `center.x` and a right angle is a right angle.
15
+ *
16
+ * A `units: 'bounds'` gradient is not such a frame: `x` and `y` are
17
+ * fractions of two different lengths, so a circle there is an ellipse on
18
+ * screen and polar math silently mixes scales. Resolve it first with
19
+ * `fillInPoseFrame(fill, box)` and convert edits back with
20
+ * `fillToBoundsFrame(next, box)`.
21
+ */
22
+ value: GradientFill;
23
+ /**
24
+ * Gradient space → overlay pixels. For a `units: 'local'` gradient this
25
+ * is the node's local-to-screen transform; for `'world'`, the view.
26
+ */
27
+ toScreen: (p: Point) => Point;
28
+ /** Overlay pixels → gradient space. Must invert `toScreen`. */
29
+ toLocal: (p: Point) => Point;
30
+ /** Live during a drag — wire for preview, do not write to history. */
31
+ onInput?: (next: GradientFill) => void;
32
+ /** Committed at drag end: one call per gesture. */
33
+ onChange: (next: GradientFill) => void;
34
+ /** Overlay size in CSS pixels. */
35
+ width: number;
36
+ height: number;
37
+ className?: string;
38
+ }
39
+ /**
40
+ * Direct-manipulation handles for a gradient's geometry, drawn as an SVG
41
+ * overlay above a canvas: endpoints for linear, center and radius for
42
+ * radial, center and angle arm for conic.
43
+ *
44
+ * Positioning is entirely the consumer's `toScreen` / `toLocal` — this
45
+ * component never sees a view or a scene node, so the same handles serve a
46
+ * node-local gradient, a world-space one, and a plain unzoomed preview.
47
+ *
48
+ * The overlay ignores pointer events except on the handles themselves, so
49
+ * it can sit over live canvas content without swallowing tool input.
50
+ */
51
+ export declare function GradientHandles(props: GradientHandlesProps): ReactElement;
52
+ export {};
53
+ //# sourceMappingURL=GradientHandles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GradientHandles.d.ts","sourceRoot":"","sources":["../../../src/components/GradientEditor/GradientHandles.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAC;AAClE,OAAO,EAAmC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGrF;;yDAEyD;AACzD,UAAU,KAAK;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;OAUG;IACH,KAAK,EAAE,YAAY,CAAC;IACpB;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC;IAC9B,+DAA+D;IAC/D,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC;IAC7B,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,mDAAmD;IACnD,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CAYzE"}
@@ -0,0 +1,3 @@
1
+ export { GradientEditor, type GradientEditorProps } from './GradientEditor';
2
+ export { GradientHandles, type GradientHandlesProps } from './GradientHandles';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/GradientEditor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { n as e, t } from "../../chunks/GradientEditor-3pYXGAPg.js";
2
+ export { e as GradientEditor, t as GradientHandles };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/Input-D_Xzgr2b.js";
1
+ import { t as e } from "../../chunks/Input-Dg_CYXg4.js";
2
2
  export { e as Input };
@@ -1,3 +1,3 @@
1
- import { a as e, i as t, n, o as r, r as i, t as a } from "../../chunks/Keycaps-B9dJMYx_.js";
1
+ import { a as e, i as t, n, o as r, r as i, t as a } from "../../chunks/Keycaps-CFX7UAj8.js";
2
2
  import { t as o } from "../../chunks/keyGlyph-BDH5fqkO.js";
3
3
  export { e as KeyCap, t as KeySequence, a as detectPlatform, r as inferKeycapKind, o as keyGlyph, n as keySpecFromKey, i as keySpecsFromMods };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/NumberField-BQmELz32.js";
1
+ import { t as e } from "../../chunks/NumberField-BhxUgi43.js";
2
2
  export { e as NumberField };
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsBar.d.ts","sourceRoot":"","sources":["../../../src/components/OptionsBar/OptionsBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGhI,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAC/D,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AACzC,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAChE,KAAK,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;4EACwE;IACxE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;0EACsE;IACtE,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AA8BF,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,CAwFtG"}
1
+ {"version":3,"file":"OptionsBar.d.ts","sourceRoot":"","sources":["../../../src/components/OptionsBar/OptionsBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9E,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAC/D,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AACzC,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAChE,KAAK,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;4EACwE;IACxE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;0EACsE;IACtE,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,CAkDtG"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/OptionsBar-CHOP_CiW.js";
1
+ import { t as e } from "../../chunks/OptionsBar-hQN-wfd-.js";
2
2
  export { e as OptionsBar };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/PointPlotter-EkbCBK9j.js";
1
+ import { t as e } from "../../chunks/PointPlotter-DCSjvpN0.js";
2
2
  export { e as PointPlotter };
@@ -1,3 +1,3 @@
1
- import { n as e } from "../../chunks/Badge-DU8ihE7Z.js";
2
- import { t } from "../../chunks/Powerline-C8rddbbK.js";
1
+ import { n as e } from "../../chunks/Badge-DZQqAV4d.js";
2
+ import { t } from "../../chunks/Powerline-DkOTPnUV.js";
3
3
  export { e as EDGE_PROFILES, t as Powerline };
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, r, t as i } from "../../chunks/Prefs-BkDJ5Cdz.js";
1
+ import { a as e, i as t, n, r, t as i } from "../../chunks/Prefs-C4HfuTvm.js";
2
2
  export { i as PrefsDialog, n as PrefsForm, r as isPrefLeaf, t as prefValueAtPath, e as visiblePrefSubtree };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../../chunks/RadioGroup-Ci-I9NEx.js";
1
+ import { n as e, t } from "../../chunks/RadioGroup-Bg3Rqxe2.js";
2
2
  export { t as Radio, e as RadioGroup };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/RangeSlider-CW-edtNx.js";
1
+ import { t as e } from "../../chunks/RangeSlider-BvM_DGSr.js";
2
2
  export { e as RangeSlider };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ResizeHandle-C2OBMqTs.js";
1
+ import { t as e } from "../../chunks/ResizeHandle-BUkW2kZC.js";
2
2
  export { e as ResizeHandle };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../../chunks/Select-CLyBisCS.js";
1
+ import { n as e, t } from "../../chunks/Select-DC0AjrEe.js";
2
2
  export { t as Select, e as SelectItem };
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../../chunks/SelectionPanel-DBdhAKIK.js";
1
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../../chunks/SelectionPanel-DoTdisRY.js";
2
2
  export { r as MIXED, s as SelectionPanel, a as aggregateValue, n as classifyKind, e as effectiveSections, i as kindBreakdown, o as nodeValueAt, t as setAtPath };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/Sidebar-doLqiTZH.js";
1
+ import { t as e } from "../../chunks/Sidebar-B8qig3BQ.js";
2
2
  export { e as Sidebar };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/SidebarPanel-DjTfOzB9.js";
1
+ import { t as e } from "../../chunks/SidebarPanel-LOt2c-wb.js";
2
2
  export { e as SidebarPanel };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/Slider-sUJGgmKR.js";
1
+ import { t as e } from "../../chunks/Slider-Di2kNqVy.js";
2
2
  export { e as Slider };
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "../../chunks/StatusBar-OOjfqCD8.js";
1
+ import { n as e, r as t, t as n } from "../../chunks/StatusBar-Cg2LzdAm.js";
2
2
  export { n as StatusBar, e as StatusBarItem, t as StatusBarSpacer };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/Switch-DxJLMYki.js";
1
+ import { t as e } from "../../chunks/Switch-I4putUAY.js";
2
2
  export { e as Switch };
@@ -1,2 +1,2 @@
1
- import { i as e, n as t, r as n, t as r } from "../../chunks/Tabs-DOW5jtnq.js";
1
+ import { i as e, n as t, r as n, t as r } from "../../chunks/Tabs-irZuG_PN.js";
2
2
  export { r as Tab, t as TabList, n as TabPanel, e as Tabs };
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, r, t as i } from "../../chunks/Toast-DLM2AsTz.js";
1
+ import { a as e, i as t, n, r, t as i } from "../../chunks/Toast-BGYP8Pw0.js";
2
2
  export { n as ToastQueue, i as ToastRegion, r as createToastQueue, t as defaultToastQueue, e as toast };
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleBar.d.ts","sourceRoot":"","sources":["../../../src/components/ToggleBar/ToggleBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGhI,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAC9D,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;AACxC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAC;AAErD,KAAK,WAAW,GAAG;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;4EACwE;IACxE,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;0EACsE;IACtE,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IACzD,CAAC,WAAW,GAAG;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC,GACF,CAAC,WAAW,GAAG;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CAC/B,CAAC,CAAC;AA8BP,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAwIpG"}
1
+ {"version":3,"file":"ToggleBar.d.ts","sourceRoot":"","sources":["../../../src/components/ToggleBar/ToggleBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9E,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAC9D,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;AACxC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAC;AAErD,KAAK,WAAW,GAAG;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;4EACwE;IACxE,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;0EACsE;IACtE,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IACzD,CAAC,WAAW,GAAG;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC,GACF,CAAC,WAAW,GAAG;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CAC/B,CAAC,CAAC;AAEP,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAqGpG"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ToggleBar-Defj6Asn.js";
1
+ import { t as e } from "../../chunks/ToggleBar-BP1zFcvg.js";
2
2
  export { e as ToggleBar };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ToolButton-Dv6NdZKh.js";
1
+ import { t as e } from "../../chunks/ToolButton-DUeg8fPN.js";
2
2
  export { e as ToolButton };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ToolGroup-BAthcF5H.js";
1
+ import { t as e } from "../../chunks/ToolGroup-D0CvyQhQ.js";
2
2
  export { e as ToolGroup };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ToolOptionsBar-ChiL-HVA.js";
1
+ import { t as e } from "../../chunks/ToolOptionsBar-N_MQcSo4.js";
2
2
  export { e as ToolOptionsBar };
@@ -1 +1 @@
1
- {"version":3,"file":"ToolPalette.d.ts","sourceRoot":"","sources":["../../../src/components/ToolPalette/ToolPalette.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAInE,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA8CtE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;kEAE8D;IAC9D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;IAC/D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAgGlD"}
1
+ {"version":3,"file":"ToolPalette.d.ts","sourceRoot":"","sources":["../../../src/components/ToolPalette/ToolPalette.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAI3E,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA8CtE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;kEAE8D;IAC9D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;IAC/D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAgGlD"}
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "../../chunks/ToolPalette-DXVIEO0w.js";
1
+ import { n as e, r as t, t as n } from "../../chunks/ToolPalette-BipoMdZz.js";
2
2
  export { n as ToolPalette, e as formatShortcut, t as formatShortcutParts };
package/dist/index.d.ts CHANGED
@@ -37,11 +37,14 @@ export * from './components/Plot2D';
37
37
  export * from './components/CurveEditor';
38
38
  export * from './components/PointPlotter';
39
39
  export * from './components/ColorField';
40
+ export * from './components/GradientEditor';
40
41
  export { paintGradientTrack } from './paintGradientTrack';
41
42
  export type { GradientTrackOpts } from './paintGradientTrack';
42
43
  export { oklchToHex, chromaAt } from './color/oklch';
43
44
  export type { ChromaCurve, ChromaCurvePoint } from './color/oklch';
44
45
  export { useReorderDragList } from './useReorderDragList';
46
+ export { useRovingTabIndex } from './useRovingTabIndex';
47
+ export type { RovingItem, RovingTabIndex, UseRovingTabIndexOptions } from './useRovingTabIndex';
45
48
  export { formatNumber, MINUS_SIGN } from './format/number';
46
49
  export type { LayerListItem, UseReorderDragListOptions, ReorderDragState, ReorderDragHandlers, } from './useReorderDragList';
47
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EACV,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EACV,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,94 +1,61 @@
1
1
  import { a as e, i as t, n, r, t as i } from "./chunks/Plot2D-CEnhzodm.js";
2
2
  import { n as a, t as o } from "./chunks/Tooltip-Clgn4trm.js";
3
- import { t as s } from "./chunks/ActionBar-CiKvEvXi.js";
4
- import { n as c, t as l } from "./chunks/Badge-DU8ihE7Z.js";
3
+ import { t as s } from "./chunks/ActionBar-GThu74LC.js";
4
+ import { n as c, t as ee } from "./chunks/Badge-DZQqAV4d.js";
5
5
  import "./components/Badge/index.js";
6
- import { t as ee } from "./chunks/Button-9QNIYugK.js";
7
- import { n as te, t as u } from "./chunks/DataGrid-mUq38k0Q.js";
8
- import { a as d, i as f, n as p, o as m, r as h, t as g } from "./chunks/Keycaps-B9dJMYx_.js";
9
- import { t as _ } from "./chunks/keyGlyph-BDH5fqkO.js";
10
- import { n as v, r as y, t as b } from "./chunks/Slider-sUJGgmKR.js";
11
- import { t as x } from "./chunks/ToggleBar-Defj6Asn.js";
12
- import { t as S } from "./chunks/OptionsBar-CHOP_CiW.js";
13
- import { t as C } from "./chunks/ActionsBar-CzU6Of3B.js";
14
- import { t as w } from "./chunks/ToolOptionsBar-ChiL-HVA.js";
15
- import { t as T } from "./chunks/Powerline-C8rddbbK.js";
16
- import { t as E } from "./chunks/Checkbox-CtK8H_OQ.js";
17
- import { t as D } from "./chunks/ColorField-sGLnThpB.js";
18
- import { n as O, t as k } from "./chunks/Field-BHSu2F3E.js";
19
- import { t as A } from "./chunks/Input-D_Xzgr2b.js";
20
- import { t as j } from "./chunks/NumberField-BQmELz32.js";
21
- import { n as M, t as N } from "./chunks/RadioGroup-Ci-I9NEx.js";
22
- import { t as P } from "./chunks/RangeSlider-CW-edtNx.js";
23
- import { n as F, t as I } from "./chunks/Select-CLyBisCS.js";
24
- import { t as L } from "./chunks/Switch-DxJLMYki.js";
25
- import { a as R, i as z, n as B, r as V, t as H } from "./chunks/Prefs-BkDJ5Cdz.js";
26
- import { t as U } from "./chunks/Dialog-CQymDCAl.js";
27
- import { a as W, c as G, i as K, n as q, o as J, r as Y, s as X, t as Z } from "./chunks/SelectionPanel-DBdhAKIK.js";
28
- import { t as Q } from "./chunks/ResizeHandle-C2OBMqTs.js";
29
- import { t as ne } from "./chunks/Sidebar-doLqiTZH.js";
30
- import { t as re } from "./chunks/SidebarPanel-DjTfOzB9.js";
31
- import { n as ie, r as ae, t as oe } from "./chunks/StatusBar-OOjfqCD8.js";
32
- import { t as se } from "./chunks/ToolButton-Dv6NdZKh.js";
33
- import { t as ce } from "./chunks/ToolGroup-BAthcF5H.js";
34
- import { n as le, r as ue, t as de } from "./chunks/ToolPalette-DXVIEO0w.js";
6
+ import { t as l } from "./chunks/Button-9QNIYugK.js";
7
+ import { n as u, t as d } from "./chunks/DataGrid-BQklXGRl.js";
8
+ import { a as f, i as p, n as m, o as h, r as g, t as _ } from "./chunks/Keycaps-CFX7UAj8.js";
9
+ import { t as v } from "./chunks/keyGlyph-BDH5fqkO.js";
10
+ import { n as y, r as b, t as x } from "./chunks/Slider-Di2kNqVy.js";
11
+ import { t as S } from "./chunks/ToggleBar-BP1zFcvg.js";
12
+ import { t as C } from "./chunks/useRovingTabIndex-DBZtq4IH.js";
13
+ import { t as w } from "./chunks/OptionsBar-hQN-wfd-.js";
14
+ import { t as T } from "./chunks/ActionsBar-CAjrj_Pt.js";
15
+ import { t as E } from "./chunks/ToolOptionsBar-N_MQcSo4.js";
16
+ import { t as D } from "./chunks/Powerline-DkOTPnUV.js";
17
+ import { t as O } from "./chunks/Checkbox-B3Z_u7k0.js";
18
+ import { t as k } from "./chunks/ColorField-B4Hd2qqS.js";
19
+ import { n as A, t as j } from "./chunks/Field-DPxmJzZz.js";
20
+ import { t as M } from "./chunks/Input-Dg_CYXg4.js";
21
+ import { t as N } from "./chunks/NumberField-BhxUgi43.js";
22
+ import { n as P, t as F } from "./chunks/RadioGroup-Bg3Rqxe2.js";
23
+ import { t as I } from "./chunks/RangeSlider-BvM_DGSr.js";
24
+ import { n as L, t as R } from "./chunks/Select-DC0AjrEe.js";
25
+ import { t as z } from "./chunks/Switch-I4putUAY.js";
26
+ import { a as B, i as V, n as H, r as U, t as W } from "./chunks/Prefs-C4HfuTvm.js";
27
+ import { t as G } from "./chunks/Dialog-BFuakycR.js";
28
+ import { a as K, c as q, i as J, n as Y, o as X, r as Z, s as Q, t as te } from "./chunks/SelectionPanel-DoTdisRY.js";
29
+ import { t as ne } from "./chunks/ResizeHandle-BUkW2kZC.js";
30
+ import { t as re } from "./chunks/Sidebar-B8qig3BQ.js";
31
+ import { t as ie } from "./chunks/SidebarPanel-LOt2c-wb.js";
32
+ import { n as ae, r as oe, t as se } from "./chunks/StatusBar-Cg2LzdAm.js";
33
+ import { t as ce } from "./chunks/ToolButton-DUeg8fPN.js";
34
+ import { t as le } from "./chunks/ToolGroup-D0CvyQhQ.js";
35
+ import { n as ue, r as de, t as fe } from "./chunks/ToolPalette-BipoMdZz.js";
35
36
  import "./components/Field/index.js";
36
- import { i as fe, n as pe, r as me, t as he } from "./chunks/Tabs-DOW5jtnq.js";
37
- import { n as ge, t as _e } from "./chunks/ComboBox-CotoRgNi.js";
38
- import { n as ve, t as ye } from "./chunks/Callout-CxxrEcSb.js";
39
- import { a as be, i as xe, n as Se, r as Ce, t as we } from "./chunks/Toast-DLM2AsTz.js";
40
- import { a as Te, i as Ee, n as De, o as $, r as Oe, t as ke } from "./chunks/CurveEditor-DAb2EMyR.js";
41
- import { t as Ae } from "./chunks/PointPlotter-EkbCBK9j.js";
42
- import { oklabToSrgbU8 as je, oklchToOklab as Me, rgbaToHex as Ne } from "@weasel-js/core";
43
- import { jsx as Pe } from "react/jsx-runtime";
44
- //#region src/paintGradientTrack.tsx
45
- var Fe = {
46
- angleDeg: 135,
47
- stripe: 2,
48
- gap: 4,
49
- dim: 75
50
- };
51
- function Ie(e) {
52
- let { gradient: t, samples: n = 16, activeRange: r, hatch: i } = e;
53
- return (e) => {
54
- let a = [];
55
- for (let e = 0; e <= n; e++) {
56
- let r = e / n;
57
- a.push(`${t(r)} ${(r * 100).toFixed(1)}%`);
58
- }
59
- let o = `linear-gradient(to right, ${a.join(", ")})`, s = [];
60
- if (r) {
61
- let t = e.valueToFraction(r[0]) * 100, n = e.valueToFraction(r[1]) * 100, a = {
62
- ...Fe,
63
- ...i
64
- }, o = `repeating-linear-gradient(${a.angleDeg}deg, transparent 0 ${a.stripe}px, var(--wzl-panel-bg, #fafbfc) ${a.stripe}px ${a.stripe + a.gap}px)`, c = `color-mix(in srgb, var(--wzl-panel-bg, #fafbfc) ${a.dim}%, transparent)`, l = `linear-gradient(${c}, ${c})`;
65
- if (t > 0 && (s.push(`${l} left 0 / ${t.toFixed(2)}% 100% no-repeat`), s.push(`${o} left 0 / ${t.toFixed(2)}% 100% no-repeat`)), n < 100) {
66
- let e = (100 - n).toFixed(2);
67
- s.push(`${l} right 0 / ${e}% 100% no-repeat`), s.push(`${o} right 0 / ${e}% 100% no-repeat`);
68
- }
69
- }
70
- return s.push(o), /* @__PURE__ */ Pe("div", { style: {
71
- position: "absolute",
72
- inset: 0,
73
- background: s.join(", ")
74
- } });
75
- };
76
- }
77
- //#endregion
37
+ import { i as pe, n as me, r as he, t as ge } from "./chunks/Tabs-irZuG_PN.js";
38
+ import { n as _e, t as ve } from "./chunks/ComboBox-tbmgND-F.js";
39
+ import { n as ye, t as be } from "./chunks/Callout-DlirfLJl.js";
40
+ import { a as xe, i as Se, n as Ce, r as we, t as Te } from "./chunks/Toast-BGYP8Pw0.js";
41
+ import { a as Ee, i as De, n as $, o as Oe, r as ke, t as Ae } from "./chunks/CurveEditor-CSKqAXMp.js";
42
+ import { t as je } from "./chunks/PointPlotter-DCSjvpN0.js";
43
+ import { n as Me, r as Ne, t as Pe } from "./chunks/GradientEditor-3pYXGAPg.js";
44
+ import { oklabToSrgbU8 as Fe, oklchToOklab as Ie, rgbaToHex as Le } from "@weasel-js/core";
78
45
  //#region src/color/oklch.ts
79
- function Le(e, t, n) {
80
- let [r, i, a] = Me(e, t, n * Math.PI / 180), [o, s, c] = je(r, i, a);
81
- return Ne([
46
+ function Re(e, t, n) {
47
+ let [r, i, a] = Ie(e, t, n * Math.PI / 180), [o, s, c] = Fe(r, i, a);
48
+ return Le([
82
49
  o / 255,
83
50
  s / 255,
84
51
  c / 255
85
52
  ]);
86
53
  }
87
- function Re(e, t) {
54
+ function ze(e, t) {
88
55
  let [n, r] = t.lRange;
89
56
  return e <= n ? t.cBot : e >= r ? t.cTop : e <= t.midL ? t.cBot + (t.cPeak - t.cBot) * ((e - n) / (t.midL - n)) : t.cPeak + (t.cTop - t.cPeak) * ((e - t.midL) / (r - t.midL));
90
57
  }
91
58
  //#endregion
92
- export { s as ActionBar, C as ActionsBar, l as Badge, ee as Button, ye as Callout, ve as CalloutTrigger, E as Checkbox, D as ColorField, _e as ComboBox, ge as ComboBoxItem, De as CurveEditor, u as DataGrid, U as Dialog, c as EDGE_PROFILES, k as Field, A as Input, d as KeyCap, f as KeySequence, Oe as LayeredCurveEditor, v as MINUS_SIGN, q as MIXED, j as NumberField, S as OptionsBar, i as Plot2D, Ae as PointPlotter, T as Powerline, H as PrefsDialog, B as PrefsForm, N as Radio, M as RadioGroup, P as RangeSlider, Q as ResizeHandle, I as Select, F as SelectItem, Z as SelectionPanel, ne as Sidebar, re as SidebarPanel, b as Slider, oe as StatusBar, ie as StatusBarItem, ae as StatusBarSpacer, L as Switch, he as Tab, pe as TabList, me as TabPanel, fe as Tabs, Se as ToastQueue, we as ToastRegion, x as ToggleBar, se as ToolButton, ce as ToolGroup, w as ToolOptionsBar, de as ToolPalette, o as Tooltip, a as TooltipTrigger, Y as aggregateValue, Re as chromaAt, K as classifyKind, Ee as createFunctionLayer, ke as createSetCurveOp, Ce as createToastQueue, xe as defaultToastQueue, g as detectPlatform, t as dlog, W as effectiveSections, O as fieldClasses, y as formatNumber, le as formatShortcut, ue as formatShortcutParts, Te as functionLayerState, m as inferKeycapKind, e as isDebugEnabled, V as isPrefLeaf, _ as keyGlyph, p as keySpecFromKey, h as keySpecsFromMods, J as kindBreakdown, n as modelToPlot, X as nodeValueAt, Le as oklchToHex, Ie as paintGradientTrack, r as plotToModel, z as prefValueAtPath, $ as sampleByInterpolation, G as setAtPath, be as toast, te as useReorderDragList, R as visiblePrefSubtree };
59
+ export { s as ActionBar, T as ActionsBar, ee as Badge, l as Button, be as Callout, ye as CalloutTrigger, O as Checkbox, k as ColorField, ve as ComboBox, _e as ComboBoxItem, $ as CurveEditor, d as DataGrid, G as Dialog, c as EDGE_PROFILES, j as Field, Me as GradientEditor, Pe as GradientHandles, M as Input, f as KeyCap, p as KeySequence, ke as LayeredCurveEditor, y as MINUS_SIGN, Y as MIXED, N as NumberField, w as OptionsBar, i as Plot2D, je as PointPlotter, D as Powerline, W as PrefsDialog, H as PrefsForm, F as Radio, P as RadioGroup, I as RangeSlider, ne as ResizeHandle, R as Select, L as SelectItem, te as SelectionPanel, re as Sidebar, ie as SidebarPanel, x as Slider, se as StatusBar, ae as StatusBarItem, oe as StatusBarSpacer, z as Switch, ge as Tab, me as TabList, he as TabPanel, pe as Tabs, Ce as ToastQueue, Te as ToastRegion, S as ToggleBar, ce as ToolButton, le as ToolGroup, E as ToolOptionsBar, fe as ToolPalette, o as Tooltip, a as TooltipTrigger, Z as aggregateValue, ze as chromaAt, J as classifyKind, De as createFunctionLayer, Ae as createSetCurveOp, we as createToastQueue, Se as defaultToastQueue, _ as detectPlatform, t as dlog, K as effectiveSections, A as fieldClasses, b as formatNumber, ue as formatShortcut, de as formatShortcutParts, Ee as functionLayerState, h as inferKeycapKind, e as isDebugEnabled, U as isPrefLeaf, v as keyGlyph, m as keySpecFromKey, g as keySpecsFromMods, X as kindBreakdown, n as modelToPlot, Q as nodeValueAt, Re as oklchToHex, Ne as paintGradientTrack, r as plotToModel, V as prefValueAtPath, Oe as sampleByInterpolation, q as setAtPath, xe as toast, u as useReorderDragList, C as useRovingTabIndex, B as visiblePrefSubtree };
93
60
 
94
61
  //# sourceMappingURL=index.js.map