@toteat-eng/ds-react 2026.5.13 → 2026.6.9

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.
Files changed (63) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +2 -1
  2. package/dist/components/AppleSignInButton/AppleSignInButton.d.ts +2 -1
  3. package/dist/components/Badge/Badge.d.ts +2 -1
  4. package/dist/components/Charts/Charts.d.ts +6 -4
  5. package/dist/components/Checkbox/Checkbox.d.ts +2 -1
  6. package/dist/components/ComingSoon/ComingSoon.d.ts +9 -0
  7. package/dist/components/ComingSoon/__stories__/ComingSoon.stories.d.ts +10 -0
  8. package/dist/components/ComingSoon/index.d.ts +2 -0
  9. package/dist/components/ConfigRow/ConfigRow.d.ts +27 -0
  10. package/dist/components/ConfigRow/__stories__/ConfigRow.stories.d.ts +13 -0
  11. package/dist/components/ConfigRow/index.d.ts +2 -0
  12. package/dist/components/DataTable/DataTable.d.ts +2 -1
  13. package/dist/components/DatePicker/DatePicker.d.ts +2 -1
  14. package/dist/components/DateRangePicker/DateRangePicker.d.ts +2 -1
  15. package/dist/components/Dialog/Dialog.d.ts +2 -1
  16. package/dist/components/DropdownButton/DropdownButton.d.ts +2 -1
  17. package/dist/components/DropdownMenu/DropdownMenu.d.ts +2 -1
  18. package/dist/components/DsProvider/DsProvider.d.ts +2 -1
  19. package/dist/components/ErrorBoundary/ErrorBoundary.d.ts +1 -0
  20. package/dist/components/ExtrasDialog/ExtrasDialog.d.ts +3 -1
  21. package/dist/components/FormField/FormField.d.ts +2 -1
  22. package/dist/components/GoogleSignInButton/GoogleSignInButton.d.ts +2 -1
  23. package/dist/components/Icon/Icon.d.ts +2 -1
  24. package/dist/components/LanguageSelector/LanguageSelector.d.ts +2 -1
  25. package/dist/components/Multiselect/Multiselect.d.ts +2 -1
  26. package/dist/components/NavBar/NavBar.d.ts +2 -1
  27. package/dist/components/PageLoadingOverlay/PageLoadingOverlay.d.ts +2 -1
  28. package/dist/components/PinLockOverlay/PinLockOverlay.d.ts +2 -1
  29. package/dist/components/ProductTile/ProductTile.d.ts +2 -1
  30. package/dist/components/Radio/Radio.d.ts +2 -1
  31. package/dist/components/SectionHeader/SectionHeader.d.ts +13 -0
  32. package/dist/components/SectionHeader/__stories__/SectionHeader.stories.d.ts +15 -0
  33. package/dist/components/SectionHeader/index.d.ts +2 -0
  34. package/dist/components/SidebarNavSection/SidebarNavSection.d.ts +2 -1
  35. package/dist/components/Skeleton/Skeleton.d.ts +2 -1
  36. package/dist/components/Spinner/Spinner.d.ts +2 -1
  37. package/dist/components/StatusBadge/StatusBadge.d.ts +12 -0
  38. package/dist/components/StatusBadge/__stories__/StatusBadge.stories.d.ts +15 -0
  39. package/dist/components/StatusBadge/index.d.ts +2 -0
  40. package/dist/components/TabBar/TabBar.d.ts +2 -1
  41. package/dist/components/Tabs/Tabs.d.ts +2 -1
  42. package/dist/components/TextInput/TextInput.d.ts +1 -0
  43. package/dist/components/ThemeGate/ThemeGate.d.ts +2 -1
  44. package/dist/components/Toast/Toast.d.ts +1 -0
  45. package/dist/components/Toast/useToast.d.ts +1 -0
  46. package/dist/components/Toggle/Toggle.d.ts +2 -1
  47. package/dist/components/Tooltip/Tooltip.d.ts +2 -1
  48. package/dist/index.d.ts +10 -0
  49. package/dist/index.es.js +711 -522
  50. package/dist/index.es.js.map +1 -1
  51. package/dist/index.umd.js +9 -9
  52. package/dist/index.umd.js.map +1 -1
  53. package/dist/layouts/AdminPageHeader/AdminPageHeader.d.ts +2 -1
  54. package/dist/layouts/AppShell/AppShell.d.ts +2 -1
  55. package/dist/layouts/Divider/Divider.d.ts +2 -1
  56. package/dist/layouts/Grid/Grid.d.ts +2 -1
  57. package/dist/layouts/LoginFooter/LoginFooter.d.ts +14 -0
  58. package/dist/layouts/LoginFooter/__stories__/LoginFooter.stories.d.ts +15 -0
  59. package/dist/layouts/LoginFooter/index.d.ts +2 -0
  60. package/dist/layouts/LoginPageLayout/LoginPageLayout.d.ts +2 -1
  61. package/dist/layouts/PageLayout/PageLayout.d.ts +2 -1
  62. package/dist/style.css +1 -1
  63. package/package.json +5 -5
@@ -8,6 +8,7 @@ interface AccordionItem {
8
8
  interface AccordionProps {
9
9
  items: AccordionItem[];
10
10
  multiple?: boolean;
11
+ "data-testid"?: string;
11
12
  }
12
- export declare function Accordion({ items, multiple }: AccordionProps): ReactElement;
13
+ export declare function Accordion({ items, multiple, "data-testid": testId, }: AccordionProps): ReactElement;
13
14
  export {};
@@ -3,5 +3,6 @@ export interface AppleSignInButtonProps {
3
3
  isPending?: boolean;
4
4
  isError?: boolean;
5
5
  error?: Error | null;
6
+ "data-testid"?: string;
6
7
  }
7
- export declare function AppleSignInButton({ onSignIn, isPending, isError, error, }: AppleSignInButtonProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function AppleSignInButton({ onSignIn, isPending, isError, error, "data-testid": testId, }: AppleSignInButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -6,5 +6,6 @@ export interface BadgeProps {
6
6
  size?: BadgeSize;
7
7
  children: ReactNode;
8
8
  className?: string;
9
+ "data-testid"?: string;
9
10
  }
10
- export declare function Badge({ variant, size, children, className, }: BadgeProps): React.ReactElement;
11
+ export declare function Badge({ variant, size, children, className, "data-testid": testId, }: BadgeProps): React.ReactElement;
@@ -18,15 +18,17 @@ export interface BaseChartProps {
18
18
  formatValue?: (value: number) => string;
19
19
  /** Hide recharts legend */
20
20
  hideLegend?: boolean;
21
+ "data-testid"?: string;
21
22
  }
22
- export declare function LineChart({ data, xKey, series, height, title, formatY, formatValue, hideLegend, }: BaseChartProps): ReactElement;
23
- export declare function BarChart({ data, xKey, series, height, title, formatY, formatValue, hideLegend, }: BaseChartProps): ReactElement;
24
- export declare function AreaChart({ data, xKey, series, height, title, formatY, formatValue, hideLegend, }: BaseChartProps): ReactElement;
23
+ export declare function LineChart({ data, xKey, series, height, title, formatY, formatValue, hideLegend, "data-testid": testId, }: BaseChartProps): ReactElement;
24
+ export declare function BarChart({ data, xKey, series, height, title, formatY, formatValue, hideLegend, "data-testid": testId, }: BaseChartProps): ReactElement;
25
+ export declare function AreaChart({ data, xKey, series, height, title, formatY, formatValue, hideLegend, "data-testid": testId, }: BaseChartProps): ReactElement;
25
26
  export interface KpiCardProps {
26
27
  label: string;
27
28
  value: string | number;
28
29
  /** e.g. "+12.5%" or "-3.2%" */
29
30
  change?: string;
30
31
  trend?: "up" | "down" | "neutral";
32
+ "data-testid"?: string;
31
33
  }
32
- export declare function KpiCard({ label, value, change, trend }: KpiCardProps): ReactElement;
34
+ export declare function KpiCard({ label, value, change, trend, "data-testid": testId, }: KpiCardProps): ReactElement;
@@ -2,5 +2,6 @@ import type { InputHTMLAttributes } from "react";
2
2
  export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type"> {
3
3
  label?: string;
4
4
  ref?: React.Ref<HTMLInputElement>;
5
+ "data-testid"?: string;
5
6
  }
6
- export declare function Checkbox({ label, className, id, ref, ...props }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function Checkbox({ label, className, id, ref, "data-testid": testId, ...props }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import type React from "react";
2
+ import type { IconNameType } from "../Icon/icons";
3
+ export interface ComingSoonProps {
4
+ message?: string;
5
+ icon?: IconNameType;
6
+ className?: string;
7
+ "data-testid"?: string;
8
+ }
9
+ export declare function ComingSoon({ message, icon, className, "data-testid": testId, }: ComingSoonProps): React.ReactElement;
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-vite";
2
+ import { ComingSoon } from "../ComingSoon";
3
+ declare const meta: Meta<typeof ComingSoon>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof ComingSoon>;
6
+ export declare const Default: Story;
7
+ export declare const CustomMessage: Story;
8
+ export declare const CustomIcon: Story;
9
+ export declare const VueTheme: Story;
10
+ export declare const AngularTheme: Story;
@@ -0,0 +1,2 @@
1
+ export type { ComingSoonProps } from "./ComingSoon";
2
+ export { ComingSoon } from "./ComingSoon";
@@ -0,0 +1,27 @@
1
+ import type React from "react";
2
+ import type { ReactNode } from "react";
3
+ export interface ConfigRowProps {
4
+ label: string;
5
+ description?: string;
6
+ /** The control slot — Toggle, Select, Button, etc. */
7
+ children: ReactNode;
8
+ /**
9
+ * When provided the label is rendered as `<label htmlFor>`, linking it to
10
+ * the control by id. The CALLER MUST put a matching `id={htmlFor}` on the
11
+ * child control — ConfigRow renders `children` opaquely and cannot verify
12
+ * it; without a match the label associates with nothing. Omit when the
13
+ * control manages its own label.
14
+ */
15
+ htmlFor?: string;
16
+ /**
17
+ * Purely visual muted state (reduced opacity). Does NOT affect
18
+ * interactivity — to disable the control, pass `disabled` to the control
19
+ * inside `children` yourself.
20
+ */
21
+ dimmed?: boolean;
22
+ /** Bottom border separator. Defaults to `true`. */
23
+ divider?: boolean;
24
+ className?: string;
25
+ "data-testid"?: string;
26
+ }
27
+ export declare function ConfigRow({ label, description, children, htmlFor, dimmed, divider, className, "data-testid": testId, }: ConfigRowProps): React.ReactElement;
@@ -0,0 +1,13 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-vite";
2
+ import { ConfigRow } from "../ConfigRow";
3
+ declare const meta: Meta<typeof ConfigRow>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof ConfigRow>;
6
+ export declare const WithToggle: Story;
7
+ export declare const WithDescription: Story;
8
+ export declare const WithSelect: Story;
9
+ export declare const HtmlForLinked: Story;
10
+ export declare const Dimmed: Story;
11
+ export declare const NoDivider: Story;
12
+ export declare const MultipleRowsWithDividers: Story;
13
+ export declare const BothThemes: Story;
@@ -0,0 +1,2 @@
1
+ export type { ConfigRowProps } from "./ConfigRow";
2
+ export { ConfigRow } from "./ConfigRow";
@@ -20,5 +20,6 @@ export interface DataTableProps<T> {
20
20
  pageCount?: number;
21
21
  /** Wrap with useCallback in the parent to avoid redundant fetches on re-render. */
22
22
  onPageChange?: (pageIndex: number, pageSize: number) => void;
23
+ "data-testid"?: string;
23
24
  }
24
- export declare function DataTable<T>({ data, columns, isLoading, loadingSlot, pageSize, searchable, sortable, paginated, emptyMessage, searchPlaceholder, previousLabel, nextLabel, onRowClick, selectable, onSelectionChange, manualPagination, pageCount, onPageChange, }: DataTableProps<T>): React.ReactElement;
25
+ export declare function DataTable<T>({ data, columns, isLoading, loadingSlot, pageSize, searchable, sortable, paginated, emptyMessage, searchPlaceholder, previousLabel, nextLabel, onRowClick, selectable, onSelectionChange, manualPagination, pageCount, onPageChange, "data-testid": testId, }: DataTableProps<T>): React.ReactElement;
@@ -3,5 +3,6 @@ export interface DatePickerProps extends Omit<InputHTMLAttributes<HTMLInputEleme
3
3
  error?: boolean;
4
4
  label?: string;
5
5
  ref?: Ref<HTMLInputElement>;
6
+ "data-testid"?: string;
6
7
  }
7
- export declare function DatePicker({ error, label, className, id, ref, ...props }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function DatePicker({ error, label, className, id, ref, "data-testid": testId, ...props }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
@@ -10,5 +10,6 @@ export interface DateRangePickerProps {
10
10
  minDate?: string;
11
11
  maxDate?: string;
12
12
  className?: string;
13
+ "data-testid"?: string;
13
14
  }
14
- export declare function DateRangePicker({ startDate, endDate, onStartChange, onEndChange, startLabel, endLabel, error, disabled, minDate, maxDate, className, }: DateRangePickerProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function DateRangePicker({ startDate, endDate, onStartChange, onEndChange, startLabel, endLabel, error, disabled, minDate, maxDate, className, "data-testid": testId, }: DateRangePickerProps): import("react/jsx-runtime").JSX.Element;
@@ -7,5 +7,6 @@ export interface DialogProps {
7
7
  children: ReactNode;
8
8
  size?: DialogSize;
9
9
  className?: string;
10
+ "data-testid"?: string;
10
11
  }
11
- export declare function Dialog({ open, onClose, title, children, size, className, }: DialogProps): import("react").ReactPortal | null;
12
+ export declare function Dialog({ open, onClose, title, children, size, className, "data-testid": testId, }: DialogProps): import("react").ReactPortal | null;
@@ -14,5 +14,6 @@ export interface DropdownButtonProps {
14
14
  onSelect?: (item: DropdownMenuItemType) => void;
15
15
  onOpen?: () => void;
16
16
  onClose?: () => void;
17
+ "data-testid"?: string;
17
18
  }
18
- export declare function DropdownButton({ text, menuItems, size, variant, disabled, onSelect, onOpen, onClose, }: DropdownButtonProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function DropdownButton({ text, menuItems, size, variant, disabled, onSelect, onOpen, onClose, "data-testid": testId, }: DropdownButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -11,5 +11,6 @@ export interface DropdownMenuProps {
11
11
  trigger: ReactNode;
12
12
  items: DropdownMenuItem[];
13
13
  align?: "left" | "right";
14
+ "data-testid"?: string;
14
15
  }
15
- export declare function DropdownMenu({ trigger, items, align }: DropdownMenuProps): ReactElement;
16
+ export declare function DropdownMenu({ trigger, items, align, "data-testid": testId, }: DropdownMenuProps): ReactElement;
@@ -4,5 +4,6 @@ export interface DsProviderProps {
4
4
  theme: DsTheme;
5
5
  children: ReactNode;
6
6
  className?: string;
7
+ "data-testid"?: string;
7
8
  }
8
- export declare function DsProvider({ theme, children, className }: DsProviderProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function DsProvider({ theme, children, className, "data-testid": testId }: DsProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -4,6 +4,7 @@ export interface ErrorBoundaryProps {
4
4
  children: ReactNode;
5
5
  fallback?: ReactNode | ((error: Error, retry: () => void) => ReactNode);
6
6
  onError?: (error: Error, info: ErrorInfo) => void;
7
+ "data-testid"?: string;
7
8
  }
8
9
  interface ErrorBoundaryState {
9
10
  hasError: boolean;
@@ -26,5 +26,7 @@ export type ExtrasDialogProps = {
26
26
  onConfirm: (selections: SelectedExtraType[]) => void;
27
27
  categories: ExtrasCategoryType[];
28
28
  productName: string;
29
+ /** Forwarded to the underlying Dialog's root element. */
30
+ "data-testid"?: string;
29
31
  };
30
- export declare function ExtrasDialog({ open, onClose, onConfirm, categories, productName, }: ExtrasDialogProps): import("react/jsx-runtime").JSX.Element;
32
+ export declare function ExtrasDialog({ open, onClose, onConfirm, categories, productName, "data-testid": testId, }: ExtrasDialogProps): import("react/jsx-runtime").JSX.Element;
@@ -7,5 +7,6 @@ export interface FormFieldProps {
7
7
  required?: boolean;
8
8
  children: ReactNode;
9
9
  className?: string;
10
+ "data-testid"?: string;
10
11
  }
11
- export declare function FormField({ label, htmlFor, error, description, required, children, className, }: FormFieldProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function FormField({ label, htmlFor, error, description, required, children, className, "data-testid": testId, }: FormFieldProps): import("react/jsx-runtime").JSX.Element;
@@ -3,5 +3,6 @@ export interface GoogleSignInButtonProps {
3
3
  isPending?: boolean;
4
4
  isError?: boolean;
5
5
  error?: Error | null;
6
+ "data-testid"?: string;
6
7
  }
7
- export declare function GoogleSignInButton({ onSignIn, isPending, isError, error, }: GoogleSignInButtonProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function GoogleSignInButton({ onSignIn, isPending, isError, error, "data-testid": testId, }: GoogleSignInButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -7,5 +7,6 @@ export interface IconProps {
7
7
  color?: string;
8
8
  "aria-label"?: string;
9
9
  "aria-hidden"?: boolean | "true" | "false";
10
+ "data-testid"?: string;
10
11
  }
11
- export declare function Icon({ name, size, className, color, "aria-label": ariaLabel, "aria-hidden": ariaHidden, }: IconProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function Icon({ name, size, className, color, "aria-label": ariaLabel, "aria-hidden": ariaHidden, "data-testid": testId, }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -6,5 +6,6 @@ export interface LanguageSelectorProps {
6
6
  value: string;
7
7
  options: LanguageOption[];
8
8
  onChange: (value: string) => void;
9
+ "data-testid"?: string;
9
10
  }
10
- export declare function LanguageSelector({ value, options, onChange }: LanguageSelectorProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function LanguageSelector({ value, options, onChange, "data-testid": testId, }: LanguageSelectorProps): import("react/jsx-runtime").JSX.Element;
@@ -13,5 +13,6 @@ export interface MultiselectProps {
13
13
  removeLabel?: string;
14
14
  disabled?: boolean;
15
15
  error?: boolean;
16
+ "data-testid"?: string;
16
17
  }
17
- export declare function Multiselect({ options, value, onChange, placeholder, searchPlaceholder, noResultsText, removeLabel, disabled, error, }: MultiselectProps): ReactElement;
18
+ export declare function Multiselect({ options, value, onChange, placeholder, searchPlaceholder, noResultsText, removeLabel, disabled, error, "data-testid": testId, }: MultiselectProps): ReactElement;
@@ -7,5 +7,6 @@ export interface NavBarProps {
7
7
  isLoading?: boolean;
8
8
  isPinLocked?: boolean;
9
9
  rightSlot?: ReactNode;
10
+ "data-testid"?: string;
10
11
  }
11
- export declare function NavBar({ restaurantName, onMenuToggle, onLogoClick, onRightToggle, isLoading, isPinLocked, rightSlot, }: NavBarProps): import("react/jsx-runtime").JSX.Element | null;
12
+ export declare function NavBar({ restaurantName, onMenuToggle, onLogoClick, onRightToggle, isLoading, isPinLocked, rightSlot, "data-testid": testId, }: NavBarProps): import("react/jsx-runtime").JSX.Element | null;
@@ -2,6 +2,7 @@ export interface PageLoadingOverlayProps {
2
2
  isOpen: boolean;
3
3
  /** Screen-reader announcement text. Defaults to "Cargando…" */
4
4
  label?: string;
5
+ "data-testid"?: string;
5
6
  }
6
7
  /**
7
8
  * Full-screen blocking overlay for page-level loading states.
@@ -14,4 +15,4 @@ export interface PageLoadingOverlayProps {
14
15
  * <PageLoadingOverlay isOpen={isPending} />
15
16
  * <PageLoadingOverlay isOpen={isPending} label="Guardando cambios…" />
16
17
  */
17
- export declare function PageLoadingOverlay({ isOpen, label }: PageLoadingOverlayProps): import("react").ReactPortal;
18
+ export declare function PageLoadingOverlay({ isOpen, label, "data-testid": testId, }: PageLoadingOverlayProps): import("react").ReactPortal;
@@ -2,5 +2,6 @@ import type { ReactNode } from "react";
2
2
  export interface PinLockOverlayProps {
3
3
  isLocked: boolean;
4
4
  children: ReactNode;
5
+ "data-testid"?: string;
5
6
  }
6
- export declare function PinLockOverlay({ isLocked, children }: PinLockOverlayProps): import("react/jsx-runtime").JSX.Element | null;
7
+ export declare function PinLockOverlay({ isLocked, children, "data-testid": testId }: PinLockOverlayProps): import("react/jsx-runtime").JSX.Element | null;
@@ -14,7 +14,8 @@ export type ProductTileType = {
14
14
  export type ProductTileProps = {
15
15
  product: ProductTileType;
16
16
  onAdd: (product: ProductTileType) => void;
17
+ "data-testid"?: string;
17
18
  };
18
- declare function ProductTileComponent({ product, onAdd }: ProductTileProps): import("react/jsx-runtime").JSX.Element;
19
+ declare function ProductTileComponent({ product, onAdd, "data-testid": testId }: ProductTileProps): import("react/jsx-runtime").JSX.Element;
19
20
  export declare const ProductTile: import("react").MemoExoticComponent<typeof ProductTileComponent>;
20
21
  export {};
@@ -2,5 +2,6 @@ import type { InputHTMLAttributes } from "react";
2
2
  export interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type"> {
3
3
  label?: string;
4
4
  ref?: React.Ref<HTMLInputElement>;
5
+ "data-testid"?: string;
5
6
  }
6
- export declare function Radio({ label, className, id, ref, ...props }: RadioProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function Radio({ label, className, id, ref, "data-testid": testId, ...props }: RadioProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import type { ReactNode } from "react";
2
+ import type { IconNameType as IconName } from "../Icon";
3
+ export interface SectionHeaderProps {
4
+ title: string;
5
+ description?: string;
6
+ icon?: IconName;
7
+ iconSize?: number;
8
+ headingLevel?: 1 | 2 | 3 | 4;
9
+ actions?: ReactNode;
10
+ className?: string;
11
+ "data-testid"?: string;
12
+ }
13
+ export declare function SectionHeader({ title, description, icon, iconSize, headingLevel, actions, className, "data-testid": testId, }: SectionHeaderProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-vite";
2
+ import { SectionHeader } from "../SectionHeader";
3
+ declare const meta: Meta<typeof SectionHeader>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof SectionHeader>;
6
+ export declare const TitleOnly: Story;
7
+ export declare const TitleAndDescription: Story;
8
+ export declare const WithIconAndDescription: Story;
9
+ export declare const WithIconAndActions: Story;
10
+ export declare const WithMultipleActions: Story;
11
+ export declare const HeadingLevel1: Story;
12
+ export declare const HeadingLevel3: Story;
13
+ export declare const HeadingLevel4: Story;
14
+ export declare const AllHeadingLevels: Story;
15
+ export declare const BothThemes: Story;
@@ -0,0 +1,2 @@
1
+ export type { SectionHeaderProps } from "./SectionHeader";
2
+ export { SectionHeader } from "./SectionHeader";
@@ -7,5 +7,6 @@ export interface SidebarNavSectionProps {
7
7
  isActive?: boolean;
8
8
  className?: string;
9
9
  children: ReactNode;
10
+ "data-testid"?: string;
10
11
  }
11
- export declare function SidebarNavSection({ title, icon, titleSuffix, defaultOpen, isActive, className, children, }: SidebarNavSectionProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function SidebarNavSection({ title, icon, titleSuffix, defaultOpen, isActive, className, children, "data-testid": testId, }: SidebarNavSectionProps): import("react/jsx-runtime").JSX.Element;
@@ -4,5 +4,6 @@ export interface SkeletonProps {
4
4
  height?: string | number;
5
5
  variant?: SkeletonVariant;
6
6
  className?: string;
7
+ "data-testid"?: string;
7
8
  }
8
- export declare function Skeleton({ width, height, variant, className }: SkeletonProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function Skeleton({ width, height, variant, className, "data-testid": testId, }: SkeletonProps): import("react/jsx-runtime").JSX.Element;
@@ -3,5 +3,6 @@ export interface SpinnerProps {
3
3
  size?: SpinnerSize;
4
4
  label?: string;
5
5
  className?: string;
6
+ "data-testid"?: string;
6
7
  }
7
- export declare function Spinner({ size, label, className }: SpinnerProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function Spinner({ size, label, className, "data-testid": testId, }: SpinnerProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import type React from "react";
2
+ import type { BadgeSize, BadgeVariant } from "../Badge";
3
+ export interface StatusBadgeProps {
4
+ status: string;
5
+ labels: Record<string, string>;
6
+ variants: Record<string, BadgeVariant>;
7
+ fallbackLabel?: string;
8
+ fallbackVariant?: BadgeVariant;
9
+ size?: BadgeSize;
10
+ "data-testid"?: string;
11
+ }
12
+ export declare function StatusBadge({ status, labels, variants, fallbackLabel, fallbackVariant, size, "data-testid": testId, }: StatusBadgeProps): React.ReactElement;
@@ -0,0 +1,15 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-vite";
2
+ import { StatusBadge } from "../StatusBadge";
3
+ declare const meta: Meta<typeof StatusBadge>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof StatusBadge>;
6
+ export declare const Success: Story;
7
+ export declare const Warning: Story;
8
+ export declare const Error: Story;
9
+ export declare const Info: Story;
10
+ export declare const UnknownFallbackToStatus: Story;
11
+ export declare const UnknownWithFallbackLabel: Story;
12
+ export declare const SizeSmall: Story;
13
+ export declare const SizeMedium: Story;
14
+ export declare const AllVariants: Story;
15
+ export declare const BothSizes: Story;
@@ -0,0 +1,2 @@
1
+ export type { StatusBadgeProps } from "./StatusBadge";
2
+ export { StatusBadge } from "./StatusBadge";
@@ -3,5 +3,6 @@ export type TabBarVariant = "default" | "expanded" | "expanded-billing";
3
3
  export interface TabBarProps {
4
4
  variant?: TabBarVariant;
5
5
  children: ReactNode;
6
+ "data-testid"?: string;
6
7
  }
7
- export declare function TabBar({ variant, children }: TabBarProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function TabBar({ variant, children, "data-testid": testId }: TabBarProps): import("react/jsx-runtime").JSX.Element;
@@ -13,5 +13,6 @@ export interface TabsProps {
13
13
  /** Accessible label for the tablist — required when multiple tablists exist on the page. */
14
14
  "aria-label"?: string;
15
15
  onChange?: (tabId: string) => void;
16
+ "data-testid"?: string;
16
17
  }
17
- export declare function Tabs({ items, defaultTab, activeTab: controlledTab, "aria-label": ariaLabel, onChange, }: TabsProps): React.ReactElement;
18
+ export declare function Tabs({ items, defaultTab, activeTab: controlledTab, "aria-label": ariaLabel, onChange, "data-testid": testId, }: TabsProps): React.ReactElement;
@@ -4,5 +4,6 @@ export interface TextInputProps extends Omit<InputHTMLAttributes<HTMLInputElemen
4
4
  error?: boolean;
5
5
  showPasswordToggle?: boolean;
6
6
  size?: TextInputSize;
7
+ "data-testid"?: string;
7
8
  }
8
9
  export declare const TextInput: import("react").ForwardRefExoticComponent<TextInputProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -4,5 +4,6 @@ export interface ThemeGateProps {
4
4
  theme: DsTheme;
5
5
  children: ReactNode;
6
6
  className?: string;
7
+ "data-testid"?: string;
7
8
  }
8
- export declare function ThemeGate({ theme, children, className }: ThemeGateProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function ThemeGate({ theme, children, className, "data-testid": testId }: ThemeGateProps): import("react/jsx-runtime").JSX.Element;
@@ -6,6 +6,7 @@ export interface ToastData {
6
6
  variant: ToastVariant;
7
7
  duration?: number;
8
8
  dismissible?: boolean;
9
+ "data-testid"?: string;
9
10
  }
10
11
  export interface ToastContainerProps {
11
12
  children?: ReactNode;
@@ -4,6 +4,7 @@ type AddToastOptions = {
4
4
  variant?: ToastVariant;
5
5
  duration?: number;
6
6
  dismissible?: boolean;
7
+ "data-testid"?: string;
7
8
  };
8
9
  type ToastStore = {
9
10
  toasts: ToastData[];
@@ -3,5 +3,6 @@ export interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>,
3
3
  label?: string;
4
4
  size?: "small" | "medium";
5
5
  ref?: React.Ref<HTMLInputElement>;
6
+ "data-testid"?: string;
6
7
  }
7
- export declare function Toggle({ label, size, className, id, ref, ...props }: ToggleProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function Toggle({ label, size, className, id, ref, "data-testid": testId, ...props }: ToggleProps): import("react/jsx-runtime").JSX.Element;
@@ -4,5 +4,6 @@ export interface TooltipProps {
4
4
  content: ReactNode;
5
5
  children: ReactNode;
6
6
  placement?: TooltipPlacement;
7
+ "data-testid"?: string;
7
8
  }
8
- export declare function Tooltip({ content, children, placement }: TooltipProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function Tooltip({ content, children, placement, "data-testid": testId, }: TooltipProps): import("react/jsx-runtime").JSX.Element;
package/dist/index.d.ts CHANGED
@@ -17,6 +17,10 @@ export type { BaseChartProps, ChartSeries, KpiCardProps, } from "./components/Ch
17
17
  export { AreaChart, BarChart, KpiCard, LineChart } from "./components/Charts";
18
18
  export type { CheckboxProps } from "./components/Checkbox";
19
19
  export { Checkbox } from "./components/Checkbox";
20
+ export type { ComingSoonProps } from "./components/ComingSoon";
21
+ export { ComingSoon } from "./components/ComingSoon";
22
+ export type { ConfigRowProps } from "./components/ConfigRow";
23
+ export { ConfigRow } from "./components/ConfigRow";
20
24
  export type { ColumnDef, DataTableProps, PaginationState, Row, RowData, SortingState, } from "./components/DataTable";
21
25
  export { DataTable } from "./components/DataTable";
22
26
  export type { DatePickerProps } from "./components/DatePicker";
@@ -68,6 +72,8 @@ export type { PinLockOverlayProps } from "./components/PinLockOverlay";
68
72
  export { PinLockOverlay } from "./components/PinLockOverlay";
69
73
  export type { RadioProps } from "./components/Radio";
70
74
  export { Radio } from "./components/Radio";
75
+ export type { SectionHeaderProps } from "./components/SectionHeader";
76
+ export { SectionHeader } from "./components/SectionHeader";
71
77
  export type { SelectOption, SelectProps } from "./components/Select";
72
78
  export { Select } from "./components/Select";
73
79
  export type { SidebarProps } from "./components/Sidebar";
@@ -80,6 +86,8 @@ export type { SkeletonProps, SkeletonVariant } from "./components/Skeleton";
80
86
  export { Skeleton } from "./components/Skeleton";
81
87
  export type { SpinnerProps, SpinnerSize } from "./components/Spinner";
82
88
  export { Spinner } from "./components/Spinner";
89
+ export type { StatusBadgeProps } from "./components/StatusBadge";
90
+ export { StatusBadge } from "./components/StatusBadge";
83
91
  export type { TabBarProps, TabBarVariant } from "./components/TabBar";
84
92
  export { TabBar } from "./components/TabBar";
85
93
  export type { TabItem, TabsProps } from "./components/Tabs";
@@ -109,6 +117,8 @@ export type { DividerProps } from "./layouts/Divider";
109
117
  export { Divider } from "./layouts/Divider";
110
118
  export type { GridGap, GridProps } from "./layouts/Grid";
111
119
  export { Grid } from "./layouts/Grid";
120
+ export type { LoginFooterProps } from "./layouts/LoginFooter";
121
+ export { LoginFooter } from "./layouts/LoginFooter";
112
122
  export type { LoginPageLayoutProps } from "./layouts/LoginPageLayout";
113
123
  export { LoginPageLayout } from "./layouts/LoginPageLayout";
114
124
  export type { PageLayoutProps } from "./layouts/PageLayout";