@rbxts/react-clean-ui 1.0.19 → 1.0.36
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 +47 -0
- package/out/Components/Chart/BarChart.luau +880 -0
- package/out/Components/Chart/Pie.luau +12 -12
- package/out/Components/Chart/index.d.ts +1 -0
- package/out/Components/Chart/init.luau +3 -0
- package/out/Components/Interaction/Toast.d.ts +1 -1
- package/out/Components/Interaction/Toast.luau +4 -4
- package/out/Components/Interaction/Tooltip.d.ts +1 -1
- package/out/Components/Interaction/Tooltip.luau +8 -1
- package/out/Components/Layout/Accordion.d.ts +34 -0
- package/out/Components/Layout/Accordion.luau +430 -0
- package/out/Components/Layout/Container.luau +21 -5
- package/out/Components/Layout/HStack.d.ts +2 -1
- package/out/Components/Layout/HStack.luau +1 -2
- package/out/Components/Layout/VStack.d.ts +4 -1
- package/out/Components/Layout/VStack.luau +2 -2
- package/out/Components/Layout/index.d.ts +1 -0
- package/out/Components/Layout/init.luau +3 -0
- package/out/Components/Surface/Box.d.ts +2 -2
- package/out/Components/Surface/Card.luau +16 -4
- package/out/Components/Surface/Icon.d.ts +1 -1
- package/out/Components/Surface/Icon.luau +1 -0
- package/out/Components/Typography/Text.luau +26 -13
- package/out/Helpers/create-ui-story.d.ts +6 -4
- package/out/Helpers/create-ui-story.luau +15 -4
- package/out/Interfaces/clean.element.props.d.ts +2 -2
- package/out/Theme/theme.template.d.ts +67 -10
- package/out/Theme/themes/dark.theme.luau +45 -1
- package/out/Theme/themes/default.theme.luau +111 -11
- package/out/Theme/themes/sandstone.theme.luau +56 -10
- package/package.json +4 -2
|
@@ -5,12 +5,11 @@ local CleanThemeContext = TS.import(script, script.Parent.Parent.Parent, "Contex
|
|
|
5
5
|
local SpacingHelper = TS.import(script, script.Parent.Parent.Parent, "Helpers").SpacingHelper
|
|
6
6
|
local function HStack(props)
|
|
7
7
|
local theme = React.useContext(CleanThemeContext)
|
|
8
|
-
local padding = UDim.new(0, math.ceil(SpacingHelper:GetPadding(theme, props.spacing) / 2))
|
|
9
8
|
return React.createElement(React.Fragment, nil, React.createElement("uilistlayout", {
|
|
10
9
|
FillDirection = Enum.FillDirection.Horizontal,
|
|
11
10
|
HorizontalFlex = props.HorizontalFlex,
|
|
12
11
|
VerticalAlignment = props.valign,
|
|
13
|
-
Padding =
|
|
12
|
+
Padding = props.Padding or UDim.new(0, math.ceil(SpacingHelper:GetPadding(theme, props.spacing) / 2)),
|
|
14
13
|
Wraps = if props.Wraps == nil then true else props.Wraps,
|
|
15
14
|
Change = props.Change,
|
|
16
15
|
Event = props.Event,
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import React from "@rbxts/react";
|
|
1
|
+
import React, { Binding } from "@rbxts/react";
|
|
2
2
|
import { SpacedElementProps } from "../../Interfaces";
|
|
3
3
|
interface VStackProps extends SpacedElementProps {
|
|
4
|
+
valign?: Enum.VerticalAlignment | "Center" | "Top" | "Bottom" | React.Binding<Enum.VerticalAlignment> | undefined;
|
|
4
5
|
children?: React.ReactNode;
|
|
5
6
|
HorizontalFlex?: Enum.UIFlexAlignment;
|
|
6
7
|
VerticalFlex?: Enum.UIFlexAlignment;
|
|
8
|
+
VerticalAlignment?: Enum.VerticalAlignment;
|
|
7
9
|
Event?: React.InstanceEvent<UIListLayout>;
|
|
8
10
|
Change?: React.InstanceChangeEvent<UIListLayout>;
|
|
11
|
+
Padding?: UDim | Binding<UDim>;
|
|
9
12
|
}
|
|
10
13
|
export declare function VStack(props: VStackProps): React.JSX.Element;
|
|
11
14
|
export {};
|
|
@@ -5,12 +5,12 @@ local CleanThemeContext = TS.import(script, script.Parent.Parent.Parent, "Contex
|
|
|
5
5
|
local SpacingHelper = TS.import(script, script.Parent.Parent.Parent, "Helpers").SpacingHelper
|
|
6
6
|
local function VStack(props)
|
|
7
7
|
local theme = React.useContext(CleanThemeContext)
|
|
8
|
-
local padding = UDim.new(0, SpacingHelper:GetPadding(theme, props.spacing))
|
|
9
8
|
return React.createElement(React.Fragment, nil, React.createElement("uilistlayout", {
|
|
10
9
|
FillDirection = Enum.FillDirection.Vertical,
|
|
11
10
|
HorizontalFlex = props.HorizontalFlex or Enum.UIFlexAlignment.Fill,
|
|
12
11
|
VerticalFlex = props.VerticalFlex,
|
|
13
|
-
|
|
12
|
+
VerticalAlignment = props.VerticalAlignment or props.valign,
|
|
13
|
+
Padding = props.Padding or UDim.new(0, SpacingHelper:GetPadding(theme, props.spacing)),
|
|
14
14
|
SortOrder = Enum.SortOrder.LayoutOrder,
|
|
15
15
|
Change = props.Change,
|
|
16
16
|
Event = props.Event,
|
|
@@ -4,6 +4,9 @@ local exports = {}
|
|
|
4
4
|
for _k, _v in TS.import(script, script, "Column") or {} do
|
|
5
5
|
exports[_k] = _v
|
|
6
6
|
end
|
|
7
|
+
for _k, _v in TS.import(script, script, "Accordion") or {} do
|
|
8
|
+
exports[_k] = _v
|
|
9
|
+
end
|
|
7
10
|
for _k, _v in TS.import(script, script, "Container") or {} do
|
|
8
11
|
exports[_k] = _v
|
|
9
12
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "@rbxts/react";
|
|
2
|
-
import { BackgroundElementProps, ShadowElementProps, SizeElementProps, SpacedElementProps, ZIndexElementProps } from "../../Interfaces/";
|
|
3
|
-
export interface BoxProps extends SpacedElementProps, ShadowElementProps, BackgroundElementProps, ZIndexElementProps, SizeElementProps, React.InstanceProps<Frame> {
|
|
2
|
+
import { BackgroundElementProps, PositionElementProps, ShadowElementProps, SizeElementProps, SpacedElementProps, ZIndexElementProps } from "../../Interfaces/";
|
|
3
|
+
export interface BoxProps extends SpacedElementProps, ShadowElementProps, BackgroundElementProps, ZIndexElementProps, SizeElementProps, PositionElementProps, React.InstanceProps<Frame> {
|
|
4
4
|
'border-thickness'?: number;
|
|
5
5
|
'border-color'?: Color3;
|
|
6
6
|
}
|
|
@@ -9,6 +9,7 @@ local VStack = _Layout.VStack
|
|
|
9
9
|
local _Helpers = TS.import(script, script.Parent.Parent.Parent, "Helpers")
|
|
10
10
|
local ColorHelper = _Helpers.ColorHelper
|
|
11
11
|
local CssHelper = _Helpers.CssHelper
|
|
12
|
+
local SizeHelper = _Helpers.SizeHelper
|
|
12
13
|
local SpacingHelper = _Helpers.SpacingHelper
|
|
13
14
|
local CleanThemeContext = TS.import(script, script.Parent.Parent.Parent, "Contexts").CleanThemeContext
|
|
14
15
|
local Padding = TS.import(script, script.Parent.Parent, "Decorator").Padding
|
|
@@ -48,11 +49,11 @@ local CardBody = React.forwardRef(function(props, ref)
|
|
|
48
49
|
local padding = SpacingHelper:ResolveNumberPadding(SpacingHelper:GetPadding(theme, "md", theme.components.card.header.spacing))
|
|
49
50
|
local _attributes = {
|
|
50
51
|
ref = ref,
|
|
52
|
+
Size = SizeHelper:GetSize(props, UDim2.fromScale(0, 0)),
|
|
51
53
|
}
|
|
52
54
|
for _k, _v in props do
|
|
53
55
|
_attributes[_k] = _v
|
|
54
56
|
end
|
|
55
|
-
_attributes.Size = UDim2.fromScale(0, 0)
|
|
56
57
|
_attributes.AutomaticSize = Enum.AutomaticSize.XY
|
|
57
58
|
return React.createElement(FlexItem, nil, React.createElement(Container, _attributes, React.createElement(Padding, {
|
|
58
59
|
resolvedPadding = padding,
|
|
@@ -99,13 +100,24 @@ local Card = React.forwardRef(function(props, ref)
|
|
|
99
100
|
local _attributes = table.clone(props)
|
|
100
101
|
setmetatable(_attributes, nil)
|
|
101
102
|
_attributes.ref = ref
|
|
103
|
+
_attributes.center = nil
|
|
102
104
|
_attributes.spacing = "None"
|
|
103
105
|
_attributes["border-color"] = intent.borderColor
|
|
104
|
-
|
|
105
|
-
value = contextValue,
|
|
106
|
-
}, React.createElement(Box, _attributes, React.createElement(VStack, {
|
|
106
|
+
local cardBox = (React.createElement(Box, _attributes, React.createElement(VStack, {
|
|
107
107
|
spacing = "None",
|
|
108
108
|
}, props.children)))
|
|
109
|
+
local isCentered = props.center == true and props.Position == nil and props.AnchorPoint == nil
|
|
110
|
+
return React.createElement(CardContext.Provider, {
|
|
111
|
+
value = contextValue,
|
|
112
|
+
}, if isCentered then (React.createElement(Container, {
|
|
113
|
+
Size = UDim2.fromScale(1, 1),
|
|
114
|
+
ZIndex = props.ZIndex,
|
|
115
|
+
LayoutOrder = props.LayoutOrder,
|
|
116
|
+
}, React.createElement("uilistlayout", {
|
|
117
|
+
FillDirection = Enum.FillDirection.Horizontal,
|
|
118
|
+
HorizontalAlignment = Enum.HorizontalAlignment.Center,
|
|
119
|
+
VerticalAlignment = Enum.VerticalAlignment.Center,
|
|
120
|
+
}), cardBox)) else cardBox)
|
|
109
121
|
end)
|
|
110
122
|
Card.Header = CardHeader
|
|
111
123
|
Card.Footer = CardFooter
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { Binding } from "@rbxts/react";
|
|
2
2
|
import { IconElementProps, ScalableElementProps } from "../../Interfaces/";
|
|
3
|
-
export interface IconProps extends IconElementProps, ScalableElementProps {
|
|
3
|
+
export interface IconProps extends IconElementProps, ScalableElementProps, React.InstanceProps<ImageLabel> {
|
|
4
4
|
color?: Color3;
|
|
5
5
|
Size?: UDim2;
|
|
6
6
|
spinning?: boolean;
|
|
@@ -54,6 +54,7 @@ function Icon(props)
|
|
|
54
54
|
return React.createElement("imagelabel", {
|
|
55
55
|
Rotation = props.Rotation,
|
|
56
56
|
Size = props.Size or UDim2.fromOffset(size, size),
|
|
57
|
+
LayoutOrder = props.LayoutOrder,
|
|
57
58
|
Image = if iconId == nil then nil else `rbxassetid://{iconId}`,
|
|
58
59
|
BackgroundTransparency = 1,
|
|
59
60
|
ImageColor3 = props.color or theme.colors.intents.primary.default.textColor,
|
|
@@ -6,22 +6,35 @@ local Text = React.forwardRef(function(props, ref)
|
|
|
6
6
|
local theme = React.useContext(CleanThemeContext)
|
|
7
7
|
local style = props.typography or theme.typography[props.variant or "body"]
|
|
8
8
|
local weight = if props.weight == "bold" then Enum.FontWeight.Bold else props.weight or style.weight or Enum.FontWeight.Regular
|
|
9
|
-
|
|
9
|
+
local textwrapped = props.TextWrap ~= false and props.TextWrapped ~= false
|
|
10
|
+
local _attributes = {
|
|
10
11
|
ref = ref,
|
|
11
12
|
Size = UDim2.fromScale(0, 0),
|
|
12
13
|
AutomaticSize = Enum.AutomaticSize.XY,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
AnchorPoint = props.AnchorPoint,
|
|
15
|
+
}
|
|
16
|
+
local _condition = props.LineHeight
|
|
17
|
+
if _condition == nil then
|
|
18
|
+
_condition = style.lineHeight
|
|
19
|
+
end
|
|
20
|
+
_attributes.LineHeight = _condition
|
|
21
|
+
local _condition_1 = props.BackgroundTransparency
|
|
22
|
+
if _condition_1 == nil then
|
|
23
|
+
_condition_1 = 1
|
|
24
|
+
end
|
|
25
|
+
_attributes.BackgroundTransparency = _condition_1
|
|
26
|
+
_attributes.TextXAlignment = props.align or (props.TextXAlignment or Enum.TextXAlignment.Left)
|
|
27
|
+
_attributes.TextColor3 = props.TextColor3 or theme.colors.intents.primary.default.textColor
|
|
28
|
+
_attributes.Text = props.text
|
|
29
|
+
_attributes.Position = props.Position
|
|
30
|
+
_attributes.TextWrap = textwrapped
|
|
31
|
+
_attributes.TextWrapped = textwrapped
|
|
32
|
+
_attributes.FontFace = Font.fromName(style.font.Name, weight)
|
|
33
|
+
_attributes.FontSize = style.size
|
|
34
|
+
_attributes.RichText = true
|
|
35
|
+
_attributes.Event = props.Event
|
|
36
|
+
_attributes.TextScaled = false
|
|
37
|
+
return React.createElement("textlabel", _attributes, props.children)
|
|
25
38
|
end)
|
|
26
39
|
return {
|
|
27
40
|
Text = Text,
|
|
@@ -4,13 +4,15 @@ import { InferProps } from "@rbxts/ui-labs";
|
|
|
4
4
|
declare const controls: {
|
|
5
5
|
Theme: import("@rbxts/ui-labs/src/ControlTypings/Advanced").AdvancedTypes.Choose<"Default" | "Dark" | "Sandstone">;
|
|
6
6
|
};
|
|
7
|
-
type
|
|
8
|
-
|
|
7
|
+
type StoryControl = Parameters<typeof import("@rbxts/ui-labs").Ordered>[0];
|
|
8
|
+
type StoryControls = Record<string, StoryControl>;
|
|
9
|
+
type StoryProps<T extends StoryControls> = InferProps<typeof controls & T>;
|
|
10
|
+
export declare function createStory<T extends StoryControls = {}>(StoryComponent: (props: StoryProps<T>) => React.ReactNode, additionalControls?: T): {
|
|
9
11
|
react: typeof React;
|
|
10
12
|
reactRoblox: typeof ReactRoblox;
|
|
11
13
|
controls: {
|
|
12
14
|
Theme: import("@rbxts/ui-labs/src/ControlTypings/Advanced").AdvancedTypes.Choose<"Default" | "Dark" | "Sandstone">;
|
|
13
|
-
};
|
|
14
|
-
story: (props: StoryProps) => React.JSX.Element;
|
|
15
|
+
} & T;
|
|
16
|
+
story: (props: StoryProps<T>) => React.JSX.Element;
|
|
15
17
|
};
|
|
16
18
|
export {};
|
|
@@ -11,17 +11,28 @@ local CleanUiProvider = TS.import(script, script.Parent.Parent, "Providers", "ap
|
|
|
11
11
|
local controls = {
|
|
12
12
|
Theme = Choose({ "Default", "Dark", "Sandstone" }),
|
|
13
13
|
}
|
|
14
|
-
local function createStory(StoryComponent)
|
|
14
|
+
local function createStory(StoryComponent, additionalControls)
|
|
15
|
+
local _object = {}
|
|
16
|
+
if additionalControls then
|
|
17
|
+
for _k, _v in additionalControls do
|
|
18
|
+
_object[_k] = _v
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
for _k, _v in controls do
|
|
22
|
+
_object[_k] = _v
|
|
23
|
+
end
|
|
24
|
+
local storyControls = _object
|
|
15
25
|
return {
|
|
16
26
|
react = React,
|
|
17
27
|
reactRoblox = ReactRoblox,
|
|
18
|
-
controls =
|
|
28
|
+
controls = storyControls,
|
|
19
29
|
story = function(props)
|
|
30
|
+
local baseProps = props
|
|
20
31
|
local theme = DefaultTheme
|
|
21
|
-
if
|
|
32
|
+
if baseProps.controls.Theme == "Dark" then
|
|
22
33
|
theme = DarkTheme
|
|
23
34
|
end
|
|
24
|
-
if
|
|
35
|
+
if baseProps.controls.Theme == "Sandstone" then
|
|
25
36
|
theme = SandstoneTheme
|
|
26
37
|
end
|
|
27
38
|
local _attributes = table.clone(props)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Binding } from "@rbxts/react";
|
|
2
2
|
import { IconName } from "./icon";
|
|
3
|
-
export type ButtonFlag = "default" | "hover" | "focus";
|
|
3
|
+
export type ButtonFlag = "default" | "hover" | "focus" | "disabled";
|
|
4
4
|
export type CssUnit = "px" | "%";
|
|
5
5
|
export type Breakpoint = "xs" | "sm" | "md" | "lg" | "xl";
|
|
6
6
|
export declare const ScaleSizes: readonly ["xs", "sm", "md", "lg", "xl"];
|
|
@@ -73,7 +73,7 @@ export interface ScalableElementProps {
|
|
|
73
73
|
export interface PositionElementProps {
|
|
74
74
|
Position?: UDim2 | Binding<UDim2>;
|
|
75
75
|
AnchorPoint?: Vector2 | Binding<Vector2> | undefined;
|
|
76
|
-
center?:
|
|
76
|
+
center?: boolean;
|
|
77
77
|
top?: CssSize;
|
|
78
78
|
left?: CssSize;
|
|
79
79
|
right?: CssSize;
|
|
@@ -125,6 +125,27 @@ export interface CleanTheme {
|
|
|
125
125
|
intents?: Partial<Record<Intent, InlineIntentColors>>;
|
|
126
126
|
};
|
|
127
127
|
};
|
|
128
|
+
accordion: {
|
|
129
|
+
borderColor: Color3;
|
|
130
|
+
borderThickness: number;
|
|
131
|
+
cornerRadius: CssSize;
|
|
132
|
+
spacing?: ScaleSizeValue<number>;
|
|
133
|
+
header: {
|
|
134
|
+
spacing?: ScaleSizeValue<number>;
|
|
135
|
+
typography?: Partial<TypographyStyle> | ScaledTypographyStyle;
|
|
136
|
+
intents?: Partial<Record<Intent, InlineIntentColors>>;
|
|
137
|
+
indicatorSize: number;
|
|
138
|
+
indicatorColor: Color3;
|
|
139
|
+
};
|
|
140
|
+
content: {
|
|
141
|
+
spacing?: ScaleSizeValue<number>;
|
|
142
|
+
backgroundColor: Color3;
|
|
143
|
+
backgroundTransparency: number;
|
|
144
|
+
};
|
|
145
|
+
animation: {
|
|
146
|
+
duration: number;
|
|
147
|
+
};
|
|
148
|
+
};
|
|
128
149
|
card: {
|
|
129
150
|
borderThickness: number;
|
|
130
151
|
cornerRadius: CssSize;
|
|
@@ -188,18 +209,54 @@ export interface CleanTheme {
|
|
|
188
209
|
cornerRadius: CssSize;
|
|
189
210
|
intents?: Partial<Record<Intent, Partial<IntentScheme>>>;
|
|
190
211
|
};
|
|
191
|
-
|
|
212
|
+
charts: {
|
|
192
213
|
colors: Color3[];
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
214
|
+
pie: {
|
|
215
|
+
boxShadow?: CssBoxShadow;
|
|
216
|
+
hoverDarken: number;
|
|
217
|
+
labels: {
|
|
218
|
+
spacing?: ScaleSizeValue<number>;
|
|
219
|
+
backgroundColor?: Color3;
|
|
220
|
+
backgroundTransparency?: number;
|
|
221
|
+
typography?: Partial<TypographyStyle>;
|
|
222
|
+
borderColor?: Color3;
|
|
223
|
+
borderThickness?: number;
|
|
224
|
+
cornerRadius?: CssSize;
|
|
225
|
+
};
|
|
226
|
+
};
|
|
227
|
+
bar: {
|
|
196
228
|
spacing?: ScaleSizeValue<number>;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
229
|
+
unstackedTransparency: number;
|
|
230
|
+
borderColor: Color3;
|
|
231
|
+
borderThickness: number;
|
|
232
|
+
cornerRadius: CssSize;
|
|
233
|
+
tweenTime: number;
|
|
234
|
+
axis: {
|
|
235
|
+
color: Color3;
|
|
236
|
+
transparency: number;
|
|
237
|
+
thickness: number;
|
|
238
|
+
};
|
|
239
|
+
xAxis: {
|
|
240
|
+
size: number;
|
|
241
|
+
spacing: number;
|
|
242
|
+
tickColor: Color3;
|
|
243
|
+
tickTransparency: number;
|
|
244
|
+
tickThickness: number;
|
|
245
|
+
tickSize: number;
|
|
246
|
+
};
|
|
247
|
+
yAxis: {
|
|
248
|
+
size: number;
|
|
249
|
+
spacing: number;
|
|
250
|
+
tickColor: Color3;
|
|
251
|
+
tickTransparency: number;
|
|
252
|
+
tickThickness: number;
|
|
253
|
+
tickSize: number;
|
|
254
|
+
};
|
|
255
|
+
gridLines: {
|
|
256
|
+
color: Color3;
|
|
257
|
+
transparency: number;
|
|
258
|
+
thickness: number;
|
|
259
|
+
};
|
|
203
260
|
};
|
|
204
261
|
};
|
|
205
262
|
};
|
|
@@ -273,6 +273,35 @@ local DarkTheme = createTheme({
|
|
|
273
273
|
},
|
|
274
274
|
},
|
|
275
275
|
},
|
|
276
|
+
accordion = {
|
|
277
|
+
borderColor = Color3.fromHex("#4B5568"),
|
|
278
|
+
header = {
|
|
279
|
+
indicatorColor = Color3.fromHex("#C9CDD5"),
|
|
280
|
+
intents = {
|
|
281
|
+
primary = {
|
|
282
|
+
default = {
|
|
283
|
+
backgroundColor = Color3.fromHex("#252B36"),
|
|
284
|
+
textColor = Color3.fromHex("#E8EDF8"),
|
|
285
|
+
},
|
|
286
|
+
hover = {
|
|
287
|
+
backgroundColor = Color3.fromHex("#303949"),
|
|
288
|
+
textColor = Color3.fromHex("#FFFFFF"),
|
|
289
|
+
},
|
|
290
|
+
focus = {
|
|
291
|
+
backgroundColor = Color3.fromHex("#3A414D"),
|
|
292
|
+
textColor = Color3.fromHex("#FFFFFF"),
|
|
293
|
+
},
|
|
294
|
+
disabled = {
|
|
295
|
+
backgroundColor = Color3.fromHex("#1D222B"),
|
|
296
|
+
textColor = Color3.fromHex("#697386"),
|
|
297
|
+
},
|
|
298
|
+
},
|
|
299
|
+
},
|
|
300
|
+
},
|
|
301
|
+
content = {
|
|
302
|
+
backgroundColor = Color3.fromHex("#171B22"),
|
|
303
|
+
},
|
|
304
|
+
},
|
|
276
305
|
draggable = {
|
|
277
306
|
placeholder = {
|
|
278
307
|
backgroundColor = Color3.fromHex("#2A303B"),
|
|
@@ -336,8 +365,23 @@ local DarkTheme = createTheme({
|
|
|
336
365
|
header = {},
|
|
337
366
|
body = {},
|
|
338
367
|
},
|
|
339
|
-
|
|
368
|
+
charts = {
|
|
340
369
|
colors = { Color3.fromHex("#4CC47A"), Color3.fromHex("#E35B5B"), Color3.fromHex("#F0B74A"), Color3.fromHex("#4D9EEA"), Color3.fromHex("#A676F0"), Color3.fromHex("#43C2BA"), Color3.fromHex("#F48A52"), Color3.fromHex("#E06AAE"), Color3.fromHex("#6FA8DC"), Color3.fromHex("#9CCC4A") },
|
|
370
|
+
bar = {
|
|
371
|
+
borderColor = Color3.fromHex("#111827"),
|
|
372
|
+
axis = {
|
|
373
|
+
color = Color3.fromHex("#AAB4C3"),
|
|
374
|
+
},
|
|
375
|
+
xAxis = {
|
|
376
|
+
tickColor = Color3.fromHex("#AAB4C3"),
|
|
377
|
+
},
|
|
378
|
+
yAxis = {
|
|
379
|
+
tickColor = Color3.fromHex("#AAB4C3"),
|
|
380
|
+
},
|
|
381
|
+
gridLines = {
|
|
382
|
+
color = Color3.fromHex("#6B7688"),
|
|
383
|
+
},
|
|
384
|
+
},
|
|
341
385
|
},
|
|
342
386
|
},
|
|
343
387
|
icons = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
-- Compiled with roblox-ts v3.0.0
|
|
2
|
-
local font = Enum.Font.
|
|
2
|
+
local font = Enum.Font.Roboto
|
|
3
3
|
local DefaultTheme = {
|
|
4
4
|
colors = {
|
|
5
5
|
intents = {
|
|
@@ -269,6 +269,64 @@ local DefaultTheme = {
|
|
|
269
269
|
},
|
|
270
270
|
},
|
|
271
271
|
},
|
|
272
|
+
accordion = {
|
|
273
|
+
borderColor = Color3.fromHex("#D9DEE8"),
|
|
274
|
+
borderThickness = 1,
|
|
275
|
+
cornerRadius = 8,
|
|
276
|
+
spacing = {
|
|
277
|
+
xs = 0,
|
|
278
|
+
sm = 0,
|
|
279
|
+
md = 0,
|
|
280
|
+
lg = 0,
|
|
281
|
+
xl = 0,
|
|
282
|
+
},
|
|
283
|
+
header = {
|
|
284
|
+
spacing = {
|
|
285
|
+
xs = 4,
|
|
286
|
+
sm = 8,
|
|
287
|
+
md = 12,
|
|
288
|
+
lg = 16,
|
|
289
|
+
xl = 24,
|
|
290
|
+
},
|
|
291
|
+
indicatorSize = 14,
|
|
292
|
+
indicatorColor = Color3.fromHex("#4F4F4F"),
|
|
293
|
+
intents = {
|
|
294
|
+
primary = {
|
|
295
|
+
default = {
|
|
296
|
+
backgroundColor = Color3.fromHex("#F2F4F8"),
|
|
297
|
+
textColor = Color3.fromHex("#1D2433"),
|
|
298
|
+
},
|
|
299
|
+
hover = {
|
|
300
|
+
backgroundColor = Color3.fromHex("#E7EBF2"),
|
|
301
|
+
textColor = Color3.fromHex("#000000"),
|
|
302
|
+
},
|
|
303
|
+
focus = {
|
|
304
|
+
backgroundColor = Color3.fromHex("#E1E3E7"),
|
|
305
|
+
textColor = Color3.fromHex("#000000"),
|
|
306
|
+
},
|
|
307
|
+
disabled = {
|
|
308
|
+
backgroundColor = Color3.fromHex("#F5F5F5"),
|
|
309
|
+
backgroundTransparency = 0.35,
|
|
310
|
+
textColor = Color3.fromHex("#8A8A8A"),
|
|
311
|
+
},
|
|
312
|
+
},
|
|
313
|
+
},
|
|
314
|
+
},
|
|
315
|
+
content = {
|
|
316
|
+
spacing = {
|
|
317
|
+
xs = 4,
|
|
318
|
+
sm = 8,
|
|
319
|
+
md = 12,
|
|
320
|
+
lg = 16,
|
|
321
|
+
xl = 24,
|
|
322
|
+
},
|
|
323
|
+
backgroundColor = Color3.fromHex("#FFFFFF"),
|
|
324
|
+
backgroundTransparency = 0,
|
|
325
|
+
},
|
|
326
|
+
animation = {
|
|
327
|
+
duration = 0.2,
|
|
328
|
+
},
|
|
329
|
+
},
|
|
272
330
|
draggable = {
|
|
273
331
|
placeholder = {
|
|
274
332
|
backgroundColor = Color3.fromHex("#D9DEE8"),
|
|
@@ -468,18 +526,60 @@ local DefaultTheme = {
|
|
|
468
526
|
},
|
|
469
527
|
},
|
|
470
528
|
},
|
|
471
|
-
|
|
472
|
-
hoverDarken = 0.2,
|
|
473
|
-
boxShadow = {
|
|
474
|
-
shadow = "0px 0px 8px 3px",
|
|
475
|
-
color = Color3.fromHex("#000000"),
|
|
476
|
-
transparency = 0.6,
|
|
477
|
-
},
|
|
529
|
+
charts = {
|
|
478
530
|
colors = { Color3.fromHex("#2E9D63"), Color3.fromHex("#D64545"), Color3.fromHex("#E7A92F"), Color3.fromHex("#3187C8"), Color3.fromHex("#8E5AD7"), Color3.fromHex("#2FA7A1"), Color3.fromHex("#F26D4F"), Color3.fromHex("#D94F9D"), Color3.fromHex("#6B7C93"), Color3.fromHex("#7CB342") },
|
|
479
|
-
|
|
531
|
+
pie = {
|
|
532
|
+
hoverDarken = 0.2,
|
|
533
|
+
boxShadow = {
|
|
534
|
+
shadow = "0px 0px 8px 3px",
|
|
535
|
+
color = Color3.fromHex("#000000"),
|
|
536
|
+
transparency = 0.6,
|
|
537
|
+
},
|
|
538
|
+
labels = {
|
|
539
|
+
cornerRadius = 4,
|
|
540
|
+
typography = {
|
|
541
|
+
weight = Enum.FontWeight.Bold,
|
|
542
|
+
},
|
|
543
|
+
},
|
|
544
|
+
},
|
|
545
|
+
bar = {
|
|
546
|
+
spacing = {
|
|
547
|
+
xs = 4,
|
|
548
|
+
sm = 8,
|
|
549
|
+
md = 12,
|
|
550
|
+
lg = 16,
|
|
551
|
+
xl = 20,
|
|
552
|
+
},
|
|
553
|
+
unstackedTransparency = 0,
|
|
554
|
+
borderColor = Color3.fromHex("#3A4352"),
|
|
555
|
+
borderThickness = 1,
|
|
480
556
|
cornerRadius = 4,
|
|
481
|
-
|
|
482
|
-
|
|
557
|
+
tweenTime = 0.5,
|
|
558
|
+
axis = {
|
|
559
|
+
color = Color3.fromHex("#3A4352"),
|
|
560
|
+
transparency = 0.5,
|
|
561
|
+
thickness = 2,
|
|
562
|
+
},
|
|
563
|
+
xAxis = {
|
|
564
|
+
size = 50,
|
|
565
|
+
spacing = 4,
|
|
566
|
+
tickColor = Color3.fromHex("#3A4352"),
|
|
567
|
+
tickTransparency = 0.5,
|
|
568
|
+
tickThickness = 2,
|
|
569
|
+
tickSize = 10,
|
|
570
|
+
},
|
|
571
|
+
yAxis = {
|
|
572
|
+
size = 50,
|
|
573
|
+
spacing = 4,
|
|
574
|
+
tickColor = Color3.fromHex("#3A4352"),
|
|
575
|
+
tickTransparency = 0.5,
|
|
576
|
+
tickThickness = 2,
|
|
577
|
+
tickSize = 10,
|
|
578
|
+
},
|
|
579
|
+
gridLines = {
|
|
580
|
+
color = Color3.fromHex("#6B7C93"),
|
|
581
|
+
transparency = 0.8,
|
|
582
|
+
thickness = 2,
|
|
483
583
|
},
|
|
484
584
|
},
|
|
485
585
|
},
|
|
@@ -273,6 +273,35 @@ local SandstoneTheme = createTheme({
|
|
|
273
273
|
},
|
|
274
274
|
},
|
|
275
275
|
},
|
|
276
|
+
accordion = {
|
|
277
|
+
borderColor = Color3.fromHex("#B9A98F"),
|
|
278
|
+
header = {
|
|
279
|
+
indicatorColor = Color3.fromHex("#496E68"),
|
|
280
|
+
intents = {
|
|
281
|
+
primary = {
|
|
282
|
+
default = {
|
|
283
|
+
backgroundColor = Color3.fromHex("#EFE5D3"),
|
|
284
|
+
textColor = Color3.fromHex("#4A4034"),
|
|
285
|
+
},
|
|
286
|
+
hover = {
|
|
287
|
+
backgroundColor = Color3.fromHex("#DFE8DC"),
|
|
288
|
+
textColor = Color3.fromHex("#244F4A"),
|
|
289
|
+
},
|
|
290
|
+
focus = {
|
|
291
|
+
backgroundColor = Color3.fromHex("#CFE1DC"),
|
|
292
|
+
textColor = Color3.fromHex("#183B37"),
|
|
293
|
+
},
|
|
294
|
+
disabled = {
|
|
295
|
+
backgroundColor = Color3.fromHex("#E8DFCF"),
|
|
296
|
+
textColor = Color3.fromHex("#9B8B73"),
|
|
297
|
+
},
|
|
298
|
+
},
|
|
299
|
+
},
|
|
300
|
+
},
|
|
301
|
+
content = {
|
|
302
|
+
backgroundColor = Color3.fromHex("#FFF9ED"),
|
|
303
|
+
},
|
|
304
|
+
},
|
|
276
305
|
draggable = {
|
|
277
306
|
placeholder = {
|
|
278
307
|
backgroundColor = Color3.fromHex("#EFE5D3"),
|
|
@@ -336,17 +365,34 @@ local SandstoneTheme = createTheme({
|
|
|
336
365
|
header = {},
|
|
337
366
|
body = {},
|
|
338
367
|
},
|
|
339
|
-
|
|
340
|
-
boxShadow = {
|
|
341
|
-
shadow = "0px 0px",
|
|
342
|
-
color = Color3.fromHex("#FFFFFF"),
|
|
343
|
-
transparency = 1,
|
|
344
|
-
},
|
|
368
|
+
charts = {
|
|
345
369
|
colors = { Color3.fromHex("#7A9E7E"), Color3.fromHex("#A66C5D"), Color3.fromHex("#B89A5A"), Color3.fromHex("#6E97A8"), Color3.fromHex("#8A729E"), Color3.fromHex("#6F9A90"), Color3.fromHex("#C97A4A"), Color3.fromHex("#C58A9A"), Color3.fromHex("#8F7B5E"), Color3.fromHex("#8C9B5E") },
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
370
|
+
pie = {
|
|
371
|
+
boxShadow = {
|
|
372
|
+
shadow = "0px 0px",
|
|
373
|
+
color = Color3.fromHex("#FFFFFF"),
|
|
374
|
+
transparency = 1,
|
|
375
|
+
},
|
|
376
|
+
labels = {
|
|
377
|
+
backgroundColor = Color3.fromHex("#FFF9ED"),
|
|
378
|
+
backgroundTransparency = 0,
|
|
379
|
+
borderColor = Color3.fromHex("#D8CDBA"),
|
|
380
|
+
},
|
|
381
|
+
},
|
|
382
|
+
bar = {
|
|
383
|
+
borderColor = Color3.fromHex("#5F5547"),
|
|
384
|
+
axis = {
|
|
385
|
+
color = Color3.fromHex("#5F5547"),
|
|
386
|
+
},
|
|
387
|
+
xAxis = {
|
|
388
|
+
tickColor = Color3.fromHex("#786B59"),
|
|
389
|
+
},
|
|
390
|
+
yAxis = {
|
|
391
|
+
tickColor = Color3.fromHex("#786B59"),
|
|
392
|
+
},
|
|
393
|
+
gridLines = {
|
|
394
|
+
color = Color3.fromHex("#8F7B5E"),
|
|
395
|
+
},
|
|
350
396
|
},
|
|
351
397
|
},
|
|
352
398
|
},
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rbxts/react-clean-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.36",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "out/init.lua",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "rbxtsc",
|
|
8
8
|
"watch": "rbxtsc -w",
|
|
9
|
-
"prepublishOnly": "npm run build"
|
|
9
|
+
"prepublishOnly": "npm run build",
|
|
10
|
+
"screenshots": "node scripts/generate-screenshots.js"
|
|
10
11
|
},
|
|
11
12
|
"keywords": [],
|
|
12
13
|
"author": "",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
24
25
|
"@rbxts/compiler-types": "^3.0.0-types.0",
|
|
26
|
+
"@rbxts/react-screenshot-plugin": "^0.1.6",
|
|
25
27
|
"@rbxts/types": "^1.0.938",
|
|
26
28
|
"@typescript-eslint/eslint-plugin": "^8.63.0",
|
|
27
29
|
"@typescript-eslint/parser": "^8.63.0",
|