@stack-spot/citric-react 0.41.2 → 0.42.0-beta.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 (204) hide show
  1. package/CHANGELOG.md +13 -13
  2. package/dist/citric.css +3090 -2846
  3. package/dist/components/Accordion.d.ts +1 -1
  4. package/dist/components/Accordion.js +1 -1
  5. package/dist/components/Alert.d.ts +1 -1
  6. package/dist/components/Alert.js +1 -1
  7. package/dist/components/AsyncContent.d.ts +1 -1
  8. package/dist/components/AsyncContent.js +1 -1
  9. package/dist/components/Autocomplete/Autocomplete.d.ts +211 -0
  10. package/dist/components/Autocomplete/Autocomplete.d.ts.map +1 -0
  11. package/dist/components/Autocomplete/Autocomplete.js +409 -0
  12. package/dist/components/Autocomplete/Autocomplete.js.map +1 -0
  13. package/dist/components/Autocomplete/index.d.ts +3 -0
  14. package/dist/components/Autocomplete/index.d.ts.map +1 -0
  15. package/dist/components/Autocomplete/index.js +2 -0
  16. package/dist/components/Autocomplete/index.js.map +1 -0
  17. package/dist/components/Avatar.d.ts +1 -1
  18. package/dist/components/Avatar.js +1 -1
  19. package/dist/components/AvatarGroup.d.ts +1 -1
  20. package/dist/components/AvatarGroup.js +1 -1
  21. package/dist/components/Badge.d.ts +1 -1
  22. package/dist/components/Badge.js +1 -1
  23. package/dist/components/Blockquote.d.ts +1 -1
  24. package/dist/components/Blockquote.js +1 -1
  25. package/dist/components/Breadcrumb.d.ts +1 -1
  26. package/dist/components/Breadcrumb.js +1 -1
  27. package/dist/components/Button.d.ts +1 -1
  28. package/dist/components/Button.js +1 -1
  29. package/dist/components/ButtonLink.d.ts +1 -1
  30. package/dist/components/ButtonLink.js +1 -1
  31. package/dist/components/Card.d.ts +1 -1
  32. package/dist/components/Card.js +1 -1
  33. package/dist/components/Checkbox.d.ts +1 -1
  34. package/dist/components/Checkbox.d.ts.map +1 -1
  35. package/dist/components/Checkbox.js +2 -2
  36. package/dist/components/Checkbox.js.map +1 -1
  37. package/dist/components/CheckboxGroup.d.ts +1 -1
  38. package/dist/components/CheckboxGroup.js +1 -1
  39. package/dist/components/Circle.d.ts +1 -1
  40. package/dist/components/Circle.js +1 -1
  41. package/dist/components/CitricComponent.d.ts +1 -1
  42. package/dist/components/CitricComponent.d.ts.map +1 -1
  43. package/dist/components/Divider.d.ts +1 -1
  44. package/dist/components/Divider.js +1 -1
  45. package/dist/components/ErrorBoundary.d.ts +1 -1
  46. package/dist/components/ErrorBoundary.js +1 -1
  47. package/dist/components/ErrorMessage.d.ts +1 -1
  48. package/dist/components/ErrorMessage.js +1 -1
  49. package/dist/components/FallbackBoundary.d.ts +1 -1
  50. package/dist/components/FallbackBoundary.js +1 -1
  51. package/dist/components/Favorite.d.ts +1 -1
  52. package/dist/components/Favorite.js +1 -1
  53. package/dist/components/FieldGroup.d.ts +1 -1
  54. package/dist/components/FieldGroup.js +1 -1
  55. package/dist/components/Form.d.ts +2 -2
  56. package/dist/components/Form.js +1 -1
  57. package/dist/components/FormGroup.d.ts +1 -1
  58. package/dist/components/FormGroup.js +1 -1
  59. package/dist/components/Icon.d.ts +1 -1
  60. package/dist/components/Icon.js +1 -1
  61. package/dist/components/IconBox.d.ts +3 -3
  62. package/dist/components/IconBox.js +1 -1
  63. package/dist/components/ImageBox.d.ts +3 -3
  64. package/dist/components/ImageBox.js +1 -1
  65. package/dist/components/ImageWithFallback.d.ts +1 -1
  66. package/dist/components/ImageWithFallback.js +1 -1
  67. package/dist/components/Input.d.ts +1 -1
  68. package/dist/components/Input.js +1 -1
  69. package/dist/components/Link.d.ts +1 -1
  70. package/dist/components/Link.js +1 -1
  71. package/dist/components/LoadingPanel.d.ts +1 -1
  72. package/dist/components/LoadingPanel.js +1 -1
  73. package/dist/components/MenuOverlay/Menu.d.ts +1 -1
  74. package/dist/components/MenuOverlay/Menu.js +1 -1
  75. package/dist/components/MenuOverlay/index.d.ts +1 -1
  76. package/dist/components/MenuOverlay/index.js +1 -1
  77. package/dist/components/Overlay/index.d.ts +1 -1
  78. package/dist/components/Overlay/index.js +1 -1
  79. package/dist/components/Pagination.d.ts +1 -1
  80. package/dist/components/Pagination.js +1 -1
  81. package/dist/components/ProgressBar.d.ts +1 -1
  82. package/dist/components/ProgressBar.js +1 -1
  83. package/dist/components/ProgressCircular.d.ts +1 -1
  84. package/dist/components/ProgressCircular.js +1 -1
  85. package/dist/components/RadioGroup.d.ts +1 -1
  86. package/dist/components/RadioGroup.js +1 -1
  87. package/dist/components/Rating.d.ts +1 -1
  88. package/dist/components/Rating.js +1 -1
  89. package/dist/components/Select/MultiSelect.d.ts +1 -1
  90. package/dist/components/Select/MultiSelect.js +1 -1
  91. package/dist/components/Select/RichSelect.d.ts +1 -1
  92. package/dist/components/Select/RichSelect.js +1 -1
  93. package/dist/components/Select/SimpleSelect.d.ts +1 -1
  94. package/dist/components/Select/SimpleSelect.js +1 -1
  95. package/dist/components/Select/index.d.ts +1 -1
  96. package/dist/components/Select/index.js +1 -1
  97. package/dist/components/SelectBox.d.ts +1 -1
  98. package/dist/components/SelectBox.js +1 -1
  99. package/dist/components/Skeleton.d.ts +1 -1
  100. package/dist/components/Skeleton.js +1 -1
  101. package/dist/components/Slider.d.ts +1 -1
  102. package/dist/components/Slider.js +1 -1
  103. package/dist/components/SmartTable.d.ts +1 -1
  104. package/dist/components/SmartTable.js +1 -1
  105. package/dist/components/Stepper.d.ts +1 -1
  106. package/dist/components/Stepper.js +1 -1
  107. package/dist/components/Table.d.ts +3 -3
  108. package/dist/components/Table.js +1 -1
  109. package/dist/components/Tabs/index.d.ts +1 -1
  110. package/dist/components/Tabs/index.js +1 -1
  111. package/dist/components/Textarea.d.ts +1 -1
  112. package/dist/components/Textarea.js +1 -1
  113. package/dist/components/Tooltip.d.ts +1 -1
  114. package/dist/components/Tooltip.js +1 -1
  115. package/dist/context/CitricProvider.d.ts +1 -1
  116. package/dist/context/CitricProvider.js +1 -1
  117. package/dist/index.d.ts +1 -0
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/index.js +1 -0
  120. package/dist/index.js.map +1 -1
  121. package/dist/overlay.js +1 -1
  122. package/dist/theme.css +415 -415
  123. package/package.json +1 -1
  124. package/scripts/build-css.ts +49 -49
  125. package/src/components/Accordion.tsx +130 -130
  126. package/src/components/Alert.tsx +24 -24
  127. package/src/components/AsyncContent.tsx +75 -75
  128. package/src/components/Autocomplete/Autocomplete.tsx +794 -0
  129. package/src/components/Autocomplete/index.ts +3 -0
  130. package/src/components/Avatar.tsx +45 -45
  131. package/src/components/AvatarGroup.tsx +49 -49
  132. package/src/components/Badge.tsx +47 -47
  133. package/src/components/Blockquote.tsx +18 -18
  134. package/src/components/Breadcrumb.tsx +33 -33
  135. package/src/components/Button.tsx +105 -105
  136. package/src/components/ButtonLink.tsx +45 -45
  137. package/src/components/Card.tsx +68 -68
  138. package/src/components/Checkbox.tsx +52 -51
  139. package/src/components/CheckboxGroup.tsx +153 -153
  140. package/src/components/Circle.tsx +43 -43
  141. package/src/components/CitricComponent.ts +47 -47
  142. package/src/components/Divider.tsx +24 -24
  143. package/src/components/ErrorBoundary.tsx +75 -75
  144. package/src/components/ErrorMessage.tsx +11 -11
  145. package/src/components/FallbackBoundary.tsx +40 -40
  146. package/src/components/Favorite.tsx +57 -57
  147. package/src/components/FieldGroup.tsx +46 -46
  148. package/src/components/Form.tsx +36 -36
  149. package/src/components/FormGroup.tsx +57 -57
  150. package/src/components/Icon.tsx +35 -35
  151. package/src/components/IconBox.tsx +134 -134
  152. package/src/components/ImageBox.tsx +125 -125
  153. package/src/components/ImageWithFallback.tsx +65 -65
  154. package/src/components/Input.tsx +49 -49
  155. package/src/components/Link.tsx +55 -55
  156. package/src/components/LoadingPanel.tsx +12 -12
  157. package/src/components/MenuOverlay/Menu.tsx +158 -158
  158. package/src/components/MenuOverlay/context.ts +20 -20
  159. package/src/components/MenuOverlay/index.tsx +55 -55
  160. package/src/components/MenuOverlay/keyboard.ts +60 -60
  161. package/src/components/MenuOverlay/types.ts +171 -171
  162. package/src/components/Overlay/context.ts +10 -10
  163. package/src/components/Overlay/index.tsx +182 -182
  164. package/src/components/Overlay/types.ts +75 -75
  165. package/src/components/Pagination.tsx +133 -133
  166. package/src/components/ProgressBar.tsx +45 -45
  167. package/src/components/ProgressCircular.tsx +45 -45
  168. package/src/components/RadioGroup.tsx +147 -147
  169. package/src/components/Rating.tsx +98 -98
  170. package/src/components/Select/MultiSelect.tsx +217 -217
  171. package/src/components/Select/RichSelect.tsx +128 -128
  172. package/src/components/Select/SimpleSelect.tsx +73 -73
  173. package/src/components/Select/hooks.ts +133 -133
  174. package/src/components/Select/index.tsx +35 -35
  175. package/src/components/Select/types.ts +134 -134
  176. package/src/components/SelectBox.tsx +167 -167
  177. package/src/components/Skeleton.tsx +53 -53
  178. package/src/components/Slider.tsx +89 -89
  179. package/src/components/SmartTable.tsx +227 -227
  180. package/src/components/Stepper.tsx +163 -163
  181. package/src/components/Table.tsx +234 -234
  182. package/src/components/Tabs/TabController.ts +54 -54
  183. package/src/components/Tabs/index.tsx +106 -106
  184. package/src/components/Tabs/types.ts +67 -67
  185. package/src/components/Tabs/utils.ts +6 -6
  186. package/src/components/Text.ts +111 -111
  187. package/src/components/Textarea.tsx +27 -27
  188. package/src/components/Tooltip.tsx +83 -83
  189. package/src/components/layout.tsx +101 -101
  190. package/src/context/CitricContext.tsx +4 -4
  191. package/src/context/CitricProvider.tsx +14 -14
  192. package/src/context/hooks.ts +6 -6
  193. package/src/index.ts +59 -58
  194. package/src/overlay.ts +348 -348
  195. package/src/types.ts +235 -235
  196. package/src/utils/ValueController.ts +28 -28
  197. package/src/utils/acessibility.ts +92 -92
  198. package/src/utils/checkbox.ts +121 -121
  199. package/src/utils/css.ts +119 -119
  200. package/src/utils/options.ts +9 -9
  201. package/src/utils/radio.ts +93 -93
  202. package/src/utils/react.ts +6 -6
  203. package/src/utils/time.ts +5 -5
  204. package/tsconfig.json +10 -10
@@ -1,83 +1,83 @@
1
- import { listToClass } from '@stack-spot/portal-theme'
2
- import { useRef } from 'react'
3
- import { WithColorPalette, WithColorScheme } from '../types'
4
- import { Overlay } from './Overlay'
5
- import { BaseOverlayProps } from './Overlay/types'
6
-
7
- export interface BaseTooltipProps extends
8
- Omit<BaseOverlayProps<'div'>, 'tag' | 'onRenderChild' | 'reference'>, WithColorPalette, WithColorScheme {
9
- /**
10
- * Whether or not to show the tooltip's arrow.
11
- *
12
- * @default true
13
- */
14
- showArrow?: boolean,
15
- /**
16
- * The unique id of the HTML element to be created to show the tooltip. If not provided, a random number will be used.
17
- */
18
- tooltipId?: string,
19
- /**
20
- * Makes the tooltip text compact, centering it better when it's a single line.
21
- *
22
- * Effectively, it makes the line height equals to 1 and applies a slightly larger padding.
23
- *
24
- * @default true
25
- */
26
- compact?: boolean,
27
- /**
28
- * The max-width of the tooltip. Defaults to 250px.
29
- */
30
- maxWidth?: string,
31
- /**
32
- * A space between the tooltip and the element who triggered it.
33
- *
34
- * @default '6px'
35
- */
36
- margin?: string,
37
- /**
38
- * Whether or not to disable the tooltip, i.e. not show it.
39
- *
40
- * @default false
41
- */
42
- disabled?: boolean,
43
- }
44
-
45
- export type TooltipProps = Omit<React.JSX.IntrinsicElements['div'], 'content'> & BaseTooltipProps
46
-
47
- /**
48
- * Renders a tooltip overlay for its child. By default, the tooltip is rendered on hover, but this can be changed through the property
49
- * "triggerOn".
50
- *
51
- * The content of the tooltip can be any React element.
52
- *
53
- * @example
54
- * ```
55
- * <Tooltip content="This is some help for you">
56
- * <IconButton icon="Question" />
57
- * </Tooltip>
58
- * ```
59
- */
60
- export const Tooltip = ({
61
- tooltipId, children, showArrow = true, compact = true, attributes, colorScheme, colorPalette, disabled, maxWidth = '250px',
62
- margin = '6px', ...props
63
- }: TooltipProps) => {
64
- const id = useRef(tooltipId || `${Math.random()}`)
65
- return disabled ? children : (
66
- <Overlay
67
- attributes={{
68
- className: listToClass([attributes?.className, showArrow && 'with-arrow', compact && 'compact']),
69
- style: { margin, maxWidth, lineHeight: typeof props.content === 'string' ? 'normal' : undefined, ...attributes?.style },
70
- role: 'tooltip',
71
- id: id.current,
72
- 'data-citric': 'tooltip',
73
- 'data-color-scheme': colorScheme,
74
- 'data-color-palette': colorPalette,
75
- ...attributes,
76
- }}
77
- onRenderChild={e => e.setAttribute('aria-describedby', id.current)}
78
- {...props}
79
- >
80
- {children}
81
- </Overlay>
82
- )
83
- }
1
+ import { listToClass } from '@stack-spot/portal-theme'
2
+ import { useRef } from 'react'
3
+ import { WithColorPalette, WithColorScheme } from '../types'
4
+ import { Overlay } from './Overlay'
5
+ import { BaseOverlayProps } from './Overlay/types'
6
+
7
+ export interface BaseTooltipProps extends
8
+ Omit<BaseOverlayProps<'div'>, 'tag' | 'onRenderChild' | 'reference'>, WithColorPalette, WithColorScheme {
9
+ /**
10
+ * Whether or not to show the tooltip's arrow.
11
+ *
12
+ * @default true
13
+ */
14
+ showArrow?: boolean,
15
+ /**
16
+ * The unique id of the HTML element to be created to show the tooltip. If not provided, a random number will be used.
17
+ */
18
+ tooltipId?: string,
19
+ /**
20
+ * Makes the tooltip text compact, centering it better when it's a single line.
21
+ *
22
+ * Effectively, it makes the line height equals to 1 and applies a slightly larger padding.
23
+ *
24
+ * @default true
25
+ */
26
+ compact?: boolean,
27
+ /**
28
+ * The max-width of the tooltip. Defaults to 250px.
29
+ */
30
+ maxWidth?: string,
31
+ /**
32
+ * A space between the tooltip and the element who triggered it.
33
+ *
34
+ * @default '6px'
35
+ */
36
+ margin?: string,
37
+ /**
38
+ * Whether or not to disable the tooltip, i.e. not show it.
39
+ *
40
+ * @default false
41
+ */
42
+ disabled?: boolean,
43
+ }
44
+
45
+ export type TooltipProps = Omit<React.JSX.IntrinsicElements['div'], 'content'> & BaseTooltipProps
46
+
47
+ /**
48
+ * Renders a tooltip overlay for its child. By default, the tooltip is rendered on hover, but this can be changed through the property
49
+ * "triggerOn".
50
+ *
51
+ * The content of the tooltip can be any React element.
52
+ *
53
+ * @example
54
+ * ```
55
+ * <Tooltip content="This is some help for you">
56
+ * <IconButton icon="Question" />
57
+ * </Tooltip>
58
+ * ```
59
+ */
60
+ export const Tooltip = ({
61
+ tooltipId, children, showArrow = true, compact = true, attributes, colorScheme, colorPalette, disabled, maxWidth = '250px',
62
+ margin = '6px', ...props
63
+ }: TooltipProps) => {
64
+ const id = useRef(tooltipId || `${Math.random()}`)
65
+ return disabled ? children : (
66
+ <Overlay
67
+ attributes={{
68
+ className: listToClass([attributes?.className, showArrow && 'with-arrow', compact && 'compact']),
69
+ style: { margin, maxWidth, lineHeight: typeof props.content === 'string' ? 'normal' : undefined, ...attributes?.style },
70
+ role: 'tooltip',
71
+ id: id.current,
72
+ 'data-citric': 'tooltip',
73
+ 'data-color-scheme': colorScheme,
74
+ 'data-color-palette': colorPalette,
75
+ ...attributes,
76
+ }}
77
+ onRenderChild={e => e.setAttribute('aria-describedby', id.current)}
78
+ {...props}
79
+ >
80
+ {children}
81
+ </Overlay>
82
+ )
83
+ }
@@ -1,101 +1,101 @@
1
- import { listToClass } from '@stack-spot/portal-theme'
2
- import { createElement } from 'react'
3
- import { HTMLTag, WithStyleShortcuts } from '../types'
4
- import { applyStyles } from '../utils/css'
5
- import { withRef } from '../utils/react'
6
-
7
- export const layout = {
8
- center: 'center',
9
- row: 'row',
10
- column: 'column',
11
- }
12
-
13
- export interface BaseLayoutProps<T extends keyof HTMLTag> extends WithStyleShortcuts {
14
- /**
15
- * HTML tag to render.
16
- *
17
- * @default 'div'
18
- */
19
- tag?: T,
20
- }
21
-
22
- export interface BaseRowProps<T extends keyof HTMLTag> extends BaseLayoutProps<T> {
23
- /**
24
- * Whether or not to center items horizontally.
25
- *
26
- * @default true
27
- */
28
- center?: boolean,
29
- }
30
-
31
- export interface BaseColumnProps<T extends keyof HTMLTag> extends BaseLayoutProps<T> {
32
- /**
33
- * Whether or not to center items vertically.
34
- *
35
- * @default false
36
- */
37
- center?: boolean,
38
- }
39
-
40
- export type CenterProps<T extends keyof HTMLTag> = HTMLTag[T] & BaseLayoutProps<T>
41
- export type RowProps<T extends keyof HTMLTag> = HTMLTag[T] & BaseRowProps<T>
42
- export type ColumnProps<T extends keyof HTMLTag> = HTMLTag[T] & BaseColumnProps<T>
43
-
44
- /**
45
- * Centers the content both vertically and horizontally. Elements are placed in a column (flex).
46
- *
47
- * This element accepts many style shortcuts as attributes: bg, fg, border, radius, justifyContent, alignItems, flex, gap, m, mt, mb, ml,
48
- * mr, p, pt, pb, pl, pr, w, h.
49
- *
50
- * @example
51
- * ```
52
- * <Center w="200px" h="200px" gap="10px">
53
- * <img src="/an-image.png" />
54
- * <Text>This content is centered!</Text>
55
- * </Center>
56
- * ```
57
- */
58
- export const Center = withRef(
59
- function Center<T extends keyof HTMLTag = 'div'>({ tag, className, ...props }: CenterProps<T>) {
60
- return createElement(tag || 'div', { className: listToClass(['center', className]), ...applyStyles(props) })
61
- },
62
- )
63
-
64
- /**
65
- * Creates a row (flex). The elements in this row are horizontally centered unless `center = false`.
66
- *
67
- * @example
68
- * ```
69
- * <Row gap={3}>
70
- * <Icon icon="Stack" />
71
- * <Text>Stacks</Text>
72
- * </Row>
73
- * ```
74
- */
75
- export const Row = withRef(
76
- function Row<T extends keyof HTMLTag = 'div'>({ tag, className, center, ...props }: RowProps<T>) {
77
- return createElement(
78
- tag || 'div',
79
- { className: listToClass(['row', center === false && 'no-center', className]), ...applyStyles(props) },
80
- )
81
- },
82
- )
83
-
84
- /**
85
- * Creates a column (flex). The elements in this row are placed at the start of the horizontal axis, unless `center = true`, in this case,
86
- * they're centered.
87
- *
88
- * @example
89
- * ```
90
- * <Column gap={5}>
91
- * <Text>Item 1</Text>
92
- * <Text>Item 2</Text>
93
- * <Text>Item 3</Text>
94
- * </Row>
95
- * ```
96
- */
97
- export const Column = withRef(
98
- function Column<T extends keyof HTMLTag = 'div'>({ tag, className, center, ...props }: ColumnProps<T>) {
99
- return createElement(tag || 'div', { className: listToClass(['column', center && 'center', className]), ...applyStyles(props) })
100
- },
101
- )
1
+ import { listToClass } from '@stack-spot/portal-theme'
2
+ import { createElement } from 'react'
3
+ import { HTMLTag, WithStyleShortcuts } from '../types'
4
+ import { applyStyles } from '../utils/css'
5
+ import { withRef } from '../utils/react'
6
+
7
+ export const layout = {
8
+ center: 'center',
9
+ row: 'row',
10
+ column: 'column',
11
+ }
12
+
13
+ export interface BaseLayoutProps<T extends keyof HTMLTag> extends WithStyleShortcuts {
14
+ /**
15
+ * HTML tag to render.
16
+ *
17
+ * @default 'div'
18
+ */
19
+ tag?: T,
20
+ }
21
+
22
+ export interface BaseRowProps<T extends keyof HTMLTag> extends BaseLayoutProps<T> {
23
+ /**
24
+ * Whether or not to center items horizontally.
25
+ *
26
+ * @default true
27
+ */
28
+ center?: boolean,
29
+ }
30
+
31
+ export interface BaseColumnProps<T extends keyof HTMLTag> extends BaseLayoutProps<T> {
32
+ /**
33
+ * Whether or not to center items vertically.
34
+ *
35
+ * @default false
36
+ */
37
+ center?: boolean,
38
+ }
39
+
40
+ export type CenterProps<T extends keyof HTMLTag> = HTMLTag[T] & BaseLayoutProps<T>
41
+ export type RowProps<T extends keyof HTMLTag> = HTMLTag[T] & BaseRowProps<T>
42
+ export type ColumnProps<T extends keyof HTMLTag> = HTMLTag[T] & BaseColumnProps<T>
43
+
44
+ /**
45
+ * Centers the content both vertically and horizontally. Elements are placed in a column (flex).
46
+ *
47
+ * This element accepts many style shortcuts as attributes: bg, fg, border, radius, justifyContent, alignItems, flex, gap, m, mt, mb, ml,
48
+ * mr, p, pt, pb, pl, pr, w, h.
49
+ *
50
+ * @example
51
+ * ```
52
+ * <Center w="200px" h="200px" gap="10px">
53
+ * <img src="/an-image.png" />
54
+ * <Text>This content is centered!</Text>
55
+ * </Center>
56
+ * ```
57
+ */
58
+ export const Center = withRef(
59
+ function Center<T extends keyof HTMLTag = 'div'>({ tag, className, ...props }: CenterProps<T>) {
60
+ return createElement(tag || 'div', { className: listToClass(['center', className]), ...applyStyles(props) })
61
+ },
62
+ )
63
+
64
+ /**
65
+ * Creates a row (flex). The elements in this row are horizontally centered unless `center = false`.
66
+ *
67
+ * @example
68
+ * ```
69
+ * <Row gap={3}>
70
+ * <Icon icon="Stack" />
71
+ * <Text>Stacks</Text>
72
+ * </Row>
73
+ * ```
74
+ */
75
+ export const Row = withRef(
76
+ function Row<T extends keyof HTMLTag = 'div'>({ tag, className, center, ...props }: RowProps<T>) {
77
+ return createElement(
78
+ tag || 'div',
79
+ { className: listToClass(['row', center === false && 'no-center', className]), ...applyStyles(props) },
80
+ )
81
+ },
82
+ )
83
+
84
+ /**
85
+ * Creates a column (flex). The elements in this row are placed at the start of the horizontal axis, unless `center = true`, in this case,
86
+ * they're centered.
87
+ *
88
+ * @example
89
+ * ```
90
+ * <Column gap={5}>
91
+ * <Text>Item 1</Text>
92
+ * <Text>Item 2</Text>
93
+ * <Text>Item 3</Text>
94
+ * </Row>
95
+ * ```
96
+ */
97
+ export const Column = withRef(
98
+ function Column<T extends keyof HTMLTag = 'div'>({ tag, className, center, ...props }: ColumnProps<T>) {
99
+ return createElement(tag || 'div', { className: listToClass(['column', center && 'center', className]), ...applyStyles(props) })
100
+ },
101
+ )
@@ -1,4 +1,4 @@
1
- import { createContext } from 'react'
2
- import { CitricController } from '../types'
3
-
4
- export const CitricContext = createContext<CitricController | undefined>(undefined)
1
+ import { createContext } from 'react'
2
+ import { CitricController } from '../types'
3
+
4
+ export const CitricContext = createContext<CitricController | undefined>(undefined)
@@ -1,14 +1,14 @@
1
- import { FallbackBoundary } from '../components/FallbackBoundary'
2
- import { CitricController } from '../types'
3
- import { CitricContext } from './CitricContext'
4
-
5
- /**
6
- * An optional provider for customizing the behavior of the Design System. This accepts a CitricController as its value.
7
- */
8
- export const CitricProvider = ({ children, value }: { children: React.ReactNode, value?: CitricController }) => (
9
- <CitricContext.Provider value={value}>
10
- <FallbackBoundary>
11
- {children}
12
- </FallbackBoundary>
13
- </CitricContext.Provider>
14
- )
1
+ import { FallbackBoundary } from '../components/FallbackBoundary'
2
+ import { CitricController } from '../types'
3
+ import { CitricContext } from './CitricContext'
4
+
5
+ /**
6
+ * An optional provider for customizing the behavior of the Design System. This accepts a CitricController as its value.
7
+ */
8
+ export const CitricProvider = ({ children, value }: { children: React.ReactNode, value?: CitricController }) => (
9
+ <CitricContext.Provider value={value}>
10
+ <FallbackBoundary>
11
+ {children}
12
+ </FallbackBoundary>
13
+ </CitricContext.Provider>
14
+ )
@@ -1,6 +1,6 @@
1
- import { useContext } from 'react'
2
- import { CitricContext } from './CitricContext'
3
-
4
- export function useCitricController() {
5
- return useContext(CitricContext)
6
- }
1
+ import { useContext } from 'react'
2
+ import { CitricContext } from './CitricContext'
3
+
4
+ export function useCitricController() {
5
+ return useContext(CitricContext)
6
+ }
package/src/index.ts CHANGED
@@ -1,58 +1,59 @@
1
- export * from './components/Accordion'
2
- export * from './components/Alert'
3
- export * from './components/AsyncContent'
4
- export * from './components/Avatar'
5
- export * from './components/AvatarGroup'
6
- export * from './components/Badge'
7
- export * from './components/Blockquote'
8
- export * from './components/Breadcrumb'
9
- export * from './components/Button'
10
- export * from './components/ButtonLink'
11
- export * from './components/Card'
12
- export * from './components/Checkbox'
13
- export * from './components/CheckboxGroup'
14
- export * from './components/Circle'
15
- export * from './components/CitricComponent'
16
- export * from './components/Divider'
17
- export * from './components/ErrorBoundary'
18
- export * from './components/FallbackBoundary'
19
- export * from './components/Favorite'
20
- export * from './components/FieldGroup'
21
- export * from './components/Form'
22
- export * from './components/FormGroup'
23
- export * from './components/Icon'
24
- export * from './components/IconBox'
25
- export * from './components/ImageBox'
26
- export * from './components/ImageWithFallback'
27
- export * from './components/Input'
28
- export * from './components/layout'
29
- export * from './components/Link'
30
- export * from './components/MenuOverlay'
31
- export * from './components/MenuOverlay/types'
32
- export * from './components/Overlay'
33
- export * from './components/Overlay/types'
34
- export * from './components/Pagination'
35
- export * from './components/ProgressBar'
36
- export * from './components/ProgressCircular'
37
- export * from './components/RadioGroup'
38
- export * from './components/Rating'
39
- export * from './components/Select'
40
- export * from './components/Select/MultiSelect'
41
- export * from './components/SelectBox'
42
- export * from './components/Skeleton'
43
- export * from './components/Slider'
44
- export * from './components/SmartTable'
45
- export * from './components/Stepper'
46
- export * from './components/Table'
47
- export * from './components/Tabs'
48
- export * from './components/Tabs/TabController'
49
- export * from './components/Tabs/types'
50
- export * from './components/Text'
51
- export * from './components/Textarea'
52
- export * from './components/Tooltip'
53
- export * from './context/CitricProvider'
54
- export type { CitricController } from './types'
55
- export * from './utils/checkbox'
56
- export * from './utils/radio'
57
- export * from './utils/ValueController'
58
-
1
+ export * from './components/Accordion'
2
+ export * from './components/Alert'
3
+ export * from './components/AsyncContent'
4
+ export * from './components/Autocomplete'
5
+ export * from './components/Avatar'
6
+ export * from './components/AvatarGroup'
7
+ export * from './components/Badge'
8
+ export * from './components/Blockquote'
9
+ export * from './components/Breadcrumb'
10
+ export * from './components/Button'
11
+ export * from './components/ButtonLink'
12
+ export * from './components/Card'
13
+ export * from './components/Checkbox'
14
+ export * from './components/CheckboxGroup'
15
+ export * from './components/Circle'
16
+ export * from './components/CitricComponent'
17
+ export * from './components/Divider'
18
+ export * from './components/ErrorBoundary'
19
+ export * from './components/FallbackBoundary'
20
+ export * from './components/Favorite'
21
+ export * from './components/FieldGroup'
22
+ export * from './components/Form'
23
+ export * from './components/FormGroup'
24
+ export * from './components/Icon'
25
+ export * from './components/IconBox'
26
+ export * from './components/ImageBox'
27
+ export * from './components/ImageWithFallback'
28
+ export * from './components/Input'
29
+ export * from './components/layout'
30
+ export * from './components/Link'
31
+ export * from './components/MenuOverlay'
32
+ export * from './components/MenuOverlay/types'
33
+ export * from './components/Overlay'
34
+ export * from './components/Overlay/types'
35
+ export * from './components/Pagination'
36
+ export * from './components/ProgressBar'
37
+ export * from './components/ProgressCircular'
38
+ export * from './components/RadioGroup'
39
+ export * from './components/Rating'
40
+ export * from './components/Select'
41
+ export * from './components/Select/MultiSelect'
42
+ export * from './components/SelectBox'
43
+ export * from './components/Skeleton'
44
+ export * from './components/Slider'
45
+ export * from './components/SmartTable'
46
+ export * from './components/Stepper'
47
+ export * from './components/Table'
48
+ export * from './components/Tabs'
49
+ export * from './components/Tabs/TabController'
50
+ export * from './components/Tabs/types'
51
+ export * from './components/Text'
52
+ export * from './components/Textarea'
53
+ export * from './components/Tooltip'
54
+ export * from './context/CitricProvider'
55
+ export type { CitricController } from './types'
56
+ export * from './utils/checkbox'
57
+ export * from './utils/radio'
58
+ export * from './utils/ValueController'
59
+