@rolder/kit 3.0.0-alpha-15 → 3.0.0-alpha-17

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.
@@ -1,42 +1,224 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { IconFile, IconFileTypeDoc, IconFileTypePdf, IconFileTypePpt, IconFileTypeXls, IconPhoto } from "@tabler/icons-react";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
3
2
  const FileIcon = ({ mimeType })=>{
4
3
  switch(true){
5
4
  case mimeType.includes('image/'):
6
- return /*#__PURE__*/ jsx(IconPhoto, {
7
- size: 36,
8
- stroke: 1.5,
9
- color: "var(--mantine-color-text)"
5
+ return /*#__PURE__*/ jsxs("svg", {
6
+ xmlns: "http://www.w3.org/2000/svg",
7
+ width: "36",
8
+ height: "36",
9
+ viewBox: "0 0 36 36",
10
+ fill: "none",
11
+ stroke: "var(--mantine-color-text)",
12
+ "stroke-width": "1.5",
13
+ "stroke-linecap": "round",
14
+ "stroke-linejoin": "round",
15
+ role: "img",
16
+ "aria-label": "Image",
17
+ children: [
18
+ /*#__PURE__*/ jsx("path", {
19
+ stroke: "none",
20
+ d: "M0 0h24v24H0z",
21
+ fill: "none"
22
+ }),
23
+ /*#__PURE__*/ jsx("path", {
24
+ d: "M15 8h.01"
25
+ }),
26
+ /*#__PURE__*/ jsx("path", {
27
+ d: "M3 6a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-12"
28
+ }),
29
+ /*#__PURE__*/ jsx("path", {
30
+ d: "M3 16l5 -5c.928 -.893 2.072 -.893 3 0l5 5"
31
+ }),
32
+ /*#__PURE__*/ jsx("path", {
33
+ d: "M14 14l1 -1c.928 -.893 2.072 -.893 3 0l3 3"
34
+ })
35
+ ]
10
36
  });
11
37
  case mimeType.includes('application/pdf'):
12
- return /*#__PURE__*/ jsx(IconFileTypePdf, {
13
- size: 36,
14
- stroke: 1.5,
15
- color: "var(--mantine-color-text)"
38
+ return /*#__PURE__*/ jsxs("svg", {
39
+ xmlns: "http://www.w3.org/2000/svg",
40
+ width: "36",
41
+ height: "36",
42
+ viewBox: "0 0 36 36",
43
+ fill: "none",
44
+ stroke: "var(--mantine-color-text)",
45
+ "stroke-width": "1.5",
46
+ "stroke-linecap": "round",
47
+ "stroke-linejoin": "round",
48
+ role: "img",
49
+ "aria-label": "FilePdf",
50
+ children: [
51
+ /*#__PURE__*/ jsx("path", {
52
+ stroke: "none",
53
+ d: "M0 0h24v24H0z",
54
+ fill: "none"
55
+ }),
56
+ /*#__PURE__*/ jsx("path", {
57
+ d: "M14 3v4a1 1 0 0 0 1 1h4"
58
+ }),
59
+ /*#__PURE__*/ jsx("path", {
60
+ d: "M5 12v-7a2 2 0 0 1 2 -2h7l5 5v4"
61
+ }),
62
+ /*#__PURE__*/ jsx("path", {
63
+ d: "M5 18h1.5a1.5 1.5 0 0 0 0 -3h-1.5v6"
64
+ }),
65
+ /*#__PURE__*/ jsx("path", {
66
+ d: "M17 18h2"
67
+ }),
68
+ /*#__PURE__*/ jsx("path", {
69
+ d: "M20 15h-3v6"
70
+ }),
71
+ /*#__PURE__*/ jsx("path", {
72
+ d: "M11 15v6h1a2 2 0 0 0 2 -2v-2a2 2 0 0 0 -2 -2h-1"
73
+ })
74
+ ]
16
75
  });
17
76
  case 'word' === mimeType:
18
- return /*#__PURE__*/ jsx(IconFileTypeDoc, {
19
- size: 36,
20
- stroke: 1.5,
21
- color: "var(--mantine-color-text)"
77
+ return /*#__PURE__*/ jsxs("svg", {
78
+ xmlns: "http://www.w3.org/2000/svg",
79
+ width: "36",
80
+ height: "36",
81
+ viewBox: "0 0 36 36",
82
+ fill: "none",
83
+ stroke: "var(--mantine-color-text)",
84
+ "stroke-width": "1.5",
85
+ "stroke-linecap": "round",
86
+ "stroke-linejoin": "round",
87
+ role: "img",
88
+ "aria-label": "FileDoc",
89
+ children: [
90
+ /*#__PURE__*/ jsx("path", {
91
+ stroke: "none",
92
+ d: "M0 0h24v24H0z",
93
+ fill: "none"
94
+ }),
95
+ /*#__PURE__*/ jsx("path", {
96
+ d: "M14 3v4a1 1 0 0 0 1 1h4"
97
+ }),
98
+ /*#__PURE__*/ jsx("path", {
99
+ d: "M5 12v-7a2 2 0 0 1 2 -2h7l5 5v4"
100
+ }),
101
+ /*#__PURE__*/ jsx("path", {
102
+ d: "M5 15v6h1a2 2 0 0 0 2 -2v-2a2 2 0 0 0 -2 -2h-1"
103
+ }),
104
+ /*#__PURE__*/ jsx("path", {
105
+ d: "M20 16.5a1.5 1.5 0 0 0 -3 0v3a1.5 1.5 0 0 0 3 0"
106
+ }),
107
+ /*#__PURE__*/ jsx("path", {
108
+ d: "M12.5 15a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1 -3 0v-3a1.5 1.5 0 0 1 1.5 -1.5"
109
+ })
110
+ ]
22
111
  });
23
112
  case 'excel' === mimeType:
24
- return /*#__PURE__*/ jsx(IconFileTypeXls, {
25
- size: 36,
26
- stroke: 1.5,
27
- color: "var(--mantine-color-text)"
113
+ return /*#__PURE__*/ jsxs("svg", {
114
+ xmlns: "http://www.w3.org/2000/svg",
115
+ width: "36",
116
+ height: "36",
117
+ viewBox: "0 0 36 36",
118
+ fill: "none",
119
+ stroke: "var(--mantine-color-text)",
120
+ "stroke-width": "1.5",
121
+ "stroke-linecap": "round",
122
+ "stroke-linejoin": "round",
123
+ role: "img",
124
+ "aria-label": "FileXls",
125
+ children: [
126
+ /*#__PURE__*/ jsx("path", {
127
+ stroke: "none",
128
+ d: "M0 0h24v24H0z",
129
+ fill: "none"
130
+ }),
131
+ /*#__PURE__*/ jsx("path", {
132
+ d: "M14 3v4a1 1 0 0 0 1 1h4"
133
+ }),
134
+ /*#__PURE__*/ jsx("path", {
135
+ d: "M5 12v-7a2 2 0 0 1 2 -2h7l5 5v4"
136
+ }),
137
+ /*#__PURE__*/ jsx("path", {
138
+ d: "M4 15l4 6"
139
+ }),
140
+ /*#__PURE__*/ jsx("path", {
141
+ d: "M4 21l4 -6"
142
+ }),
143
+ /*#__PURE__*/ jsx("path", {
144
+ d: "M17 20.25c0 .414 .336 .75 .75 .75h1.25a1 1 0 0 0 1 -1v-1a1 1 0 0 0 -1 -1h-1a1 1 0 0 1 -1 -1v-1a1 1 0 0 1 1 -1h1.25a.75 .75 0 0 1 .75 .75"
145
+ }),
146
+ /*#__PURE__*/ jsx("path", {
147
+ d: "M11 15v6h3"
148
+ })
149
+ ]
28
150
  });
29
151
  case 'powerpoint' === mimeType:
30
- return /*#__PURE__*/ jsx(IconFileTypePpt, {
31
- size: 36,
32
- stroke: 1.5,
33
- color: "var(--mantine-color-text)"
152
+ return /*#__PURE__*/ jsxs("svg", {
153
+ xmlns: "http://www.w3.org/2000/svg",
154
+ width: "36",
155
+ height: "36",
156
+ viewBox: "0 0 36 36",
157
+ fill: "none",
158
+ stroke: "var(--mantine-color-text)",
159
+ "stroke-width": "1.5",
160
+ "stroke-linecap": "round",
161
+ "stroke-linejoin": "round",
162
+ role: "img",
163
+ "aria-label": "FilePpt",
164
+ children: [
165
+ /*#__PURE__*/ jsx("path", {
166
+ stroke: "none",
167
+ d: "M0 0h24v24H0z",
168
+ fill: "none"
169
+ }),
170
+ /*#__PURE__*/ jsx("path", {
171
+ d: "M14 3v4a1 1 0 0 0 1 1h4"
172
+ }),
173
+ /*#__PURE__*/ jsx("path", {
174
+ d: "M14 3v4a1 1 0 0 0 1 1h4"
175
+ }),
176
+ /*#__PURE__*/ jsx("path", {
177
+ d: "M5 18h1.5a1.5 1.5 0 0 0 0 -3h-1.5v6"
178
+ }),
179
+ /*#__PURE__*/ jsx("path", {
180
+ d: "M11 18h1.5a1.5 1.5 0 0 0 0 -3h-1.5v6"
181
+ }),
182
+ /*#__PURE__*/ jsx("path", {
183
+ d: "M16.5 15h3"
184
+ }),
185
+ /*#__PURE__*/ jsx("path", {
186
+ d: "M18 15v6"
187
+ }),
188
+ /*#__PURE__*/ jsx("path", {
189
+ d: "M5 12v-7a2 2 0 0 1 2 -2h7l5 5v4"
190
+ })
191
+ ]
34
192
  });
35
193
  default:
36
- return /*#__PURE__*/ jsx(IconFile, {
37
- size: 36,
38
- stroke: 1.5,
39
- color: "var(--mantine-color-text)"
194
+ return /*#__PURE__*/ jsxs("svg", {
195
+ xmlns: "http://www.w3.org/2000/svg",
196
+ width: "36",
197
+ height: "36",
198
+ viewBox: "0 0 36 36",
199
+ fill: "none",
200
+ stroke: "var(--mantine-color-text)",
201
+ "stroke-width": "1.5",
202
+ "stroke-linecap": "round",
203
+ "stroke-linejoin": "round",
204
+ role: "img",
205
+ "aria-label": "File",
206
+ children: [
207
+ /*#__PURE__*/ jsx("path", {
208
+ stroke: "none",
209
+ d: "M0 0h24v24H0z",
210
+ fill: "none"
211
+ }),
212
+ /*#__PURE__*/ jsx("path", {
213
+ d: "M15 3v4a1 1 0 0 0 1 1h4"
214
+ }),
215
+ /*#__PURE__*/ jsx("path", {
216
+ d: "M18 17h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h4l5 5v7a2 2 0 0 1 -2 2"
217
+ }),
218
+ /*#__PURE__*/ jsx("path", {
219
+ d: "M16 17v2a2 2 0 0 1 -2 2h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2"
220
+ })
221
+ ]
40
222
  });
41
223
  }
42
224
  };
@@ -1,6 +1,5 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { ActionIcon, FileButton, Tooltip } from "@mantine/core";
3
- import { IconPaperclip, IconTrash } from "@tabler/icons-react";
4
3
  import { useRef } from "react";
5
4
  import { FileIcon } from "./FileIcon.js";
6
5
  import { usePromptInput } from "./PromptInputContext.js";
@@ -27,9 +26,28 @@ const File = (props)=>{
27
26
  root: styles_module.fileActionAction
28
27
  },
29
28
  ...props,
30
- children: /*#__PURE__*/ jsx(IconPaperclip, {
31
- size: 24,
32
- stroke: 1.5
29
+ children: /*#__PURE__*/ jsxs("svg", {
30
+ xmlns: "http://www.w3.org/2000/svg",
31
+ width: "24",
32
+ height: "24",
33
+ viewBox: "0 0 24 24",
34
+ fill: "none",
35
+ stroke: "currentColor",
36
+ "stroke-width": "1.5",
37
+ "stroke-linecap": "round",
38
+ "stroke-linejoin": "round",
39
+ role: "img",
40
+ "aria-label": "Paperclip",
41
+ children: [
42
+ /*#__PURE__*/ jsx("path", {
43
+ stroke: "none",
44
+ d: "M0 0h24v24H0z",
45
+ fill: "none"
46
+ }),
47
+ /*#__PURE__*/ jsx("path", {
48
+ d: "M15 7l-6.5 6.5a1.5 1.5 0 0 0 3 3l6.5 -6.5a3 3 0 0 0 -6 -6l-6.5 6.5a4.5 4.5 0 0 0 9 9l6.5 -6.5"
49
+ })
50
+ ]
33
51
  })
34
52
  }),
35
53
  file && /*#__PURE__*/ jsxs(Fragment, {
@@ -55,9 +73,40 @@ const File = (props)=>{
55
73
  resetRef.current?.();
56
74
  setFile(void 0);
57
75
  },
58
- children: /*#__PURE__*/ jsx(IconTrash, {
59
- size: 24,
60
- stroke: 1.5
76
+ children: /*#__PURE__*/ jsxs("svg", {
77
+ xmlns: "http://www.w3.org/2000/svg",
78
+ width: "24",
79
+ height: "24",
80
+ viewBox: "0 0 24 24",
81
+ fill: "none",
82
+ stroke: "currentColor",
83
+ "stroke-width": "1.5",
84
+ "stroke-linecap": "round",
85
+ "stroke-linejoin": "round",
86
+ role: "img",
87
+ "aria-label": "Trash",
88
+ children: [
89
+ /*#__PURE__*/ jsx("path", {
90
+ stroke: "none",
91
+ d: "M0 0h24v24H0z",
92
+ fill: "none"
93
+ }),
94
+ /*#__PURE__*/ jsx("path", {
95
+ d: "M4 7l16 0"
96
+ }),
97
+ /*#__PURE__*/ jsx("path", {
98
+ d: "M10 11l0 6"
99
+ }),
100
+ /*#__PURE__*/ jsx("path", {
101
+ d: "M14 11l0 6"
102
+ }),
103
+ /*#__PURE__*/ jsx("path", {
104
+ d: "M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12"
105
+ }),
106
+ /*#__PURE__*/ jsx("path", {
107
+ d: "M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3"
108
+ })
109
+ ]
61
110
  })
62
111
  })
63
112
  ]
@@ -1,42 +1,224 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { IconFile, IconFileTypeDoc, IconFileTypePdf, IconFileTypePpt, IconFileTypeXls, IconPhoto } from "@tabler/icons-react";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
3
2
  const FileIcon = ({ mimeType })=>{
4
3
  switch(true){
5
4
  case mimeType.includes('image/'):
6
- return /*#__PURE__*/ jsx(IconPhoto, {
7
- size: 24,
8
- stroke: 1.5,
9
- color: "var(--mantine-color-dimmed)"
5
+ return /*#__PURE__*/ jsxs("svg", {
6
+ xmlns: "http://www.w3.org/2000/svg",
7
+ width: "24",
8
+ height: "24",
9
+ viewBox: "0 0 24 24",
10
+ fill: "none",
11
+ stroke: "var(--mantine-color-dimmed)",
12
+ "stroke-width": "1.5",
13
+ "stroke-linecap": "round",
14
+ "stroke-linejoin": "round",
15
+ role: "img",
16
+ "aria-label": "Image",
17
+ children: [
18
+ /*#__PURE__*/ jsx("path", {
19
+ stroke: "none",
20
+ d: "M0 0h24v24H0z",
21
+ fill: "none"
22
+ }),
23
+ /*#__PURE__*/ jsx("path", {
24
+ d: "M15 8h.01"
25
+ }),
26
+ /*#__PURE__*/ jsx("path", {
27
+ d: "M3 6a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-12"
28
+ }),
29
+ /*#__PURE__*/ jsx("path", {
30
+ d: "M3 16l5 -5c.928 -.893 2.072 -.893 3 0l5 5"
31
+ }),
32
+ /*#__PURE__*/ jsx("path", {
33
+ d: "M14 14l1 -1c.928 -.893 2.072 -.893 3 0l3 3"
34
+ })
35
+ ]
10
36
  });
11
37
  case mimeType.includes('application/pdf'):
12
- return /*#__PURE__*/ jsx(IconFileTypePdf, {
13
- size: 24,
14
- stroke: 1.5,
15
- color: "var(--mantine-color-dimmed)"
38
+ return /*#__PURE__*/ jsxs("svg", {
39
+ xmlns: "http://www.w3.org/2000/svg",
40
+ width: "24",
41
+ height: "24",
42
+ viewBox: "0 0 24 24",
43
+ fill: "none",
44
+ stroke: "var(--mantine-color-dimmed)",
45
+ "stroke-width": "1.5",
46
+ "stroke-linecap": "round",
47
+ "stroke-linejoin": "round",
48
+ role: "img",
49
+ "aria-label": "FilePdf",
50
+ children: [
51
+ /*#__PURE__*/ jsx("path", {
52
+ stroke: "none",
53
+ d: "M0 0h24v24H0z",
54
+ fill: "none"
55
+ }),
56
+ /*#__PURE__*/ jsx("path", {
57
+ d: "M14 3v4a1 1 0 0 0 1 1h4"
58
+ }),
59
+ /*#__PURE__*/ jsx("path", {
60
+ d: "M5 12v-7a2 2 0 0 1 2 -2h7l5 5v4"
61
+ }),
62
+ /*#__PURE__*/ jsx("path", {
63
+ d: "M5 18h1.5a1.5 1.5 0 0 0 0 -3h-1.5v6"
64
+ }),
65
+ /*#__PURE__*/ jsx("path", {
66
+ d: "M17 18h2"
67
+ }),
68
+ /*#__PURE__*/ jsx("path", {
69
+ d: "M20 15h-3v6"
70
+ }),
71
+ /*#__PURE__*/ jsx("path", {
72
+ d: "M11 15v6h1a2 2 0 0 0 2 -2v-2a2 2 0 0 0 -2 -2h-1"
73
+ })
74
+ ]
16
75
  });
17
76
  case mimeType.includes('application/vnd.openxmlformats-officedocument.wordprocessingml.document'):
18
- return /*#__PURE__*/ jsx(IconFileTypeDoc, {
19
- size: 24,
20
- stroke: 1.5,
21
- color: "var(--mantine-color-dimmed)"
77
+ return /*#__PURE__*/ jsxs("svg", {
78
+ xmlns: "http://www.w3.org/2000/svg",
79
+ width: "24",
80
+ height: "24",
81
+ viewBox: "0 0 24 24",
82
+ fill: "none",
83
+ stroke: "var(--mantine-color-dimmed)",
84
+ "stroke-width": "1.5",
85
+ "stroke-linecap": "round",
86
+ "stroke-linejoin": "round",
87
+ role: "img",
88
+ "aria-label": "FileDoc",
89
+ children: [
90
+ /*#__PURE__*/ jsx("path", {
91
+ stroke: "none",
92
+ d: "M0 0h24v24H0z",
93
+ fill: "none"
94
+ }),
95
+ /*#__PURE__*/ jsx("path", {
96
+ d: "M14 3v4a1 1 0 0 0 1 1h4"
97
+ }),
98
+ /*#__PURE__*/ jsx("path", {
99
+ d: "M5 12v-7a2 2 0 0 1 2 -2h7l5 5v4"
100
+ }),
101
+ /*#__PURE__*/ jsx("path", {
102
+ d: "M5 15v6h1a2 2 0 0 0 2 -2v-2a2 2 0 0 0 -2 -2h-1"
103
+ }),
104
+ /*#__PURE__*/ jsx("path", {
105
+ d: "M20 16.5a1.5 1.5 0 0 0 -3 0v3a1.5 1.5 0 0 0 3 0"
106
+ }),
107
+ /*#__PURE__*/ jsx("path", {
108
+ d: "M12.5 15a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1 -3 0v-3a1.5 1.5 0 0 1 1.5 -1.5"
109
+ })
110
+ ]
22
111
  });
23
112
  case mimeType.includes('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'):
24
- return /*#__PURE__*/ jsx(IconFileTypeXls, {
25
- size: 24,
26
- stroke: 1.5,
27
- color: "var(--mantine-color-dimmed)"
113
+ return /*#__PURE__*/ jsxs("svg", {
114
+ xmlns: "http://www.w3.org/2000/svg",
115
+ width: "24",
116
+ height: "24",
117
+ viewBox: "0 0 24 24",
118
+ fill: "none",
119
+ stroke: "var(--mantine-color-dimmed)",
120
+ "stroke-width": "1.5",
121
+ "stroke-linecap": "round",
122
+ "stroke-linejoin": "round",
123
+ role: "img",
124
+ "aria-label": "FileXls",
125
+ children: [
126
+ /*#__PURE__*/ jsx("path", {
127
+ stroke: "none",
128
+ d: "M0 0h24v24H0z",
129
+ fill: "none"
130
+ }),
131
+ /*#__PURE__*/ jsx("path", {
132
+ d: "M14 3v4a1 1 0 0 0 1 1h4"
133
+ }),
134
+ /*#__PURE__*/ jsx("path", {
135
+ d: "M5 12v-7a2 2 0 0 1 2 -2h7l5 5v4"
136
+ }),
137
+ /*#__PURE__*/ jsx("path", {
138
+ d: "M4 15l4 6"
139
+ }),
140
+ /*#__PURE__*/ jsx("path", {
141
+ d: "M4 21l4 -6"
142
+ }),
143
+ /*#__PURE__*/ jsx("path", {
144
+ d: "M17 20.25c0 .414 .336 .75 .75 .75h1.25a1 1 0 0 0 1 -1v-1a1 1 0 0 0 -1 -1h-1a1 1 0 0 1 -1 -1v-1a1 1 0 0 1 1 -1h1.25a.75 .75 0 0 1 .75 .75"
145
+ }),
146
+ /*#__PURE__*/ jsx("path", {
147
+ d: "M11 15v6h3"
148
+ })
149
+ ]
28
150
  });
29
151
  case mimeType.includes('application/vnd.openxmlformats-officedocument.presentationml.presentation'):
30
- return /*#__PURE__*/ jsx(IconFileTypePpt, {
31
- size: 24,
32
- stroke: 1.5,
33
- color: "var(--mantine-color-dimmed)"
152
+ return /*#__PURE__*/ jsxs("svg", {
153
+ xmlns: "http://www.w3.org/2000/svg",
154
+ width: "24",
155
+ height: "24",
156
+ viewBox: "0 0 24 24",
157
+ fill: "none",
158
+ stroke: "var(--mantine-color-dimmed)",
159
+ "stroke-width": "1.5",
160
+ "stroke-linecap": "round",
161
+ "stroke-linejoin": "round",
162
+ role: "img",
163
+ "aria-label": "FilePpt",
164
+ children: [
165
+ /*#__PURE__*/ jsx("path", {
166
+ stroke: "none",
167
+ d: "M0 0h24v24H0z",
168
+ fill: "none"
169
+ }),
170
+ /*#__PURE__*/ jsx("path", {
171
+ d: "M14 3v4a1 1 0 0 0 1 1h4"
172
+ }),
173
+ /*#__PURE__*/ jsx("path", {
174
+ d: "M14 3v4a1 1 0 0 0 1 1h4"
175
+ }),
176
+ /*#__PURE__*/ jsx("path", {
177
+ d: "M5 18h1.5a1.5 1.5 0 0 0 0 -3h-1.5v6"
178
+ }),
179
+ /*#__PURE__*/ jsx("path", {
180
+ d: "M11 18h1.5a1.5 1.5 0 0 0 0 -3h-1.5v6"
181
+ }),
182
+ /*#__PURE__*/ jsx("path", {
183
+ d: "M16.5 15h3"
184
+ }),
185
+ /*#__PURE__*/ jsx("path", {
186
+ d: "M18 15v6"
187
+ }),
188
+ /*#__PURE__*/ jsx("path", {
189
+ d: "M5 12v-7a2 2 0 0 1 2 -2h7l5 5v4"
190
+ })
191
+ ]
34
192
  });
35
193
  default:
36
- return /*#__PURE__*/ jsx(IconFile, {
37
- size: 24,
38
- stroke: 1.5,
39
- color: "var(--mantine-color-dimmed)"
194
+ return /*#__PURE__*/ jsxs("svg", {
195
+ xmlns: "http://www.w3.org/2000/svg",
196
+ width: "24",
197
+ height: "24",
198
+ viewBox: "0 0 24 24",
199
+ fill: "none",
200
+ stroke: "var(--mantine-color-dimmed)",
201
+ "stroke-width": "1.5",
202
+ "stroke-linecap": "round",
203
+ "stroke-linejoin": "round",
204
+ role: "img",
205
+ "aria-label": "File",
206
+ children: [
207
+ /*#__PURE__*/ jsx("path", {
208
+ stroke: "none",
209
+ d: "M0 0h24v24H0z",
210
+ fill: "none"
211
+ }),
212
+ /*#__PURE__*/ jsx("path", {
213
+ d: "M15 3v4a1 1 0 0 0 1 1h4"
214
+ }),
215
+ /*#__PURE__*/ jsx("path", {
216
+ d: "M18 17h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h4l5 5v7a2 2 0 0 1 -2 2"
217
+ }),
218
+ /*#__PURE__*/ jsx("path", {
219
+ d: "M16 17v2a2 2 0 0 1 -2 2h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2"
220
+ })
221
+ ]
40
222
  });
41
223
  }
42
224
  };
@@ -1,10 +1,29 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { ActionIcon } from "@mantine/core";
3
- import { IconArrowBigUp } from "@tabler/icons-react";
4
3
  import { usePromptInput } from "./PromptInputContext.js";
5
4
  const Submit = ({ children, ...props })=>{
6
- const Icon = /*#__PURE__*/ jsx(IconArrowBigUp, {
7
- strokeWidth: 1.5
5
+ const Icon = /*#__PURE__*/ jsxs("svg", {
6
+ xmlns: "http://www.w3.org/2000/svg",
7
+ width: "24",
8
+ height: "24",
9
+ viewBox: "0 0 24 24",
10
+ fill: "none",
11
+ stroke: "currentColor",
12
+ "stroke-width": "1.5",
13
+ "stroke-linecap": "round",
14
+ "stroke-linejoin": "round",
15
+ role: "img",
16
+ "aria-label": "Submit",
17
+ children: [
18
+ /*#__PURE__*/ jsx("path", {
19
+ stroke: "none",
20
+ d: "M0 0h24v24H0z",
21
+ fill: "none"
22
+ }),
23
+ /*#__PURE__*/ jsx("path", {
24
+ d: "M9 20v-8h-3.586a1 1 0 0 1 -.707 -1.707l6.586 -6.586a1 1 0 0 1 1.414 0l6.586 6.586a1 1 0 0 1 -.707 1.707h-3.586v8a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1"
25
+ })
26
+ ]
8
27
  });
9
28
  const { onSubmit, submiting, uploading } = usePromptInput();
10
29
  return /*#__PURE__*/ jsx(ActionIcon, {
@@ -1,5 +1,5 @@
1
- import { type IconProps } from '@tabler/icons-react';
2
- interface Props extends IconProps {
1
+ import type { SVGProps } from 'react';
2
+ interface Props extends SVGProps<SVGSVGElement> {
3
3
  expanded?: boolean;
4
4
  }
5
5
  export declare const AnimatedChevron: ({ expanded, style, ...props }: Props) => import("react/jsx-runtime").JSX.Element;
@@ -1,13 +1,31 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { IconChevronDown } from "@tabler/icons-react";
3
- const AnimatedChevron = ({ expanded, style, ...props })=>/*#__PURE__*/ jsx(IconChevronDown, {
4
- strokeWidth: 1.5,
5
- "data-expanded": expanded,
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ const AnimatedChevron = ({ expanded, style, ...props })=>/*#__PURE__*/ jsxs("svg", {
3
+ xmlns: "http://www.w3.org/2000/svg",
4
+ width: "24",
5
+ height: "24",
6
+ viewBox: "0 0 24 24",
7
+ fill: "none",
8
+ stroke: "currentColor",
9
+ strokeWidth: "1.5",
10
+ strokeLinecap: "round",
11
+ strokeLinejoin: "round",
12
+ role: "img",
13
+ "aria-label": "Chevron",
6
14
  style: {
7
15
  transition: 'transform 0.2s ease-in-out',
8
- transform: expanded ? 'rotate(180deg)' : 'rotate(0deg)',
16
+ transform: expanded ? 'rotate(-180deg)' : 'rotate(0deg)',
9
17
  ...style
10
18
  },
11
- ...props
19
+ ...props,
20
+ children: [
21
+ /*#__PURE__*/ jsx("path", {
22
+ stroke: "none",
23
+ d: "M0 0h24v24H0z",
24
+ fill: "none"
25
+ }),
26
+ /*#__PURE__*/ jsx("path", {
27
+ d: "M6 9l6 6l6 -6"
28
+ })
29
+ ]
12
30
  });
13
31
  export { AnimatedChevron };
@@ -1,7 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Loader } from "@mantine/core";
3
3
  import { RichTextEditor } from "@mantine/tiptap";
4
- import { IconCheck } from "@tabler/icons-react";
5
4
  import { useEditor } from "./Provider.js";
6
5
  const Toolbar = ({ saving, children })=>{
7
6
  const { editor, disabledToolbar } = useEditor();
@@ -125,9 +124,28 @@ const Toolbar = ({ saving, children })=>{
125
124
  },
126
125
  children: saving ? /*#__PURE__*/ jsx(Loader, {
127
126
  size: 14
128
- }) : /*#__PURE__*/ jsx(IconCheck, {
129
- stroke: 1.5,
130
- size: 16
127
+ }) : /*#__PURE__*/ jsxs("svg", {
128
+ xmlns: "http://www.w3.org/2000/svg",
129
+ width: "16",
130
+ height: "16",
131
+ viewBox: "0 0 16 16",
132
+ fill: "none",
133
+ stroke: "currentColor",
134
+ strokeWidth: "1.5",
135
+ strokeLinecap: "round",
136
+ strokeLinejoin: "round",
137
+ role: "img",
138
+ "aria-label": "Saved",
139
+ children: [
140
+ /*#__PURE__*/ jsx("path", {
141
+ stroke: "none",
142
+ d: "M0 0h24v24H0z",
143
+ fill: "none"
144
+ }),
145
+ /*#__PURE__*/ jsx("path", {
146
+ d: "M5 12l5 5l10 -10"
147
+ })
148
+ ]
131
149
  })
132
150
  })
133
151
  ]
@@ -1,6 +1,5 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Button } from "@mantine/core";
3
- import { IconCancel } from "@tabler/icons-react";
4
3
  import { useFormContext } from "../context.js";
5
4
  const CancelButton = (props)=>{
6
5
  const form = useFormContext();
@@ -10,8 +9,31 @@ const CancelButton = (props)=>{
10
9
  type: "reset",
11
10
  size: "xs",
12
11
  variant: "light",
13
- leftSection: /*#__PURE__*/ jsx(IconCancel, {
14
- size: 16
12
+ leftSection: /*#__PURE__*/ jsxs("svg", {
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ width: "16",
15
+ height: "16",
16
+ viewBox: "0 0 16 16",
17
+ fill: "none",
18
+ stroke: "currentColor",
19
+ strokeWidth: "2",
20
+ strokeLinecap: "round",
21
+ strokeLinejoin: "round",
22
+ role: "img",
23
+ "aria-label": "Cancel",
24
+ children: [
25
+ /*#__PURE__*/ jsx("path", {
26
+ stroke: "none",
27
+ d: "M0 0h24v24H0z",
28
+ fill: "none"
29
+ }),
30
+ /*#__PURE__*/ jsx("path", {
31
+ d: "M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"
32
+ }),
33
+ /*#__PURE__*/ jsx("path", {
34
+ d: "M18.364 5.636l-12.728 12.728"
35
+ })
36
+ ]
15
37
  }),
16
38
  disabled: isSubmitting,
17
39
  ...props,
@@ -1,6 +1,5 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Button } from "@mantine/core";
3
- import { IconDeviceFloppy } from "@tabler/icons-react";
4
3
  import { useFormContext } from "../context.js";
5
4
  const SubmitButton = (props)=>{
6
5
  const form = useFormContext();
@@ -9,8 +8,34 @@ const SubmitButton = (props)=>{
9
8
  children: (state)=>/*#__PURE__*/ jsx(Button, {
10
9
  type: "submit",
11
10
  size: "xs",
12
- leftSection: /*#__PURE__*/ jsx(IconDeviceFloppy, {
13
- size: 20
11
+ leftSection: /*#__PURE__*/ jsxs("svg", {
12
+ xmlns: "http://www.w3.org/2000/svg",
13
+ width: "20",
14
+ height: "20",
15
+ viewBox: "0 0 20 20",
16
+ fill: "none",
17
+ stroke: "currentColor",
18
+ strokeWidth: "2",
19
+ strokeLinecap: "round",
20
+ strokeLinejoin: "round",
21
+ role: "img",
22
+ "aria-label": "Submit",
23
+ children: [
24
+ /*#__PURE__*/ jsx("path", {
25
+ stroke: "none",
26
+ d: "M0 0h24v24H0z",
27
+ fill: "none"
28
+ }),
29
+ /*#__PURE__*/ jsx("path", {
30
+ d: "M6 4h10l4 4v10a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2"
31
+ }),
32
+ /*#__PURE__*/ jsx("path", {
33
+ d: "M10 14a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"
34
+ }),
35
+ /*#__PURE__*/ jsx("path", {
36
+ d: "M14 4l0 4l-6 0l0 -4"
37
+ })
38
+ ]
14
39
  }),
15
40
  loading: state.isSubmitting,
16
41
  disabled: !state.isDirty,
@@ -1,6 +1,5 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { ActionIcon, TextInput } from "@mantine/core";
3
- import { IconRefresh } from "@tabler/icons-react";
4
3
  import omgopass from "omgopass";
5
4
  import { useFieldContext } from "../context.js";
6
5
  const TextPassowrdField = (props)=>{
@@ -14,8 +13,31 @@ const TextPassowrdField = (props)=>{
14
13
  minSyllableLength: 2,
15
14
  maxSyllableLength: 2
16
15
  })),
17
- children: /*#__PURE__*/ jsx(IconRefresh, {
18
- size: 16
16
+ children: /*#__PURE__*/ jsxs("svg", {
17
+ xmlns: "http://www.w3.org/2000/svg",
18
+ width: "16",
19
+ height: "16",
20
+ viewBox: "0 0 16 16",
21
+ fill: "none",
22
+ stroke: "currentColor",
23
+ "stroke-width": "2",
24
+ "stroke-linecap": "round",
25
+ "stroke-linejoin": "round",
26
+ role: "img",
27
+ "aria-label": "Refresh",
28
+ children: [
29
+ /*#__PURE__*/ jsx("path", {
30
+ stroke: "none",
31
+ d: "M0 0h24v24H0z",
32
+ fill: "none"
33
+ }),
34
+ /*#__PURE__*/ jsx("path", {
35
+ d: "M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4"
36
+ }),
37
+ /*#__PURE__*/ jsx("path", {
38
+ d: "M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"
39
+ })
40
+ ]
19
41
  })
20
42
  }),
21
43
  name: field.name,
@@ -55,7 +55,7 @@ export declare const ScrollArea: {
55
55
  displayName: string;
56
56
  } & {
57
57
  ScrollButton: {
58
- ({ className, upIcon, downIcon, }: import("./types").ScrollButtonProps): import("react/jsx-runtime").JSX.Element | null;
58
+ ({ className }: import("./types").ScrollButtonProps): import("react/jsx-runtime").JSX.Element | null;
59
59
  displayName: string;
60
60
  };
61
61
  Provider: import("react").Provider<ScrollAreaContextValue | null>;
@@ -1,5 +1,5 @@
1
1
  import type { ScrollButtonProps } from './types';
2
2
  export declare const ScrollAreaButton: {
3
- ({ className, upIcon, downIcon, }: ScrollButtonProps): import("react/jsx-runtime").JSX.Element | null;
3
+ ({ className }: ScrollButtonProps): import("react/jsx-runtime").JSX.Element | null;
4
4
  displayName: string;
5
5
  };
@@ -1,15 +1,36 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { ActionIcon } from "@mantine/core";
3
- import { IconChevronDown, IconChevronUp } from "@tabler/icons-react";
4
3
  import { useScrollArea } from "./context.js";
5
- const ScrollAreaButton = ({ className, upIcon, downIcon })=>{
4
+ const ScrollAreaButton = ({ className })=>{
6
5
  const { hasScrollableContent, isAboveCenter, scrollToTop, scrollToBottom } = useScrollArea();
7
6
  if (!hasScrollableContent) return null;
8
7
  const isScrollingDown = isAboveCenter;
9
- const icon = isScrollingDown ? downIcon ?? /*#__PURE__*/ jsx(IconChevronDown, {
10
- strokeWidth: 1.5
11
- }) : upIcon ?? /*#__PURE__*/ jsx(IconChevronUp, {
12
- strokeWidth: 1.5
8
+ const icon = /*#__PURE__*/ jsxs("svg", {
9
+ xmlns: "http://www.w3.org/2000/svg",
10
+ width: "24",
11
+ height: "24",
12
+ viewBox: "0 0 24 24",
13
+ fill: "none",
14
+ stroke: "currentColor",
15
+ strokeWidth: "1.5",
16
+ strokeLinecap: "round",
17
+ strokeLinejoin: "round",
18
+ role: "img",
19
+ "aria-label": "Chevron",
20
+ style: {
21
+ transition: 'transform 0.2s ease-in-out',
22
+ transform: isScrollingDown ? 'rotate(-180deg)' : 'rotate(0deg)'
23
+ },
24
+ children: [
25
+ /*#__PURE__*/ jsx("path", {
26
+ stroke: "none",
27
+ d: "M0 0h24v24H0z",
28
+ fill: "none"
29
+ }),
30
+ /*#__PURE__*/ jsx("path", {
31
+ d: "M6 9l6 6l6 -6"
32
+ })
33
+ ]
13
34
  });
14
35
  const handleClick = ()=>{
15
36
  if (isScrollingDown) scrollToBottom();
package/package.json CHANGED
@@ -1,9 +1,7 @@
1
1
  {
2
2
  "name": "@rolder/kit",
3
- "version": "3.0.0-alpha-15",
3
+ "version": "3.0.0-alpha-17",
4
4
  "type": "module",
5
- "module": "./dist/index.js",
6
- "types": "./dist/index.d.ts",
7
5
  "exports": {
8
6
  ".": {
9
7
  "types": "./dist/index.d.ts",
@@ -23,7 +21,6 @@
23
21
  },
24
22
  "devDependencies": {
25
23
  "@biomejs/biome": "2.3.11",
26
- "@microsoft/api-extractor": "^7.55.2",
27
24
  "@rsbuild/plugin-react": "^1.4.2",
28
25
  "@rslib/core": "^0.19.2",
29
26
  "@types/bun": "^1.3.5",
@@ -31,7 +28,8 @@
31
28
  "@types/omgopass": "^3.2.3",
32
29
  "@types/react": "^19.2.8",
33
30
  "react": "^19.2.3",
34
- "typescript": "^5.9.3"
31
+ "typescript": "^5.9.3",
32
+ "@tabler/icons": "^3.36.1"
35
33
  },
36
34
  "peerDependencies": {
37
35
  "react": ">=16.9.0",
@@ -63,13 +61,11 @@
63
61
  "nanostores": "^1.1.0",
64
62
  "surrealdb": "^2.0.0-alpha.16",
65
63
  "omgopass": "^3.2.1",
66
- "ai": "^6.0.31"
64
+ "ai": "^6.0.31",
65
+ "streamdown": "^2.0.1"
67
66
  },
68
67
  "trustedDependencies": [
69
68
  "core-js",
70
69
  "esbuild"
71
- ],
72
- "dependencies": {
73
- "streamdown": "^2.0.1"
74
- }
70
+ ]
75
71
  }