@rbxts/uiblox 0.2.0-alpha.26 → 0.2.0-alpha.27
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/README.md +27 -109
- package/out/ui/packages/fab/components/Fab.luau +16 -10
- package/out/ui/packages/fab/components/Fab.styles.luau +6 -0
- package/out/ui/packages/shadow/components/Shadow.luau +23 -13
- package/out/ui/packages/shadow/components/Shadow.styles.luau +7 -2
- package/out/ui/packages/stateMatrix.luau +240 -224
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,13 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
# uiblox-rbxts
|
|
4
4
|
|
|
5
|
+
> This package is a work in progress.
|
|
6
|
+
|
|
5
7
|
UI library and theming for roblox-ts projects.
|
|
6
8
|
|
|
9
|
+
## Background
|
|
10
|
+
|
|
11
|
+
Roblox has their own internal design system, coined "uiblox-web", that it uses for its new
|
|
12
|
+
web-facing products. This system offers reusable components, implemented in
|
|
13
|
+
React Typescript, that are derived from material UI (MUI). As well, it offers a
|
|
14
|
+
common theme/pallete for consistent UI/UX.
|
|
15
|
+
|
|
16
|
+
Anyone is able to view their design system as
|
|
17
|
+
[UIBlox-Web](https://uiblox.roblox.com). You can see that they leverage
|
|
18
|
+
[Storybook](https://storybook.js.org), a UI component explorer for frontend
|
|
19
|
+
developers, to render component previews.
|
|
20
|
+
|
|
21
|
+
Design systems all help engineers cut down on implementation time and ensure
|
|
22
|
+
consitent UX across products.
|
|
23
|
+
|
|
7
24
|
## Overview
|
|
8
25
|
|
|
9
|
-
|
|
26
|
+
So what is uiblox-rbxts? Simply put, its my stab at a design system that mimics
|
|
27
|
+
uiblox-web for games written using roblox-ts.
|
|
10
28
|
|
|
11
|
-
|
|
29
|
+
UIBlox-rbxts aims to provide extensible components that can be reusable by
|
|
30
|
+
anyone who installs this npm package. It also offers a theme and styling system
|
|
31
|
+
that aids UI/UX consistentency.
|
|
32
|
+
|
|
33
|
+
How does it do this? Well, there are two main exports from this package:
|
|
12
34
|
|
|
13
35
|
- @rbxts/uiblox -> theme
|
|
14
36
|
- An extensible Theme type + default Dark (default) and Light themes
|
|
@@ -24,47 +46,11 @@ Main exports from `@rbxts/uiblox`:
|
|
|
24
46
|
|
|
25
47
|
### Installation
|
|
26
48
|
|
|
27
|
-
|
|
28
|
-
npm install @rbxts/uiblox
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Quickstart
|
|
49
|
+
Install the package to get started.
|
|
32
50
|
|
|
33
|
-
|
|
34
|
-
2. Build styles with `makeStyles` / `createStyles` (or `componentStyles`) and spread them onto Instances.
|
|
35
|
-
3. For hover/press/focus/disabled (and list `_first` / `_last`), put `_hover`-style keys on the style table and call `resolveStyle(style, state)` before spreading.
|
|
36
|
-
4. Use packaged components from `@rbxts/uiblox` (`Button`, `Input`, `Select`, …).
|
|
37
|
-
5. Preview components in [Storyblox](https://github.com/bjlarouche/storyblox) with `*.stories` modules.
|
|
51
|
+
`npm install @rbxts/uiblox`
|
|
38
52
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
```tsx
|
|
42
|
-
import React from "@rbxts/react";
|
|
43
|
-
import { Button, DarkTheme, ThemeProvider } from "@rbxts/uiblox";
|
|
44
|
-
|
|
45
|
-
export function App() {
|
|
46
|
-
return (
|
|
47
|
-
<ThemeProvider theme={DarkTheme}>
|
|
48
|
-
<Button text="Continue" onLeftClick={() => {}} />
|
|
49
|
-
</ThemeProvider>
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Parity checklist
|
|
55
|
-
|
|
56
|
-
Capability parity, not pixel parity. For each public component, expect:
|
|
57
|
-
|
|
58
|
-
- [ ] Typed controlled props where interaction needs state
|
|
59
|
-
- [ ] Theme tokens (light/dark) via `ThemeProvider`
|
|
60
|
-
- [ ] Style slots / variants through the styling helpers
|
|
61
|
-
- [ ] Disabled / loading / error when the control type warrants it
|
|
62
|
-
- [ ] Mouse, touch, and gamepad-friendly activation where interactive
|
|
63
|
-
- [ ] Cleanup and focused unit checks in-repo
|
|
64
|
-
- [ ] `stateMatrix` rows for visual capture planning
|
|
65
|
-
- [ ] A Storyblox story (dev fixtures OK)
|
|
66
|
-
|
|
67
|
-
Skipped on purpose: browser-only addons (MDX, iframes, hosted visual-review clouds).
|
|
53
|
+
Spacing, density, and sx notes are in [docs/STYLING.md](docs/STYLING.md).
|
|
68
54
|
|
|
69
55
|
## Example
|
|
70
56
|
|
|
@@ -211,74 +197,6 @@ const useMyComponentStyles = makeStyles<MyComponentProps>((theme: Theme, props:
|
|
|
211
197
|
export default useMyComponentStyles;
|
|
212
198
|
```
|
|
213
199
|
|
|
214
|
-
### Style precedence
|
|
215
|
-
|
|
216
|
-
Components spread their own styles first, then `className`, then the props that
|
|
217
|
-
carry state. Later always wins:
|
|
218
|
-
|
|
219
|
-
1. Component styles from the theme
|
|
220
|
-
2. `className` (merge several with `cx(a, condition && b)`; later args win, falsy
|
|
221
|
-
args are skipped)
|
|
222
|
-
3. State props the component owns: `Active`, `Selectable`, `Text`, and the
|
|
223
|
-
value-driven sizes/positions of Slider, SplitPane, and so on
|
|
224
|
-
|
|
225
|
-
So `className` can restyle anything except a control's state. Pass `disabled`
|
|
226
|
-
instead of overriding `Active`.
|
|
227
|
-
|
|
228
|
-
### Controls
|
|
229
|
-
|
|
230
|
-
Inputs are controlled: `{ value, onChange, disabled? }`. They call `onChange`
|
|
231
|
-
only when the value actually changes, and never while disabled.
|
|
232
|
-
|
|
233
|
-
| Component | Value | Notes |
|
|
234
|
-
| --- | --- | --- |
|
|
235
|
-
| Checkbox | `boolean` | `mixed` shows indeterminate; activating commits `true` |
|
|
236
|
-
| Switch | `boolean` | |
|
|
237
|
-
| RadioGroup / Select / Tabs | `T` from `options: { label, value: T, disabled? }[]` | compared by identity; disabled options are skipped |
|
|
238
|
-
| NumberInput | `number` | commits on focus lost or Enter; clamps to `min`/`max`, snaps to `step` |
|
|
239
|
-
| Slider | `number` | `onChange` while dragging, `onCommit` on release |
|
|
240
|
-
| SplitPane | first pane size (px) | display clamps to `min`/`max`; Escape cancels a drag |
|
|
241
|
-
| Input | `text` | `onInput` while typing, `onTextChanged` on commit |
|
|
242
|
-
|
|
243
|
-
Select and Tooltip render through `Popup`, which portals into the nearest
|
|
244
|
-
`LayerCollector` so clipping parents do not cut them off. The popup follows its
|
|
245
|
-
anchor when that anchor moves or resizes, and Select closes if the anchor leaves
|
|
246
|
-
the layer. Select handles Up, Down, Enter, and Escape while it is open or
|
|
247
|
-
selected, including when the pointer is not over it.
|
|
248
|
-
|
|
249
|
-
### Loading
|
|
250
|
-
|
|
251
|
-
`Skeleton` covers a block that is still loading. `variant` is `text`,
|
|
252
|
-
`rectangular`, `rounded`, or `circular`. `width` and `height` are pixels.
|
|
253
|
-
`lines` and `gap` stack text rows. `SkeletonText` is the text variant.
|
|
254
|
-
`animation` is `pulse`, `shimmer`, or `false`. `reducedMotion` holds the block
|
|
255
|
-
still. A later theme preference can set that prop for you.
|
|
256
|
-
|
|
257
|
-
`CircularProgress` spins while `value` is omitted. A `value` from 0 to 1 draws
|
|
258
|
-
an arc and stops the spin. `size`, `thickness`, and `color` restyle the ring.
|
|
259
|
-
`LinearProgress` is the existing `ProgressBar`: pass `value` from 0 to 1 or
|
|
260
|
-
`progress` from 0 to 100. `indeterminate` slides the bar. `disabled` and
|
|
261
|
-
`reducedMotion` stop the motion and fade the fill.
|
|
262
|
-
|
|
263
|
-
`Button` and `IconButton` take `loading`. The control ignores clicks, hover,
|
|
264
|
-
and focus while loading, and its size stays put. `loadingLabel` replaces the
|
|
265
|
-
caption. `loadingPosition` is `start`, `center`, or `end`. `reducedMotion`
|
|
266
|
-
keeps the spinner still.
|
|
267
|
-
|
|
268
|
-
### State captures
|
|
269
|
-
|
|
270
|
-
`stateMatrix` is the gallery list for Storyblox. Each row is one shot: `theme`
|
|
271
|
-
(`Dark` or `Light`), `width`, and `pointer` (`rest`, `hover`, `press`, or
|
|
272
|
-
`focus`). Rows are built in small helper functions and concatenated so the
|
|
273
|
-
compiled Luau chunk stays under the 200-local register limit. `open` means the
|
|
274
|
-
Select list is showing. `options` and `disabledOption` build RadioGroup, Select,
|
|
275
|
-
and Tabs. `selected` and `filter` are TreeView. `value`, `text`, `disabled`,
|
|
276
|
-
`loading`, `mixed`, `hasError`, and `placeholder` are that control's props.
|
|
277
|
-
`variant`, `animation` (`pulse`, `shimmer`, or `false`), `reducedMotion`, and
|
|
278
|
-
`indeterminate` cover skeleton and progress shots. Those shots stay still when
|
|
279
|
-
`animation` is `false` or `reducedMotion` is set. Hover, press, and focus rows
|
|
280
|
-
are only there when the control actually changes.
|
|
281
|
-
|
|
282
200
|
### Client
|
|
283
201
|
|
|
284
202
|
Some sample logic for mounting app when player spawns (on client).
|
|
@@ -134,25 +134,31 @@ local function Fab(props)
|
|
|
134
134
|
local _exp_1 = React.createElement(Shadow)
|
|
135
135
|
local _result_1
|
|
136
136
|
if extended then
|
|
137
|
-
local _attributes_2 =
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
137
|
+
local _attributes_2 = {
|
|
138
|
+
key = "Content",
|
|
139
|
+
}
|
|
140
|
+
for _k, _v in styles.content do
|
|
141
|
+
_attributes_2[_k] = _v
|
|
142
|
+
end
|
|
143
|
+
local _attributes_3 = table.clone(styles.padding)
|
|
141
144
|
setmetatable(_attributes_3, nil)
|
|
142
|
-
local
|
|
145
|
+
local _exp_2 = React.createElement("uipadding", _attributes_3)
|
|
146
|
+
local _attributes_4 = table.clone(styles.row)
|
|
147
|
+
setmetatable(_attributes_4, nil)
|
|
148
|
+
local _exp_3 = React.createElement("uilistlayout", _attributes_4)
|
|
143
149
|
local _exp_4 = iconEl
|
|
144
150
|
local _condition_1 = not loading
|
|
145
151
|
if _condition_1 then
|
|
146
|
-
local
|
|
152
|
+
local _attributes_5 = {
|
|
147
153
|
key = "Label",
|
|
148
154
|
}
|
|
149
155
|
for _k, _v in styles.label do
|
|
150
|
-
|
|
156
|
+
_attributes_5[_k] = _v
|
|
151
157
|
end
|
|
152
|
-
|
|
153
|
-
_condition_1 = React.createElement("textlabel",
|
|
158
|
+
_attributes_5.Text = label
|
|
159
|
+
_condition_1 = React.createElement("textlabel", _attributes_5)
|
|
154
160
|
end
|
|
155
|
-
_result_1 = (React.createElement(
|
|
161
|
+
_result_1 = (React.createElement("frame", _attributes_2, _exp_2, _exp_3, _exp_4, _condition_1))
|
|
156
162
|
else
|
|
157
163
|
_result_1 = iconEl
|
|
158
164
|
end
|
|
@@ -31,6 +31,12 @@ local useFabStyles = componentStyles("Fab", function(theme, _param)
|
|
|
31
31
|
corner = {
|
|
32
32
|
CornerRadius = UDim.new(1, 0),
|
|
33
33
|
},
|
|
34
|
+
content = {
|
|
35
|
+
Size = UDim2.new(0, 0, 0, diameter),
|
|
36
|
+
AutomaticSize = Enum.AutomaticSize.X,
|
|
37
|
+
BackgroundTransparency = 1,
|
|
38
|
+
BorderSizePixel = 0,
|
|
39
|
+
},
|
|
34
40
|
padding = {
|
|
35
41
|
PaddingLeft = UDim.new(0, theme.padding.calc(2)),
|
|
36
42
|
PaddingRight = UDim.new(0, theme.padding.calc(2.5)),
|
|
@@ -9,8 +9,10 @@ local useShadowStyles = TS.import(script, script.Parent, "Shadow.styles").defaul
|
|
|
9
9
|
local function Shadow(props)
|
|
10
10
|
local _binding = useShadowStyles()
|
|
11
11
|
local container = _binding.container
|
|
12
|
+
local blob = _binding.blob
|
|
12
13
|
local parent, setParent = useState(nil)
|
|
13
14
|
local cornerRadius, setCornerRadius = useState()
|
|
15
|
+
local blobSize, setBlobSize = useState(UDim2.fromOffset(0, 0))
|
|
14
16
|
local _binding_1 = props
|
|
15
17
|
local className = _binding_1.className
|
|
16
18
|
local sx = _binding_1.sx
|
|
@@ -22,30 +24,30 @@ local function Shadow(props)
|
|
|
22
24
|
end
|
|
23
25
|
local defaultZIndex = _condition
|
|
24
26
|
local zIndex, setZIndex = useState(defaultZIndex)
|
|
25
|
-
-- Set any inherited properties
|
|
26
27
|
useEffect(function()
|
|
27
28
|
if not parent then
|
|
28
29
|
return nil
|
|
29
30
|
end
|
|
30
|
-
local _cornerRadius = parent
|
|
31
|
+
local _cornerRadius = parent:FindFirstChildOfClass("UICorner")
|
|
31
32
|
if _cornerRadius ~= nil then
|
|
32
|
-
_cornerRadius = _cornerRadius
|
|
33
|
-
if _cornerRadius ~= nil then
|
|
34
|
-
_cornerRadius = _cornerRadius.CornerRadius
|
|
35
|
-
end
|
|
33
|
+
_cornerRadius = _cornerRadius.CornerRadius
|
|
36
34
|
end
|
|
37
35
|
local cornerRadius = _cornerRadius
|
|
38
36
|
setCornerRadius(cornerRadius)
|
|
39
|
-
local
|
|
40
|
-
if _result ~= nil then
|
|
41
|
-
_result = _result.ZIndex
|
|
42
|
-
end
|
|
43
|
-
local _condition_1 = _result
|
|
37
|
+
local _condition_1 = parent.ZIndex
|
|
44
38
|
if _condition_1 == nil then
|
|
45
39
|
_condition_1 = defaultZIndex
|
|
46
40
|
end
|
|
47
41
|
setZIndex(_condition_1 - 1)
|
|
48
42
|
parent.ClipsDescendants = false
|
|
43
|
+
local sync = function()
|
|
44
|
+
setBlobSize(UDim2.fromOffset(parent.AbsoluteSize.X, parent.AbsoluteSize.Y))
|
|
45
|
+
end
|
|
46
|
+
sync()
|
|
47
|
+
local conn = parent:GetPropertyChangedSignal("AbsoluteSize"):Connect(sync)
|
|
48
|
+
return function()
|
|
49
|
+
return conn:Disconnect()
|
|
50
|
+
end
|
|
49
51
|
end, { parent })
|
|
50
52
|
local _attributes = {
|
|
51
53
|
tag = "frame",
|
|
@@ -67,10 +69,18 @@ local function Shadow(props)
|
|
|
67
69
|
end
|
|
68
70
|
end,
|
|
69
71
|
}
|
|
70
|
-
|
|
72
|
+
local _attributes_1 = {
|
|
73
|
+
key = "Blob",
|
|
74
|
+
}
|
|
75
|
+
for _k, _v in blob do
|
|
76
|
+
_attributes_1[_k] = _v
|
|
77
|
+
end
|
|
78
|
+
_attributes_1.Size = blobSize
|
|
79
|
+
_attributes_1.ZIndex = zIndex
|
|
80
|
+
return React.createElement(SxHost, _attributes, React.createElement("frame", _attributes_1, cornerRadius ~= nil and React.createElement("uicorner", {
|
|
71
81
|
key = "Corner",
|
|
72
82
|
CornerRadius = cornerRadius,
|
|
73
|
-
}))
|
|
83
|
+
})))
|
|
74
84
|
end
|
|
75
85
|
local default = Shadow
|
|
76
86
|
return {
|
|
@@ -6,11 +6,16 @@ local componentStyles = _theme.componentStyles
|
|
|
6
6
|
local useShadowStyles = componentStyles("Shadow", function(theme)
|
|
7
7
|
return createStyles({
|
|
8
8
|
container = {
|
|
9
|
-
Size = UDim2.
|
|
9
|
+
Size = UDim2.fromOffset(0, 0),
|
|
10
|
+
BackgroundTransparency = 1,
|
|
11
|
+
BorderSizePixel = 0,
|
|
12
|
+
ZIndex = -100,
|
|
13
|
+
},
|
|
14
|
+
blob = {
|
|
10
15
|
BackgroundColor3 = theme.palette.shadow,
|
|
11
16
|
BackgroundTransparency = 0.8,
|
|
12
17
|
BorderSizePixel = 0,
|
|
13
|
-
|
|
18
|
+
Position = UDim2.fromOffset(theme.spacing.calc(0.25), theme.spacing.calc(0.25)),
|
|
14
19
|
},
|
|
15
20
|
})
|
|
16
21
|
end)
|
|
@@ -1957,84 +1957,97 @@ local function chromeRows()
|
|
|
1957
1957
|
local _Length_54 = #_array_55
|
|
1958
1958
|
table.move(_array_55, 1, _Length_54, _length + 1, _array)
|
|
1959
1959
|
_length += _Length_54
|
|
1960
|
-
local _array_56 = pair("Fab", "
|
|
1961
|
-
|
|
1960
|
+
local _array_56 = pair("Fab", "extended-narrow", {
|
|
1961
|
+
text = "Compose",
|
|
1962
|
+
width = 128,
|
|
1962
1963
|
})
|
|
1963
1964
|
local _Length_55 = #_array_56
|
|
1964
1965
|
table.move(_array_56, 1, _Length_55, _length + 1, _array)
|
|
1965
1966
|
_length += _Length_55
|
|
1966
|
-
local _array_57 = pair("Fab", "
|
|
1967
|
-
size = "
|
|
1967
|
+
local _array_57 = pair("Fab", "small", {
|
|
1968
|
+
size = "small",
|
|
1968
1969
|
})
|
|
1969
1970
|
local _Length_56 = #_array_57
|
|
1970
1971
|
table.move(_array_57, 1, _Length_56, _length + 1, _array)
|
|
1971
1972
|
_length += _Length_56
|
|
1972
|
-
local _array_58 = pair("Fab", "
|
|
1973
|
-
|
|
1973
|
+
local _array_58 = pair("Fab", "medium", {
|
|
1974
|
+
size = "medium",
|
|
1974
1975
|
})
|
|
1975
1976
|
local _Length_57 = #_array_58
|
|
1976
1977
|
table.move(_array_58, 1, _Length_57, _length + 1, _array)
|
|
1977
1978
|
_length += _Length_57
|
|
1978
|
-
local _array_59 = pair("Fab", "
|
|
1979
|
-
|
|
1979
|
+
local _array_59 = pair("Fab", "large", {
|
|
1980
|
+
size = "large",
|
|
1980
1981
|
})
|
|
1981
1982
|
local _Length_58 = #_array_59
|
|
1982
1983
|
table.move(_array_59, 1, _Length_58, _length + 1, _array)
|
|
1983
1984
|
_length += _Length_58
|
|
1984
|
-
local _array_60 = pair("Fab", "
|
|
1985
|
-
|
|
1985
|
+
local _array_60 = pair("Fab", "disabled", {
|
|
1986
|
+
disabled = true,
|
|
1986
1987
|
})
|
|
1987
1988
|
local _Length_59 = #_array_60
|
|
1988
1989
|
table.move(_array_60, 1, _Length_59, _length + 1, _array)
|
|
1989
1990
|
_length += _Length_59
|
|
1990
|
-
local _array_61 = pair("Fab", "
|
|
1991
|
-
|
|
1991
|
+
local _array_61 = pair("Fab", "loading", {
|
|
1992
|
+
loading = true,
|
|
1992
1993
|
})
|
|
1993
1994
|
local _Length_60 = #_array_61
|
|
1994
1995
|
table.move(_array_61, 1, _Length_60, _length + 1, _array)
|
|
1995
1996
|
_length += _Length_60
|
|
1996
|
-
local _array_62 = pair("
|
|
1997
|
-
|
|
1997
|
+
local _array_62 = pair("Fab", "accent", {
|
|
1998
|
+
variant = "accent",
|
|
1998
1999
|
})
|
|
1999
2000
|
local _Length_61 = #_array_62
|
|
2000
2001
|
table.move(_array_62, 1, _Length_61, _length + 1, _array)
|
|
2001
2002
|
_length += _Length_61
|
|
2002
|
-
local _array_63 = pair("
|
|
2003
|
-
|
|
2004
|
-
variant = "flat",
|
|
2003
|
+
local _array_63 = pair("Fab", "sx", {
|
|
2004
|
+
variant = "sx",
|
|
2005
2005
|
})
|
|
2006
2006
|
local _Length_62 = #_array_63
|
|
2007
2007
|
table.move(_array_63, 1, _Length_62, _length + 1, _array)
|
|
2008
2008
|
_length += _Length_62
|
|
2009
|
-
local _array_64 = pair("AppBar", "
|
|
2009
|
+
local _array_64 = pair("AppBar", "default", {
|
|
2010
2010
|
text = "Storyblox",
|
|
2011
|
-
variant = "raised",
|
|
2012
2011
|
})
|
|
2013
2012
|
local _Length_63 = #_array_64
|
|
2014
2013
|
table.move(_array_64, 1, _Length_63, _length + 1, _array)
|
|
2015
2014
|
_length += _Length_63
|
|
2016
|
-
local _array_65 = pair("AppBar", "
|
|
2015
|
+
local _array_65 = pair("AppBar", "flat", {
|
|
2017
2016
|
text = "Storyblox",
|
|
2018
|
-
variant = "
|
|
2017
|
+
variant = "flat",
|
|
2019
2018
|
})
|
|
2020
2019
|
local _Length_64 = #_array_65
|
|
2021
2020
|
table.move(_array_65, 1, _Length_64, _length + 1, _array)
|
|
2022
2021
|
_length += _Length_64
|
|
2023
|
-
local _array_66 = pair("AppBar", "
|
|
2022
|
+
local _array_66 = pair("AppBar", "raised", {
|
|
2024
2023
|
text = "Storyblox",
|
|
2025
|
-
variant = "
|
|
2024
|
+
variant = "raised",
|
|
2026
2025
|
})
|
|
2027
2026
|
local _Length_65 = #_array_66
|
|
2028
2027
|
table.move(_array_66, 1, _Length_65, _length + 1, _array)
|
|
2029
2028
|
_length += _Length_65
|
|
2030
|
-
local _array_67 = pair("
|
|
2029
|
+
local _array_67 = pair("AppBar", "primary", {
|
|
2030
|
+
text = "Storyblox",
|
|
2031
|
+
variant = "primary",
|
|
2032
|
+
})
|
|
2033
|
+
local _Length_66 = #_array_67
|
|
2034
|
+
table.move(_array_67, 1, _Length_66, _length + 1, _array)
|
|
2035
|
+
_length += _Length_66
|
|
2036
|
+
local _array_68 = pair("AppBar", "sx", {
|
|
2037
|
+
text = "Storyblox",
|
|
2038
|
+
variant = "sx",
|
|
2039
|
+
})
|
|
2040
|
+
local _Length_67 = #_array_68
|
|
2041
|
+
table.move(_array_68, 1, _Length_67, _length + 1, _array)
|
|
2042
|
+
_length += _Length_67
|
|
2043
|
+
local _array_69 = pair("BottomNavigation", "default", {
|
|
2031
2044
|
value = "Home",
|
|
2032
2045
|
options = { "Home", "Search", "Profile" },
|
|
2033
2046
|
})
|
|
2034
|
-
table.move(
|
|
2047
|
+
table.move(_array_69, 1, #_array_69, _length + 1, _array)
|
|
2035
2048
|
return _array
|
|
2036
2049
|
end
|
|
2037
|
-
local function
|
|
2050
|
+
local function miscRowsA()
|
|
2038
2051
|
local _array = {}
|
|
2039
2052
|
local _length = #_array
|
|
2040
2053
|
local _array_1 = pair("BottomNavigation", "selected", {
|
|
@@ -2383,306 +2396,309 @@ local function miscRows()
|
|
|
2383
2396
|
local _array_54 = pair("StyleSx", "loading", {
|
|
2384
2397
|
loading = true,
|
|
2385
2398
|
})
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2399
|
+
table.move(_array_54, 1, #_array_54, _length + 1, _array)
|
|
2400
|
+
return _array
|
|
2401
|
+
end
|
|
2402
|
+
local function miscRowsB()
|
|
2403
|
+
local _array = {}
|
|
2404
|
+
local _length = #_array
|
|
2405
|
+
local _array_1 = pair("Container", "default", {
|
|
2390
2406
|
variant = "lg",
|
|
2391
2407
|
})
|
|
2392
|
-
local
|
|
2393
|
-
table.move(
|
|
2394
|
-
_length +=
|
|
2395
|
-
local
|
|
2408
|
+
local _Length = #_array_1
|
|
2409
|
+
table.move(_array_1, 1, _Length, _length + 1, _array)
|
|
2410
|
+
_length += _Length
|
|
2411
|
+
local _array_2 = pair("Container", "sm", {
|
|
2396
2412
|
variant = "sm",
|
|
2397
2413
|
})
|
|
2398
|
-
local
|
|
2399
|
-
table.move(
|
|
2400
|
-
_length +=
|
|
2401
|
-
local
|
|
2414
|
+
local _Length_1 = #_array_2
|
|
2415
|
+
table.move(_array_2, 1, _Length_1, _length + 1, _array)
|
|
2416
|
+
_length += _Length_1
|
|
2417
|
+
local _array_3 = pair("Container", "fluid", {
|
|
2402
2418
|
variant = "false",
|
|
2403
2419
|
})
|
|
2404
|
-
local
|
|
2405
|
-
table.move(
|
|
2406
|
-
_length +=
|
|
2407
|
-
local
|
|
2408
|
-
local
|
|
2409
|
-
table.move(
|
|
2410
|
-
_length +=
|
|
2411
|
-
local
|
|
2420
|
+
local _Length_2 = #_array_3
|
|
2421
|
+
table.move(_array_3, 1, _Length_2, _length + 1, _array)
|
|
2422
|
+
_length += _Length_2
|
|
2423
|
+
local _array_4 = pair("Backdrop", "default")
|
|
2424
|
+
local _Length_3 = #_array_4
|
|
2425
|
+
table.move(_array_4, 1, _Length_3, _length + 1, _array)
|
|
2426
|
+
_length += _Length_3
|
|
2427
|
+
local _array_5 = pair("Backdrop", "invisible", {
|
|
2412
2428
|
variant = "invisible",
|
|
2413
2429
|
})
|
|
2414
|
-
local
|
|
2415
|
-
table.move(
|
|
2416
|
-
_length +=
|
|
2417
|
-
local
|
|
2430
|
+
local _Length_4 = #_array_5
|
|
2431
|
+
table.move(_array_5, 1, _Length_4, _length + 1, _array)
|
|
2432
|
+
_length += _Length_4
|
|
2433
|
+
local _array_6 = pair("Backdrop", "closed", {
|
|
2418
2434
|
open = false,
|
|
2419
2435
|
})
|
|
2420
|
-
local
|
|
2421
|
-
table.move(
|
|
2422
|
-
_length +=
|
|
2423
|
-
local
|
|
2436
|
+
local _Length_5 = #_array_6
|
|
2437
|
+
table.move(_array_6, 1, _Length_5, _length + 1, _array)
|
|
2438
|
+
_length += _Length_5
|
|
2439
|
+
local _array_7 = pair("Backdrop", "sx", {
|
|
2424
2440
|
variant = "sx",
|
|
2425
2441
|
})
|
|
2426
|
-
local
|
|
2427
|
-
table.move(
|
|
2428
|
-
_length +=
|
|
2429
|
-
local
|
|
2442
|
+
local _Length_6 = #_array_7
|
|
2443
|
+
table.move(_array_7, 1, _Length_6, _length + 1, _array)
|
|
2444
|
+
_length += _Length_6
|
|
2445
|
+
local _array_8 = pair("Sidebar", "sx", {
|
|
2430
2446
|
variant = "sx",
|
|
2431
2447
|
})
|
|
2432
|
-
local
|
|
2433
|
-
table.move(
|
|
2434
|
-
_length +=
|
|
2435
|
-
local
|
|
2448
|
+
local _Length_7 = #_array_8
|
|
2449
|
+
table.move(_array_8, 1, _Length_7, _length + 1, _array)
|
|
2450
|
+
_length += _Length_7
|
|
2451
|
+
local _array_9 = pair("Divider", "horizontal", {
|
|
2436
2452
|
variant = "horizontal",
|
|
2437
2453
|
})
|
|
2438
|
-
local
|
|
2439
|
-
table.move(
|
|
2440
|
-
_length +=
|
|
2441
|
-
local
|
|
2454
|
+
local _Length_8 = #_array_9
|
|
2455
|
+
table.move(_array_9, 1, _Length_8, _length + 1, _array)
|
|
2456
|
+
_length += _Length_8
|
|
2457
|
+
local _array_10 = pair("Divider", "vertical", {
|
|
2442
2458
|
variant = "vertical",
|
|
2443
2459
|
})
|
|
2444
|
-
local
|
|
2445
|
-
table.move(
|
|
2446
|
-
_length +=
|
|
2447
|
-
local
|
|
2460
|
+
local _Length_9 = #_array_10
|
|
2461
|
+
table.move(_array_10, 1, _Length_9, _length + 1, _array)
|
|
2462
|
+
_length += _Length_9
|
|
2463
|
+
local _array_11 = pair("Divider", "label", {
|
|
2448
2464
|
text = "Or",
|
|
2449
2465
|
})
|
|
2450
|
-
local
|
|
2451
|
-
table.move(
|
|
2452
|
-
_length +=
|
|
2453
|
-
local
|
|
2466
|
+
local _Length_10 = #_array_11
|
|
2467
|
+
table.move(_array_11, 1, _Length_10, _length + 1, _array)
|
|
2468
|
+
_length += _Length_10
|
|
2469
|
+
local _array_12 = pair("Divider", "sx", {
|
|
2454
2470
|
variant = "sx",
|
|
2455
2471
|
})
|
|
2456
|
-
local
|
|
2457
|
-
table.move(
|
|
2458
|
-
_length +=
|
|
2459
|
-
local
|
|
2472
|
+
local _Length_11 = #_array_12
|
|
2473
|
+
table.move(_array_12, 1, _Length_11, _length + 1, _array)
|
|
2474
|
+
_length += _Length_11
|
|
2475
|
+
local _array_13 = pair("Icon", "sx", {
|
|
2460
2476
|
variant = "sx",
|
|
2461
2477
|
})
|
|
2462
|
-
local
|
|
2463
|
-
table.move(
|
|
2464
|
-
_length +=
|
|
2465
|
-
local
|
|
2466
|
-
local
|
|
2467
|
-
table.move(
|
|
2468
|
-
_length +=
|
|
2469
|
-
local
|
|
2478
|
+
local _Length_12 = #_array_13
|
|
2479
|
+
table.move(_array_13, 1, _Length_12, _length + 1, _array)
|
|
2480
|
+
_length += _Length_12
|
|
2481
|
+
local _array_14 = pair("ImageList", "default")
|
|
2482
|
+
local _Length_13 = #_array_14
|
|
2483
|
+
table.move(_array_14, 1, _Length_13, _length + 1, _array)
|
|
2484
|
+
_length += _Length_13
|
|
2485
|
+
local _array_15 = pair("ImageList", "dense", {
|
|
2470
2486
|
size = "small",
|
|
2471
2487
|
})
|
|
2472
|
-
local
|
|
2473
|
-
table.move(
|
|
2474
|
-
_length +=
|
|
2475
|
-
local
|
|
2488
|
+
local _Length_14 = #_array_15
|
|
2489
|
+
table.move(_array_15, 1, _Length_14, _length + 1, _array)
|
|
2490
|
+
_length += _Length_14
|
|
2491
|
+
local _array_16 = pair("ImageList", "wide", {
|
|
2476
2492
|
size = "large",
|
|
2477
2493
|
})
|
|
2478
|
-
local
|
|
2479
|
-
table.move(
|
|
2480
|
-
_length +=
|
|
2481
|
-
local
|
|
2494
|
+
local _Length_15 = #_array_16
|
|
2495
|
+
table.move(_array_16, 1, _Length_15, _length + 1, _array)
|
|
2496
|
+
_length += _Length_15
|
|
2497
|
+
local _array_17 = pair("ImageList", "titled", {
|
|
2482
2498
|
text = "Cove",
|
|
2483
2499
|
})
|
|
2484
|
-
local
|
|
2485
|
-
table.move(
|
|
2486
|
-
_length +=
|
|
2487
|
-
local
|
|
2500
|
+
local _Length_16 = #_array_17
|
|
2501
|
+
table.move(_array_17, 1, _Length_16, _length + 1, _array)
|
|
2502
|
+
_length += _Length_16
|
|
2503
|
+
local _array_18 = pair("ImageList", "untitled", {
|
|
2488
2504
|
text = "",
|
|
2489
2505
|
})
|
|
2490
|
-
local
|
|
2491
|
-
table.move(
|
|
2492
|
-
_length +=
|
|
2493
|
-
local
|
|
2494
|
-
local
|
|
2495
|
-
table.move(
|
|
2496
|
-
_length +=
|
|
2497
|
-
local
|
|
2506
|
+
local _Length_17 = #_array_18
|
|
2507
|
+
table.move(_array_18, 1, _Length_17, _length + 1, _array)
|
|
2508
|
+
_length += _Length_17
|
|
2509
|
+
local _array_19 = pair("ImageList", "sx")
|
|
2510
|
+
local _Length_18 = #_array_19
|
|
2511
|
+
table.move(_array_19, 1, _Length_18, _length + 1, _array)
|
|
2512
|
+
_length += _Length_18
|
|
2513
|
+
local _array_20 = pair("SpeedDial", "closed", {
|
|
2498
2514
|
open = false,
|
|
2499
2515
|
})
|
|
2500
|
-
local
|
|
2501
|
-
table.move(
|
|
2502
|
-
_length +=
|
|
2503
|
-
local
|
|
2516
|
+
local _Length_19 = #_array_20
|
|
2517
|
+
table.move(_array_20, 1, _Length_19, _length + 1, _array)
|
|
2518
|
+
_length += _Length_19
|
|
2519
|
+
local _array_21 = pair("SpeedDial", "open", {
|
|
2504
2520
|
open = true,
|
|
2505
2521
|
})
|
|
2506
|
-
local
|
|
2507
|
-
table.move(
|
|
2508
|
-
_length +=
|
|
2509
|
-
local
|
|
2522
|
+
local _Length_20 = #_array_21
|
|
2523
|
+
table.move(_array_21, 1, _Length_20, _length + 1, _array)
|
|
2524
|
+
_length += _Length_20
|
|
2525
|
+
local _array_22 = pair("SpeedDial", "disabled", {
|
|
2510
2526
|
open = false,
|
|
2511
2527
|
disabled = true,
|
|
2512
2528
|
})
|
|
2513
|
-
local
|
|
2514
|
-
table.move(
|
|
2515
|
-
_length +=
|
|
2516
|
-
local
|
|
2529
|
+
local _Length_21 = #_array_22
|
|
2530
|
+
table.move(_array_22, 1, _Length_21, _length + 1, _array)
|
|
2531
|
+
_length += _Length_21
|
|
2532
|
+
local _array_23 = pair("SpeedDial", "down", {
|
|
2517
2533
|
open = true,
|
|
2518
2534
|
variant = "down",
|
|
2519
2535
|
})
|
|
2520
|
-
local
|
|
2521
|
-
table.move(
|
|
2522
|
-
_length +=
|
|
2523
|
-
local
|
|
2536
|
+
local _Length_22 = #_array_23
|
|
2537
|
+
table.move(_array_23, 1, _Length_22, _length + 1, _array)
|
|
2538
|
+
_length += _Length_22
|
|
2539
|
+
local _array_24 = pair("SpeedDial", "sx", {
|
|
2524
2540
|
open = false,
|
|
2525
2541
|
})
|
|
2526
|
-
local
|
|
2527
|
-
table.move(
|
|
2528
|
-
_length +=
|
|
2529
|
-
local
|
|
2530
|
-
local
|
|
2531
|
-
table.move(
|
|
2532
|
-
_length +=
|
|
2533
|
-
local
|
|
2534
|
-
local
|
|
2535
|
-
table.move(
|
|
2536
|
-
_length +=
|
|
2537
|
-
local
|
|
2538
|
-
local
|
|
2539
|
-
table.move(
|
|
2540
|
-
_length +=
|
|
2541
|
-
local
|
|
2542
|
+
local _Length_23 = #_array_24
|
|
2543
|
+
table.move(_array_24, 1, _Length_23, _length + 1, _array)
|
|
2544
|
+
_length += _Length_23
|
|
2545
|
+
local _array_25 = pair("List", "sx")
|
|
2546
|
+
local _Length_24 = #_array_25
|
|
2547
|
+
table.move(_array_25, 1, _Length_24, _length + 1, _array)
|
|
2548
|
+
_length += _Length_24
|
|
2549
|
+
local _array_26 = pair("Preloader", "sx")
|
|
2550
|
+
local _Length_25 = #_array_26
|
|
2551
|
+
table.move(_array_26, 1, _Length_25, _length + 1, _array)
|
|
2552
|
+
_length += _Length_25
|
|
2553
|
+
local _array_27 = pair("VirtualList", "sx")
|
|
2554
|
+
local _Length_26 = #_array_27
|
|
2555
|
+
table.move(_array_27, 1, _Length_26, _length + 1, _array)
|
|
2556
|
+
_length += _Length_26
|
|
2557
|
+
local _array_28 = pair("FormLabel", "default", {
|
|
2542
2558
|
text = "Email",
|
|
2543
2559
|
})
|
|
2544
|
-
local
|
|
2545
|
-
table.move(
|
|
2546
|
-
_length +=
|
|
2547
|
-
local
|
|
2560
|
+
local _Length_27 = #_array_28
|
|
2561
|
+
table.move(_array_28, 1, _Length_27, _length + 1, _array)
|
|
2562
|
+
_length += _Length_27
|
|
2563
|
+
local _array_29 = pair("FormLabel", "required", {
|
|
2548
2564
|
text = "Email",
|
|
2549
2565
|
value = true,
|
|
2550
2566
|
})
|
|
2551
|
-
local
|
|
2552
|
-
table.move(
|
|
2553
|
-
_length +=
|
|
2554
|
-
local
|
|
2567
|
+
local _Length_28 = #_array_29
|
|
2568
|
+
table.move(_array_29, 1, _Length_28, _length + 1, _array)
|
|
2569
|
+
_length += _Length_28
|
|
2570
|
+
local _array_30 = pair("FormLabel", "error", {
|
|
2555
2571
|
text = "Email",
|
|
2556
2572
|
hasError = true,
|
|
2557
2573
|
})
|
|
2558
|
-
local
|
|
2559
|
-
table.move(
|
|
2560
|
-
_length +=
|
|
2561
|
-
local
|
|
2574
|
+
local _Length_29 = #_array_30
|
|
2575
|
+
table.move(_array_30, 1, _Length_29, _length + 1, _array)
|
|
2576
|
+
_length += _Length_29
|
|
2577
|
+
local _array_31 = pair("FormLabel", "sx", {
|
|
2562
2578
|
text = "Email",
|
|
2563
2579
|
variant = "sx",
|
|
2564
2580
|
})
|
|
2565
|
-
local
|
|
2566
|
-
table.move(
|
|
2567
|
-
_length +=
|
|
2568
|
-
local
|
|
2581
|
+
local _Length_30 = #_array_31
|
|
2582
|
+
table.move(_array_31, 1, _Length_30, _length + 1, _array)
|
|
2583
|
+
_length += _Length_30
|
|
2584
|
+
local _array_32 = pair("FormHelperText", "default", {
|
|
2569
2585
|
text = "We never share this",
|
|
2570
2586
|
})
|
|
2571
|
-
local
|
|
2572
|
-
table.move(
|
|
2573
|
-
_length +=
|
|
2574
|
-
local
|
|
2587
|
+
local _Length_31 = #_array_32
|
|
2588
|
+
table.move(_array_32, 1, _Length_31, _length + 1, _array)
|
|
2589
|
+
_length += _Length_31
|
|
2590
|
+
local _array_33 = pair("FormHelperText", "error", {
|
|
2575
2591
|
text = "Required",
|
|
2576
2592
|
hasError = true,
|
|
2577
2593
|
})
|
|
2578
|
-
local
|
|
2579
|
-
table.move(
|
|
2580
|
-
_length +=
|
|
2581
|
-
local
|
|
2594
|
+
local _Length_32 = #_array_33
|
|
2595
|
+
table.move(_array_33, 1, _Length_32, _length + 1, _array)
|
|
2596
|
+
_length += _Length_32
|
|
2597
|
+
local _array_34 = pair("FormHelperText", "sx", {
|
|
2582
2598
|
text = "Hint",
|
|
2583
2599
|
variant = "sx",
|
|
2584
2600
|
})
|
|
2585
|
-
local
|
|
2586
|
-
table.move(
|
|
2587
|
-
_length +=
|
|
2588
|
-
local
|
|
2601
|
+
local _Length_33 = #_array_34
|
|
2602
|
+
table.move(_array_34, 1, _Length_33, _length + 1, _array)
|
|
2603
|
+
_length += _Length_33
|
|
2604
|
+
local _array_35 = pair("Typography", "sx", {
|
|
2589
2605
|
text = "Title",
|
|
2590
2606
|
variant = "sx",
|
|
2591
2607
|
})
|
|
2592
|
-
local
|
|
2593
|
-
table.move(
|
|
2594
|
-
_length +=
|
|
2595
|
-
local
|
|
2608
|
+
local _Length_34 = #_array_35
|
|
2609
|
+
table.move(_array_35, 1, _Length_34, _length + 1, _array)
|
|
2610
|
+
_length += _Length_34
|
|
2611
|
+
local _array_36 = pair("Menu", "closed", {
|
|
2596
2612
|
open = false,
|
|
2597
2613
|
})
|
|
2598
|
-
local
|
|
2599
|
-
table.move(
|
|
2600
|
-
_length +=
|
|
2601
|
-
local
|
|
2614
|
+
local _Length_35 = #_array_36
|
|
2615
|
+
table.move(_array_36, 1, _Length_35, _length + 1, _array)
|
|
2616
|
+
_length += _Length_35
|
|
2617
|
+
local _array_37 = pair("Menu", "open", {
|
|
2602
2618
|
open = true,
|
|
2603
2619
|
})
|
|
2604
|
-
local
|
|
2605
|
-
table.move(
|
|
2606
|
-
_length +=
|
|
2607
|
-
local
|
|
2620
|
+
local _Length_36 = #_array_37
|
|
2621
|
+
table.move(_array_37, 1, _Length_36, _length + 1, _array)
|
|
2622
|
+
_length += _Length_36
|
|
2623
|
+
local _array_38 = pair("Menu", "empty", {
|
|
2608
2624
|
open = true,
|
|
2609
2625
|
options = {},
|
|
2610
2626
|
})
|
|
2611
|
-
local
|
|
2612
|
-
table.move(
|
|
2613
|
-
_length +=
|
|
2614
|
-
local
|
|
2627
|
+
local _Length_37 = #_array_38
|
|
2628
|
+
table.move(_array_38, 1, _Length_37, _length + 1, _array)
|
|
2629
|
+
_length += _Length_37
|
|
2630
|
+
local _array_39 = pair("Menu", "dense", {
|
|
2615
2631
|
open = true,
|
|
2616
2632
|
variant = "dense",
|
|
2617
2633
|
})
|
|
2618
|
-
local
|
|
2619
|
-
table.move(
|
|
2620
|
-
_length +=
|
|
2621
|
-
local
|
|
2634
|
+
local _Length_38 = #_array_39
|
|
2635
|
+
table.move(_array_39, 1, _Length_38, _length + 1, _array)
|
|
2636
|
+
_length += _Length_38
|
|
2637
|
+
local _array_40 = pair("Menu", "selected", {
|
|
2622
2638
|
open = true,
|
|
2623
2639
|
selected = "a",
|
|
2624
2640
|
})
|
|
2625
|
-
local
|
|
2626
|
-
table.move(
|
|
2627
|
-
_length +=
|
|
2628
|
-
local
|
|
2641
|
+
local _Length_39 = #_array_40
|
|
2642
|
+
table.move(_array_40, 1, _Length_39, _length + 1, _array)
|
|
2643
|
+
_length += _Length_39
|
|
2644
|
+
local _array_41 = pair("Menu", "sx", {
|
|
2629
2645
|
open = true,
|
|
2630
2646
|
})
|
|
2631
|
-
local
|
|
2632
|
-
table.move(
|
|
2633
|
-
_length +=
|
|
2634
|
-
local
|
|
2647
|
+
local _Length_40 = #_array_41
|
|
2648
|
+
table.move(_array_41, 1, _Length_40, _length + 1, _array)
|
|
2649
|
+
_length += _Length_40
|
|
2650
|
+
local _array_42 = pair("Markdown", "default", {
|
|
2635
2651
|
text = "# Title\n\nHello **world**",
|
|
2636
2652
|
})
|
|
2637
|
-
local
|
|
2638
|
-
table.move(
|
|
2639
|
-
_length +=
|
|
2640
|
-
local
|
|
2653
|
+
local _Length_41 = #_array_42
|
|
2654
|
+
table.move(_array_42, 1, _Length_41, _length + 1, _array)
|
|
2655
|
+
_length += _Length_41
|
|
2656
|
+
local _array_43 = pair("Markdown", "empty", {
|
|
2641
2657
|
text = "",
|
|
2642
2658
|
})
|
|
2643
|
-
local
|
|
2644
|
-
table.move(
|
|
2645
|
-
_length +=
|
|
2646
|
-
local
|
|
2659
|
+
local _Length_42 = #_array_43
|
|
2660
|
+
table.move(_array_43, 1, _Length_42, _length + 1, _array)
|
|
2661
|
+
_length += _Length_42
|
|
2662
|
+
local _array_44 = pair("Markdown", "sx", {
|
|
2647
2663
|
text = "# Title",
|
|
2648
2664
|
})
|
|
2649
|
-
local
|
|
2650
|
-
table.move(
|
|
2651
|
-
_length +=
|
|
2652
|
-
local
|
|
2665
|
+
local _Length_43 = #_array_44
|
|
2666
|
+
table.move(_array_44, 1, _Length_43, _length + 1, _array)
|
|
2667
|
+
_length += _Length_43
|
|
2668
|
+
local _array_45 = pair("MarkdownEditor", "split", {
|
|
2653
2669
|
text = "# Title",
|
|
2654
2670
|
variant = "split",
|
|
2655
2671
|
})
|
|
2656
|
-
local
|
|
2657
|
-
table.move(
|
|
2658
|
-
_length +=
|
|
2659
|
-
local
|
|
2672
|
+
local _Length_44 = #_array_45
|
|
2673
|
+
table.move(_array_45, 1, _Length_44, _length + 1, _array)
|
|
2674
|
+
_length += _Length_44
|
|
2675
|
+
local _array_46 = pair("MarkdownEditor", "edit", {
|
|
2660
2676
|
text = "# Title",
|
|
2661
2677
|
variant = "edit",
|
|
2662
2678
|
})
|
|
2663
|
-
local
|
|
2664
|
-
table.move(
|
|
2665
|
-
_length +=
|
|
2666
|
-
local
|
|
2679
|
+
local _Length_45 = #_array_46
|
|
2680
|
+
table.move(_array_46, 1, _Length_45, _length + 1, _array)
|
|
2681
|
+
_length += _Length_45
|
|
2682
|
+
local _array_47 = pair("MarkdownEditor", "preview", {
|
|
2667
2683
|
text = "# Title",
|
|
2668
2684
|
variant = "preview",
|
|
2669
2685
|
})
|
|
2670
|
-
local
|
|
2671
|
-
table.move(
|
|
2672
|
-
_length +=
|
|
2673
|
-
local
|
|
2686
|
+
local _Length_46 = #_array_47
|
|
2687
|
+
table.move(_array_47, 1, _Length_46, _length + 1, _array)
|
|
2688
|
+
_length += _Length_46
|
|
2689
|
+
local _array_48 = pair("MarkdownEditor", "density-compact", {
|
|
2674
2690
|
text = "# Title",
|
|
2675
2691
|
density = "compact",
|
|
2676
2692
|
variant = "split",
|
|
2677
2693
|
})
|
|
2678
|
-
local
|
|
2679
|
-
table.move(
|
|
2680
|
-
_length +=
|
|
2681
|
-
local
|
|
2694
|
+
local _Length_47 = #_array_48
|
|
2695
|
+
table.move(_array_48, 1, _Length_47, _length + 1, _array)
|
|
2696
|
+
_length += _Length_47
|
|
2697
|
+
local _array_49 = pair("MarkdownEditor", "sx", {
|
|
2682
2698
|
text = "# Title",
|
|
2683
2699
|
variant = "split",
|
|
2684
2700
|
})
|
|
2685
|
-
table.move(
|
|
2701
|
+
table.move(_array_49, 1, #_array_49, _length + 1, _array)
|
|
2686
2702
|
return _array
|
|
2687
2703
|
end
|
|
2688
2704
|
local function concatRows(...)
|
|
@@ -2695,7 +2711,7 @@ local function concatRows(...)
|
|
|
2695
2711
|
end
|
|
2696
2712
|
return out
|
|
2697
2713
|
end
|
|
2698
|
-
local stateMatrix = concatRows(controlsRows(), editorsRows(), togglesRows(), compositeRows(), surfacesRows(), chromeRows(),
|
|
2714
|
+
local stateMatrix = concatRows(controlsRows(), editorsRows(), togglesRows(), compositeRows(), surfacesRows(), chromeRows(), miscRowsA(), miscRowsB())
|
|
2699
2715
|
return {
|
|
2700
2716
|
stateMatrix = stateMatrix,
|
|
2701
2717
|
}
|