@hanzo/ui 8.27.59 → 8.27.61

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 (57) hide show
  1. package/dist/backends/gui/code-editor.cjs +39 -18
  2. package/dist/backends/gui/code-editor.d.ts.map +1 -1
  3. package/dist/backends/gui/code-editor.js +39 -18
  4. package/dist/backends/gui/code-editor.js.map +1 -1
  5. package/dist/backends/gui/json-tree.cjs +4 -2
  6. package/dist/backends/gui/json-tree.d.ts.map +1 -1
  7. package/dist/backends/gui/json-tree.js +4 -2
  8. package/dist/backends/gui/json-tree.js.map +1 -1
  9. package/dist/backends/gui/json.cjs +68 -66
  10. package/dist/backends/gui/json.d.ts +3 -2
  11. package/dist/backends/gui/json.d.ts.map +1 -1
  12. package/dist/backends/gui/json.js +68 -66
  13. package/dist/backends/gui/json.js.map +1 -1
  14. package/dist/chat/Composer.cjs +1 -1
  15. package/dist/chat/Composer.d.ts +1 -1
  16. package/dist/chat/Composer.js +1 -1
  17. package/dist/gallery.cjs +4 -4
  18. package/dist/gallery.d.ts.map +1 -1
  19. package/dist/gallery.html +4 -5
  20. package/dist/gallery.js +5 -5
  21. package/dist/gallery.js.map +1 -1
  22. package/dist/index.cjs +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/index.node.cjs +1 -1
  25. package/dist/index.node.js +1 -1
  26. package/dist/models/ModelPicker.cjs +191 -0
  27. package/dist/models/ModelPicker.d.ts +27 -0
  28. package/dist/models/ModelPicker.d.ts.map +1 -0
  29. package/dist/models/ModelPicker.js +189 -0
  30. package/dist/models/ModelPicker.js.map +1 -0
  31. package/dist/models/catalog.cjs +313 -184
  32. package/dist/models/catalog.d.ts +101 -38
  33. package/dist/models/catalog.d.ts.map +1 -1
  34. package/dist/models/catalog.js +295 -179
  35. package/dist/models/catalog.js.map +1 -1
  36. package/dist/models/index.cjs +33 -12
  37. package/dist/models/index.d.ts +7 -4
  38. package/dist/models/index.d.ts.map +1 -1
  39. package/dist/models/index.js +7 -6
  40. package/dist/models/index.js.map +1 -1
  41. package/dist/models/picker.logic.cjs +83 -0
  42. package/dist/models/picker.logic.d.ts +51 -0
  43. package/dist/models/picker.logic.d.ts.map +1 -0
  44. package/dist/models/picker.logic.js +74 -0
  45. package/dist/models/picker.logic.js.map +1 -0
  46. package/dist/product/limits.cjs +14 -13
  47. package/dist/product/limits.d.ts +9 -10
  48. package/dist/product/limits.d.ts.map +1 -1
  49. package/dist/product/limits.js +14 -12
  50. package/dist/product/limits.js.map +1 -1
  51. package/dist/styles.css +1 -2
  52. package/package.json +1 -1
  53. package/dist/models/ModelSelector.cjs +0 -80
  54. package/dist/models/ModelSelector.d.ts +0 -44
  55. package/dist/models/ModelSelector.d.ts.map +0 -1
  56. package/dist/models/ModelSelector.js +0 -78
  57. package/dist/models/ModelSelector.js.map +0 -1
@@ -19,6 +19,12 @@ const SPACE = ' \t\n\r';
19
19
  const ESCAPE = '"\\/bfnrt';
20
20
  const NUMBER = /-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/y;
21
21
  const HEX = /[0-9a-fA-F]{4}/y;
22
+ /**
23
+ * Text that means to be JSON: an object, or an array whose first element looks
24
+ * like a JSON value. A log line such as `[INFO] export started` opens with a
25
+ * bracket and is prose, so it is not held to JSON.
26
+ */
27
+ const STRUCTURED = /^(\{|\[\s*([[{"\]\-\d]|true\b|false\b|null\b|$))/;
22
28
  const shown = (c) => c === undefined ? 'end of input' : c === '\n' ? 'line break' : `character '${c}'`;
23
29
  /** The first offset RFC 8259 does not accept, and why; `null` when it accepts all of it. */
24
30
  function scan(s) {
@@ -65,85 +71,81 @@ function scan(s) {
65
71
  fail('Invalid number');
66
72
  i += m[0].length;
67
73
  };
68
- const object = () => {
69
- i++;
74
+ /** A property name and its colon, where one must be. */
75
+ const key = (afterComma) => {
70
76
  space();
71
- if (s[i] === '}') {
72
- i++;
73
- return;
77
+ if (s[i] !== '"') {
78
+ fail(afterComma && s[i] === '}' ? "Trailing comma before '}'" : `Expected a double-quoted property name, found ${shown(s[i])}`);
74
79
  }
80
+ string();
81
+ space();
82
+ if (s[i] !== ':')
83
+ fail(`Expected ':' after property name, found ${shown(s[i])}`);
84
+ i++;
85
+ };
86
+ // A loop over an explicit stack of the containers still open, not a call per
87
+ // level: a few thousand unclosed brackets would otherwise exhaust the call stack,
88
+ // and `JSON.parse` (which does not recurse) accepts the same depth when closed.
89
+ const open = [];
90
+ let wantValue = true;
91
+ try {
75
92
  for (;;) {
76
93
  space();
77
- if (s[i] !== '"') {
78
- fail(s[i] === '}' ? "Trailing comma before '}'" : `Expected a double-quoted property name, found ${shown(s[i])}`);
79
- }
80
- string();
81
- space();
82
- if (s[i] !== ':')
83
- fail(`Expected ':' after property name, found ${shown(s[i])}`);
84
- i++;
85
- value();
86
- space();
87
- if (s[i] === ',') {
88
- i++;
94
+ if (wantValue) {
95
+ const c = s[i];
96
+ if (c === '{' || c === '[') {
97
+ i++;
98
+ space();
99
+ if (s[i] === (c === '{' ? '}' : ']')) {
100
+ i++;
101
+ wantValue = false;
102
+ continue;
103
+ }
104
+ open.push(c);
105
+ if (c === '{')
106
+ key(false);
107
+ continue;
108
+ }
109
+ if (c === '"')
110
+ string();
111
+ else if (c === '-' || (c !== undefined && c >= '0' && c <= '9'))
112
+ number();
113
+ else {
114
+ const word = ['true', 'false', 'null'].find((w) => s.startsWith(w, i));
115
+ if (!word)
116
+ fail(`Unexpected ${shown(c)}`);
117
+ i += word.length;
118
+ }
119
+ wantValue = false;
89
120
  continue;
90
121
  }
91
- if (s[i] === '}') {
92
- i++;
93
- return;
122
+ const top = open.at(-1);
123
+ if (!top) {
124
+ if (i < s.length)
125
+ fail(`Unexpected ${shown(s[i])} after the JSON value`);
126
+ return null;
94
127
  }
95
- fail(`Expected ',' or '}' after property value, found ${shown(s[i])}`);
96
- }
97
- };
98
- const array = () => {
99
- i++;
100
- space();
101
- if (s[i] === ']') {
102
- i++;
103
- return;
104
- }
105
- for (;;) {
106
- space();
107
- if (s[i] === ']')
108
- fail("Trailing comma before ']'");
109
- value();
110
- space();
111
128
  if (s[i] === ',') {
112
129
  i++;
130
+ if (top === '{')
131
+ key(true);
132
+ else {
133
+ space();
134
+ if (s[i] === ']')
135
+ fail("Trailing comma before ']'");
136
+ }
137
+ wantValue = true;
113
138
  continue;
114
139
  }
115
- if (s[i] === ']') {
140
+ if (s[i] === (top === '{' ? '}' : ']')) {
116
141
  i++;
117
- return;
118
- }
119
- fail(`Expected ',' or ']' after array element, found ${shown(s[i])}`);
120
- }
121
- };
122
- const value = () => {
123
- space();
124
- const c = s[i];
125
- if (c === '{')
126
- return object();
127
- if (c === '[')
128
- return array();
129
- if (c === '"')
130
- return string();
131
- if (c === '-' || (c !== undefined && c >= '0' && c <= '9'))
132
- return number();
133
- for (const word of ['true', 'false', 'null']) {
134
- if (s.startsWith(word, i)) {
135
- i += word.length;
136
- return;
142
+ open.pop();
143
+ continue;
137
144
  }
145
+ fail(top === '{'
146
+ ? `Expected ',' or '}' after property value, found ${shown(s[i])}`
147
+ : `Expected ',' or ']' after array element, found ${shown(s[i])}`);
138
148
  }
139
- fail(`Unexpected ${shown(c)}`);
140
- };
141
- try {
142
- value();
143
- space();
144
- if (i < s.length)
145
- fail(`Unexpected ${shown(s[i])} after the JSON value`);
146
- return null;
147
149
  }
148
150
  catch (e) {
149
151
  return e;
@@ -170,7 +172,7 @@ function checkJson(text, options = {}) {
170
172
  return { kind: 'json', value: JSON.parse(text) };
171
173
  }
172
174
  catch (e) {
173
- if (options.text && body[0] !== '{' && body[0] !== '[')
175
+ if (options.text && !STRUCTURED.test(body))
174
176
  return { kind: 'text', value: text };
175
177
  const fault = scan(text) ?? { at: 0, message: e instanceof Error ? e.message : String(e) };
176
178
  return { kind: 'error', message: fault.message, at: fault.at, ...place(text, fault.at) };
@@ -29,8 +29,9 @@ export type JsonCheck = {
29
29
  export interface JsonCheckOptions {
30
30
  /**
31
31
  * Text that does not open an object or an array passes as plain text instead
32
- * of failing — for a field that takes either. A document that opens with `{`
33
- * or `[` is still held to JSON, because that is what its author meant.
32
+ * of failing — for a field that takes either. A document that opens with `{`,
33
+ * or with `[` and a JSON value, is still held to JSON, because that is what its
34
+ * author meant; `[INFO] …` is a log line, not a broken array.
34
35
  */
35
36
  text?: boolean;
36
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhF,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAoJD,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAUjF;AAED,uEAAuE;AACvE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtD"}
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhF,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAqJD,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAUjF;AAED,uEAAuE;AACvE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtD"}
@@ -15,6 +15,12 @@ const SPACE = ' \t\n\r';
15
15
  const ESCAPE = '"\\/bfnrt';
16
16
  const NUMBER = /-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/y;
17
17
  const HEX = /[0-9a-fA-F]{4}/y;
18
+ /**
19
+ * Text that means to be JSON: an object, or an array whose first element looks
20
+ * like a JSON value. A log line such as `[INFO] export started` opens with a
21
+ * bracket and is prose, so it is not held to JSON.
22
+ */
23
+ const STRUCTURED = /^(\{|\[\s*([[{"\]\-\d]|true\b|false\b|null\b|$))/;
18
24
  const shown = (c) => c === undefined ? 'end of input' : c === '\n' ? 'line break' : `character '${c}'`;
19
25
  /** The first offset RFC 8259 does not accept, and why; `null` when it accepts all of it. */
20
26
  function scan(s) {
@@ -61,85 +67,81 @@ function scan(s) {
61
67
  fail('Invalid number');
62
68
  i += m[0].length;
63
69
  };
64
- const object = () => {
65
- i++;
70
+ /** A property name and its colon, where one must be. */
71
+ const key = (afterComma) => {
66
72
  space();
67
- if (s[i] === '}') {
68
- i++;
69
- return;
73
+ if (s[i] !== '"') {
74
+ fail(afterComma && s[i] === '}' ? "Trailing comma before '}'" : `Expected a double-quoted property name, found ${shown(s[i])}`);
70
75
  }
76
+ string();
77
+ space();
78
+ if (s[i] !== ':')
79
+ fail(`Expected ':' after property name, found ${shown(s[i])}`);
80
+ i++;
81
+ };
82
+ // A loop over an explicit stack of the containers still open, not a call per
83
+ // level: a few thousand unclosed brackets would otherwise exhaust the call stack,
84
+ // and `JSON.parse` (which does not recurse) accepts the same depth when closed.
85
+ const open = [];
86
+ let wantValue = true;
87
+ try {
71
88
  for (;;) {
72
89
  space();
73
- if (s[i] !== '"') {
74
- fail(s[i] === '}' ? "Trailing comma before '}'" : `Expected a double-quoted property name, found ${shown(s[i])}`);
75
- }
76
- string();
77
- space();
78
- if (s[i] !== ':')
79
- fail(`Expected ':' after property name, found ${shown(s[i])}`);
80
- i++;
81
- value();
82
- space();
83
- if (s[i] === ',') {
84
- i++;
90
+ if (wantValue) {
91
+ const c = s[i];
92
+ if (c === '{' || c === '[') {
93
+ i++;
94
+ space();
95
+ if (s[i] === (c === '{' ? '}' : ']')) {
96
+ i++;
97
+ wantValue = false;
98
+ continue;
99
+ }
100
+ open.push(c);
101
+ if (c === '{')
102
+ key(false);
103
+ continue;
104
+ }
105
+ if (c === '"')
106
+ string();
107
+ else if (c === '-' || (c !== undefined && c >= '0' && c <= '9'))
108
+ number();
109
+ else {
110
+ const word = ['true', 'false', 'null'].find((w) => s.startsWith(w, i));
111
+ if (!word)
112
+ fail(`Unexpected ${shown(c)}`);
113
+ i += word.length;
114
+ }
115
+ wantValue = false;
85
116
  continue;
86
117
  }
87
- if (s[i] === '}') {
88
- i++;
89
- return;
118
+ const top = open.at(-1);
119
+ if (!top) {
120
+ if (i < s.length)
121
+ fail(`Unexpected ${shown(s[i])} after the JSON value`);
122
+ return null;
90
123
  }
91
- fail(`Expected ',' or '}' after property value, found ${shown(s[i])}`);
92
- }
93
- };
94
- const array = () => {
95
- i++;
96
- space();
97
- if (s[i] === ']') {
98
- i++;
99
- return;
100
- }
101
- for (;;) {
102
- space();
103
- if (s[i] === ']')
104
- fail("Trailing comma before ']'");
105
- value();
106
- space();
107
124
  if (s[i] === ',') {
108
125
  i++;
126
+ if (top === '{')
127
+ key(true);
128
+ else {
129
+ space();
130
+ if (s[i] === ']')
131
+ fail("Trailing comma before ']'");
132
+ }
133
+ wantValue = true;
109
134
  continue;
110
135
  }
111
- if (s[i] === ']') {
136
+ if (s[i] === (top === '{' ? '}' : ']')) {
112
137
  i++;
113
- return;
114
- }
115
- fail(`Expected ',' or ']' after array element, found ${shown(s[i])}`);
116
- }
117
- };
118
- const value = () => {
119
- space();
120
- const c = s[i];
121
- if (c === '{')
122
- return object();
123
- if (c === '[')
124
- return array();
125
- if (c === '"')
126
- return string();
127
- if (c === '-' || (c !== undefined && c >= '0' && c <= '9'))
128
- return number();
129
- for (const word of ['true', 'false', 'null']) {
130
- if (s.startsWith(word, i)) {
131
- i += word.length;
132
- return;
138
+ open.pop();
139
+ continue;
133
140
  }
141
+ fail(top === '{'
142
+ ? `Expected ',' or '}' after property value, found ${shown(s[i])}`
143
+ : `Expected ',' or ']' after array element, found ${shown(s[i])}`);
134
144
  }
135
- fail(`Unexpected ${shown(c)}`);
136
- };
137
- try {
138
- value();
139
- space();
140
- if (i < s.length)
141
- fail(`Unexpected ${shown(s[i])} after the JSON value`);
142
- return null;
143
145
  }
144
146
  catch (e) {
145
147
  return e;
@@ -166,7 +168,7 @@ export function checkJson(text, options = {}) {
166
168
  return { kind: 'json', value: JSON.parse(text) };
167
169
  }
168
170
  catch (e) {
169
- if (options.text && body[0] !== '{' && body[0] !== '[')
171
+ if (options.text && !STRUCTURED.test(body))
170
172
  return { kind: 'text', value: text };
171
173
  const fault = scan(text) ?? { at: 0, message: e instanceof Error ? e.message : String(e) };
172
174
  return { kind: 'error', message: fault.message, at: fault.at, ...place(text, fault.at) };
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/backends/gui/json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/backends/gui/json.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
10
10
  *
11
11
  * Presentational and controlled: it owns no draft, no transport and no model
12
12
  * state. `children` is the toolbar slot, which is where a surface puts its
13
- * `ModelSelector`, attachment control or mode chips — that keeps the shell the
13
+ * `ModelPicker`, attachment control or mode chips — that keeps the shell the
14
14
  * same everywhere while the affordances stay per-surface.
15
15
  *
16
16
  * The send control is the same button in both states: it submits, and while a
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Presentational and controlled: it owns no draft, no transport and no model
5
5
  * state. `children` is the toolbar slot, which is where a surface puts its
6
- * `ModelSelector`, attachment control or mode chips — that keeps the shell the
6
+ * `ModelPicker`, attachment control or mode chips — that keeps the shell the
7
7
  * same everywhere while the affordances stay per-surface.
8
8
  *
9
9
  * The send control is the same button in both states: it submits, and while a
@@ -5,7 +5,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  *
6
6
  * Presentational and controlled: it owns no draft, no transport and no model
7
7
  * state. `children` is the toolbar slot, which is where a surface puts its
8
- * `ModelSelector`, attachment control or mode chips — that keeps the shell the
8
+ * `ModelPicker`, attachment control or mode chips — that keeps the shell the
9
9
  * same everywhere while the affordances stay per-surface.
10
10
  *
11
11
  * The send control is the same button in both states: it submits, and while a
package/dist/gallery.cjs CHANGED
@@ -169,10 +169,10 @@ const Gallery = () => ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex'
169
169
  const el = document.querySelector('[data-palette-selected]');
170
170
  if (el)
171
171
  el.setAttribute('data-palette-selected', v);
172
- }, children: [(0, jsx_runtime_1.jsx)(gui_2.CommandInput, {}), (0, jsx_runtime_1.jsxs)(gui_2.CommandList, { children: [(0, jsx_runtime_1.jsx)(gui_2.CommandEmpty, { children: "No results" }), (0, jsx_runtime_1.jsxs)(gui_2.CommandGroup, { heading: "Palette", children: [(0, jsx_runtime_1.jsx)(gui_2.CommandItem, { value: "alpha", children: "alpha" }), (0, jsx_runtime_1.jsx)(gui_2.CommandItem, { value: "beta", children: "beta" }), (0, jsx_runtime_1.jsx)(gui_2.CommandItem, { value: "gamma", children: "gamma" })] })] })] }), (0, jsx_runtime_1.jsx)("span", { "data-palette-selected": "" })] }), (0, jsx_runtime_1.jsx)(Section, { name: "models", children: (0, jsx_runtime_1.jsx)(models_1.ModelSelector, { open: true, value: "zen6", onChange: NOOP, models: [
173
- { id: 'enso', owned_by: 'hanzo', label: 'Enso', premium: true },
174
- { id: 'zen6', owned_by: 'zenlm', label: 'Zen 6', context_window: 1_000_000 },
175
- ...models_1.RESEARCH,
172
+ }, children: [(0, jsx_runtime_1.jsx)(gui_2.CommandInput, {}), (0, jsx_runtime_1.jsxs)(gui_2.CommandList, { children: [(0, jsx_runtime_1.jsx)(gui_2.CommandEmpty, { children: "No results" }), (0, jsx_runtime_1.jsxs)(gui_2.CommandGroup, { heading: "Palette", children: [(0, jsx_runtime_1.jsx)(gui_2.CommandItem, { value: "alpha", children: "alpha" }), (0, jsx_runtime_1.jsx)(gui_2.CommandItem, { value: "beta", children: "beta" }), (0, jsx_runtime_1.jsx)(gui_2.CommandItem, { value: "gamma", children: "gamma" })] })] })] }), (0, jsx_runtime_1.jsx)("span", { "data-palette-selected": "" })] }), (0, jsx_runtime_1.jsx)(Section, { name: "models", children: (0, jsx_runtime_1.jsx)(models_1.ModelPicker, { open: true, value: "zen6", onChange: NOOP, limits: { classes: { premium: { state: 'limited' } } }, models: [
173
+ { id: 'enso-auto', owned_by: 'hanzo', family: 'enso', class: 'ours', name: 'Enso' },
174
+ { id: 'zen6', owned_by: 'zenlm', family: 'zen', class: 'ours', name: 'Zen 6', context_window: 1_000_000 },
175
+ { id: 'anthropic/claude-sonnet-4.5', owned_by: 'anthropic', class: 'premium', name: 'Claude Sonnet 4.5', context_window: 1_000_000 },
176
176
  ] }) }), (0, jsx_runtime_1.jsxs)(Section, { name: "overlay", children: [(0, jsx_runtime_1.jsx)(gui_2.Dialog, { open: true, children: (0, jsx_runtime_1.jsxs)(gui_2.DialogContent, { children: [(0, jsx_runtime_1.jsxs)(gui_2.DialogHeader, { children: [(0, jsx_runtime_1.jsx)(gui_2.DialogTitle, { children: "Dialog title" }), (0, jsx_runtime_1.jsx)(gui_2.DialogDescription, { children: "Dialog description" })] }), (0, jsx_runtime_1.jsx)(gui_2.DialogFooter, { children: (0, jsx_runtime_1.jsx)(gui_2.Button, { size: "sm", children: "OK" }) })] }) }), (0, jsx_runtime_1.jsxs)(gui_2.DropdownMenu, { open: true, children: [(0, jsx_runtime_1.jsx)(gui_2.DropdownMenuTrigger, { children: "Menu" }), (0, jsx_runtime_1.jsxs)(gui_2.DropdownMenuContent, { children: [(0, jsx_runtime_1.jsx)(gui_2.DropdownMenuLabel, { children: "Label" }), (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuSeparator, {}), (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { children: "Item" })] })] }), (0, jsx_runtime_1.jsxs)(gui_2.Popover, { open: true, children: [(0, jsx_runtime_1.jsx)(gui_2.PopoverTrigger, { children: "Popover" }), (0, jsx_runtime_1.jsx)(gui_2.PopoverContent, { children: "Popover content" })] }), (0, jsx_runtime_1.jsxs)(gui_2.Select, { open: true, children: [(0, jsx_runtime_1.jsx)(gui_2.SelectTrigger, { children: (0, jsx_runtime_1.jsx)(gui_2.SelectValue, { placeholder: "Select" }) }), (0, jsx_runtime_1.jsx)(gui_2.SelectContent, { children: (0, jsx_runtime_1.jsx)(gui_2.SelectItem, { value: "x", index: 0, children: "Option" }) })] }), (0, jsx_runtime_1.jsx)(gui_2.TooltipProvider, { delay: 0, children: (0, jsx_runtime_1.jsxs)(gui_2.Tooltip, { open: true, children: [(0, jsx_runtime_1.jsx)(gui_2.TooltipTrigger, { children: "Tooltip" }), (0, jsx_runtime_1.jsx)(gui_2.TooltipContent, { children: "Tooltip content" })] }) }), (0, jsx_runtime_1.jsx)(gui_2.AlertDialog, { open: true, children: (0, jsx_runtime_1.jsxs)(gui_2.AlertDialogContent, { children: [(0, jsx_runtime_1.jsxs)(gui_2.AlertDialogHeader, { children: [(0, jsx_runtime_1.jsx)(gui_2.AlertDialogTitle, { children: "Alert title" }), (0, jsx_runtime_1.jsx)(gui_2.AlertDialogDescription, { children: "Alert description" })] }), (0, jsx_runtime_1.jsxs)(gui_2.AlertDialogFooter, { children: [(0, jsx_runtime_1.jsx)(gui_2.AlertDialogCancel, { children: "Cancel" }), (0, jsx_runtime_1.jsx)(gui_2.AlertDialogAction, { variant: "destructive", children: "Delete" })] })] }) }), (0, jsx_runtime_1.jsxs)(gui_2.HoverCard, { open: true, children: [(0, jsx_runtime_1.jsx)(gui_2.HoverCardTrigger, { children: "Hover card" }), (0, jsx_runtime_1.jsx)(gui_2.HoverCardContent, { children: "Hover card content" })] }), (0, jsx_runtime_1.jsxs)(gui_2.ContextMenu, { children: [(0, jsx_runtime_1.jsx)(gui_2.ContextMenuTrigger, { children: "Context menu" }), (0, jsx_runtime_1.jsxs)(gui_2.ContextMenuContent, { children: [(0, jsx_runtime_1.jsx)(gui_2.ContextMenuLabel, { children: "Label" }), (0, jsx_runtime_1.jsx)(gui_2.ContextMenuSeparator, {}), (0, jsx_runtime_1.jsx)(gui_2.ContextMenuItem, { children: "Item" })] })] }), (0, jsx_runtime_1.jsx)(gui_2.Toaster, {})] }), (0, jsx_runtime_1.jsxs)(Section, { name: "layout", children: [(0, jsx_runtime_1.jsx)(grid_1.Grid, { columns: { min: 240 }, gap: "$3", style: { width: '100%' }, "data-grid": "auto", children: [0, 1, 2, 3, 4, 5, 6].map((i) => ((0, jsx_runtime_1.jsxs)(gui_2.Card, { children: [(0, jsx_runtime_1.jsx)(gui_2.CardMedia, { ratio: 16 / 10, children: (0, jsx_runtime_1.jsx)("img", { src: SWATCH, alt: "" }) }), (0, jsx_runtime_1.jsxs)(gui_2.CardHeader, { children: [(0, jsx_runtime_1.jsxs)(gui_2.CardTitle, { children: ["Card ", i] }), (0, jsx_runtime_1.jsx)(gui_2.CardDescription, { children: "Sized by its content, never by a pinned height." })] })] }, i))) }), (0, jsx_runtime_1.jsx)(grid_1.Grid, { columns: { min: 160, max: 4 }, gap: "$3", style: { width: '100%' }, "data-grid": "capped", children: [0, 1, 2, 3, 4, 5].map((i) => ((0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsxs)(gui_2.CardContent, { children: ["cap ", i] }) }, i))) }), (0, jsx_runtime_1.jsxs)(grid_1.Grid, { columns: { min: 900 }, gap: "$3", style: { width: '100%' }, "data-grid": "wide", children: [(0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "wide" }) }), (0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "wide" }) })] }), (0, jsx_runtime_1.jsxs)(grid_1.Grid, { columns: ['2fr', '1fr'], gap: "$3", style: { width: '100%' }, "data-grid": "list", children: [(0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "2fr" }) }), (0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "1fr" }) })] }), (0, jsx_runtime_1.jsxs)(grid_1.Grid, { columns: "repeat(3, 1fr)", gap: "$3", style: { width: '100%' }, "data-grid": "written", children: [(0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "a" }) }), (0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "b" }) }), (0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "c" }) })] }), (0, jsx_runtime_1.jsx)("div", { style: { width: '100%', overflow: 'hidden' }, children: (0, jsx_runtime_1.jsxs)(grid_1.Grid, { columns: 3, gap: "$3", style: { width: '100%' }, "data-grid": "fixed", children: [(0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "short" }) }), (0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: (0, jsx_runtime_1.jsx)("span", { style: { whiteSpace: 'nowrap' }, children: "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM" }) }) }), (0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "short" }) })] }) }), (0, jsx_runtime_1.jsxs)(grid_1.Grid, { columns: 3, rows: 2, gap: "$3", style: { width: '100%' }, "data-grid": "cells", children: [(0, jsx_runtime_1.jsx)(grid_1.Cell, { col: 2, "data-cell": "span2", children: (0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "spans two" }) }) }), (0, jsx_runtime_1.jsx)(grid_1.Cell, { row: 2, "data-cell": "rows2", children: (0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "spans two rows" }) }) }), (0, jsx_runtime_1.jsx)(grid_1.Cell, { "data-cell": "plain", children: (0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "one" }) }) }), (0, jsx_runtime_1.jsx)(grid_1.Cell, { row: "2 / 4", "data-cell": "rowplaced", children: (0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "placed down" }) }) }), (0, jsx_runtime_1.jsx)(grid_1.Cell, { col: "1 / -1", "data-cell": "full", children: (0, jsx_runtime_1.jsx)(gui_2.Card, { children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "the whole row" }) }) })] }), (0, jsx_runtime_1.jsxs)("div", { "data-grid": "growth", style: { display: 'flex', alignItems: 'flex-start', gap: 12, width: '100%' }, children: [(0, jsx_runtime_1.jsx)(gui_2.Card, { "data-card": "lean", children: (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "one line" }) }), (0, jsx_runtime_1.jsxs)(gui_2.Card, { "data-card": "fat", children: [(0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "one line" }), (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "two line" }), (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "three line" }), (0, jsx_runtime_1.jsx)(gui_2.CardContent, { children: "four line" })] })] }), (0, jsx_runtime_1.jsx)(gui_2.Card, { interactive: true, "data-card": "interactive", children: (0, jsx_runtime_1.jsx)(gui_2.CardHeader, { children: (0, jsx_runtime_1.jsx)(gui_2.CardTitle, { children: "Interactive card" }) }) }), (0, jsx_runtime_1.jsx)(gui_2.Band, { measure: 600, "data-section": "demo", children: (0, jsx_runtime_1.jsx)(gui_2.CardTitle, { children: "Section" }) }), (0, jsx_runtime_1.jsx)(gui_2.CardTitle, { fontFamily: "$mono", "data-type": "mono", children: "1234567890" }), (0, jsx_runtime_1.jsx)(gui_2.Button, { "data-button": "block-child", children: (0, jsx_runtime_1.jsx)("span", { "data-block-child": true, style: { display: 'block', height: 119, width: 119 } }) })] }), (0, jsx_runtime_1.jsx)(Section, { name: "workbench", children: (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', height: 220, width: '100%', maxWidth: 880, overflowX: 'auto' }, children: (0, jsx_runtime_1.jsx)(Workbench_1.Workbench, { left: { tabs: [{ id: 'files', title: 'Files', content: (0, jsx_runtime_1.jsx)(gui_2.CardTitle, { children: "left" }) }] }, right: {
177
177
  tabs: [
178
178
  { id: 'chat', title: 'Side chat', content: (0, jsx_runtime_1.jsx)(gui_2.CardTitle, { children: "chat" }) },
@@ -1 +1 @@
1
- {"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"AAgQA;;;GAGG;AACH,eAAO,MAAM,OAAO,mCA83BnB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,gCA4BpB;eAEc,OAAO"}
1
+ {"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"AAgQA;;;GAGG;AACH,eAAO,MAAM,OAAO,mCA+3BnB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,gCA4BpB;eAEc,OAAO"}