@xqmsg/ui-core 0.23.2 → 0.24.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 (196) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +40 -40
  3. package/dist/{78c9d6fd7766410f.svg → 89793640b494d7ea.svg} +9 -9
  4. package/dist/components/input/InputTypes.d.ts +1 -1
  5. package/dist/components/input/index.d.ts +3 -3
  6. package/dist/components/select/index.d.ts +6 -5
  7. package/dist/components/text/index.d.ts +2 -2
  8. package/dist/ui-core.cjs.development.js +12 -19
  9. package/dist/ui-core.cjs.development.js.map +1 -1
  10. package/dist/ui-core.cjs.production.min.js +1 -1
  11. package/dist/ui-core.cjs.production.min.js.map +1 -1
  12. package/dist/ui-core.esm.js +12 -19
  13. package/dist/ui-core.esm.js.map +1 -1
  14. package/package.json +118 -118
  15. package/src/components/banner/Banner.stories.tsx +100 -100
  16. package/src/components/banner/index.tsx +75 -73
  17. package/src/components/breadcrumbs/Breadcrumbs.stories.tsx +66 -66
  18. package/src/components/breadcrumbs/components/icon/index.tsx +38 -38
  19. package/src/components/breadcrumbs/components/label/index.tsx +20 -20
  20. package/src/components/breadcrumbs/index.tsx +48 -48
  21. package/src/components/button/Button.stories.tsx +140 -140
  22. package/src/components/button/google/GoogleButton.stories.tsx +23 -23
  23. package/src/components/button/google/index.tsx +29 -29
  24. package/src/components/button/index.tsx +51 -51
  25. package/src/components/button/microsoft/MicrosoftButton.stories.tsx +25 -25
  26. package/src/components/button/microsoft/index.tsx +29 -29
  27. package/src/components/button/spinner/SpinnerButton.stories.tsx +60 -60
  28. package/src/components/button/spinner/index.tsx +36 -36
  29. package/src/components/card/Card.stories.tsx +56 -56
  30. package/src/components/card/index.tsx +78 -78
  31. package/src/components/form/Form.stories.tsx +62 -62
  32. package/src/components/form/FormTypes.ts +20 -20
  33. package/src/components/form/hooks/useFormHandler.tsx +74 -74
  34. package/src/components/form/index.tsx +25 -25
  35. package/src/components/form/section/FormSection.stories.tsx +109 -109
  36. package/src/components/form/section/index.tsx +87 -87
  37. package/src/components/form/utils/formErrors.ts +34 -34
  38. package/src/components/icons/checkmark/checkmark.svg +3 -3
  39. package/src/components/icons/checkmark/index.tsx +13 -13
  40. package/src/components/icons/chevron/down/chevron-down.svg +3 -3
  41. package/src/components/icons/chevron/down/index.tsx +14 -14
  42. package/src/components/icons/chevron/right/chevron-right.svg +3 -3
  43. package/src/components/icons/chevron/right/index.tsx +13 -13
  44. package/src/components/icons/clock/clock.svg +3 -3
  45. package/src/components/icons/clock/index.tsx +13 -13
  46. package/src/components/icons/close/close.svg +3 -3
  47. package/src/components/icons/close/index.tsx +21 -21
  48. package/src/components/icons/dropdown/dropdown.svg +3 -3
  49. package/src/components/icons/dropdown/index.tsx +16 -16
  50. package/src/components/icons/error/error.svg +3 -3
  51. package/src/components/icons/error/index.tsx +13 -13
  52. package/src/components/icons/file/fill/file-fill.svg +4 -4
  53. package/src/components/icons/file/fill/index.tsx +13 -13
  54. package/src/components/icons/file/outline/file-outline.svg +3 -3
  55. package/src/components/icons/file/outline/index.tsx +13 -13
  56. package/src/components/icons/folder/add/fill/folder-add-fill.svg +3 -3
  57. package/src/components/icons/folder/add/fill/index.tsx +13 -13
  58. package/src/components/icons/folder/add/outline/folder-add-outline.svg +3 -3
  59. package/src/components/icons/folder/add/outline/index.tsx +15 -15
  60. package/src/components/icons/folder/fill/folder-fill-gradient.svg +33 -33
  61. package/src/components/icons/folder/fill/folder-fill.svg +4 -4
  62. package/src/components/icons/folder/fill/index.tsx +21 -21
  63. package/src/components/icons/folder/outline/folder-outline.svg +3 -3
  64. package/src/components/icons/folder/outline/index.tsx +13 -13
  65. package/src/components/icons/gear/GearIcon.tsx +36 -36
  66. package/src/components/icons/google/drive/index.tsx +13 -13
  67. package/src/components/icons/google/google.svg +13 -13
  68. package/src/components/icons/google/index.tsx +13 -13
  69. package/src/components/icons/group/group.svg +3 -3
  70. package/src/components/icons/group/index.tsx +13 -13
  71. package/src/components/icons/home/home.svg +3 -3
  72. package/src/components/icons/home/index.tsx +13 -13
  73. package/src/components/icons/image/image.svg +3 -3
  74. package/src/components/icons/image/index.tsx +13 -13
  75. package/src/components/icons/index.tsx +101 -101
  76. package/src/components/icons/link/index.tsx +13 -13
  77. package/src/components/icons/link/link.svg +4 -4
  78. package/src/components/icons/menu/index.tsx +13 -13
  79. package/src/components/icons/menu/menu.svg +3 -3
  80. package/src/components/icons/microsoft/index.tsx +13 -13
  81. package/src/components/icons/microsoft/microsoft.svg +9 -9
  82. package/src/components/icons/microsoft/onedrive/index.tsx +16 -16
  83. package/src/components/icons/neutral/index.tsx +14 -14
  84. package/src/components/icons/neutral/neutral.svg +3 -3
  85. package/src/components/icons/page/index.tsx +13 -13
  86. package/src/components/icons/page/page.svg +3 -3
  87. package/src/components/icons/positive/index.tsx +13 -13
  88. package/src/components/icons/positive/positive.svg +3 -3
  89. package/src/components/icons/question/index.tsx +13 -13
  90. package/src/components/icons/question/question.svg +3 -3
  91. package/src/components/icons/search/index.tsx +13 -13
  92. package/src/components/icons/search/search.svg +3 -3
  93. package/src/components/icons/services/index.tsx +13 -13
  94. package/src/components/icons/services/services.svg +3 -3
  95. package/src/components/icons/settings/index.tsx +14 -14
  96. package/src/components/icons/settings/settings.svg +6 -6
  97. package/src/components/icons/table/fill/index.tsx +13 -13
  98. package/src/components/icons/table/fill/table-fill.svg +3 -3
  99. package/src/components/icons/table/outline/index.tsx +13 -13
  100. package/src/components/icons/table/outline/table-outline.svg +3 -3
  101. package/src/components/icons/task/index.tsx +10 -10
  102. package/src/components/icons/task/task.svg +11 -11
  103. package/src/components/icons/trash/index.tsx +13 -13
  104. package/src/components/icons/trash/trash.svg +3 -3
  105. package/src/components/icons/vault/index.tsx +14 -14
  106. package/src/components/icons/video/index.tsx +13 -13
  107. package/src/components/icons/video/video.svg +3 -3
  108. package/src/components/icons/warning/index.tsx +13 -13
  109. package/src/components/icons/warning/warning.svg +3 -3
  110. package/src/components/icons/workspace/index.tsx +14 -14
  111. package/src/components/input/Input.stories.tsx +287 -287
  112. package/src/components/input/InputTypes.ts +83 -77
  113. package/src/components/input/StackedCheckbox/StackedCheckbox.tsx +44 -44
  114. package/src/components/input/StackedInput/StackedInput.tsx +60 -60
  115. package/src/components/input/StackedMultiSelect/index.tsx +349 -349
  116. package/src/components/input/StackedPilledInput/index.tsx +386 -386
  117. package/src/components/input/StackedRadio/StackedRadioGroup.tsx +38 -38
  118. package/src/components/input/StackedSelect/index.tsx +232 -232
  119. package/src/components/input/StackedSwitch/index.tsx +33 -33
  120. package/src/components/input/StackedTextarea/StackedTextarea.tsx +55 -55
  121. package/src/components/input/components/dropdown/index.tsx +111 -111
  122. package/src/components/input/components/label/index.tsx +35 -35
  123. package/src/components/input/components/token/Token.stories.tsx +25 -25
  124. package/src/components/input/components/token/index.tsx +45 -45
  125. package/src/components/input/index.tsx +299 -298
  126. package/src/components/layout/BorderedBox/index.tsx +30 -30
  127. package/src/components/layout/Layout.stories.tsx +40 -40
  128. package/src/components/layout/index.tsx +100 -100
  129. package/src/components/link/Link.stories.tsx +23 -23
  130. package/src/components/link/index.tsx +34 -34
  131. package/src/components/loading/LoadingIndicator.stories.tsx +45 -45
  132. package/src/components/loading/index.tsx +45 -45
  133. package/src/components/modal/Modal.stories.tsx +36 -36
  134. package/src/components/modal/components/action/index.tsx +37 -37
  135. package/src/components/modal/index.tsx +41 -41
  136. package/src/components/navigation/NavigationMenu.stories.tsx +85 -85
  137. package/src/components/navigation/components/header/index.tsx +27 -27
  138. package/src/components/navigation/components/items/index.tsx +76 -76
  139. package/src/components/navigation/index.tsx +87 -87
  140. package/src/components/select/index.tsx +139 -140
  141. package/src/components/table/Table.stories.tsx +63 -63
  142. package/src/components/table/TableTypes.ts +15 -15
  143. package/src/components/table/components/loading/index.tsx +45 -45
  144. package/src/components/table/components/text/index.tsx +23 -23
  145. package/src/components/table/empty/index.tsx +47 -47
  146. package/src/components/table/index.tsx +84 -84
  147. package/src/components/table/utils/generateTableColumns.ts +9 -9
  148. package/src/components/tabs/TabsWrapper.stories.tsx +85 -85
  149. package/src/components/tabs/index.tsx +39 -39
  150. package/src/components/text/Text.stories.tsx +59 -59
  151. package/src/components/text/index.tsx +16 -16
  152. package/src/components/toast/Toast.stories.tsx +52 -52
  153. package/src/components/toast/index.tsx +78 -78
  154. package/src/components/toolbar/Toolbar.stories.tsx +59 -59
  155. package/src/components/toolbar/components/actions/add/index.tsx +18 -18
  156. package/src/components/toolbar/components/actions/search/index.tsx +38 -38
  157. package/src/components/toolbar/components/actions/sort/index.tsx +49 -49
  158. package/src/components/toolbar/components/breadcrumbs/index.tsx +63 -63
  159. package/src/components/toolbar/components/breadcrumbs/item/index.tsx +72 -72
  160. package/src/components/toolbar/components/dropdown/index.tsx +107 -107
  161. package/src/components/toolbar/components/navigation/components/button/left/index.tsx +28 -28
  162. package/src/components/toolbar/components/navigation/components/button/left/left-arrow.svg +3 -3
  163. package/src/components/toolbar/components/navigation/components/button/right/index.tsx +27 -27
  164. package/src/components/toolbar/components/navigation/components/button/right/right-arrow.svg +3 -3
  165. package/src/components/toolbar/components/navigation/index.tsx +36 -36
  166. package/src/components/toolbar/index.tsx +55 -55
  167. package/src/hooks/useDeepEffect.tsx +22 -22
  168. package/src/hooks/useDidMountEffect.tsx +13 -13
  169. package/src/hooks/useOnOutsideClick.tsx +31 -31
  170. package/src/hooks/useToast.tsx +16 -16
  171. package/src/index.tsx +78 -78
  172. package/src/theme/components/alert.ts +60 -60
  173. package/src/theme/components/badge.ts +59 -59
  174. package/src/theme/components/button.ts +163 -163
  175. package/src/theme/components/checkbox.ts +28 -28
  176. package/src/theme/components/code.ts +16 -16
  177. package/src/theme/components/form-error.ts +31 -31
  178. package/src/theme/components/form-label.ts +17 -17
  179. package/src/theme/components/form.ts +29 -29
  180. package/src/theme/components/input.ts +65 -65
  181. package/src/theme/components/link.ts +118 -118
  182. package/src/theme/components/modal.ts +45 -45
  183. package/src/theme/components/select.ts +36 -36
  184. package/src/theme/components/switch.ts +89 -89
  185. package/src/theme/components/table.ts +42 -42
  186. package/src/theme/components/tabs.ts +255 -255
  187. package/src/theme/components/text.ts +93 -93
  188. package/src/theme/components/textarea.ts +42 -42
  189. package/src/theme/customXQChakraTheme.ts +54 -54
  190. package/src/theme/foundations/breakpoints.ts +18 -18
  191. package/src/theme/foundations/colors.ts +165 -165
  192. package/src/theme/foundations/shadows.ts +23 -23
  193. package/src/theme/foundations/typography.ts +62 -62
  194. package/src/theme/provider/index.tsx +21 -21
  195. package/src/theme/styles.ts +19 -19
  196. package/CHANGELOG.md +0 -468
@@ -1,77 +1,83 @@
1
- import { TextareaProps, SelectProps } from '@chakra-ui/react';
2
- import reactSelect from 'react-select';
3
- import { InputProps } from '.';
4
-
5
- export type FieldProps = {
6
- rules?: ValidationProps;
7
- isInvalid?: boolean;
8
- errorText?: string;
9
- };
10
-
11
- export type InputType =
12
- | 'text'
13
- | 'select'
14
- | 'multi-select'
15
- | 'pilled-text'
16
- | 'textarea'
17
- | 'radio'
18
- | 'checkbox'
19
- | 'switch';
20
-
21
- export type FieldOption = {
22
- label: string;
23
- value: string | 'section_header';
24
- sortValue: number;
25
- };
26
-
27
- export type FieldOptions = FieldOption[];
28
-
29
- export interface ValidationProps {
30
- isRequired: boolean;
31
- isInvalid?: boolean;
32
- errorText?: string;
33
- }
34
-
35
- export interface InputFieldProps
36
- extends Omit<
37
- React.DetailedHTMLProps<
38
- React.InputHTMLAttributes<HTMLInputElement>,
39
- HTMLInputElement
40
- >,
41
- 'color' | 'height' | 'width' | 'size' | 'ref'
42
- >,
43
- FieldProps,
44
- Partial<InputProps> {}
45
-
46
- export interface TextareaFieldProps
47
- extends Omit<
48
- React.DetailedHTMLProps<
49
- React.TextareaHTMLAttributes<HTMLTextAreaElement>,
50
- HTMLTextAreaElement
51
- >,
52
- 'color' | 'height' | 'width' | 'size' | 'ref'
53
- >,
54
- FieldProps,
55
- Partial<TextareaProps> {}
56
-
57
- export interface SelectFieldProps
58
- extends Omit<
59
- React.DetailedHTMLProps<
60
- React.SelectHTMLAttributes<HTMLSelectElement>,
61
- HTMLSelectElement
62
- >,
63
- 'color' | 'height' | 'width' | 'size' | 'ref'
64
- >,
65
- FieldProps,
66
- Partial<SelectProps> {}
67
-
68
- export interface ReactSelectFieldProps
69
- extends Omit<
70
- React.DetailedHTMLProps<
71
- React.SelectHTMLAttributes<HTMLSelectElement>,
72
- HTMLSelectElement
73
- >,
74
- 'color' | 'height' | 'width' | 'size' | 'ref'
75
- >,
76
- FieldProps,
77
- Partial<reactSelect> {}
1
+ import { TextareaProps, SelectProps } from '@chakra-ui/react';
2
+ import reactSelect from 'react-select';
3
+ import { InputProps } from '.';
4
+
5
+ export type FieldProps = {
6
+ rules?: ValidationProps;
7
+ isInvalid?: boolean;
8
+ errorText?: string;
9
+ };
10
+
11
+ export type InputType =
12
+ | 'text'
13
+ | 'select'
14
+ | 'multi-select'
15
+ | 'pilled-text'
16
+ | 'textarea'
17
+ | 'radio'
18
+ | 'checkbox'
19
+ | 'switch';
20
+
21
+ export type FieldOption = {
22
+ label: string;
23
+ value: string | 'section_header';
24
+ sortValue: number;
25
+ };
26
+
27
+ export type FieldOptions = FieldOption[];
28
+
29
+ export interface ValidationProps {
30
+ isRequired: boolean;
31
+ isInvalid?: boolean;
32
+ errorText?: string;
33
+ }
34
+
35
+ export interface InputFieldProps
36
+ extends Omit<
37
+ React.DetailedHTMLProps<
38
+ React.InputHTMLAttributes<HTMLInputElement>,
39
+ HTMLInputElement
40
+ >,
41
+ | 'color'
42
+ | 'height'
43
+ | 'width'
44
+ | 'size'
45
+ | 'ref'
46
+ | 'onChange'
47
+ | 'defaultValue'
48
+ >,
49
+ FieldProps,
50
+ Partial<InputProps> {}
51
+
52
+ export interface TextareaFieldProps
53
+ extends Omit<
54
+ React.DetailedHTMLProps<
55
+ React.TextareaHTMLAttributes<HTMLTextAreaElement>,
56
+ HTMLTextAreaElement
57
+ >,
58
+ 'color' | 'height' | 'width' | 'size' | 'ref'
59
+ >,
60
+ FieldProps,
61
+ Partial<TextareaProps> {}
62
+
63
+ export interface SelectFieldProps
64
+ extends Omit<
65
+ React.DetailedHTMLProps<
66
+ React.SelectHTMLAttributes<HTMLSelectElement>,
67
+ HTMLSelectElement
68
+ >,
69
+ 'color' | 'height' | 'width' | 'size' | 'ref'
70
+ >,
71
+ FieldProps,
72
+ Partial<SelectProps> {}
73
+
74
+ export interface ReactSelectFieldProps
75
+ extends Omit<
76
+ React.DetailedHTMLProps<
77
+ React.SelectHTMLAttributes<HTMLSelectElement>,
78
+ HTMLSelectElement
79
+ >,
80
+ 'color' | 'height' | 'width' | 'size' | 'ref'
81
+ >,
82
+ FieldProps,
83
+ Partial<reactSelect> {}
@@ -1,44 +1,44 @@
1
- import React from 'react';
2
- import { Checkbox, Text } from '@chakra-ui/react';
3
- import { InputFieldProps } from '../InputTypes';
4
-
5
- export interface StackedCheckboxProps extends InputFieldProps {
6
- label: string;
7
- variant: string;
8
- }
9
-
10
- /**
11
- * A functional React component utilized to render the `StackedCheckbox` component.
12
- */
13
- const StackedCheckbox = React.forwardRef<
14
- HTMLInputElement,
15
- StackedCheckboxProps
16
- >(({ value, label, onChange, disabled, variant }, _ref) => {
17
- if (value === null) return null;
18
-
19
- return (
20
- <Checkbox
21
- ref={_ref}
22
- defaultChecked={Boolean(value)}
23
- defaultValue={value}
24
- onChange={e => {
25
- if (onChange) return onChange(e.target.checked as any);
26
- }}
27
- isChecked={Boolean(value)}
28
- disabled={disabled}
29
- variant={variant}
30
- >
31
- {/* solved like this because of bug in chakra
32
- https://github.com/chakra-ui/chakra-ui/issues/7328 */}
33
- <Text
34
- fontSize={variant === 'mobile' ? '17px' : '13px'}
35
- alignSelf="center"
36
- >
37
- {label}
38
- </Text>
39
- {/* {label} */}
40
- </Checkbox>
41
- );
42
- });
43
-
44
- export default StackedCheckbox;
1
+ import React from 'react';
2
+ import { Checkbox, Text } from '@chakra-ui/react';
3
+ import { InputFieldProps } from '../InputTypes';
4
+
5
+ export interface StackedCheckboxProps extends InputFieldProps {
6
+ label: string;
7
+ variant: string;
8
+ }
9
+
10
+ /**
11
+ * A functional React component utilized to render the `StackedCheckbox` component.
12
+ */
13
+ const StackedCheckbox = React.forwardRef<
14
+ HTMLInputElement,
15
+ StackedCheckboxProps
16
+ >(({ value, label, onChange, disabled, variant }, _ref) => {
17
+ if (value === null) return null;
18
+
19
+ return (
20
+ <Checkbox
21
+ ref={_ref}
22
+ defaultChecked={Boolean(value)}
23
+ defaultValue={value}
24
+ onChange={e => {
25
+ if (onChange) return onChange(e.target.checked as any);
26
+ }}
27
+ isChecked={Boolean(value)}
28
+ disabled={disabled}
29
+ variant={variant}
30
+ >
31
+ {/* solved like this because of bug in chakra
32
+ https://github.com/chakra-ui/chakra-ui/issues/7328 */}
33
+ <Text
34
+ fontSize={variant === 'mobile' ? '17px' : '13px'}
35
+ alignSelf="center"
36
+ >
37
+ {label}
38
+ </Text>
39
+ {/* {label} */}
40
+ </Checkbox>
41
+ );
42
+ });
43
+
44
+ export default StackedCheckbox;
@@ -1,60 +1,60 @@
1
- import React from 'react';
2
- import { Input, InputGroup } from '@chakra-ui/react';
3
- import { InputFieldProps } from '../InputTypes';
4
-
5
- export interface StackedInputProps extends InputFieldProps {
6
- isRequired?: boolean;
7
- allowDefault?: boolean;
8
- leftElement?: React.ReactNode;
9
- rightElement?: React.ReactNode;
10
- variant?: string;
11
- label?: string;
12
- }
13
-
14
- /**
15
- * A functional React component utilized to render the `StackedInput` component.
16
- */
17
- const StackedInput = React.forwardRef<HTMLInputElement, StackedInputProps>(
18
- (
19
- {
20
- type = 'text',
21
- isRequired,
22
- rightElement,
23
- leftElement,
24
- defaultValue,
25
- allowDefault,
26
- variant,
27
- label,
28
- ...props
29
- },
30
- _ref
31
- ) => {
32
- const isMobile = variant === 'mobile';
33
- const placeholder = isMobile && label ? label : undefined;
34
- return (
35
- <InputGroup>
36
- {leftElement && leftElement}
37
- {label}
38
- <Input
39
- {...props}
40
- placeholder={placeholder}
41
- type={type}
42
- isRequired={isRequired}
43
- ref={_ref}
44
- defaultValue={defaultValue}
45
- fontSize={isMobile ? '17px' : '13px'}
46
- variant={variant}
47
- onKeyDown={e => {
48
- if (e.key === 'Enter' && !allowDefault) {
49
- e.stopPropagation();
50
- e.preventDefault();
51
- }
52
- }}
53
- />
54
- {rightElement && rightElement}
55
- </InputGroup>
56
- );
57
- }
58
- );
59
-
60
- export default StackedInput;
1
+ import React from 'react';
2
+ import { Input, InputGroup } from '@chakra-ui/react';
3
+ import { InputFieldProps } from '../InputTypes';
4
+
5
+ export interface StackedInputProps extends InputFieldProps {
6
+ isRequired?: boolean;
7
+ allowDefault?: boolean;
8
+ leftElement?: React.ReactNode;
9
+ rightElement?: React.ReactNode;
10
+ variant?: string;
11
+ label?: string;
12
+ }
13
+
14
+ /**
15
+ * A functional React component utilized to render the `StackedInput` component.
16
+ */
17
+ const StackedInput = React.forwardRef<HTMLInputElement, StackedInputProps>(
18
+ (
19
+ {
20
+ type = 'text',
21
+ isRequired,
22
+ rightElement,
23
+ leftElement,
24
+ defaultValue,
25
+ allowDefault,
26
+ variant,
27
+ label,
28
+ ...props
29
+ },
30
+ _ref
31
+ ) => {
32
+ const isMobile = variant === 'mobile';
33
+ const placeholder = isMobile && label ? label : undefined;
34
+ return (
35
+ <InputGroup>
36
+ {leftElement && leftElement}
37
+ {label}
38
+ <Input
39
+ {...props}
40
+ placeholder={placeholder}
41
+ type={type}
42
+ isRequired={isRequired}
43
+ ref={_ref}
44
+ defaultValue={defaultValue}
45
+ fontSize={isMobile ? '17px' : '13px'}
46
+ variant={variant}
47
+ onKeyDown={e => {
48
+ if (e.key === 'Enter' && !allowDefault) {
49
+ e.stopPropagation();
50
+ e.preventDefault();
51
+ }
52
+ }}
53
+ />
54
+ {rightElement && rightElement}
55
+ </InputGroup>
56
+ );
57
+ }
58
+ );
59
+
60
+ export default StackedInput;