@farthershore/farthershore-js 0.1.10 → 0.1.11

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.
@@ -1,9 +1,21 @@
1
1
  import type { Bootstrap } from "../types.js";
2
2
  export interface FsBrandingProps {
3
+ /**
4
+ * `"full"` (default) renders the mark plus the wordmark image — or the
5
+ * display name as text when no wordmark was uploaded. `"mark"` renders
6
+ * just the square mark (hero/avatar spots).
7
+ */
8
+ variant?: "full" | "mark";
3
9
  className?: string;
4
10
  }
5
- /** The product's icon (or brand dot) + wordmark/display name. */
6
- export declare function FsBranding({ className }?: FsBrandingProps): import("react/jsx-runtime").JSX.Element | null;
11
+ /**
12
+ * The product's brand lockup, fully managed from the resolved bootstrap:
13
+ * square mark from `iconUrl` (primary-color dot when absent), wordmark image
14
+ * from `logoUrl` with the display name as the text fallback. Hosts size the
15
+ * pieces by targeting `.fs-brand__logo` / `.fs-brand__wordmark` /
16
+ * `.fs-brand__name` under their own `className`.
17
+ */
18
+ export declare function FsBranding({ variant, className, }?: FsBrandingProps): import("react/jsx-runtime").JSX.Element | null;
7
19
  export interface FsThemeToggleProps {
8
20
  className?: string;
9
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/components/chrome.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,GAAE,eAAoB,kDAsB7D;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,GAAE,kBAAuB,2CAuCnE;AAED,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EAAE,YAAY,EAClB,SAAS,GACV,GAAE,aAAkB,kDAkBpB"}
1
+ {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/components/chrome.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAgB,EAChB,SAAS,GACV,GAAE,eAAoB,kDAqCtB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,GAAE,kBAAuB,2CAuCnE;AAED,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EAAE,YAAY,EAClB,SAAS,GACV,GAAE,aAAkB,kDAkBpB"}
@@ -2,13 +2,23 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useBootstrap } from "../react/index.js";
3
3
  import { useFsTheme } from "./theme.js";
4
4
  import { cx } from "./_internal.js";
5
- /** The product's icon (or brand dot) + wordmark/display name. */
6
- export function FsBranding({ className } = {}) {
5
+ /**
6
+ * The product's brand lockup, fully managed from the resolved bootstrap:
7
+ * square mark from `iconUrl` (primary-color dot when absent), wordmark image
8
+ * from `logoUrl` with the display name as the text fallback. Hosts size the
9
+ * pieces by targeting `.fs-brand__logo` / `.fs-brand__wordmark` /
10
+ * `.fs-brand__name` under their own `className`.
11
+ */
12
+ export function FsBranding({ variant = "full", className, } = {}) {
7
13
  const boot = useBootstrap();
8
14
  const brand = boot.data?.branding;
9
15
  if (!brand)
10
16
  return null;
11
- return (_jsxs("span", { className: cx("fs-brand", className), children: [brand.iconUrl ? (_jsx("img", { className: "fs-brand__logo", src: brand.iconUrl, alt: "" })) : (_jsx("span", { className: "fs-brand__dot" })), brand.logoUrl ? (_jsx("img", { className: "fs-brand__wordmark", src: brand.logoUrl, alt: brand.displayName })) : (brand.displayName)] }));
17
+ const mark = brand.iconUrl ? (_jsx("img", { className: "fs-brand__logo", src: brand.iconUrl, alt: variant === "mark" ? brand.displayName : "" })) : (_jsx("span", { className: "fs-brand__dot", style: brand.primaryColor ? { background: brand.primaryColor } : undefined }));
18
+ if (variant === "mark") {
19
+ return (_jsx("span", { className: cx("fs-brand fs-brand--mark", className), children: mark }));
20
+ }
21
+ return (_jsxs("span", { className: cx("fs-brand", className), children: [mark, brand.logoUrl ? (_jsx("img", { className: "fs-brand__wordmark", src: brand.logoUrl, alt: brand.displayName })) : (_jsx("span", { className: "fs-brand__name", children: brand.displayName }))] }));
12
22
  }
13
23
  /** Light/dark toggle bound to the SDK theme root. */
14
24
  export function FsThemeToggle({ className } = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/components/chrome.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/components/chrome.tsx"],"names":[],"mappings":"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"}
@@ -330,6 +330,12 @@
330
330
  border-radius: 999px;
331
331
  background: var(--fs-color-brand);
332
332
  }
333
+ /* Display-name text fallback (no wordmark uploaded). */
334
+ .fs-brand__name {
335
+ white-space: nowrap;
336
+ overflow: hidden;
337
+ text-overflow: ellipsis;
338
+ }
333
339
  .fs-header__nav {
334
340
  display: flex;
335
341
  align-items: center;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farthershore/farthershore-js",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "description": "Farther Shore Frontend SDK — the browser integration layer between static frontends and the Farther Shore platform (Core + Gateway).",
5
5
  "publishConfig": {
6
6
  "access": "public"