@rbxts/uiblox 0.2.0-alpha.24 → 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 (122) hide show
  1. package/out/hooks/index.d.ts +1 -0
  2. package/out/hooks/init.luau +3 -0
  3. package/out/hooks/useBreakpoints.luau +2 -11
  4. package/out/hooks/viewportObserver.d.ts +10 -0
  5. package/out/hooks/viewportObserver.luau +75 -0
  6. package/out/theme/interfaces/theme/Theme.d.ts +15 -0
  7. package/out/theme/styles/utilities/componentStyles.luau +45 -3
  8. package/out/theme/styles/utilities/componentTheme.d.ts +15 -0
  9. package/out/theme/styles/utilities/index.d.ts +2 -0
  10. package/out/theme/styles/utilities/init.luau +7 -0
  11. package/out/theme/styles/utilities/resolveStyle.d.ts +10 -2
  12. package/out/theme/styles/utilities/resolveStyle.luau +7 -3
  13. package/out/theme/styles/utilities/resolveSx.d.ts +110 -0
  14. package/out/theme/styles/utilities/resolveSx.luau +479 -0
  15. package/out/theme/styles/utilities/styleCache.d.ts +2 -0
  16. package/out/theme/styles/utilities/styleCache.luau +9 -0
  17. package/out/ui/packages/accordion/components/Accordion.luau +12 -16
  18. package/out/ui/packages/alert/components/Alert.luau +9 -16
  19. package/out/ui/packages/appBar/components/AppBar.luau +9 -16
  20. package/out/ui/packages/assetField/components/AssetField.luau +12 -16
  21. package/out/ui/packages/avatar/components/Avatar.luau +9 -16
  22. package/out/ui/packages/backdrop/components/Backdrop.luau +9 -16
  23. package/out/ui/packages/badge/components/Badge.luau +9 -16
  24. package/out/ui/packages/bottomNavigation/components/BottomNavigation.luau +12 -16
  25. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.luau +9 -16
  26. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.luau +12 -16
  27. package/out/ui/packages/button/components/Button.luau +20 -18
  28. package/out/ui/packages/card/components/Card.d.ts +2 -1
  29. package/out/ui/packages/card/components/Card.luau +8 -0
  30. package/out/ui/packages/cframeEditor/components/CFrameEditor.luau +12 -16
  31. package/out/ui/packages/checkbox/components/Checkbox.luau +16 -16
  32. package/out/ui/packages/chip/components/Chip.luau +13 -16
  33. package/out/ui/packages/circularProgress/components/CircularProgress.luau +16 -16
  34. package/out/ui/packages/colorPicker/components/ColorPicker.luau +12 -16
  35. package/out/ui/packages/colorPicker/components/ColorSequenceEditor.luau +12 -16
  36. package/out/ui/packages/colorPicker/components/NumberSequenceEditor.luau +12 -16
  37. package/out/ui/packages/dialog/components/Dialog.d.ts +2 -1
  38. package/out/ui/packages/dialog/components/Dialog.luau +21 -10
  39. package/out/ui/packages/divider/components/Divider.luau +20 -33
  40. package/out/ui/packages/drawer/components/Drawer.d.ts +2 -1
  41. package/out/ui/packages/drawer/components/Drawer.luau +18 -5
  42. package/out/ui/packages/fab/components/Fab.luau +15 -16
  43. package/out/ui/packages/fontEditor/components/FontEditor.luau +12 -16
  44. package/out/ui/packages/formText/components/FormHelperText.luau +12 -16
  45. package/out/ui/packages/formText/components/FormLabel.luau +12 -16
  46. package/out/ui/packages/gradientEditor/components/GradientEditor.luau +12 -16
  47. package/out/ui/packages/host/components/SxHost.d.ts +18 -0
  48. package/out/ui/packages/host/components/SxHost.luau +197 -0
  49. package/out/ui/packages/host/hostPaint.d.ts +11 -0
  50. package/out/ui/packages/host/hostPaint.luau +33 -0
  51. package/out/ui/packages/host/hostRules.d.ts +15 -0
  52. package/out/ui/packages/host/hostRules.luau +92 -0
  53. package/out/ui/packages/host/index.d.ts +3 -0
  54. package/out/ui/packages/host/init.luau +13 -0
  55. package/out/ui/packages/icon/components/Icon.luau +9 -16
  56. package/out/ui/packages/iconButton/components/IconButton.luau +16 -16
  57. package/out/ui/packages/imageList/components/ImageList.luau +9 -16
  58. package/out/ui/packages/imageList/components/ImageList.styles.luau +4 -3
  59. package/out/ui/packages/input/components/Input.luau +14 -16
  60. package/out/ui/packages/layout/components/Box.luau +6 -15
  61. package/out/ui/packages/layout/components/Container.luau +6 -15
  62. package/out/ui/packages/layout/components/FlexItem.luau +6 -15
  63. package/out/ui/packages/layout/components/Grid.luau +6 -15
  64. package/out/ui/packages/layout/components/List.luau +9 -16
  65. package/out/ui/packages/layout/components/Stack.luau +6 -15
  66. package/out/ui/packages/link/components/Link.luau +13 -16
  67. package/out/ui/packages/listItem/components/ListItem.d.ts +2 -1
  68. package/out/ui/packages/listItem/components/ListItem.luau +23 -4
  69. package/out/ui/packages/loadingStroke/components/LoadingStroke.d.ts +5 -1
  70. package/out/ui/packages/loadingStroke/components/loadingStrokeSx.d.ts +11 -0
  71. package/out/ui/packages/loadingStroke/components/loadingStrokeSx.luau +2 -0
  72. package/out/ui/packages/markdown/components/Markdown.luau +9 -16
  73. package/out/ui/packages/markdown/components/MarkdownEditor.luau +9 -16
  74. package/out/ui/packages/menu/components/Menu.d.ts +2 -1
  75. package/out/ui/packages/menu/components/Menu.luau +23 -12
  76. package/out/ui/packages/modal/components/Modal.d.ts +2 -1
  77. package/out/ui/packages/modal/components/Modal.luau +29 -5
  78. package/out/ui/packages/numberInput/components/NumberInput.d.ts +1 -0
  79. package/out/ui/packages/numberInput/components/NumberInput.luau +14 -3
  80. package/out/ui/packages/numberInput/components/numberValue.d.ts +1 -0
  81. package/out/ui/packages/numberInput/components/numberValue.luau +45 -0
  82. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.luau +12 -16
  83. package/out/ui/packages/pagination/components/Pagination.luau +12 -16
  84. package/out/ui/packages/paper/components/Paper.d.ts +2 -1
  85. package/out/ui/packages/paper/components/Paper.luau +21 -12
  86. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.luau +63 -38
  87. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.styles.luau +21 -7
  88. package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.d.ts +2 -0
  89. package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.luau +14 -0
  90. package/out/ui/packages/popup/components/Popup.d.ts +2 -1
  91. package/out/ui/packages/popup/components/Popup.luau +35 -18
  92. package/out/ui/packages/preloader/components/Preloader.luau +9 -16
  93. package/out/ui/packages/progressBar/components/ProgressBar.luau +12 -16
  94. package/out/ui/packages/radioGroup/components/RadioGroup.luau +12 -16
  95. package/out/ui/packages/rating/components/Rating.luau +12 -16
  96. package/out/ui/packages/rayEditor/components/RayEditor.luau +12 -16
  97. package/out/ui/packages/rectEditor/components/RectEditor.luau +86 -43
  98. package/out/ui/packages/rectEditor/components/RectEditor.styles.luau +30 -7
  99. package/out/ui/packages/select/components/Select.luau +13 -16
  100. package/out/ui/packages/shadow/components/Shadow.d.ts +2 -1
  101. package/out/ui/packages/shadow/components/Shadow.luau +17 -5
  102. package/out/ui/packages/sidebar/components/Sidebar.luau +9 -16
  103. package/out/ui/packages/skeleton/components/Skeleton.luau +19 -28
  104. package/out/ui/packages/slider/components/Slider.luau +16 -17
  105. package/out/ui/packages/speedDial/components/SpeedDial.luau +12 -16
  106. package/out/ui/packages/splitPane/components/SplitPane.luau +12 -16
  107. package/out/ui/packages/stateMatrix.luau +1171 -675
  108. package/out/ui/packages/stepper/components/Stepper.luau +9 -16
  109. package/out/ui/packages/switch/components/Switch.luau +16 -16
  110. package/out/ui/packages/table/components/Table.luau +9 -16
  111. package/out/ui/packages/tabs/components/Tabs.luau +12 -16
  112. package/out/ui/packages/toast/components/Toast.luau +16 -13
  113. package/out/ui/packages/toggleButton/components/ToggleButton.luau +24 -32
  114. package/out/ui/packages/tooltip/components/Tooltip.luau +9 -16
  115. package/out/ui/packages/treeView/components/TreeView.luau +9 -16
  116. package/out/ui/packages/typography/components/Typography.luau +13 -14
  117. package/out/ui/packages/udimEditor/components/UDimEditor.luau +12 -16
  118. package/out/ui/packages/vectorEditor/components/VectorEditor.luau +12 -16
  119. package/out/ui/packages/virtualList/components/EmptyListHint.d.ts +2 -1
  120. package/out/ui/packages/virtualList/components/EmptyListHint.luau +15 -4
  121. package/out/ui/packages/virtualList/components/VirtualList.luau +9 -16
  122. package/package.json +2 -2
@@ -3,6 +3,7 @@ local TS = _G[script]
3
3
  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 stepState = TS.import(script, script.Parent, "stepState").stepState
6
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
6
7
  local useStepperStyles = TS.import(script, script.Parent, "Stepper.styles").default
7
8
  local function Stepper(props)
8
9
  local _binding = props
@@ -19,26 +20,18 @@ local function Stepper(props)
19
20
  local styles = useStepperStyles({
20
21
  orientation = orientation,
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 = "Stepper"
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.list)
43
36
  setmetatable(_attributes_1, nil)
44
37
  local _exp = React.createElement("uilistlayout", _attributes_1)
@@ -60,7 +53,7 @@ local function Stepper(props)
60
53
  _newValue[_k] = _callback(_v, _k - 1, steps)
61
54
  end
62
55
  -- ▲ ReadonlyArray.map ▲
63
- return React.createElement("frame", _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
56
+ return React.createElement(SxHost, _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
64
57
  end
65
58
  local default = Stepper
66
59
  return {
@@ -11,6 +11,7 @@ local controlMetrics = _theme.controlMetrics
11
11
  local cx = _theme.cx
12
12
  local useTheme = _theme.useTheme
13
13
  local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
14
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
14
15
  local playProperty = TS.import(script, script.Parent.Parent.Parent, "motion").playProperty
15
16
  local useSwitchStyles = TS.import(script, script.Parent, "Switch.styles").default
16
17
  local _switchLook = TS.import(script, script.Parent, "switchLook")
@@ -78,26 +79,25 @@ local function Switch(props)
78
79
  end
79
80
  return playProperty(thumb, goal, THUMB_SECONDS, reducedMotion)
80
81
  end, { placement.scaleX, placement.offsetX, placement.anchorX, reducedMotion })
81
- local _attributes = {}
82
+ local _attributes = {
83
+ tag = "textbutton",
84
+ }
82
85
  local _condition = id
83
86
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
84
87
  _condition = "Switch"
85
88
  end
86
89
  _attributes.key = _condition
87
- _attributes.ref = ref
88
- for _k, _v in root do
89
- _attributes[_k] = _v
90
- end
91
- if className then
92
- for _k, _v in className do
93
- _attributes[_k] = _v
94
- end
95
- end
96
- if sx then
97
- for _k, _v in sx do
98
- _attributes[_k] = _v
99
- end
100
- end
90
+ _attributes.hostRef = ref
91
+ _attributes.base = root
92
+ _attributes.className = className
93
+ _attributes.sx = sx
94
+ _attributes.state = {
95
+ disabled = disabled,
96
+ checked = on,
97
+ hover = hovering,
98
+ pressed = pressed,
99
+ focused = focused,
100
+ }
101
101
  _attributes.Active = active
102
102
  _attributes.Selectable = not disabled
103
103
  _attributes.BackgroundTransparency = if focused and active then 0.85 else 1
@@ -167,7 +167,7 @@ local function Switch(props)
167
167
  _attributes_7.LayoutOrder = 2
168
168
  _condition_1 = (React.createElement("textlabel", _attributes_7))
169
169
  end
170
- return React.createElement("textbutton", _attributes, _exp, _exp_3, _condition_1)
170
+ return React.createElement(SxHost, _attributes, _exp, _exp_3, _condition_1)
171
171
  end
172
172
  local default = Switch
173
173
  return {
@@ -3,6 +3,7 @@ local TS = _G[script]
3
3
  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 rowSelected = TS.import(script, script.Parent, "rowSelected").rowSelected
6
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
6
7
  local useTableStyles = TS.import(script, script.Parent, "Table.styles").default
7
8
  local function Table(props)
8
9
  local _binding = props
@@ -19,26 +20,18 @@ local function Table(props)
19
20
  dense = dense,
20
21
  })
21
22
  local width = if #columns > 0 then 1 / #columns else 1
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 = "Table"
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.corner)
43
36
  setmetatable(_attributes_1, nil)
44
37
  local _exp = React.createElement("uicorner", _attributes_1)
@@ -130,7 +123,7 @@ local function Table(props)
130
123
  _newValue_1[_k] = _callback_1(_v, _k - 1, rows)
131
124
  end
132
125
  -- ▲ ReadonlyArray.map ▲
133
- return React.createElement("frame", _attributes, _exp, _exp_1, _exp_4, React.createElement(React.Fragment, nil, _newValue_1))
126
+ return React.createElement(SxHost, _attributes, _exp, _exp_1, _exp_4, React.createElement(React.Fragment, nil, _newValue_1))
134
127
  end
135
128
  local default = Table
136
129
  return {
@@ -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 SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
7
8
  local tabsIsVertical = TS.import(script, script.Parent, "tabsOrientation").tabsIsVertical
8
9
  local useTabsStyles = TS.import(script, script.Parent, "Tabs.styles").default
9
10
  local function Tabs(props)
@@ -51,26 +52,21 @@ local function Tabs(props)
51
52
  choose(stepChoice(options, index, 1))
52
53
  end
53
54
  end
54
- local _attributes = {}
55
+ local _attributes = {
56
+ tag = "scrollingframe",
57
+ }
55
58
  local _condition = id
56
59
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
57
60
  _condition = "Tabs"
58
61
  end
59
62
  _attributes.key = _condition
60
- _attributes.ref = ref
61
- for _k, _v in styles.root do
62
- _attributes[_k] = _v
63
- end
64
- if className then
65
- for _k, _v in className do
66
- _attributes[_k] = _v
67
- end
68
- end
69
- if sx then
70
- for _k, _v in sx do
71
- _attributes[_k] = _v
72
- end
73
- end
63
+ _attributes.hostRef = ref
64
+ _attributes.base = styles.root
65
+ _attributes.className = className
66
+ _attributes.sx = sx
67
+ _attributes.state = {
68
+ disabled = disabled,
69
+ }
74
70
  local _attributes_1 = table.clone(styles.list)
75
71
  setmetatable(_attributes_1, nil)
76
72
  local _exp = React.createElement("uilistlayout", _attributes_1)
@@ -114,7 +110,7 @@ local function Tabs(props)
114
110
  _newValue[_k] = _callback(_v, _k - 1, options)
115
111
  end
116
112
  -- ▲ ReadonlyArray.map ▲
117
- return React.createElement("scrollingframe", _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
113
+ return React.createElement(SxHost, _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
118
114
  end
119
115
  local default = Tabs
120
116
  return {
@@ -7,6 +7,7 @@ local useEffect = _react.useEffect
7
7
  local useRef = _react.useRef
8
8
  local DEFAULT_THEME = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme").DEFAULT_THEME
9
9
  local Directions = TS.import(script, script.Parent.Parent.Parent.Parent, "enums").Directions
10
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
10
11
  local Shadow = TS.import(script, script.Parent.Parent.Parent, "shadow").Shadow
11
12
  local useToastStyles = TS.import(script, script.Parent, "Toast.styles").default
12
13
  local TWEEN_DURATION = 0.5
@@ -60,26 +61,28 @@ local function Toast(props)
60
61
  onDismiss()
61
62
  end
62
63
  end, {})
63
- local _attributes = {}
64
+ local _attributes = {
65
+ tag = "frame",
66
+ }
64
67
  local _condition = id
65
68
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
66
69
  _condition = "Toast"
67
70
  end
68
71
  _attributes.key = _condition
69
- _attributes.ref = frameRef
70
- for _k, _v in container do
71
- _attributes[_k] = _v
72
- end
73
- if className then
74
- for _k, _v in className do
75
- _attributes[_k] = _v
72
+ _attributes.hostRef = function(instance)
73
+ frameRef.current = instance
74
+ if ref == nil then
75
+ return nil
76
76
  end
77
- end
78
- if sx then
79
- for _k, _v in sx do
80
- _attributes[_k] = _v
77
+ if type(ref) == "function" then
78
+ ref(instance)
79
+ return nil
81
80
  end
81
+ ref.current = instance
82
82
  end
83
+ _attributes.base = container
84
+ _attributes.className = className
85
+ _attributes.sx = sx
83
86
  local _exp = React.createElement("uicorner", {
84
87
  key = "Corner",
85
88
  CornerRadius = UDim.new(0, DEFAULT_THEME.shape.borderRadius),
@@ -129,7 +132,7 @@ local function Toast(props)
129
132
  end
130
133
  end,
131
134
  }
132
- return React.createElement("frame", _attributes, _exp, _exp_1, _exp_2, _condition_1, React.createElement("imagebutton", _attributes_2))
135
+ return React.createElement(SxHost, _attributes, _exp, _exp_1, _exp_2, _condition_1, React.createElement("imagebutton", _attributes_2))
133
136
  end
134
137
  local default = Toast
135
138
  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 useToggleButtonStyles = TS.import(script, script.Parent, "ToggleButton.styles").default
6
7
  local function ToggleButton(props)
7
8
  local _binding = props
@@ -23,26 +24,22 @@ local function ToggleButton(props)
23
24
  size = size,
24
25
  })
25
26
  local active = canActivate(disabled)
26
- local _attributes = {}
27
+ local _attributes = {
28
+ tag = "textbutton",
29
+ }
27
30
  local _condition = id
28
31
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
29
32
  _condition = "ToggleButton"
30
33
  end
31
34
  _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
35
+ _attributes.hostRef = ref
36
+ _attributes.base = styles.root
37
+ _attributes.className = className
38
+ _attributes.sx = sx
39
+ _attributes.state = {
40
+ disabled = disabled,
41
+ selected = selected,
42
+ }
46
43
  _attributes.Text = label
47
44
  _attributes.Active = active
48
45
  _attributes.Selectable = active
@@ -64,7 +61,7 @@ local function ToggleButton(props)
64
61
  local _exp_1 = React.createElement("uicorner", _attributes_2)
65
62
  local _attributes_3 = table.clone(styles.stroke)
66
63
  setmetatable(_attributes_3, nil)
67
- return React.createElement("textbutton", _attributes, _exp, _exp_1, React.createElement("uistroke", _attributes_3))
64
+ return React.createElement(SxHost, _attributes, _exp, _exp_1, React.createElement("uistroke", _attributes_3))
68
65
  end
69
66
  local function ToggleButtonGroup(props)
70
67
  local _binding = props
@@ -82,26 +79,21 @@ local function ToggleButtonGroup(props)
82
79
  size = size,
83
80
  orientation = orientation,
84
81
  })
85
- local _attributes = {}
82
+ local _attributes = {
83
+ tag = "frame",
84
+ }
86
85
  local _condition = id
87
86
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
88
87
  _condition = "ToggleButtonGroup"
89
88
  end
90
89
  _attributes.key = _condition
91
- _attributes.ref = ref
92
- for _k, _v in styles.group do
93
- _attributes[_k] = _v
94
- end
95
- if className then
96
- for _k, _v in className do
97
- _attributes[_k] = _v
98
- end
99
- end
100
- if sx then
101
- for _k, _v in sx do
102
- _attributes[_k] = _v
103
- end
104
- end
90
+ _attributes.hostRef = ref
91
+ _attributes.base = styles.group
92
+ _attributes.className = className
93
+ _attributes.sx = sx
94
+ _attributes.state = {
95
+ disabled = disabled,
96
+ }
105
97
  local _attributes_1 = table.clone(styles.list)
106
98
  setmetatable(_attributes_1, nil)
107
99
  local _exp = React.createElement("uilistlayout", _attributes_1)
@@ -128,7 +120,7 @@ local function ToggleButtonGroup(props)
128
120
  _newValue[_k] = _callback(_v, _k - 1, options)
129
121
  end
130
122
  -- ▲ ReadonlyArray.map ▲
131
- 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))
132
124
  end
133
125
  local default = ToggleButton
134
126
  return {
@@ -7,6 +7,7 @@ local useRef = _react.useRef
7
7
  local useState = _react.useState
8
8
  local TextService = TS.import(script, TS.getModule(script, "@rbxts", "services")).TextService
9
9
  local useTheme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme").useTheme
10
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
10
11
  local Popup = TS.import(script, script.Parent.Parent.Parent, "popup").Popup
11
12
  local useTooltipStyles = TS.import(script, script.Parent, "Tooltip.styles").default
12
13
  local function Tooltip(props)
@@ -50,26 +51,18 @@ local function Tooltip(props)
50
51
  useEffect(function()
51
52
  return cancel
52
53
  end, {})
53
- local _attributes = {}
54
+ local _attributes = {
55
+ tag = "frame",
56
+ }
54
57
  local _condition_1 = id
55
58
  if not (_condition_1 ~= 0 and _condition_1 == _condition_1 and _condition_1 ~= "" and _condition_1) then
56
59
  _condition_1 = "Tooltip"
57
60
  end
58
61
  _attributes.key = _condition_1
59
- _attributes.ref = ref
60
- for _k, _v in styles.root do
61
- _attributes[_k] = _v
62
- end
63
- if className then
64
- for _k, _v in className do
65
- _attributes[_k] = _v
66
- end
67
- end
68
- if sx then
69
- for _k, _v in sx do
70
- _attributes[_k] = _v
71
- end
72
- end
62
+ _attributes.hostRef = ref
63
+ _attributes.base = styles.root
64
+ _attributes.className = className
65
+ _attributes.sx = sx
73
66
  _attributes.Event = {
74
67
  MouseEnter = function(rbx)
75
68
  setAnchor(rbx)
@@ -111,7 +104,7 @@ local function Tooltip(props)
111
104
  preferredHeight = tipHeight,
112
105
  }, React.createElement("textlabel", _attributes_1, _exp_1, _exp_2, React.createElement("uistroke", _attributes_4))))
113
106
  end
114
- return React.createElement("frame", _attributes, _exp, _condition_2)
107
+ return React.createElement(SxHost, _attributes, _exp, _condition_2)
115
108
  end
116
109
  local default = Tooltip
117
110
  return {
@@ -9,6 +9,7 @@ local useState = _react.useState
9
9
  local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
10
10
  local cx = _theme.cx
11
11
  local useTheme = _theme.useTheme
12
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
12
13
  local Icon = TS.import(script, script.Parent.Parent.Parent, "icon").Icon
13
14
  local Typography = TS.import(script, script.Parent.Parent.Parent, "typography").Typography
14
15
  local VirtualList = TS.import(script, script.Parent.Parent.Parent, "virtualList").VirtualList
@@ -252,26 +253,18 @@ local function TreeView(props)
252
253
  family = if bold then "bold" else "default",
253
254
  }))
254
255
  end
255
- local _attributes = {}
256
+ local _attributes = {
257
+ tag = "frame",
258
+ }
256
259
  local _condition = id
257
260
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
258
261
  _condition = "TreeView"
259
262
  end
260
263
  _attributes.key = _condition
261
- _attributes.ref = ref
262
- for _k, _v in root do
263
- _attributes[_k] = _v
264
- end
265
- if className then
266
- for _k, _v in className do
267
- _attributes[_k] = _v
268
- end
269
- end
270
- if sx then
271
- for _k, _v in sx do
272
- _attributes[_k] = _v
273
- end
274
- end
264
+ _attributes.hostRef = ref
265
+ _attributes.base = root
266
+ _attributes.className = className
267
+ _attributes.sx = sx
275
268
  local _attributes_1 = {}
276
269
  local _object = {
277
270
  Text = tree.title,
@@ -283,7 +276,7 @@ local function TreeView(props)
283
276
  _attributes_1.color = "textSecondary"
284
277
  _attributes_1.variant = "body"
285
278
  _attributes_1.family = "bold"
286
- return React.createElement("frame", _attributes, React.createElement(Typography, _attributes_1), React.createElement(VirtualList, {
279
+ return React.createElement(SxHost, _attributes, React.createElement(Typography, _attributes_1), React.createElement(VirtualList, {
287
280
  key = "List",
288
281
  items = rows,
289
282
  getKey = function(entry)
@@ -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 useTypographyStyles = TS.import(script, script.Parent, "Typography.styles").default
5
6
  local function Typography(props)
6
7
  local _binding = props
@@ -16,31 +17,29 @@ local function Typography(props)
16
17
  local _binding_1 = useTypographyStyles(props)
17
18
  local root = _binding_1.root
18
19
  local variantToken = _binding_1.variantToken
19
- local _attributes = {}
20
+ local _attributes = {
21
+ tag = "textlabel",
22
+ }
20
23
  local _condition = id
21
24
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
22
25
  _condition = "Typography"
23
26
  end
24
27
  _attributes.key = _condition
25
- _attributes.ref = ref
26
- for _k, _v in root do
27
- _attributes[_k] = _v
28
- end
29
- _attributes.Text = text
28
+ _attributes.hostRef = ref
29
+ local _object = table.clone(root)
30
+ setmetatable(_object, nil)
31
+ _object.Text = text
30
32
  if className ~= 0 and className == className and className ~= "" and className then
31
33
  for _k, _v in className do
32
- _attributes[_k] = _v
34
+ _object[_k] = _v
33
35
  end
34
36
  end
35
37
  for _k, _v in variantToken do
36
- _attributes[_k] = _v
37
- end
38
- if sx ~= 0 and sx == sx and sx ~= "" and sx then
39
- for _k, _v in sx do
40
- _attributes[_k] = _v
41
- end
38
+ _object[_k] = _v
42
39
  end
43
- return React.createElement("textlabel", _attributes, children)
40
+ _attributes.base = _object
41
+ _attributes.sx = sx
42
+ return React.createElement(SxHost, _attributes, children)
44
43
  end
45
44
  local default = Typography
46
45
  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 NumberInput = TS.import(script, script.Parent.Parent.Parent, "numberInput").NumberInput
5
6
  local _vectorValue = TS.import(script, script.Parent.Parent.Parent, "vectorEditor", "components", "vectorValue")
6
7
  local writeUDim = _vectorValue.writeUDim
@@ -41,26 +42,21 @@ local function UDimEditor(props)
41
42
  onChange = commit,
42
43
  })))
43
44
  end
44
- local _attributes = {}
45
+ local _attributes = {
46
+ tag = "frame",
47
+ }
45
48
  local _condition = id
46
49
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
47
50
  _condition = "UDimEditor"
48
51
  end
49
52
  _attributes.key = _condition
50
- _attributes.ref = ref
51
- for _k, _v in styles.root do
52
- _attributes[_k] = _v
53
- end
54
- if className then
55
- for _k, _v in className do
56
- _attributes[_k] = _v
57
- end
58
- end
59
- if sx then
60
- for _k, _v in sx do
61
- _attributes[_k] = _v
62
- end
63
- end
53
+ _attributes.hostRef = ref
54
+ _attributes.base = styles.root
55
+ _attributes.className = className
56
+ _attributes.sx = sx
57
+ _attributes.state = {
58
+ disabled = disabled,
59
+ }
64
60
  local _attributes_1 = table.clone(styles.column)
65
61
  setmetatable(_attributes_1, nil)
66
62
  local _exp = React.createElement("uilistlayout", _attributes_1)
@@ -119,7 +115,7 @@ local function UDimEditor(props)
119
115
  return onChange(writeUDim(value, "Offset", amount))
120
116
  end, 2)))
121
117
  end
122
- return React.createElement("frame", _attributes, _exp, _result)
118
+ return React.createElement(SxHost, _attributes, _exp, _result)
123
119
  end
124
120
  local default = UDimEditor
125
121
  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 NumberInput = TS.import(script, script.Parent.Parent.Parent, "numberInput").NumberInput
5
6
  local useVectorEditorStyles = TS.import(script, script.Parent, "VectorEditor.styles").default
6
7
  local _vectorValue = TS.import(script, script.Parent, "vectorValue")
@@ -19,26 +20,21 @@ local function VectorEditor(props)
19
20
  local styles = useVectorEditorStyles()
20
21
  local isVector3 = typeof(value) == "Vector3"
21
22
  local axes = props.axes or (if isVector3 then ({ "X", "Y", "Z" }) else ({ "X", "Y" }))
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 = "VectorEditor"
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
35
+ _attributes.state = {
36
+ disabled = disabled,
37
+ }
42
38
  local _attributes_1 = table.clone(styles.row)
43
39
  setmetatable(_attributes_1, nil)
44
40
  local _exp = React.createElement("uilistlayout", _attributes_1)
@@ -79,7 +75,7 @@ local function VectorEditor(props)
79
75
  _newValue[_k] = _callback(_v, _k - 1, axes)
80
76
  end
81
77
  -- ▲ ReadonlyArray.map ▲
82
- return React.createElement("frame", _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
78
+ return React.createElement(SxHost, _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
83
79
  end
84
80
  local default = VectorEditor
85
81
  return {
@@ -1,6 +1,7 @@
1
+ import { CustomizedProps } from "../../../../theme/index";
1
2
  export interface EmptyListHintProps {
2
3
  text: string;
3
4
  height?: number;
4
5
  }
5
- declare function EmptyListHint(props: EmptyListHintProps): JSX.Element;
6
+ declare function EmptyListHint(props: CustomizedProps<TextLabel, EmptyListHintProps>): JSX.Element;
6
7
  export default EmptyListHint;