@hanzo/ui 8.27.19 → 8.27.22

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 (113) hide show
  1. package/dist/backends/gui/item.cjs +2 -3
  2. package/dist/backends/gui/item.d.ts.map +1 -1
  3. package/dist/backends/gui/item.js +1 -2
  4. package/dist/backends/gui/item.js.map +1 -1
  5. package/dist/backends/gui/press.cjs +29 -0
  6. package/dist/backends/gui/press.d.ts +28 -0
  7. package/dist/backends/gui/press.d.ts.map +1 -0
  8. package/dist/backends/gui/press.js +26 -0
  9. package/dist/backends/gui/press.js.map +1 -0
  10. package/dist/backends/gui/toggle-group.cjs +2 -3
  11. package/dist/backends/gui/toggle-group.d.ts.map +1 -1
  12. package/dist/backends/gui/toggle-group.js +1 -2
  13. package/dist/backends/gui/toggle-group.js.map +1 -1
  14. package/dist/backends/gui/toggle.cjs +3 -4
  15. package/dist/backends/gui/toggle.d.ts.map +1 -1
  16. package/dist/backends/gui/toggle.js +1 -2
  17. package/dist/backends/gui/toggle.js.map +1 -1
  18. package/dist/catalog/Shelf.cjs +76 -0
  19. package/dist/catalog/Shelf.d.ts +55 -0
  20. package/dist/catalog/Shelf.d.ts.map +1 -0
  21. package/dist/catalog/Shelf.js +74 -0
  22. package/dist/catalog/Shelf.js.map +1 -0
  23. package/dist/catalog/Tile.cjs +72 -0
  24. package/dist/catalog/Tile.d.ts +56 -0
  25. package/dist/catalog/Tile.d.ts.map +1 -0
  26. package/dist/catalog/Tile.js +67 -0
  27. package/dist/catalog/Tile.js.map +1 -0
  28. package/dist/catalog/index.cjs +23 -0
  29. package/dist/catalog/index.d.ts +16 -0
  30. package/dist/catalog/index.d.ts.map +1 -0
  31. package/dist/catalog/index.js +16 -0
  32. package/dist/catalog/index.js.map +1 -0
  33. package/dist/chat/Home.cjs +30 -0
  34. package/dist/chat/Home.d.ts +35 -0
  35. package/dist/chat/Home.d.ts.map +1 -0
  36. package/dist/chat/Home.js +28 -0
  37. package/dist/chat/Home.js.map +1 -0
  38. package/dist/chat/SessionRail.cjs +165 -37
  39. package/dist/chat/SessionRail.d.ts +92 -14
  40. package/dist/chat/SessionRail.d.ts.map +1 -1
  41. package/dist/chat/SessionRail.js +165 -39
  42. package/dist/chat/SessionRail.js.map +1 -1
  43. package/dist/chat/index.cjs +6 -1
  44. package/dist/chat/index.d.ts +2 -1
  45. package/dist/chat/index.d.ts.map +1 -1
  46. package/dist/chat/index.js +2 -1
  47. package/dist/chat/index.js.map +1 -1
  48. package/dist/gallery.cjs +78 -2
  49. package/dist/gallery.d.ts +13 -0
  50. package/dist/gallery.d.ts.map +1 -1
  51. package/dist/gallery.html +47 -3
  52. package/dist/gallery.js +78 -3
  53. package/dist/gallery.js.map +1 -1
  54. package/dist/models/ModelSelector.cjs +19 -4
  55. package/dist/models/ModelSelector.d.ts +10 -1
  56. package/dist/models/ModelSelector.d.ts.map +1 -1
  57. package/dist/models/ModelSelector.js +20 -5
  58. package/dist/models/ModelSelector.js.map +1 -1
  59. package/dist/models/catalog.cjs +19 -0
  60. package/dist/models/catalog.d.ts +13 -0
  61. package/dist/models/catalog.d.ts.map +1 -1
  62. package/dist/models/catalog.js +18 -0
  63. package/dist/models/catalog.js.map +1 -1
  64. package/dist/models/index.cjs +2 -1
  65. package/dist/models/index.d.ts +1 -1
  66. package/dist/models/index.d.ts.map +1 -1
  67. package/dist/models/index.js +1 -1
  68. package/dist/models/index.js.map +1 -1
  69. package/dist/product/ChipSelect.cjs +2 -3
  70. package/dist/product/ChipSelect.d.ts.map +1 -1
  71. package/dist/product/ChipSelect.js +1 -2
  72. package/dist/product/ChipSelect.js.map +1 -1
  73. package/dist/product/MenuRow.cjs +2 -1
  74. package/dist/product/MenuRow.d.ts +11 -7
  75. package/dist/product/MenuRow.d.ts.map +1 -1
  76. package/dist/product/MenuRow.js +3 -2
  77. package/dist/product/MenuRow.js.map +1 -1
  78. package/dist/product/OrgSwitcher.cjs +16 -5
  79. package/dist/product/OrgSwitcher.d.ts.map +1 -1
  80. package/dist/product/OrgSwitcher.js +16 -5
  81. package/dist/product/OrgSwitcher.js.map +1 -1
  82. package/dist/product/UserMenu.cjs +19 -27
  83. package/dist/product/UserMenu.d.ts +2 -21
  84. package/dist/product/UserMenu.d.ts.map +1 -1
  85. package/dist/product/UserMenu.js +23 -31
  86. package/dist/product/UserMenu.js.map +1 -1
  87. package/dist/product/account.cjs +37 -0
  88. package/dist/product/account.d.ts +55 -0
  89. package/dist/product/account.d.ts.map +1 -0
  90. package/dist/product/account.js +35 -0
  91. package/dist/product/account.js.map +1 -0
  92. package/dist/product/menu/roving.cjs +4 -1
  93. package/dist/product/menu/roving.d.ts +8 -3
  94. package/dist/product/menu/roving.d.ts.map +1 -1
  95. package/dist/product/menu/roving.js +4 -1
  96. package/dist/product/menu/roving.js.map +1 -1
  97. package/dist/settings/Section.cjs +71 -0
  98. package/dist/settings/Section.d.ts +78 -0
  99. package/dist/settings/Section.d.ts.map +1 -0
  100. package/dist/settings/Section.js +62 -0
  101. package/dist/settings/Section.js.map +1 -0
  102. package/dist/settings/Settings.cjs +54 -0
  103. package/dist/settings/Settings.d.ts +50 -0
  104. package/dist/settings/Settings.d.ts.map +1 -0
  105. package/dist/settings/Settings.js +52 -0
  106. package/dist/settings/Settings.js.map +1 -0
  107. package/dist/settings/index.cjs +26 -0
  108. package/dist/settings/index.d.ts +15 -0
  109. package/dist/settings/index.d.ts.map +1 -0
  110. package/dist/settings/index.js +15 -0
  111. package/dist/settings/index.js.map +1 -0
  112. package/dist/styles.css +44 -0
  113. package/package.json +19 -1
@@ -29,8 +29,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
29
29
  const gui_1 = require("@hanzo/gui");
30
30
  const layout_1 = require("./layout.cjs");
31
31
  const ink_1 = require("./ink.cjs");
32
- /** The system's WCAG-checked ring, restored on the plain `<div>` this renders as. */
33
- const RING = { outlineColor: '$outlineColor', outlineWidth: 2, outlineStyle: 'solid' };
32
+ const press_1 = require("./press.cjs");
34
33
  const ItemFrame = (0, gui_1.styled)(gui_1.XStack, {
35
34
  name: 'Item',
36
35
  flexWrap: 'wrap',
@@ -39,7 +38,7 @@ const ItemFrame = (0, gui_1.styled)(gui_1.XStack, {
39
38
  borderWidth: 1,
40
39
  borderColor: 'transparent',
41
40
  outlineWidth: 0,
42
- focusVisibleStyle: RING,
41
+ focusVisibleStyle: press_1.RING,
43
42
  hoverStyle: { bg: '$hover' },
44
43
  variants: {
45
44
  variant: {
@@ -1 +1 @@
1
- {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/item.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGpC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;AACzD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAA;AACvC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AAK3D,QAAA,MAAM,SAAS;;;;;8CAwBb,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IACzD,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,wBAAgB,IAAI,CAAC,EAAE,OAAmB,EAAE,IAAgB,EAAE,OAAe,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAenG;AAED,QAAA,MAAM,cAAc;;;;8CAgBlB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,GAAG;IACnE,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAClC,CAAA;AAED,wBAAgB,SAAS,CAAC,EAAE,OAAmB,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAG1E;AAED,QAAA,MAAM,gBAAgB;;;8CAIpB,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAElD;AAED,QAAA,MAAM,cAAc;;;8CAMlB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,CAAA;AAElE,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAM/D;AAED,QAAA,MAAM,oBAAoB;;;8CAKxB,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAa9E,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,+BAQxE;AAED,QAAA,MAAM,gBAAgB;;;8CAIpB,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAElD;AAED,QAAA,MAAM,eAAe;;;8CAMnB,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAA;AAEpE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BAEhD;AAED,QAAA,MAAM,eAAe;;;8CAMnB,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAA;AAEpE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BAEhD;AAED,QAAA,MAAM,cAAc;;;8CAElB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,CAAA;AAElE,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BAE9C;AAED,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,CAAA;AAEjE,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAEtD"}
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/item.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIpC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;AACzD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAA;AACvC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AAG3D,QAAA,MAAM,SAAS;;;;;8CAwBb,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IACzD,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,wBAAgB,IAAI,CAAC,EAAE,OAAmB,EAAE,IAAgB,EAAE,OAAe,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAenG;AAED,QAAA,MAAM,cAAc;;;;8CAgBlB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,GAAG;IACnE,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAClC,CAAA;AAED,wBAAgB,SAAS,CAAC,EAAE,OAAmB,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAG1E;AAED,QAAA,MAAM,gBAAgB;;;8CAIpB,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAElD;AAED,QAAA,MAAM,cAAc;;;8CAMlB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,CAAA;AAElE,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAM/D;AAED,QAAA,MAAM,oBAAoB;;;8CAKxB,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAa9E,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,+BAQxE;AAED,QAAA,MAAM,gBAAgB;;;8CAIpB,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAElD;AAED,QAAA,MAAM,eAAe;;;8CAMnB,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAA;AAEpE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BAEhD;AAED,QAAA,MAAM,eAAe;;;8CAMnB,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAA;AAEpE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BAEhD;AAED,QAAA,MAAM,cAAc;;;8CAElB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,CAAA;AAElE,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BAE9C;AAED,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,CAAA;AAEjE,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAEtD"}
@@ -17,8 +17,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
17
17
  import { SizableText, XStack, YStack, styled } from '@hanzo/gui';
18
18
  import { Separator } from './layout.js';
19
19
  import { ink } from './ink.js';
20
- /** The system's WCAG-checked ring, restored on the plain `<div>` this renders as. */
21
- const RING = { outlineColor: '$outlineColor', outlineWidth: 2, outlineStyle: 'solid' };
20
+ import { RING } from './press.js';
22
21
  const ItemFrame = styled(XStack, {
23
22
  name: 'Item',
24
23
  flexWrap: 'wrap',
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/backends/gui/item.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/backends/gui/item.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RING = exports.press = void 0;
4
+ /**
5
+ * A pressable that is not a `<button>`: focusable, a button to assistive tech,
6
+ * and run by Enter and Space as well as by a press.
7
+ *
8
+ * gui does not activate `role="button"` on Enter. Measured: a keydown Enter on
9
+ * an `XStack` with `onPress` fires nothing, and a click fires once. So a control
10
+ * drawn from a stack handles the two keys itself — which cannot double-fire, for
11
+ * the same reason. One helper, so no call site forgets Space or the
12
+ * `preventDefault` that keeps Space from scrolling the page.
13
+ *
14
+ * Spread it first; a call site's own `aria-*` and style props follow it.
15
+ */
16
+ const press = (run) => ({
17
+ role: 'button',
18
+ tabIndex: 0,
19
+ onPress: run,
20
+ onKeyDown: (e) => {
21
+ if (e?.key !== 'Enter' && e?.key !== ' ')
22
+ return;
23
+ e.preventDefault?.();
24
+ run?.();
25
+ },
26
+ });
27
+ exports.press = press;
28
+ /** The keyboard focus ring every control in the package draws. */
29
+ exports.RING = { outlineColor: '$outlineColor', outlineWidth: 2, outlineStyle: 'solid' };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * A pressable that is not a `<button>`: focusable, a button to assistive tech,
3
+ * and run by Enter and Space as well as by a press.
4
+ *
5
+ * gui does not activate `role="button"` on Enter. Measured: a keydown Enter on
6
+ * an `XStack` with `onPress` fires nothing, and a click fires once. So a control
7
+ * drawn from a stack handles the two keys itself — which cannot double-fire, for
8
+ * the same reason. One helper, so no call site forgets Space or the
9
+ * `preventDefault` that keeps Space from scrolling the page.
10
+ *
11
+ * Spread it first; a call site's own `aria-*` and style props follow it.
12
+ */
13
+ export declare const press: (run?: () => void) => {
14
+ role: 'button';
15
+ tabIndex: number;
16
+ onPress: (() => void) | undefined;
17
+ onKeyDown: (e: {
18
+ key?: string;
19
+ preventDefault?: () => void;
20
+ }) => void;
21
+ };
22
+ /** The keyboard focus ring every control in the package draws. */
23
+ export declare const RING: {
24
+ readonly outlineColor: '$outlineColor';
25
+ readonly outlineWidth: 2;
26
+ readonly outlineStyle: 'solid';
27
+ };
28
+ //# sourceMappingURL=press.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"press.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/press.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,KAAK,SAAU,MAAM,IAAI;IACpC,IAAI,EAAE,QAAQ;IACd,QAAQ;IACR,OAAO,SAHyB,IAAI;IAIpC,SAAS,MAAM;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE;CAK5D,CAAA;AAEF,kEAAkE;AAClE,eAAO,MAAM,IAAI;aAAK,YAAY,EAAE,eAAe;aAAE,YAAY,EAAE,CAAC;aAAE,YAAY,EAAE,OAAO;CAAW,CAAA"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * A pressable that is not a `<button>`: focusable, a button to assistive tech,
3
+ * and run by Enter and Space as well as by a press.
4
+ *
5
+ * gui does not activate `role="button"` on Enter. Measured: a keydown Enter on
6
+ * an `XStack` with `onPress` fires nothing, and a click fires once. So a control
7
+ * drawn from a stack handles the two keys itself — which cannot double-fire, for
8
+ * the same reason. One helper, so no call site forgets Space or the
9
+ * `preventDefault` that keeps Space from scrolling the page.
10
+ *
11
+ * Spread it first; a call site's own `aria-*` and style props follow it.
12
+ */
13
+ export const press = (run) => ({
14
+ role: 'button',
15
+ tabIndex: 0,
16
+ onPress: run,
17
+ onKeyDown: (e) => {
18
+ if (e?.key !== 'Enter' && e?.key !== ' ')
19
+ return;
20
+ e.preventDefault?.();
21
+ run?.();
22
+ },
23
+ });
24
+ /** The keyboard focus ring every control in the package draws. */
25
+ export const RING = { outlineColor: '$outlineColor', outlineWidth: 2, outlineStyle: 'solid' };
26
+ //# sourceMappingURL=press.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"press.js","sourceRoot":"","sources":["../../../src/backends/gui/press.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAgB,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,EAAE,QAAiB;IACvB,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,CAAC,CAAgD,EAAE,EAAE;QAC9D,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,IAAI,CAAC,EAAE,GAAG,KAAK,GAAG;YAAE,OAAM;QAChD,CAAC,CAAC,cAAc,EAAE,EAAE,CAAA;QACpB,GAAG,EAAE,EAAE,CAAA;IACT,CAAC;CACF,CAAC,CAAA;AAEF,kEAAkE;AAClE,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAW,CAAA"}
@@ -47,6 +47,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
47
47
  const gui_1 = require("@hanzo/gui");
48
48
  const react_1 = require("react");
49
49
  const ink_1 = require("./ink.cjs");
50
+ const press_1 = require("./press.cjs");
50
51
  const slot_1 = require("./slot.cjs");
51
52
  const gesture_1 = require("./gesture.cjs");
52
53
  /** Density ladder — the Button's, so a toggle and a button line up in a row. */
@@ -77,8 +78,6 @@ const ON = {
77
78
  default: { backgroundColor: '$rim', borderColor: '$bound' },
78
79
  outline: { backgroundColor: '$raised', borderColor: '$bound' },
79
80
  };
80
- /** The system's WCAG-checked ring — `unstyled` items lose gui's, so restore it. */
81
- const RING = { outlineColor: '$outlineColor', outlineWidth: 2, outlineStyle: 'solid' };
82
81
  const GroupContext = /* @__PURE__ */ (0, react_1.createContext)({
83
82
  type: 'multiple',
84
83
  selected: [],
@@ -106,7 +105,7 @@ function ToggleGroupItem({ variant, size, disabled, children, value, ...props })
106
105
  return ((0, jsx_runtime_1.jsx)(gui_1.ToggleGroup.Item, { value: value, ...(0, slot_1.slot)('toggle-group-item'), "data-variant": v, "data-size": s,
107
106
  // The two Radix semantics gui drops in `single` mode. `aria-pressed` is
108
107
  // left alone for `multiple`, where gui already sets it from the same state.
109
- role: group.type === 'single' ? 'radio' : undefined, "aria-checked": group.type === 'single' ? on : undefined, unstyled: true, flexDirection: "row", items: "center", justify: "center", height: HEIGHT[s], px: PAD[s], gap: "$1.5", borderWidth: 1, rounded: "$3", select: "none", disabled: off, opacity: off ? 0.5 : 1, cursor: off ? 'not-allowed' : 'pointer', focusVisibleStyle: RING, ...REST[v], activeStyle: ON[v], ...(0, gesture_1.touch)(HEIGHT[s], 44, 'y'), ...props, children: (0, ink_1.ink)(children, undefined, {
108
+ role: group.type === 'single' ? 'radio' : undefined, "aria-checked": group.type === 'single' ? on : undefined, unstyled: true, flexDirection: "row", items: "center", justify: "center", height: HEIGHT[s], px: PAD[s], gap: "$1.5", borderWidth: 1, rounded: "$3", select: "none", disabled: off, opacity: off ? 0.5 : 1, cursor: off ? 'not-allowed' : 'pointer', focusVisibleStyle: press_1.RING, ...REST[v], activeStyle: ON[v], ...(0, gesture_1.touch)(HEIGHT[s], 44, 'y'), ...props, children: (0, ink_1.ink)(children, undefined, {
110
109
  size: TYPE[s],
111
110
  fontWeight: '500',
112
111
  color: on ? '$ink' : '$quiet',
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-group.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/toggle-group.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EAAE,WAAW,IAAI,cAAc,EAAwB,MAAM,YAAY,CAAA;AAChF,OAAO,EAA6B,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAK1G,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,SAAS,CAAA;AACtD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA;AAyDrD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAChC;;;;;;;;;OASG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;CAC/C,CAAA;AAED,iBAAS,WAAW,CAAC,EACnB,IAAe,EACf,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAA0B,EAC1B,mBAAmB,EACnB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAoClB;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,EAC1C,MAAM,CACP,GAAG;IACF,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB,CAAA;AAED,iBAAS,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,+BA+CpG;AAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"toggle-group.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/toggle-group.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EAAE,WAAW,IAAI,cAAc,EAAwB,MAAM,YAAY,CAAA;AAChF,OAAO,EAA6B,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAM1G,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,SAAS,CAAA;AACtD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA;AAuDrD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAChC;;;;;;;;;OASG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;CAC/C,CAAA;AAED,iBAAS,WAAW,CAAC,EACnB,IAAe,EACf,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAA0B,EAC1B,mBAAmB,EACnB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAoClB;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,EAC1C,MAAM,CACP,GAAG;IACF,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB,CAAA;AAED,iBAAS,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,+BA+CpG;AAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAA"}
@@ -43,6 +43,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
43
43
  import { ToggleGroup as GuiToggleGroup, useControllableState } from '@hanzo/gui';
44
44
  import { createContext, useContext } from 'react';
45
45
  import { ink } from './ink.js';
46
+ import { RING } from './press.js';
46
47
  import { slot } from './slot.js';
47
48
  import { touch } from './gesture.js';
48
49
  /** Density ladder — the Button's, so a toggle and a button line up in a row. */
@@ -73,8 +74,6 @@ const ON = {
73
74
  default: { backgroundColor: '$rim', borderColor: '$bound' },
74
75
  outline: { backgroundColor: '$raised', borderColor: '$bound' },
75
76
  };
76
- /** The system's WCAG-checked ring — `unstyled` items lose gui's, so restore it. */
77
- const RING = { outlineColor: '$outlineColor', outlineWidth: 2, outlineStyle: 'solid' };
78
77
  const GroupContext = /* @__PURE__ */ createContext({
79
78
  type: 'multiple',
80
79
  selected: [],
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-group.js","sourceRoot":"","sources":["../../../src/backends/gui/toggle-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,UAAU,EAA2D,MAAM,OAAO,CAAA;AAC1G,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAKjC,gFAAgF;AAChF,MAAM,MAAM,GAAoC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA;AAC/E,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAW,CAAA;AAC5D,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAW,CAAA;AAE3D,8EAA8E;AAC9E,MAAM,IAAI,GAAG;IACX,OAAO,EAAE;QACP,eAAe,EAAE,QAAQ;QACzB,WAAW,EAAE,aAAa;QAC1B,UAAU,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE;KACzC;IACD,OAAO,EAAE;QACP,eAAe,EAAE,aAAa;QAC9B,WAAW,EAAE,cAAc;QAC3B,UAAU,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE;KAC1C;CACO,CAAA;AAEV;;;;;;GAMG;AACH,MAAM,EAAE,GAAG;IACT,OAAO,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE;IAC3D,OAAO,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE;CACtD,CAAA;AAEV,mFAAmF;AACnF,MAAM,IAAI,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAW,CAAA;AAkB/F,MAAM,YAAY,GAAG,eAAe,CAAC,aAAa,CAAoB;IACpE,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,EAAE;CACb,CAAC,CAAA;AA+DF,SAAS,WAAW,CAAC,EACnB,IAAI,GAAG,QAAQ,EACf,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GAAG,YAAY,EAC1B,mBAAmB,EACnB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACS;IACjB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,oBAAoB,CAAQ;QACxD,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,YAAa;QAC1B,QAAQ,EAAE,aAAsC;KACjD,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAE9E,OAAO,CACL,KAAC,cAAc,OACT,IAAI,CAAC,cAAc,CAAC,KAOnB;YACH,IAAI;YACJ,KAAK,EAAE,OAAO;YACd,aAAa,EAAE,UAAU;YACzB,mBAAmB;SACsB,EAC3C,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAClD,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAC5D,KAAK,EAAC,QAAQ,EACd,GAAG,EAAC,IAAI,KACJ,KAAK,YAET,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YACtE,QAAQ,GACa,GACT,CAClB,CAAA;AACH,CAAC;AAUD,SAAS,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAwB;IACnG,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,IAAI,SAAS,CAAA;IAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,SAAS,CAAA;IACzC,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAA;IAEtC,OAAO,CACL,KAAC,cAAc,CAAC,IAAI,IAClB,KAAK,EAAE,KAAK,KACR,IAAI,CAAC,mBAAmB,CAAC,kBACf,CAAC,eACJ,CAAC;QACZ,wEAAwE;QACxE,4EAA4E;QAC5E,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,kBACrC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EACtD,QAAQ,QACR,aAAa,EAAC,KAAK,EACnB,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,QAAQ,EAChB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EACV,GAAG,EAAC,MAAM,EACV,WAAW,EAAE,CAAC,EACd,OAAO,EAAC,IAAI,EACZ,MAAM,EAAC,MAAM,EACb,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EACvC,iBAAiB,EAAE,IAAI,KACnB,IAAI,CAAC,CAAC,CAAC,EACX,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,KACd,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,KACzB,KAAK,YAMR,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE;YACxB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACb,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SAC9B,CAAC,GACkB,CACvB,CAAA;AACH,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"toggle-group.js","sourceRoot":"","sources":["../../../src/backends/gui/toggle-group.tsx"],"names":[],"mappings":"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"}
@@ -24,13 +24,12 @@ const jsx_runtime_1 = require("react/jsx-runtime");
24
24
  */
25
25
  const gui_1 = require("@hanzo/gui");
26
26
  const ink_1 = require("./ink.cjs");
27
+ const press_1 = require("./press.cjs");
27
28
  const slot_1 = require("./slot.cjs");
28
29
  const gesture_1 = require("./gesture.cjs");
29
30
  /** The Button ladder, so a Toggle sitting next to a Button lines up. */
30
31
  const HEIGHT = { default: 36, sm: 32, lg: 40 };
31
32
  const PAD = { default: '$3', sm: '$2.5', lg: '$4' };
32
- /** The system's WCAG-checked ring — `unstyled` drops gui's, so restore it. */
33
- const RING = { outlineColor: '$outlineColor', outlineWidth: 2, outlineStyle: 'solid' };
34
33
  const ToggleFrame = (0, gui_1.styled)(gui_1.XStack, {
35
34
  name: 'Toggle',
36
35
  unstyled: true,
@@ -43,7 +42,7 @@ const ToggleFrame = (0, gui_1.styled)(gui_1.XStack, {
43
42
  borderWidth: 1,
44
43
  select: 'none',
45
44
  cursor: 'pointer',
46
- focusVisibleStyle: RING,
45
+ focusVisibleStyle: press_1.RING,
47
46
  variants: {
48
47
  variant: {
49
48
  default: {
@@ -71,7 +70,7 @@ const ToggleFrame = (0, gui_1.styled)(gui_1.XStack, {
71
70
  bg: '$rim',
72
71
  borderColor: '$bound',
73
72
  hoverStyle: { bg: '$rim' },
74
- focusVisibleStyle: { ...RING, bg: '$rim' },
73
+ focusVisibleStyle: { ...press_1.RING, bg: '$rim' },
75
74
  },
76
75
  },
77
76
  disabled: {
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/toggle.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKzE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA;AACjD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA;AAShD,QAAA,MAAM,WAAW;;;;;;;8CAkDf,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,cAAc,CAAC,OAAO,WAAW,CAAC,EAClC,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CACxD,GAAG;IACF,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IAC9B,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;CACzC,CAAA;AAED,iBAAS,MAAM,CAAC,EACd,OAAmB,EACnB,IAAgB,EAChB,OAAO,EACP,cAAsB,EACtB,eAAe,EACf,QAAgB,EAChB,IAAe,EACf,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,WAAW,+BAkCb;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/toggle.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMzE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA;AACjD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA;AAOhD,QAAA,MAAM,WAAW;;;;;;;8CAkDf,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,cAAc,CAAC,OAAO,WAAW,CAAC,EAClC,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CACxD,GAAG;IACF,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IAC9B,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;CACzC,CAAA;AAED,iBAAS,MAAM,CAAC,EACd,OAAmB,EACnB,IAAgB,EAChB,OAAO,EACP,cAAsB,EACtB,eAAe,EACf,QAAgB,EAChB,IAAe,EACf,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,WAAW,+BAkCb;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
@@ -21,13 +21,12 @@ import { jsx as _jsx } from "react/jsx-runtime";
21
21
  */
22
22
  import { XStack, styled, useControllableState } from '@hanzo/gui';
23
23
  import { ink } from './ink.js';
24
+ import { RING } from './press.js';
24
25
  import { slot } from './slot.js';
25
26
  import { touch } from './gesture.js';
26
27
  /** The Button ladder, so a Toggle sitting next to a Button lines up. */
27
28
  const HEIGHT = { default: 36, sm: 32, lg: 40 };
28
29
  const PAD = { default: '$3', sm: '$2.5', lg: '$4' };
29
- /** The system's WCAG-checked ring — `unstyled` drops gui's, so restore it. */
30
- const RING = { outlineColor: '$outlineColor', outlineWidth: 2, outlineStyle: 'solid' };
31
30
  const ToggleFrame = styled(XStack, {
32
31
  name: 'Toggle',
33
32
  unstyled: true,
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../../src/backends/gui/toggle.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../../src/backends/gui/toggle.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ 'use client';"use strict";
2
+ 'use client';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Shelf = Shelf;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ /**
7
+ * Shelf — a catalogue page: what an org has, and what it can add, one kind at a
8
+ * time.
9
+ *
10
+ * Customize
11
+ * What the agent brings to a run …
12
+ * ▢ Skills ⌁ Connectors ⧉ Plugins ☺ Agents the kinds, a tablist
13
+ * ─────────
14
+ * [ Yours | Discover ] [ + New skill ]
15
+ * [ Search skills… ]
16
+ * (the cards — `Tiles` of `Tile`s, a `Featured` first)
17
+ *
18
+ * The kinds are a tab strip underlined at the chosen one: one tab stop, arrows
19
+ * move the choice, Home/End jump. Yours/Discover is the package's one segmented
20
+ * control (`Views`, from `@hanzo/ui/agents`), so it is not drawn twice. The
21
+ * search and the Add are the shelf's; what they find and add is the host's.
22
+ *
23
+ * Presentational: the kind, the half and the query come in, every change goes
24
+ * out, and the cards are `children`. On a phone the column takes the width, the
25
+ * tabs drop their icons, and the grid stacks to one card a row.
26
+ */
27
+ const gui_1 = require("@hanzo/gui");
28
+ const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
29
+ const react_1 = require("react");
30
+ const Workspace_1 = require("../agents/Workspace.cjs");
31
+ const button_1 = require("../backends/gui/button.cjs");
32
+ const input_1 = require("../backends/gui/input.cjs");
33
+ const press_1 = require("../backends/gui/press.cjs");
34
+ const slot_1 = require("../backends/gui/slot.cjs");
35
+ /** The page's measure, px. Three 280px cards and their gaps, with room. */
36
+ const MEASURE = 1080;
37
+ /** What a shelf shows by default: the org's own, and what it can add. */
38
+ const HALVES = [
39
+ { id: 'yours', label: 'Yours' },
40
+ { id: 'discover', label: 'Discover' },
41
+ ];
42
+ function Shelf({ title, detail, tabs, tab, onTab, views = HALVES, view, onView, search, query, onQuery, add, onAdd, level = 1, children, ...rest }) {
43
+ const refs = (0, react_1.useRef)([]);
44
+ const id = (0, react_1.useId)();
45
+ const panel = `${id}-panel`;
46
+ // The strip's one tab stop is the open kind — or the first, when `tab` names
47
+ // none, so the strip is never unreachable from the keyboard.
48
+ const stop = Math.max(0, tabs.findIndex((t) => t.id === tab));
49
+ const move = (e, index) => {
50
+ const last = tabs.length - 1;
51
+ const to = e.key === 'ArrowRight' ? (index === last ? 0 : index + 1)
52
+ : e.key === 'ArrowLeft' ? (index === 0 ? last : index - 1)
53
+ : e.key === 'Home' ? 0
54
+ : e.key === 'End' ? last
55
+ : -1;
56
+ if (to < 0) {
57
+ // A tab is a button: Enter and Space choose it, which gui does not do for
58
+ // a stack on its own.
59
+ if (e.key === 'Enter' || e.key === ' ') {
60
+ e.preventDefault?.();
61
+ onTab(tabs[index].id);
62
+ }
63
+ return;
64
+ }
65
+ e.preventDefault?.();
66
+ onTab(tabs[to].id);
67
+ refs.current[to]?.focus();
68
+ };
69
+ return ((0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('shelf'), flex: 1, minH: 0, overflow: "scroll", px: "$6", py: "$6", "$max-md": { px: '$4', py: '$4' }, ...rest, children: (0, jsx_runtime_1.jsxs)(gui_1.YStack, { width: "100%", maxW: MEASURE, mx: "auto", gap: "$4", children: [(0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$1", children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { role: "heading", "aria-level": level, size: "$6", color: "$ink", children: title }), detail ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$soft", children: detail })) : null] }), (0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('shelf-tabs'), role: "tablist", "aria-label": title, gap: "$4", borderBottomWidth: 1, borderColor: "$borderColor", "$max-md": { gap: '$3' }, children: tabs.map((t, index) => {
70
+ const on = t.id === tab;
71
+ const Icon = t.icon;
72
+ return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ref: (el) => {
73
+ refs.current[index] = el;
74
+ }, ...(0, slot_1.slot)('shelf-tab'), id: `${id}-tab-${t.id}`, role: "tab", tabIndex: index === stop ? 0 : -1, "aria-selected": on, "aria-controls": on ? panel : undefined, onPress: () => onTab(t.id), onKeyDown: (e) => move(e, index), items: "center", gap: "$1.5", pb: "$2", mb: -1, cursor: "pointer", borderBottomWidth: 2, borderColor: on ? '$ink' : 'transparent', hoverStyle: { borderColor: on ? '$ink' : '$edge' }, focusVisibleStyle: press_1.RING, children: [Icon ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { opacity: on ? 1 : 0.6, "aria-hidden": true, "$max-md": { display: 'none' }, children: (0, jsx_runtime_1.jsx)(Icon, { size: 15 }) })) : null, (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$3", color: on ? '$ink' : '$soft', children: t.label })] }, t.id));
75
+ }) }), (0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('shelf-panel'), id: panel, role: "tabpanel", "aria-labelledby": tabs.some((t) => t.id === tab) ? `${id}-tab-${tab}` : undefined, "aria-label": tabs.some((t) => t.id === tab) ? undefined : title, gap: "$4", children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2", children: [(0, jsx_runtime_1.jsx)(Workspace_1.Views, { views: views, value: view, onChange: onView, label: "Show", labels: "all" }), (0, jsx_runtime_1.jsx)(gui_1.XStack, { flex: 1 }), add && onAdd ? ((0, jsx_runtime_1.jsxs)(button_1.Button, { size: "sm", onPress: onAdd, children: [(0, jsx_runtime_1.jsx)(lucide_icons_2_1.Plus, { size: 14 }), " ", add] })) : null] }), (0, jsx_runtime_1.jsx)(input_1.Input, { value: query, onChangeText: onQuery, placeholder: `${search}…`, "aria-label": search }), children] })] }) }));
76
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Shelf — a catalogue page: what an org has, and what it can add, one kind at a
3
+ * time.
4
+ *
5
+ * Customize
6
+ * What the agent brings to a run …
7
+ * ▢ Skills ⌁ Connectors ⧉ Plugins ☺ Agents the kinds, a tablist
8
+ * ─────────
9
+ * [ Yours | Discover ] [ + New skill ]
10
+ * [ Search skills… ]
11
+ * (the cards — `Tiles` of `Tile`s, a `Featured` first)
12
+ *
13
+ * The kinds are a tab strip underlined at the chosen one: one tab stop, arrows
14
+ * move the choice, Home/End jump. Yours/Discover is the package's one segmented
15
+ * control (`Views`, from `@hanzo/ui/agents`), so it is not drawn twice. The
16
+ * search and the Add are the shelf's; what they find and add is the host's.
17
+ *
18
+ * Presentational: the kind, the half and the query come in, every change goes
19
+ * out, and the cards are `children`. On a phone the column takes the width, the
20
+ * tabs drop their icons, and the grid stacks to one card a row.
21
+ */
22
+ import { YStack } from '@hanzo/gui';
23
+ import { type ComponentProps, type ReactNode } from 'react';
24
+ import { type View } from '../agents/Workspace.js';
25
+ type Col = Omit<ComponentProps<typeof YStack>, 'children'>;
26
+ export interface ShelfProps extends Col {
27
+ /** The page's title. */
28
+ title: string;
29
+ /** One or two lines on what the page is for. */
30
+ detail?: string;
31
+ /** The kinds, as tabs. An icon is a component, drawn at 15px. */
32
+ tabs: readonly View[];
33
+ /** The open kind's id. */
34
+ tab: string;
35
+ onTab: (id: string) => void;
36
+ /** The halves of a kind. Yours and Discover unless given. */
37
+ views?: readonly View[];
38
+ /** The open half's id. */
39
+ view: string;
40
+ onView: (id: string) => void;
41
+ /** The search's name and placeholder — "Search skills". */
42
+ search: string;
43
+ query: string;
44
+ onQuery: (q: string) => void;
45
+ /** The Add action's words — "New skill". None, and there is no Add. */
46
+ add?: string;
47
+ onAdd?: () => void;
48
+ /** The title's outline level. */
49
+ level?: 1 | 2;
50
+ /** The cards. */
51
+ children?: ReactNode;
52
+ }
53
+ export declare function Shelf({ title, detail, tabs, tab, onTab, views, view, onView, search, query, onQuery, add, onAdd, level, children, ...rest }: ShelfProps): import("react").JSX.Element;
54
+ export {};
55
+ //# sourceMappingURL=Shelf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shelf.d.ts","sourceRoot":"","sources":["../../src/catalog/Shelf.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAuB,MAAM,EAAE,MAAM,YAAY,CAAA;AAExD,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE1E,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAMtD,KAAK,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,CAAC,CAAA;AAW1D,MAAM,WAAW,UAAW,SAAQ,GAAG;IACrC,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,IAAI,EAAE,SAAS,IAAI,EAAE,CAAA;IACrB,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAA;IACvB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;IAClB,iCAAiC;IACjC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACb,iBAAiB;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,GAAG,EACH,KAAK,EACL,KAAc,EACd,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO,EACP,GAAG,EACH,KAAK,EACL,KAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,UAAU,+BA8HZ"}
@@ -0,0 +1,74 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * Shelf — a catalogue page: what an org has, and what it can add, one kind at a
5
+ * time.
6
+ *
7
+ * Customize
8
+ * What the agent brings to a run …
9
+ * ▢ Skills ⌁ Connectors ⧉ Plugins ☺ Agents the kinds, a tablist
10
+ * ─────────
11
+ * [ Yours | Discover ] [ + New skill ]
12
+ * [ Search skills… ]
13
+ * (the cards — `Tiles` of `Tile`s, a `Featured` first)
14
+ *
15
+ * The kinds are a tab strip underlined at the chosen one: one tab stop, arrows
16
+ * move the choice, Home/End jump. Yours/Discover is the package's one segmented
17
+ * control (`Views`, from `@hanzo/ui/agents`), so it is not drawn twice. The
18
+ * search and the Add are the shelf's; what they find and add is the host's.
19
+ *
20
+ * Presentational: the kind, the half and the query come in, every change goes
21
+ * out, and the cards are `children`. On a phone the column takes the width, the
22
+ * tabs drop their icons, and the grid stacks to one card a row.
23
+ */
24
+ import { SizableText, XStack, YStack } from '@hanzo/gui';
25
+ import { Plus } from '@hanzogui/lucide-icons-2';
26
+ import { useId, useRef } from 'react';
27
+ import { Views } from '../agents/Workspace.js';
28
+ import { Button } from '../backends/gui/button.js';
29
+ import { Input } from '../backends/gui/input.js';
30
+ import { RING } from '../backends/gui/press.js';
31
+ import { slot } from '../backends/gui/slot.js';
32
+ /** The page's measure, px. Three 280px cards and their gaps, with room. */
33
+ const MEASURE = 1080;
34
+ /** What a shelf shows by default: the org's own, and what it can add. */
35
+ const HALVES = [
36
+ { id: 'yours', label: 'Yours' },
37
+ { id: 'discover', label: 'Discover' },
38
+ ];
39
+ export function Shelf({ title, detail, tabs, tab, onTab, views = HALVES, view, onView, search, query, onQuery, add, onAdd, level = 1, children, ...rest }) {
40
+ const refs = useRef([]);
41
+ const id = useId();
42
+ const panel = `${id}-panel`;
43
+ // The strip's one tab stop is the open kind — or the first, when `tab` names
44
+ // none, so the strip is never unreachable from the keyboard.
45
+ const stop = Math.max(0, tabs.findIndex((t) => t.id === tab));
46
+ const move = (e, index) => {
47
+ const last = tabs.length - 1;
48
+ const to = e.key === 'ArrowRight' ? (index === last ? 0 : index + 1)
49
+ : e.key === 'ArrowLeft' ? (index === 0 ? last : index - 1)
50
+ : e.key === 'Home' ? 0
51
+ : e.key === 'End' ? last
52
+ : -1;
53
+ if (to < 0) {
54
+ // A tab is a button: Enter and Space choose it, which gui does not do for
55
+ // a stack on its own.
56
+ if (e.key === 'Enter' || e.key === ' ') {
57
+ e.preventDefault?.();
58
+ onTab(tabs[index].id);
59
+ }
60
+ return;
61
+ }
62
+ e.preventDefault?.();
63
+ onTab(tabs[to].id);
64
+ refs.current[to]?.focus();
65
+ };
66
+ return (_jsx(YStack, { ...slot('shelf'), flex: 1, minH: 0, overflow: "scroll", px: "$6", py: "$6", "$max-md": { px: '$4', py: '$4' }, ...rest, children: _jsxs(YStack, { width: "100%", maxW: MEASURE, mx: "auto", gap: "$4", children: [_jsxs(YStack, { gap: "$1", children: [_jsx(SizableText, { role: "heading", "aria-level": level, size: "$6", color: "$ink", children: title }), detail ? (_jsx(SizableText, { size: "$2", color: "$soft", children: detail })) : null] }), _jsx(XStack, { ...slot('shelf-tabs'), role: "tablist", "aria-label": title, gap: "$4", borderBottomWidth: 1, borderColor: "$borderColor", "$max-md": { gap: '$3' }, children: tabs.map((t, index) => {
67
+ const on = t.id === tab;
68
+ const Icon = t.icon;
69
+ return (_jsxs(XStack, { ref: (el) => {
70
+ refs.current[index] = el;
71
+ }, ...slot('shelf-tab'), id: `${id}-tab-${t.id}`, role: "tab", tabIndex: index === stop ? 0 : -1, "aria-selected": on, "aria-controls": on ? panel : undefined, onPress: () => onTab(t.id), onKeyDown: (e) => move(e, index), items: "center", gap: "$1.5", pb: "$2", mb: -1, cursor: "pointer", borderBottomWidth: 2, borderColor: on ? '$ink' : 'transparent', hoverStyle: { borderColor: on ? '$ink' : '$edge' }, focusVisibleStyle: RING, children: [Icon ? (_jsx(XStack, { opacity: on ? 1 : 0.6, "aria-hidden": true, "$max-md": { display: 'none' }, children: _jsx(Icon, { size: 15 }) })) : null, _jsx(SizableText, { size: "$3", color: on ? '$ink' : '$soft', children: t.label })] }, t.id));
72
+ }) }), _jsxs(YStack, { ...slot('shelf-panel'), id: panel, role: "tabpanel", "aria-labelledby": tabs.some((t) => t.id === tab) ? `${id}-tab-${tab}` : undefined, "aria-label": tabs.some((t) => t.id === tab) ? undefined : title, gap: "$4", children: [_jsxs(XStack, { items: "center", gap: "$2", children: [_jsx(Views, { views: views, value: view, onChange: onView, label: "Show", labels: "all" }), _jsx(XStack, { flex: 1 }), add && onAdd ? (_jsxs(Button, { size: "sm", onPress: onAdd, children: [_jsx(Plus, { size: 14 }), " ", add] })) : null] }), _jsx(Input, { value: query, onChangeText: onQuery, placeholder: `${search}…`, "aria-label": search }), children] })] }) }));
73
+ }
74
+ //# sourceMappingURL=Shelf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shelf.js","sourceRoot":"","sources":["../../src/catalog/Shelf.tsx"],"names":[],"mappings":"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"}