@rbxts/uiblox 0.2.0-alpha.25 → 0.2.0-alpha.26

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 (106) hide show
  1. package/out/ui/packages/accordion/components/Accordion.luau +12 -16
  2. package/out/ui/packages/alert/components/Alert.luau +9 -16
  3. package/out/ui/packages/appBar/components/AppBar.luau +9 -16
  4. package/out/ui/packages/assetField/components/AssetField.luau +12 -16
  5. package/out/ui/packages/avatar/components/Avatar.luau +9 -16
  6. package/out/ui/packages/backdrop/components/Backdrop.luau +9 -16
  7. package/out/ui/packages/badge/components/Badge.luau +9 -16
  8. package/out/ui/packages/bottomNavigation/components/BottomNavigation.luau +12 -16
  9. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.luau +9 -16
  10. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.luau +12 -16
  11. package/out/ui/packages/button/components/Button.luau +20 -18
  12. package/out/ui/packages/card/components/Card.d.ts +2 -1
  13. package/out/ui/packages/card/components/Card.luau +8 -0
  14. package/out/ui/packages/cframeEditor/components/CFrameEditor.luau +12 -16
  15. package/out/ui/packages/checkbox/components/Checkbox.luau +16 -16
  16. package/out/ui/packages/chip/components/Chip.luau +13 -16
  17. package/out/ui/packages/circularProgress/components/CircularProgress.luau +16 -16
  18. package/out/ui/packages/colorPicker/components/ColorPicker.luau +12 -16
  19. package/out/ui/packages/colorPicker/components/ColorSequenceEditor.luau +12 -16
  20. package/out/ui/packages/colorPicker/components/NumberSequenceEditor.luau +12 -16
  21. package/out/ui/packages/dialog/components/Dialog.d.ts +2 -1
  22. package/out/ui/packages/dialog/components/Dialog.luau +21 -10
  23. package/out/ui/packages/divider/components/Divider.luau +20 -33
  24. package/out/ui/packages/drawer/components/Drawer.d.ts +2 -1
  25. package/out/ui/packages/drawer/components/Drawer.luau +18 -5
  26. package/out/ui/packages/fab/components/Fab.luau +15 -16
  27. package/out/ui/packages/fontEditor/components/FontEditor.luau +12 -16
  28. package/out/ui/packages/formText/components/FormHelperText.luau +12 -16
  29. package/out/ui/packages/formText/components/FormLabel.luau +12 -16
  30. package/out/ui/packages/gradientEditor/components/GradientEditor.luau +12 -16
  31. package/out/ui/packages/host/components/SxHost.d.ts +18 -0
  32. package/out/ui/packages/host/components/SxHost.luau +197 -0
  33. package/out/ui/packages/host/hostPaint.d.ts +11 -0
  34. package/out/ui/packages/host/hostPaint.luau +33 -0
  35. package/out/ui/packages/host/hostRules.d.ts +15 -0
  36. package/out/ui/packages/host/hostRules.luau +92 -0
  37. package/out/ui/packages/host/index.d.ts +3 -0
  38. package/out/ui/packages/host/init.luau +13 -0
  39. package/out/ui/packages/icon/components/Icon.luau +9 -16
  40. package/out/ui/packages/iconButton/components/IconButton.luau +16 -16
  41. package/out/ui/packages/imageList/components/ImageList.luau +9 -16
  42. package/out/ui/packages/imageList/components/ImageList.styles.luau +4 -3
  43. package/out/ui/packages/input/components/Input.luau +14 -16
  44. package/out/ui/packages/layout/components/Box.luau +6 -15
  45. package/out/ui/packages/layout/components/Container.luau +6 -15
  46. package/out/ui/packages/layout/components/FlexItem.luau +6 -15
  47. package/out/ui/packages/layout/components/Grid.luau +6 -15
  48. package/out/ui/packages/layout/components/List.luau +9 -16
  49. package/out/ui/packages/layout/components/Stack.luau +6 -15
  50. package/out/ui/packages/link/components/Link.luau +13 -16
  51. package/out/ui/packages/listItem/components/ListItem.d.ts +2 -1
  52. package/out/ui/packages/listItem/components/ListItem.luau +23 -4
  53. package/out/ui/packages/loadingStroke/components/LoadingStroke.d.ts +5 -1
  54. package/out/ui/packages/loadingStroke/components/loadingStrokeSx.d.ts +11 -0
  55. package/out/ui/packages/loadingStroke/components/loadingStrokeSx.luau +2 -0
  56. package/out/ui/packages/markdown/components/Markdown.luau +9 -16
  57. package/out/ui/packages/markdown/components/MarkdownEditor.luau +9 -16
  58. package/out/ui/packages/menu/components/Menu.d.ts +2 -1
  59. package/out/ui/packages/menu/components/Menu.luau +23 -12
  60. package/out/ui/packages/modal/components/Modal.d.ts +2 -1
  61. package/out/ui/packages/modal/components/Modal.luau +29 -5
  62. package/out/ui/packages/numberInput/components/NumberInput.d.ts +1 -0
  63. package/out/ui/packages/numberInput/components/NumberInput.luau +14 -3
  64. package/out/ui/packages/numberInput/components/numberValue.d.ts +1 -0
  65. package/out/ui/packages/numberInput/components/numberValue.luau +45 -0
  66. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.luau +12 -16
  67. package/out/ui/packages/pagination/components/Pagination.luau +12 -16
  68. package/out/ui/packages/paper/components/Paper.d.ts +2 -1
  69. package/out/ui/packages/paper/components/Paper.luau +21 -12
  70. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.luau +63 -38
  71. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.styles.luau +21 -7
  72. package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.d.ts +2 -0
  73. package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.luau +14 -0
  74. package/out/ui/packages/popup/components/Popup.d.ts +2 -1
  75. package/out/ui/packages/popup/components/Popup.luau +35 -18
  76. package/out/ui/packages/preloader/components/Preloader.luau +9 -16
  77. package/out/ui/packages/progressBar/components/ProgressBar.luau +12 -16
  78. package/out/ui/packages/radioGroup/components/RadioGroup.luau +12 -16
  79. package/out/ui/packages/rating/components/Rating.luau +12 -16
  80. package/out/ui/packages/rayEditor/components/RayEditor.luau +12 -16
  81. package/out/ui/packages/rectEditor/components/RectEditor.luau +86 -43
  82. package/out/ui/packages/rectEditor/components/RectEditor.styles.luau +30 -7
  83. package/out/ui/packages/select/components/Select.luau +13 -16
  84. package/out/ui/packages/shadow/components/Shadow.d.ts +2 -1
  85. package/out/ui/packages/shadow/components/Shadow.luau +17 -5
  86. package/out/ui/packages/sidebar/components/Sidebar.luau +9 -16
  87. package/out/ui/packages/skeleton/components/Skeleton.luau +19 -28
  88. package/out/ui/packages/slider/components/Slider.luau +16 -17
  89. package/out/ui/packages/speedDial/components/SpeedDial.luau +12 -16
  90. package/out/ui/packages/splitPane/components/SplitPane.luau +12 -16
  91. package/out/ui/packages/stateMatrix.luau +1150 -682
  92. package/out/ui/packages/stepper/components/Stepper.luau +9 -16
  93. package/out/ui/packages/switch/components/Switch.luau +16 -16
  94. package/out/ui/packages/table/components/Table.luau +9 -16
  95. package/out/ui/packages/tabs/components/Tabs.luau +12 -16
  96. package/out/ui/packages/toast/components/Toast.luau +16 -13
  97. package/out/ui/packages/toggleButton/components/ToggleButton.luau +24 -32
  98. package/out/ui/packages/tooltip/components/Tooltip.luau +9 -16
  99. package/out/ui/packages/treeView/components/TreeView.luau +9 -16
  100. package/out/ui/packages/typography/components/Typography.luau +13 -14
  101. package/out/ui/packages/udimEditor/components/UDimEditor.luau +12 -16
  102. package/out/ui/packages/vectorEditor/components/VectorEditor.luau +12 -16
  103. package/out/ui/packages/virtualList/components/EmptyListHint.d.ts +2 -1
  104. package/out/ui/packages/virtualList/components/EmptyListHint.luau +15 -4
  105. package/out/ui/packages/virtualList/components/VirtualList.luau +9 -16
  106. package/package.json +2 -2
@@ -1,9 +1,11 @@
1
1
  -- Compiled with roblox-ts v3.0.0
2
2
  local TS = _G[script]
3
3
  local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
4
+ local controlMetrics = _theme.controlMetrics
4
5
  local createStyles = _theme.createStyles
5
6
  local componentStyles = _theme.componentStyles
6
7
  local usePhysicalPropertiesEditorStyles = componentStyles("PhysicalPropertiesEditor", function(theme)
8
+ local gap = theme.padding.calc(1)
7
9
  return createStyles({
8
10
  root = {
9
11
  Size = UDim2.new(1, 0, 0, 0),
@@ -16,26 +18,38 @@ local usePhysicalPropertiesEditorStyles = componentStyles("PhysicalPropertiesEdi
16
18
  Padding = UDim.new(0, theme.padding.calc(0.5)),
17
19
  SortOrder = Enum.SortOrder.LayoutOrder,
18
20
  },
19
- row = {
21
+ pair = {
20
22
  FillDirection = Enum.FillDirection.Horizontal,
21
- Padding = UDim.new(0, theme.padding.calc(1)),
22
- VerticalAlignment = Enum.VerticalAlignment.Center,
23
+ Padding = UDim.new(0, gap),
23
24
  SortOrder = Enum.SortOrder.LayoutOrder,
24
25
  },
25
- axis = {
26
- Size = UDim2.new(1, 0, 0, theme.spacing.calc(2)),
26
+ row = {
27
+ Size = UDim2.new(1, 0, 0, 0),
28
+ AutomaticSize = Enum.AutomaticSize.Y,
29
+ BackgroundTransparency = 1,
30
+ },
31
+ cell = {
32
+ Size = UDim2.new(0.5, -gap / 2, 0, 0),
33
+ AutomaticSize = Enum.AutomaticSize.Y,
27
34
  BackgroundTransparency = 1,
28
35
  },
36
+ stack = {
37
+ FillDirection = Enum.FillDirection.Vertical,
38
+ Padding = UDim.new(0, theme.padding.calc(0.5)),
39
+ SortOrder = Enum.SortOrder.LayoutOrder,
40
+ },
29
41
  label = {
30
- Size = UDim2.new(0, theme.spacing.calc(7), 1, 0),
42
+ Size = UDim2.new(1, 0, 0, 0),
43
+ AutomaticSize = Enum.AutomaticSize.Y,
31
44
  BackgroundTransparency = 1,
32
45
  Font = theme.typography.fontFamilies.default,
33
46
  TextSize = theme.typography.fontSizes.caption,
34
47
  TextColor3 = theme.palette.text.secondary,
35
48
  TextXAlignment = Enum.TextXAlignment.Left,
49
+ TextTruncate = Enum.TextTruncate.AtEnd,
36
50
  },
37
51
  field = {
38
- Size = UDim2.new(1, -theme.spacing.calc(7), 1, 0),
52
+ Size = UDim2.new(1, 0, 0, controlMetrics(theme.density).height),
39
53
  BackgroundTransparency = 1,
40
54
  },
41
55
  })
@@ -1,3 +1,5 @@
1
1
  export type PhysicalField = "Density" | "Friction" | "Elasticity" | "FrictionWeight" | "ElasticityWeight";
2
2
  export declare function physicalFields(): PhysicalField[];
3
+ export declare function physicalCaption(field: PhysicalField): "Density" | "Friction" | "Elasticity" | "Friction wt" | "Elasticity wt";
4
+ export declare function physicalRows(): PhysicalField[][];
3
5
  export declare function patchPhysicalParts(density: number, friction: number, elasticity: number, frictionWeight: number, elasticityWeight: number, field: PhysicalField, amount: number): number[];
@@ -2,6 +2,18 @@
2
2
  local function physicalFields()
3
3
  return { "Density", "Friction", "Elasticity", "FrictionWeight", "ElasticityWeight" }
4
4
  end
5
+ local function physicalCaption(field)
6
+ if field == "FrictionWeight" then
7
+ return "Friction wt"
8
+ end
9
+ if field == "ElasticityWeight" then
10
+ return "Elasticity wt"
11
+ end
12
+ return field
13
+ end
14
+ local function physicalRows()
15
+ return { { "Density", "Friction" }, { "Elasticity", "FrictionWeight" }, { "ElasticityWeight" } }
16
+ end
5
17
  local function patchPhysicalParts(density, friction, elasticity, frictionWeight, elasticityWeight, field, amount)
6
18
  local parts = { density, friction, elasticity, frictionWeight, elasticityWeight }
7
19
  local index = if field == "Density" then 0 elseif field == "Friction" then 1 elseif field == "Elasticity" then 2 elseif field == "FrictionWeight" then 3 else 4
@@ -10,5 +22,7 @@ local function patchPhysicalParts(density, friction, elasticity, frictionWeight,
10
22
  end
11
23
  return {
12
24
  physicalFields = physicalFields,
25
+ physicalCaption = physicalCaption,
26
+ physicalRows = physicalRows,
13
27
  patchPhysicalParts = patchPhysicalParts,
14
28
  }
@@ -1,4 +1,5 @@
1
1
  import React from "@rbxts/react";
2
+ import { CustomizedProps } from "../../../../theme/index";
2
3
  export interface PopupProps {
3
4
  anchor?: GuiObject;
4
5
  /** Content height. Flips above the anchor and caps the shell. */
@@ -9,5 +10,5 @@ export interface PopupProps {
9
10
  onInput?: (input: InputObject) => void;
10
11
  children?: React.ReactNode;
11
12
  }
12
- declare function Popup(props: PopupProps): JSX.Element | undefined;
13
+ declare function Popup(props: CustomizedProps<Frame, PopupProps>): JSX.Element | undefined;
13
14
  export default Popup;
@@ -5,6 +5,7 @@ local React = _react
5
5
  local useEffect = _react.useEffect
6
6
  local useRef = _react.useRef
7
7
  local useState = _react.useState
8
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
8
9
  local popupPlacement = TS.import(script, script.Parent, "placement").popupPlacement
9
10
  local Portal = TS.import(script, script.Parent, "Portal").default
10
11
  local portalTarget = TS.import(script, script.Parent, "portalTarget").portalTarget
@@ -16,6 +17,10 @@ local function Popup(props)
16
17
  local onDismiss = _binding.onDismiss
17
18
  local onInput = _binding.onInput
18
19
  local children = _binding.children
20
+ local className = _binding.className
21
+ local sx = _binding.sx
22
+ local id = _binding.id
23
+ local ref = _binding.ref
19
24
  local dismiss = useRef(onDismiss)
20
25
  dismiss.current = onDismiss
21
26
  local _, bump = useState(0)
@@ -88,14 +93,7 @@ local function Popup(props)
88
93
  end
89
94
  local place = popupPlacement(_exp, _exp_1, _exp_2, _exp_3, _exp_4, _exp_5, _exp_6, _exp_7, _condition, _condition_1)
90
95
  local capped = place.height > 0
91
- return React.createElement(Portal, {
92
- host = layer,
93
- }, React.createElement("frame", {
94
- key = "Popup",
95
- Size = UDim2.fromScale(1, 1),
96
- BackgroundTransparency = 1,
97
- ZIndex = 20000,
98
- }, onDismiss and (React.createElement("textbutton", {
96
+ local _exp_8 = onDismiss and (React.createElement("textbutton", {
99
97
  key = "Backdrop",
100
98
  Size = UDim2.fromScale(1, 1),
101
99
  BackgroundTransparency = 1,
@@ -113,17 +111,36 @@ local function Popup(props)
113
111
  return _result
114
112
  end,
115
113
  },
116
- })), React.createElement("frame", {
117
- key = "Content",
118
- Position = UDim2.fromOffset(place.x, place.y),
119
- AnchorPoint = Vector2.new(0, if place.above then 1 else 0),
120
- Size = if capped then UDim2.fromOffset(place.width, place.height) else UDim2.fromOffset(place.width, 0),
121
- AutomaticSize = if capped then Enum.AutomaticSize.None else Enum.AutomaticSize.Y,
122
- ClipsDescendants = capped,
114
+ }))
115
+ local _attributes = {
116
+ tag = "frame",
117
+ }
118
+ local _condition_2 = id
119
+ if not (_condition_2 ~= 0 and _condition_2 == _condition_2 and _condition_2 ~= "" and _condition_2) then
120
+ _condition_2 = "Content"
121
+ end
122
+ _attributes.key = _condition_2
123
+ _attributes.hostRef = ref
124
+ _attributes.base = {
123
125
  BackgroundTransparency = 1,
124
- Active = false,
125
- ZIndex = 20001,
126
- }, children)))
126
+ }
127
+ _attributes.className = className
128
+ _attributes.sx = sx
129
+ _attributes.Position = UDim2.fromOffset(place.x, place.y)
130
+ _attributes.AnchorPoint = Vector2.new(0, if place.above then 1 else 0)
131
+ _attributes.Size = if capped then UDim2.fromOffset(place.width, place.height) else UDim2.fromOffset(place.width, 0)
132
+ _attributes.AutomaticSize = if capped then Enum.AutomaticSize.None else Enum.AutomaticSize.Y
133
+ _attributes.ClipsDescendants = capped
134
+ _attributes.Active = false
135
+ _attributes.ZIndex = 20001
136
+ return React.createElement(Portal, {
137
+ host = layer,
138
+ }, React.createElement("frame", {
139
+ key = "Popup",
140
+ Size = UDim2.fromScale(1, 1),
141
+ BackgroundTransparency = 1,
142
+ ZIndex = 20000,
143
+ }, _exp_8, React.createElement(SxHost, _attributes, children)))
127
144
  end
128
145
  local default = Popup
129
146
  return {
@@ -9,6 +9,7 @@ local _pretty_react_hooks = TS.import(script, TS.getModule(script, "@rbxts", "pr
9
9
  local useAsyncEffect = _pretty_react_hooks.useAsyncEffect
10
10
  local useDeferState = _pretty_react_hooks.useDeferState
11
11
  local ContentProvider = TS.import(script, TS.getModule(script, "@rbxts", "services")).ContentProvider
12
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
12
13
  local ProgressBar = TS.import(script, script.Parent.Parent.Parent, "progressBar").ProgressBar
13
14
  local usePreloaderStyles = TS.import(script, script.Parent, "Preloader.styles").default
14
15
  local function Preloader(props)
@@ -103,26 +104,18 @@ local function Preloader(props)
103
104
  children = children,
104
105
  })
105
106
  else
106
- local _attributes = {}
107
+ local _attributes = {
108
+ tag = "frame",
109
+ }
107
110
  local _condition = id
108
111
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
109
112
  _condition = "Preloader"
110
113
  end
111
114
  _attributes.key = _condition
112
- _attributes.ref = ref
113
- for _k, _v in container do
114
- _attributes[_k] = _v
115
- end
116
- if className then
117
- for _k, _v in className do
118
- _attributes[_k] = _v
119
- end
120
- end
121
- if sx then
122
- for _k, _v in sx do
123
- _attributes[_k] = _v
124
- end
125
- end
115
+ _attributes.hostRef = ref
116
+ _attributes.base = container
117
+ _attributes.className = className
118
+ _attributes.sx = sx
126
119
  local _exp = Adornment ~= nil and React.createElement(Adornment, {
127
120
  progress = percentage,
128
121
  })
@@ -142,7 +135,7 @@ local function Preloader(props)
142
135
  progress = percentage,
143
136
  })))
144
137
  end
145
- _result = (React.createElement("frame", _attributes, _exp, _condition_1, _condition_2))
138
+ _result = (React.createElement(SxHost, _attributes, _exp, _condition_1, _condition_2))
146
139
  end
147
140
  return React.createElement(React.Fragment, nil, _result)
148
141
  end
@@ -10,6 +10,7 @@ local _motion = TS.import(script, script.Parent.Parent.Parent, "motion")
10
10
  local loopProperty = _motion.loopProperty
11
11
  local progressSpin = _motion.progressSpin
12
12
  local progressUnit = _motion.progressUnit
13
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
13
14
  local useProgressBarStyles = TS.import(script, script.Parent, "ProgressBar.styles").default
14
15
  local function ProgressBar(props)
15
16
  local _binding = props
@@ -53,26 +54,21 @@ local function ProgressBar(props)
53
54
  Position = UDim2.new(1, 0, 0.5, 0),
54
55
  }, 1.1)
55
56
  end, { motion, unit })
56
- local _attributes = {}
57
+ local _attributes = {
58
+ tag = "frame",
59
+ }
57
60
  local _condition = id
58
61
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
59
62
  _condition = "ProgressBar"
60
63
  end
61
64
  _attributes.key = _condition
62
- _attributes.ref = ref
63
- for _k, _v in container do
64
- _attributes[_k] = _v
65
- end
66
- if className then
67
- for _k, _v in className do
68
- _attributes[_k] = _v
69
- end
70
- end
71
- if sx then
72
- for _k, _v in sx do
73
- _attributes[_k] = _v
74
- end
75
- end
65
+ _attributes.hostRef = ref
66
+ _attributes.base = container
67
+ _attributes.className = className
68
+ _attributes.sx = sx
69
+ _attributes.state = {
70
+ disabled = disabled,
71
+ }
76
72
  local _attributes_1 = {
77
73
  key = "Bar",
78
74
  }
@@ -113,7 +109,7 @@ local function ProgressBar(props)
113
109
  for _k, _v in corner do
114
110
  _attributes_7[_k] = _v
115
111
  end
116
- return React.createElement("frame", _attributes, React.createElement("frame", _attributes_1, _exp, _exp_1, React.createElement("frame", _attributes_4, _exp_2, React.createElement("frame", _attributes_6, React.createElement("uicorner", _attributes_7)))))
112
+ return React.createElement(SxHost, _attributes, React.createElement("frame", _attributes_1, _exp, _exp_1, React.createElement("frame", _attributes_4, _exp_2, React.createElement("frame", _attributes_6, React.createElement("uicorner", _attributes_7)))))
117
113
  end
118
114
  local default = ProgressBar
119
115
  return {
@@ -2,6 +2,7 @@
2
2
  local TS = _G[script]
3
3
  local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
4
  local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
5
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
5
6
  local useRadioGroupStyles = TS.import(script, script.Parent, "RadioGroup.styles").default
6
7
  local function RadioGroup(props)
7
8
  local _binding = props
@@ -28,26 +29,21 @@ local function RadioGroup(props)
28
29
  local stroke = _binding_1.stroke
29
30
  local corner = _binding_1.corner
30
31
  local label = _binding_1.label
31
- local _attributes = {}
32
+ local _attributes = {
33
+ tag = "frame",
34
+ }
32
35
  local _condition = id
33
36
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
34
37
  _condition = "RadioGroup"
35
38
  end
36
39
  _attributes.key = _condition
37
- _attributes.ref = ref
38
- for _k, _v in root do
39
- _attributes[_k] = _v
40
- end
41
- if className then
42
- for _k, _v in className do
43
- _attributes[_k] = _v
44
- end
45
- end
46
- if sx then
47
- for _k, _v in sx do
48
- _attributes[_k] = _v
49
- end
50
- end
40
+ _attributes.hostRef = ref
41
+ _attributes.base = root
42
+ _attributes.className = className
43
+ _attributes.sx = sx
44
+ _attributes.state = {
45
+ disabled = disabled,
46
+ }
51
47
  local _attributes_1 = table.clone(list)
52
48
  setmetatable(_attributes_1, nil)
53
49
  local _exp = React.createElement("uilistlayout", _attributes_1)
@@ -106,7 +102,7 @@ local function RadioGroup(props)
106
102
  _newValue[_k] = _callback(_v, _k - 1, options)
107
103
  end
108
104
  -- ▲ ReadonlyArray.map ▲
109
- return React.createElement("frame", _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
105
+ return React.createElement(SxHost, _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
110
106
  end
111
107
  local default = RadioGroup
112
108
  return {
@@ -3,6 +3,7 @@ local TS = _G[script]
3
3
  local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
4
  local Icons = TS.import(script, script.Parent.Parent.Parent.Parent, "enums").Icons
5
5
  local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
6
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
6
7
  local useRatingStyles = TS.import(script, script.Parent, "Rating.styles").default
7
8
  local function Rating(props)
8
9
  local _binding = props
@@ -44,26 +45,21 @@ local function Rating(props)
44
45
  table.insert(stars, _i)
45
46
  end
46
47
  end
47
- local _attributes = {}
48
+ local _attributes = {
49
+ tag = "frame",
50
+ }
48
51
  local _condition = id
49
52
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
50
53
  _condition = "Rating"
51
54
  end
52
55
  _attributes.key = _condition
53
- _attributes.ref = ref
54
- for _k, _v in styles.root do
55
- _attributes[_k] = _v
56
- end
57
- if className then
58
- for _k, _v in className do
59
- _attributes[_k] = _v
60
- end
61
- end
62
- if sx then
63
- for _k, _v in sx do
64
- _attributes[_k] = _v
65
- end
66
- end
56
+ _attributes.hostRef = ref
57
+ _attributes.base = styles.root
58
+ _attributes.className = className
59
+ _attributes.sx = sx
60
+ _attributes.state = {
61
+ disabled = disabled,
62
+ }
67
63
  local _attributes_1 = table.clone(styles.list)
68
64
  setmetatable(_attributes_1, nil)
69
65
  local _exp = React.createElement("uilistlayout", _attributes_1)
@@ -93,7 +89,7 @@ local function Rating(props)
93
89
  _newValue[_k] = _callback(_v, _k - 1, stars)
94
90
  end
95
91
  -- ▲ ReadonlyArray.map ▲
96
- return React.createElement("frame", _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
92
+ return React.createElement(SxHost, _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
97
93
  end
98
94
  local default = Rating
99
95
  return {
@@ -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 SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
4
5
  local VectorEditor = TS.import(script, script.Parent.Parent.Parent, "vectorEditor").VectorEditor
5
6
  local useRayEditorStyles = TS.import(script, script.Parent, "RayEditor.styles").default
6
7
  local function RayEditor(props)
@@ -13,26 +14,21 @@ local function RayEditor(props)
13
14
  local id = _binding.id
14
15
  local ref = _binding.ref
15
16
  local styles = useRayEditorStyles()
16
- local _attributes = {}
17
+ local _attributes = {
18
+ tag = "frame",
19
+ }
17
20
  local _condition = id
18
21
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
19
22
  _condition = "RayEditor"
20
23
  end
21
24
  _attributes.key = _condition
22
- _attributes.ref = ref
23
- for _k, _v in styles.root do
24
- _attributes[_k] = _v
25
- end
26
- if className then
27
- for _k, _v in className do
28
- _attributes[_k] = _v
29
- end
30
- end
31
- if sx then
32
- for _k, _v in sx do
33
- _attributes[_k] = _v
34
- end
35
- end
25
+ _attributes.hostRef = ref
26
+ _attributes.base = styles.root
27
+ _attributes.className = className
28
+ _attributes.sx = sx
29
+ _attributes.state = {
30
+ disabled = disabled,
31
+ }
36
32
  local _attributes_1 = table.clone(styles.column)
37
33
  setmetatable(_attributes_1, nil)
38
34
  local _exp = React.createElement("uilistlayout", _attributes_1)
@@ -69,7 +65,7 @@ local function RayEditor(props)
69
65
  local _attributes_7 = table.clone(styles.label)
70
66
  setmetatable(_attributes_7, nil)
71
67
  _attributes_7.Text = "Direction"
72
- return React.createElement("frame", _attributes, _exp, _exp_2, React.createElement("frame", _attributes_5, _exp_3, React.createElement("textlabel", _attributes_7), React.createElement(VectorEditor, {
68
+ return React.createElement(SxHost, _attributes, _exp, _exp_2, React.createElement("frame", _attributes_5, _exp_3, React.createElement("textlabel", _attributes_7), React.createElement(VectorEditor, {
73
69
  value = value.Direction,
74
70
  disabled = disabled,
75
71
  onChange = function(direction)
@@ -1,11 +1,17 @@
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 SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
4
5
  local NumberInput = TS.import(script, script.Parent.Parent.Parent, "numberInput").NumberInput
5
6
  local useRectEditorStyles = TS.import(script, script.Parent, "RectEditor.styles").default
6
- local _rectValue = TS.import(script, script.Parent, "rectValue")
7
- local rectFields = _rectValue.rectFields
8
- local writeRectParts = _rectValue.writeRectParts
7
+ local writeRectParts = TS.import(script, script.Parent, "rectValue").writeRectParts
8
+ local GROUPS = { {
9
+ title = "Min",
10
+ fields = { "MinX", "MinY" },
11
+ }, {
12
+ title = "Max",
13
+ fields = { "MaxX", "MaxY" },
14
+ } }
9
15
  local function RectEditor(props)
10
16
  local _binding = props
11
17
  local value = _binding.value
@@ -16,68 +22,105 @@ local function RectEditor(props)
16
22
  local id = _binding.id
17
23
  local ref = _binding.ref
18
24
  local styles = useRectEditorStyles()
19
- local amounts = { value.Min.X, value.Min.Y, value.Max.X, value.Max.Y }
25
+ local amounts = {
26
+ MinX = value.Min.X,
27
+ MinY = value.Min.Y,
28
+ MaxX = value.Max.X,
29
+ MaxY = value.Max.Y,
30
+ }
20
31
  local commit = function(field, amount)
21
32
  local parts = writeRectParts(value.Min.X, value.Min.Y, value.Max.X, value.Max.Y, field, amount)
22
33
  onChange(Rect.new(parts[1], parts[2], parts[3], parts[4]))
23
34
  end
24
- local _attributes = {}
35
+ local _attributes = {
36
+ tag = "frame",
37
+ }
25
38
  local _condition = id
26
39
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
27
40
  _condition = "RectEditor"
28
41
  end
29
42
  _attributes.key = _condition
30
- _attributes.ref = ref
31
- for _k, _v in styles.root do
32
- _attributes[_k] = _v
33
- end
34
- if className then
35
- for _k, _v in className do
36
- _attributes[_k] = _v
37
- end
38
- end
39
- if sx then
40
- for _k, _v in sx do
41
- _attributes[_k] = _v
42
- end
43
- end
43
+ _attributes.hostRef = ref
44
+ _attributes.base = styles.root
45
+ _attributes.className = className
46
+ _attributes.sx = sx
47
+ _attributes.state = {
48
+ disabled = disabled,
49
+ }
44
50
  local _attributes_1 = table.clone(styles.wrap)
45
51
  setmetatable(_attributes_1, nil)
46
52
  local _exp = React.createElement("uilistlayout", _attributes_1)
47
- local _exp_1 = rectFields()
48
53
  -- ▼ ReadonlyArray.map ▼
49
- local _newValue = table.create(#_exp_1)
50
- local _callback = function(field, index)
54
+ local _newValue = table.create(#GROUPS)
55
+ local _callback = function(group, groupIndex)
51
56
  local _attributes_2 = {
52
- key = field,
57
+ key = group.title,
53
58
  }
54
- for _k, _v in styles.axis do
59
+ for _k, _v in styles.group do
55
60
  _attributes_2[_k] = _v
56
61
  end
57
- _attributes_2.LayoutOrder = index + 1
58
- local _attributes_3 = table.clone(styles.row)
62
+ _attributes_2.LayoutOrder = groupIndex + 1
63
+ local _attributes_3 = table.clone(styles.wrap)
59
64
  setmetatable(_attributes_3, nil)
60
- local _exp_2 = React.createElement("uilistlayout", _attributes_3)
61
- local _attributes_4 = table.clone(styles.label)
65
+ local _exp_1 = React.createElement("uilistlayout", _attributes_3)
66
+ local _attributes_4 = table.clone(styles.groupLabel)
62
67
  setmetatable(_attributes_4, nil)
63
- _attributes_4.Text = field
64
- local _exp_3 = React.createElement("textlabel", _attributes_4)
65
- local _attributes_5 = table.clone(styles.field)
66
- setmetatable(_attributes_5, nil)
67
- return React.createElement("frame", _attributes_2, _exp_2, _exp_3, React.createElement("frame", _attributes_5, React.createElement(NumberInput, {
68
- value = amounts[index + 1],
69
- disabled = disabled,
70
- width = UDim.new(1, 0),
71
- onChange = function(amount)
72
- return commit(field, amount)
73
- end,
74
- })))
68
+ _attributes_4.Text = group.title
69
+ _attributes_4.LayoutOrder = 1
70
+ local _exp_2 = React.createElement("textlabel", _attributes_4)
71
+ local _attributes_5 = {
72
+ key = "Pair",
73
+ }
74
+ for _k, _v in styles.group do
75
+ _attributes_5[_k] = _v
76
+ end
77
+ _attributes_5.LayoutOrder = 2
78
+ local _attributes_6 = table.clone(styles.pair)
79
+ setmetatable(_attributes_6, nil)
80
+ local _exp_3 = React.createElement("uilistlayout", _attributes_6)
81
+ local _exp_4 = group.fields
82
+ -- ▼ ReadonlyArray.map ▼
83
+ local _newValue_1 = table.create(#_exp_4)
84
+ local _callback_1 = function(field, index)
85
+ local _attributes_7 = {
86
+ key = field,
87
+ }
88
+ for _k, _v in styles.cell do
89
+ _attributes_7[_k] = _v
90
+ end
91
+ _attributes_7.LayoutOrder = index + 1
92
+ local _attributes_8 = table.clone(styles.stack)
93
+ setmetatable(_attributes_8, nil)
94
+ local _exp_5 = React.createElement("uilistlayout", _attributes_8)
95
+ local _attributes_9 = table.clone(styles.label)
96
+ setmetatable(_attributes_9, nil)
97
+ _attributes_9.Text = field
98
+ _attributes_9.LayoutOrder = 1
99
+ local _exp_6 = React.createElement("textlabel", _attributes_9)
100
+ local _attributes_10 = table.clone(styles.field)
101
+ setmetatable(_attributes_10, nil)
102
+ _attributes_10.LayoutOrder = 2
103
+ return React.createElement("frame", _attributes_7, _exp_5, _exp_6, React.createElement("frame", _attributes_10, React.createElement(NumberInput, {
104
+ value = amounts[field],
105
+ places = 4,
106
+ disabled = disabled,
107
+ width = UDim.new(1, 0),
108
+ onChange = function(amount)
109
+ return commit(field, amount)
110
+ end,
111
+ })))
112
+ end
113
+ for _k, _v in _exp_4 do
114
+ _newValue_1[_k] = _callback_1(_v, _k - 1, _exp_4)
115
+ end
116
+ -- ▲ ReadonlyArray.map ▲
117
+ return React.createElement("frame", _attributes_2, _exp_1, _exp_2, React.createElement("frame", _attributes_5, _exp_3, React.createElement(React.Fragment, nil, _newValue_1)))
75
118
  end
76
- for _k, _v in _exp_1 do
77
- _newValue[_k] = _callback(_v, _k - 1, _exp_1)
119
+ for _k, _v in GROUPS do
120
+ _newValue[_k] = _callback(_v, _k - 1, GROUPS)
78
121
  end
79
122
  -- ▲ ReadonlyArray.map ▲
80
- return React.createElement("frame", _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
123
+ return React.createElement(SxHost, _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
81
124
  end
82
125
  local default = RectEditor
83
126
  return {