@reforma/components 0.1.1 → 0.1.3

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 (60) hide show
  1. package/dist/Composer/Composer.module.css +1 -0
  2. package/dist/Composer/Composer.module.css.js +26 -0
  3. package/dist/Composer/Composer.module.css.js.map +1 -0
  4. package/dist/Composer/RichField.d.ts +3 -0
  5. package/dist/Composer/RichField.d.ts.map +1 -0
  6. package/dist/Composer/RichField.js +44 -0
  7. package/dist/Composer/RichField.js.map +1 -0
  8. package/dist/Composer/context.d.ts +44 -0
  9. package/dist/Composer/context.d.ts.map +1 -0
  10. package/dist/Composer/context.js +205 -0
  11. package/dist/Composer/context.js.map +1 -0
  12. package/dist/Composer/index.d.ts +5 -0
  13. package/dist/Composer/index.d.ts.map +1 -0
  14. package/dist/Composer/index.js +18 -0
  15. package/dist/{CreateComposer → Composer}/index.js.map +1 -1
  16. package/dist/Composer/parts.d.ts +22 -0
  17. package/dist/Composer/parts.d.ts.map +1 -0
  18. package/dist/Composer/parts.js +231 -0
  19. package/dist/Composer/parts.js.map +1 -0
  20. package/dist/{CreateComposer → Composer}/types.d.ts +6 -6
  21. package/dist/Composer/types.d.ts.map +1 -0
  22. package/dist/Modal/Modal.js +2 -2
  23. package/dist/Modal/Modal.js.map +1 -1
  24. package/dist/chat/Message/streamdown/codeCitation.d.ts.map +1 -1
  25. package/dist/chat/Message/streamdown/codeCitation.js +7 -7
  26. package/dist/chat/Message/streamdown/codeCitation.js.map +1 -1
  27. package/dist/chat/Message/turn/MessageTurnStore.js +23 -23
  28. package/dist/chat/Message/turn/MessageTurnStore.js.map +1 -1
  29. package/dist/chat/Tool/install-dependencies/InstallDependenciesTool.d.ts.map +1 -1
  30. package/dist/chat/Tool/install-dependencies/InstallDependenciesTool.js +2 -1
  31. package/dist/chat/Tool/install-dependencies/InstallDependenciesTool.js.map +1 -1
  32. package/dist/chat/Tool/mountTool.d.ts +6 -0
  33. package/dist/chat/Tool/mountTool.d.ts.map +1 -0
  34. package/dist/chat/Tool/project-env/ProjectEnvTool.d.ts.map +1 -1
  35. package/dist/chat/Tool/project-env/ProjectEnvTool.js +2 -1
  36. package/dist/chat/Tool/project-env/ProjectEnvTool.js.map +1 -1
  37. package/dist/chat/Tool/shell/ToolShell.d.ts.map +1 -1
  38. package/dist/chat/Tool/shell/ToolShell.js +86 -79
  39. package/dist/chat/Tool/shell/ToolShell.js.map +1 -1
  40. package/dist/index.d.ts +1 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +317 -304
  43. package/dist/index.js.map +1 -1
  44. package/dist/modals/ConfirmModal.d.ts +3 -1
  45. package/dist/modals/ConfirmModal.d.ts.map +1 -1
  46. package/dist/modals/ConfirmModal.js +61 -55
  47. package/dist/modals/ConfirmModal.js.map +1 -1
  48. package/dist/node_modules/react-aria/dist/private/interactions/useFocusable.js.map +1 -1
  49. package/package.json +2 -2
  50. package/dist/CreateComposer/CreateComposer.d.ts +0 -26
  51. package/dist/CreateComposer/CreateComposer.d.ts.map +0 -1
  52. package/dist/CreateComposer/CreateComposer.js +0 -338
  53. package/dist/CreateComposer/CreateComposer.js.map +0 -1
  54. package/dist/CreateComposer/CreateComposer.module.css +0 -1
  55. package/dist/CreateComposer/CreateComposer.module.css.js +0 -24
  56. package/dist/CreateComposer/CreateComposer.module.css.js.map +0 -1
  57. package/dist/CreateComposer/index.d.ts +0 -3
  58. package/dist/CreateComposer/index.d.ts.map +0 -1
  59. package/dist/CreateComposer/index.js +0 -5
  60. package/dist/CreateComposer/types.d.ts.map +0 -1
@@ -0,0 +1,231 @@
1
+ import { Plan as P } from "@reforma/icons/12";
2
+ import { Plus as y, Plan as b } from "@reforma/icons/14";
3
+ import { SendBold as D } from "@reforma/icons/16";
4
+ import { cn as f } from "@reforma/lib";
5
+ import "react";
6
+ import { Button as c } from "../Button/Button.js";
7
+ import { Attachments as x, Attachment as C } from "../chat/Attachment/Attachment.js";
8
+ import { FileDropOverlay as w } from "../FileDropOverlay/FileDropOverlay.js";
9
+ import { For as N } from "../For/For.js";
10
+ import { Show as d } from "../Show/Show.js";
11
+ import { Badge as A } from "../Tag/Badge.js";
12
+ import l from "./Composer.module.css.js";
13
+ import { useComposer as i } from "./context.js";
14
+ import { jsx as e, jsxs as E } from "react/jsx-runtime";
15
+ function W({
16
+ className: o,
17
+ children: n
18
+ }) {
19
+ const {
20
+ drag: t,
21
+ fileDragOver: r
22
+ } = i();
23
+ return /* @__PURE__ */ E("div", {
24
+ className: f(l.root, o),
25
+ onDragEnter: t.onDragEnter,
26
+ onDragLeave: t.onDragLeave,
27
+ onDragOver: t.onDragOver,
28
+ onDrop: t.onDrop,
29
+ onPaste: t.onPaste,
30
+ children: [/* @__PURE__ */ e(w, {
31
+ open: r,
32
+ label: "Drop files to attach"
33
+ }), /* @__PURE__ */ e("div", {
34
+ className: l.shell,
35
+ children: n
36
+ })]
37
+ });
38
+ }
39
+ function $({
40
+ children: o
41
+ }) {
42
+ const {
43
+ rows: n,
44
+ value: t,
45
+ focus: r
46
+ } = i(), m = n != null || t.prompt.includes(`
47
+ `) || t.prompt.length > 40;
48
+ return /* @__PURE__ */ e("div", {
49
+ className: l.main,
50
+ "data-expanded": m || void 0,
51
+ "data-min-rows": n != null || void 0,
52
+ onPointerDown: (s) => {
53
+ s.target === s.currentTarget && r();
54
+ },
55
+ children: o
56
+ });
57
+ }
58
+ function q({
59
+ children: o
60
+ }) {
61
+ return /* @__PURE__ */ e("div", {
62
+ className: l.addButton,
63
+ children: o
64
+ });
65
+ }
66
+ function G({
67
+ children: o
68
+ }) {
69
+ return /* @__PURE__ */ e(d, {
70
+ when: o,
71
+ children: /* @__PURE__ */ e("div", {
72
+ className: l.toolbarEnd,
73
+ children: o
74
+ })
75
+ });
76
+ }
77
+ function J() {
78
+ const {
79
+ value: o,
80
+ removeAttachment: n,
81
+ retryAttachment: t
82
+ } = i();
83
+ return /* @__PURE__ */ e(d, {
84
+ when: o.attachments.length > 0,
85
+ children: /* @__PURE__ */ e("div", {
86
+ className: l.attachments,
87
+ children: /* @__PURE__ */ e(x, {
88
+ size: "sm",
89
+ children: /* @__PURE__ */ e(N, {
90
+ each: o.attachments,
91
+ children: (r) => /* @__PURE__ */ e(C, {
92
+ data: {
93
+ id: r.id,
94
+ url: r.url ?? r.preview,
95
+ filename: r.filename,
96
+ mediaType: r.mediaType,
97
+ size: r.size,
98
+ lastModified: r.lastModified
99
+ },
100
+ loading: r.uploadStatus === "uploading",
101
+ error: r.uploadStatus === "error",
102
+ onRetry: () => t(r.clientId),
103
+ onRemove: () => n(r.clientId)
104
+ }, r.clientId)
105
+ })
106
+ })
107
+ })
108
+ });
109
+ }
110
+ function Q() {
111
+ const {
112
+ openFilePicker: o
113
+ } = i();
114
+ return /* @__PURE__ */ e(c, {
115
+ type: "button",
116
+ iconOnly: !0,
117
+ rounded: !0,
118
+ variant: "filling",
119
+ size: "sm",
120
+ tooltip: "Add files",
121
+ "aria-label": "Add files",
122
+ onPress: () => o(),
123
+ children: /* @__PURE__ */ e(y, {})
124
+ });
125
+ }
126
+ function U() {
127
+ const {
128
+ value: o,
129
+ setPlanMode: n,
130
+ focus: t
131
+ } = i();
132
+ return /* @__PURE__ */ e(d, {
133
+ when: o.planMode,
134
+ fallback: /* @__PURE__ */ e(c, {
135
+ type: "button",
136
+ iconOnly: !0,
137
+ rounded: !0,
138
+ variant: "filling",
139
+ size: "sm",
140
+ tooltip: "Plan mode",
141
+ "aria-label": "Plan mode",
142
+ onPress: () => {
143
+ n(!0), t();
144
+ },
145
+ children: /* @__PURE__ */ e(b, {})
146
+ }),
147
+ children: /* @__PURE__ */ e(A, {
148
+ size: "sm",
149
+ color: "success",
150
+ rounded: !0,
151
+ textValue: "Plan mode",
152
+ "aria-label": "Plan mode",
153
+ icon: /* @__PURE__ */ e(P, {}),
154
+ removePlacement: "leading",
155
+ onRemove: () => n(!1),
156
+ children: "Plan mode"
157
+ })
158
+ });
159
+ }
160
+ function X() {
161
+ const {
162
+ value: o,
163
+ setPrompt: n,
164
+ submit: t,
165
+ placeholder: r,
166
+ autoFocus: m,
167
+ submitOnEnter: s,
168
+ minHeight: u,
169
+ focusRef: h,
170
+ pasteTextAsFile: v
171
+ } = i(), g = (a) => {
172
+ if (a.nativeEvent.isComposing || a.key !== "Enter")
173
+ return;
174
+ const p = a.metaKey || a.ctrlKey;
175
+ !(s && !a.shiftKey && !p) && !p || (a.preventDefault(), t());
176
+ };
177
+ return /* @__PURE__ */ e("div", {
178
+ className: l.textareaWrap,
179
+ children: /* @__PURE__ */ e("textarea", {
180
+ ref: (a) => {
181
+ h.current = a;
182
+ },
183
+ className: f(l.textarea, l.plainField),
184
+ style: {
185
+ minHeight: u
186
+ },
187
+ value: o.prompt,
188
+ placeholder: r,
189
+ "aria-label": r,
190
+ autoFocus: m,
191
+ rows: Math.max(1, Math.round(u / 22)),
192
+ onChange: (a) => n(a.target.value),
193
+ onKeyDown: g,
194
+ onPaste: (a) => {
195
+ v(a.clipboardData.getData("text/plain")) && a.preventDefault();
196
+ }
197
+ })
198
+ });
199
+ }
200
+ function Y() {
201
+ const {
202
+ submit: o,
203
+ canSubmit: n,
204
+ busy: t
205
+ } = i();
206
+ return /* @__PURE__ */ e(c, {
207
+ iconOnly: !0,
208
+ rounded: !0,
209
+ color: "primary",
210
+ variant: "filled",
211
+ size: "sm",
212
+ className: l.sendButton,
213
+ isDisabled: !n,
214
+ isPending: t,
215
+ tooltip: "Create project",
216
+ onPress: () => o(),
217
+ children: /* @__PURE__ */ e(D, {})
218
+ });
219
+ }
220
+ export {
221
+ J as ComposerAttachments,
222
+ Q as ComposerFileButton,
223
+ W as ComposerFrame,
224
+ U as ComposerPlan,
225
+ Y as ComposerSubmit,
226
+ $ as ComposerSurface,
227
+ X as ComposerTextarea,
228
+ G as ComposerToolbar,
229
+ q as ComposerTools
230
+ };
231
+ //# sourceMappingURL=parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parts.js","sources":["../../src/Composer/parts.tsx"],"sourcesContent":["'use client';\n\nimport { Plan } from '@reforma/icons/12';\nimport { Plan as PlanIcon, Plus } from '@reforma/icons/14';\nimport { SendBold } from '@reforma/icons/16';\nimport { cn } from '@reforma/lib';\nimport { type KeyboardEvent, type ReactNode } from 'react';\n\nimport { Button } from '../Button';\nimport { Attachment, Attachments } from '../chat/Attachment';\nimport { FileDropOverlay } from '../FileDropOverlay';\nimport { For } from '../For';\nimport { Show } from '../Show';\nimport { Badge } from '../Tag';\nimport styles from './Composer.module.css';\nimport { useComposer } from './context';\n\nexport function ComposerFrame({\n className,\n children,\n}: {\n className?: string;\n children: ReactNode;\n}) {\n const { drag, fileDragOver } = useComposer();\n\n return (\n <div\n className={ cn(styles.root, className) }\n onDragEnter={ drag.onDragEnter }\n onDragLeave={ drag.onDragLeave }\n onDragOver={ drag.onDragOver }\n onDrop={ drag.onDrop }\n onPaste={ drag.onPaste }\n >\n <FileDropOverlay open={ fileDragOver } label=\"Drop files to attach\" />\n <div className={ styles.shell }>\n { children }\n </div>\n </div>\n );\n}\n\n/** Relative row that pins the tools and the submit button to the field. */\nexport function ComposerSurface({ children }: { children: ReactNode }) {\n const { rows, value, focus } = useComposer();\n const expanded = rows != null || value.prompt.includes('\\n') || value.prompt.length > 40;\n\n return (\n <div\n className={ styles.main }\n data-expanded={ expanded || undefined }\n data-min-rows={ rows != null || undefined }\n onPointerDown={ (event) => {\n if (event.target === event.currentTarget) {\n focus();\n }\n } }\n >\n { children }\n </div>\n );\n}\n\n/** Left cluster: file button, plan, whatever else you drop in. */\nexport function ComposerTools({ children }: { children: ReactNode }) {\n return (\n <div className={ styles.addButton }>\n { children }\n </div>\n );\n}\n\nexport function ComposerToolbar({ children }: { children?: ReactNode }) {\n return (\n <Show when={ children }>\n <div className={ styles.toolbarEnd }>\n { children }\n </div>\n </Show>\n );\n}\n\nexport function ComposerAttachments() {\n const { value, removeAttachment, retryAttachment } = useComposer();\n\n return (\n <Show when={ value.attachments.length > 0 }>\n <div className={ styles.attachments }>\n <Attachments size=\"sm\">\n <For each={ value.attachments }>\n { item => (\n <Attachment\n key={ item.clientId }\n data={ {\n id: item.id,\n url: item.url ?? item.preview,\n filename: item.filename,\n mediaType: item.mediaType,\n size: item.size,\n lastModified: item.lastModified,\n } }\n loading={ item.uploadStatus === 'uploading' }\n error={ item.uploadStatus === 'error' }\n onRetry={ () => retryAttachment(item.clientId) }\n onRemove={ () => removeAttachment(item.clientId) }\n />\n ) }\n </For>\n </Attachments>\n </div>\n </Show>\n );\n}\n\nexport function ComposerFileButton() {\n const { openFilePicker } = useComposer();\n\n return (\n <Button\n type=\"button\"\n iconOnly\n rounded\n variant=\"filling\"\n size=\"sm\"\n tooltip=\"Add files\"\n aria-label=\"Add files\"\n onPress={ () => openFilePicker() }\n >\n <Plus />\n </Button>\n );\n}\n\nexport function ComposerPlan() {\n const { value, setPlanMode, focus } = useComposer();\n\n return (\n <Show\n when={ value.planMode }\n fallback={ (\n <Button\n type=\"button\"\n iconOnly\n rounded\n variant=\"filling\"\n size=\"sm\"\n tooltip=\"Plan mode\"\n aria-label=\"Plan mode\"\n onPress={ () => {\n setPlanMode(true);\n focus();\n } }\n >\n <PlanIcon />\n </Button>\n ) }\n >\n <Badge\n size=\"sm\"\n color=\"success\"\n rounded\n textValue=\"Plan mode\"\n aria-label=\"Plan mode\"\n icon={ <Plan /> }\n removePlacement=\"leading\"\n onRemove={ () => setPlanMode(false) }\n >\n Plan mode\n </Badge>\n </Show>\n );\n}\n\nexport function ComposerTextarea() {\n const {\n value,\n setPrompt,\n submit,\n placeholder,\n autoFocus,\n submitOnEnter,\n minHeight,\n focusRef,\n pasteTextAsFile,\n } = useComposer();\n\n const onKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n if (event.nativeEvent.isComposing || event.key !== 'Enter') {\n return;\n }\n\n const command = event.metaKey || event.ctrlKey;\n const plainEnter = submitOnEnter && !event.shiftKey && !command;\n\n if (!plainEnter && !command) {\n return;\n }\n\n event.preventDefault();\n submit();\n };\n\n return (\n <div className={ styles.textareaWrap }>\n <textarea\n ref={ (node) => {\n focusRef.current = node;\n } }\n className={ cn(styles.textarea, styles.plainField) }\n style={ { minHeight } }\n value={ value.prompt }\n placeholder={ placeholder }\n aria-label={ placeholder }\n autoFocus={ autoFocus }\n rows={ Math.max(1, Math.round(minHeight / 22)) }\n onChange={ (event) => setPrompt(event.target.value) }\n onKeyDown={ onKeyDown }\n onPaste={ (event) => {\n if (!pasteTextAsFile(event.clipboardData.getData('text/plain'))) {\n return;\n }\n\n event.preventDefault();\n } }\n />\n </div>\n );\n}\n\nexport function ComposerSubmit() {\n const { submit, canSubmit, busy } = useComposer();\n\n return (\n <Button\n iconOnly\n rounded\n color=\"primary\"\n variant=\"filled\"\n size=\"sm\"\n className={ styles.sendButton }\n isDisabled={ !canSubmit }\n isPending={ busy }\n tooltip=\"Create project\"\n onPress={ () => submit() }\n >\n <SendBold />\n </Button>\n );\n}\n"],"names":["ComposerFrame","className","children","drag","fileDragOver","useComposer","cn","styles","_jsx","FileDropOverlay","ComposerSurface","rows","value","focus","expanded","event","ComposerTools","ComposerToolbar","Show","ComposerAttachments","removeAttachment","retryAttachment","Attachments","For","item","Attachment","ComposerFileButton","openFilePicker","Button","Plus","ComposerPlan","setPlanMode","PlanIcon","Badge","Plan","ComposerTextarea","setPrompt","submit","placeholder","autoFocus","submitOnEnter","minHeight","focusRef","pasteTextAsFile","onKeyDown","command","node","ComposerSubmit","canSubmit","busy","SendBold"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /** Serializable attachment row for create / marketing composers. */
2
- export type CreateComposerAttachment = {
2
+ export type ComposerAttachment = {
3
3
  clientId: string;
4
4
  filename: string;
5
5
  mediaType?: string;
@@ -13,12 +13,12 @@ export type CreateComposerAttachment = {
13
13
  preview?: string;
14
14
  };
15
15
  /** Controlled create-composer state (JSON-friendly aside from preview URLs). */
16
- export type CreateComposerValue = {
16
+ export type ComposerValue = {
17
17
  prompt: string;
18
18
  planMode: boolean;
19
- attachments: CreateComposerAttachment[];
19
+ attachments: ComposerAttachment[];
20
20
  };
21
- export type CreateComposerUploadOk = {
21
+ export type ComposerUploadOk = {
22
22
  ok: true;
23
23
  data: {
24
24
  id: string;
@@ -28,9 +28,9 @@ export type CreateComposerUploadOk = {
28
28
  size?: number;
29
29
  };
30
30
  };
31
- export type CreateComposerUploadErr = {
31
+ export type ComposerUploadErr = {
32
32
  ok: false;
33
33
  message?: string;
34
34
  };
35
- export type CreateComposerUploadResult = CreateComposerUploadOk | CreateComposerUploadErr;
35
+ export type ComposerUploadResult = ComposerUploadOk | ComposerUploadErr;
36
36
  //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Composer/types.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,aAAa,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,kBAAkB,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC"}
@@ -112,8 +112,8 @@ function se(h) {
112
112
  }
113
113
  function oe(h, t) {
114
114
  if (typeof h != "object" || !h) return h;
115
- var e = h[Symbol.toPrimitive];
116
- if (e !== void 0) {
115
+ var e;
116
+ if (typeof Symbol < "u" && (e = h[Symbol.toPrimitive]) !== void 0) {
117
117
  var i = e.call(h, t);
118
118
  if (typeof i != "object") return i;
119
119
  throw new TypeError("@@toPrimitive must return a primitive value.");