@hanzo/ui 8.27.85 → 8.27.87

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 (77) hide show
  1. package/dist/auth/session.cjs +47 -2
  2. package/dist/auth/session.d.ts +2 -0
  3. package/dist/auth/session.d.ts.map +1 -1
  4. package/dist/auth/session.js +45 -1
  5. package/dist/auth/session.js.map +1 -1
  6. package/dist/backends/gui/choice.cjs +4 -0
  7. package/dist/backends/gui/choice.d.ts +3 -0
  8. package/dist/backends/gui/choice.d.ts.map +1 -1
  9. package/dist/backends/gui/choice.js +3 -0
  10. package/dist/backends/gui/choice.js.map +1 -1
  11. package/dist/backends/gui/code-editor.cjs +13 -13
  12. package/dist/backends/gui/code-editor.d.ts +4 -4
  13. package/dist/backends/gui/code-editor.d.ts.map +1 -1
  14. package/dist/backends/gui/code-editor.js +14 -14
  15. package/dist/backends/gui/code-editor.js.map +1 -1
  16. package/dist/backends/gui/grip.cjs +128 -81
  17. package/dist/backends/gui/grip.d.ts +48 -25
  18. package/dist/backends/gui/grip.d.ts.map +1 -1
  19. package/dist/backends/gui/grip.js +129 -81
  20. package/dist/backends/gui/grip.js.map +1 -1
  21. package/dist/backends/gui/index.cjs +12 -7
  22. package/dist/backends/gui/index.d.ts +3 -1
  23. package/dist/backends/gui/index.d.ts.map +1 -1
  24. package/dist/backends/gui/index.js +3 -1
  25. package/dist/backends/gui/index.js.map +1 -1
  26. package/dist/backends/gui/json-tree.cjs +14 -16
  27. package/dist/backends/gui/json-tree.d.ts +3 -3
  28. package/dist/backends/gui/json-tree.d.ts.map +1 -1
  29. package/dist/backends/gui/json-tree.js +15 -17
  30. package/dist/backends/gui/json-tree.js.map +1 -1
  31. package/dist/backends/gui/span.cjs +54 -0
  32. package/dist/backends/gui/span.d.ts +15 -0
  33. package/dist/backends/gui/span.d.ts.map +1 -0
  34. package/dist/backends/gui/span.js +52 -0
  35. package/dist/backends/gui/span.js.map +1 -0
  36. package/dist/gallery.html +9 -4
  37. package/dist/index.cjs +8 -5
  38. package/dist/index.d.ts +1 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/index.node.cjs +8 -5
  43. package/dist/index.node.js +1 -1
  44. package/dist/onboarding/Checkout.cjs +40 -23
  45. package/dist/onboarding/Checkout.d.ts +1 -0
  46. package/dist/onboarding/Checkout.d.ts.map +1 -1
  47. package/dist/onboarding/Checkout.js +44 -27
  48. package/dist/onboarding/Checkout.js.map +1 -1
  49. package/dist/onboarding/Onboarding.cjs +2 -3
  50. package/dist/onboarding/Onboarding.d.ts +3 -2
  51. package/dist/onboarding/Onboarding.d.ts.map +1 -1
  52. package/dist/onboarding/Onboarding.js +2 -3
  53. package/dist/onboarding/Onboarding.js.map +1 -1
  54. package/dist/onboarding/api.cjs +47 -5
  55. package/dist/onboarding/api.d.ts +2 -1
  56. package/dist/onboarding/api.d.ts.map +1 -1
  57. package/dist/onboarding/api.js +47 -6
  58. package/dist/onboarding/api.js.map +1 -1
  59. package/dist/onboarding/attempt.cjs +3 -3
  60. package/dist/onboarding/attempt.js +3 -3
  61. package/dist/onboarding/attempt.js.map +1 -1
  62. package/dist/onboarding/screens.cjs +1 -1
  63. package/dist/onboarding/screens.d.ts.map +1 -1
  64. package/dist/onboarding/screens.js +2 -2
  65. package/dist/onboarding/screens.js.map +1 -1
  66. package/dist/primitives/Grip.cjs +8 -0
  67. package/dist/primitives/Grip.d.ts +2 -0
  68. package/dist/primitives/Grip.d.ts.map +1 -0
  69. package/dist/primitives/Grip.js +5 -0
  70. package/dist/primitives/Grip.js.map +1 -0
  71. package/dist/primitives/useSpan.cjs +8 -0
  72. package/dist/primitives/useSpan.d.ts +2 -0
  73. package/dist/primitives/useSpan.d.ts.map +1 -0
  74. package/dist/primitives/useSpan.js +5 -0
  75. package/dist/primitives/useSpan.js.map +1 -0
  76. package/dist/styles.css +5 -0
  77. package/package.json +1 -1
@@ -5,7 +5,7 @@
5
5
  * the one derivation every surface reads the bearer through.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.identity = exports.refresher = exports.bearer = void 0;
8
+ exports.identity = exports.refresher = exports.currentOrg = exports.bearer = void 0;
9
9
  exports.live = live;
10
10
  const PREFIX = 'hanzo_iam_';
11
11
  const ACCESS = `${PREFIX}access_token`;
@@ -22,9 +22,54 @@ const read = (key) => {
22
22
  return null;
23
23
  }
24
24
  };
25
+ const readSession = (key) => {
26
+ if (typeof window === 'undefined')
27
+ return null;
28
+ try {
29
+ return window.sessionStorage?.getItem(key) ?? null;
30
+ }
31
+ catch {
32
+ return null;
33
+ }
34
+ };
35
+ const readCookie = (name) => {
36
+ if (typeof document === 'undefined' || !document.cookie)
37
+ return null;
38
+ try {
39
+ const match = document.cookie
40
+ .split('; ')
41
+ .find((row) => row.startsWith(`${name}=`));
42
+ if (match) {
43
+ const val = match.split('=')[1];
44
+ return val ? decodeURIComponent(val) : null;
45
+ }
46
+ return null;
47
+ }
48
+ catch {
49
+ return null;
50
+ }
51
+ };
25
52
  /** The access token, or null. Storage that throws answers null. */
26
- const bearer = () => read(ACCESS);
53
+ const bearer = () => read(ACCESS) ||
54
+ read('hanzo_access_token') ||
55
+ read('token') ||
56
+ read('auth_token') ||
57
+ readSession(ACCESS) ||
58
+ readSession('hanzo_access_token') ||
59
+ readSession('token') ||
60
+ readCookie(ACCESS) ||
61
+ readCookie('auth_token') ||
62
+ readCookie('token') ||
63
+ readCookie('hanzo_access_token');
27
64
  exports.bearer = bearer;
65
+ /** The active organization slug, or null. */
66
+ const currentOrg = () => read(`${PREFIX}current_org`) ||
67
+ readSession(`${PREFIX}current_org`) ||
68
+ read('org') ||
69
+ readCookie(`${PREFIX}current_org`) ||
70
+ readCookie('org') ||
71
+ null;
72
+ exports.currentOrg = currentOrg;
28
73
  /** The refresh token, or null. */
29
74
  const refresher = () => read(REFRESH);
30
75
  exports.refresher = refresher;
@@ -5,6 +5,8 @@
5
5
  */
6
6
  /** The access token, or null. Storage that throws answers null. */
7
7
  export declare const bearer: () => string | null;
8
+ /** The active organization slug, or null. */
9
+ export declare const currentOrg: () => string | null;
8
10
  /** The refresh token, or null. */
9
11
  export declare const refresher: () => string | null;
10
12
  /** The ID token, or null: the hint IAM's end-session route names the session by. */
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/auth/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,mEAAmE;AACnE,eAAO,MAAM,MAAM,QAAO,MAAM,GAAG,IAAoB,CAAA;AAEvD,kCAAkC;AAClC,eAAO,MAAM,SAAS,QAAO,MAAM,GAAG,IAAqB,CAAA;AAE3D,oFAAoF;AACpF,eAAO,MAAM,QAAQ,QAAO,MAAM,GAAG,IAAgB,CAAA;AAErD,kGAAkG;AAClG,wBAAgB,IAAI,IAAI,OAAO,CAG9B"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/auth/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0CH,mEAAmE;AACnE,eAAO,MAAM,MAAM,QAAO,MAAM,GAAG,IAWD,CAAA;AAElC,6CAA6C;AAC7C,eAAO,MAAM,UAAU,QAAO,MAAM,GAAG,IAMjC,CAAA;AAEN,kCAAkC;AAClC,eAAO,MAAM,SAAS,QAAO,MAAM,GAAG,IAAqB,CAAA;AAE3D,oFAAoF;AACpF,eAAO,MAAM,QAAQ,QAAO,MAAM,GAAG,IAAgB,CAAA;AAErD,kGAAkG;AAClG,wBAAgB,IAAI,IAAI,OAAO,CAG9B"}
@@ -18,8 +18,52 @@ const read = (key) => {
18
18
  return null;
19
19
  }
20
20
  };
21
+ const readSession = (key) => {
22
+ if (typeof window === 'undefined')
23
+ return null;
24
+ try {
25
+ return window.sessionStorage?.getItem(key) ?? null;
26
+ }
27
+ catch {
28
+ return null;
29
+ }
30
+ };
31
+ const readCookie = (name) => {
32
+ if (typeof document === 'undefined' || !document.cookie)
33
+ return null;
34
+ try {
35
+ const match = document.cookie
36
+ .split('; ')
37
+ .find((row) => row.startsWith(`${name}=`));
38
+ if (match) {
39
+ const val = match.split('=')[1];
40
+ return val ? decodeURIComponent(val) : null;
41
+ }
42
+ return null;
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ };
21
48
  /** The access token, or null. Storage that throws answers null. */
22
- export const bearer = () => read(ACCESS);
49
+ export const bearer = () => read(ACCESS) ||
50
+ read('hanzo_access_token') ||
51
+ read('token') ||
52
+ read('auth_token') ||
53
+ readSession(ACCESS) ||
54
+ readSession('hanzo_access_token') ||
55
+ readSession('token') ||
56
+ readCookie(ACCESS) ||
57
+ readCookie('auth_token') ||
58
+ readCookie('token') ||
59
+ readCookie('hanzo_access_token');
60
+ /** The active organization slug, or null. */
61
+ export const currentOrg = () => read(`${PREFIX}current_org`) ||
62
+ readSession(`${PREFIX}current_org`) ||
63
+ read('org') ||
64
+ readCookie(`${PREFIX}current_org`) ||
65
+ readCookie('org') ||
66
+ null;
23
67
  /** The refresh token, or null. */
24
68
  export const refresher = () => read(REFRESH);
25
69
  /** The ID token, or null: the hint IAM's end-session route names the session by. */
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/auth/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,GAAG,YAAY,CAAA;AAC3B,MAAM,MAAM,GAAG,GAAG,MAAM,cAAc,CAAA;AACtC,MAAM,OAAO,GAAG,GAAG,MAAM,eAAe,CAAA;AACxC,MAAM,OAAO,GAAG,GAAG,MAAM,YAAY,CAAA;AACrC,MAAM,EAAE,GAAG,GAAG,MAAM,UAAU,CAAA;AAE9B,MAAM,IAAI,GAAG,CAAC,GAAW,EAAiB,EAAE;IAC1C,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAC9C,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAkB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAEvD,kCAAkC;AAClC,MAAM,CAAC,MAAM,SAAS,GAAG,GAAkB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAE3D,oFAAoF;AACpF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAkB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAErD,kGAAkG;AAClG,MAAM,UAAU,IAAI;IAClB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7B,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;AACxE,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/auth/session.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  'use client';
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.ChoiceCard = ChoiceCard;
5
+ exports.RadioCircle = RadioCircle;
5
6
  exports.ChoiceGroup = ChoiceGroup;
6
7
  const jsx_runtime_1 = require("react/jsx-runtime");
7
8
  /**
@@ -42,6 +43,9 @@ function ChoiceCard({ selected, onSelect, children, ...props }) {
42
43
  }
43
44
  }, ...props, children: children }));
44
45
  }
46
+ function RadioCircle({ selected }) {
47
+ return ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('choice-indicator'), width: 18, height: 18, rounded: 9999, borderWidth: 2, borderColor: selected ? '$ink' : '$bound', bg: selected ? '$ink' : 'transparent', items: "center", justify: "center", shrink: 0, pointerEvents: "none", children: selected ? (0, jsx_runtime_1.jsx)(gui_1.XStack, { width: 6, height: 6, rounded: 9999, bg: "$background" }) : null }));
48
+ }
45
49
  function ChoiceGroup({ label, ...props }) {
46
50
  return (0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('choice-group'), role: "radiogroup", "aria-label": label, gap: "$4", width: "100%", ...props });
47
51
  }
@@ -20,6 +20,9 @@ export type ChoiceCardProps = Omit<ComponentProps<typeof Frame>, 'children' | 'o
20
20
  children?: ReactNode;
21
21
  };
22
22
  export declare function ChoiceCard({ selected, onSelect, children, ...props }: ChoiceCardProps): import("react").JSX.Element;
23
+ export declare function RadioCircle({ selected }: {
24
+ selected: boolean;
25
+ }): import("react").JSX.Element;
23
26
  export type ChoiceGroupProps = ComponentProps<typeof XStack> & {
24
27
  label: string;
25
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"choice.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/choice.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtD,QAAA,MAAM,KAAK;;;;8CAgBT,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG;IACzF,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,+BAqBrF;AAED,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhF,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAEhE"}
1
+ {"version":3,"file":"choice.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/choice.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtD,QAAA,MAAM,KAAK;;;;8CAgBT,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG;IACzF,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,+BAqBrF;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,+BAkB9D;AAED,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhF,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAEhE"}
@@ -38,6 +38,9 @@ export function ChoiceCard({ selected, onSelect, children, ...props }) {
38
38
  }
39
39
  }, ...props, children: children }));
40
40
  }
41
+ export function RadioCircle({ selected }) {
42
+ return (_jsx(XStack, { ...slot('choice-indicator'), width: 18, height: 18, rounded: 9999, borderWidth: 2, borderColor: selected ? '$ink' : '$bound', bg: selected ? '$ink' : 'transparent', items: "center", justify: "center", shrink: 0, pointerEvents: "none", children: selected ? _jsx(XStack, { width: 6, height: 6, rounded: 9999, bg: "$background" }) : null }));
43
+ }
41
44
  export function ChoiceGroup({ label, ...props }) {
42
45
  return _jsx(XStack, { ...slot('choice-group'), role: "radiogroup", "aria-label": label, gap: "$4", width: "100%", ...props });
43
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"choice.js","sourceRoot":"","sources":["../../../src/backends/gui/choice.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE;IAC3B,IAAI,EAAE,QAAQ;IACd,EAAE,EAAE,aAAa;IACjB,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,cAAc;IAC3B,OAAO,EAAE,IAAI;IACb,CAAC,EAAE,IAAI;IACP,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;IACnC,iBAAiB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE;IAC5F,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE;SAC5C;KACO;CACX,CAAC,CAAA;AAQF,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAmB;IACpF,OAAO,CACL,KAAC,KAAK,OACA,IAAI,CAAC,QAAQ,CAAC,EAClB,IAAI,EAAC,OAAO,kBACE,QAAQ,EACtB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,QAAQ;QACjB,8DAA8D;QAC9D,SAAS,EAAE,CAAC,CAAM,EAAE,EAAE;YACpB,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACvC,CAAC,CAAC,cAAc,EAAE,CAAA;gBAClB,QAAQ,EAAE,CAAA;YACZ,CAAC;QACH,CAAC,KACG,KAAK,YAER,QAAQ,GACH,CACT,CAAA;AACH,CAAC;AAID,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAoB;IAC/D,OAAO,KAAC,MAAM,OAAK,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAC,YAAY,gBAAa,KAAK,EAAE,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,KAAK,KAAK,GAAI,CAAA;AACnH,CAAC"}
1
+ {"version":3,"file":"choice.js","sourceRoot":"","sources":["../../../src/backends/gui/choice.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE;IAC3B,IAAI,EAAE,QAAQ;IACd,EAAE,EAAE,aAAa;IACjB,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,cAAc;IAC3B,OAAO,EAAE,IAAI;IACb,CAAC,EAAE,IAAI;IACP,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;IACnC,iBAAiB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE;IAC5F,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE;SAC5C;KACO;CACX,CAAC,CAAA;AAQF,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAmB;IACpF,OAAO,CACL,KAAC,KAAK,OACA,IAAI,CAAC,QAAQ,CAAC,EAClB,IAAI,EAAC,OAAO,kBACE,QAAQ,EACtB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,QAAQ;QACjB,8DAA8D;QAC9D,SAAS,EAAE,CAAC,CAAM,EAAE,EAAE;YACpB,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACvC,CAAC,CAAC,cAAc,EAAE,CAAA;gBAClB,QAAQ,EAAE,CAAA;YACZ,CAAC;QACH,CAAC,KACG,KAAK,YAER,QAAQ,GACH,CACT,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAyB;IAC7D,OAAO,CACL,KAAC,MAAM,OACD,IAAI,CAAC,kBAAkB,CAAC,EAC5B,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,OAAO,EAAE,IAAI,EACb,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EACzC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EACrC,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,QAAQ,EAChB,MAAM,EAAE,CAAC,EACT,aAAa,EAAC,MAAM,YAEnB,QAAQ,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAC,aAAa,GAAG,CAAC,CAAC,CAAC,IAAI,GAC3E,CACV,CAAA;AACH,CAAC;AAID,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAoB;IAC/D,OAAO,KAAC,MAAM,OAAK,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAC,YAAY,gBAAa,KAAK,EAAE,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,KAAK,KAAK,GAAI,CAAA;AACnH,CAAC"}
@@ -43,9 +43,9 @@ const jsx_runtime_1 = require("react/jsx-runtime");
43
43
  * handle that resizes the editor.
44
44
  *
45
45
  * Height. With no `height` the editor is as tall as its text, from `minHeight`
46
- * up to `maxHeight`, and scrolls past that. Dragging the footer (or ArrowUp /
47
- * ArrowDown on it) sets a height of the reader's own, past the cap if they
48
- * want; a double-click hands the height back to the text. A `height` fixes it,
46
+ * up to `maxHeight`, and scrolls past that. Dragging its bottom edge (`Grip`,
47
+ * or ArrowUp / ArrowDown on it) sets a height of the reader's own, past the cap
48
+ * if they want; a double-click hands the height back to the text. A `height` fixes it,
49
49
  * and `'100%'` fills a frame that is itself sized (a flex child).
50
50
  *
51
51
  * JSON. `language="json"` colours the syntax and checks the text on every
@@ -131,6 +131,10 @@ const LABEL = {
131
131
  shell: 'Shell',
132
132
  plaintext: 'Plain Text',
133
133
  };
134
+ /** The tallest a drag makes the editor, px: a ceiling that is not one. */
135
+ const CEILING = 4096;
136
+ /** Half the grip's band, so it sits astride the editor's edge. */
137
+ const BAND_HALF = 4;
134
138
  /** Line height as a multiple of the font size. */
135
139
  const LEADING = 1.6;
136
140
  const MONO = "var(--font-mono, 'Zen Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)";
@@ -336,12 +340,8 @@ function CodeEditor({ value, defaultValue = '', language = 'javascript', height,
336
340
  /** Every text reported to `onChange` and not yet seen back as `value`. */
337
341
  const sent = React.useRef([]);
338
342
  const view = React.useRef(null);
339
- const sized = (0, grip_1.useGrip)({
340
- enabled: resizable,
341
- min: minHeight,
342
- measure: () => view.current?.dom.getBoundingClientRect().height ?? minHeight,
343
- });
344
- const dragged = sized.height;
343
+ /** A height the reader dragged to, or null while the editor follows its text. */
344
+ const [dragged, setDragged] = React.useState(null);
345
345
  const timer = React.useRef(undefined);
346
346
  const listeners = React.useRef({ onChange, onCheck });
347
347
  listeners.current = { onChange, onCheck };
@@ -494,10 +494,10 @@ function CodeEditor({ value, defaultValue = '', language = 'javascript', height,
494
494
  const fills = typeof height === 'string' && height.endsWith('%');
495
495
  const formattable = showFormatButton ?? (isJson && !readOnly);
496
496
  const toolbar = showLanguageSelector || showCopyButton || formattable;
497
- const footer = resizable || (isJson && check !== null);
498
- return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('code-editor'), borderWidth: 1, borderColor: "$borderColor", rounded: "$3", overflow: "hidden", bg: "$background", focusWithinStyle: { borderColor: '$outlineColor' }, ...props, children: [toolbar && ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('code-editor-toolbar'), items: "center", justify: "space-between", flexWrap: "wrap", gap: "$2", borderBottomWidth: 1, borderColor: "$borderColor", bg: "$panel", px: "$2", py: "$1", children: [showLanguageSelector ? ((0, jsx_runtime_1.jsxs)(select_1.Select, { value: selected, onValueChange: setSelected, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { ...(0, slot_1.slot)('code-editor-language-trigger'), width: "auto", minHeight: 32, borderWidth: 0, bg: "transparent", gap: "$1.5", px: "$2", children: (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", fontFamily: "$mono", children: LABEL[selected] ?? selected }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { ...(0, slot_1.slot)('code-editor-language-content'), children: availableLanguages.map((lang) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: lang, children: LABEL[lang] ?? lang }, lang))) })] })) : ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { ...(0, slot_1.slot)('code-editor-language'), size: "$1", fontFamily: "$mono", color: "$soft", px: "$2", children: LABEL[selected] ?? selected })), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", justify: "flex-end", flexWrap: "wrap", gap: "$1", shrink: 1, minW: 0, children: [formattable && ((0, jsx_runtime_1.jsxs)(button_1.Button, { ...(0, slot_1.slot)('code-editor-format-button'), variant: "ghost", size: "sm", disabled: check?.kind !== 'json', onClick: format, children: [(0, jsx_runtime_1.jsx)(lucide_icons_2_1.AlignLeft, { size: 14 }), "Format"] })), showCopyButton && ((0, jsx_runtime_1.jsxs)(button_1.Button, { ...(0, slot_1.slot)('code-editor-copy-button'), variant: "ghost", size: "sm", disabled: !text, onClick: copy, children: [copied ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: 14 }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Copy, { size: 14 }), copied ? 'Copied!' : 'Copy'] }))] })] })), (0, jsx_runtime_1.jsx)(gui_1.YStack, { ref: host, ...(0, slot_1.slot)('code-editor-body'), ...(fills && { flex: 1, minH: 0 }) }), footer && ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ref: sized.grip, ...(0, slot_1.slot)('code-editor-footer'), cursor: resizable ? 'row-resize' : undefined, items: "center", justify: "space-between", gap: "$2", minH: 28, px: "$3", py: "$1", borderTopWidth: 1, borderColor: "$borderColor", bg: "$panel", select: "none",
499
- // A touch drag would otherwise scroll the page and cancel the pointer.
500
- style: resizable ? { touchAction: 'none' } : undefined, children: [(0, jsx_runtime_1.jsx)(Status, { check: isJson ? check : null }), resizable && ((0, jsx_runtime_1.jsx)(grip_1.Grip, { knob: sized.knob, name: "code-editor-resize", label: label, min: minHeight, height: dragged }))] }))] }));
497
+ const footer = isJson && check !== null;
498
+ return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('code-editor'), borderWidth: 1, borderColor: "$borderColor", rounded: "$3", overflow: "hidden", bg: "$background", focusWithinStyle: { borderColor: '$outlineColor' }, ...props, children: [toolbar && ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('code-editor-toolbar'), items: "center", justify: "space-between", flexWrap: "wrap", gap: "$2", borderBottomWidth: 1, borderColor: "$borderColor", bg: "$panel", px: "$2", py: "$1", children: [showLanguageSelector ? ((0, jsx_runtime_1.jsxs)(select_1.Select, { value: selected, onValueChange: setSelected, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { ...(0, slot_1.slot)('code-editor-language-trigger'), width: "auto", minHeight: 32, borderWidth: 0, bg: "transparent", gap: "$1.5", px: "$2", children: (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", fontFamily: "$mono", children: LABEL[selected] ?? selected }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { ...(0, slot_1.slot)('code-editor-language-content'), children: availableLanguages.map((lang) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: lang, children: LABEL[lang] ?? lang }, lang))) })] })) : ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { ...(0, slot_1.slot)('code-editor-language'), size: "$1", fontFamily: "$mono", color: "$soft", px: "$2", children: LABEL[selected] ?? selected })), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", justify: "flex-end", flexWrap: "wrap", gap: "$1", shrink: 1, minW: 0, children: [formattable && ((0, jsx_runtime_1.jsxs)(button_1.Button, { ...(0, slot_1.slot)('code-editor-format-button'), variant: "ghost", size: "sm", disabled: check?.kind !== 'json', onClick: format, children: [(0, jsx_runtime_1.jsx)(lucide_icons_2_1.AlignLeft, { size: 14 }), "Format"] })), showCopyButton && ((0, jsx_runtime_1.jsxs)(button_1.Button, { ...(0, slot_1.slot)('code-editor-copy-button'), variant: "ghost", size: "sm", disabled: !text, onClick: copy, children: [copied ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: 14 }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Copy, { size: 14 }), copied ? 'Copied!' : 'Copy'] }))] })] })), (0, jsx_runtime_1.jsxs)(gui_1.YStack, { position: "relative", ...(fills && { flex: 1, minH: 0 }), children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { ref: host, ...(0, slot_1.slot)('code-editor-body'), ...(fills && { flex: 1, minH: 0 }) }), resizable && ((0, jsx_runtime_1.jsx)(grip_1.Grip, { side: "top", span: dragged ?? minHeight, floor: minHeight, ceil: CEILING, onSpan: setDragged, onReset: () => setDragged(null), label: `Resize ${label}`,
499
+ // Astride the editor's bottom edge, so it takes no line from the text.
500
+ b: -BAND_HALF }))] }), footer && ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('code-editor-footer'), items: "center", justify: "space-between", gap: "$2", minH: 28, px: "$3", py: "$1", borderTopWidth: 1, borderColor: "$borderColor", bg: "$panel", children: (0, jsx_runtime_1.jsx)(Status, { check: check }) }))] }));
501
501
  }
502
502
  /** The footer's JSON verdict, announced politely when it changes. */
503
503
  function Status({ check }) {
@@ -5,9 +5,9 @@
5
5
  * handle that resizes the editor.
6
6
  *
7
7
  * Height. With no `height` the editor is as tall as its text, from `minHeight`
8
- * up to `maxHeight`, and scrolls past that. Dragging the footer (or ArrowUp /
9
- * ArrowDown on it) sets a height of the reader's own, past the cap if they
10
- * want; a double-click hands the height back to the text. A `height` fixes it,
8
+ * up to `maxHeight`, and scrolls past that. Dragging its bottom edge (`Grip`,
9
+ * or ArrowUp / ArrowDown on it) sets a height of the reader's own, past the cap
10
+ * if they want; a double-click hands the height back to the text. A `height` fixes it,
11
11
  * and `'100%'` fills a frame that is itself sized (a flex child).
12
12
  *
13
13
  * JSON. `language="json"` colours the syntax and checks the text on every
@@ -41,7 +41,7 @@ export interface CodeEditorProps extends Omit<YStackProps, 'children' | 'height'
41
41
  minHeight?: number;
42
42
  /** The tallest it grows on its own, in px; past it the editor scrolls. */
43
43
  maxHeight?: number;
44
- /** Whether the footer resizes the editor. Defaults to true unless `height` is set. */
44
+ /** Whether the editor's bottom edge resizes it. Defaults to true unless `height` is set. */
45
45
  resizable?: boolean;
46
46
  /** JSON only: text that does not open an object or an array is plain text, not an error. */
47
47
  allowText?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"code-editor.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/code-editor.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAA+B,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAiB1E,OAAO,EAEL,UAAU,EAYX,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAA;AAK9D,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,KAAK,GAAG,gBAAgB,GAAG,SAAS,CAAA;AA4Q5E,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;IACzF,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mGAAmG;IACnG,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sFAAsF;IACtF,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACpC,0DAA0D;IAC1D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,YAAiB,EACjB,QAAuB,EACvB,MAAM,EACN,SAAc,EACd,SAAe,EACf,SAAgC,EAChC,SAAiB,EACjB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,QAAgB,EAChB,WAAkB,EAClB,QAAe,EACf,QAAa,EACb,WAAW,EACX,cAAqB,EACrB,gBAAgB,EAChB,oBAA2B,EAC3B,kBAA8B,EAC9B,KAAc,EACd,GAAG,KAAK,EACT,EAAE,eAAe,qBA2RjB"}
1
+ {"version":3,"file":"code-editor.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/code-editor.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAA+B,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAiB1E,OAAO,EAEL,UAAU,EAYX,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAA;AAK9D,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,KAAK,GAAG,gBAAgB,GAAG,SAAS,CAAA;AAiR5E,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;IACzF,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mGAAmG;IACnG,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACpC,0DAA0D;IAC1D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,YAAiB,EACjB,QAAuB,EACvB,MAAM,EACN,SAAc,EACd,SAAe,EACf,SAAgC,EAChC,SAAiB,EACjB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,QAAgB,EAChB,WAAkB,EAClB,QAAe,EACf,QAAa,EACb,WAAW,EACX,cAAqB,EACrB,gBAAgB,EAChB,oBAA2B,EAC3B,kBAA8B,EAC9B,KAAc,EACd,GAAG,KAAK,EACT,EAAE,eAAe,qBA4RjB"}
@@ -7,9 +7,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
7
  * handle that resizes the editor.
8
8
  *
9
9
  * Height. With no `height` the editor is as tall as its text, from `minHeight`
10
- * up to `maxHeight`, and scrolls past that. Dragging the footer (or ArrowUp /
11
- * ArrowDown on it) sets a height of the reader's own, past the cap if they
12
- * want; a double-click hands the height back to the text. A `height` fixes it,
10
+ * up to `maxHeight`, and scrolls past that. Dragging its bottom edge (`Grip`,
11
+ * or ArrowUp / ArrowDown on it) sets a height of the reader's own, past the cap
12
+ * if they want; a double-click hands the height back to the text. A `height` fixes it,
13
13
  * and `'100%'` fills a frame that is itself sized (a flex child).
14
14
  *
15
15
  * JSON. `language="json"` colours the syntax and checks the text on every
@@ -37,7 +37,7 @@ import { Decoration, EditorView, GutterMarker, drawSelection, gutterLineClass, h
37
37
  import { tags } from '@lezer/highlight';
38
38
  import * as React from 'react';
39
39
  import { Button } from './button.js';
40
- import { Grip, useGrip } from './grip.js';
40
+ import { Grip } from './grip.js';
41
41
  import { checkJson, formatJson } from './json.js';
42
42
  import { Select, SelectContent, SelectItem, SelectTrigger } from './select.js';
43
43
  import { slot } from './slot.js';
@@ -95,6 +95,10 @@ const LABEL = {
95
95
  shell: 'Shell',
96
96
  plaintext: 'Plain Text',
97
97
  };
98
+ /** The tallest a drag makes the editor, px: a ceiling that is not one. */
99
+ const CEILING = 4096;
100
+ /** Half the grip's band, so it sits astride the editor's edge. */
101
+ const BAND_HALF = 4;
98
102
  /** Line height as a multiple of the font size. */
99
103
  const LEADING = 1.6;
100
104
  const MONO = "var(--font-mono, 'Zen Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)";
@@ -300,12 +304,8 @@ export function CodeEditor({ value, defaultValue = '', language = 'javascript',
300
304
  /** Every text reported to `onChange` and not yet seen back as `value`. */
301
305
  const sent = React.useRef([]);
302
306
  const view = React.useRef(null);
303
- const sized = useGrip({
304
- enabled: resizable,
305
- min: minHeight,
306
- measure: () => view.current?.dom.getBoundingClientRect().height ?? minHeight,
307
- });
308
- const dragged = sized.height;
307
+ /** A height the reader dragged to, or null while the editor follows its text. */
308
+ const [dragged, setDragged] = React.useState(null);
309
309
  const timer = React.useRef(undefined);
310
310
  const listeners = React.useRef({ onChange, onCheck });
311
311
  listeners.current = { onChange, onCheck };
@@ -458,10 +458,10 @@ export function CodeEditor({ value, defaultValue = '', language = 'javascript',
458
458
  const fills = typeof height === 'string' && height.endsWith('%');
459
459
  const formattable = showFormatButton ?? (isJson && !readOnly);
460
460
  const toolbar = showLanguageSelector || showCopyButton || formattable;
461
- const footer = resizable || (isJson && check !== null);
462
- return (_jsxs(YStack, { ...slot('code-editor'), borderWidth: 1, borderColor: "$borderColor", rounded: "$3", overflow: "hidden", bg: "$background", focusWithinStyle: { borderColor: '$outlineColor' }, ...props, children: [toolbar && (_jsxs(XStack, { ...slot('code-editor-toolbar'), items: "center", justify: "space-between", flexWrap: "wrap", gap: "$2", borderBottomWidth: 1, borderColor: "$borderColor", bg: "$panel", px: "$2", py: "$1", children: [showLanguageSelector ? (_jsxs(Select, { value: selected, onValueChange: setSelected, children: [_jsx(SelectTrigger, { ...slot('code-editor-language-trigger'), width: "auto", minHeight: 32, borderWidth: 0, bg: "transparent", gap: "$1.5", px: "$2", children: _jsx(SizableText, { size: "$1", fontFamily: "$mono", children: LABEL[selected] ?? selected }) }), _jsx(SelectContent, { ...slot('code-editor-language-content'), children: availableLanguages.map((lang) => (_jsx(SelectItem, { value: lang, children: LABEL[lang] ?? lang }, lang))) })] })) : (_jsx(SizableText, { ...slot('code-editor-language'), size: "$1", fontFamily: "$mono", color: "$soft", px: "$2", children: LABEL[selected] ?? selected })), _jsxs(XStack, { items: "center", justify: "flex-end", flexWrap: "wrap", gap: "$1", shrink: 1, minW: 0, children: [formattable && (_jsxs(Button, { ...slot('code-editor-format-button'), variant: "ghost", size: "sm", disabled: check?.kind !== 'json', onClick: format, children: [_jsx(AlignLeft, { size: 14 }), "Format"] })), showCopyButton && (_jsxs(Button, { ...slot('code-editor-copy-button'), variant: "ghost", size: "sm", disabled: !text, onClick: copy, children: [copied ? _jsx(Check, { size: 14 }) : _jsx(Copy, { size: 14 }), copied ? 'Copied!' : 'Copy'] }))] })] })), _jsx(YStack, { ref: host, ...slot('code-editor-body'), ...(fills && { flex: 1, minH: 0 }) }), footer && (_jsxs(XStack, { ref: sized.grip, ...slot('code-editor-footer'), cursor: resizable ? 'row-resize' : undefined, items: "center", justify: "space-between", gap: "$2", minH: 28, px: "$3", py: "$1", borderTopWidth: 1, borderColor: "$borderColor", bg: "$panel", select: "none",
463
- // A touch drag would otherwise scroll the page and cancel the pointer.
464
- style: resizable ? { touchAction: 'none' } : undefined, children: [_jsx(Status, { check: isJson ? check : null }), resizable && (_jsx(Grip, { knob: sized.knob, name: "code-editor-resize", label: label, min: minHeight, height: dragged }))] }))] }));
461
+ const footer = isJson && check !== null;
462
+ return (_jsxs(YStack, { ...slot('code-editor'), borderWidth: 1, borderColor: "$borderColor", rounded: "$3", overflow: "hidden", bg: "$background", focusWithinStyle: { borderColor: '$outlineColor' }, ...props, children: [toolbar && (_jsxs(XStack, { ...slot('code-editor-toolbar'), items: "center", justify: "space-between", flexWrap: "wrap", gap: "$2", borderBottomWidth: 1, borderColor: "$borderColor", bg: "$panel", px: "$2", py: "$1", children: [showLanguageSelector ? (_jsxs(Select, { value: selected, onValueChange: setSelected, children: [_jsx(SelectTrigger, { ...slot('code-editor-language-trigger'), width: "auto", minHeight: 32, borderWidth: 0, bg: "transparent", gap: "$1.5", px: "$2", children: _jsx(SizableText, { size: "$1", fontFamily: "$mono", children: LABEL[selected] ?? selected }) }), _jsx(SelectContent, { ...slot('code-editor-language-content'), children: availableLanguages.map((lang) => (_jsx(SelectItem, { value: lang, children: LABEL[lang] ?? lang }, lang))) })] })) : (_jsx(SizableText, { ...slot('code-editor-language'), size: "$1", fontFamily: "$mono", color: "$soft", px: "$2", children: LABEL[selected] ?? selected })), _jsxs(XStack, { items: "center", justify: "flex-end", flexWrap: "wrap", gap: "$1", shrink: 1, minW: 0, children: [formattable && (_jsxs(Button, { ...slot('code-editor-format-button'), variant: "ghost", size: "sm", disabled: check?.kind !== 'json', onClick: format, children: [_jsx(AlignLeft, { size: 14 }), "Format"] })), showCopyButton && (_jsxs(Button, { ...slot('code-editor-copy-button'), variant: "ghost", size: "sm", disabled: !text, onClick: copy, children: [copied ? _jsx(Check, { size: 14 }) : _jsx(Copy, { size: 14 }), copied ? 'Copied!' : 'Copy'] }))] })] })), _jsxs(YStack, { position: "relative", ...(fills && { flex: 1, minH: 0 }), children: [_jsx(YStack, { ref: host, ...slot('code-editor-body'), ...(fills && { flex: 1, minH: 0 }) }), resizable && (_jsx(Grip, { side: "top", span: dragged ?? minHeight, floor: minHeight, ceil: CEILING, onSpan: setDragged, onReset: () => setDragged(null), label: `Resize ${label}`,
463
+ // Astride the editor's bottom edge, so it takes no line from the text.
464
+ b: -BAND_HALF }))] }), footer && (_jsx(XStack, { ...slot('code-editor-footer'), items: "center", justify: "space-between", gap: "$2", minH: 28, px: "$3", py: "$1", borderTopWidth: 1, borderColor: "$borderColor", bg: "$panel", children: _jsx(Status, { check: check }) }))] }));
465
465
  }
466
466
  /** The footer's JSON verdict, announced politely when it changes. */
467
467
  function Status({ check }) {
@@ -1 +1 @@
1
- {"version":3,"file":"code-editor.js","sourceRoot":"","sources":["../../../src/backends/gui/code-editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-editor.js","sourceRoot":"","sources":["../../../src/backends/gui/code-editor.tsx"],"names":[],"mappings":"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"}