@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
@@ -5,6 +5,7 @@ local React = _react
5
5
  local useEffect = _react.useEffect
6
6
  local useState = _react.useState
7
7
  local useReducedMotion = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "hooks").useReducedMotion
8
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
8
9
  local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
9
10
  local iconSpinnerPixels = TS.import(script, script.Parent.Parent.Parent, "button", "components", "buttonLook").iconSpinnerPixels
10
11
  local CircularProgress = TS.import(script, script.Parent.Parent.Parent, "circularProgress").CircularProgress
@@ -39,26 +40,25 @@ local function IconButton(props)
39
40
  setHovering(false)
40
41
  setFocused(false)
41
42
  end, { active })
42
- local _attributes = {}
43
+ local _attributes = {
44
+ tag = "imagebutton",
45
+ }
43
46
  local _condition = id
44
47
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
45
48
  _condition = "IconButton"
46
49
  end
47
50
  _attributes.key = _condition
48
- _attributes.ref = ref
49
- for _k, _v in container do
50
- _attributes[_k] = _v
51
- end
52
- if className then
53
- for _k, _v in className do
54
- _attributes[_k] = _v
55
- end
56
- end
57
- if sx then
58
- for _k, _v in sx do
59
- _attributes[_k] = _v
60
- end
61
- end
51
+ _attributes.hostRef = ref
52
+ _attributes.base = container
53
+ _attributes.className = className
54
+ _attributes.sx = sx
55
+ _attributes.state = {
56
+ disabled = disabled,
57
+ loading = loading,
58
+ selected = selected,
59
+ hover = hovering,
60
+ focused = focused,
61
+ }
62
62
  _attributes.Active = active
63
63
  _attributes.AutoButtonColor = active
64
64
  _attributes.Selectable = active
@@ -91,7 +91,7 @@ local function IconButton(props)
91
91
  }
92
92
  local _attributes_1 = table.clone(corner)
93
93
  setmetatable(_attributes_1, nil)
94
- return React.createElement("imagebutton", _attributes, React.createElement("uicorner", _attributes_1), loading and (React.createElement(CircularProgress, {
94
+ return React.createElement(SxHost, _attributes, React.createElement("uicorner", _attributes_1), loading and (React.createElement(CircularProgress, {
95
95
  size = iconSpinnerPixels(props.size),
96
96
  thickness = 2,
97
97
  color = tint,
@@ -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 imageListTitle = TS.import(script, script.Parent, "imageListLayout").imageListTitle
5
6
  local useImageListStyles = TS.import(script, script.Parent, "ImageList.styles").default
6
7
  local function ImageList(props)
@@ -19,26 +20,18 @@ local function ImageList(props)
19
20
  gap = gap,
20
21
  itemSize = itemSize,
21
22
  })
22
- local _attributes = {}
23
+ local _attributes = {
24
+ tag = "frame",
25
+ }
23
26
  local _condition = id
24
27
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
25
28
  _condition = "ImageList"
26
29
  end
27
30
  _attributes.key = _condition
28
- _attributes.ref = ref
29
- for _k, _v in styles.root do
30
- _attributes[_k] = _v
31
- end
32
- if className then
33
- for _k, _v in className do
34
- _attributes[_k] = _v
35
- end
36
- end
37
- if sx then
38
- for _k, _v in sx do
39
- _attributes[_k] = _v
40
- end
41
- end
31
+ _attributes.hostRef = ref
32
+ _attributes.base = styles.root
33
+ _attributes.className = className
34
+ _attributes.sx = sx
42
35
  local _attributes_1 = table.clone(styles.grid)
43
36
  setmetatable(_attributes_1, nil)
44
37
  local _exp = React.createElement("uigridlayout", _attributes_1)
@@ -92,7 +85,7 @@ local function ImageList(props)
92
85
  _newValue[_k] = _callback(_v, _k - 1, items)
93
86
  end
94
87
  -- ▲ ReadonlyArray.map ▲
95
- return React.createElement("frame", _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
88
+ return React.createElement(SxHost, _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
96
89
  end
97
90
  local default = ImageList
98
91
  return {
@@ -1,6 +1,7 @@
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 Common = _theme.Common
4
5
  local componentStyles = _theme.componentStyles
5
6
  local createStyles = _theme.createStyles
6
7
  local _imageListLayout = TS.import(script, script.Parent, "imageListLayout")
@@ -50,12 +51,12 @@ local useImageListStyles = componentStyles("ImageList", function(theme, _param)
50
51
  title = {
51
52
  Size = UDim2.new(1, 0, 0, bar),
52
53
  Position = UDim2.new(0, 0, 1, -bar),
53
- BackgroundColor3 = theme.palette.surface.overlay,
54
- BackgroundTransparency = 0.25,
54
+ BackgroundColor3 = theme.palette.backdrop,
55
+ BackgroundTransparency = 0.35,
55
56
  BorderSizePixel = 0,
56
57
  Font = theme.typography.fontFamilies.default,
57
58
  TextSize = theme.typography.fontSizes.caption,
58
- TextColor3 = theme.palette.text.inverse,
59
+ TextColor3 = Common.White,
59
60
  TextXAlignment = Enum.TextXAlignment.Left,
60
61
  TextTruncate = Enum.TextTruncate.AtEnd,
61
62
  ZIndex = 2,
@@ -12,6 +12,7 @@ local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "co
12
12
  local spinnerPixels = TS.import(script, script.Parent.Parent.Parent, "button", "components", "buttonLook").spinnerPixels
13
13
  local CircularProgress = TS.import(script, script.Parent.Parent.Parent, "circularProgress").CircularProgress
14
14
  local Divider = TS.import(script, script.Parent.Parent.Parent, "divider").Divider
15
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
15
16
  local Orientations = TS.import(script, script.Parent.Parent.Parent.Parent, "enums").Orientations
16
17
  local useInputStyles = TS.import(script, script.Parent, "Input.styles").default
17
18
  local syncInputDraft = TS.import(script, script.Parent, "inputDraft").syncInputDraft
@@ -102,26 +103,23 @@ local function Input(props)
102
103
  end, { text })
103
104
  local showStroke = variant == "outlined" or variant == "filled"
104
105
  local showCorner = rounded
105
- local _attributes = {}
106
+ local _attributes = {
107
+ tag = "frame",
108
+ }
106
109
  local _condition_1 = id
107
110
  if not (_condition_1 ~= 0 and _condition_1 == _condition_1 and _condition_1 ~= "" and _condition_1) then
108
111
  _condition_1 = "Input"
109
112
  end
110
113
  _attributes.key = _condition_1
111
- _attributes.ref = ref
112
- for _k, _v in root do
113
- _attributes[_k] = _v
114
- end
115
- if className then
116
- for _k, _v in className do
117
- _attributes[_k] = _v
118
- end
119
- end
120
- if sx then
121
- for _k, _v in sx do
122
- _attributes[_k] = _v
123
- end
124
- end
114
+ _attributes.hostRef = ref
115
+ _attributes.base = root
116
+ _attributes.className = className
117
+ _attributes.sx = sx
118
+ _attributes.state = {
119
+ disabled = disabled,
120
+ loading = loading,
121
+ focused = focused,
122
+ }
125
123
  local _attributes_1 = {
126
124
  key = "Margin",
127
125
  }
@@ -272,7 +270,7 @@ local function Input(props)
272
270
  _attributes_4.Text = helperText
273
271
  _condition_7 = (React.createElement("textlabel", _attributes_4))
274
272
  end
275
- return React.createElement("frame", _attributes, React.createElement("frame", _attributes_1, _exp_1, _exp_2, _condition_7))
273
+ return React.createElement(SxHost, _attributes, React.createElement("frame", _attributes_1, _exp_1, _exp_2, _condition_7))
276
274
  end
277
275
  local default = Input
278
276
  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 useBoxStyles = TS.import(script, script.Parent, "Box.styles").default
5
6
  local function Box(props)
6
7
  local _binding = props
@@ -21,27 +22,17 @@ local function Box(props)
21
22
  _condition = "Box"
22
23
  end
23
24
  _attributes.key = _condition
24
- _attributes.ref = ref
25
- for _k, _v in styles.root do
26
- _attributes[_k] = _v
27
- end
28
- if className then
29
- for _k, _v in className do
30
- _attributes[_k] = _v
31
- end
32
- end
33
- if sx then
34
- for _k, _v in sx do
35
- _attributes[_k] = _v
36
- end
37
- end
25
+ _attributes.hostRef = ref
26
+ _attributes.base = styles.root
27
+ _attributes.className = className
28
+ _attributes.sx = sx
38
29
  local _condition_1 = padding ~= nil
39
30
  if _condition_1 then
40
31
  local _attributes_1 = table.clone(styles.padding)
41
32
  setmetatable(_attributes_1, nil)
42
33
  _condition_1 = React.createElement("uipadding", _attributes_1)
43
34
  end
44
- return React.createElement("frame", _attributes, _condition_1, children)
35
+ return React.createElement(SxHost, _attributes, _condition_1, children)
45
36
  end
46
37
  local default = Box
47
38
  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 useContainerStyles = TS.import(script, script.Parent, "Container.styles").default
5
6
  local function Container(props)
6
7
  local _binding = props
@@ -21,20 +22,10 @@ local function Container(props)
21
22
  _condition = "Container"
22
23
  end
23
24
  _attributes.key = _condition
24
- _attributes.ref = ref
25
- for _k, _v in styles.root do
26
- _attributes[_k] = _v
27
- end
28
- if className then
29
- for _k, _v in className do
30
- _attributes[_k] = _v
31
- end
32
- end
33
- if sx then
34
- for _k, _v in sx do
35
- _attributes[_k] = _v
36
- end
37
- end
25
+ _attributes.hostRef = ref
26
+ _attributes.base = styles.root
27
+ _attributes.className = className
28
+ _attributes.sx = sx
38
29
  local _attributes_1 = {
39
30
  key = "Inner",
40
31
  }
@@ -46,7 +37,7 @@ local function Container(props)
46
37
  local _exp = React.createElement("uisizeconstraint", _attributes_2)
47
38
  local _attributes_3 = table.clone(styles.gutter)
48
39
  setmetatable(_attributes_3, nil)
49
- return React.createElement("frame", _attributes, React.createElement("frame", _attributes_1, _exp, React.createElement("uipadding", _attributes_3), children))
40
+ return React.createElement(SxHost, _attributes, React.createElement("frame", _attributes_1, _exp, React.createElement("uipadding", _attributes_3), children))
50
41
  end
51
42
  local default = Container
52
43
  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 useFlexItemStyles = TS.import(script, script.Parent, "FlexItem.styles").default
5
6
  local function FlexItem(props)
6
7
  local _binding = props
@@ -25,23 +26,13 @@ local function FlexItem(props)
25
26
  _condition = "FlexItem"
26
27
  end
27
28
  _attributes.key = _condition
28
- _attributes.ref = ref
29
- for _k, _v in styles.root do
30
- _attributes[_k] = _v
31
- end
32
- if className then
33
- for _k, _v in className do
34
- _attributes[_k] = _v
35
- end
36
- end
37
- if sx then
38
- for _k, _v in sx do
39
- _attributes[_k] = _v
40
- end
41
- end
29
+ _attributes.hostRef = ref
30
+ _attributes.base = styles.root
31
+ _attributes.className = className
32
+ _attributes.sx = sx
42
33
  local _attributes_1 = table.clone(styles.flex)
43
34
  setmetatable(_attributes_1, nil)
44
- return React.createElement("frame", _attributes, React.createElement("uiflexitem", _attributes_1), children)
35
+ return React.createElement(SxHost, _attributes, React.createElement("uiflexitem", _attributes_1), children)
45
36
  end
46
37
  local default = FlexItem
47
38
  return {
@@ -4,6 +4,7 @@ local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
4
  local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
5
5
  local componentStyles = _theme.componentStyles
6
6
  local createStyles = _theme.createStyles
7
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
7
8
  local _gridProps = TS.import(script, script.Parent, "gridProps")
8
9
  local gridCornerKey = _gridProps.gridCornerKey
9
10
  local gridMaxCells = _gridProps.gridMaxCells
@@ -112,27 +113,17 @@ local function Grid(props)
112
113
  _condition = "Grid"
113
114
  end
114
115
  _attributes.key = _condition
115
- _attributes.ref = ref
116
- for _k, _v in baseGrid do
117
- _attributes[_k] = _v
118
- end
119
- if className then
120
- for _k, _v in className do
121
- _attributes[_k] = _v
122
- end
123
- end
124
- if sx then
125
- for _k, _v in sx do
126
- _attributes[_k] = _v
127
- end
128
- end
116
+ _attributes.hostRef = ref
117
+ _attributes.base = baseGrid
118
+ _attributes.className = className
119
+ _attributes.sx = sx
129
120
  local _attributes_1 = {
130
121
  key = "GridLayout",
131
122
  }
132
123
  for _k, _v in baseLayout do
133
124
  _attributes_1[_k] = _v
134
125
  end
135
- return React.createElement("frame", _attributes, React.createElement("uigridlayout", _attributes_1), children)
126
+ return React.createElement(SxHost, _attributes, React.createElement("uigridlayout", _attributes_1), children)
136
127
  end
137
128
  local default = Grid
138
129
  return {
@@ -4,6 +4,7 @@ local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
4
  local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
5
5
  local componentStyles = _theme.componentStyles
6
6
  local createStyles = _theme.createStyles
7
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
7
8
  local useListStyles = componentStyles("List", function(_, props)
8
9
  return createStyles({
9
10
  baseList = {
@@ -75,33 +76,25 @@ local function List(props)
75
76
  })
76
77
  local baseList = _binding_1.baseList
77
78
  local baseLayout = _binding_1.baseLayout
78
- local _attributes = {}
79
+ local _attributes = {
80
+ tag = "frame",
81
+ }
79
82
  local _condition = id
80
83
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
81
84
  _condition = "List"
82
85
  end
83
86
  _attributes.key = _condition
84
- _attributes.ref = ref
85
- for _k, _v in baseList do
86
- _attributes[_k] = _v
87
- end
88
- if className then
89
- for _k, _v in className do
90
- _attributes[_k] = _v
91
- end
92
- end
93
- if sx then
94
- for _k, _v in sx do
95
- _attributes[_k] = _v
96
- end
97
- end
87
+ _attributes.hostRef = ref
88
+ _attributes.base = baseList
89
+ _attributes.className = className
90
+ _attributes.sx = sx
98
91
  local _attributes_1 = {
99
92
  key = "ListLayout",
100
93
  }
101
94
  for _k, _v in baseLayout do
102
95
  _attributes_1[_k] = _v
103
96
  end
104
- return React.createElement("frame", _attributes, React.createElement("uilistlayout", _attributes_1), children)
97
+ return React.createElement(SxHost, _attributes, React.createElement("uilistlayout", _attributes_1), children)
105
98
  end
106
99
  local default = List
107
100
  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 useStackStyles = TS.import(script, script.Parent, "Stack.styles").default
5
6
  local function Stack(props)
6
7
  local _binding = props
@@ -29,23 +30,13 @@ local function Stack(props)
29
30
  _condition = "Stack"
30
31
  end
31
32
  _attributes.key = _condition
32
- _attributes.ref = ref
33
- for _k, _v in styles.root do
34
- _attributes[_k] = _v
35
- end
36
- if className then
37
- for _k, _v in className do
38
- _attributes[_k] = _v
39
- end
40
- end
41
- if sx then
42
- for _k, _v in sx do
43
- _attributes[_k] = _v
44
- end
45
- end
33
+ _attributes.hostRef = ref
34
+ _attributes.base = styles.root
35
+ _attributes.className = className
36
+ _attributes.sx = sx
46
37
  local _attributes_1 = table.clone(styles.list)
47
38
  setmetatable(_attributes_1, nil)
48
- return React.createElement("frame", _attributes, React.createElement("uilistlayout", _attributes_1), children)
39
+ return React.createElement(SxHost, _attributes, React.createElement("uilistlayout", _attributes_1), children)
49
40
  end
50
41
  local default = Stack
51
42
  return {
@@ -4,6 +4,7 @@ local _react = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
4
  local React = _react
5
5
  local useState = _react.useState
6
6
  local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
7
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
7
8
  local useLinkStyles = TS.import(script, script.Parent, "Link.styles").default
8
9
  local function Link(props)
9
10
  local _binding = props
@@ -30,26 +31,22 @@ local function Link(props)
30
31
  showUnderline = showUnderline,
31
32
  })
32
33
  local active = canActivate(disabled)
33
- local _attributes = {}
34
+ local _attributes = {
35
+ tag = "textbutton",
36
+ }
34
37
  local _condition = id
35
38
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
36
39
  _condition = "Link"
37
40
  end
38
41
  _attributes.key = _condition
39
- _attributes.ref = ref
40
- for _k, _v in styles.root do
41
- _attributes[_k] = _v
42
- end
43
- if className then
44
- for _k, _v in className do
45
- _attributes[_k] = _v
46
- end
47
- end
48
- if sx then
49
- for _k, _v in sx do
50
- _attributes[_k] = _v
51
- end
52
- end
42
+ _attributes.hostRef = ref
43
+ _attributes.base = styles.root
44
+ _attributes.className = className
45
+ _attributes.sx = sx
46
+ _attributes.state = {
47
+ disabled = disabled,
48
+ hover = hover,
49
+ }
53
50
  _attributes.Text = text
54
51
  _attributes.Active = active
55
52
  _attributes.Selectable = active
@@ -75,7 +72,7 @@ local function Link(props)
75
72
  for _k, _v in styles.underline do
76
73
  _attributes_1[_k] = _v
77
74
  end
78
- return React.createElement("textbutton", _attributes, React.createElement("frame", _attributes_1))
75
+ return React.createElement(SxHost, _attributes, React.createElement("frame", _attributes_1))
79
76
  end
80
77
  local default = Link
81
78
  return {
@@ -1,3 +1,4 @@
1
+ import { CustomizedProps } from "../../../../theme/index";
1
2
  export interface ListItemProps {
2
3
  text: string;
3
4
  secondary?: string;
@@ -7,5 +8,5 @@ export interface ListItemProps {
7
8
  divider?: boolean;
8
9
  onActivated?: () => void;
9
10
  }
10
- declare function ListItem(props: ListItemProps): JSX.Element;
11
+ declare function ListItem(props: CustomizedProps<TextButton, ListItemProps>): JSX.Element;
11
12
  export default ListItem;
@@ -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 useListItemStyles = TS.import(script, script.Parent, "ListItem.styles").default
5
6
  local function ListItem(props)
6
7
  local _binding = props
@@ -23,17 +24,35 @@ local function ListItem(props)
23
24
  divider = false
24
25
  end
25
26
  local onActivated = _binding.onActivated
27
+ local className = _binding.className
28
+ local sx = _binding.sx
29
+ local id = _binding.id
30
+ local ref = _binding.ref
26
31
  local styles = useListItemStyles({
27
32
  selected = selected,
28
33
  disabled = disabled,
29
34
  dense = dense,
30
35
  })
31
36
  local _attributes = {
32
- key = "ListItem",
37
+ tag = "textbutton",
33
38
  }
34
- for _k, _v in styles.root do
35
- _attributes[_k] = _v
39
+ local _condition = id
40
+ if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
41
+ _condition = "ListItem"
36
42
  end
43
+ _attributes.key = _condition
44
+ _attributes.hostRef = ref
45
+ _attributes.base = styles.root
46
+ _attributes.className = className
47
+ _attributes.sx = sx
48
+ _attributes.state = {
49
+ disabled = disabled,
50
+ selected = selected,
51
+ }
52
+ _attributes.Text = ""
53
+ _attributes.Active = not disabled
54
+ _attributes.Selectable = not disabled
55
+ _attributes.AutoButtonColor = false
37
56
  _attributes.Event = {
38
57
  Activated = function()
39
58
  if not disabled and onActivated ~= nil then
@@ -80,7 +99,7 @@ local function ListItem(props)
80
99
  else
81
100
  _result_1 = nil
82
101
  end
83
- return React.createElement("textbutton", _attributes, _exp, _exp_1, _exp_2, _result, _result_1)
102
+ return React.createElement(SxHost, _attributes, _exp, _exp_1, _exp_2, _result, _result_1)
84
103
  end
85
104
  local default = ListItem
86
105
  return {
@@ -1,8 +1,12 @@
1
1
  import { CustomizedProps } from "../../../../theme/index";
2
+ import { LoadingStrokeStyle } from "./loadingStrokeSx";
2
3
  export interface LoadingStrokeProps {
3
4
  animating?: boolean;
4
5
  color?: Color3;
5
6
  thickness?: number;
6
7
  }
7
- declare function LoadingStroke(props: CustomizedProps<UIStroke, LoadingStrokeProps>): JSX.Element;
8
+ declare function LoadingStroke(props: Omit<CustomizedProps<UIStroke, LoadingStrokeProps>, "sx" | "className"> & {
9
+ className?: LoadingStrokeStyle;
10
+ sx?: LoadingStrokeStyle;
11
+ }): JSX.Element;
8
12
  export default LoadingStroke;
@@ -0,0 +1,11 @@
1
+ import { WriteableStyle } from "../../../../theme/index";
2
+ export type LoadingStrokeStyle = WriteableStyle<UIStroke> & {
3
+ BackgroundColor3?: never;
4
+ BackgroundTransparency?: never;
5
+ Size?: never;
6
+ Position?: never;
7
+ AnchorPoint?: never;
8
+ BorderSizePixel?: never;
9
+ Text?: never;
10
+ TextColor3?: never;
11
+ };
@@ -0,0 +1,2 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ return nil
@@ -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 Divider = TS.import(script, script.Parent.Parent.Parent, "divider").Divider
5
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
5
6
  local Orientations = TS.import(script, script.Parent.Parent.Parent.Parent, "enums").Orientations
6
7
  local _parseMarkdown = TS.import(script, script.Parent.Parent, "parseMarkdown")
7
8
  local inlinesToRichText = _parseMarkdown.inlinesToRichText
@@ -188,26 +189,18 @@ local function Markdown(props)
188
189
  local ref = _binding.ref
189
190
  local styles = useMarkdownStyles()
190
191
  local blocks = parseMarkdown(value)
191
- local _attributes = {}
192
+ local _attributes = {
193
+ tag = "frame",
194
+ }
192
195
  local _condition = id
193
196
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
194
197
  _condition = "Markdown"
195
198
  end
196
199
  _attributes.key = _condition
197
- _attributes.ref = ref
198
- for _k, _v in styles.root do
199
- _attributes[_k] = _v
200
- end
201
- if className then
202
- for _k, _v in className do
203
- _attributes[_k] = _v
204
- end
205
- end
206
- if sx then
207
- for _k, _v in sx do
208
- _attributes[_k] = _v
209
- end
210
- end
200
+ _attributes.hostRef = ref
201
+ _attributes.base = styles.root
202
+ _attributes.className = className
203
+ _attributes.sx = sx
211
204
  local _attributes_1 = table.clone(styles.layout)
212
205
  setmetatable(_attributes_1, nil)
213
206
  local _exp = React.createElement("uilistlayout", _attributes_1)
@@ -220,7 +213,7 @@ local function Markdown(props)
220
213
  _newValue[_k] = _callback(_v, _k - 1, blocks)
221
214
  end
222
215
  -- ▲ ReadonlyArray.map ▲
223
- return React.createElement("frame", _attributes, _exp, _newValue)
216
+ return React.createElement(SxHost, _attributes, _exp, _newValue)
224
217
  end
225
218
  local default = Markdown
226
219
  return {