@rbxts/uiblox 0.2.0-alpha.13 → 0.2.0-alpha.15

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.
Files changed (29) hide show
  1. package/out/ui/packages/appBar/components/AppBar.d.ts +2 -1
  2. package/out/ui/packages/appBar/components/AppBar.luau +5 -0
  3. package/out/ui/packages/appBar/components/AppBar.styles.d.ts +2 -0
  4. package/out/ui/packages/appBar/components/AppBar.styles.luau +6 -2
  5. package/out/ui/packages/avatar/components/Avatar.d.ts +2 -0
  6. package/out/ui/packages/avatar/components/Avatar.luau +20 -12
  7. package/out/ui/packages/avatar/components/Avatar.styles.d.ts +2 -0
  8. package/out/ui/packages/avatar/components/Avatar.styles.luau +5 -1
  9. package/out/ui/packages/checkbox/components/checkboxLook.d.ts +1 -1
  10. package/out/ui/packages/chip/components/Chip.d.ts +1 -0
  11. package/out/ui/packages/chip/components/Chip.luau +5 -0
  12. package/out/ui/packages/chip/components/Chip.styles.d.ts +1 -0
  13. package/out/ui/packages/chip/components/Chip.styles.luau +6 -1
  14. package/out/ui/packages/imageList/components/ImageList.luau +17 -1
  15. package/out/ui/packages/imageList/components/ImageList.styles.luau +19 -0
  16. package/out/ui/packages/imageList/components/imageListLayout.d.ts +1 -0
  17. package/out/ui/packages/imageList/components/imageListLayout.luau +7 -0
  18. package/out/ui/packages/pagination/components/Pagination.d.ts +2 -1
  19. package/out/ui/packages/pagination/components/Pagination.luau +4 -1
  20. package/out/ui/packages/pagination/components/Pagination.styles.d.ts +4 -1
  21. package/out/ui/packages/pagination/components/Pagination.styles.luau +12 -6
  22. package/out/ui/packages/splitPane/components/splitLook.d.ts +1 -1
  23. package/out/ui/packages/stateMatrix.luau +204 -164
  24. package/out/ui/packages/switch/components/switchLook.d.ts +1 -1
  25. package/out/ui/packages/tabs/components/Tabs.d.ts +1 -0
  26. package/out/ui/packages/tabs/components/Tabs.luau +2 -0
  27. package/out/ui/packages/tabs/components/Tabs.styles.d.ts +1 -0
  28. package/out/ui/packages/tabs/components/Tabs.styles.luau +2 -0
  29. package/package.json +2 -2
@@ -1,9 +1,10 @@
1
1
  import React from "@rbxts/react";
2
2
  import { CustomizedProps } from "../../../../theme/index";
3
- import { AppBarElevation } from "./AppBar.styles";
3
+ import { AppBarColor, AppBarElevation } from "./AppBar.styles";
4
4
  export interface AppBarProps {
5
5
  title?: string;
6
6
  elevation?: AppBarElevation;
7
+ color?: AppBarColor;
7
8
  children?: React.ReactNode;
8
9
  }
9
10
  declare function AppBar(props: CustomizedProps<Frame, AppBarProps>): JSX.Element;
@@ -13,6 +13,10 @@ local function AppBar(props)
13
13
  if elevation == nil then
14
14
  elevation = "raised"
15
15
  end
16
+ local color = _binding.color
17
+ if color == nil then
18
+ color = "default"
19
+ end
16
20
  local children = _binding.children
17
21
  local className = _binding.className
18
22
  local sx = _binding.sx
@@ -20,6 +24,7 @@ local function AppBar(props)
20
24
  local ref = _binding.ref
21
25
  local styles = useAppBarStyles({
22
26
  elevation = elevation,
27
+ color = color,
23
28
  hasActions = children ~= nil,
24
29
  })
25
30
  local _attributes = {}
@@ -1,6 +1,8 @@
1
1
  export type AppBarElevation = "flat" | "raised";
2
+ export type AppBarColor = "default" | "primary";
2
3
  declare const useAppBarStyles: (props: {
3
4
  elevation?: AppBarElevation;
5
+ color?: AppBarColor;
4
6
  hasActions?: boolean;
5
7
  }) => import("../../../../theme/index").ClassNameMap<string>;
6
8
  export default useAppBarStyles;
@@ -8,6 +8,10 @@ local useAppBarStyles = componentStyles("AppBar", function(theme, _param)
8
8
  if elevation == nil then
9
9
  elevation = "raised"
10
10
  end
11
+ local color = _param.color
12
+ if color == nil then
13
+ color = "default"
14
+ end
11
15
  local hasActions = _param.hasActions
12
16
  if hasActions == nil then
13
17
  hasActions = false
@@ -15,7 +19,7 @@ local useAppBarStyles = componentStyles("AppBar", function(theme, _param)
15
19
  local _object = {
16
20
  root = {
17
21
  Size = UDim2.new(1, 0, 0, theme.spacing.calc(7)),
18
- BackgroundColor3 = if elevation == "raised" then theme.palette.surface.elevated else theme.palette.surface.paper,
22
+ BackgroundColor3 = if color == "primary" then theme.palette.primary.main elseif elevation == "raised" then theme.palette.surface.elevated else theme.palette.surface.paper,
19
23
  BorderSizePixel = 0,
20
24
  ZIndex = 11000,
21
25
  },
@@ -37,7 +41,7 @@ local useAppBarStyles = componentStyles("AppBar", function(theme, _param)
37
41
  _condition = theme.typography.fontSizes.body
38
42
  end
39
43
  _object_1[_left_1] = _condition
40
- _object_1.TextColor3 = theme.palette.text.primary
44
+ _object_1.TextColor3 = if color == "primary" then theme.palette.primary.on else theme.palette.text.primary
41
45
  _object_1.TextXAlignment = Enum.TextXAlignment.Left
42
46
  _object_1.TextYAlignment = Enum.TextYAlignment.Center
43
47
  _object_1.TextTruncate = Enum.TextTruncate.AtEnd
@@ -1,8 +1,10 @@
1
1
  import { CustomizedProps } from "../../../../theme/index";
2
+ import { AvatarVariant } from "./Avatar.styles";
2
3
  export interface AvatarProps {
3
4
  name?: string;
4
5
  image?: string;
5
6
  size?: number;
7
+ variant?: AvatarVariant;
6
8
  }
7
9
  declare function Avatar(props: CustomizedProps<Frame, AvatarProps>): JSX.Element;
8
10
  export default Avatar;
@@ -11,12 +11,17 @@ local function Avatar(props)
11
11
  end
12
12
  local image = _binding.image
13
13
  local size = _binding.size
14
+ local variant = _binding.variant
15
+ if variant == nil then
16
+ variant = "circular"
17
+ end
14
18
  local className = _binding.className
15
19
  local sx = _binding.sx
16
20
  local id = _binding.id
17
21
  local ref = _binding.ref
18
22
  local styles = useAvatarStyles({
19
23
  size = size,
24
+ variant = variant,
20
25
  })
21
26
  local _attributes = {}
22
27
  local _condition = id
@@ -38,30 +43,33 @@ local function Avatar(props)
38
43
  _attributes[_k] = _v
39
44
  end
40
45
  end
41
- local _attributes_1 = table.clone(styles.corner)
42
- setmetatable(_attributes_1, nil)
43
- local _exp = React.createElement("uicorner", _attributes_1)
46
+ local _condition_1 = variant ~= "square"
47
+ if _condition_1 then
48
+ local _attributes_1 = table.clone(styles.corner)
49
+ setmetatable(_attributes_1, nil)
50
+ _condition_1 = React.createElement("uicorner", _attributes_1)
51
+ end
44
52
  local _result
45
53
  if image ~= nil then
46
- local _attributes_2 = {
54
+ local _attributes_1 = {
47
55
  key = "Image",
48
56
  }
49
57
  for _k, _v in styles.image do
50
- _attributes_2[_k] = _v
58
+ _attributes_1[_k] = _v
51
59
  end
52
- _attributes_2.Image = image
53
- _result = (React.createElement("imagelabel", _attributes_2))
60
+ _attributes_1.Image = image
61
+ _result = (React.createElement("imagelabel", _attributes_1))
54
62
  else
55
- local _attributes_2 = {
63
+ local _attributes_1 = {
56
64
  key = "Initials",
57
65
  }
58
66
  for _k, _v in styles.text do
59
- _attributes_2[_k] = _v
67
+ _attributes_1[_k] = _v
60
68
  end
61
- _attributes_2.Text = avatarInitials(name)
62
- _result = (React.createElement("textlabel", _attributes_2))
69
+ _attributes_1.Text = avatarInitials(name)
70
+ _result = (React.createElement("textlabel", _attributes_1))
63
71
  end
64
- return React.createElement("frame", _attributes, _exp, _result)
72
+ return React.createElement("frame", _attributes, _condition_1, _result)
65
73
  end
66
74
  local default = Avatar
67
75
  return {
@@ -1,4 +1,6 @@
1
+ export type AvatarVariant = "circular" | "rounded" | "square";
1
2
  declare const useAvatarStyles: (props: {
2
3
  size?: number;
4
+ variant?: AvatarVariant;
3
5
  }) => import("../../../../theme/index").ClassNameMap<string>;
4
6
  export default useAvatarStyles;
@@ -8,6 +8,10 @@ local useAvatarStyles = componentStyles("Avatar", function(theme, _param)
8
8
  if size == nil then
9
9
  size = 40
10
10
  end
11
+ local variant = _param.variant
12
+ if variant == nil then
13
+ variant = "circular"
14
+ end
11
15
  return createStyles({
12
16
  root = {
13
17
  Size = UDim2.fromOffset(size, size),
@@ -29,7 +33,7 @@ local useAvatarStyles = componentStyles("Avatar", function(theme, _param)
29
33
  TextColor3 = theme.palette.primary.on,
30
34
  },
31
35
  corner = {
32
- CornerRadius = UDim.new(1, 0),
36
+ CornerRadius = if variant == "rounded" then UDim.new(0, theme.shape.borderRadius) else UDim.new(1, 0),
33
37
  },
34
38
  })
35
39
  end)
@@ -2,4 +2,4 @@ export type CheckboxPointer = "rest" | "hover" | "press" | "focus";
2
2
  export declare function checkboxMark(value: boolean, mixed?: boolean): "" | "–" | "✓";
3
3
  export declare function checkboxPointer(hovering: boolean, pressed: boolean, focused: boolean): CheckboxPointer;
4
4
  export declare function checkboxBoxTransparency(filled: boolean, disabled: boolean, pointer: CheckboxPointer): 1 | 0 | 0.7 | 0.55 | 0.85;
5
- export declare function checkboxStrokeTransparency(filled: boolean, disabled: boolean, pointer: CheckboxPointer): 0 | 0.25 | 0.55 | 0.45 | 0.2;
5
+ export declare function checkboxStrokeTransparency(filled: boolean, disabled: boolean, pointer: CheckboxPointer): 0 | 0.25 | 0.45 | 0.55 | 0.2;
@@ -4,6 +4,7 @@ export interface ChipProps {
4
4
  selected?: boolean;
5
5
  disabled?: boolean;
6
6
  size?: ControlSize;
7
+ variant?: "filled" | "outlined";
7
8
  onActivated?: () => void;
8
9
  onDelete?: () => void;
9
10
  }
@@ -9,6 +9,10 @@ local function Chip(props)
9
9
  local selected = _binding.selected
10
10
  local disabled = _binding.disabled
11
11
  local size = _binding.size
12
+ local variant = _binding.variant
13
+ if variant == nil then
14
+ variant = "filled"
15
+ end
12
16
  local onActivated = _binding.onActivated
13
17
  local onDelete = _binding.onDelete
14
18
  local className = _binding.className
@@ -21,6 +25,7 @@ local function Chip(props)
21
25
  disabled = disabled,
22
26
  deletable = deletable,
23
27
  size = size,
28
+ variant = variant,
24
29
  })
25
30
  local _attributes = {}
26
31
  local _condition = id
@@ -4,5 +4,6 @@ declare const useChipStyles: (props: {
4
4
  disabled?: boolean;
5
5
  deletable?: boolean;
6
6
  size?: ControlSize;
7
+ variant?: "filled" | "outlined";
7
8
  }) => import("../../../../theme/index").ClassNameMap<string>;
8
9
  export default useChipStyles;
@@ -18,6 +18,10 @@ local useChipStyles = componentStyles("Chip", function(theme, _param)
18
18
  deletable = false
19
19
  end
20
20
  local size = _param.size
21
+ local variant = _param.variant
22
+ if variant == nil then
23
+ variant = "filled"
24
+ end
21
25
  local metrics = controlMetrics(theme.density, size)
22
26
  local padY = if size == "small" then 0.25 elseif size == "large" then 0.75 else 0.5
23
27
  local padX = if size == "small" then 1 elseif size == "large" then 2 else 1.5
@@ -27,6 +31,7 @@ local useChipStyles = componentStyles("Chip", function(theme, _param)
27
31
  AutomaticSize = Enum.AutomaticSize.XY,
28
32
  Size = UDim2.fromScale(0, 0),
29
33
  BackgroundColor3 = if selected then theme.palette.action.selected else theme.palette.surface.input,
34
+ BackgroundTransparency = if variant == "outlined" and selected ~= true then 1 else 0,
30
35
  BorderSizePixel = 0,
31
36
  AutoButtonColor = false,
32
37
  Active = not disabled,
@@ -47,7 +52,7 @@ local useChipStyles = componentStyles("Chip", function(theme, _param)
47
52
  stroke = {
48
53
  Color = theme.palette.border,
49
54
  ApplyStrokeMode = Enum.ApplyStrokeMode.Border,
50
- Transparency = if selected then 1 else 0,
55
+ Transparency = if variant == "outlined" then (if disabled then 0.5 else 0) elseif selected then 1 else 0,
51
56
  },
52
57
  row = {
53
58
  FillDirection = Enum.FillDirection.Horizontal,
@@ -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 imageListTitle = TS.import(script, script.Parent, "imageListLayout").imageListTitle
4
5
  local useImageListStyles = TS.import(script, script.Parent, "ImageList.styles").default
5
6
  local function ImageList(props)
6
7
  local _binding = props
@@ -44,6 +45,7 @@ local function ImageList(props)
44
45
  -- ▼ ReadonlyArray.map ▼
45
46
  local _newValue = table.create(#items)
46
47
  local _callback = function(item, index)
48
+ local title = imageListTitle(item.title)
47
49
  local _attributes_2 = {
48
50
  key = `Tile-{index}`,
49
51
  }
@@ -70,7 +72,21 @@ local function ImageList(props)
70
72
  _attributes_4[_k] = _v
71
73
  end
72
74
  _attributes_4.Image = item.src
73
- return React.createElement("imagebutton", _attributes_2, _exp_1, React.createElement("imagelabel", _attributes_4))
75
+ local _exp_2 = React.createElement("imagelabel", _attributes_4)
76
+ local _condition_1 = title ~= nil
77
+ if _condition_1 then
78
+ local _attributes_5 = {
79
+ key = "Title",
80
+ }
81
+ for _k, _v in styles.title do
82
+ _attributes_5[_k] = _v
83
+ end
84
+ _attributes_5.Text = title
85
+ local _attributes_6 = table.clone(styles.titlePad)
86
+ setmetatable(_attributes_6, nil)
87
+ _condition_1 = (React.createElement("textlabel", _attributes_5, React.createElement("uipadding", _attributes_6)))
88
+ end
89
+ return React.createElement("imagebutton", _attributes_2, _exp_1, _exp_2, _condition_1)
74
90
  end
75
91
  for _k, _v in items do
76
92
  _newValue[_k] = _callback(_v, _k - 1, items)
@@ -13,6 +13,7 @@ local useImageListStyles = componentStyles("ImageList", function(theme, _param)
13
13
  local itemSize = _param.itemSize
14
14
  local size = imageListItemSize(itemSize)
15
15
  local pad = theme.spacing.calc(imageListGap(gap))
16
+ local bar = theme.spacing.calc(2.5)
16
17
  return createStyles({
17
18
  root = {
18
19
  AutomaticSize = Enum.AutomaticSize.XY,
@@ -35,6 +36,7 @@ local useImageListStyles = componentStyles("ImageList", function(theme, _param)
35
36
  BackgroundColor3 = theme.palette.surface.input,
36
37
  BorderSizePixel = 0,
37
38
  AutoButtonColor = false,
39
+ ClipsDescendants = true,
38
40
  Text = "",
39
41
  },
40
42
  corner = {
@@ -46,6 +48,23 @@ local useImageListStyles = componentStyles("ImageList", function(theme, _param)
46
48
  BorderSizePixel = 0,
47
49
  ScaleType = Enum.ScaleType.Crop,
48
50
  },
51
+ title = {
52
+ Size = UDim2.new(1, 0, 0, bar),
53
+ Position = UDim2.new(0, 0, 1, -bar),
54
+ BackgroundColor3 = theme.palette.surface.overlay,
55
+ BackgroundTransparency = 0.25,
56
+ BorderSizePixel = 0,
57
+ Font = theme.typography.fontFamilies.default,
58
+ TextSize = theme.typography.fontSizes.caption,
59
+ TextColor3 = theme.palette.text.inverse,
60
+ TextXAlignment = Enum.TextXAlignment.Left,
61
+ TextTruncate = Enum.TextTruncate.AtEnd,
62
+ ZIndex = 2,
63
+ },
64
+ titlePad = {
65
+ PaddingLeft = UDim.new(0, theme.spacing.calc(0.5)),
66
+ PaddingRight = UDim.new(0, theme.spacing.calc(0.5)),
67
+ },
49
68
  })
50
69
  end)
51
70
  local default = useImageListStyles
@@ -1,3 +1,4 @@
1
1
  export declare function imageListCols(cols?: number): number;
2
2
  export declare function imageListGap(gap?: number): number;
3
3
  export declare function imageListItemSize(itemSize?: number): number;
4
+ export declare function imageListTitle(title?: string): string | undefined;
@@ -17,8 +17,15 @@ local function imageListItemSize(itemSize)
17
17
  end
18
18
  return math.floor(itemSize)
19
19
  end
20
+ local function imageListTitle(title)
21
+ if title == nil or #title == 0 then
22
+ return nil
23
+ end
24
+ return title
25
+ end
20
26
  return {
21
27
  imageListCols = imageListCols,
22
28
  imageListGap = imageListGap,
23
29
  imageListItemSize = imageListItemSize,
30
+ imageListTitle = imageListTitle,
24
31
  }
@@ -1,10 +1,11 @@
1
- import { CustomizedProps } from "../../../../theme/index";
1
+ import { ControlSize, CustomizedProps } from "../../../../theme/index";
2
2
  export interface PaginationProps {
3
3
  count: number;
4
4
  page: number;
5
5
  disabled?: boolean;
6
6
  siblingCount?: number;
7
7
  boundaryCount?: number;
8
+ size?: ControlSize;
8
9
  onChange: (page: number) => void;
9
10
  }
10
11
  declare function Pagination(props: CustomizedProps<Frame, PaginationProps>): JSX.Element;
@@ -11,12 +11,15 @@ local function Pagination(props)
11
11
  local disabled = _binding.disabled
12
12
  local siblingCount = _binding.siblingCount
13
13
  local boundaryCount = _binding.boundaryCount
14
+ local size = _binding.size
14
15
  local onChange = _binding.onChange
15
16
  local className = _binding.className
16
17
  local sx = _binding.sx
17
18
  local id = _binding.id
18
19
  local ref = _binding.ref
19
- local styles = usePaginationStyles()
20
+ local styles = usePaginationStyles({
21
+ size = size,
22
+ })
20
23
  local tokens = pageRange(count, page, siblingCount, boundaryCount)
21
24
  local _attributes = {}
22
25
  local _condition = id
@@ -1,2 +1,5 @@
1
- declare const usePaginationStyles: () => import("../../../../theme/index").ClassNameMap<string>;
1
+ import { ControlSize } from "../../../../theme/index";
2
+ declare const usePaginationStyles: (props: {
3
+ size?: ControlSize;
4
+ }) => import("../../../../theme/index").ClassNameMap<string>;
2
5
  export default usePaginationStyles;
@@ -3,7 +3,13 @@ local TS = _G[script]
3
3
  local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
4
4
  local componentStyles = _theme.componentStyles
5
5
  local createStyles = _theme.createStyles
6
- local usePaginationStyles = componentStyles("Pagination", function(theme)
6
+ local usePaginationStyles = componentStyles("Pagination", function(theme, _param)
7
+ local size = _param.size
8
+ if size == nil then
9
+ size = "medium"
10
+ end
11
+ local box = if size == "small" then theme.spacing.calc(2.5) elseif size == "large" then theme.spacing.calc(4) else theme.spacing.calc(3)
12
+ local text = if size == "small" then theme.typography.fontSizes.caption elseif size == "large" then theme.typography.fontSizes.h6 else theme.typography.fontSizes.body
7
13
  return createStyles({
8
14
  root = {
9
15
  AutomaticSize = Enum.AutomaticSize.XY,
@@ -13,27 +19,27 @@ local usePaginationStyles = componentStyles("Pagination", function(theme)
13
19
  },
14
20
  list = {
15
21
  FillDirection = Enum.FillDirection.Horizontal,
16
- Padding = UDim.new(0, theme.padding.calc(0.5)),
22
+ Padding = UDim.new(0, theme.padding.calc(if size == "small" then 0.25 else 0.5)),
17
23
  SortOrder = Enum.SortOrder.LayoutOrder,
18
24
  },
19
25
  page = {
20
- Size = UDim2.fromOffset(theme.spacing.calc(3), theme.spacing.calc(3)),
26
+ Size = UDim2.fromOffset(box, box),
21
27
  BackgroundColor3 = theme.palette.surface.input,
22
28
  BorderSizePixel = 0,
23
29
  AutoButtonColor = false,
24
30
  Font = theme.typography.fontFamilies.default,
25
- TextSize = theme.typography.fontSizes.body,
31
+ TextSize = text,
26
32
  TextColor3 = theme.palette.text.primary,
27
33
  },
28
34
  selected = {
29
35
  BackgroundColor3 = theme.palette.action.selected,
30
36
  },
31
37
  ellipsis = {
32
- Size = UDim2.fromOffset(theme.spacing.calc(3), theme.spacing.calc(3)),
38
+ Size = UDim2.fromOffset(box, box),
33
39
  BackgroundTransparency = 1,
34
40
  BorderSizePixel = 0,
35
41
  Font = theme.typography.fontFamilies.default,
36
- TextSize = theme.typography.fontSizes.body,
42
+ TextSize = text,
37
43
  TextColor3 = theme.palette.text.secondary,
38
44
  Text = "…",
39
45
  },
@@ -1,5 +1,5 @@
1
1
  export type SplitPointer = "rest" | "hover" | "press";
2
2
  export declare function splitPointer(hovering: boolean, pressed: boolean): SplitPointer;
3
- export declare function splitRuleTransparency(pointer: SplitPointer, disabled?: boolean): 0.25 | 0.35 | 0.7 | 0.55;
3
+ export declare function splitRuleTransparency(pointer: SplitPointer, disabled?: boolean): 0.25 | 0.7 | 0.55 | 0.35;
4
4
  export declare function splitMarkTransparency(pointer: SplitPointer, disabled?: boolean): 0 | 0.55 | 0.1;
5
5
  export declare function splitHitTransparency(pointer: SplitPointer, disabled?: boolean): 1 | 0.9 | 0.94;
@@ -938,115 +938,123 @@ local function compositeRows()
938
938
  local _Length_21 = #_array_22
939
939
  table.move(_array_22, 1, _Length_21, _length + 1, _array)
940
940
  _length += _Length_21
941
- local _array_23 = pair("Tabs", "hover", {
941
+ local _array_23 = pair("Tabs", "centered", {
942
942
  value = "Continue",
943
943
  options = { "Continue", "Docs", "Actions" },
944
- pointer = "hover",
944
+ variant = "centered",
945
945
  })
946
946
  local _Length_22 = #_array_23
947
947
  table.move(_array_23, 1, _Length_22, _length + 1, _array)
948
948
  _length += _Length_22
949
- local _array_24 = pair("Tabs", "long", {
950
- value = LONG,
951
- options = { LONG, "Docs", "Actions", "Source", "Settings" },
952
- text = LONG,
953
- width = NARROW,
949
+ local _array_24 = pair("Tabs", "hover", {
950
+ value = "Continue",
951
+ options = { "Continue", "Docs", "Actions" },
952
+ pointer = "hover",
954
953
  })
955
954
  local _Length_23 = #_array_24
956
955
  table.move(_array_24, 1, _Length_23, _length + 1, _array)
957
956
  _length += _Length_23
958
- local _array_25 = pair("SplitPane", "default", {
959
- value = 160,
957
+ local _array_25 = pair("Tabs", "long", {
958
+ value = LONG,
959
+ options = { LONG, "Docs", "Actions", "Source", "Settings" },
960
+ text = LONG,
961
+ width = NARROW,
960
962
  })
961
963
  local _Length_24 = #_array_25
962
964
  table.move(_array_25, 1, _Length_24, _length + 1, _array)
963
965
  _length += _Length_24
964
- local _array_26 = pair("SplitPane", "disabled", {
966
+ local _array_26 = pair("SplitPane", "default", {
965
967
  value = 160,
966
- disabled = true,
967
968
  })
968
969
  local _Length_25 = #_array_26
969
970
  table.move(_array_26, 1, _Length_25, _length + 1, _array)
970
971
  _length += _Length_25
971
- local _array_27 = pair("SplitPane", "hover", {
972
+ local _array_27 = pair("SplitPane", "disabled", {
972
973
  value = 160,
973
- pointer = "hover",
974
+ disabled = true,
974
975
  })
975
976
  local _Length_26 = #_array_27
976
977
  table.move(_array_27, 1, _Length_26, _length + 1, _array)
977
978
  _length += _Length_26
978
- local _array_28 = pair("SplitPane", "drag", {
979
+ local _array_28 = pair("SplitPane", "hover", {
979
980
  value = 160,
980
- pointer = "press",
981
+ pointer = "hover",
981
982
  })
982
983
  local _Length_27 = #_array_28
983
984
  table.move(_array_28, 1, _Length_27, _length + 1, _array)
984
985
  _length += _Length_27
985
- local _array_29 = pair("SplitPane", "long", {
986
- value = 80,
987
- text = LONG,
988
- width = NARROW,
986
+ local _array_29 = pair("SplitPane", "drag", {
987
+ value = 160,
988
+ pointer = "press",
989
989
  })
990
990
  local _Length_28 = #_array_29
991
991
  table.move(_array_29, 1, _Length_28, _length + 1, _array)
992
992
  _length += _Length_28
993
- local _array_30 = pair("Tooltip", "hidden")
993
+ local _array_30 = pair("SplitPane", "long", {
994
+ value = 80,
995
+ text = LONG,
996
+ width = NARROW,
997
+ })
994
998
  local _Length_29 = #_array_30
995
999
  table.move(_array_30, 1, _Length_29, _length + 1, _array)
996
1000
  _length += _Length_29
997
- local _array_31 = pair("Tooltip", "shown", {
998
- pointer = "hover",
999
- })
1001
+ local _array_31 = pair("Tooltip", "hidden")
1000
1002
  local _Length_30 = #_array_31
1001
1003
  table.move(_array_31, 1, _Length_30, _length + 1, _array)
1002
1004
  _length += _Length_30
1003
- local _array_32 = pair("Tooltip", "long", {
1004
- text = LONG,
1005
- width = NARROW,
1005
+ local _array_32 = pair("Tooltip", "shown", {
1006
1006
  pointer = "hover",
1007
1007
  })
1008
1008
  local _Length_31 = #_array_32
1009
1009
  table.move(_array_32, 1, _Length_31, _length + 1, _array)
1010
1010
  _length += _Length_31
1011
- local _array_33 = pair("TreeView", "default", {
1012
- selected = "Fixture/Styled",
1011
+ local _array_33 = pair("Tooltip", "long", {
1012
+ text = LONG,
1013
+ width = NARROW,
1014
+ pointer = "hover",
1013
1015
  })
1014
1016
  local _Length_32 = #_array_33
1015
1017
  table.move(_array_33, 1, _Length_32, _length + 1, _array)
1016
1018
  _length += _Length_32
1017
- local _array_34 = pair("TreeView", "hover", {
1019
+ local _array_34 = pair("TreeView", "default", {
1018
1020
  selected = "Fixture/Styled",
1019
- pointer = "hover",
1020
1021
  })
1021
1022
  local _Length_33 = #_array_34
1022
1023
  table.move(_array_34, 1, _Length_33, _length + 1, _array)
1023
1024
  _length += _Length_33
1024
- local _array_35 = pair("TreeView", "filter", {
1025
+ local _array_35 = pair("TreeView", "hover", {
1025
1026
  selected = "Fixture/Styled",
1026
- filter = "sty",
1027
+ pointer = "hover",
1027
1028
  })
1028
1029
  local _Length_34 = #_array_35
1029
1030
  table.move(_array_35, 1, _Length_34, _length + 1, _array)
1030
1031
  _length += _Length_34
1031
- local _array_36 = pair("TreeView", "long", {
1032
- selected = `Fixture/{LONG}`,
1033
- text = LONG,
1034
- width = NARROW,
1032
+ local _array_36 = pair("TreeView", "filter", {
1033
+ selected = "Fixture/Styled",
1034
+ filter = "sty",
1035
1035
  })
1036
1036
  local _Length_35 = #_array_36
1037
1037
  table.move(_array_36, 1, _Length_35, _length + 1, _array)
1038
1038
  _length += _Length_35
1039
- local _array_37 = pair("IconButton", "loading", {
1040
- loading = true,
1039
+ local _array_37 = pair("TreeView", "long", {
1040
+ selected = `Fixture/{LONG}`,
1041
+ text = LONG,
1042
+ width = NARROW,
1041
1043
  })
1042
1044
  local _Length_36 = #_array_37
1043
1045
  table.move(_array_37, 1, _Length_36, _length + 1, _array)
1044
1046
  _length += _Length_36
1045
- local _array_38 = pair("IconButton", "loading-disabled", {
1047
+ local _array_38 = pair("IconButton", "loading", {
1048
+ loading = true,
1049
+ })
1050
+ local _Length_37 = #_array_38
1051
+ table.move(_array_38, 1, _Length_37, _length + 1, _array)
1052
+ _length += _Length_37
1053
+ local _array_39 = pair("IconButton", "loading-disabled", {
1046
1054
  loading = true,
1047
1055
  disabled = true,
1048
1056
  })
1049
- table.move(_array_38, 1, #_array_38, _length + 1, _array)
1057
+ table.move(_array_39, 1, #_array_39, _length + 1, _array)
1050
1058
  return _array
1051
1059
  end
1052
1060
  local function surfacesRows()
@@ -1295,16 +1303,22 @@ local function surfacesRows()
1295
1303
  local _Length_38 = #_array_39
1296
1304
  table.move(_array_39, 1, _Length_38, _length + 1, _array)
1297
1305
  _length += _Length_38
1298
- local _array_40 = pair("Badge", "count", {
1299
- value = 3,
1306
+ local _array_40 = pair("Chip", "outlined", {
1307
+ variant = "outlined",
1300
1308
  })
1301
1309
  local _Length_39 = #_array_40
1302
1310
  table.move(_array_40, 1, _Length_39, _length + 1, _array)
1303
1311
  _length += _Length_39
1304
- local _array_41 = pair("Badge", "max", {
1312
+ local _array_41 = pair("Badge", "count", {
1313
+ value = 3,
1314
+ })
1315
+ local _Length_40 = #_array_41
1316
+ table.move(_array_41, 1, _Length_40, _length + 1, _array)
1317
+ _length += _Length_40
1318
+ local _array_42 = pair("Badge", "max", {
1305
1319
  value = 100,
1306
1320
  })
1307
- table.move(_array_41, 1, #_array_41, _length + 1, _array)
1321
+ table.move(_array_42, 1, #_array_42, _length + 1, _array)
1308
1322
  return _array
1309
1323
  end
1310
1324
  local function chromeRows()
@@ -1340,267 +1354,287 @@ local function chromeRows()
1340
1354
  local _Length_4 = #_array_5
1341
1355
  table.move(_array_5, 1, _Length_4, _length + 1, _array)
1342
1356
  _length += _Length_4
1343
- local _array_6 = pair("Drawer", "closed", {
1344
- open = false,
1357
+ local _array_6 = pair("Avatar", "rounded", {
1358
+ variant = "rounded",
1345
1359
  })
1346
1360
  local _Length_5 = #_array_6
1347
1361
  table.move(_array_6, 1, _Length_5, _length + 1, _array)
1348
1362
  _length += _Length_5
1349
- local _array_7 = pair("Drawer", "left", {
1350
- open = true,
1351
- variant = "left",
1363
+ local _array_7 = pair("Drawer", "closed", {
1364
+ open = false,
1352
1365
  })
1353
1366
  local _Length_6 = #_array_7
1354
1367
  table.move(_array_7, 1, _Length_6, _length + 1, _array)
1355
1368
  _length += _Length_6
1356
- local _array_8 = pair("Drawer", "right", {
1369
+ local _array_8 = pair("Drawer", "left", {
1357
1370
  open = true,
1358
- variant = "right",
1371
+ variant = "left",
1359
1372
  })
1360
1373
  local _Length_7 = #_array_8
1361
1374
  table.move(_array_8, 1, _Length_7, _length + 1, _array)
1362
1375
  _length += _Length_7
1363
- local _array_9 = pair("Drawer", "wide", {
1376
+ local _array_9 = pair("Drawer", "right", {
1364
1377
  open = true,
1365
- variant = "wide",
1378
+ variant = "right",
1366
1379
  })
1367
1380
  local _Length_8 = #_array_9
1368
1381
  table.move(_array_9, 1, _Length_8, _length + 1, _array)
1369
1382
  _length += _Length_8
1370
- local _array_10 = pair("Breadcrumbs", "single", {
1371
- text = "Home",
1383
+ local _array_10 = pair("Drawer", "wide", {
1384
+ open = true,
1385
+ variant = "wide",
1372
1386
  })
1373
1387
  local _Length_9 = #_array_10
1374
1388
  table.move(_array_10, 1, _Length_9, _length + 1, _array)
1375
1389
  _length += _Length_9
1376
- local _array_11 = pair("Breadcrumbs", "trail", {
1377
- text = "Home / Library / Item",
1390
+ local _array_11 = pair("Breadcrumbs", "single", {
1391
+ text = "Home",
1378
1392
  })
1379
1393
  local _Length_10 = #_array_11
1380
1394
  table.move(_array_11, 1, _Length_10, _length + 1, _array)
1381
1395
  _length += _Length_10
1382
- local _array_12 = pair("Breadcrumbs", "collapsed", {
1383
- text = "Home / … / Item",
1384
- size = "small",
1396
+ local _array_12 = pair("Breadcrumbs", "trail", {
1397
+ text = "Home / Library / Item",
1385
1398
  })
1386
1399
  local _Length_11 = #_array_12
1387
1400
  table.move(_array_12, 1, _Length_11, _length + 1, _array)
1388
1401
  _length += _Length_11
1389
- local _array_13 = pair("Breadcrumbs", "custom-separator", {
1390
- text = "Home > Item",
1402
+ local _array_13 = pair("Breadcrumbs", "collapsed", {
1403
+ text = "Home / … / Item",
1404
+ size = "small",
1391
1405
  })
1392
1406
  local _Length_12 = #_array_13
1393
1407
  table.move(_array_13, 1, _Length_12, _length + 1, _array)
1394
1408
  _length += _Length_12
1395
- local _array_14 = pair("Pagination", "first", {
1396
- value = 1,
1409
+ local _array_14 = pair("Breadcrumbs", "custom-separator", {
1410
+ text = "Home > Item",
1397
1411
  })
1398
1412
  local _Length_13 = #_array_14
1399
1413
  table.move(_array_14, 1, _Length_13, _length + 1, _array)
1400
1414
  _length += _Length_13
1401
- local _array_15 = pair("Pagination", "middle", {
1402
- value = 3,
1415
+ local _array_15 = pair("Pagination", "first", {
1416
+ value = 1,
1403
1417
  })
1404
1418
  local _Length_14 = #_array_15
1405
1419
  table.move(_array_15, 1, _Length_14, _length + 1, _array)
1406
1420
  _length += _Length_14
1407
- local _array_16 = pair("Pagination", "collapsed", {
1408
- value = 10,
1409
- size = "large",
1421
+ local _array_16 = pair("Pagination", "middle", {
1422
+ value = 3,
1410
1423
  })
1411
1424
  local _Length_15 = #_array_16
1412
1425
  table.move(_array_16, 1, _Length_15, _length + 1, _array)
1413
1426
  _length += _Length_15
1414
- local _array_17 = pair("Pagination", "disabled", {
1415
- value = 2,
1416
- disabled = true,
1427
+ local _array_17 = pair("Pagination", "collapsed", {
1428
+ value = 10,
1429
+ size = "large",
1417
1430
  })
1418
1431
  local _Length_16 = #_array_17
1419
1432
  table.move(_array_17, 1, _Length_16, _length + 1, _array)
1420
1433
  _length += _Length_16
1421
- local _array_18 = pair("Stepper", "first", {
1422
- value = 0,
1434
+ local _array_18 = pair("Pagination", "disabled", {
1435
+ value = 2,
1436
+ disabled = true,
1423
1437
  })
1424
1438
  local _Length_17 = #_array_18
1425
1439
  table.move(_array_18, 1, _Length_17, _length + 1, _array)
1426
1440
  _length += _Length_17
1427
- local _array_19 = pair("Stepper", "middle", {
1428
- value = 1,
1441
+ local _array_19 = pair("Pagination", "size-small", {
1442
+ value = 2,
1443
+ size = "small",
1429
1444
  })
1430
1445
  local _Length_18 = #_array_19
1431
1446
  table.move(_array_19, 1, _Length_18, _length + 1, _array)
1432
1447
  _length += _Length_18
1433
- local _array_20 = pair("Stepper", "last", {
1434
- value = 2,
1448
+ local _array_20 = pair("Stepper", "first", {
1449
+ value = 0,
1435
1450
  })
1436
1451
  local _Length_19 = #_array_20
1437
1452
  table.move(_array_20, 1, _Length_19, _length + 1, _array)
1438
1453
  _length += _Length_19
1439
- local _array_21 = pair("Stepper", "vertical", {
1454
+ local _array_21 = pair("Stepper", "middle", {
1440
1455
  value = 1,
1441
- variant = "vertical",
1442
1456
  })
1443
1457
  local _Length_20 = #_array_21
1444
1458
  table.move(_array_21, 1, _Length_20, _length + 1, _array)
1445
1459
  _length += _Length_20
1446
- local _array_22 = pair("Accordion", "closed", {
1447
- open = false,
1460
+ local _array_22 = pair("Stepper", "last", {
1461
+ value = 2,
1448
1462
  })
1449
1463
  local _Length_21 = #_array_22
1450
1464
  table.move(_array_22, 1, _Length_21, _length + 1, _array)
1451
1465
  _length += _Length_21
1452
- local _array_23 = pair("Accordion", "open", {
1453
- open = true,
1466
+ local _array_23 = pair("Stepper", "vertical", {
1467
+ value = 1,
1468
+ variant = "vertical",
1454
1469
  })
1455
1470
  local _Length_22 = #_array_23
1456
1471
  table.move(_array_23, 1, _Length_22, _length + 1, _array)
1457
1472
  _length += _Length_22
1458
- local _array_24 = pair("Accordion", "disabled", {
1473
+ local _array_24 = pair("Accordion", "closed", {
1459
1474
  open = false,
1460
- disabled = true,
1461
1475
  })
1462
1476
  local _Length_23 = #_array_24
1463
1477
  table.move(_array_24, 1, _Length_23, _length + 1, _array)
1464
1478
  _length += _Length_23
1465
- local _array_25 = pair("Snackbar", "open", {
1479
+ local _array_25 = pair("Accordion", "open", {
1466
1480
  open = true,
1467
- text = "Saved",
1468
1481
  })
1469
1482
  local _Length_24 = #_array_25
1470
1483
  table.move(_array_25, 1, _Length_24, _length + 1, _array)
1471
1484
  _length += _Length_24
1472
- local _array_26 = pair("Snackbar", "closed", {
1485
+ local _array_26 = pair("Accordion", "disabled", {
1473
1486
  open = false,
1474
- text = "Saved",
1487
+ disabled = true,
1475
1488
  })
1476
1489
  local _Length_25 = #_array_26
1477
1490
  table.move(_array_26, 1, _Length_25, _length + 1, _array)
1478
1491
  _length += _Length_25
1479
- local _array_27 = pair("Table", "empty", {
1480
- text = "",
1492
+ local _array_27 = pair("Snackbar", "open", {
1493
+ open = true,
1494
+ text = "Saved",
1481
1495
  })
1482
1496
  local _Length_26 = #_array_27
1483
1497
  table.move(_array_27, 1, _Length_26, _length + 1, _array)
1484
1498
  _length += _Length_26
1485
- local _array_28 = pair("Table", "default", {
1486
- text = "Name / Role",
1499
+ local _array_28 = pair("Snackbar", "closed", {
1500
+ open = false,
1501
+ text = "Saved",
1487
1502
  })
1488
1503
  local _Length_27 = #_array_28
1489
1504
  table.move(_array_28, 1, _Length_27, _length + 1, _array)
1490
1505
  _length += _Length_27
1491
- local _array_29 = pair("Table", "selected", {
1492
- text = "Name / Role",
1493
- value = 0,
1506
+ local _array_29 = pair("Table", "empty", {
1507
+ text = "",
1494
1508
  })
1495
1509
  local _Length_28 = #_array_29
1496
1510
  table.move(_array_29, 1, _Length_28, _length + 1, _array)
1497
1511
  _length += _Length_28
1498
- local _array_30 = pair("Table", "dense", {
1512
+ local _array_30 = pair("Table", "default", {
1499
1513
  text = "Name / Role",
1500
- variant = "dense",
1501
1514
  })
1502
1515
  local _Length_29 = #_array_30
1503
1516
  table.move(_array_30, 1, _Length_29, _length + 1, _array)
1504
1517
  _length += _Length_29
1505
- local _array_31 = pair("Autocomplete", "default", {
1506
- value = "Continue",
1507
- options = { "Continue", "Other" },
1518
+ local _array_31 = pair("Table", "selected", {
1519
+ text = "Name / Role",
1520
+ value = 0,
1508
1521
  })
1509
1522
  local _Length_30 = #_array_31
1510
1523
  table.move(_array_31, 1, _Length_30, _length + 1, _array)
1511
1524
  _length += _Length_30
1512
- local _array_32 = pair("Autocomplete", "open", {
1513
- value = "Continue",
1514
- options = { "Continue", "Other" },
1515
- open = true,
1525
+ local _array_32 = pair("Table", "dense", {
1526
+ text = "Name / Role",
1527
+ variant = "dense",
1516
1528
  })
1517
1529
  local _Length_31 = #_array_32
1518
1530
  table.move(_array_32, 1, _Length_31, _length + 1, _array)
1519
1531
  _length += _Length_31
1520
- local _array_33 = pair("Autocomplete", "disabled", {
1532
+ local _array_33 = pair("Autocomplete", "default", {
1521
1533
  value = "Continue",
1522
1534
  options = { "Continue", "Other" },
1523
- disabled = true,
1524
1535
  })
1525
1536
  local _Length_32 = #_array_33
1526
1537
  table.move(_array_33, 1, _Length_32, _length + 1, _array)
1527
1538
  _length += _Length_32
1528
- local _array_34 = pair("Autocomplete", "empty", {
1529
- value = "",
1530
- options = {},
1539
+ local _array_34 = pair("Autocomplete", "open", {
1540
+ value = "Continue",
1541
+ options = { "Continue", "Other" },
1531
1542
  open = true,
1532
1543
  })
1533
1544
  local _Length_33 = #_array_34
1534
1545
  table.move(_array_34, 1, _Length_33, _length + 1, _array)
1535
1546
  _length += _Length_33
1536
- local _array_35 = pair("Autocomplete", "no-results", {
1547
+ local _array_35 = pair("Autocomplete", "disabled", {
1537
1548
  value = "Continue",
1538
1549
  options = { "Continue", "Other" },
1539
- open = true,
1540
- filter = "zzz",
1550
+ disabled = true,
1541
1551
  })
1542
1552
  local _Length_34 = #_array_35
1543
1553
  table.move(_array_35, 1, _Length_34, _length + 1, _array)
1544
1554
  _length += _Length_34
1545
- local _array_36 = pair("Fab", "default")
1555
+ local _array_36 = pair("Autocomplete", "empty", {
1556
+ value = "",
1557
+ options = {},
1558
+ open = true,
1559
+ })
1546
1560
  local _Length_35 = #_array_36
1547
1561
  table.move(_array_36, 1, _Length_35, _length + 1, _array)
1548
1562
  _length += _Length_35
1549
- local _array_37 = pair("Fab", "extended", {
1550
- text = "Compose",
1563
+ local _array_37 = pair("Autocomplete", "no-results", {
1564
+ value = "Continue",
1565
+ options = { "Continue", "Other" },
1566
+ open = true,
1567
+ filter = "zzz",
1551
1568
  })
1552
1569
  local _Length_36 = #_array_37
1553
1570
  table.move(_array_37, 1, _Length_36, _length + 1, _array)
1554
1571
  _length += _Length_36
1555
- local _array_38 = pair("Fab", "small", {
1556
- size = "small",
1557
- })
1572
+ local _array_38 = pair("Fab", "default")
1558
1573
  local _Length_37 = #_array_38
1559
1574
  table.move(_array_38, 1, _Length_37, _length + 1, _array)
1560
1575
  _length += _Length_37
1561
- local _array_39 = pair("Fab", "large", {
1562
- size = "large",
1576
+ local _array_39 = pair("Fab", "extended", {
1577
+ text = "Compose",
1563
1578
  })
1564
1579
  local _Length_38 = #_array_39
1565
1580
  table.move(_array_39, 1, _Length_38, _length + 1, _array)
1566
1581
  _length += _Length_38
1567
- local _array_40 = pair("Fab", "disabled", {
1568
- disabled = true,
1582
+ local _array_40 = pair("Fab", "small", {
1583
+ size = "small",
1569
1584
  })
1570
1585
  local _Length_39 = #_array_40
1571
1586
  table.move(_array_40, 1, _Length_39, _length + 1, _array)
1572
1587
  _length += _Length_39
1573
- local _array_41 = pair("Fab", "loading", {
1574
- loading = true,
1588
+ local _array_41 = pair("Fab", "large", {
1589
+ size = "large",
1575
1590
  })
1576
1591
  local _Length_40 = #_array_41
1577
1592
  table.move(_array_41, 1, _Length_40, _length + 1, _array)
1578
1593
  _length += _Length_40
1579
- local _array_42 = pair("AppBar", "default", {
1580
- text = "Storyblox",
1594
+ local _array_42 = pair("Fab", "disabled", {
1595
+ disabled = true,
1581
1596
  })
1582
1597
  local _Length_41 = #_array_42
1583
1598
  table.move(_array_42, 1, _Length_41, _length + 1, _array)
1584
1599
  _length += _Length_41
1585
- local _array_43 = pair("AppBar", "flat", {
1586
- text = "Storyblox",
1587
- variant = "flat",
1600
+ local _array_43 = pair("Fab", "loading", {
1601
+ loading = true,
1588
1602
  })
1589
1603
  local _Length_42 = #_array_43
1590
1604
  table.move(_array_43, 1, _Length_42, _length + 1, _array)
1591
1605
  _length += _Length_42
1592
- local _array_44 = pair("AppBar", "raised", {
1606
+ local _array_44 = pair("AppBar", "default", {
1593
1607
  text = "Storyblox",
1594
- variant = "raised",
1595
1608
  })
1596
1609
  local _Length_43 = #_array_44
1597
1610
  table.move(_array_44, 1, _Length_43, _length + 1, _array)
1598
1611
  _length += _Length_43
1599
- local _array_45 = pair("BottomNavigation", "default", {
1612
+ local _array_45 = pair("AppBar", "flat", {
1613
+ text = "Storyblox",
1614
+ variant = "flat",
1615
+ })
1616
+ local _Length_44 = #_array_45
1617
+ table.move(_array_45, 1, _Length_44, _length + 1, _array)
1618
+ _length += _Length_44
1619
+ local _array_46 = pair("AppBar", "raised", {
1620
+ text = "Storyblox",
1621
+ variant = "raised",
1622
+ })
1623
+ local _Length_45 = #_array_46
1624
+ table.move(_array_46, 1, _Length_45, _length + 1, _array)
1625
+ _length += _Length_45
1626
+ local _array_47 = pair("AppBar", "primary", {
1627
+ text = "Storyblox",
1628
+ variant = "primary",
1629
+ })
1630
+ local _Length_46 = #_array_47
1631
+ table.move(_array_47, 1, _Length_46, _length + 1, _array)
1632
+ _length += _Length_46
1633
+ local _array_48 = pair("BottomNavigation", "default", {
1600
1634
  value = "Home",
1601
1635
  options = { "Home", "Search", "Profile" },
1602
1636
  })
1603
- table.move(_array_45, 1, #_array_45, _length + 1, _array)
1637
+ table.move(_array_48, 1, #_array_48, _length + 1, _array)
1604
1638
  return _array
1605
1639
  end
1606
1640
  local function miscRows()
@@ -1851,89 +1885,95 @@ local function miscRows()
1851
1885
  local _Length_38 = #_array_39
1852
1886
  table.move(_array_39, 1, _Length_38, _length + 1, _array)
1853
1887
  _length += _Length_38
1854
- local _array_40 = pair("SpeedDial", "closed", {
1855
- open = false,
1888
+ local _array_40 = pair("ImageList", "titled", {
1889
+ text = "Cove",
1856
1890
  })
1857
1891
  local _Length_39 = #_array_40
1858
1892
  table.move(_array_40, 1, _Length_39, _length + 1, _array)
1859
1893
  _length += _Length_39
1860
- local _array_41 = pair("SpeedDial", "open", {
1861
- open = true,
1894
+ local _array_41 = pair("SpeedDial", "closed", {
1895
+ open = false,
1862
1896
  })
1863
1897
  local _Length_40 = #_array_41
1864
1898
  table.move(_array_41, 1, _Length_40, _length + 1, _array)
1865
1899
  _length += _Length_40
1866
- local _array_42 = pair("SpeedDial", "disabled", {
1867
- open = false,
1868
- disabled = true,
1900
+ local _array_42 = pair("SpeedDial", "open", {
1901
+ open = true,
1869
1902
  })
1870
1903
  local _Length_41 = #_array_42
1871
1904
  table.move(_array_42, 1, _Length_41, _length + 1, _array)
1872
1905
  _length += _Length_41
1873
- local _array_43 = pair("SpeedDial", "down", {
1874
- open = true,
1875
- variant = "down",
1906
+ local _array_43 = pair("SpeedDial", "disabled", {
1907
+ open = false,
1908
+ disabled = true,
1876
1909
  })
1877
1910
  local _Length_42 = #_array_43
1878
1911
  table.move(_array_43, 1, _Length_42, _length + 1, _array)
1879
1912
  _length += _Length_42
1880
- local _array_44 = pair("FormLabel", "default", {
1881
- text = "Email",
1913
+ local _array_44 = pair("SpeedDial", "down", {
1914
+ open = true,
1915
+ variant = "down",
1882
1916
  })
1883
1917
  local _Length_43 = #_array_44
1884
1918
  table.move(_array_44, 1, _Length_43, _length + 1, _array)
1885
1919
  _length += _Length_43
1886
- local _array_45 = pair("FormLabel", "required", {
1920
+ local _array_45 = pair("FormLabel", "default", {
1887
1921
  text = "Email",
1888
- value = true,
1889
1922
  })
1890
1923
  local _Length_44 = #_array_45
1891
1924
  table.move(_array_45, 1, _Length_44, _length + 1, _array)
1892
1925
  _length += _Length_44
1893
- local _array_46 = pair("FormLabel", "error", {
1926
+ local _array_46 = pair("FormLabel", "required", {
1894
1927
  text = "Email",
1895
- hasError = true,
1928
+ value = true,
1896
1929
  })
1897
1930
  local _Length_45 = #_array_46
1898
1931
  table.move(_array_46, 1, _Length_45, _length + 1, _array)
1899
1932
  _length += _Length_45
1900
- local _array_47 = pair("FormHelperText", "default", {
1901
- text = "We never share this",
1933
+ local _array_47 = pair("FormLabel", "error", {
1934
+ text = "Email",
1935
+ hasError = true,
1902
1936
  })
1903
1937
  local _Length_46 = #_array_47
1904
1938
  table.move(_array_47, 1, _Length_46, _length + 1, _array)
1905
1939
  _length += _Length_46
1906
- local _array_48 = pair("FormHelperText", "error", {
1907
- text = "Required",
1908
- hasError = true,
1940
+ local _array_48 = pair("FormHelperText", "default", {
1941
+ text = "We never share this",
1909
1942
  })
1910
1943
  local _Length_47 = #_array_48
1911
1944
  table.move(_array_48, 1, _Length_47, _length + 1, _array)
1912
1945
  _length += _Length_47
1913
- local _array_49 = pair("Menu", "closed", {
1914
- open = false,
1946
+ local _array_49 = pair("FormHelperText", "error", {
1947
+ text = "Required",
1948
+ hasError = true,
1915
1949
  })
1916
1950
  local _Length_48 = #_array_49
1917
1951
  table.move(_array_49, 1, _Length_48, _length + 1, _array)
1918
1952
  _length += _Length_48
1919
- local _array_50 = pair("Menu", "open", {
1920
- open = true,
1953
+ local _array_50 = pair("Menu", "closed", {
1954
+ open = false,
1921
1955
  })
1922
1956
  local _Length_49 = #_array_50
1923
1957
  table.move(_array_50, 1, _Length_49, _length + 1, _array)
1924
1958
  _length += _Length_49
1925
- local _array_51 = pair("Menu", "empty", {
1959
+ local _array_51 = pair("Menu", "open", {
1926
1960
  open = true,
1927
- options = {},
1928
1961
  })
1929
1962
  local _Length_50 = #_array_51
1930
1963
  table.move(_array_51, 1, _Length_50, _length + 1, _array)
1931
1964
  _length += _Length_50
1932
- local _array_52 = pair("Menu", "dense", {
1965
+ local _array_52 = pair("Menu", "empty", {
1966
+ open = true,
1967
+ options = {},
1968
+ })
1969
+ local _Length_51 = #_array_52
1970
+ table.move(_array_52, 1, _Length_51, _length + 1, _array)
1971
+ _length += _Length_51
1972
+ local _array_53 = pair("Menu", "dense", {
1933
1973
  open = true,
1934
1974
  variant = "dense",
1935
1975
  })
1936
- table.move(_array_52, 1, #_array_52, _length + 1, _array)
1976
+ table.move(_array_53, 1, #_array_53, _length + 1, _array)
1937
1977
  return _array
1938
1978
  end
1939
1979
  local function concatRows(...)
@@ -1,6 +1,6 @@
1
1
  export type SwitchPointer = "rest" | "hover" | "press" | "focus";
2
2
  export declare function switchPointer(hovering: boolean, pressed: boolean, focused: boolean): SwitchPointer;
3
- export declare function switchTrackTransparency(on: boolean, disabled: boolean, pointer: SwitchPointer): 0 | 0.25 | 0.35 | 0.65 | 0.55 | 0.15 | 0.08;
3
+ export declare function switchTrackTransparency(on: boolean, disabled: boolean, pointer: SwitchPointer): 0 | 0.25 | 0.55 | 0.35 | 0.15 | 0.65 | 0.08;
4
4
  export declare function switchThumbTransparency(disabled: boolean): 0 | 0.35;
5
5
  export declare function switchStrokeTransparency(disabled: boolean, pointer: SwitchPointer): 1 | 0 | 0.35;
6
6
  export declare function switchThumbPlacement(on: boolean, inset: number): {
@@ -7,6 +7,7 @@ export interface TabsProps<T> {
7
7
  onChange: (value: T) => void;
8
8
  disabled?: boolean;
9
9
  orientation?: TabsOrientation;
10
+ centered?: boolean;
10
11
  }
11
12
  declare function Tabs<T>(props: CustomizedProps<ScrollingFrame, TabsProps<T>>): JSX.Element;
12
13
  export default Tabs;
@@ -13,12 +13,14 @@ local function Tabs(props)
13
13
  local onChange = _binding.onChange
14
14
  local disabled = _binding.disabled
15
15
  local orientation = _binding.orientation
16
+ local centered = _binding.centered
16
17
  local className = _binding.className
17
18
  local sx = _binding.sx
18
19
  local id = _binding.id
19
20
  local ref = _binding.ref
20
21
  local styles = useTabsStyles({
21
22
  orientation = orientation,
23
+ centered = centered,
22
24
  })
23
25
  local vertical = tabsIsVertical(orientation)
24
26
  local choose = function(index)
@@ -1,5 +1,6 @@
1
1
  import { TabsOrientation } from "./tabsOrientation";
2
2
  declare const useTabsStyles: (props: {
3
3
  orientation?: TabsOrientation;
4
+ centered?: boolean;
4
5
  }) => import("../../../../theme/index").ClassNameMap<string>;
5
6
  export default useTabsStyles;
@@ -6,6 +6,7 @@ local componentStyles = _theme.componentStyles
6
6
  local tabsIsVertical = TS.import(script, script.Parent, "tabsOrientation").tabsIsVertical
7
7
  local useTabsStyles = componentStyles("Tabs", function(theme, _param)
8
8
  local orientation = _param.orientation
9
+ local centered = _param.centered
9
10
  local vertical = tabsIsVertical(orientation)
10
11
  local bar = theme.padding.calc(0.5)
11
12
  return createStyles({
@@ -23,6 +24,7 @@ local useTabsStyles = componentStyles("Tabs", function(theme, _param)
23
24
  },
24
25
  list = {
25
26
  FillDirection = if vertical then Enum.FillDirection.Vertical else Enum.FillDirection.Horizontal,
27
+ HorizontalAlignment = if centered == true and vertical ~= true then Enum.HorizontalAlignment.Center else Enum.HorizontalAlignment.Left,
26
28
  SortOrder = Enum.SortOrder.LayoutOrder,
27
29
  },
28
30
  tab = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rbxts/uiblox",
3
- "version": "0.2.0-alpha.13",
3
+ "version": "0.2.0-alpha.15",
4
4
  "description": "UI Library and theming for roblox-ts projects",
5
5
  "main": "out/init.luau",
6
6
  "packageManager": "pnpm@11.3.0",
@@ -8,7 +8,7 @@
8
8
  "build": "rbxtsc",
9
9
  "watch": "rbxtsc -w",
10
10
  "pack:check": "node scripts/pack-check.mjs",
11
- "test": "node scripts/no-internal-refs.check.mjs && node scripts/import-case.check.mjs && node --experimental-strip-types scripts/theme-scope.check.mjs && node --experimental-strip-types scripts/style-types.check.mjs && node --experimental-strip-types scripts/style-cache.check.mjs && node --experimental-strip-types scripts/style-variants.check.mjs && node --experimental-strip-types scripts/component-styles.check.mjs && node --experimental-strip-types scripts/interaction-styles.check.mjs && node --experimental-strip-types scripts/resolve-style.check.mjs && node --experimental-strip-types scripts/density.check.mjs && node --experimental-strip-types scripts/styles.check.mjs && node --experimental-strip-types scripts/contrast.check.mjs && node --experimental-strip-types scripts/primitives.check.mjs && node --experimental-strip-types scripts/paper.check.mjs && node --experimental-strip-types scripts/list-item.check.mjs && node --experimental-strip-types scripts/slider.check.mjs && node --experimental-strip-types scripts/menu.check.mjs && node --experimental-strip-types scripts/guard.check.mjs && node --experimental-strip-types scripts/breakpoints.check.mjs && node --experimental-strip-types scripts/focus-trap.check.mjs && node --experimental-strip-types scripts/select-typeahead.check.mjs && node --experimental-strip-types scripts/select-groups.check.mjs && node --experimental-strip-types scripts/select-multi.check.mjs && node --experimental-strip-types scripts/select-motion.check.mjs && node --experimental-strip-types scripts/select-polish.check.mjs && node --experimental-strip-types scripts/reduced-motion.check.mjs && node --experimental-strip-types scripts/card.check.mjs && node --experimental-strip-types scripts/chip.check.mjs && node --experimental-strip-types scripts/badge.check.mjs && node --experimental-strip-types scripts/avatar.check.mjs && node --experimental-strip-types scripts/drawer.check.mjs && node --experimental-strip-types scripts/breadcrumbs.check.mjs && node --experimental-strip-types scripts/pagination.check.mjs && node --experimental-strip-types scripts/stepper.check.mjs && node --experimental-strip-types scripts/accordion.check.mjs && node --experimental-strip-types scripts/snackbar.check.mjs && node --experimental-strip-types scripts/table.check.mjs && node --experimental-strip-types scripts/autocomplete.check.mjs && node --experimental-strip-types scripts/field-loading.check.mjs && node --experimental-strip-types scripts/fab.check.mjs && node --experimental-strip-types scripts/appbar.check.mjs && node --experimental-strip-types scripts/bottom-navigation.check.mjs && node --experimental-strip-types scripts/alert.check.mjs && node --experimental-strip-types scripts/toggle-button.check.mjs && node --experimental-strip-types scripts/link.check.mjs && node --experimental-strip-types scripts/rating.check.mjs && node --experimental-strip-types scripts/stack.check.mjs && node --experimental-strip-types scripts/speed-dial.check.mjs && node --experimental-strip-types scripts/form-text.check.mjs && node --experimental-strip-types scripts/box.check.mjs && node --experimental-strip-types scripts/image-list.check.mjs && node --experimental-strip-types scripts/radio-group.check.mjs && node --experimental-strip-types scripts/container.check.mjs && node --experimental-strip-types scripts/divider.check.mjs && node --experimental-strip-types scripts/tabs.check.mjs && node --experimental-strip-types scripts/dialog.check.mjs && node --experimental-strip-types scripts/backdrop.check.mjs && node --experimental-strip-types scripts/cframe-editor.check.mjs && node --experimental-strip-types scripts/enum-picker.check.mjs && node --experimental-strip-types scripts/number-range.check.mjs && node --experimental-strip-types scripts/rect-editor.check.mjs && node --experimental-strip-types scripts/asset-field.check.mjs && node --experimental-strip-types scripts/gradient-editor.check.mjs && node --experimental-strip-types scripts/ray-editor.check.mjs && node --experimental-strip-types scripts/physical-properties.check.mjs && node --experimental-strip-types scripts/brickcolor-picker.check.mjs",
11
+ "test": "node scripts/no-internal-refs.check.mjs && node scripts/import-case.check.mjs && node --experimental-strip-types scripts/theme-scope.check.mjs && node --experimental-strip-types scripts/style-types.check.mjs && node --experimental-strip-types scripts/style-cache.check.mjs && node --experimental-strip-types scripts/style-variants.check.mjs && node --experimental-strip-types scripts/component-styles.check.mjs && node --experimental-strip-types scripts/interaction-styles.check.mjs && node --experimental-strip-types scripts/resolve-style.check.mjs && node --experimental-strip-types scripts/density.check.mjs && node --experimental-strip-types scripts/styles.check.mjs && node --experimental-strip-types scripts/contrast.check.mjs && node --experimental-strip-types scripts/primitives.check.mjs && node --experimental-strip-types scripts/paper.check.mjs && node --experimental-strip-types scripts/list-item.check.mjs && node --experimental-strip-types scripts/slider.check.mjs && node --experimental-strip-types scripts/menu.check.mjs && node --experimental-strip-types scripts/guard.check.mjs && node --experimental-strip-types scripts/breakpoints.check.mjs && node --experimental-strip-types scripts/focus-trap.check.mjs && node --experimental-strip-types scripts/select-typeahead.check.mjs && node --experimental-strip-types scripts/select-groups.check.mjs && node --experimental-strip-types scripts/select-multi.check.mjs && node --experimental-strip-types scripts/select-motion.check.mjs && node --experimental-strip-types scripts/select-polish.check.mjs && node --experimental-strip-types scripts/reduced-motion.check.mjs && node --experimental-strip-types scripts/card.check.mjs && node --experimental-strip-types scripts/chip.check.mjs && node --experimental-strip-types scripts/badge.check.mjs && node --experimental-strip-types scripts/avatar.check.mjs && node --experimental-strip-types scripts/imageList.check.mjs && node --experimental-strip-types scripts/drawer.check.mjs && node --experimental-strip-types scripts/breadcrumbs.check.mjs && node --experimental-strip-types scripts/pagination.check.mjs && node --experimental-strip-types scripts/stepper.check.mjs && node --experimental-strip-types scripts/accordion.check.mjs && node --experimental-strip-types scripts/snackbar.check.mjs && node --experimental-strip-types scripts/table.check.mjs && node --experimental-strip-types scripts/autocomplete.check.mjs && node --experimental-strip-types scripts/field-loading.check.mjs && node --experimental-strip-types scripts/fab.check.mjs && node --experimental-strip-types scripts/appbar.check.mjs && node --experimental-strip-types scripts/bottom-navigation.check.mjs && node --experimental-strip-types scripts/alert.check.mjs && node --experimental-strip-types scripts/toggle-button.check.mjs && node --experimental-strip-types scripts/link.check.mjs && node --experimental-strip-types scripts/rating.check.mjs && node --experimental-strip-types scripts/stack.check.mjs && node --experimental-strip-types scripts/speed-dial.check.mjs && node --experimental-strip-types scripts/form-text.check.mjs && node --experimental-strip-types scripts/box.check.mjs && node --experimental-strip-types scripts/image-list.check.mjs && node --experimental-strip-types scripts/radio-group.check.mjs && node --experimental-strip-types scripts/container.check.mjs && node --experimental-strip-types scripts/divider.check.mjs && node --experimental-strip-types scripts/tabs.check.mjs && node --experimental-strip-types scripts/dialog.check.mjs && node --experimental-strip-types scripts/backdrop.check.mjs && node --experimental-strip-types scripts/cframe-editor.check.mjs && node --experimental-strip-types scripts/enum-picker.check.mjs && node --experimental-strip-types scripts/number-range.check.mjs && node --experimental-strip-types scripts/rect-editor.check.mjs && node --experimental-strip-types scripts/asset-field.check.mjs && node --experimental-strip-types scripts/gradient-editor.check.mjs && node --experimental-strip-types scripts/ray-editor.check.mjs && node --experimental-strip-types scripts/physical-properties.check.mjs && node --experimental-strip-types scripts/brickcolor-picker.check.mjs",
12
12
  "prepublishOnly": "pnpm build"
13
13
  },
14
14
  "keywords": [