@rbxts/uiblox 0.2.0-alpha.5 → 0.2.0-alpha.7

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 (72) hide show
  1. package/out/ui/packages/alert/components/Alert.luau +34 -27
  2. package/out/ui/packages/alert/components/Alert.styles.d.ts +1 -0
  3. package/out/ui/packages/alert/components/Alert.styles.luau +10 -2
  4. package/out/ui/packages/backdrop/components/Backdrop.d.ts +10 -0
  5. package/out/ui/packages/backdrop/components/Backdrop.luau +58 -0
  6. package/out/ui/packages/backdrop/components/Backdrop.styles.d.ts +4 -0
  7. package/out/ui/packages/backdrop/components/Backdrop.styles.luau +24 -0
  8. package/out/ui/packages/backdrop/index.d.ts +2 -0
  9. package/out/ui/packages/backdrop/init.luau +5 -0
  10. package/out/ui/packages/badge/components/Badge.styles.luau +6 -3
  11. package/out/ui/packages/checkbox/components/checkboxLook.d.ts +1 -1
  12. package/out/ui/packages/chip/components/Chip.d.ts +2 -1
  13. package/out/ui/packages/chip/components/Chip.luau +2 -0
  14. package/out/ui/packages/chip/components/Chip.styles.d.ts +2 -0
  15. package/out/ui/packages/chip/components/Chip.styles.luau +13 -7
  16. package/out/ui/packages/circularProgress/components/CircularProgress.luau +13 -2
  17. package/out/ui/packages/dialog/components/Dialog.d.ts +1 -1
  18. package/out/ui/packages/dialog/components/Dialog.luau +27 -18
  19. package/out/ui/packages/imageList/components/ImageList.d.ts +14 -0
  20. package/out/ui/packages/imageList/components/ImageList.luau +84 -0
  21. package/out/ui/packages/imageList/components/ImageList.styles.d.ts +6 -0
  22. package/out/ui/packages/imageList/components/ImageList.styles.luau +54 -0
  23. package/out/ui/packages/imageList/components/imageListLayout.d.ts +3 -0
  24. package/out/ui/packages/imageList/components/imageListLayout.luau +24 -0
  25. package/out/ui/packages/imageList/index.d.ts +2 -0
  26. package/out/ui/packages/imageList/init.luau +5 -0
  27. package/out/ui/packages/index.d.ts +2 -0
  28. package/out/ui/packages/init.luau +6 -0
  29. package/out/ui/packages/layout/components/Box.d.ts +11 -0
  30. package/out/ui/packages/layout/components/Box.luau +49 -0
  31. package/out/ui/packages/layout/components/Box.styles.d.ts +7 -0
  32. package/out/ui/packages/layout/components/Box.styles.luau +34 -0
  33. package/out/ui/packages/layout/components/Container.d.ts +10 -0
  34. package/out/ui/packages/layout/components/Container.luau +54 -0
  35. package/out/ui/packages/layout/components/Container.styles.d.ts +6 -0
  36. package/out/ui/packages/layout/components/Container.styles.luau +41 -0
  37. package/out/ui/packages/layout/components/Grid.d.ts +1 -1
  38. package/out/ui/packages/layout/components/boxPad.d.ts +14 -0
  39. package/out/ui/packages/layout/components/boxPad.luau +59 -0
  40. package/out/ui/packages/layout/components/containerWidth.d.ts +2 -0
  41. package/out/ui/packages/layout/components/containerWidth.luau +17 -0
  42. package/out/ui/packages/layout/index.d.ts +7 -0
  43. package/out/ui/packages/layout/init.luau +3 -0
  44. package/out/ui/packages/modal/components/Modal.d.ts +1 -1
  45. package/out/ui/packages/modal/components/Modal.luau +55 -37
  46. package/out/ui/packages/motion/index.d.ts +1 -1
  47. package/out/ui/packages/motion/init.luau +1 -0
  48. package/out/ui/packages/motion/unit.d.ts +5 -0
  49. package/out/ui/packages/motion/unit.luau +23 -0
  50. package/out/ui/packages/popup/index.d.ts +1 -0
  51. package/out/ui/packages/popup/init.luau +1 -0
  52. package/out/ui/packages/radioGroup/components/RadioGroup.d.ts +1 -0
  53. package/out/ui/packages/radioGroup/components/RadioGroup.luau +4 -2
  54. package/out/ui/packages/radioGroup/components/RadioGroup.styles.d.ts +1 -0
  55. package/out/ui/packages/radioGroup/components/RadioGroup.styles.luau +4 -1
  56. package/out/ui/packages/skeleton/components/Skeleton.styles.luau +7 -3
  57. package/out/ui/packages/skeleton/components/skeletonTone.d.ts +20 -0
  58. package/out/ui/packages/skeleton/components/skeletonTone.luau +14 -0
  59. package/out/ui/packages/splitPane/components/splitLook.d.ts +1 -1
  60. package/out/ui/packages/stateMatrix.d.ts +1 -0
  61. package/out/ui/packages/stateMatrix.luau +191 -85
  62. package/out/ui/packages/switch/components/switchLook.d.ts +1 -1
  63. package/out/ui/packages/tabs/components/Tabs.d.ts +2 -0
  64. package/out/ui/packages/tabs/components/Tabs.luau +10 -3
  65. package/out/ui/packages/tabs/components/Tabs.styles.d.ts +4 -1
  66. package/out/ui/packages/tabs/components/Tabs.styles.luau +24 -10
  67. package/out/ui/packages/tabs/components/tabsOrientation.d.ts +2 -0
  68. package/out/ui/packages/tabs/components/tabsOrientation.luau +7 -0
  69. package/out/ui/packages/tabs/index.d.ts +1 -0
  70. package/out/ui/packages/tabs/init.luau +1 -0
  71. package/out/ui/packages/toast/components/Toast.styles.luau +1 -1
  72. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
1
  import { ControlSize } from "../../../../theme/index";
2
2
  export interface RadioGroupStyleProps {
3
3
  size?: ControlSize;
4
+ row?: boolean;
4
5
  }
5
6
  declare const useRadioGroupStyles: (props: RadioGroupStyleProps) => import("../../../../theme/index").ClassNameMap<string>;
6
7
  export default useRadioGroupStyles;
@@ -6,6 +6,7 @@ local createStyles = _theme.createStyles
6
6
  local componentStyles = _theme.componentStyles
7
7
  local useRadioGroupStyles = componentStyles("RadioGroup", function(theme, _param)
8
8
  local size = _param.size
9
+ local row = _param.row
9
10
  local metrics = controlMetrics(theme.density, size)
10
11
  return createStyles({
11
12
  root = {
@@ -15,8 +16,10 @@ local useRadioGroupStyles = componentStyles("RadioGroup", function(theme, _param
15
16
  BorderSizePixel = 0,
16
17
  },
17
18
  list = {
19
+ FillDirection = if row == true then Enum.FillDirection.Horizontal else Enum.FillDirection.Vertical,
18
20
  Padding = UDim.new(0, theme.padding.default),
19
21
  SortOrder = Enum.SortOrder.LayoutOrder,
22
+ VerticalAlignment = Enum.VerticalAlignment.Center,
20
23
  },
21
24
  option = {
22
25
  AutomaticSize = Enum.AutomaticSize.XY,
@@ -25,7 +28,7 @@ local useRadioGroupStyles = componentStyles("RadioGroup", function(theme, _param
25
28
  BorderSizePixel = 0,
26
29
  Text = "",
27
30
  },
28
- row = {
31
+ optionRow = {
29
32
  FillDirection = Enum.FillDirection.Horizontal,
30
33
  Padding = UDim.new(0, theme.padding.default),
31
34
  VerticalAlignment = Enum.VerticalAlignment.Center,
@@ -3,16 +3,20 @@ local TS = _G[script]
3
3
  local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
4
4
  local createStyles = _theme.createStyles
5
5
  local componentStyles = _theme.componentStyles
6
+ local skeletonTone = TS.import(script, script.Parent, "skeletonTone").skeletonTone
6
7
  local useSkeletonStyles = componentStyles("Skeleton", function(theme)
8
+ local _binding = skeletonTone(theme)
9
+ local bone = _binding.bone
10
+ local shine = _binding.shine
7
11
  return createStyles({
8
12
  block = {
9
- BackgroundColor3 = theme.palette.divider,
13
+ BackgroundColor3 = bone,
10
14
  BackgroundTransparency = 0,
11
15
  BorderSizePixel = 0,
12
16
  },
13
17
  highlight = {
14
- Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, theme.palette.divider), ColorSequenceKeypoint.new(0.5, theme.palette.text.secondary), ColorSequenceKeypoint.new(1, theme.palette.divider) }),
15
- Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.25), NumberSequenceKeypoint.new(0.5, 0), NumberSequenceKeypoint.new(1, 0.25) }),
18
+ Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, bone), ColorSequenceKeypoint.new(0.5, shine), ColorSequenceKeypoint.new(1, bone) }),
19
+ Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.35), NumberSequenceKeypoint.new(0.5, 0), NumberSequenceKeypoint.new(1, 0.35) }),
16
20
  },
17
21
  rounded = {
18
22
  CornerRadius = UDim.new(0, theme.shape.borderRadius),
@@ -0,0 +1,20 @@
1
+ interface SkeletonPalette {
2
+ surface: {
3
+ canvas: Color3;
4
+ elevated: Color3;
5
+ };
6
+ action: {
7
+ hover: Color3;
8
+ };
9
+ text: {
10
+ secondary: Color3;
11
+ };
12
+ }
13
+ /** Bone + shimmer peak from semantic tokens; shine always lifts off the bone vs canvas. */
14
+ export declare function skeletonTone(theme: {
15
+ palette: SkeletonPalette;
16
+ }): {
17
+ bone: Color3;
18
+ shine: Color3;
19
+ };
20
+ export {};
@@ -0,0 +1,14 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local relativeLuminance = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme", "utilites", "colorMath").relativeLuminance
4
+ --* Bone + shimmer peak from semantic tokens; shine always lifts off the bone vs canvas.
5
+ local function skeletonTone(theme)
6
+ local lightCanvas = relativeLuminance(theme.palette.surface.canvas) > 0.5
7
+ return {
8
+ bone = theme.palette.action.hover,
9
+ shine = if lightCanvas then theme.palette.surface.elevated else theme.palette.text.secondary,
10
+ }
11
+ end
12
+ return {
13
+ skeletonTone = skeletonTone,
14
+ }
@@ -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;
@@ -26,5 +26,6 @@ export interface StateCapture {
26
26
  indeterminate?: boolean;
27
27
  size?: StateSize;
28
28
  density?: StateDensity;
29
+ row?: boolean;
29
30
  }
30
31
  export declare const stateMatrix: StateCapture[];
@@ -713,29 +713,37 @@ local function togglesRows()
713
713
  local _Length_31 = #_array_32
714
714
  table.move(_array_32, 1, _Length_31, _length + 1, _array)
715
715
  _length += _Length_31
716
- local _array_33 = pair("RadioGroup", "size-small", {
716
+ local _array_33 = pair("RadioGroup", "row", {
717
717
  value = "Continue",
718
718
  options = { "Continue", "Other" },
719
- size = "small",
719
+ row = true,
720
720
  })
721
721
  local _Length_32 = #_array_33
722
722
  table.move(_array_33, 1, _Length_32, _length + 1, _array)
723
723
  _length += _Length_32
724
- local _array_34 = pair("RadioGroup", "size-large", {
724
+ local _array_34 = pair("RadioGroup", "size-small", {
725
725
  value = "Continue",
726
726
  options = { "Continue", "Other" },
727
- size = "large",
727
+ size = "small",
728
728
  })
729
729
  local _Length_33 = #_array_34
730
730
  table.move(_array_34, 1, _Length_33, _length + 1, _array)
731
731
  _length += _Length_33
732
- local _array_35 = pair("RadioGroup", "density-compact", {
732
+ local _array_35 = pair("RadioGroup", "size-large", {
733
+ value = "Continue",
734
+ options = { "Continue", "Other" },
735
+ size = "large",
736
+ })
737
+ local _Length_34 = #_array_35
738
+ table.move(_array_35, 1, _Length_34, _length + 1, _array)
739
+ _length += _Length_34
740
+ local _array_36 = pair("RadioGroup", "density-compact", {
733
741
  value = "Continue",
734
742
  options = { "Continue", "Other" },
735
743
  density = "compact",
736
744
  size = "small",
737
745
  })
738
- table.move(_array_35, 1, #_array_35, _length + 1, _array)
746
+ table.move(_array_36, 1, #_array_36, _length + 1, _array)
739
747
  return _array
740
748
  end
741
749
  local function compositeRows()
@@ -907,123 +915,131 @@ local function compositeRows()
907
915
  local _Length_19 = #_array_20
908
916
  table.move(_array_20, 1, _Length_19, _length + 1, _array)
909
917
  _length += _Length_19
910
- local _array_21 = pair("Tabs", "disabled", {
918
+ local _array_21 = pair("Tabs", "vertical", {
911
919
  value = "Continue",
912
920
  options = { "Continue", "Docs", "Actions" },
913
- disabled = true,
921
+ variant = "vertical",
914
922
  })
915
923
  local _Length_20 = #_array_21
916
924
  table.move(_array_21, 1, _Length_20, _length + 1, _array)
917
925
  _length += _Length_20
918
- local _array_22 = pair("Tabs", "hover", {
926
+ local _array_22 = pair("Tabs", "disabled", {
919
927
  value = "Continue",
920
928
  options = { "Continue", "Docs", "Actions" },
921
- pointer = "hover",
929
+ disabled = true,
922
930
  })
923
931
  local _Length_21 = #_array_22
924
932
  table.move(_array_22, 1, _Length_21, _length + 1, _array)
925
933
  _length += _Length_21
926
- local _array_23 = pair("Tabs", "long", {
927
- value = LONG,
928
- options = { LONG, "Docs", "Actions", "Source", "Settings" },
929
- text = LONG,
930
- width = NARROW,
934
+ local _array_23 = pair("Tabs", "hover", {
935
+ value = "Continue",
936
+ options = { "Continue", "Docs", "Actions" },
937
+ pointer = "hover",
931
938
  })
932
939
  local _Length_22 = #_array_23
933
940
  table.move(_array_23, 1, _Length_22, _length + 1, _array)
934
941
  _length += _Length_22
935
- local _array_24 = pair("SplitPane", "default", {
936
- value = 160,
942
+ local _array_24 = pair("Tabs", "long", {
943
+ value = LONG,
944
+ options = { LONG, "Docs", "Actions", "Source", "Settings" },
945
+ text = LONG,
946
+ width = NARROW,
937
947
  })
938
948
  local _Length_23 = #_array_24
939
949
  table.move(_array_24, 1, _Length_23, _length + 1, _array)
940
950
  _length += _Length_23
941
- local _array_25 = pair("SplitPane", "disabled", {
951
+ local _array_25 = pair("SplitPane", "default", {
942
952
  value = 160,
943
- disabled = true,
944
953
  })
945
954
  local _Length_24 = #_array_25
946
955
  table.move(_array_25, 1, _Length_24, _length + 1, _array)
947
956
  _length += _Length_24
948
- local _array_26 = pair("SplitPane", "hover", {
957
+ local _array_26 = pair("SplitPane", "disabled", {
949
958
  value = 160,
950
- pointer = "hover",
959
+ disabled = true,
951
960
  })
952
961
  local _Length_25 = #_array_26
953
962
  table.move(_array_26, 1, _Length_25, _length + 1, _array)
954
963
  _length += _Length_25
955
- local _array_27 = pair("SplitPane", "drag", {
964
+ local _array_27 = pair("SplitPane", "hover", {
956
965
  value = 160,
957
- pointer = "press",
966
+ pointer = "hover",
958
967
  })
959
968
  local _Length_26 = #_array_27
960
969
  table.move(_array_27, 1, _Length_26, _length + 1, _array)
961
970
  _length += _Length_26
962
- local _array_28 = pair("SplitPane", "long", {
963
- value = 80,
964
- text = LONG,
965
- width = NARROW,
971
+ local _array_28 = pair("SplitPane", "drag", {
972
+ value = 160,
973
+ pointer = "press",
966
974
  })
967
975
  local _Length_27 = #_array_28
968
976
  table.move(_array_28, 1, _Length_27, _length + 1, _array)
969
977
  _length += _Length_27
970
- local _array_29 = pair("Tooltip", "hidden")
978
+ local _array_29 = pair("SplitPane", "long", {
979
+ value = 80,
980
+ text = LONG,
981
+ width = NARROW,
982
+ })
971
983
  local _Length_28 = #_array_29
972
984
  table.move(_array_29, 1, _Length_28, _length + 1, _array)
973
985
  _length += _Length_28
974
- local _array_30 = pair("Tooltip", "shown", {
975
- pointer = "hover",
976
- })
986
+ local _array_30 = pair("Tooltip", "hidden")
977
987
  local _Length_29 = #_array_30
978
988
  table.move(_array_30, 1, _Length_29, _length + 1, _array)
979
989
  _length += _Length_29
980
- local _array_31 = pair("Tooltip", "long", {
981
- text = LONG,
982
- width = NARROW,
990
+ local _array_31 = pair("Tooltip", "shown", {
983
991
  pointer = "hover",
984
992
  })
985
993
  local _Length_30 = #_array_31
986
994
  table.move(_array_31, 1, _Length_30, _length + 1, _array)
987
995
  _length += _Length_30
988
- local _array_32 = pair("TreeView", "default", {
989
- selected = "Fixture/Styled",
996
+ local _array_32 = pair("Tooltip", "long", {
997
+ text = LONG,
998
+ width = NARROW,
999
+ pointer = "hover",
990
1000
  })
991
1001
  local _Length_31 = #_array_32
992
1002
  table.move(_array_32, 1, _Length_31, _length + 1, _array)
993
1003
  _length += _Length_31
994
- local _array_33 = pair("TreeView", "hover", {
1004
+ local _array_33 = pair("TreeView", "default", {
995
1005
  selected = "Fixture/Styled",
996
- pointer = "hover",
997
1006
  })
998
1007
  local _Length_32 = #_array_33
999
1008
  table.move(_array_33, 1, _Length_32, _length + 1, _array)
1000
1009
  _length += _Length_32
1001
- local _array_34 = pair("TreeView", "filter", {
1010
+ local _array_34 = pair("TreeView", "hover", {
1002
1011
  selected = "Fixture/Styled",
1003
- filter = "sty",
1012
+ pointer = "hover",
1004
1013
  })
1005
1014
  local _Length_33 = #_array_34
1006
1015
  table.move(_array_34, 1, _Length_33, _length + 1, _array)
1007
1016
  _length += _Length_33
1008
- local _array_35 = pair("TreeView", "long", {
1009
- selected = `Fixture/{LONG}`,
1010
- text = LONG,
1011
- width = NARROW,
1017
+ local _array_35 = pair("TreeView", "filter", {
1018
+ selected = "Fixture/Styled",
1019
+ filter = "sty",
1012
1020
  })
1013
1021
  local _Length_34 = #_array_35
1014
1022
  table.move(_array_35, 1, _Length_34, _length + 1, _array)
1015
1023
  _length += _Length_34
1016
- local _array_36 = pair("IconButton", "loading", {
1017
- loading = true,
1024
+ local _array_36 = pair("TreeView", "long", {
1025
+ selected = `Fixture/{LONG}`,
1026
+ text = LONG,
1027
+ width = NARROW,
1018
1028
  })
1019
1029
  local _Length_35 = #_array_36
1020
1030
  table.move(_array_36, 1, _Length_35, _length + 1, _array)
1021
1031
  _length += _Length_35
1022
- local _array_37 = pair("IconButton", "loading-disabled", {
1032
+ local _array_37 = pair("IconButton", "loading", {
1033
+ loading = true,
1034
+ })
1035
+ local _Length_36 = #_array_37
1036
+ table.move(_array_37, 1, _Length_36, _length + 1, _array)
1037
+ _length += _Length_36
1038
+ local _array_38 = pair("IconButton", "loading-disabled", {
1023
1039
  loading = true,
1024
1040
  disabled = true,
1025
1041
  })
1026
- table.move(_array_37, 1, #_array_37, _length + 1, _array)
1042
+ table.move(_array_38, 1, #_array_38, _length + 1, _array)
1027
1043
  return _array
1028
1044
  end
1029
1045
  local function surfacesRows()
@@ -1224,34 +1240,46 @@ local function surfacesRows()
1224
1240
  local _Length_30 = #_array_31
1225
1241
  table.move(_array_31, 1, _Length_30, _length + 1, _array)
1226
1242
  _length += _Length_30
1227
- local _array_32 = pair("Chip", "selected", {
1228
- value = true,
1243
+ local _array_32 = pair("Chip", "size-small", {
1244
+ size = "small",
1229
1245
  })
1230
1246
  local _Length_31 = #_array_32
1231
1247
  table.move(_array_32, 1, _Length_31, _length + 1, _array)
1232
1248
  _length += _Length_31
1233
- local _array_33 = pair("Chip", "disabled", {
1234
- disabled = true,
1249
+ local _array_33 = pair("Chip", "size-large", {
1250
+ size = "large",
1235
1251
  })
1236
1252
  local _Length_32 = #_array_33
1237
1253
  table.move(_array_33, 1, _Length_32, _length + 1, _array)
1238
1254
  _length += _Length_32
1239
- local _array_34 = pair("Chip", "deletable", {
1240
- text = "Tag",
1255
+ local _array_34 = pair("Chip", "selected", {
1256
+ value = true,
1241
1257
  })
1242
1258
  local _Length_33 = #_array_34
1243
1259
  table.move(_array_34, 1, _Length_33, _length + 1, _array)
1244
1260
  _length += _Length_33
1245
- local _array_35 = pair("Badge", "count", {
1246
- value = 3,
1261
+ local _array_35 = pair("Chip", "disabled", {
1262
+ disabled = true,
1247
1263
  })
1248
1264
  local _Length_34 = #_array_35
1249
1265
  table.move(_array_35, 1, _Length_34, _length + 1, _array)
1250
1266
  _length += _Length_34
1251
- local _array_36 = pair("Badge", "max", {
1267
+ local _array_36 = pair("Chip", "deletable", {
1268
+ text = "Tag",
1269
+ })
1270
+ local _Length_35 = #_array_36
1271
+ table.move(_array_36, 1, _Length_35, _length + 1, _array)
1272
+ _length += _Length_35
1273
+ local _array_37 = pair("Badge", "count", {
1274
+ value = 3,
1275
+ })
1276
+ local _Length_36 = #_array_37
1277
+ table.move(_array_37, 1, _Length_36, _length + 1, _array)
1278
+ _length += _Length_36
1279
+ local _array_38 = pair("Badge", "max", {
1252
1280
  value = 100,
1253
1281
  })
1254
- table.move(_array_36, 1, #_array_36, _length + 1, _array)
1282
+ table.move(_array_38, 1, #_array_38, _length + 1, _array)
1255
1283
  return _array
1256
1284
  end
1257
1285
  local function chromeRows()
@@ -1638,75 +1666,153 @@ local function miscRows()
1638
1666
  local _Length_20 = #_array_21
1639
1667
  table.move(_array_21, 1, _Length_20, _length + 1, _array)
1640
1668
  _length += _Length_20
1641
- local _array_22 = pair("SpeedDial", "closed", {
1642
- open = false,
1643
- })
1669
+ local _array_22 = pair("Box", "plain")
1644
1670
  local _Length_21 = #_array_22
1645
1671
  table.move(_array_22, 1, _Length_21, _length + 1, _array)
1646
1672
  _length += _Length_21
1647
- local _array_23 = pair("SpeedDial", "open", {
1648
- open = true,
1673
+ local _array_23 = pair("Box", "padded", {
1674
+ size = "medium",
1649
1675
  })
1650
1676
  local _Length_22 = #_array_23
1651
1677
  table.move(_array_23, 1, _Length_22, _length + 1, _array)
1652
1678
  _length += _Length_22
1653
- local _array_24 = pair("SpeedDial", "disabled", {
1654
- open = false,
1655
- disabled = true,
1679
+ local _array_24 = pair("Box", "paper", {
1680
+ variant = "paper",
1656
1681
  })
1657
1682
  local _Length_23 = #_array_24
1658
1683
  table.move(_array_24, 1, _Length_23, _length + 1, _array)
1659
1684
  _length += _Length_23
1660
- local _array_25 = pair("FormLabel", "default", {
1661
- text = "Email",
1685
+ local _array_25 = pair("Container", "default", {
1686
+ variant = "lg",
1662
1687
  })
1663
1688
  local _Length_24 = #_array_25
1664
1689
  table.move(_array_25, 1, _Length_24, _length + 1, _array)
1665
1690
  _length += _Length_24
1666
- local _array_26 = pair("FormLabel", "required", {
1667
- text = "Email",
1668
- value = true,
1691
+ local _array_26 = pair("Container", "sm", {
1692
+ variant = "sm",
1669
1693
  })
1670
1694
  local _Length_25 = #_array_26
1671
1695
  table.move(_array_26, 1, _Length_25, _length + 1, _array)
1672
1696
  _length += _Length_25
1673
- local _array_27 = pair("FormLabel", "error", {
1674
- text = "Email",
1675
- hasError = true,
1697
+ local _array_27 = pair("Container", "fluid", {
1698
+ variant = "false",
1676
1699
  })
1677
1700
  local _Length_26 = #_array_27
1678
1701
  table.move(_array_27, 1, _Length_26, _length + 1, _array)
1679
1702
  _length += _Length_26
1680
- local _array_28 = pair("FormHelperText", "default", {
1681
- text = "We never share this",
1682
- })
1703
+ local _array_28 = pair("Backdrop", "default")
1683
1704
  local _Length_27 = #_array_28
1684
1705
  table.move(_array_28, 1, _Length_27, _length + 1, _array)
1685
1706
  _length += _Length_27
1686
- local _array_29 = pair("FormHelperText", "error", {
1687
- text = "Required",
1688
- hasError = true,
1707
+ local _array_29 = pair("Backdrop", "invisible", {
1708
+ variant = "invisible",
1689
1709
  })
1690
1710
  local _Length_28 = #_array_29
1691
1711
  table.move(_array_29, 1, _Length_28, _length + 1, _array)
1692
1712
  _length += _Length_28
1693
- local _array_30 = pair("Menu", "closed", {
1713
+ local _array_30 = pair("Backdrop", "closed", {
1694
1714
  open = false,
1695
1715
  })
1696
1716
  local _Length_29 = #_array_30
1697
1717
  table.move(_array_30, 1, _Length_29, _length + 1, _array)
1698
1718
  _length += _Length_29
1699
- local _array_31 = pair("Menu", "open", {
1700
- open = true,
1719
+ local _array_31 = pair("Divider", "horizontal", {
1720
+ variant = "horizontal",
1701
1721
  })
1702
1722
  local _Length_30 = #_array_31
1703
1723
  table.move(_array_31, 1, _Length_30, _length + 1, _array)
1704
1724
  _length += _Length_30
1705
- local _array_32 = pair("Menu", "empty", {
1725
+ local _array_32 = pair("Divider", "vertical", {
1726
+ variant = "vertical",
1727
+ })
1728
+ local _Length_31 = #_array_32
1729
+ table.move(_array_32, 1, _Length_31, _length + 1, _array)
1730
+ _length += _Length_31
1731
+ local _array_33 = pair("ImageList", "default")
1732
+ local _Length_32 = #_array_33
1733
+ table.move(_array_33, 1, _Length_32, _length + 1, _array)
1734
+ _length += _Length_32
1735
+ local _array_34 = pair("ImageList", "dense", {
1736
+ size = "small",
1737
+ })
1738
+ local _Length_33 = #_array_34
1739
+ table.move(_array_34, 1, _Length_33, _length + 1, _array)
1740
+ _length += _Length_33
1741
+ local _array_35 = pair("ImageList", "wide", {
1742
+ size = "large",
1743
+ })
1744
+ local _Length_34 = #_array_35
1745
+ table.move(_array_35, 1, _Length_34, _length + 1, _array)
1746
+ _length += _Length_34
1747
+ local _array_36 = pair("SpeedDial", "closed", {
1748
+ open = false,
1749
+ })
1750
+ local _Length_35 = #_array_36
1751
+ table.move(_array_36, 1, _Length_35, _length + 1, _array)
1752
+ _length += _Length_35
1753
+ local _array_37 = pair("SpeedDial", "open", {
1754
+ open = true,
1755
+ })
1756
+ local _Length_36 = #_array_37
1757
+ table.move(_array_37, 1, _Length_36, _length + 1, _array)
1758
+ _length += _Length_36
1759
+ local _array_38 = pair("SpeedDial", "disabled", {
1760
+ open = false,
1761
+ disabled = true,
1762
+ })
1763
+ local _Length_37 = #_array_38
1764
+ table.move(_array_38, 1, _Length_37, _length + 1, _array)
1765
+ _length += _Length_37
1766
+ local _array_39 = pair("FormLabel", "default", {
1767
+ text = "Email",
1768
+ })
1769
+ local _Length_38 = #_array_39
1770
+ table.move(_array_39, 1, _Length_38, _length + 1, _array)
1771
+ _length += _Length_38
1772
+ local _array_40 = pair("FormLabel", "required", {
1773
+ text = "Email",
1774
+ value = true,
1775
+ })
1776
+ local _Length_39 = #_array_40
1777
+ table.move(_array_40, 1, _Length_39, _length + 1, _array)
1778
+ _length += _Length_39
1779
+ local _array_41 = pair("FormLabel", "error", {
1780
+ text = "Email",
1781
+ hasError = true,
1782
+ })
1783
+ local _Length_40 = #_array_41
1784
+ table.move(_array_41, 1, _Length_40, _length + 1, _array)
1785
+ _length += _Length_40
1786
+ local _array_42 = pair("FormHelperText", "default", {
1787
+ text = "We never share this",
1788
+ })
1789
+ local _Length_41 = #_array_42
1790
+ table.move(_array_42, 1, _Length_41, _length + 1, _array)
1791
+ _length += _Length_41
1792
+ local _array_43 = pair("FormHelperText", "error", {
1793
+ text = "Required",
1794
+ hasError = true,
1795
+ })
1796
+ local _Length_42 = #_array_43
1797
+ table.move(_array_43, 1, _Length_42, _length + 1, _array)
1798
+ _length += _Length_42
1799
+ local _array_44 = pair("Menu", "closed", {
1800
+ open = false,
1801
+ })
1802
+ local _Length_43 = #_array_44
1803
+ table.move(_array_44, 1, _Length_43, _length + 1, _array)
1804
+ _length += _Length_43
1805
+ local _array_45 = pair("Menu", "open", {
1806
+ open = true,
1807
+ })
1808
+ local _Length_44 = #_array_45
1809
+ table.move(_array_45, 1, _Length_44, _length + 1, _array)
1810
+ _length += _Length_44
1811
+ local _array_46 = pair("Menu", "empty", {
1706
1812
  open = true,
1707
1813
  options = {},
1708
1814
  })
1709
- table.move(_array_32, 1, #_array_32, _length + 1, _array)
1815
+ table.move(_array_46, 1, #_array_46, _length + 1, _array)
1710
1816
  return _array
1711
1817
  end
1712
1818
  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): {
@@ -1,10 +1,12 @@
1
1
  import { CustomizedProps } from "../../../../theme/index";
2
2
  import { ChoiceOption } from "../../radioGroup/index";
3
+ import { TabsOrientation } from "./tabsOrientation";
3
4
  export interface TabsProps<T> {
4
5
  value: T;
5
6
  options: ChoiceOption<T>[];
6
7
  onChange: (value: T) => void;
7
8
  disabled?: boolean;
9
+ orientation?: TabsOrientation;
8
10
  }
9
11
  declare function Tabs<T>(props: CustomizedProps<ScrollingFrame, TabsProps<T>>): JSX.Element;
10
12
  export default Tabs;
@@ -4,6 +4,7 @@ local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
4
  local cx = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme").cx
5
5
  local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
6
6
  local stepChoice = TS.import(script, script.Parent.Parent.Parent, "select", "components", "stepChoice").stepChoice
7
+ local tabsIsVertical = TS.import(script, script.Parent, "tabsOrientation").tabsIsVertical
7
8
  local useTabsStyles = TS.import(script, script.Parent, "Tabs.styles").default
8
9
  local function Tabs(props)
9
10
  local _binding = props
@@ -11,11 +12,15 @@ local function Tabs(props)
11
12
  local options = _binding.options
12
13
  local onChange = _binding.onChange
13
14
  local disabled = _binding.disabled
15
+ local orientation = _binding.orientation
14
16
  local className = _binding.className
15
17
  local sx = _binding.sx
16
18
  local id = _binding.id
17
19
  local ref = _binding.ref
18
- local styles = useTabsStyles()
20
+ local styles = useTabsStyles({
21
+ orientation = orientation,
22
+ })
23
+ local vertical = tabsIsVertical(orientation)
19
24
  local choose = function(index)
20
25
  local choice = options[index + 1]
21
26
  if choice ~= nil and canActivate(disabled or choice.disabled) and choice.value ~= value then
@@ -36,9 +41,11 @@ local function Tabs(props)
36
41
  end
37
42
  -- ▲ ReadonlyArray.findIndex ▲
38
43
  local index = _result
39
- if input.KeyCode == Enum.KeyCode.Left then
44
+ local back = if vertical then Enum.KeyCode.Up else Enum.KeyCode.Left
45
+ local forward = if vertical then Enum.KeyCode.Down else Enum.KeyCode.Right
46
+ if input.KeyCode == back then
40
47
  choose(stepChoice(options, index, -1))
41
- elseif input.KeyCode == Enum.KeyCode.Right then
48
+ elseif input.KeyCode == forward then
42
49
  choose(stepChoice(options, index, 1))
43
50
  end
44
51
  end
@@ -1,2 +1,5 @@
1
- declare const useTabsStyles: () => import("../../../../theme/index").ClassNameMap<string>;
1
+ import { TabsOrientation } from "./tabsOrientation";
2
+ declare const useTabsStyles: (props: {
3
+ orientation?: TabsOrientation;
4
+ }) => import("../../../../theme/index").ClassNameMap<string>;
2
5
  export default useTabsStyles;