@hanzo/ui 8.1.4 → 8.1.5

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 (73) hide show
  1. package/dist/chat/Code.cjs +2 -2
  2. package/dist/chat/Code.d.ts +16 -3
  3. package/dist/chat/Code.d.ts.map +1 -1
  4. package/dist/chat/Code.js +2 -2
  5. package/dist/chat/Code.js.map +1 -1
  6. package/dist/chat/Composer.cjs +16 -10
  7. package/dist/chat/Composer.d.ts +59 -3
  8. package/dist/chat/Composer.d.ts.map +1 -1
  9. package/dist/chat/Composer.js +16 -10
  10. package/dist/chat/Composer.js.map +1 -1
  11. package/dist/chat/Failure.cjs +2 -2
  12. package/dist/chat/Failure.d.ts +29 -3
  13. package/dist/chat/Failure.d.ts.map +1 -1
  14. package/dist/chat/Failure.js +2 -2
  15. package/dist/chat/Failure.js.map +1 -1
  16. package/dist/chat/Header.cjs +2 -2
  17. package/dist/chat/Header.d.ts +20 -3
  18. package/dist/chat/Header.d.ts.map +1 -1
  19. package/dist/chat/Header.js +2 -2
  20. package/dist/chat/Header.js.map +1 -1
  21. package/dist/chat/Message.cjs +10 -4
  22. package/dist/chat/Message.d.ts +42 -3
  23. package/dist/chat/Message.d.ts.map +1 -1
  24. package/dist/chat/Message.js +10 -4
  25. package/dist/chat/Message.js.map +1 -1
  26. package/dist/chat/Sources.cjs +33 -10
  27. package/dist/chat/Sources.d.ts +46 -6
  28. package/dist/chat/Sources.d.ts.map +1 -1
  29. package/dist/chat/Sources.js +32 -9
  30. package/dist/chat/Sources.js.map +1 -1
  31. package/dist/chat/Step.cjs +2 -2
  32. package/dist/chat/Step.d.ts +4 -3
  33. package/dist/chat/Step.d.ts.map +1 -1
  34. package/dist/chat/Step.js +2 -2
  35. package/dist/chat/Step.js.map +1 -1
  36. package/dist/chat/Thread.cjs +38 -13
  37. package/dist/chat/Thread.d.ts +55 -3
  38. package/dist/chat/Thread.d.ts.map +1 -1
  39. package/dist/chat/Thread.js +38 -13
  40. package/dist/chat/Thread.js.map +1 -1
  41. package/dist/chat/index.cjs +19 -2
  42. package/dist/chat/index.d.ts +18 -1
  43. package/dist/chat/index.d.ts.map +1 -1
  44. package/dist/chat/index.js +18 -1
  45. package/dist/chat/index.js.map +1 -1
  46. package/dist/chat/pure.cjs +41 -0
  47. package/dist/chat/pure.d.ts +3 -0
  48. package/dist/chat/pure.d.ts.map +1 -0
  49. package/dist/chat/pure.js +35 -0
  50. package/dist/chat/pure.js.map +1 -0
  51. package/dist/chat/send.cjs +10 -1
  52. package/dist/chat/send.d.ts +9 -0
  53. package/dist/chat/send.d.ts.map +1 -1
  54. package/dist/chat/send.js +10 -1
  55. package/dist/chat/send.js.map +1 -1
  56. package/dist/chat/stick.cjs +1 -1
  57. package/dist/chat/stick.js +1 -1
  58. package/dist/gallery.cjs +5 -4
  59. package/dist/gallery.d.ts.map +1 -1
  60. package/dist/gallery.js +5 -4
  61. package/dist/gallery.js.map +1 -1
  62. package/dist/product/CopyButton.cjs +2 -2
  63. package/dist/product/CopyButton.d.ts +12 -2
  64. package/dist/product/CopyButton.d.ts.map +1 -1
  65. package/dist/product/CopyButton.js +2 -2
  66. package/dist/product/CopyButton.js.map +1 -1
  67. package/dist/product/pure.cjs +12 -1
  68. package/dist/product/pure.d.ts +2 -0
  69. package/dist/product/pure.d.ts.map +1 -1
  70. package/dist/product/pure.js +7 -0
  71. package/dist/product/pure.js.map +1 -1
  72. package/dist/styles.css +14 -2
  73. package/package.json +7 -1
@@ -39,6 +39,23 @@
39
39
  * active-id resolution. The same components serve a live conversation, a shared
40
40
  * read-only transcript and a test fixture.
41
41
  *
42
+ * Every component here spreads its residual props onto its own element, and
43
+ * `Message`, `Thread` and `Composer` publish a way through to the part they own
44
+ * (`body`, `column`, `field`). They did not, and that closed list was the ONE
45
+ * thing keeping hanzo/chat from adopting `Message`: its scroll machinery
46
+ * addresses turns by `id`, `SelectionAsk` finds one with
47
+ * `closest('.message-render')`, and its turn wears a fleet-wide `glass`
48
+ * material against a `bg` welded to `$color3`. None of it exotic, all of it
49
+ * free with a spread — gui forwards what it does not recognise, which is the
50
+ * mechanism `slot()` is already built on.
51
+ *
52
+ * `@hanzo/ui/chat/pure` is the same module's decisions with nothing attached:
53
+ * `sends`, `ready`, `pinned`, `SLACK`. It exists because `import('@hanzo/ui/chat')`
54
+ * cannot load in Node, so no script and no spec could reach them. They are also
55
+ * re-exported from `@hanzo/ui/product/pure`, because they are not chat rules —
56
+ * ten of the fifteen files importing `sends` in hanzo.app are a SQL editor, a
57
+ * file explorer, a command palette, a rename field.
58
+ *
42
59
  * Styling is `$` tokens throughout, never literal colours, so each brand retunes
43
60
  * through its own theme and nothing here carries a Hanzo mark — which is what
44
61
  * lets the same shell ship on Lux and Zoo surfaces without leaking a brand.
@@ -62,5 +79,5 @@ export { Header, HeaderButton, ShareButton, AsideToggle, Aside, type HeaderProps
62
79
  export { Code, type CodeProps } from './Code.js';
63
80
  export { Step, type StepProps, type Ran } from './Step.js';
64
81
  export { Failure, type FailureProps } from './Failure.js';
65
- export { Sources, SourceChip, type Source, type SourcesProps, type SourceChipProps, } from './Sources.js';
82
+ export { Sources, SourceCard, type Source, type SourcesProps, type SourceCardProps, } from './Sources.js';
66
83
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EACL,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACtB,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,MAAM,EACN,YAAY,EACZ,WAAW,EACX,WAAW,EACX,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,QAAQ,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AAEtD,OAAO,EACL,OAAO,EACP,UAAU,EACV,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EACL,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACtB,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,MAAM,EACN,YAAY,EACZ,WAAW,EACX,WAAW,EACX,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,QAAQ,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AAEtD,OAAO,EACL,OAAO,EACP,UAAU,EACV,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,WAAW,CAAA"}
@@ -39,6 +39,23 @@
39
39
  * active-id resolution. The same components serve a live conversation, a shared
40
40
  * read-only transcript and a test fixture.
41
41
  *
42
+ * Every component here spreads its residual props onto its own element, and
43
+ * `Message`, `Thread` and `Composer` publish a way through to the part they own
44
+ * (`body`, `column`, `field`). They did not, and that closed list was the ONE
45
+ * thing keeping hanzo/chat from adopting `Message`: its scroll machinery
46
+ * addresses turns by `id`, `SelectionAsk` finds one with
47
+ * `closest('.message-render')`, and its turn wears a fleet-wide `glass`
48
+ * material against a `bg` welded to `$color3`. None of it exotic, all of it
49
+ * free with a spread — gui forwards what it does not recognise, which is the
50
+ * mechanism `slot()` is already built on.
51
+ *
52
+ * `@hanzo/ui/chat/pure` is the same module's decisions with nothing attached:
53
+ * `sends`, `ready`, `pinned`, `SLACK`. It exists because `import('@hanzo/ui/chat')`
54
+ * cannot load in Node, so no script and no spec could reach them. They are also
55
+ * re-exported from `@hanzo/ui/product/pure`, because they are not chat rules —
56
+ * ten of the fifteen files importing `sends` in hanzo.app are a SQL editor, a
57
+ * file explorer, a command palette, a rename field.
58
+ *
42
59
  * Styling is `$` tokens throughout, never literal colours, so each brand retunes
43
60
  * through its own theme and nothing here carries a Hanzo mark — which is what
44
61
  * lets the same shell ship on Lux and Zoo surfaces without leaking a brand.
@@ -62,5 +79,5 @@ export { Header, HeaderButton, ShareButton, AsideToggle, Aside, } from './Header
62
79
  export { Code } from './Code.js';
63
80
  export { Step } from './Step.js';
64
81
  export { Failure } from './Failure.js';
65
- export { Sources, SourceChip, } from './Sources.js';
82
+ export { Sources, SourceCard, } from './Sources.js';
66
83
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAsB,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAa,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAc,MAAM,SAAS,CAAA;AAEnD,OAAO,EACL,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,GASZ,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,MAAM,EACN,YAAY,EACZ,WAAW,EACX,WAAW,EACX,KAAK,GAMN,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,IAAI,EAA4B,MAAM,QAAQ,CAAA;AACvD,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAA;AAEtD,OAAO,EACL,OAAO,EACP,UAAU,GAIX,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAsB,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAa,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAc,MAAM,SAAS,CAAA;AAEnD,OAAO,EACL,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,GASZ,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,MAAM,EACN,YAAY,EACZ,WAAW,EACX,WAAW,EACX,KAAK,GAMN,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,IAAI,EAA4B,MAAM,QAAQ,CAAA;AACvD,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAA;AAEtD,OAAO,EACL,OAAO,EACP,UAAU,GAIX,MAAM,WAAW,CAAA"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // @hanzo/ui/chat/pure — the conversation's decisions, without the conversation.
3
+ //
4
+ // Every module here is a function over values: no @hanzo/gui, no React, no DOM,
5
+ // no side effects. Same shape and same reason as `@hanzo/ui/product/pure`, and
6
+ // the reason is measured — `import('@hanzo/ui/chat')` in Node dies on
7
+ // `SyntaxError: Unexpected token 'typeof'`, so a script, a Playwright spec or a
8
+ // server-side caller could not reach these at all. They had to stand up a
9
+ // browser to ask whether Enter sends.
10
+ //
11
+ // import { sends, ready, pinned, SLACK } from '@hanzo/ui/chat/pure'
12
+ //
13
+ // These are not chat rules and the chat-shaped import was hiding that. Of the
14
+ // fifteen files in hanzo.app that import `sends`, TEN are not chat: a repo-URL
15
+ // field, two project renames, the SQL editor, the file explorer, the SEO tab,
16
+ // the workspace menu, the console prompt, an uploader and the command palette.
17
+ // "Does this keystroke commit this field" is the same question wherever a field
18
+ // takes Enter. `@hanzo/ui/product/pure` re-exports all four for exactly that
19
+ // reader — the one who is not writing chat and would never look here.
20
+ //
21
+ // It is the same mistake `CopyButton` made, recorded in this module's own
22
+ // barrel: a general thing reachable only through a chat-shaped door gets
23
+ // rewritten by everyone who does not think to open that door. hanzo/chat had
24
+ // THREE Enter rules, and two of them (`AnswerComposer`, `SelectionAsk`) tested
25
+ // `Enter && !shiftKey` straight off the event — so Enter-to-accept an IME
26
+ // candidate submitted a half-typed word for Japanese, Chinese and Korean
27
+ // writers. `sends` had the fix from the day it was written and nobody could
28
+ // reach it.
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.SLACK = exports.pinned = exports.sends = exports.ready = void 0;
31
+ // Enter, and whether a draft may go. The IME guard is the whole point; read
32
+ // `sends` before writing another one.
33
+ var send_1 = require("./send.cjs");
34
+ Object.defineProperty(exports, "ready", { enumerable: true, get: function () { return send_1.ready; } });
35
+ Object.defineProperty(exports, "sends", { enumerable: true, get: function () { return send_1.sends; } });
36
+ // Stay-at-the-bottom, as a distance test. The fleet's one answer to "am I at
37
+ // the bottom", which had five: 50px twice, 97%-of-height, an
38
+ // IntersectionObserver at a 0.85 ratio, and on one thread nothing at all.
39
+ var stick_1 = require("./stick.cjs");
40
+ Object.defineProperty(exports, "pinned", { enumerable: true, get: function () { return stick_1.pinned; } });
41
+ Object.defineProperty(exports, "SLACK", { enumerable: true, get: function () { return stick_1.SLACK; } });
@@ -0,0 +1,3 @@
1
+ export { ready, sends, type Mods } from './send.js';
2
+ export { pinned, SLACK, type Track } from './stick.js';
3
+ //# sourceMappingURL=pure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pure.d.ts","sourceRoot":"","sources":["../../src/chat/pure.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAA;AAKhD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,35 @@
1
+ // @hanzo/ui/chat/pure — the conversation's decisions, without the conversation.
2
+ //
3
+ // Every module here is a function over values: no @hanzo/gui, no React, no DOM,
4
+ // no side effects. Same shape and same reason as `@hanzo/ui/product/pure`, and
5
+ // the reason is measured — `import('@hanzo/ui/chat')` in Node dies on
6
+ // `SyntaxError: Unexpected token 'typeof'`, so a script, a Playwright spec or a
7
+ // server-side caller could not reach these at all. They had to stand up a
8
+ // browser to ask whether Enter sends.
9
+ //
10
+ // import { sends, ready, pinned, SLACK } from '@hanzo/ui/chat/pure'
11
+ //
12
+ // These are not chat rules and the chat-shaped import was hiding that. Of the
13
+ // fifteen files in hanzo.app that import `sends`, TEN are not chat: a repo-URL
14
+ // field, two project renames, the SQL editor, the file explorer, the SEO tab,
15
+ // the workspace menu, the console prompt, an uploader and the command palette.
16
+ // "Does this keystroke commit this field" is the same question wherever a field
17
+ // takes Enter. `@hanzo/ui/product/pure` re-exports all four for exactly that
18
+ // reader — the one who is not writing chat and would never look here.
19
+ //
20
+ // It is the same mistake `CopyButton` made, recorded in this module's own
21
+ // barrel: a general thing reachable only through a chat-shaped door gets
22
+ // rewritten by everyone who does not think to open that door. hanzo/chat had
23
+ // THREE Enter rules, and two of them (`AnswerComposer`, `SelectionAsk`) tested
24
+ // `Enter && !shiftKey` straight off the event — so Enter-to-accept an IME
25
+ // candidate submitted a half-typed word for Japanese, Chinese and Korean
26
+ // writers. `sends` had the fix from the day it was written and nobody could
27
+ // reach it.
28
+ // Enter, and whether a draft may go. The IME guard is the whole point; read
29
+ // `sends` before writing another one.
30
+ export { ready, sends } from './send.js';
31
+ // Stay-at-the-bottom, as a distance test. The fleet's one answer to "am I at
32
+ // the bottom", which had five: 50px twice, 97%-of-height, an
33
+ // IntersectionObserver at a 0.85 ratio, and on one thread nothing at all.
34
+ export { pinned, SLACK } from './stick.js';
35
+ //# sourceMappingURL=pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pure.js","sourceRoot":"","sources":["../../src/chat/pure.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,sEAAsE;AACtE,gFAAgF;AAChF,0EAA0E;AAC1E,sCAAsC;AACtC,EAAE;AACF,sEAAsE;AACtE,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,6EAA6E;AAC7E,sEAAsE;AACtE,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,6EAA6E;AAC7E,+EAA+E;AAC/E,0EAA0E;AAC1E,yEAAyE;AACzE,4EAA4E;AAC5E,YAAY;AAEZ,4EAA4E;AAC5E,sCAAsC;AACtC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAa,MAAM,QAAQ,CAAA;AAEhD,6EAA6E;AAC7E,6DAA6D;AAC7D,0EAA0E;AAC1E,OAAO,EAAE,MAAM,EAAE,KAAK,EAAc,MAAM,SAAS,CAAA"}
@@ -1,4 +1,4 @@
1
- 'use client';"use strict";
1
+ "use strict";
2
2
  /**
3
3
  * The two decisions a composer makes, as pure functions.
4
4
  *
@@ -27,6 +27,15 @@ const claimed = (key, mods) => mods.isComposing === true || key === 'Process' ||
27
27
  * reachable from the keyboard. Cmd/Ctrl+Enter always sends — it is the force-send
28
28
  * every surface already taught its users, and it holds even with Shift down.
29
29
  * A keystroke the IME has claimed belongs to the IME, never to the composer.
30
+ *
31
+ * HAND IT `e.nativeEvent`, NEVER `e`. React's synthetic KeyboardEvent does not
32
+ * carry `isComposing` or `keyCode`, so passing the synthetic event gets one of
33
+ * the three IME signals instead of three, type-checks cleanly, reads correctly
34
+ * at the call site, and puts the mid-candidate submit straight back for every
35
+ * Japanese, Chinese and Korean writer. That is the entire bug this function
36
+ * exists to end, and it is re-introducible in one character.
37
+ *
38
+ * onKeyDown={(e) => { if (sends(e.key, e.nativeEvent)) { … } }}
30
39
  */
31
40
  const sends = (key, mods = {}) => {
32
41
  if (key !== 'Enter' || claimed(key, mods))
@@ -22,6 +22,15 @@ export interface Mods {
22
22
  * reachable from the keyboard. Cmd/Ctrl+Enter always sends — it is the force-send
23
23
  * every surface already taught its users, and it holds even with Shift down.
24
24
  * A keystroke the IME has claimed belongs to the IME, never to the composer.
25
+ *
26
+ * HAND IT `e.nativeEvent`, NEVER `e`. React's synthetic KeyboardEvent does not
27
+ * carry `isComposing` or `keyCode`, so passing the synthetic event gets one of
28
+ * the three IME signals instead of three, type-checks cleanly, reads correctly
29
+ * at the call site, and puts the mid-candidate submit straight back for every
30
+ * Japanese, Chinese and Korean writer. That is the entire bug this function
31
+ * exists to end, and it is re-introducible in one character.
32
+ *
33
+ * onKeyDown={(e) => { if (sends(e.key, e.nativeEvent)) { … } }}
25
34
  */
26
35
  export declare const sends: (key: string, mods?: Mods) => boolean;
27
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/chat/send.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,mEAAmE;AACnE,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAkBD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,KAAK,MAAM,EAAE,OAAM,IAAS,KAAG,OAIpD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,cAAY,EAAE,kBAAgB,KAAG,OACvB,CAAA"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/chat/send.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,mEAAmE;AACnE,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAkBD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,KAAK,GAAI,KAAK,MAAM,EAAE,OAAM,IAAS,KAAG,OAIpD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,cAAY,EAAE,kBAAgB,KAAG,OACvB,CAAA"}
package/dist/chat/send.js CHANGED
@@ -1,4 +1,4 @@
1
- 'use client';/**
1
+ /**
2
2
  * The two decisions a composer makes, as pure functions.
3
3
  *
4
4
  * Every Hanzo chat surface had re-implemented both inline, and they had drifted:
@@ -24,6 +24,15 @@ const claimed = (key, mods) => mods.isComposing === true || key === 'Process' ||
24
24
  * reachable from the keyboard. Cmd/Ctrl+Enter always sends — it is the force-send
25
25
  * every surface already taught its users, and it holds even with Shift down.
26
26
  * A keystroke the IME has claimed belongs to the IME, never to the composer.
27
+ *
28
+ * HAND IT `e.nativeEvent`, NEVER `e`. React's synthetic KeyboardEvent does not
29
+ * carry `isComposing` or `keyCode`, so passing the synthetic event gets one of
30
+ * the three IME signals instead of three, type-checks cleanly, reads correctly
31
+ * at the call site, and puts the mid-candidate submit straight back for every
32
+ * Japanese, Chinese and Korean writer. That is the entire bug this function
33
+ * exists to end, and it is re-introducible in one character.
34
+ *
35
+ * onKeyDown={(e) => { if (sends(e.key, e.nativeEvent)) { … } }}
27
36
  */
28
37
  export const sends = (key, mods = {}) => {
29
38
  if (key !== 'Enter' || claimed(key, mods))
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/chat/send.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,4EAA4E;AAC5E,MAAM,GAAG,GAAG,GAAG,CAAA;AAEf;;;;;;;;;GASG;AACH,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,IAAU,EAAW,EAAE,CACnD,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,CAAA;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,OAAa,EAAE,EAAW,EAAE;IAC7D,IAAI,GAAG,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACvD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC/D,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAA;AACvD,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,IAAI,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAW,EAAE,CAC9E,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/chat/send.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,4EAA4E;AAC5E,MAAM,GAAG,GAAG,GAAG,CAAA;AAEf;;;;;;;;;GASG;AACH,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,IAAU,EAAW,EAAE,CACnD,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,CAAA;AAExE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,OAAa,EAAE,EAAW,EAAE;IAC7D,IAAI,GAAG,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACvD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC/D,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAA;AACvD,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,IAAI,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAW,EAAE,CAC9E,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- 'use client';"use strict";
1
+ "use strict";
2
2
  /**
3
3
  * Stay-at-the-bottom, as a pure decision.
4
4
  *
@@ -1,4 +1,4 @@
1
- 'use client';/**
1
+ /**
2
2
  * Stay-at-the-bottom, as a pure decision.
3
3
  *
4
4
  * A thread should follow a streaming answer, but it must stop following the
package/dist/gallery.cjs CHANGED
@@ -26,10 +26,11 @@ const BUTTON_SIZES = ['default', 'sm', 'lg', 'icon', 'icon-sm', 'icon-lg'];
26
26
  const BADGE_VARIANTS = ['default', 'secondary', 'destructive', 'outline'];
27
27
  /** The chat shell is callbacks-out, and this list only needs them to exist. */
28
28
  const NOOP = () => { };
29
- /** Two, so the grid's wrap rule and the letter fallback both render. */
29
+ /** Two: one with a host and one without, so the card's second line and its
30
+ * letter fallback are both rendered rules. */
30
31
  const SOURCES = [
31
- { id: 'a', title: 'hanzo.ai', href: 'https://hanzo.ai' },
32
- { id: 'b', title: 'Reference' },
32
+ { id: 'a', title: 'The one chat surface', href: 'https://hanzo.ai', host: 'hanzo.ai' },
33
+ { id: 'b', title: 'A reference with a title long enough to reach the three-line clamp' },
33
34
  ];
34
35
  /** One section. Plain CSS on a plain div — the gallery is a harness, and laying
35
36
  * it out with the components under test would make a layout bug read as a
@@ -53,6 +54,6 @@ const Gallery = () => ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex'
53
54
  tabs: [
54
55
  { id: 'console', title: 'Console', closable: false, content: (0, jsx_runtime_1.jsx)(gui_1.CardTitle, { children: "console" }) },
55
56
  ],
56
- }, children: (0, jsx_runtime_1.jsx)(gui_1.CardTitle, { children: "center" }) }) }) }), (0, jsx_runtime_1.jsxs)(Section, { name: "product-arrangements", children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 12, width: 320 }, children: [(0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { width: 120 }), (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { width: "100%", height: 72, rounded: "$4" }), (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton.Text, { lines: 3 })] }), (0, jsx_runtime_1.jsx)(TooltipAnchor_1.TooltipAnchor, { description: "Delete this agent", children: (0, jsx_runtime_1.jsx)(gui_1.Button, { children: "hinted" }) }), (0, jsx_runtime_1.jsx)(gui_1.Dialog, { open: true, children: (0, jsx_runtime_1.jsx)(DialogTemplate_1.DialogTemplate, { title: "Delete agent", description: "This removes every run recorded against it.", confirm: { label: 'Delete', tone: 'danger' }, children: (0, jsx_runtime_1.jsx)(gui_1.CardTitle, { children: "body" }) }) })] }), (0, jsx_runtime_1.jsxs)(Section, { name: "chat", children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 12, width: 520, height: 320 }, children: [(0, jsx_runtime_1.jsxs)(chat_1.Header, { title: "A conversation with a long enough name to clamp", children: [(0, jsx_runtime_1.jsx)(chat_1.ShareButton, {}), (0, jsx_runtime_1.jsx)(chat_1.AsideToggle, {})] }), (0, jsx_runtime_1.jsxs)(chat_1.Thread, { children: [(0, jsx_runtime_1.jsx)(chat_1.Message, { role: "user", children: "ask" }), (0, jsx_runtime_1.jsxs)(chat_1.Message, { role: "assistant", icon: (0, jsx_runtime_1.jsx)(gui_1.Spinner, {}), actions: (0, jsx_runtime_1.jsx)(gui_1.Badge, { children: "copy" }), children: [(0, jsx_runtime_1.jsx)(chat_1.Step, { name: "shell", status: "running", detail: "git status --porcelain" }), (0, jsx_runtime_1.jsx)(chat_1.Step, { name: "write", status: "done", detail: "src/index.ts", defaultOpen: true, children: (0, jsx_runtime_1.jsx)(chat_1.Code, { language: "json", value: "{}", children: '{}' }) }), (0, jsx_runtime_1.jsx)(chat_1.Step, { name: "fetch", status: "error", detail: "timed out", children: "plain body" }), (0, jsx_runtime_1.jsx)(chat_1.Step, { name: "plan", status: "cancelled" }), (0, jsx_runtime_1.jsx)(chat_1.Code, { language: "typescript", value: "const x = 1", children: "const x = 1" }), (0, jsx_runtime_1.jsx)(chat_1.Sources, { sources: SOURCES })] }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "assistant", busy: true, children: "answering" }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "assistant", children: (0, jsx_runtime_1.jsx)(chat_1.Failure, { onRetry: NOOP, children: "The model stopped before finishing." }) }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "assistant", children: (0, jsx_runtime_1.jsx)(chat_1.Failure, { children: "Rate limited." }) }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "system", children: "note" })] }), (0, jsx_runtime_1.jsx)(chat_1.Composer, { value: "a draft", onChange: NOOP, onSend: NOOP, hint: "Enter to send", children: (0, jsx_runtime_1.jsx)(gui_1.Badge, { children: "tool" }) }), (0, jsx_runtime_1.jsx)(chat_1.Composer, { value: "", onChange: NOOP, onSend: NOOP, onStop: NOOP, busy: true })] }), (0, jsx_runtime_1.jsx)(chat_1.Aside, { children: (0, jsx_runtime_1.jsx)(chat_1.Sources, { sources: SOURCES }) }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', width: 260, height: 320 }, children: (0, jsx_runtime_1.jsxs)(chat_1.Sidebar, { children: [(0, jsx_runtime_1.jsx)(chat_1.SidebarHeader, { title: "Hanzo", onOpenSwitcher: NOOP, onSearch: NOOP, onCollapse: NOOP }), (0, jsx_runtime_1.jsx)(chat_1.SidebarNewChat, { onPress: NOOP }), (0, jsx_runtime_1.jsxs)(chat_1.SidebarScroll, { children: [(0, jsx_runtime_1.jsxs)(chat_1.SidebarSection, { label: "Today", children: [(0, jsx_runtime_1.jsx)(chat_1.SidebarItem, { active: true, onPress: NOOP, children: "Selected thread" }), (0, jsx_runtime_1.jsx)(chat_1.SidebarItem, { onPress: NOOP, children: "Another thread" })] }), (0, jsx_runtime_1.jsx)(chat_1.SidebarFolder, { name: "Archive", defaultOpen: true, children: (0, jsx_runtime_1.jsx)(chat_1.SidebarItem, { onPress: NOOP, children: "Nested thread" }) })] }), (0, jsx_runtime_1.jsx)(chat_1.SidebarUser, { name: "z", secondary: "z@hanzo.ai", onPress: NOOP, onHelp: NOOP })] }) })] }), (0, jsx_runtime_1.jsxs)(Section, { name: "box", children: [(0, jsx_runtime_1.jsx)(box_1.Box, { className: "flex items-center gap-4 px-6 py-3 rounded-lg border", children: (0, jsx_runtime_1.jsx)(gui_1.CardTitle, { children: "utility classes" }) }), (0, jsx_runtime_1.jsx)(box_1.Box, { className: "flex-col gap-2 max-w-3xl mx-auto overflow-hidden", children: (0, jsx_runtime_1.jsx)(gui_1.CardTitle, { children: "column" }) })] })] }));
57
+ }, children: (0, jsx_runtime_1.jsx)(gui_1.CardTitle, { children: "center" }) }) }) }), (0, jsx_runtime_1.jsxs)(Section, { name: "product-arrangements", children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 12, width: 320 }, children: [(0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { width: 120 }), (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { width: "100%", height: 72, rounded: "$4" }), (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton.Text, { lines: 3 })] }), (0, jsx_runtime_1.jsx)(TooltipAnchor_1.TooltipAnchor, { description: "Delete this agent", children: (0, jsx_runtime_1.jsx)(gui_1.Button, { children: "hinted" }) }), (0, jsx_runtime_1.jsx)(gui_1.Dialog, { open: true, children: (0, jsx_runtime_1.jsx)(DialogTemplate_1.DialogTemplate, { title: "Delete agent", description: "This removes every run recorded against it.", confirm: { label: 'Delete', tone: 'danger' }, children: (0, jsx_runtime_1.jsx)(gui_1.CardTitle, { children: "body" }) }) })] }), (0, jsx_runtime_1.jsxs)(Section, { name: "chat", children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 12, width: 520, height: 320 }, children: [(0, jsx_runtime_1.jsxs)(chat_1.Header, { title: "A conversation with a long enough name to clamp", leading: (0, jsx_runtime_1.jsx)(chat_1.AsideToggle, {}), onOpenMenu: NOOP, children: [(0, jsx_runtime_1.jsx)(chat_1.ShareButton, {}), (0, jsx_runtime_1.jsx)(chat_1.AsideToggle, {})] }), (0, jsx_runtime_1.jsxs)(chat_1.Thread, { children: [(0, jsx_runtime_1.jsx)(chat_1.Message, { role: "user", children: "ask" }), (0, jsx_runtime_1.jsxs)(chat_1.Message, { role: "assistant", icon: (0, jsx_runtime_1.jsx)(gui_1.Spinner, {}), actions: (0, jsx_runtime_1.jsx)(gui_1.Badge, { children: "copy" }), children: [(0, jsx_runtime_1.jsx)(chat_1.Step, { name: "shell", status: "running", detail: "git status --porcelain" }), (0, jsx_runtime_1.jsx)(chat_1.Step, { name: "write", status: "done", detail: "src/index.ts", defaultOpen: true, children: (0, jsx_runtime_1.jsx)(chat_1.Code, { language: "json", value: "{}", children: '{}' }) }), (0, jsx_runtime_1.jsx)(chat_1.Step, { name: "fetch", status: "error", detail: "timed out", children: "plain body" }), (0, jsx_runtime_1.jsx)(chat_1.Step, { name: "plan", status: "cancelled" }), (0, jsx_runtime_1.jsx)(chat_1.Code, { language: "typescript", value: "const x = 1", children: "const x = 1" }), (0, jsx_runtime_1.jsx)(chat_1.Sources, { sources: SOURCES })] }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "assistant", busy: true, children: "answering" }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "assistant", children: (0, jsx_runtime_1.jsx)(chat_1.Failure, { onRetry: NOOP, children: "The model stopped before finishing." }) }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "assistant", children: (0, jsx_runtime_1.jsx)(chat_1.Failure, { children: "Rate limited." }) }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "user", body: { bg: '$color5', rounded: '$3' }, children: "restyled bubble" }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "system", children: "note" })] }), (0, jsx_runtime_1.jsx)(chat_1.Composer, { value: "a draft", onChange: NOOP, onSend: NOOP, hint: "Enter to send", children: (0, jsx_runtime_1.jsx)(gui_1.Badge, { children: "tool" }) }), (0, jsx_runtime_1.jsx)(chat_1.Composer, { value: "", onChange: NOOP, onSend: NOOP, onStop: NOOP, busy: true })] }), (0, jsx_runtime_1.jsx)(chat_1.Aside, { children: (0, jsx_runtime_1.jsx)(chat_1.Sources, { sources: SOURCES }) }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', width: 260, height: 320 }, children: (0, jsx_runtime_1.jsxs)(chat_1.Sidebar, { children: [(0, jsx_runtime_1.jsx)(chat_1.SidebarHeader, { title: "Hanzo", onOpenSwitcher: NOOP, onSearch: NOOP, onCollapse: NOOP }), (0, jsx_runtime_1.jsx)(chat_1.SidebarNewChat, { onPress: NOOP }), (0, jsx_runtime_1.jsxs)(chat_1.SidebarScroll, { children: [(0, jsx_runtime_1.jsxs)(chat_1.SidebarSection, { label: "Today", children: [(0, jsx_runtime_1.jsx)(chat_1.SidebarItem, { active: true, onPress: NOOP, children: "Selected thread" }), (0, jsx_runtime_1.jsx)(chat_1.SidebarItem, { onPress: NOOP, children: "Another thread" })] }), (0, jsx_runtime_1.jsx)(chat_1.SidebarFolder, { name: "Archive", defaultOpen: true, children: (0, jsx_runtime_1.jsx)(chat_1.SidebarItem, { onPress: NOOP, children: "Nested thread" }) })] }), (0, jsx_runtime_1.jsx)(chat_1.SidebarUser, { name: "z", secondary: "z@hanzo.ai", onPress: NOOP, onHelp: NOOP })] }) })] }), (0, jsx_runtime_1.jsxs)(Section, { name: "box", children: [(0, jsx_runtime_1.jsx)(box_1.Box, { className: "flex items-center gap-4 px-6 py-3 rounded-lg border", children: (0, jsx_runtime_1.jsx)(gui_1.CardTitle, { children: "utility classes" }) }), (0, jsx_runtime_1.jsx)(box_1.Box, { className: "flex-col gap-2 max-w-3xl mx-auto overflow-hidden", children: (0, jsx_runtime_1.jsx)(gui_1.CardTitle, { children: "column" }) })] })] }));
57
58
  exports.Gallery = Gallery;
58
59
  exports.default = exports.Gallery;
@@ -1 +1 @@
1
- {"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"AAgHA;;;GAGG;AACH,eAAO,MAAM,OAAO,+CAkgBnB,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"AAiHA;;;GAGG;AACH,eAAO,MAAM,OAAO,+CA2gBnB,CAAA;AAED,eAAe,OAAO,CAAA"}
package/dist/gallery.js CHANGED
@@ -23,10 +23,11 @@ const BUTTON_SIZES = ['default', 'sm', 'lg', 'icon', 'icon-sm', 'icon-lg'];
23
23
  const BADGE_VARIANTS = ['default', 'secondary', 'destructive', 'outline'];
24
24
  /** The chat shell is callbacks-out, and this list only needs them to exist. */
25
25
  const NOOP = () => { };
26
- /** Two, so the grid's wrap rule and the letter fallback both render. */
26
+ /** Two: one with a host and one without, so the card's second line and its
27
+ * letter fallback are both rendered rules. */
27
28
  const SOURCES = [
28
- { id: 'a', title: 'hanzo.ai', href: 'https://hanzo.ai' },
29
- { id: 'b', title: 'Reference' },
29
+ { id: 'a', title: 'The one chat surface', href: 'https://hanzo.ai', host: 'hanzo.ai' },
30
+ { id: 'b', title: 'A reference with a title long enough to reach the three-line clamp' },
30
31
  ];
31
32
  /** One section. Plain CSS on a plain div — the gallery is a harness, and laying
32
33
  * it out with the components under test would make a layout bug read as a
@@ -50,6 +51,6 @@ export const Gallery = () => (_jsxs("div", { style: { display: 'flex', flexDirec
50
51
  tabs: [
51
52
  { id: 'console', title: 'Console', closable: false, content: _jsx(CardTitle, { children: "console" }) },
52
53
  ],
53
- }, children: _jsx(CardTitle, { children: "center" }) }) }) }), _jsxs(Section, { name: "product-arrangements", children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 12, width: 320 }, children: [_jsx(Skeleton, { width: 120 }), _jsx(Skeleton, { width: "100%", height: 72, rounded: "$4" }), _jsx(Skeleton.Text, { lines: 3 })] }), _jsx(TooltipAnchor, { description: "Delete this agent", children: _jsx(Button, { children: "hinted" }) }), _jsx(Dialog, { open: true, children: _jsx(DialogTemplate, { title: "Delete agent", description: "This removes every run recorded against it.", confirm: { label: 'Delete', tone: 'danger' }, children: _jsx(CardTitle, { children: "body" }) }) })] }), _jsxs(Section, { name: "chat", children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 12, width: 520, height: 320 }, children: [_jsxs(ChatHeader, { title: "A conversation with a long enough name to clamp", children: [_jsx(ShareButton, {}), _jsx(AsideToggle, {})] }), _jsxs(Thread, { children: [_jsx(Message, { role: "user", children: "ask" }), _jsxs(Message, { role: "assistant", icon: _jsx(Spinner, {}), actions: _jsx(Badge, { children: "copy" }), children: [_jsx(Step, { name: "shell", status: "running", detail: "git status --porcelain" }), _jsx(Step, { name: "write", status: "done", detail: "src/index.ts", defaultOpen: true, children: _jsx(Code, { language: "json", value: "{}", children: '{}' }) }), _jsx(Step, { name: "fetch", status: "error", detail: "timed out", children: "plain body" }), _jsx(Step, { name: "plan", status: "cancelled" }), _jsx(Code, { language: "typescript", value: "const x = 1", children: "const x = 1" }), _jsx(Sources, { sources: SOURCES })] }), _jsx(Message, { role: "assistant", busy: true, children: "answering" }), _jsx(Message, { role: "assistant", children: _jsx(Failure, { onRetry: NOOP, children: "The model stopped before finishing." }) }), _jsx(Message, { role: "assistant", children: _jsx(Failure, { children: "Rate limited." }) }), _jsx(Message, { role: "system", children: "note" })] }), _jsx(Composer, { value: "a draft", onChange: NOOP, onSend: NOOP, hint: "Enter to send", children: _jsx(Badge, { children: "tool" }) }), _jsx(Composer, { value: "", onChange: NOOP, onSend: NOOP, onStop: NOOP, busy: true })] }), _jsx(Aside, { children: _jsx(Sources, { sources: SOURCES }) }), _jsx("div", { style: { display: 'flex', width: 260, height: 320 }, children: _jsxs(Sidebar, { children: [_jsx(SidebarHeader, { title: "Hanzo", onOpenSwitcher: NOOP, onSearch: NOOP, onCollapse: NOOP }), _jsx(SidebarNewChat, { onPress: NOOP }), _jsxs(SidebarScroll, { children: [_jsxs(SidebarSection, { label: "Today", children: [_jsx(SidebarItem, { active: true, onPress: NOOP, children: "Selected thread" }), _jsx(SidebarItem, { onPress: NOOP, children: "Another thread" })] }), _jsx(SidebarFolder, { name: "Archive", defaultOpen: true, children: _jsx(SidebarItem, { onPress: NOOP, children: "Nested thread" }) })] }), _jsx(SidebarUser, { name: "z", secondary: "z@hanzo.ai", onPress: NOOP, onHelp: NOOP })] }) })] }), _jsxs(Section, { name: "box", children: [_jsx(Box, { className: "flex items-center gap-4 px-6 py-3 rounded-lg border", children: _jsx(CardTitle, { children: "utility classes" }) }), _jsx(Box, { className: "flex-col gap-2 max-w-3xl mx-auto overflow-hidden", children: _jsx(CardTitle, { children: "column" }) })] })] }));
54
+ }, children: _jsx(CardTitle, { children: "center" }) }) }) }), _jsxs(Section, { name: "product-arrangements", children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 12, width: 320 }, children: [_jsx(Skeleton, { width: 120 }), _jsx(Skeleton, { width: "100%", height: 72, rounded: "$4" }), _jsx(Skeleton.Text, { lines: 3 })] }), _jsx(TooltipAnchor, { description: "Delete this agent", children: _jsx(Button, { children: "hinted" }) }), _jsx(Dialog, { open: true, children: _jsx(DialogTemplate, { title: "Delete agent", description: "This removes every run recorded against it.", confirm: { label: 'Delete', tone: 'danger' }, children: _jsx(CardTitle, { children: "body" }) }) })] }), _jsxs(Section, { name: "chat", children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 12, width: 520, height: 320 }, children: [_jsxs(ChatHeader, { title: "A conversation with a long enough name to clamp", leading: _jsx(AsideToggle, {}), onOpenMenu: NOOP, children: [_jsx(ShareButton, {}), _jsx(AsideToggle, {})] }), _jsxs(Thread, { children: [_jsx(Message, { role: "user", children: "ask" }), _jsxs(Message, { role: "assistant", icon: _jsx(Spinner, {}), actions: _jsx(Badge, { children: "copy" }), children: [_jsx(Step, { name: "shell", status: "running", detail: "git status --porcelain" }), _jsx(Step, { name: "write", status: "done", detail: "src/index.ts", defaultOpen: true, children: _jsx(Code, { language: "json", value: "{}", children: '{}' }) }), _jsx(Step, { name: "fetch", status: "error", detail: "timed out", children: "plain body" }), _jsx(Step, { name: "plan", status: "cancelled" }), _jsx(Code, { language: "typescript", value: "const x = 1", children: "const x = 1" }), _jsx(Sources, { sources: SOURCES })] }), _jsx(Message, { role: "assistant", busy: true, children: "answering" }), _jsx(Message, { role: "assistant", children: _jsx(Failure, { onRetry: NOOP, children: "The model stopped before finishing." }) }), _jsx(Message, { role: "assistant", children: _jsx(Failure, { children: "Rate limited." }) }), _jsx(Message, { role: "user", body: { bg: '$color5', rounded: '$3' }, children: "restyled bubble" }), _jsx(Message, { role: "system", children: "note" })] }), _jsx(Composer, { value: "a draft", onChange: NOOP, onSend: NOOP, hint: "Enter to send", children: _jsx(Badge, { children: "tool" }) }), _jsx(Composer, { value: "", onChange: NOOP, onSend: NOOP, onStop: NOOP, busy: true })] }), _jsx(Aside, { children: _jsx(Sources, { sources: SOURCES }) }), _jsx("div", { style: { display: 'flex', width: 260, height: 320 }, children: _jsxs(Sidebar, { children: [_jsx(SidebarHeader, { title: "Hanzo", onOpenSwitcher: NOOP, onSearch: NOOP, onCollapse: NOOP }), _jsx(SidebarNewChat, { onPress: NOOP }), _jsxs(SidebarScroll, { children: [_jsxs(SidebarSection, { label: "Today", children: [_jsx(SidebarItem, { active: true, onPress: NOOP, children: "Selected thread" }), _jsx(SidebarItem, { onPress: NOOP, children: "Another thread" })] }), _jsx(SidebarFolder, { name: "Archive", defaultOpen: true, children: _jsx(SidebarItem, { onPress: NOOP, children: "Nested thread" }) })] }), _jsx(SidebarUser, { name: "z", secondary: "z@hanzo.ai", onPress: NOOP, onHelp: NOOP })] }) })] }), _jsxs(Section, { name: "box", children: [_jsx(Box, { className: "flex items-center gap-4 px-6 py-3 rounded-lg border", children: _jsx(CardTitle, { children: "utility classes" }) }), _jsx(Box, { className: "flex-col gap-2 max-w-3xl mx-auto overflow-hidden", children: _jsx(CardTitle, { children: "column" }) })] })] }));
54
55
  export default Gallery;
55
56
  //# sourceMappingURL=gallery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gallery.js","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gallery.js","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ const slot_1 = require("../backends/gui/slot.cjs");
25
25
  const instrument_1 = require("./instrument.cjs");
26
26
  /** How long the control shows its confirmation, in ms. */
27
27
  const CONFIRM = 2000;
28
- function CopyButton({ value, children, label, size = 24, id }) {
28
+ function CopyButton({ value, children, label, size = 24, id, props }) {
29
29
  const [copied, setCopied] = (0, react_1.useState)(false);
30
30
  const timer = (0, react_1.useRef)(undefined);
31
31
  const track = (0, instrument_1.useEmit)();
@@ -60,7 +60,7 @@ function CopyButton({ value, children, label, size = 24, id }) {
60
60
  // The label form is a pill that sizes to its text; the icon form is the
61
61
  // square it has always been. `height` is shared so a labeled control lines
62
62
  // up with an unlabeled one in the same row.
63
- width: children == null ? size : undefined, height: size, px: children == null ? undefined : '$2', gap: children == null ? undefined : '$1.5', items: "center", justify: "center", rounded: "$2", cursor: "pointer", opacity: 0.7, onPress: copy, role: "button", tabIndex: 0, "aria-label": copied ? 'Copied' : name, ...(0, slot_1.tip)(copied ? 'Copied' : name), hoverStyle: { bg: '$color4', opacity: 1 }, pressStyle: { bg: '$color5' }, children: [copied ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: glyph }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Copy, { size: glyph }), children == null ? null : (
63
+ width: children == null ? size : undefined, height: size, px: children == null ? undefined : '$2', gap: children == null ? undefined : '$1.5', items: "center", justify: "center", rounded: "$2", cursor: "pointer", opacity: 0.7, onPress: copy, role: "button", tabIndex: 0, "aria-label": copied ? 'Copied' : name, ...(0, slot_1.tip)(copied ? 'Copied' : name), hoverStyle: { bg: '$color4', opacity: 1 }, pressStyle: { bg: '$color5' }, ...props, children: [copied ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: glyph }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Copy, { size: glyph }), children == null ? null : (
64
64
  // The word carries the confirmation too. A tick alone, at 14px, beside
65
65
  // text that did not change is the smallest possible way to say the thing
66
66
  // the control exists to say.
@@ -13,7 +13,8 @@
13
13
  * not a chat idea; it belongs to the product layer, and `Code` now imports it
14
14
  * from here rather than owning it.
15
15
  */
16
- import { type ReactNode } from 'react';
16
+ import { type ComponentProps, type ReactNode } from 'react';
17
+ import { XStack } from '@hanzo/gui';
17
18
  export interface CopyButtonProps {
18
19
  /** The text placed on the clipboard. */
19
20
  value: string;
@@ -34,6 +35,15 @@ export interface CopyButtonProps {
34
35
  size?: number;
35
36
  /** Names the copied thing in analytics ("api-key", "address"). Never the value. */
36
37
  id?: string;
38
+ /**
39
+ * Everything else the control's box accepts — a class, a style, an opacity.
40
+ *
41
+ * A copy control is very often HOVER-REVEALED: hanzo/chat's sit at
42
+ * `opacity-0` until the turn is hovered, so a closed prop list meant adopting
43
+ * this one made them permanently visible on every message, which is the whole
44
+ * reason a surface keeps writing its own.
45
+ */
46
+ props?: Omit<ComponentProps<typeof XStack>, 'children' | 'role' | 'onPress'>;
37
47
  }
38
- export declare function CopyButton({ value, children, label, size, id }: CopyButtonProps): import("react/jsx-runtime").JSX.Element;
48
+ export declare function CopyButton({ value, children, label, size, id, props }: CopyButtonProps): import("react/jsx-runtime").JSX.Element;
39
49
  //# sourceMappingURL=CopyButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CopyButton.d.ts","sourceRoot":"","sources":["../../src/product/CopyButton.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAUnE,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mFAAmF;IACnF,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE,EAAE,EAAE,eAAe,2CAgEpF"}
1
+ {"version":3,"file":"CopyButton.d.ts","sourceRoot":"","sources":["../../src/product/CopyButton.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,KAAK,cAAc,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACxF,OAAO,EAAQ,MAAM,EAAE,MAAM,YAAY,CAAA;AASzC,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mFAAmF;IACnF,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC,CAAA;CAC7E;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,eAAe,2CAiE3F"}
@@ -22,7 +22,7 @@ import { tip } from '../backends/gui/slot.js';
22
22
  import { useEmit } from './instrument.js';
23
23
  /** How long the control shows its confirmation, in ms. */
24
24
  const CONFIRM = 2000;
25
- export function CopyButton({ value, children, label, size = 24, id }) {
25
+ export function CopyButton({ value, children, label, size = 24, id, props }) {
26
26
  const [copied, setCopied] = useState(false);
27
27
  const timer = useRef(undefined);
28
28
  const track = useEmit();
@@ -57,7 +57,7 @@ export function CopyButton({ value, children, label, size = 24, id }) {
57
57
  // The label form is a pill that sizes to its text; the icon form is the
58
58
  // square it has always been. `height` is shared so a labeled control lines
59
59
  // up with an unlabeled one in the same row.
60
- width: children == null ? size : undefined, height: size, px: children == null ? undefined : '$2', gap: children == null ? undefined : '$1.5', items: "center", justify: "center", rounded: "$2", cursor: "pointer", opacity: 0.7, onPress: copy, role: "button", tabIndex: 0, "aria-label": copied ? 'Copied' : name, ...tip(copied ? 'Copied' : name), hoverStyle: { bg: '$color4', opacity: 1 }, pressStyle: { bg: '$color5' }, children: [copied ? _jsx(Check, { size: glyph }) : _jsx(Copy, { size: glyph }), children == null ? null : (
60
+ width: children == null ? size : undefined, height: size, px: children == null ? undefined : '$2', gap: children == null ? undefined : '$1.5', items: "center", justify: "center", rounded: "$2", cursor: "pointer", opacity: 0.7, onPress: copy, role: "button", tabIndex: 0, "aria-label": copied ? 'Copied' : name, ...tip(copied ? 'Copied' : name), hoverStyle: { bg: '$color4', opacity: 1 }, pressStyle: { bg: '$color5' }, ...props, children: [copied ? _jsx(Check, { size: glyph }) : _jsx(Copy, { size: glyph }), children == null ? null : (
61
61
  // The word carries the confirmation too. A tick alone, at 14px, beside
62
62
  // text that did not change is the smallest possible way to say the thing
63
63
  // the control exists to say.
@@ -1 +1 @@
1
- {"version":3,"file":"CopyButton.js","sourceRoot":"","sources":["../../src/product/CopyButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAEtD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,0DAA0D;AAC1D,MAAM,OAAO,GAAG,IAAI,CAAA;AAwBpB,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAmB;IACnF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,KAAK,GAAG,MAAM,CAA4C,SAAS,CAAC,CAAA;IAC1E,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;IAEvB,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;IAEtD,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,2EAA2E;QAC3E,2EAA2E;QAC3E,4BAA4B;QAC5B,SAAS,EAAE,SAAS;YAClB,EAAE,SAAS,CAAC,KAAK,CAAC;aACjB,IAAI,CAAC,GAAG,EAAE;YACT,wEAAwE;YACxE,eAAe;YACf,KAAK,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;YAC5E,SAAS,CAAC,IAAI,CAAC,CAAA;YACf,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC3B,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;QAC7D,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,yEAAyE;YACzE,oEAAoE;YACpE,KAAK,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IACxE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IAErC,OAAO,CACL,MAAC,MAAM;IACL,wEAAwE;IACxE,2EAA2E;IAC3E,4CAA4C;;QAF5C,wEAAwE;QACxE,2EAA2E;QAC3E,4CAA4C;QAC5C,KAAK,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAC1C,MAAM,EAAE,IAAI,EACZ,EAAE,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACvC,GAAG,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAC1C,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,QAAQ,EAChB,OAAO,EAAC,IAAI,EACZ,MAAM,EAAC,SAAS,EAChB,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,IAAI,EACb,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,gBACC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAChC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EACjC,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,EACzC,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,aAE5B,MAAM,CAAC,CAAC,CAAC,KAAC,KAAK,IAAC,IAAI,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,KAAK,GAAI,EACvD,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACzB,uEAAuE;YACvE,yEAAyE;YACzE,6BAA6B;YAC7B,KAAC,IAAI,IAAC,QAAQ,EAAC,IAAI,EAAC,KAAK,EAAC,UAAU,EAAC,aAAa,EAAE,CAAC,YAClD,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GACxB,CACR,IACM,CACV,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"CopyButton.js","sourceRoot":"","sources":["../../src/product/CopyButton.tsx"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@
17
17
  //
18
18
  // A component belongs in `@hanzo/ui/product`. A rule belongs here.
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.wordmarkText = exports.wordmarkStyle = exports.isExpanded = exports.HOUSE_EASE = exports.DEFAULT_INTRO_MS = exports.DEFAULT_GAP = exports.DEFAULT_DURATION_MS = exports.resolveBrand = exports.PARS = exports.ZOO = exports.LUX = exports.HANZO = exports.BRANDS = exports.isKnownOption = exports.filterOptions = exports.filterOrgs = exports.orgScope = exports.tone = exports.TONE = exports.displayName = exports.masked = exports.pages = exports.GAP = void 0;
20
+ exports.SLACK = exports.pinned = exports.sends = exports.ready = exports.wordmarkText = exports.wordmarkStyle = exports.isExpanded = exports.HOUSE_EASE = exports.DEFAULT_INTRO_MS = exports.DEFAULT_GAP = exports.DEFAULT_DURATION_MS = exports.resolveBrand = exports.PARS = exports.ZOO = exports.LUX = exports.HANZO = exports.BRANDS = exports.isKnownOption = exports.filterOptions = exports.filterOrgs = exports.orgScope = exports.tone = exports.TONE = exports.displayName = exports.masked = exports.pages = exports.GAP = void 0;
21
21
  // Paging — the fixed-width page run, and the ellipsis standing in for the rest.
22
22
  var pages_1 = require("./pages.cjs");
23
23
  Object.defineProperty(exports, "GAP", { enumerable: true, get: function () { return pages_1.GAP; } });
@@ -61,3 +61,14 @@ Object.defineProperty(exports, "HOUSE_EASE", { enumerable: true, get: function (
61
61
  Object.defineProperty(exports, "isExpanded", { enumerable: true, get: function () { return animatedLogo_logic_1.isExpanded; } });
62
62
  Object.defineProperty(exports, "wordmarkStyle", { enumerable: true, get: function () { return animatedLogo_logic_1.wordmarkStyle; } });
63
63
  Object.defineProperty(exports, "wordmarkText", { enumerable: true, get: function () { return animatedLogo_logic_1.wordmarkText; } });
64
+ // Committing a field with the keyboard, and staying at the bottom of a scroller.
65
+ // They live in `src/chat` because that is where they were first needed, and they
66
+ // are re-exported here because they are not chat rules: ten of the fifteen files
67
+ // in hanzo.app that import `sends` are a SQL editor, a file explorer, a command
68
+ // palette, a rename field. One definition, and the general door is this one.
69
+ var send_1 = require("../chat/send.cjs");
70
+ Object.defineProperty(exports, "ready", { enumerable: true, get: function () { return send_1.ready; } });
71
+ Object.defineProperty(exports, "sends", { enumerable: true, get: function () { return send_1.sends; } });
72
+ var stick_1 = require("../chat/stick.cjs");
73
+ Object.defineProperty(exports, "pinned", { enumerable: true, get: function () { return stick_1.pinned; } });
74
+ Object.defineProperty(exports, "SLACK", { enumerable: true, get: function () { return stick_1.SLACK; } });
@@ -6,4 +6,6 @@ export { orgScope, filterOrgs, type Org, type OrgScope, type OrgScopeConfig } fr
6
6
  export { filterOptions, isKnownOption, type ComboOption } from './combobox/filter.js';
7
7
  export { BRANDS, HANZO, LUX, ZOO, PARS, resolveBrand, type BrandIdentity } from './brand.js';
8
8
  export { DEFAULT_DURATION_MS, DEFAULT_GAP, DEFAULT_INTRO_MS, HOUSE_EASE, isExpanded, wordmarkStyle, wordmarkText, type WordmarkStyle, type WordmarkStyleInput, } from './animatedLogo.logic.js';
9
+ export { ready, sends, type Mods } from '../chat/send.js';
10
+ export { pinned, SLACK, type Track } from '../chat/stick.js';
9
11
  //# sourceMappingURL=pure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pure.d.ts","sourceRoot":"","sources":["../../src/product/pure.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAIpC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAA;AAI9C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,GAAG,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAA;AAG5F,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGlF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAA;AAIzF,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"pure.d.ts","sourceRoot":"","sources":["../../src/product/pure.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAIpC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAA;AAI9C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,GAAG,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAA;AAG5F,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGlF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAA;AAIzF,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAA;AAO7B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAA"}
@@ -35,4 +35,11 @@ export { BRANDS, HANZO, LUX, ZOO, PARS, resolveBrand } from './brand.js';
35
35
  // Wordmark motion — the geometry the animated logo interpolates over, as
36
36
  // numbers, so the timing can be checked without a frame.
37
37
  export { DEFAULT_DURATION_MS, DEFAULT_GAP, DEFAULT_INTRO_MS, HOUSE_EASE, isExpanded, wordmarkStyle, wordmarkText, } from './animatedLogo.logic.js';
38
+ // Committing a field with the keyboard, and staying at the bottom of a scroller.
39
+ // They live in `src/chat` because that is where they were first needed, and they
40
+ // are re-exported here because they are not chat rules: ten of the fifteen files
41
+ // in hanzo.app that import `sends` are a SQL editor, a file explorer, a command
42
+ // palette, a rename field. One definition, and the general door is this one.
43
+ export { ready, sends } from '../chat/send.js';
44
+ export { pinned, SLACK } from '../chat/stick.js';
38
45
  //# sourceMappingURL=pure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pure.js","sourceRoot":"","sources":["../../src/product/pure.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,uEAAuE;AACvE,8EAA8E;AAC9E,0DAA0D;AAC1D,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,iEAAiE;AACjE,EAAE;AACF,iEAAiE;AACjE,EAAE;AACF,mEAAmE;AAEnE,gFAAgF;AAChF,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,yEAAyE;AACzE,wBAAwB;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,qEAAqE;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEpC,iFAAiF;AACjF,uEAAuE;AACvE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAA;AAE9C,+EAA+E;AAC/E,aAAa;AACb,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAgD,MAAM,SAAS,CAAA;AAE5F,uEAAuE;AACvE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAA;AAElF,kFAAkF;AAClF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAsB,MAAM,SAAS,CAAA;AAEzF,yEAAyE;AACzE,yDAAyD;AACzD,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,GAGb,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"pure.js","sourceRoot":"","sources":["../../src/product/pure.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,uEAAuE;AACvE,8EAA8E;AAC9E,0DAA0D;AAC1D,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,iEAAiE;AACjE,EAAE;AACF,iEAAiE;AACjE,EAAE;AACF,mEAAmE;AAEnE,gFAAgF;AAChF,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,yEAAyE;AACzE,wBAAwB;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,qEAAqE;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEpC,iFAAiF;AACjF,uEAAuE;AACvE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAA;AAE9C,+EAA+E;AAC/E,aAAa;AACb,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAgD,MAAM,SAAS,CAAA;AAE5F,uEAAuE;AACvE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAA;AAElF,kFAAkF;AAClF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAsB,MAAM,SAAS,CAAA;AAEzF,yEAAyE;AACzE,yDAAyD;AACzD,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,GAGb,MAAM,sBAAsB,CAAA;AAE7B,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AACjF,gFAAgF;AAChF,6EAA6E;AAC7E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAa,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAc,MAAM,eAAe,CAAA"}