@northlight/ui 2.22.1 → 2.23.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,4 +1,4 @@
1
- import { AccordionProps, AccordionButtonProps, AccordionPanelProps, AccordionItemProps, StackDirection, AvatarProps as AvatarProps$1, AlertProps as AlertProps$1, AspectRatioProps, StackProps, BadgeProps, ButtonProps as ButtonProps$1, CheckboxProps as CheckboxProps$1, IconButtonProps as IconButtonProps$1, PopoverProps, BoxProps, InputProps, FlexProps, TagProps as TagProps$1, IconProps as IconProps$1, SystemStyleObject, HeadingProps as HeadingProps$1, TextProps, FormLabelProps as FormLabelProps$1, Heading, Text, ModalProps as ModalProps$1, ResponsiveValue, MenuProps as MenuProps$1, NumberInputProps as NumberInputProps$1, PinInputProps as PinInputProps$1, ProgressProps, RadioProps as RadioProps$1, RadioGroupProps as RadioGroupProps$1, SpinnerProps as SpinnerProps$1, SwitchProps as SwitchProps$1, TableProps as TableProps$1, TabsProps as TabsProps$1, TabPanelProps as TabPanelProps$1, TextareaProps as TextareaProps$1, UseToastOptions as UseToastOptions$1, TooltipProps, FadeProps as FadeProps$1, ScaleFadeProps as ScaleFadeProps$1, SlideProps as SlideProps$1, SlideFadeProps as SlideFadeProps$1, CollapseProps as CollapseProps$1, ModalBodyProps, TabListProps, TabProps, LinkProps, GridProps, GridItemProps, EditableProps as EditableProps$1 } from '@chakra-ui/react';
1
+ import { AccordionProps, AccordionButtonProps, AccordionPanelProps, AccordionItemProps, StackDirection, AvatarProps as AvatarProps$1, AlertProps as AlertProps$1, AspectRatioProps, StackProps, BadgeProps, ButtonProps as ButtonProps$1, CheckboxProps as CheckboxProps$1, IconButtonProps as IconButtonProps$1, PopoverProps, BoxProps, InputProps, CenterProps, FlexProps, TagProps as TagProps$1, IconProps as IconProps$1, SystemStyleObject, HeadingProps as HeadingProps$1, TextProps, FormLabelProps as FormLabelProps$1, Heading, Text, ModalProps as ModalProps$1, ResponsiveValue, MenuProps as MenuProps$1, NumberInputProps as NumberInputProps$1, PinInputProps as PinInputProps$1, ProgressProps, RadioProps as RadioProps$1, RadioGroupProps as RadioGroupProps$1, SpinnerProps as SpinnerProps$1, SwitchProps as SwitchProps$1, TableProps as TableProps$1, TabsProps as TabsProps$1, TabPanelProps as TabPanelProps$1, TextareaProps as TextareaProps$1, UseToastOptions as UseToastOptions$1, TooltipProps, FadeProps as FadeProps$1, ScaleFadeProps as ScaleFadeProps$1, SlideProps as SlideProps$1, SlideFadeProps as SlideFadeProps$1, CollapseProps as CollapseProps$1, ModalBodyProps, TabListProps, TabProps, LinkProps, GridProps, GridItemProps, EditableProps as EditableProps$1 } from '@chakra-ui/react';
2
2
  export { AbsoluteCenter, AccordionButtonProps, AccordionIcon, AccordionIconProps, AccordionItemProps, AccordionPanelProps, AccordionProps, AlertDescription, AlertDialog, AlertDialogBody, AlertDialogCloseButton, AlertDialogContent, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertIcon, AlertTitle, AspectRatioProps, BadgeProps, Box, BoxProps, BreadcrumbItem as Breadcrumb, BreadcrumbLink, BreadcrumbSeparator, Breadcrumb as Breadcrumbs, ButtonGroup, Card, CardBody, CardFooter, CardHeader, Center, Modal as ChakraModal, CheckboxGroup, Circle, CircularProgress, CircularProgressLabel, CloseButton, Code, Container, Divider, Drawer, DrawerBody, DrawerCloseButton, DrawerContent, DrawerFooter, DrawerHeader, DrawerOverlay, Editable, EditableInput, EditablePreview, Flex, FormControl, FormErrorMessage, FormHelperText, Grid, GridItem, HStack, Heading, Hide, Highlight, Image, Input, InputAddon, InputGroup, InputLeftAddon, InputLeftElement, InputRightAddon, InputRightElement, Kbd, Link, LinkBox, LinkOverlay, List, ListIcon, ListItem, MenuButton, MenuCommand, MenuDivider, MenuGroup, MenuIcon, MenuItem, MenuItemOption, MenuList, MenuOptionGroup, ModalCloseButton, ModalContent, ModalFooter, ModalHeader, NumberDecrementStepper, NumberIncrementStepper, OrderedList, PinInputField, PopoverAnchor, PopoverArrow, PopoverBody, PopoverCloseButton, PopoverContent, PopoverFooter, PopoverHeader, PopoverTrigger, Portal, RangeSlider, RangeSliderFilledTrack, RangeSliderMark, RangeSliderThumb, RangeSliderTrack, Show, SimpleGrid, Skeleton, SkeletonCircle, SkeletonText, Slider, SliderFilledTrack, SliderMark, SliderThumb, SliderTrack, Spacer, Stack, StackDivider, StackProps, Stat, StatArrow, StatGroup, StatHelpText, StatLabel, StatNumber, TabIndicator as StepIndicator, TabPanels as StepPanels, Tab, TabIndicator, TabList, TabPanels, TableBodyProps, TableCaption, TableCaptionProps, TableCellProps, TableColumnHeaderProps, TableContainer, TableContainerProps, TableFooterProps, TableHeadProps, TableRowProps, TagCloseButton, TagLabel, TagLeftIcon, TagRightIcon, Tbody, Td, Text, Tfoot, Th, Thead, Tr, UnorderedList, VStack, VisuallyHidden, VisuallyHiddenInput, Wrap, WrapItem, keyframes, useBoolean, useBreakpoint, useBreakpointValue, useClipboard, useControllableProp, useControllableState, useDisclosure, useEditable, useEditableControls, useEditableState, useInterval, useMediaQuery, useMergeRefs, useNumberInput, useOutsideClick, usePrefersReducedMotion, useRadio, useRadioGroup, useTab, useTabs, useTheme, useToken } from '@chakra-ui/react';
3
3
  import { Props, GroupBase, MultiValue, SingleValue, ActionMeta, MenuListProps, SelectInstance, ChakraStylesConfig } from 'chakra-react-select';
4
4
  export { AsyncCreatableSelect, AsyncSelect, Select as ChakraReactSelect, CreatableSelect, MultiValue, SingleValue } from 'chakra-react-select';
@@ -32,6 +32,8 @@ import { Props as Props$1 } from 'react-input-mask';
32
32
  import { NumericFormatProps } from 'react-number-format';
33
33
  import { Schema } from 'joi';
34
34
  import { UseClickableProps } from '@chakra-ui/clickable';
35
+ import { Option as Option$1 } from '@northlight/ui';
36
+ import { Variant } from 'chakra-react-select/dist/types/types';
35
37
  import * as _react_types_shared from '@react-types/shared';
36
38
  import * as _react_aria_focus from '@react-aria/focus';
37
39
 
@@ -328,7 +330,7 @@ interface OrganizationLogoProps extends AvatarProps$1 {
328
330
  */
329
331
  declare const OrganizationLogo: ({ name, image, variant, ...rest }: OrganizationLogoProps) => JSX.Element;
330
332
 
331
- type AlertVariants = 'success' | 'warning' | 'error' | 'info';
333
+ type AlertVariants = 'success' | 'warning' | 'error' | 'info' | 'danger' | 'ai' | 'default' | 'ghost';
332
334
  interface AlertProps extends AlertProps$1 {
333
335
  variant?: AlertVariants;
334
336
  }
@@ -1025,7 +1027,7 @@ declare const DatePickerField: (props: DatePickerFieldProps & React__default.Ref
1025
1027
  */
1026
1028
  declare const DateRangePickerField: (props: DateRangePickerFieldProps & React__default.RefAttributes<HTMLDivElement>) => React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | null;
1027
1029
 
1028
- interface IntentButtonProps {
1030
+ interface IntentButtonProps extends CenterProps {
1029
1031
  icon?: ComponentType<any>;
1030
1032
  timeout?: number;
1031
1033
  onTimeout?: () => void;
@@ -1063,7 +1065,7 @@ interface IntentButtonProps {
1063
1065
  *?)
1064
1066
  *
1065
1067
  */
1066
- declare const IntentButton: ({ icon, timeout, ringColor, onTimeout, tooltipText, "aria-label": ariaLabel, }: IntentButtonProps) => JSX.Element;
1068
+ declare const IntentButton: ({ icon, timeout, ringColor, onTimeout, tooltipText, "aria-label": ariaLabel, ...rest }: IntentButtonProps) => JSX.Element;
1067
1069
 
1068
1070
  interface ToolboxProps extends Omit<FlexProps, 'direction'> {
1069
1071
  isResizable?: boolean;
@@ -1310,17 +1312,20 @@ type ChildrenType$1<PropType = any, PropTypeTwo = any> = ((props: PropType, seco
1310
1312
  type MultiItemType<itemKeys extends string | number | symbol> = Record<itemKeys, string[]>;
1311
1313
  interface DroppableProps extends UseDroppableArguments {
1312
1314
  children?: ((props: any) => JSX.Element | JSX.Element[]) | (JSX.Element | JSX.Element[]);
1315
+ 'data-testid'?: string;
1313
1316
  }
1314
1317
  interface DraggableProps extends UseDraggableArguments {
1315
1318
  itemLabel?: string;
1316
1319
  children?: ChildrenType$1<ListenersType>;
1317
1320
  disableDrag?: boolean;
1321
+ 'data-testid'?: string;
1318
1322
  }
1319
1323
  interface SortableItemProps extends UseSortableArguments {
1320
1324
  children?: ChildrenType$1<ListenersType>;
1321
1325
  itemLabel?: UniqueIdentifier;
1322
1326
  dblClickThreshold?: number;
1323
1327
  disableDrag?: boolean;
1328
+ 'data-testid'?: string;
1324
1329
  }
1325
1330
  type MovedItemType<T> = {
1326
1331
  item: T;
@@ -1416,7 +1421,7 @@ interface SortableContainerProps {
1416
1421
  *
1417
1422
  *
1418
1423
  */
1419
- declare const Draggable: ({ itemLabel, children, disableDrag, ...rest }: DraggableProps) => JSX.Element;
1424
+ declare const Draggable: ({ itemLabel, children, disableDrag, "data-testid": dataTestId, ...rest }: DraggableProps) => JSX.Element;
1420
1425
 
1421
1426
  /**
1422
1427
  * Wrapper where you can style a container to place draggable elements
@@ -1454,7 +1459,7 @@ declare const Draggable: ({ itemLabel, children, disableDrag, ...rest }: Draggab
1454
1459
  * ?)
1455
1460
  *
1456
1461
  */
1457
- declare const Droppable: ({ children, ...rest }: DroppableProps) => JSX.Element;
1462
+ declare const Droppable: ({ children, "data-testid": testId, ...rest }: DroppableProps) => JSX.Element;
1458
1463
 
1459
1464
  /**
1460
1465
  * Wrapper that provides context for sortable elements using DnD-kit
@@ -1477,7 +1482,7 @@ declare const Sortable: (props: SortableContextProps) => JSX.Element;
1477
1482
  * @example
1478
1483
  * (? <SortableItem id="sortable-1"/> ?)
1479
1484
  * */
1480
- declare const SortableItem: ({ itemLabel, dblClickThreshold, children, disableDrag, ...rest }: SortableItemProps) => JSX.Element;
1485
+ declare const SortableItem: ({ itemLabel, dblClickThreshold, children, disableDrag, "data-testid": dataTestId, ...rest }: SortableItemProps) => JSX.Element;
1481
1486
 
1482
1487
  /**
1483
1488
  * Default draggable item none other provided in SortableList and MultiSort.
@@ -2097,7 +2102,7 @@ type ModalBooleans = {
2097
2102
  confirmDelete?: boolean;
2098
2103
  canEditFileName?: boolean;
2099
2104
  };
2100
- interface FilePickerProps {
2105
+ interface FilePickerProps extends Omit<StackProps, 'onChange'> {
2101
2106
  /** Ex: acceptFormat="'acceptFormat="video/*, .jpg" */
2102
2107
  acceptFormat?: string;
2103
2108
  onChange?: (image: File | null) => void;
@@ -2124,7 +2129,7 @@ interface FilePickerFieldProps extends Omit<FilePickerProps, 'onChange'> {
2124
2129
  interface MultiFilePickerFieldProps extends Omit<FilePickerFieldProps, 'onChange'> {
2125
2130
  onChange?: (File: string[]) => void;
2126
2131
  }
2127
- interface MultiFilePickerProps<T extends FileFormat> extends Omit<FilePickerProps, 'onChange'> {
2132
+ interface MultiFilePickerProps<T extends FileFormat> extends Omit<FilePickerProps, 'onChange'>, Omit<StackProps, 'onChange'> {
2128
2133
  onChange?: (files: File[]) => void;
2129
2134
  compression?: CompressionType;
2130
2135
  files?: T[] | null;
@@ -2135,7 +2140,7 @@ interface MultiFilePickerProps<T extends FileFormat> extends Omit<FilePickerProp
2135
2140
  confirmDelete?: boolean;
2136
2141
  variant?: 'ai';
2137
2142
  }
2138
- interface MultiFileUploaderProps<T extends FileFormat> {
2143
+ interface MultiFileUploaderProps<T extends FileFormat> extends Omit<BoxProps, 'onChange'> {
2139
2144
  /** Ex: acceptFormat="'acceptFormat="video/*, .jpg" */
2140
2145
  variant?: 'ai';
2141
2146
  acceptFormat?: string;
@@ -2146,7 +2151,7 @@ interface MultiFileUploaderProps<T extends FileFormat> {
2146
2151
  updatePreviewFiles?: (files: any[]) => void;
2147
2152
  onChange?: (files: File[]) => void;
2148
2153
  }
2149
- interface MultiFileListProps<T extends FileFormat> {
2154
+ interface MultiFileListProps<T extends FileFormat> extends Omit<StackProps, 'onChange'> {
2150
2155
  files?: T[];
2151
2156
  uploadingFiles?: T[];
2152
2157
  deleteFile?: (file: T | FileFormat) => void;
@@ -2268,7 +2273,7 @@ declare function MultiFileUploader<T extends FileFormat>({ acceptFormat, compres
2268
2273
  *
2269
2274
  *
2270
2275
  */
2271
- declare function MultiFilePicker<T extends FileFormat>({ acceptFormat, compression, onChange, files, uploadingFiles, deleteFile, confirmDelete, maxFileSize, enablePreLoad, enableSmartLoad, editFileOptions, variant, }: MultiFilePickerProps<T>): JSX.Element;
2276
+ declare function MultiFilePicker<T extends FileFormat>({ acceptFormat, compression, onChange, files, uploadingFiles, deleteFile, confirmDelete, maxFileSize, enablePreLoad, enableSmartLoad, editFileOptions, variant, ...rest }: MultiFilePickerProps<T>): JSX.Element;
2272
2277
 
2273
2278
  /**
2274
2279
  * Show list of files, their uploading progress as well as options to edit/delete them
@@ -2277,7 +2282,7 @@ declare function MultiFilePicker<T extends FileFormat>({ acceptFormat, compressi
2277
2282
  * @see {@link https://northlight.dev/multi-file-list}
2278
2283
  *
2279
2284
  */
2280
- declare function MultiFileList<T extends FileFormat>({ files, uploadingFiles, onChange, deleteFile, addFile, confirmDelete, editFileOptions, enableSmartLoad, }: MultiFileListProps<T>): JSX.Element;
2285
+ declare function MultiFileList<T extends FileFormat>({ files, uploadingFiles, onChange, deleteFile, addFile, confirmDelete, editFileOptions, enableSmartLoad, ...rest }: MultiFileListProps<T>): JSX.Element;
2281
2286
 
2282
2287
  /**
2283
2288
  * The multi file picker component wrapped in a <Field />
@@ -3295,9 +3300,6 @@ interface UseToastOptions extends UseToastOptions$1 {
3295
3300
  variant?: AlertVariants;
3296
3301
  title?: string;
3297
3302
  description?: string;
3298
- /** if set to true and if there is already another toast visible,
3299
- * it will update the information on the current visible toast rather
3300
- * than displaying a new one on top of the previous one */
3301
3303
  replacePreviousToast?: boolean;
3302
3304
  }
3303
3305
 
@@ -3310,10 +3312,12 @@ interface UseToastOptions extends UseToastOptions$1 {
3310
3312
  * (?
3311
3313
  *
3312
3314
  <HStack spacing={ 4 }>
3315
+ <Toast variant="default" title="default" />
3313
3316
  <Toast variant="success" title="success" />
3314
3317
  <Toast variant="warning" title="warning" />
3315
- <Toast variant="info" title="info" />
3316
3318
  <Toast variant="error" title="error" />
3319
+ <Toast variant="info" title="info" />
3320
+ <Toast variant="ai" title="mtGPT" />
3317
3321
  </HStack>
3318
3322
  * ?)
3319
3323
  *
@@ -3340,60 +3344,160 @@ declare const Toast: ({ variant, title, description, onClose, ...rest }: ToastPr
3340
3344
  */
3341
3345
  declare const useToast: (defaultOpts?: UseToastOptions) => (opts?: UseToastOptions) => void;
3342
3346
 
3347
+ type TooltipVariants = 'success' | 'warning' | 'error' | 'info' | 'danger' | 'ai' | 'default' | 'ghost';
3348
+ interface OurTooltipProps extends TooltipProps {
3349
+ variant?: TooltipVariants;
3350
+ description?: React.ReactNode;
3351
+ hasIcon?: boolean;
3352
+ }
3353
+
3343
3354
  /**
3355
+ * A tooltip is a brief, informative message that appears when a user interacts with an element.
3344
3356
  * @see {@link https://northlight.dev/reference/tooltip}
3345
3357
  *
3346
3358
  * @example
3347
3359
  * (?
3348
- * <Tooltip label="Secret message">
3349
- * <Badge>Hover over me</Badge>
3350
- * </Tooltip>
3360
+ * <HStack>
3361
+ * <Tooltip
3362
+ * description="Here’s a regular tooltip with some with icon
3363
+ * inside of it that’s supposed to be substantially large.">
3364
+ * <Badge>ICON</Badge>
3365
+ * </Tooltip>
3366
+ * <Tooltip
3367
+ * hasIcon={ false }
3368
+ * description="Here’s a regular tooltip with some text without icon
3369
+ * inside of it that’s supposed to be substantially large."
3370
+ * >
3371
+ * <Badge>NOICON</Badge>
3372
+ * </Tooltip>
3373
+ * <Tooltip
3374
+ * hasIcon={ false }
3375
+ * description={
3376
+ * <Box>
3377
+ * <Text>
3378
+ * Some text
3379
+ * </Text>
3380
+ * <UnorderedList>
3381
+ * <ListItem>
3382
+ * List item 1
3383
+ * </ListItem>
3384
+ * <ListItem>
3385
+ * List item 2
3386
+ * </ListItem>
3387
+ * <ListItem>
3388
+ * List item 3
3389
+ * </ListItem>
3390
+ * </UnorderedList>
3391
+ * </Box>
3392
+ * }
3393
+ * >
3394
+ * <Badge>With JSX content</Badge>
3395
+ * </Tooltip>
3396
+ * </HStack>
3351
3397
  * ?)
3352
3398
  *
3353
- * @example (Example)
3354
- * You can render a custom component
3355
- * (?
3356
- * +
3357
- * const TooltipContent = (
3358
- * <Box>
3359
- * <Label size="sm">Text</Label>
3360
- * <P sx={{color: 'text.inverted'}}>Content</P>
3361
- * </Box>
3362
- * )
3363
- *
3364
- * const ExampleTooltip = () => {
3365
- * return (
3366
- * <Tooltip label={TooltipContent}>
3367
- * <Badge>Hover here</Badge>
3368
- * </Tooltip>
3369
- * )}
3370
- *
3371
- * render(<ExampleTooltip />)
3372
- * ?)
3373
3399
  *
3374
- * @example (Example)
3375
- * Try out a variant, success, info, warning, danger, ghost
3400
+ * @example
3376
3401
  * (?
3377
3402
  * <HStack>
3378
- * <Tooltip label="Secret message" variant="success">
3379
- * <Badge colorScheme="green">Success</Badge>
3380
- * </Tooltip>
3381
- * <Tooltip label="Secret message" variant="info">
3382
- * <Badge colorScheme="blue">Info</Badge>
3383
- * </Tooltip>
3384
- * <Tooltip label="Secret message" variant="warning">
3385
- * <Badge colorScheme="yellow">Warning</Badge>
3386
- * </Tooltip>
3387
- * <Tooltip label="Secret message" variant="danger">
3388
- * <Badge colorScheme="red">Danger</Badge>
3389
- * </Tooltip>
3390
- * <Tooltip label="Secret message" variant="ghost">
3391
- * <Badge>Ghost</Badge>
3392
- * </Tooltip>
3403
+ * <VStack>
3404
+ * <Tooltip
3405
+ * variant="success"
3406
+ * description="This is a successful message"
3407
+ * >
3408
+ * <Badge colorScheme="green">Success</Badge>
3409
+ * </Tooltip>
3410
+ * <Tooltip
3411
+ * variant="success"
3412
+ * title="Please check fields"
3413
+ * description="This is a successful message with a title and an icon
3414
+ * that’s supposed to be substantially large."
3415
+ * >
3416
+ * <Badge colorScheme="green">Success</Badge>
3417
+ * </Tooltip>
3418
+ * </VStack>
3419
+ * <VStack>
3420
+ * <Tooltip
3421
+ * variant="info"
3422
+ * description="This is an informative text"
3423
+ * >
3424
+ * <Badge colorScheme="blue">Info</Badge>
3425
+ * </Tooltip>
3426
+ * <Tooltip
3427
+ * variant="info"
3428
+ * title="Please check fields"
3429
+ * description="This is an informative text with a title and an icon
3430
+ * that’s supposed to be substantially large."
3431
+ * >
3432
+ * <Badge colorScheme="blue">Info</Badge>
3433
+ * </Tooltip>
3434
+ * </VStack>
3435
+ * <VStack>
3436
+ * <Tooltip
3437
+ * variant="warning"
3438
+ * description="This is a warning"
3439
+ * >
3440
+ * <Badge colorScheme="yellow">Warning</Badge>
3441
+ * </Tooltip>
3442
+ * <Tooltip
3443
+ * variant="warning"
3444
+ * title="Please check fields"
3445
+ * description="This is a warning with a title and an icon
3446
+ * that’s supposed to be substantially large."
3447
+ * >
3448
+ * <Badge colorScheme="yellow">Warning</Badge>
3449
+ * </Tooltip>
3450
+ * </VStack>
3451
+ * <VStack>
3452
+ * <Tooltip
3453
+ * variant="danger"
3454
+ * description="This is an error message"
3455
+ * >
3456
+ * <Badge colorScheme="red">Error</Badge>
3457
+ * </Tooltip>
3458
+ * <Tooltip
3459
+ * variant="danger"
3460
+ * title="Please check fields"
3461
+ * description="This is an error message with a title and an icon
3462
+ * that’s supposed to be substantially large."
3463
+ * >
3464
+ * <Badge colorScheme="red">Error</Badge>
3465
+ * </Tooltip>
3466
+ * </VStack>
3467
+ * <VStack>
3468
+ * <Tooltip
3469
+ * variant="ai"
3470
+ * description="This is an AI message">
3471
+ * <Badge colorScheme="teal" variant="subtle">AI</Badge>
3472
+ * </Tooltip>
3473
+ * <Tooltip
3474
+ * variant="ai"
3475
+ * title="Please check fields"
3476
+ * description="This is an AI message with a title and an icon
3477
+ * that’s supposed to be substantially large."
3478
+ * >
3479
+ * <Badge colorScheme="teal" variant="subtle">AI</Badge>
3480
+ * </Tooltip>
3481
+ * </VStack>
3482
+ * <VStack>
3483
+ * <Tooltip
3484
+ * variant="ghost"
3485
+ * description="This is an clean message">
3486
+ * <Badge>Ghost</Badge>
3487
+ * </Tooltip>
3488
+ * <Tooltip
3489
+ * variant="ghost"
3490
+ * title="Please check fields"
3491
+ * description="This is an clean message with a title and an icon
3492
+ * that’s supposed to be substantially large."
3493
+ * >
3494
+ * <Badge>Ghost</Badge>
3495
+ * </Tooltip>
3496
+ * </VStack>
3393
3497
  * </HStack>
3394
3498
  * ?)
3395
3499
  */
3396
- declare const Tooltip: ({ hasArrow, ...rest }: TooltipProps) => JSX.Element;
3500
+ declare const Tooltip: React__default.FC<OurTooltipProps>;
3397
3501
 
3398
3502
  type DurationType = number | null;
3399
3503
  type OffsetType = number | string;
@@ -3549,7 +3653,7 @@ declare const SlideFade: ({ children, enterDuration, exitDuration, duration, in:
3549
3653
  */
3550
3654
  declare const Collapse: ({ children, enterDuration, exitDuration, duration, in: show, disableFocus, hideDisplay, enterDelay, exitDelay, onTransitionComplete, ...rest }: CollapseProps) => JSX.Element;
3551
3655
 
3552
- interface StatusPinProps {
3656
+ interface StatusPinProps extends BoxProps {
3553
3657
  size?: PinSize;
3554
3658
  variant: PinVariant;
3555
3659
  }
@@ -3580,10 +3684,10 @@ interface StatusPinProps {
3580
3684
  * ?)
3581
3685
  *
3582
3686
  */
3583
- declare const StatusPin: ({ size, variant }: StatusPinProps) => JSX.Element;
3687
+ declare const StatusPin: ({ size, variant, ...rest }: StatusPinProps) => JSX.Element;
3584
3688
 
3585
3689
  type BlockVariant = 'working' | 'pending' | 'approved' | 'rejected';
3586
- interface StatusBlockProps {
3690
+ interface StatusBlockProps extends Omit<TagProps$1, 'bgColor'> {
3587
3691
  variant: BlockVariant;
3588
3692
  }
3589
3693
  type BlockVariantColorTuple = [`${Color}.${ColorGrade}`, `${Color}.${ColorGrade}`];
@@ -3595,7 +3699,7 @@ declare const statusIconMap: Record<BlockVariant, any>;
3595
3699
  * @example
3596
3700
  * (? <StatusBlock variant="approved" /> ?)
3597
3701
  */
3598
- declare const StatusBlock: ({ variant }: StatusBlockProps) => JSX.Element;
3702
+ declare const StatusBlock: ({ variant, ...rest }: StatusBlockProps) => JSX.Element;
3599
3703
 
3600
3704
  interface AsyncErrorProps extends AlertProps {
3601
3705
  message?: string;
@@ -3893,7 +3997,7 @@ interface SplitPaneProps extends GridProps {
3893
3997
  * @see {@link https://northlight.dev/reference/split-pane}
3894
3998
  *
3895
3999
  */
3896
- declare const SplitPane: ({ children, initialSplit, isOpen, minLeftWidth, minRightWidth, }: SplitPaneProps) => JSX.Element;
4000
+ declare const SplitPane: ({ children, initialSplit, isOpen, minLeftWidth, minRightWidth, ...rest }: SplitPaneProps) => JSX.Element;
3897
4001
 
3898
4002
  /**
3899
4003
  * Wrapper around child of split pane
@@ -4031,6 +4135,88 @@ interface StepStackProps extends StackProps {
4031
4135
  */
4032
4136
  declare const StepStack: ({ children, spacing, rowHeight, stepCircleAlignment, stepCircleMarginTopPx, ...rest }: StepStackProps) => JSX.Element;
4033
4137
 
4138
+ interface CreationOption extends Option$1 {
4139
+ isCreation: boolean;
4140
+ }
4141
+ interface CreatableSelectDropdownProps {
4142
+ /**
4143
+ * An array of "Option" objects that represents the initial options available in the dropdown.
4144
+ * Each "Option" object must have a "label" and a "value" property (both strings).
4145
+ */
4146
+ standardOptions: Option$1[];
4147
+ /**
4148
+ * A callback function that is called whenever the selected option changes.
4149
+ * This function receives the newly selected "Option" object as its only argument.
4150
+ */
4151
+ onOptionChange: (option: Option$1) => void;
4152
+ /**
4153
+ * Optional placeholder text displayed when no option is selected and the dropdown is not focused.
4154
+ * Defaults to 'Select or create...' if not provided.
4155
+ */
4156
+ initialPlaceholder?: string;
4157
+ /**
4158
+ * Optional placeholder text displayed when the dropdown is
4159
+ * focused and the user is prompted to create a new option.
4160
+ * Defaults to 'Enter text...' if not provided.
4161
+ */
4162
+ addOptionPlaceholder?: string;
4163
+ /**
4164
+ * Optional "Option" object representing the option to create a new item within the dropdown.
4165
+ * This option is typically displayed at the top of the dropdown list.
4166
+ * Defaults to "{ label: 'Add option...', value: 'Add option...' }" if not provided.
4167
+ */
4168
+ creationOption?: CreationOption;
4169
+ /**
4170
+ * Optional CSS width property value for the dropdown container.
4171
+ * Specify the width of the dropdown. Defaults to '100%' if not provided.
4172
+ */
4173
+ width?: string;
4174
+ /**
4175
+ * An optional string that determines the overall styling of the select field.
4176
+ * Accepted values are 'outline', 'filled', 'flushed', or 'unstyled'.
4177
+ * The default value is 'outline'.
4178
+ *
4179
+ */
4180
+ variant?: Variant;
4181
+ }
4182
+
4183
+ /**
4184
+ * A dropdown component that allows users to select a value from given options
4185
+ * or create a new one if it doesn't exist.
4186
+ * @see {@link https://northlight.dev/reference/creatable-select-dropdown}
4187
+ *
4188
+ * @example (Example)
4189
+ * ##Select the best artist
4190
+ * (?
4191
+ * () => {
4192
+ * const [artist, setArtist] = useState(null);
4193
+ * const options = [
4194
+ * { label: 'Scooter', value: 'scooter' },
4195
+ * { label: 'Snoop Doggy Dogg', value: 'snoop-dogg' },
4196
+ * ];
4197
+ *
4198
+ * const handleOptionChange = (newOption) => {
4199
+ * setArtist(newOption);
4200
+ * // Perform additional actions with the selected or created option
4201
+ * };
4202
+ *
4203
+ * return (
4204
+ * <Box align="left">
4205
+ * <CreatableSelectDropdown
4206
+ * standardOptions={options}
4207
+ * onOptionChange={handleOptionChange}
4208
+ * width="300px"
4209
+ * />
4210
+ * { artist && artist.value !== 'Add option...' && (
4211
+ * <H3 py={8}>The best artist is: { artist.label }</H3>
4212
+ * ) }
4213
+ * </Box>
4214
+ * );
4215
+ * }
4216
+ * ?)
4217
+ */
4218
+ declare const CreatableSelectDropdown: ({ standardOptions, initialPlaceholder, addOptionPlaceholder, creationOption, onOptionChange, width, variant, }: CreatableSelectDropdownProps) => JSX.Element;
4219
+
4034
4220
  declare const useDebounce: <T>(value: T, delay: number) => T;
4035
4221
 
4036
4222
  declare const useLoadingMessage: (prefix?: string, delay?: number) => string;
@@ -4095,4 +4281,4 @@ declare const useResizeWidth: ({ stationaryEdge, minWidthPx, maxWidthPx, default
4095
4281
  declare const theme: Record<string, any>;
4096
4282
  declare const tottTheme: Record<string, any>;
4097
4283
 
4098
- export { Accordion, AccordionButton, AccordionItem, AccordionPanel, Alert, AlertProps, AlertVariants, AspectRatio, AsyncError, AsyncErrorProps, Avatar, AvatarBadgeProps, AvatarGroup, AvatarGroupProps, AvatarProps, Badge, BasicOption, Blinker, BlinkerProps, BlockVariant, BlockVariantColorTuple, Blockquote, BodyType, Button, ButtonProps, ButtonVariants, Capitalized, Carousel, Checkbox, CheckboxField, CheckboxFieldProps, CheckboxProps, CheckboxVariants, ChildrenType, Clickable, ClickableProps, ClipboardInput, ClipboardInputProps, Collapse, CollapseProps, Color, ColorButtonProps, ColorGrade, ColorPicker, ColorPickerField, ColorPickerFieldProps, ColorPickerProps, ColorShades, ColorsExpandButtonProps, ConfirmDeleteModalProps, CurrentTheme, CustomContainerPropsType, CustomElementType, CustomFlipButtonProps, CustomFlipButtonPropsType, CustomTheme, DatePicker, DatePickerField, DatePickerFieldProps, DatePickerProps, DateRange, DateRangePicker, DateRangePickerField, DateRangePickerFieldProps, DateRangePickerProps, DragAndDrop, DragHandle, DragHandleProps, DragItem, DragItemProps, Draggable, DraggableProps, DropZone, DropZoneProps, Droppable, DroppableProps, DurationType, EditableControlsProps, EditableProps, EditableSizes, EditableText, Fade, FadeProps, FastGrid, FastGridProps, FastList, FastListProps, Field, FieldErrorType, FieldProps, FileEditorModalProps, FileFormat, FileIconButtonProps, FileItemProps, FilePicker, FilePickerField, FilePickerFieldProps, FilePickerProps, FileWithSizeAndType, FileWithSrcNameType, FileWithType, FlipButton, FlipButtonGroup, FlipButtonGroupField, FlipButtonGroupFieldProps, FlipButtonGroupProps, FlipButtonProps, Form, FormBody, FormLabel, FormLabelProps, FormProps, FormattedNumberInput, FormattedNumberInputField, FormattedNumberInputFieldProps, FormattedNumberInputPreset, FormattedNumberInputProps, H1, H2, H3, H4, H5, H6, HeadingProps, HeadingType, Icon, IconButton, IconButtonProps, IconProps, InputFieldProps, IntentButton, Label, LabelProps, LabelSizes, LabelType, Lead, ListenersType, LoadingBar, MaskedTextInput, MaskedTextInputProps, MediatoolThemeProvider, MediatoolThemeProviderProps, Menu, MenuProps, MenuVariants, Message, Modal, ModalBase, ModalBody, ModalBooleans, ModalProps, ModalSizes, MultiFileList, MultiFileListProps, MultiFilePicker, MultiFilePickerField, MultiFilePickerFieldProps, MultiFilePickerProps, MultiFileUploader, MultiFileUploaderProps, MultiItemType, MultiSort, MultiSortProps, NotificationIconButton, NotificationIconButtonProps, NumVal, NumValType, NumberInput, NumberInputField, NumberInputFieldProps, NumberInputProps, NumberInputSizeProps, NumberInputStepperProps, OffsetType, Option, OrganizationLogo, OrganizationLogoProps, OverflowGroup, OverflowGroupProps, OverflowIndicatorProps, P, PProps, PaneDivider, PaneItem, PinInput, PinInputProps, PinSize, PinSizeTuple, PinVariant, Popover, PresetOptions, ProgressBar, ProgressBarProps, Radio, RadioFieldGroupProps, RadioFieldProps, RadioGroup, RadioGroupField, RadioGroupProps, RadioProps, ResizeHandle, ScaleFade, ScaleFadeProps, SearchBar, SearchBarField, SearchBarFieldProps, SearchBarOptionType, SearchBarProps, Select, SelectActionMeta, SelectField, SelectFieldProps, SelectProps, SetValueOptionsType, Slide, SlideFade, SlideFadeProps, SlideProps, Small, Sortable, SortableContainer, SortableContainerProps, SortableItem, SortableItemProps, SortableList, SortableListProps, Spinner, SpinnerProps, SplitPane, SplitPaneProps, StatusBlock, StatusBlockProps, StatusPin, StatusPinProps, Step, StepList, StepListProps, StepPanel, StepPanelProps, StepProps, StepStack, Steps, StepsProps, StylizedType, Switch, SwitchField, SwitchFieldProps, SwitchProps, TabPanel, TabPanelProps, Table, TableProps, Tabs, TabsProps, Tag, TagGroup, TagGroupProps, TagProps, TagsInput, TagsInputProps, TextField, TextFieldProps, TextInputFormatter, TextSizeProps, Textarea, TextareaField, TextareaFieldProps, TextareaProps, Tiny, Toast, ToastProps, Toolbox, ToolboxContent, ToolboxContentProps, ToolboxFooter, ToolboxFooterProps, ToolboxHeader, ToolboxHeaderProps, ToolboxProps, Tooltip, TransitionDirection, UseFormReturn, UseSelectCallbacksProps, UseToastOptions, addAlpha, advancedParseFloat, clamp, createDebounceFunctionInstance, getChildrenWithProps, getContrastColor, getFieldError, getInitials, getMatchingValue, getShades, highlight, luminosity, ring, statusIconMap, theme, tottTheme, trimFormValues, useArrowFocus, useCurrentTheme, useDebounce, useDidUpdateEffect, useLoadingMessage, useOutsideRectClick, useOverflowGroup, useResizeWidth, useScreenSize, useScrollToBottom, useSelectCallbacks, useSetValueRefreshed, useToast };
4284
+ export { Accordion, AccordionButton, AccordionItem, AccordionPanel, Alert, AlertProps, AlertVariants, AspectRatio, AsyncError, AsyncErrorProps, Avatar, AvatarBadgeProps, AvatarGroup, AvatarGroupProps, AvatarProps, Badge, BasicOption, Blinker, BlinkerProps, BlockVariant, BlockVariantColorTuple, Blockquote, BodyType, Button, ButtonProps, ButtonVariants, Capitalized, Carousel, Checkbox, CheckboxField, CheckboxFieldProps, CheckboxProps, CheckboxVariants, ChildrenType, Clickable, ClickableProps, ClipboardInput, ClipboardInputProps, Collapse, CollapseProps, Color, ColorButtonProps, ColorGrade, ColorPicker, ColorPickerField, ColorPickerFieldProps, ColorPickerProps, ColorShades, ColorsExpandButtonProps, ConfirmDeleteModalProps, CreatableSelectDropdown, CurrentTheme, CustomContainerPropsType, CustomElementType, CustomFlipButtonProps, CustomFlipButtonPropsType, CustomTheme, DatePicker, DatePickerField, DatePickerFieldProps, DatePickerProps, DateRange, DateRangePicker, DateRangePickerField, DateRangePickerFieldProps, DateRangePickerProps, DragAndDrop, DragHandle, DragHandleProps, DragItem, DragItemProps, Draggable, DraggableProps, DropZone, DropZoneProps, Droppable, DroppableProps, DurationType, EditableControlsProps, EditableProps, EditableSizes, EditableText, Fade, FadeProps, FastGrid, FastGridProps, FastList, FastListProps, Field, FieldErrorType, FieldProps, FileEditorModalProps, FileFormat, FileIconButtonProps, FileItemProps, FilePicker, FilePickerField, FilePickerFieldProps, FilePickerProps, FileWithSizeAndType, FileWithSrcNameType, FileWithType, FlipButton, FlipButtonGroup, FlipButtonGroupField, FlipButtonGroupFieldProps, FlipButtonGroupProps, FlipButtonProps, Form, FormBody, FormLabel, FormLabelProps, FormProps, FormattedNumberInput, FormattedNumberInputField, FormattedNumberInputFieldProps, FormattedNumberInputPreset, FormattedNumberInputProps, H1, H2, H3, H4, H5, H6, HeadingProps, HeadingType, Icon, IconButton, IconButtonProps, IconProps, InputFieldProps, IntentButton, Label, LabelProps, LabelSizes, LabelType, Lead, ListenersType, LoadingBar, MaskedTextInput, MaskedTextInputProps, MediatoolThemeProvider, MediatoolThemeProviderProps, Menu, MenuProps, MenuVariants, Message, Modal, ModalBase, ModalBody, ModalBooleans, ModalProps, ModalSizes, MultiFileList, MultiFileListProps, MultiFilePicker, MultiFilePickerField, MultiFilePickerFieldProps, MultiFilePickerProps, MultiFileUploader, MultiFileUploaderProps, MultiItemType, MultiSort, MultiSortProps, NotificationIconButton, NotificationIconButtonProps, NumVal, NumValType, NumberInput, NumberInputField, NumberInputFieldProps, NumberInputProps, NumberInputSizeProps, NumberInputStepperProps, OffsetType, Option, OrganizationLogo, OrganizationLogoProps, OverflowGroup, OverflowGroupProps, OverflowIndicatorProps, P, PProps, PaneDivider, PaneItem, PinInput, PinInputProps, PinSize, PinSizeTuple, PinVariant, Popover, PresetOptions, ProgressBar, ProgressBarProps, Radio, RadioFieldGroupProps, RadioFieldProps, RadioGroup, RadioGroupField, RadioGroupProps, RadioProps, ResizeHandle, ScaleFade, ScaleFadeProps, SearchBar, SearchBarField, SearchBarFieldProps, SearchBarOptionType, SearchBarProps, Select, SelectActionMeta, SelectField, SelectFieldProps, SelectProps, SetValueOptionsType, Slide, SlideFade, SlideFadeProps, SlideProps, Small, Sortable, SortableContainer, SortableContainerProps, SortableItem, SortableItemProps, SortableList, SortableListProps, Spinner, SpinnerProps, SplitPane, SplitPaneProps, StatusBlock, StatusBlockProps, StatusPin, StatusPinProps, Step, StepList, StepListProps, StepPanel, StepPanelProps, StepProps, StepStack, Steps, StepsProps, StylizedType, Switch, SwitchField, SwitchFieldProps, SwitchProps, TabPanel, TabPanelProps, Table, TableProps, Tabs, TabsProps, Tag, TagGroup, TagGroupProps, TagProps, TagsInput, TagsInputProps, TextField, TextFieldProps, TextInputFormatter, TextSizeProps, Textarea, TextareaField, TextareaFieldProps, TextareaProps, Tiny, Toast, ToastProps, Toolbox, ToolboxContent, ToolboxContentProps, ToolboxFooter, ToolboxFooterProps, ToolboxHeader, ToolboxHeaderProps, ToolboxProps, Tooltip, TransitionDirection, UseFormReturn, UseSelectCallbacksProps, UseToastOptions, addAlpha, advancedParseFloat, clamp, createDebounceFunctionInstance, getChildrenWithProps, getContrastColor, getFieldError, getInitials, getMatchingValue, getShades, highlight, luminosity, ring, statusIconMap, theme, tottTheme, trimFormValues, useArrowFocus, useCurrentTheme, useDebounce, useDidUpdateEffect, useLoadingMessage, useOutsideRectClick, useOverflowGroup, useResizeWidth, useScreenSize, useScrollToBottom, useSelectCallbacks, useSetValueRefreshed, useToast };