@veracity/vui 5.2.0-alpha.399291.2606151130 → 5.2.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.
@@ -1,9 +1,7 @@
1
1
  //#region src/core/vuiProvider/reducers.ts
2
2
  const toastsReducer = (state, action) => {
3
3
  switch (action.type) {
4
- case "add":
5
- if (state.list.some((t) => t.id === action.toast.id)) return { list: state.list.map((t) => t.id === action.toast.id ? action.toast : t) };
6
- return { list: [action.toast, ...state.list].slice(0, 3) };
4
+ case "add": return { list: [action.toast, ...state.list] };
7
5
  case "remove": return { list: state.list.filter((t) => t.id !== action.toast.id) };
8
6
  default: throw new Error(`Unhandled action type: ${action.type}`);
9
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reducers.js","names":[],"sources":["../../../src/core/vuiProvider/reducers.ts"],"sourcesContent":["import type { ToastListItem } from '../types'\n\nexport const toastsReducer = (\n state: { list: ToastListItem[] },\n action: { type: 'add' | 'remove'; toast: ToastListItem },\n) => {\n switch (action.type) {\n case 'add': {\n const exists = state.list.some(t => t.id === action.toast.id)\n if (exists) {\n return { list: state.list.map(t => (t.id === action.toast.id ? action.toast : t)) }\n }\n return { list: [action.toast, ...state.list].slice(0, 3) }\n }\n case 'remove': {\n return { list: state.list.filter(t => t.id !== action.toast.id) }\n }\n default: {\n throw new Error(`Unhandled action type: ${action.type}`)\n }\n }\n}\n\nexport const genericReducer = (state: any, action: any) => (state = action)\n"],"mappings":";AAEA,MAAa,iBACX,OACA,WACG;CACH,QAAQ,OAAO,MAAf;EACE,KAAK;GAEH,IADe,MAAM,KAAK,MAAK,MAAK,EAAE,OAAO,OAAO,MAAM,EACjD,GACP,OAAO,EAAE,MAAM,MAAM,KAAK,KAAI,MAAM,EAAE,OAAO,OAAO,MAAM,KAAK,OAAO,QAAQ,CAAE,EAAE;GAEpF,OAAO,EAAE,MAAM,CAAC,OAAO,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;EAE3D,KAAK,UACH,OAAO,EAAE,MAAM,MAAM,KAAK,QAAO,MAAK,EAAE,OAAO,OAAO,MAAM,EAAE,EAAE;EAElE,SACE,MAAM,IAAI,MAAM,0BAA0B,OAAO,MAAM;CAE3D;AACF;AAEA,MAAa,kBAAkB,OAAY,WAAiB,QAAQ"}
1
+ {"version":3,"file":"reducers.js","names":[],"sources":["../../../src/core/vuiProvider/reducers.ts"],"sourcesContent":["import type { ToastListItem } from '../types'\n\nexport const toastsReducer = (\n state: { list: ToastListItem[] },\n action: { type: 'add' | 'remove'; toast: ToastListItem },\n) => {\n switch (action.type) {\n case 'add': {\n return { list: [action.toast, ...state.list] }\n }\n case 'remove': {\n return { list: state.list.filter(t => t.id !== action.toast.id) }\n }\n default: {\n throw new Error(`Unhandled action type: ${action.type}`)\n }\n }\n}\n\nexport const genericReducer = (state: any, action: any) => (state = action)\n"],"mappings":";AAEA,MAAa,iBACX,OACA,WACG;CACH,QAAQ,OAAO,MAAf;EACE,KAAK,OACH,OAAO,EAAE,MAAM,CAAC,OAAO,OAAO,GAAG,MAAM,IAAI,EAAE;EAE/C,KAAK,UACH,OAAO,EAAE,MAAM,MAAM,KAAK,QAAO,MAAK,EAAE,OAAO,OAAO,MAAM,EAAE,EAAE;EAElE,SACE,MAAM,IAAI,MAAM,0BAA0B,OAAO,MAAM;CAE3D;AACF;AAEA,MAAa,kBAAkB,OAAY,WAAiB,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"DismissButton.d.ts","names":[],"sources":["../../src/dismissButton/DismissButton.tsx"],"mappings":";;;;KAYK,iBAAA;AAAA,cAEC,iBAAA,8BAAiB,eAAA,uCAAA,YAAA,EAwCtB,WAxCsB;;;;;AAZgB;;;;AAUjB;AAAA;;;;;;;;AAEC;KA4DX,kBAAA,GAAqB,OAAA,QAAe,iBAAA;EAAqB,IAAA,GAAO,iBAAA;AAAA;AAAA,cAE/D,aAAA,EAAwE,YAAA,6BAA3D,eAAA,uCAAA,YAAA,EASxB,WAAA;SATkE,iBAAA;AAAA"}
1
+ {"version":3,"file":"DismissButton.d.ts","names":[],"sources":["../../src/dismissButton/DismissButton.tsx"],"mappings":";;;;KAYK,iBAAA;AAAA,cAEC,iBAAA,8BAAiB,eAAA,uCAAA,YAAA,EAwCtB,WAxCsB;;;;;AAZgB;;;;AAUjB;AAAA;;;;;;;;AAEC;KA4DX,kBAAA,GAAqB,OAAA,QAAe,iBAAA;EAAqB,IAAA,GAAO,iBAAA;AAAA;AAAA,cAE/D,aAAA,EAAwE,YAAA,6BAA3D,eAAA,uCAAA,YAAA,EAexB,WAAA;SAfkE,iBAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"DismissButton.js","names":[],"sources":["../../src/dismissButton/DismissButton.tsx"],"sourcesContent":["import { omitThemingProps, styled, useStyleConfig, vui } from '../core'\nimport Icon from '../icon'\nimport type { PropsOf } from '../utils'\n\n// ---------------------------------------------------------------------------\n// DismissButton — Standalone icon-only dismiss action\n//\n// Optimized for compact, icon-only dismiss affordances in alerts, tags, dialogs.\n// Sizes: xs (20), sm (24), md (32), lg (40) — icon always 16px, centered with padding.\n// Simplified component: no Button inheritance, no variants, just dismiss styling.\n// ---------------------------------------------------------------------------\n\ntype DismissButtonSize = 'xs' | 'sm' | 'md' | 'lg'\n\nconst DismissButtonBase = styled.buttonBox`\n align-items: center;\n appearance: none;\n background: transparent;\n border: none;\n cursor: pointer;\n display: inline-flex;\n justify-content: center;\n outline: none;\n padding: 0;\n position: relative;\n\n /* Inherit dismiss color from parent (Tag, Alert, etc) via CSS custom property */\n --vui-dismiss-color: var(--vui-dismiss-fg, var(--vui-feedback-neutral-solid));\n color: var(--vui-dismiss-text, var(--vui-dismiss-color));\n\n /* Hover: grey solid hover @ 20% opacity */\n &:hover {\n background-color: color-mix(in srgb, var(--vui-action-grey-solid-hover) 20%, transparent);\n }\n\n /* Active/pressed: grey solid pressed @ 10% opacity */\n &:active {\n background-color: color-mix(in srgb, var(--vui-action-grey-solid-pressed) 10%, transparent);\n }\n\n /* Disabled state */\n &:disabled {\n color: var(--vui-action-disabled-foreground);\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n /* Focus visible (keyboard) */\n &:focus-visible {\n outline: 2px solid var(--vui-control-focus-ring, #00a1db);\n outline-offset: 2px;\n }\n\n transition: background-color 150ms ease-out;\n`\n\n/**\n * DismissButton — Icon-only close/dismiss affordance\n *\n * Standalone button component for dismiss actions in compact layouts.\n * Uses currentColor for icon, controlled via CSS custom property --vui-dismiss-fg.\n *\n * @example\n * // Default (md): 32×32\n * <DismissButton onClick={onDismiss} aria-label=\"Close\" />\n *\n * // Small (sm): 24×24 for tags\n * <DismissButton size=\"sm\" onClick={onDismiss} aria-label=\"Dismiss\" />\n *\n * // With color inheritance from parent\n * <div style={{ '--vui-dismiss-fg': '#fff' }}>\n * <DismissButton size=\"lg\" />\n * </div>\n */\nexport type DismissButtonProps = PropsOf<typeof DismissButtonBase, { size?: DismissButtonSize }>\n\nexport const DismissButton = vui<typeof DismissButtonBase, { size?: DismissButtonSize }>((props, ref) => {\n const rest = omitThemingProps(props)\n const styles = useStyleConfig('DismissButton', props)\n\n return (\n <DismissButtonBase ref={ref} type=\"button\" aria-label=\"Dismiss\" {...styles} {...rest}>\n <Icon name=\"uiTimes\" h={16} w={16} />\n </DismissButtonBase>\n )\n})\n\nDismissButton.displayName = 'DismissButton'\n\nexport type { DismissButtonSize }\n"],"mappings":";;;;;;;AAcA,MAAM,oBAAoB,OAAO,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8D1C,MAAa,gBAAgB,KAA6D,OAAO,QAAQ;CACvG,MAAM,OAAO,iBAAiB,KAAK;CAGnC,OACE,oBAAC,mBAAD;EAAwB;EAAK,MAAK;EAAS,cAAW;EAAU,GAHnD,eAAe,iBAAiB,KAG4B;EAAG,GAAI;YAC9E,oBAAC,MAAD;GAAM,MAAK;GAAU,GAAG;GAAI,GAAG;EAAK;CACnB;AAEvB,CAAC;AAED,cAAc,cAAc"}
1
+ {"version":3,"file":"DismissButton.js","names":[],"sources":["../../src/dismissButton/DismissButton.tsx"],"sourcesContent":["import { omitThemingProps, styled, useStyleConfig, vui } from '../core'\nimport Icon from '../icon'\nimport type { PropsOf } from '../utils'\n\n// ---------------------------------------------------------------------------\n// DismissButton — Standalone icon-only dismiss action\n//\n// Optimized for compact, icon-only dismiss affordances in alerts, tags, dialogs.\n// Sizes: xs (20), sm (24), md (32), lg (40) — icon always 16px, centered with padding.\n// Simplified component: no Button inheritance, no variants, just dismiss styling.\n// ---------------------------------------------------------------------------\n\ntype DismissButtonSize = 'xs' | 'sm' | 'md' | 'lg'\n\nconst DismissButtonBase = styled.buttonBox`\n align-items: center;\n appearance: none;\n background: transparent;\n border: none;\n cursor: pointer;\n display: inline-flex;\n justify-content: center;\n outline: none;\n padding: 0;\n position: relative;\n\n /* Inherit dismiss color from parent (Tag, Alert, etc) via CSS custom property */\n --vui-dismiss-color: var(--vui-dismiss-fg, var(--vui-feedback-neutral-solid));\n color: var(--vui-dismiss-text, var(--vui-dismiss-color));\n\n /* Hover: grey solid hover @ 20% opacity */\n &:hover {\n background-color: color-mix(in srgb, var(--vui-action-grey-solid-hover) 20%, transparent);\n }\n\n /* Active/pressed: grey solid pressed @ 10% opacity */\n &:active {\n background-color: color-mix(in srgb, var(--vui-action-grey-solid-pressed) 10%, transparent);\n }\n\n /* Disabled state */\n &:disabled {\n color: var(--vui-action-disabled-foreground);\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n /* Focus visible (keyboard) */\n &:focus-visible {\n outline: 2px solid var(--vui-control-focus-ring, #00a1db);\n outline-offset: 2px;\n }\n\n transition: background-color 150ms ease-out;\n`\n\n/**\n * DismissButton — Icon-only close/dismiss affordance\n *\n * Standalone button component for dismiss actions in compact layouts.\n * Uses currentColor for icon, controlled via CSS custom property --vui-dismiss-fg.\n *\n * @example\n * // Default (md): 32×32\n * <DismissButton onClick={onDismiss} aria-label=\"Close\" />\n *\n * // Small (sm): 24×24 for tags\n * <DismissButton size=\"sm\" onClick={onDismiss} aria-label=\"Dismiss\" />\n *\n * // With color inheritance from parent\n * <div style={{ '--vui-dismiss-fg': '#fff' }}>\n * <DismissButton size=\"lg\" />\n * </div>\n */\nexport type DismissButtonProps = PropsOf<typeof DismissButtonBase, { size?: DismissButtonSize }>\n\nexport const DismissButton = vui<typeof DismissButtonBase, { size?: DismissButtonSize }>((props, ref) => {\n const rest = omitThemingProps(props)\n const styles = useStyleConfig('DismissButton', props)\n\n return (\n <DismissButtonBase\n ref={ref}\n type=\"button\"\n aria-label=\"Dismiss\"\n {...styles}\n {...rest}\n >\n <Icon name=\"uiTimes\" h={16} w={16} />\n </DismissButtonBase>\n )\n})\n\nDismissButton.displayName = 'DismissButton'\n\nexport type { DismissButtonSize }\n"],"mappings":";;;;;;;AAcA,MAAM,oBAAoB,OAAO,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8D1C,MAAa,gBAAgB,KAA6D,OAAO,QAAQ;CACvG,MAAM,OAAO,iBAAiB,KAAK;CAGnC,OACE,oBAAC,mBAAD;EACO;EACL,MAAK;EACL,cAAW;EACX,GAPW,eAAe,iBAAiB,KAOlC;EACT,GAAI;YAEJ,oBAAC,MAAD;GAAM,MAAK;GAAU,GAAG;GAAI,GAAG;EAAK;CACnB;AAEvB,CAAC;AAED,cAAc,cAAc"}
package/dist/index.d.ts CHANGED
@@ -293,10 +293,9 @@ import { SwitchProvider, useSwitchContext } from "./switch/context.js";
293
293
  import { SwitchButton, SwitchButtonBase } from "./switch/switchButton.js";
294
294
  import { SwitchLabel } from "./switch/switchLabel.js";
295
295
  import { Switch, SwitchBase } from "./switch/switchMain.js";
296
- import { ToastDuration, ToastOptions, ToastRenderProps, ToastSize, ToastStatus, ToastTextLayout } from "./toast/toast.types.js";
297
- import { ToastItem, ToastItemProps } from "./toast/ToastItem.js";
298
- import { _default as _default$2, toasterWidth } from "./toast/toast.js";
299
- import { defaultDuration, fastToastDuration, mediumToastDuration, slowToastDuration, useToast } from "./toast/useToast.js";
296
+ import { _default as _default$2 } from "./toast/toast.js";
297
+ import { ToastDuration, ToastOptions, ToastSetup } from "./toast/toast.types.js";
298
+ import { defaultDuration, fastToastDuration, slowToastDuration, useToast } from "./toast/useToast.js";
300
299
  import { TooltipProps } from "./tooltip/tooltip.types.js";
301
300
  import { Tooltip } from "./tooltip/tooltip.js";
302
301
  import { TableColumn, TableContext, TableProps, TableSortIconProps, TbodyProps, TdProps, TfootProps, ThProps, TheadProps, TrProps } from "./table/table.types.js";
@@ -326,4 +325,4 @@ import { CloseEvent, TutorialCardProps, TutorialDataStep, TutorialProps, Tutoria
326
325
  import { Tutorial } from "./tutorial/tutorial.js";
327
326
  import { TutorialCard } from "./tutorial/tutorialCard.js";
328
327
  import { TutorialStep } from "./tutorial/tutorialStep.js";
329
- export { Accordion, AccordionBase, type AccordionIconPosition, AccordionItem, type AccordionItemArrowProps, AccordionItemHorizontal, type AccordionItemId, type AccordionItemProps, type AccordionOnToggleEvent, type AccordionOrientation, type AccordionProps, type AlignContentProps, type AlignItemsProps, type AlignSelfProps, type Animation, type AnimationDirection, type AnimationGetter, type AnimationProp, type AnimationProps, type AnimationsProps, type AnyFunction, type AnyNumber, type AnyString, AppButton, type AppearanceProps, ApplicationFooter, type ApplicationFooterProps, type AutoCompletePopoverProps, Avatar, AvatarBase, type AvatarProps, BackButton, type BackgroundColorProps, type BackgroundsProps, Badge, type Border, type BorderBottomColorProps, type BorderBottomProps, type BorderBottomWidthProps, type BorderColorProps, type BorderGetter, type BorderLeftColorProps, type BorderLeftProps, type BorderLeftWidthProps, type BorderProps, type BorderRadiusProp, type BorderRadiusProps, type BorderRightColorProps, type BorderRightProps, type BorderRightWidthProps, type BorderStyleGetter, type BorderStyleProps, type BorderTopColorProps, type BorderTopProps, type BorderTopWidthProps, type BorderWidthGetter, type BorderWidthProps, type BordersProps, type BottomProps, Box, BoxBase, type BoxProps, type BoxShadowProps, type BoxSizingProps, Breadcrumbs, BreadcrumbsBase, type BreadcrumbsItemProps, type BreadcrumbsProps, type BreadcrumbsSeparatorProps, Button, ButtonBase, type ButtonComputedOptions, type ButtonComputedStyles, ButtonContextValue, ButtonGroup, ButtonGroupBase, ButtonGroupContextValue, type ButtonGroupProps, ButtonGroupProvider, ButtonIcon, type ButtonIntent, type ButtonProps, ButtonProvider, type ButtonStyleContainer, ButtonText, ButtonToggleGroup, type ButtonToggleGroupProps, type ButtonVariant, type ButtonVariantLegacy, CSSFunction, CTAButton, Calendar, type CalendarMode, type CalendarProps, Card, type CardProps, type ChangeEvent, type ChangeEventHandler, Chat, ChatInput, type ChatInputButtonProps, type ChatInputProps, type ChatInputStatus, ChatMessage, type ChatProps, Checkbox, CheckboxBase, CheckboxGroup, CheckboxGroupBase, type CheckboxGroupProps, CheckboxGroupProvider, type CheckboxProps, type CheckboxStyleProps, type ChildrenProp, CloseButton, type CloseEvent, type Color, type ColorGetter, type ColorProps, type Component, type ComputedResult, type ContainerStyles, CopyToClipboard, type CopyToClipboardProps, type CreateContextOptions, type CreateContextReturn, CreateGlobalStyle, type CursorProps, DangerButton, DateFormat, DatePicker, type DatePickerPopupPosition, type DatePickerProps, type DateRange, type DefaultViewMonthProps, Definition, DefinitionHorizontalBase, DefinitionVerticalBase, Dialog, DialogBase, DialogBody, type DialogBodyProps, DialogCancelButton, type DialogCancelButtonProps, DialogCloseButton, type DialogCloseButtonProps, type DialogContext, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogIcon, type DialogIconProps, type DialogPlacement, type DialogProps, DialogProvider, type DialogStatus, type DialogStatusMapping, DialogSubmitButton, type DialogSubmitButtonProps, DialogTitle, type DialogTitleProps, type Dict, DismissButton, type DismissButtonProps, type DismissButtonSize, Display, DisplayBase, type DisplayProps, type DisplayTextProps, type DivideColorProps, type DivideStyleProps, type DivideXProps, type DivideXReverseProps, type DivideYProps, type DivideYReverseProps, Divider, DividerBase, type DividerProps, DragAndDrop, type DragAndDropProps, Drawer, type DrawerProps, type DurationGetter, type EffectsProps, type Elevation, type Environment, type FlexBasisProps, type FlexDirectionProps, type FlexGrowProps, type FlexProps, type FlexShrinkProps, type FlexWrapProps, type FlexboxesProps, type FloatProps, type FlowDirection, type FocusEvent, type FocusEventHandler, FocusLock, type FocusLockProps, type FocusableElement, type Font, type FontFamilyProps, type FontGetter, type FontSize, type FontSizeGetter, type FontSizeProps, type FontStyleProps, type FontWeight, type FontWeightGetter, type FontWeightProps, Footer, FooterBase, type FooterColumnData, type FooterColumnProps, type FooterColumnsProps, FooterContent, type FooterContentProps, type FooterContext, FooterHeading, FooterLink, type FooterLinkData, type FooterProps, FooterSection, type FooterSectionData, type FooterSectionProps, type FooterTrademarkProps, FormatDateOptions, type GetIconDetailsResult, _default as GlobalStyle, Grid, GridBase, type GridProps, type GridTemplateColumn, type GridTemplateRow, H1, H2, H3, H4, H5, H6, HSLToRGBA, Header, HeaderAccount, type HeaderAccountData, type HeaderAccountProps, type HeaderAccountSectionData, HeaderAccountUserInfo, type HeaderAccountUserInfoData, type HeaderAccountUserInfoProps, HeaderApplicationName, HeaderBase, type HeaderButtonData, HeaderContent, type HeaderContentProps, type HeaderContext, HeaderCreateAccount, type HeaderCreateAccountData, type HeaderCreateAccountProps, HeaderDivider, type HeaderLinkData, HeaderLinkItem, type HeaderLinkItemProps, HeaderLogo, HeaderMainLinks, type HeaderMainLinksProps, HeaderMobileContent, HeaderMobileToggle, HeaderNotifications, type HeaderNotificationsData, type HeaderNotificationsProps, type HeaderProps, HeaderProvider, HeaderServices, type HeaderServicesData, HeaderServicesMessage, type HeaderServicesProps, HeaderSignIn, type HeaderSignInProps, type HeaderSupportProps, Heading, HeadingBase, type HeadingProps, type HeadingSize, type HeightProps, HelpText, type HelpTextProps, Icon, IconButton, type IconButtonProps, type IconDefinition, type IconDetails, type IconProp, type IconProps, Image, ImageBase, type ImageProps, Input, InputBase, InputIcon, InputInput, InputInputBase, type InputInputProps, type InputProps, type InputState, type InputStateMapping, type InputType, type InsetGetter, type IntentTokens, type InteractivityProps, IsTruncatedProps, type ItemProps, type JustifyContentProps, type JustifyItemsProps, type JustifySelfProps, type KeyboardEvent, type KeyboardEventHandler, type KeyboardKeys, Label, type LabelProps, type LayoutProps, Lead, type LeftProps, type LetterSpacingProps, LineButton, type LineHeightGetter, type LineHeightProps, Link, LinkBase, LinkIcon, type LinkProps, LinkText, LinksDict, LinksProvider, List, ListBase, ListDivider, ListHeading, ListIcon, ListItem, ListItemBase, type ListItemLinkProps, type ListItemProps, type ListProps, ListProvider, type ListStylePositionProps, type ListStyleTypeProps, ListText, LoggedInHeader, type LoggedInHeaderProps, LoggedOutHeader, type LoggedOutHeaderProps, Logo, type MarginBottomProps, type MarginLeftProps, type MarginProps, type MarginRightProps, type MarginTopProps, type MarginXProps, type MarginYProps, type MaxHeightProps, MaxLinesProps, type MaxWidthProps, Menu, MenuButton, MenuItem, MenuList, type MenuListProps, type MenuProps, MenuProvider, Message, MessageBase, type MessageProps, type MinHeightProps, type MinWidthProps, Modal, ModalBackdrop, ModalBackdropBase, type ModalBackdropProps, ModalContent, ModalContentBase, type ModalContentProps, type ModalContext, type ModalProps, ModalProvider, type MonthProps, type MouseEvent, type MouseEventHandler, type NavBarIconSize, Notification, NotificationAction, NotificationIcon, type NotificationIntent, type NotificationLayout, type NotificationProps, NotificationProvider, type NotificationStatus, type NotificationStatusEntry, type NotificationStatusMapping, NotificationText, NotificationTitle, type NotificationVariant, type NotificationVariantHierarchy, type NotificationVariantLegacy, type ObjectFitProps, type OpacityProps, type OrderProps, type OutlineColorProps, type OutlineProps, type OutlineStyleProps, type OutlineWidthProps, type OverflowProps, type OverflowXProps, type OverflowYProps, type OverscrollBehaviorProps, P, PBase, type PProps, type PaddingBottomProps, type PaddingLeftProps, type PaddingProps, type PaddingRightProps, type PaddingTopProps, type PaddingXProps, type PaddingYProps, Pagination, PaginationButton, type PaginationButtonProps, type PaginationContext, PaginationEllipsis, PaginationGoToPage, type PaginationItem, PaginationNavigation, PaginationPrevNext, type PaginationPrevNextProps, type PaginationProps, PaginationProvider, PaginationResults, Panel, type PanelProps, type Placement, type PointerEventsProps, Popover, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverProvider, type PopoverRenderProps, PopoverTrigger, type PopoverTriggerProps, Portal, type PortalProps, type PositionProps, Progress, ProgressBase, ProgressCircular, ProgressCircularBase, type ProgressCircularProps, type ProgressProps, type PropsOf, Prose, ProseProps, Radio, RadioBase, RadioGroup, RadioGroupBase, type RadioGroupProps, RadioGroupProvider, type RadioProps, type RadioStyleProps, type Radius, type RadiusGetter, Range, type RangeProps, type RangeValue, Rating, type RefPropsOf, RenderOnScreen, RenderOnScreenProps, type RenderProps, _default$1 as ResetCSS, type ResizeProps, type RightJoinProps, type RightProps, type RingColorProps, type RingProps, type RingWidth, type RingWidthGetter, type RotateProps, type ScaleProps, type ScaleXProps, type ScaleYProps, type Screen, Select, SelectButton, type SelectButtonProps, SelectContent, type SelectContentProps, type SelectContext, SelectGroup, type SelectGroupProps, type SelectLabelProps, SelectOption, type SelectOptionData, type SelectOptionProps, type SelectProps, type SelectValue, type Shadow, type ShadowGetter, Sidemenu, type SidemenuCollapseModeV2, type SidemenuComponentV2Props, type SidemenuContextV2Value, type SidemenuExpandEventV2, type SidemenuFlatItemV2, type SidemenuGroupV2Props, SidemenuItem, type SidemenuItemBadgeV2Props, type SidemenuItemClickEventV2, type SidemenuItemComponentV2Props, type SidemenuItemProps, type SidemenuItemV2Props, type SidemenuItemWithChildrenV2, type SidemenuOrientation, type SidemenuOrientationV2, type SidemenuProps, type SidemenuSizeV2, SidemenuStateProvider, SidemenuTop, type SidemenuTopComponentV2Props, type SidemenuTopProps, type SidemenuTopPropsV2, type SidemenuTopV2Props, SidemenuV2, type SidemenuV2Props, type SidemenuVariantV2, type Size, type SizeGetter, type SizingProps, Skeleton, SkeletonBase, type SkeletonProps, type SkewXProps, type SkewYProps, type Sort, type SortOrder, type Space, type SpaceGetter, type SpaceProps, type SpaceXProps, type SpaceXReverseProps, type SpaceYProps, type SpaceYReverseProps, type SpacingProps, Spinner, SpinnerCircle, type SpinnerProps, StepHorizontal, StepHorizontalBase, type StepHorizontalProps, type StepHorizontalSize, type StepHorizontalTailProps, type StepHorizontalTitleProps, StepIndicator, StepVertical, StepVerticalBase, type StepVerticalProps, type StepVerticalSize, type StepVerticalTailProps, type StepVerticalTitleProps, StepperHorizontal, type StepperHorizontalProps, StepperVertical, type StepperVerticalProps, Svg, SvgBase, type SvgProps, type SvgState, Switch, SwitchBase, SwitchButton, SwitchButtonBase, type SwitchButtonProps, type SwitchContext, SwitchLabel, type SwitchProps, SwitchProvider, SystemProps, T, TBase, type TProps, Tab, TabBase, type TabIndexProps, type TabNavBarProps, type TabProps, Table, TableBase, type TableColumn, type TableContext, type TableProps, TableProvider, TableSortIcon, type TableSortIconProps, Tabs, TabsBase, type TabsProps, type TabsSize, Tag, type TagColor, type TagColorTokens, type TagContainerStyles, type TagHierarchy, type TagInnerProps, type TagProps, TagToggle, type TagToggleHierarchy, type TagToggleInnerProps, type TagToggleProps, type TagVariantCanonical, Tbody, TbodyBase, type TbodyProps, Td, TdBase, type TdProps, type TextAlignProps, TextButton, type TextDecorationProps, type TextOverflowProps, type TextShadowProps, type TextTransformProps, Textarea, TextareaBase, type TextareaProps, Tfoot, TfootBase, type TfootProps, Th, ThBase, type ThProps, Thead, type TheadProps, ThemeGet, type ThemingProps, type TimeItem, type TimeResult, type TimeUnitMode, type TimingFunctionGetter, type ToastDuration, ToastItem, ToastItemProps, type ToastListItem, type ToastOptions, type ToastRenderProps, type ToastSize, type ToastStatus, type ToastTextLayout, _default$2 as Toaster, Tooltip, type TooltipProps, type TopProps, Tr, TrBase, type TrProps, type Transform, type TransformGetter, type TransformOriginProps, type TransformProps, type TransformsProps, type TransitionDelayProps, type TransitionDuration, type TransitionDurationProps, type TransitionGetter, type TransitionPropertyGetter, type TransitionPropertyProps, type TransitionProps, type TransitionTimingFunctionProps, type TransitionsProps, type TranslateXProps, type TranslateYProps, Tree, TreeBase, TreeIcon, TreeItem, TreeItemBase, type TreeItemId, type TreeItemLinkProps, type TreeItemProps, type TreeOnToggleEvent, type TreeProps, TreeProvider, TreeText, Tutorial, TutorialCard, type TutorialCardProps, type TutorialDataStep, type TutorialProps, TutorialStep, type TutorialStepProps, type TutorialStepWrapper, type TypographyProps, UseControlledProps, type UsePaginationProps, type UsePopoverProps, type UseSelectProps, UseSelectReturnType, type UseSidemenuItemV2Return, type UseSidemenuV2Return, type UserSelectProps, VC, VStyled, type VerticalAlignProps, type VisibilityProps, VuiComponent, VuiComponentConfig, type VuiContext, VuiContextProvider, type VuiIcon, type VuiIcons, VuiProvider, type VuiTheme, type VuiThemeDefaults, type VuiThemeExtensions, type WhiteSpaceProps, type WidthProps, WordBreakProps, type ZIndex, type ZIndexGetter, type ZIndexProps, __DEV__, activeClassName, activeItemShade, addBodyClass, addElement, _default$3 as animations, assignRef, icons_d_exports as baseIcons, _default$4 as borders, bounce, callAll, cdnFontsPath, cdnStagUrl, cdnTestUrl, cdnUrl, cdnUrls, _default$5 as colors, compareBy, _default$6 as components, containerId, createContext, createGlobalStyle, cs, css, dateFormats, defaultDuration, defaultIcons, defaultTheme, dialogStatusMapping, dimmedBorderColor, _default$7 as durations, ellipsisOverflow, extendTheme, fadeDown, fadeIn, fadeLeft, fadeOut, fadeRight, fadeUp, fastToastDuration, filterUndefined, _default$8 as fontFaces, _default$9 as fontSizes, _default$10 as fontWeights, _default$11 as fonts, formatDate, formatIsoDate, _default$12 as foundations, generateDateByUTCValue, generateMenuItemId, getCurrentYear, getDateUTCValue, getLoggedInLink, getOptionText, getPaginationItems, hexToRGBA, cache as iconsCache, isActivePath, isArray, isFunction, isJsx, isNumber, isObject, isReactText, isString, isTruncated, isValidDate, manager, maxDateTimestamp, maxLines, mediaBetween, mediaDown, mediaUp, mediumToastDuration, merge, mergeRefs, minDateTimestamp, modalAnimation, modalClass, modalJustifyContent, months, monthsShort, noScrollClass, noop, normalizeToId, objectFilter, omitThemingProps, parseHSL, parseIsoDate, pulse, _default$13 as radii, random, removeBodyClass, removeElement, resolveTagVariantKey, resolveVariantKey, _default$14 as ringWidths, runIfFn, sameDate, sameYear, sameYearSameMonth, _default$15 as screens, _default$16 as shadows, _default$17 as sizes, slowToastDuration, _default$18 as spaces, spin, styled, system, th, toasterWidth, toggleItem, _default$19 as transforms, _default$20 as transitions, uid, useBetween, useBodyScrollLock, useButtonContext, useButtonGroupContext, useCallbackRef, useCheckboxGroupContext, useClickOutside, useControlled, useCopyToClipboard, useDialog, useDialogContext, useDown, useFooterLinks, useHeaderContext, useHeaderLinks, useIds, useIsMounted, useLinks, useListContext, useLoadLinks, useMenuContext, useModalContext, useModalManager, useNotificationContext, useOfflineMode, usePagination, usePaginationContext, usePopover, usePopoverContext, useRadioGroupContext, useSidemenuContext, useStyleConfig, useSwitchContext, useTableContext, useTh, useTheme, useToast, useTreeContext, useUp, useViewportWidth, useVuiContext, utcDateToLocale, v, validateDateFormat, viewYears, vui, vuiActionAI, vuiActionBlue, vuiActionBrand, vuiActionContrast, vuiActionDanger, vuiActionEucalyptus, vuiActionGeneric, vuiActionGrey, vuiActionLavender, vuiActionSuccess, vuiActionTerracotta, vuiActionTokens, vuiActionYellow, vuiColorBase, vuiColorCyan, vuiColorDarkBlue, vuiColorDigiGreen, vuiColorEarth, vuiColorEnergyRed, vuiColorEucalyptus, vuiColorLandGreen, vuiColorLavender, vuiColorOpacityDark, vuiColorOpacityLight, vuiColorPine, vuiColorPrimitives, vuiColorSandstone, vuiColorSeaBlue, vuiColorSemantics, vuiColorSkyBlue, vuiColorSunflower, vuiColorTerracotta, vuiColorToRGBA, vuiColorWarmGrey, vuiControlTokens, vuiDataTokens, vuiFeedbackTokens, vuiGradientTokens, vuiNavigationBackground, vuiNavigationBorder, vuiNavigationForeground, vuiNavigationTokens, vuiNextAllTokens, vuiSemanticBackground, vuiSemanticForeground, vuiUtilityBorder, vuiUtilityLoading, vuiUtilityMisc, vuiUtilityTokens, weekDays, wordBreak, _default$21 as zIndices };
328
+ export { Accordion, AccordionBase, type AccordionIconPosition, AccordionItem, type AccordionItemArrowProps, AccordionItemHorizontal, type AccordionItemId, type AccordionItemProps, type AccordionOnToggleEvent, type AccordionOrientation, type AccordionProps, type AlignContentProps, type AlignItemsProps, type AlignSelfProps, type Animation, type AnimationDirection, type AnimationGetter, type AnimationProp, type AnimationProps, type AnimationsProps, type AnyFunction, type AnyNumber, type AnyString, AppButton, type AppearanceProps, ApplicationFooter, type ApplicationFooterProps, type AutoCompletePopoverProps, Avatar, AvatarBase, type AvatarProps, BackButton, type BackgroundColorProps, type BackgroundsProps, Badge, type Border, type BorderBottomColorProps, type BorderBottomProps, type BorderBottomWidthProps, type BorderColorProps, type BorderGetter, type BorderLeftColorProps, type BorderLeftProps, type BorderLeftWidthProps, type BorderProps, type BorderRadiusProp, type BorderRadiusProps, type BorderRightColorProps, type BorderRightProps, type BorderRightWidthProps, type BorderStyleGetter, type BorderStyleProps, type BorderTopColorProps, type BorderTopProps, type BorderTopWidthProps, type BorderWidthGetter, type BorderWidthProps, type BordersProps, type BottomProps, Box, BoxBase, type BoxProps, type BoxShadowProps, type BoxSizingProps, Breadcrumbs, BreadcrumbsBase, type BreadcrumbsItemProps, type BreadcrumbsProps, type BreadcrumbsSeparatorProps, Button, ButtonBase, type ButtonComputedOptions, type ButtonComputedStyles, ButtonContextValue, ButtonGroup, ButtonGroupBase, ButtonGroupContextValue, type ButtonGroupProps, ButtonGroupProvider, ButtonIcon, type ButtonIntent, type ButtonProps, ButtonProvider, type ButtonStyleContainer, ButtonText, ButtonToggleGroup, type ButtonToggleGroupProps, type ButtonVariant, type ButtonVariantLegacy, CSSFunction, CTAButton, Calendar, type CalendarMode, type CalendarProps, Card, type CardProps, type ChangeEvent, type ChangeEventHandler, Chat, ChatInput, type ChatInputButtonProps, type ChatInputProps, type ChatInputStatus, ChatMessage, type ChatProps, Checkbox, CheckboxBase, CheckboxGroup, CheckboxGroupBase, type CheckboxGroupProps, CheckboxGroupProvider, type CheckboxProps, type CheckboxStyleProps, type ChildrenProp, CloseButton, type CloseEvent, type Color, type ColorGetter, type ColorProps, type Component, type ComputedResult, type ContainerStyles, CopyToClipboard, type CopyToClipboardProps, type CreateContextOptions, type CreateContextReturn, CreateGlobalStyle, type CursorProps, DangerButton, DateFormat, DatePicker, type DatePickerPopupPosition, type DatePickerProps, type DateRange, type DefaultViewMonthProps, Definition, DefinitionHorizontalBase, DefinitionVerticalBase, Dialog, DialogBase, DialogBody, type DialogBodyProps, DialogCancelButton, type DialogCancelButtonProps, DialogCloseButton, type DialogCloseButtonProps, type DialogContext, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogIcon, type DialogIconProps, type DialogPlacement, type DialogProps, DialogProvider, type DialogStatus, type DialogStatusMapping, DialogSubmitButton, type DialogSubmitButtonProps, DialogTitle, type DialogTitleProps, type Dict, DismissButton, type DismissButtonProps, type DismissButtonSize, Display, DisplayBase, type DisplayProps, type DisplayTextProps, type DivideColorProps, type DivideStyleProps, type DivideXProps, type DivideXReverseProps, type DivideYProps, type DivideYReverseProps, Divider, DividerBase, type DividerProps, DragAndDrop, type DragAndDropProps, Drawer, type DrawerProps, type DurationGetter, type EffectsProps, type Elevation, type Environment, type FlexBasisProps, type FlexDirectionProps, type FlexGrowProps, type FlexProps, type FlexShrinkProps, type FlexWrapProps, type FlexboxesProps, type FloatProps, type FlowDirection, type FocusEvent, type FocusEventHandler, FocusLock, type FocusLockProps, type FocusableElement, type Font, type FontFamilyProps, type FontGetter, type FontSize, type FontSizeGetter, type FontSizeProps, type FontStyleProps, type FontWeight, type FontWeightGetter, type FontWeightProps, Footer, FooterBase, type FooterColumnData, type FooterColumnProps, type FooterColumnsProps, FooterContent, type FooterContentProps, type FooterContext, FooterHeading, FooterLink, type FooterLinkData, type FooterProps, FooterSection, type FooterSectionData, type FooterSectionProps, type FooterTrademarkProps, FormatDateOptions, type GetIconDetailsResult, _default as GlobalStyle, Grid, GridBase, type GridProps, type GridTemplateColumn, type GridTemplateRow, H1, H2, H3, H4, H5, H6, HSLToRGBA, Header, HeaderAccount, type HeaderAccountData, type HeaderAccountProps, type HeaderAccountSectionData, HeaderAccountUserInfo, type HeaderAccountUserInfoData, type HeaderAccountUserInfoProps, HeaderApplicationName, HeaderBase, type HeaderButtonData, HeaderContent, type HeaderContentProps, type HeaderContext, HeaderCreateAccount, type HeaderCreateAccountData, type HeaderCreateAccountProps, HeaderDivider, type HeaderLinkData, HeaderLinkItem, type HeaderLinkItemProps, HeaderLogo, HeaderMainLinks, type HeaderMainLinksProps, HeaderMobileContent, HeaderMobileToggle, HeaderNotifications, type HeaderNotificationsData, type HeaderNotificationsProps, type HeaderProps, HeaderProvider, HeaderServices, type HeaderServicesData, HeaderServicesMessage, type HeaderServicesProps, HeaderSignIn, type HeaderSignInProps, type HeaderSupportProps, Heading, HeadingBase, type HeadingProps, type HeadingSize, type HeightProps, HelpText, type HelpTextProps, Icon, IconButton, type IconButtonProps, type IconDefinition, type IconDetails, type IconProp, type IconProps, Image, ImageBase, type ImageProps, Input, InputBase, InputIcon, InputInput, InputInputBase, type InputInputProps, type InputProps, type InputState, type InputStateMapping, type InputType, type InsetGetter, type IntentTokens, type InteractivityProps, IsTruncatedProps, type ItemProps, type JustifyContentProps, type JustifyItemsProps, type JustifySelfProps, type KeyboardEvent, type KeyboardEventHandler, type KeyboardKeys, Label, type LabelProps, type LayoutProps, Lead, type LeftProps, type LetterSpacingProps, LineButton, type LineHeightGetter, type LineHeightProps, Link, LinkBase, LinkIcon, type LinkProps, LinkText, LinksDict, LinksProvider, List, ListBase, ListDivider, ListHeading, ListIcon, ListItem, ListItemBase, type ListItemLinkProps, type ListItemProps, type ListProps, ListProvider, type ListStylePositionProps, type ListStyleTypeProps, ListText, LoggedInHeader, type LoggedInHeaderProps, LoggedOutHeader, type LoggedOutHeaderProps, Logo, type MarginBottomProps, type MarginLeftProps, type MarginProps, type MarginRightProps, type MarginTopProps, type MarginXProps, type MarginYProps, type MaxHeightProps, MaxLinesProps, type MaxWidthProps, Menu, MenuButton, MenuItem, MenuList, type MenuListProps, type MenuProps, MenuProvider, Message, MessageBase, type MessageProps, type MinHeightProps, type MinWidthProps, Modal, ModalBackdrop, ModalBackdropBase, type ModalBackdropProps, ModalContent, ModalContentBase, type ModalContentProps, type ModalContext, type ModalProps, ModalProvider, type MonthProps, type MouseEvent, type MouseEventHandler, type NavBarIconSize, Notification, NotificationAction, NotificationIcon, type NotificationIntent, type NotificationLayout, type NotificationProps, NotificationProvider, type NotificationStatus, type NotificationStatusEntry, type NotificationStatusMapping, NotificationText, NotificationTitle, type NotificationVariant, type NotificationVariantHierarchy, type NotificationVariantLegacy, type ObjectFitProps, type OpacityProps, type OrderProps, type OutlineColorProps, type OutlineProps, type OutlineStyleProps, type OutlineWidthProps, type OverflowProps, type OverflowXProps, type OverflowYProps, type OverscrollBehaviorProps, P, PBase, type PProps, type PaddingBottomProps, type PaddingLeftProps, type PaddingProps, type PaddingRightProps, type PaddingTopProps, type PaddingXProps, type PaddingYProps, Pagination, PaginationButton, type PaginationButtonProps, type PaginationContext, PaginationEllipsis, PaginationGoToPage, type PaginationItem, PaginationNavigation, PaginationPrevNext, type PaginationPrevNextProps, type PaginationProps, PaginationProvider, PaginationResults, Panel, type PanelProps, type Placement, type PointerEventsProps, Popover, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverProvider, type PopoverRenderProps, PopoverTrigger, type PopoverTriggerProps, Portal, type PortalProps, type PositionProps, Progress, ProgressBase, ProgressCircular, ProgressCircularBase, type ProgressCircularProps, type ProgressProps, type PropsOf, Prose, ProseProps, Radio, RadioBase, RadioGroup, RadioGroupBase, type RadioGroupProps, RadioGroupProvider, type RadioProps, type RadioStyleProps, type Radius, type RadiusGetter, Range, type RangeProps, type RangeValue, Rating, type RefPropsOf, RenderOnScreen, RenderOnScreenProps, type RenderProps, _default$1 as ResetCSS, type ResizeProps, type RightJoinProps, type RightProps, type RingColorProps, type RingProps, type RingWidth, type RingWidthGetter, type RotateProps, type ScaleProps, type ScaleXProps, type ScaleYProps, type Screen, Select, SelectButton, type SelectButtonProps, SelectContent, type SelectContentProps, type SelectContext, SelectGroup, type SelectGroupProps, type SelectLabelProps, SelectOption, type SelectOptionData, type SelectOptionProps, type SelectProps, type SelectValue, type Shadow, type ShadowGetter, Sidemenu, type SidemenuCollapseModeV2, type SidemenuComponentV2Props, type SidemenuContextV2Value, type SidemenuExpandEventV2, type SidemenuFlatItemV2, type SidemenuGroupV2Props, SidemenuItem, type SidemenuItemBadgeV2Props, type SidemenuItemClickEventV2, type SidemenuItemComponentV2Props, type SidemenuItemProps, type SidemenuItemV2Props, type SidemenuItemWithChildrenV2, type SidemenuOrientation, type SidemenuOrientationV2, type SidemenuProps, type SidemenuSizeV2, SidemenuStateProvider, SidemenuTop, type SidemenuTopComponentV2Props, type SidemenuTopProps, type SidemenuTopPropsV2, type SidemenuTopV2Props, SidemenuV2, type SidemenuV2Props, type SidemenuVariantV2, type Size, type SizeGetter, type SizingProps, Skeleton, SkeletonBase, type SkeletonProps, type SkewXProps, type SkewYProps, type Sort, type SortOrder, type Space, type SpaceGetter, type SpaceProps, type SpaceXProps, type SpaceXReverseProps, type SpaceYProps, type SpaceYReverseProps, type SpacingProps, Spinner, SpinnerCircle, type SpinnerProps, StepHorizontal, StepHorizontalBase, type StepHorizontalProps, type StepHorizontalSize, type StepHorizontalTailProps, type StepHorizontalTitleProps, StepIndicator, StepVertical, StepVerticalBase, type StepVerticalProps, type StepVerticalSize, type StepVerticalTailProps, type StepVerticalTitleProps, StepperHorizontal, type StepperHorizontalProps, StepperVertical, type StepperVerticalProps, Svg, SvgBase, type SvgProps, type SvgState, Switch, SwitchBase, SwitchButton, SwitchButtonBase, type SwitchButtonProps, type SwitchContext, SwitchLabel, type SwitchProps, SwitchProvider, SystemProps, T, TBase, type TProps, Tab, TabBase, type TabIndexProps, type TabNavBarProps, type TabProps, Table, TableBase, type TableColumn, type TableContext, type TableProps, TableProvider, TableSortIcon, type TableSortIconProps, Tabs, TabsBase, type TabsProps, type TabsSize, Tag, type TagColor, type TagColorTokens, type TagContainerStyles, type TagHierarchy, type TagInnerProps, type TagProps, TagToggle, type TagToggleHierarchy, type TagToggleInnerProps, type TagToggleProps, type TagVariantCanonical, Tbody, TbodyBase, type TbodyProps, Td, TdBase, type TdProps, type TextAlignProps, TextButton, type TextDecorationProps, type TextOverflowProps, type TextShadowProps, type TextTransformProps, Textarea, TextareaBase, type TextareaProps, Tfoot, TfootBase, type TfootProps, Th, ThBase, type ThProps, Thead, type TheadProps, ThemeGet, type ThemingProps, type TimeItem, type TimeResult, type TimeUnitMode, type TimingFunctionGetter, type ToastDuration, type ToastListItem, type ToastOptions, type ToastSetup, _default$2 as Toaster, Tooltip, type TooltipProps, type TopProps, Tr, TrBase, type TrProps, type Transform, type TransformGetter, type TransformOriginProps, type TransformProps, type TransformsProps, type TransitionDelayProps, type TransitionDuration, type TransitionDurationProps, type TransitionGetter, type TransitionPropertyGetter, type TransitionPropertyProps, type TransitionProps, type TransitionTimingFunctionProps, type TransitionsProps, type TranslateXProps, type TranslateYProps, Tree, TreeBase, TreeIcon, TreeItem, TreeItemBase, type TreeItemId, type TreeItemLinkProps, type TreeItemProps, type TreeOnToggleEvent, type TreeProps, TreeProvider, TreeText, Tutorial, TutorialCard, type TutorialCardProps, type TutorialDataStep, type TutorialProps, TutorialStep, type TutorialStepProps, type TutorialStepWrapper, type TypographyProps, UseControlledProps, type UsePaginationProps, type UsePopoverProps, type UseSelectProps, UseSelectReturnType, type UseSidemenuItemV2Return, type UseSidemenuV2Return, type UserSelectProps, VC, VStyled, type VerticalAlignProps, type VisibilityProps, VuiComponent, VuiComponentConfig, type VuiContext, VuiContextProvider, type VuiIcon, type VuiIcons, VuiProvider, type VuiTheme, type VuiThemeDefaults, type VuiThemeExtensions, type WhiteSpaceProps, type WidthProps, WordBreakProps, type ZIndex, type ZIndexGetter, type ZIndexProps, __DEV__, activeClassName, activeItemShade, addBodyClass, addElement, _default$3 as animations, assignRef, icons_d_exports as baseIcons, _default$4 as borders, bounce, callAll, cdnFontsPath, cdnStagUrl, cdnTestUrl, cdnUrl, cdnUrls, _default$5 as colors, compareBy, _default$6 as components, containerId, createContext, createGlobalStyle, cs, css, dateFormats, defaultDuration, defaultIcons, defaultTheme, dialogStatusMapping, dimmedBorderColor, _default$7 as durations, ellipsisOverflow, extendTheme, fadeDown, fadeIn, fadeLeft, fadeOut, fadeRight, fadeUp, fastToastDuration, filterUndefined, _default$8 as fontFaces, _default$9 as fontSizes, _default$10 as fontWeights, _default$11 as fonts, formatDate, formatIsoDate, _default$12 as foundations, generateDateByUTCValue, generateMenuItemId, getCurrentYear, getDateUTCValue, getLoggedInLink, getOptionText, getPaginationItems, hexToRGBA, cache as iconsCache, isActivePath, isArray, isFunction, isJsx, isNumber, isObject, isReactText, isString, isTruncated, isValidDate, manager, maxDateTimestamp, maxLines, mediaBetween, mediaDown, mediaUp, merge, mergeRefs, minDateTimestamp, modalAnimation, modalClass, modalJustifyContent, months, monthsShort, noScrollClass, noop, normalizeToId, objectFilter, omitThemingProps, parseHSL, parseIsoDate, pulse, _default$13 as radii, random, removeBodyClass, removeElement, resolveTagVariantKey, resolveVariantKey, _default$14 as ringWidths, runIfFn, sameDate, sameYear, sameYearSameMonth, _default$15 as screens, _default$16 as shadows, _default$17 as sizes, slowToastDuration, _default$18 as spaces, spin, styled, system, th, toggleItem, _default$19 as transforms, _default$20 as transitions, uid, useBetween, useBodyScrollLock, useButtonContext, useButtonGroupContext, useCallbackRef, useCheckboxGroupContext, useClickOutside, useControlled, useCopyToClipboard, useDialog, useDialogContext, useDown, useFooterLinks, useHeaderContext, useHeaderLinks, useIds, useIsMounted, useLinks, useListContext, useLoadLinks, useMenuContext, useModalContext, useModalManager, useNotificationContext, useOfflineMode, usePagination, usePaginationContext, usePopover, usePopoverContext, useRadioGroupContext, useSidemenuContext, useStyleConfig, useSwitchContext, useTableContext, useTh, useTheme, useToast, useTreeContext, useUp, useViewportWidth, useVuiContext, utcDateToLocale, v, validateDateFormat, viewYears, vui, vuiActionAI, vuiActionBlue, vuiActionBrand, vuiActionContrast, vuiActionDanger, vuiActionEucalyptus, vuiActionGeneric, vuiActionGrey, vuiActionLavender, vuiActionSuccess, vuiActionTerracotta, vuiActionTokens, vuiActionYellow, vuiColorBase, vuiColorCyan, vuiColorDarkBlue, vuiColorDigiGreen, vuiColorEarth, vuiColorEnergyRed, vuiColorEucalyptus, vuiColorLandGreen, vuiColorLavender, vuiColorOpacityDark, vuiColorOpacityLight, vuiColorPine, vuiColorPrimitives, vuiColorSandstone, vuiColorSeaBlue, vuiColorSemantics, vuiColorSkyBlue, vuiColorSunflower, vuiColorTerracotta, vuiColorToRGBA, vuiColorWarmGrey, vuiControlTokens, vuiDataTokens, vuiFeedbackTokens, vuiGradientTokens, vuiNavigationBackground, vuiNavigationBorder, vuiNavigationForeground, vuiNavigationTokens, vuiNextAllTokens, vuiSemanticBackground, vuiSemanticForeground, vuiUtilityBorder, vuiUtilityLoading, vuiUtilityMisc, vuiUtilityTokens, weekDays, wordBreak, _default$21 as zIndices };
package/dist/index.js CHANGED
@@ -50,18 +50,22 @@ import globalStyle_default from "./core/vuiProvider/globalStyle.js";
50
50
  import resetCSS_default from "./core/vuiProvider/resetCSS.js";
51
51
  import Portal from "./portal/portal.js";
52
52
  import Box, { BoxBase } from "./box/box.js";
53
+ import toast_default from "./toast/toast.js";
54
+ import { NotificationProvider, useNotificationContext } from "./notification/context.js";
53
55
  import Svg, { SvgBase } from "./svg/svg.js";
54
56
  import { icons_exports } from "./icons/baseIcons/icons.js";
55
57
  import { defaultIcons } from "./icons/consts.js";
56
58
  import cache from "./icons/cache.js";
57
59
  import Icon from "./icon/icon.js";
58
60
  import { DismissButton } from "./dismissButton/DismissButton.js";
61
+ import NotificationAction from "./notification/notificationAction.js";
62
+ import NotificationIcon from "./notification/notificationIcon.js";
59
63
  import T, { TBase } from "./t/t.js";
60
64
  import { Lead } from "./t/specialVariants.js";
61
- import Spinner, { SpinnerCircle } from "./spinner/spinner.js";
62
- import { ToastItem } from "./toast/ToastItem.js";
63
- import toast_default, { toasterWidth } from "./toast/toast.js";
64
- import { defaultDuration, fastToastDuration, mediumToastDuration, slowToastDuration, useToast } from "./toast/useToast.js";
65
+ import NotificationText from "./notification/notificationText.js";
66
+ import NotificationTitle from "./notification/notificationTitle.js";
67
+ import Notification from "./notification/notification.js";
68
+ import { defaultDuration, fastToastDuration, slowToastDuration, useToast } from "./toast/useToast.js";
65
69
  import VuiProvider from "./core/vuiProvider/vuiProvider.js";
66
70
  import { ListProvider, useListContext } from "./list/context.js";
67
71
  import Divider, { DividerBase } from "./divider/divider.js";
@@ -175,12 +179,6 @@ import Header, { HeaderBase } from "./header/header.js";
175
179
  import { useHeaderLinks } from "./header/helpers.js";
176
180
  import LoggedInHeader from "./header/loggedInHeader.js";
177
181
  import LoggedOutHeader from "./header/loggedOutHeader.js";
178
- import { NotificationProvider, useNotificationContext } from "./notification/context.js";
179
- import NotificationAction from "./notification/notificationAction.js";
180
- import NotificationIcon from "./notification/notificationIcon.js";
181
- import NotificationText from "./notification/notificationText.js";
182
- import NotificationTitle from "./notification/notificationTitle.js";
183
- import Notification from "./notification/notification.js";
184
182
  import Prose from "./prose/prose.js";
185
183
  import { PaginationProvider, usePaginationContext } from "./pagination/context.js";
186
184
  import { getPaginationItems } from "./pagination/helpers.js";
@@ -217,6 +215,7 @@ import StepperHorizontal from "./stepperHorizontal/stepperHorizontal.js";
217
215
  import StepHorizontal, { StepHorizontalBase } from "./stepperHorizontal/stepHorizontal.js";
218
216
  import StepperVertical from "./stepperVertical/stepperVertical.js";
219
217
  import StepVertical, { StepVerticalBase } from "./stepperVertical/stepVertical.js";
218
+ import Spinner, { SpinnerCircle } from "./spinner/spinner.js";
220
219
  import { SwitchProvider, useSwitchContext } from "./switch/context.js";
221
220
  import SwitchButton, { SwitchButtonBase } from "./switch/switchButton.js";
222
221
  import SwitchLabel from "./switch/switchLabel.js";
@@ -243,5 +242,5 @@ import { TutorialStep } from "./tutorial/tutorialStep.js";
243
242
  import { TutorialCard } from "./tutorial/tutorialCard.js";
244
243
  import { Tutorial } from "./tutorial/tutorial.js";
245
244
 
246
- export { Accordion, AccordionBase, AccordionItem, AccordionItemHorizontal, AppButton, ApplicationFooter, Avatar, AvatarBase, BackButton, Badge, Box, BoxBase, Breadcrumbs, BreadcrumbsBase, Button, ButtonBase, ButtonGroup, ButtonGroupBase, ButtonGroupProvider, ButtonIcon, ButtonProvider, ButtonText, ButtonToggleGroup, CTAButton, Calendar, Card, Chat, ChatInput, ChatMessage, Checkbox, CheckboxBase, CheckboxGroup, CheckboxGroupBase, CheckboxGroupProvider, CloseButton, CopyToClipboard, DangerButton, DatePicker, Definition, DefinitionHorizontalBase, DefinitionVerticalBase, Dialog, DialogBase, DialogBody, DialogCancelButton, DialogCloseButton, DialogFooter, DialogHeader, DialogIcon, DialogProvider, DialogSubmitButton, DialogTitle, DismissButton, Display, DisplayBase, Divider, DividerBase, DragAndDrop, Drawer, FocusLock, Footer, FooterBase, FooterContent, FooterHeading, FooterLink, FooterSection, globalStyle_default as GlobalStyle, Grid, GridBase, H1, H2, H3, H4, H5, H6, HSLToRGBA, Header, HeaderAccount, HeaderAccountUserInfo, HeaderApplicationName, HeaderBase, HeaderContent, HeaderCreateAccount, HeaderDivider, HeaderLinkItem, HeaderLogo, HeaderMainLinks, HeaderMobileContent, HeaderMobileToggle, HeaderNotifications, HeaderProvider, HeaderServices, HeaderServicesMessage, HeaderSignIn, Heading, HeadingBase, HelpText, Icon, IconButton, Image, ImageBase, Input, InputBase, InputIcon, InputInput, InputInputBase, Label, Lead, LineButton, Link, LinkBase, LinkIcon, LinkText, LinksProvider, List, ListBase, ListDivider, ListHeading, ListIcon, ListItem, ListItemBase, ListProvider, ListText, LoggedInHeader, LoggedOutHeader, Logo, Menu, MenuButton, MenuItem, MenuList, MenuProvider, Message, MessageBase, Modal, ModalBackdrop, ModalBackdropBase, ModalContent, ModalContentBase, ModalProvider, Notification, NotificationAction, NotificationIcon, NotificationProvider, NotificationText, NotificationTitle, P, PBase, Pagination, PaginationButton, PaginationEllipsis, PaginationGoToPage, PaginationNavigation, PaginationPrevNext, PaginationProvider, PaginationResults, Panel, Popover, PopoverContent, PopoverProvider, PopoverTrigger, Portal, Progress, ProgressBase, ProgressCircular, ProgressCircularBase, Prose, Radio, RadioBase, RadioGroup, RadioGroupBase, RadioGroupProvider, Range, Rating, RenderOnScreen, resetCSS_default as ResetCSS, Select, SelectButton, SelectContent, SelectGroup, SelectOption, Sidemenu, SidemenuItem, SidemenuStateProvider, SidemenuTop, SidemenuV2, Skeleton, SkeletonBase, Spinner, SpinnerCircle, StepHorizontal, StepHorizontalBase, StepIndicator, StepVertical, StepVerticalBase, StepperHorizontal, StepperVertical, Svg, SvgBase, Switch, SwitchBase, SwitchButton, SwitchButtonBase, SwitchLabel, SwitchProvider, T, TBase, Tab, TabBase, Table, TableBase, TableProvider, TableSortIcon, Tabs, TabsBase, Tag, TagToggle, Tbody, TbodyBase, Td, TdBase, TextButton, Textarea, TextareaBase, Tfoot, TfootBase, Th, ThBase, Thead, ToastItem, toast_default as Toaster, Tooltip, Tr, TrBase, Tree, TreeBase, TreeIcon, TreeItem, TreeItemBase, TreeProvider, TreeText, Tutorial, TutorialCard, TutorialStep, VuiContextProvider, VuiProvider, __DEV__, activeClassName, activeItemShade, addBodyClass, addElement, animations_default as animations, assignRef, icons_exports as baseIcons, borders_default as borders, bounce, callAll, cdnFontsPath, cdnStagUrl, cdnTestUrl, cdnUrl, cdnUrls, colors_default as colors, compareBy, components_default as components, containerId, createContext, createGlobalStyle, cs, css, dateFormats, defaultDuration, defaultIcons, defaultTheme, dialogStatusMapping, dimmedBorderColor, durations_default as durations, ellipsisOverflow, extendTheme, fadeDown, fadeIn, fadeLeft, fadeOut, fadeRight, fadeUp, fastToastDuration, filterUndefined, fontFaces_default as fontFaces, fontSizes_default as fontSizes, fontWeights_default as fontWeights, fonts_default as fonts, formatDate, formatIsoDate, foundations_default as foundations, generateDateByUTCValue, generateMenuItemId, getCurrentYear, getDateUTCValue, getLoggedInLink, getOptionText, getPaginationItems, hexToRGBA, cache as iconsCache, isActivePath, isArray, isFunction, isJsx, isNumber, isObject, isReactText, isString, isTruncated, isValidDate, manager, maxDateTimestamp, maxLines, mediaBetween, mediaDown, mediaUp, mediumToastDuration, merge, mergeRefs, minDateTimestamp, modalAnimation, modalClass, modalJustifyContent, months, monthsShort, noScrollClass, noop, normalizeToId, objectFilter, omitThemingProps, parseHSL, parseIsoDate, pulse, radii_default as radii, random, removeBodyClass, removeElement, resolveTagVariantKey, resolveVariantKey, ringWidths_default as ringWidths, runIfFn, sameDate, sameYear, sameYearSameMonth, screens_default as screens, shadows_default as shadows, sizes_default as sizes, slowToastDuration, spaces_default as spaces, spin, styled, system, th, toasterWidth, toggleItem, transforms_default as transforms, transitions_default as transitions, uid, useBetween, useBodyScrollLock, useButtonContext, useButtonGroupContext, useCallbackRef, useCheckboxGroupContext, useClickOutside, useControlled, useCopyToClipboard, useDialog, useDialogContext, useDown, useFooterLinks, useHeaderContext, useHeaderLinks, useIds, useIsMounted, useLinks, useListContext, useLoadLinks, useMenuContext, useModalContext, useModalManager, useNotificationContext, useOfflineMode, usePagination, usePaginationContext, usePopover, usePopoverContext, useRadioGroupContext, useSidemenuContext, useStyleConfig, useSwitchContext, useTableContext, useTh, useTheme, useToast, useTreeContext, useUp, useViewportWidth, useVuiContext, utcDateToLocale, v, validateDateFormat, viewYears, vui, vuiActionAI, vuiActionBlue, vuiActionBrand, vuiActionContrast, vuiActionDanger, vuiActionEucalyptus, vuiActionGeneric, vuiActionGrey, vuiActionLavender, vuiActionSuccess, vuiActionTerracotta, vuiActionTokens, vuiActionYellow, vuiColorBase, vuiColorCyan, vuiColorDarkBlue, vuiColorDigiGreen, vuiColorEarth, vuiColorEnergyRed, vuiColorEucalyptus, vuiColorLandGreen, vuiColorLavender, vuiColorOpacityDark, vuiColorOpacityLight, vuiColorPine, vuiColorPrimitives, vuiColorSandstone, vuiColorSeaBlue, vuiColorSemantics, vuiColorSkyBlue, vuiColorSunflower, vuiColorTerracotta, vuiColorToRGBA, vuiColorWarmGrey, vuiControlTokens, vuiDataTokens, vuiFeedbackTokens, vuiGradientTokens, vuiNavigationBackground, vuiNavigationBorder, vuiNavigationForeground, vuiNavigationTokens, vuiNextAllTokens, vuiSemanticBackground, vuiSemanticForeground, vuiUtilityBorder, vuiUtilityLoading, vuiUtilityMisc, vuiUtilityTokens, weekDays, wordBreak, zIndices_default as zIndices };
245
+ export { Accordion, AccordionBase, AccordionItem, AccordionItemHorizontal, AppButton, ApplicationFooter, Avatar, AvatarBase, BackButton, Badge, Box, BoxBase, Breadcrumbs, BreadcrumbsBase, Button, ButtonBase, ButtonGroup, ButtonGroupBase, ButtonGroupProvider, ButtonIcon, ButtonProvider, ButtonText, ButtonToggleGroup, CTAButton, Calendar, Card, Chat, ChatInput, ChatMessage, Checkbox, CheckboxBase, CheckboxGroup, CheckboxGroupBase, CheckboxGroupProvider, CloseButton, CopyToClipboard, DangerButton, DatePicker, Definition, DefinitionHorizontalBase, DefinitionVerticalBase, Dialog, DialogBase, DialogBody, DialogCancelButton, DialogCloseButton, DialogFooter, DialogHeader, DialogIcon, DialogProvider, DialogSubmitButton, DialogTitle, DismissButton, Display, DisplayBase, Divider, DividerBase, DragAndDrop, Drawer, FocusLock, Footer, FooterBase, FooterContent, FooterHeading, FooterLink, FooterSection, globalStyle_default as GlobalStyle, Grid, GridBase, H1, H2, H3, H4, H5, H6, HSLToRGBA, Header, HeaderAccount, HeaderAccountUserInfo, HeaderApplicationName, HeaderBase, HeaderContent, HeaderCreateAccount, HeaderDivider, HeaderLinkItem, HeaderLogo, HeaderMainLinks, HeaderMobileContent, HeaderMobileToggle, HeaderNotifications, HeaderProvider, HeaderServices, HeaderServicesMessage, HeaderSignIn, Heading, HeadingBase, HelpText, Icon, IconButton, Image, ImageBase, Input, InputBase, InputIcon, InputInput, InputInputBase, Label, Lead, LineButton, Link, LinkBase, LinkIcon, LinkText, LinksProvider, List, ListBase, ListDivider, ListHeading, ListIcon, ListItem, ListItemBase, ListProvider, ListText, LoggedInHeader, LoggedOutHeader, Logo, Menu, MenuButton, MenuItem, MenuList, MenuProvider, Message, MessageBase, Modal, ModalBackdrop, ModalBackdropBase, ModalContent, ModalContentBase, ModalProvider, Notification, NotificationAction, NotificationIcon, NotificationProvider, NotificationText, NotificationTitle, P, PBase, Pagination, PaginationButton, PaginationEllipsis, PaginationGoToPage, PaginationNavigation, PaginationPrevNext, PaginationProvider, PaginationResults, Panel, Popover, PopoverContent, PopoverProvider, PopoverTrigger, Portal, Progress, ProgressBase, ProgressCircular, ProgressCircularBase, Prose, Radio, RadioBase, RadioGroup, RadioGroupBase, RadioGroupProvider, Range, Rating, RenderOnScreen, resetCSS_default as ResetCSS, Select, SelectButton, SelectContent, SelectGroup, SelectOption, Sidemenu, SidemenuItem, SidemenuStateProvider, SidemenuTop, SidemenuV2, Skeleton, SkeletonBase, Spinner, SpinnerCircle, StepHorizontal, StepHorizontalBase, StepIndicator, StepVertical, StepVerticalBase, StepperHorizontal, StepperVertical, Svg, SvgBase, Switch, SwitchBase, SwitchButton, SwitchButtonBase, SwitchLabel, SwitchProvider, T, TBase, Tab, TabBase, Table, TableBase, TableProvider, TableSortIcon, Tabs, TabsBase, Tag, TagToggle, Tbody, TbodyBase, Td, TdBase, TextButton, Textarea, TextareaBase, Tfoot, TfootBase, Th, ThBase, Thead, toast_default as Toaster, Tooltip, Tr, TrBase, Tree, TreeBase, TreeIcon, TreeItem, TreeItemBase, TreeProvider, TreeText, Tutorial, TutorialCard, TutorialStep, VuiContextProvider, VuiProvider, __DEV__, activeClassName, activeItemShade, addBodyClass, addElement, animations_default as animations, assignRef, icons_exports as baseIcons, borders_default as borders, bounce, callAll, cdnFontsPath, cdnStagUrl, cdnTestUrl, cdnUrl, cdnUrls, colors_default as colors, compareBy, components_default as components, containerId, createContext, createGlobalStyle, cs, css, dateFormats, defaultDuration, defaultIcons, defaultTheme, dialogStatusMapping, dimmedBorderColor, durations_default as durations, ellipsisOverflow, extendTheme, fadeDown, fadeIn, fadeLeft, fadeOut, fadeRight, fadeUp, fastToastDuration, filterUndefined, fontFaces_default as fontFaces, fontSizes_default as fontSizes, fontWeights_default as fontWeights, fonts_default as fonts, formatDate, formatIsoDate, foundations_default as foundations, generateDateByUTCValue, generateMenuItemId, getCurrentYear, getDateUTCValue, getLoggedInLink, getOptionText, getPaginationItems, hexToRGBA, cache as iconsCache, isActivePath, isArray, isFunction, isJsx, isNumber, isObject, isReactText, isString, isTruncated, isValidDate, manager, maxDateTimestamp, maxLines, mediaBetween, mediaDown, mediaUp, merge, mergeRefs, minDateTimestamp, modalAnimation, modalClass, modalJustifyContent, months, monthsShort, noScrollClass, noop, normalizeToId, objectFilter, omitThemingProps, parseHSL, parseIsoDate, pulse, radii_default as radii, random, removeBodyClass, removeElement, resolveTagVariantKey, resolveVariantKey, ringWidths_default as ringWidths, runIfFn, sameDate, sameYear, sameYearSameMonth, screens_default as screens, shadows_default as shadows, sizes_default as sizes, slowToastDuration, spaces_default as spaces, spin, styled, system, th, toggleItem, transforms_default as transforms, transitions_default as transitions, uid, useBetween, useBodyScrollLock, useButtonContext, useButtonGroupContext, useCallbackRef, useCheckboxGroupContext, useClickOutside, useControlled, useCopyToClipboard, useDialog, useDialogContext, useDown, useFooterLinks, useHeaderContext, useHeaderLinks, useIds, useIsMounted, useLinks, useListContext, useLoadLinks, useMenuContext, useModalContext, useModalManager, useNotificationContext, useOfflineMode, usePagination, usePaginationContext, usePopover, usePopoverContext, useRadioGroupContext, useSidemenuContext, useStyleConfig, useSwitchContext, useTableContext, useTh, useTheme, useToast, useTreeContext, useUp, useViewportWidth, useVuiContext, utcDateToLocale, v, validateDateFormat, viewYears, vui, vuiActionAI, vuiActionBlue, vuiActionBrand, vuiActionContrast, vuiActionDanger, vuiActionEucalyptus, vuiActionGeneric, vuiActionGrey, vuiActionLavender, vuiActionSuccess, vuiActionTerracotta, vuiActionTokens, vuiActionYellow, vuiColorBase, vuiColorCyan, vuiColorDarkBlue, vuiColorDigiGreen, vuiColorEarth, vuiColorEnergyRed, vuiColorEucalyptus, vuiColorLandGreen, vuiColorLavender, vuiColorOpacityDark, vuiColorOpacityLight, vuiColorPine, vuiColorPrimitives, vuiColorSandstone, vuiColorSeaBlue, vuiColorSemantics, vuiColorSkyBlue, vuiColorSunflower, vuiColorTerracotta, vuiColorToRGBA, vuiColorWarmGrey, vuiControlTokens, vuiDataTokens, vuiFeedbackTokens, vuiGradientTokens, vuiNavigationBackground, vuiNavigationBorder, vuiNavigationForeground, vuiNavigationTokens, vuiNextAllTokens, vuiSemanticBackground, vuiSemanticForeground, vuiUtilityBorder, vuiUtilityLoading, vuiUtilityMisc, vuiUtilityTokens, weekDays, wordBreak, zIndices_default as zIndices };
247
246
  globalThis.__vuiVersion__ = "5.2.0"
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","names":[],"sources":["../../src/notification/notification.tsx"],"mappings":";;;;;;;;;;;AAuDA;cAAa,YAAA,EAyIP,YAAA,QAAoB,iBAAA;EACxB,MAAA,SAAe,kBAAA;EACf,IAAA,SAAa,gBAAA;EACb,IAAA,SAAa,gBAAA;EACb,KAAA,SAAc,iBAAA;AAAA"}
1
+ {"version":3,"file":"notification.d.ts","names":[],"sources":["../../src/notification/notification.tsx"],"mappings":";;;;;;;;;;;AA4DA;cAAa,YAAA,EAyIP,YAAA,QAAoB,iBAAA;EACxB,MAAA,SAAe,kBAAA;EACf,IAAA,SAAa,gBAAA;EACb,IAAA,SAAa,gBAAA;EACb,KAAA,SAAc,iBAAA;AAAA"}
@@ -6,8 +6,8 @@ import { useStyleConfig } from "../core/theme.js";
6
6
  import styled from "../core/styled.js";
7
7
  import vui from "../core/vui.js";
8
8
  import Box from "../box/box.js";
9
- import { DismissButton } from "../dismissButton/DismissButton.js";
10
9
  import { NotificationProvider } from "./context.js";
10
+ import { DismissButton } from "../dismissButton/DismissButton.js";
11
11
  import { INTENT_ICON_MAP, LOADING_ICON_PROPS, notificationStatusMapping } from "./consts.js";
12
12
  import NotificationAction from "./notificationAction.js";
13
13
  import NotificationIcon from "./notificationIcon.js";
@@ -1 +1 @@
1
- {"version":3,"file":"notification.js","names":["shadows"],"sources":["../../src/notification/notification.tsx"],"sourcesContent":["import Box from '../box'\nimport type { VuiComponent } from '../core'\nimport { styled, useStyleConfig, vui } from '../core'\nimport { DismissButton } from '../dismissButton'\nimport shadows from '../theme/foundations/shadows'\nimport { cs, filterUndefined, isReactText, isString } from '../utils'\nimport { INTENT_ICON_MAP, notificationStatusMapping, LOADING_ICON_PROPS } from './consts'\nimport { NotificationProvider } from './context'\nimport type { NotificationProps } from './notification.types'\nimport NotificationAction from './notificationAction'\nimport NotificationIcon from './notificationIcon'\nimport NotificationText from './notificationText'\nimport NotificationTitle from './notificationTitle'\nimport { DEFAULT_VARIANT, inferNotificationLayout, resolveNotificationAria, resolveNotificationVariant } from './utils'\n\nconst linkSwipeAnimation = `\n @keyframes linkSwipe {\n from {\n background-size: 0 1px;\n }\n to {\n background-size: 100% 1px;\n }\n }\n`\n\nconst NotificationContainer = styled(Box)<{ $dismissFg?: string; $isBanner?: boolean }>`\n ${({ $dismissFg }) => $dismissFg && `--vui-dismiss-fg: ${$dismissFg};`}\n ${linkSwipeAnimation}\n .vui-notificationText a {\n text-decoration: none;\n background: linear-gradient(to right, currentColor, currentColor);\n background-size: 100% 1px;\n background-position: 0 100%;\n background-repeat: no-repeat;\n padding-bottom: 2px;\n }\n .vui-notificationText a:hover {\n animation: linkSwipe 0.5s ease forwards;\n background-size: 100% 1px;\n }\n ${({ $isBanner }) =>\n $isBanner &&\n `\n box-shadow: ${shadows.md};\n position: relative;\n width: 100%;\n border: none;\n `}\n`\n\n/**\n * Displays informational content, like text and icon with optional action buttons.\n * Handles multiple states, like info, error or loading.\n */\nexport const Notification = vui<'div', NotificationProps>((props, ref) => {\n const {\n action,\n align,\n ariaLive,\n children,\n className,\n icon,\n intent,\n isLoading,\n onClose,\n role,\n showDismissButton,\n size,\n status,\n statusMapping,\n text,\n title,\n variant: variantProp = DEFAULT_VARIANT,\n verticalAlign,\n ...rest\n } = props\n\n const statuses = { ...notificationStatusMapping, ...statusMapping }\n\n // Derive variant/intent/isLoading from deprecated status prop when not explicitly set.\n // Explicit props always win; status is a convenience shorthand only.\n const statusProps = status ? statuses[status] : undefined\n const resolvedVariant = variantProp !== DEFAULT_VARIANT ? variantProp : (statusProps?.variant ?? variantProp)\n // Q9: when isLoading is true, default intent to 'info' if not specified.\n const intentFromProps = intent ?? statusProps?.intent\n const resolvedIsLoading = isLoading ?? statusProps?.isLoading\n const resolvedIntent = resolvedIsLoading && intentFromProps == null ? 'info' : intentFromProps\n\n const { themeKey, isBanner } = resolveNotificationVariant(resolvedVariant, resolvedIntent)\n\n // Q2: infer layout from content composition; no `layout` prop.\n const layout = inferNotificationLayout({ action, text, title, hasStatus: !!statusProps })\n\n // Q4: auto-map role/aria-live from intent (and isLoading). Explicit props win.\n const aria = resolveNotificationAria({ intent: resolvedIntent, isLoading: resolvedIsLoading })\n const resolvedRole = role ?? aria.role\n const resolvedAriaLive = ariaLive ?? aria.ariaLive\n\n const styles = useStyleConfig('Notification', { variant: themeKey, size })\n\n // Auto-inject icon only when using the default render path (no custom children).\n // When children are provided, the consumer manages icons via <Notification.Icon>.\n // An explicit string `icon` prop always wins regardless of children.\n // Priority: explicit icon → loading → status mapping → intent mapping\n const autoIconProps = resolvedIsLoading\n ? LOADING_ICON_PROPS\n : (statuses[status ?? '']?.iconProps ?? (resolvedIntent ? INTENT_ICON_MAP[resolvedIntent] : undefined))\n\n const showIcon = icon !== ''\n const iconName = showIcon ? (isString(icon) ? icon : (!children && autoIconProps?.name) || undefined) : undefined\n\n const context = filterUndefined<NotificationProps>({\n size,\n status,\n statusMapping,\n variant: themeKey,\n intent: resolvedIntent,\n isLoading: resolvedIsLoading,\n })\n // Q10: expose the inferred layout to Notification.Action via context.\n // Use a non-prop key so the context payload doesn't pollute NotificationProps consumers.\n ;(context as Record<string, unknown>).layout = layout\n\n // verticalAlign is deprecated; map old values to the new align prop\n const resolvedAlign =\n align ?? (verticalAlign === 'center' ? 'center' : verticalAlign === 'flex-start' ? 'top' : undefined)\n // Q11: align is the only manual override. When omitted, fall back to layout-driven default.\n const layoutDefaultAlign = layout === 'one-line' ? 'center' : 'top'\n const alignSelf = (resolvedAlign ?? layoutDefaultAlign) === 'center' ? 'center' : 'flex-start'\n\n return (\n <NotificationProvider value={context}>\n <NotificationContainer\n borderRadius=\"md\"\n borderWidth={1}\n className={cs('vui-notification', className)}\n ref={ref}\n role={resolvedRole}\n aria-live={resolvedAriaLive}\n data-intent={resolvedIntent}\n data-variant={isBanner ? 'banner' : 'inline'}\n data-layout={layout}\n data-loading={resolvedIsLoading ? 'true' : undefined}\n data-align={resolvedAlign}\n w=\"fit-content\"\n $dismissFg={styles.container?.['--vui-dismiss-fg']}\n $isBanner={isBanner}\n {...styles.container}\n {...rest}\n >\n {iconName ? (\n <Box alignSelf={alignSelf} {...styles.icon}>\n <NotificationIcon {...autoIconProps} name={iconName} />\n </Box>\n ) : showIcon ? (\n icon\n ) : null}\n\n {children ?? (\n <Box column={alignSelf !== 'center'} flex={1} {...styles.content}>\n <NotificationText>\n {title ? (\n isReactText(title) ? (\n <NotificationTitle\n display={alignSelf !== 'center' ? 'block' : 'inline'}\n mb={alignSelf !== 'center' && text ? styles.title?.mb : undefined}\n text={title}\n />\n ) : (\n title\n )\n ) : null}\n {title && text && alignSelf === 'center' ? ' ' : null}\n {text}\n </NotificationText>\n {action ? <NotificationAction>{action}</NotificationAction> : null}\n </Box>\n )}\n\n {showDismissButton && (\n <DismissButton\n alignSelf={alignSelf}\n aria-label=\"Close\"\n size=\"md\"\n onClick={onClose || (() => {})}\n {...styles.button}\n />\n )}\n </NotificationContainer>\n </NotificationProvider>\n )\n}) as VuiComponent<'div', NotificationProps> & {\n Action: typeof NotificationAction\n Icon: typeof NotificationIcon\n Text: typeof NotificationText\n Title: typeof NotificationTitle\n}\n\nNotification.Action = NotificationAction\nNotification.Icon = NotificationIcon\nNotification.Text = NotificationText\nNotification.Title = NotificationTitle\nNotification.displayName = 'Notification'\n\nexport default Notification\n"],"mappings":";;;;;;;;;;;;;;;;;;;AA0BA,MAAM,wBAAwB,OAAO,GAAG,CAAC,AAA8C;KAClF,EAAE,iBAAiB,cAAc,qBAAqB,WAAW,GAAG;IACrE;;;;;;;;;EAAmB;;;;;;;;;;;;;KAalB,EAAE,gBACH,aACA;kBACcA,gBAAQ,GAAG;;;;IAIzB;;;;;;AAOJ,MAAa,eAAe,KAA+B,OAAO,QAAQ;CACxE,MAAM,EACJ,QACA,OACA,UACA,UACA,WACA,MACA,QACA,WACA,SACA,MACA,mBACA,MACA,QACA,eACA,MACA,OACA,SAAS,cAAc,iBACvB,eACA,GAAG,SACD;CAEJ,MAAM,WAAW;EAAE,GAAG;EAA2B,GAAG;CAAc;CAIlE,MAAM,cAAc,SAAS,SAAS,UAAU;CAChD,MAAM,kBAAkB,2BAAkC,cAAe,aAAa,WAAW;CAEjG,MAAM,kBAAkB,UAAU,aAAa;CAC/C,MAAM,oBAAoB,aAAa,aAAa;CACpD,MAAM,iBAAiB,qBAAqB,mBAAmB,OAAO,SAAS;CAE/E,MAAM,EAAE,UAAU,aAAa,2BAA2B,iBAAiB,cAAc;CAGzF,MAAM,SAAS,wBAAwB;EAAE;EAAQ;EAAM;EAAO,WAAW,CAAC,CAAC;CAAY,CAAC;CAGxF,MAAM,OAAO,wBAAwB;EAAE,QAAQ;EAAgB,WAAW;CAAkB,CAAC;CAC7F,MAAM,eAAe,QAAQ,KAAK;CAClC,MAAM,mBAAmB,YAAY,KAAK;CAE1C,MAAM,SAAS,eAAe,gBAAgB;EAAE,SAAS;EAAU;CAAK,CAAC;CAMzE,MAAM,gBAAgB,oBAClB,qBACC,SAAS,UAAU,GAAG,EAAE,cAAc,iBAAiB,gBAAgB,kBAAkB;CAE9F,MAAM,WAAW,SAAS;CAC1B,MAAM,WAAW,WAAY,SAAS,IAAI,IAAI,OAAQ,CAAC,YAAY,eAAe,QAAS,SAAa;CAExG,MAAM,UAAU,gBAAmC;EACjD;EACA;EACA;EACA,SAAS;EACT,QAAQ;EACR,WAAW;CACb,CAAC;CAGA,AAAC,QAAoC,SAAS;CAG/C,MAAM,gBACJ,UAAU,kBAAkB,WAAW,WAAW,kBAAkB,eAAe,QAAQ;CAG7F,MAAM,aAAa,kBADQ,WAAW,aAAa,WAAW,YACF,WAAW,WAAW;CAElF,OACE,oBAAC,sBAAD;EAAsB,OAAO;YAC3B,qBAAC,uBAAD;GACE,cAAa;GACb,aAAa;GACb,WAAW,GAAG,oBAAoB,SAAS;GACtC;GACL,MAAM;GACN,aAAW;GACX,eAAa;GACb,gBAAc,WAAW,WAAW;GACpC,eAAa;GACb,gBAAc,oBAAoB,SAAS;GAC3C,cAAY;GACZ,GAAE;GACF,YAAY,OAAO,YAAY;GAC/B,WAAW;GACX,GAAI,OAAO;GACX,GAAI;aAhBN;IAkBG,WACC,oBAAC,KAAD;KAAgB;KAAW,GAAI,OAAO;eACpC,oBAAC,kBAAD;MAAkB,GAAI;MAAe,MAAM;KAAW;IACnD,KACH,WACF,OACE;IAEH,YACC,qBAAC,KAAD;KAAK,QAAQ,cAAc;KAAU,MAAM;KAAG,GAAI,OAAO;eAAzD,CACE,qBAAC,kBAAD;MACG,QACC,YAAY,KAAK,IACf,oBAAC,mBAAD;OACE,SAAS,cAAc,WAAW,UAAU;OAC5C,IAAI,cAAc,YAAY,OAAO,OAAO,OAAO,KAAK;OACxD,MAAM;MACP,KAED,QAEA;MACH,SAAS,QAAQ,cAAc,WAAW,MAAM;MAChD;KACe,MACjB,SAAS,oBAAC,oBAAD,YAAqB,OAA2B,KAAI,IAC3D;;IAGN,qBACC,oBAAC,eAAD;KACa;KACX,cAAW;KACX,MAAK;KACL,SAAS,kBAAkB,CAAC;KAC5B,GAAI,OAAO;IACZ;GAEkB;;CACH;AAE1B,CAAC;AAOD,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,cAAc"}
1
+ {"version":3,"file":"notification.js","names":["shadows"],"sources":["../../src/notification/notification.tsx"],"sourcesContent":["import Box from '../box'\nimport type { VuiComponent } from '../core'\nimport { styled, useStyleConfig, vui } from '../core'\nimport { DismissButton } from '../dismissButton'\nimport shadows from '../theme/foundations/shadows'\nimport { cs, filterUndefined, isReactText, isString } from '../utils'\nimport { INTENT_ICON_MAP, notificationStatusMapping, LOADING_ICON_PROPS } from './consts'\nimport { NotificationProvider } from './context'\nimport type { NotificationProps } from './notification.types'\nimport NotificationAction from './notificationAction'\nimport NotificationIcon from './notificationIcon'\nimport NotificationText from './notificationText'\nimport NotificationTitle from './notificationTitle'\nimport {\n DEFAULT_VARIANT,\n inferNotificationLayout,\n resolveNotificationAria,\n resolveNotificationVariant,\n} from './utils'\n\nconst linkSwipeAnimation = `\n @keyframes linkSwipe {\n from {\n background-size: 0 1px;\n }\n to {\n background-size: 100% 1px;\n }\n }\n`\n\nconst NotificationContainer = styled(Box)<{ $dismissFg?: string; $isBanner?: boolean }>`\n ${({ $dismissFg }) => $dismissFg && `--vui-dismiss-fg: ${$dismissFg};`}\n ${linkSwipeAnimation}\n .vui-notificationText a {\n text-decoration: none;\n background: linear-gradient(to right, currentColor, currentColor);\n background-size: 100% 1px;\n background-position: 0 100%;\n background-repeat: no-repeat;\n padding-bottom: 2px;\n }\n .vui-notificationText a:hover {\n animation: linkSwipe 0.5s ease forwards;\n background-size: 100% 1px;\n }\n ${({ $isBanner }) =>\n $isBanner &&\n `\n box-shadow: ${shadows.md};\n position: relative;\n width: 100%;\n border: none;\n `}\n`\n\n/**\n * Displays informational content, like text and icon with optional action buttons.\n * Handles multiple states, like info, error or loading.\n */\nexport const Notification = vui<'div', NotificationProps>((props, ref) => {\n const {\n action,\n align,\n ariaLive,\n children,\n className,\n icon,\n intent,\n isLoading,\n onClose,\n role,\n showDismissButton,\n size,\n status,\n statusMapping,\n text,\n title,\n variant: variantProp = DEFAULT_VARIANT,\n verticalAlign,\n ...rest\n } = props\n\n const statuses = { ...notificationStatusMapping, ...statusMapping }\n\n // Derive variant/intent/isLoading from deprecated status prop when not explicitly set.\n // Explicit props always win; status is a convenience shorthand only.\n const statusProps = status ? statuses[status] : undefined\n const resolvedVariant = variantProp !== DEFAULT_VARIANT ? variantProp : (statusProps?.variant ?? variantProp)\n // Q9: when isLoading is true, default intent to 'info' if not specified.\n const intentFromProps = intent ?? statusProps?.intent\n const resolvedIsLoading = isLoading ?? statusProps?.isLoading\n const resolvedIntent = resolvedIsLoading && intentFromProps == null ? 'info' : intentFromProps\n\n const { themeKey, isBanner } = resolveNotificationVariant(resolvedVariant, resolvedIntent)\n\n // Q2: infer layout from content composition; no `layout` prop.\n const layout = inferNotificationLayout({ action, text, title, hasStatus: !!statusProps })\n\n // Q4: auto-map role/aria-live from intent (and isLoading). Explicit props win.\n const aria = resolveNotificationAria({ intent: resolvedIntent, isLoading: resolvedIsLoading })\n const resolvedRole = role ?? aria.role\n const resolvedAriaLive = ariaLive ?? aria.ariaLive\n\n const styles = useStyleConfig('Notification', { variant: themeKey, size })\n\n // Auto-inject icon only when using the default render path (no custom children).\n // When children are provided, the consumer manages icons via <Notification.Icon>.\n // An explicit string `icon` prop always wins regardless of children.\n // Priority: explicit icon → loading → status mapping → intent mapping\n const autoIconProps = resolvedIsLoading\n ? LOADING_ICON_PROPS\n : (statuses[status ?? '']?.iconProps ?? (resolvedIntent ? INTENT_ICON_MAP[resolvedIntent] : undefined))\n\n const showIcon = icon !== ''\n const iconName = showIcon ? (isString(icon) ? icon : (!children && autoIconProps?.name) || undefined) : undefined\n\n const context = filterUndefined<NotificationProps>({\n size,\n status,\n statusMapping,\n variant: themeKey,\n intent: resolvedIntent,\n isLoading: resolvedIsLoading,\n })\n // Q10: expose the inferred layout to Notification.Action via context.\n // Use a non-prop key so the context payload doesn't pollute NotificationProps consumers.\n ;(context as Record<string, unknown>).layout = layout\n\n // verticalAlign is deprecated; map old values to the new align prop\n const resolvedAlign =\n align ?? (verticalAlign === 'center' ? 'center' : verticalAlign === 'flex-start' ? 'top' : undefined)\n // Q11: align is the only manual override. When omitted, fall back to layout-driven default.\n const layoutDefaultAlign = layout === 'one-line' ? 'center' : 'top'\n const alignSelf = (resolvedAlign ?? layoutDefaultAlign) === 'center' ? 'center' : 'flex-start'\n\n return (\n <NotificationProvider value={context}>\n <NotificationContainer\n borderRadius=\"md\"\n borderWidth={1}\n className={cs('vui-notification', className)}\n ref={ref}\n role={resolvedRole}\n aria-live={resolvedAriaLive}\n data-intent={resolvedIntent}\n data-variant={isBanner ? 'banner' : 'inline'}\n data-layout={layout}\n data-loading={resolvedIsLoading ? 'true' : undefined}\n data-align={resolvedAlign}\n w=\"fit-content\"\n $dismissFg={styles.container?.['--vui-dismiss-fg']}\n $isBanner={isBanner}\n {...styles.container}\n {...rest}\n >\n {iconName ? (\n <Box alignSelf={alignSelf} {...styles.icon}>\n <NotificationIcon {...autoIconProps} name={iconName} />\n </Box>\n ) : showIcon ? (\n icon\n ) : null}\n\n {children ?? (\n <Box column={alignSelf !== 'center'} flex={1} {...styles.content}>\n <NotificationText>\n {title ? (\n isReactText(title) ? (\n <NotificationTitle\n display={alignSelf !== 'center' ? 'block' : 'inline'}\n mb={alignSelf !== 'center' && text ? styles.title?.mb : undefined}\n text={title}\n />\n ) : (\n title\n )\n ) : null}\n {title && text && alignSelf === 'center' ? ' ' : null}\n {text}\n </NotificationText>\n {action ? <NotificationAction>{action}</NotificationAction> : null}\n </Box>\n )}\n\n {showDismissButton && (\n <DismissButton\n alignSelf={alignSelf}\n aria-label=\"Close\"\n size=\"md\"\n onClick={onClose || (() => {})}\n {...styles.button}\n />\n )}\n </NotificationContainer>\n </NotificationProvider>\n )\n}) as VuiComponent<'div', NotificationProps> & {\n Action: typeof NotificationAction\n Icon: typeof NotificationIcon\n Text: typeof NotificationText\n Title: typeof NotificationTitle\n}\n\nNotification.Action = NotificationAction\nNotification.Icon = NotificationIcon\nNotification.Text = NotificationText\nNotification.Title = NotificationTitle\nNotification.displayName = 'Notification'\n\nexport default Notification\n"],"mappings":";;;;;;;;;;;;;;;;;;;AA+BA,MAAM,wBAAwB,OAAO,GAAG,CAAC,AAA8C;KAClF,EAAE,iBAAiB,cAAc,qBAAqB,WAAW,GAAG;IACrE;;;;;;;;;EAAmB;;;;;;;;;;;;;KAalB,EAAE,gBACH,aACA;kBACcA,gBAAQ,GAAG;;;;IAIzB;;;;;;AAOJ,MAAa,eAAe,KAA+B,OAAO,QAAQ;CACxE,MAAM,EACJ,QACA,OACA,UACA,UACA,WACA,MACA,QACA,WACA,SACA,MACA,mBACA,MACA,QACA,eACA,MACA,OACA,SAAS,cAAc,iBACvB,eACA,GAAG,SACD;CAEJ,MAAM,WAAW;EAAE,GAAG;EAA2B,GAAG;CAAc;CAIlE,MAAM,cAAc,SAAS,SAAS,UAAU;CAChD,MAAM,kBAAkB,2BAAkC,cAAe,aAAa,WAAW;CAEjG,MAAM,kBAAkB,UAAU,aAAa;CAC/C,MAAM,oBAAoB,aAAa,aAAa;CACpD,MAAM,iBAAiB,qBAAqB,mBAAmB,OAAO,SAAS;CAE/E,MAAM,EAAE,UAAU,aAAa,2BAA2B,iBAAiB,cAAc;CAGzF,MAAM,SAAS,wBAAwB;EAAE;EAAQ;EAAM;EAAO,WAAW,CAAC,CAAC;CAAY,CAAC;CAGxF,MAAM,OAAO,wBAAwB;EAAE,QAAQ;EAAgB,WAAW;CAAkB,CAAC;CAC7F,MAAM,eAAe,QAAQ,KAAK;CAClC,MAAM,mBAAmB,YAAY,KAAK;CAE1C,MAAM,SAAS,eAAe,gBAAgB;EAAE,SAAS;EAAU;CAAK,CAAC;CAMzE,MAAM,gBAAgB,oBAClB,qBACC,SAAS,UAAU,GAAG,EAAE,cAAc,iBAAiB,gBAAgB,kBAAkB;CAE9F,MAAM,WAAW,SAAS;CAC1B,MAAM,WAAW,WAAY,SAAS,IAAI,IAAI,OAAQ,CAAC,YAAY,eAAe,QAAS,SAAa;CAExG,MAAM,UAAU,gBAAmC;EACjD;EACA;EACA;EACA,SAAS;EACT,QAAQ;EACR,WAAW;CACb,CAAC;CAGA,AAAC,QAAoC,SAAS;CAG/C,MAAM,gBACJ,UAAU,kBAAkB,WAAW,WAAW,kBAAkB,eAAe,QAAQ;CAG7F,MAAM,aAAa,kBADQ,WAAW,aAAa,WAAW,YACF,WAAW,WAAW;CAElF,OACE,oBAAC,sBAAD;EAAsB,OAAO;YAC3B,qBAAC,uBAAD;GACE,cAAa;GACb,aAAa;GACb,WAAW,GAAG,oBAAoB,SAAS;GACtC;GACL,MAAM;GACN,aAAW;GACX,eAAa;GACb,gBAAc,WAAW,WAAW;GACpC,eAAa;GACb,gBAAc,oBAAoB,SAAS;GAC3C,cAAY;GACZ,GAAE;GACF,YAAY,OAAO,YAAY;GAC/B,WAAW;GACX,GAAI,OAAO;GACX,GAAI;aAhBN;IAkBG,WACC,oBAAC,KAAD;KAAgB;KAAW,GAAI,OAAO;eACpC,oBAAC,kBAAD;MAAkB,GAAI;MAAe,MAAM;KAAW;IACnD,KACH,WACF,OACE;IAEH,YACC,qBAAC,KAAD;KAAK,QAAQ,cAAc;KAAU,MAAM;KAAG,GAAI,OAAO;eAAzD,CACE,qBAAC,kBAAD;MACG,QACC,YAAY,KAAK,IACf,oBAAC,mBAAD;OACE,SAAS,cAAc,WAAW,UAAU;OAC5C,IAAI,cAAc,YAAY,OAAO,OAAO,OAAO,KAAK;OACxD,MAAM;MACP,KAED,QAEA;MACH,SAAS,QAAQ,cAAc,WAAW,MAAM;MAChD;KACe,MACjB,SAAS,oBAAC,oBAAD,YAAqB,OAA2B,KAAI,IAC3D;;IAGN,qBACC,oBAAC,eAAD;KACa;KACX,cAAW;KACX,MAAK;KACL,SAAS,kBAAkB,CAAC;KAC5B,GAAI,OAAO;IACZ;GAEkB;;CACH;AAE1B,CAAC;AAOD,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,cAAc"}
@@ -1,7 +1,7 @@
1
1
  import { cs } from "../utils/styles.js";
2
2
  import vui from "../core/vui.js";
3
- import Icon from "../icon/icon.js";
4
3
  import { useNotificationContext } from "./context.js";
4
+ import Icon from "../icon/icon.js";
5
5
  import { INTENT_ICON_MAP, LOADING_ICON_PROPS, notificationStatusMapping } from "./consts.js";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
 
@@ -1,8 +1,8 @@
1
1
  import { cs } from "../utils/styles.js";
2
2
  import { useStyleConfig } from "../core/theme.js";
3
3
  import vui from "../core/vui.js";
4
- import T from "../t/t.js";
5
4
  import { useNotificationContext } from "./context.js";
5
+ import T from "../t/t.js";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
 
8
8
  //#region src/notification/notificationText.tsx
@@ -1,8 +1,8 @@
1
1
  import { cs } from "../utils/styles.js";
2
2
  import { useStyleConfig } from "../core/theme.js";
3
3
  import vui from "../core/vui.js";
4
- import T from "../t/t.js";
5
4
  import { useNotificationContext } from "./context.js";
5
+ import T from "../t/t.js";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
 
8
8
  //#region src/notification/notificationTitle.tsx
@@ -15,9 +15,9 @@ type UsePopoverInternalProps = UsePopoverProps & {
15
15
  declare function usePopover(props?: UsePopoverInternalProps): {
16
16
  close: () => void;
17
17
  context: {
18
+ placement: Placement;
18
19
  x: number;
19
20
  y: number;
20
- placement: Placement;
21
21
  strategy: Strategy;
22
22
  middlewareData: MiddlewareData;
23
23
  isPositioned: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"usePopover.d.ts","names":[],"sources":["../../src/popover/usePopover.ts"],"mappings":";;;;;;KAqBK,uBAAA,GAA0B,eAAe;EAC5C,MAAM;AAAA;;;AAHiD;;;iBAWjC,UAAA,CAAW,KAAA,GAAO,uBAAA;;;;;eAA4B,SAAA;;;;;;;;;;;;;;;;;;;;;;aA+G7B,WAAA;;gDAAW,aAAA;;;;;;;;;KAQxC,cAAA,GAAiB,UAAU,QAAQ,UAAA"}
1
+ {"version":3,"file":"usePopover.d.ts","names":[],"sources":["../../src/popover/usePopover.ts"],"mappings":";;;;;;KAqBK,uBAAA,GAA0B,eAAe;EAC5C,MAAM;AAAA;;;AAHiD;;;iBAWjC,UAAA,CAAW,KAAA,GAAO,uBAAA;;;eAA4B,SAAA;;;;;;;;;;;;;;;;;;;;;;;;aA+G7B,WAAA;;gDAAW,aAAA;;;;;;;;;KAQxC,cAAA,GAAiB,UAAU,QAAQ,UAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"tag.d.ts","names":[],"sources":["../../src/tag/tag.tsx"],"mappings":";;;;;;;AA6CA;;cAAa,GAAA,EA4JP,YAAY,SAAS,QAAA"}
1
+ {"version":3,"file":"tag.d.ts","names":[],"sources":["../../src/tag/tag.tsx"],"mappings":";;;;;;;AA6CA;;cAAa,GAAA,EAoKP,YAAY,SAAS,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","names":["fontSizes"],"sources":["../../src/tag/tag.tsx"],"sourcesContent":["import { useEffect, useMemo } from 'react'\n\nimport type { VuiComponent } from '../core'\nimport { styled, useStyleConfig, vui } from '../core'\nimport { DismissButton } from '../dismissButton'\nimport Icon from '../icon'\nimport T from '../t'\nimport { fontSizes } from '../theme'\nimport { cs, filterUndefined, isReactText, isString } from '../utils'\nimport type { TagProps } from './tag.types'\nimport { resolveTagVariantKey } from './utils'\n\n// ---------------------------------------------------------------------------\n// Styled primitives\n// ---------------------------------------------------------------------------\n\n/** Outer container — rendered as <span> for static tags and <button> for interactive tags. */\nconst TagBase = styled.spanBox`\n /* Drives DismissButton color via cascade so the close affordance picks up the tag's text color. */\n --vui-dismiss-fg: currentColor;\n\n align-items: center;\n display: inline-flex;\n font-weight: medium;\n justify-content: center;\n line-height: 1;\n max-width: 100%;\n position: relative;\n transition-duration: fast;\n width: fit-content;\n\n &:focus {\n outline: none;\n }\n`\n\n// ---------------------------------------------------------------------------\n// Tag component\n// ---------------------------------------------------------------------------\n\n/**\n * Displays text, icons or custom content. Can be made interactive or include a\n * dismiss affordance. When `isInteractive` (or `onClick` without `onDelete`)\n * is set, the tag renders as a `<button>` so it is keyboard-activatable.\n */\nexport const Tag = vui<'span', TagProps>((props, ref) => {\n const {\n children,\n className,\n deleteLabel = 'Remove',\n icon,\n startIcon,\n endIcon,\n iconLeft,\n iconRight,\n color: colorProp,\n isInteractive = props.onClick !== undefined && props.onDelete === undefined,\n isTruncated = true,\n itemLeft,\n itemRight,\n onClick,\n onDelete,\n size = 'md',\n text,\n variant: variantProp,\n ...rest\n } = props\n\n // Resolve canonical theme key from the two-prop API (variant + color).\n const resolvedVariant = useMemo(() => resolveTagVariantKey(variantProp, colorProp), [variantProp, colorProp])\n\n // Dev-mode deprecation warning for legacy combined variants.\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production') {\n if (iconLeft !== undefined) {\n console.warn('[Tag] `iconLeft` is deprecated. Use `startIcon` instead.')\n }\n if (iconRight !== undefined) {\n console.warn('[Tag] `iconRight` is deprecated. Use `endIcon` instead.')\n }\n if (\n variantProp !== undefined &&\n !['subtle', 'solid'].includes(variantProp) &&\n /^(subtle|solid)(Brand|Success|Danger|Warning|Lavender|Eucalyptus|Terracotta|Grey)$/.test(variantProp)\n ) {\n console.warn(\n `[Tag] Combined variant \"${variantProp}\" is deprecated. ` +\n 'Use separate `variant` + `color` props instead (e.g. variant=\"subtle\" color=\"blue\").',\n )\n }\n }\n }, [iconLeft, iconRight, variantProp])\n\n const resolvedStartIcon = startIcon ?? iconLeft\n const resolvedEndIcon = endIcon ?? iconRight\n\n const styles = useStyleConfig('Tag', { ...props, variant: resolvedVariant })\n const {\n h,\n fontSize: themeFontSize,\n paddingX = 0,\n paddingY = 0,\n gapX = 0,\n borderRadius,\n bgHover,\n bgPressed,\n ...containerColors\n } = styles.container ?? {}\n const dismissStyles = styles.dismiss ?? {}\n const iconStyles = styles.icon ?? {}\n\n const resolvedFontSize = fontSizes[themeFontSize as keyof typeof fontSizes] ?? themeFontSize\n const fontSize = `var(--vui-tag-font-size, ${resolvedFontSize}px)`\n\n const resolvedIconSize = iconStyles.fontSize || '1rem'\n const iconSize = `var(--vui-tag-icon-size, ${resolvedIconSize})`\n\n const TagIcon = ({ name, mr, ml }: { name: string; mr?: string; ml?: string }) => (\n <Icon className=\"vui-tagIcon\" fontSize={iconSize} h={iconSize} ml={ml} mr={mr} w={iconSize} name={name} />\n )\n\n // Theme numeric values are raw pixel measurements (mirrors button/theme.ts).\n // Convert to px strings to bypass xstyled's `spaces` scale lookup on padding/gap props.\n const toPx = (v: unknown) => (typeof v === 'number' ? `${v}px` : v)\n const pxX = toPx(paddingX)\n const pxY = toPx(paddingY)\n const pxGap = toPx(gapX)\n\n const aliasedProps = filterUndefined({\n borderRadius,\n })\n\n const interactiveStateProps = isInteractive\n ? filterUndefined({\n hoverBg: bgHover,\n activeBg: bgPressed,\n })\n : undefined\n\n const interactiveProps = isInteractive\n ? {\n as: 'button' as const,\n type: 'button' as const,\n cursor: 'pointer',\n tabIndex: 0,\n userSelect: 'none',\n }\n : {}\n\n return (\n <TagBase\n className={cs('vui-tag', className)}\n focusRing={2}\n fontSize={fontSize}\n h={h}\n isTruncated={isTruncated}\n onClick={onClick}\n px={pxX}\n py={pxY}\n ref={ref}\n variant={resolvedVariant}\n {...containerColors}\n {...interactiveProps}\n {...interactiveStateProps}\n {...aliasedProps}\n {...rest}\n >\n {isString(icon) ? <TagIcon name={icon} /> : icon}\n\n {!icon && (\n <>\n {itemLeft}\n\n {isString(resolvedStartIcon) ? <TagIcon name={resolvedStartIcon} mr={pxGap as string} /> : resolvedStartIcon}\n\n {children ??\n (isReactText(text) ? (\n <T className=\"vui-tagText\" fontSize=\"inherit\" isTruncated={isTruncated}>\n {text}\n </T>\n ) : (\n text\n ))}\n\n {isString(resolvedEndIcon) ? <TagIcon name={resolvedEndIcon} ml={pxGap as string} /> : resolvedEndIcon}\n\n {onDelete && !isInteractive ? (\n <DismissButton\n aria-label={deleteLabel}\n className=\"vui-tagButton\"\n ml={pxGap}\n onClick={onDelete}\n {...dismissStyles}\n />\n ) : (\n itemRight\n )}\n </>\n )}\n </TagBase>\n )\n}) as VuiComponent<'span', TagProps>\n\nTag.displayName = 'Tag'\n\nexport default Tag\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,MAAM,UAAU,OAAO,OAAO;;;;;;;;;;;;;;;;;;;;;;;AA4B9B,MAAa,MAAM,KAAuB,OAAO,QAAQ;CACvD,MAAM,EACJ,UACA,WACA,cAAc,UACd,MACA,WACA,SACA,UACA,WACA,OAAO,WACP,gBAAgB,MAAM,YAAY,UAAa,MAAM,aAAa,QAClE,cAAc,MACd,UACA,WACA,SACA,UACA,OAAO,MACP,MACA,SAAS,aACT,GAAG,SACD;CAGJ,MAAM,kBAAkB,cAAc,qBAAqB,aAAa,SAAS,GAAG,CAAC,aAAa,SAAS,CAAC;CAG5G,gBAAgB;EAEZ,IAAI,aAAa,QACf,QAAQ,KAAK,0DAA0D;EAEzE,IAAI,cAAc,QAChB,QAAQ,KAAK,yDAAyD;EAExE,IACE,gBAAgB,UAChB,CAAC,CAAC,UAAU,OAAO,CAAC,CAAC,SAAS,WAAW,KACzC,qFAAqF,KAAK,WAAW,GAErG,QAAQ,KACN,2BAA2B,YAAY,0GAEzC;CAGN,GAAG;EAAC;EAAU;EAAW;CAAW,CAAC;CAErC,MAAM,oBAAoB,aAAa;CACvC,MAAM,kBAAkB,WAAW;CAEnC,MAAM,SAAS,eAAe,OAAO;EAAE,GAAG;EAAO,SAAS;CAAgB,CAAC;CAC3E,MAAM,EACJ,GACA,UAAU,eACV,WAAW,GACX,WAAW,GACX,OAAO,GACP,cACA,SACA,WACA,GAAG,oBACD,OAAO,aAAa,CAAC;CACzB,MAAM,gBAAgB,OAAO,WAAW,CAAC;CACzC,MAAM,aAAa,OAAO,QAAQ,CAAC;CAGnC,MAAM,WAAW,4BADQA,kBAAU,kBAA4C,cACjB;CAG9D,MAAM,WAAW,4BADQ,WAAW,YAAY,OACc;CAE9D,MAAM,WAAW,EAAE,MAAM,IAAI,SAC3B,oBAAC,MAAD;EAAM,WAAU;EAAc,UAAU;EAAU,GAAG;EAAc;EAAQ;EAAI,GAAG;EAAgB;CAAO;CAK3G,MAAM,QAAQ,MAAgB,OAAO,MAAM,WAAW,GAAG,EAAE,MAAM;CACjE,MAAM,MAAM,KAAK,QAAQ;CACzB,MAAM,MAAM,KAAK,QAAQ;CACzB,MAAM,QAAQ,KAAK,IAAI;CAEvB,MAAM,eAAe,gBAAgB,EACnC,aACF,CAAC;CAED,MAAM,wBAAwB,gBAC1B,gBAAgB;EACd,SAAS;EACT,UAAU;CACZ,CAAC,IACD;CAEJ,MAAM,mBAAmB,gBACrB;EACE,IAAI;EACJ,MAAM;EACN,QAAQ;EACR,UAAU;EACV,YAAY;CACd,IACA,CAAC;CAEL,OACE,qBAAC,SAAD;EACE,WAAW,GAAG,WAAW,SAAS;EAClC,WAAW;EACD;EACP;EACU;EACJ;EACT,IAAI;EACJ,IAAI;EACC;EACL,SAAS;EACT,GAAI;EACJ,GAAI;EACJ,GAAI;EACJ,GAAI;EACJ,GAAI;YAfN,CAiBG,SAAS,IAAI,IAAI,oBAAC,SAAD,EAAS,MAAM,KAAO,KAAI,MAE3C,CAAC,QACA;GACG;GAEA,SAAS,iBAAiB,IAAI,oBAAC,SAAD;IAAS,MAAM;IAAmB,IAAI;GAAkB,KAAI;GAE1F,aACE,YAAY,IAAI,IACf,oBAAC,GAAD;IAAG,WAAU;IAAc,UAAS;IAAuB;cACxD;GACA,KAEH;GAGH,SAAS,eAAe,IAAI,oBAAC,SAAD;IAAS,MAAM;IAAiB,IAAI;GAAkB,KAAI;GAEtF,YAAY,CAAC,gBACZ,oBAAC,eAAD;IACE,cAAY;IACZ,WAAU;IACV,IAAI;IACJ,SAAS;IACT,GAAI;GACL,KAED;EAEF,IAEG;;AAEb,CAAC;AAED,IAAI,cAAc"}
1
+ {"version":3,"file":"tag.js","names":["fontSizes"],"sources":["../../src/tag/tag.tsx"],"sourcesContent":["import { useEffect, useMemo } from 'react'\n\nimport type { VuiComponent } from '../core'\nimport { styled, useStyleConfig, vui } from '../core'\nimport { DismissButton } from '../dismissButton'\nimport Icon from '../icon'\nimport T from '../t'\nimport { fontSizes } from '../theme'\nimport { cs, filterUndefined, isReactText, isString } from '../utils'\nimport type { TagProps } from './tag.types'\nimport { resolveTagVariantKey } from './utils'\n\n// ---------------------------------------------------------------------------\n// Styled primitives\n// ---------------------------------------------------------------------------\n\n/** Outer container — rendered as <span> for static tags and <button> for interactive tags. */\nconst TagBase = styled.spanBox`\n /* Drives DismissButton color via cascade so the close affordance picks up the tag's text color. */\n --vui-dismiss-fg: currentColor;\n\n align-items: center;\n display: inline-flex;\n font-weight: medium;\n justify-content: center;\n line-height: 1;\n max-width: 100%;\n position: relative;\n transition-duration: fast;\n width: fit-content;\n\n &:focus {\n outline: none;\n }\n`\n\n// ---------------------------------------------------------------------------\n// Tag component\n// ---------------------------------------------------------------------------\n\n/**\n * Displays text, icons or custom content. Can be made interactive or include a\n * dismiss affordance. When `isInteractive` (or `onClick` without `onDelete`)\n * is set, the tag renders as a `<button>` so it is keyboard-activatable.\n */\nexport const Tag = vui<'span', TagProps>((props, ref) => {\n const {\n children,\n className,\n deleteLabel = 'Remove',\n icon,\n startIcon,\n endIcon,\n iconLeft,\n iconRight,\n color: colorProp,\n isInteractive = props.onClick !== undefined && props.onDelete === undefined,\n isTruncated = true,\n itemLeft,\n itemRight,\n onClick,\n onDelete,\n size = 'md',\n text,\n variant: variantProp,\n ...rest\n } = props\n\n // Resolve canonical theme key from the two-prop API (variant + color).\n const resolvedVariant = useMemo(() => resolveTagVariantKey(variantProp, colorProp), [variantProp, colorProp])\n\n // Dev-mode deprecation warning for legacy combined variants.\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production') {\n if (iconLeft !== undefined) {\n console.warn('[Tag] `iconLeft` is deprecated. Use `startIcon` instead.')\n }\n if (iconRight !== undefined) {\n console.warn('[Tag] `iconRight` is deprecated. Use `endIcon` instead.')\n }\n if (\n variantProp !== undefined &&\n !['subtle', 'solid'].includes(variantProp) &&\n /^(subtle|solid)(Brand|Success|Danger|Warning|Lavender|Eucalyptus|Terracotta|Grey)$/.test(variantProp)\n ) {\n console.warn(\n `[Tag] Combined variant \"${variantProp}\" is deprecated. ` +\n 'Use separate `variant` + `color` props instead (e.g. variant=\"subtle\" color=\"blue\").',\n )\n }\n }\n }, [iconLeft, iconRight, variantProp])\n\n const resolvedStartIcon = startIcon ?? iconLeft\n const resolvedEndIcon = endIcon ?? iconRight\n\n const styles = useStyleConfig('Tag', { ...props, variant: resolvedVariant })\n const {\n h,\n fontSize: themeFontSize,\n paddingX = 0,\n paddingY = 0,\n gapX = 0,\n borderRadius,\n bgHover,\n bgPressed,\n ...containerColors\n } = styles.container ?? {}\n const dismissStyles = styles.dismiss ?? {}\n const iconStyles = styles.icon ?? {}\n\n const resolvedFontSize = fontSizes[themeFontSize as keyof typeof fontSizes] ?? themeFontSize\n const fontSize = `var(--vui-tag-font-size, ${resolvedFontSize}px)`\n\n const resolvedIconSize = iconStyles.fontSize || '1rem'\n const iconSize = `var(--vui-tag-icon-size, ${resolvedIconSize})`\n\n const TagIcon = ({ name, mr, ml }: { name: string; mr?: string; ml?: string }) => (\n <Icon className=\"vui-tagIcon\" fontSize={iconSize} h={iconSize} ml={ml} mr={mr} w={iconSize} name={name} />\n )\n\n // Theme numeric values are raw pixel measurements (mirrors button/theme.ts).\n // Convert to px strings to bypass xstyled's `spaces` scale lookup on padding/gap props.\n const toPx = (v: unknown) => (typeof v === 'number' ? `${v}px` : v)\n const pxX = toPx(paddingX)\n const pxY = toPx(paddingY)\n const pxGap = toPx(gapX)\n\n const aliasedProps = filterUndefined({\n borderRadius,\n })\n\n const interactiveStateProps = isInteractive\n ? filterUndefined({\n hoverBg: bgHover,\n activeBg: bgPressed,\n })\n : undefined\n\n const interactiveProps = isInteractive\n ? {\n as: 'button' as const,\n type: 'button' as const,\n cursor: 'pointer',\n tabIndex: 0,\n userSelect: 'none',\n }\n : {}\n\n return (\n <TagBase\n className={cs('vui-tag', className)}\n focusRing={2}\n fontSize={fontSize}\n h={h}\n isTruncated={isTruncated}\n onClick={onClick}\n px={pxX}\n py={pxY}\n ref={ref}\n variant={resolvedVariant}\n {...containerColors}\n {...interactiveProps}\n {...interactiveStateProps}\n {...aliasedProps}\n {...rest}\n >\n {isString(icon) ? <TagIcon name={icon} /> : icon}\n\n {!icon && (\n <>\n {itemLeft}\n\n {isString(resolvedStartIcon) ? (\n <TagIcon name={resolvedStartIcon} mr={pxGap as string} />\n ) : (\n resolvedStartIcon\n )}\n\n {children ??\n (isReactText(text) ? (\n <T className=\"vui-tagText\" fontSize=\"inherit\" isTruncated={isTruncated}>\n {text}\n </T>\n ) : (\n text\n ))}\n\n {isString(resolvedEndIcon) ? (\n <TagIcon name={resolvedEndIcon} ml={pxGap as string} />\n ) : (\n resolvedEndIcon\n )}\n\n {onDelete && !isInteractive ? (\n <DismissButton\n aria-label={deleteLabel}\n className=\"vui-tagButton\"\n ml={pxGap}\n onClick={onDelete}\n {...dismissStyles}\n />\n ) : (\n itemRight\n )}\n </>\n )}\n </TagBase>\n )\n}) as VuiComponent<'span', TagProps>\n\nTag.displayName = 'Tag'\n\nexport default Tag\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,MAAM,UAAU,OAAO,OAAO;;;;;;;;;;;;;;;;;;;;;;;AA4B9B,MAAa,MAAM,KAAuB,OAAO,QAAQ;CACvD,MAAM,EACJ,UACA,WACA,cAAc,UACd,MACA,WACA,SACA,UACA,WACA,OAAO,WACP,gBAAgB,MAAM,YAAY,UAAa,MAAM,aAAa,QAClE,cAAc,MACd,UACA,WACA,SACA,UACA,OAAO,MACP,MACA,SAAS,aACT,GAAG,SACD;CAGJ,MAAM,kBAAkB,cAAc,qBAAqB,aAAa,SAAS,GAAG,CAAC,aAAa,SAAS,CAAC;CAG5G,gBAAgB;EAEZ,IAAI,aAAa,QACf,QAAQ,KAAK,0DAA0D;EAEzE,IAAI,cAAc,QAChB,QAAQ,KAAK,yDAAyD;EAExE,IACE,gBAAgB,UAChB,CAAC,CAAC,UAAU,OAAO,CAAC,CAAC,SAAS,WAAW,KACzC,qFAAqF,KAAK,WAAW,GAErG,QAAQ,KACN,2BAA2B,YAAY,0GAEzC;CAGN,GAAG;EAAC;EAAU;EAAW;CAAW,CAAC;CAErC,MAAM,oBAAoB,aAAa;CACvC,MAAM,kBAAkB,WAAW;CAEnC,MAAM,SAAS,eAAe,OAAO;EAAE,GAAG;EAAO,SAAS;CAAgB,CAAC;CAC3E,MAAM,EACJ,GACA,UAAU,eACV,WAAW,GACX,WAAW,GACX,OAAO,GACP,cACA,SACA,WACA,GAAG,oBACD,OAAO,aAAa,CAAC;CACzB,MAAM,gBAAgB,OAAO,WAAW,CAAC;CACzC,MAAM,aAAa,OAAO,QAAQ,CAAC;CAGnC,MAAM,WAAW,4BADQA,kBAAU,kBAA4C,cACjB;CAG9D,MAAM,WAAW,4BADQ,WAAW,YAAY,OACc;CAE9D,MAAM,WAAW,EAAE,MAAM,IAAI,SAC3B,oBAAC,MAAD;EAAM,WAAU;EAAc,UAAU;EAAU,GAAG;EAAc;EAAQ;EAAI,GAAG;EAAgB;CAAO;CAK3G,MAAM,QAAQ,MAAgB,OAAO,MAAM,WAAW,GAAG,EAAE,MAAM;CACjE,MAAM,MAAM,KAAK,QAAQ;CACzB,MAAM,MAAM,KAAK,QAAQ;CACzB,MAAM,QAAQ,KAAK,IAAI;CAEvB,MAAM,eAAe,gBAAgB,EACnC,aACF,CAAC;CAED,MAAM,wBAAwB,gBAC1B,gBAAgB;EACd,SAAS;EACT,UAAU;CACZ,CAAC,IACD;CAEJ,MAAM,mBAAmB,gBACrB;EACE,IAAI;EACJ,MAAM;EACN,QAAQ;EACR,UAAU;EACV,YAAY;CACd,IACA,CAAC;CAEL,OACE,qBAAC,SAAD;EACE,WAAW,GAAG,WAAW,SAAS;EAClC,WAAW;EACD;EACP;EACU;EACJ;EACT,IAAI;EACJ,IAAI;EACC;EACL,SAAS;EACT,GAAI;EACJ,GAAI;EACJ,GAAI;EACJ,GAAI;EACJ,GAAI;YAfN,CAiBG,SAAS,IAAI,IAAI,oBAAC,SAAD,EAAS,MAAM,KAAO,KAAI,MAE3C,CAAC,QACA;GACG;GAEA,SAAS,iBAAiB,IACzB,oBAAC,SAAD;IAAS,MAAM;IAAmB,IAAI;GAAkB,KAExD;GAGD,aACE,YAAY,IAAI,IACf,oBAAC,GAAD;IAAG,WAAU;IAAc,UAAS;IAAuB;cACxD;GACA,KAEH;GAGH,SAAS,eAAe,IACvB,oBAAC,SAAD;IAAS,MAAM;IAAiB,IAAI;GAAkB,KAEtD;GAGD,YAAY,CAAC,gBACZ,oBAAC,eAAD;IACE,cAAY;IACZ,WAAU;IACV,IAAI;IACJ,SAAS;IACT,GAAI;GACL,KAED;EAEF,IAEG;;AAEb,CAAC;AAED,IAAI,cAAc"}
@@ -1,5 +1,4 @@
1
1
  import { ToastListItem } from "../core/types.js";
2
- import { ToastDuration, ToastOptions, ToastRenderProps, ToastSize, ToastStatus, ToastTextLayout } from "./toast.types.js";
3
- import { ToastItem, ToastItemProps } from "./ToastItem.js";
4
- import { _default, toasterWidth } from "./toast.js";
5
- import { defaultDuration, fastToastDuration, mediumToastDuration, slowToastDuration, useToast } from "./useToast.js";
2
+ import { _default } from "./toast.js";
3
+ import { ToastDuration, ToastOptions, ToastSetup } from "./toast.types.js";
4
+ import { defaultDuration, fastToastDuration, slowToastDuration, useToast } from "./useToast.js";
@@ -1,9 +1,6 @@
1
- import { ToastItem, ToastItemProps } from "./ToastItem.js";
2
-
3
1
  //#region src/toast/toast.d.ts
4
- declare const toasterWidth = 480;
5
2
  declare const _default: import("react").MemoExoticComponent<() => import("react").JSX.Element>;
6
3
  //#endregion
7
- export { _default, toasterWidth };
4
+ export { _default };
8
5
 
9
6
  //# sourceMappingURL=toast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","names":[],"sources":["../../src/toast/toast.tsx"],"mappings":";;;cAWa,YAAA;AAAA,cAAkB,QAAA"}
1
+ {"version":3,"file":"toast.d.ts","names":[],"sources":["../../src/toast/toast.tsx"],"mappings":";cAQ+B,QAAA"}
@@ -2,33 +2,35 @@ import zIndices_default from "../theme/foundations/zIndices.js";
2
2
  import { v } from "../core/styled.js";
3
3
  import { useVuiContext } from "../core/vuiProvider/context.js";
4
4
  import Box from "../box/box.js";
5
- import { ToastItem } from "./ToastItem.js";
6
5
  import { memo } from "react";
7
6
  import { jsx } from "react/jsx-runtime";
8
7
 
9
8
  //#region src/toast/toast.tsx
10
- const toasterWidth = 480;
9
+ const toasterWidth = 420;
11
10
  const Toaster = () => {
12
11
  const { toasts } = useVuiContext();
12
+ const padding = {
13
+ md: "16px",
14
+ sm: "4px",
15
+ xs: "2px"
16
+ };
13
17
  const right = {
14
18
  md: "1rem",
15
- sm: "0.5rem",
16
- xs: "0.5rem"
19
+ sm: 0,
20
+ xs: 0
17
21
  };
18
22
  const width = {
19
- md: 560,
20
- sm: 560,
23
+ md: 420,
24
+ sm: 420,
21
25
  xs: "100%"
22
26
  };
23
27
  return /* @__PURE__ */ jsx(Box, {
24
28
  bottom: toasts?.list?.length ? "1rem" : "-2rem",
25
29
  className: "vui-toaster",
26
- alignItems: "flex-end",
27
- display: "flex",
28
- flexDirection: "column",
29
- gap: "8px",
30
+ display: "block",
30
31
  maxW: width,
31
32
  minW: width,
33
+ p: padding,
32
34
  position: "fixed",
33
35
  right,
34
36
  zIndex: zIndices_default.toast,
@@ -41,6 +43,6 @@ const Toaster = () => {
41
43
  var toast_default = memo(Toaster);
42
44
 
43
45
  //#endregion
44
- export { toast_default as default, toasterWidth };
46
+ export { toast_default as default };
45
47
  globalThis.__vuiVersion__ = "5.2.0"
46
48
  //# sourceMappingURL=toast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.js","names":["zIndices"],"sources":["../../src/toast/toast.tsx"],"sourcesContent":["import { memo } from 'react'\n\nimport { Box } from '../box'\nimport { v } from '../core/styled'\nimport { useVuiContext } from '../core/vuiProvider/context'\nimport zIndices from '../theme/foundations/zIndices'\nimport type { ToastListItem } from './toast.types'\n\nexport { ToastItem } from './ToastItem'\nexport type { ToastItemProps } from './ToastItem'\n\nexport const toasterWidth = 480\n\nconst Toaster = () => {\n const { toasts } = useVuiContext()\n\n const right = { md: '1rem', sm: '0.5rem', xs: '0.5rem' }\n const width = { md: 560, sm: 560, xs: '100%' }\n const bottom = toasts?.list?.length ? '1rem' : '-2rem'\n\n return (\n <Box\n bottom={bottom}\n className=\"vui-toaster\"\n alignItems=\"flex-end\"\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"8px\"\n maxW={width}\n minW={width}\n position=\"fixed\"\n right={right}\n zIndex={zIndices.toast}\n >\n {toasts?.list?.map?.((toast: ToastListItem) => (\n <v.div id={`toast_${toast.id}`} key={toast.id}>\n {toast.component}\n </v.div>\n ))}\n </Box>\n )\n}\n\nexport default memo(Toaster)\n"],"mappings":";;;;;;;;;AAWA,MAAa,eAAe;AAE5B,MAAM,gBAAgB;CACpB,MAAM,EAAE,WAAW,cAAc;CAEjC,MAAM,QAAQ;EAAE,IAAI;EAAQ,IAAI;EAAU,IAAI;CAAS;CACvD,MAAM,QAAQ;EAAE,IAAI;EAAK,IAAI;EAAK,IAAI;CAAO;CAG7C,OACE,oBAAC,KAAD;EACE,QAJW,QAAQ,MAAM,SAAS,SAAS;EAK3C,WAAU;EACV,YAAW;EACX,SAAQ;EACR,eAAc;EACd,KAAI;EACJ,MAAM;EACN,MAAM;EACN,UAAS;EACF;EACP,QAAQA,iBAAS;YAEhB,QAAQ,MAAM,OAAO,UACpB,oBAAC,EAAE,KAAH;GAAO,IAAI,SAAS,MAAM;aACvB,MAAM;EACF,GAF8B,MAAM,EAEpC,CACR;CACE;AAET;AAEA,oBAAe,KAAK,OAAO"}
1
+ {"version":3,"file":"toast.js","names":["zIndices"],"sources":["../../src/toast/toast.tsx"],"sourcesContent":["import { memo } from 'react'\n\nimport { Box } from '../box'\nimport { v } from '../core/styled'\nimport { useVuiContext } from '../core/vuiProvider/context'\nimport zIndices from '../theme/foundations/zIndices'\nimport type { ToastListItem } from './toast.types'\n\nexport const toasterWidth = 420\n\nconst Toaster = () => {\n const { toasts } = useVuiContext()\n\n const padding = { md: '16px', sm: '4px', xs: '2px' }\n const right = { md: '1rem', sm: 0, xs: 0 }\n const width = { md: toasterWidth, sm: toasterWidth, xs: '100%' }\n const bottom = toasts?.list?.length ? '1rem' : '-2rem'\n\n return (\n <Box\n bottom={bottom}\n className=\"vui-toaster\"\n display=\"block\"\n maxW={width}\n minW={width}\n p={padding}\n position=\"fixed\"\n right={right}\n zIndex={zIndices.toast}\n >\n {toasts?.list?.map?.((toast: ToastListItem) => (\n <v.div id={`toast_${toast.id}`} key={toast.id}>\n {toast.component}\n </v.div>\n ))}\n </Box>\n )\n}\n\nexport default memo(Toaster)\n"],"mappings":";;;;;;;;AAQA,MAAa,eAAe;AAE5B,MAAM,gBAAgB;CACpB,MAAM,EAAE,WAAW,cAAc;CAEjC,MAAM,UAAU;EAAE,IAAI;EAAQ,IAAI;EAAO,IAAI;CAAM;CACnD,MAAM,QAAQ;EAAE,IAAI;EAAQ,IAAI;EAAG,IAAI;CAAE;CACzC,MAAM,QAAQ;EAAE;EAAkB;EAAkB,IAAI;CAAO;CAG/D,OACE,oBAAC,KAAD;EACE,QAJW,QAAQ,MAAM,SAAS,SAAS;EAK3C,WAAU;EACV,SAAQ;EACR,MAAM;EACN,MAAM;EACN,GAAG;EACH,UAAS;EACF;EACP,QAAQA,iBAAS;YAEhB,QAAQ,MAAM,OAAO,UACpB,oBAAC,EAAE,KAAH;GAAO,IAAI,SAAS,MAAM;aACvB,MAAM;EACF,GAF8B,MAAM,EAEpC,CACR;CACE;AAET;AAEA,oBAAe,KAAK,OAAO"}
@@ -1,29 +1,19 @@
1
1
  import { ToastListItem } from "../core/types.js";
2
- import { IconProp } from "../icon/icon.types.js";
3
- import { JSX, ReactNode } from "react";
2
+ import { NotificationProps } from "../notification/notification.types.js";
4
3
 
5
4
  //#region src/toast/toast.types.d.ts
6
- type ToastDuration = 'fast' | 'medium' | 'slow' | 'sticky';
7
- type ToastSize = 'default' | 'wide';
8
- type ToastStatus = 'error' | 'info' | 'loading' | 'success' | 'warning';
9
- type ToastTextLayout = 'stacked' | 'inline';
10
- interface ToastRenderProps {
11
- action?: ReactNode;
12
- icon?: IconProp | JSX.Element | '';
13
- showDismissButton?: boolean;
14
- size?: ToastSize;
15
- status?: ToastStatus;
16
- text?: ReactNode;
17
- textLayout?: ToastTextLayout;
18
- title?: ReactNode;
5
+ type ToastDuration = 'fast' | 'slow' | 'sticky';
6
+ interface ToastSetup {
7
+ options: ToastOptions;
8
+ componentList: ToastListItem[];
19
9
  }
20
- interface ToastOptions extends ToastRenderProps {
10
+ interface ToastOptions extends NotificationProps {
21
11
  id?: string;
22
12
  duration?: ToastDuration;
23
13
  /** @deprecated According to new UX requirements all toasts should be dismissible */
24
14
  dismissible?: boolean;
25
15
  }
26
16
  //#endregion
27
- export { ToastDuration, ToastOptions, ToastRenderProps, ToastSize, ToastStatus, ToastTextLayout };
17
+ export { ToastDuration, ToastOptions, ToastSetup };
28
18
 
29
19
  //# sourceMappingURL=toast.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.types.d.ts","names":[],"sources":["../../src/toast/toast.types.ts"],"mappings":";;;;;KAQY,aAAA;AAAA,KAEA,SAAA;AAAA,KAEA,WAAA;AAAA,KAEA,eAAA;AAAA,UAEK,gBAAA;EACf,MAAA,GAAS,SAAA;EACT,IAAA,GAAO,QAAA,GAAW,GAAA,CAAI,OAAA;EACtB,iBAAA;EACA,IAAA,GAAO,SAAA;EACP,MAAA,GAAS,WAAA;EACT,IAAA,GAAO,SAAA;EACP,UAAA,GAAa,eAAA;EACb,KAAA,GAAQ,SAAA;AAAA;AAAA,UAGO,YAAA,SAAqB,gBAAgB;EACpD,EAAA;EACA,QAAA,GAAW,aAAA;EAfD;EAiBV,WAAA;AAAA"}
1
+ {"version":3,"file":"toast.types.d.ts","names":[],"sources":["../../src/toast/toast.types.ts"],"mappings":";;;;KAMY,aAAA;AAAA,UAEK,UAAA;EACf,OAAA,EAAS,YAAA;EACT,aAAA,EAAe,aAAa;AAAA;AAAA,UAGb,YAAA,SAAqB,iBAAiB;EACrD,EAAA;EACA,QAAA,GAAW,aAAA;;EAEX,WAAA;AAAA"}
@@ -4,18 +4,17 @@ import { ReactNode } from "react";
4
4
  //#region src/toast/useToast.d.ts
5
5
  declare const defaultDuration = "fast";
6
6
  declare const fastToastDuration = 4000;
7
- declare const mediumToastDuration = 6000;
8
7
  declare const slowToastDuration = 8000;
9
8
  declare const useToast: () => {
10
9
  showToast: (options?: ToastOptions) => void;
11
10
  hideToast: (id: string) => void;
12
- showInfo: (text: ReactNode, duration?: ToastDuration, extra?: Omit<ToastOptions, "text" | "status" | "duration">) => void;
13
- showSuccess: (text: ReactNode, duration?: ToastDuration, extra?: Omit<ToastOptions, "text" | "status" | "duration">) => void;
14
- showWarning: (text: ReactNode, duration?: ToastDuration, extra?: Omit<ToastOptions, "text" | "status" | "duration">) => void;
15
- showError: (text: ReactNode, duration?: ToastDuration, extra?: Omit<ToastOptions, "text" | "status" | "duration">) => void;
16
- showLoading: (text: ReactNode, duration?: ToastDuration, extra?: Omit<ToastOptions, "text" | "status" | "duration">) => void;
11
+ showInfo: (text: ReactNode, duration?: ToastDuration) => void;
12
+ showSuccess: (text: ReactNode, duration?: ToastDuration) => void;
13
+ showWarning: (text: ReactNode, duration?: ToastDuration) => void;
14
+ showError: (text: ReactNode, duration?: ToastDuration) => void;
15
+ showLoading: (text: ReactNode, duration?: ToastDuration) => void;
17
16
  };
18
17
  //#endregion
19
- export { defaultDuration, fastToastDuration, mediumToastDuration, slowToastDuration, useToast };
18
+ export { defaultDuration, fastToastDuration, slowToastDuration, useToast };
20
19
 
21
20
  //# sourceMappingURL=useToast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useToast.d.ts","names":[],"sources":["../../src/toast/useToast.tsx"],"mappings":";;;;cAQa,eAAA;AAAA,cACA,iBAAA;AAAA,cACA,mBAAA;AAAA,cACA,iBAAA;AAAA,cAaA,QAAA;wBAIE,YAAA;;mBAoDH,SAAA,EAAS,QAAA,GACL,aAAA,EAAa,KAAA,GACf,IAAA,CAAK,YAAA;sBAOP,SAAA,EAAS,QAAA,GACL,aAAA,EAAa,KAAA,GACf,IAAA,CAAK,YAAA;sBAMR,SAAA,EAAS,QAAA,GAAY,aAAA,EAAa,KAAA,GAAqB,IAAA,CAAK,YAAA;oBAM5D,SAAA,EAAS,QAAA,GAAY,aAAA,EAAa,KAAA,GAAmB,IAAA,CAAK,YAAA;sBAM1D,SAAA,EAAS,QAAA,GAAY,aAAA,EAAa,KAAA,GAAqB,IAAA,CAAK,YAAA;AAAA"}
1
+ {"version":3,"file":"useToast.d.ts","names":[],"sources":["../../src/toast/useToast.tsx"],"mappings":";;;;cAQa,eAAA;AAAA,cACA,iBAAA;AAAA,cACA,iBAAA;AAAA,cAWA,QAAA;wBAG8B,YAAA;;mBAqChC,SAAA,EAAS,QAAA,GAAY,aAAA;sBAKrB,SAAA,EAAS,QAAA,GAAY,aAAA;sBAKrB,SAAA,EAAS,QAAA,GAAY,aAAA;oBAKrB,SAAA,EAAS,QAAA,GAAY,aAAA;sBAKrB,SAAA,EAAS,QAAA,GAAY,aAAA;AAAA"}
@@ -1,85 +1,79 @@
1
1
  import { uid } from "../utils/uid.js";
2
2
  import { useVuiContext } from "../core/vuiProvider/context.js";
3
- import { ToastItem } from "./ToastItem.js";
3
+ import Notification from "../notification/notification.js";
4
4
  import { useCallback } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
 
7
7
  //#region src/toast/useToast.tsx
8
8
  const defaultDuration = "fast";
9
9
  const fastToastDuration = 4e3;
10
- const mediumToastDuration = 6e3;
11
10
  const slowToastDuration = 8e3;
12
- const getDurationTime = (duration) => {
13
- switch (duration) {
14
- case "fast": return fastToastDuration;
15
- case "medium": return mediumToastDuration;
16
- case "slow": return slowToastDuration;
17
- }
11
+ const setup = {
12
+ options: { duration: defaultDuration },
13
+ componentList: []
18
14
  };
15
+ const getDurationTime = (duration) => duration === "fast" ? fastToastDuration : slowToastDuration;
19
16
  const useToast = () => {
20
17
  const { addToast, removeToast } = useVuiContext();
21
18
  const showToast = useCallback((options) => {
22
- if (options?.dismissible !== void 0) console.warn("[VUI] Toast: `dismissible` is deprecated. All toasts are dismissible by default.");
23
19
  const id = options?.id ? options.id : uid("toast");
24
- const { duration = defaultDuration, status = "info", action, icon, showDismissButton, size, text, textLayout, title } = options || {};
25
- let timeoutId;
26
- const handleClose = () => {
27
- if (timeoutId !== void 0) clearTimeout(timeoutId);
28
- removeToast(id);
29
- };
20
+ const { duration = setup.options.duration, status = "info", action, icon, text, title } = options || {};
30
21
  addToast({
31
22
  id,
32
- component: /* @__PURE__ */ jsx(ToastItem, {
23
+ component: /* @__PURE__ */ jsx(Notification, {
33
24
  action,
25
+ animation: "fadeDown",
26
+ elevation: 3,
34
27
  icon,
35
- showDismissButton,
36
- size,
28
+ mt: {
29
+ md: 1,
30
+ sm: "4px",
31
+ xs: "4px"
32
+ },
33
+ onClose: () => removeToast(id),
37
34
  status,
38
35
  text,
39
- textLayout,
40
36
  title,
41
- onClose: handleClose
37
+ align: "center",
38
+ role: "status",
39
+ ariaLive: "polite",
40
+ w: 1
42
41
  })
43
42
  });
44
- if (duration && duration !== "sticky") timeoutId = setTimeout(() => removeToast(id), getDurationTime(duration));
45
- }, [addToast, removeToast]);
43
+ if (duration && duration !== "sticky") window.setTimeout(() => removeToast(id), getDurationTime(duration));
44
+ }, []);
46
45
  return {
47
46
  showToast,
48
47
  hideToast: removeToast,
49
- showInfo: useCallback((text, duration = defaultDuration, extra) => showToast({
48
+ showInfo: useCallback((text, duration = defaultDuration) => showToast({
50
49
  text,
51
50
  status: "info",
52
- duration,
53
- ...extra
51
+ duration
54
52
  }), [showToast]),
55
- showSuccess: useCallback((text, duration = defaultDuration, extra) => showToast({
53
+ showSuccess: useCallback((text, duration = defaultDuration) => showToast({
56
54
  text,
57
55
  status: "success",
58
- duration,
59
- ...extra
56
+ duration
60
57
  }), [showToast]),
61
- showWarning: useCallback((text, duration = "medium", extra) => showToast({
58
+ showWarning: useCallback((text, duration = defaultDuration) => showToast({
62
59
  text,
63
60
  status: "warning",
64
- duration,
65
- ...extra
61
+ duration
66
62
  }), [showToast]),
67
- showError: useCallback((text, duration = "slow", extra) => showToast({
63
+ showError: useCallback((text, duration = defaultDuration) => showToast({
68
64
  text,
69
65
  status: "error",
70
- duration,
71
- ...extra
66
+ duration
72
67
  }), [showToast]),
73
- showLoading: useCallback((text, duration = "sticky", extra) => showToast({
68
+ showLoading: useCallback((text, duration = defaultDuration) => showToast({
74
69
  text,
75
70
  status: "loading",
76
- duration,
77
- ...extra
71
+ duration
78
72
  }), [showToast])
79
73
  };
80
74
  };
81
75
 
82
76
  //#endregion
83
- export { defaultDuration, fastToastDuration, mediumToastDuration, slowToastDuration, useToast };
77
+ export { defaultDuration, fastToastDuration, slowToastDuration, useToast };
84
78
  globalThis.__vuiVersion__ = "5.2.0"
85
79
  //# sourceMappingURL=useToast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useToast.js","names":[],"sources":["../../src/toast/useToast.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { useCallback } from 'react'\n\nimport { useVuiContext } from '../core/vuiProvider/context'\nimport { uid } from '../utils'\nimport { ToastItem } from './toast'\nimport type { ToastDuration, ToastOptions } from './toast.types'\n\nexport const defaultDuration = 'fast'\nexport const fastToastDuration = 4000\nexport const mediumToastDuration = 6000\nexport const slowToastDuration = 8000\n\nconst getDurationTime = (duration: Exclude<ToastDuration, 'sticky'>): number => {\n switch (duration) {\n case 'fast':\n return fastToastDuration\n case 'medium':\n return mediumToastDuration\n case 'slow':\n return slowToastDuration\n }\n}\n\nexport const useToast = () => {\n const { addToast, removeToast } = useVuiContext()\n\n const showToast = useCallback(\n (options?: ToastOptions): void => {\n if (process.env.NODE_ENV !== 'production' && options?.dismissible !== undefined) {\n console.warn('[VUI] Toast: `dismissible` is deprecated. All toasts are dismissible by default.')\n }\n const id = options?.id ? options.id : uid('toast')\n const {\n duration = defaultDuration,\n status = 'info',\n action,\n icon,\n showDismissButton,\n size,\n text,\n textLayout,\n title,\n } = options || {}\n\n let timeoutId: ReturnType<typeof setTimeout> | undefined\n\n const handleClose = () => {\n if (timeoutId !== undefined) clearTimeout(timeoutId)\n removeToast(id)\n }\n\n const toast = {\n id,\n component: (\n <ToastItem\n action={action}\n icon={icon}\n showDismissButton={showDismissButton}\n size={size}\n status={status}\n text={text}\n textLayout={textLayout}\n title={title}\n onClose={handleClose}\n />\n ),\n }\n\n addToast(toast)\n\n if (duration && duration !== 'sticky') {\n timeoutId = setTimeout(() => removeToast(id), getDurationTime(duration))\n }\n },\n [addToast, removeToast],\n )\n\n const showInfo = useCallback(\n (\n text: ReactNode,\n duration: ToastDuration = defaultDuration,\n extra?: Omit<ToastOptions, 'text' | 'status' | 'duration'>,\n ) => showToast({ text, status: 'info', duration, ...extra }),\n [showToast],\n )\n\n const showSuccess = useCallback(\n (\n text: ReactNode,\n duration: ToastDuration = defaultDuration,\n extra?: Omit<ToastOptions, 'text' | 'status' | 'duration'>,\n ) => showToast({ text, status: 'success', duration, ...extra }),\n [showToast],\n )\n\n const showWarning = useCallback(\n (text: ReactNode, duration: ToastDuration = 'medium', extra?: Omit<ToastOptions, 'text' | 'status' | 'duration'>) =>\n showToast({ text, status: 'warning', duration, ...extra }),\n [showToast],\n )\n\n const showError = useCallback(\n (text: ReactNode, duration: ToastDuration = 'slow', extra?: Omit<ToastOptions, 'text' | 'status' | 'duration'>) =>\n showToast({ text, status: 'error', duration, ...extra }),\n [showToast],\n )\n\n const showLoading = useCallback(\n (text: ReactNode, duration: ToastDuration = 'sticky', extra?: Omit<ToastOptions, 'text' | 'status' | 'duration'>) =>\n showToast({ text, status: 'loading', duration, ...extra }),\n [showToast],\n )\n\n return {\n showToast,\n hideToast: removeToast,\n showInfo,\n showSuccess,\n showWarning,\n showError,\n showLoading,\n }\n}\n"],"mappings":";;;;;;;AAQA,MAAa,kBAAkB;AAC/B,MAAa,oBAAoB;AACjC,MAAa,sBAAsB;AACnC,MAAa,oBAAoB;AAEjC,MAAM,mBAAmB,aAAuD;CAC9E,QAAQ,UAAR;EACE,KAAK,QACH,OAAO;EACT,KAAK,UACH,OAAO;EACT,KAAK,QACH,OAAO;CACX;AACF;AAEA,MAAa,iBAAiB;CAC5B,MAAM,EAAE,UAAU,gBAAgB,cAAc;CAEhD,MAAM,YAAY,aACf,YAAiC;EAChC,IAA6C,SAAS,gBAAgB,QACpE,QAAQ,KAAK,kFAAkF;EAEjG,MAAM,KAAK,SAAS,KAAK,QAAQ,KAAK,IAAI,OAAO;EACjD,MAAM,EACJ,WAAW,iBACX,SAAS,QACT,QACA,MACA,mBACA,MACA,MACA,YACA,UACE,WAAW,CAAC;EAEhB,IAAI;EAEJ,MAAM,oBAAoB;GACxB,IAAI,cAAc,QAAW,aAAa,SAAS;GACnD,YAAY,EAAE;EAChB;EAmBA,SAAS;GAhBP;GACA,WACE,oBAAC,WAAD;IACU;IACF;IACa;IACb;IACE;IACF;IACM;IACL;IACP,SAAS;GACV;EAIQ,CAAC;EAEd,IAAI,YAAY,aAAa,UAC3B,YAAY,iBAAiB,YAAY,EAAE,GAAG,gBAAgB,QAAQ,CAAC;CAE3E,GACA,CAAC,UAAU,WAAW,CACxB;CAsCA,OAAO;EACL;EACA,WAAW;EACX,UAvCe,aAEb,MACA,WAA0B,iBAC1B,UACG,UAAU;GAAE;GAAM,QAAQ;GAAQ;GAAU,GAAG;EAAM,CAAC,GAC3D,CAAC,SAAS,CAiCH;EACP,aA/BkB,aAEhB,MACA,WAA0B,iBAC1B,UACG,UAAU;GAAE;GAAM,QAAQ;GAAW;GAAU,GAAG;EAAM,CAAC,GAC9D,CAAC,SAAS,CAyBA;EACV,aAvBkB,aACjB,MAAiB,WAA0B,UAAU,UACpD,UAAU;GAAE;GAAM,QAAQ;GAAW;GAAU,GAAG;EAAM,CAAC,GAC3D,CAAC,SAAS,CAoBA;EACV,WAlBgB,aACf,MAAiB,WAA0B,QAAQ,UAClD,UAAU;GAAE;GAAM,QAAQ;GAAS;GAAU,GAAG;EAAM,CAAC,GACzD,CAAC,SAAS,CAeF;EACR,aAbkB,aACjB,MAAiB,WAA0B,UAAU,UACpD,UAAU;GAAE;GAAM,QAAQ;GAAW;GAAU,GAAG;EAAM,CAAC,GAC3D,CAAC,SAAS,CAUA;CACZ;AACF"}
1
+ {"version":3,"file":"useToast.js","names":[],"sources":["../../src/toast/useToast.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { useCallback } from 'react'\n\nimport { useVuiContext } from '../core/vuiProvider/context'\nimport { Notification } from '../notification'\nimport { uid } from '../utils'\nimport type { ToastDuration, ToastOptions, ToastSetup } from './toast.types'\n\nexport const defaultDuration = 'fast'\nexport const fastToastDuration = 4000\nexport const slowToastDuration = 8000\n\nconst setup: ToastSetup = {\n options: {\n duration: defaultDuration,\n },\n componentList: [],\n}\n\nconst getDurationTime = (duration: ToastDuration) => (duration === 'fast' ? fastToastDuration : slowToastDuration)\n\nexport const useToast = () => {\n const { addToast, removeToast } = useVuiContext()\n\n const showToast = useCallback((options?: ToastOptions): void => {\n const id = options?.id ? options.id : uid('toast')\n const { duration = setup.options.duration, status = 'info', action, icon, text, title } = options || {}\n\n const toast = {\n id,\n component: (\n <Notification\n action={action}\n animation=\"fadeDown\"\n elevation={3}\n icon={icon}\n mt={{ md: 1, sm: '4px', xs: '4px' }}\n onClose={() => removeToast(id)}\n status={status}\n text={text}\n title={title}\n align=\"center\"\n // Q7: Toasts pin role=status / aria-live=polite regardless of intent to preserve\n // current SR behavior (the auto-mapping in Notification would otherwise upgrade\n // warning/danger intents to role=alert / assertive). Full toast migration is a\n // follow-up; this override keeps the existing user-perceived behavior intact.\n role=\"status\"\n ariaLive=\"polite\"\n w={1}\n />\n ),\n }\n\n addToast(toast)\n\n if (duration && duration !== 'sticky') {\n window.setTimeout(() => removeToast(id), getDurationTime(duration))\n }\n }, [])\n\n const showInfo = useCallback(\n (text: ReactNode, duration: ToastDuration = defaultDuration) => showToast({ text, status: 'info', duration }),\n [showToast],\n )\n\n const showSuccess = useCallback(\n (text: ReactNode, duration: ToastDuration = defaultDuration) => showToast({ text, status: 'success', duration }),\n [showToast],\n )\n\n const showWarning = useCallback(\n (text: ReactNode, duration: ToastDuration = defaultDuration) => showToast({ text, status: 'warning', duration }),\n [showToast],\n )\n\n const showError = useCallback(\n (text: ReactNode, duration: ToastDuration = defaultDuration) => showToast({ text, status: 'error', duration }),\n [showToast],\n )\n\n const showLoading = useCallback(\n (text: ReactNode, duration: ToastDuration = defaultDuration) => showToast({ text, status: 'loading', duration }),\n [showToast],\n )\n\n return {\n showToast,\n hideToast: removeToast,\n showInfo,\n showSuccess,\n showWarning,\n showError,\n showLoading,\n }\n}\n"],"mappings":";;;;;;;AAQA,MAAa,kBAAkB;AAC/B,MAAa,oBAAoB;AACjC,MAAa,oBAAoB;AAEjC,MAAM,QAAoB;CACxB,SAAS,EACP,UAAU,gBACZ;CACA,eAAe,CAAC;AAClB;AAEA,MAAM,mBAAmB,aAA6B,aAAa,SAAS,oBAAoB;AAEhG,MAAa,iBAAiB;CAC5B,MAAM,EAAE,UAAU,gBAAgB,cAAc;CAEhD,MAAM,YAAY,aAAa,YAAiC;EAC9D,MAAM,KAAK,SAAS,KAAK,QAAQ,KAAK,IAAI,OAAO;EACjD,MAAM,EAAE,WAAW,MAAM,QAAQ,UAAU,SAAS,QAAQ,QAAQ,MAAM,MAAM,UAAU,WAAW,CAAC;EA2BtG,SAAS;GAxBP;GACA,WACE,oBAAC,cAAD;IACU;IACR,WAAU;IACV,WAAW;IACL;IACN,IAAI;KAAE,IAAI;KAAG,IAAI;KAAO,IAAI;IAAM;IAClC,eAAe,YAAY,EAAE;IACrB;IACF;IACC;IACP,OAAM;IAKN,MAAK;IACL,UAAS;IACT,GAAG;GACJ;EAIQ,CAAC;EAEd,IAAI,YAAY,aAAa,UAC3B,OAAO,iBAAiB,YAAY,EAAE,GAAG,gBAAgB,QAAQ,CAAC;CAEtE,GAAG,CAAC,CAAC;CA2BL,OAAO;EACL;EACA,WAAW;EACX,UA5Be,aACd,MAAiB,WAA0B,oBAAoB,UAAU;GAAE;GAAM,QAAQ;GAAQ;EAAS,CAAC,GAC5G,CAAC,SAAS,CA0BH;EACP,aAxBkB,aACjB,MAAiB,WAA0B,oBAAoB,UAAU;GAAE;GAAM,QAAQ;GAAW;EAAS,CAAC,GAC/G,CAAC,SAAS,CAsBA;EACV,aApBkB,aACjB,MAAiB,WAA0B,oBAAoB,UAAU;GAAE;GAAM,QAAQ;GAAW;EAAS,CAAC,GAC/G,CAAC,SAAS,CAkBA;EACV,WAhBgB,aACf,MAAiB,WAA0B,oBAAoB,UAAU;GAAE;GAAM,QAAQ;GAAS;EAAS,CAAC,GAC7G,CAAC,SAAS,CAcF;EACR,aAZkB,aACjB,MAAiB,WAA0B,oBAAoB,UAAU;GAAE;GAAM,QAAQ;GAAW;EAAS,CAAC,GAC/G,CAAC,SAAS,CAUA;CACZ;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veracity/vui",
3
- "version": "5.2.0-alpha.399291.2606151130",
3
+ "version": "5.2.0",
4
4
  "description": "Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Veracity",
@@ -1,21 +0,0 @@
1
- import { ToastRenderProps } from "./toast.types.js";
2
-
3
- //#region src/toast/ToastItem.d.ts
4
- interface ToastItemProps extends ToastRenderProps {
5
- onClose?: () => void;
6
- }
7
- declare const ToastItem: import("react").MemoExoticComponent<({
8
- action,
9
- icon,
10
- onClose,
11
- showDismissButton,
12
- size,
13
- status,
14
- text,
15
- textLayout,
16
- title
17
- }: ToastItemProps) => import("react").JSX.Element>;
18
- //#endregion
19
- export { ToastItem, ToastItemProps };
20
-
21
- //# sourceMappingURL=ToastItem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToastItem.d.ts","names":[],"sources":["../../src/toast/ToastItem.tsx"],"mappings":";;;UAoGiB,cAAA,SAAuB,gBAAgB;EACtD,OAAO;AAAA;AAAA,cAgDI,SAAA,kBAAS,mBAAA;EAAA,MAAA;EAAA,IAAA;EAAA,OAAA;EAAA,iBAAA;EAAA,IAAA;EAAA,MAAA;EAAA,IAAA;EAAA,UAAA;EAAA;AAAA,GAnCnB,cAAA,qBAAc,GAAA,CAAA,OAAA"}
@@ -1,145 +0,0 @@
1
- import styled from "../core/styled.js";
2
- import Icon from "../icon/icon.js";
3
- import { DismissButton } from "../dismissButton/DismissButton.js";
4
- import Spinner from "../spinner/spinner.js";
5
- import { memo } from "react";
6
- import { jsx, jsxs } from "react/jsx-runtime";
7
-
8
- //#region src/toast/ToastItem.tsx
9
- const intentIcon = {
10
- info: "uiInfoCircle",
11
- success: "uiCheckCircle",
12
- warning: "uiExclamationTriangle",
13
- error: "uiExclamationCircle"
14
- };
15
- const intentStyle = {
16
- info: `--toast-intent-color: var(--vui-feedback-info-solid); background-color: var(--vui-feedback-info-subtle); border: 1px solid var(--vui-feedback-info-solid);`,
17
- success: `--toast-intent-color: var(--vui-feedback-success-solid); background-color: var(--vui-feedback-success-subtle); border: 1px solid var(--vui-feedback-success-solid);`,
18
- warning: `--toast-intent-color: var(--vui-feedback-warning-solid); background-color: var(--vui-feedback-warning-subtle); border: 1px solid var(--vui-feedback-warning-solid);`,
19
- error: `--toast-intent-color: var(--vui-feedback-danger-solid); background-color: var(--vui-feedback-danger-subtle); border: 1px solid var(--vui-feedback-danger-solid);`,
20
- loading: `--toast-intent-color: var(--vui-feedback-info-solid); background-color: var(--vui-feedback-info-subtle); border: 1px solid var(--vui-feedback-info-solid);`
21
- };
22
- const ToastRoot = styled.div`
23
- animation: vui-fadeDown 0.2s ease-in-out;
24
- box-shadow:
25
- 0px 0px 1px 0px rgba(0, 0, 0, 0.05),
26
- 0px 10px 20px 0px rgba(0, 0, 0, 0.15);
27
- box-sizing: border-box;
28
- display: flex;
29
- flex-direction: column;
30
- min-height: 56px;
31
- min-width: 320px;
32
- width: ${({ $size }) => $size === "wide" ? "560px" : "480px"};
33
- ${({ $status }) => intentStyle[$status]}
34
- `;
35
- const Row = styled.div`
36
- align-items: stretch;
37
- display: flex;
38
- flex-direction: row;
39
- gap: 16px;
40
- padding: 8px 16px;
41
- `;
42
- const IconWrap = styled.div`
43
- align-self: ${({ $inline }) => $inline ? "center" : "flex-start"};
44
- color: var(--toast-intent-color);
45
- display: flex;
46
- flex-shrink: 0;
47
- padding: 8px 0;
48
- `;
49
- const TextArea = styled.div`
50
- display: ${({ $inline }) => $inline ? "block" : "flex"};
51
- flex: 1;
52
- flex-direction: column;
53
- font-size: 16px;
54
- gap: 4px;
55
- line-height: 1.5;
56
- min-width: 0;
57
- padding: 8px 0;
58
- `;
59
- const Title = styled.p`
60
- color: var(--toast-intent-color);
61
- display: ${({ $inline }) => $inline ? "inline" : "block"};
62
- font-weight: 600;
63
- margin: 0;
64
- `;
65
- const Description = styled.p`
66
- -webkit-box-orient: vertical;
67
- -webkit-line-clamp: 2;
68
- color: var(--toast-intent-color);
69
- display: ${({ $inline }) => $inline ? "inline" : "-webkit-box"};
70
- font-weight: 400;
71
- margin: 0;
72
- overflow: hidden;
73
- `;
74
- const DismissWrap = styled.div`
75
- --vui-dismiss-fg: var(--toast-intent-color);
76
- align-items: flex-start;
77
- align-self: ${({ $inline }) => $inline ? "center" : "flex-start"};
78
- display: flex;
79
- flex-shrink: 0;
80
- `;
81
- const ActionBar = styled.div`
82
- background-color: var(--vui-background-default, white);
83
- display: flex;
84
- gap: 8px;
85
- align-items: center;
86
- justify-content: flex-end;
87
- padding: 8px 16px;
88
- width: 100%;
89
- box-sizing: border-box;
90
- `;
91
- const ToastItemInner = ({ action, icon, onClose, showDismissButton = true, size = "default", status = "info", text, textLayout = "stacked", title }) => {
92
- const isInline = textLayout === "inline";
93
- return /* @__PURE__ */ jsxs(ToastRoot, {
94
- role: "status",
95
- "aria-live": "polite",
96
- $status: status,
97
- $size: size,
98
- children: [/* @__PURE__ */ jsxs(Row, { children: [
99
- /* @__PURE__ */ jsx(IconWrap, {
100
- $inline: isInline,
101
- children: icon !== void 0 && icon !== "" ? typeof icon === "string" ? /* @__PURE__ */ jsx(Icon, {
102
- name: icon,
103
- h: 24,
104
- w: 24
105
- }) : icon : status === "loading" ? /* @__PURE__ */ jsx(Spinner, {
106
- size: 24,
107
- p: 0
108
- }) : /* @__PURE__ */ jsx(Icon, {
109
- name: intentIcon[status],
110
- h: 24,
111
- w: 24
112
- })
113
- }),
114
- /* @__PURE__ */ jsxs(TextArea, {
115
- $inline: isInline,
116
- children: [
117
- !!title && /* @__PURE__ */ jsx(Title, {
118
- $inline: isInline,
119
- children: title
120
- }),
121
- isInline && !!title && !!text && " ",
122
- !!text && /* @__PURE__ */ jsx(Description, {
123
- $inline: isInline,
124
- children: text
125
- })
126
- ]
127
- }),
128
- showDismissButton && onClose && /* @__PURE__ */ jsx(DismissWrap, {
129
- $inline: isInline,
130
- children: /* @__PURE__ */ jsx(DismissButton, {
131
- size: "md",
132
- onClick: onClose,
133
- "aria-label": "Close"
134
- })
135
- })
136
- ] }), !!action && /* @__PURE__ */ jsx(ActionBar, { children: action })]
137
- });
138
- };
139
- const ToastItem = memo(ToastItemInner);
140
- ToastItem.displayName = "ToastItem";
141
-
142
- //#endregion
143
- export { ToastItem };
144
- globalThis.__vuiVersion__ = "5.2.0"
145
- //# sourceMappingURL=ToastItem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToastItem.js","names":[],"sources":["../../src/toast/ToastItem.tsx"],"sourcesContent":["import { memo } from 'react'\n\nimport { styled } from '../core'\nimport { DismissButton } from '../dismissButton'\nimport { Icon } from '../icon'\nimport { Spinner } from '../spinner'\nimport type { ToastRenderProps, ToastSize, ToastStatus } from './toast.types'\n\nconst intentIcon: Record<Exclude<ToastStatus, 'loading'>, string> = {\n info: 'uiInfoCircle',\n success: 'uiCheckCircle',\n warning: 'uiExclamationTriangle',\n error: 'uiExclamationCircle',\n}\n\nconst intentStyle: Record<ToastStatus, string> = {\n info: `--toast-intent-color: var(--vui-feedback-info-solid); background-color: var(--vui-feedback-info-subtle); border: 1px solid var(--vui-feedback-info-solid);`,\n success: `--toast-intent-color: var(--vui-feedback-success-solid); background-color: var(--vui-feedback-success-subtle); border: 1px solid var(--vui-feedback-success-solid);`,\n warning: `--toast-intent-color: var(--vui-feedback-warning-solid); background-color: var(--vui-feedback-warning-subtle); border: 1px solid var(--vui-feedback-warning-solid);`,\n error: `--toast-intent-color: var(--vui-feedback-danger-solid); background-color: var(--vui-feedback-danger-subtle); border: 1px solid var(--vui-feedback-danger-solid);`,\n loading: `--toast-intent-color: var(--vui-feedback-info-solid); background-color: var(--vui-feedback-info-subtle); border: 1px solid var(--vui-feedback-info-solid);`,\n}\n\nconst ToastRoot = styled.div<{ $status: ToastStatus; $size: ToastSize }>`\n animation: vui-fadeDown 0.2s ease-in-out;\n box-shadow:\n 0px 0px 1px 0px rgba(0, 0, 0, 0.05),\n 0px 10px 20px 0px rgba(0, 0, 0, 0.15);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n min-height: 56px;\n min-width: 320px;\n width: ${({ $size }) => ($size === 'wide' ? '560px' : '480px')};\n ${({ $status }) => intentStyle[$status]}\n`\n\nconst Row = styled.div`\n align-items: stretch;\n display: flex;\n flex-direction: row;\n gap: 16px;\n padding: 8px 16px;\n`\n\nconst IconWrap = styled.div<{ $inline?: boolean }>`\n align-self: ${({ $inline }) => ($inline ? 'center' : 'flex-start')};\n color: var(--toast-intent-color);\n display: flex;\n flex-shrink: 0;\n padding: 8px 0;\n`\n\nconst TextArea = styled.div<{ $inline?: boolean }>`\n display: ${({ $inline }) => ($inline ? 'block' : 'flex')};\n flex: 1;\n flex-direction: column;\n font-size: 16px;\n gap: 4px;\n line-height: 1.5;\n min-width: 0;\n padding: 8px 0;\n`\n\nconst Title = styled.p<{ $inline?: boolean }>`\n color: var(--toast-intent-color);\n display: ${({ $inline }) => ($inline ? 'inline' : 'block')};\n font-weight: 600;\n margin: 0;\n`\n\nconst Description = styled.p<{ $inline?: boolean }>`\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n color: var(--toast-intent-color);\n display: ${({ $inline }) => ($inline ? 'inline' : '-webkit-box')};\n font-weight: 400;\n margin: 0;\n overflow: hidden;\n`\n\nconst DismissWrap = styled.div<{ $inline?: boolean }>`\n --vui-dismiss-fg: var(--toast-intent-color);\n align-items: flex-start;\n align-self: ${({ $inline }) => ($inline ? 'center' : 'flex-start')};\n display: flex;\n flex-shrink: 0;\n`\n\nconst ActionBar = styled.div`\n background-color: var(--vui-background-default, white);\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: flex-end;\n padding: 8px 16px;\n width: 100%;\n box-sizing: border-box;\n`\n\nexport interface ToastItemProps extends ToastRenderProps {\n onClose?: () => void\n}\n\nconst ToastItemInner = ({\n action,\n icon,\n onClose,\n showDismissButton = true,\n size = 'default',\n status = 'info',\n text,\n textLayout = 'stacked',\n title,\n}: ToastItemProps) => {\n const isInline = textLayout === 'inline'\n const resolvedIcon =\n icon !== undefined && icon !== '' ? (\n typeof icon === 'string' ? (\n <Icon name={icon as any} h={24} w={24} />\n ) : (\n icon\n )\n ) : status === 'loading' ? (\n <Spinner size={24} p={0} />\n ) : (\n <Icon name={intentIcon[status] as any} h={24} w={24} />\n )\n\n return (\n <ToastRoot role=\"status\" aria-live=\"polite\" $status={status} $size={size}>\n <Row>\n <IconWrap $inline={isInline}>{resolvedIcon}</IconWrap>\n <TextArea $inline={isInline}>\n {!!title && <Title $inline={isInline}>{title}</Title>}\n {isInline && !!title && !!text && ' '}\n {!!text && <Description $inline={isInline}>{text}</Description>}\n </TextArea>\n {showDismissButton && onClose && (\n <DismissWrap $inline={isInline}>\n <DismissButton size=\"md\" onClick={onClose} aria-label=\"Close\" />\n </DismissWrap>\n )}\n </Row>\n {!!action && <ActionBar>{action}</ActionBar>}\n </ToastRoot>\n )\n}\n\nexport const ToastItem = memo(ToastItemInner)\nToastItem.displayName = 'ToastItem'\n"],"mappings":";;;;;;;;AAQA,MAAM,aAA8D;CAClE,MAAM;CACN,SAAS;CACT,SAAS;CACT,OAAO;AACT;AAEA,MAAM,cAA2C;CAC/C,MAAM;CACN,SAAS;CACT,SAAS;CACT,OAAO;CACP,SAAS;AACX;AAEA,MAAM,YAAY,OAAO,GAA+C;;;;;;;;;;YAU5D,EAAE,YAAa,UAAU,SAAS,UAAU,QAAS;KAC5D,EAAE,cAAc,YAAY,SAAS;;AAG1C,MAAM,MAAM,OAAO,GAAG;;;;;;;AAQtB,MAAM,WAAW,OAAO,GAA0B;iBACjC,EAAE,cAAe,UAAU,WAAW,aAAc;;;;;;AAOrE,MAAM,WAAW,OAAO,GAA0B;cACpC,EAAE,cAAe,UAAU,UAAU,OAAQ;;;;;;;;;AAU3D,MAAM,QAAQ,OAAO,CAAwB;;cAE/B,EAAE,cAAe,UAAU,WAAW,QAAS;;;;AAK7D,MAAM,cAAc,OAAO,CAAwB;;;;cAIrC,EAAE,cAAe,UAAU,WAAW,cAAe;;;;;AAMnE,MAAM,cAAc,OAAO,GAA0B;;;iBAGpC,EAAE,cAAe,UAAU,WAAW,aAAc;;;;AAKrE,MAAM,YAAY,OAAO,GAAG;;;;;;;;;;AAe5B,MAAM,kBAAkB,EACtB,QACA,MACA,SACA,oBAAoB,MACpB,OAAO,WACP,SAAS,QACT,MACA,aAAa,WACb,YACoB;CACpB,MAAM,WAAW,eAAe;CAchC,OACE,qBAAC,WAAD;EAAW,MAAK;EAAS,aAAU;EAAS,SAAS;EAAQ,OAAO;YAApE,CACE,qBAAC,KAAD;GACE,oBAAC,UAAD;IAAU,SAAS;cAfvB,SAAS,UAAa,SAAS,KAC7B,OAAO,SAAS,WACd,oBAAC,MAAD;KAAM,MAAM;KAAa,GAAG;KAAI,GAAG;IAAK,KAExC,OAEA,WAAW,YACb,oBAAC,SAAD;KAAS,MAAM;KAAI,GAAG;IAAI,KAE1B,oBAAC,MAAD;KAAM,MAAM,WAAW;KAAgB,GAAG;KAAI,GAAG;IAAK;GAMC;GACrD,qBAAC,UAAD;IAAU,SAAS;cAAnB;KACG,CAAC,CAAC,SAAS,oBAAC,OAAD;MAAO,SAAS;gBAAW;KAAa;KACnD,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ;KACjC,CAAC,CAAC,QAAQ,oBAAC,aAAD;MAAa,SAAS;gBAAW;KAAkB;IACtD;;GACT,qBAAqB,WACpB,oBAAC,aAAD;IAAa,SAAS;cACpB,oBAAC,eAAD;KAAe,MAAK;KAAK,SAAS;KAAS,cAAW;IAAS;GACpD;EAEZ,MACJ,CAAC,CAAC,UAAU,oBAAC,WAAD,YAAY,OAAkB,EAClC;;AAEf;AAEA,MAAa,YAAY,KAAK,cAAc;AAC5C,UAAU,cAAc"}