@veevarts/design-system 2.25.0 → 2.27.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.
@@ -20,6 +20,21 @@ export declare const entityRowClass: {
20
20
  readonly side: "relative z-10 flex shrink-0 items-center gap-1";
21
21
  readonly chevron: "flex shrink-0 text-default-500";
22
22
  readonly menuTrigger: "text-default-600";
23
+ /** The menu otherwise grows to its longest line; a description wraps instead. */
24
+ readonly menuWithDescriptions: "max-w-xs";
25
+ /**
26
+ * HeroUI truncates a string description; a reason cut short is no reason.
27
+ * default-600 like the row's subtitle, sized by the same per-size token.
28
+ */
29
+ readonly menuItemDescription: "whitespace-normal text-default-600";
30
+ /**
31
+ * A disabled item with a description. HeroUI dims the whole item, which
32
+ * would take the description to about 2:1, and opacity cannot be undone by
33
+ * a child. So the item stays opaque and the label and icon are dimmed.
34
+ */
35
+ readonly menuItemDisabledWithDescription: "opacity-100";
36
+ readonly menuItemDimmed: "opacity-disabled";
37
+ readonly menuItemDimmedIcon: "flex shrink-0 opacity-disabled";
23
38
  readonly avatar: "shrink-0 bg-default-200 text-default-700";
24
39
  readonly dangerItem: "text-danger";
25
40
  };
@@ -33,6 +33,13 @@ export interface EntityRowAction {
33
33
  icon?: ReactNode;
34
34
  tone?: 'default' | 'danger';
35
35
  isDisabled?: boolean;
36
+ /**
37
+ * Second line under the label, typically why a disabled action is
38
+ * unavailable. It stays readable on a disabled item. react-aria never
39
+ * focuses a disabled item, so the descriptions of disabled actions also
40
+ * describe the `⋯` trigger (`aria-describedby`).
41
+ */
42
+ description?: string;
36
43
  onAction: () => void;
37
44
  /** Defaults to `<row testid>-menu-<key>`. */
38
45
  'data-testid'?: string;
@@ -0,0 +1,14 @@
1
+ import { JSX } from 'react';
2
+ import { SessionExpiredCardProps } from './type';
3
+ /**
4
+ * What a Salesforce Canvas widget shows once its session is gone. There is no
5
+ * reload button: the Canvas frame is loaded by a POST, so the reload has to
6
+ * come from the Salesforce tab, not from inside the frame.
7
+ * The card is `role="alert"` so the change is announced, and `min-h-52` (208px)
8
+ * keeps it tall enough to be the first height the Salesforce wrapper reveals
9
+ * (its threshold is 200px). Copy comes in as props; the caller owns i18n.
10
+ */
11
+ export declare function SessionExpiredCard({ testId, title, description }: Readonly<SessionExpiredCardProps>): JSX.Element;
12
+ export declare namespace SessionExpiredCard {
13
+ var displayName: string;
14
+ }
@@ -0,0 +1,2 @@
1
+ export { SessionExpiredCard } from './SessionExpiredCard';
2
+ export type * from './type';
@@ -0,0 +1,6 @@
1
+ export type SessionExpiredCardProps = {
2
+ /** Stable selector for the state this card stands in for (`…-state`). */
3
+ testId: string;
4
+ title: string;
5
+ description: string;
6
+ };
@@ -168,3 +168,5 @@ export { RecordTotals } from './RecordTotals';
168
168
  export type { RecordTotalsProps, RecordTotalsRow } from './RecordTotals';
169
169
  export { CellText, ChipStack } from './CellText';
170
170
  export type { CellTextProps, CellTextVariant, ChipStackProps } from './CellText';
171
+ export { SessionExpiredCard } from './SessionExpiredCard';
172
+ export type { SessionExpiredCardProps } from './SessionExpiredCard';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@veevarts/design-system",
3
3
  "private": false,
4
- "version": "2.25.0",
4
+ "version": "2.27.0",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",