@livechat/design-system-react-components 1.16.4 → 1.16.6

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 (91) hide show
  1. package/README.md +82 -0
  2. package/dist/components/Alert/Alert.stories.d.ts +1 -1
  3. package/dist/components/Avatar/Avatar.stories.d.ts +1 -1
  4. package/dist/components/Button/Button.stories.d.ts +1 -1
  5. package/dist/components/Card/Card.stories.d.ts +1 -1
  6. package/dist/components/Checkbox/Checkbox.stories.d.ts +1 -1
  7. package/dist/components/DatePicker/DatePicker.stories.d.ts +4 -4
  8. package/dist/components/DatePicker/RangeDatePicker.stories.d.ts +2 -2
  9. package/dist/components/FieldGroup/FieldGroup.stories.d.ts +1 -1
  10. package/dist/components/FileUploadProgress/FileUploadProgress.stories.d.ts +3 -3
  11. package/dist/components/Form/Form.stories.d.ts +1 -1
  12. package/dist/components/FormField/FormField.stories.d.ts +3 -3
  13. package/dist/components/FormGroup/FormGroup.stories.d.ts +1 -1
  14. package/dist/components/Icon/Icon.stories.d.ts +1 -1
  15. package/dist/components/Icon/IconsShowcase/IconsShowcase.d.ts +11 -0
  16. package/dist/components/Icon/IconsShowcase/constans.d.ts +2 -0
  17. package/dist/components/Icon/IconsShowcase/helpers.d.ts +2 -0
  18. package/dist/components/Icon/IconsShowcase/types.d.ts +9 -0
  19. package/dist/components/Input/Input.stories.d.ts +1 -1
  20. package/dist/components/Link/Link.stories.d.ts +1 -1
  21. package/dist/components/Loader/Loader.stories.d.ts +1 -1
  22. package/dist/components/Modal/Modal.stories.d.ts +5 -5
  23. package/dist/components/NumericInput/NumericInput.stories.d.ts +6 -6
  24. package/dist/components/Picker/Picker.stories.d.ts +2 -2
  25. package/dist/components/Picker/helpers.d.ts +1 -0
  26. package/dist/components/Picker/hooks/useFloatingPicker.d.ts +33 -0
  27. package/dist/components/Picker/hooks/usePickerItems.d.ts +20 -0
  28. package/dist/components/Picker/types.d.ts +17 -1
  29. package/dist/components/Popover/Popover.stories.d.ts +1 -1
  30. package/dist/components/Progress/ProgressBar.stories.d.ts +1 -1
  31. package/dist/components/Progress/ProgressCircle.stories.d.ts +1 -1
  32. package/dist/components/PromoBanner/PromoBanner.stories.d.ts +6 -6
  33. package/dist/components/RadioButton/RadioButton.stories.d.ts +1 -1
  34. package/dist/components/Search/Search.stories.d.ts +2 -2
  35. package/dist/components/SegmentedControl/SegmentedControl.stories.d.ts +1 -1
  36. package/dist/components/Switch/Switch.stories.d.ts +1 -1
  37. package/dist/components/Tab/Tab.stories.d.ts +1 -19
  38. package/dist/components/Tab/TabsWrapper.stories.d.ts +1 -1
  39. package/dist/components/Tag/Tag.stories.d.ts +1 -1
  40. package/dist/components/TagInput/TagInput.stories.d.ts +1 -1
  41. package/dist/components/Textarea/Textarea.stories.d.ts +1 -1
  42. package/dist/components/Toast/Toast.stories.d.ts +1 -1
  43. package/dist/components/Toast/ToastWrapper.stories.d.ts +1 -1
  44. package/dist/components/Tooltip/Tooltip.stories.d.ts +1 -1
  45. package/dist/components/UploadBar/UploadBar.stories.d.ts +1 -1
  46. package/dist/dsrc.cjs.js +1 -1
  47. package/dist/dsrc.es.js +1804 -1707
  48. package/dist/{themes → foundations}/design-token.d.ts +2 -0
  49. package/dist/foundations/radius-token.d.ts +6 -0
  50. package/dist/foundations/shadow-token.d.ts +1 -0
  51. package/dist/foundations/spacing-token.d.ts +4 -0
  52. package/dist/foundations/transition-token.d.ts +3 -0
  53. package/dist/index.d.ts +1 -1
  54. package/dist/preview-stats.json +570 -540
  55. package/dist/stories/components/Table/Table.d.ts +13 -0
  56. package/dist/stories/foundations/Color/ColorTable.d.ts +7 -0
  57. package/dist/stories/foundations/Color/constants.d.ts +2 -0
  58. package/dist/stories/foundations/Color/data.d.ts +7 -0
  59. package/dist/stories/foundations/Color/helpers.d.ts +2 -0
  60. package/dist/stories/foundations/Color/types.d.ts +43 -0
  61. package/dist/stories/foundations/Radius/RadiusTable.d.ts +7 -0
  62. package/dist/stories/foundations/Radius/constants.d.ts +2 -0
  63. package/dist/stories/foundations/Radius/types.d.ts +8 -0
  64. package/dist/stories/foundations/Shadow/ShadowTable.d.ts +7 -0
  65. package/dist/stories/foundations/Shadow/constants.d.ts +2 -0
  66. package/dist/stories/foundations/Shadow/types.d.ts +6 -0
  67. package/dist/stories/foundations/Spacing/SpacingTable.d.ts +7 -0
  68. package/dist/stories/foundations/Spacing/constants.d.ts +2 -0
  69. package/dist/stories/foundations/Spacing/types.d.ts +7 -0
  70. package/dist/stories/foundations/Transition/TransitionTable.d.ts +7 -0
  71. package/dist/stories/foundations/Transition/components/TransitionDelayExample.d.ts +2 -0
  72. package/dist/stories/foundations/Transition/components/TransitionDurationExample.d.ts +2 -0
  73. package/dist/stories/foundations/Transition/components/TransitionTimingExample.d.ts +2 -0
  74. package/dist/stories/foundations/Transition/constants.d.ts +4 -0
  75. package/dist/stories/foundations/Transition/types.d.ts +16 -0
  76. package/dist/stories/helpers.d.ts +6 -0
  77. package/dist/style.css +1 -1
  78. package/package.json +17 -15
  79. package/dist/stories/components/ColorTokens.d.ts +0 -2
  80. package/dist/stories/components/Radius.d.ts +0 -2
  81. package/dist/stories/components/RadiusExamples.d.ts +0 -2
  82. package/dist/stories/components/Shadow.d.ts +0 -2
  83. package/dist/stories/components/ShadowExamples.d.ts +0 -2
  84. package/dist/stories/components/Spacing.d.ts +0 -2
  85. package/dist/stories/components/SpacingExamples.d.ts +0 -2
  86. package/dist/stories/components/TablerIconsShowcase.d.ts +0 -6
  87. package/dist/stories/components/Transition/TransitionTable.d.ts +0 -10
  88. package/dist/stories/components/Transition/transitionDelay.d.ts +0 -6
  89. package/dist/stories/components/Transition/transitionDuration.d.ts +0 -5
  90. package/dist/stories/components/Transition/transitionTiming.d.ts +0 -5
  91. /package/dist/stories/components/{BlockColumns.d.ts → BlockColumns/BlockColumns.d.ts} +0 -0
package/README.md ADDED
@@ -0,0 +1,82 @@
1
+ <h1 align="center">
2
+ <img src="./../../docs/assets/logo.png" alt="livechat design-system logo" /><br />
3
+ LiveChat Design System React Components
4
+ </h1>
5
+
6
+ <p align="center">
7
+ <a href="https://www.npmjs.com/@livechat/design-system-react-components">
8
+ <img alt="npm version react-components" src="https://img.shields.io/npm/v/@livechat/design-system-react-components.svg?label=react-components">
9
+ </a>
10
+ <a href="https://design.livechat.com/">
11
+ <img src="https://img.shields.io/static/v1?label=documentation&message=storybook&color=ff4685">
12
+ </a>
13
+ <a href="https://github.com/livechat/design-system/actions/workflows/tests.yml">
14
+ <img src="https://github.com/livechat/design-system/actions/workflows/tests.yml/badge.svg" alt="Workflow status badge" loading="lazy">
15
+ </a>
16
+ </p>
17
+
18
+ This package contains a library of reusable React components designed to be used in various projects. These components are the building blocks of our design system and can be easily integrated into your applications.
19
+
20
+
21
+ ## Installation
22
+
23
+ Run the following command using [npm](https://www.npmjs.com/) (or with you other favorite package manager, eg. [yarn](https://yarnpkg.com/)):
24
+
25
+ ```
26
+ npm install @livechat/design-system-react-components @livechat/design-system-icons --save
27
+ ```
28
+
29
+ ## Basic usage
30
+
31
+ It is required to import the `CSS` directly into your project so it could be applied to components:
32
+
33
+ ```js
34
+ import '@livechat/design-system-react-components/dist/style.css';
35
+ ```
36
+
37
+ You can import components directly from the npm package:
38
+
39
+ ```jsx
40
+ import { Button } from '@livechat/design-system-react-components';
41
+ ```
42
+
43
+ In case of icons there is a separate package (`@livechat/design-system-icons`) to be used in conjunction:
44
+
45
+ ```jsx
46
+ import { Edit } from '@livechat/design-system-icons';
47
+ import { Icon } from '@livechat/design-system-react-components';
48
+
49
+ <Icon source={Edit} kind="primary" />;
50
+ ```
51
+
52
+ ## Documentation
53
+
54
+ At this stage of the project we consider Storybook and Figma as parts of our documentation ecosystem.
55
+
56
+ [Storybook](https://design.livechat.com/) - includes design system foundations, describes components API and allows to familiarize with the thier capabilities
57
+ [Figma](https://www.figma.com/file/2pFu80PXO5A2tfyrAGnx91/Product-Components) - it's not an official documentation from design perspective but we follow a simple rule of working in public
58
+
59
+
60
+ ### Development
61
+
62
+ Required version of `node.js` is `16.13.2`.
63
+
64
+ If you're a [volta](https://volta.sh/) user, the project maintains node version entry within `package.json`.
65
+
66
+ You should start with installing dependencies:
67
+
68
+ ```
69
+ npm install
70
+ ```
71
+
72
+ After that just execute the `start` command. It will build all necessary packages in `watch` mode. `Storybook` should start automatically (if not - try visiting http://localhost:6006).
73
+
74
+ ```
75
+ npm start
76
+ ```
77
+
78
+ If `Storybook` is not enough, you can additionaly run `npm start:example` which will run `example-react` package in `watch` mode. `example-react` is a simple [React](https://reactjs.org/) app based on [vite-react boilterplate](https://github.com/vitejs/vite/tree/main/packages/create-vite). It has a direct dependency on `react-components` package, so every change should be reflected in the app via auto-reload.
79
+
80
+ ### Contributing
81
+
82
+ For the `contribution/testing/releasing` guides please refer to the [main repository](https://github.com/livechat/design-system/) documentation.
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { AlertProps } from './Alert';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, AlertProps & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, AlertProps & {
4
4
  children?: React.ReactNode;
5
5
  }>;
6
6
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { AvatarProps } from './Avatar';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, AvatarProps & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, AvatarProps & {
4
4
  children?: React.ReactNode;
5
5
  }>;
6
6
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { ButtonProps } from './Button';
3
3
  import { ButtonKind, ButtonSize } from './types';
4
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, {
4
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, {
5
5
  kind?: ButtonKind | undefined;
6
6
  size?: ButtonSize | undefined;
7
7
  loading?: boolean | undefined;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Story } from '@storybook/react';
3
3
  import { CardProps } from '../Card';
4
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, CardProps & {
4
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, CardProps & {
5
5
  children?: React.ReactNode;
6
6
  }>;
7
7
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { CheckboxProps } from './Checkbox';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, CheckboxProps & React.RefAttributes<HTMLInputElement>>;
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, CheckboxProps & React.RefAttributes<HTMLInputElement>>;
4
4
  export default _default;
5
5
  export declare const Checkbox: {
6
6
  (args: CheckboxProps): React.ReactElement;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { IDatePickerProps } from './types';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, IDatePickerProps & React.RefAttributes<import("react-day-picker").default>>;
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, IDatePickerProps & React.RefAttributes<import("react-day-picker").default>>;
4
4
  export default _default;
5
- export declare const DatePicker: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, IDatePickerProps>;
6
- export declare const DatePickerWithDatesBetweenTwoMonths: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, IDatePickerProps>;
7
- export declare const DatePickerWithCustomFirstDayOfWeek: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, IDatePickerProps>;
5
+ export declare const DatePicker: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, IDatePickerProps>;
6
+ export declare const DatePickerWithDatesBetweenTwoMonths: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, IDatePickerProps>;
7
+ export declare const DatePickerWithCustomFirstDayOfWeek: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, IDatePickerProps>;
@@ -1,4 +1,4 @@
1
1
  import { IRangeDatePickerProps } from './types';
2
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, IRangeDatePickerProps>;
2
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, IRangeDatePickerProps>;
3
3
  export default _default;
4
- export declare const RangeDatePicker: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, IRangeDatePickerProps>;
4
+ export declare const RangeDatePicker: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, IRangeDatePickerProps>;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { FieldGroupProps } from './FieldGroup';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, FieldGroupProps & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, FieldGroupProps & {
4
4
  children?: React.ReactNode;
5
5
  }>;
6
6
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { FileUploadProgressProps } from './FileUploadProgress';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, FileUploadProgressProps & React.RefAttributes<HTMLInputElement>>;
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, FileUploadProgressProps & React.RefAttributes<HTMLInputElement>>;
4
4
  export default _default;
5
- export declare const FileUploadProgress: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, FileUploadProgressProps>;
6
- export declare const FileUploadProgressWithIcon: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, FileUploadProgressProps>;
5
+ export declare const FileUploadProgress: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, FileUploadProgressProps>;
6
+ export declare const FileUploadProgressWithIcon: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, FileUploadProgressProps>;
7
7
  export declare const FileUploadProgressStates: React.FC;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Story } from '@storybook/react';
3
3
  import { FormProps } from '../Form';
4
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, FormProps & {
4
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, FormProps & {
5
5
  children?: React.ReactNode;
6
6
  }>;
7
7
  export default _default;
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { FormFieldProps } from './FormField';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, FormFieldProps & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, FormFieldProps & {
4
4
  children?: React.ReactNode;
5
5
  }>;
6
6
  export default _default;
7
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, FormFieldProps>;
7
+ export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, FormFieldProps>;
8
8
  export declare const Examples: () => React.ReactElement;
9
- export declare const TextFieldWithError: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, FormFieldProps>;
9
+ export declare const TextFieldWithError: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, FormFieldProps>;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { FormGroupProps } from './FormGroup';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, FormGroupProps & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, FormGroupProps & {
4
4
  children?: React.ReactNode;
5
5
  }>;
6
6
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { IconProps } from './Icon';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, IconProps & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, IconProps & {
4
4
  children?: React.ReactNode;
5
5
  }>;
6
6
  export default _default;
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ import { IconSource } from '../index';
3
+ import { IconName } from './types';
4
+ export type IconsMap = {
5
+ [key: string]: IconSource;
6
+ };
7
+ interface IProps {
8
+ data: IconName[];
9
+ }
10
+ export declare const IconsShowcase: React.FC<IProps>;
11
+ export {};
@@ -0,0 +1,2 @@
1
+ import { IconGroup, IconName } from './types';
2
+ export declare const IconsData: Record<IconName, IconGroup>;
@@ -0,0 +1,2 @@
1
+ import { IconGroup, IconName } from './types';
2
+ export declare const getIconsByGroup: (group: IconGroup) => IconName[];
@@ -0,0 +1,9 @@
1
+ import * as DSIcons from '@livechat/design-system-icons';
2
+ export type IconName = keyof typeof DSIcons;
3
+ export declare enum IconGroup {
4
+ Arrows = 0,
5
+ Text = 1,
6
+ FileType = 2,
7
+ General = 3,
8
+ Brands = 4
9
+ }
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Story } from '@storybook/react';
3
3
  import { InputProps } from './Input';
4
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, InputProps & React.RefAttributes<HTMLInputElement>>;
4
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, InputProps & React.RefAttributes<HTMLInputElement>>;
5
5
  export default _default;
6
6
  export declare const Default: Story<InputProps>;
7
7
  export declare const Sizes: () => React.ReactElement;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { LinkProps } from './Link';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, LinkProps & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, LinkProps & {
4
4
  children?: React.ReactNode;
5
5
  }>;
6
6
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { LoaderProps } from './Loader';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, LoaderProps & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, LoaderProps & {
4
4
  children?: React.ReactNode;
5
5
  }>;
6
6
  export default _default;
@@ -1,13 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import { ModalProps, ModalPortalProps } from './index';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, ModalProps & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, ModalProps & {
4
4
  children?: React.ReactNode;
5
5
  }>;
6
6
  export default _default;
7
- export declare const Modal: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, ModalProps>;
8
- export declare const ModalWithCustomHeader: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, ModalProps>;
9
- export declare const ModalWithLabeledHeader: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, ModalProps>;
10
- export declare const ModalWithFullSpaceContent: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, ModalProps>;
7
+ export declare const Modal: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, ModalProps>;
8
+ export declare const ModalWithCustomHeader: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, ModalProps>;
9
+ export declare const ModalWithLabeledHeader: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, ModalProps>;
10
+ export declare const ModalWithFullSpaceContent: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, ModalProps>;
11
11
  export declare const ModalPortal: {
12
12
  ({ children, ...args }: ModalPortalProps): React.ReactElement;
13
13
  args: ModalPortalProps;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { NumericInputProps } from './NumericInput';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, React.InputHTMLAttributes<HTMLInputElement> & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, React.InputHTMLAttributes<HTMLInputElement> & {
4
4
  className?: string | undefined;
5
5
  error?: string | undefined;
6
6
  value: string;
@@ -13,8 +13,8 @@ declare const _default: import("@storybook/types").ComponentAnnotations<import("
13
13
  children?: React.ReactNode;
14
14
  }>;
15
15
  export default _default;
16
- export declare const NumericInput: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, NumericInputProps>;
17
- export declare const NumericInputWithMinAndMaxValues: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, NumericInputProps>;
18
- export declare const NumericInputWithNoControls: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, NumericInputProps>;
19
- export declare const NumericInputWithDisabled: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, NumericInputProps>;
20
- export declare const NumericInputWithError: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, NumericInputProps>;
16
+ export declare const NumericInput: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, NumericInputProps>;
17
+ export declare const NumericInputWithMinAndMaxValues: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, NumericInputProps>;
18
+ export declare const NumericInputWithNoControls: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, NumericInputProps>;
19
+ export declare const NumericInputWithDisabled: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, NumericInputProps>;
20
+ export declare const NumericInputWithError: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, NumericInputProps>;
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { IPickerProps } from './types';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, IPickerProps & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, IPickerProps & {
4
4
  children?: React.ReactNode;
5
5
  }>;
6
6
  export default _default;
7
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, IPickerProps>;
7
+ export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, IPickerProps>;
8
8
  export declare const States: () => React.ReactElement;
9
9
  export declare const PickerWithGroupedOptions: () => React.ReactElement;
10
10
  export declare const PickerWithMoreOptions: () => React.ReactElement;
@@ -1,3 +1,4 @@
1
1
  import { IPickerListItem } from './types';
2
2
  export declare const findIndicesWhere: <T>(array: T[], predicate: (item: T) => boolean) => number[];
3
3
  export declare const getNormalizedItems: (items: IPickerListItem[]) => IPickerListItem[];
4
+ export declare const getPickerListItemKey: ({ key }: IPickerListItem) => string;
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+ import { FloatingContext, Placement, Strategy, UseClickProps, UseDismissProps } from '@floating-ui/react';
3
+ import { IPickerListItem } from '../types';
4
+ interface UseFloatingPickerProps {
5
+ disabled?: boolean;
6
+ items: IPickerListItem[];
7
+ placement?: Placement;
8
+ floatingStrategy?: Strategy;
9
+ useClickHookProps?: UseClickProps;
10
+ useDismissHookProps?: UseDismissProps;
11
+ openedOnInit: boolean;
12
+ isOpen?: boolean;
13
+ onVisibilityChange?: (open: boolean, event?: Event | undefined) => void;
14
+ }
15
+ interface IUseFloatingPicker {
16
+ getReferenceProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
17
+ setReference: (element: HTMLElement | null) => void;
18
+ getFloatingProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
19
+ getItemProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
20
+ floatingStyles: React.CSSProperties;
21
+ isPositioned: boolean;
22
+ context: FloatingContext<HTMLButtonElement>;
23
+ nodeId: string;
24
+ setFloating: (node: HTMLElement | null) => void;
25
+ activeIndex: number | null;
26
+ listElementsRef: React.MutableRefObject<(HTMLElement | null)[]>;
27
+ virtualItemRef: React.RefObject<HTMLDivElement>;
28
+ maxHeight: number;
29
+ pointer: boolean;
30
+ setPointer: (pointer: boolean) => void;
31
+ }
32
+ export declare const useFloatingPicker: ({ disabled, items, placement, floatingStrategy, useDismissHookProps, useClickHookProps, isOpen, onVisibilityChange, }: UseFloatingPickerProps) => IUseFloatingPicker;
33
+ export {};
@@ -0,0 +1,20 @@
1
+ import { IPickerListItem } from '../types';
2
+ interface UsePickerItemsProps {
3
+ selected?: IPickerListItem[] | null;
4
+ options: IPickerListItem[];
5
+ type: 'single' | 'multi';
6
+ selectAllOptionText?: string;
7
+ onSelect: (items: IPickerListItem[] | null) => void;
8
+ setOpen: (isOpen: boolean) => void;
9
+ }
10
+ interface IUsePickerItems {
11
+ selectedKeys: string[];
12
+ items: IPickerListItem[];
13
+ searchPhrase: string;
14
+ handleSelect: (key: string) => void;
15
+ handleOnFilter: (text: string) => void;
16
+ handleItemRemove: (itemKey: string) => void;
17
+ handleClear: () => void;
18
+ }
19
+ export declare const usePickerItems: ({ selected, options, type, selectAllOptionText, onSelect, setOpen, }: UsePickerItemsProps) => IUsePickerItems;
20
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { ReactElement } from 'react';
2
- import { Strategy, UseClickProps, UseDismissProps } from '@floating-ui/react';
2
+ import { Placement, Strategy, UseClickProps, UseDismissProps } from '@floating-ui/react';
3
3
  import { VirtuosoProps } from 'react-virtuoso';
4
4
  import { Size } from '../../utils';
5
5
  import { ComponentCoreProps } from '../../utils/types';
@@ -80,6 +80,18 @@ export interface IPickerProps extends ComponentCoreProps {
80
80
  * Set to hide clear selection button
81
81
  */
82
82
  hideClearButton?: boolean;
83
+ /**
84
+ * Set picker visibility
85
+ */
86
+ isVisible?: boolean;
87
+ /**
88
+ * Optional handler called on picker list hide
89
+ */
90
+ onClose?: (event?: Event) => void;
91
+ /**
92
+ * Optional handler called on picker list show
93
+ */
94
+ onOpen?: (event?: Event) => void;
83
95
  /**
84
96
  * Will open picker on component initialization
85
97
  */
@@ -92,6 +104,10 @@ export interface IPickerProps extends ComponentCoreProps {
92
104
  * Clears the search input after item select
93
105
  */
94
106
  clearSearchAfterSelection?: boolean;
107
+ /**
108
+ * The popover placement related to the trigger element
109
+ */
110
+ placement?: Placement;
95
111
  /**
96
112
  * Floating strategy for the picker component from @floating-ui/react
97
113
  */
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { StoryFn } from '@storybook/react';
3
3
  import type { IPopoverProps } from './types';
4
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, IPopoverProps & {
4
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, IPopoverProps & {
5
5
  children?: React.ReactNode;
6
6
  }>;
7
7
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { ProgressBarProps } from './ProgressBar';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, ProgressBarProps & React.RefAttributes<HTMLInputElement>>;
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, ProgressBarProps & React.RefAttributes<HTMLInputElement>>;
4
4
  export default _default;
5
5
  export declare const ProgressBar: {
6
6
  (args: ProgressBarProps): React.ReactElement;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { ProgressCircleProps } from './ProgressCircle';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, ProgressCircleProps & React.RefAttributes<HTMLInputElement>>;
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, ProgressCircleProps & React.RefAttributes<HTMLInputElement>>;
4
4
  export default _default;
5
5
  export declare const ProgressCircle: {
6
6
  (args: ProgressCircleProps): React.ReactElement;
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { PromoBannerProps } from './PromoBanner';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, PromoBannerProps & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, PromoBannerProps & {
4
4
  children?: React.ReactNode;
5
5
  }>;
6
6
  export default _default;
7
- export declare const PromoBanner: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, PromoBannerProps>;
8
- export declare const WithButtons: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, PromoBannerProps>;
9
- export declare const WithImage: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, PromoBannerProps>;
10
- export declare const WithClose: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, PromoBannerProps>;
11
- export declare const WithLight: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, PromoBannerProps>;
7
+ export declare const PromoBanner: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, PromoBannerProps>;
8
+ export declare const WithButtons: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, PromoBannerProps>;
9
+ export declare const WithImage: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, PromoBannerProps>;
10
+ export declare const WithClose: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, PromoBannerProps>;
11
+ export declare const WithLight: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, PromoBannerProps>;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { RadioButtonProps } from './RadioButton';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, RadioButtonProps & React.RefAttributes<HTMLInputElement>>;
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, RadioButtonProps & React.RefAttributes<HTMLInputElement>>;
4
4
  export default _default;
5
5
  export declare const RadioButton: {
6
6
  ({ children, ...args }: RadioButtonProps): React.ReactElement;
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { ISearchInputProps } from './Search';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, ISearchInputProps & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, ISearchInputProps & {
4
4
  children?: React.ReactNode;
5
5
  }>;
6
6
  export default _default;
7
- export declare const Search: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, ISearchInputProps>;
7
+ export declare const Search: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, ISearchInputProps>;
8
8
  export declare const States: {
9
9
  (args: ISearchInputProps): React.ReactElement;
10
10
  args: {};
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Story } from '@storybook/react';
3
3
  import { SegmentedControlProps } from './SegmentedControl';
4
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, SegmentedControlProps & {
4
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, SegmentedControlProps & {
5
5
  children?: React.ReactNode;
6
6
  }>;
7
7
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Story } from '@storybook/react';
3
3
  import { SwitchProps } from './Switch';
4
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, SwitchProps & {
4
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, SwitchProps & {
5
5
  children?: React.ReactNode;
6
6
  }>;
7
7
  export default _default;
@@ -1,24 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { TabProps } from './Tab';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, React.AnchorHTMLAttributes<HTMLAnchorElement> & {
4
- href: string;
5
- } & {
6
- count?: number | undefined;
7
- isSelected?: boolean | undefined;
8
- asBadge?: boolean | undefined;
9
- size?: import("../..").Size | undefined;
10
- } & {
11
- children?: React.ReactNode;
12
- }> | import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, React.ButtonHTMLAttributes<HTMLButtonElement> & {
13
- href?: undefined;
14
- } & {
15
- count?: number | undefined;
16
- isSelected?: boolean | undefined;
17
- asBadge?: boolean | undefined;
18
- size?: import("../..").Size | undefined;
19
- } & {
20
- children?: React.ReactNode;
21
- }>;
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, React.PropsWithChildren<React.PropsWithChildren<TabProps>>>;
22
4
  export default _default;
23
5
  type ITabArgs = TabProps;
24
6
  export declare const Tab: {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, React.HTMLAttributes<HTMLDivElement> & {
2
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, React.HTMLAttributes<HTMLDivElement> & {
3
3
  children?: React.ReactNode;
4
4
  }>;
5
5
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { TagProps } from './Tag';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, TagProps & {
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, TagProps & {
4
4
  children?: React.ReactNode;
5
5
  }>;
6
6
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Story } from '@storybook/react';
3
3
  import { TagInputProps, EmailTagInputProps } from './index';
4
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, TagInputProps & {
4
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, TagInputProps & {
5
5
  children?: React.ReactNode;
6
6
  }>;
7
7
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Story } from '@storybook/react';
3
3
  import { TextareaProps } from './Textarea';
4
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
4
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
5
5
  export default _default;
6
6
  export declare const Default: Story<TextareaProps>;
7
7
  export declare const States: () => React.ReactElement;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Story } from '@storybook/react';
3
3
  import { ToastProps } from './Toast';
4
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, ToastProps & {
4
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, ToastProps & {
5
5
  children?: React.ReactNode;
6
6
  }>;
7
7
  export default _default;