@ultraviolet/ui 1.11.2 → 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 (66) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +208 -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 +140 -102
  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/Dialog.js +4 -2
  29. package/dist/src/components/Modal/{Modal.js → index.js} +6 -1
  30. package/dist/src/components/Notice/index.js +3 -0
  31. package/dist/src/components/NumberInput/index.js +4 -0
  32. package/dist/src/components/Pagination/index.js +2 -1
  33. package/dist/src/components/PasswordCheck/index.js +5 -0
  34. package/dist/src/components/PasswordStrengthMeter/index.js +1 -0
  35. package/dist/src/components/PieChart/index.js +2 -0
  36. package/dist/src/components/Popover/index.js +4 -0
  37. package/dist/src/components/ProgressBar/index.js +3 -0
  38. package/dist/src/components/Radio/index.js +44 -36
  39. package/dist/src/components/RadioGroup/index.js +3 -0
  40. package/dist/src/components/Row/index.js +4 -0
  41. package/dist/src/components/SelectInput/index.js +4 -0
  42. package/dist/src/components/SelectableCard/index.js +4 -0
  43. package/dist/src/components/Separator/index.js +3 -0
  44. package/dist/src/components/Skeleton/index.js +5 -0
  45. package/dist/src/components/Snippet/index.js +4 -0
  46. package/dist/src/components/Stack/index.js +9 -1
  47. package/dist/src/components/Status/index.js +3 -0
  48. package/dist/src/components/StepList/index.js +1 -0
  49. package/dist/src/components/Stepper/index.js +3 -0
  50. package/dist/src/components/SwitchButton/index.js +3 -0
  51. package/dist/src/components/Table/index.js +4 -0
  52. package/dist/src/components/Tabs/index.js +4 -0
  53. package/dist/src/components/Tag/index.js +5 -0
  54. package/dist/src/components/TagInput/index.js +1 -0
  55. package/dist/src/components/TagList/index.js +4 -0
  56. package/dist/src/components/Text/index.js +4 -0
  57. package/dist/src/components/TextInput/index.js +5 -0
  58. package/dist/src/components/TimeInput/index.js +2 -0
  59. package/dist/src/components/Toaster/index.js +8 -0
  60. package/dist/src/components/Toggle/index.js +3 -0
  61. package/dist/src/components/ToggleGroup/index.js +3 -0
  62. package/dist/src/components/Tooltip/index.js +4 -0
  63. package/dist/src/components/VerificationCode/index.js +4 -0
  64. package/dist/src/index.js +2 -2
  65. package/dist/src/internalComponents/Popup/index.js +47 -7
  66. package/package.json +4 -4
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;
@@ -1096,6 +1141,7 @@ type CheckboxProps = {
1096
1141
  ['data-visibility']?: string;
1097
1142
  required?: boolean;
1098
1143
  'data-testid'?: string;
1144
+ tooltip?: string;
1099
1145
  } & Pick<InputHTMLAttributes<HTMLInputElement>, 'onFocus' | 'onBlur' | 'name' | 'value' | 'autoFocus' | 'id' | 'onChange'> & XOR<[
1100
1146
  {
1101
1147
  /**
@@ -1107,6 +1153,9 @@ type CheckboxProps = {
1107
1153
  children: ReactNode;
1108
1154
  }
1109
1155
  ]>;
1156
+ /**
1157
+ * Checkbox is an input component used to select or deselect an option.
1158
+ */
1110
1159
  declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLInputElement>>;
1111
1160
 
1112
1161
  type CopyButtonProps = {
@@ -1119,6 +1168,9 @@ type CopyButtonProps = {
1119
1168
  className?: string;
1120
1169
  'data-testid'?: string;
1121
1170
  };
1171
+ /**
1172
+ * CopyButton is a button that copies a given value to the clipboard.
1173
+ */
1122
1174
  declare const CopyButton: ({ size, value, copyText, copiedText, sentiment, noBorder, className, "data-testid": dataTestId, }: CopyButtonProps) => _emotion_react_jsx_runtime.JSX.Element;
1123
1175
 
1124
1176
  type DateInputProps = Pick<ReactDatePickerProps<string>, 'autoFocus' | 'disabled' | 'locale' | 'maxDate' | 'minDate' | 'name' | 'onBlur' | 'onChange' | 'onFocus' | 'required'> & {
@@ -1132,6 +1184,10 @@ type DateInputProps = Pick<ReactDatePickerProps<string>, 'autoFocus' | 'disabled
1132
1184
  className?: string;
1133
1185
  'data-testid'?: string;
1134
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
+ */
1135
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;
1136
1192
 
1137
1193
  declare const CONTAINER_SIZES: {
@@ -1166,6 +1222,9 @@ type EmptyStateProps = {
1166
1222
  children?: ReactNode;
1167
1223
  'data-testid'?: string;
1168
1224
  };
1225
+ /**
1226
+ * EmptyState component is used to display a message when there is no data to show.
1227
+ */
1169
1228
  declare const EmptyState: ({ image, title, size, description, primaryButton, secondaryButton, learnMore, className, bordered, children, "data-testid": dataTestId, }: EmptyStateProps) => _emotion_react_jsx_runtime.JSX.Element;
1170
1229
 
1171
1230
  type ExpandableProps = {
@@ -1184,6 +1243,11 @@ type ExpandableProps = {
1184
1243
  className?: string;
1185
1244
  'data-testid'?: string;
1186
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
+ */
1187
1251
  declare const Expandable: ({ children, opened, minHeight, className, "data-testid": dataTestId, }: ExpandableProps) => _emotion_react_jsx_runtime.JSX.Element;
1188
1252
 
1189
1253
  type Transformer = (value: DatumValue) => string;
@@ -1211,6 +1275,8 @@ type LineChartProps = {
1211
1275
  'data-testid'?: string;
1212
1276
  };
1213
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.
1214
1280
  * @experimental This component is experimental and may be subject to breaking changes in the future.
1215
1281
  */
1216
1282
  declare const LineChart: ({ height, margin, xScale, yScale, data, withLegend, axisFormatters, pointFormatters, tickValues, chartProps, "data-testid": dataTestId, }: LineChartProps) => _emotion_react_jsx_runtime.JSX.Element;
@@ -1239,6 +1305,9 @@ type LinkProps = {
1239
1305
  oneLine?: boolean;
1240
1306
  'data-testid'?: string;
1241
1307
  };
1308
+ /**
1309
+ * Link is a component used to navigate between pages or to external websites.
1310
+ */
1242
1311
  declare const Link: react.ForwardRefExoticComponent<LinkProps & react.RefAttributes<HTMLAnchorElement>>;
1243
1312
 
1244
1313
  type HeaderCellProps$1 = {
@@ -1283,6 +1352,9 @@ type ListProps = {
1283
1352
  * */
1284
1353
  autoCollapse?: boolean;
1285
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
+ */
1286
1358
  declare const List: react.ForwardRefExoticComponent<ListProps & react.RefAttributes<HTMLDivElement>> & {
1287
1359
  Row: react.ForwardRefExoticComponent<{
1288
1360
  children: ReactNode;
@@ -1337,6 +1409,9 @@ type LoaderProps = {
1337
1409
  */
1338
1410
  label?: string;
1339
1411
  };
1412
+ /**
1413
+ * Loader is a circular progress indicator that can be used to indicate that an action is being performed.
1414
+ */
1340
1415
  declare const Loader: ({ percentage, text, size, strokeWidth, color, trailColor, active, label, }: LoaderProps) => _emotion_react_jsx_runtime.JSX.Element;
1341
1416
 
1342
1417
  type DisclosureElement = ((popover: Partial<PopoverStateReturn>) => ReactElement<ButtonHTMLAttributes<HTMLButtonElement>>) | (ReactElement<ButtonHTMLAttributes<HTMLButtonElement>> & {
@@ -1362,6 +1437,12 @@ type MenuProps = {
1362
1437
  visible?: boolean;
1363
1438
  'data-testid'?: string;
1364
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
+ */
1365
1446
  declare const Menu: react.ForwardRefExoticComponent<MenuProps & react.RefAttributes<HTMLButtonElement>> & {
1366
1447
  Item: react.ForwardRefExoticComponent<{
1367
1448
  href?: string | undefined;
@@ -1397,6 +1478,9 @@ type PasswordStrengthMeterProps$1 = {
1397
1478
  'data-testid'?: string;
1398
1479
  id?: string;
1399
1480
  };
1481
+ /**
1482
+ * Show strength of a password based on different criteria.
1483
+ */
1400
1484
  declare const Meter: ({ strength, title, value, className, "data-testid": dataTestId, id, }: PasswordStrengthMeterProps$1) => JSX.Element;
1401
1485
 
1402
1486
  type ModalSize = 'large' | 'medium' | 'small' | 'xsmall' | 'xxsmall';
@@ -1443,6 +1527,10 @@ type ModalProps = {
1443
1527
  */
1444
1528
  customDialogStyles?: react__default.JSX.IntrinsicAttributes['css'];
1445
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
+ */
1446
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;
1447
1535
 
1448
1536
  type NoticeProps = {
@@ -1450,6 +1538,9 @@ type NoticeProps = {
1450
1538
  className?: string;
1451
1539
  'data-testid'?: string;
1452
1540
  };
1541
+ /**
1542
+ * A Notice is used to display a short message to the user.
1543
+ */
1453
1544
  declare const Notice: ({ children, className, "data-testid": dataTestId, }: NoticeProps) => _emotion_react_jsx_runtime.JSX.Element;
1454
1545
 
1455
1546
  type CheckboxGroupCheckboxProps = Omit<ComponentProps<typeof Checkbox>, 'onChange' | 'checked' | 'required'> & {
@@ -1466,6 +1557,9 @@ type CheckboxGroupProps = {
1466
1557
  children: ReactNode;
1467
1558
  required?: boolean;
1468
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
+ */
1469
1563
  declare const CheckboxGroup: {
1470
1564
  ({ legend, value, className, helper, error, direction, children, onChange, name, required, }: CheckboxGroupProps): _emotion_react_jsx_runtime.JSX.Element;
1471
1565
  Checkbox: ({ onFocus, onBlur, disabled, error, name, value, children, helper, className, autoFocus, "data-testid": dataTestId, }: CheckboxGroupCheckboxProps) => _emotion_react_jsx_runtime.JSX.Element;
@@ -1506,6 +1600,10 @@ type NumberInputProps = {
1506
1600
  placeholder?: string;
1507
1601
  error?: string | boolean;
1508
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
+ */
1509
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;
1510
1608
 
1511
1609
  type PaginationProps = {
@@ -1533,7 +1631,8 @@ type PaginationProps = {
1533
1631
  'data-testid'?: string;
1534
1632
  };
1535
1633
  /**
1536
- * 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.
1537
1636
  */
1538
1637
  declare const Pagination: ({ disabled, page, pageCount, onChange, pageTabCount, className, "data-testid": dataTestId, }: PaginationProps) => JSX.Element;
1539
1638
 
@@ -1551,6 +1650,10 @@ type PasswordCheckProps = {
1551
1650
  className?: string;
1552
1651
  'data-testid'?: string;
1553
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
+ */
1554
1657
  declare const PasswordCheck: ({ rules, className, "data-testid": dataTestId, }: PasswordCheckProps) => _emotion_react_jsx_runtime.JSX.Element;
1555
1658
 
1556
1659
  type Strength = {
@@ -1587,6 +1690,7 @@ type PasswordStrengthMeterProps = {
1587
1690
  'data-testid'?: string;
1588
1691
  };
1589
1692
  /**
1693
+ * PasswordStrengthMeter is a component that displays a password strength meter.
1590
1694
  * @deprecated use Meter component instead
1591
1695
  */
1592
1696
  declare const PasswordStrengthMeter: ({ password, onChange, strength, title, estimate, forbiddenInputs, className, "data-testid": dataTestId, }: PasswordStrengthMeterProps) => JSX.Element;
@@ -1610,6 +1714,8 @@ type PieChartProps = {
1610
1714
  margin?: Box;
1611
1715
  };
1612
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.
1613
1719
  * @experimental This component is experimental and may be subject to breaking changes in the future.
1614
1720
  */
1615
1721
  declare const PieChart: ({ height, width, data, emptyLegend, content, withLegend, margin, chartProps, }: PieChartProps) => _emotion_react_jsx_runtime.JSX.Element;
@@ -1651,6 +1757,7 @@ type TooltipProps$1 = {
1651
1757
  role?: string;
1652
1758
  'data-testid'?: string;
1653
1759
  hasArrow?: boolean;
1760
+ onClose?: () => void;
1654
1761
  };
1655
1762
  declare const Popup: react.ForwardRefExoticComponent<TooltipProps$1 & react.RefAttributes<HTMLDivElement>>;
1656
1763
 
@@ -1671,6 +1778,10 @@ type PopoverProps = {
1671
1778
  className?: string;
1672
1779
  'data-testid'?: string;
1673
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
+ */
1674
1785
  declare const Popover: ({ visible, children, placement, content, title, sentiment, size, onClose, className, "data-testid": dataTestId, }: PopoverProps) => _emotion_react_jsx_runtime.JSX.Element;
1675
1786
 
1676
1787
  declare const progressBarSentiments: readonly ["primary", "success", "warning", "info"];
@@ -1682,6 +1793,9 @@ type ProgressBarProps = {
1682
1793
  className?: string;
1683
1794
  'data-testid'?: string;
1684
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
+ */
1685
1799
  declare const ProgressBar: ({ progress, value, sentiment, className, "data-testid": dataTestId, }: ProgressBarProps) => _emotion_react_jsx_runtime.JSX.Element;
1686
1800
 
1687
1801
  type RadioProps = {
@@ -1691,6 +1805,7 @@ type RadioProps = {
1691
1805
  helper?: ReactNode;
1692
1806
  className?: string;
1693
1807
  'data-testid'?: string;
1808
+ tooltip?: string;
1694
1809
  } & Required<Pick<InputHTMLAttributes<HTMLInputElement>, 'onChange'>> & Pick<InputHTMLAttributes<HTMLInputElement>, 'onFocus' | 'onBlur' | 'disabled' | 'autoFocus' | 'onKeyDown' | 'id' | 'name' | 'required'> & ({
1695
1810
  'aria-label': string;
1696
1811
  label?: never;
@@ -1698,6 +1813,9 @@ type RadioProps = {
1698
1813
  'aria-label'?: never;
1699
1814
  label: ReactNode;
1700
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
+ */
1701
1819
  declare const Radio: react.ForwardRefExoticComponent<RadioProps & react.RefAttributes<HTMLInputElement>>;
1702
1820
 
1703
1821
  type RowProps = {
@@ -1709,6 +1827,10 @@ type RowProps = {
1709
1827
  alignItems?: CSSProperties['alignItems'];
1710
1828
  justifyContent?: CSSProperties['justifyContent'];
1711
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
+ */
1712
1834
  declare const Row: ({ className, "data-testid": dataTestId, children, templateColumns, alignItems, justifyContent, gap, }: RowProps) => _emotion_react_jsx_runtime.JSX.Element;
1713
1835
 
1714
1836
  type SelectableCardProps = {
@@ -1729,6 +1851,10 @@ type SelectableCardProps = {
1729
1851
  label?: ReactNode;
1730
1852
  'data-testid'?: string;
1731
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
+ */
1732
1858
  declare const SelectableCard: react.ForwardRefExoticComponent<SelectableCardProps & react.RefAttributes<HTMLDivElement>>;
1733
1859
 
1734
1860
  type SelectOption = {
@@ -1792,6 +1918,10 @@ type SelectInputProps = SelectProps & SelectStyleProps & {
1792
1918
  'data-testid'?: string;
1793
1919
  };
1794
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
+ */
1795
1925
  declare const SelectInput: ForwardRefExoticComponent<Partial<SelectInputProps>> & {
1796
1926
  Option: OptionComponent;
1797
1927
  };
@@ -1805,6 +1935,9 @@ type SeparatorProps = {
1805
1935
  className?: string;
1806
1936
  'data-testid'?: string;
1807
1937
  };
1938
+ /**
1939
+ * Separator component used to separate content with a horizontal or vertical line.
1940
+ */
1808
1941
  declare const Separator: ({ direction, thickness, color, icon, className, "data-testid": dataTestId, }: SeparatorProps) => JSX.Element;
1809
1942
 
1810
1943
  declare const variants$1: {
@@ -1839,6 +1972,11 @@ type SkeletonProps = {
1839
1972
  col?: number;
1840
1973
  className?: string;
1841
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
+ */
1842
1980
  declare const Skeleton: ({ variant, length, col, className, }: SkeletonProps) => _emotion_react_jsx_runtime.JSX.Element;
1843
1981
 
1844
1982
  type Prefixes = 'lines' | 'command';
@@ -1855,6 +1993,10 @@ type SnippetProps = {
1855
1993
  hideText?: string;
1856
1994
  'data-testid'?: string;
1857
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
+ */
1858
2000
  declare const Snippet: ({ children, copyText, copiedText, showText, hideText, prefix, className, "data-testid": dataTestId, }: SnippetProps) => _emotion_react_jsx_runtime.JSX.Element;
1859
2001
 
1860
2002
  type StackProps = {
@@ -1863,10 +2005,16 @@ type StackProps = {
1863
2005
  alignItems?: CSSProperties['alignItems'];
1864
2006
  justifyContent?: CSSProperties['justifyContent'];
1865
2007
  wrap?: boolean | CSSProperties['flexWrap'];
2008
+ width?: CSSProperties['width'];
2009
+ flex?: CSSProperties['flex'];
1866
2010
  className?: string;
1867
2011
  children: ReactNode;
1868
2012
  'data-testid'?: string;
1869
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
+ */
1870
2018
  declare const Stack: _emotion_styled.StyledComponent<{
1871
2019
  theme?: _emotion_react.Theme | undefined;
1872
2020
  as?: react.ElementType<any> | undefined;
@@ -1897,6 +2045,9 @@ type StatusProps = {
1897
2045
  tooltip?: string;
1898
2046
  'data-testid'?: string;
1899
2047
  };
2048
+ /**
2049
+ * Status component used to display a colored circle with a tooltip for additional information.
2050
+ */
1900
2051
  declare const Status: ({ animated, className, tooltip, sentiment, "data-testid": dataTestId, }: StatusProps) => JSX.Element;
1901
2052
 
1902
2053
  type Sizes = 'small' | 'medium';
@@ -1920,6 +2071,7 @@ type StepListProps = {
1920
2071
  'data-testid'?: string;
1921
2072
  };
1922
2073
  /**
2074
+ * StepList component is used to display a list of steps.
1923
2075
  * @experimental This component is experimental and may be subject to breaking changes in the future.
1924
2076
  */
1925
2077
  declare const StepList: {
@@ -1934,6 +2086,9 @@ type StepperProps = {
1934
2086
  className?: string;
1935
2087
  'data-testid'?: string;
1936
2088
  };
2089
+ /**
2090
+ * Stepper component to show the progress of a process in a linear way.
2091
+ */
1937
2092
  declare const Stepper: ({ children, selected, animated, className, "data-testid": dataTestId, }: StepperProps) => _emotion_react_jsx_runtime.JSX.Element;
1938
2093
 
1939
2094
  type SwitchButtonProps = {
@@ -1956,6 +2111,9 @@ type SwitchButtonProps = {
1956
2111
  className?: string;
1957
2112
  'data-testid'?: string;
1958
2113
  };
2114
+ /**
2115
+ * SwitchButton is a component that allows the user to select between two options.
2116
+ */
1959
2117
  declare const SwitchButton: ({ value, onChange, onFocus, onBlur, name, leftButton, rightButton, tooltip, className, "data-testid": dataTestId, }: SwitchButtonProps) => _emotion_react_jsx_runtime.JSX.Element;
1960
2118
 
1961
2119
  type HeaderCellProps = {
@@ -2003,6 +2161,9 @@ type TableProps = {
2003
2161
  bordered?: boolean;
2004
2162
  stripped?: boolean;
2005
2163
  };
2164
+ /**
2165
+ * Table is a component that displays data in a tabular format.
2166
+ */
2006
2167
  declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLTableElement>> & {
2007
2168
  Body: ({ children }: {
2008
2169
  children: ReactNode;
@@ -2044,6 +2205,9 @@ type TabsProps = {
2044
2205
  className?: string;
2045
2206
  'data-testid'?: string;
2046
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
+ */
2047
2211
  declare const Tabs: {
2048
2212
  ({ children, onChange, moreDisclosure, selected, className, "data-testid": dataTestId, ...props }: TabsProps): _emotion_react_jsx_runtime.JSX.Element;
2049
2213
  Tab: react.ForwardRefExoticComponent<Omit<{
@@ -2098,6 +2262,10 @@ type TagProps = {
2098
2262
  children: ReactNode;
2099
2263
  'data-testid'?: string;
2100
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
+ */
2101
2269
  declare const Tag: ({ children, isLoading, onClose, icon, copiable, copyText, copiedText, disabled, sentiment, className, "data-testid": dataTestId, }: TagProps) => _emotion_react_jsx_runtime.JSX.Element;
2102
2270
 
2103
2271
  declare const variants: {
@@ -2130,6 +2298,7 @@ type TagInputProps = {
2130
2298
  'data-testid'?: string;
2131
2299
  };
2132
2300
  /**
2301
+ * TagInput is a component that allows users to input tags.
2133
2302
  * @experimental This component is experimental and may be subject to breaking changes in the future.
2134
2303
  */
2135
2304
  declare const TagInput: ({ disabled, id, manualInput, name, onChange, onChangeError, placeholder, tags, variant, className, "data-testid": dataTestId, }: TagInputProps) => JSX.Element;
@@ -2158,6 +2327,9 @@ type TagListProps = {
2158
2327
  className?: string;
2159
2328
  'data-testid'?: string;
2160
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
+ */
2161
2333
  declare const TagList: ({ maxLength, tags, threshold, multiline, popoverTitle, copiable, copyText, copiedText, className, "data-testid": dataTestId, }: TagListProps) => JSX.Element | null;
2162
2334
 
2163
2335
  declare const PROMINENCES: {
@@ -2175,7 +2347,7 @@ type TextProps = {
2175
2347
  placement?: PlacementProps;
2176
2348
  variant: TextVariant;
2177
2349
  /**
2178
- * @deprecated: use `sentiment` property instead
2350
+ * @deprecated use `sentiment` property instead
2179
2351
  */
2180
2352
  color?: Color;
2181
2353
  sentiment?: Color;
@@ -2190,6 +2362,9 @@ type TextProps = {
2190
2362
  htmlFor?: string;
2191
2363
  'data-testid'?: string;
2192
2364
  };
2365
+ /**
2366
+ * Text component is used to display text with different variants and sentiments.
2367
+ */
2193
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;
2194
2369
 
2195
2370
  declare const inputSizes: {
@@ -2257,6 +2432,10 @@ type TextInputProps = {
2257
2432
  max?: InputHTMLAttributes<HTMLInputElement>['max'];
2258
2433
  min?: InputHTMLAttributes<HTMLInputElement>['min'];
2259
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
+ */
2260
2439
  declare const TextInput: react.ForwardRefExoticComponent<TextInputProps & react.RefAttributes<HTMLInputElement | HTMLTextAreaElement | null>>;
2261
2440
 
2262
2441
  declare const schedules: {
@@ -2276,6 +2455,8 @@ type TimeInputType = ((props: TimeInputProps) => JSX.Element) & {
2276
2455
  options: typeof options;
2277
2456
  };
2278
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.
2279
2460
  * @experimental This component is experimental and may be subject to breaking changes in the future.
2280
2461
  */
2281
2462
  declare const TimeInput: TimeInputType;
@@ -2301,8 +2482,19 @@ type ToastContainerProps = {
2301
2482
  position?: ToastOptions['position'];
2302
2483
  'data-testid'?: string;
2303
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
+ */
2304
2493
  declare const ToastContainer: ({ newestOnTop, limit, position, "data-testid": dataTestId, }: ToastContainerProps) => _emotion_react_jsx_runtime.JSX.Element;
2305
2494
 
2495
+ /**
2496
+ * Toggle component is used to toggle between two states (on/off, true/false, etc.).
2497
+ */
2306
2498
  declare const Toggle: react.ForwardRefExoticComponent<{
2307
2499
  id?: string | undefined;
2308
2500
  checked?: boolean | undefined;
@@ -2341,6 +2533,10 @@ declare const ToggleGroup: {
2341
2533
  };
2342
2534
 
2343
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
+ */
2344
2540
  declare const Tooltip: react.ForwardRefExoticComponent<TooltipProps & react.RefAttributes<HTMLDivElement>>;
2345
2541
 
2346
2542
  type VerificationCodeProps = {
@@ -2371,6 +2567,9 @@ type VerificationCodeProps = {
2371
2567
  'data-testid'?: string;
2372
2568
  'aria-label'?: string;
2373
2569
  };
2570
+ /**
2571
+ * Verification code allows you to enter a code in multiple fields (4 by default).
2572
+ */
2374
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;
2375
2574
 
2376
2575
  type RadioGroupRadioProps = Omit<ComponentProps<typeof Radio>, 'onChange' | 'checked' | 'required'>;
@@ -2383,6 +2582,9 @@ type RadioGroupProps = {
2383
2582
  direction?: 'row' | 'column';
2384
2583
  children: ReactNode;
2385
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
+ */
2386
2588
  declare const RadioGroup: {
2387
2589
  ({ legend, value, className, helper, error, direction, children, onChange, name, required, }: RadioGroupProps): _emotion_react_jsx_runtime.JSX.Element;
2388
2590
  Radio: ({ onFocus, onBlur, disabled, error, name, value, label, helper, className, autoFocus, onKeyDown, "data-testid": dataTestId, }: RadioGroupRadioProps) => _emotion_react_jsx_runtime.JSX.Element;