@assure-one/design-system 1.18.0 → 1.19.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/index.d.ts CHANGED
@@ -1192,7 +1192,13 @@ interface LogoProps {
1192
1192
  className?: string;
1193
1193
  iconClassName?: string;
1194
1194
  textClassName?: string;
1195
- /** Product suffix rendered after "Assure". Pass `null` to render just "Assure". Defaults to "Pro" for backwards compatibility. */
1195
+ /**
1196
+ * Product suffix rendered after "Assure" (e.g. "Pro", "Audit"). Pass `null`
1197
+ * to render just "Assure". A few products are standalone brands whose
1198
+ * wordmark is the complete identity (e.g. "Teams" → myCPE Teams) — those
1199
+ * render their own name with no "Assure" prefix. Defaults to "Pro" for
1200
+ * backwards compatibility.
1201
+ */
1196
1202
  productName?: string | null;
1197
1203
  /** When true, render on dark/brand surfaces (white "Assure" + lighter suffix). */
1198
1204
  inverted?: boolean;
@@ -3686,6 +3692,15 @@ interface SidebarBrandSwitcherExtra {
3686
3692
  id: string;
3687
3693
  /** Left glyph (a consumer-owned mark/tile). Vendor color belongs here. */
3688
3694
  glyph?: React$1.ReactNode;
3695
+ /**
3696
+ * Full-width identity node rendered in place of the `glyph` + `name` — e.g. a
3697
+ * product wordmark lockup (`<Logo href={null} …>`) — mirroring
3698
+ * `SidebarBrandSwitcherItem.identity`. Use it so an external launcher row
3699
+ * reads at the same size and on the same line as the suite product rows.
3700
+ * When present, `tagline` still renders beneath it and `glyph`/`name` are
3701
+ * omitted. Consumer-owned and framework-neutral like the rest of this slot.
3702
+ */
3703
+ identity?: React$1.ReactNode;
3689
3704
  /** Primary display name, e.g. "myCPE One". */
3690
3705
  name: React$1.ReactNode;
3691
3706
  /** Sub-line under the name. */
@@ -3752,9 +3767,10 @@ interface SidebarBrandSwitcherProps {
3752
3767
  /** Extra classes applied to the dropdown content panel. */
3753
3768
  contentClassName?: string;
3754
3769
  /**
3755
- * Extra classes applied to the current row and each "Switch to" product row
3756
- * (not to `extras`). Lets a consumer reproduce bespoke row padding/height via
3757
- * tailwind-merge without the DS owning that geometry.
3770
+ * Extra classes applied to the current row, each "Switch to" product row, and
3771
+ * each `extras` launcher row. Lets a consumer reproduce bespoke row
3772
+ * padding/height via tailwind-merge without the DS owning that geometry, and
3773
+ * keeps launcher rows aligned with the product rows.
3758
3774
  */
3759
3775
  rowClassName?: string;
3760
3776
  /**
package/dist/index.js CHANGED
@@ -5885,13 +5885,15 @@ var productLogoAssets = {
5885
5885
  Pro: { src: "/brand/assure-pro.svg", width: 384, height: 90 },
5886
5886
  Audit: { src: "/brand/assure-audit.svg", width: 441, height: 90 },
5887
5887
  Books: { src: "/brand/assure-books.svg", width: 470, height: 90 },
5888
- Tax: { src: "/brand/assure-tax.svg", width: 374, height: 90 }
5888
+ Tax: { src: "/brand/assure-tax.svg", width: 374, height: 90 },
5889
+ Teams: { src: "/brand/mycpe-teams.svg", width: 221, height: 49 }
5889
5890
  };
5890
5891
  var productMarkAssets = {
5891
5892
  Pro: { src: "/brand/assure-pro-mark.svg", width: 55, height: 48 },
5892
5893
  Audit: { src: "/brand/assure-audit-mark.svg", width: 55, height: 48 },
5893
5894
  Books: { src: "/brand/assure-books-mark.svg", width: 55, height: 48 },
5894
- Tax: { src: "/brand/assure-tax-mark.svg", width: 55, height: 48 }
5895
+ Tax: { src: "/brand/assure-tax-mark.svg", width: 55, height: 48 },
5896
+ Teams: { src: "/brand/mycpe-teams-mark.svg", width: 26, height: 31 }
5895
5897
  };
5896
5898
  var productGlyphs = {
5897
5899
  Pro: AssureProBrandIcon,
@@ -5899,6 +5901,9 @@ var productGlyphs = {
5899
5901
  Books: AssureBooksBrandIcon,
5900
5902
  Tax: AssureTaxBrandIcon
5901
5903
  };
5904
+ var standaloneBrands = {
5905
+ Teams: "myCPE Teams"
5906
+ };
5902
5907
  function Logo({
5903
5908
  size = "md",
5904
5909
  href = "/",
@@ -5910,7 +5915,9 @@ function Logo({
5910
5915
  inverted = false
5911
5916
  }) {
5912
5917
  const s = sizeStyles[size];
5913
- const ariaLabel = productName ? `Assure ${productName}` : "Assure";
5918
+ const standaloneLabel = productName ? standaloneBrands[productName] : void 0;
5919
+ const isStandalone = Boolean(standaloneLabel);
5920
+ const ariaLabel = standaloneLabel ?? (productName ? `Assure ${productName}` : "Assure");
5914
5921
  const asset = productName ? productLogoAssets[productName] : void 0;
5915
5922
  const markAsset = productName ? productMarkAssets[productName] : void 0;
5916
5923
  const Glyph = productName ? productGlyphs[productName] : void 0;
@@ -5950,7 +5957,7 @@ function Logo({
5950
5957
  children: "A"
5951
5958
  }
5952
5959
  ) }),
5953
- showText && /* @__PURE__ */ jsxs(
5960
+ showText && /* @__PURE__ */ jsx(
5954
5961
  "span",
5955
5962
  {
5956
5963
  className: cn(
@@ -5960,13 +5967,13 @@ function Logo({
5960
5967
  asset && "sr-only",
5961
5968
  textClassName
5962
5969
  ),
5963
- children: [
5970
+ children: isStandalone ? /* @__PURE__ */ jsx("span", { children: standaloneLabel }) : /* @__PURE__ */ jsxs(Fragment, { children: [
5964
5971
  /* @__PURE__ */ jsx("span", { children: "Assure" }),
5965
5972
  productName && /* @__PURE__ */ jsxs(Fragment, { children: [
5966
5973
  " ",
5967
5974
  /* @__PURE__ */ jsx("span", { className: cn("font-medium", inverted ? "text-[#d8cfff]" : "text-pro-fg"), children: productName })
5968
5975
  ] })
5969
- ]
5976
+ ] })
5970
5977
  }
5971
5978
  )
5972
5979
  ] });
@@ -14139,7 +14146,14 @@ var SidebarBrandSwitcher = React38.forwardRef(
14139
14146
  },
14140
14147
  p.id
14141
14148
  )),
14142
- extras?.map((extra) => /* @__PURE__ */ jsx(SidebarBrandSwitcherExtraRow, { extra }, extra.id))
14149
+ extras?.map((extra) => /* @__PURE__ */ jsx(
14150
+ SidebarBrandSwitcherExtraRow,
14151
+ {
14152
+ extra,
14153
+ rowClassName
14154
+ },
14155
+ extra.id
14156
+ ))
14143
14157
  ]
14144
14158
  }
14145
14159
  )
@@ -14246,20 +14260,26 @@ function SidebarBrandSwitcherOtherRow({
14246
14260
  }
14247
14261
  );
14248
14262
  }
14249
- function SidebarBrandSwitcherExtraRow({ extra }) {
14250
- return /* @__PURE__ */ jsxs(
14263
+ function SidebarBrandSwitcherExtraRow({
14264
+ extra,
14265
+ rowClassName
14266
+ }) {
14267
+ return /* @__PURE__ */ jsx(
14251
14268
  DropdownMenuItem,
14252
14269
  {
14253
14270
  onSelect: () => extra.onSelect(),
14254
14271
  "data-item": extra.dataAttr ?? extra.id,
14255
- className: "flex items-center gap-2.5 rounded-md px-2 py-1.5",
14256
- children: [
14272
+ className: cn("flex items-center gap-2.5 rounded-md px-2 py-1.5", rowClassName),
14273
+ children: extra.identity ? /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
14274
+ extra.identity,
14275
+ extra.tagline && /* @__PURE__ */ jsx("span", { className: "text-fg-3 text-[11px] leading-tight", children: extra.tagline })
14276
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
14257
14277
  extra.glyph,
14258
14278
  /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [
14259
14279
  /* @__PURE__ */ jsx("span", { className: "text-fg text-[13px] font-medium", children: extra.name }),
14260
14280
  extra.tagline && /* @__PURE__ */ jsx("span", { className: "text-fg-3 text-[11px]", children: extra.tagline })
14261
14281
  ] })
14262
- ]
14282
+ ] })
14263
14283
  }
14264
14284
  );
14265
14285
  }