@geomak/ui 6.1.0 → 6.2.1

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.
package/dist/index.d.cts CHANGED
@@ -1641,6 +1641,99 @@ interface SidebarProps {
1641
1641
  */
1642
1642
  declare function Sidebar({ sections, isExpanded, onToggle, expandedWidth, collapsedWidth, footer, className, }: SidebarProps): react_jsx_runtime.JSX.Element;
1643
1643
 
1644
+ interface MegaMenuProps {
1645
+ /** `MegaMenu.Item` children. */
1646
+ children: React__default.ReactNode;
1647
+ /** Where the dropdown panel aligns under the bar. Default `'start'`. */
1648
+ align?: 'start' | 'center' | 'end';
1649
+ /** Delay (ms) before a hovered item opens. Default `200`. */
1650
+ delayDuration?: number;
1651
+ /** Extra classes merged onto the menu bar root. */
1652
+ className?: string;
1653
+ style?: React__default.CSSProperties;
1654
+ 'aria-label'?: string;
1655
+ }
1656
+ /**
1657
+ * Horizontal navigation bar with wide "mega" dropdown panels, built on
1658
+ * `@radix-ui/react-navigation-menu` (hover-intent open, arrow-key navigation,
1659
+ * focus management, and a shared animated viewport for free).
1660
+ *
1661
+ * Compose top-level items with `MegaMenu.Item`. An item with children opens a
1662
+ * panel (`MegaMenu.Panel` → `MegaMenu.Section` → `MegaMenu.Link`, plus an
1663
+ * optional `MegaMenu.Featured` promo column); an item with just `href` is a
1664
+ * plain top-level link. Each panel positions itself under the bar and sizes to
1665
+ * its content.
1666
+ *
1667
+ * @example
1668
+ * ```tsx
1669
+ * <MegaMenu aria-label="Main">
1670
+ * <MegaMenu.Item label="Products">
1671
+ * <MegaMenu.Panel>
1672
+ * <MegaMenu.Section title="Platform">
1673
+ * <MegaMenu.Link href="/analytics" icon={<ChartIcon />} description="Dashboards & reports">
1674
+ * Analytics
1675
+ * </MegaMenu.Link>
1676
+ * </MegaMenu.Section>
1677
+ * </MegaMenu.Panel>
1678
+ * </MegaMenu.Item>
1679
+ * <MegaMenu.Item label="Pricing" href="/pricing" />
1680
+ * </MegaMenu>
1681
+ * ```
1682
+ */
1683
+ declare function MegaMenu({ children, align, delayDuration, className, style, 'aria-label': ariaLabel }: MegaMenuProps): react_jsx_runtime.JSX.Element;
1684
+ declare namespace MegaMenu {
1685
+ var Item: typeof MegaMenuItem;
1686
+ var Panel: typeof MegaMenuPanel;
1687
+ var Section: typeof MegaMenuSection;
1688
+ var Link: typeof MegaMenuLink;
1689
+ var Featured: typeof MegaMenuFeatured;
1690
+ }
1691
+ interface MegaMenuItemProps {
1692
+ /** Top-level label shown in the bar. */
1693
+ label: React__default.ReactNode;
1694
+ /** Optional leading icon for the top-level item. */
1695
+ icon?: React__default.ReactNode;
1696
+ /** When set (and no children), the item is a plain top-level link. */
1697
+ href?: string;
1698
+ /** The panel (`MegaMenu.Panel`) revealed on hover/focus. Omit for a link. */
1699
+ children?: React__default.ReactNode;
1700
+ className?: string;
1701
+ }
1702
+ declare function MegaMenuItem({ label, icon, href, children, className }: MegaMenuItemProps): react_jsx_runtime.JSX.Element;
1703
+ interface MegaMenuPanelProps {
1704
+ children: React__default.ReactNode;
1705
+ /** Cap the panel to roughly this many side-by-side columns before wrapping. Default: single row. */
1706
+ columns?: 1 | 2 | 3 | 4;
1707
+ className?: string;
1708
+ style?: React__default.CSSProperties;
1709
+ }
1710
+ declare function MegaMenuPanel({ children, columns, className, style }: MegaMenuPanelProps): react_jsx_runtime.JSX.Element;
1711
+ interface MegaMenuSectionProps {
1712
+ /** Section heading (uppercase eyebrow). */
1713
+ title?: React__default.ReactNode;
1714
+ children: React__default.ReactNode;
1715
+ className?: string;
1716
+ }
1717
+ declare function MegaMenuSection({ title, children, className }: MegaMenuSectionProps): react_jsx_runtime.JSX.Element;
1718
+ interface MegaMenuLinkProps {
1719
+ href?: string;
1720
+ /** Leading icon, shown in a tinted square. */
1721
+ icon?: React__default.ReactNode;
1722
+ /** Secondary line under the title. */
1723
+ description?: React__default.ReactNode;
1724
+ /** Mark as the active route. */
1725
+ active?: boolean;
1726
+ onClick?: React__default.MouseEventHandler;
1727
+ children: React__default.ReactNode;
1728
+ className?: string;
1729
+ }
1730
+ declare function MegaMenuLink({ href, icon, description, active, onClick, children, className }: MegaMenuLinkProps): react_jsx_runtime.JSX.Element;
1731
+ interface MegaMenuFeaturedProps {
1732
+ children: React__default.ReactNode;
1733
+ className?: string;
1734
+ }
1735
+ declare function MegaMenuFeatured({ children, className }: MegaMenuFeaturedProps): react_jsx_runtime.JSX.Element;
1736
+
1644
1737
  interface AppShellProps {
1645
1738
  /**
1646
1739
  * Top navigation bar.
@@ -3831,4 +3924,4 @@ declare function expiryError(value: string, now?: Date): string | undefined;
3831
3924
  /** Validate the CVV against the detected brand's expected length. */
3832
3925
  declare function cvvError(value: string, cardNumber: string): string | undefined;
3833
3926
 
3834
- export { AppShell, type AppShellProps, AutoComplete, type AutoCompleteProps, Avatar, type AvatarProps, type AvatarShape, type AvatarSize, type AvatarStatus, Box, type BoxBackground, type BoxBorder, type BoxProps, type BoxRadius, type BoxShadow, Button, type ButtonProps, CARD_BRANDS, type CardBrand, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ColorPicker, type ColorPickerProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, CreditCardForm, type CreditCardFormProps, type CreditCardValue, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, Drawer, type DrawerProps, Dropdown, type DropdownItem, type DropdownProps, type ErrorMap, type ExpandRowOptions, FadingBase, type FadingBaseProps, Field, type FieldArrayItem, type FieldBindings, FieldHelpIcon, type FieldKind, FieldLabel, type FieldLabelProps, type FieldProps, type FieldRule, type FieldRules, type FieldShellOptions, type FieldSize, type FieldSnapshot, FileInput, type FileInputProps, Flex, type FlexAlign, type FlexDirection, type FlexJustify, type FlexProps, type FlexWrap, Form, FormContext, FormField, type FormFieldProps, type FormProps, FormStore, type FormStoreOptions, type FormValues, Grid, GridCard, type GridCardItem, type GridCardProps, type GridProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, OtpInput, type OtpInputProps, type PaginationOptions, Password, type PasswordProps, Portal, type PortalProps, RadioGroup, type RadioGroupProps, type RadioOption, Rating, type RatingProps, type RulesMap, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, SkeletonBox, type SkeletonBoxProps, SkeletonCard, type SkeletonCardProps, SkeletonCircle, type SkeletonCircleProps, SkeletonText, type SkeletonTextProps, Slider, type SliderMark, type SliderProps, type SliderValue, type Spacing, Switch, type SwitchInputProps, Table, type TableColumn, type TableProps, Tabs, type TabsAddProps, type TabsListProps, type TabsOrientation, type TabsPanelProps, type TabsProps, type TabsSize, type TabsTriggerProps, type TabsVariant, TagsInput, type TagsInputProps, DatePicker as Temporal, type TemporalPickerProps, TextArea, type TextAreaProps, TextInput, type TextInputProps, type ThemeColors, type ThemeConfig, type ThemeDensity, type ThemeMotion, ThemeProvider, type ThemeProviderProps, type ThemeRadius, type ThemeShadows, ThemeSwitch, type ThemeSwitchProps, type ThemeTypography, TimePicker, type TimePickerProps, Tooltip, type TooltipProps, TooltipProvider, TopBar, type TopBarProps, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Typography, type TypographyAlign, type TypographyColor, type TypographyProps, type TypographyVariant, type TypographyWeight, type UseFieldArrayReturn, type UseFormFieldOptions, type UseFormReturn, type ValidateTrigger, Wizard, type WizardProps, type WizardStep, cardNumberError, cvvError, detectBrand, expiryError, fieldShell, formatCardNumber, formatExpiry, isRequired, luhnValid, onlyDigits, patterns, runFieldRules, useFieldArray, useForm, useFormField, useFormStore, useNotification };
3927
+ export { AppShell, type AppShellProps, AutoComplete, type AutoCompleteProps, Avatar, type AvatarProps, type AvatarShape, type AvatarSize, type AvatarStatus, Box, type BoxBackground, type BoxBorder, type BoxProps, type BoxRadius, type BoxShadow, Button, type ButtonProps, CARD_BRANDS, type CardBrand, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ColorPicker, type ColorPickerProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, CreditCardForm, type CreditCardFormProps, type CreditCardValue, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, Drawer, type DrawerProps, Dropdown, type DropdownItem, type DropdownProps, type ErrorMap, type ExpandRowOptions, FadingBase, type FadingBaseProps, Field, type FieldArrayItem, type FieldBindings, FieldHelpIcon, type FieldKind, FieldLabel, type FieldLabelProps, type FieldProps, type FieldRule, type FieldRules, type FieldShellOptions, type FieldSize, type FieldSnapshot, FileInput, type FileInputProps, Flex, type FlexAlign, type FlexDirection, type FlexJustify, type FlexProps, type FlexWrap, Form, FormContext, FormField, type FormFieldProps, type FormProps, FormStore, type FormStoreOptions, type FormValues, Grid, GridCard, type GridCardItem, type GridCardProps, type GridProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, MegaMenu, type MegaMenuFeaturedProps, type MegaMenuItemProps, type MegaMenuLinkProps, type MegaMenuPanelProps, type MegaMenuProps, type MegaMenuSectionProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, OtpInput, type OtpInputProps, type PaginationOptions, Password, type PasswordProps, Portal, type PortalProps, RadioGroup, type RadioGroupProps, type RadioOption, Rating, type RatingProps, type RulesMap, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, SkeletonBox, type SkeletonBoxProps, SkeletonCard, type SkeletonCardProps, SkeletonCircle, type SkeletonCircleProps, SkeletonText, type SkeletonTextProps, Slider, type SliderMark, type SliderProps, type SliderValue, type Spacing, Switch, type SwitchInputProps, Table, type TableColumn, type TableProps, Tabs, type TabsAddProps, type TabsListProps, type TabsOrientation, type TabsPanelProps, type TabsProps, type TabsSize, type TabsTriggerProps, type TabsVariant, TagsInput, type TagsInputProps, DatePicker as Temporal, type TemporalPickerProps, TextArea, type TextAreaProps, TextInput, type TextInputProps, type ThemeColors, type ThemeConfig, type ThemeDensity, type ThemeMotion, ThemeProvider, type ThemeProviderProps, type ThemeRadius, type ThemeShadows, ThemeSwitch, type ThemeSwitchProps, type ThemeTypography, TimePicker, type TimePickerProps, Tooltip, type TooltipProps, TooltipProvider, TopBar, type TopBarProps, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Typography, type TypographyAlign, type TypographyColor, type TypographyProps, type TypographyVariant, type TypographyWeight, type UseFieldArrayReturn, type UseFormFieldOptions, type UseFormReturn, type ValidateTrigger, Wizard, type WizardProps, type WizardStep, cardNumberError, cvvError, detectBrand, expiryError, fieldShell, formatCardNumber, formatExpiry, isRequired, luhnValid, onlyDigits, patterns, runFieldRules, useFieldArray, useForm, useFormField, useFormStore, useNotification };
package/dist/index.d.ts CHANGED
@@ -1641,6 +1641,99 @@ interface SidebarProps {
1641
1641
  */
1642
1642
  declare function Sidebar({ sections, isExpanded, onToggle, expandedWidth, collapsedWidth, footer, className, }: SidebarProps): react_jsx_runtime.JSX.Element;
1643
1643
 
1644
+ interface MegaMenuProps {
1645
+ /** `MegaMenu.Item` children. */
1646
+ children: React__default.ReactNode;
1647
+ /** Where the dropdown panel aligns under the bar. Default `'start'`. */
1648
+ align?: 'start' | 'center' | 'end';
1649
+ /** Delay (ms) before a hovered item opens. Default `200`. */
1650
+ delayDuration?: number;
1651
+ /** Extra classes merged onto the menu bar root. */
1652
+ className?: string;
1653
+ style?: React__default.CSSProperties;
1654
+ 'aria-label'?: string;
1655
+ }
1656
+ /**
1657
+ * Horizontal navigation bar with wide "mega" dropdown panels, built on
1658
+ * `@radix-ui/react-navigation-menu` (hover-intent open, arrow-key navigation,
1659
+ * focus management, and a shared animated viewport for free).
1660
+ *
1661
+ * Compose top-level items with `MegaMenu.Item`. An item with children opens a
1662
+ * panel (`MegaMenu.Panel` → `MegaMenu.Section` → `MegaMenu.Link`, plus an
1663
+ * optional `MegaMenu.Featured` promo column); an item with just `href` is a
1664
+ * plain top-level link. Each panel positions itself under the bar and sizes to
1665
+ * its content.
1666
+ *
1667
+ * @example
1668
+ * ```tsx
1669
+ * <MegaMenu aria-label="Main">
1670
+ * <MegaMenu.Item label="Products">
1671
+ * <MegaMenu.Panel>
1672
+ * <MegaMenu.Section title="Platform">
1673
+ * <MegaMenu.Link href="/analytics" icon={<ChartIcon />} description="Dashboards & reports">
1674
+ * Analytics
1675
+ * </MegaMenu.Link>
1676
+ * </MegaMenu.Section>
1677
+ * </MegaMenu.Panel>
1678
+ * </MegaMenu.Item>
1679
+ * <MegaMenu.Item label="Pricing" href="/pricing" />
1680
+ * </MegaMenu>
1681
+ * ```
1682
+ */
1683
+ declare function MegaMenu({ children, align, delayDuration, className, style, 'aria-label': ariaLabel }: MegaMenuProps): react_jsx_runtime.JSX.Element;
1684
+ declare namespace MegaMenu {
1685
+ var Item: typeof MegaMenuItem;
1686
+ var Panel: typeof MegaMenuPanel;
1687
+ var Section: typeof MegaMenuSection;
1688
+ var Link: typeof MegaMenuLink;
1689
+ var Featured: typeof MegaMenuFeatured;
1690
+ }
1691
+ interface MegaMenuItemProps {
1692
+ /** Top-level label shown in the bar. */
1693
+ label: React__default.ReactNode;
1694
+ /** Optional leading icon for the top-level item. */
1695
+ icon?: React__default.ReactNode;
1696
+ /** When set (and no children), the item is a plain top-level link. */
1697
+ href?: string;
1698
+ /** The panel (`MegaMenu.Panel`) revealed on hover/focus. Omit for a link. */
1699
+ children?: React__default.ReactNode;
1700
+ className?: string;
1701
+ }
1702
+ declare function MegaMenuItem({ label, icon, href, children, className }: MegaMenuItemProps): react_jsx_runtime.JSX.Element;
1703
+ interface MegaMenuPanelProps {
1704
+ children: React__default.ReactNode;
1705
+ /** Cap the panel to roughly this many side-by-side columns before wrapping. Default: single row. */
1706
+ columns?: 1 | 2 | 3 | 4;
1707
+ className?: string;
1708
+ style?: React__default.CSSProperties;
1709
+ }
1710
+ declare function MegaMenuPanel({ children, columns, className, style }: MegaMenuPanelProps): react_jsx_runtime.JSX.Element;
1711
+ interface MegaMenuSectionProps {
1712
+ /** Section heading (uppercase eyebrow). */
1713
+ title?: React__default.ReactNode;
1714
+ children: React__default.ReactNode;
1715
+ className?: string;
1716
+ }
1717
+ declare function MegaMenuSection({ title, children, className }: MegaMenuSectionProps): react_jsx_runtime.JSX.Element;
1718
+ interface MegaMenuLinkProps {
1719
+ href?: string;
1720
+ /** Leading icon, shown in a tinted square. */
1721
+ icon?: React__default.ReactNode;
1722
+ /** Secondary line under the title. */
1723
+ description?: React__default.ReactNode;
1724
+ /** Mark as the active route. */
1725
+ active?: boolean;
1726
+ onClick?: React__default.MouseEventHandler;
1727
+ children: React__default.ReactNode;
1728
+ className?: string;
1729
+ }
1730
+ declare function MegaMenuLink({ href, icon, description, active, onClick, children, className }: MegaMenuLinkProps): react_jsx_runtime.JSX.Element;
1731
+ interface MegaMenuFeaturedProps {
1732
+ children: React__default.ReactNode;
1733
+ className?: string;
1734
+ }
1735
+ declare function MegaMenuFeatured({ children, className }: MegaMenuFeaturedProps): react_jsx_runtime.JSX.Element;
1736
+
1644
1737
  interface AppShellProps {
1645
1738
  /**
1646
1739
  * Top navigation bar.
@@ -3831,4 +3924,4 @@ declare function expiryError(value: string, now?: Date): string | undefined;
3831
3924
  /** Validate the CVV against the detected brand's expected length. */
3832
3925
  declare function cvvError(value: string, cardNumber: string): string | undefined;
3833
3926
 
3834
- export { AppShell, type AppShellProps, AutoComplete, type AutoCompleteProps, Avatar, type AvatarProps, type AvatarShape, type AvatarSize, type AvatarStatus, Box, type BoxBackground, type BoxBorder, type BoxProps, type BoxRadius, type BoxShadow, Button, type ButtonProps, CARD_BRANDS, type CardBrand, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ColorPicker, type ColorPickerProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, CreditCardForm, type CreditCardFormProps, type CreditCardValue, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, Drawer, type DrawerProps, Dropdown, type DropdownItem, type DropdownProps, type ErrorMap, type ExpandRowOptions, FadingBase, type FadingBaseProps, Field, type FieldArrayItem, type FieldBindings, FieldHelpIcon, type FieldKind, FieldLabel, type FieldLabelProps, type FieldProps, type FieldRule, type FieldRules, type FieldShellOptions, type FieldSize, type FieldSnapshot, FileInput, type FileInputProps, Flex, type FlexAlign, type FlexDirection, type FlexJustify, type FlexProps, type FlexWrap, Form, FormContext, FormField, type FormFieldProps, type FormProps, FormStore, type FormStoreOptions, type FormValues, Grid, GridCard, type GridCardItem, type GridCardProps, type GridProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, OtpInput, type OtpInputProps, type PaginationOptions, Password, type PasswordProps, Portal, type PortalProps, RadioGroup, type RadioGroupProps, type RadioOption, Rating, type RatingProps, type RulesMap, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, SkeletonBox, type SkeletonBoxProps, SkeletonCard, type SkeletonCardProps, SkeletonCircle, type SkeletonCircleProps, SkeletonText, type SkeletonTextProps, Slider, type SliderMark, type SliderProps, type SliderValue, type Spacing, Switch, type SwitchInputProps, Table, type TableColumn, type TableProps, Tabs, type TabsAddProps, type TabsListProps, type TabsOrientation, type TabsPanelProps, type TabsProps, type TabsSize, type TabsTriggerProps, type TabsVariant, TagsInput, type TagsInputProps, DatePicker as Temporal, type TemporalPickerProps, TextArea, type TextAreaProps, TextInput, type TextInputProps, type ThemeColors, type ThemeConfig, type ThemeDensity, type ThemeMotion, ThemeProvider, type ThemeProviderProps, type ThemeRadius, type ThemeShadows, ThemeSwitch, type ThemeSwitchProps, type ThemeTypography, TimePicker, type TimePickerProps, Tooltip, type TooltipProps, TooltipProvider, TopBar, type TopBarProps, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Typography, type TypographyAlign, type TypographyColor, type TypographyProps, type TypographyVariant, type TypographyWeight, type UseFieldArrayReturn, type UseFormFieldOptions, type UseFormReturn, type ValidateTrigger, Wizard, type WizardProps, type WizardStep, cardNumberError, cvvError, detectBrand, expiryError, fieldShell, formatCardNumber, formatExpiry, isRequired, luhnValid, onlyDigits, patterns, runFieldRules, useFieldArray, useForm, useFormField, useFormStore, useNotification };
3927
+ export { AppShell, type AppShellProps, AutoComplete, type AutoCompleteProps, Avatar, type AvatarProps, type AvatarShape, type AvatarSize, type AvatarStatus, Box, type BoxBackground, type BoxBorder, type BoxProps, type BoxRadius, type BoxShadow, Button, type ButtonProps, CARD_BRANDS, type CardBrand, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ColorPicker, type ColorPickerProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, CreditCardForm, type CreditCardFormProps, type CreditCardValue, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, Drawer, type DrawerProps, Dropdown, type DropdownItem, type DropdownProps, type ErrorMap, type ExpandRowOptions, FadingBase, type FadingBaseProps, Field, type FieldArrayItem, type FieldBindings, FieldHelpIcon, type FieldKind, FieldLabel, type FieldLabelProps, type FieldProps, type FieldRule, type FieldRules, type FieldShellOptions, type FieldSize, type FieldSnapshot, FileInput, type FileInputProps, Flex, type FlexAlign, type FlexDirection, type FlexJustify, type FlexProps, type FlexWrap, Form, FormContext, FormField, type FormFieldProps, type FormProps, FormStore, type FormStoreOptions, type FormValues, Grid, GridCard, type GridCardItem, type GridCardProps, type GridProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, MegaMenu, type MegaMenuFeaturedProps, type MegaMenuItemProps, type MegaMenuLinkProps, type MegaMenuPanelProps, type MegaMenuProps, type MegaMenuSectionProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, OtpInput, type OtpInputProps, type PaginationOptions, Password, type PasswordProps, Portal, type PortalProps, RadioGroup, type RadioGroupProps, type RadioOption, Rating, type RatingProps, type RulesMap, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, SkeletonBox, type SkeletonBoxProps, SkeletonCard, type SkeletonCardProps, SkeletonCircle, type SkeletonCircleProps, SkeletonText, type SkeletonTextProps, Slider, type SliderMark, type SliderProps, type SliderValue, type Spacing, Switch, type SwitchInputProps, Table, type TableColumn, type TableProps, Tabs, type TabsAddProps, type TabsListProps, type TabsOrientation, type TabsPanelProps, type TabsProps, type TabsSize, type TabsTriggerProps, type TabsVariant, TagsInput, type TagsInputProps, DatePicker as Temporal, type TemporalPickerProps, TextArea, type TextAreaProps, TextInput, type TextInputProps, type ThemeColors, type ThemeConfig, type ThemeDensity, type ThemeMotion, ThemeProvider, type ThemeProviderProps, type ThemeRadius, type ThemeShadows, ThemeSwitch, type ThemeSwitchProps, type ThemeTypography, TimePicker, type TimePickerProps, Tooltip, type TooltipProps, TooltipProvider, TopBar, type TopBarProps, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Typography, type TypographyAlign, type TypographyColor, type TypographyProps, type TypographyVariant, type TypographyWeight, type UseFieldArrayReturn, type UseFormFieldOptions, type UseFormReturn, type ValidateTrigger, Wizard, type WizardProps, type WizardStep, cardNumberError, cvvError, detectBrand, expiryError, fieldShell, formatCardNumber, formatExpiry, isRequired, luhnValid, onlyDigits, patterns, runFieldRules, useFieldArray, useForm, useFormField, useFormStore, useNotification };
package/dist/index.js CHANGED
@@ -12,6 +12,7 @@ import * as Accordion from '@radix-ui/react-accordion';
12
12
  import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
13
13
  import * as Popover from '@radix-ui/react-popover';
14
14
  import * as SwitchPrimitive from '@radix-ui/react-switch';
15
+ import * as NavigationMenu from '@radix-ui/react-navigation-menu';
15
16
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
16
17
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
17
18
  import * as ToggleGroup from '@radix-ui/react-toggle-group';
@@ -3386,6 +3387,106 @@ function Sidebar({
3386
3387
  }
3387
3388
  ) });
3388
3389
  }
3390
+ var MegaMenuContext = createContext({ align: "start" });
3391
+ function MegaMenu({ children, align = "start", delayDuration = 200, className = "", style, "aria-label": ariaLabel }) {
3392
+ return /* @__PURE__ */ jsx(MegaMenuContext.Provider, { value: { align }, children: /* @__PURE__ */ jsx(
3393
+ NavigationMenu.Root,
3394
+ {
3395
+ delayDuration,
3396
+ "aria-label": ariaLabel,
3397
+ className: ["relative z-10 flex w-full", className].filter(Boolean).join(" "),
3398
+ style,
3399
+ children: /* @__PURE__ */ jsx(NavigationMenu.List, { className: "flex items-center gap-1", children })
3400
+ }
3401
+ ) });
3402
+ }
3403
+ var TOP_ITEM = "group/top inline-flex items-center gap-1.5 h-10 px-3 rounded-md text-sm font-medium select-none text-foreground-secondary hover:text-foreground hover:bg-surface-raised data-[state=open]:text-accent data-[active]:text-accent transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-accent";
3404
+ function MegaMenuItem({ label, icon, href, children, className = "" }) {
3405
+ const { align } = useContext(MegaMenuContext);
3406
+ const pos = align === "center" ? "left-1/2 -translate-x-1/2" : align === "end" ? "right-0" : "left-0";
3407
+ if (!children) {
3408
+ return /* @__PURE__ */ jsx(NavigationMenu.Item, { children: /* @__PURE__ */ jsxs(NavigationMenu.Link, { href, className: [TOP_ITEM, className].filter(Boolean).join(" "), children: [
3409
+ icon && /* @__PURE__ */ jsx("span", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center", children: icon }),
3410
+ label
3411
+ ] }) });
3412
+ }
3413
+ return /* @__PURE__ */ jsxs(NavigationMenu.Item, { children: [
3414
+ /* @__PURE__ */ jsxs(NavigationMenu.Trigger, { className: [TOP_ITEM, className].filter(Boolean).join(" "), children: [
3415
+ icon && /* @__PURE__ */ jsx("span", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center", children: icon }),
3416
+ label,
3417
+ /* @__PURE__ */ jsx(
3418
+ "svg",
3419
+ {
3420
+ viewBox: "0 0 24 24",
3421
+ fill: "none",
3422
+ stroke: "currentColor",
3423
+ strokeWidth: 2,
3424
+ "aria-hidden": "true",
3425
+ className: "h-3.5 w-3.5 text-foreground-muted transition-transform duration-200 group-data-[state=open]/top:rotate-180 group-data-[state=open]/top:text-accent",
3426
+ children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19 9l-7 7-7-7" })
3427
+ }
3428
+ )
3429
+ ] }),
3430
+ /* @__PURE__ */ jsx(
3431
+ NavigationMenu.Content,
3432
+ {
3433
+ className: `absolute top-full mt-2 ${pos} z-20 overflow-hidden rounded-lg border border-border bg-surface shadow-lg
3434
+ data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95
3435
+ data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,
3436
+ children
3437
+ }
3438
+ )
3439
+ ] });
3440
+ }
3441
+ function MegaMenuPanel({ children, columns, className = "", style }) {
3442
+ const maxWidth = columns ? `${columns * 248}px` : "min(92vw, 880px)";
3443
+ return /* @__PURE__ */ jsx(
3444
+ "div",
3445
+ {
3446
+ className: ["flex flex-wrap gap-6 p-6", className].filter(Boolean).join(" "),
3447
+ style: { maxWidth, ...style },
3448
+ children
3449
+ }
3450
+ );
3451
+ }
3452
+ function MegaMenuSection({ title, children, className = "" }) {
3453
+ return /* @__PURE__ */ jsxs("div", { className: ["min-w-[200px] flex flex-col", className].filter(Boolean).join(" "), children: [
3454
+ title && /* @__PURE__ */ jsx("p", { className: "px-3 pb-1.5 text-[11px] font-semibold uppercase tracking-widest text-foreground-muted select-none", children: title }),
3455
+ /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-0.5", children })
3456
+ ] });
3457
+ }
3458
+ function MegaMenuLink({ href, icon, description, active, onClick, children, className = "" }) {
3459
+ return /* @__PURE__ */ jsxs(
3460
+ NavigationMenu.Link,
3461
+ {
3462
+ active,
3463
+ href,
3464
+ onClick,
3465
+ className: [
3466
+ "group/link flex items-start gap-3 rounded-md p-3 transition-colors select-none",
3467
+ "hover:bg-surface-raised focus:outline-none focus-visible:ring-2 focus-visible:ring-accent",
3468
+ "data-[active]:bg-surface-raised",
3469
+ className
3470
+ ].filter(Boolean).join(" "),
3471
+ children: [
3472
+ icon && /* @__PURE__ */ jsx("span", { className: "flex h-9 w-9 flex-shrink-0 items-center justify-center rounded-md bg-surface-raised text-accent group-hover/link:bg-surface group-data-[active]/link:bg-surface transition-colors", children: /* @__PURE__ */ jsx("span", { className: "h-[18px] w-[18px] inline-flex items-center justify-center", children: icon }) }),
3473
+ /* @__PURE__ */ jsxs("span", { className: "flex flex-col min-w-0", children: [
3474
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground group-data-[active]/link:text-accent", children }),
3475
+ description && /* @__PURE__ */ jsx("span", { className: "text-xs text-foreground-muted leading-snug mt-0.5", children: description })
3476
+ ] })
3477
+ ]
3478
+ }
3479
+ );
3480
+ }
3481
+ function MegaMenuFeatured({ children, className = "" }) {
3482
+ return /* @__PURE__ */ jsx("div", { className: ["min-w-[220px] rounded-lg bg-surface-raised border border-border p-4 flex flex-col", className].filter(Boolean).join(" "), children });
3483
+ }
3484
+ MegaMenu.Item = MegaMenuItem;
3485
+ MegaMenu.Panel = MegaMenuPanel;
3486
+ MegaMenu.Section = MegaMenuSection;
3487
+ MegaMenu.Link = MegaMenuLink;
3488
+ MegaMenu.Featured = MegaMenuFeatured;
3489
+ var MegaMenu_default = MegaMenu;
3389
3490
  function AppShell({
3390
3491
  topBar,
3391
3492
  sidebarSections = [],
@@ -6814,6 +6915,6 @@ function CreditCardForm({
6814
6915
  );
6815
6916
  }
6816
6917
 
6817
- export { AppShell, AutoComplete, Avatar, Box, Button, CARD_BRANDS, Catalog, CatalogCarousel, CatalogGrid, Checkbox, ColorPicker, ContextMenu, CreditCardForm, DateRangePicker, Drawer, Dropdown, FadingBase, Field, FieldHelpIcon, FieldLabel, FileInput, Flex, Form, FormContext, FormField, FormStore, Grid2 as Grid, GridCard, icons_default as Icon, IconButton, List2 as List, LoadingSpinner, Modal, NotificationProvider, NumberInput, OpaqueGridCard, OtpInput, Password, Portal, RadioGroup, Rating, ScalableContainer, SearchInput_default as SearchInput, SegmentedControl, Sidebar, SkeletonBox, SkeletonCard, SkeletonCircle, SkeletonText, Slider, Switch, Table, Tabs_default as Tabs, TagsInput, DatePicker as Temporal, TextArea, TextInput, ThemeProvider, ThemeSwitch, TimePicker, Tooltip, TooltipProvider, TopBar, Tree, TreeSelect, Typography, Wizard, cardNumberError, cvvError, detectBrand, expiryError, fieldShell, formatCardNumber, formatExpiry, isRequired, luhnValid, onlyDigits, patterns, runFieldRules, useFieldArray, useForm, useFormField, useFormStore, useNotification };
6918
+ export { AppShell, AutoComplete, Avatar, Box, Button, CARD_BRANDS, Catalog, CatalogCarousel, CatalogGrid, Checkbox, ColorPicker, ContextMenu, CreditCardForm, DateRangePicker, Drawer, Dropdown, FadingBase, Field, FieldHelpIcon, FieldLabel, FileInput, Flex, Form, FormContext, FormField, FormStore, Grid2 as Grid, GridCard, icons_default as Icon, IconButton, List2 as List, LoadingSpinner, MegaMenu_default as MegaMenu, Modal, NotificationProvider, NumberInput, OpaqueGridCard, OtpInput, Password, Portal, RadioGroup, Rating, ScalableContainer, SearchInput_default as SearchInput, SegmentedControl, Sidebar, SkeletonBox, SkeletonCard, SkeletonCircle, SkeletonText, Slider, Switch, Table, Tabs_default as Tabs, TagsInput, DatePicker as Temporal, TextArea, TextInput, ThemeProvider, ThemeSwitch, TimePicker, Tooltip, TooltipProvider, TopBar, Tree, TreeSelect, Typography, Wizard, cardNumberError, cvvError, detectBrand, expiryError, fieldShell, formatCardNumber, formatExpiry, isRequired, luhnValid, onlyDigits, patterns, runFieldRules, useFieldArray, useForm, useFormField, useFormStore, useNotification };
6818
6919
  //# sourceMappingURL=index.js.map
6819
6920
  //# sourceMappingURL=index.js.map