@hanzo/ui 8.27.87 → 8.27.89

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.
@@ -9,14 +9,31 @@ const jsx_runtime_1 = require("react/jsx-runtime");
9
9
  */
10
10
  const gui_1 = require("@hanzo/gui");
11
11
  const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
12
+ const react_1 = require("react");
12
13
  const slot_1 = require("./slot.cjs");
13
14
  const gesture_1 = require("./gesture.cjs");
14
15
  const BOX = 16;
15
- const Checkbox = (props) => ((0, jsx_runtime_1.jsx)(gui_1.Checkbox, { ...(0, slot_1.slot)('checkbox'), width: BOX, height: BOX, flexShrink: 0, borderRadius: "$2", borderWidth: 1,
16
+ /**
17
+ * The mark: a tick when checked, a dash when indeterminate. `$ink` on the
18
+ * transparent well, as the RadioGroup dot, so it reads on either theme's ground.
19
+ * Stroke 3 of lucide's 24-unit box is 1.6px at 13px.
20
+ */
21
+ const Mark = () => {
22
+ const Icon = (0, react_1.useContext)(gui_1.CheckboxContext).checked === 'indeterminate' ? lucide_icons_2_1.Minus : lucide_icons_2_1.Check;
23
+ return (0, jsx_runtime_1.jsx)(Icon, { size: BOX - 3, color: "$ink", strokeWidth: 3 });
24
+ };
25
+ const Checkbox = (props) => ((0, jsx_runtime_1.jsx)(gui_1.Checkbox, { ...(0, slot_1.slot)('checkbox'), width: BOX, height: BOX, flexShrink: 0,
26
+ // The frame is a <button>, which the user agent pads 1px 6px: on a 16px
27
+ // border box that leaves a 2px-wide content box and squeezes the 13px mark
28
+ // to 2px. Zero padding gives the mark the whole 14px inside the border.
29
+ padding: 0, borderRadius: "$2", borderWidth: 1,
16
30
  // A CONTROL boundary, not a surface hairline. `$borderColor` is 10% white —
17
31
  // right for a card edge sitting on its own fill, and 1.26:1 against the
18
32
  // ground, where WCAG 1.4.11 asks 3:1 for the visible boundary of a control.
19
33
  // An unchecked box was therefore not quiet, it was absent. `$bound` is
20
34
  // 3.45:1. The two jobs shared one token and only one of them was satisfied.
21
- borderColor: "$bound", backgroundColor: "transparent", ...(0, gesture_1.touch)(BOX), ...props, children: (0, jsx_runtime_1.jsx)(gui_1.Checkbox.Indicator, { ...(0, slot_1.slot)('checkbox-indicator'), alignItems: "center", justifyContent: "center", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: BOX - 3 }) }) }));
35
+ borderColor: "$bound", backgroundColor: "transparent",
36
+ // gui fills a checked box with `$backgroundActive` unless `activeStyle` is
37
+ // given; the well stays transparent so the `$ink` mark keeps its contrast.
38
+ activeStyle: { bg: 'transparent' }, ...(0, gesture_1.touch)(BOX), ...props, children: (0, jsx_runtime_1.jsx)(gui_1.Checkbox.Indicator, { ...(0, slot_1.slot)('checkbox-indicator'), alignItems: "center", justifyContent: "center", children: (0, jsx_runtime_1.jsx)(Mark, {}) }) }));
22
39
  exports.Checkbox = Checkbox;
@@ -3,7 +3,7 @@
3
3
  * @hanzogui/checkbox owns the checked/indeterminate state and a11y.
4
4
  */
5
5
  import { Checkbox as GuiCheckbox } from '@hanzo/gui';
6
- import type { ComponentProps } from 'react';
6
+ import { type ComponentProps } from 'react';
7
7
  export type CheckboxProps = ComponentProps<typeof GuiCheckbox>;
8
8
  declare const Checkbox: (props: CheckboxProps) => import("react").JSX.Element;
9
9
  export { Checkbox };
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/checkbox.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AACH,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAM3C,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAA;AAE9D,QAAA,MAAM,QAAQ,UAAW,aAAa,gCAsBrC,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/checkbox.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AACH,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAmB,MAAM,YAAY,CAAA;AAErE,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,OAAO,CAAA;AAMvD,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAA;AAY9D,QAAA,MAAM,QAAQ,UAAW,aAAa,gCA6BrC,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -4,17 +4,34 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  * Checkbox — 16px box, `touch()` to the 44px floor on web and native alike.
5
5
  * @hanzogui/checkbox owns the checked/indeterminate state and a11y.
6
6
  */
7
- import { Checkbox as GuiCheckbox } from '@hanzo/gui';
8
- import { Check } from '@hanzogui/lucide-icons-2';
7
+ import { Checkbox as GuiCheckbox, CheckboxContext } from '@hanzo/gui';
8
+ import { Check, Minus } from '@hanzogui/lucide-icons-2';
9
+ import { useContext } from 'react';
9
10
  import { slot } from './slot.js';
10
11
  import { touch } from './gesture.js';
11
12
  const BOX = 16;
12
- const Checkbox = (props) => (_jsx(GuiCheckbox, { ...slot('checkbox'), width: BOX, height: BOX, flexShrink: 0, borderRadius: "$2", borderWidth: 1,
13
+ /**
14
+ * The mark: a tick when checked, a dash when indeterminate. `$ink` on the
15
+ * transparent well, as the RadioGroup dot, so it reads on either theme's ground.
16
+ * Stroke 3 of lucide's 24-unit box is 1.6px at 13px.
17
+ */
18
+ const Mark = () => {
19
+ const Icon = useContext(CheckboxContext).checked === 'indeterminate' ? Minus : Check;
20
+ return _jsx(Icon, { size: BOX - 3, color: "$ink", strokeWidth: 3 });
21
+ };
22
+ const Checkbox = (props) => (_jsx(GuiCheckbox, { ...slot('checkbox'), width: BOX, height: BOX, flexShrink: 0,
23
+ // The frame is a <button>, which the user agent pads 1px 6px: on a 16px
24
+ // border box that leaves a 2px-wide content box and squeezes the 13px mark
25
+ // to 2px. Zero padding gives the mark the whole 14px inside the border.
26
+ padding: 0, borderRadius: "$2", borderWidth: 1,
13
27
  // A CONTROL boundary, not a surface hairline. `$borderColor` is 10% white —
14
28
  // right for a card edge sitting on its own fill, and 1.26:1 against the
15
29
  // ground, where WCAG 1.4.11 asks 3:1 for the visible boundary of a control.
16
30
  // An unchecked box was therefore not quiet, it was absent. `$bound` is
17
31
  // 3.45:1. The two jobs shared one token and only one of them was satisfied.
18
- borderColor: "$bound", backgroundColor: "transparent", ...touch(BOX), ...props, children: _jsx(GuiCheckbox.Indicator, { ...slot('checkbox-indicator'), alignItems: "center", justifyContent: "center", children: _jsx(Check, { size: BOX - 3 }) }) }));
32
+ borderColor: "$bound", backgroundColor: "transparent",
33
+ // gui fills a checked box with `$backgroundActive` unless `activeStyle` is
34
+ // given; the well stays transparent so the `$ink` mark keeps its contrast.
35
+ activeStyle: { bg: 'transparent' }, ...touch(BOX), ...props, children: _jsx(GuiCheckbox.Indicator, { ...slot('checkbox-indicator'), alignItems: "center", justifyContent: "center", children: _jsx(Mark, {}) }) }));
19
36
  export { Checkbox };
20
37
  //# sourceMappingURL=checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/backends/gui/checkbox.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;GAGG;AACH,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAEjC,MAAM,GAAG,GAAG,EAAE,CAAA;AAId,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,CACzC,KAAC,WAAW,OACN,IAAI,CAAC,UAAU,CAAC,EACpB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,CAAC,EACb,YAAY,EAAC,IAAI,EACjB,WAAW,EAAE,CAAC;IACd,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,uEAAuE;IACvE,4EAA4E;IAC5E,WAAW,EAAC,QAAQ,EACpB,eAAe,EAAC,aAAa,KACzB,KAAK,CAAC,GAAG,CAAC,KACV,KAAK,YAET,KAAC,WAAW,CAAC,SAAS,OAAK,IAAI,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,YAChG,KAAC,KAAK,IAAC,IAAI,EAAE,GAAG,GAAG,CAAC,GAAI,GACF,GACZ,CACf,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/backends/gui/checkbox.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;GAGG;AACH,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAuB,MAAM,OAAO,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAEjC,MAAM,GAAG,GAAG,EAAE,CAAA;AAId;;;;GAIG;AACH,MAAM,IAAI,GAAG,GAAG,EAAE;IAChB,MAAM,IAAI,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IACpF,OAAO,KAAC,IAAI,IAAC,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,WAAW,EAAE,CAAC,GAAI,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,CACzC,KAAC,WAAW,OACN,IAAI,CAAC,UAAU,CAAC,EACpB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,CAAC;IACb,wEAAwE;IACxE,2EAA2E;IAC3E,wEAAwE;IACxE,OAAO,EAAE,CAAC,EACV,YAAY,EAAC,IAAI,EACjB,WAAW,EAAE,CAAC;IACd,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,uEAAuE;IACvE,4EAA4E;IAC5E,WAAW,EAAC,QAAQ,EACpB,eAAe,EAAC,aAAa;IAC7B,2EAA2E;IAC3E,2EAA2E;IAC3E,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,KAC9B,KAAK,CAAC,GAAG,CAAC,KACV,KAAK,YAET,KAAC,WAAW,CAAC,SAAS,OAAK,IAAI,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,YAChG,KAAC,IAAI,KAAG,GACc,GACZ,CACf,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -35,7 +35,11 @@ const Input = /* @__PURE__ */ (0, react_1.forwardRef)(function Input({ startAdor
35
35
  const toggle = isPassword && reveal;
36
36
  const box = control_1.BOX[size];
37
37
  const inset = box.gutter + MARK;
38
- const field = ((0, jsx_runtime_1.jsx)(gui_1.Input, { ref: ref, ...(0, slot_1.slot)('input'), ...(isPassword ? (0, mask_1.masked)(!revealed) : { type, secureTextEntry }), ...control_1.FIELD, ...(fill ? control_1.FILL : null), height: box.h, ...('height' in props ? null : { $touchable: { height: Math.max(box.h, TOUCH) } }), width: "100%", minW: 0, placeholderTextColor: "$soft", fontSize: "$3", pl: startAdornment ? inset : box.gutter, pr: endAdornment || toggle ? inset : box.gutter, ...props }));
38
+ const field = ((0, jsx_runtime_1.jsx)(gui_1.Input, { ref: ref, ...(0, slot_1.slot)('input'), ...(isPassword ? (0, mask_1.masked)(!revealed) : { type, secureTextEntry }), ...control_1.FIELD, ...(fill ? control_1.FILL : null), height: box.h, ...('height' in props ? null : { $touchable: { height: Math.max(box.h, TOUCH) } }), width: "100%", minW: 0,
39
+ // The value at the full ink, the hint at the placeholder token. gui's
40
+ // Input sub-theme draws its value at 80% grey, which left a typed value
41
+ // and a sample placeholder one rung apart.
42
+ color: "$ink", placeholderTextColor: "$placeholderColor", fontSize: "$3", pl: startAdornment ? inset : box.gutter, pr: endAdornment || toggle ? inset : box.gutter, ...props }));
39
43
  if (!startAdornment && !endAdornment && !toggle)
40
44
  return field;
41
45
  return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { position: "relative", width: "100%", items: "center", children: [startAdornment ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...well('l', box.gutter), pointerEvents: "none", opacity: 0.6, children: startAdornment })) : null, field, toggle ? ((0, jsx_runtime_1.jsx)(gui_1.XStack
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/input.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAU,MAAM,YAAY,CAAA;AAEtD,OAAO,EAAwB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjF,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;AAQ5D,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG;IACpF,yEAAyE;IACzE,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,8DAA8D;IAC9D,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,oFAAoF;IACpF,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,uEAAuE;IACvE,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAYD,QAAA,MAAM,KAAK,sHA4ET,CAAA;AAEF,OAAO,EAAE,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/input.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAU,MAAM,YAAY,CAAA;AAEtD,OAAO,EAAwB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjF,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;AAQ5D,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG;IACpF,yEAAyE;IACzE,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,8DAA8D;IAC9D,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,oFAAoF;IACpF,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,uEAAuE;IACvE,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAYD,QAAA,MAAM,KAAK,sHAgFT,CAAA;AAEF,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -32,7 +32,11 @@ const Input = /* @__PURE__ */ forwardRef(function Input({ startAdornment, endAdo
32
32
  const toggle = isPassword && reveal;
33
33
  const box = BOX[size];
34
34
  const inset = box.gutter + MARK;
35
- const field = (_jsx(GuiInput, { ref: ref, ...slot('input'), ...(isPassword ? masked(!revealed) : { type, secureTextEntry }), ...FIELD, ...(fill ? FILL : null), height: box.h, ...('height' in props ? null : { $touchable: { height: Math.max(box.h, TOUCH) } }), width: "100%", minW: 0, placeholderTextColor: "$soft", fontSize: "$3", pl: startAdornment ? inset : box.gutter, pr: endAdornment || toggle ? inset : box.gutter, ...props }));
35
+ const field = (_jsx(GuiInput, { ref: ref, ...slot('input'), ...(isPassword ? masked(!revealed) : { type, secureTextEntry }), ...FIELD, ...(fill ? FILL : null), height: box.h, ...('height' in props ? null : { $touchable: { height: Math.max(box.h, TOUCH) } }), width: "100%", minW: 0,
36
+ // The value at the full ink, the hint at the placeholder token. gui's
37
+ // Input sub-theme draws its value at 80% grey, which left a typed value
38
+ // and a sample placeholder one rung apart.
39
+ color: "$ink", placeholderTextColor: "$placeholderColor", fontSize: "$3", pl: startAdornment ? inset : box.gutter, pr: endAdornment || toggle ? inset : box.gutter, ...props }));
36
40
  if (!startAdornment && !endAdornment && !toggle)
37
41
  return field;
38
42
  return (_jsxs(XStack, { position: "relative", width: "100%", items: "center", children: [startAdornment ? (_jsx(XStack, { ...well('l', box.gutter), pointerEvents: "none", opacity: 0.6, children: startAdornment })) : null, field, toggle ? (_jsx(XStack
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/backends/gui/input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/backends/gui/input.tsx"],"names":[],"mappings":"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"}
@@ -84,7 +84,11 @@ const Textarea = /* @__PURE__ */ React.forwardRef(function Textarea({ rows, valu
84
84
  // first line sat 1px under the edge where its neighbours' sat at 8. In a
85
85
  // form the two are read together, and the text looked like it was falling
86
86
  // out of the top of the box. The riser is that arithmetic, per size.
87
- px: box.gutter, pt: box.riser, pb: box.riser, borderColor: invalid && invalid !== "false" ? "$red7" : "$borderColor", placeholderTextColor: "$soft", fontSize: "$3", opacity: props.disabled ? 0.5 : 1, ...props,
87
+ px: box.gutter, pt: box.riser, pb: box.riser, borderColor: invalid && invalid !== "false" ? "$red7" : "$borderColor",
88
+ // The value at the full ink, the hint at the placeholder token. gui's
89
+ // Input sub-theme draws its value at 80% grey, which left a typed value
90
+ // and a sample placeholder one rung apart.
91
+ color: "$ink", placeholderTextColor: "$placeholderColor", fontSize: "$3", opacity: props.disabled ? 0.5 : 1, ...props,
88
92
  // After the caller's props, so a passed `style` cannot silently disable
89
93
  // growth. A fixed height is asked for with `height`.
90
94
  style: { ...style, ...(grown ? { height: grown } : null) } }));
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/textarea.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;AAS5D;;;;;;;;;;;;;;;GAeG;AACH;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,GAC1F,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,GAAG;IAC7D,4EAA4E;IAC5E,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,uEAAuE;IACvE,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAEH,QAAA,MAAM,QAAQ,wGAwEb,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/textarea.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;AAS5D;;;;;;;;;;;;;;;GAeG;AACH;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,GAC1F,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,GAAG;IAC7D,4EAA4E;IAC5E,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,uEAAuE;IACvE,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAEH,QAAA,MAAM,QAAQ,wGA4Eb,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -48,7 +48,11 @@ const Textarea = /* @__PURE__ */ React.forwardRef(function Textarea({ rows, valu
48
48
  // first line sat 1px under the edge where its neighbours' sat at 8. In a
49
49
  // form the two are read together, and the text looked like it was falling
50
50
  // out of the top of the box. The riser is that arithmetic, per size.
51
- px: box.gutter, pt: box.riser, pb: box.riser, borderColor: invalid && invalid !== "false" ? "$red7" : "$borderColor", placeholderTextColor: "$soft", fontSize: "$3", opacity: props.disabled ? 0.5 : 1, ...props,
51
+ px: box.gutter, pt: box.riser, pb: box.riser, borderColor: invalid && invalid !== "false" ? "$red7" : "$borderColor",
52
+ // The value at the full ink, the hint at the placeholder token. gui's
53
+ // Input sub-theme draws its value at 80% grey, which left a typed value
54
+ // and a sample placeholder one rung apart.
55
+ color: "$ink", placeholderTextColor: "$placeholderColor", fontSize: "$3", opacity: props.disabled ? 0.5 : 1, ...props,
52
56
  // After the caller's props, so a passed `style` cannot silently disable
53
57
  // growth. A fixed height is asked for with `height`.
54
58
  style: { ...style, ...(grown ? { height: grown } : null) } }));
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../src/backends/gui/textarea.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../src/backends/gui/textarea.tsx"],"names":[],"mappings":"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"}