@vibes.diy/base 14.0.19 → 14.0.20

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,20 @@
1
+ import React from "react";
2
+ export interface NotificationDetailBuild {
3
+ readonly versionLabel?: string;
4
+ readonly when?: string;
5
+ readonly state?: "published" | "draft";
6
+ }
7
+ export interface NotificationDetailViewProps {
8
+ readonly headline: string;
9
+ readonly body?: string;
10
+ readonly build?: NotificationDetailBuild;
11
+ readonly appLinkSlot?: React.ReactNode;
12
+ readonly vibeLabel?: string;
13
+ readonly handleLabel?: string;
14
+ readonly mutedVibe?: boolean;
15
+ readonly mutedHandle?: boolean;
16
+ readonly onToggleVibeMute?: () => void;
17
+ readonly onToggleHandleMute?: () => void;
18
+ readonly mutesDisabled?: boolean;
19
+ }
20
+ export declare function NotificationDetailView(props: NotificationDetailViewProps): React.JSX.Element;
@@ -0,0 +1,28 @@
1
+ import React from "react";
2
+ function MuteToggle({ testId, label, target, checked, disabled, onToggle, }) {
3
+ return (React.createElement("label", { className: "flex items-start gap-2 text-neutral-700 dark:text-neutral-300", style: { fontSize: 14, lineHeight: 1.4 } },
4
+ React.createElement("input", { type: "checkbox", "data-testid": testId, checked: checked, disabled: disabled, onChange: () => onToggle(), className: "mt-0.5 rounded border-gray-300 dark:border-gray-600" }),
5
+ React.createElement("span", null,
6
+ React.createElement("span", { className: "block font-medium" }, label),
7
+ target !== undefined && target !== "" && (React.createElement("span", { className: "block text-light-secondary dark:text-dark-secondary", style: { fontSize: 12 } }, target)))));
8
+ }
9
+ export function NotificationDetailView(props) {
10
+ const { build } = props;
11
+ const buildBits = [];
12
+ if (build?.versionLabel !== undefined && build.versionLabel !== "")
13
+ buildBits.push(build.versionLabel);
14
+ if (build?.when !== undefined && build.when !== "")
15
+ buildBits.push(build.when);
16
+ if (build?.state !== undefined)
17
+ buildBits.push(build.state === "published" ? "Published" : "Draft");
18
+ return (React.createElement("div", { "data-testid": "notification-detail-view", className: "flex flex-col", style: { gap: 14 } },
19
+ React.createElement("div", null,
20
+ React.createElement("div", { className: "text-light-primary dark:text-dark-primary", "data-testid": "notification-detail-headline", style: { fontSize: 19, fontWeight: 600, lineHeight: 1.25 } }, props.headline),
21
+ props.body !== undefined && props.body !== "" && (React.createElement("p", { className: "text-light-secondary dark:text-dark-secondary", "data-testid": "notification-detail-body", style: { fontSize: 14, lineHeight: 1.45, margin: "6px 0 0" } }, props.body))),
22
+ buildBits.length > 0 && (React.createElement("p", { className: "text-light-secondary dark:text-dark-secondary", "data-testid": "notification-detail-build-meta", style: { fontSize: 13, lineHeight: 1.4, margin: 0 } }, buildBits.join(" · "))),
23
+ props.appLinkSlot !== undefined && (React.createElement("div", { "data-testid": "notification-detail-app-link", className: "text-light-primary dark:text-dark-primary" }, props.appLinkSlot)),
24
+ (props.onToggleVibeMute !== undefined || props.onToggleHandleMute !== undefined) && (React.createElement("div", { className: "flex flex-col", style: { gap: 8 } },
25
+ props.onToggleVibeMute !== undefined && (React.createElement(MuteToggle, { testId: "notification-detail-mute-vibe", label: "Mute this vibe", target: props.vibeLabel, checked: props.mutedVibe === true, disabled: props.mutesDisabled === true, onToggle: props.onToggleVibeMute })),
26
+ props.onToggleHandleMute !== undefined && (React.createElement(MuteToggle, { testId: "notification-detail-mute-handle", label: "Mute this handle", target: props.handleLabel === undefined || props.handleLabel === "" ? undefined : `@${props.handleLabel}`, checked: props.mutedHandle === true, disabled: props.mutesDisabled === true, onToggle: props.onToggleHandleMute }))))));
27
+ }
28
+ //# sourceMappingURL=NotificationDetailView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotificationDetailView.js","sourceRoot":"","sources":["../../jsr/components/NotificationDetailView.tsx"],"names":[],"mappings":"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"}
@@ -39,3 +39,4 @@ export * from "./SharePanelView.js";
39
39
  export * from "./AttachmentRow.js";
40
40
  export * from "./BuildCard.js";
41
41
  export * from "./CodingIndicator.js";
42
+ export * from "./NotificationDetailView.js";
@@ -39,4 +39,5 @@ export * from "./SharePanelView.js";
39
39
  export * from "./AttachmentRow.js";
40
40
  export * from "./BuildCard.js";
41
41
  export * from "./CodingIndicator.js";
42
+ export * from "./NotificationDetailView.js";
42
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../jsr/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../jsr/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/base",
3
- "version": "14.0.19",
3
+ "version": "14.0.20",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -10,9 +10,9 @@
10
10
  "dependencies": {
11
11
  "@adviser/cement": "~0.5.34",
12
12
  "@emotion/css": "~11.13.5",
13
- "@vibes.diy/use-vibes-types": "14.0.19",
14
- "@vibes.diy/vibe-runtime": "14.0.19",
15
- "@vibes.diy/vibe-types": "14.0.19",
13
+ "@vibes.diy/use-vibes-types": "14.0.20",
14
+ "@vibes.diy/vibe-runtime": "14.0.20",
15
+ "@vibes.diy/vibe-types": "14.0.20",
16
16
  "officeparser": "~7.8.0",
17
17
  "qrcode-generator": "~2.0.4",
18
18
  "react": "~19.2.8"