@ultraviolet/ui 1.13.1 → 1.15.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.
Files changed (65) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +208 -8
  3. package/dist/react-datepicker/dist/react-datepicker.min.css.js +1 -1
  4. package/dist/src/components/ActionBar/index.js +7 -0
  5. package/dist/src/components/Alert/index.js +3 -0
  6. package/dist/src/components/Avatar/index.js +4 -0
  7. package/dist/src/components/Badge/index.js +5 -5
  8. package/dist/src/components/Banner/index.js +3 -0
  9. package/dist/src/components/BarChart/index.js +2 -0
  10. package/dist/src/components/BarStack/index.js +4 -0
  11. package/dist/src/components/Breadcrumbs/index.js +3 -0
  12. package/dist/src/components/Bullet/index.js +3 -0
  13. package/dist/src/components/Button/index.js +8 -1
  14. package/dist/src/components/Card/index.js +4 -0
  15. package/dist/src/components/Carousel/index.js +3 -0
  16. package/dist/src/components/Checkbox/index.js +3 -0
  17. package/dist/src/components/CheckboxGroup/index.js +3 -0
  18. package/dist/src/components/CopyButton/index.js +3 -0
  19. package/dist/src/components/DateInput/index.js +5 -0
  20. package/dist/src/components/EmptyState/index.js +3 -0
  21. package/dist/src/components/Expandable/index.js +6 -0
  22. package/dist/src/components/LineChart/index.js +2 -0
  23. package/dist/src/components/Link/index.js +4 -0
  24. package/dist/src/components/List/index.js +4 -0
  25. package/dist/src/components/Loader/index.js +4 -0
  26. package/dist/src/components/Menu/index.js +7 -0
  27. package/dist/src/components/Meter/{Meter.js → index.js} +6 -3
  28. package/dist/src/components/Modal/{Modal.js → index.js} +6 -1
  29. package/dist/src/components/Notice/index.js +3 -0
  30. package/dist/src/components/NumberInput/index.js +4 -0
  31. package/dist/src/components/Pagination/index.js +2 -1
  32. package/dist/src/components/PasswordCheck/index.js +5 -0
  33. package/dist/src/components/PasswordStrengthMeter/index.js +1 -0
  34. package/dist/src/components/PieChart/index.js +2 -0
  35. package/dist/src/components/Popover/index.js +40 -5
  36. package/dist/src/components/ProgressBar/index.js +3 -0
  37. package/dist/src/components/Radio/index.js +3 -0
  38. package/dist/src/components/RadioGroup/index.js +3 -0
  39. package/dist/src/components/Row/index.js +4 -0
  40. package/dist/src/components/SelectInput/index.js +4 -0
  41. package/dist/src/components/SelectableCard/index.js +4 -0
  42. package/dist/src/components/Separator/index.js +3 -0
  43. package/dist/src/components/Skeleton/index.js +5 -0
  44. package/dist/src/components/Snippet/index.js +4 -0
  45. package/dist/src/components/Stack/index.js +4 -0
  46. package/dist/src/components/Status/index.js +3 -0
  47. package/dist/src/components/StepList/index.js +1 -0
  48. package/dist/src/components/Stepper/index.js +3 -0
  49. package/dist/src/components/SwitchButton/index.js +3 -0
  50. package/dist/src/components/Table/index.js +4 -0
  51. package/dist/src/components/Tabs/index.js +4 -0
  52. package/dist/src/components/Tag/index.js +5 -0
  53. package/dist/src/components/TagInput/index.js +1 -0
  54. package/dist/src/components/TagList/index.js +4 -0
  55. package/dist/src/components/Text/index.js +4 -0
  56. package/dist/src/components/TextInput/index.js +5 -0
  57. package/dist/src/components/TimeInput/index.js +2 -0
  58. package/dist/src/components/Toaster/index.js +8 -0
  59. package/dist/src/components/Toggle/index.js +3 -0
  60. package/dist/src/components/ToggleGroup/index.js +3 -0
  61. package/dist/src/components/Tooltip/index.js +18 -1
  62. package/dist/src/components/VerificationCode/index.js +4 -0
  63. package/dist/src/index.js +2 -2
  64. package/dist/src/internalComponents/Popup/index.js +56 -10
  65. package/package.json +2 -2
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ultraviolet UI
2
2
 
3
- [![npm version](https://badge.fury.io/js/%40scaleway%2Fui.svg)](https://badge.fury.io/js/%40scaleway%2Fui)
3
+ [![npm version](https://badge.fury.io/js/%40ultraviolet%2Fui.svg)](https://badge.fury.io/js/%40ultraviolet%2Fui)
4
4
 
5
5
  Ultraviolet UI is a set of React components and utilities to build fast application.
6
6
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import react__default, { ReactNode, ComponentProps, ButtonHTMLAttributes, AriaRole, MouseEventHandler, JSX, MouseEvent, InputHTMLAttributes, HTMLAttributeAnchorTarget, AnchorHTMLAttributes, ReactElement, Ref, RefObject, CSSProperties, ChangeEventHandler, FocusEventHandler, ForwardRefExoticComponent, ForwardedRef, HTMLAttributes, ElementType, KeyboardEventHandler, TextareaHTMLAttributes } from 'react';
2
+ import react__default, { ReactNode, ComponentProps, ButtonHTMLAttributes, AriaRole, MouseEventHandler, JSX, MouseEvent, InputHTMLAttributes, HTMLAttributeAnchorTarget, AnchorHTMLAttributes, ReactElement, Ref, RefObject, KeyboardEventHandler, HTMLAttributes, CSSProperties, ChangeEventHandler, FocusEventHandler, ForwardRefExoticComponent, ForwardedRef, ElementType, TextareaHTMLAttributes } from 'react';
3
3
  import * as _emotion_react_jsx_runtime from '@emotion/react/jsx-runtime';
4
4
  import * as _emotion_styled from '@emotion/styled';
5
5
  import * as _emotion_react from '@emotion/react';
@@ -27,6 +27,13 @@ type ActionBarProps = {
27
27
  className?: string;
28
28
  'data-testid'?: string;
29
29
  };
30
+ /**
31
+ * The ActionBar is a floating bar that appears at the bottom of a page.
32
+ * It can be used to display important actions or information to the user, and can be configured to display a variety of different content types.
33
+ *
34
+ * **Note:** ActionBar is added into a portal at the end of the body element. This means that it will always be on top of other elements without `z-index`,
35
+ * and will not be affected by the layout of the page it is on.
36
+ */
30
37
  declare const ActionBar: ({ children, role, rank, className, "data-testid": dataTestId, }: ActionBarProps) => react.ReactPortal;
31
38
 
32
39
  type ScreenSize = keyof typeof consoleLightTheme.screens;
@@ -554,15 +561,15 @@ declare const extendTheme: (extendedTheme: RecursivePartial<SCWUITheme>) => {
554
561
  menu: string;
555
562
  modal: string;
556
563
  popover: string;
564
+ tabBar: {
565
+ active: string;
566
+ off: string;
567
+ };
557
568
  tooltip: string;
558
569
  };
559
570
  space: {
560
571
  '0': string;
561
- '0.25': string;
562
- '0.5': string;
563
572
  '1': string;
564
- '1.5': string;
565
- '10': string;
566
573
  '2': string;
567
574
  '3': string;
568
575
  '4': string;
@@ -571,6 +578,10 @@ declare const extendTheme: (extendedTheme: RecursivePartial<SCWUITheme>) => {
571
578
  '7': string;
572
579
  '8': string;
573
580
  '9': string;
581
+ '10': string;
582
+ '0.25': string;
583
+ '0.5': string;
584
+ '1.5': string;
574
585
  };
575
586
  theme: string;
576
587
  typography: {
@@ -773,6 +784,7 @@ declare const VARIANTS_COMPONENTS: {
773
784
  type ButtonVariant = keyof typeof VARIANTS_COMPONENTS;
774
785
  type CommonProps = {
775
786
  type?: ButtonHTMLAttributes<HTMLButtonElement>['type'];
787
+ autoFocus?: ButtonHTMLAttributes<HTMLButtonElement>['autoFocus'];
776
788
  variant?: ButtonVariant;
777
789
  role?: AriaRole;
778
790
  size?: ButtonSize;
@@ -821,6 +833,10 @@ type FinalProps = CommonProps & ({
821
833
  target?: string;
822
834
  download?: string;
823
835
  });
836
+ /**
837
+ * Button component is used to trigger an action or event, such as submitting a form, opening a dialog,
838
+ * canceling an action, or performing a delete operation.
839
+ */
824
840
  declare const Button: react.ForwardRefExoticComponent<FinalProps & react.RefAttributes<Element>>;
825
841
 
826
842
  declare const ALERT_SENTIMENTS: readonly ["danger", "info", "success", "warning"];
@@ -843,6 +859,9 @@ type AlertProps = {
843
859
  */
844
860
  disabled?: boolean;
845
861
  };
862
+ /**
863
+ * Alert component is used to display a short, important message in a way that attracts the user's attention without interrupting the user's task.
864
+ */
846
865
  declare const Alert: ({ children, title, sentiment, buttonText, onClickButton, closable, onClose, className, disabled, "data-testid": dataTestId, }: AlertProps) => _emotion_react_jsx_runtime.JSX.Element | null;
847
866
 
848
867
  type Without<T, U> = {
@@ -888,6 +907,9 @@ type AvatarProps = {
888
907
  text: string;
889
908
  }
890
909
  ]>;
910
+ /**
911
+ * Avatar component is used to display a user's profile picture or initials.
912
+ */
891
913
  declare const Avatar: ({ image, size, text, textBgColor, textColor, textSize, lock, className, "data-testid": dataTestId, }: AvatarProps) => _emotion_react_jsx_runtime.JSX.Element;
892
914
 
893
915
  type IconName$1 = ComponentProps<typeof Icon>['name'];
@@ -913,6 +935,9 @@ type BadgeProps = {
913
935
  children: ReactNode;
914
936
  'data-testid'?: string;
915
937
  };
938
+ /**
939
+ * Badge component is used to display a status or a label in a small container.
940
+ */
916
941
  declare const Badge: ({ sentiment, size, prominence, icon, disabled, className, children, "data-testid": dataTestId, }: BadgeProps) => _emotion_react_jsx_runtime.JSX.Element;
917
942
 
918
943
  type Variant$1 = 'intro' | 'promotional';
@@ -930,6 +955,9 @@ type BannerProps = {
930
955
  image?: ReactNode;
931
956
  className?: string;
932
957
  };
958
+ /**
959
+ * Banner component is used to display an informative message to the user with style.
960
+ */
933
961
  declare const Banner: ({ variant, size, title, children, direction, onClose, buttonText, onClickButton, linkText, linkHref, image, className, }: BannerProps) => _emotion_react_jsx_runtime.JSX.Element | null;
934
962
 
935
963
  type BarChartToolTipProps = {
@@ -957,6 +985,8 @@ type BarChartProps = {
957
985
  'data-testid'?: string;
958
986
  };
959
987
  /**
988
+ * BarChart component is used to display data in a bar chart format. It uses the Nivo library under the hood.
989
+ * See https://nivo.rocks/bar/ for more information.
960
990
  * @experimental This component is experimental and may be subject to breaking changes in the future.
961
991
  */
962
992
  declare const BarChart: ({ height, margin, data, axisFormatters, tickValues, keys, tooltipFunction, chartProps, className, "data-testid": dataTestId, }: BarChartProps) => _emotion_react_jsx_runtime.JSX.Element;
@@ -991,6 +1021,9 @@ type BarStackProps = {
991
1021
  className?: string;
992
1022
  'data-testid'?: string;
993
1023
  };
1024
+ /**
1025
+ * BarStack is a graphic component that is used to show data in one dimension.
1026
+ */
994
1027
  declare const BarStack: ({ data, total, className, "data-testid": dataTestId, }: BarStackProps) => JSX.Element;
995
1028
 
996
1029
  type ItemProps$1 = {
@@ -1017,6 +1050,9 @@ type BreadcrumbsProps = {
1017
1050
  type BreadcrumbsType = ((props: BreadcrumbsProps) => JSX.Element) & {
1018
1051
  Item: typeof Item;
1019
1052
  };
1053
+ /**
1054
+ * Breadcrumbs component is used to display a navigation path with links to the parent pages.
1055
+ */
1020
1056
  declare const Breadcrumbs: BreadcrumbsType;
1021
1057
 
1022
1058
  declare const PROMINENCES$2: {
@@ -1048,6 +1084,9 @@ type BulletProps = {
1048
1084
  'data-testid'?: string;
1049
1085
  prominence?: ProminenceType;
1050
1086
  } & ContentProps$1;
1087
+ /**
1088
+ * Bullet component is used to display a small icon or text with a colored background in a circle.
1089
+ */
1051
1090
  declare const Bullet: ({ className, sentiment, size, icon, text, tooltip, tooltipBaseId, "data-testid": dataTestId, prominence, }: BulletProps) => _emotion_react_jsx_runtime.JSX.Element;
1052
1091
 
1053
1092
  type CardProps = {
@@ -1064,6 +1103,9 @@ type CardProps = {
1064
1103
  className?: string;
1065
1104
  'data-testid'?: string;
1066
1105
  };
1106
+ /**
1107
+ * Card component is a simple component to display content in a box with a border.
1108
+ */
1067
1109
  declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>>;
1068
1110
 
1069
1111
  type CarouselItemProps = {
@@ -1074,6 +1116,9 @@ type CarouselProps = {
1074
1116
  children?: ReactNode;
1075
1117
  'data-testid'?: string;
1076
1118
  };
1119
+ /**
1120
+ * Carousel component allows you to scroll horizontally through a list of items.
1121
+ */
1077
1122
  declare const Carousel: {
1078
1123
  ({ children, className, "data-testid": dataTestId, }: CarouselProps): JSX.Element;
1079
1124
  Item: ({ children }: CarouselItemProps) => JSX.Element;
@@ -1108,6 +1153,9 @@ type CheckboxProps = {
1108
1153
  children: ReactNode;
1109
1154
  }
1110
1155
  ]>;
1156
+ /**
1157
+ * Checkbox is an input component used to select or deselect an option.
1158
+ */
1111
1159
  declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLInputElement>>;
1112
1160
 
1113
1161
  type CopyButtonProps = {
@@ -1120,6 +1168,9 @@ type CopyButtonProps = {
1120
1168
  className?: string;
1121
1169
  'data-testid'?: string;
1122
1170
  };
1171
+ /**
1172
+ * CopyButton is a button that copies a given value to the clipboard.
1173
+ */
1123
1174
  declare const CopyButton: ({ size, value, copyText, copiedText, sentiment, noBorder, className, "data-testid": dataTestId, }: CopyButtonProps) => _emotion_react_jsx_runtime.JSX.Element;
1124
1175
 
1125
1176
  type DateInputProps = Pick<ReactDatePickerProps<string>, 'autoFocus' | 'disabled' | 'locale' | 'maxDate' | 'minDate' | 'name' | 'onBlur' | 'onChange' | 'onFocus' | 'required'> & {
@@ -1133,6 +1184,10 @@ type DateInputProps = Pick<ReactDatePickerProps<string>, 'autoFocus' | 'disabled
1133
1184
  className?: string;
1134
1185
  'data-testid'?: string;
1135
1186
  };
1187
+ /**
1188
+ * DateInput is a wrapper around react-datepicker that provides a consistent look and feel with the rest of the Ultraviolet UI.
1189
+ * See https://reactdatepicker.com/ for more information.
1190
+ */
1136
1191
  declare const DateInput: ({ autoFocus, disabled, error, format, label, locale, maxDate, minDate, name, onBlur, onChange, onFocus, required, value, className, "data-testid": dataTestId, }: DateInputProps) => _emotion_react_jsx_runtime.JSX.Element;
1137
1192
 
1138
1193
  declare const CONTAINER_SIZES: {
@@ -1167,6 +1222,9 @@ type EmptyStateProps = {
1167
1222
  children?: ReactNode;
1168
1223
  'data-testid'?: string;
1169
1224
  };
1225
+ /**
1226
+ * EmptyState component is used to display a message when there is no data to show.
1227
+ */
1170
1228
  declare const EmptyState: ({ image, title, size, description, primaryButton, secondaryButton, learnMore, className, bordered, children, "data-testid": dataTestId, }: EmptyStateProps) => _emotion_react_jsx_runtime.JSX.Element;
1171
1229
 
1172
1230
  type ExpandableProps = {
@@ -1185,6 +1243,11 @@ type ExpandableProps = {
1185
1243
  className?: string;
1186
1244
  'data-testid'?: string;
1187
1245
  };
1246
+ /**
1247
+ * The Expandable component is a dynamic React component that allows for the expansion of its children content
1248
+ * based on its height. The component comes with a sleek and smooth animation, providing a visually pleasing
1249
+ * user experience.
1250
+ */
1188
1251
  declare const Expandable: ({ children, opened, minHeight, className, "data-testid": dataTestId, }: ExpandableProps) => _emotion_react_jsx_runtime.JSX.Element;
1189
1252
 
1190
1253
  type Transformer = (value: DatumValue) => string;
@@ -1212,6 +1275,8 @@ type LineChartProps = {
1212
1275
  'data-testid'?: string;
1213
1276
  };
1214
1277
  /**
1278
+ * LineChart component is a wrapper around Nivo's ResponsiveLine component used to display data in a line chart.
1279
+ * See https://nivo.rocks/line/ for more information.
1215
1280
  * @experimental This component is experimental and may be subject to breaking changes in the future.
1216
1281
  */
1217
1282
  declare const LineChart: ({ height, margin, xScale, yScale, data, withLegend, axisFormatters, pointFormatters, tickValues, chartProps, "data-testid": dataTestId, }: LineChartProps) => _emotion_react_jsx_runtime.JSX.Element;
@@ -1240,6 +1305,9 @@ type LinkProps = {
1240
1305
  oneLine?: boolean;
1241
1306
  'data-testid'?: string;
1242
1307
  };
1308
+ /**
1309
+ * Link is a component used to navigate between pages or to external websites.
1310
+ */
1243
1311
  declare const Link: react.ForwardRefExoticComponent<LinkProps & react.RefAttributes<HTMLAnchorElement>>;
1244
1312
 
1245
1313
  type HeaderCellProps$1 = {
@@ -1284,6 +1352,9 @@ type ListProps = {
1284
1352
  * */
1285
1353
  autoCollapse?: boolean;
1286
1354
  };
1355
+ /**
1356
+ * List is a component that displays a list of items based on the columns you provide and the data you pass.
1357
+ */
1287
1358
  declare const List: react.ForwardRefExoticComponent<ListProps & react.RefAttributes<HTMLDivElement>> & {
1288
1359
  Row: react.ForwardRefExoticComponent<{
1289
1360
  children: ReactNode;
@@ -1338,6 +1409,9 @@ type LoaderProps = {
1338
1409
  */
1339
1410
  label?: string;
1340
1411
  };
1412
+ /**
1413
+ * Loader is a circular progress indicator that can be used to indicate that an action is being performed.
1414
+ */
1341
1415
  declare const Loader: ({ percentage, text, size, strokeWidth, color, trailColor, active, label, }: LoaderProps) => _emotion_react_jsx_runtime.JSX.Element;
1342
1416
 
1343
1417
  type DisclosureElement = ((popover: Partial<PopoverStateReturn>) => ReactElement<ButtonHTMLAttributes<HTMLButtonElement>>) | (ReactElement<ButtonHTMLAttributes<HTMLButtonElement>> & {
@@ -1363,6 +1437,12 @@ type MenuProps = {
1363
1437
  visible?: boolean;
1364
1438
  'data-testid'?: string;
1365
1439
  };
1440
+ /**
1441
+ * A menu is a widget that offers a list of choices to the user, such as a set of actions or functions.
1442
+ * A menu is usually opened, or made visible, by activating a menu button, choosing an item in a menu that opens a
1443
+ * sub menu, or by invoking a command, such as `Shift + F10` on Windows, that opens a context specific menu.
1444
+ * When a user activates a choice in a menu, the menu usually closes unless the choice opened a submenu.
1445
+ */
1366
1446
  declare const Menu: react.ForwardRefExoticComponent<MenuProps & react.RefAttributes<HTMLButtonElement>> & {
1367
1447
  Item: react.ForwardRefExoticComponent<{
1368
1448
  href?: string | undefined;
@@ -1398,6 +1478,9 @@ type PasswordStrengthMeterProps$1 = {
1398
1478
  'data-testid'?: string;
1399
1479
  id?: string;
1400
1480
  };
1481
+ /**
1482
+ * Show strength of a password based on different criteria.
1483
+ */
1401
1484
  declare const Meter: ({ strength, title, value, className, "data-testid": dataTestId, id, }: PasswordStrengthMeterProps$1) => JSX.Element;
1402
1485
 
1403
1486
  type ModalSize = 'large' | 'medium' | 'small' | 'xsmall' | 'xxsmall';
@@ -1444,6 +1527,10 @@ type ModalProps = {
1444
1527
  */
1445
1528
  customDialogStyles?: react__default.JSX.IntrinsicAttributes['css'];
1446
1529
  };
1530
+ /**
1531
+ * Modal is a component that allows you to display content on top of other content.
1532
+ * It is often used to display a dialog with additional information or to ask for a confirmation.
1533
+ */
1447
1534
  declare const Modal: ({ ariaLabel, id, children, disclosure, hideOnClickOutside, hideOnEsc, isClosable, onClose, onBeforeClose, opened, placement, preventBodyScroll, size, className, "data-testid": dataTestId, backdropClassName, width, customDialogStyles, customDialogBackdropStyles, }: ModalProps) => _emotion_react_jsx_runtime.JSX.Element;
1448
1535
 
1449
1536
  type NoticeProps = {
@@ -1451,6 +1538,9 @@ type NoticeProps = {
1451
1538
  className?: string;
1452
1539
  'data-testid'?: string;
1453
1540
  };
1541
+ /**
1542
+ * A Notice is used to display a short message to the user.
1543
+ */
1454
1544
  declare const Notice: ({ children, className, "data-testid": dataTestId, }: NoticeProps) => _emotion_react_jsx_runtime.JSX.Element;
1455
1545
 
1456
1546
  type CheckboxGroupCheckboxProps = Omit<ComponentProps<typeof Checkbox>, 'onChange' | 'checked' | 'required'> & {
@@ -1467,6 +1557,9 @@ type CheckboxGroupProps = {
1467
1557
  children: ReactNode;
1468
1558
  required?: boolean;
1469
1559
  } & Required<Pick<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'name'>> & Pick<InputHTMLAttributes<HTMLInputElement>, 'required'>;
1560
+ /**
1561
+ * CheckboxGroup is a component that groups a set of checkboxes together with a legend and helper/error text.
1562
+ */
1470
1563
  declare const CheckboxGroup: {
1471
1564
  ({ legend, value, className, helper, error, direction, children, onChange, name, required, }: CheckboxGroupProps): _emotion_react_jsx_runtime.JSX.Element;
1472
1565
  Checkbox: ({ onFocus, onBlur, disabled, error, name, value, children, helper, className, autoFocus, "data-testid": dataTestId, }: CheckboxGroupCheckboxProps) => _emotion_react_jsx_runtime.JSX.Element;
@@ -1507,6 +1600,10 @@ type NumberInputProps = {
1507
1600
  placeholder?: string;
1508
1601
  error?: string | boolean;
1509
1602
  } & Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'onChange' | 'value' | 'defaultValue'>;
1603
+ /**
1604
+ * NumberInput component is used to increment / decrement a number value by clicking on + / - buttons or
1605
+ * by typing into input.
1606
+ */
1510
1607
  declare const NumberInput: ({ disabled, maxValue, minValue, name, onChange, onFocus, onBlur, onMaxCrossed, onMinCrossed, size, step, text, defaultValue, value, disabledTooltip, className, label, id, placeholder, error, "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, "data-testid": dataTestId, }: NumberInputProps) => _emotion_react_jsx_runtime.JSX.Element;
1511
1608
 
1512
1609
  type PaginationProps = {
@@ -1534,7 +1631,8 @@ type PaginationProps = {
1534
1631
  'data-testid'?: string;
1535
1632
  };
1536
1633
  /**
1537
- * Display multiple buttons to allow navigation between a paginated resource
1634
+ * Pagination is a component to navigate between pages, it is composed of 2 buttons to go to the previous and next page,
1635
+ * and a list of buttons to go to a specific page.
1538
1636
  */
1539
1637
  declare const Pagination: ({ disabled, page, pageCount, onChange, pageTabCount, className, "data-testid": dataTestId, }: PaginationProps) => JSX.Element;
1540
1638
 
@@ -1552,6 +1650,10 @@ type PasswordCheckProps = {
1552
1650
  className?: string;
1553
1651
  'data-testid'?: string;
1554
1652
  };
1653
+ /**
1654
+ * PasswordCheck is a component that display a list of password rules with a check or a cross depending on the validity
1655
+ * of the rule.
1656
+ */
1555
1657
  declare const PasswordCheck: ({ rules, className, "data-testid": dataTestId, }: PasswordCheckProps) => _emotion_react_jsx_runtime.JSX.Element;
1556
1658
 
1557
1659
  type Strength = {
@@ -1588,6 +1690,7 @@ type PasswordStrengthMeterProps = {
1588
1690
  'data-testid'?: string;
1589
1691
  };
1590
1692
  /**
1693
+ * PasswordStrengthMeter is a component that displays a password strength meter.
1591
1694
  * @deprecated use Meter component instead
1592
1695
  */
1593
1696
  declare const PasswordStrengthMeter: ({ password, onChange, strength, title, estimate, forbiddenInputs, className, "data-testid": dataTestId, }: PasswordStrengthMeterProps) => JSX.Element;
@@ -1611,6 +1714,8 @@ type PieChartProps = {
1611
1714
  margin?: Box;
1612
1715
  };
1613
1716
  /**
1717
+ * PieChart component is a wrapper around the Nivo Pie component to display a pie chart.
1718
+ * See https://nivo.rocks/pie/ for more information.
1614
1719
  * @experimental This component is experimental and may be subject to breaking changes in the future.
1615
1720
  */
1616
1721
  declare const PieChart: ({ height, width, data, emptyLegend, content, withLegend, margin, chartProps, }: PieChartProps) => _emotion_react_jsx_runtime.JSX.Element;
@@ -1652,6 +1757,9 @@ type TooltipProps$1 = {
1652
1757
  role?: string;
1653
1758
  'data-testid'?: string;
1654
1759
  hasArrow?: boolean;
1760
+ onClose?: () => void;
1761
+ onKeyDown?: KeyboardEventHandler;
1762
+ 'aria-haspopup'?: HTMLAttributes<HTMLDivElement>['aria-haspopup'];
1655
1763
  };
1656
1764
  declare const Popup: react.ForwardRefExoticComponent<TooltipProps$1 & react.RefAttributes<HTMLDivElement>>;
1657
1765
 
@@ -1668,10 +1776,14 @@ type PopoverProps = {
1668
1776
  sentiment?: SentimentType;
1669
1777
  visible?: boolean;
1670
1778
  size?: keyof typeof SIZES_WIDTH;
1671
- onClose: () => void;
1779
+ onClose?: () => void;
1672
1780
  className?: string;
1673
1781
  'data-testid'?: string;
1674
1782
  } & Pick<ComponentProps<typeof Popup>, 'placement'>;
1783
+ /**
1784
+ * Popover component is used to display additional information or actions on top of the main content of the page.
1785
+ * It is usually triggered by clicking on a button. It includes a title, a close button and a content area.
1786
+ */
1675
1787
  declare const Popover: ({ visible, children, placement, content, title, sentiment, size, onClose, className, "data-testid": dataTestId, }: PopoverProps) => _emotion_react_jsx_runtime.JSX.Element;
1676
1788
 
1677
1789
  declare const progressBarSentiments: readonly ["primary", "success", "warning", "info"];
@@ -1683,6 +1795,9 @@ type ProgressBarProps = {
1683
1795
  className?: string;
1684
1796
  'data-testid'?: string;
1685
1797
  };
1798
+ /**
1799
+ * Progress bar component to display progress of a task. Can be used to display progress of a form or a loading state.
1800
+ */
1686
1801
  declare const ProgressBar: ({ progress, value, sentiment, className, "data-testid": dataTestId, }: ProgressBarProps) => _emotion_react_jsx_runtime.JSX.Element;
1687
1802
 
1688
1803
  type RadioProps = {
@@ -1700,6 +1815,9 @@ type RadioProps = {
1700
1815
  'aria-label'?: never;
1701
1816
  label: ReactNode;
1702
1817
  });
1818
+ /**
1819
+ * Radio component is used to select a single option from a list of options. It is a type of input component.
1820
+ */
1703
1821
  declare const Radio: react.ForwardRefExoticComponent<RadioProps & react.RefAttributes<HTMLInputElement>>;
1704
1822
 
1705
1823
  type RowProps = {
@@ -1711,6 +1829,10 @@ type RowProps = {
1711
1829
  alignItems?: CSSProperties['alignItems'];
1712
1830
  justifyContent?: CSSProperties['justifyContent'];
1713
1831
  };
1832
+ /**
1833
+ * Row component is a wrapper for grid layout.
1834
+ * @experimental This component is experimental and may be subject to breaking changes in the future.
1835
+ */
1714
1836
  declare const Row: ({ className, "data-testid": dataTestId, children, templateColumns, alignItems, justifyContent, gap, }: RowProps) => _emotion_react_jsx_runtime.JSX.Element;
1715
1837
 
1716
1838
  type SelectableCardProps = {
@@ -1731,6 +1853,10 @@ type SelectableCardProps = {
1731
1853
  label?: ReactNode;
1732
1854
  'data-testid'?: string;
1733
1855
  };
1856
+ /**
1857
+ * SelectableCard is a component that can be used to create a radio or checkbox card.
1858
+ * It can be used to create a list of selectable items or a single selectable item.
1859
+ */
1734
1860
  declare const SelectableCard: react.ForwardRefExoticComponent<SelectableCardProps & react.RefAttributes<HTMLDivElement>>;
1735
1861
 
1736
1862
  type SelectOption = {
@@ -1794,6 +1920,10 @@ type SelectInputProps = SelectProps & SelectStyleProps & {
1794
1920
  'data-testid'?: string;
1795
1921
  };
1796
1922
  type OptionComponent = (props: Partial<OptionProps<SelectOption> & SelectOption>) => JSX.Element;
1923
+ /**
1924
+ * SelectInput component is a wrapper around [react-select](https://react-select.com) component.
1925
+ * It provides a styled select input with a label and an error message.
1926
+ */
1797
1927
  declare const SelectInput: ForwardRefExoticComponent<Partial<SelectInputProps>> & {
1798
1928
  Option: OptionComponent;
1799
1929
  };
@@ -1807,6 +1937,9 @@ type SeparatorProps = {
1807
1937
  className?: string;
1808
1938
  'data-testid'?: string;
1809
1939
  };
1940
+ /**
1941
+ * Separator component used to separate content with a horizontal or vertical line.
1942
+ */
1810
1943
  declare const Separator: ({ direction, thickness, color, icon, className, "data-testid": dataTestId, }: SeparatorProps) => JSX.Element;
1811
1944
 
1812
1945
  declare const variants$1: {
@@ -1841,6 +1974,11 @@ type SkeletonProps = {
1841
1974
  col?: number;
1842
1975
  className?: string;
1843
1976
  };
1977
+ /**
1978
+ * Skeleton component is used to indicate that the data is loading.
1979
+ * It is used to provide a better user experience by showing a temporary placeholder reflecting the dimensions of the
1980
+ * content that will eventually be loaded on the screen.
1981
+ */
1844
1982
  declare const Skeleton: ({ variant, length, col, className, }: SkeletonProps) => _emotion_react_jsx_runtime.JSX.Element;
1845
1983
 
1846
1984
  type Prefixes = 'lines' | 'command';
@@ -1857,6 +1995,10 @@ type SnippetProps = {
1857
1995
  hideText?: string;
1858
1996
  'data-testid'?: string;
1859
1997
  } & Pick<ComponentProps<typeof CopyButton>, 'copyText' | 'copiedText'>;
1998
+ /**
1999
+ * Snippet component is used to display code snippets with the ability to copy the code.
2000
+ * It also has the ability to show/hide the code snippet if it has more than 4 lines.
2001
+ */
1860
2002
  declare const Snippet: ({ children, copyText, copiedText, showText, hideText, prefix, className, "data-testid": dataTestId, }: SnippetProps) => _emotion_react_jsx_runtime.JSX.Element;
1861
2003
 
1862
2004
  type StackProps = {
@@ -1871,6 +2013,10 @@ type StackProps = {
1871
2013
  children: ReactNode;
1872
2014
  'data-testid'?: string;
1873
2015
  };
2016
+ /**
2017
+ * A Stack is a widget that organize children in a vertical or horizontal layout based on css Flex,
2018
+ * it accepts few props to deal with spacing and align.
2019
+ */
1874
2020
  declare const Stack: _emotion_styled.StyledComponent<{
1875
2021
  theme?: _emotion_react.Theme | undefined;
1876
2022
  as?: react.ElementType<any> | undefined;
@@ -1901,6 +2047,9 @@ type StatusProps = {
1901
2047
  tooltip?: string;
1902
2048
  'data-testid'?: string;
1903
2049
  };
2050
+ /**
2051
+ * Status component used to display a colored circle with a tooltip for additional information.
2052
+ */
1904
2053
  declare const Status: ({ animated, className, tooltip, sentiment, "data-testid": dataTestId, }: StatusProps) => JSX.Element;
1905
2054
 
1906
2055
  type Sizes = 'small' | 'medium';
@@ -1924,6 +2073,7 @@ type StepListProps = {
1924
2073
  'data-testid'?: string;
1925
2074
  };
1926
2075
  /**
2076
+ * StepList component is used to display a list of steps.
1927
2077
  * @experimental This component is experimental and may be subject to breaking changes in the future.
1928
2078
  */
1929
2079
  declare const StepList: {
@@ -1938,6 +2088,9 @@ type StepperProps = {
1938
2088
  className?: string;
1939
2089
  'data-testid'?: string;
1940
2090
  };
2091
+ /**
2092
+ * Stepper component to show the progress of a process in a linear way.
2093
+ */
1941
2094
  declare const Stepper: ({ children, selected, animated, className, "data-testid": dataTestId, }: StepperProps) => _emotion_react_jsx_runtime.JSX.Element;
1942
2095
 
1943
2096
  type SwitchButtonProps = {
@@ -1960,6 +2113,9 @@ type SwitchButtonProps = {
1960
2113
  className?: string;
1961
2114
  'data-testid'?: string;
1962
2115
  };
2116
+ /**
2117
+ * SwitchButton is a component that allows the user to select between two options.
2118
+ */
1963
2119
  declare const SwitchButton: ({ value, onChange, onFocus, onBlur, name, leftButton, rightButton, tooltip, className, "data-testid": dataTestId, }: SwitchButtonProps) => _emotion_react_jsx_runtime.JSX.Element;
1964
2120
 
1965
2121
  type HeaderCellProps = {
@@ -2007,6 +2163,9 @@ type TableProps = {
2007
2163
  bordered?: boolean;
2008
2164
  stripped?: boolean;
2009
2165
  };
2166
+ /**
2167
+ * Table is a component that displays data in a tabular format.
2168
+ */
2010
2169
  declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLTableElement>> & {
2011
2170
  Body: ({ children }: {
2012
2171
  children: ReactNode;
@@ -2048,6 +2207,9 @@ type TabsProps = {
2048
2207
  className?: string;
2049
2208
  'data-testid'?: string;
2050
2209
  } & Omit<HTMLAttributes<HTMLElement>, 'onChange' | 'role'>;
2210
+ /**
2211
+ * Tabs component is used to display a set of tabs with a single tab selected at a time.
2212
+ */
2051
2213
  declare const Tabs: {
2052
2214
  ({ children, onChange, moreDisclosure, selected, className, "data-testid": dataTestId, ...props }: TabsProps): _emotion_react_jsx_runtime.JSX.Element;
2053
2215
  Tab: react.ForwardRefExoticComponent<Omit<{
@@ -2102,6 +2264,10 @@ type TagProps = {
2102
2264
  children: ReactNode;
2103
2265
  'data-testid'?: string;
2104
2266
  };
2267
+ /**
2268
+ * Tag component is used to display a short text description of an item. It can be used to display a category
2269
+ * or any other metadata.
2270
+ */
2105
2271
  declare const Tag: ({ children, isLoading, onClose, icon, copiable, copyText, copiedText, disabled, sentiment, className, "data-testid": dataTestId, }: TagProps) => _emotion_react_jsx_runtime.JSX.Element;
2106
2272
 
2107
2273
  declare const variants: {
@@ -2134,6 +2300,7 @@ type TagInputProps = {
2134
2300
  'data-testid'?: string;
2135
2301
  };
2136
2302
  /**
2303
+ * TagInput is a component that allows users to input tags.
2137
2304
  * @experimental This component is experimental and may be subject to breaking changes in the future.
2138
2305
  */
2139
2306
  declare const TagInput: ({ disabled, id, manualInput, name, onChange, onChangeError, placeholder, tags, variant, className, "data-testid": dataTestId, }: TagInputProps) => JSX.Element;
@@ -2162,6 +2329,9 @@ type TagListProps = {
2162
2329
  className?: string;
2163
2330
  'data-testid'?: string;
2164
2331
  } & Pick<ComponentProps<typeof Tag>, 'copiable' | 'copyText' | 'copiedText'>;
2332
+ /**
2333
+ * This component is used to display a list of tags with a threshold and a popover when there are too many tags.
2334
+ */
2165
2335
  declare const TagList: ({ maxLength, tags, threshold, multiline, popoverTitle, copiable, copyText, copiedText, className, "data-testid": dataTestId, }: TagListProps) => JSX.Element | null;
2166
2336
 
2167
2337
  declare const PROMINENCES: {
@@ -2179,7 +2349,7 @@ type TextProps = {
2179
2349
  placement?: PlacementProps;
2180
2350
  variant: TextVariant;
2181
2351
  /**
2182
- * @deprecated: use `sentiment` property instead
2352
+ * @deprecated use `sentiment` property instead
2183
2353
  */
2184
2354
  color?: Color;
2185
2355
  sentiment?: Color;
@@ -2194,6 +2364,9 @@ type TextProps = {
2194
2364
  htmlFor?: string;
2195
2365
  'data-testid'?: string;
2196
2366
  };
2367
+ /**
2368
+ * Text component is used to display text with different variants and sentiments.
2369
+ */
2197
2370
  declare const Text: ({ variant, children, as, color, sentiment, oneLine, placement, prominence, className, disabled, italic, underline, id, dir, htmlFor, "data-testid": dataTestId, }: TextProps) => _emotion_react_jsx_runtime.JSX.Element;
2198
2371
 
2199
2372
  declare const inputSizes: {
@@ -2261,6 +2434,10 @@ type TextInputProps = {
2261
2434
  max?: InputHTMLAttributes<HTMLInputElement>['max'];
2262
2435
  min?: InputHTMLAttributes<HTMLInputElement>['min'];
2263
2436
  } & (Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> | Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange'>);
2437
+ /**
2438
+ * TextInput component allows users to input text, with options for customization and validation.
2439
+ * It supports various input types and should be appropriately sized with clear labeling.
2440
+ */
2264
2441
  declare const TextInput: react.ForwardRefExoticComponent<TextInputProps & react.RefAttributes<HTMLInputElement | HTMLTextAreaElement | null>>;
2265
2442
 
2266
2443
  declare const schedules: {
@@ -2280,6 +2457,8 @@ type TimeInputType = ((props: TimeInputProps) => JSX.Element) & {
2280
2457
  options: typeof options;
2281
2458
  };
2282
2459
  /**
2460
+ * A time input component that allows users to select a time from a dropdown. The component is built on top of the
2461
+ * `SelectInput` component.
2283
2462
  * @experimental This component is experimental and may be subject to breaking changes in the future.
2284
2463
  */
2285
2464
  declare const TimeInput: TimeInputType;
@@ -2305,8 +2484,19 @@ type ToastContainerProps = {
2305
2484
  position?: ToastOptions['position'];
2306
2485
  'data-testid'?: string;
2307
2486
  };
2487
+ /**
2488
+ * Display short information about an event that happen in the interface in a floating alert.
2489
+ * Toaster is based on **react-tostify**, you can find a complete documentation
2490
+ * [here](https://fkhadra.github.io/react-toastify/introduction/).
2491
+ *
2492
+ * Toaster is separated in two parts, first the `ToastContainer` which is where the div of the toast will be rendered,
2493
+ * and second the `toast()` function which is used to display the toast.
2494
+ */
2308
2495
  declare const ToastContainer: ({ newestOnTop, limit, position, "data-testid": dataTestId, }: ToastContainerProps) => _emotion_react_jsx_runtime.JSX.Element;
2309
2496
 
2497
+ /**
2498
+ * Toggle component is used to toggle between two states (on/off, true/false, etc.).
2499
+ */
2310
2500
  declare const Toggle: react.ForwardRefExoticComponent<{
2311
2501
  id?: string | undefined;
2312
2502
  checked?: boolean | undefined;
@@ -2345,6 +2535,10 @@ declare const ToggleGroup: {
2345
2535
  };
2346
2536
 
2347
2537
  type TooltipProps = Pick<ComponentProps<typeof Popup>, 'id' | 'children' | 'maxWidth' | 'placement' | 'text' | 'className' | 'visible' | 'innerRef' | 'role' | 'data-testid' | 'containerFullWidth'>;
2538
+ /**
2539
+ * Tooltip component is used to display additional information on hover or focus.
2540
+ * It is used to explain the purpose of the element it is attached to.
2541
+ */
2348
2542
  declare const Tooltip: react.ForwardRefExoticComponent<TooltipProps & react.RefAttributes<HTMLDivElement>>;
2349
2543
 
2350
2544
  type VerificationCodeProps = {
@@ -2375,6 +2569,9 @@ type VerificationCodeProps = {
2375
2569
  'data-testid'?: string;
2376
2570
  'aria-label'?: string;
2377
2571
  };
2572
+ /**
2573
+ * Verification code allows you to enter a code in multiple fields (4 by default).
2574
+ */
2378
2575
  declare const VerificationCode: ({ disabled, className, error, fields, initialValue, inputId, inputStyle, onChange, onComplete, placeholder, required, type, "data-testid": dataTestId, "aria-label": ariaLabel, }: VerificationCodeProps) => JSX.Element;
2379
2576
 
2380
2577
  type RadioGroupRadioProps = Omit<ComponentProps<typeof Radio>, 'onChange' | 'checked' | 'required'>;
@@ -2387,6 +2584,9 @@ type RadioGroupProps = {
2387
2584
  direction?: 'row' | 'column';
2388
2585
  children: ReactNode;
2389
2586
  } & Required<Pick<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'name'>> & Pick<InputHTMLAttributes<HTMLInputElement>, 'required'>;
2587
+ /**
2588
+ * RadioGroup is a component that allows users to select one option from a list of options using radio.
2589
+ */
2390
2590
  declare const RadioGroup: {
2391
2591
  ({ legend, value, className, helper, error, direction, children, onChange, name, required, }: RadioGroupProps): _emotion_react_jsx_runtime.JSX.Element;
2392
2592
  Radio: ({ onFocus, onBlur, disabled, error, name, value, label, helper, className, autoFocus, onKeyDown, "data-testid": dataTestId, }: RadioGroupRadioProps) => _emotion_react_jsx_runtime.JSX.Element;