@rbxts/react-clean-ui 1.1.0 → 1.2.4
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/out/Components/Chart/BarChart.d.ts +1 -0
- package/out/Components/Chart/BarChart.luau +149 -112
- package/out/Components/Chart/Pie.d.ts +1 -0
- package/out/Components/Chart/Pie.luau +21 -6
- package/out/Components/Decorator/BoxShadow.d.ts +1 -0
- package/out/Components/Decorator/BoxShadow.luau +12 -5
- package/out/Components/Decorator/Corners.d.ts +1 -0
- package/out/Components/Decorator/Corners.luau +8 -3
- package/out/Components/Decorator/Gradient.d.ts +8 -0
- package/out/Components/Decorator/Gradient.luau +23 -0
- package/out/Components/Decorator/Padding.d.ts +3 -1
- package/out/Components/Decorator/Padding.luau +11 -6
- package/out/Components/Decorator/index.d.ts +1 -0
- package/out/Components/Decorator/init.luau +3 -0
- package/out/Components/Input/Button.d.ts +1 -0
- package/out/Components/Input/Button.luau +49 -34
- package/out/Components/Input/Checkbox.d.ts +1 -0
- package/out/Components/Input/Checkbox.luau +28 -18
- package/out/Components/Input/HoverButton.d.ts +1 -0
- package/out/Components/Input/HoverButton.luau +44 -42
- package/out/Components/Input/Increment.d.ts +1 -0
- package/out/Components/Input/Increment.luau +10 -3
- package/out/Components/Input/Input.d.ts +3 -1
- package/out/Components/Input/Input.luau +89 -68
- package/out/Components/Input/Select.d.ts +11 -1
- package/out/Components/Input/Select.luau +315 -39
- package/out/Components/Input/Slider.luau +44 -53
- package/out/Components/Input/Switch.d.ts +9 -0
- package/out/Components/Input/Switch.luau +145 -0
- package/out/Components/Input/index.d.ts +1 -0
- package/out/Components/Input/init.luau +3 -0
- package/out/Components/Interaction/Modal.d.ts +14 -0
- package/out/Components/Interaction/Modal.luau +262 -0
- package/out/Components/Interaction/Toast.d.ts +2 -1
- package/out/Components/Interaction/Toast.luau +53 -28
- package/out/Components/Interaction/Tooltip.luau +36 -25
- package/out/Components/Interaction/index.d.ts +1 -0
- package/out/Components/Interaction/init.luau +3 -0
- package/out/Components/Layout/Accordion.d.ts +1 -0
- package/out/Components/Layout/Accordion.luau +51 -55
- package/out/Components/Layout/Column.d.ts +1 -0
- package/out/Components/Layout/Column.luau +11 -6
- package/out/Components/Layout/Container.d.ts +3 -0
- package/out/Components/Layout/Container.luau +26 -17
- package/out/Components/Layout/Draggable.luau +25 -3
- package/out/Components/Layout/Fieldset.d.ts +1 -0
- package/out/Components/Layout/Fieldset.luau +14 -42
- package/out/Components/Layout/FlexItem.luau +7 -0
- package/out/Components/Layout/Grid.d.ts +10 -0
- package/out/Components/Layout/Grid.luau +172 -0
- package/out/Components/Layout/Group.d.ts +1 -0
- package/out/Components/Layout/Group.luau +48 -60
- package/out/Components/Layout/HStack.d.ts +4 -0
- package/out/Components/Layout/HStack.luau +17 -10
- package/out/Components/Layout/Pagination.d.ts +32 -0
- package/out/Components/Layout/Pagination.luau +400 -0
- package/out/Components/Layout/Row.d.ts +1 -0
- package/out/Components/Layout/Row.luau +20 -48
- package/out/Components/Layout/Scroller.d.ts +1 -0
- package/out/Components/Layout/Scroller.luau +26 -34
- package/out/Components/Layout/Table.d.ts +31 -0
- package/out/Components/Layout/Table.luau +342 -0
- package/out/Components/Layout/Tabs.d.ts +20 -10
- package/out/Components/Layout/Tabs.luau +113 -119
- package/out/Components/Layout/VStack.d.ts +3 -0
- package/out/Components/Layout/VStack.luau +17 -10
- package/out/Components/Layout/index.d.ts +3 -0
- package/out/Components/Layout/init.luau +9 -0
- package/out/Components/Navigation/Menu.d.ts +1 -0
- package/out/Components/Navigation/Menu.luau +12 -3
- package/out/Components/Surface/Box.d.ts +3 -1
- package/out/Components/Surface/Box.luau +15 -4
- package/out/Components/Surface/Card.d.ts +1 -0
- package/out/Components/Surface/Card.luau +56 -154
- package/out/Components/Surface/Icon.d.ts +1 -0
- package/out/Components/Surface/Icon.luau +25 -16
- package/out/Components/Surface/ProgressBar.d.ts +14 -0
- package/out/Components/Surface/ProgressBar.luau +230 -0
- package/out/Components/Surface/index.d.ts +1 -0
- package/out/Components/Surface/init.luau +3 -0
- package/out/Components/Typography/Text.d.ts +1 -0
- package/out/Components/Typography/Text.luau +57 -53
- package/out/Contexts/index.d.ts +1 -0
- package/out/Contexts/init.luau +3 -0
- package/out/Contexts/modal.context.d.ts +15 -0
- package/out/Contexts/modal.context.luau +23 -0
- package/out/Contexts/toast.context.d.ts +1 -0
- package/out/Helpers/color.helper.luau +28 -0
- package/out/Helpers/css.helper.d.ts +4 -1
- package/out/Helpers/css.helper.luau +76 -6
- package/out/Helpers/gui.helper.luau +0 -3
- package/out/Helpers/size.helper.luau +0 -2
- package/out/Helpers/spacing.helper.luau +0 -3
- package/out/Helpers/typography.helper.luau +0 -2
- package/out/Interfaces/css.types.d.ts +7 -0
- package/out/Interfaces/css.types.luau +0 -20
- package/out/Providers/app.provider.luau +2 -1
- package/out/Providers/index.d.ts +1 -0
- package/out/Providers/init.luau +3 -0
- package/out/Providers/modal.provider.d.ts +6 -0
- package/out/Providers/modal.provider.luau +86 -0
- package/out/Providers/overlay.provider.luau +1 -0
- package/out/Providers/registry.provider.luau +0 -2
- package/out/Theme/theme.style.d.ts +2 -1
- package/out/Theme/theme.template.d.ts +126 -1
- package/out/Theme/themes/dark.theme.luau +225 -0
- package/out/Theme/themes/default.theme.luau +210 -0
- package/out/Theme/themes/sandstone.theme.luau +173 -0
- package/out/Theme/themes/wooden.theme.luau +195 -0
- package/package.json +1 -1
|
@@ -37,7 +37,6 @@ do
|
|
|
37
37
|
function TypographyHelper:getClosestTypography(typography, scale)
|
|
38
38
|
local _scale = scale
|
|
39
39
|
local scaleIndex = (table.find(ScaleSizes, _scale) or 0) - 1
|
|
40
|
-
-- Prefer the exact scale, then progressively smaller scales.
|
|
41
40
|
do
|
|
42
41
|
local index = scaleIndex
|
|
43
42
|
local _shouldIncrement = false
|
|
@@ -56,7 +55,6 @@ do
|
|
|
56
55
|
end
|
|
57
56
|
end
|
|
58
57
|
end
|
|
59
|
-
-- If no smaller scale exists, use the nearest larger scale.
|
|
60
58
|
do
|
|
61
59
|
local index = scaleIndex + 1
|
|
62
60
|
local _shouldIncrement = false
|
|
@@ -28,3 +28,10 @@ export type CssBoxShadow = {
|
|
|
28
28
|
export type CssPadding = CssQuad;
|
|
29
29
|
export type ScaledCssPadding = CssPadding | ScaleSizeValue<CssPadding>;
|
|
30
30
|
export type ResponsiveCssSize = CssSize | CssBreakpointSize;
|
|
31
|
+
export type CssBackgroundGradient = {
|
|
32
|
+
colors: Color3[] | ColorSequence;
|
|
33
|
+
stops?: number[];
|
|
34
|
+
rotation?: number;
|
|
35
|
+
offset?: Vector2;
|
|
36
|
+
transparency?: number | NumberSequence;
|
|
37
|
+
};
|
|
@@ -1,21 +1 @@
|
|
|
1
1
|
-- Compiled with roblox-ts v3.0.0
|
|
2
|
-
-- The one CSS calc() shape supported on top of CssSize: a percent term
|
|
3
|
-
-- plus/minus a pixel term (e.g. "100% - 50px"), which maps directly onto
|
|
4
|
-
-- UDim(scale, offset) — no general calc() parser needed for anything beyond
|
|
5
|
-
-- this two-term form. Deliberately kept as its own type rather than folded
|
|
6
|
-
-- directly into CssSize: CssSize is composed multiple times over in CssQuad/
|
|
7
|
-
-- CssDual (a 4-term CssQuad is `${CssSize} ${CssSize} ${CssSize} ${CssSize}`),
|
|
8
|
-
-- so widening CssSize itself multiplies out through every one of those
|
|
9
|
-
-- combinations — doing so was observed to blow past TypeScript's template-
|
|
10
|
-
-- literal complexity limit ("union type that is too complex to represent")
|
|
11
|
-
-- at unrelated call sites that spread a large props object containing
|
|
12
|
-
-- several CssQuad-shaped fields (e.g. Button.tsx's `<BoxShadow {...props} />`).
|
|
13
|
-
-- Use CssCalcSize only where a calc() term is actually needed (currently
|
|
14
|
-
-- just CssPosition.width) rather than everywhere CssSize appears.
|
|
15
|
-
-- absolute pixel corner coordinates for Rect.new(minX, minY, maxX, maxY)-style slicing,
|
|
16
|
-
-- e.g. Roblox's SliceCenter — not a CSS border-image-slice edge-inset shorthand, since
|
|
17
|
-
-- Roblox has no intrinsic-image-size equivalent to derive corners from an inset alone
|
|
18
|
-
-- A CssPadding quad, or a scale-key-indexed map of quads (e.g. a component's
|
|
19
|
-
-- theme.components.X.padding tier, which can pick a different quad shape per
|
|
20
|
-
-- spacing scale key the same way theme.components.X.spacing does for the
|
|
21
|
-
-- numeric tier).
|
|
@@ -5,6 +5,7 @@ local ToastContainer = TS.import(script, script.Parent.Parent, "Components", "In
|
|
|
5
5
|
local RegistryProvider = TS.import(script, script.Parent, "registry.provider").RegistryProvider
|
|
6
6
|
local ThemeProvider = TS.import(script, script.Parent, "theme.provider").ThemeProvider
|
|
7
7
|
local OverlayProvider = TS.import(script, script.Parent, "overlay.provider").OverlayProvider
|
|
8
|
+
local ModalProvider = TS.import(script, script.Parent, "modal.provider").ModalProvider
|
|
8
9
|
local ToastProvider = TS.import(script, script.Parent, "toast.provider").ToastProvider
|
|
9
10
|
local function CleanUiProvider(_param)
|
|
10
11
|
local children = _param.children
|
|
@@ -15,7 +16,7 @@ local function CleanUiProvider(_param)
|
|
|
15
16
|
end
|
|
16
17
|
return React.createElement(RegistryProvider, nil, React.createElement(ThemeProvider, {
|
|
17
18
|
theme = theme,
|
|
18
|
-
}, React.createElement(OverlayProvider, nil, React.createElement(ToastProvider, nil, children, toasts and React.createElement(ToastContainer)))))
|
|
19
|
+
}, React.createElement(OverlayProvider, nil, React.createElement(ModalProvider, nil, React.createElement(ToastProvider, nil, children, toasts and React.createElement(ToastContainer))))))
|
|
19
20
|
end
|
|
20
21
|
return {
|
|
21
22
|
CleanUiProvider = CleanUiProvider,
|
package/out/Providers/index.d.ts
CHANGED
package/out/Providers/init.luau
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
-- Compiled with roblox-ts v3.0.0
|
|
2
2
|
local TS = _G[script]
|
|
3
3
|
local exports = {}
|
|
4
|
+
for _k, _v in TS.import(script, script, "modal.provider") or {} do
|
|
5
|
+
exports[_k] = _v
|
|
6
|
+
end
|
|
4
7
|
for _k, _v in TS.import(script, script, "overlay.provider") or {} do
|
|
5
8
|
exports[_k] = _v
|
|
6
9
|
end
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
-- Compiled with roblox-ts v3.0.0
|
|
2
|
+
local TS = _G[script]
|
|
3
|
+
local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
|
|
4
|
+
local ModalStackContext = TS.import(script, script.Parent.Parent, "Contexts", "modal.context").ModalStackContext
|
|
5
|
+
local CustomInputService = TS.import(script, script.Parent.Parent, "Helpers", "input.helper").CustomInputService
|
|
6
|
+
local function ModalProvider(props)
|
|
7
|
+
local stack, setStack = React.useState({})
|
|
8
|
+
local stackRef = React.useRef(stack)
|
|
9
|
+
React.useEffect(function()
|
|
10
|
+
stackRef.current = stack
|
|
11
|
+
end, { stack })
|
|
12
|
+
local register = React.useCallback(function(layer)
|
|
13
|
+
setStack(function(current)
|
|
14
|
+
local _array = {}
|
|
15
|
+
local _length = #_array
|
|
16
|
+
local _currentLength = #current
|
|
17
|
+
table.move(current, 1, _currentLength, _length + 1, _array)
|
|
18
|
+
_length += _currentLength
|
|
19
|
+
_array[_length + 1] = layer
|
|
20
|
+
return _array
|
|
21
|
+
end)
|
|
22
|
+
end, {})
|
|
23
|
+
local unregister = React.useCallback(function(id)
|
|
24
|
+
setStack(function(current)
|
|
25
|
+
-- ▼ ReadonlyArray.filter ▼
|
|
26
|
+
local _newValue = {}
|
|
27
|
+
local _callback = function(layer)
|
|
28
|
+
return layer.id ~= id
|
|
29
|
+
end
|
|
30
|
+
local _length = 0
|
|
31
|
+
for _k, _v in current do
|
|
32
|
+
if _callback(_v, _k - 1, current) == true then
|
|
33
|
+
_length += 1
|
|
34
|
+
_newValue[_length] = _v
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
-- ▲ ReadonlyArray.filter ▲
|
|
38
|
+
return _newValue
|
|
39
|
+
end)
|
|
40
|
+
end, {})
|
|
41
|
+
local getLayerIndex = React.useCallback(function(id)
|
|
42
|
+
-- ▼ ReadonlyArray.findIndex ▼
|
|
43
|
+
local _callback = function(layer)
|
|
44
|
+
return layer.id == id
|
|
45
|
+
end
|
|
46
|
+
local _result = -1
|
|
47
|
+
for _i, _v in stack do
|
|
48
|
+
if _callback(_v, _i - 1, stack) == true then
|
|
49
|
+
_result = _i - 1
|
|
50
|
+
break
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
-- ▲ ReadonlyArray.findIndex ▲
|
|
54
|
+
return _result
|
|
55
|
+
end, { stack })
|
|
56
|
+
React.useEffect(function()
|
|
57
|
+
local connection = CustomInputService.InputBegan:Connect(function(input, gameProcessed)
|
|
58
|
+
if gameProcessed then
|
|
59
|
+
return nil
|
|
60
|
+
end
|
|
61
|
+
if input.KeyCode ~= Enum.KeyCode.Escape and input.KeyCode ~= Enum.KeyCode.ButtonB then
|
|
62
|
+
return nil
|
|
63
|
+
end
|
|
64
|
+
local top = stackRef.current[#stackRef.current]
|
|
65
|
+
if top ~= nil and top.closeOnEscape() then
|
|
66
|
+
top.requestClose()
|
|
67
|
+
end
|
|
68
|
+
end)
|
|
69
|
+
return function()
|
|
70
|
+
connection:Disconnect()
|
|
71
|
+
end
|
|
72
|
+
end, {})
|
|
73
|
+
local value = React.useMemo(function()
|
|
74
|
+
return {
|
|
75
|
+
register = register,
|
|
76
|
+
unregister = unregister,
|
|
77
|
+
getLayerIndex = getLayerIndex,
|
|
78
|
+
}
|
|
79
|
+
end, { register, unregister, getLayerIndex })
|
|
80
|
+
return React.createElement(ModalStackContext.Provider, {
|
|
81
|
+
value = value,
|
|
82
|
+
}, props.children)
|
|
83
|
+
end
|
|
84
|
+
return {
|
|
85
|
+
ModalProvider = ModalProvider,
|
|
86
|
+
}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
local TS = _G[script]
|
|
3
3
|
local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
|
|
4
4
|
local HttpService = TS.import(script, TS.getModule(script, "@rbxts", "services")).HttpService
|
|
5
|
-
-- This registry is used to keep a global map of GuiObjects => React components
|
|
6
|
-
-- For example Droppable zones use this to register themselves
|
|
7
5
|
local DroppableRegistryKey = {
|
|
8
6
|
name = "Droppable",
|
|
9
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Binding } from "@rbxts/react";
|
|
2
|
-
import { ScaleSize, CssShadow, ButtonFlag, CssDual, CssSliceInset, CssSize, CssCalcSize } from "../Interfaces/";
|
|
2
|
+
import { ScaleSize, CssShadow, ButtonFlag, CssDual, CssSliceInset, CssSize, CssCalcSize, CssBackgroundGradient } from "../Interfaces/";
|
|
3
3
|
export interface TypographyStyle {
|
|
4
4
|
font: Enum.Font;
|
|
5
5
|
size: Enum.FontSize;
|
|
@@ -18,6 +18,7 @@ export interface IntentScheme {
|
|
|
18
18
|
boxShadow?: CssShadow;
|
|
19
19
|
typography?: Partial<TypographyStyle>;
|
|
20
20
|
backgroundImage?: Partial<CssBackgroundImage>;
|
|
21
|
+
backgroundGradient?: Partial<CssBackgroundGradient>;
|
|
21
22
|
}
|
|
22
23
|
export interface IntentColors extends Partial<Record<ButtonFlag, IntentScheme>> {
|
|
23
24
|
default: IntentScheme;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CssShadow, CssSize, ScaledCssPadding, Breakpoint, BreakpointValue, ScaleSizeValue, ScaleSize, Intent, IconSet, TextVariant, PositionElementProps, CssBoxShadow } from "../Interfaces/";
|
|
1
|
+
import { CssShadow, CssSize, ScaledCssPadding, Breakpoint, BreakpointValue, ScaleSizeValue, ScaleSize, Intent, IconSet, TextVariant, PositionElementProps, CssBoxShadow, CssBackgroundGradient } from "../Interfaces/";
|
|
2
2
|
import { TypographyStyle, ScaledTypographyStyle, IntentScheme, IntentColors, InlineIntentColors, CssBackgroundImage, CssPosition } from "./theme.style";
|
|
3
3
|
export interface ThemeTemplate {
|
|
4
4
|
colors: {
|
|
@@ -52,6 +52,7 @@ export interface ThemeTemplate {
|
|
|
52
52
|
padding?: ScaledCssPadding;
|
|
53
53
|
boxShadow?: CssShadow;
|
|
54
54
|
backgroundImage?: CssBackgroundImage;
|
|
55
|
+
backgroundGradient?: CssBackgroundGradient;
|
|
55
56
|
intents?: Partial<Record<Intent, InlineIntentColors>>;
|
|
56
57
|
};
|
|
57
58
|
button: {
|
|
@@ -71,17 +72,32 @@ export interface ThemeTemplate {
|
|
|
71
72
|
cornerRadius: CssSize;
|
|
72
73
|
typography?: Partial<TypographyStyle> | ScaledTypographyStyle;
|
|
73
74
|
backgroundImage?: CssBackgroundImage;
|
|
75
|
+
backgroundGradient?: CssBackgroundGradient;
|
|
74
76
|
placeholder?: Partial<TypographyStyle> | ScaledTypographyStyle;
|
|
77
|
+
iconColor?: Color3;
|
|
75
78
|
};
|
|
76
79
|
select: {
|
|
77
80
|
borderColor: Color3;
|
|
78
81
|
borderThickness: number;
|
|
79
82
|
cornerRadius: CssSize;
|
|
80
83
|
backgroundImage?: CssBackgroundImage;
|
|
84
|
+
backgroundGradient?: CssBackgroundGradient;
|
|
81
85
|
dropDownBackgroundColor: Color3;
|
|
82
86
|
typography?: Partial<TypographyStyle> | ScaledTypographyStyle;
|
|
83
87
|
intents?: Partial<Record<Intent, InlineIntentColors>>;
|
|
84
88
|
maxDropDownHeight: number;
|
|
89
|
+
optGroup: {
|
|
90
|
+
textColor: Color3;
|
|
91
|
+
typography?: Partial<TypographyStyle> | ScaledTypographyStyle;
|
|
92
|
+
backgroundColor?: Color3;
|
|
93
|
+
backgroundTransparency?: number;
|
|
94
|
+
spacing?: ScaleSizeValue<number>;
|
|
95
|
+
padding?: ScaledCssPadding;
|
|
96
|
+
};
|
|
97
|
+
search: {
|
|
98
|
+
spacing?: ScaleSizeValue<number>;
|
|
99
|
+
padding?: ScaledCssPadding;
|
|
100
|
+
};
|
|
85
101
|
};
|
|
86
102
|
checkbox: {
|
|
87
103
|
borderColor: Color3;
|
|
@@ -92,11 +108,38 @@ export interface ThemeTemplate {
|
|
|
92
108
|
spacing?: ScaleSizeValue<number>;
|
|
93
109
|
padding?: ScaledCssPadding;
|
|
94
110
|
backgroundImage?: CssBackgroundImage;
|
|
111
|
+
backgroundGradient?: CssBackgroundGradient;
|
|
112
|
+
};
|
|
113
|
+
switch: {
|
|
114
|
+
width: CssSize;
|
|
115
|
+
height: CssSize;
|
|
116
|
+
cornerRadius: CssSize;
|
|
117
|
+
borderThickness: number;
|
|
118
|
+
disabledTransparency: number;
|
|
119
|
+
animation: {
|
|
120
|
+
duration: number;
|
|
121
|
+
};
|
|
122
|
+
track: {
|
|
123
|
+
backgroundColor: Color3;
|
|
124
|
+
backgroundTransparency: number;
|
|
125
|
+
borderColor: Color3;
|
|
126
|
+
intents?: Partial<Record<Intent, InlineIntentColors>>;
|
|
127
|
+
};
|
|
128
|
+
thumb: {
|
|
129
|
+
inset: CssSize;
|
|
130
|
+
cornerRadius: CssSize;
|
|
131
|
+
backgroundColor: Color3;
|
|
132
|
+
backgroundTransparency: number;
|
|
133
|
+
borderColor: Color3;
|
|
134
|
+
borderThickness: number;
|
|
135
|
+
boxShadow?: CssShadow;
|
|
136
|
+
};
|
|
95
137
|
};
|
|
96
138
|
tabs: {
|
|
97
139
|
borderColor: Color3;
|
|
98
140
|
backgroundColor: Color3;
|
|
99
141
|
backgroundImage?: CssBackgroundImage;
|
|
142
|
+
backgroundGradient?: CssBackgroundGradient;
|
|
100
143
|
borderThickness: number;
|
|
101
144
|
cornerRadius: CssSize;
|
|
102
145
|
spacing?: ScaleSizeValue<number>;
|
|
@@ -110,6 +153,7 @@ export interface ThemeTemplate {
|
|
|
110
153
|
spacing?: ScaleSizeValue<number>;
|
|
111
154
|
padding?: ScaledCssPadding;
|
|
112
155
|
backgroundImage?: CssBackgroundImage;
|
|
156
|
+
backgroundGradient?: CssBackgroundGradient;
|
|
113
157
|
};
|
|
114
158
|
button: {
|
|
115
159
|
borderThickness: number;
|
|
@@ -121,6 +165,24 @@ export interface ThemeTemplate {
|
|
|
121
165
|
intents?: Partial<Record<Intent, InlineIntentColors>>;
|
|
122
166
|
};
|
|
123
167
|
};
|
|
168
|
+
pagination: {
|
|
169
|
+
backgroundColor: Color3;
|
|
170
|
+
backgroundTransparency: number;
|
|
171
|
+
borderColor: Color3;
|
|
172
|
+
borderThickness: number;
|
|
173
|
+
cornerRadius: CssSize;
|
|
174
|
+
spacing?: ScaleSizeValue<number>;
|
|
175
|
+
padding?: ScaledCssPadding;
|
|
176
|
+
item: {
|
|
177
|
+
borderThickness: number;
|
|
178
|
+
cornerRadius: CssSize;
|
|
179
|
+
spacing?: ScaleSizeValue<number>;
|
|
180
|
+
padding?: ScaledCssPadding;
|
|
181
|
+
boxShadow?: CssShadow;
|
|
182
|
+
typography?: Partial<TypographyStyle> | ScaledTypographyStyle;
|
|
183
|
+
intents?: Partial<Record<Intent, InlineIntentColors>>;
|
|
184
|
+
};
|
|
185
|
+
};
|
|
124
186
|
accordion: {
|
|
125
187
|
borderColor: Color3;
|
|
126
188
|
borderThickness: number;
|
|
@@ -144,6 +206,25 @@ export interface ThemeTemplate {
|
|
|
144
206
|
duration: number;
|
|
145
207
|
};
|
|
146
208
|
};
|
|
209
|
+
table: {
|
|
210
|
+
backgroundColor: Color3;
|
|
211
|
+
backgroundTransparency: number;
|
|
212
|
+
borderColor: Color3;
|
|
213
|
+
borderThickness: number;
|
|
214
|
+
cornerRadius: CssSize;
|
|
215
|
+
rowDividerColor: Color3;
|
|
216
|
+
rowDividerThickness: number;
|
|
217
|
+
header: {
|
|
218
|
+
backgroundColor: Color3;
|
|
219
|
+
backgroundTransparency: number;
|
|
220
|
+
typography?: Partial<TypographyStyle> | ScaledTypographyStyle;
|
|
221
|
+
};
|
|
222
|
+
cell: {
|
|
223
|
+
spacing?: ScaleSizeValue<number>;
|
|
224
|
+
padding?: ScaledCssPadding;
|
|
225
|
+
typography?: Partial<TypographyStyle> | ScaledTypographyStyle;
|
|
226
|
+
};
|
|
227
|
+
};
|
|
147
228
|
card: {
|
|
148
229
|
borderThickness: number;
|
|
149
230
|
cornerRadius: CssSize;
|
|
@@ -192,6 +273,40 @@ export interface ThemeTemplate {
|
|
|
192
273
|
aspectRatio?: number;
|
|
193
274
|
};
|
|
194
275
|
};
|
|
276
|
+
progressBar: {
|
|
277
|
+
height: ScaleSizeValue<CssSize>;
|
|
278
|
+
animation: {
|
|
279
|
+
duration: number;
|
|
280
|
+
};
|
|
281
|
+
header: {
|
|
282
|
+
spacing?: ScaleSizeValue<number>;
|
|
283
|
+
label: {
|
|
284
|
+
typography?: Partial<TypographyStyle> | ScaledTypographyStyle;
|
|
285
|
+
};
|
|
286
|
+
value: {
|
|
287
|
+
typography?: Partial<TypographyStyle> | ScaledTypographyStyle;
|
|
288
|
+
};
|
|
289
|
+
};
|
|
290
|
+
track: {
|
|
291
|
+
backgroundColor: Color3;
|
|
292
|
+
backgroundTransparency: number;
|
|
293
|
+
borderColor: Color3;
|
|
294
|
+
borderThickness: number;
|
|
295
|
+
cornerRadius: CssSize;
|
|
296
|
+
backgroundImage?: CssBackgroundImage;
|
|
297
|
+
backgroundGradient?: CssBackgroundGradient;
|
|
298
|
+
};
|
|
299
|
+
fill: {
|
|
300
|
+
cornerRadius: CssSize;
|
|
301
|
+
intents?: Partial<Record<Intent, InlineIntentColors>>;
|
|
302
|
+
stripe?: {
|
|
303
|
+
enabled: boolean;
|
|
304
|
+
image?: Omit<Partial<CssBackgroundImage>, "size">;
|
|
305
|
+
duration?: number;
|
|
306
|
+
direction?: number;
|
|
307
|
+
};
|
|
308
|
+
};
|
|
309
|
+
};
|
|
195
310
|
toast: {
|
|
196
311
|
width: CssSize;
|
|
197
312
|
fadeDuration: number;
|
|
@@ -217,6 +332,16 @@ export interface ThemeTemplate {
|
|
|
217
332
|
cornerRadius: CssSize;
|
|
218
333
|
intents?: Partial<Record<Intent, Partial<IntentScheme>>>;
|
|
219
334
|
};
|
|
335
|
+
modal: {
|
|
336
|
+
fadeDuration: number;
|
|
337
|
+
baseZIndex: number;
|
|
338
|
+
zIndexStep: number;
|
|
339
|
+
width?: CssSize;
|
|
340
|
+
backdrop: {
|
|
341
|
+
backgroundColor: Color3;
|
|
342
|
+
backgroundTransparency: number;
|
|
343
|
+
};
|
|
344
|
+
};
|
|
220
345
|
charts: {
|
|
221
346
|
colors: Color3[];
|
|
222
347
|
pie: {
|