@signal9/era-ui 4.7.2 → 4.9.0
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.
- package/dist/ai/swarm/index.d.ts +2 -1
- package/dist/ai/swarm/index.js +2 -1
- package/dist/ai/swarm/swarm-actions.svelte +86 -0
- package/dist/ai/swarm/swarm-actions.svelte.d.ts +31 -0
- package/dist/ai/swarm/swarm-agent.svelte +9 -43
- package/dist/ai/swarm/swarm-artifact.svelte +2 -6
- package/dist/ai/swarm/swarm-artifacts.svelte +1 -10
- package/dist/ai/swarm/swarm-artifacts.svelte.d.ts +0 -2
- package/dist/ai/swarm/swarm-barriers.svelte +39 -0
- package/dist/ai/swarm/swarm-barriers.svelte.d.ts +13 -0
- package/dist/ai/swarm/swarm-counts.svelte +1 -4
- package/dist/ai/swarm/swarm-counts.svelte.d.ts +0 -2
- package/dist/ai/swarm/swarm-footer.svelte +20 -13
- package/dist/ai/swarm/swarm-header.svelte +3 -5
- package/dist/ai/swarm/swarm-node.svelte +8 -64
- package/dist/ai/swarm/swarm-role.svelte +2 -9
- package/dist/ai/swarm/swarm-sandbox.svelte +45 -0
- package/dist/ai/swarm/swarm-sandbox.svelte.d.ts +10 -0
- package/dist/ai/swarm/swarm-tree.svelte +22 -8
- package/dist/ai/swarm/swarm.d.ts +8 -0
- package/dist/ai/swarm/swarm.js +11 -2
- package/dist/ai/swarm/swarm.svelte.d.ts +0 -1
- package/dist/ai/swarm/swarm.svelte.js +10 -12
- package/dist/apps/llm-shell/llm-shell.svelte +2 -36
- package/dist/apps/llm-shell/llm-swarm.svelte +64 -0
- package/dist/apps/llm-shell/llm-swarm.svelte.d.ts +23 -0
- package/dist/apps/llm-shell/types.d.ts +2 -0
- package/dist/apps/notes/editor/bubble-toolbar.svelte +2 -1
- package/dist/apps/notes/notes.svelte +13 -10
- package/dist/dev/audit/audits/clipped-glyphs.js +33 -11
- package/dist/docs/llms-txt.js +1 -1
- package/dist/era-ui.css +1 -1
- package/dist/generated-docs/bar.md +3 -0
- package/dist/generated-docs/input.md +3 -1
- package/dist/generated-docs/llms-full.txt +15 -6
- package/dist/generated-docs/llms.txt +1 -1
- package/dist/generated-docs/manifest.json +5 -5
- package/dist/generated-docs/utilities.json +2 -2
- package/dist/generated-docs/utilities.md +8 -4
- package/dist/styles/density.css +42 -9
- package/dist/styles/index.css +8 -4
- package/dist/ui/bar/bar.svelte +37 -3
- package/dist/ui/bar/bar.svelte.d.ts +61 -1
- package/dist/ui/input/input.svelte +24 -4
- package/dist/ui/input/input.svelte.d.ts +6 -1
- package/dist/ui/input/variants.d.ts +99 -30
- package/dist/ui/input/variants.js +45 -19
- package/package.json +1 -1
|
@@ -24,7 +24,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
|
|
|
24
24
|
* edge to edge so the two have no gap between them.
|
|
25
25
|
*/
|
|
26
26
|
bare: {
|
|
27
|
-
false: "
|
|
27
|
+
false: "bg-(--era-field-bg) shadow-(--era-shadow-well) hover:bg-(--era-field-highlight) focus-within:bg-(--era-field-highlight) focus:bg-(--era-field-highlight)";
|
|
28
28
|
true: "bg-transparent shadow-none";
|
|
29
29
|
};
|
|
30
30
|
/**
|
|
@@ -42,21 +42,44 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
|
|
|
42
42
|
true: "bg-transparent shadow-none hover:bg-(--era-field-bg) hover:shadow-(--era-shadow-well) focus-within:shadow-(--era-shadow-well) focus:shadow-(--era-shadow-well)";
|
|
43
43
|
false: "";
|
|
44
44
|
};
|
|
45
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* The field's TIER — height, radius and side padding travel together,
|
|
47
|
+
* because they are one decision. Split them and a field ends up md-tall
|
|
48
|
+
* with xxs corners, which is how the ladder stops being a ladder.
|
|
49
|
+
*
|
|
50
|
+
* - `md` (default) — THE field, and the pairing an md bar's md content
|
|
51
|
+
* expects. Its --era-field-px is glyph-advance derived: the padding a
|
|
52
|
+
* STRING of text wants, not a single centred glyph.
|
|
53
|
+
* - `xxs` — the pill-tier field, at badge height (18/20/22/26). This is the
|
|
54
|
+
* SMALLEST tier that can hold body text at all: its inset is
|
|
55
|
+
* (h-xxs − text)/2, so 2px remain to centre 14px text in, where the tier
|
|
56
|
+
* below (h-xs) IS the text size and has none left. For compact chrome —
|
|
57
|
+
* a filter that sits level with an xxs icon button, a title bar that
|
|
58
|
+
* shouldn't outweigh the document under it. Side padding is
|
|
59
|
+
* --era-pill-xxs, exactly what Badge and Chip use, so a field and a pill
|
|
60
|
+
* on this tier read as one family.
|
|
61
|
+
*/
|
|
62
|
+
size: {
|
|
63
|
+
md: "h-(--era-h-md) rounded-(--era-rd-md) px-(--era-field-px)";
|
|
64
|
+
xxs: "h-(--era-h-xxs) rounded-(--era-rd-xxs) px-(--era-pill-xxs)";
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Height OVERRIDES, for the fields that are not their tier's height. No
|
|
68
|
+
* default: the tier sets the height, and these take it back.
|
|
69
|
+
*/
|
|
46
70
|
height: {
|
|
47
|
-
md: "h-(--era-h-md)";
|
|
48
71
|
full: "h-full";
|
|
49
|
-
auto: "min-h-(--era-h-md)";
|
|
72
|
+
auto: "h-auto min-h-(--era-h-md)";
|
|
50
73
|
};
|
|
51
74
|
/**
|
|
52
|
-
* Side
|
|
53
|
-
* (the date picker's calendar trigger): the leading edge
|
|
54
|
-
* text inset so the text still lines up with every other
|
|
55
|
-
* trailing edge becomes the concentric inset for that
|
|
56
|
-
* its gap to the field edge equals its gap above and
|
|
75
|
+
* Side-padding OVERRIDES, same rule. `trailing` is for a field that holds a
|
|
76
|
+
* control at its end (the date picker's calendar trigger): the leading edge
|
|
77
|
+
* keeps the shared text inset so the text still lines up with every other
|
|
78
|
+
* field, and the trailing edge becomes the concentric inset for that
|
|
79
|
+
* sm-tier control, so its gap to the field edge equals its gap above and
|
|
80
|
+
* below.
|
|
57
81
|
*/
|
|
58
82
|
pad: {
|
|
59
|
-
even: "px-(--era-field-px)";
|
|
60
83
|
trailing: "ps-(--era-field-px) pe-(--era-sm-inset-md)";
|
|
61
84
|
none: "px-0";
|
|
62
85
|
};
|
|
@@ -69,7 +92,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
|
|
|
69
92
|
* edge to edge so the two have no gap between them.
|
|
70
93
|
*/
|
|
71
94
|
bare: {
|
|
72
|
-
false: "
|
|
95
|
+
false: "bg-(--era-field-bg) shadow-(--era-shadow-well) hover:bg-(--era-field-highlight) focus-within:bg-(--era-field-highlight) focus:bg-(--era-field-highlight)";
|
|
73
96
|
true: "bg-transparent shadow-none";
|
|
74
97
|
};
|
|
75
98
|
/**
|
|
@@ -87,21 +110,44 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
|
|
|
87
110
|
true: "bg-transparent shadow-none hover:bg-(--era-field-bg) hover:shadow-(--era-shadow-well) focus-within:shadow-(--era-shadow-well) focus:shadow-(--era-shadow-well)";
|
|
88
111
|
false: "";
|
|
89
112
|
};
|
|
90
|
-
/**
|
|
113
|
+
/**
|
|
114
|
+
* The field's TIER — height, radius and side padding travel together,
|
|
115
|
+
* because they are one decision. Split them and a field ends up md-tall
|
|
116
|
+
* with xxs corners, which is how the ladder stops being a ladder.
|
|
117
|
+
*
|
|
118
|
+
* - `md` (default) — THE field, and the pairing an md bar's md content
|
|
119
|
+
* expects. Its --era-field-px is glyph-advance derived: the padding a
|
|
120
|
+
* STRING of text wants, not a single centred glyph.
|
|
121
|
+
* - `xxs` — the pill-tier field, at badge height (18/20/22/26). This is the
|
|
122
|
+
* SMALLEST tier that can hold body text at all: its inset is
|
|
123
|
+
* (h-xxs − text)/2, so 2px remain to centre 14px text in, where the tier
|
|
124
|
+
* below (h-xs) IS the text size and has none left. For compact chrome —
|
|
125
|
+
* a filter that sits level with an xxs icon button, a title bar that
|
|
126
|
+
* shouldn't outweigh the document under it. Side padding is
|
|
127
|
+
* --era-pill-xxs, exactly what Badge and Chip use, so a field and a pill
|
|
128
|
+
* on this tier read as one family.
|
|
129
|
+
*/
|
|
130
|
+
size: {
|
|
131
|
+
md: "h-(--era-h-md) rounded-(--era-rd-md) px-(--era-field-px)";
|
|
132
|
+
xxs: "h-(--era-h-xxs) rounded-(--era-rd-xxs) px-(--era-pill-xxs)";
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Height OVERRIDES, for the fields that are not their tier's height. No
|
|
136
|
+
* default: the tier sets the height, and these take it back.
|
|
137
|
+
*/
|
|
91
138
|
height: {
|
|
92
|
-
md: "h-(--era-h-md)";
|
|
93
139
|
full: "h-full";
|
|
94
|
-
auto: "min-h-(--era-h-md)";
|
|
140
|
+
auto: "h-auto min-h-(--era-h-md)";
|
|
95
141
|
};
|
|
96
142
|
/**
|
|
97
|
-
* Side
|
|
98
|
-
* (the date picker's calendar trigger): the leading edge
|
|
99
|
-
* text inset so the text still lines up with every other
|
|
100
|
-
* trailing edge becomes the concentric inset for that
|
|
101
|
-
* its gap to the field edge equals its gap above and
|
|
143
|
+
* Side-padding OVERRIDES, same rule. `trailing` is for a field that holds a
|
|
144
|
+
* control at its end (the date picker's calendar trigger): the leading edge
|
|
145
|
+
* keeps the shared text inset so the text still lines up with every other
|
|
146
|
+
* field, and the trailing edge becomes the concentric inset for that
|
|
147
|
+
* sm-tier control, so its gap to the field edge equals its gap above and
|
|
148
|
+
* below.
|
|
102
149
|
*/
|
|
103
150
|
pad: {
|
|
104
|
-
even: "px-(--era-field-px)";
|
|
105
151
|
trailing: "ps-(--era-field-px) pe-(--era-sm-inset-md)";
|
|
106
152
|
none: "px-0";
|
|
107
153
|
};
|
|
@@ -114,7 +160,7 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
|
|
|
114
160
|
* edge to edge so the two have no gap between them.
|
|
115
161
|
*/
|
|
116
162
|
bare: {
|
|
117
|
-
false: "
|
|
163
|
+
false: "bg-(--era-field-bg) shadow-(--era-shadow-well) hover:bg-(--era-field-highlight) focus-within:bg-(--era-field-highlight) focus:bg-(--era-field-highlight)";
|
|
118
164
|
true: "bg-transparent shadow-none";
|
|
119
165
|
};
|
|
120
166
|
/**
|
|
@@ -132,21 +178,44 @@ export declare const inputVariants: import("tailwind-variants").TVReturnType<{
|
|
|
132
178
|
true: "bg-transparent shadow-none hover:bg-(--era-field-bg) hover:shadow-(--era-shadow-well) focus-within:shadow-(--era-shadow-well) focus:shadow-(--era-shadow-well)";
|
|
133
179
|
false: "";
|
|
134
180
|
};
|
|
135
|
-
/**
|
|
181
|
+
/**
|
|
182
|
+
* The field's TIER — height, radius and side padding travel together,
|
|
183
|
+
* because they are one decision. Split them and a field ends up md-tall
|
|
184
|
+
* with xxs corners, which is how the ladder stops being a ladder.
|
|
185
|
+
*
|
|
186
|
+
* - `md` (default) — THE field, and the pairing an md bar's md content
|
|
187
|
+
* expects. Its --era-field-px is glyph-advance derived: the padding a
|
|
188
|
+
* STRING of text wants, not a single centred glyph.
|
|
189
|
+
* - `xxs` — the pill-tier field, at badge height (18/20/22/26). This is the
|
|
190
|
+
* SMALLEST tier that can hold body text at all: its inset is
|
|
191
|
+
* (h-xxs − text)/2, so 2px remain to centre 14px text in, where the tier
|
|
192
|
+
* below (h-xs) IS the text size and has none left. For compact chrome —
|
|
193
|
+
* a filter that sits level with an xxs icon button, a title bar that
|
|
194
|
+
* shouldn't outweigh the document under it. Side padding is
|
|
195
|
+
* --era-pill-xxs, exactly what Badge and Chip use, so a field and a pill
|
|
196
|
+
* on this tier read as one family.
|
|
197
|
+
*/
|
|
198
|
+
size: {
|
|
199
|
+
md: "h-(--era-h-md) rounded-(--era-rd-md) px-(--era-field-px)";
|
|
200
|
+
xxs: "h-(--era-h-xxs) rounded-(--era-rd-xxs) px-(--era-pill-xxs)";
|
|
201
|
+
};
|
|
202
|
+
/**
|
|
203
|
+
* Height OVERRIDES, for the fields that are not their tier's height. No
|
|
204
|
+
* default: the tier sets the height, and these take it back.
|
|
205
|
+
*/
|
|
136
206
|
height: {
|
|
137
|
-
md: "h-(--era-h-md)";
|
|
138
207
|
full: "h-full";
|
|
139
|
-
auto: "min-h-(--era-h-md)";
|
|
208
|
+
auto: "h-auto min-h-(--era-h-md)";
|
|
140
209
|
};
|
|
141
210
|
/**
|
|
142
|
-
* Side
|
|
143
|
-
* (the date picker's calendar trigger): the leading edge
|
|
144
|
-
* text inset so the text still lines up with every other
|
|
145
|
-
* trailing edge becomes the concentric inset for that
|
|
146
|
-
* its gap to the field edge equals its gap above and
|
|
211
|
+
* Side-padding OVERRIDES, same rule. `trailing` is for a field that holds a
|
|
212
|
+
* control at its end (the date picker's calendar trigger): the leading edge
|
|
213
|
+
* keeps the shared text inset so the text still lines up with every other
|
|
214
|
+
* field, and the trailing edge becomes the concentric inset for that
|
|
215
|
+
* sm-tier control, so its gap to the field edge equals its gap above and
|
|
216
|
+
* below.
|
|
147
217
|
*/
|
|
148
218
|
pad: {
|
|
149
|
-
even: "px-(--era-field-px)";
|
|
150
219
|
trailing: "ps-(--era-field-px) pe-(--era-sm-inset-md)";
|
|
151
220
|
none: "px-0";
|
|
152
221
|
};
|
|
@@ -27,7 +27,7 @@ export const inputVariants = tv({
|
|
|
27
27
|
* edge to edge so the two have no gap between them.
|
|
28
28
|
*/
|
|
29
29
|
bare: {
|
|
30
|
-
false: '
|
|
30
|
+
false: 'bg-(--era-field-bg) shadow-(--era-shadow-well) hover:bg-(--era-field-highlight) focus-within:bg-(--era-field-highlight) focus:bg-(--era-field-highlight)',
|
|
31
31
|
true: 'bg-transparent shadow-none'
|
|
32
32
|
},
|
|
33
33
|
/**
|
|
@@ -45,34 +45,60 @@ export const inputVariants = tv({
|
|
|
45
45
|
true: 'bg-transparent shadow-none hover:bg-(--era-field-bg) hover:shadow-(--era-shadow-well) focus-within:shadow-(--era-shadow-well) focus:shadow-(--era-shadow-well)',
|
|
46
46
|
false: ''
|
|
47
47
|
},
|
|
48
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* The field's TIER — height, radius and side padding travel together,
|
|
50
|
+
* because they are one decision. Split them and a field ends up md-tall
|
|
51
|
+
* with xxs corners, which is how the ladder stops being a ladder.
|
|
52
|
+
*
|
|
53
|
+
* - `md` (default) — THE field, and the pairing an md bar's md content
|
|
54
|
+
* expects. Its --era-field-px is glyph-advance derived: the padding a
|
|
55
|
+
* STRING of text wants, not a single centred glyph.
|
|
56
|
+
* - `xxs` — the pill-tier field, at badge height (18/20/22/26). This is the
|
|
57
|
+
* SMALLEST tier that can hold body text at all: its inset is
|
|
58
|
+
* (h-xxs − text)/2, so 2px remain to centre 14px text in, where the tier
|
|
59
|
+
* below (h-xs) IS the text size and has none left. For compact chrome —
|
|
60
|
+
* a filter that sits level with an xxs icon button, a title bar that
|
|
61
|
+
* shouldn't outweigh the document under it. Side padding is
|
|
62
|
+
* --era-pill-xxs, exactly what Badge and Chip use, so a field and a pill
|
|
63
|
+
* on this tier read as one family.
|
|
64
|
+
*/
|
|
65
|
+
size: {
|
|
66
|
+
md: 'h-(--era-h-md) rounded-(--era-rd-md) px-(--era-field-px)',
|
|
67
|
+
xxs: 'h-(--era-h-xxs) rounded-(--era-rd-xxs) px-(--era-pill-xxs)'
|
|
68
|
+
},
|
|
69
|
+
/**
|
|
70
|
+
* Height OVERRIDES, for the fields that are not their tier's height. No
|
|
71
|
+
* default: the tier sets the height, and these take it back.
|
|
72
|
+
*/
|
|
49
73
|
height: {
|
|
50
|
-
|
|
51
|
-
//
|
|
52
|
-
//
|
|
53
|
-
//
|
|
54
|
-
// which is the even-gap law failing by a hair rather than obviously.
|
|
74
|
+
// h-full, NOT a tier height: a bare input's container IS the field, so it
|
|
75
|
+
// takes that container's height. Keeping a tier height here made a bare
|
|
76
|
+
// input inside an h-md Bar overflow it by the bar's border — a −0.5px
|
|
77
|
+
// gap, which is the even-gap law failing by a hair rather than obviously.
|
|
55
78
|
full: 'h-full',
|
|
56
|
-
|
|
79
|
+
// h-auto is load-bearing — it is what outranks the tier's own height so
|
|
80
|
+
// the field can grow with its content (Textarea).
|
|
81
|
+
auto: 'h-auto min-h-(--era-h-md)'
|
|
57
82
|
},
|
|
58
83
|
/**
|
|
59
|
-
* Side
|
|
60
|
-
* (the date picker's calendar trigger): the leading edge
|
|
61
|
-
* text inset so the text still lines up with every other
|
|
62
|
-
* trailing edge becomes the concentric inset for that
|
|
63
|
-
* its gap to the field edge equals its gap above and
|
|
84
|
+
* Side-padding OVERRIDES, same rule. `trailing` is for a field that holds a
|
|
85
|
+
* control at its end (the date picker's calendar trigger): the leading edge
|
|
86
|
+
* keeps the shared text inset so the text still lines up with every other
|
|
87
|
+
* field, and the trailing edge becomes the concentric inset for that
|
|
88
|
+
* sm-tier control, so its gap to the field edge equals its gap above and
|
|
89
|
+
* below.
|
|
64
90
|
*/
|
|
65
91
|
pad: {
|
|
66
|
-
even: 'px-(--era-field-px)',
|
|
67
92
|
trailing: 'ps-(--era-field-px) pe-(--era-sm-inset-md)',
|
|
68
93
|
none: 'px-0'
|
|
69
94
|
}
|
|
70
95
|
},
|
|
71
96
|
compoundVariants: [
|
|
72
|
-
// Chrome and
|
|
73
|
-
// pad. Spelling this as a compound rather
|
|
74
|
-
// what stops `bare` from becoming a
|
|
75
|
-
|
|
97
|
+
// Chrome, padding and corners travel together: a field with no chrome has
|
|
98
|
+
// no box to pad and no corners to round. Spelling this as a compound rather
|
|
99
|
+
// than leaving it to the caller is what stops `bare` from becoming a
|
|
100
|
+
// second, differently-padded field.
|
|
101
|
+
{ bare: true, class: 'h-full rounded-none px-0' }
|
|
76
102
|
],
|
|
77
|
-
defaultVariants: { bare: false, reveal: false,
|
|
103
|
+
defaultVariants: { bare: false, reveal: false, size: 'md' }
|
|
78
104
|
});
|