@rbxts/react-clean-ui 1.0.14 → 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.d.ts +27 -0
- package/out/Components/Chart/Pie.luau +281 -0
- package/out/Components/Chart/index.d.ts +2 -0
- package/out/Components/Chart/init.luau +10 -0
- package/out/Components/Decorator/BoxShadow.d.ts +2 -1
- package/out/Components/Decorator/BoxShadow.luau +51 -28
- package/out/Components/Input/Select.d.ts +6 -14
- package/out/Components/Input/Select.luau +111 -151
- package/out/Components/Input/Slider.d.ts +3 -37
- package/out/Components/Input/Slider.luau +271 -300
- 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/Column.d.ts +2 -8
- package/out/Components/Layout/Column.luau +28 -48
- package/out/Components/Layout/Container.luau +21 -5
- package/out/Components/Layout/Draggable.d.ts +7 -31
- package/out/Components/Layout/Draggable.luau +190 -214
- package/out/Components/Layout/Fieldset.d.ts +8 -18
- package/out/Components/Layout/Fieldset.luau +42 -84
- package/out/Components/Layout/Group.d.ts +7 -14
- package/out/Components/Layout/Group.luau +111 -129
- package/out/Components/Layout/HStack.d.ts +2 -1
- package/out/Components/Layout/HStack.luau +1 -2
- package/out/Components/Layout/Row.d.ts +2 -11
- package/out/Components/Layout/Row.luau +46 -71
- package/out/Components/Layout/Tabs.d.ts +10 -18
- package/out/Components/Layout/Tabs.luau +85 -104
- 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/Navigation/Menu.d.ts +6 -10
- package/out/Components/Navigation/Menu.luau +38 -65
- package/out/Components/Surface/Box.d.ts +2 -2
- package/out/Components/Surface/Card.d.ts +8 -11
- package/out/Components/Surface/Card.luau +40 -48
- package/out/Components/Surface/Icon.d.ts +1 -1
- package/out/Components/Surface/Icon.luau +1 -0
- package/out/Components/Surface/index.d.ts +0 -1
- package/out/Components/Surface/init.luau +0 -3
- package/out/Components/Typography/Text.luau +26 -13
- package/out/Components/index.d.ts +1 -0
- package/out/Components/init.luau +3 -0
- package/out/Helpers/create-ui-story.d.ts +6 -4
- package/out/Helpers/create-ui-story.luau +15 -4
- package/out/Helpers/css.helper.d.ts +2 -1
- package/out/Helpers/css.helper.luau +25 -0
- package/out/Helpers/size.helper.luau +1 -1
- package/out/Interfaces/clean.element.props.d.ts +7 -2
- package/out/Providers/registry.provider.d.ts +1 -0
- package/out/Providers/registry.provider.luau +5 -0
- package/out/Theme/theme.template.d.ts +72 -1
- package/out/Theme/themes/dark.theme.luau +47 -0
- package/out/Theme/themes/default.theme.luau +116 -1
- package/out/Theme/themes/sandstone.theme.luau +59 -0
- package/package.json +4 -2
- package/out/Components/Surface/Panel.d.ts +0 -4
- package/out/Components/Surface/Panel.luau +0 -33
|
@@ -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,
|
package/out/Components/init.luau
CHANGED
|
@@ -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,4 +1,4 @@
|
|
|
1
|
-
import { CssShadow, CssSize } from "../Interfaces/clean.element.props";
|
|
1
|
+
import { CssBoxShadow, CssShadow, CssSize } from "../Interfaces/clean.element.props";
|
|
2
2
|
interface ParsedShadow {
|
|
3
3
|
offset: UDim2;
|
|
4
4
|
blurRadius: UDim;
|
|
@@ -8,5 +8,6 @@ export declare class CssHelper {
|
|
|
8
8
|
static parseCssShadow(value: CssShadow): ParsedShadow | undefined;
|
|
9
9
|
private static isZero;
|
|
10
10
|
static parseCssSize(value: CssSize): UDim;
|
|
11
|
+
static ResolveShadow(shadow: CssBoxShadow): React.InstanceProps<UIShadow>;
|
|
11
12
|
}
|
|
12
13
|
export {};
|
|
@@ -108,6 +108,31 @@ do
|
|
|
108
108
|
end
|
|
109
109
|
return UDim.new(0, _condition)
|
|
110
110
|
end
|
|
111
|
+
function CssHelper:ResolveShadow(shadow)
|
|
112
|
+
local offset = self:parseCssShadow(shadow.shadow)
|
|
113
|
+
local _object = {}
|
|
114
|
+
local _left = "Offset"
|
|
115
|
+
local _result = offset
|
|
116
|
+
if _result ~= nil then
|
|
117
|
+
_result = _result.offset
|
|
118
|
+
end
|
|
119
|
+
_object[_left] = _result
|
|
120
|
+
local _left_1 = "BlurRadius"
|
|
121
|
+
local _result_1 = offset
|
|
122
|
+
if _result_1 ~= nil then
|
|
123
|
+
_result_1 = _result_1.blurRadius
|
|
124
|
+
end
|
|
125
|
+
_object[_left_1] = _result_1
|
|
126
|
+
local _left_2 = "Spread"
|
|
127
|
+
local _result_2 = offset
|
|
128
|
+
if _result_2 ~= nil then
|
|
129
|
+
_result_2 = _result_2.spread
|
|
130
|
+
end
|
|
131
|
+
_object[_left_2] = _result_2
|
|
132
|
+
_object.Color = shadow.color
|
|
133
|
+
_object.Transparency = shadow.transparency
|
|
134
|
+
return _object
|
|
135
|
+
end
|
|
111
136
|
end
|
|
112
137
|
return {
|
|
113
138
|
CssHelper = CssHelper,
|
|
@@ -65,7 +65,7 @@ do
|
|
|
65
65
|
if props.width == "Auto" then
|
|
66
66
|
return Enum.AutomaticSize.X
|
|
67
67
|
end
|
|
68
|
-
local _condition = props.Size
|
|
68
|
+
local _condition = props.Size ~= nil
|
|
69
69
|
if not _condition then
|
|
70
70
|
local _condition_1 = props.width
|
|
71
71
|
if _condition_1 ~= 0 and _condition_1 == _condition_1 and _condition_1 ~= "" and _condition_1 then
|
|
@@ -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"];
|
|
@@ -47,6 +47,11 @@ export type CssBreakpointSize = {
|
|
|
47
47
|
};
|
|
48
48
|
export type CssQuad = CssSize | `${CssSize} ${CssSize}` | `${CssSize} ${CssSize} ${CssSize}` | `${CssSize} ${CssSize} ${CssSize} ${CssSize}`;
|
|
49
49
|
export type CssShadow = CssQuad;
|
|
50
|
+
export type CssBoxShadow = {
|
|
51
|
+
shadow: CssShadow;
|
|
52
|
+
color: Color3;
|
|
53
|
+
transparency: number;
|
|
54
|
+
};
|
|
50
55
|
export type CssPadding = CssQuad;
|
|
51
56
|
export type ResponsiveCssSize = CssSize | CssBreakpointSize;
|
|
52
57
|
export interface ZIndexElementProps {
|
|
@@ -68,7 +73,7 @@ export interface ScalableElementProps {
|
|
|
68
73
|
export interface PositionElementProps {
|
|
69
74
|
Position?: UDim2 | Binding<UDim2>;
|
|
70
75
|
AnchorPoint?: Vector2 | Binding<Vector2> | undefined;
|
|
71
|
-
center?:
|
|
76
|
+
center?: boolean;
|
|
72
77
|
top?: CssSize;
|
|
73
78
|
left?: CssSize;
|
|
74
79
|
right?: CssSize;
|
|
@@ -20,6 +20,7 @@ export interface RegistryContextValue {
|
|
|
20
20
|
unregister: <T extends defined>(guiObject: GuiObject, key: RegistryKey<T>) => void;
|
|
21
21
|
get: <T extends defined>(guiObject: GuiObject, key: RegistryKey<T>) => T | undefined;
|
|
22
22
|
getAll: <T extends defined>(key: RegistryKey<T>) => T[];
|
|
23
|
+
GetNextId: () => string;
|
|
23
24
|
}
|
|
24
25
|
export declare const RegistryContext: React.Context<RegistryContextValue | undefined>;
|
|
25
26
|
export interface RegistryProviderProps {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
-- Compiled with roblox-ts v3.0.0
|
|
2
2
|
local TS = _G[script]
|
|
3
3
|
local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
|
|
4
|
+
local HttpService = TS.import(script, TS.getModule(script, "@rbxts", "services")).HttpService
|
|
4
5
|
-- This registry is used to keep a global map of GuiObjects => React components
|
|
5
6
|
-- For example Droppable zones use this to register themselves
|
|
6
7
|
local DroppableRegistryKey = {
|
|
@@ -72,11 +73,15 @@ local function RegistryProvider(props)
|
|
|
72
73
|
end
|
|
73
74
|
return result
|
|
74
75
|
end
|
|
76
|
+
local GetNextId = function()
|
|
77
|
+
return HttpService:GenerateGUID(false)
|
|
78
|
+
end
|
|
75
79
|
local contextValue = {
|
|
76
80
|
register = register,
|
|
77
81
|
unregister = unregister,
|
|
78
82
|
get = get,
|
|
79
83
|
getAll = getAll,
|
|
84
|
+
GetNextId = GetNextId,
|
|
80
85
|
}
|
|
81
86
|
return React.createElement(RegistryContext.Provider, {
|
|
82
87
|
value = contextValue,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CssShadow, CssSize, Breakpoint, BreakpointValue, ScaleSizeValue, ScaleSize, Intent, IconSet, TextVariant, ButtonFlag, PositionElementProps } from "../Interfaces/";
|
|
1
|
+
import { CssShadow, CssSize, Breakpoint, BreakpointValue, ScaleSizeValue, ScaleSize, Intent, IconSet, TextVariant, ButtonFlag, PositionElementProps, CssBoxShadow } from "../Interfaces/";
|
|
2
2
|
export interface TypographyStyle {
|
|
3
3
|
font: Enum.Font;
|
|
4
4
|
size: Enum.FontSize;
|
|
@@ -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,6 +209,56 @@ export interface CleanTheme {
|
|
|
188
209
|
cornerRadius: CssSize;
|
|
189
210
|
intents?: Partial<Record<Intent, Partial<IntentScheme>>>;
|
|
190
211
|
};
|
|
212
|
+
charts: {
|
|
213
|
+
colors: Color3[];
|
|
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: {
|
|
228
|
+
spacing?: ScaleSizeValue<number>;
|
|
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
|
+
};
|
|
260
|
+
};
|
|
261
|
+
};
|
|
191
262
|
};
|
|
192
263
|
icons: Partial<IconSet>;
|
|
193
264
|
iconSize: ScaleSizeValue<number>;
|
|
@@ -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,6 +365,24 @@ local DarkTheme = createTheme({
|
|
|
336
365
|
header = {},
|
|
337
366
|
body = {},
|
|
338
367
|
},
|
|
368
|
+
charts = {
|
|
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
|
+
},
|
|
385
|
+
},
|
|
339
386
|
},
|
|
340
387
|
icons = {
|
|
341
388
|
["shopping-cart"] = 112388431913339,
|
|
@@ -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,6 +526,63 @@ local DefaultTheme = {
|
|
|
468
526
|
},
|
|
469
527
|
},
|
|
470
528
|
},
|
|
529
|
+
charts = {
|
|
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") },
|
|
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,
|
|
556
|
+
cornerRadius = 4,
|
|
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,
|
|
583
|
+
},
|
|
584
|
+
},
|
|
585
|
+
},
|
|
471
586
|
},
|
|
472
587
|
icons = {
|
|
473
588
|
["shopping-cart"] = 112388431913339,
|
|
@@ -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,6 +365,36 @@ local SandstoneTheme = createTheme({
|
|
|
336
365
|
header = {},
|
|
337
366
|
body = {},
|
|
338
367
|
},
|
|
368
|
+
charts = {
|
|
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") },
|
|
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
|
+
},
|
|
396
|
+
},
|
|
397
|
+
},
|
|
339
398
|
},
|
|
340
399
|
icons = {
|
|
341
400
|
["shopping-cart"] = 112388431913339,
|
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",
|
|
@@ -1,33 +0,0 @@
|
|
|
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 React = _react
|
|
5
|
-
local Component = _react.Component
|
|
6
|
-
local ReactComponent = _react.ReactComponent
|
|
7
|
-
local Box = TS.import(script, script.Parent, "Box").Box
|
|
8
|
-
local VStack = TS.import(script, script.Parent.Parent, "Layout", "VStack").VStack
|
|
9
|
-
local Panel
|
|
10
|
-
do
|
|
11
|
-
local super = Component
|
|
12
|
-
Panel = setmetatable({}, {
|
|
13
|
-
__tostring = function()
|
|
14
|
-
return "Panel"
|
|
15
|
-
end,
|
|
16
|
-
__index = super,
|
|
17
|
-
})
|
|
18
|
-
Panel.__index = Panel
|
|
19
|
-
function Panel.new(...)
|
|
20
|
-
local self = setmetatable({}, Panel)
|
|
21
|
-
return self:constructor(...) or self
|
|
22
|
-
end
|
|
23
|
-
function Panel:constructor(...)
|
|
24
|
-
super.constructor(self, ...)
|
|
25
|
-
end
|
|
26
|
-
function Panel:render()
|
|
27
|
-
return React.createElement(Box, nil, React.createElement(VStack))
|
|
28
|
-
end
|
|
29
|
-
Panel = ReactComponent(Panel) or Panel
|
|
30
|
-
end
|
|
31
|
-
return {
|
|
32
|
-
Panel = Panel,
|
|
33
|
-
}
|