@cloudgrid-io/ui 0.24.0 → 0.25.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/blocks/avatar.d.ts +92 -0
- package/dist/blocks/avatar.d.ts.map +1 -0
- package/dist/blocks/avatar.js +107 -0
- package/dist/blocks/avatar.js.map +1 -0
- package/dist/blocks/entity-card.d.ts +26 -1
- package/dist/blocks/entity-card.d.ts.map +1 -1
- package/dist/blocks/entity-card.js +20 -4
- package/dist/blocks/entity-card.js.map +1 -1
- package/dist/blocks/feed-post.d.ts +98 -0
- package/dist/blocks/feed-post.d.ts.map +1 -0
- package/dist/blocks/feed-post.js +88 -0
- package/dist/blocks/feed-post.js.map +1 -0
- package/dist/blocks/icons.d.ts +38 -2
- package/dist/blocks/icons.d.ts.map +1 -1
- package/dist/blocks/icons.js +38 -2
- package/dist/blocks/icons.js.map +1 -1
- package/dist/blocks/phosphor-marks.d.ts +8 -2
- package/dist/blocks/phosphor-marks.d.ts.map +1 -1
- package/dist/blocks/phosphor-marks.js +12 -3
- package/dist/blocks/phosphor-marks.js.map +1 -1
- package/dist/fonts.css +17 -10
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/prose.css +7 -2
- package/dist/theme.css +9 -0
- package/dist/tokens/base.json +49 -21
- package/dist/tokens/surface-panel.json +4 -2
- package/dist/tokens.css +165 -31
- package/dist/tokens.json +12 -10
- package/package.json +1 -2
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A person, as a mark: their picture if there is one, their initials on a
|
|
3
|
+
* derived ground if there is not.
|
|
4
|
+
*
|
|
5
|
+
* The library had no avatar at all until #203, which is the gap under the gap
|
|
6
|
+
* that issue found: `EntityCard` has taken a `creator.avatar` NODE since #176
|
|
7
|
+
* and the console has been feeding it a local component
|
|
8
|
+
* (`components/ui/Avatar.tsx`), so the only definition of what a CloudGrid
|
|
9
|
+
* person looks like lived downstream of the library that owns the look.
|
|
10
|
+
*
|
|
11
|
+
* ## The hue is the entity tile's hue, deliberately
|
|
12
|
+
*
|
|
13
|
+
* `EntityIdentity` already answers "what does a thing with no picture look
|
|
14
|
+
* like", through FNV-1a into an eight-entry look table. This uses THAT table
|
|
15
|
+
* and THAT hash rather than a second one, so a person and the entities around
|
|
16
|
+
* them read as one identity system instead of two schemes that happen to sit on
|
|
17
|
+
* the same row. Adding a hue is still one line in `ENTITY_IDENTITY_LOOKS`, and
|
|
18
|
+
* both marks move together when it happens.
|
|
19
|
+
*
|
|
20
|
+
* The ground is the look's `tile` mix — the deeper of its two shades, the one
|
|
21
|
+
* the identity tile puts its monogram on — because that is the value whose
|
|
22
|
+
* contrast against `--cg-text-on-primary` is measured (purple 7.99:1, lime
|
|
23
|
+
* 5.08:1, cyan 4.93:1, ink 15.9:1). The `field` tint is a background for a
|
|
24
|
+
* 1200x630 card and is far too pale to carry two letters at 18px.
|
|
25
|
+
*
|
|
26
|
+
* ## Why the console's ramps did not come across
|
|
27
|
+
*
|
|
28
|
+
* That component carries eight hardcoded hexes, four for people and four for
|
|
29
|
+
* grids, each with its contrast measured by hand. Every one of them is rejected
|
|
30
|
+
* by this repo's literals gate: `scripts/check-literals.mjs` allows zero colour
|
|
31
|
+
* literals under `packages/ui/src/blocks`, on the rule that a hex looks right on
|
|
32
|
+
* white and is the one wrong thing on a purple panel. `color-mix` against the
|
|
33
|
+
* brand's own four hues is the token-only way to get a generative ramp, and it
|
|
34
|
+
* is what the identity tile already does.
|
|
35
|
+
*
|
|
36
|
+
* The console's `kind: 'person' | 'grid'` axis is NOT reproduced here. It exists
|
|
37
|
+
* because that app puts a person and a grid at the same size and shape in the
|
|
38
|
+
* same chrome and needs the hue to be the only thing telling them apart. This
|
|
39
|
+
* block does not know what a grid is; a caller who needs two families passes two
|
|
40
|
+
* different `seed` prefixes and gets two stable, different looks.
|
|
41
|
+
*
|
|
42
|
+
* ## A broken image falls back with no JavaScript
|
|
43
|
+
*
|
|
44
|
+
* The initials are always rendered. An image, when there is one, is painted OVER
|
|
45
|
+
* them. So a 404, a dead signed URL or a blocked third-party host paints nothing
|
|
46
|
+
* and the tile underneath simply shows through — the same arrangement
|
|
47
|
+
* `EntityCard` uses for `previewUrl`, and for the same reason: an `onError`
|
|
48
|
+
* swap would make this a client component to solve a problem the layering
|
|
49
|
+
* already solves.
|
|
50
|
+
*
|
|
51
|
+
* ## `alt` is what makes an avatar speak
|
|
52
|
+
*
|
|
53
|
+
* By default the whole mark is `aria-hidden`. That is not an oversight: in every
|
|
54
|
+
* place this renders — a card's creator line, a feed post's byline, a member
|
|
55
|
+
* list — the person's NAME is written immediately beside it, and an avatar that
|
|
56
|
+
* announced the name too would read every byline twice.
|
|
57
|
+
*
|
|
58
|
+
* Passing `alt` opts into an accessible name, for the case where the mark stands
|
|
59
|
+
* alone with no name in the markup.
|
|
60
|
+
*/
|
|
61
|
+
/** 18, 24, 38. The three diameters the card, the feed and a header need. */
|
|
62
|
+
export declare const AVATAR_SIZES: {
|
|
63
|
+
readonly s: 18;
|
|
64
|
+
readonly m: 24;
|
|
65
|
+
readonly l: 38;
|
|
66
|
+
};
|
|
67
|
+
export type AvatarSize = keyof typeof AVATAR_SIZES;
|
|
68
|
+
declare function Avatar({ name, seed, src, alt, size, monogram, className, style, ...props }: Omit<React.ComponentProps<"span">, "children"> & {
|
|
69
|
+
/** Whose mark this is. Read for the initials, and for the hue unless `seed` is given. */
|
|
70
|
+
name: string;
|
|
71
|
+
/**
|
|
72
|
+
* What the hue is derived from. Defaults to `name`.
|
|
73
|
+
*
|
|
74
|
+
* Pass a stable id where there is one. A person who changes their display name
|
|
75
|
+
* keeps their colour, which is the whole reason the identity tile asks for an
|
|
76
|
+
* id rather than a title.
|
|
77
|
+
*/
|
|
78
|
+
seed?: string;
|
|
79
|
+
/** A real picture, painted over the initials. A miss falls back to them. */
|
|
80
|
+
src?: string;
|
|
81
|
+
/**
|
|
82
|
+
* The accessible name. Omitted — the default — the mark is `aria-hidden`,
|
|
83
|
+
* because the name it stands for is written beside it.
|
|
84
|
+
*/
|
|
85
|
+
alt?: string;
|
|
86
|
+
/** 18, 24 or 38 across. */
|
|
87
|
+
size?: AvatarSize;
|
|
88
|
+
/** Overrides the derived initials, for a name they read badly from. */
|
|
89
|
+
monogram?: string;
|
|
90
|
+
}): import("react").JSX.Element;
|
|
91
|
+
export { Avatar };
|
|
92
|
+
//# sourceMappingURL=avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../src/blocks/avatar.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,YAAY;;;;CAIf,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,YAAY,CAAA;AAelD,iBAAS,MAAM,CAAC,EACd,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,GAAG,EACH,IAAU,EACV,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IAClD,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,2BAA2B;IAC3B,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,+BAqDA;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../lib/cloudgrid-cn.js";
|
|
3
|
+
import { entityIdentityLook, entityMonogram } from "./entity-identity.js";
|
|
4
|
+
/**
|
|
5
|
+
* A person, as a mark: their picture if there is one, their initials on a
|
|
6
|
+
* derived ground if there is not.
|
|
7
|
+
*
|
|
8
|
+
* The library had no avatar at all until #203, which is the gap under the gap
|
|
9
|
+
* that issue found: `EntityCard` has taken a `creator.avatar` NODE since #176
|
|
10
|
+
* and the console has been feeding it a local component
|
|
11
|
+
* (`components/ui/Avatar.tsx`), so the only definition of what a CloudGrid
|
|
12
|
+
* person looks like lived downstream of the library that owns the look.
|
|
13
|
+
*
|
|
14
|
+
* ## The hue is the entity tile's hue, deliberately
|
|
15
|
+
*
|
|
16
|
+
* `EntityIdentity` already answers "what does a thing with no picture look
|
|
17
|
+
* like", through FNV-1a into an eight-entry look table. This uses THAT table
|
|
18
|
+
* and THAT hash rather than a second one, so a person and the entities around
|
|
19
|
+
* them read as one identity system instead of two schemes that happen to sit on
|
|
20
|
+
* the same row. Adding a hue is still one line in `ENTITY_IDENTITY_LOOKS`, and
|
|
21
|
+
* both marks move together when it happens.
|
|
22
|
+
*
|
|
23
|
+
* The ground is the look's `tile` mix — the deeper of its two shades, the one
|
|
24
|
+
* the identity tile puts its monogram on — because that is the value whose
|
|
25
|
+
* contrast against `--cg-text-on-primary` is measured (purple 7.99:1, lime
|
|
26
|
+
* 5.08:1, cyan 4.93:1, ink 15.9:1). The `field` tint is a background for a
|
|
27
|
+
* 1200x630 card and is far too pale to carry two letters at 18px.
|
|
28
|
+
*
|
|
29
|
+
* ## Why the console's ramps did not come across
|
|
30
|
+
*
|
|
31
|
+
* That component carries eight hardcoded hexes, four for people and four for
|
|
32
|
+
* grids, each with its contrast measured by hand. Every one of them is rejected
|
|
33
|
+
* by this repo's literals gate: `scripts/check-literals.mjs` allows zero colour
|
|
34
|
+
* literals under `packages/ui/src/blocks`, on the rule that a hex looks right on
|
|
35
|
+
* white and is the one wrong thing on a purple panel. `color-mix` against the
|
|
36
|
+
* brand's own four hues is the token-only way to get a generative ramp, and it
|
|
37
|
+
* is what the identity tile already does.
|
|
38
|
+
*
|
|
39
|
+
* The console's `kind: 'person' | 'grid'` axis is NOT reproduced here. It exists
|
|
40
|
+
* because that app puts a person and a grid at the same size and shape in the
|
|
41
|
+
* same chrome and needs the hue to be the only thing telling them apart. This
|
|
42
|
+
* block does not know what a grid is; a caller who needs two families passes two
|
|
43
|
+
* different `seed` prefixes and gets two stable, different looks.
|
|
44
|
+
*
|
|
45
|
+
* ## A broken image falls back with no JavaScript
|
|
46
|
+
*
|
|
47
|
+
* The initials are always rendered. An image, when there is one, is painted OVER
|
|
48
|
+
* them. So a 404, a dead signed URL or a blocked third-party host paints nothing
|
|
49
|
+
* and the tile underneath simply shows through — the same arrangement
|
|
50
|
+
* `EntityCard` uses for `previewUrl`, and for the same reason: an `onError`
|
|
51
|
+
* swap would make this a client component to solve a problem the layering
|
|
52
|
+
* already solves.
|
|
53
|
+
*
|
|
54
|
+
* ## `alt` is what makes an avatar speak
|
|
55
|
+
*
|
|
56
|
+
* By default the whole mark is `aria-hidden`. That is not an oversight: in every
|
|
57
|
+
* place this renders — a card's creator line, a feed post's byline, a member
|
|
58
|
+
* list — the person's NAME is written immediately beside it, and an avatar that
|
|
59
|
+
* announced the name too would read every byline twice.
|
|
60
|
+
*
|
|
61
|
+
* Passing `alt` opts into an accessible name, for the case where the mark stands
|
|
62
|
+
* alone with no name in the markup.
|
|
63
|
+
*/
|
|
64
|
+
/** 18, 24, 38. The three diameters the card, the feed and a header need. */
|
|
65
|
+
export const AVATAR_SIZES = {
|
|
66
|
+
s: 18,
|
|
67
|
+
m: 24,
|
|
68
|
+
l: 38,
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* The monogram's size as a fraction of the diameter, rather than a rung of the
|
|
72
|
+
* type ramp.
|
|
73
|
+
*
|
|
74
|
+
* The ramp bottoms out at `--cg-caption`, 13px, which overflows an 18px circle
|
|
75
|
+
* carrying two letters. More to the point, this is a mark inside a fixed
|
|
76
|
+
* diameter and not running text: pinning it to the body ramp would mean a
|
|
77
|
+
* future type change breaks the circle rather than resizing the words. One
|
|
78
|
+
* ratio also means a fourth diameter is one row in the table above and nothing
|
|
79
|
+
* else. 0.44 puts m at 10.6px, which is where the console's own 24px avatar sat.
|
|
80
|
+
*/
|
|
81
|
+
const MONOGRAM_RATIO = 0.44;
|
|
82
|
+
function Avatar({ name, seed, src, alt, size = "m", monogram, className, style, ...props }) {
|
|
83
|
+
const box = AVATAR_SIZES[size];
|
|
84
|
+
const look = entityIdentityLook(seed ?? name);
|
|
85
|
+
const letters = monogram ?? entityMonogram(name);
|
|
86
|
+
// One rule, resolved once, so the three elements below cannot disagree about
|
|
87
|
+
// whether this mark is announced. See the docblock: silent by default.
|
|
88
|
+
const spoken = alt !== undefined;
|
|
89
|
+
return (_jsxs("span", { "data-slot": "avatar", "data-size": size, "data-look": look.name, ...(spoken ? { role: "img", "aria-label": alt } : { "aria-hidden": true }), className: cn("relative isolate inline-flex shrink-0 select-none items-center justify-center overflow-hidden rounded-pill font-medium", className), style: {
|
|
90
|
+
width: box,
|
|
91
|
+
height: box,
|
|
92
|
+
fontSize: Math.round(box * MONOGRAM_RATIO * 10) / 10,
|
|
93
|
+
lineHeight: 1,
|
|
94
|
+
// The identity tile's measured shade, and mixed toward --cg-ink the same
|
|
95
|
+
// way. Not mixed against --cg-surface-card: that token is `transparent`
|
|
96
|
+
// inside a purple panel, and mixing a hue into transparent gives a
|
|
97
|
+
// half-transparent hue rather than a shade.
|
|
98
|
+
background: `color-mix(in srgb, var(${look.hue}) ${look.tile}, var(--cg-ink))`,
|
|
99
|
+
color: "var(--cg-text-on-primary)",
|
|
100
|
+
...style,
|
|
101
|
+
}, ...props, children: [_jsx("span", { "data-slot": "avatar-initials", "aria-hidden": "true", children: letters }), src ? (
|
|
102
|
+
// Over the initials, never instead of them. `alt=""` when the mark is
|
|
103
|
+
// silent, so a decorative avatar does not announce a filename.
|
|
104
|
+
_jsx("img", { "data-slot": "avatar-image", src: src, alt: spoken ? alt : "", className: "absolute inset-0 size-full object-cover" })) : null] }));
|
|
105
|
+
}
|
|
106
|
+
export { Avatar };
|
|
107
|
+
//# sourceMappingURL=avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../src/blocks/avatar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;CACG,CAAA;AAIV;;;;;;;;;;GAUG;AACH,MAAM,cAAc,GAAG,IAAI,CAAA;AAE3B,SAAS,MAAM,CAAC,EACd,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,GAAG,EACH,IAAI,GAAG,GAAG,EACV,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EAuBT;IACC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;IAEhD,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAA;IAEhC,OAAO,CACL,6BACY,QAAQ,eAKP,IAAI,eACJ,IAAI,CAAC,IAAI,KAChB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAC3E,SAAS,EAAE,EAAE,CACX,wHAAwH,EACxH,SAAS,CACV,EACD,KAAK,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,cAAc,GAAG,EAAE,CAAC,GAAG,EAAE;YACpD,UAAU,EAAE,CAAC;YACb,yEAAyE;YACzE,wEAAwE;YACxE,mEAAmE;YACnE,4CAA4C;YAC5C,UAAU,EAAE,0BAA0B,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,kBAAkB;YAC9E,KAAK,EAAE,2BAA2B;YAClC,GAAG,KAAK;SACT,KACG,KAAK,aAET,4BAAgB,iBAAiB,iBAAa,MAAM,YACjD,OAAO,GACH,EACN,GAAG,CAAC,CAAC,CAAC;YACL,sEAAsE;YACtE,+DAA+D;YAC/D,2BACY,cAAc,EACxB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EACtB,SAAS,EAAC,yCAAyC,GACnD,CACH,CAAC,CAAC,CAAC,IAAI,IACH,CACR,CAAA;AACH,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -83,6 +83,12 @@ import * as React from "react";
|
|
|
83
83
|
* `minimal` below is where that is decided, and it is tied to whether a panel
|
|
84
84
|
* exists — so a card that cannot open keeps every field it ever had.
|
|
85
85
|
*
|
|
86
|
+
* What that ruling left owing, and #203 pays: three facts went off the rest
|
|
87
|
+
* state with nowhere to go — where the entity lives, that it was migrated, when
|
|
88
|
+
* it was last touched. The founder's follow-up ruling (2026-09-10) puts them in
|
|
89
|
+
* the panel, through `panelMeta`, as one small line under the creator. The slot
|
|
90
|
+
* is generic and this card names none of the three; see the prop.
|
|
91
|
+
*
|
|
86
92
|
* ## Two tiers of preview, and neither can fail dark
|
|
87
93
|
*
|
|
88
94
|
* `seed` turns the preview region on. With `seed` alone the card shows the
|
|
@@ -438,7 +444,7 @@ declare function EntityKindBadge({ kind, size, className, ...props }: Omit<React
|
|
|
438
444
|
kind: EntityKind;
|
|
439
445
|
size?: "sm" | "md";
|
|
440
446
|
}): React.JSX.Element;
|
|
441
|
-
declare function EntityCard({ title, slug, description, size, titleLines, descriptionLines, status, statusDot, headerActions, stats, seed, previewUrl, kind, reveal, openDisabledReason, dashboardHref, settingsHref, creator, href, ariaLabel, meta, footer, className, children, ...props }: Omit<React.ComponentProps<"div">, "ref" | "title"> & {
|
|
447
|
+
declare function EntityCard({ title, slug, description, size, titleLines, descriptionLines, status, statusDot, headerActions, stats, seed, previewUrl, kind, reveal, openDisabledReason, dashboardHref, settingsHref, creator, panelMeta, href, ariaLabel, meta, footer, className, children, ...props }: Omit<React.ComponentProps<"div">, "ref" | "title"> & {
|
|
442
448
|
title: string;
|
|
443
449
|
/** The entity's address, in the mono utility face. */
|
|
444
450
|
slug?: string;
|
|
@@ -571,6 +577,25 @@ declare function EntityCard({ title, slug, description, size, titleLines, descri
|
|
|
571
577
|
name: string;
|
|
572
578
|
avatar?: React.ReactNode;
|
|
573
579
|
};
|
|
580
|
+
/**
|
|
581
|
+
* The facts that used to sit on the card at rest, now that it has none: where
|
|
582
|
+
* the entity lives, that it was migrated, when it was last touched.
|
|
583
|
+
*
|
|
584
|
+
* The founder's ruling on #196, 2026-09-10. #196 stripped the rest state down
|
|
585
|
+
* to a picture, a name and a dot, which took three true things off the card
|
|
586
|
+
* with nowhere to put them; this is where they went. Rest stays minimal and
|
|
587
|
+
* the panel carries them, one hover away.
|
|
588
|
+
*
|
|
589
|
+
* The SLOT is generic and this card names none of those three. It renders one
|
|
590
|
+
* small muted line below the creator, and what goes in it is the console's —
|
|
591
|
+
* a residence line, a migration badge and a date are one caller's answer, and
|
|
592
|
+
* Pulse will have a different one.
|
|
593
|
+
*
|
|
594
|
+
* Rendered only where there is a panel to render it in, which by construction
|
|
595
|
+
* means every size except `row`: a row shows `status` and `meta` at rest
|
|
596
|
+
* already, so it has nothing to reveal and nowhere to reveal it.
|
|
597
|
+
*/
|
|
598
|
+
panelMeta?: React.ReactNode;
|
|
574
599
|
/** When set, the whole card is the target. A plain anchor: routing is yours. */
|
|
575
600
|
href?: string;
|
|
576
601
|
/** Accessible name for the whole-card link. Defaults to `title`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-card.d.ts","sourceRoot":"","sources":["../../src/blocks/entity-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"entity-card.d.ts","sourceRoot":"","sources":["../../src/blocks/entity-card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
+
import { Avatar } from "./avatar.js";
|
|
3
4
|
import { Card } from "../ui/card.js";
|
|
4
5
|
import { EntityIdentity } from "./entity-identity.js";
|
|
5
6
|
import { EntityStateDot, EntityStatus } from "./entity-status.js";
|
|
@@ -231,7 +232,7 @@ function statusDotFrom(status) {
|
|
|
231
232
|
return null;
|
|
232
233
|
return _jsx(EntityStateDot, { status: props.status, label: props.label });
|
|
233
234
|
}
|
|
234
|
-
function EntityCard({ title, slug, description, size = "default", titleLines = 2, descriptionLines = 1, status, statusDot, headerActions, stats, seed, previewUrl, kind, reveal = false, openDisabledReason, dashboardHref, settingsHref, creator, href, ariaLabel, meta, footer, className, children, ...props }) {
|
|
235
|
+
function EntityCard({ title, slug, description, size = "default", titleLines = 2, descriptionLines = 1, status, statusDot, headerActions, stats, seed, previewUrl, kind, reveal = false, openDisabledReason, dashboardHref, settingsHref, creator, panelMeta, href, ariaLabel, meta, footer, className, children, ...props }) {
|
|
235
236
|
const sized = SIZE_STYLE[size];
|
|
236
237
|
// The reveal owns the preview, so `seed` is what it needs and all it needs: a
|
|
237
238
|
// panel over nothing is not a panel. It deliberately does NOT ask for an
|
|
@@ -472,14 +473,23 @@ function EntityCard({ title, slug, description, size = "default", titleLines = 2
|
|
|
472
473
|
// for normal text, so the value is deliberately NOT adopted — see the
|
|
473
474
|
// note in the PR. The muted rung is 3.69:1 and is out for the same
|
|
474
475
|
// reason.
|
|
475
|
-
className: cn("m-0 text-caption text-body", size === "compact" ? "truncate" : "line-clamp-2"), children: description })) : null, !openLive && openDisabledReason ? (_jsx("p", { "data-slot": "entity-card-reveal-reason", dir: "auto", "aria-hidden": "true", className: "m-0 truncate text-caption text-body", children: openDisabledReason })) : null, creator || headerActions ? (_jsxs("div", { className: "flex min-w-0 items-center justify-between gap-2", children: [creator ? (_jsxs("span", { "data-slot": "entity-card-reveal-creator", className: "flex min-w-0 items-center gap-1 text-caption text-ink", children: [creator.avatar ? (_jsx("span", { "aria-hidden": "true", className: "inline-flex size-6 shrink-0 overflow-hidden rounded-pill [&>*]:size-full", children: creator.avatar })) :
|
|
476
|
+
className: cn("m-0 text-caption text-body", size === "compact" ? "truncate" : "line-clamp-2"), children: description })) : null, !openLive && openDisabledReason ? (_jsx("p", { "data-slot": "entity-card-reveal-reason", dir: "auto", "aria-hidden": "true", className: "m-0 truncate text-caption text-body", children: openDisabledReason })) : null, creator || headerActions ? (_jsxs("div", { className: "flex min-w-0 items-center justify-between gap-2", children: [creator ? (_jsxs("span", { "data-slot": "entity-card-reveal-creator", className: "flex min-w-0 items-center gap-1 text-caption text-ink", children: [creator.avatar ? (_jsx("span", { "aria-hidden": "true", className: "inline-flex size-6 shrink-0 overflow-hidden rounded-pill [&>*]:size-full", children: creator.avatar })) : (
|
|
477
|
+
// The library's own mark, at the size this box was already
|
|
478
|
+
// holding. It renders OUTSIDE that wrapper deliberately: the
|
|
479
|
+
// wrapper exists to force an arbitrary caller node to 24px with
|
|
480
|
+
// `size-full`, and an `Avatar` carries its own width, so nesting
|
|
481
|
+
// the two would be two sizing systems arguing over one element.
|
|
482
|
+
//
|
|
483
|
+
// A creator with no picture used to render a name with a gap
|
|
484
|
+
// where every neighbouring row had a mark. #203.
|
|
485
|
+
_jsx(Avatar, { name: creator.name, size: "m" })), _jsx("span", { className: "truncate", children: creator.name })] })) : (_jsx("span", {})), headerActions ? (_jsx("div", { "data-slot": "entity-card-actions", className: cn(
|
|
476
486
|
// relative z-10 to sit above Open's stretched layer, so a tap on
|
|
477
487
|
// the pin toggle reaches the toggle.
|
|
478
488
|
"relative z-10 flex shrink-0 items-center gap-1",
|
|
479
489
|
// And dead while the panel cannot be seen, which is Dashboard's
|
|
480
490
|
// rule and #171's: an invisible control that behaves differently
|
|
481
491
|
// from the pixels around it is a trap a reader cannot see.
|
|
482
|
-
"pointer-events-none group-hover/card:pointer-events-auto group-focus-within/card:pointer-events-auto"), children: headerActions })) : null] })) : null] })) : null;
|
|
492
|
+
"pointer-events-none group-hover/card:pointer-events-auto group-focus-within/card:pointer-events-auto"), children: headerActions })) : null] })) : null, panelMeta ? (_jsx("div", { "data-slot": "entity-card-panel-meta", dir: "auto", className: "flex min-w-0 items-center gap-1.5 truncate text-caption text-body", children: panelMeta })) : null] })) : null;
|
|
483
493
|
/**
|
|
484
494
|
* THE ROW. The same card, running across instead of down.
|
|
485
495
|
*
|
|
@@ -525,7 +535,13 @@ function EntityCard({ title, slug, description, size = "default", titleLines = 2
|
|
|
525
535
|
// sharing the card's top edge. Its own hairline is gone with the
|
|
526
536
|
// restyle: the card has one now, and two lines 3px apart read as a
|
|
527
537
|
// mistake.
|
|
528
|
-
cn("aspect-[159/92] overflow-hidden rounded-sm", ROW_THUMBNAIL), "sm"), _jsx("div", { className: cn("flex w-0 min-w-0 flex-1 flex-col", sized.body), children: children ?? (_jsxs(_Fragment, { children: [_jsxs("span", { dir: "auto", "data-slot": "entity-card-title", title: title, className: cn("block truncate font-medium text-ink", sized.title), children: [kind && !seed ? (_jsx(EntityKindBadge, { kind: kind, size: "sm", className: "mr-1.5 align-[-0.2em]" })) : null, title] }), slug ? (_jsx("span", { dir: "auto", "data-slot": "entity-card-slug", title: slug, className: "block truncate font-mono text-caption text-faint", children: slug })) : null, description ? (_jsx("p", { dir: "auto", "data-slot": "entity-card-description", title: description, className: cn("m-0 truncate text-body", sized.description), children: description })) : null, creator || meta ? (_jsxs("div", { className: "flex min-w-0 items-center gap-2 text-caption text-body", children: [creator ? (_jsxs("span", { "data-slot": "entity-card-creator", className: "flex min-w-0 items-center gap-1.5", children: [creator.avatar ? (_jsx("span", { "aria-hidden": "true", className: "inline-flex size-4 shrink-0 overflow-hidden rounded-pill [&>*]:size-full", children: creator.avatar })) :
|
|
538
|
+
cn("aspect-[159/92] overflow-hidden rounded-sm", ROW_THUMBNAIL), "sm"), _jsx("div", { className: cn("flex w-0 min-w-0 flex-1 flex-col", sized.body), children: children ?? (_jsxs(_Fragment, { children: [_jsxs("span", { dir: "auto", "data-slot": "entity-card-title", title: title, className: cn("block truncate font-medium text-ink", sized.title), children: [kind && !seed ? (_jsx(EntityKindBadge, { kind: kind, size: "sm", className: "mr-1.5 align-[-0.2em]" })) : null, title] }), slug ? (_jsx("span", { dir: "auto", "data-slot": "entity-card-slug", title: slug, className: "block truncate font-mono text-caption text-faint", children: slug })) : null, description ? (_jsx("p", { dir: "auto", "data-slot": "entity-card-description", title: description, className: cn("m-0 truncate text-body", sized.description), children: description })) : null, creator || meta ? (_jsxs("div", { className: "flex min-w-0 items-center gap-2 text-caption text-body", children: [creator ? (_jsxs("span", { "data-slot": "entity-card-creator", className: "flex min-w-0 items-center gap-1.5", children: [creator.avatar ? (_jsx("span", { "aria-hidden": "true", className: "inline-flex size-4 shrink-0 overflow-hidden rounded-pill [&>*]:size-full", children: creator.avatar })) : (
|
|
539
|
+
// 18px, the smallest the mark comes, against the 16px
|
|
540
|
+
// box a caller's own node is forced into. Two pixels,
|
|
541
|
+
// and they are the right two: `s` is a size the block
|
|
542
|
+
// declares and 16 is a number this row happened to pick
|
|
543
|
+
// for a slot that had to hold anything at all.
|
|
544
|
+
_jsx(Avatar, { name: creator.name, size: "s" })), _jsx("span", { className: "truncate", children: creator.name })] })) : null, meta] })) : null] })) }), _jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [status ? _jsx("span", { className: "shrink-0", children: status }) : null, headerActions ? (_jsx("div", { "data-slot": "entity-card-actions", className: "relative z-10 flex shrink-0 items-center gap-1", children: headerActions })) : null, _jsx("div", { "data-slot": "entity-card-row-actions", className: cn("flex shrink-0 items-center gap-2",
|
|
529
545
|
// The row's whole hover behaviour, and all of it: the
|
|
530
546
|
// information is already on screen, so what arrives is the two
|
|
531
547
|
// actions and nothing else.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-card.js","sourceRoot":"","sources":["../../src/blocks/entity-card.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entity-card.js","sourceRoot":"","sources":["../../src/blocks/entity-card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Card } from "../ui/card.js";
|
|
2
|
+
/**
|
|
3
|
+
* One post: somebody said something about a thing, at a time.
|
|
4
|
+
*
|
|
5
|
+
* The shape cloudgrid-console#677 needed and the library did not have, so the
|
|
6
|
+
* console composed its own from `Card` + a local `Avatar` + `EntityKindBadge` +
|
|
7
|
+
* `Chip` + a relative-time helper (`components/feedback/FeedbackPost.tsx`). That
|
|
8
|
+
* composition was the right interim — no new tokens, no invented values, every
|
|
9
|
+
* mark the library's own — and it is also a shape three surfaces want, with the
|
|
10
|
+
* console currently holding the only definition of it. Pulse and the entity
|
|
11
|
+
* feedback tab are the next two.
|
|
12
|
+
*
|
|
13
|
+
* The arrangement here is that component's, on purpose: the console swaps to
|
|
14
|
+
* this block without redesigning anything, and the two renderings of a post do
|
|
15
|
+
* not diverge for a release while everyone waits.
|
|
16
|
+
*
|
|
17
|
+
* ## It knows no vocabulary, and that is the whole design
|
|
18
|
+
*
|
|
19
|
+
* Every part of a post that carries product words is a NODE:
|
|
20
|
+
*
|
|
21
|
+
* - **`time`** — the library has no clock. `formatRelative` and the exact
|
|
22
|
+
* timestamp behind its `title` belong to the caller.
|
|
23
|
+
* - **`context`** — a kind badge and a link to the entity, composed by the
|
|
24
|
+
* caller. Which means the TOMBSTONE needs nothing here: an entity that was
|
|
25
|
+
* deleted or is no longer reachable is a different node in the same slot, and
|
|
26
|
+
* the words somebody wrote about it still render. A block that owned the link
|
|
27
|
+
* would have had to own that sentence too.
|
|
28
|
+
* - **`corner`** — the category label. The console passes Bug / Idea / Praise /
|
|
29
|
+
* Question / Note through `Chip`; another surface will pass something else.
|
|
30
|
+
* - **the body** — including a reaction. #203 is explicit that a reaction
|
|
31
|
+
* arrives as a node and this block owns no table for one: the library's
|
|
32
|
+
* reaction marks are a different set from the wire's `up` / `down`, and §23
|
|
33
|
+
* forbids thumbs, so the shipped words are "Liked" and "Disliked". A reaction
|
|
34
|
+
* with no message is a post too.
|
|
35
|
+
* - **`actions`** — a reply control, a resolve toggle, a menu. Optional, and the
|
|
36
|
+
* caller's.
|
|
37
|
+
*
|
|
38
|
+
* What is left for the block to own is the arrangement, which is the part three
|
|
39
|
+
* surfaces would otherwise each get slightly wrong.
|
|
40
|
+
*
|
|
41
|
+
* ## An unattributed post is a post
|
|
42
|
+
*
|
|
43
|
+
* `author.name` may be absent — an anonymous submission has no user to name —
|
|
44
|
+
* and the row still renders, with `unattributed` in the name's place rather than
|
|
45
|
+
* a blank, a collapsed lockup or a dropped post. It defaults to the word
|
|
46
|
+
* "Anonymous", which is plain, is what the console ships, and is the one piece
|
|
47
|
+
* of copy here that is not the caller's; pass the prop to say it differently.
|
|
48
|
+
*
|
|
49
|
+
* ## It is one post, and it fetches nothing
|
|
50
|
+
*
|
|
51
|
+
* No list, no order, no merge, no pagination — #203's "what it should NOT do".
|
|
52
|
+
* The caller owns the feed.
|
|
53
|
+
*/
|
|
54
|
+
/** How many lines the body is allowed. Unset means the whole thing. */
|
|
55
|
+
declare const BODY_CLAMP: {
|
|
56
|
+
readonly 1: "line-clamp-1";
|
|
57
|
+
readonly 2: "line-clamp-2";
|
|
58
|
+
readonly 3: "line-clamp-3";
|
|
59
|
+
};
|
|
60
|
+
export type FeedPostBodyLines = keyof typeof BODY_CLAMP;
|
|
61
|
+
declare function FeedPost({ author, unattributed, time, context, corner, bodyLines, actions, className, children, ...props }: Omit<React.ComponentProps<typeof Card>, "title"> & {
|
|
62
|
+
/**
|
|
63
|
+
* Who wrote it. `avatar` is a node, the way `EntityCard`'s creator slot is, so
|
|
64
|
+
* a caller with a real picture passes one; a caller with only a name gets an
|
|
65
|
+
* `Avatar` derived from it and does not have to reach for the block itself.
|
|
66
|
+
*
|
|
67
|
+
* `name` may be absent. See `unattributed`.
|
|
68
|
+
*/
|
|
69
|
+
author?: {
|
|
70
|
+
name?: string;
|
|
71
|
+
avatar?: React.ReactNode;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* What stands in for a missing name. Defaults to "Anonymous", set in italic so
|
|
75
|
+
* it reads as a state rather than as somebody actually called that.
|
|
76
|
+
*/
|
|
77
|
+
unattributed?: React.ReactNode;
|
|
78
|
+
/** When, as the caller formats it. Usually relative, with the exact time on `title`. */
|
|
79
|
+
time?: React.ReactNode;
|
|
80
|
+
/** What the post is about: a kind badge and a link, or a tombstone. */
|
|
81
|
+
context?: React.ReactNode;
|
|
82
|
+
/** The far end of the byline. A category label. */
|
|
83
|
+
corner?: React.ReactNode;
|
|
84
|
+
/**
|
|
85
|
+
* Clamps the body.
|
|
86
|
+
*
|
|
87
|
+
* A feed shows a post whole and passes nothing. A PREVIEW of that feed — three
|
|
88
|
+
* posts on Home — passes 3, so one person's essay does not become the whole
|
|
89
|
+
* section.
|
|
90
|
+
*/
|
|
91
|
+
bodyLines?: FeedPostBodyLines;
|
|
92
|
+
/** An optional row under the body. Reply, resolve, a menu. */
|
|
93
|
+
actions?: React.ReactNode;
|
|
94
|
+
/** The post itself. A message, a reaction, both. */
|
|
95
|
+
children?: React.ReactNode;
|
|
96
|
+
}): import("react").JSX.Element;
|
|
97
|
+
export { FeedPost };
|
|
98
|
+
//# sourceMappingURL=feed-post.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feed-post.d.ts","sourceRoot":"","sources":["../../src/blocks/feed-post.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,uEAAuE;AACvE,QAAA,MAAM,UAAU;;;;CAIN,CAAA;AAEV,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,UAAU,CAAA;AAEvD,iBAAS,QAAQ,CAAC,EAChB,MAAM,EACN,YAA0B,EAC1B,IAAI,EACJ,OAAO,EACP,MAAM,EACN,SAAS,EACT,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG;IACpD;;;;;;OAMG;IACH,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAA;IACpD;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,wFAAwF;IACxF,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,uEAAuE;IACvE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,mDAAmD;IACnD,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAA;IAC7B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,+BA4FA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../lib/cloudgrid-cn.js";
|
|
3
|
+
import { Avatar } from "./avatar.js";
|
|
4
|
+
import { Card } from "../ui/card.js";
|
|
5
|
+
/**
|
|
6
|
+
* One post: somebody said something about a thing, at a time.
|
|
7
|
+
*
|
|
8
|
+
* The shape cloudgrid-console#677 needed and the library did not have, so the
|
|
9
|
+
* console composed its own from `Card` + a local `Avatar` + `EntityKindBadge` +
|
|
10
|
+
* `Chip` + a relative-time helper (`components/feedback/FeedbackPost.tsx`). That
|
|
11
|
+
* composition was the right interim — no new tokens, no invented values, every
|
|
12
|
+
* mark the library's own — and it is also a shape three surfaces want, with the
|
|
13
|
+
* console currently holding the only definition of it. Pulse and the entity
|
|
14
|
+
* feedback tab are the next two.
|
|
15
|
+
*
|
|
16
|
+
* The arrangement here is that component's, on purpose: the console swaps to
|
|
17
|
+
* this block without redesigning anything, and the two renderings of a post do
|
|
18
|
+
* not diverge for a release while everyone waits.
|
|
19
|
+
*
|
|
20
|
+
* ## It knows no vocabulary, and that is the whole design
|
|
21
|
+
*
|
|
22
|
+
* Every part of a post that carries product words is a NODE:
|
|
23
|
+
*
|
|
24
|
+
* - **`time`** — the library has no clock. `formatRelative` and the exact
|
|
25
|
+
* timestamp behind its `title` belong to the caller.
|
|
26
|
+
* - **`context`** — a kind badge and a link to the entity, composed by the
|
|
27
|
+
* caller. Which means the TOMBSTONE needs nothing here: an entity that was
|
|
28
|
+
* deleted or is no longer reachable is a different node in the same slot, and
|
|
29
|
+
* the words somebody wrote about it still render. A block that owned the link
|
|
30
|
+
* would have had to own that sentence too.
|
|
31
|
+
* - **`corner`** — the category label. The console passes Bug / Idea / Praise /
|
|
32
|
+
* Question / Note through `Chip`; another surface will pass something else.
|
|
33
|
+
* - **the body** — including a reaction. #203 is explicit that a reaction
|
|
34
|
+
* arrives as a node and this block owns no table for one: the library's
|
|
35
|
+
* reaction marks are a different set from the wire's `up` / `down`, and §23
|
|
36
|
+
* forbids thumbs, so the shipped words are "Liked" and "Disliked". A reaction
|
|
37
|
+
* with no message is a post too.
|
|
38
|
+
* - **`actions`** — a reply control, a resolve toggle, a menu. Optional, and the
|
|
39
|
+
* caller's.
|
|
40
|
+
*
|
|
41
|
+
* What is left for the block to own is the arrangement, which is the part three
|
|
42
|
+
* surfaces would otherwise each get slightly wrong.
|
|
43
|
+
*
|
|
44
|
+
* ## An unattributed post is a post
|
|
45
|
+
*
|
|
46
|
+
* `author.name` may be absent — an anonymous submission has no user to name —
|
|
47
|
+
* and the row still renders, with `unattributed` in the name's place rather than
|
|
48
|
+
* a blank, a collapsed lockup or a dropped post. It defaults to the word
|
|
49
|
+
* "Anonymous", which is plain, is what the console ships, and is the one piece
|
|
50
|
+
* of copy here that is not the caller's; pass the prop to say it differently.
|
|
51
|
+
*
|
|
52
|
+
* ## It is one post, and it fetches nothing
|
|
53
|
+
*
|
|
54
|
+
* No list, no order, no merge, no pagination — #203's "what it should NOT do".
|
|
55
|
+
* The caller owns the feed.
|
|
56
|
+
*/
|
|
57
|
+
/** How many lines the body is allowed. Unset means the whole thing. */
|
|
58
|
+
const BODY_CLAMP = {
|
|
59
|
+
1: "line-clamp-1",
|
|
60
|
+
2: "line-clamp-2",
|
|
61
|
+
3: "line-clamp-3",
|
|
62
|
+
};
|
|
63
|
+
function FeedPost({ author, unattributed = "Anonymous", time, context, corner, bodyLines, actions, className, children, ...props }) {
|
|
64
|
+
const named = Boolean(author?.name);
|
|
65
|
+
// Resolved once rather than at the render site: a caller's own node wins, and
|
|
66
|
+
// a name with no picture still gets a mark instead of a gap where one is in
|
|
67
|
+
// every row beside it.
|
|
68
|
+
const mark = author
|
|
69
|
+
? (author.avatar ?? (author.name ? _jsx(Avatar, { name: author.name, size: "m" }) : null))
|
|
70
|
+
: null;
|
|
71
|
+
return (_jsxs(Card, { "data-slot": "feed-post",
|
|
72
|
+
// `role`, not an `as` prop. This library's `Card` is a div and does not
|
|
73
|
+
// take a tag, and forking it for one block would be a worse trade than
|
|
74
|
+
// declaring the semantics: a reader of a feed gets the same article
|
|
75
|
+
// boundary either way. The console's own composition used `as="article"`
|
|
76
|
+
// because its local Card happens to carry that prop.
|
|
77
|
+
role: "article",
|
|
78
|
+
// px too. `Card` pads on the Y axis only and leaves X to `CardHeader` and
|
|
79
|
+
// `CardContent`, neither of which a post uses: its whole body is one
|
|
80
|
+
// avatar beside one column. Without this the words start at the hairline.
|
|
81
|
+
className: cn("flex flex-row items-start gap-3 px-(--card-spacing)", className), ...props, children: [mark ? (_jsx("span", { "data-slot": "feed-post-avatar", "aria-hidden": "true", className: "inline-flex size-6 shrink-0 overflow-hidden rounded-pill", children: mark })) : null, _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-1.5", children: [_jsxs("div", { className: "flex flex-wrap items-baseline gap-2", children: [_jsx("span", { "data-slot": "feed-post-author", dir: "auto", className: cn("min-w-0 truncate text-body-sm font-medium text-ink", !named && "italic"), children: named ? author?.name : unattributed }), time ? (
|
|
82
|
+
// text-body, not text-faint: the muted rung measures under the AA
|
|
83
|
+
// floor for normal text on this card, the same finding that keeps
|
|
84
|
+
// the entity card's panel description on this rung.
|
|
85
|
+
_jsx("span", { "data-slot": "feed-post-time", className: "shrink-0 text-caption text-body", children: time })) : null, corner ? (_jsx("span", { "data-slot": "feed-post-corner", className: "ms-auto shrink-0", children: corner })) : null] }), context ? (_jsx("div", { "data-slot": "feed-post-context", className: "flex min-w-0 items-center gap-2 text-body-sm", children: context })) : null, children ? (_jsx("div", { "data-slot": "feed-post-body", dir: "auto", className: cn("min-w-0 text-body-sm break-words text-ink", bodyLines ? BODY_CLAMP[bodyLines] : undefined), children: children })) : null, actions ? (_jsx("div", { "data-slot": "feed-post-actions", className: "flex flex-wrap items-center gap-2", children: actions })) : null] })] }));
|
|
86
|
+
}
|
|
87
|
+
export { FeedPost };
|
|
88
|
+
//# sourceMappingURL=feed-post.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feed-post.js","sourceRoot":"","sources":["../../src/blocks/feed-post.tsx"],"names":[],"mappings":"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"}
|