@stack-spot/citric-react 0.11.1 → 0.13.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.
- package/dist/citric.css +0 -4
- package/dist/components/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion.js +3 -2
- package/dist/components/Accordion.js.map +1 -1
- package/dist/components/Alert.d.ts.map +1 -1
- package/dist/components/Alert.js +2 -1
- package/dist/components/Alert.js.map +1 -1
- package/dist/components/AsyncContent.d.ts.map +1 -1
- package/dist/components/AsyncContent.js +3 -2
- package/dist/components/AsyncContent.js.map +1 -1
- package/dist/components/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar.js +3 -2
- package/dist/components/Avatar.js.map +1 -1
- package/dist/components/AvatarGroup.d.ts.map +1 -1
- package/dist/components/AvatarGroup.js +3 -2
- package/dist/components/AvatarGroup.js.map +1 -1
- package/dist/components/Badge.d.ts +2 -1
- package/dist/components/Badge.d.ts.map +1 -1
- package/dist/components/Badge.js +3 -1
- package/dist/components/Badge.js.map +1 -1
- package/dist/components/Blockquote.d.ts.map +1 -1
- package/dist/components/Blockquote.js +2 -1
- package/dist/components/Blockquote.js.map +1 -1
- package/dist/components/Breadcrumb.d.ts.map +1 -1
- package/dist/components/Breadcrumb.js +3 -2
- package/dist/components/Breadcrumb.js.map +1 -1
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Button.js +3 -2
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Card.d.ts.map +1 -1
- package/dist/components/Card.js +2 -1
- package/dist/components/Card.js.map +1 -1
- package/dist/components/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox.js +3 -2
- package/dist/components/Checkbox.js.map +1 -1
- package/dist/components/CheckboxGroup.d.ts +3 -1
- package/dist/components/CheckboxGroup.d.ts.map +1 -1
- package/dist/components/CheckboxGroup.js +3 -1
- package/dist/components/CheckboxGroup.js.map +1 -1
- package/dist/components/Circle.d.ts.map +1 -1
- package/dist/components/Circle.js +2 -1
- package/dist/components/Circle.js.map +1 -1
- package/dist/components/CitricComponent.d.ts +1 -0
- package/dist/components/CitricComponent.d.ts.map +1 -1
- package/dist/components/CitricComponent.js.map +1 -1
- package/dist/components/Divider.d.ts.map +1 -1
- package/dist/components/Divider.js +2 -1
- package/dist/components/Divider.js.map +1 -1
- package/dist/components/Favorite.d.ts +1 -1
- package/dist/components/Favorite.d.ts.map +1 -1
- package/dist/components/Favorite.js +2 -1
- package/dist/components/Favorite.js.map +1 -1
- package/dist/components/FieldGroup.d.ts.map +1 -1
- package/dist/components/FieldGroup.js +2 -1
- package/dist/components/FieldGroup.js.map +1 -1
- package/dist/components/Form.d.ts.map +1 -1
- package/dist/components/Form.js +2 -1
- package/dist/components/Form.js.map +1 -1
- package/dist/components/FormGroup.d.ts.map +1 -1
- package/dist/components/FormGroup.js +2 -1
- package/dist/components/FormGroup.js.map +1 -1
- package/dist/components/IconBox.d.ts +6 -3
- package/dist/components/IconBox.d.ts.map +1 -1
- package/dist/components/IconBox.js +10 -6
- package/dist/components/IconBox.js.map +1 -1
- package/dist/components/ImageBox.d.ts +52 -0
- package/dist/components/ImageBox.d.ts.map +1 -0
- package/dist/components/ImageBox.js +33 -0
- package/dist/components/ImageBox.js.map +1 -0
- package/dist/components/Input.d.ts +3 -1
- package/dist/components/Input.d.ts.map +1 -1
- package/dist/components/Input.js +3 -1
- package/dist/components/Input.js.map +1 -1
- package/dist/components/Link.d.ts.map +1 -1
- package/dist/components/Link.js +3 -2
- package/dist/components/Link.js.map +1 -1
- package/dist/components/MenuOverlay/Menu.d.ts.map +1 -1
- package/dist/components/MenuOverlay/Menu.js.map +1 -1
- package/dist/components/Pagination.d.ts +1 -1
- package/dist/components/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination.js +3 -2
- package/dist/components/Pagination.js.map +1 -1
- package/dist/components/ProgressBar.d.ts.map +1 -1
- package/dist/components/ProgressBar.js +2 -1
- package/dist/components/ProgressBar.js.map +1 -1
- package/dist/components/ProgressCircular.d.ts.map +1 -1
- package/dist/components/ProgressCircular.js +2 -1
- package/dist/components/ProgressCircular.js.map +1 -1
- package/dist/components/RadioGroup.d.ts +3 -1
- package/dist/components/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup.js +3 -1
- package/dist/components/RadioGroup.js.map +1 -1
- package/dist/components/Rating.d.ts.map +1 -1
- package/dist/components/Rating.js +2 -1
- package/dist/components/Rating.js.map +1 -1
- package/dist/components/Select/RichSelect.d.ts +3 -1
- package/dist/components/Select/RichSelect.d.ts.map +1 -1
- package/dist/components/Select/RichSelect.js +5 -2
- package/dist/components/Select/RichSelect.js.map +1 -1
- package/dist/components/Select/SimpleSelect.d.ts +2 -1
- package/dist/components/Select/SimpleSelect.d.ts.map +1 -1
- package/dist/components/Select/SimpleSelect.js +4 -2
- package/dist/components/Select/SimpleSelect.js.map +1 -1
- package/dist/components/Select/index.d.ts +2 -1
- package/dist/components/Select/index.d.ts.map +1 -1
- package/dist/components/Select/index.js +3 -1
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/Select/types.d.ts +3 -1
- package/dist/components/Select/types.d.ts.map +1 -1
- package/dist/components/SelectBox.d.ts +2 -1
- package/dist/components/SelectBox.d.ts.map +1 -1
- package/dist/components/SelectBox.js +3 -1
- package/dist/components/SelectBox.js.map +1 -1
- package/dist/components/Skeleton.d.ts.map +1 -1
- package/dist/components/Skeleton.js +2 -1
- package/dist/components/Skeleton.js.map +1 -1
- package/dist/components/Slider.d.ts.map +1 -1
- package/dist/components/Slider.js +3 -2
- package/dist/components/Slider.js.map +1 -1
- package/dist/components/SmartTable.d.ts +2 -1
- package/dist/components/SmartTable.d.ts.map +1 -1
- package/dist/components/SmartTable.js +3 -1
- package/dist/components/SmartTable.js.map +1 -1
- package/dist/components/Stepper.d.ts +3 -1
- package/dist/components/Stepper.d.ts.map +1 -1
- package/dist/components/Stepper.js +3 -1
- package/dist/components/Stepper.js.map +1 -1
- package/dist/components/Switch.d.ts.map +1 -1
- package/dist/components/Switch.js +3 -2
- package/dist/components/Switch.js.map +1 -1
- package/dist/components/Table.d.ts +1 -1
- package/dist/components/Table.d.ts.map +1 -1
- package/dist/components/Table.js +9 -7
- package/dist/components/Table.js.map +1 -1
- package/dist/components/Tabs/index.d.ts +3 -1
- package/dist/components/Tabs/index.d.ts.map +1 -1
- package/dist/components/Tabs/index.js +3 -1
- package/dist/components/Tabs/index.js.map +1 -1
- package/dist/components/Text.d.ts +2 -1
- package/dist/components/Text.d.ts.map +1 -1
- package/dist/components/Text.js +3 -1
- package/dist/components/Text.js.map +1 -1
- package/dist/components/Textarea.d.ts +3 -0
- package/dist/components/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea.js +3 -1
- package/dist/components/Textarea.js.map +1 -1
- package/dist/components/layout.d.ts +7 -3
- package/dist/components/layout.d.ts.map +1 -1
- package/dist/components/layout.js +7 -3
- package/dist/components/layout.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/react.d.ts +2 -0
- package/dist/utils/react.d.ts.map +1 -0
- package/dist/utils/react.js +6 -0
- package/dist/utils/react.js.map +1 -0
- package/package.json +1 -1
- package/src/components/Accordion.tsx +3 -2
- package/src/components/Alert.tsx +3 -2
- package/src/components/AsyncContent.tsx +3 -2
- package/src/components/Avatar.tsx +3 -2
- package/src/components/AvatarGroup.tsx +3 -2
- package/src/components/Badge.tsx +4 -1
- package/src/components/Blockquote.tsx +3 -2
- package/src/components/Breadcrumb.tsx +3 -2
- package/src/components/Button.tsx +3 -2
- package/src/components/Card.tsx +3 -2
- package/src/components/Checkbox.tsx +3 -2
- package/src/components/CheckboxGroup.tsx +4 -1
- package/src/components/Circle.tsx +3 -2
- package/src/components/CitricComponent.ts +1 -0
- package/src/components/Divider.tsx +3 -2
- package/src/components/Favorite.tsx +5 -3
- package/src/components/FieldGroup.tsx +3 -2
- package/src/components/Form.tsx +3 -2
- package/src/components/FormGroup.tsx +3 -2
- package/src/components/IconBox.tsx +11 -8
- package/src/components/ImageBox.tsx +85 -0
- package/src/components/Input.tsx +4 -1
- package/src/components/Link.tsx +3 -2
- package/src/components/MenuOverlay/Menu.tsx +3 -3
- package/src/components/Pagination.tsx +4 -3
- package/src/components/ProgressBar.tsx +4 -2
- package/src/components/ProgressCircular.tsx +4 -2
- package/src/components/RadioGroup.tsx +4 -1
- package/src/components/Rating.tsx +3 -2
- package/src/components/Select/RichSelect.tsx +9 -3
- package/src/components/Select/SimpleSelect.tsx +11 -5
- package/src/components/Select/index.tsx +4 -1
- package/src/components/Select/types.ts +3 -1
- package/src/components/SelectBox.tsx +4 -1
- package/src/components/Skeleton.tsx +4 -2
- package/src/components/Slider.tsx +3 -3
- package/src/components/SmartTable.tsx +4 -1
- package/src/components/Stepper.tsx +4 -1
- package/src/components/Switch.tsx +3 -2
- package/src/components/Table.tsx +46 -42
- package/src/components/Tabs/index.tsx +4 -1
- package/src/components/Text.ts +4 -1
- package/src/components/Textarea.tsx +6 -1
- package/src/components/layout.tsx +8 -3
- package/src/index.ts +1 -0
- package/src/utils/react.ts +6 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Dictionary, useTranslate } from '@stack-spot/portal-translate'
|
|
2
2
|
import { createContext, Suspense, useContext, useEffect, useMemo, useState } from 'react'
|
|
3
|
+
import { withRef } from '../../utils/react'
|
|
3
4
|
import { CitricComponent } from '../CitricComponent'
|
|
4
5
|
import { ErrorBoundary } from '../ErrorBoundary'
|
|
5
6
|
import { ProgressCircular } from '../ProgressCircular'
|
|
@@ -10,7 +11,7 @@ import { findSelectedIndex } from './utils'
|
|
|
10
11
|
|
|
11
12
|
const ctx = createContext<TabController<any> | undefined>(undefined)
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
function _Tabs<Key extends string>({ tabs, value, onChange, controller: ctrl, ...props }: TabsProps<Key>) {
|
|
14
15
|
const controller = useMemo(() => ctrl ?? new TabController<Key>(tabs.map(t => t.key), value || tabs[0]?.key), [])
|
|
15
16
|
const t = useTranslate(dictionary)
|
|
16
17
|
const [selectedIndex, setSelectedIndex] = useState(findSelectedIndex(tabs, controller.getValue()))
|
|
@@ -62,3 +63,5 @@ const dictionary = {
|
|
|
62
63
|
error: 'Ocorreu um erro ao carregar a aba.',
|
|
63
64
|
},
|
|
64
65
|
} satisfies Dictionary
|
|
66
|
+
|
|
67
|
+
export const Tabs = withRef(_Tabs)
|
package/src/components/Text.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { listToClass } from '@stack-spot/portal-theme'
|
|
|
2
2
|
import { createElement } from 'react'
|
|
3
3
|
import { HTMLTag, TextAppearance, WithColor } from '../types'
|
|
4
4
|
import { applyColor, applyTextAppearance } from '../utils/css'
|
|
5
|
+
import { withRef } from '../utils/react'
|
|
5
6
|
|
|
6
7
|
type SupportedTags = 'span' | 'small' | 'p' | `h${1|2|3|4|5|6}` | 'pre'
|
|
7
8
|
|
|
@@ -72,7 +73,7 @@ const appearanceToTag: Record<TextAppearance, SupportedTags> = {
|
|
|
72
73
|
subtitle4: 'p',
|
|
73
74
|
}
|
|
74
75
|
|
|
75
|
-
|
|
76
|
+
function _Text<T extends SupportedTags>(
|
|
76
77
|
{ tag, appearance, color, showMargins, weight, align, nowrapEllipsis, style, className, children, ...props }: TextProps<T>,
|
|
77
78
|
) {
|
|
78
79
|
const renderedTag = tag || appearanceToTag[appearance || 'body2']
|
|
@@ -91,3 +92,5 @@ export function Text<T extends SupportedTags>(
|
|
|
91
92
|
children,
|
|
92
93
|
)
|
|
93
94
|
}
|
|
95
|
+
|
|
96
|
+
export const Text = withRef(_Text)
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
+
import React from 'react'
|
|
1
2
|
import { ControlledTextarea, WithColorScheme } from '../types'
|
|
3
|
+
import { withRef } from '../utils/react'
|
|
2
4
|
import { CitricComponent } from './CitricComponent'
|
|
3
5
|
|
|
4
6
|
export interface BaseTextareaProps extends WithColorScheme {
|
|
5
7
|
value?: string,
|
|
6
8
|
onChange?: (value: string) => void,
|
|
9
|
+
ref?: React.MutableRefObject<HTMLTextAreaElement | null>,
|
|
7
10
|
}
|
|
8
11
|
|
|
9
12
|
export type TextareaProps = ControlledTextarea & BaseTextareaProps
|
|
10
13
|
|
|
11
|
-
export const
|
|
14
|
+
export const _Textarea = ({ value, onChange, ...props }: TextareaProps) =>
|
|
12
15
|
<CitricComponent tag="textarea" component="textarea" value={value} onChange={e => onChange?.(e.target.value)} {...props} />
|
|
16
|
+
|
|
17
|
+
export const Textarea = withRef(_Textarea)
|
|
@@ -2,6 +2,7 @@ import { listToClass } from '@stack-spot/portal-theme'
|
|
|
2
2
|
import { createElement } from 'react'
|
|
3
3
|
import { HTMLTag, WithStyleShortcuts } from '../types'
|
|
4
4
|
import { applyStyles } from '../utils/css'
|
|
5
|
+
import { withRef } from '../utils/react'
|
|
5
6
|
|
|
6
7
|
export const layout = {
|
|
7
8
|
center: 'center',
|
|
@@ -40,14 +41,18 @@ export type CenterProps<T extends keyof HTMLTag> = HTMLTag[T] & BaseLayoutProps<
|
|
|
40
41
|
export type RowProps<T extends keyof HTMLTag> = HTMLTag[T] & BaseRowProps<T>
|
|
41
42
|
export type ColumnProps<T extends keyof HTMLTag> = HTMLTag[T] & BaseColumnProps<T>
|
|
42
43
|
|
|
43
|
-
|
|
44
|
+
function _Center<T extends keyof HTMLTag = 'div'>({ tag, className, ...props }: CenterProps<T>) {
|
|
44
45
|
return createElement(tag || 'div', { className: listToClass(['center', className]), ...applyStyles(props) })
|
|
45
46
|
}
|
|
46
47
|
|
|
47
|
-
|
|
48
|
+
function _Row<T extends keyof HTMLTag = 'div'>({ tag, className, center, ...props }: RowProps<T>) {
|
|
48
49
|
return createElement(tag || 'div', { className: listToClass(['row', center === false && 'no-center', className]), ...applyStyles(props) })
|
|
49
50
|
}
|
|
50
51
|
|
|
51
|
-
|
|
52
|
+
function _Column<T extends keyof HTMLTag = 'div'>({ tag, className, center, ...props }: ColumnProps<T>) {
|
|
52
53
|
return createElement(tag || 'div', { className: listToClass(['column', center && 'center', className]), ...applyStyles(props) })
|
|
53
54
|
}
|
|
55
|
+
|
|
56
|
+
export const Center = withRef(_Center)
|
|
57
|
+
export const Row = withRef(_Row)
|
|
58
|
+
export const Column = withRef(_Column)
|
package/src/index.ts
CHANGED
|
@@ -20,6 +20,7 @@ export * from './components/FieldGroup'
|
|
|
20
20
|
export * from './components/Form'
|
|
21
21
|
export * from './components/FormGroup'
|
|
22
22
|
export * from './components/IconBox'
|
|
23
|
+
export * from './components/ImageBox'
|
|
23
24
|
export * from './components/Input'
|
|
24
25
|
export * from './components/layout'
|
|
25
26
|
export * from './components/Link'
|