@geomak/ui 7.1.0 → 7.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.
package/dist/index.d.cts CHANGED
@@ -2529,6 +2529,50 @@ interface TableProps<T extends Record<string, any> = Record<string, any>> {
2529
2529
  */
2530
2530
  declare function Table<T extends Record<string, any> = Record<string, any>>({ columns, rows, getRowKey, pagination, expandRow, hasSearch, search, defaultSort, onSortChange, onCellEdit, footer, header, loading, loadingRowCount, className, style, }: TableProps<T>): react_jsx_runtime.JSX.Element;
2531
2531
 
2532
+ interface VirtualListProps<T> {
2533
+ /** The full dataset — only the visible window is mounted. */
2534
+ items: T[];
2535
+ /** Fixed row height in px. (Variable heights aren't supported in this lean build.) */
2536
+ rowHeight: number;
2537
+ /** Render one item. Wrapped in a row of exactly `rowHeight`. */
2538
+ renderItem: (item: T, index: number) => react__default.ReactNode;
2539
+ /** Viewport height — number (px) or any CSS length. Default `400`. */
2540
+ height?: number | string;
2541
+ /** Stable key per item. Defaults to the index. */
2542
+ getKey?: (item: T, index: number) => react__default.Key;
2543
+ /** Extra rows rendered above/below the viewport to smooth fast scrolls. Default `6`. */
2544
+ overscan?: number;
2545
+ /** Show a search field that filters the list. */
2546
+ searchable?: boolean;
2547
+ /** Object keys to search (default: searches `String(item)`). */
2548
+ searchKeys?: (keyof T)[];
2549
+ /** Custom matcher — overrides `searchKeys`. */
2550
+ filter?: (item: T, term: string) => boolean;
2551
+ searchPlaceholder?: string;
2552
+ /** Shown when there are no items (or none match the search). */
2553
+ emptyState?: react__default.ReactNode;
2554
+ 'aria-label'?: string;
2555
+ className?: string;
2556
+ style?: react__default.CSSProperties;
2557
+ }
2558
+ /**
2559
+ * A windowed (virtualized) list: renders only the rows in view (plus overscan),
2560
+ * so 100k items scroll as cheaply as 20. Fixed `rowHeight`, no dependencies.
2561
+ * Set `searchable` for a built-in filter — the canonical "virtualized search".
2562
+ *
2563
+ * @example
2564
+ * <VirtualList
2565
+ * items={vessels}
2566
+ * rowHeight={56}
2567
+ * height={420}
2568
+ * searchable
2569
+ * searchKeys={['name', 'imo']}
2570
+ * getKey={(v) => v.id}
2571
+ * renderItem={(v) => <div className="px-4 py-2">{v.name}</div>}
2572
+ * />
2573
+ */
2574
+ declare function VirtualList<T>({ items, rowHeight, renderItem, height, getKey, overscan, searchable, searchKeys, filter, searchPlaceholder, emptyState, 'aria-label': ariaLabel, className, style, }: VirtualListProps<T>): react_jsx_runtime.JSX.Element;
2575
+
2532
2576
  interface ThemeSwitchProps {
2533
2577
  checked: boolean;
2534
2578
  onChange: (e: {
@@ -3293,6 +3337,118 @@ interface PasswordProps {
3293
3337
  */
3294
3338
  declare function Password({ value, onChange, disabled, label, htmlFor, placeholder, name, inputStyle, style, layout, size, onBlur, errorMessage, helperText, className, required, showIcon, hideIcon, }: PasswordProps): react_jsx_runtime.JSX.Element;
3295
3339
 
3340
+ interface PasswordRule {
3341
+ label: react__default.ReactNode;
3342
+ test: (password: string) => boolean;
3343
+ }
3344
+ type PasswordScore = 0 | 1 | 2 | 3 | 4;
3345
+ interface PasswordStrengthResult {
3346
+ /** 0 = empty, 1 = weak … 4 = strong. */
3347
+ score: PasswordScore;
3348
+ /** Human label for the score (`''` when empty). */
3349
+ label: string;
3350
+ }
3351
+ /** The default requirement set — also drives the optional checklist. */
3352
+ declare const defaultPasswordRules: PasswordRule[];
3353
+ /**
3354
+ * Lightweight, dependency-free password scorer (0–4). Rewards length and
3355
+ * character variety; caps very repetitive or sequential strings at "weak".
3356
+ * Swap it out via the `scorer` prop (e.g. to plug in zxcvbn) if you need more.
3357
+ */
3358
+ declare function scorePassword(password: string): PasswordStrengthResult;
3359
+ interface PasswordStrengthProps {
3360
+ /** The password to evaluate. */
3361
+ value: string;
3362
+ /** Override the built-in scorer (e.g. wrap zxcvbn). */
3363
+ scorer?: (password: string) => PasswordStrengthResult;
3364
+ /** Show a checklist of which requirements are met. Default `false`. */
3365
+ showRequirements?: boolean;
3366
+ /** Custom requirement list for the checklist. Default {@link defaultPasswordRules}. */
3367
+ rules?: PasswordRule[];
3368
+ /**
3369
+ * When provided, renders a "passwords match" indicator comparing `value` to
3370
+ * this confirmation value. Turns the strength component into the matcher too.
3371
+ */
3372
+ confirmValue?: string;
3373
+ /** Hide the strength bar/label and show only the matcher + requirements. */
3374
+ hideMeter?: boolean;
3375
+ className?: string;
3376
+ style?: react__default.CSSProperties;
3377
+ }
3378
+ /**
3379
+ * Password strength meter + (optional) requirement checklist + (optional)
3380
+ * confirm-password matcher. Controlled — feed it the current password `value`
3381
+ * (and `confirmValue` for the matcher). Scoring is a dependency-free heuristic;
3382
+ * override with `scorer`.
3383
+ *
3384
+ * @example
3385
+ * <Password value={pw} onChange={(e) => setPw(e.target.value)} />
3386
+ * <PasswordStrength value={pw} showRequirements confirmValue={confirm} />
3387
+ */
3388
+ declare function PasswordStrength({ value, scorer, showRequirements, rules, confirmValue, hideMeter, className, style, }: PasswordStrengthProps): react_jsx_runtime.JSX.Element;
3389
+
3390
+ interface RadioTileOption {
3391
+ /** Stable value reported on change / submitted. */
3392
+ value: string;
3393
+ /** Tile title. */
3394
+ label: react__default.ReactNode;
3395
+ /** Secondary line under the title. */
3396
+ description?: react__default.ReactNode;
3397
+ /** Leading icon (rendered in the accent colour). */
3398
+ icon?: react__default.ReactNode;
3399
+ /** Small pill in the top-right corner (e.g. "Popular"). */
3400
+ badge?: react__default.ReactNode;
3401
+ /** Disable this tile only. */
3402
+ disabled?: boolean;
3403
+ }
3404
+ interface RadioTileProps {
3405
+ options: RadioTileOption[];
3406
+ /** Controlled selected value. */
3407
+ value?: string;
3408
+ /** Uncontrolled initial value. */
3409
+ defaultValue?: string;
3410
+ /** Fires when the selection changes. */
3411
+ onChange?: (value: string) => void;
3412
+ /** Native form field name (for `FormData` serialisation). */
3413
+ name?: string;
3414
+ /** Field label above the group. */
3415
+ label?: react__default.ReactNode;
3416
+ /** Widest-breakpoint column count. Default `2`. */
3417
+ columns?: 1 | 2 | 3;
3418
+ /** Size preset — controls padding + text. Default `'md'`. */
3419
+ size?: FieldSize;
3420
+ /** Disable the whole group. */
3421
+ disabled?: boolean;
3422
+ /** Show a required asterisk + `aria-required`. */
3423
+ required?: boolean;
3424
+ /** Contextual help revealed via an info icon beside the label. */
3425
+ helperText?: react__default.ReactNode;
3426
+ /** Validation message — shown under the group; flags it red + `aria-invalid`. */
3427
+ errorMessage?: react__default.ReactNode;
3428
+ className?: string;
3429
+ }
3430
+ /**
3431
+ * A single-select group of rich, card-style options — icon, title, description,
3432
+ * and an optional corner badge. Built on `@radix-ui/react-radio-group`, so it
3433
+ * keeps real radio semantics (roving arrow-key focus, `role="radiogroup"`,
3434
+ * native form serialisation via `name`). The selected tile gets an accent
3435
+ * border + ring and a check mark.
3436
+ *
3437
+ * @example
3438
+ * <RadioTile
3439
+ * label="Plan"
3440
+ * name="plan"
3441
+ * value={plan}
3442
+ * onChange={setPlan}
3443
+ * columns={3}
3444
+ * options={[
3445
+ * { value: 'starter', label: 'Starter', description: '1 vessel', icon: <BoltIcon /> },
3446
+ * { value: 'pro', label: 'Pro', description: 'Unlimited', icon: <RocketIcon />, badge: 'Popular' },
3447
+ * ]}
3448
+ * />
3449
+ */
3450
+ declare function RadioTile({ options, value, defaultValue, onChange, name, label, columns, size, disabled, required, helperText, errorMessage, className, }: RadioTileProps): react_jsx_runtime.JSX.Element;
3451
+
3296
3452
  interface SearchInputProps {
3297
3453
  /** Controlled value. */
3298
3454
  value?: string;
@@ -5313,4 +5469,4 @@ declare function expiryError(value: string, now?: Date): string | undefined;
5313
5469
  /** Validate the CVV against the detected brand's expected length. */
5314
5470
  declare function cvvError(value: string, cardNumber: string): string | undefined;
5315
5471
 
5316
- export { Accordion, type AccordionItemProps, type AccordionProps, AppShell, type AppShellProps, AutoComplete, type AutoCompleteProps, Avatar, type AvatarProps, type AvatarShape, type AvatarSize, type AvatarStatus, Badge, type BadgeProps, type BadgeSize, type BadgeTone, type BadgeVariant, Blog, type BlogPost, type BlogProps, Box, type BoxBackground, type BoxBorder, type BoxProps, type BoxRadius, type BoxShadow, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, type Breakpoint, type BreakpointState, Button, type ButtonProps, CARD_BRANDS, Card, type CardBodyProps, type CardBrand, CardCarousel, type CardCarouselProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, Cart, CartButton, type CartButtonProps, type CartContextValue, type CartItemInput, type CartLineItem, type CartProps, CartProvider, type CartProviderProps, type CartSummaryRow, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Chat, type ChatMessage, type ChatProps, Checkbox, type CheckboxProps, Checkout, type CheckoutProps, type ClassValue, ColorPicker, type ColorPickerProps, type ConsentChoice, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, CookieConsent, type CookieConsentProps, CreditCardForm, type CreditCardFormProps, type CreditCardValue, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, type DeltaDirection, Drawer, type DrawerProps, type DrawerSize, Dropdown, type DropdownItem, type DropdownProps, EmptyCart, type EmptyCartProps, type ErrorMap, type ExpandRowOptions, FAB, type FABAction, type FABPosition, type FABProps, type FABSize, type FABTone, FadingBase, type FadingBaseProps, type Feature, FeatureGrid, type FeatureGridProps, 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, IconButton, type IconButtonProps, Jumbotron, type JumbotronBackground, type JumbotronLayout, type JumbotronProps, type JwtResult, Kbd, type KbdProps, type KbdSize, LeadCapture, type LeadCaptureProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, LogoutTimer, type LogoutTimerProps, MegaMenu, type MegaMenuFeaturedProps, type MegaMenuItemProps, type MegaMenuLinkProps, type MegaMenuPanelProps, type MegaMenuProps, type MegaMenuSectionProps, MenuButton, type MenuButtonItem, type MenuButtonProps, Modal, type ModalProps, type ModalSize, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, OtpInput, type OtpInputProps, type PaginationOptions, Parallax, type ParallaxProps, Password, type PasswordProps, PopConfirm, type PopConfirmProps, type PopConfirmTone, Portal, type PortalProps, type PricingPlan, PricingPlans, type PricingPlansProps, RadioGroup, type RadioGroupProps, type RadioOption, Rating, type RatingProps, type RulesMap, ScalableContainer, type ScalableContainerProps, Scheduler, type SchedulerEvent, type SchedulerProps, type SchedulerRange, type SchedulerView, SearchInput, type SearchInputProps, SecureLayout, type SecureLayoutProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, SkeletonBox, type SkeletonBoxProps, SkeletonCard, type SkeletonCardProps, SkeletonCircle, type SkeletonCircleProps, SkeletonText, type SkeletonTextProps, type Slide, SlideShow, type SlideShowProps, Slider, type SliderMark, type SliderProps, type SliderValue, type SocialLink, type SocialPlatform, Socials, type SocialsProps, type Spacing, Statistic, type StatisticDelta, type StatisticProps, type StatisticSize, Stepper, type StepperActiveStatus, type StepperProps, type StepperStep, 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, type Testimonial, Testimonials, type TestimonialsProps, 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, Timeline, type TimelineEvent, type TimelineProps, type TimelineStatus, 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, Video, type VideoProps, Wizard, type WizardProps, type WizardStep, cardNumberError, cvvError, cx, detectBrand, expiryError, fieldShell, formatCardNumber, formatExpiry, isRequired, luhnValid, onlyDigits, patterns, runFieldRules, useBreakpoint, useCart, useFieldArray, useForm, useFormField, useFormStore, useJwt, useLocalStorage, useMediaQuery, useNotification };
5472
+ export { Accordion, type AccordionItemProps, type AccordionProps, AppShell, type AppShellProps, AutoComplete, type AutoCompleteProps, Avatar, type AvatarProps, type AvatarShape, type AvatarSize, type AvatarStatus, Badge, type BadgeProps, type BadgeSize, type BadgeTone, type BadgeVariant, Blog, type BlogPost, type BlogProps, Box, type BoxBackground, type BoxBorder, type BoxProps, type BoxRadius, type BoxShadow, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, type Breakpoint, type BreakpointState, Button, type ButtonProps, CARD_BRANDS, Card, type CardBodyProps, type CardBrand, CardCarousel, type CardCarouselProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, Cart, CartButton, type CartButtonProps, type CartContextValue, type CartItemInput, type CartLineItem, type CartProps, CartProvider, type CartProviderProps, type CartSummaryRow, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, type CellEditInfo, Chat, type ChatMessage, type ChatProps, Checkbox, type CheckboxProps, Checkout, type CheckoutProps, type ClassValue, ColorPicker, type ColorPickerProps, type ConsentChoice, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, CookieConsent, type CookieConsentProps, CreditCardForm, type CreditCardFormProps, type CreditCardValue, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, type DeltaDirection, Drawer, type DrawerProps, type DrawerSize, Dropdown, type DropdownItem, type DropdownProps, type EditorArgs, EmptyCart, type EmptyCartProps, type ErrorMap, type ExpandRowOptions, FAB, type FABAction, type FABPosition, type FABProps, type FABSize, type FABTone, FadingBase, type FadingBaseProps, type Feature, FeatureGrid, type FeatureGridProps, 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, IconButton, type IconButtonProps, Jumbotron, type JumbotronBackground, type JumbotronLayout, type JumbotronProps, type JwtResult, Kbd, type KbdProps, type KbdSize, LeadCapture, type LeadCaptureProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, LogoutTimer, type LogoutTimerProps, MegaMenu, type MegaMenuFeaturedProps, type MegaMenuItemProps, type MegaMenuLinkProps, type MegaMenuPanelProps, type MegaMenuProps, type MegaMenuSectionProps, MenuButton, type MenuButtonItem, type MenuButtonProps, Modal, type ModalProps, type ModalSize, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, OtpInput, type OtpInputProps, type PaginationOptions, Parallax, type ParallaxProps, Password, type PasswordProps, type PasswordRule, type PasswordScore, PasswordStrength, type PasswordStrengthProps, type PasswordStrengthResult, PopConfirm, type PopConfirmProps, type PopConfirmTone, Portal, type PortalProps, type PricingPlan, PricingPlans, type PricingPlansProps, RadioGroup, type RadioGroupProps, type RadioOption, RadioTile, type RadioTileOption, type RadioTileProps, Rating, type RatingProps, type RulesMap, ScalableContainer, type ScalableContainerProps, Scheduler, type SchedulerEvent, type SchedulerProps, type SchedulerRange, type SchedulerView, SearchInput, type SearchInputProps, type SearchOptions, SecureLayout, type SecureLayoutProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, SkeletonBox, type SkeletonBoxProps, SkeletonCard, type SkeletonCardProps, SkeletonCircle, type SkeletonCircleProps, SkeletonText, type SkeletonTextProps, type Slide, SlideShow, type SlideShowProps, Slider, type SliderMark, type SliderProps, type SliderValue, type SocialLink, type SocialPlatform, Socials, type SocialsProps, type SortDirection, type SortState, type Spacing, Statistic, type StatisticDelta, type StatisticProps, type StatisticSize, Stepper, type StepperActiveStatus, type StepperProps, type StepperStep, 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, type Testimonial, Testimonials, type TestimonialsProps, 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, Timeline, type TimelineEvent, type TimelineProps, type TimelineStatus, 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, Video, type VideoProps, VirtualList, type VirtualListProps, Wizard, type WizardProps, type WizardStep, cardNumberError, cvvError, cx, defaultPasswordRules, detectBrand, expiryError, fieldShell, formatCardNumber, formatExpiry, isRequired, luhnValid, onlyDigits, patterns, runFieldRules, scorePassword, useBreakpoint, useCart, useFieldArray, useForm, useFormField, useFormStore, useJwt, useLocalStorage, useMediaQuery, useNotification };
package/dist/index.d.ts CHANGED
@@ -2529,6 +2529,50 @@ interface TableProps<T extends Record<string, any> = Record<string, any>> {
2529
2529
  */
2530
2530
  declare function Table<T extends Record<string, any> = Record<string, any>>({ columns, rows, getRowKey, pagination, expandRow, hasSearch, search, defaultSort, onSortChange, onCellEdit, footer, header, loading, loadingRowCount, className, style, }: TableProps<T>): react_jsx_runtime.JSX.Element;
2531
2531
 
2532
+ interface VirtualListProps<T> {
2533
+ /** The full dataset — only the visible window is mounted. */
2534
+ items: T[];
2535
+ /** Fixed row height in px. (Variable heights aren't supported in this lean build.) */
2536
+ rowHeight: number;
2537
+ /** Render one item. Wrapped in a row of exactly `rowHeight`. */
2538
+ renderItem: (item: T, index: number) => react__default.ReactNode;
2539
+ /** Viewport height — number (px) or any CSS length. Default `400`. */
2540
+ height?: number | string;
2541
+ /** Stable key per item. Defaults to the index. */
2542
+ getKey?: (item: T, index: number) => react__default.Key;
2543
+ /** Extra rows rendered above/below the viewport to smooth fast scrolls. Default `6`. */
2544
+ overscan?: number;
2545
+ /** Show a search field that filters the list. */
2546
+ searchable?: boolean;
2547
+ /** Object keys to search (default: searches `String(item)`). */
2548
+ searchKeys?: (keyof T)[];
2549
+ /** Custom matcher — overrides `searchKeys`. */
2550
+ filter?: (item: T, term: string) => boolean;
2551
+ searchPlaceholder?: string;
2552
+ /** Shown when there are no items (or none match the search). */
2553
+ emptyState?: react__default.ReactNode;
2554
+ 'aria-label'?: string;
2555
+ className?: string;
2556
+ style?: react__default.CSSProperties;
2557
+ }
2558
+ /**
2559
+ * A windowed (virtualized) list: renders only the rows in view (plus overscan),
2560
+ * so 100k items scroll as cheaply as 20. Fixed `rowHeight`, no dependencies.
2561
+ * Set `searchable` for a built-in filter — the canonical "virtualized search".
2562
+ *
2563
+ * @example
2564
+ * <VirtualList
2565
+ * items={vessels}
2566
+ * rowHeight={56}
2567
+ * height={420}
2568
+ * searchable
2569
+ * searchKeys={['name', 'imo']}
2570
+ * getKey={(v) => v.id}
2571
+ * renderItem={(v) => <div className="px-4 py-2">{v.name}</div>}
2572
+ * />
2573
+ */
2574
+ declare function VirtualList<T>({ items, rowHeight, renderItem, height, getKey, overscan, searchable, searchKeys, filter, searchPlaceholder, emptyState, 'aria-label': ariaLabel, className, style, }: VirtualListProps<T>): react_jsx_runtime.JSX.Element;
2575
+
2532
2576
  interface ThemeSwitchProps {
2533
2577
  checked: boolean;
2534
2578
  onChange: (e: {
@@ -3293,6 +3337,118 @@ interface PasswordProps {
3293
3337
  */
3294
3338
  declare function Password({ value, onChange, disabled, label, htmlFor, placeholder, name, inputStyle, style, layout, size, onBlur, errorMessage, helperText, className, required, showIcon, hideIcon, }: PasswordProps): react_jsx_runtime.JSX.Element;
3295
3339
 
3340
+ interface PasswordRule {
3341
+ label: react__default.ReactNode;
3342
+ test: (password: string) => boolean;
3343
+ }
3344
+ type PasswordScore = 0 | 1 | 2 | 3 | 4;
3345
+ interface PasswordStrengthResult {
3346
+ /** 0 = empty, 1 = weak … 4 = strong. */
3347
+ score: PasswordScore;
3348
+ /** Human label for the score (`''` when empty). */
3349
+ label: string;
3350
+ }
3351
+ /** The default requirement set — also drives the optional checklist. */
3352
+ declare const defaultPasswordRules: PasswordRule[];
3353
+ /**
3354
+ * Lightweight, dependency-free password scorer (0–4). Rewards length and
3355
+ * character variety; caps very repetitive or sequential strings at "weak".
3356
+ * Swap it out via the `scorer` prop (e.g. to plug in zxcvbn) if you need more.
3357
+ */
3358
+ declare function scorePassword(password: string): PasswordStrengthResult;
3359
+ interface PasswordStrengthProps {
3360
+ /** The password to evaluate. */
3361
+ value: string;
3362
+ /** Override the built-in scorer (e.g. wrap zxcvbn). */
3363
+ scorer?: (password: string) => PasswordStrengthResult;
3364
+ /** Show a checklist of which requirements are met. Default `false`. */
3365
+ showRequirements?: boolean;
3366
+ /** Custom requirement list for the checklist. Default {@link defaultPasswordRules}. */
3367
+ rules?: PasswordRule[];
3368
+ /**
3369
+ * When provided, renders a "passwords match" indicator comparing `value` to
3370
+ * this confirmation value. Turns the strength component into the matcher too.
3371
+ */
3372
+ confirmValue?: string;
3373
+ /** Hide the strength bar/label and show only the matcher + requirements. */
3374
+ hideMeter?: boolean;
3375
+ className?: string;
3376
+ style?: react__default.CSSProperties;
3377
+ }
3378
+ /**
3379
+ * Password strength meter + (optional) requirement checklist + (optional)
3380
+ * confirm-password matcher. Controlled — feed it the current password `value`
3381
+ * (and `confirmValue` for the matcher). Scoring is a dependency-free heuristic;
3382
+ * override with `scorer`.
3383
+ *
3384
+ * @example
3385
+ * <Password value={pw} onChange={(e) => setPw(e.target.value)} />
3386
+ * <PasswordStrength value={pw} showRequirements confirmValue={confirm} />
3387
+ */
3388
+ declare function PasswordStrength({ value, scorer, showRequirements, rules, confirmValue, hideMeter, className, style, }: PasswordStrengthProps): react_jsx_runtime.JSX.Element;
3389
+
3390
+ interface RadioTileOption {
3391
+ /** Stable value reported on change / submitted. */
3392
+ value: string;
3393
+ /** Tile title. */
3394
+ label: react__default.ReactNode;
3395
+ /** Secondary line under the title. */
3396
+ description?: react__default.ReactNode;
3397
+ /** Leading icon (rendered in the accent colour). */
3398
+ icon?: react__default.ReactNode;
3399
+ /** Small pill in the top-right corner (e.g. "Popular"). */
3400
+ badge?: react__default.ReactNode;
3401
+ /** Disable this tile only. */
3402
+ disabled?: boolean;
3403
+ }
3404
+ interface RadioTileProps {
3405
+ options: RadioTileOption[];
3406
+ /** Controlled selected value. */
3407
+ value?: string;
3408
+ /** Uncontrolled initial value. */
3409
+ defaultValue?: string;
3410
+ /** Fires when the selection changes. */
3411
+ onChange?: (value: string) => void;
3412
+ /** Native form field name (for `FormData` serialisation). */
3413
+ name?: string;
3414
+ /** Field label above the group. */
3415
+ label?: react__default.ReactNode;
3416
+ /** Widest-breakpoint column count. Default `2`. */
3417
+ columns?: 1 | 2 | 3;
3418
+ /** Size preset — controls padding + text. Default `'md'`. */
3419
+ size?: FieldSize;
3420
+ /** Disable the whole group. */
3421
+ disabled?: boolean;
3422
+ /** Show a required asterisk + `aria-required`. */
3423
+ required?: boolean;
3424
+ /** Contextual help revealed via an info icon beside the label. */
3425
+ helperText?: react__default.ReactNode;
3426
+ /** Validation message — shown under the group; flags it red + `aria-invalid`. */
3427
+ errorMessage?: react__default.ReactNode;
3428
+ className?: string;
3429
+ }
3430
+ /**
3431
+ * A single-select group of rich, card-style options — icon, title, description,
3432
+ * and an optional corner badge. Built on `@radix-ui/react-radio-group`, so it
3433
+ * keeps real radio semantics (roving arrow-key focus, `role="radiogroup"`,
3434
+ * native form serialisation via `name`). The selected tile gets an accent
3435
+ * border + ring and a check mark.
3436
+ *
3437
+ * @example
3438
+ * <RadioTile
3439
+ * label="Plan"
3440
+ * name="plan"
3441
+ * value={plan}
3442
+ * onChange={setPlan}
3443
+ * columns={3}
3444
+ * options={[
3445
+ * { value: 'starter', label: 'Starter', description: '1 vessel', icon: <BoltIcon /> },
3446
+ * { value: 'pro', label: 'Pro', description: 'Unlimited', icon: <RocketIcon />, badge: 'Popular' },
3447
+ * ]}
3448
+ * />
3449
+ */
3450
+ declare function RadioTile({ options, value, defaultValue, onChange, name, label, columns, size, disabled, required, helperText, errorMessage, className, }: RadioTileProps): react_jsx_runtime.JSX.Element;
3451
+
3296
3452
  interface SearchInputProps {
3297
3453
  /** Controlled value. */
3298
3454
  value?: string;
@@ -5313,4 +5469,4 @@ declare function expiryError(value: string, now?: Date): string | undefined;
5313
5469
  /** Validate the CVV against the detected brand's expected length. */
5314
5470
  declare function cvvError(value: string, cardNumber: string): string | undefined;
5315
5471
 
5316
- export { Accordion, type AccordionItemProps, type AccordionProps, AppShell, type AppShellProps, AutoComplete, type AutoCompleteProps, Avatar, type AvatarProps, type AvatarShape, type AvatarSize, type AvatarStatus, Badge, type BadgeProps, type BadgeSize, type BadgeTone, type BadgeVariant, Blog, type BlogPost, type BlogProps, Box, type BoxBackground, type BoxBorder, type BoxProps, type BoxRadius, type BoxShadow, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, type Breakpoint, type BreakpointState, Button, type ButtonProps, CARD_BRANDS, Card, type CardBodyProps, type CardBrand, CardCarousel, type CardCarouselProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, Cart, CartButton, type CartButtonProps, type CartContextValue, type CartItemInput, type CartLineItem, type CartProps, CartProvider, type CartProviderProps, type CartSummaryRow, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Chat, type ChatMessage, type ChatProps, Checkbox, type CheckboxProps, Checkout, type CheckoutProps, type ClassValue, ColorPicker, type ColorPickerProps, type ConsentChoice, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, CookieConsent, type CookieConsentProps, CreditCardForm, type CreditCardFormProps, type CreditCardValue, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, type DeltaDirection, Drawer, type DrawerProps, type DrawerSize, Dropdown, type DropdownItem, type DropdownProps, EmptyCart, type EmptyCartProps, type ErrorMap, type ExpandRowOptions, FAB, type FABAction, type FABPosition, type FABProps, type FABSize, type FABTone, FadingBase, type FadingBaseProps, type Feature, FeatureGrid, type FeatureGridProps, 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, IconButton, type IconButtonProps, Jumbotron, type JumbotronBackground, type JumbotronLayout, type JumbotronProps, type JwtResult, Kbd, type KbdProps, type KbdSize, LeadCapture, type LeadCaptureProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, LogoutTimer, type LogoutTimerProps, MegaMenu, type MegaMenuFeaturedProps, type MegaMenuItemProps, type MegaMenuLinkProps, type MegaMenuPanelProps, type MegaMenuProps, type MegaMenuSectionProps, MenuButton, type MenuButtonItem, type MenuButtonProps, Modal, type ModalProps, type ModalSize, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, OtpInput, type OtpInputProps, type PaginationOptions, Parallax, type ParallaxProps, Password, type PasswordProps, PopConfirm, type PopConfirmProps, type PopConfirmTone, Portal, type PortalProps, type PricingPlan, PricingPlans, type PricingPlansProps, RadioGroup, type RadioGroupProps, type RadioOption, Rating, type RatingProps, type RulesMap, ScalableContainer, type ScalableContainerProps, Scheduler, type SchedulerEvent, type SchedulerProps, type SchedulerRange, type SchedulerView, SearchInput, type SearchInputProps, SecureLayout, type SecureLayoutProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, SkeletonBox, type SkeletonBoxProps, SkeletonCard, type SkeletonCardProps, SkeletonCircle, type SkeletonCircleProps, SkeletonText, type SkeletonTextProps, type Slide, SlideShow, type SlideShowProps, Slider, type SliderMark, type SliderProps, type SliderValue, type SocialLink, type SocialPlatform, Socials, type SocialsProps, type Spacing, Statistic, type StatisticDelta, type StatisticProps, type StatisticSize, Stepper, type StepperActiveStatus, type StepperProps, type StepperStep, 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, type Testimonial, Testimonials, type TestimonialsProps, 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, Timeline, type TimelineEvent, type TimelineProps, type TimelineStatus, 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, Video, type VideoProps, Wizard, type WizardProps, type WizardStep, cardNumberError, cvvError, cx, detectBrand, expiryError, fieldShell, formatCardNumber, formatExpiry, isRequired, luhnValid, onlyDigits, patterns, runFieldRules, useBreakpoint, useCart, useFieldArray, useForm, useFormField, useFormStore, useJwt, useLocalStorage, useMediaQuery, useNotification };
5472
+ export { Accordion, type AccordionItemProps, type AccordionProps, AppShell, type AppShellProps, AutoComplete, type AutoCompleteProps, Avatar, type AvatarProps, type AvatarShape, type AvatarSize, type AvatarStatus, Badge, type BadgeProps, type BadgeSize, type BadgeTone, type BadgeVariant, Blog, type BlogPost, type BlogProps, Box, type BoxBackground, type BoxBorder, type BoxProps, type BoxRadius, type BoxShadow, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, type Breakpoint, type BreakpointState, Button, type ButtonProps, CARD_BRANDS, Card, type CardBodyProps, type CardBrand, CardCarousel, type CardCarouselProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, Cart, CartButton, type CartButtonProps, type CartContextValue, type CartItemInput, type CartLineItem, type CartProps, CartProvider, type CartProviderProps, type CartSummaryRow, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, type CellEditInfo, Chat, type ChatMessage, type ChatProps, Checkbox, type CheckboxProps, Checkout, type CheckoutProps, type ClassValue, ColorPicker, type ColorPickerProps, type ConsentChoice, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, CookieConsent, type CookieConsentProps, CreditCardForm, type CreditCardFormProps, type CreditCardValue, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, type DeltaDirection, Drawer, type DrawerProps, type DrawerSize, Dropdown, type DropdownItem, type DropdownProps, type EditorArgs, EmptyCart, type EmptyCartProps, type ErrorMap, type ExpandRowOptions, FAB, type FABAction, type FABPosition, type FABProps, type FABSize, type FABTone, FadingBase, type FadingBaseProps, type Feature, FeatureGrid, type FeatureGridProps, 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, IconButton, type IconButtonProps, Jumbotron, type JumbotronBackground, type JumbotronLayout, type JumbotronProps, type JwtResult, Kbd, type KbdProps, type KbdSize, LeadCapture, type LeadCaptureProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, LogoutTimer, type LogoutTimerProps, MegaMenu, type MegaMenuFeaturedProps, type MegaMenuItemProps, type MegaMenuLinkProps, type MegaMenuPanelProps, type MegaMenuProps, type MegaMenuSectionProps, MenuButton, type MenuButtonItem, type MenuButtonProps, Modal, type ModalProps, type ModalSize, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, OtpInput, type OtpInputProps, type PaginationOptions, Parallax, type ParallaxProps, Password, type PasswordProps, type PasswordRule, type PasswordScore, PasswordStrength, type PasswordStrengthProps, type PasswordStrengthResult, PopConfirm, type PopConfirmProps, type PopConfirmTone, Portal, type PortalProps, type PricingPlan, PricingPlans, type PricingPlansProps, RadioGroup, type RadioGroupProps, type RadioOption, RadioTile, type RadioTileOption, type RadioTileProps, Rating, type RatingProps, type RulesMap, ScalableContainer, type ScalableContainerProps, Scheduler, type SchedulerEvent, type SchedulerProps, type SchedulerRange, type SchedulerView, SearchInput, type SearchInputProps, type SearchOptions, SecureLayout, type SecureLayoutProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, SkeletonBox, type SkeletonBoxProps, SkeletonCard, type SkeletonCardProps, SkeletonCircle, type SkeletonCircleProps, SkeletonText, type SkeletonTextProps, type Slide, SlideShow, type SlideShowProps, Slider, type SliderMark, type SliderProps, type SliderValue, type SocialLink, type SocialPlatform, Socials, type SocialsProps, type SortDirection, type SortState, type Spacing, Statistic, type StatisticDelta, type StatisticProps, type StatisticSize, Stepper, type StepperActiveStatus, type StepperProps, type StepperStep, 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, type Testimonial, Testimonials, type TestimonialsProps, 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, Timeline, type TimelineEvent, type TimelineProps, type TimelineStatus, 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, Video, type VideoProps, VirtualList, type VirtualListProps, Wizard, type WizardProps, type WizardStep, cardNumberError, cvvError, cx, defaultPasswordRules, detectBrand, expiryError, fieldShell, formatCardNumber, formatExpiry, isRequired, luhnValid, onlyDigits, patterns, runFieldRules, scorePassword, useBreakpoint, useCart, useFieldArray, useForm, useFormField, useFormStore, useJwt, useLocalStorage, useMediaQuery, useNotification };