@nexub/react 1.7.0 → 1.9.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.
Files changed (120) hide show
  1. package/dist/{chunk-C6JRJ6JW.js → chunk-22BGPRJZ.js} +1 -1
  2. package/dist/{chunk-NGQKBDHA.js → chunk-322WR6EU.js} +1 -1
  3. package/dist/{chunk-24ZFAXB2.js → chunk-3MSIO7KM.js} +29 -1
  4. package/dist/{chunk-AEBYQKLS.js → chunk-3XX45SUC.js} +62 -1
  5. package/dist/chunk-4B4XWDAH.js +1 -0
  6. package/dist/{chunk-AGYGWU6C.js → chunk-4MEV2WHD.js} +27 -6
  7. package/dist/{chunk-FLZD7HQY.js → chunk-5FWJXSXT.js} +1 -1
  8. package/dist/{chunk-NYWD5SI4.js → chunk-5GN2GFW3.js} +1 -1
  9. package/dist/{chunk-LESI7J7B.js → chunk-5NKIGEDZ.js} +1 -0
  10. package/dist/{chunk-7SXR4PGO.js → chunk-5W3AOOYS.js} +1 -1
  11. package/dist/{chunk-NZR4UGUZ.js → chunk-6U5WQERX.js} +4 -4
  12. package/dist/{chunk-NZT4TTNV.js → chunk-7BAIEYUW.js} +79 -58
  13. package/dist/{chunk-NQPGELMP.js → chunk-A4QLUIFN.js} +1 -1
  14. package/dist/{chunk-PGDXFBKT.js → chunk-BEOHZKPQ.js} +1 -1
  15. package/dist/{chunk-4UBVU53C.js → chunk-BIAYWCDE.js} +1 -1
  16. package/dist/{chunk-YNU6VRD5.js → chunk-BSKEBC2Q.js} +1 -1
  17. package/dist/chunk-BU5QD2FS.js +148 -0
  18. package/dist/{chunk-GRKCUQG4.js → chunk-DFCHCYNT.js} +4 -3
  19. package/dist/{chunk-4HQFOIZW.js → chunk-ENB7X3W4.js} +3 -3
  20. package/dist/{chunk-643EYCLL.js → chunk-ESMIBOF5.js} +1 -1
  21. package/dist/{chunk-ZMJ54TG6.js → chunk-ETWFHIAE.js} +1 -1
  22. package/dist/{chunk-JHVYI5GK.js → chunk-F7ZA2VA2.js} +1 -1
  23. package/dist/{chunk-KRCLK5O4.js → chunk-FT2S7N64.js} +1 -1
  24. package/dist/{chunk-X4BQHXLB.js → chunk-GG5HDX7J.js} +1 -1
  25. package/dist/{chunk-RM7MTOT5.js → chunk-GSA7NBEG.js} +1 -1
  26. package/dist/{chunk-MYP5ZTC3.js → chunk-HSM7RXUF.js} +3 -3
  27. package/dist/{chunk-U2ZYPPRG.js → chunk-IDIS7Z6H.js} +2 -2
  28. package/dist/{chunk-JSBNYRO4.js → chunk-JVOSMXD5.js} +2 -2
  29. package/dist/{chunk-BSL62LBX.js → chunk-KRHD7VI6.js} +1 -1
  30. package/dist/{chunk-4NFUBFYK.js → chunk-L4BSKMLK.js} +1 -1
  31. package/dist/{chunk-RATKKN3F.js → chunk-LYOU2D5N.js} +2 -2
  32. package/dist/{chunk-7VJABRKB.js → chunk-NORCPKRD.js} +1 -1
  33. package/dist/{chunk-CQWYZPPJ.js → chunk-NYORXEPS.js} +1 -1
  34. package/dist/{chunk-MLT7SA3T.js → chunk-O6J6HXVT.js} +3 -3
  35. package/dist/{chunk-NAJKIBU2.js → chunk-OS4NOWEI.js} +1 -1
  36. package/dist/{chunk-J65MK3N4.js → chunk-OTZBGMYH.js} +2 -2
  37. package/dist/{chunk-W3KO3JNZ.js → chunk-PC7YGDNL.js} +2 -2
  38. package/dist/{chunk-PREMZMLU.js → chunk-PGD246WD.js} +1 -1
  39. package/dist/{chunk-VMT7Y3AT.js → chunk-R6VLSYXK.js} +2 -2
  40. package/dist/{chunk-UTLKZPKJ.js → chunk-RSBJBQPG.js} +1 -1
  41. package/dist/{chunk-B254JXS7.js → chunk-RVWQROFK.js} +1 -1
  42. package/dist/{chunk-2I7FIU6R.js → chunk-SKIJVVBU.js} +1 -1
  43. package/dist/{chunk-SYZADSLI.js → chunk-SZNSQR2B.js} +1 -1
  44. package/dist/{chunk-ZTLALVWA.js → chunk-TSN6HYVY.js} +2 -2
  45. package/dist/{chunk-TAVVXXGO.js → chunk-UAQRQNOB.js} +2 -2
  46. package/dist/chunk-UCNA2ICU.js +28 -0
  47. package/dist/{chunk-NERAWEIQ.js → chunk-UV5O2BMW.js} +2 -2
  48. package/dist/{chunk-XDU27NRX.js → chunk-UVWQPDOV.js} +1 -1
  49. package/dist/{chunk-GWDEKW7P.js → chunk-V6CMWCJH.js} +2 -2
  50. package/dist/{chunk-VD4RFTNV.js → chunk-VF6RWEKX.js} +1 -1
  51. package/dist/{chunk-CV5ZKED7.js → chunk-W2P2WOAN.js} +1 -1
  52. package/dist/{chunk-GG54WBLA.js → chunk-WECNLNIA.js} +2 -2
  53. package/dist/{chunk-KE4YVG5Q.js → chunk-X3B2MTX6.js} +1 -1
  54. package/dist/{chunk-37L5ERUJ.js → chunk-XHLSYHAV.js} +2 -2
  55. package/dist/{chunk-RUR57JZQ.js → chunk-ZGZQZG6S.js} +1 -1
  56. package/dist/{chunk-WVBGQCYC.js → chunk-ZLW7IBXK.js} +1 -1
  57. package/dist/{chunk-TZ6KJIR4.js → chunk-ZRBLASQE.js} +1 -1
  58. package/dist/{chunk-QUNH4BFR.js → chunk-ZTI4MK3L.js} +1 -1
  59. package/dist/{chunk-7XWJCFWI.js → chunk-ZUGZRXME.js} +1 -1
  60. package/dist/components/Alert/index.js +2 -2
  61. package/dist/components/AlertDialog/index.js +4 -4
  62. package/dist/components/Amount/index.js +3 -3
  63. package/dist/components/Autocomplete/index.js +2 -2
  64. package/dist/components/AvatarGroup/index.js +2 -2
  65. package/dist/components/Banner/index.js +2 -2
  66. package/dist/components/Breadcrumb/index.js +2 -2
  67. package/dist/components/Button/index.js +2 -2
  68. package/dist/components/Chip/index.js +2 -2
  69. package/dist/components/Citation/index.js +4 -4
  70. package/dist/components/CommandPalette/index.js +3 -3
  71. package/dist/components/ContextMenu/index.js +2 -2
  72. package/dist/components/DataTable/index.js +4 -2
  73. package/dist/components/DatePicker/index.js +4 -4
  74. package/dist/components/DateRangePicker/index.js +5 -5
  75. package/dist/components/Dialog/index.js +2 -2
  76. package/dist/components/Drawer/index.js +2 -2
  77. package/dist/components/DropdownMenu/index.js +2 -2
  78. package/dist/components/ErrorState/index.js +2 -2
  79. package/dist/components/EyebrowChip/index.js +3 -3
  80. package/dist/components/FileUpload/index.js +2 -2
  81. package/dist/components/FilterChip/index.js +3 -3
  82. package/dist/components/FormField/index.js +5 -5
  83. package/dist/components/Heading/index.js +3 -3
  84. package/dist/components/HelperText/index.js +3 -3
  85. package/dist/components/HoverCard/index.js +2 -2
  86. package/dist/components/IconButton/index.js +2 -2
  87. package/dist/components/Input/index.js +2 -2
  88. package/dist/components/Kbd/index.js +1 -1
  89. package/dist/components/KeyboardShortcut/index.js +2 -2
  90. package/dist/components/Label/index.js +3 -3
  91. package/dist/components/Menubar/index.js +2 -2
  92. package/dist/components/MessageBubble/index.js +4 -4
  93. package/dist/components/MoneyInput/index.js +4 -4
  94. package/dist/components/NavigationMenu/index.js +2 -2
  95. package/dist/components/NavigationRail/index.js +2 -2
  96. package/dist/components/NexubProvider/index.js +1 -1
  97. package/dist/components/NumberInput/index.js +4 -4
  98. package/dist/components/NumberTicker/index.js +2 -2
  99. package/dist/components/PageHeader/index.js +1 -1
  100. package/dist/components/Pagination/index.js +3 -3
  101. package/dist/components/PasswordInput/index.js +4 -4
  102. package/dist/components/Popover/index.js +2 -2
  103. package/dist/components/PromptInput/index.js +4 -4
  104. package/dist/components/Rating/index.js +2 -2
  105. package/dist/components/SearchInput/index.js +4 -4
  106. package/dist/components/Select/index.js +3 -3
  107. package/dist/components/Sidebar/index.js +2 -2
  108. package/dist/components/Spinner/index.js +2 -2
  109. package/dist/components/SplitButton/index.js +5 -5
  110. package/dist/components/Table/index.js +2 -1
  111. package/dist/components/Textarea/index.js +2 -2
  112. package/dist/components/ThemeProvider/index.js +1 -1
  113. package/dist/components/ThinkingIndicator/index.js +2 -2
  114. package/dist/components/Toast/index.js +2 -2
  115. package/dist/components/TopNav/index.js +2 -2
  116. package/dist/index.d.ts +69 -6
  117. package/dist/index.js +96 -95
  118. package/package.json +6 -6
  119. package/dist/chunk-MTK3GHDQ.js +0 -25
  120. package/dist/chunk-OYCK6BRG.js +0 -89
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import {
3
3
  ThinkingIndicator
4
- } from "../../chunk-643EYCLL.js";
5
- import "../../chunk-24ZFAXB2.js";
4
+ } from "../../chunk-ESMIBOF5.js";
5
+ import "../../chunk-3MSIO7KM.js";
6
6
  import "../../chunk-Q7G5WGYV.js";
7
7
  export {
8
8
  ThinkingIndicator
@@ -4,9 +4,9 @@ import {
4
4
  Toaster,
5
5
  toast,
6
6
  useToastStore
7
- } from "../../chunk-RM7MTOT5.js";
7
+ } from "../../chunk-GSA7NBEG.js";
8
8
  import "../../chunk-NHUQLIHL.js";
9
- import "../../chunk-24ZFAXB2.js";
9
+ import "../../chunk-3MSIO7KM.js";
10
10
  import "../../chunk-Q7G5WGYV.js";
11
11
  export {
12
12
  Toast,
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
  import {
3
3
  TopNav
4
- } from "../../chunk-BSL62LBX.js";
4
+ } from "../../chunk-KRHD7VI6.js";
5
5
  import "../../chunk-DEIBF3P7.js";
6
- import "../../chunk-24ZFAXB2.js";
6
+ import "../../chunk-3MSIO7KM.js";
7
7
  import "../../chunk-Q7G5WGYV.js";
8
8
  export {
9
9
  TopNav
package/dist/index.d.ts CHANGED
@@ -26,7 +26,7 @@ import * as RadixCollapsible from '@radix-ui/react-collapsible';
26
26
  import * as RadixScrollArea from '@radix-ui/react-scroll-area';
27
27
  import * as RadixToolbar from '@radix-ui/react-toolbar';
28
28
  import * as RadixToast from '@radix-ui/react-toast';
29
- import { ColumnDef } from '@tanstack/react-table';
29
+ import { RowData, ColumnDef } from '@tanstack/react-table';
30
30
  import { DateRange } from 'react-day-picker';
31
31
  export { DateRange } from 'react-day-picker';
32
32
 
@@ -285,6 +285,34 @@ interface NexubMessages {
285
285
  source: (index: number) => string;
286
286
  jumpToLatest: string;
287
287
  conversation: string;
288
+ pageOf: (page: number, total: number) => string;
289
+ previous: string;
290
+ next: string;
291
+ search: string;
292
+ searchProduct: (productName: string) => string;
293
+ keyboardShortcut: (shortcut: string) => string;
294
+ commandKey: string;
295
+ controlKey: string;
296
+ searching: string;
297
+ searchFailed: string;
298
+ noResultsFor: (query: string) => string;
299
+ typeToSearch: string;
300
+ switchOrganization: (name: string) => string;
301
+ organizations: string;
302
+ switchToLightTheme: string;
303
+ switchToDarkTheme: string;
304
+ glass: string;
305
+ glassClear: string;
306
+ glassBalanced: string;
307
+ glassTinted: string;
308
+ glassSolid: string;
309
+ accountMenu: (name: string) => string;
310
+ manageAccount: string;
311
+ privacyPolicy: string;
312
+ termsOfService: string;
313
+ signOut: string;
314
+ signingOut: string;
315
+ accountAndApps: string;
288
316
  }
289
317
  declare const defaultMessages: NexubMessages;
290
318
  type Direction = 'ltr' | 'rtl';
@@ -1516,6 +1544,8 @@ interface PageHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'ti
1516
1544
  description?: React.ReactNode;
1517
1545
  actions?: React.ReactNode;
1518
1546
  breadcrumb?: React.ReactNode;
1547
+ /** Heading level of the title. Use 2 or 3 when the page already has an h1. @default 1 */
1548
+ level?: 1 | 2 | 3;
1519
1549
  }
1520
1550
  declare const PageHeader: React.ForwardRefExoticComponent<PageHeaderProps & React.RefAttributes<HTMLDivElement>>;
1521
1551
 
@@ -1621,8 +1651,15 @@ declare const CommandPalette: {
1621
1651
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
1622
1652
  };
1623
1653
 
1654
+ interface TableRootProps extends React.HTMLAttributes<HTMLTableElement> {
1655
+ /**
1656
+ * Accessible name of the scroll region shown when the table overflows
1657
+ * horizontally. Falls back to the table's `aria-label`/`aria-labelledby`, then its caption.
1658
+ */
1659
+ scrollLabel?: string;
1660
+ }
1624
1661
  declare const Table: {
1625
- Root: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableElement> & React.RefAttributes<HTMLTableElement>>;
1662
+ Root: React.ForwardRefExoticComponent<TableRootProps & React.RefAttributes<HTMLTableElement>>;
1626
1663
  Header: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
1627
1664
  Body: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
1628
1665
  Footer: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
@@ -1632,8 +1669,20 @@ declare const Table: {
1632
1669
  Caption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
1633
1670
  };
1634
1671
 
1672
+ declare module '@tanstack/react-table' {
1673
+ interface ColumnMeta<TData extends RowData, TValue> {
1674
+ /** Horizontal alignment of the header and cells. Use 'end' for numbers. @default 'start' */
1675
+ align?: 'start' | 'end' | 'center';
1676
+ }
1677
+ }
1678
+ /** A DataTable column: TanStack's `ColumnDef`, with `meta.align` for numeric columns. */
1679
+ type DataTableColumn<TData> = ColumnDef<TData, unknown>;
1635
1680
  interface DataTableProps<TData> extends React.HTMLAttributes<HTMLDivElement> {
1636
- columns: ColumnDef<TData>[];
1681
+ columns: DataTableColumn<TData>[];
1682
+ /** Names the table for assistive tech (and is shown below it unless `captionHidden`). */
1683
+ caption?: React.ReactNode;
1684
+ /** Keep the caption for screen readers only. */
1685
+ captionHidden?: boolean;
1637
1686
  data: TData[];
1638
1687
  enableSorting?: boolean;
1639
1688
  enableRowSelection?: boolean;
@@ -1641,7 +1690,7 @@ interface DataTableProps<TData> extends React.HTMLAttributes<HTMLDivElement> {
1641
1690
  pageSize?: number;
1642
1691
  };
1643
1692
  }
1644
- declare function DataTable<TData>({ columns, data, enableSorting, enableRowSelection, pagination, className, ...props }: DataTableProps<TData>): React.JSX.Element;
1693
+ declare function DataTable<TData>({ columns, data, enableSorting, enableRowSelection, pagination, caption, captionHidden, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, ...props }: DataTableProps<TData>): React.JSX.Element;
1645
1694
 
1646
1695
  declare const EmptyState: {
1647
1696
  Root: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
@@ -1739,8 +1788,22 @@ interface ThemeProviderProps {
1739
1788
  defaultGlass?: GlassMode;
1740
1789
  /** localStorage key for the glass intensity. Defaults to 'nexub-glass'. */
1741
1790
  glassStorageKey?: string;
1791
+ /**
1792
+ * Brand seed colour (`#rgb` / `#rrggbb`) for white-label theming. The accent
1793
+ * family named by `seedTarget` is regenerated from it (same HCT tones as the
1794
+ * built-in roles, so WCAG pairs hold) and set on `<html>` via the CSSOM
1795
+ * (strict-CSP safe), following the current `data-contrast` level.
1796
+ *
1797
+ * Runs on the client after `@nexub/tokens/seed` loads (a lazy chunk with
1798
+ * the colour library), so server-rendered pages paint the default brand
1799
+ * first. To avoid that flash, emit `createSeedThemeCss(seed)` from
1800
+ * `@nexub/tokens/seed` into a server-rendered stylesheet instead.
1801
+ */
1802
+ seed?: string;
1803
+ /** Accent family the seed recolours: 'primary' (default) or 'tertiary' (product brand). */
1804
+ seedTarget?: 'primary' | 'tertiary';
1742
1805
  }
1743
- declare function ThemeProvider({ children, defaultTheme, storageKey, defaultGlass, glassStorageKey, }: ThemeProviderProps): React.JSX.Element;
1806
+ declare function ThemeProvider({ children, defaultTheme, storageKey, defaultGlass, glassStorageKey, seed, seedTarget, }: ThemeProviderProps): React.JSX.Element;
1744
1807
  declare function useTheme(): ThemeContextValue;
1745
1808
  interface ThemeScriptProps {
1746
1809
  /** Must match ThemeProvider's `storageKey`. Defaults to 'nexub-theme'. */
@@ -1864,4 +1927,4 @@ interface CollapseProps extends Omit<MotionBaseProps, 'easing'>, React.HTMLAttri
1864
1927
  */
1865
1928
  declare const Collapse: React.ForwardRefExoticComponent<CollapseProps & React.RefAttributes<HTMLDivElement>>;
1866
1929
 
1867
- export { Accordion, Alert, AlertDialog, type AlertProps, Amount, type AmountProps, AppShell, AspectRatio, type AspectRatioProps, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Badge, type BadgeProps, Banner, type BannerProps, Box, type BoxProps, Breadcrumb, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type ButtonStatus, Callout, type CalloutProps, Card, CardLink, type CardLinkProps, type CardProps, CheckList, CheckListItem, type CheckListItemProps, type CheckListProps, Checkbox, CheckboxCard, type CheckboxCardProps, type CheckboxProps, Chip, type ChipProps, Citation, type CitationMessages, type CitationProps, type CitationSource, Code, type CodeProps, Collapse, type CollapseProps, Collapsible, Combobox, CommandPalette, type CommandPaletteRootProps, Container, type ContainerProps, ContextMenu, CountryBadge, type CountryBadgeProps, DataTable, type DataTableProps, DatePicker, type DatePickerProps, DateRangePicker, type DateRangePickerProps, Dialog, Drawer, type DrawerRootProps, DropdownMenu, EmptyState, ErrorState, type ErrorStateProps, EyebrowChip, type EyebrowChipProps, Fade, type FadeProps, type Feedback, FileUpload, type FileUploadRootProps, FilterChip, type FilterChipProps, Flag, type FlagProps, Flex, type FlexProps, FormError, type FormErrorProps, FormField, type FormFieldContextValue, type FormFieldRootProps, type GlassMode, GradientDivider, type GradientDividerProps, Grid, type GridProps, Heading, type HeadingProps, HelperText, type HelperTextProps, HoverCard, IconButton, type IconButtonProps, Input, type InputProps, Kbd, type KbdProps, KeyboardShortcut, type KeyboardShortcutProps, Label, type LabelProps, Link, type LinkProps, Logo, type LogoProps, MediaCard, type MediaCardProps, type MediaCardRatio, Menubar, MessageActions, type MessageActionsProps, MessageBubble, type MessageBubbleProps, type MessageFrom, type MessageStrings, MoneyInput, type MoneyInputProps, type MotionBaseProps, type MotionDuration, type MotionEasing, NavigationMenu, NavigationRail, type NavigationRailItemProps, type NavigationRailRootProps, type NexubMessages, NexubProvider, type NexubProviderProps, NumberInput, type NumberInputProps, NumberTicker, type NumberTickerPart, type NumberTickerProps, PageHeader, type PageHeaderProps, Pagination, type PaginationProps, PasswordInput, type PasswordInputProps, Popover, Progress, type ProgressProps, PromptInput, type PromptInputMessages, type PromptInputProps, type PromptInputStatus, RadioCard, RadioCardGroup, type RadioCardGroupProps, type RadioCardProps, RadioGroup, Rating, type RatingProps, Scale, type ScaleProps, ScrollArea, type ScrollAreaProps, SearchInput, type SearchInputProps, Section, type SectionProps, SegmentedControl, type SegmentedControlItemProps, type SegmentedControlProps, Select, Separator, type SeparatorProps, Sheet, Sidebar, type SidebarGroupProps, type SidebarHeaderProps, type SidebarItemProps, type SidebarRootProps, Skeleton, type SkeletonProps, Slide, type SlideDirection, type SlideProps, Slider, type SliderProps, SourceChip, type SourceChipProps, SourceList, type SourceListProps, Spinner, type SpinnerProps, SplitButton, type SplitButtonProps, Stack, type StackProps, StatusPill, type StatusPillProps, StreamingText, type StreamingTextProps, Switch, type SwitchProps, Table, Tabs, Tag, type TagProps, Text, type Direction as TextDirection, TextGradient, type TextGradientProps, type TextProps, Textarea, type TextareaProps, type ThemeContextValue, type ThemeMode, ThemeProvider, type ThemeProviderProps, ThemeScript, type ThemeScriptProps, ThinkingIndicator, type ThinkingIndicatorMessages, type ThinkingIndicatorProps, Toast, type ToastItem, Toaster, type ToasterProps, Toggle, ToggleGroup, type ToggleProps, type ToneValue, Toolbar, type ToolbarRootProps, Tooltip, Provider$1 as TooltipProvider, TopNav, type TopNavItemProps, type TopNavRootProps, type UndoableToastOptions, addonVariants, alertVariants, avatarGroupVariants, avatarVariants, badgeVariants, bannerVariants, buttonVariants, calloutVariants, cardVariants, chipVariants, cn, containerVariants, defaultMessageStrings, defaultMessages, headingVariants, iconButtonVariants, inputVariants, inputWrapperVariants, labelVariants, linkVariants, logoVariants, progressFillVariants, progressTrackVariants, ratingVariants, safeUrl, sectionVariants, separatorVariants, skeletonVariants, spinnerVariants, startViewTransition, statusPillVariants, tagVariants, textVariants, textareaVariants, toast, toggleVariants, useControllableState, useDisclosure, useIsomorphicLayoutEffect, useLocale, useMediaQuery, useMergedRefs, useNexubMessages, usePointerSheen, useTheme, useToastStore };
1930
+ export { Accordion, Alert, AlertDialog, type AlertProps, Amount, type AmountProps, AppShell, AspectRatio, type AspectRatioProps, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Badge, type BadgeProps, Banner, type BannerProps, Box, type BoxProps, Breadcrumb, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type ButtonStatus, Callout, type CalloutProps, Card, CardLink, type CardLinkProps, type CardProps, CheckList, CheckListItem, type CheckListItemProps, type CheckListProps, Checkbox, CheckboxCard, type CheckboxCardProps, type CheckboxProps, Chip, type ChipProps, Citation, type CitationMessages, type CitationProps, type CitationSource, Code, type CodeProps, Collapse, type CollapseProps, Collapsible, Combobox, CommandPalette, type CommandPaletteRootProps, Container, type ContainerProps, ContextMenu, CountryBadge, type CountryBadgeProps, DataTable, type DataTableColumn, type DataTableProps, DatePicker, type DatePickerProps, DateRangePicker, type DateRangePickerProps, Dialog, Drawer, type DrawerRootProps, DropdownMenu, EmptyState, ErrorState, type ErrorStateProps, EyebrowChip, type EyebrowChipProps, Fade, type FadeProps, type Feedback, FileUpload, type FileUploadRootProps, FilterChip, type FilterChipProps, Flag, type FlagProps, Flex, type FlexProps, FormError, type FormErrorProps, FormField, type FormFieldContextValue, type FormFieldRootProps, type GlassMode, GradientDivider, type GradientDividerProps, Grid, type GridProps, Heading, type HeadingProps, HelperText, type HelperTextProps, HoverCard, IconButton, type IconButtonProps, Input, type InputProps, Kbd, type KbdProps, KeyboardShortcut, type KeyboardShortcutProps, Label, type LabelProps, Link, type LinkProps, Logo, type LogoProps, MediaCard, type MediaCardProps, type MediaCardRatio, Menubar, MessageActions, type MessageActionsProps, MessageBubble, type MessageBubbleProps, type MessageFrom, type MessageStrings, MoneyInput, type MoneyInputProps, type MotionBaseProps, type MotionDuration, type MotionEasing, NavigationMenu, NavigationRail, type NavigationRailItemProps, type NavigationRailRootProps, type NexubMessages, NexubProvider, type NexubProviderProps, NumberInput, type NumberInputProps, NumberTicker, type NumberTickerPart, type NumberTickerProps, PageHeader, type PageHeaderProps, Pagination, type PaginationProps, PasswordInput, type PasswordInputProps, Popover, Progress, type ProgressProps, PromptInput, type PromptInputMessages, type PromptInputProps, type PromptInputStatus, RadioCard, RadioCardGroup, type RadioCardGroupProps, type RadioCardProps, RadioGroup, Rating, type RatingProps, Scale, type ScaleProps, ScrollArea, type ScrollAreaProps, SearchInput, type SearchInputProps, Section, type SectionProps, SegmentedControl, type SegmentedControlItemProps, type SegmentedControlProps, Select, Separator, type SeparatorProps, Sheet, Sidebar, type SidebarGroupProps, type SidebarHeaderProps, type SidebarItemProps, type SidebarRootProps, Skeleton, type SkeletonProps, Slide, type SlideDirection, type SlideProps, Slider, type SliderProps, SourceChip, type SourceChipProps, SourceList, type SourceListProps, Spinner, type SpinnerProps, SplitButton, type SplitButtonProps, Stack, type StackProps, StatusPill, type StatusPillProps, StreamingText, type StreamingTextProps, Switch, type SwitchProps, Table, type TableRootProps, Tabs, Tag, type TagProps, Text, type Direction as TextDirection, TextGradient, type TextGradientProps, type TextProps, Textarea, type TextareaProps, type ThemeContextValue, type ThemeMode, ThemeProvider, type ThemeProviderProps, ThemeScript, type ThemeScriptProps, ThinkingIndicator, type ThinkingIndicatorMessages, type ThinkingIndicatorProps, Toast, type ToastItem, Toaster, type ToasterProps, Toggle, ToggleGroup, type ToggleProps, type ToneValue, Toolbar, type ToolbarRootProps, Tooltip, Provider$1 as TooltipProvider, TopNav, type TopNavItemProps, type TopNavRootProps, type UndoableToastOptions, addonVariants, alertVariants, avatarGroupVariants, avatarVariants, badgeVariants, bannerVariants, buttonVariants, calloutVariants, cardVariants, chipVariants, cn, containerVariants, defaultMessageStrings, defaultMessages, headingVariants, iconButtonVariants, inputVariants, inputWrapperVariants, labelVariants, linkVariants, logoVariants, progressFillVariants, progressTrackVariants, ratingVariants, safeUrl, sectionVariants, separatorVariants, skeletonVariants, spinnerVariants, startViewTransition, statusPillVariants, tagVariants, textVariants, textareaVariants, toast, toggleVariants, useControllableState, useDisclosure, useIsomorphicLayoutEffect, useLocale, useMediaQuery, useMergedRefs, useNexubMessages, usePointerSheen, useTheme, useToastStore };
package/dist/index.js CHANGED
@@ -1,26 +1,27 @@
1
1
  'use client';
2
- import {
3
- TopNav
4
- } from "./chunk-BSL62LBX.js";
5
2
  import {
6
3
  Root
7
4
  } from "./chunk-ZXLACKEB.js";
5
+ import "./chunk-XYXMPHND.js";
6
+ import {
7
+ Textarea,
8
+ textareaVariants
9
+ } from "./chunk-BSKEBC2Q.js";
8
10
  import {
9
11
  ThemeProvider,
10
12
  ThemeScript,
11
13
  useTheme
12
- } from "./chunk-AEBYQKLS.js";
13
- import "./chunk-IZ6ZPEZ2.js";
14
+ } from "./chunk-3XX45SUC.js";
14
15
  import {
15
16
  ThinkingIndicator
16
- } from "./chunk-643EYCLL.js";
17
- import "./chunk-YJU4ZRQZ.js";
17
+ } from "./chunk-ESMIBOF5.js";
18
18
  import {
19
19
  Toast,
20
20
  Toaster,
21
21
  toast,
22
22
  useToastStore
23
- } from "./chunk-RM7MTOT5.js";
23
+ } from "./chunk-GSA7NBEG.js";
24
+ import "./chunk-YJU4ZRQZ.js";
24
25
  import {
25
26
  ToggleGroup
26
27
  } from "./chunk-DYWJ7BIK.js";
@@ -31,16 +32,20 @@ import {
31
32
  import {
32
33
  Toolbar
33
34
  } from "./chunk-2ZBJOUJ7.js";
34
- import "./chunk-XYXMPHND.js";
35
+ import {
36
+ TopNav
37
+ } from "./chunk-KRHD7VI6.js";
38
+ import {
39
+ StatusPill,
40
+ statusPillVariants
41
+ } from "./chunk-77LYWSJW.js";
35
42
  import {
36
43
  StreamingText
37
44
  } from "./chunk-5QEARXY3.js";
38
45
  import {
39
46
  Switch
40
47
  } from "./chunk-BTYDDKRQ.js";
41
- import {
42
- Table
43
- } from "./chunk-OYCK6BRG.js";
48
+ import "./chunk-4B4XWDAH.js";
44
49
  import {
45
50
  Tabs
46
51
  } from "./chunk-CKFRMCZ7.js";
@@ -56,16 +61,15 @@ import {
56
61
  TextGradient
57
62
  } from "./chunk-HH7EHNOW.js";
58
63
  import {
59
- Textarea,
60
- textareaVariants
61
- } from "./chunk-YNU6VRD5.js";
64
+ Select
65
+ } from "./chunk-R6VLSYXK.js";
62
66
  import {
63
67
  Separator,
64
68
  separatorVariants
65
69
  } from "./chunk-CUOASXI7.js";
66
70
  import {
67
71
  Sidebar
68
- } from "./chunk-TZ6KJIR4.js";
72
+ } from "./chunk-ZRBLASQE.js";
69
73
  import {
70
74
  Skeleton,
71
75
  skeletonVariants
@@ -76,17 +80,16 @@ import {
76
80
  import {
77
81
  Spinner,
78
82
  spinnerVariants
79
- } from "./chunk-4NFUBFYK.js";
83
+ } from "./chunk-L4BSKMLK.js";
80
84
  import {
81
85
  SplitButton
82
- } from "./chunk-GRKCUQG4.js";
86
+ } from "./chunk-DFCHCYNT.js";
83
87
  import {
84
88
  Stack
85
89
  } from "./chunk-I6CAF7C5.js";
86
90
  import {
87
- StatusPill,
88
- statusPillVariants
89
- } from "./chunk-77LYWSJW.js";
91
+ PromptInput
92
+ } from "./chunk-O6J6HXVT.js";
90
93
  import {
91
94
  RadioCard,
92
95
  RadioCardGroup
@@ -97,13 +100,13 @@ import {
97
100
  import {
98
101
  Rating,
99
102
  ratingVariants
100
- } from "./chunk-4UBVU53C.js";
103
+ } from "./chunk-BIAYWCDE.js";
101
104
  import {
102
105
  ScrollArea
103
106
  } from "./chunk-3LTB6TGN.js";
104
107
  import {
105
108
  SearchInput
106
- } from "./chunk-J65MK3N4.js";
109
+ } from "./chunk-OTZBGMYH.js";
107
110
  import {
108
111
  Section,
109
112
  sectionVariants
@@ -113,53 +116,52 @@ import {
113
116
  } from "./chunk-3E7X3YK3.js";
114
117
  import "./chunk-6UKNUI46.js";
115
118
  import {
116
- Select
117
- } from "./chunk-VMT7Y3AT.js";
119
+ useMergedRefs
120
+ } from "./chunk-MNEXMMLM.js";
121
+ import "./chunk-A3O23F2B.js";
118
122
  import {
119
123
  NumberInput
120
- } from "./chunk-4HQFOIZW.js";
124
+ } from "./chunk-ENB7X3W4.js";
121
125
  import "./chunk-WLRRMT6W.js";
122
126
  import {
123
127
  PageHeader
124
- } from "./chunk-MTK3GHDQ.js";
128
+ } from "./chunk-UCNA2ICU.js";
125
129
  import {
126
130
  Pagination
127
- } from "./chunk-JSBNYRO4.js";
131
+ } from "./chunk-JVOSMXD5.js";
128
132
  import {
129
133
  PasswordInput
130
- } from "./chunk-NERAWEIQ.js";
134
+ } from "./chunk-UV5O2BMW.js";
131
135
  import {
132
136
  Popover
133
- } from "./chunk-7VJABRKB.js";
137
+ } from "./chunk-NORCPKRD.js";
134
138
  import {
135
139
  Progress,
136
140
  progressFillVariants,
137
141
  progressTrackVariants
138
142
  } from "./chunk-PBPUSRTJ.js";
139
143
  import {
140
- PromptInput
141
- } from "./chunk-MLT7SA3T.js";
142
- import {
143
- useMergedRefs
144
- } from "./chunk-MNEXMMLM.js";
144
+ Logo,
145
+ logoVariants
146
+ } from "./chunk-6ECOCGZG.js";
145
147
  import {
146
148
  MediaCard
147
149
  } from "./chunk-3QD76BKT.js";
148
150
  import {
149
151
  Menubar
150
- } from "./chunk-VD4RFTNV.js";
152
+ } from "./chunk-VF6RWEKX.js";
151
153
  import {
152
154
  MessageActions,
153
155
  MessageBubble,
154
156
  defaultMessageStrings
155
- } from "./chunk-GG54WBLA.js";
157
+ } from "./chunk-WECNLNIA.js";
156
158
  import {
157
159
  Provider,
158
160
  Tooltip
159
161
  } from "./chunk-XQDD76EF.js";
160
162
  import {
161
163
  MoneyInput
162
- } from "./chunk-GWDEKW7P.js";
164
+ } from "./chunk-V6CMWCJH.js";
163
165
  import {
164
166
  useControllableState
165
167
  } from "./chunk-JLUCMNVS.js";
@@ -174,40 +176,42 @@ import {
174
176
  } from "./chunk-FS4XKWFA.js";
175
177
  import {
176
178
  NavigationMenu
177
- } from "./chunk-PGDXFBKT.js";
179
+ } from "./chunk-BEOHZKPQ.js";
178
180
  import {
179
181
  NavigationRail
180
- } from "./chunk-NYWD5SI4.js";
181
- import "./chunk-A3O23F2B.js";
182
+ } from "./chunk-5GN2GFW3.js";
182
183
  import "./chunk-ZT3NWE5U.js";
183
184
  import "./chunk-CAOLGXA5.js";
184
185
  import {
185
186
  IconButton,
186
187
  iconButtonVariants
187
- } from "./chunk-CQWYZPPJ.js";
188
+ } from "./chunk-NYORXEPS.js";
188
189
  import "./chunk-NZ7UK3G6.js";
189
190
  import {
190
191
  Input,
191
192
  addonVariants,
192
193
  inputVariants,
193
194
  inputWrapperVariants
194
- } from "./chunk-JHVYI5GK.js";
195
+ } from "./chunk-F7ZA2VA2.js";
195
196
  import "./chunk-KLTQJZOX.js";
197
+ import {
198
+ Heading,
199
+ headingVariants
200
+ } from "./chunk-SKIJVVBU.js";
196
201
  import {
197
202
  KeyboardShortcut
198
- } from "./chunk-CV5ZKED7.js";
203
+ } from "./chunk-W2P2WOAN.js";
199
204
  import {
200
205
  Kbd
201
- } from "./chunk-LESI7J7B.js";
206
+ } from "./chunk-5NKIGEDZ.js";
202
207
  import "./chunk-EV43I5J6.js";
203
208
  import {
204
209
  Link,
205
210
  linkVariants
206
211
  } from "./chunk-6BGUZQAX.js";
207
212
  import {
208
- Logo,
209
- logoVariants
210
- } from "./chunk-6ECOCGZG.js";
213
+ FilterChip
214
+ } from "./chunk-XHLSYHAV.js";
211
215
  import "./chunk-BV3U3ATL.js";
212
216
  import {
213
217
  Flex
@@ -215,11 +219,11 @@ import {
215
219
  import "./chunk-ADO2DB6Q.js";
216
220
  import {
217
221
  FormField
218
- } from "./chunk-RATKKN3F.js";
222
+ } from "./chunk-LYOU2D5N.js";
219
223
  import {
220
224
  Label,
221
225
  labelVariants
222
- } from "./chunk-PREMZMLU.js";
226
+ } from "./chunk-PGD246WD.js";
223
227
  import {
224
228
  FormError
225
229
  } from "./chunk-QVTVDL6Y.js";
@@ -230,44 +234,43 @@ import {
230
234
  Grid
231
235
  } from "./chunk-6JBQAJJD.js";
232
236
  import "./chunk-VLQGQFW7.js";
233
- import {
234
- Heading,
235
- headingVariants
236
- } from "./chunk-2I7FIU6R.js";
237
237
  import "./chunk-PICMOOAZ.js";
238
238
  import {
239
239
  HelperText
240
- } from "./chunk-WVBGQCYC.js";
240
+ } from "./chunk-ZLW7IBXK.js";
241
+ import {
242
+ DateRangePicker
243
+ } from "./chunk-6U5WQERX.js";
241
244
  import {
242
245
  Dialog
243
- } from "./chunk-RUR57JZQ.js";
246
+ } from "./chunk-ZGZQZG6S.js";
244
247
  import {
245
248
  Drawer,
246
249
  Sheet
247
- } from "./chunk-XDU27NRX.js";
250
+ } from "./chunk-UVWQPDOV.js";
248
251
  import "./chunk-HI7GBSW2.js";
249
252
  import {
250
253
  DropdownMenu
251
- } from "./chunk-NQPGELMP.js";
254
+ } from "./chunk-A4QLUIFN.js";
252
255
  import {
253
256
  EmptyState
254
257
  } from "./chunk-WMWX6DPB.js";
255
258
  import {
256
259
  ErrorState
257
- } from "./chunk-SYZADSLI.js";
260
+ } from "./chunk-SZNSQR2B.js";
258
261
  import {
259
262
  EyebrowChip
260
- } from "./chunk-NGQKBDHA.js";
263
+ } from "./chunk-322WR6EU.js";
261
264
  import {
262
265
  FileUpload
263
- } from "./chunk-NAJKIBU2.js";
266
+ } from "./chunk-OS4NOWEI.js";
264
267
  import {
265
- FilterChip
266
- } from "./chunk-37L5ERUJ.js";
268
+ Collapsible
269
+ } from "./chunk-3LP2CR7F.js";
267
270
  import "./chunk-HY3JWSG4.js";
268
271
  import {
269
272
  CommandPalette
270
- } from "./chunk-U2ZYPPRG.js";
273
+ } from "./chunk-IDIS7Z6H.js";
271
274
  import "./chunk-47UGX37F.js";
272
275
  import {
273
276
  Container,
@@ -275,7 +278,7 @@ import {
275
278
  } from "./chunk-E4JM3HUM.js";
276
279
  import {
277
280
  ContextMenu
278
- } from "./chunk-7XWJCFWI.js";
281
+ } from "./chunk-ZUGZRXME.js";
279
282
  import {
280
283
  CountryBadge
281
284
  } from "./chunk-ZCEUVK2R.js";
@@ -284,14 +287,18 @@ import {
284
287
  } from "./chunk-EQNETGTV.js";
285
288
  import {
286
289
  DataTable
287
- } from "./chunk-NZT4TTNV.js";
288
- import "./chunk-52ZVJPF7.js";
290
+ } from "./chunk-7BAIEYUW.js";
289
291
  import {
290
- DateRangePicker
291
- } from "./chunk-NZR4UGUZ.js";
292
+ Table
293
+ } from "./chunk-BU5QD2FS.js";
294
+ import "./chunk-52ZVJPF7.js";
292
295
  import {
293
296
  DatePicker
294
- } from "./chunk-MYP5ZTC3.js";
297
+ } from "./chunk-HSM7RXUF.js";
298
+ import {
299
+ Callout,
300
+ calloutVariants
301
+ } from "./chunk-2DYKENBM.js";
295
302
  import {
296
303
  Card,
297
304
  CardLink,
@@ -312,26 +319,24 @@ import "./chunk-K5FKEAAK.js";
312
319
  import {
313
320
  Chip,
314
321
  chipVariants
315
- } from "./chunk-UTLKZPKJ.js";
322
+ } from "./chunk-RSBJBQPG.js";
316
323
  import {
317
324
  Citation,
318
325
  SourceChip,
319
326
  SourceList,
320
327
  safeUrl
321
- } from "./chunk-TAVVXXGO.js";
328
+ } from "./chunk-UAQRQNOB.js";
322
329
  import {
323
330
  HoverCard
324
- } from "./chunk-KE4YVG5Q.js";
331
+ } from "./chunk-X3B2MTX6.js";
325
332
  import {
326
333
  Code
327
334
  } from "./chunk-DDRYT3SY.js";
328
- import {
329
- Collapsible
330
- } from "./chunk-3LP2CR7F.js";
335
+ import "./chunk-IZ6ZPEZ2.js";
331
336
  import {
332
337
  AvatarGroup,
333
338
  avatarGroupVariants
334
- } from "./chunk-KRCLK5O4.js";
339
+ } from "./chunk-FT2S7N64.js";
335
340
  import {
336
341
  Avatar,
337
342
  avatarVariants
@@ -343,55 +348,51 @@ import {
343
348
  import {
344
349
  Banner,
345
350
  bannerVariants
346
- } from "./chunk-ZMJ54TG6.js";
351
+ } from "./chunk-ETWFHIAE.js";
347
352
  import {
348
353
  Box
349
354
  } from "./chunk-M7YB3MSW.js";
350
355
  import {
351
356
  Breadcrumb
352
- } from "./chunk-QUNH4BFR.js";
357
+ } from "./chunk-ZTI4MK3L.js";
353
358
  import "./chunk-P26VJEIW.js";
354
359
  import "./chunk-LVPU7455.js";
355
360
  import {
356
361
  ButtonGroup
357
362
  } from "./chunk-WHTLXQB6.js";
358
- import {
359
- Callout,
360
- calloutVariants
361
- } from "./chunk-2DYKENBM.js";
362
363
  import {
363
364
  Accordion
364
365
  } from "./chunk-T7RLPFGX.js";
365
366
  import {
366
367
  Alert,
367
368
  alertVariants
368
- } from "./chunk-B254JXS7.js";
369
+ } from "./chunk-RVWQROFK.js";
369
370
  import {
370
371
  AlertDialog
371
- } from "./chunk-ZTLALVWA.js";
372
- import "./chunk-FLZD7HQY.js";
372
+ } from "./chunk-TSN6HYVY.js";
373
+ import "./chunk-5FWJXSXT.js";
373
374
  import {
374
375
  Button,
375
376
  buttonVariants
376
- } from "./chunk-C6JRJ6JW.js";
377
- import "./chunk-7SXR4PGO.js";
377
+ } from "./chunk-22BGPRJZ.js";
378
+ import "./chunk-5W3AOOYS.js";
378
379
  import "./chunk-DEIBF3P7.js";
379
- import {
380
- AppShell
381
- } from "./chunk-56FERRWW.js";
382
380
  import {
383
381
  Amount
384
- } from "./chunk-W3KO3JNZ.js";
382
+ } from "./chunk-PC7YGDNL.js";
385
383
  import {
386
384
  NumberTicker
387
- } from "./chunk-AGYGWU6C.js";
385
+ } from "./chunk-4MEV2WHD.js";
388
386
  import "./chunk-CIQHFMF6.js";
387
+ import {
388
+ AppShell
389
+ } from "./chunk-56FERRWW.js";
389
390
  import {
390
391
  AspectRatio
391
392
  } from "./chunk-S2CTBFLN.js";
392
393
  import {
393
394
  Autocomplete
394
- } from "./chunk-X4BQHXLB.js";
395
+ } from "./chunk-GG5HDX7J.js";
395
396
  import {
396
397
  Combobox
397
398
  } from "./chunk-FJUVYRNT.js";
@@ -400,7 +401,7 @@ import {
400
401
  defaultMessages,
401
402
  useLocale,
402
403
  useNexubMessages
403
- } from "./chunk-24ZFAXB2.js";
404
+ } from "./chunk-3MSIO7KM.js";
404
405
  import {
405
406
  cn
406
407
  } from "./chunk-Q7G5WGYV.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexub/react",
3
- "version": "1.7.0",
3
+ "version": "1.9.0",
4
4
  "description": "React component library for Nexub Design System — 90+ accessible, themeable UI components built on Radix UI primitives.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -68,12 +68,12 @@
68
68
  "date-fns": "^4.4.0",
69
69
  "react-day-picker": "^9.14.0",
70
70
  "tailwind-merge": "^2.6.1",
71
- "@nexub/icons": "1.7.0"
71
+ "@nexub/icons": "1.9.0"
72
72
  },
73
73
  "peerDependencies": {
74
74
  "react": ">=18 <20",
75
75
  "react-dom": ">=18 <20",
76
- "@nexub/tokens": "^1.7.0"
76
+ "@nexub/tokens": "^1.9.0"
77
77
  },
78
78
  "devDependencies": {
79
79
  "@playwright/test": "1.64.0",
@@ -98,8 +98,8 @@
98
98
  "vaul": "1.1.2",
99
99
  "vite": "^7.3.7",
100
100
  "vitest": "^5.0.5",
101
- "@nexub/themes": "1.7.0",
102
- "@nexub/tokens": "1.7.0"
101
+ "@nexub/themes": "1.9.0",
102
+ "@nexub/tokens": "1.9.0"
103
103
  },
104
104
  "scripts": {
105
105
  "build": "tsup && node scripts/check-dts.mjs",
@@ -110,7 +110,7 @@
110
110
  "storybook": "storybook dev -p 6006",
111
111
  "build-storybook": "storybook build",
112
112
  "test:visual": "playwright test -c visual",
113
- "test:visual:docker": "docker run --rm --ipc=host -v \"$PWD/../..\":/work -w /work/packages/react mcr.microsoft.com/playwright:v1.64.0-noble npx playwright test -c visual",
113
+ "test:visual:docker": "docker run --rm --ipc=host -e CI -v \"$PWD/../..\":/work -w /work/packages/react mcr.microsoft.com/playwright:v1.64.0-noble npx playwright test -c visual",
114
114
  "lint": "eslint src"
115
115
  }
116
116
  }