@quilltap/theme-storybook 1.0.52 → 1.0.53
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/{chunk-TD4WYZZI.mjs → chunk-3RAUK5HZ.mjs} +17 -1
- package/dist/index.css +15 -0
- package/dist/index.js +17 -1
- package/dist/index.mjs +1 -1
- package/dist/stories/index.js +17 -1
- package/dist/stories/index.mjs +1 -1
- package/package.json +1 -1
- package/src/css/qt-components.css +27 -0
- package/src/stories/components/Chat.tsx +21 -1
|
@@ -1683,7 +1683,7 @@ var Chat = () => {
|
|
|
1683
1683
|
] }),
|
|
1684
1684
|
/* @__PURE__ */ jsxs14("section", { style: { marginBottom: "2rem" }, children: [
|
|
1685
1685
|
/* @__PURE__ */ jsx14("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Staff Announcements" }),
|
|
1686
|
-
/* @__PURE__ */ jsx14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Messages authored by a personified feature rather than a character. Each collapses to a one-line bar; a run of consecutive ones packs into a row of content-width chips. The leading dot carries an importance tier \u2014 filled for high and medium, hollow for low \u2014 so the eye lands on the file changes and arrivals and skims past the time calls." }),
|
|
1686
|
+
/* @__PURE__ */ jsx14("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Messages authored by a personified feature rather than a character. Each collapses to a one-line bar; a run of consecutive ones packs into a row of content-width chips. The leading dot carries an importance tier \u2014 filled for high and medium, hollow for low \u2014 so the eye lands on the file changes and arrivals and skims past the time calls. An announcement whispered to named participants carries the whisper\u2019s border colour and names its audience, so a private aside is distinguishable from a public one without expanding it." }),
|
|
1687
1687
|
/* @__PURE__ */ jsxs14("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "32rem" }, children: [
|
|
1688
1688
|
/* @__PURE__ */ jsxs14("button", { type: "button", className: "qt-chat-system-bar", children: [
|
|
1689
1689
|
/* @__PURE__ */ jsx14("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-high", "aria-hidden": "true" }),
|
|
@@ -1713,7 +1713,23 @@ var Chat = () => {
|
|
|
1713
1713
|
/* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-kind", children: "project information" }),
|
|
1714
1714
|
/* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-time", children: "4:14 PM" }),
|
|
1715
1715
|
/* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-chevron", "aria-hidden": "true", children: "\u203A" })
|
|
1716
|
+
] }),
|
|
1717
|
+
/* @__PURE__ */ jsxs14("button", { type: "button", className: "qt-chat-announcement-chip qt-chat-announcement-chip-whisper", children: [
|
|
1718
|
+
/* @__PURE__ */ jsx14("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-medium", "aria-hidden": "true" }),
|
|
1719
|
+
/* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-sender", children: "The Host" }),
|
|
1720
|
+
/* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-kind", children: "announcement" }),
|
|
1721
|
+
/* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-whisper", children: "to Amy" }),
|
|
1722
|
+
/* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-time", children: "4:15 PM" }),
|
|
1723
|
+
/* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-chevron", "aria-hidden": "true", children: "\u203A" })
|
|
1716
1724
|
] })
|
|
1725
|
+
] }),
|
|
1726
|
+
/* @__PURE__ */ jsxs14("button", { type: "button", className: "qt-chat-system-bar qt-chat-system-bar-expanded", children: [
|
|
1727
|
+
/* @__PURE__ */ jsx14("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-medium", "aria-hidden": "true" }),
|
|
1728
|
+
/* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-sender", children: "The Host" }),
|
|
1729
|
+
/* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-kind", children: "announcement" }),
|
|
1730
|
+
/* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-whisper", children: "to Amy, Bartholomew" }),
|
|
1731
|
+
/* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-time", children: "4:15 PM" }),
|
|
1732
|
+
/* @__PURE__ */ jsx14("span", { className: "qt-chat-system-bar-chevron qt-chat-system-bar-chevron-down", "aria-hidden": "true", children: "\u203A" })
|
|
1717
1733
|
] })
|
|
1718
1734
|
] })
|
|
1719
1735
|
] }),
|
package/dist/index.css
CHANGED
|
@@ -1146,6 +1146,15 @@ body {
|
|
|
1146
1146
|
text-overflow: ellipsis;
|
|
1147
1147
|
white-space: nowrap;
|
|
1148
1148
|
}
|
|
1149
|
+
.qt-chat-system-bar-whisper {
|
|
1150
|
+
flex: 0 1 auto;
|
|
1151
|
+
min-width: 0;
|
|
1152
|
+
color: var(--qt-chat-whisper-label-fg);
|
|
1153
|
+
font-style: italic;
|
|
1154
|
+
overflow: hidden;
|
|
1155
|
+
text-overflow: ellipsis;
|
|
1156
|
+
white-space: nowrap;
|
|
1157
|
+
}
|
|
1149
1158
|
.qt-chat-system-bar-time {
|
|
1150
1159
|
color: var(--qt-chat-system-bar-fg);
|
|
1151
1160
|
opacity: 0.75;
|
|
@@ -1196,6 +1205,12 @@ body {
|
|
|
1196
1205
|
flex: 0 1 auto;
|
|
1197
1206
|
max-width: 22ch;
|
|
1198
1207
|
}
|
|
1208
|
+
.qt-chat-announcement-chip .qt-chat-system-bar-whisper {
|
|
1209
|
+
max-width: 18ch;
|
|
1210
|
+
}
|
|
1211
|
+
.qt-chat-announcement-chip-whisper {
|
|
1212
|
+
border-color: var(--qt-chat-whisper-label-fg);
|
|
1213
|
+
}
|
|
1199
1214
|
.qt-chat-announcement-dot {
|
|
1200
1215
|
flex-shrink: 0;
|
|
1201
1216
|
width: 0.5rem;
|
package/dist/index.js
CHANGED
|
@@ -1793,7 +1793,7 @@ var Chat = () => {
|
|
|
1793
1793
|
] }),
|
|
1794
1794
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("section", { style: { marginBottom: "2rem" }, children: [
|
|
1795
1795
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Staff Announcements" }),
|
|
1796
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Messages authored by a personified feature rather than a character. Each collapses to a one-line bar; a run of consecutive ones packs into a row of content-width chips. The leading dot carries an importance tier \u2014 filled for high and medium, hollow for low \u2014 so the eye lands on the file changes and arrivals and skims past the time calls." }),
|
|
1796
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Messages authored by a personified feature rather than a character. Each collapses to a one-line bar; a run of consecutive ones packs into a row of content-width chips. The leading dot carries an importance tier \u2014 filled for high and medium, hollow for low \u2014 so the eye lands on the file changes and arrivals and skims past the time calls. An announcement whispered to named participants carries the whisper\u2019s border colour and names its audience, so a private aside is distinguishable from a public one without expanding it." }),
|
|
1797
1797
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "32rem" }, children: [
|
|
1798
1798
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("button", { type: "button", className: "qt-chat-system-bar", children: [
|
|
1799
1799
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-high", "aria-hidden": "true" }),
|
|
@@ -1823,7 +1823,23 @@ var Chat = () => {
|
|
|
1823
1823
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-system-bar-kind", children: "project information" }),
|
|
1824
1824
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-system-bar-time", children: "4:14 PM" }),
|
|
1825
1825
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-system-bar-chevron", "aria-hidden": "true", children: "\u203A" })
|
|
1826
|
+
] }),
|
|
1827
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("button", { type: "button", className: "qt-chat-announcement-chip qt-chat-announcement-chip-whisper", children: [
|
|
1828
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-medium", "aria-hidden": "true" }),
|
|
1829
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-system-bar-sender", children: "The Host" }),
|
|
1830
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-system-bar-kind", children: "announcement" }),
|
|
1831
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-system-bar-whisper", children: "to Amy" }),
|
|
1832
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-system-bar-time", children: "4:15 PM" }),
|
|
1833
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-system-bar-chevron", "aria-hidden": "true", children: "\u203A" })
|
|
1826
1834
|
] })
|
|
1835
|
+
] }),
|
|
1836
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("button", { type: "button", className: "qt-chat-system-bar qt-chat-system-bar-expanded", children: [
|
|
1837
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-medium", "aria-hidden": "true" }),
|
|
1838
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-system-bar-sender", children: "The Host" }),
|
|
1839
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-system-bar-kind", children: "announcement" }),
|
|
1840
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-system-bar-whisper", children: "to Amy, Bartholomew" }),
|
|
1841
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-system-bar-time", children: "4:15 PM" }),
|
|
1842
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "qt-chat-system-bar-chevron qt-chat-system-bar-chevron-down", "aria-hidden": "true", children: "\u203A" })
|
|
1827
1843
|
] })
|
|
1828
1844
|
] })
|
|
1829
1845
|
] }),
|
package/dist/index.mjs
CHANGED
package/dist/stories/index.js
CHANGED
|
@@ -1730,7 +1730,7 @@ var Chat = () => {
|
|
|
1730
1730
|
] }),
|
|
1731
1731
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("section", { style: { marginBottom: "2rem" }, children: [
|
|
1732
1732
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("h3", { style: { fontSize: "1.125rem", fontWeight: 700, marginBottom: "1rem", borderBottom: "1px solid var(--color-border)", paddingBottom: "0.5rem" }, children: "Staff Announcements" }),
|
|
1733
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Messages authored by a personified feature rather than a character. Each collapses to a one-line bar; a run of consecutive ones packs into a row of content-width chips. The leading dot carries an importance tier \u2014 filled for high and medium, hollow for low \u2014 so the eye lands on the file changes and arrivals and skims past the time calls." }),
|
|
1733
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("p", { style: { color: "var(--color-muted-foreground)", marginBottom: "1rem" }, children: "Messages authored by a personified feature rather than a character. Each collapses to a one-line bar; a run of consecutive ones packs into a row of content-width chips. The leading dot carries an importance tier \u2014 filled for high and medium, hollow for low \u2014 so the eye lands on the file changes and arrivals and skims past the time calls. An announcement whispered to named participants carries the whisper\u2019s border colour and names its audience, so a private aside is distinguishable from a public one without expanding it." }),
|
|
1734
1734
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: "1rem", maxWidth: "32rem" }, children: [
|
|
1735
1735
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("button", { type: "button", className: "qt-chat-system-bar", children: [
|
|
1736
1736
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-high", "aria-hidden": "true" }),
|
|
@@ -1760,7 +1760,23 @@ var Chat = () => {
|
|
|
1760
1760
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-system-bar-kind", children: "project information" }),
|
|
1761
1761
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-system-bar-time", children: "4:14 PM" }),
|
|
1762
1762
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-system-bar-chevron", "aria-hidden": "true", children: "\u203A" })
|
|
1763
|
+
] }),
|
|
1764
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("button", { type: "button", className: "qt-chat-announcement-chip qt-chat-announcement-chip-whisper", children: [
|
|
1765
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-medium", "aria-hidden": "true" }),
|
|
1766
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-system-bar-sender", children: "The Host" }),
|
|
1767
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-system-bar-kind", children: "announcement" }),
|
|
1768
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-system-bar-whisper", children: "to Amy" }),
|
|
1769
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-system-bar-time", children: "4:15 PM" }),
|
|
1770
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-system-bar-chevron", "aria-hidden": "true", children: "\u203A" })
|
|
1763
1771
|
] })
|
|
1772
|
+
] }),
|
|
1773
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("button", { type: "button", className: "qt-chat-system-bar qt-chat-system-bar-expanded", children: [
|
|
1774
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-announcement-dot qt-chat-announcement-dot-medium", "aria-hidden": "true" }),
|
|
1775
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-system-bar-sender", children: "The Host" }),
|
|
1776
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-system-bar-kind", children: "announcement" }),
|
|
1777
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-system-bar-whisper", children: "to Amy, Bartholomew" }),
|
|
1778
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-system-bar-time", children: "4:15 PM" }),
|
|
1779
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "qt-chat-system-bar-chevron qt-chat-system-bar-chevron-down", "aria-hidden": "true", children: "\u203A" })
|
|
1764
1780
|
] })
|
|
1765
1781
|
] })
|
|
1766
1782
|
] }),
|
package/dist/stories/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1257,6 +1257,21 @@
|
|
|
1257
1257
|
white-space: nowrap;
|
|
1258
1258
|
}
|
|
1259
1259
|
|
|
1260
|
+
/**
|
|
1261
|
+
* Whisper audience on an announcement bar or chip ("to Alice, Bob"). Wears the
|
|
1262
|
+
* same ink as the message body's whisper label so a private aside reads the
|
|
1263
|
+
* same whether it is collapsed to a chip or opened in full.
|
|
1264
|
+
*/
|
|
1265
|
+
.qt-chat-system-bar-whisper {
|
|
1266
|
+
flex: 0 1 auto;
|
|
1267
|
+
min-width: 0;
|
|
1268
|
+
color: var(--qt-chat-whisper-label-fg);
|
|
1269
|
+
font-style: italic;
|
|
1270
|
+
overflow: hidden;
|
|
1271
|
+
text-overflow: ellipsis;
|
|
1272
|
+
white-space: nowrap;
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1260
1275
|
.qt-chat-system-bar-time {
|
|
1261
1276
|
color: var(--qt-chat-system-bar-fg);
|
|
1262
1277
|
opacity: 0.75;
|
|
@@ -1330,6 +1345,18 @@
|
|
|
1330
1345
|
max-width: 22ch;
|
|
1331
1346
|
}
|
|
1332
1347
|
|
|
1348
|
+
/* Same cap for a long audience list — a whisper to five people must not push
|
|
1349
|
+
the timestamp and chevron off the chip. */
|
|
1350
|
+
.qt-chat-announcement-chip .qt-chat-system-bar-whisper {
|
|
1351
|
+
max-width: 18ch;
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
/* A whispered announcement carries the whisper's border colour, so a private
|
|
1355
|
+
aside is distinguishable from a public one before it is ever expanded. */
|
|
1356
|
+
.qt-chat-announcement-chip-whisper {
|
|
1357
|
+
border-color: var(--qt-chat-whisper-label-fg);
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1333
1360
|
/**
|
|
1334
1361
|
* Importance dot before the sender name. Filled for high/medium, hollow for
|
|
1335
1362
|
* low, so the eye lands on what matters and skims past the low-noise chatter.
|
|
@@ -291,7 +291,9 @@ export const Chat: React.FC = () => {
|
|
|
291
291
|
Messages authored by a personified feature rather than a character. Each collapses to a one-line
|
|
292
292
|
bar; a run of consecutive ones packs into a row of content-width chips. The leading dot carries an
|
|
293
293
|
importance tier — filled for high and medium, hollow for low — so the eye lands on the
|
|
294
|
-
file changes and arrivals and skims past the time calls.
|
|
294
|
+
file changes and arrivals and skims past the time calls. An announcement whispered to named
|
|
295
|
+
participants carries the whisper’s border colour and names its audience, so a private aside
|
|
296
|
+
is distinguishable from a public one without expanding it.
|
|
295
297
|
</p>
|
|
296
298
|
<div style={{ display: 'flex', flexDirection: 'column', gap: '1rem', maxWidth: '32rem' }}>
|
|
297
299
|
<button type="button" className="qt-chat-system-bar">
|
|
@@ -324,7 +326,25 @@ export const Chat: React.FC = () => {
|
|
|
324
326
|
<span className="qt-chat-system-bar-time">4:14 PM</span>
|
|
325
327
|
<span className="qt-chat-system-bar-chevron" aria-hidden="true">›</span>
|
|
326
328
|
</button>
|
|
329
|
+
<button type="button" className="qt-chat-announcement-chip qt-chat-announcement-chip-whisper">
|
|
330
|
+
<span className="qt-chat-announcement-dot qt-chat-announcement-dot-medium" aria-hidden="true" />
|
|
331
|
+
<span className="qt-chat-system-bar-sender">The Host</span>
|
|
332
|
+
<span className="qt-chat-system-bar-kind">announcement</span>
|
|
333
|
+
<span className="qt-chat-system-bar-whisper">to Amy</span>
|
|
334
|
+
<span className="qt-chat-system-bar-time">4:15 PM</span>
|
|
335
|
+
<span className="qt-chat-system-bar-chevron" aria-hidden="true">›</span>
|
|
336
|
+
</button>
|
|
327
337
|
</div>
|
|
338
|
+
|
|
339
|
+
{/* Whispered announcement as a full-width expanded bar. */}
|
|
340
|
+
<button type="button" className="qt-chat-system-bar qt-chat-system-bar-expanded">
|
|
341
|
+
<span className="qt-chat-announcement-dot qt-chat-announcement-dot-medium" aria-hidden="true" />
|
|
342
|
+
<span className="qt-chat-system-bar-sender">The Host</span>
|
|
343
|
+
<span className="qt-chat-system-bar-kind">announcement</span>
|
|
344
|
+
<span className="qt-chat-system-bar-whisper">to Amy, Bartholomew</span>
|
|
345
|
+
<span className="qt-chat-system-bar-time">4:15 PM</span>
|
|
346
|
+
<span className="qt-chat-system-bar-chevron qt-chat-system-bar-chevron-down" aria-hidden="true">›</span>
|
|
347
|
+
</button>
|
|
328
348
|
</div>
|
|
329
349
|
</section>
|
|
330
350
|
|