@lostgradient/cinder 0.11.0 → 0.12.1
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/CHANGELOG.md +16 -0
- package/components.json +3 -2
- package/dist/components/accordion/index.js +14 -11
- package/dist/components/accordion-item/accordion-item.css +20 -7
- package/dist/components/accordion-item/accordion-item.schema.js +5 -1
- package/dist/components/accordion-item/accordion-item.types.d.ts +4 -0
- package/dist/components/accordion-item/accordion-item.variables.js +13 -2
- package/dist/components/accordion-item/index.js +14 -11
- package/dist/components/action-row/action-row.css +20 -9
- package/dist/components/action-row/action-row.schema.js +5 -1
- package/dist/components/action-row/action-row.types.d.ts +43 -0
- package/dist/components/action-row/action-row.variables.js +12 -2
- package/dist/components/chat/chat.svelte.d.ts +1 -0
- package/dist/components/code-block/code-block.css +15 -9
- package/dist/components/code-block/code-block.variables.js +8 -2
- package/dist/components/confirm-dialog/confirm-dialog.css +2 -0
- package/dist/components/confirm-dialog/confirm-dialog.schema.js +10 -1
- package/dist/components/confirm-dialog/confirm-dialog.types.d.ts +7 -0
- package/dist/components/confirm-dialog/index.js +478 -106
- package/dist/components/faceted-filter-bar/faceted-filter-bar.schema.js +5 -1
- package/dist/components/faceted-filter-bar/faceted-filter-bar.types.d.ts +2 -0
- package/dist/components/faceted-filter-bar/index.js +40 -31
- package/dist/components/navigation-bar/index.js +11 -17
- package/dist/components/run-step-timeline/index.js +65 -6
- package/dist/components/run-step-timeline/run-step-timeline.utilities.d.ts +9 -1
- package/dist/components/side-navigation/side-navigation.css +2 -1
- package/dist/components/side-navigation/side-navigation.schema.js +9 -6
- package/dist/components/side-navigation/side-navigation.types.d.ts +11 -0
- package/dist/components/side-navigation/side-navigation.variables.js +2 -2
- package/dist/components/stat/stat.css +16 -8
- package/dist/components/stat/stat.schema.js +5 -1
- package/dist/components/stat/stat.types.d.ts +19 -0
- package/dist/components/stat/stat.variables.js +11 -2
- package/dist/components/stat-group/stat-group.css +7 -4
- package/dist/components/stat-group/stat-group.schema.js +5 -1
- package/dist/components/stat-group/stat-group.types.d.ts +27 -0
- package/dist/components/stat-group/stat-group.variables.js +6 -2
- package/dist/index.js +365 -256
- package/dist/server/components/accordion/index.js +2 -2
- package/dist/server/components/accordion-item/index.js +2 -2
- package/dist/server/components/color-field/index.js +2 -2
- package/dist/server/components/confirm-dialog/index.js +7 -2
- package/dist/server/components/faceted-filter-bar/index.js +1 -1
- package/dist/server/components/navigation-bar/index.js +1 -1
- package/dist/server/components/run-step-timeline/index.js +1 -1
- package/dist/server/index.js +10 -10
- package/dist/server/{index.server-cf6pxeyg.js → index.server-0rzd71e0.js} +1 -1
- package/dist/server/{index.server-5tf22d6e.js → index.server-4wx0qven.js} +3 -3
- package/dist/server/{index.server-894t97kv.js → index.server-7yvpb6z7.js} +4 -4
- package/dist/server/{index.server-btgb3d56.js → index.server-d5a5ccz7.js} +18 -12
- package/dist/server/{index.server-z38bxms8.js → index.server-g5jgq3jp.js} +65 -6
- package/dist/server/{index.server-y83kqayt.js → index.server-h3nzp8g8.js} +1 -1
- package/dist/server/index.server-jwvxxjvc.js +50 -0
- package/dist/server/{index.server-39ne5cd1.js → index.server-pxq277t5.js} +32 -1
- package/package.json +22 -95
- package/src/components/accordion/accordion.examples.json +6 -0
- package/src/components/accordion-item/accordion-item.css +20 -7
- package/src/components/accordion-item/accordion-item.schema.json +4 -0
- package/src/components/accordion-item/accordion-item.schema.ts +4 -0
- package/src/components/accordion-item/accordion-item.svelte +9 -7
- package/src/components/accordion-item/accordion-item.types.ts +4 -0
- package/src/components/accordion-item/accordion-item.variables.json +12 -1
- package/src/components/accordion-item/accordion-item.variables.ts +12 -1
- package/src/components/action-row/action-row.css +20 -9
- package/src/components/action-row/action-row.examples.json +6 -0
- package/src/components/action-row/action-row.schema.json +4 -0
- package/src/components/action-row/action-row.schema.ts +4 -0
- package/src/components/action-row/action-row.types.ts +44 -0
- package/src/components/action-row/action-row.variables.json +11 -1
- package/src/components/action-row/action-row.variables.ts +11 -1
- package/src/components/chat/chat.examples.json +6 -0
- package/src/components/code-block/code-block.css +15 -9
- package/src/components/code-block/code-block.variables.json +7 -1
- package/src/components/code-block/code-block.variables.ts +7 -1
- package/src/components/confirm-dialog/confirm-dialog.css +2 -0
- package/src/components/confirm-dialog/confirm-dialog.schema.json +8 -0
- package/src/components/confirm-dialog/confirm-dialog.schema.ts +10 -0
- package/src/components/confirm-dialog/confirm-dialog.svelte +31 -3
- package/src/components/confirm-dialog/confirm-dialog.types.ts +7 -0
- package/src/components/faceted-filter-bar/faceted-filter-bar.schema.json +4 -0
- package/src/components/faceted-filter-bar/faceted-filter-bar.schema.ts +4 -0
- package/src/components/faceted-filter-bar/faceted-filter-bar.svelte +13 -11
- package/src/components/faceted-filter-bar/faceted-filter-bar.types.ts +2 -0
- package/src/components/navigation-bar/navigation-bar.svelte +2 -2
- package/src/components/run-step-timeline/run-step-timeline.svelte +4 -4
- package/src/components/run-step-timeline/run-step-timeline.utilities.ts +68 -0
- package/src/components/side-navigation/side-navigation.css +2 -1
- package/src/components/side-navigation/side-navigation.examples.json +6 -0
- package/src/components/side-navigation/side-navigation.schema.json +8 -5
- package/src/components/side-navigation/side-navigation.schema.ts +8 -5
- package/src/components/side-navigation/side-navigation.types.ts +12 -0
- package/src/components/side-navigation/side-navigation.variables.json +1 -1
- package/src/components/side-navigation/side-navigation.variables.ts +1 -1
- package/src/components/stat/stat.css +16 -8
- package/src/components/stat/stat.schema.json +4 -0
- package/src/components/stat/stat.schema.ts +4 -0
- package/src/components/stat/stat.types.ts +20 -0
- package/src/components/stat/stat.variables.json +10 -1
- package/src/components/stat/stat.variables.ts +10 -1
- package/src/components/stat-group/stat-group.css +7 -4
- package/src/components/stat-group/stat-group.examples.json +6 -0
- package/src/components/stat-group/stat-group.schema.json +4 -0
- package/src/components/stat-group/stat-group.schema.ts +4 -0
- package/src/components/stat-group/stat-group.types.ts +28 -0
- package/src/components/stat-group/stat-group.variables.json +5 -1
- package/src/components/stat-group/stat-group.variables.ts +5 -1
- package/dist/server/index.server-hfx487zj.js +0 -42
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @lostgradient/cinder
|
|
2
2
|
|
|
3
|
+
## 0.12.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#737](https://github.com/stevekinney/cinder/pull/737) [`3600db8`](https://github.com/stevekinney/cinder/commit/3600db878c53ae5d7048487207b08a60d5421b22) Thanks [@stevekinney](https://github.com/stevekinney)! - Publish the post-0.12 downstream fixes for Chat full-height layout metadata and dense inspector styling hooks.
|
|
8
|
+
|
|
9
|
+
## 0.12.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [#721](https://github.com/stevekinney/cinder/pull/721) [`a6ee978`](https://github.com/stevekinney/cinder/commit/a6ee9784198ff450c1a9493e3c52a2f2c0965b62) Thanks [@stevekinney](https://github.com/stevekinney)! - Add public source-excerpt styling variables to CodeBlock, typed confirmation to ConfirmDialog, and a facet-only mode to FacetedFilterBar.
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [#725](https://github.com/stevekinney/cinder/pull/725) [`a2a3254`](https://github.com/stevekinney/cinder/commit/a2a3254df455b37f74abf4f73e8e8030017af309) Thanks [@stevekinney](https://github.com/stevekinney)! - Render compensation steps directly beneath the forward-step subtree they reverse.
|
|
18
|
+
|
|
3
19
|
## 0.11.0
|
|
4
20
|
|
|
5
21
|
### Minor Changes
|
package/components.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"manifestVersion": 1,
|
|
4
4
|
"package": {
|
|
5
5
|
"name": "@lostgradient/cinder",
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.12.1",
|
|
7
7
|
"framework": "svelte",
|
|
8
8
|
"frameworkVersionRange": ">=5.56.0 <6",
|
|
9
9
|
"classPrefix": "cinder-",
|
|
@@ -924,7 +924,8 @@
|
|
|
924
924
|
"tags": ["chat", "conversation", "domain-suite"],
|
|
925
925
|
"useWhen": [
|
|
926
926
|
"Shipping a full chat surface with composer, scroll-anchor, unread indicator, and attachments bundled as one heavyweight drop-in.",
|
|
927
|
-
"Building an AI assistant or support thread where conversation state is modeled as a transcript of role-tagged messages."
|
|
927
|
+
"Building an AI assistant or support thread where conversation state is modeled as a transcript of role-tagged messages.",
|
|
928
|
+
"Embedding Chat in a definite-height flex or grid region where its internal transcript should own scrolling."
|
|
928
929
|
],
|
|
929
930
|
"avoidWhen": [
|
|
930
931
|
{
|
|
@@ -83,15 +83,16 @@ function classNames(...parts) {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
// src/components/accordion-item/accordion-item.svelte
|
|
86
|
-
var root = $.from_html(`<div class="cinder-accordion-item__panel
|
|
87
|
-
var root_1 = $.from_html(`<div><h3 class="cinder-accordion-item__heading"><button type="button" class="cinder-accordion-item__trigger"><span class="cinder-accordion-item__title"> </span> <svg class="cinder-accordion-item__chevron" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" focusable="false"><path fill-rule="evenodd" d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06z" clip-rule="evenodd"></path></svg></button></h3>
|
|
86
|
+
var root = $.from_html(`<div class="cinder-accordion-item__panel-inner"><!></div>`);
|
|
87
|
+
var root_1 = $.from_html(`<div><h3 class="cinder-accordion-item__heading"><button type="button" class="cinder-accordion-item__trigger"><span class="cinder-accordion-item__title"> </span> <svg class="cinder-accordion-item__chevron" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" focusable="false"><path fill-rule="evenodd" d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06z" clip-rule="evenodd"></path></svg></button></h3> <div class="cinder-accordion-item__panel"><!></div></div>`);
|
|
88
88
|
function Accordion_item($$anchor, $$props) {
|
|
89
|
+
const instanceId = $.props_id();
|
|
89
90
|
$.push($$props, true);
|
|
90
91
|
let disabled = $.prop($$props, "disabled", 3, false);
|
|
91
92
|
const context = getAccordionContext();
|
|
92
93
|
const isExpanded = $.derived(() => context.expandedIds.includes($$props.id));
|
|
93
|
-
const headerId = $.derived(() => `${
|
|
94
|
-
const panelId = $.derived(() => `${
|
|
94
|
+
const headerId = $.derived(() => `${instanceId}-header`);
|
|
95
|
+
const panelId = $.derived(() => `${instanceId}-panel`);
|
|
95
96
|
function handleClick() {
|
|
96
97
|
if (disabled())
|
|
97
98
|
return;
|
|
@@ -106,26 +107,26 @@ function Accordion_item($$anchor, $$props) {
|
|
|
106
107
|
$.next(2);
|
|
107
108
|
$.reset(button);
|
|
108
109
|
$.reset(h3);
|
|
109
|
-
var
|
|
110
|
+
var div_1 = $.sibling(h3, 2);
|
|
111
|
+
var node = $.child(div_1);
|
|
110
112
|
{
|
|
111
113
|
var consequent = ($$anchor2) => {
|
|
112
|
-
var
|
|
113
|
-
var div_2 = $.child(div_1);
|
|
114
|
+
var div_2 = root();
|
|
114
115
|
var node_1 = $.child(div_2);
|
|
115
116
|
$.snippet(node_1, () => $$props.children);
|
|
116
117
|
$.reset(div_2);
|
|
117
|
-
$.
|
|
118
|
-
$.template_effect(() => $.set_attribute(div_1, "id", $.get(panelId)));
|
|
119
|
-
$.append($$anchor2, div_1);
|
|
118
|
+
$.append($$anchor2, div_2);
|
|
120
119
|
};
|
|
121
120
|
$.if(node, ($$render) => {
|
|
122
121
|
if ($.get(isExpanded))
|
|
123
122
|
$$render(consequent);
|
|
124
123
|
});
|
|
125
124
|
}
|
|
125
|
+
$.reset(div_1);
|
|
126
126
|
$.reset(div);
|
|
127
127
|
$.template_effect(($0) => {
|
|
128
128
|
$.set_class(div, 1, $0);
|
|
129
|
+
$.set_style(div, $$props.style);
|
|
129
130
|
$.set_attribute(div, "data-cinder-expanded", $.get(isExpanded) ? "" : undefined);
|
|
130
131
|
$.set_attribute(div, "data-cinder-disabled", disabled() ? "" : undefined);
|
|
131
132
|
$.set_attribute(button, "id", $.get(headerId));
|
|
@@ -133,6 +134,8 @@ function Accordion_item($$anchor, $$props) {
|
|
|
133
134
|
$.set_attribute(button, "aria-controls", $.get(panelId));
|
|
134
135
|
button.disabled = disabled();
|
|
135
136
|
$.set_text(text, $$props.title);
|
|
137
|
+
$.set_attribute(div_1, "id", $.get(panelId));
|
|
138
|
+
$.set_attribute(div_1, "hidden", !$.get(isExpanded));
|
|
136
139
|
}, [
|
|
137
140
|
() => $.clsx(classNames("cinder-accordion-item", $$props.class))
|
|
138
141
|
]);
|
|
@@ -223,4 +226,4 @@ export {
|
|
|
223
226
|
Accordion2 as Accordion
|
|
224
227
|
};
|
|
225
228
|
|
|
226
|
-
//# debugId=
|
|
229
|
+
//# debugId=86A20AE2C42C2B0D64756E2164756E21
|
|
@@ -5,6 +5,16 @@
|
|
|
5
5
|
* ======================================== */
|
|
6
6
|
|
|
7
7
|
.cinder-accordion-item {
|
|
8
|
+
--cinder-accordion-item-trigger-gap: var(--cinder-space-4);
|
|
9
|
+
--cinder-accordion-item-trigger-padding-block: var(--cinder-space-4);
|
|
10
|
+
--cinder-accordion-item-trigger-padding-inline: var(--cinder-space-5);
|
|
11
|
+
--cinder-accordion-item-trigger-font-size: var(--cinder-text-base);
|
|
12
|
+
--cinder-accordion-item-trigger-font-weight: var(--cinder-font-medium);
|
|
13
|
+
--cinder-accordion-item-panel-inner-padding-block-start: var(--cinder-space-4);
|
|
14
|
+
--cinder-accordion-item-panel-inner-padding-block-end: var(--cinder-space-5);
|
|
15
|
+
--cinder-accordion-item-panel-inner-padding-inline: var(--cinder-space-5);
|
|
16
|
+
--cinder-accordion-item-panel-font-size: var(--cinder-text-base);
|
|
17
|
+
--cinder-accordion-item-panel-line-height: var(--cinder-leading-normal);
|
|
8
18
|
border-block-end: 1px solid var(--cinder-border);
|
|
9
19
|
}
|
|
10
20
|
|
|
@@ -31,12 +41,13 @@
|
|
|
31
41
|
display: flex;
|
|
32
42
|
align-items: center;
|
|
33
43
|
justify-content: space-between;
|
|
34
|
-
gap: var(--cinder-space-4);
|
|
44
|
+
gap: var(--cinder-accordion-item-trigger-gap, var(--cinder-space-4));
|
|
35
45
|
width: 100%;
|
|
36
|
-
padding: var(--cinder-
|
|
46
|
+
padding: var(--cinder-accordion-item-trigger-padding-block, var(--cinder-space-4))
|
|
47
|
+
var(--cinder-accordion-item-trigger-padding-inline, var(--cinder-space-5));
|
|
37
48
|
|
|
38
|
-
font-size: var(--cinder-text-base);
|
|
39
|
-
font-weight: var(--cinder-font-medium);
|
|
49
|
+
font-size: var(--cinder-accordion-item-trigger-font-size, var(--cinder-text-base));
|
|
50
|
+
font-weight: var(--cinder-accordion-item-trigger-font-weight, var(--cinder-font-medium));
|
|
40
51
|
line-height: var(--cinder-leading-snug);
|
|
41
52
|
color: var(--cinder-text);
|
|
42
53
|
text-align: start;
|
|
@@ -146,9 +157,11 @@
|
|
|
146
157
|
}
|
|
147
158
|
|
|
148
159
|
.cinder-accordion-item__panel-inner {
|
|
149
|
-
padding: var(--cinder-
|
|
150
|
-
|
|
151
|
-
|
|
160
|
+
padding: var(--cinder-accordion-item-panel-inner-padding-block-start, var(--cinder-space-4))
|
|
161
|
+
var(--cinder-accordion-item-panel-inner-padding-inline, var(--cinder-space-5))
|
|
162
|
+
var(--cinder-accordion-item-panel-inner-padding-block-end, var(--cinder-space-5));
|
|
163
|
+
font-size: var(--cinder-accordion-item-panel-font-size, var(--cinder-text-base));
|
|
164
|
+
line-height: var(--cinder-accordion-item-panel-line-height, var(--cinder-leading-normal));
|
|
152
165
|
color: var(--cinder-text-muted);
|
|
153
166
|
}
|
|
154
167
|
|
|
@@ -72,6 +72,10 @@ var schema = {
|
|
|
72
72
|
class: {
|
|
73
73
|
type: "string",
|
|
74
74
|
description: "Additional CSS class merged with `.cinder-accordion-item`."
|
|
75
|
+
},
|
|
76
|
+
style: {
|
|
77
|
+
type: "string",
|
|
78
|
+
description: "Inline style string applied to the `.cinder-accordion-item` root."
|
|
75
79
|
}
|
|
76
80
|
},
|
|
77
81
|
additionalProperties: false,
|
|
@@ -92,4 +96,4 @@ export {
|
|
|
92
96
|
accordion_item_schema_default as default
|
|
93
97
|
};
|
|
94
98
|
|
|
95
|
-
//# debugId=
|
|
99
|
+
//# debugId=D45061C2BEE6BE8464756E2164756E21
|
|
@@ -12,6 +12,8 @@ export type AccordionItemProps = {
|
|
|
12
12
|
disabled?: boolean;
|
|
13
13
|
/** Additional CSS class merged with `.cinder-accordion-item`. */
|
|
14
14
|
class?: string;
|
|
15
|
+
/** Inline style string applied to the `.cinder-accordion-item` root. */
|
|
16
|
+
style?: string;
|
|
15
17
|
/** Panel content rendered when the item is expanded. */
|
|
16
18
|
children: Snippet;
|
|
17
19
|
};
|
|
@@ -28,4 +30,6 @@ export interface AccordionItemSchemaProps {
|
|
|
28
30
|
disabled?: boolean;
|
|
29
31
|
/** Additional CSS class merged with `.cinder-accordion-item`. */
|
|
30
32
|
class?: string;
|
|
33
|
+
/** Inline style string applied to the `.cinder-accordion-item` root. */
|
|
34
|
+
style?: string;
|
|
31
35
|
}
|
|
@@ -52,10 +52,21 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
52
52
|
});
|
|
53
53
|
|
|
54
54
|
// src/components/accordion-item/accordion-item.variables.ts
|
|
55
|
-
var variables = [
|
|
55
|
+
var variables = [
|
|
56
|
+
"--cinder-accordion-item-panel-font-size",
|
|
57
|
+
"--cinder-accordion-item-panel-inner-padding-block-end",
|
|
58
|
+
"--cinder-accordion-item-panel-inner-padding-block-start",
|
|
59
|
+
"--cinder-accordion-item-panel-inner-padding-inline",
|
|
60
|
+
"--cinder-accordion-item-panel-line-height",
|
|
61
|
+
"--cinder-accordion-item-trigger-font-size",
|
|
62
|
+
"--cinder-accordion-item-trigger-font-weight",
|
|
63
|
+
"--cinder-accordion-item-trigger-gap",
|
|
64
|
+
"--cinder-accordion-item-trigger-padding-block",
|
|
65
|
+
"--cinder-accordion-item-trigger-padding-inline"
|
|
66
|
+
];
|
|
56
67
|
var accordion_item_variables_default = variables;
|
|
57
68
|
export {
|
|
58
69
|
accordion_item_variables_default as default
|
|
59
70
|
};
|
|
60
71
|
|
|
61
|
-
//# debugId=
|
|
72
|
+
//# debugId=FE56BCDDC2ED5DB364756E2164756E21
|
|
@@ -83,15 +83,16 @@ function classNames(...parts) {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
// src/components/accordion-item/accordion-item.svelte
|
|
86
|
-
var root = $.from_html(`<div class="cinder-accordion-item__panel
|
|
87
|
-
var root_1 = $.from_html(`<div><h3 class="cinder-accordion-item__heading"><button type="button" class="cinder-accordion-item__trigger"><span class="cinder-accordion-item__title"> </span> <svg class="cinder-accordion-item__chevron" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" focusable="false"><path fill-rule="evenodd" d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06z" clip-rule="evenodd"></path></svg></button></h3>
|
|
86
|
+
var root = $.from_html(`<div class="cinder-accordion-item__panel-inner"><!></div>`);
|
|
87
|
+
var root_1 = $.from_html(`<div><h3 class="cinder-accordion-item__heading"><button type="button" class="cinder-accordion-item__trigger"><span class="cinder-accordion-item__title"> </span> <svg class="cinder-accordion-item__chevron" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" focusable="false"><path fill-rule="evenodd" d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06z" clip-rule="evenodd"></path></svg></button></h3> <div class="cinder-accordion-item__panel"><!></div></div>`);
|
|
88
88
|
function Accordion_item($$anchor, $$props) {
|
|
89
|
+
const instanceId = $.props_id();
|
|
89
90
|
$.push($$props, true);
|
|
90
91
|
let disabled = $.prop($$props, "disabled", 3, false);
|
|
91
92
|
const context = getAccordionContext();
|
|
92
93
|
const isExpanded = $.derived(() => context.expandedIds.includes($$props.id));
|
|
93
|
-
const headerId = $.derived(() => `${
|
|
94
|
-
const panelId = $.derived(() => `${
|
|
94
|
+
const headerId = $.derived(() => `${instanceId}-header`);
|
|
95
|
+
const panelId = $.derived(() => `${instanceId}-panel`);
|
|
95
96
|
function handleClick() {
|
|
96
97
|
if (disabled())
|
|
97
98
|
return;
|
|
@@ -106,26 +107,26 @@ function Accordion_item($$anchor, $$props) {
|
|
|
106
107
|
$.next(2);
|
|
107
108
|
$.reset(button);
|
|
108
109
|
$.reset(h3);
|
|
109
|
-
var
|
|
110
|
+
var div_1 = $.sibling(h3, 2);
|
|
111
|
+
var node = $.child(div_1);
|
|
110
112
|
{
|
|
111
113
|
var consequent = ($$anchor2) => {
|
|
112
|
-
var
|
|
113
|
-
var div_2 = $.child(div_1);
|
|
114
|
+
var div_2 = root();
|
|
114
115
|
var node_1 = $.child(div_2);
|
|
115
116
|
$.snippet(node_1, () => $$props.children);
|
|
116
117
|
$.reset(div_2);
|
|
117
|
-
$.
|
|
118
|
-
$.template_effect(() => $.set_attribute(div_1, "id", $.get(panelId)));
|
|
119
|
-
$.append($$anchor2, div_1);
|
|
118
|
+
$.append($$anchor2, div_2);
|
|
120
119
|
};
|
|
121
120
|
$.if(node, ($$render) => {
|
|
122
121
|
if ($.get(isExpanded))
|
|
123
122
|
$$render(consequent);
|
|
124
123
|
});
|
|
125
124
|
}
|
|
125
|
+
$.reset(div_1);
|
|
126
126
|
$.reset(div);
|
|
127
127
|
$.template_effect(($0) => {
|
|
128
128
|
$.set_class(div, 1, $0);
|
|
129
|
+
$.set_style(div, $$props.style);
|
|
129
130
|
$.set_attribute(div, "data-cinder-expanded", $.get(isExpanded) ? "" : undefined);
|
|
130
131
|
$.set_attribute(div, "data-cinder-disabled", disabled() ? "" : undefined);
|
|
131
132
|
$.set_attribute(button, "id", $.get(headerId));
|
|
@@ -133,6 +134,8 @@ function Accordion_item($$anchor, $$props) {
|
|
|
133
134
|
$.set_attribute(button, "aria-controls", $.get(panelId));
|
|
134
135
|
button.disabled = disabled();
|
|
135
136
|
$.set_text(text, $$props.title);
|
|
137
|
+
$.set_attribute(div_1, "id", $.get(panelId));
|
|
138
|
+
$.set_attribute(div_1, "hidden", !$.get(isExpanded));
|
|
136
139
|
}, [
|
|
137
140
|
() => $.clsx(classNames("cinder-accordion-item", $$props.class))
|
|
138
141
|
]);
|
|
@@ -149,4 +152,4 @@ export {
|
|
|
149
152
|
Accordion_item as AccordionItem
|
|
150
153
|
};
|
|
151
154
|
|
|
152
|
-
//# debugId=
|
|
155
|
+
//# debugId=7FB287FC6F3C44AF64756E2164756E21
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
@layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
|
|
2
2
|
@layer cinder.components {
|
|
3
3
|
.cinder-action-row {
|
|
4
|
+
--cinder-action-row-padding-block: var(--cinder-space-3);
|
|
5
|
+
--cinder-action-row-padding-inline: var(--cinder-space-4);
|
|
6
|
+
--cinder-action-row-layout-column-gap: var(--cinder-space-3);
|
|
7
|
+
--cinder-action-row-layout-row-gap: var(--cinder-space-2);
|
|
8
|
+
--cinder-action-row-body-gap: var(--cinder-space-1);
|
|
9
|
+
--cinder-action-row-title-font-size: var(--cinder-text-sm);
|
|
10
|
+
--cinder-action-row-description-font-size: var(--cinder-text-sm);
|
|
11
|
+
--cinder-action-row-meta-font-size: var(--cinder-text-xs);
|
|
12
|
+
--cinder-action-row-trailing-gap: var(--cinder-space-2);
|
|
4
13
|
display: block;
|
|
5
14
|
inline-size: 100%;
|
|
6
|
-
padding: var(--cinder-
|
|
15
|
+
padding: var(--cinder-action-row-padding-block, var(--cinder-space-3))
|
|
16
|
+
var(--cinder-action-row-padding-inline, var(--cinder-space-4));
|
|
7
17
|
border: 0;
|
|
8
18
|
border-radius: var(--cinder-radius-md);
|
|
9
19
|
background: transparent;
|
|
@@ -14,7 +24,8 @@
|
|
|
14
24
|
}
|
|
15
25
|
|
|
16
26
|
.cinder-action-row[data-cinder-density='condensed'] {
|
|
17
|
-
|
|
27
|
+
--cinder-action-row-padding-block: var(--cinder-space-2);
|
|
28
|
+
--cinder-action-row-padding-inline: var(--cinder-space-3);
|
|
18
29
|
}
|
|
19
30
|
|
|
20
31
|
@media (hover: hover) {
|
|
@@ -67,8 +78,8 @@
|
|
|
67
78
|
.cinder-action-row__layout {
|
|
68
79
|
display: grid;
|
|
69
80
|
align-items: center;
|
|
70
|
-
column-gap: var(--cinder-space-3);
|
|
71
|
-
row-gap: var(--cinder-space-2);
|
|
81
|
+
column-gap: var(--cinder-action-row-layout-column-gap, var(--cinder-space-3));
|
|
82
|
+
row-gap: var(--cinder-action-row-layout-row-gap, var(--cinder-space-2));
|
|
72
83
|
grid-template-columns: 1fr;
|
|
73
84
|
grid-template-areas: 'body';
|
|
74
85
|
}
|
|
@@ -99,34 +110,34 @@
|
|
|
99
110
|
display: flex;
|
|
100
111
|
min-inline-size: 0;
|
|
101
112
|
flex-direction: column;
|
|
102
|
-
gap: var(--cinder-space-1);
|
|
113
|
+
gap: var(--cinder-action-row-body-gap, var(--cinder-space-1));
|
|
103
114
|
}
|
|
104
115
|
|
|
105
116
|
.cinder-action-row__trailing {
|
|
106
117
|
grid-area: trailing;
|
|
107
118
|
display: inline-flex;
|
|
108
119
|
align-items: center;
|
|
109
|
-
gap: var(--cinder-space-2);
|
|
120
|
+
gap: var(--cinder-action-row-trailing-gap, var(--cinder-space-2));
|
|
110
121
|
color: var(--cinder-text-muted);
|
|
111
122
|
}
|
|
112
123
|
|
|
113
124
|
.cinder-action-row__title {
|
|
114
125
|
color: inherit;
|
|
115
|
-
font-size: var(--cinder-text-sm);
|
|
126
|
+
font-size: var(--cinder-action-row-title-font-size, var(--cinder-text-sm));
|
|
116
127
|
line-height: var(--cinder-leading-snug);
|
|
117
128
|
overflow-wrap: anywhere;
|
|
118
129
|
}
|
|
119
130
|
|
|
120
131
|
.cinder-action-row__description {
|
|
121
132
|
color: var(--cinder-text-muted);
|
|
122
|
-
font-size: var(--cinder-text-sm);
|
|
133
|
+
font-size: var(--cinder-action-row-description-font-size, var(--cinder-text-sm));
|
|
123
134
|
line-height: var(--cinder-leading-snug);
|
|
124
135
|
overflow-wrap: anywhere;
|
|
125
136
|
}
|
|
126
137
|
|
|
127
138
|
.cinder-action-row__meta {
|
|
128
139
|
color: var(--cinder-text-muted);
|
|
129
|
-
font-size: var(--cinder-text-xs);
|
|
140
|
+
font-size: var(--cinder-action-row-meta-font-size, var(--cinder-text-xs));
|
|
130
141
|
line-height: var(--cinder-leading-snug);
|
|
131
142
|
overflow-wrap: anywhere;
|
|
132
143
|
}
|
|
@@ -84,6 +84,10 @@ var schema = {
|
|
|
84
84
|
class: {
|
|
85
85
|
type: "string",
|
|
86
86
|
description: "Additional classes merged with `.cinder-action-row`."
|
|
87
|
+
},
|
|
88
|
+
style: {
|
|
89
|
+
type: "string",
|
|
90
|
+
description: "Inline style string applied to the `.cinder-action-row` root."
|
|
87
91
|
}
|
|
88
92
|
},
|
|
89
93
|
additionalProperties: false,
|
|
@@ -123,4 +127,4 @@ export {
|
|
|
123
127
|
action_row_schema_default as default
|
|
124
128
|
};
|
|
125
129
|
|
|
126
|
-
//# debugId=
|
|
130
|
+
//# debugId=FB7AA1AE4716503064756E2164756E21
|
|
@@ -43,3 +43,46 @@ export type ActionRowProps = Omit<HTMLButtonAttributes, 'aria-current' | 'aria-p
|
|
|
43
43
|
/** Additional classes merged with `.cinder-action-row`. */
|
|
44
44
|
class?: string;
|
|
45
45
|
};
|
|
46
|
+
/** Schema generator surface for ActionRow — excludes native button attributes except supported styling hooks. */
|
|
47
|
+
export interface ActionRowSchemaProps {
|
|
48
|
+
/**
|
|
49
|
+
* Density token surfaced as `data-cinder-density`.
|
|
50
|
+
* @default "comfortable"
|
|
51
|
+
*/
|
|
52
|
+
density?: ActionRowDensity;
|
|
53
|
+
/**
|
|
54
|
+
* Whether the row is currently selected.
|
|
55
|
+
* @default false
|
|
56
|
+
*/
|
|
57
|
+
selected?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Accessible state mapping for selected rows.
|
|
60
|
+
* Use `pressed` for in-page selectable rows and `current` for navigation/current-item rows.
|
|
61
|
+
* @default "pressed"
|
|
62
|
+
*/
|
|
63
|
+
selectedState?: ActionRowSelectedState;
|
|
64
|
+
/**
|
|
65
|
+
* `aria-current` value used when `selectedState="current"` and `selected` is true.
|
|
66
|
+
* @default "true"
|
|
67
|
+
*/
|
|
68
|
+
currentValue?: ActionRowCurrentValue;
|
|
69
|
+
/**
|
|
70
|
+
* Native button type.
|
|
71
|
+
* @default "button"
|
|
72
|
+
*/
|
|
73
|
+
type?: 'button' | 'submit' | 'reset';
|
|
74
|
+
/** Leading visual such as an icon, avatar, marker, or status dot. */
|
|
75
|
+
leading?: Snippet;
|
|
76
|
+
/** Primary row label. Required so the row has visible text and an accessible name. */
|
|
77
|
+
title: Snippet;
|
|
78
|
+
/** Secondary description below the title. */
|
|
79
|
+
description?: Snippet;
|
|
80
|
+
/** Tertiary metadata such as timestamp, status text, or a compact badge. */
|
|
81
|
+
meta?: Snippet;
|
|
82
|
+
/** Trailing region such as a timestamp, count, badge, chevron, or shortcut hint. */
|
|
83
|
+
trailing?: Snippet;
|
|
84
|
+
/** Additional classes merged with `.cinder-action-row`. */
|
|
85
|
+
class?: string;
|
|
86
|
+
/** Inline style string applied to the `.cinder-action-row` root. */
|
|
87
|
+
style?: string;
|
|
88
|
+
}
|
|
@@ -52,10 +52,20 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
52
52
|
});
|
|
53
53
|
|
|
54
54
|
// src/components/action-row/action-row.variables.ts
|
|
55
|
-
var variables = [
|
|
55
|
+
var variables = [
|
|
56
|
+
"--cinder-action-row-body-gap",
|
|
57
|
+
"--cinder-action-row-description-font-size",
|
|
58
|
+
"--cinder-action-row-layout-column-gap",
|
|
59
|
+
"--cinder-action-row-layout-row-gap",
|
|
60
|
+
"--cinder-action-row-meta-font-size",
|
|
61
|
+
"--cinder-action-row-padding-block",
|
|
62
|
+
"--cinder-action-row-padding-inline",
|
|
63
|
+
"--cinder-action-row-title-font-size",
|
|
64
|
+
"--cinder-action-row-trailing-gap"
|
|
65
|
+
];
|
|
56
66
|
var action_row_variables_default = variables;
|
|
57
67
|
export {
|
|
58
68
|
action_row_variables_default as default
|
|
59
69
|
};
|
|
60
70
|
|
|
61
|
-
//# debugId=
|
|
71
|
+
//# debugId=4A0646B62FFB1E4364756E2164756E21
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @tag domain-suite
|
|
9
9
|
* @useWhen Shipping a full chat surface with composer, scroll-anchor, unread indicator, and attachments bundled as one heavyweight drop-in.
|
|
10
10
|
* @useWhen Building an AI assistant or support thread where conversation state is modeled as a transcript of role-tagged messages.
|
|
11
|
+
* @useWhen Embedding Chat in a definite-height flex or grid region where its internal transcript should own scrolling.
|
|
11
12
|
* @avoidWhen Rendering a one-off message list — compose lighter primitives directly instead of pulling the full suite.
|
|
12
13
|
* @avoidWhen The transcript is read-only and needs no composer — a simple list of message bubbles is a better fit.
|
|
13
14
|
* @related markdown-editor
|
|
@@ -9,12 +9,17 @@
|
|
|
9
9
|
* ======================================== */
|
|
10
10
|
|
|
11
11
|
.cinder-code-block {
|
|
12
|
+
--cinder-code-block-background: var(--_cinder-code-block-code-surface);
|
|
13
|
+
--cinder-code-block-font-size: var(--cinder-text-sm);
|
|
14
|
+
--cinder-code-block-height: auto;
|
|
15
|
+
--cinder-code-block-line-height: var(--cinder-leading-relaxed);
|
|
16
|
+
--cinder-code-block-padding: var(--cinder-space-4);
|
|
12
17
|
--_cinder-code-block-code-surface: light-dark(
|
|
13
18
|
var(--cinder-surface-raised),
|
|
14
19
|
var(--cinder-surface-inset)
|
|
15
20
|
);
|
|
16
21
|
|
|
17
|
-
background: var(--cinder-
|
|
22
|
+
background: var(--cinder-code-block-background);
|
|
18
23
|
border: 1px solid var(--cinder-border);
|
|
19
24
|
border-radius: var(--cinder-radius-md);
|
|
20
25
|
overflow: hidden;
|
|
@@ -44,33 +49,34 @@
|
|
|
44
49
|
* inner pre elements can stay metrically identical. */
|
|
45
50
|
.cinder-code-block__viewport {
|
|
46
51
|
display: block;
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
block-size: var(--cinder-code-block-height);
|
|
53
|
+
overflow: auto;
|
|
54
|
+
background: var(--cinder-code-block-background);
|
|
49
55
|
}
|
|
50
56
|
|
|
51
57
|
.cinder-code-block__pre,
|
|
52
58
|
.cinder-code-block :where(pre.shiki) {
|
|
53
59
|
margin: 0;
|
|
54
|
-
padding: var(--cinder-
|
|
60
|
+
padding: var(--cinder-code-block-padding);
|
|
55
61
|
width: max-content;
|
|
56
62
|
min-width: 100%;
|
|
57
63
|
overflow-x: clip;
|
|
58
64
|
font-family: var(--cinder-font-mono);
|
|
59
|
-
font-size: var(--cinder-
|
|
60
|
-
line-height: var(--cinder-
|
|
65
|
+
font-size: var(--cinder-code-block-font-size);
|
|
66
|
+
line-height: var(--cinder-code-block-line-height);
|
|
61
67
|
color: var(--cinder-text);
|
|
62
68
|
/* Use near-white in light mode so github-light token colors (e.g. #d73a49
|
|
63
69
|
* keyword red) clear 4.5:1 WCAG AA. In dark mode keep the deep inset so
|
|
64
70
|
* github-dark tokens maintain contrast on a very dark surface. */
|
|
65
|
-
background: var(--
|
|
71
|
+
background: var(--cinder-code-block-background);
|
|
66
72
|
}
|
|
67
73
|
|
|
68
74
|
/* Shiki writes inline background styles on its generated <pre>; keep the
|
|
69
75
|
* highlighted state visually and metrically identical to the plain fallback. */
|
|
70
76
|
.cinder-code-block :where(pre.shiki) {
|
|
71
77
|
margin: 0 !important;
|
|
72
|
-
padding: var(--cinder-
|
|
73
|
-
background: var(--
|
|
78
|
+
padding: var(--cinder-code-block-padding) !important;
|
|
79
|
+
background: var(--cinder-code-block-background) !important;
|
|
74
80
|
}
|
|
75
81
|
|
|
76
82
|
.cinder-code-block__code,
|
|
@@ -52,10 +52,16 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
52
52
|
});
|
|
53
53
|
|
|
54
54
|
// src/components/code-block/code-block.variables.ts
|
|
55
|
-
var variables = [
|
|
55
|
+
var variables = [
|
|
56
|
+
"--cinder-code-block-background",
|
|
57
|
+
"--cinder-code-block-font-size",
|
|
58
|
+
"--cinder-code-block-height",
|
|
59
|
+
"--cinder-code-block-line-height",
|
|
60
|
+
"--cinder-code-block-padding"
|
|
61
|
+
];
|
|
56
62
|
var code_block_variables_default = variables;
|
|
57
63
|
export {
|
|
58
64
|
code_block_variables_default as default
|
|
59
65
|
};
|
|
60
66
|
|
|
61
|
-
//# debugId=
|
|
67
|
+
//# debugId=78150DCF4A1748A164756E2164756E21
|
|
@@ -87,6 +87,15 @@ Never use "OK" or "Confirm" in production — they don't describe the action.`
|
|
|
87
87
|
description: `When true, the confirm button uses variant="danger". The cancel button still
|
|
88
88
|
receives default focus regardless — color is never the sole destructive signal.`
|
|
89
89
|
},
|
|
90
|
+
typeToConfirm: {
|
|
91
|
+
type: "string",
|
|
92
|
+
description: `When set, renders a labelled text input and disables the confirm button until the
|
|
93
|
+
trimmed input matches this value case-insensitively.`
|
|
94
|
+
},
|
|
95
|
+
typeToConfirmLabel: {
|
|
96
|
+
type: "string",
|
|
97
|
+
description: 'Visible label for the typed-confirmation input. Defaults to `Type "<value>" to confirm`.'
|
|
98
|
+
},
|
|
90
99
|
class: {
|
|
91
100
|
type: "string",
|
|
92
101
|
description: "Optional extra class on the underlying <Modal>. Destructured as `class: className` per repo convention."
|
|
@@ -123,4 +132,4 @@ export {
|
|
|
123
132
|
confirm_dialog_schema_default as default
|
|
124
133
|
};
|
|
125
134
|
|
|
126
|
-
//# debugId=
|
|
135
|
+
//# debugId=9E452C902BC5550F64756E2164756E21
|
|
@@ -36,6 +36,13 @@ export type ConfirmDialogProps = {
|
|
|
36
36
|
* receives default focus regardless — color is never the sole destructive signal.
|
|
37
37
|
*/
|
|
38
38
|
destructive?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* When set, renders a labelled text input and disables the confirm button until the
|
|
41
|
+
* trimmed input matches this value case-insensitively.
|
|
42
|
+
*/
|
|
43
|
+
typeToConfirm?: string;
|
|
44
|
+
/** Visible label for the typed-confirmation input. Defaults to `Type "<value>" to confirm`. */
|
|
45
|
+
typeToConfirmLabel?: string;
|
|
39
46
|
/** Fired when the user activates the confirm button. Required. Component closes itself after. */
|
|
40
47
|
onconfirm: () => void;
|
|
41
48
|
/**
|