@wallarm-org/design-system 0.59.0 → 0.60.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.
@@ -7,12 +7,6 @@ export interface BannerProps extends Omit<VariantProps<typeof bannerVariants>, '
7
7
  ref?: Ref<HTMLDivElement>;
8
8
  /** Visual variant of the banner */
9
9
  variant?: BannerVariant;
10
- /**
11
- * Leading icon. The destructive, info, and warning variants render a default
12
- * icon when this is omitted; primary and secondary render none. Passing an
13
- * icon always overrides the default.
14
- */
15
- icon?: ReactNode;
16
10
  /** Banner content — compose with Banner sub-components */
17
11
  children?: ReactNode;
18
12
  }
@@ -25,7 +19,7 @@ export interface BannerProps extends Omit<VariantProps<typeof bannerVariants>, '
25
19
  * them is resolved.
26
20
  *
27
21
  * Supports 5 variants: primary (dark/neutral), secondary, destructive, info,
28
- * and warning. Compose with: BannerContent, BannerTitle, BannerDescription,
29
- * BannerLink, BannerControls, BannerClose.
22
+ * and warning. Compose with: BannerIcon, BannerContent, BannerTitle,
23
+ * BannerDescription, BannerLink, BannerControls, BannerClose.
30
24
  */
31
25
  export declare const Banner: FC<BannerProps>;
@@ -6,6 +6,7 @@ import { BannerClose } from "./BannerClose.js";
6
6
  import { BannerContent } from "./BannerContent.js";
7
7
  import { BannerControls } from "./BannerControls.js";
8
8
  import { BannerDescription } from "./BannerDescription.js";
9
+ import { BannerIcon } from "./BannerIcon.js";
9
10
  import { BannerLink } from "./BannerLink.js";
10
11
  import { BannerTitle } from "./BannerTitle.js";
11
12
  const figmaNodeUrl = 'https://www.figma.com/design/VKb5gW46uSGw0rqrhZsbXT/WADS-Components?node-id=7688-3741';
@@ -29,6 +30,7 @@ code_connect.connect(Banner, figmaNodeUrl, {
29
30
  example: ({ variant, description, inlineAction, rightActions, closable, title, text })=>/*#__PURE__*/ jsxs(Banner, {
30
31
  variant: variant,
31
32
  children: [
33
+ /*#__PURE__*/ jsx(BannerIcon, {}),
32
34
  /*#__PURE__*/ jsxs(BannerContent, {
33
35
  children: [
34
36
  /*#__PURE__*/ jsx(BannerTitle, {
@@ -1,14 +1,13 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { cn } from "../../utils/cn.js";
3
3
  import { TestIdProvider } from "../../utils/testId.js";
4
4
  import { BannerVariantProvider } from "./BannerContext.js";
5
- import { BannerIcon } from "./BannerIcon.js";
6
5
  import { bannerVariants } from "./classes.js";
7
- const Banner = ({ ref, variant = 'primary', icon, className, children, 'data-testid': testId, ...props })=>/*#__PURE__*/ jsx(BannerVariantProvider, {
6
+ const Banner = ({ ref, variant = 'primary', className, children, 'data-testid': testId, ...props })=>/*#__PURE__*/ jsx(BannerVariantProvider, {
8
7
  value: variant,
9
8
  children: /*#__PURE__*/ jsx(TestIdProvider, {
10
9
  value: testId,
11
- children: /*#__PURE__*/ jsxs("div", {
10
+ children: /*#__PURE__*/ jsx("div", {
12
11
  ...props,
13
12
  ref: ref,
14
13
  role: "status",
@@ -18,12 +17,7 @@ const Banner = ({ ref, variant = 'primary', icon, className, children, 'data-tes
18
17
  className: cn(bannerVariants({
19
18
  variant
20
19
  }), className),
21
- children: [
22
- /*#__PURE__*/ jsx(BannerIcon, {
23
- icon: icon
24
- }),
25
- children
26
- ]
20
+ children: children
27
21
  })
28
22
  })
29
23
  });
@@ -1,14 +1,18 @@
1
- import type { FC, ReactNode } from 'react';
2
- export interface BannerIconProps {
3
- /** Custom icon — always overrides the variant default. */
1
+ import type { FC, HTMLAttributes, ReactNode, Ref } from 'react';
2
+ export interface BannerIconProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
3
+ ref?: Ref<HTMLDivElement>;
4
+ /** Override the default icon for the variant. */
4
5
  icon?: ReactNode;
5
6
  }
6
7
  /**
7
- * Leading icon for Banner — rendered internally by Banner, not part of the
8
- * public API.
8
+ * Leading icon for Banner — compose it as a child of Banner.
9
9
  *
10
- * The destructive, info, and warning variants show a default icon; primary and
11
- * secondary show none. A custom `icon` (passed via Banner's `icon` prop) always
12
- * overrides the default. Renders nothing when there is no icon to show.
10
+ * Automatically displays the appropriate icon based on the parent Banner's
11
+ * variant: destructive, info, and warning each render a default icon; primary
12
+ * and secondary render none. Pass a custom `icon` to override the default (or
13
+ * to add an icon to primary/secondary).
14
+ *
15
+ * Renders nothing when there is no icon to show — i.e. on a variant without a
16
+ * default icon and no custom `icon` provided.
13
17
  */
14
18
  export declare const BannerIcon: FC<BannerIconProps>;
@@ -8,7 +8,7 @@ const defaultIconMap = {
8
8
  info: Info,
9
9
  warning: TriangleAlert
10
10
  };
11
- const BannerIcon = ({ icon })=>{
11
+ const BannerIcon = ({ ref, icon, ...props })=>{
12
12
  const testId = useTestId('icon');
13
13
  const variant = useBannerVariant();
14
14
  const DefaultIcon = defaultIconMap[variant];
@@ -20,6 +20,8 @@ const BannerIcon = ({ icon })=>{
20
20
  }) : null);
21
21
  if (null == content) return null;
22
22
  return /*#__PURE__*/ jsx("div", {
23
+ ...props,
24
+ ref: ref,
23
25
  "data-slot": "banner-icon",
24
26
  "data-testid": testId,
25
27
  className: "flex items-center py-2 shrink-0",
@@ -3,5 +3,6 @@ export { BannerClose, type BannerCloseProps } from './BannerClose';
3
3
  export { BannerContent, type BannerContentProps } from './BannerContent';
4
4
  export { BannerControls, type BannerControlsProps } from './BannerControls';
5
5
  export { BannerDescription, type BannerDescriptionProps } from './BannerDescription';
6
+ export { BannerIcon, type BannerIconProps } from './BannerIcon';
6
7
  export { BannerLink, type BannerLinkProps } from './BannerLink';
7
8
  export { BannerTitle, type BannerTitleProps } from './BannerTitle';
@@ -3,6 +3,7 @@ import { BannerClose } from "./BannerClose.js";
3
3
  import { BannerContent } from "./BannerContent.js";
4
4
  import { BannerControls } from "./BannerControls.js";
5
5
  import { BannerDescription } from "./BannerDescription.js";
6
+ import { BannerIcon } from "./BannerIcon.js";
6
7
  import { BannerLink } from "./BannerLink.js";
7
8
  import { BannerTitle } from "./BannerTitle.js";
8
- export { Banner, BannerClose, BannerContent, BannerControls, BannerDescription, BannerLink, BannerTitle };
9
+ export { Banner, BannerClose, BannerContent, BannerControls, BannerDescription, BannerIcon, BannerLink, BannerTitle };
@@ -8,25 +8,25 @@ const UtilityPage = ({ ref, title, subtitle, description, className, children, .
8
8
  "data-slot": "utility-page",
9
9
  className: cn('min-h-screen w-full bg-component-app-shell-bg', className),
10
10
  children: /*#__PURE__*/ jsxs("div", {
11
- className: "flex w-[482px] flex-col items-center gap-32 rounded-12 border-1 border-border-primary-light bg-bg-surface-1 px-48 pt-32 pb-80 shadow-xs",
11
+ className: "flex w-[482px] flex-col items-center gap-32 rounded-12 border-1 border-border-primary-light bg-bg-surface-1 px-48 pt-32 pb-80",
12
12
  children: [
13
13
  /*#__PURE__*/ jsx(Logo, {
14
14
  type: "full",
15
- size: "lg",
15
+ size: "md",
16
16
  className: "self-start mb-32"
17
17
  }),
18
18
  /*#__PURE__*/ jsxs("div", {
19
- className: "w-full flex flex-col items-start gap-12",
19
+ className: "w-full flex flex-col items-start",
20
20
  children: [
21
21
  /*#__PURE__*/ jsx("h1", {
22
- className: "font-mono text-6xl font-medium text-text-primary",
22
+ className: "font-mono text-6xl leading-7xl font-medium text-text-primary",
23
23
  children: title
24
24
  }),
25
25
  /*#__PURE__*/ jsxs("div", {
26
- className: "flex flex-col items-start gap-4",
26
+ className: "flex flex-col items-start",
27
27
  children: [
28
28
  /*#__PURE__*/ jsx("p", {
29
- className: "text-lg font-medium text-text-primary",
29
+ className: "text-lg leading-xl font-medium text-text-primary",
30
30
  children: subtitle
31
31
  }),
32
32
  /*#__PURE__*/ jsx("p", {
package/dist/index.d.ts CHANGED
@@ -16,7 +16,7 @@ export { AnimatedBackground, type AnimatedBackgroundProps, } from './components/
16
16
  export { AppShell, AppShellHeader, type AppShellHeaderProps, type AppShellProps, AppShellRail, type AppShellRailProps, AppShellRemote, type AppShellRemoteProps, } from './components/AppShell';
17
17
  export { Attribute, AttributeActions, AttributeActionsContent, type AttributeActionsContentProps, AttributeActionsItem, type AttributeActionsItemProps, type AttributeActionsProps, AttributeActionsTarget, type AttributeActionsTargetProps, AttributeLabel, AttributeLabelDescription, type AttributeLabelDescriptionProps, AttributeLabelInfo, type AttributeLabelInfoProps, type AttributeLabelProps, type AttributeProps, AttributeValue, type AttributeValueProps, } from './components/Attribute';
18
18
  export { Badge, type BadgeProps } from './components/Badge';
19
- export { Banner, BannerClose, type BannerCloseProps, BannerContent, type BannerContentProps, BannerControls, type BannerControlsProps, BannerDescription, type BannerDescriptionProps, BannerLink, type BannerLinkProps, type BannerProps, BannerTitle, type BannerTitleProps, type BannerVariant, } from './components/Banner';
19
+ export { Banner, BannerClose, type BannerCloseProps, BannerContent, type BannerContentProps, BannerControls, type BannerControlsProps, BannerDescription, type BannerDescriptionProps, BannerIcon, type BannerIconProps, BannerLink, type BannerLinkProps, type BannerProps, BannerTitle, type BannerTitleProps, type BannerVariant, } from './components/Banner';
20
20
  export { Breadcrumbs, BreadcrumbsEllipsis, type BreadcrumbsEllipsisProps, BreadcrumbsItem, type BreadcrumbsItemProps, type BreadcrumbsProps, BreadcrumbsScopeSwitcher, type BreadcrumbsScopeSwitcherProps, BreadcrumbsSeparator, type BreadcrumbsSeparatorProps, type ScopeSwitcherItem, } from './components/Breadcrumbs';
21
21
  export { Button, type ButtonProps } from './components/Button';
22
22
  export { Calendar, CalendarApplyButton, type CalendarApplyButtonProps, CalendarBody, type CalendarBodyProps, CalendarContent, type CalendarContentProps, type CalendarContextValue, CalendarDayName, CalendarFooter, CalendarFooterControls, type CalendarFooterControlsProps, type CalendarFooterProps, CalendarGrid, CalendarGrids, type CalendarGridsProps, CalendarHeader, CalendarInputHeader, type CalendarInputHeaderProps, CalendarKeyboardHints, type CalendarKeyboardHintsProps, CalendarPresetItem, CalendarPresets, type CalendarPresetsProps, type CalendarProps, CalendarProvider, CalendarResetButton, type CalendarResetButtonProps, CalendarTrigger, type CalendarTriggerProps, type CalendarType, DAY_NAMES, type DateRangePreset, type DateValue, DEFAULT_RANGE_PRESETS, DEFAULT_SINGLE_PRESETS, MONTH_NAMES, type PresetConfig, type PresetValue, useCalendarContext, } from './components/Calendar';
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import { AnimatedBackground } from "./components/AnimatedBackground/index.js";
5
5
  import { AppShell, AppShellHeader, AppShellRail, AppShellRemote } from "./components/AppShell/index.js";
6
6
  import { Attribute, AttributeActions, AttributeActionsContent, AttributeActionsItem, AttributeActionsTarget, AttributeLabel, AttributeLabelDescription, AttributeLabelInfo, AttributeValue } from "./components/Attribute/index.js";
7
7
  import { Badge } from "./components/Badge/index.js";
8
- import { Banner, BannerClose, BannerContent, BannerControls, BannerDescription, BannerLink, BannerTitle } from "./components/Banner/index.js";
8
+ import { Banner, BannerClose, BannerContent, BannerControls, BannerDescription, BannerIcon, BannerLink, BannerTitle } from "./components/Banner/index.js";
9
9
  import { Breadcrumbs, BreadcrumbsEllipsis, BreadcrumbsItem, BreadcrumbsScopeSwitcher, BreadcrumbsSeparator } from "./components/Breadcrumbs/index.js";
10
10
  import { Button } from "./components/Button/index.js";
11
11
  import { Calendar, CalendarApplyButton, CalendarBody, CalendarContent, CalendarDayName, CalendarFooter, CalendarFooterControls, CalendarGrid, CalendarGrids, CalendarHeader, CalendarInputHeader, CalendarKeyboardHints, CalendarPresetItem, CalendarPresets, CalendarProvider, CalendarResetButton, CalendarTrigger, DAY_NAMES, DEFAULT_RANGE_PRESETS, DEFAULT_SINGLE_PRESETS, MONTH_NAMES, useCalendarContext } from "./components/Calendar/index.js";
@@ -68,4 +68,4 @@ import { TopHeader, TopHeaderActions, TopHeaderLogo } from "./components/TopHead
68
68
  import { Tour, beaconStepEffect, useTour, waitForStepEvent } from "./components/Tour/index.js";
69
69
  import { UtilityPage } from "./components/UtilityPage/index.js";
70
70
  import { TestIdProvider, useTestId } from "./utils/testId.js";
71
- export { Accordion, AccordionActions, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertClose, AlertContent, AlertControls, AlertDescription, AlertIcon, AlertTitle, AnimatedBackground, AppShell, AppShellHeader, AppShellRail, AppShellRemote, Attribute, AttributeActions, AttributeActionsContent, AttributeActionsItem, AttributeActionsTarget, AttributeLabel, AttributeLabelDescription, AttributeLabelInfo, AttributeValue, Badge, Banner, BannerClose, BannerContent, BannerControls, BannerDescription, BannerLink, BannerTitle, Breadcrumbs, BreadcrumbsEllipsis, BreadcrumbsItem, BreadcrumbsScopeSwitcher, BreadcrumbsSeparator, Button, Calendar, CalendarApplyButton, CalendarBody, CalendarContent, CalendarDate, CalendarDateTime, CalendarDayName, CalendarFooter, CalendarFooterControls, CalendarGrid, CalendarGrids, CalendarHeader, CalendarInputHeader, CalendarKeyboardHints, CalendarPresetItem, CalendarPresets, CalendarProvider, CalendarResetButton, CalendarTrigger, Card, CardContent, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxDescription, CheckboxGroup, CheckboxIndicator, CheckboxLabel, Code, Country, CountryFlag, CountryName, DAY_NAMES, DEFAULT_RANGE_PRESETS, DEFAULT_SINGLE_PRESETS, DateFormatProvider, DateInput, DateRangeEndValue, DateRangeInput, DateRangeProvider, DateRangeSeparator, DateRangeStartValue, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerFooter, DrawerFooterControls, DrawerHeader, DrawerPositioner, DrawerResizeHandle, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuContextTrigger, DropdownMenuFooter, DropdownMenuGroup, DropdownMenuInput, DropdownMenuItem, DropdownMenuItemContent, DropdownMenuItemDescription, DropdownMenuItemIcon, DropdownMenuItemText, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, DropdownMenuTriggerItem, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FilterInput, FilterInputChip, FilterInputFieldMenu, FilterInputOperatorMenu, Flex, FormatDateTime, HStack, HTTP_METHODS, HTTP_METHOD_COLOR, Heading, HttpMethod, Input, InputGroup, InputGroupAddon, InputGroupText, Ip, IpAddress, IpCountry, IpList, IpPort, IpProvider, Kbd, KbdGroup, Link, Loader, Logo, MONTH_NAMES, NavRail, NavRailBody, NavRailFooter, NavRailItem, NavRailSeparator, NavRailSkeleton, NumberInput, NumericBadge, OTPInput, OverflowTooltip, OverflowTooltipContent, Page, PageActions, PageContent, PageHeader, PageHostProvider, PageTitle, ParameterPath, Popover, PopoverContent, PopoverTrigger, Progress, RESPONSE_CODE_COLOR, Radio, RadioDescription, RadioGroup, RadioIndicator, RadioLabel, RemoteShell, RemoteShellBreadcrumb, RemoteShellContent, RemoteShellPanel, ResponseCode, ScrollArea, ScrollAreaContent, ScrollAreaCorner, ScrollAreaScrollbar, ScrollAreaViewport, SegmentedControl, SegmentedControlButton, SegmentedControlItem, SegmentedControlSeparator, SegmentedTabs, SegmentedTabsButton, SegmentedTabsContent, SegmentedTabsList, SegmentedTabsSeparator, SegmentedTabsTrigger, SegmentedTabsTriggerButton, Select, SelectButton, SelectClearTrigger, SelectContent, SelectFooter, SelectGroup, SelectGroupLabel, SelectHeader, SelectInput, SelectOption, SelectOptionDescription, SelectOptionIndicator, SelectOptionText, SelectPositioner, SelectSearchInput, SelectSeparator, Selection, SelectionAll, SelectionBulkBar, SelectionItem, Separator, Skeleton, SplashScreen, SplitButton, Stack, Switch, SwitchControl, SwitchDescription, SwitchLabel, Table, TableActionBar, TableEmptyState, TableSettingsMenu, Tabs, TabsButton, TabsContent, TabsLineActions, TabsList, TabsSeparator, TabsTrigger, Tag, TagClose, TestIdProvider, Text, Textarea, ThemeProvider, Time, TimeInput, Toast, ToastActions, Toaster, ToggleButton, Tooltip, TooltipContent, TooltipTrigger, TopHeader, TopHeaderActions, TopHeaderLogo, Tour, UtilityPage, VStack, ZonedDateTime, beaconStepEffect, cardVariants, createTableColumnHelper, datacenters, drawerContentVariants, drawerPositionerVariants, findFirstLinkPath, formatAsFilter, getLocalTimeZone, getResponseCodeCategory, parseDate, parseDateTime, parseTime, parseZonedDateTime, proxyTypes, pushPathname, sourceLabels, toaster, today, useCalendarContext, useDateFormat, useDateRangeContext, useDrawerContext, useLocationPathname, usePageHost, useRemoteShellContext, useTestId, useTheme, useTour, waitForStepEvent };
71
+ export { Accordion, AccordionActions, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertClose, AlertContent, AlertControls, AlertDescription, AlertIcon, AlertTitle, AnimatedBackground, AppShell, AppShellHeader, AppShellRail, AppShellRemote, Attribute, AttributeActions, AttributeActionsContent, AttributeActionsItem, AttributeActionsTarget, AttributeLabel, AttributeLabelDescription, AttributeLabelInfo, AttributeValue, Badge, Banner, BannerClose, BannerContent, BannerControls, BannerDescription, BannerIcon, BannerLink, BannerTitle, Breadcrumbs, BreadcrumbsEllipsis, BreadcrumbsItem, BreadcrumbsScopeSwitcher, BreadcrumbsSeparator, Button, Calendar, CalendarApplyButton, CalendarBody, CalendarContent, CalendarDate, CalendarDateTime, CalendarDayName, CalendarFooter, CalendarFooterControls, CalendarGrid, CalendarGrids, CalendarHeader, CalendarInputHeader, CalendarKeyboardHints, CalendarPresetItem, CalendarPresets, CalendarProvider, CalendarResetButton, CalendarTrigger, Card, CardContent, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxDescription, CheckboxGroup, CheckboxIndicator, CheckboxLabel, Code, Country, CountryFlag, CountryName, DAY_NAMES, DEFAULT_RANGE_PRESETS, DEFAULT_SINGLE_PRESETS, DateFormatProvider, DateInput, DateRangeEndValue, DateRangeInput, DateRangeProvider, DateRangeSeparator, DateRangeStartValue, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerFooter, DrawerFooterControls, DrawerHeader, DrawerPositioner, DrawerResizeHandle, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuContextTrigger, DropdownMenuFooter, DropdownMenuGroup, DropdownMenuInput, DropdownMenuItem, DropdownMenuItemContent, DropdownMenuItemDescription, DropdownMenuItemIcon, DropdownMenuItemText, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, DropdownMenuTriggerItem, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FilterInput, FilterInputChip, FilterInputFieldMenu, FilterInputOperatorMenu, Flex, FormatDateTime, HStack, HTTP_METHODS, HTTP_METHOD_COLOR, Heading, HttpMethod, Input, InputGroup, InputGroupAddon, InputGroupText, Ip, IpAddress, IpCountry, IpList, IpPort, IpProvider, Kbd, KbdGroup, Link, Loader, Logo, MONTH_NAMES, NavRail, NavRailBody, NavRailFooter, NavRailItem, NavRailSeparator, NavRailSkeleton, NumberInput, NumericBadge, OTPInput, OverflowTooltip, OverflowTooltipContent, Page, PageActions, PageContent, PageHeader, PageHostProvider, PageTitle, ParameterPath, Popover, PopoverContent, PopoverTrigger, Progress, RESPONSE_CODE_COLOR, Radio, RadioDescription, RadioGroup, RadioIndicator, RadioLabel, RemoteShell, RemoteShellBreadcrumb, RemoteShellContent, RemoteShellPanel, ResponseCode, ScrollArea, ScrollAreaContent, ScrollAreaCorner, ScrollAreaScrollbar, ScrollAreaViewport, SegmentedControl, SegmentedControlButton, SegmentedControlItem, SegmentedControlSeparator, SegmentedTabs, SegmentedTabsButton, SegmentedTabsContent, SegmentedTabsList, SegmentedTabsSeparator, SegmentedTabsTrigger, SegmentedTabsTriggerButton, Select, SelectButton, SelectClearTrigger, SelectContent, SelectFooter, SelectGroup, SelectGroupLabel, SelectHeader, SelectInput, SelectOption, SelectOptionDescription, SelectOptionIndicator, SelectOptionText, SelectPositioner, SelectSearchInput, SelectSeparator, Selection, SelectionAll, SelectionBulkBar, SelectionItem, Separator, Skeleton, SplashScreen, SplitButton, Stack, Switch, SwitchControl, SwitchDescription, SwitchLabel, Table, TableActionBar, TableEmptyState, TableSettingsMenu, Tabs, TabsButton, TabsContent, TabsLineActions, TabsList, TabsSeparator, TabsTrigger, Tag, TagClose, TestIdProvider, Text, Textarea, ThemeProvider, Time, TimeInput, Toast, ToastActions, Toaster, ToggleButton, Tooltip, TooltipContent, TooltipTrigger, TopHeader, TopHeaderActions, TopHeaderLogo, Tour, UtilityPage, VStack, ZonedDateTime, beaconStepEffect, cardVariants, createTableColumnHelper, datacenters, drawerContentVariants, drawerPositionerVariants, findFirstLinkPath, formatAsFilter, getLocalTimeZone, getResponseCodeCategory, parseDate, parseDateTime, parseTime, parseZonedDateTime, proxyTypes, pushPathname, sourceLabels, toaster, today, useCalendarContext, useDateFormat, useDateRangeContext, useDrawerContext, useLocationPathname, usePageHost, useRemoteShellContext, useTestId, useTheme, useTour, waitForStepEvent };
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.58.1",
3
- "generatedAt": "2026-06-13T22:37:33.156Z",
2
+ "version": "0.59.0",
3
+ "generatedAt": "2026-06-14T20:20:21.089Z",
4
4
  "components": [
5
5
  {
6
6
  "name": "Accordion",
@@ -7916,7 +7916,7 @@
7916
7916
  },
7917
7917
  {
7918
7918
  "name": "Banner",
7919
- "description": "Banner displays a prominent, full-width message at the top of the page\n(above the header) to communicate system-wide status, announcements,\nwarnings, errors, or promotional messages to all users.\n\nBanners persist until dismissed by the user or until the state that caused\nthem is resolved.\n\nSupports 5 variants: primary (dark/neutral), secondary, destructive, info,\nand warning. Compose with: BannerContent, BannerTitle, BannerDescription,\nBannerLink, BannerControls, BannerClose.",
7919
+ "description": "Banner displays a prominent, full-width message at the top of the page\n(above the header) to communicate system-wide status, announcements,\nwarnings, errors, or promotional messages to all users.\n\nBanners persist until dismissed by the user or until the state that caused\nthem is resolved.\n\nSupports 5 variants: primary (dark/neutral), secondary, destructive, info,\nand warning. Compose with: BannerIcon, BannerContent, BannerTitle,\nBannerDescription, BannerLink, BannerControls, BannerClose.",
7920
7920
  "importPath": "@wallarm-org/design-system/Banner",
7921
7921
  "props": [
7922
7922
  {
@@ -7926,12 +7926,6 @@
7926
7926
  "description": "Visual variant of the banner",
7927
7927
  "defaultValue": "primary"
7928
7928
  },
7929
- {
7930
- "name": "icon",
7931
- "type": "ReactNode",
7932
- "required": false,
7933
- "description": "Leading icon. The destructive, info, and warning variants render a default\nicon when this is omitted; primary and secondary render none. Passing an\nicon always overrides the default."
7934
- },
7935
7929
  {
7936
7930
  "name": "defaultChecked",
7937
7931
  "type": "boolean | undefined",
@@ -9367,6 +9361,287 @@
9367
9361
  }
9368
9362
  ]
9369
9363
  },
9364
+ {
9365
+ "name": "BannerIcon",
9366
+ "props": [
9367
+ {
9368
+ "name": "icon",
9369
+ "type": "ReactNode",
9370
+ "required": false,
9371
+ "description": "Override the default icon for the variant."
9372
+ },
9373
+ {
9374
+ "name": "defaultChecked",
9375
+ "type": "boolean | undefined",
9376
+ "required": false
9377
+ },
9378
+ {
9379
+ "name": "defaultValue",
9380
+ "type": "string | number | readonly string[] | undefined",
9381
+ "required": false
9382
+ },
9383
+ {
9384
+ "name": "suppressContentEditableWarning",
9385
+ "type": "boolean | undefined",
9386
+ "required": false
9387
+ },
9388
+ {
9389
+ "name": "suppressHydrationWarning",
9390
+ "type": "boolean | undefined",
9391
+ "required": false
9392
+ },
9393
+ {
9394
+ "name": "accessKey",
9395
+ "type": "string | undefined",
9396
+ "required": false
9397
+ },
9398
+ {
9399
+ "name": "autoCapitalize",
9400
+ "type": "\"off\" | \"none\" | \"on\" | \"sentences\" | \"words\" | \"characters\" | (string & {}) | undefined",
9401
+ "required": false
9402
+ },
9403
+ {
9404
+ "name": "autoFocus",
9405
+ "type": "boolean | undefined",
9406
+ "required": false
9407
+ },
9408
+ {
9409
+ "name": "contentEditable",
9410
+ "type": "Booleanish | \"inherit\" | \"plaintext-only\" | undefined",
9411
+ "required": false
9412
+ },
9413
+ {
9414
+ "name": "contextMenu",
9415
+ "type": "string | undefined",
9416
+ "required": false
9417
+ },
9418
+ {
9419
+ "name": "dir",
9420
+ "type": "string | undefined",
9421
+ "required": false
9422
+ },
9423
+ {
9424
+ "name": "draggable",
9425
+ "type": "Booleanish | undefined",
9426
+ "required": false
9427
+ },
9428
+ {
9429
+ "name": "enterKeyHint",
9430
+ "type": "\"enter\" | \"done\" | \"go\" | \"next\" | \"previous\" | \"search\" | \"send\" | undefined",
9431
+ "required": false
9432
+ },
9433
+ {
9434
+ "name": "hidden",
9435
+ "type": "boolean | undefined",
9436
+ "required": false
9437
+ },
9438
+ {
9439
+ "name": "id",
9440
+ "type": "string | undefined",
9441
+ "required": false
9442
+ },
9443
+ {
9444
+ "name": "lang",
9445
+ "type": "string | undefined",
9446
+ "required": false
9447
+ },
9448
+ {
9449
+ "name": "nonce",
9450
+ "type": "string | undefined",
9451
+ "required": false
9452
+ },
9453
+ {
9454
+ "name": "slot",
9455
+ "type": "string | undefined",
9456
+ "required": false
9457
+ },
9458
+ {
9459
+ "name": "spellCheck",
9460
+ "type": "Booleanish | undefined",
9461
+ "required": false
9462
+ },
9463
+ {
9464
+ "name": "tabIndex",
9465
+ "type": "number | undefined",
9466
+ "required": false
9467
+ },
9468
+ {
9469
+ "name": "title",
9470
+ "type": "string | undefined",
9471
+ "required": false
9472
+ },
9473
+ {
9474
+ "name": "translate",
9475
+ "type": "\"yes\" | \"no\" | undefined",
9476
+ "required": false
9477
+ },
9478
+ {
9479
+ "name": "radioGroup",
9480
+ "type": "string | undefined",
9481
+ "required": false
9482
+ },
9483
+ {
9484
+ "name": "role",
9485
+ "type": "AriaRole | undefined",
9486
+ "required": false
9487
+ },
9488
+ {
9489
+ "name": "about",
9490
+ "type": "string | undefined",
9491
+ "required": false
9492
+ },
9493
+ {
9494
+ "name": "content",
9495
+ "type": "string | undefined",
9496
+ "required": false
9497
+ },
9498
+ {
9499
+ "name": "datatype",
9500
+ "type": "string | undefined",
9501
+ "required": false
9502
+ },
9503
+ {
9504
+ "name": "inlist",
9505
+ "type": "any",
9506
+ "required": false
9507
+ },
9508
+ {
9509
+ "name": "prefix",
9510
+ "type": "string | undefined",
9511
+ "required": false
9512
+ },
9513
+ {
9514
+ "name": "property",
9515
+ "type": "string | undefined",
9516
+ "required": false
9517
+ },
9518
+ {
9519
+ "name": "rel",
9520
+ "type": "string | undefined",
9521
+ "required": false
9522
+ },
9523
+ {
9524
+ "name": "resource",
9525
+ "type": "string | undefined",
9526
+ "required": false
9527
+ },
9528
+ {
9529
+ "name": "rev",
9530
+ "type": "string | undefined",
9531
+ "required": false
9532
+ },
9533
+ {
9534
+ "name": "typeof",
9535
+ "type": "string | undefined",
9536
+ "required": false
9537
+ },
9538
+ {
9539
+ "name": "vocab",
9540
+ "type": "string | undefined",
9541
+ "required": false
9542
+ },
9543
+ {
9544
+ "name": "autoCorrect",
9545
+ "type": "string | undefined",
9546
+ "required": false
9547
+ },
9548
+ {
9549
+ "name": "autoSave",
9550
+ "type": "string | undefined",
9551
+ "required": false
9552
+ },
9553
+ {
9554
+ "name": "color",
9555
+ "type": "string | undefined",
9556
+ "required": false
9557
+ },
9558
+ {
9559
+ "name": "itemProp",
9560
+ "type": "string | undefined",
9561
+ "required": false
9562
+ },
9563
+ {
9564
+ "name": "itemScope",
9565
+ "type": "boolean | undefined",
9566
+ "required": false
9567
+ },
9568
+ {
9569
+ "name": "itemType",
9570
+ "type": "string | undefined",
9571
+ "required": false
9572
+ },
9573
+ {
9574
+ "name": "itemID",
9575
+ "type": "string | undefined",
9576
+ "required": false
9577
+ },
9578
+ {
9579
+ "name": "itemRef",
9580
+ "type": "string | undefined",
9581
+ "required": false
9582
+ },
9583
+ {
9584
+ "name": "results",
9585
+ "type": "number | undefined",
9586
+ "required": false
9587
+ },
9588
+ {
9589
+ "name": "security",
9590
+ "type": "string | undefined",
9591
+ "required": false
9592
+ },
9593
+ {
9594
+ "name": "unselectable",
9595
+ "type": "\"off\" | \"on\" | undefined",
9596
+ "required": false
9597
+ },
9598
+ {
9599
+ "name": "popover",
9600
+ "type": "\"\" | \"auto\" | \"manual\" | \"hint\" | undefined",
9601
+ "required": false
9602
+ },
9603
+ {
9604
+ "name": "popoverTargetAction",
9605
+ "type": "\"toggle\" | \"show\" | \"hide\" | undefined",
9606
+ "required": false
9607
+ },
9608
+ {
9609
+ "name": "popoverTarget",
9610
+ "type": "string | undefined",
9611
+ "required": false
9612
+ },
9613
+ {
9614
+ "name": "inert",
9615
+ "type": "boolean | undefined",
9616
+ "required": false,
9617
+ "description": "@see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert"
9618
+ },
9619
+ {
9620
+ "name": "inputMode",
9621
+ "type": "\"none\" | \"search\" | \"text\" | \"tel\" | \"url\" | \"email\" | \"numeric\" | \"decimal\" | undefined",
9622
+ "required": false,
9623
+ "description": "Hints at the type of data that might be entered by the user while editing the element or its contents"
9624
+ },
9625
+ {
9626
+ "name": "is",
9627
+ "type": "string | undefined",
9628
+ "required": false,
9629
+ "description": "Specify that a standard HTML element should behave like a defined custom built-in element"
9630
+ },
9631
+ {
9632
+ "name": "exportparts",
9633
+ "type": "string | undefined",
9634
+ "required": false,
9635
+ "description": "@see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/exportparts}"
9636
+ },
9637
+ {
9638
+ "name": "part",
9639
+ "type": "string | undefined",
9640
+ "required": false,
9641
+ "description": "@see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/part}"
9642
+ }
9643
+ ]
9644
+ },
9370
9645
  {
9371
9646
  "name": "BannerLink",
9372
9647
  "props": [
@@ -9980,21 +10255,21 @@
9980
10255
  "examples": [
9981
10256
  {
9982
10257
  "name": "Default",
9983
- "code": "({\n variant,\n customIcon,\n description,\n inlineAction,\n actions,\n closable,\n title,\n text,\n}) => (\n <Banner\n variant={variant}\n icon={customIcon ? <Megaphone size='lg' className='text-icon-brand' /> : undefined}\n >\n <BannerContent>\n <BannerTitle action={inlineAction ? <BannerLink href='#'>Action</BannerLink> : undefined}>\n {title}\n </BannerTitle>\n {description && <BannerDescription>{text}</BannerDescription>}\n </BannerContent>\n {(actions || closable) && (\n <BannerControls>\n {actions && (\n <Button variant='secondary' color='neutral' size='small'>\n Button\n </Button>\n )}\n {closable && <BannerClose />}\n </BannerControls>\n )}\n </Banner>\n)",
9984
- "description": "Interactive preview — toggle the controls below to compose the banner.\nThe destructive, info, and warning variants show a default icon; enable\n\"customIcon\" to override it (and to add an icon to primary/secondary)."
10258
+ "code": "({\n variant,\n customIcon,\n description,\n inlineAction,\n actions,\n closable,\n title,\n text,\n}) => (\n <Banner variant={variant}>\n <BannerIcon\n icon={customIcon ? <Megaphone size='lg' className='text-icon-brand' /> : undefined}\n />\n <BannerContent>\n <BannerTitle action={inlineAction ? <BannerLink href='#'>Action</BannerLink> : undefined}>\n {title}\n </BannerTitle>\n {description && <BannerDescription>{text}</BannerDescription>}\n </BannerContent>\n {(actions || closable) && (\n <BannerControls>\n {actions && (\n <Button variant='secondary' color='neutral' size='small'>\n Button\n </Button>\n )}\n {closable && <BannerClose />}\n </BannerControls>\n )}\n </Banner>\n)",
10259
+ "description": "Interactive preview — toggle the controls below to compose the banner.\nBannerIcon shows the default icon on destructive, info, and warning; enable\n\"customIcon\" to override it (and to add an icon to primary/secondary)."
9985
10260
  },
9986
10261
  {
9987
10262
  "name": "AllColors",
9988
- "code": "() => (\n <div className='flex flex-col gap-16'>\n <Banner variant='primary'>\n <BannerContent>\n <BannerTitle>Message goes here</BannerTitle>\n </BannerContent>\n </Banner>\n\n <Banner variant='secondary'>\n <BannerContent>\n <BannerTitle>Message goes here</BannerTitle>\n </BannerContent>\n </Banner>\n\n <Banner variant='destructive'>\n <BannerContent>\n <BannerTitle>Message goes here</BannerTitle>\n </BannerContent>\n </Banner>\n\n <Banner variant='info'>\n <BannerContent>\n <BannerTitle>Message goes here</BannerTitle>\n </BannerContent>\n </Banner>\n\n <Banner variant='warning'>\n <BannerContent>\n <BannerTitle>Message goes here</BannerTitle>\n </BannerContent>\n </Banner>\n </div>\n)",
10263
+ "code": "() => (\n <div className='flex flex-col gap-16'>\n <Banner variant='primary'>\n <BannerContent>\n <BannerTitle>Message goes here</BannerTitle>\n </BannerContent>\n </Banner>\n\n <Banner variant='secondary'>\n <BannerContent>\n <BannerTitle>Message goes here</BannerTitle>\n </BannerContent>\n </Banner>\n\n <Banner variant='destructive'>\n <BannerIcon />\n <BannerContent>\n <BannerTitle>Message goes here</BannerTitle>\n </BannerContent>\n </Banner>\n\n <Banner variant='info'>\n <BannerIcon />\n <BannerContent>\n <BannerTitle>Message goes here</BannerTitle>\n </BannerContent>\n </Banner>\n\n <Banner variant='warning'>\n <BannerIcon />\n <BannerContent>\n <BannerTitle>Message goes here</BannerTitle>\n </BannerContent>\n </Banner>\n </div>\n)",
9989
10264
  "description": "primary and secondary have no icon by default; destructive, info, and warning\neach render their own default icon."
9990
10265
  },
9991
10266
  {
9992
10267
  "name": "WithDescription",
9993
- "code": "() => (\n <Banner variant='info'>\n <BannerContent>\n <BannerTitle>Credential Stuffing Detection</BannerTitle>\n <BannerDescription>\n Credential Stuffing Detection requires Wallarm node version 4.10.3 or higher.\n </BannerDescription>\n </BannerContent>\n </Banner>\n)"
10268
+ "code": "() => (\n <Banner variant='info'>\n <BannerIcon />\n <BannerContent>\n <BannerTitle>Credential Stuffing Detection</BannerTitle>\n <BannerDescription>\n Credential Stuffing Detection requires Wallarm node version 4.10.3 or higher.\n </BannerDescription>\n </BannerContent>\n </Banner>\n)"
9994
10269
  },
9995
10270
  {
9996
10271
  "name": "WithInlineLink",
9997
- "code": "() => (\n <Banner variant='warning'>\n <BannerContent>\n <BannerTitle action={<BannerLink href='#'>Learn more</BannerLink>}>\n You have exceeded the monthly quota for your company\n </BannerTitle>\n </BannerContent>\n </Banner>\n)"
10272
+ "code": "() => (\n <Banner variant='warning'>\n <BannerIcon />\n <BannerContent>\n <BannerTitle action={<BannerLink href='#'>Learn more</BannerLink>}>\n You have exceeded the monthly quota for your company\n </BannerTitle>\n </BannerContent>\n </Banner>\n)"
9998
10273
  },
9999
10274
  {
10000
10275
  "name": "LongText",
@@ -10003,12 +10278,12 @@
10003
10278
  },
10004
10279
  {
10005
10280
  "name": "CustomIcon",
10006
- "code": "() => (\n <Banner variant='secondary' icon={<Megaphone size='lg' className='text-icon-brand' />}>\n <BannerContent>\n <BannerTitle action={<BannerLink href='#'>View plans</BannerLink>}>\n New features are now available on the Pro plan\n </BannerTitle>\n </BannerContent>\n <BannerControls>\n <BannerClose />\n </BannerControls>\n </Banner>\n)",
10007
- "description": "Override the default variant icon (or add one to primary/secondary) by\npassing the `icon` prop to Banner."
10281
+ "code": "() => (\n <Banner variant='secondary'>\n <BannerIcon icon={<Megaphone size='lg' className='text-icon-brand' />} />\n <BannerContent>\n <BannerTitle action={<BannerLink href='#'>View plans</BannerLink>}>\n New features are now available on the Pro plan\n </BannerTitle>\n </BannerContent>\n <BannerControls>\n <BannerClose />\n </BannerControls>\n </Banner>\n)",
10282
+ "description": "Override the default variant icon (or add one to primary/secondary) by\npassing the `icon` prop to BannerIcon."
10008
10283
  },
10009
10284
  {
10010
10285
  "name": "WithActions",
10011
- "code": "() => (\n <Banner variant='destructive'>\n <BannerContent>\n <BannerTitle>Your subscription has expired</BannerTitle>\n </BannerContent>\n <BannerControls>\n <Button variant='outline' color='neutral' size='small'>\n Dismiss\n </Button>\n <Button variant='outline' color='neutral' size='small'>\n Renew\n </Button>\n </BannerControls>\n </Banner>\n)"
10286
+ "code": "() => (\n <Banner variant='destructive'>\n <BannerIcon />\n <BannerContent>\n <BannerTitle>Your subscription has expired</BannerTitle>\n </BannerContent>\n <BannerControls>\n <Button variant='outline' color='neutral' size='small'>\n Dismiss\n </Button>\n <Button variant='outline' color='neutral' size='small'>\n Renew\n </Button>\n </BannerControls>\n </Banner>\n)"
10012
10287
  },
10013
10288
  {
10014
10289
  "name": "Closable",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wallarm-org/design-system",
3
- "version": "0.59.0",
3
+ "version": "0.60.0",
4
4
  "description": "Core design system library with React components and Storybook documentation",
5
5
  "publishConfig": {
6
6
  "access": "public",