@ultraviolet/ui 1.13.1 → 1.14.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 +204 -6
  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 +4 -0
  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 +4 -0
  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 +47 -7
  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
@@ -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,7 @@ type TooltipProps$1 = {
1652
1757
  role?: string;
1653
1758
  'data-testid'?: string;
1654
1759
  hasArrow?: boolean;
1760
+ onClose?: () => void;
1655
1761
  };
1656
1762
  declare const Popup: react.ForwardRefExoticComponent<TooltipProps$1 & react.RefAttributes<HTMLDivElement>>;
1657
1763
 
@@ -1672,6 +1778,10 @@ type PopoverProps = {
1672
1778
  className?: string;
1673
1779
  'data-testid'?: string;
1674
1780
  } & Pick<ComponentProps<typeof Popup>, 'placement'>;
1781
+ /**
1782
+ * Popover component is used to display additional information or actions on top of the main content of the page.
1783
+ * It is usually triggered by clicking on a button. It includes a title, a close button and a content area.
1784
+ */
1675
1785
  declare const Popover: ({ visible, children, placement, content, title, sentiment, size, onClose, className, "data-testid": dataTestId, }: PopoverProps) => _emotion_react_jsx_runtime.JSX.Element;
1676
1786
 
1677
1787
  declare const progressBarSentiments: readonly ["primary", "success", "warning", "info"];
@@ -1683,6 +1793,9 @@ type ProgressBarProps = {
1683
1793
  className?: string;
1684
1794
  'data-testid'?: string;
1685
1795
  };
1796
+ /**
1797
+ * Progress bar component to display progress of a task. Can be used to display progress of a form or a loading state.
1798
+ */
1686
1799
  declare const ProgressBar: ({ progress, value, sentiment, className, "data-testid": dataTestId, }: ProgressBarProps) => _emotion_react_jsx_runtime.JSX.Element;
1687
1800
 
1688
1801
  type RadioProps = {
@@ -1700,6 +1813,9 @@ type RadioProps = {
1700
1813
  'aria-label'?: never;
1701
1814
  label: ReactNode;
1702
1815
  });
1816
+ /**
1817
+ * Radio component is used to select a single option from a list of options. It is a type of input component.
1818
+ */
1703
1819
  declare const Radio: react.ForwardRefExoticComponent<RadioProps & react.RefAttributes<HTMLInputElement>>;
1704
1820
 
1705
1821
  type RowProps = {
@@ -1711,6 +1827,10 @@ type RowProps = {
1711
1827
  alignItems?: CSSProperties['alignItems'];
1712
1828
  justifyContent?: CSSProperties['justifyContent'];
1713
1829
  };
1830
+ /**
1831
+ * Row component is a wrapper for grid layout.
1832
+ * @experimental This component is experimental and may be subject to breaking changes in the future.
1833
+ */
1714
1834
  declare const Row: ({ className, "data-testid": dataTestId, children, templateColumns, alignItems, justifyContent, gap, }: RowProps) => _emotion_react_jsx_runtime.JSX.Element;
1715
1835
 
1716
1836
  type SelectableCardProps = {
@@ -1731,6 +1851,10 @@ type SelectableCardProps = {
1731
1851
  label?: ReactNode;
1732
1852
  'data-testid'?: string;
1733
1853
  };
1854
+ /**
1855
+ * SelectableCard is a component that can be used to create a radio or checkbox card.
1856
+ * It can be used to create a list of selectable items or a single selectable item.
1857
+ */
1734
1858
  declare const SelectableCard: react.ForwardRefExoticComponent<SelectableCardProps & react.RefAttributes<HTMLDivElement>>;
1735
1859
 
1736
1860
  type SelectOption = {
@@ -1794,6 +1918,10 @@ type SelectInputProps = SelectProps & SelectStyleProps & {
1794
1918
  'data-testid'?: string;
1795
1919
  };
1796
1920
  type OptionComponent = (props: Partial<OptionProps<SelectOption> & SelectOption>) => JSX.Element;
1921
+ /**
1922
+ * SelectInput component is a wrapper around [react-select](https://react-select.com) component.
1923
+ * It provides a styled select input with a label and an error message.
1924
+ */
1797
1925
  declare const SelectInput: ForwardRefExoticComponent<Partial<SelectInputProps>> & {
1798
1926
  Option: OptionComponent;
1799
1927
  };
@@ -1807,6 +1935,9 @@ type SeparatorProps = {
1807
1935
  className?: string;
1808
1936
  'data-testid'?: string;
1809
1937
  };
1938
+ /**
1939
+ * Separator component used to separate content with a horizontal or vertical line.
1940
+ */
1810
1941
  declare const Separator: ({ direction, thickness, color, icon, className, "data-testid": dataTestId, }: SeparatorProps) => JSX.Element;
1811
1942
 
1812
1943
  declare const variants$1: {
@@ -1841,6 +1972,11 @@ type SkeletonProps = {
1841
1972
  col?: number;
1842
1973
  className?: string;
1843
1974
  };
1975
+ /**
1976
+ * Skeleton component is used to indicate that the data is loading.
1977
+ * It is used to provide a better user experience by showing a temporary placeholder reflecting the dimensions of the
1978
+ * content that will eventually be loaded on the screen.
1979
+ */
1844
1980
  declare const Skeleton: ({ variant, length, col, className, }: SkeletonProps) => _emotion_react_jsx_runtime.JSX.Element;
1845
1981
 
1846
1982
  type Prefixes = 'lines' | 'command';
@@ -1857,6 +1993,10 @@ type SnippetProps = {
1857
1993
  hideText?: string;
1858
1994
  'data-testid'?: string;
1859
1995
  } & Pick<ComponentProps<typeof CopyButton>, 'copyText' | 'copiedText'>;
1996
+ /**
1997
+ * Snippet component is used to display code snippets with the ability to copy the code.
1998
+ * It also has the ability to show/hide the code snippet if it has more than 4 lines.
1999
+ */
1860
2000
  declare const Snippet: ({ children, copyText, copiedText, showText, hideText, prefix, className, "data-testid": dataTestId, }: SnippetProps) => _emotion_react_jsx_runtime.JSX.Element;
1861
2001
 
1862
2002
  type StackProps = {
@@ -1871,6 +2011,10 @@ type StackProps = {
1871
2011
  children: ReactNode;
1872
2012
  'data-testid'?: string;
1873
2013
  };
2014
+ /**
2015
+ * A Stack is a widget that organize children in a vertical or horizontal layout based on css Flex,
2016
+ * it accepts few props to deal with spacing and align.
2017
+ */
1874
2018
  declare const Stack: _emotion_styled.StyledComponent<{
1875
2019
  theme?: _emotion_react.Theme | undefined;
1876
2020
  as?: react.ElementType<any> | undefined;
@@ -1901,6 +2045,9 @@ type StatusProps = {
1901
2045
  tooltip?: string;
1902
2046
  'data-testid'?: string;
1903
2047
  };
2048
+ /**
2049
+ * Status component used to display a colored circle with a tooltip for additional information.
2050
+ */
1904
2051
  declare const Status: ({ animated, className, tooltip, sentiment, "data-testid": dataTestId, }: StatusProps) => JSX.Element;
1905
2052
 
1906
2053
  type Sizes = 'small' | 'medium';
@@ -1924,6 +2071,7 @@ type StepListProps = {
1924
2071
  'data-testid'?: string;
1925
2072
  };
1926
2073
  /**
2074
+ * StepList component is used to display a list of steps.
1927
2075
  * @experimental This component is experimental and may be subject to breaking changes in the future.
1928
2076
  */
1929
2077
  declare const StepList: {
@@ -1938,6 +2086,9 @@ type StepperProps = {
1938
2086
  className?: string;
1939
2087
  'data-testid'?: string;
1940
2088
  };
2089
+ /**
2090
+ * Stepper component to show the progress of a process in a linear way.
2091
+ */
1941
2092
  declare const Stepper: ({ children, selected, animated, className, "data-testid": dataTestId, }: StepperProps) => _emotion_react_jsx_runtime.JSX.Element;
1942
2093
 
1943
2094
  type SwitchButtonProps = {
@@ -1960,6 +2111,9 @@ type SwitchButtonProps = {
1960
2111
  className?: string;
1961
2112
  'data-testid'?: string;
1962
2113
  };
2114
+ /**
2115
+ * SwitchButton is a component that allows the user to select between two options.
2116
+ */
1963
2117
  declare const SwitchButton: ({ value, onChange, onFocus, onBlur, name, leftButton, rightButton, tooltip, className, "data-testid": dataTestId, }: SwitchButtonProps) => _emotion_react_jsx_runtime.JSX.Element;
1964
2118
 
1965
2119
  type HeaderCellProps = {
@@ -2007,6 +2161,9 @@ type TableProps = {
2007
2161
  bordered?: boolean;
2008
2162
  stripped?: boolean;
2009
2163
  };
2164
+ /**
2165
+ * Table is a component that displays data in a tabular format.
2166
+ */
2010
2167
  declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLTableElement>> & {
2011
2168
  Body: ({ children }: {
2012
2169
  children: ReactNode;
@@ -2048,6 +2205,9 @@ type TabsProps = {
2048
2205
  className?: string;
2049
2206
  'data-testid'?: string;
2050
2207
  } & Omit<HTMLAttributes<HTMLElement>, 'onChange' | 'role'>;
2208
+ /**
2209
+ * Tabs component is used to display a set of tabs with a single tab selected at a time.
2210
+ */
2051
2211
  declare const Tabs: {
2052
2212
  ({ children, onChange, moreDisclosure, selected, className, "data-testid": dataTestId, ...props }: TabsProps): _emotion_react_jsx_runtime.JSX.Element;
2053
2213
  Tab: react.ForwardRefExoticComponent<Omit<{
@@ -2102,6 +2262,10 @@ type TagProps = {
2102
2262
  children: ReactNode;
2103
2263
  'data-testid'?: string;
2104
2264
  };
2265
+ /**
2266
+ * Tag component is used to display a short text description of an item. It can be used to display a category
2267
+ * or any other metadata.
2268
+ */
2105
2269
  declare const Tag: ({ children, isLoading, onClose, icon, copiable, copyText, copiedText, disabled, sentiment, className, "data-testid": dataTestId, }: TagProps) => _emotion_react_jsx_runtime.JSX.Element;
2106
2270
 
2107
2271
  declare const variants: {
@@ -2134,6 +2298,7 @@ type TagInputProps = {
2134
2298
  'data-testid'?: string;
2135
2299
  };
2136
2300
  /**
2301
+ * TagInput is a component that allows users to input tags.
2137
2302
  * @experimental This component is experimental and may be subject to breaking changes in the future.
2138
2303
  */
2139
2304
  declare const TagInput: ({ disabled, id, manualInput, name, onChange, onChangeError, placeholder, tags, variant, className, "data-testid": dataTestId, }: TagInputProps) => JSX.Element;
@@ -2162,6 +2327,9 @@ type TagListProps = {
2162
2327
  className?: string;
2163
2328
  'data-testid'?: string;
2164
2329
  } & Pick<ComponentProps<typeof Tag>, 'copiable' | 'copyText' | 'copiedText'>;
2330
+ /**
2331
+ * This component is used to display a list of tags with a threshold and a popover when there are too many tags.
2332
+ */
2165
2333
  declare const TagList: ({ maxLength, tags, threshold, multiline, popoverTitle, copiable, copyText, copiedText, className, "data-testid": dataTestId, }: TagListProps) => JSX.Element | null;
2166
2334
 
2167
2335
  declare const PROMINENCES: {
@@ -2179,7 +2347,7 @@ type TextProps = {
2179
2347
  placement?: PlacementProps;
2180
2348
  variant: TextVariant;
2181
2349
  /**
2182
- * @deprecated: use `sentiment` property instead
2350
+ * @deprecated use `sentiment` property instead
2183
2351
  */
2184
2352
  color?: Color;
2185
2353
  sentiment?: Color;
@@ -2194,6 +2362,9 @@ type TextProps = {
2194
2362
  htmlFor?: string;
2195
2363
  'data-testid'?: string;
2196
2364
  };
2365
+ /**
2366
+ * Text component is used to display text with different variants and sentiments.
2367
+ */
2197
2368
  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
2369
 
2199
2370
  declare const inputSizes: {
@@ -2261,6 +2432,10 @@ type TextInputProps = {
2261
2432
  max?: InputHTMLAttributes<HTMLInputElement>['max'];
2262
2433
  min?: InputHTMLAttributes<HTMLInputElement>['min'];
2263
2434
  } & (Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> | Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange'>);
2435
+ /**
2436
+ * TextInput component allows users to input text, with options for customization and validation.
2437
+ * It supports various input types and should be appropriately sized with clear labeling.
2438
+ */
2264
2439
  declare const TextInput: react.ForwardRefExoticComponent<TextInputProps & react.RefAttributes<HTMLInputElement | HTMLTextAreaElement | null>>;
2265
2440
 
2266
2441
  declare const schedules: {
@@ -2280,6 +2455,8 @@ type TimeInputType = ((props: TimeInputProps) => JSX.Element) & {
2280
2455
  options: typeof options;
2281
2456
  };
2282
2457
  /**
2458
+ * A time input component that allows users to select a time from a dropdown. The component is built on top of the
2459
+ * `SelectInput` component.
2283
2460
  * @experimental This component is experimental and may be subject to breaking changes in the future.
2284
2461
  */
2285
2462
  declare const TimeInput: TimeInputType;
@@ -2305,8 +2482,19 @@ type ToastContainerProps = {
2305
2482
  position?: ToastOptions['position'];
2306
2483
  'data-testid'?: string;
2307
2484
  };
2485
+ /**
2486
+ * Display short information about an event that happen in the interface in a floating alert.
2487
+ * Toaster is based on **react-tostify**, you can find a complete documentation
2488
+ * [here](https://fkhadra.github.io/react-toastify/introduction/).
2489
+ *
2490
+ * Toaster is separated in two parts, first the `ToastContainer` which is where the div of the toast will be rendered,
2491
+ * and second the `toast()` function which is used to display the toast.
2492
+ */
2308
2493
  declare const ToastContainer: ({ newestOnTop, limit, position, "data-testid": dataTestId, }: ToastContainerProps) => _emotion_react_jsx_runtime.JSX.Element;
2309
2494
 
2495
+ /**
2496
+ * Toggle component is used to toggle between two states (on/off, true/false, etc.).
2497
+ */
2310
2498
  declare const Toggle: react.ForwardRefExoticComponent<{
2311
2499
  id?: string | undefined;
2312
2500
  checked?: boolean | undefined;
@@ -2345,6 +2533,10 @@ declare const ToggleGroup: {
2345
2533
  };
2346
2534
 
2347
2535
  type TooltipProps = Pick<ComponentProps<typeof Popup>, 'id' | 'children' | 'maxWidth' | 'placement' | 'text' | 'className' | 'visible' | 'innerRef' | 'role' | 'data-testid' | 'containerFullWidth'>;
2536
+ /**
2537
+ * Tooltip component is used to display additional information on hover or focus.
2538
+ * It is used to explain the purpose of the element it is attached to.
2539
+ */
2348
2540
  declare const Tooltip: react.ForwardRefExoticComponent<TooltipProps & react.RefAttributes<HTMLDivElement>>;
2349
2541
 
2350
2542
  type VerificationCodeProps = {
@@ -2375,6 +2567,9 @@ type VerificationCodeProps = {
2375
2567
  'data-testid'?: string;
2376
2568
  'aria-label'?: string;
2377
2569
  };
2570
+ /**
2571
+ * Verification code allows you to enter a code in multiple fields (4 by default).
2572
+ */
2378
2573
  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
2574
 
2380
2575
  type RadioGroupRadioProps = Omit<ComponentProps<typeof Radio>, 'onChange' | 'checked' | 'required'>;
@@ -2387,6 +2582,9 @@ type RadioGroupProps = {
2387
2582
  direction?: 'row' | 'column';
2388
2583
  children: ReactNode;
2389
2584
  } & Required<Pick<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'name'>> & Pick<InputHTMLAttributes<HTMLInputElement>, 'required'>;
2585
+ /**
2586
+ * RadioGroup is a component that allows users to select one option from a list of options using radio.
2587
+ */
2390
2588
  declare const RadioGroup: {
2391
2589
  ({ legend, value, className, helper, error, direction, children, onChange, name, required, }: RadioGroupProps): _emotion_react_jsx_runtime.JSX.Element;
2392
2590
  Radio: ({ onFocus, onBlur, disabled, error, name, value, label, helper, className, autoFocus, onKeyDown, "data-testid": dataTestId, }: RadioGroupRadioProps) => _emotion_react_jsx_runtime.JSX.Element;