@ag2/weave 0.11.0 → 0.12.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.
@@ -0,0 +1,5 @@
1
+ export declare const ActivityHeader: string;
2
+ export declare const TitleRow: string;
3
+ export declare const Title: string;
4
+ export declare const Controls: string;
5
+ export declare const Spacer: string;
@@ -0,0 +1,11 @@
1
+ import React, { ReactNode } from "react";
2
+ export declare type ActivityHeaderProps = {
3
+ title: string;
4
+ /** After the title: the ••• menu and close. */
5
+ actions?: ReactNode;
6
+ /** The filters, left: who (All · You · Agents). */
7
+ filters?: ReactNode;
8
+ /** The filters, right: Unread only. */
9
+ after?: ReactNode;
10
+ };
11
+ export declare const ActivityHeader: <T extends React.ElementType<any> = "div">(props: import("..").AsOutProps<T, ActivityHeaderProps>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
@@ -0,0 +1,18 @@
1
+ export declare const ActivityItem: string;
2
+ export declare const SelectedBar: string;
3
+ export declare const Main: string;
4
+ export declare const Head: string;
5
+ export declare const Face: string;
6
+ export declare const Name: string;
7
+ export declare const What: string;
8
+ export declare const Time: string;
9
+ export declare const UnreadDot: string;
10
+ export declare const Indented: string;
11
+ export declare const Body: string;
12
+ export declare const Replies: string;
13
+ export declare const RepliesUnread: string;
14
+ export declare const ObjectRow: string;
15
+ export declare const Actions: string;
16
+ export declare const Attention: string;
17
+ export declare const AttentionBreathing: string;
18
+ export declare const Action: string;
@@ -0,0 +1,43 @@
1
+ import React, { ReactNode } from "react";
2
+ import { IconSrc } from "../icon";
3
+ export declare type ActivityItemProps = {
4
+ /** The person's or agent's face, 20px. */
5
+ avatar: ReactNode;
6
+ name: string;
7
+ /** What happened, after the name: "mentioned you", "updated a Commons doc". */
8
+ what: string;
9
+ time: string;
10
+ /** The message, three lines at most. */
11
+ body?: ReactNode;
12
+ unread?: boolean;
13
+ /** Read items set their text in a quieter ink. */
14
+ read?: boolean;
15
+ /** Needs you: a still warm dot in the margin; "breathing" on the first one only. */
16
+ attention?: "still" | "breathing";
17
+ /** Its message is the one highlighted in the chat. */
18
+ selected?: boolean;
19
+ /** "2 replies · 1 unread": total and the unread part, which reads in the unread ink. */
20
+ replies?: {
21
+ total: string;
22
+ unread?: string;
23
+ onOpen?: () => void;
24
+ };
25
+ /** A page the action happened on (a Commons chip). */
26
+ object?: ReactNode;
27
+ /** Reply, Jump, Mark read: shown on hover and focus, or always with `actionsShown`. */
28
+ actions?: ReactNode;
29
+ actionsShown?: boolean;
30
+ /** Clicking the item's text: jump to the message in the chat. */
31
+ onOpen?: () => void;
32
+ /** The accessible name of the item's main target; "unread" and "needs you" are appended to it. */
33
+ label?: string;
34
+ };
35
+ export declare const ActivityItem: <T extends React.ElementType<any> = "div">(props: import("..").AsOutProps<T, ActivityItemProps>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
36
+ export declare type ActivityItemActionProps = {
37
+ label: string;
38
+ /** Icon-only actions take a glyph; labelled ones show the label. */
39
+ icon?: IconSrc;
40
+ /** The one always-shown action on the item that needs you first. */
41
+ primary?: boolean;
42
+ };
43
+ export declare const ActivityItemAction: <T extends React.ElementType<any> = "button">(props: import("..").AsOutProps<T, ActivityItemActionProps>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
@@ -0,0 +1,2 @@
1
+ export * from "./ActivityItem";
2
+ export * from "./ActivityHeader";
@@ -4,7 +4,7 @@ declare type AvatarContentProps = {
4
4
  kind?: AvatarKind;
5
5
  };
6
6
  export declare const Avatar: <T extends React.ElementType<any> = "span">(props: Omit<React.PropsWithChildren<React.ComponentPropsWithRef<T>>, "as"> & {
7
- size?: "large" | "inline" | "compact" | "200" | "300" | "400" | "500" | "stack" | "standard" | "hero" | "profile" | undefined;
7
+ size?: "large" | "inline" | "compact" | "200" | "300" | "400" | "500" | "standard" | "stack" | "hero" | "profile" | undefined;
8
8
  radii?: "0" | "300" | "400" | "500" | "Pill" | "Inherit" | undefined;
9
9
  } & import("..").AsProp<T>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
10
10
  export declare const AvatarImage: <T extends React.ElementType<any> = "img">(props: import("..").AsOutProps<T, AvatarContentProps>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
@@ -8,5 +8,5 @@ export declare const Icon: React.ForwardRefExoticComponent<React.SVGAttributes<S
8
8
  filled?: boolean | undefined;
9
9
  src: IconSrc;
10
10
  } & {
11
- size?: "small" | "compact" | "100" | "200" | "300" | "400" | "500" | "600" | "standard" | "Inherit" | "50" | undefined;
11
+ size?: "small" | "compact" | "100" | "200" | "300" | "400" | "500" | "600" | "Inherit" | "standard" | "50" | undefined;
12
12
  } & React.RefAttributes<SVGSVGElement>>;
@@ -65,3 +65,4 @@ export * from "./commons-tabs";
65
65
  export * from "./surface-toolbar";
66
66
  export * from "./dock";
67
67
  export * from "./inspector-tabs";
68
+ export * from "./activity-item";
@@ -10,6 +10,8 @@ export declare type PanelSwitchProps = {
10
10
  countStyle?: "Plain" | "Pill";
11
11
  /** Keep the name visible while closed (Commons). */
12
12
  labelled?: boolean;
13
+ /** Never show the name, even when open: a narrow header. The pressed fill shows it is open. */
14
+ iconOnly?: boolean;
13
15
  /** Something in this panel needs you; shown while closed. */
14
16
  attention?: boolean;
15
17
  };
@@ -13,7 +13,7 @@ export declare const SidebarAvatar: <T extends React.ElementType<any> = "div">(p
13
13
  size?: "200" | "300" | "400" | undefined;
14
14
  outlined?: boolean | undefined;
15
15
  } & Omit<any, "as"> & {
16
- size?: "large" | "inline" | "compact" | "200" | "300" | "400" | "500" | "stack" | "standard" | "hero" | "profile" | undefined;
16
+ size?: "large" | "inline" | "compact" | "200" | "300" | "400" | "500" | "standard" | "stack" | "hero" | "profile" | undefined;
17
17
  radii?: "0" | "300" | "400" | "500" | "Pill" | "Inherit" | undefined;
18
18
  } & import("..").AsProp<React.ElementType<any>>>) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
19
19
  export declare const SidebarFolder: <T extends React.ElementType<any> = "div">(props: Omit<React.PropsWithChildren<React.ComponentPropsWithRef<T>>, "as"> & {
package/dist/index.js CHANGED
@@ -6124,7 +6124,7 @@ const Input = forwardRef(
6124
6124
  }
6125
6125
  );
6126
6126
  const Form_css_ts_vanilla = "";
6127
- var Body$1 = "_1699xxt1";
6127
+ var Body$2 = "_1699xxt1";
6128
6128
  var Card = "_1699xxt8";
6129
6129
  var CardTone = createRuntimeFn({ defaultClassName: "", variantClassNames: { variant: { Surface: "_1699xxt9", SurfaceVariant: "_1699xxta", Background: "_1699xxtb", Primary: "_1699xxtc", Secondary: "_1699xxtd", Success: "_1699xxte", Warning: "_1699xxtf", Critical: "_1699xxtg" } }, defaultVariants: {}, compoundVariants: [] });
6130
6130
  var Children = "_1699xxt4";
@@ -6147,7 +6147,7 @@ const FormRow = forwardRef(
6147
6147
  }) : after;
6148
6148
  return /* @__PURE__ */ jsx(FormContext.Provider, { value: context, children: /* @__PURE__ */ jsxs("div", { ref, ...props, "data-weave-form-row": true, className: classNames(Row$1, className), children: [
6149
6149
  before && /* @__PURE__ */ jsx("div", { "data-weave-form-before": true, children: before }),
6150
- /* @__PURE__ */ jsxs("div", { className: Body$1, "data-weave-form-body": true, children: [
6150
+ /* @__PURE__ */ jsxs("div", { className: Body$2, "data-weave-form-body": true, children: [
6151
6151
  title && /* @__PURE__ */ jsx("div", { className: Label$4, id: labelId, children: title }),
6152
6152
  description && /* @__PURE__ */ jsx("div", { className: Description$1, id: descriptionId, children: description }),
6153
6153
  children && /* @__PURE__ */ jsx("div", { className: Children, "data-weave-form-children": true, children })
@@ -16893,14 +16893,14 @@ const UnreadBadge = as(
16893
16893
  const ActivityRow_css_ts_vanilla = "";
16894
16894
  var ActivityRow$1 = createRuntimeFn({ defaultClassName: "_3hdcuo0 _8nex5a1 _8nex5a0 x4g6300 x4g6301", variantClassNames: { layout: { panel: "_3hdcuo1", card: "_3hdcuo2" }, unread: { true: "_3hdcuo3" }, read: { true: "_3hdcuo4" }, selected: { true: "_3hdcuo5" } }, defaultVariants: { layout: "panel" }, compoundVariants: [] });
16895
16895
  var Avatar = "_3hdcuo6";
16896
- var Body = "_3hdcuo7";
16896
+ var Body$1 = "_3hdcuo7";
16897
16897
  var Footer$1 = "_3hdcuoh";
16898
16898
  var Header = "_3hdcuo8";
16899
16899
  var Meta = "_3hdcuoi";
16900
16900
  var Preview = "_3hdcuog";
16901
16901
  var Reason = createRuntimeFn({ defaultClassName: "_3hdcuo9", variantClassNames: { tone: { you: "_3hdcuoa", agent: "_3hdcuob", participant: "_3hdcuoc" } }, defaultVariants: {}, compoundVariants: [] });
16902
- var Time = "_3hdcuoe";
16903
- var Title = "_3hdcuof";
16902
+ var Time$1 = "_3hdcuoe";
16903
+ var Title$1 = "_3hdcuof";
16904
16904
  var Where = "_3hdcuod";
16905
16905
  const ActivityRow = as(
16906
16906
  ({
@@ -16934,7 +16934,7 @@ const ActivityRow = as(
16934
16934
  ref,
16935
16935
  children: [
16936
16936
  /* @__PURE__ */ jsx("span", { className: Avatar, children: avatar }),
16937
- /* @__PURE__ */ jsxs("span", { className: Body, children: [
16937
+ /* @__PURE__ */ jsxs("span", { className: Body$1, children: [
16938
16938
  /* @__PURE__ */ jsxs("span", { className: Header, children: [
16939
16939
  /* @__PURE__ */ jsx("span", { className: Reason({ tone: read ? "participant" : reasonTone }), children: reason2 }),
16940
16940
  /* @__PURE__ */ jsxs("span", { className: Where, children: [
@@ -16942,7 +16942,7 @@ const ActivityRow = as(
16942
16942
  where
16943
16943
  ] })
16944
16944
  ] }),
16945
- layout === "card" && title && /* @__PURE__ */ jsx("span", { className: Title, children: title }),
16945
+ layout === "card" && title && /* @__PURE__ */ jsx("span", { className: Title$1, children: title }),
16946
16946
  /* @__PURE__ */ jsx("span", { className: Preview, children: preview }),
16947
16947
  /* @__PURE__ */ jsxs("span", { className: Footer$1, children: [
16948
16948
  !read && (count2 > 0 || unread > 0) && /* @__PURE__ */ jsx(UnreadBadgeCenter, { children: /* @__PURE__ */ jsx(
@@ -16956,7 +16956,7 @@ const ActivityRow = as(
16956
16956
  unreadLabel && /* @__PURE__ */ jsx("span", { children: unreadLabel }),
16957
16957
  meta2 && /* @__PURE__ */ jsx("span", { className: Meta, children: meta2 })
16958
16958
  ] }),
16959
- /* @__PURE__ */ jsx("span", { className: Time, children: time })
16959
+ /* @__PURE__ */ jsx("span", { className: Time$1, children: time })
16960
16960
  ] })
16961
16961
  ]
16962
16962
  }
@@ -17169,7 +17169,7 @@ const EmptyState = as(
17169
17169
  }, ref) => /* @__PURE__ */ jsx(Component, { className: classNames(EmptyState$1, className), ...props, ref, children: /* @__PURE__ */ jsx(PageHeroEmpty, { compact, children: /* @__PURE__ */ jsx(PageHero, { icon: icon2, title, subTitle: description ?? subTitle, children: action2 ?? children }) }) })
17170
17170
  );
17171
17171
  const PanelSwitch_css_ts_vanilla = "";
17172
- var Attention = "e7d7gk4";
17172
+ var Attention$1 = "e7d7gk4";
17173
17173
  var Count = "e7d7gk5";
17174
17174
  var CountPill = "e7d7gk6";
17175
17175
  var Folds = "e7d7gk9";
@@ -17195,12 +17195,13 @@ const PanelSwitch = as(
17195
17195
  count: count2,
17196
17196
  countStyle = "Plain",
17197
17197
  labelled = false,
17198
+ iconOnly = false,
17198
17199
  attention = false,
17199
17200
  className,
17200
17201
  ...props
17201
17202
  }, ref) => {
17202
17203
  const hasCount = count2 !== void 0 && count2 > 0;
17203
- const showLabel = selected || labelled;
17204
+ const showLabel = (selected || labelled) && !iconOnly;
17204
17205
  const showCount = showLabel && hasCount;
17205
17206
  const countPill = showCount && selected && countStyle === "Pill";
17206
17207
  const name = [
@@ -17216,7 +17217,8 @@ const PanelSwitch = as(
17216
17217
  "aria-label": name,
17217
17218
  title: label,
17218
17219
  "data-selected": selected || void 0,
17219
- "data-labelled": labelled || void 0,
17220
+ "data-labelled": labelled && !iconOnly || void 0,
17221
+ "data-icon-only": iconOnly || void 0,
17220
17222
  "data-count-pill": countPill || void 0,
17221
17223
  className: classNames(PanelSwitch$1, className),
17222
17224
  ...props,
@@ -17224,7 +17226,7 @@ const PanelSwitch = as(
17224
17226
  children: [
17225
17227
  /* @__PURE__ */ jsxs("span", { className: Glyph, children: [
17226
17228
  /* @__PURE__ */ jsx(Icon$2, { src: icon2, size: "compact" }),
17227
- attention && !selected && /* @__PURE__ */ jsx("span", { className: Attention })
17229
+ attention && !selected && /* @__PURE__ */ jsx("span", { className: Attention$1 })
17228
17230
  ] }),
17229
17231
  showLabel && /* @__PURE__ */ jsx(Text, { as: "span", size: "H6", className: classNames(Label, Folds), "aria-hidden": true, children: label }),
17230
17232
  showCount && /* @__PURE__ */ jsx(
@@ -17243,14 +17245,14 @@ const PanelSwitch = as(
17243
17245
  }
17244
17246
  );
17245
17247
  const PeopleLine_css_ts_vanilla = "";
17246
- var Face = "kev8vj2";
17248
+ var Face$1 = "kev8vj2";
17247
17249
  var Faces = "kev8vj1";
17248
17250
  var Live = "kev8vj3";
17249
17251
  var PeopleLine$1 = "kev8vj0 _8nex5a1 _8nex5a0";
17250
17252
  var Summary = "kev8vj4";
17251
17253
  var Working = "kev8vj6";
17252
17254
  const PeopleLineFace = as(
17253
- ({ as: Component = "span", size: size2 = "small", className, ...props }, ref) => /* @__PURE__ */ jsx(Component, { "data-size": size2, className: classNames(Face, className), ...props, ref })
17255
+ ({ as: Component = "span", size: size2 = "small", className, ...props }, ref) => /* @__PURE__ */ jsx(Component, { "data-size": size2, className: classNames(Face$1, className), ...props, ref })
17254
17256
  );
17255
17257
  const PeopleLine = as(
17256
17258
  ({ as: Component = "div", faces, status = "Default", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
@@ -17269,14 +17271,14 @@ const PeopleLine = as(
17269
17271
  )
17270
17272
  );
17271
17273
  const RoomHeader_css_ts_vanilla = "";
17272
- var Controls = "cv0ofl6";
17274
+ var Controls$1 = "cv0ofl6";
17273
17275
  var Divider = "cv0ofl7";
17274
17276
  var Identity = "cv0ofl3";
17275
17277
  var Mark = "cv0ofl2";
17276
- var Name = "cv0ofl4";
17278
+ var Name$1 = "cv0ofl4";
17277
17279
  var RoomHeader$1 = "cv0ofl0 _8nex5a1 _8nex5a0";
17278
17280
  var Row = "cv0ofl1";
17279
- var Spacer = "cv0ofl5";
17281
+ var Spacer$1 = "cv0ofl5";
17280
17282
  const RoomHeaderMark = as(
17281
17283
  ({ as: Component = "span", faces, className, ...props }, ref) => /* @__PURE__ */ jsx(
17282
17284
  Component,
@@ -17302,17 +17304,17 @@ const RoomHeader = as(
17302
17304
  }, ref) => /* @__PURE__ */ jsx(Component, { className: classNames(RoomHeader$1, className), ...props, ref, children: /* @__PURE__ */ jsxs("div", { className: Row, children: [
17303
17305
  mark,
17304
17306
  /* @__PURE__ */ jsxs("div", { className: Identity, children: [
17305
- /* @__PURE__ */ jsx(Text, { as: nameAs, size: "H5", truncate: true, className: Name, children: name }),
17307
+ /* @__PURE__ */ jsx(Text, { as: nameAs, size: "H5", truncate: true, className: Name$1, children: name }),
17306
17308
  people
17307
17309
  ] }),
17308
- /* @__PURE__ */ jsx("div", { className: Spacer }),
17309
- controls && /* @__PURE__ */ jsx("div", { className: Controls, children: controls }),
17310
+ /* @__PURE__ */ jsx("div", { className: Spacer$1 }),
17311
+ controls && /* @__PURE__ */ jsx("div", { className: Controls$1, children: controls }),
17310
17312
  controls && panels && /* @__PURE__ */ jsx("div", { className: Divider, "aria-hidden": true }),
17311
17313
  panels
17312
17314
  ] }) })
17313
17315
  );
17314
17316
  const Composer_css_ts_vanilla = "";
17315
- var Actions = "_1ejw1qz3";
17317
+ var Actions$1 = "_1ejw1qz3";
17316
17318
  var ActionsAfter = "_1ejw1qz5";
17317
17319
  var ActionsBefore = "_1ejw1qz4";
17318
17320
  var Composer$1 = "_1ejw1qz0";
@@ -17334,7 +17336,7 @@ const Composer = as(
17334
17336
  /* @__PURE__ */ jsxs("div", { className: Surface, children: [
17335
17337
  context,
17336
17338
  /* @__PURE__ */ jsx("div", { className: Content, children }),
17337
- (actionsBefore || actionsAfter) && /* @__PURE__ */ jsxs("div", { className: Actions, children: [
17339
+ (actionsBefore || actionsAfter) && /* @__PURE__ */ jsxs("div", { className: Actions$1, children: [
17338
17340
  /* @__PURE__ */ jsx("div", { className: ActionsBefore, children: actionsBefore }),
17339
17341
  /* @__PURE__ */ jsx("div", { className: ActionsAfter, children: actionsAfter })
17340
17342
  ] }),
@@ -17689,6 +17691,133 @@ const InspectorTab = as(
17689
17691
  }
17690
17692
  )
17691
17693
  );
17694
+ const ActivityItem_css_ts_vanilla = "";
17695
+ var Action = "_1wyqgiii _8nex5a1 _8nex5a0 x4g6300";
17696
+ var Actions = "_1wyqgiie _1wyqgii9";
17697
+ var ActivityItem$1 = "_1wyqgii0 _8nex5a1 _8nex5a0";
17698
+ var Attention = "_1wyqgiif";
17699
+ var AttentionBreathing = "_1wyqgiih";
17700
+ var Body = "_1wyqgiia _1wyqgii9";
17701
+ var Face = "_1wyqgii4";
17702
+ var Head = "_1wyqgii3";
17703
+ var Main = "_1wyqgii2 _8nex5a1 _8nex5a0 x4g6300";
17704
+ var Name = "_1wyqgii5";
17705
+ var ObjectRow = "_1wyqgiid _1wyqgii9";
17706
+ var Replies = "_1wyqgiib _8nex5a1 _8nex5a0 x4g6300 _1wyqgii9";
17707
+ var RepliesUnread = "_1wyqgiic";
17708
+ var SelectedBar = "_1wyqgii1";
17709
+ var Time = "_1wyqgii7";
17710
+ var UnreadDot = "_1wyqgii8";
17711
+ var What = "_1wyqgii6";
17712
+ const ActivityItem = as(
17713
+ ({
17714
+ as: Component = "div",
17715
+ avatar,
17716
+ name,
17717
+ what,
17718
+ time,
17719
+ body,
17720
+ unread = false,
17721
+ read = false,
17722
+ attention,
17723
+ selected = false,
17724
+ replies,
17725
+ object,
17726
+ actions,
17727
+ actionsShown = false,
17728
+ onOpen,
17729
+ label,
17730
+ className,
17731
+ ...props
17732
+ }, ref) => /* @__PURE__ */ jsxs(
17733
+ Component,
17734
+ {
17735
+ "data-read": read || void 0,
17736
+ "data-selected": selected || void 0,
17737
+ className: classNames(ActivityItem$1, className),
17738
+ ...props,
17739
+ ref,
17740
+ children: [
17741
+ selected && /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: SelectedBar }),
17742
+ attention && /* @__PURE__ */ jsx(
17743
+ "span",
17744
+ {
17745
+ "aria-hidden": true,
17746
+ className: classNames(Attention, attention === "breathing" && AttentionBreathing)
17747
+ }
17748
+ ),
17749
+ /* @__PURE__ */ jsxs(
17750
+ "button",
17751
+ {
17752
+ type: "button",
17753
+ className: Main,
17754
+ "aria-label": [
17755
+ label ?? `${name} ${what}, ${time}`,
17756
+ unread && "unread",
17757
+ attention && "needs you"
17758
+ ].filter(Boolean).join(", "),
17759
+ "aria-current": selected ? "true" : void 0,
17760
+ onClick: onOpen,
17761
+ children: [
17762
+ /* @__PURE__ */ jsxs("span", { className: Head, children: [
17763
+ /* @__PURE__ */ jsx("span", { className: Face, children: avatar }),
17764
+ /* @__PURE__ */ jsx(Text, { as: "span", size: "H6", className: Name, children: name }),
17765
+ /* @__PURE__ */ jsx(Text, { as: "span", size: "T300", className: What, children: what }),
17766
+ /* @__PURE__ */ jsx(Text, { as: "span", size: "T200", className: Time, children: time }),
17767
+ unread && /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: UnreadDot })
17768
+ ] }),
17769
+ body && /* @__PURE__ */ jsx(Text, { as: "span", size: "T300", className: Body, children: body })
17770
+ ]
17771
+ }
17772
+ ),
17773
+ object && /* @__PURE__ */ jsx("div", { className: ObjectRow, children: object }),
17774
+ replies && /* @__PURE__ */ jsxs("button", { type: "button", className: Replies, onClick: replies.onOpen, children: [
17775
+ /* @__PURE__ */ jsx(Text, { as: "span", size: "L400", children: replies.total }),
17776
+ replies.unread && /* @__PURE__ */ jsxs(Text, { as: "span", size: "L400", className: RepliesUnread, children: [
17777
+ "· ",
17778
+ replies.unread
17779
+ ] })
17780
+ ] }),
17781
+ actions && /* @__PURE__ */ jsx("div", { className: Actions, "data-pinned": actionsShown || void 0, children: actions })
17782
+ ]
17783
+ }
17784
+ )
17785
+ );
17786
+ const ActivityItemAction = as(
17787
+ ({ as: Component = "button", label, icon: icon2, primary = false, className, ...props }, ref) => /* @__PURE__ */ jsx(
17788
+ Component,
17789
+ {
17790
+ type: Component === "button" ? "button" : void 0,
17791
+ "aria-label": label,
17792
+ title: label,
17793
+ "data-labelled": !icon2 || void 0,
17794
+ "data-primary": primary || void 0,
17795
+ className: classNames(Action, className),
17796
+ ...props,
17797
+ ref,
17798
+ children: icon2 ? /* @__PURE__ */ jsx(Icon$2, { src: icon2, size: "standard" }) : /* @__PURE__ */ jsx(Text, { as: "span", size: "B400", children: label })
17799
+ }
17800
+ )
17801
+ );
17802
+ const ActivityHeader_css_ts_vanilla = "";
17803
+ var ActivityHeader$1 = "_1yfy4k20 _8nex5a1 _8nex5a0";
17804
+ var Controls = "_1yfy4k23";
17805
+ var Spacer = "_1yfy4k24";
17806
+ var Title = "_1yfy4k22";
17807
+ var TitleRow = "_1yfy4k21";
17808
+ const ActivityHeader = as(
17809
+ ({ as: Component = "div", title, actions, filters, after, className, ...props }, ref) => /* @__PURE__ */ jsxs(Component, { className: classNames(ActivityHeader$1, className), ...props, ref, children: [
17810
+ /* @__PURE__ */ jsxs("div", { className: TitleRow, children: [
17811
+ /* @__PURE__ */ jsx(Text, { as: "h2", size: "H6", className: Title, children: title }),
17812
+ actions
17813
+ ] }),
17814
+ (filters || after) && /* @__PURE__ */ jsxs("div", { className: Controls, children: [
17815
+ filters,
17816
+ /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: Spacer }),
17817
+ after
17818
+ ] })
17819
+ ] })
17820
+ );
17692
17821
  function ActionGroup({ actions, hint: hint$1 }) {
17693
17822
  return /* @__PURE__ */ jsxs("div", { className: actionSection, children: [
17694
17823
  /* @__PURE__ */ jsx("div", { className: actionGroup, role: "group", "aria-label": "Draft a PR request", children: actions.map((action$1) => /* @__PURE__ */ jsxs(
@@ -17714,6 +17843,9 @@ export {
17714
17843
  AGENT_STATE_MARKS,
17715
17844
  ActionGroup,
17716
17845
  ActivityGroup,
17846
+ ActivityHeader,
17847
+ ActivityItem,
17848
+ ActivityItemAction,
17717
17849
  ActivityRow,
17718
17850
  AgentGlyph,
17719
17851
  AgentMark,