@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
@@ -6,6 +6,7 @@ local useEffect = _react.useEffect
6
6
  local useRef = _react.useRef
7
7
  local useReducedMotion = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "hooks").useReducedMotion
8
8
  local useTheme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme").useTheme
9
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
9
10
  local _motion = TS.import(script, script.Parent.Parent.Parent, "motion")
10
11
  local arcKeys = _motion.arcKeys
11
12
  local loopProperty = _motion.loopProperty
@@ -77,27 +78,26 @@ local function CircularProgress(props)
77
78
  end
78
79
  gradient.Rotation = -90
79
80
  end, { motion })
80
- local _attributes = {}
81
+ local _attributes = {
82
+ tag = "frame",
83
+ }
81
84
  local _condition = id
82
85
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
83
86
  _condition = "CircularProgress"
84
87
  end
85
88
  _attributes.key = _condition
86
- _attributes.ref = ref
87
- _attributes.Size = UDim2.new(0, size, 0, size)
88
- _attributes.BackgroundTransparency = 1
89
- _attributes.BorderSizePixel = 0
90
- if className then
91
- for _k, _v in className do
92
- _attributes[_k] = _v
93
- end
94
- end
95
- if sx then
96
- for _k, _v in sx do
97
- _attributes[_k] = _v
98
- end
99
- end
100
- return React.createElement("frame", _attributes, React.createElement("uicorner", {
89
+ _attributes.hostRef = ref
90
+ _attributes.base = {
91
+ Size = UDim2.new(0, size, 0, size),
92
+ BackgroundTransparency = 1,
93
+ BorderSizePixel = 0,
94
+ }
95
+ _attributes.className = className
96
+ _attributes.sx = sx
97
+ _attributes.state = {
98
+ disabled = disabled,
99
+ }
100
+ return React.createElement(SxHost, _attributes, React.createElement("uicorner", {
101
101
  CornerRadius = UDim.new(1, 0),
102
102
  }), React.createElement("uistroke", {
103
103
  Color = tint,
@@ -7,6 +7,7 @@ local useRef = _react.useRef
7
7
  local useState = _react.useState
8
8
  local UserInputService = TS.import(script, TS.getModule(script, "@rbxts", "services")).UserInputService
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 canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
11
12
  local Input = TS.import(script, script.Parent.Parent.Parent, "input").Input
12
13
  local NumberInput = TS.import(script, script.Parent.Parent.Parent, "numberInput").NumberInput
@@ -391,26 +392,21 @@ local function ColorPicker(props)
391
392
  return connection:Disconnect()
392
393
  end
393
394
  end, { shown, value })
394
- local _attributes = {}
395
+ local _attributes = {
396
+ tag = "frame",
397
+ }
395
398
  local _condition = id
396
399
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
397
400
  _condition = "ColorPicker"
398
401
  end
399
402
  _attributes.key = _condition
400
- _attributes.ref = ref
401
- for _k, _v in styles.field do
402
- _attributes[_k] = _v
403
- end
404
- if className then
405
- for _k, _v in className do
406
- _attributes[_k] = _v
407
- end
408
- end
409
- if sx then
410
- for _k, _v in sx do
411
- _attributes[_k] = _v
412
- end
413
- end
403
+ _attributes.hostRef = ref
404
+ _attributes.base = styles.field
405
+ _attributes.className = className
406
+ _attributes.sx = sx
407
+ _attributes.state = {
408
+ disabled = disabled,
409
+ }
414
410
  local _attributes_1 = table.clone(styles.rowLayout)
415
411
  setmetatable(_attributes_1, nil)
416
412
  local _exp = React.createElement("uilistlayout", _attributes_1)
@@ -504,7 +500,7 @@ local function ColorPicker(props)
504
500
  onChange = onChange,
505
501
  }))))
506
502
  end
507
- return React.createElement("frame", _attributes, _exp, _exp_2, _exp_3, _condition_1)
503
+ return React.createElement(SxHost, _attributes, _exp, _exp_2, _exp_3, _condition_1)
508
504
  end
509
505
  local default = ColorPicker
510
506
  return {
@@ -4,6 +4,7 @@ local _react = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
4
  local React = _react
5
5
  local useRef = _react.useRef
6
6
  local useState = _react.useState
7
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
7
8
  local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
8
9
  local ColorPicker = TS.import(script, script.Parent, "ColorPicker").default
9
10
  local useColorPickerStyles = TS.import(script, script.Parent, "ColorPicker.styles").default
@@ -43,26 +44,21 @@ local function ColorSequenceEditor(props)
43
44
  end
44
45
  return math.clamp((position.X - rbx.AbsolutePosition.X) / width, 0, 1)
45
46
  end
46
- local _attributes = {}
47
+ local _attributes = {
48
+ tag = "frame",
49
+ }
47
50
  local _condition = id
48
51
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
49
52
  _condition = "ColorSequenceEditor"
50
53
  end
51
54
  _attributes.key = _condition
52
- _attributes.ref = ref
53
- for _k, _v in styles.root do
54
- _attributes[_k] = _v
55
- end
56
- if className then
57
- for _k, _v in className do
58
- _attributes[_k] = _v
59
- end
60
- end
61
- if sx then
62
- for _k, _v in sx do
63
- _attributes[_k] = _v
64
- end
65
- end
55
+ _attributes.hostRef = ref
56
+ _attributes.base = styles.root
57
+ _attributes.className = className
58
+ _attributes.sx = sx
59
+ _attributes.state = {
60
+ disabled = disabled,
61
+ }
66
62
  _attributes.Selectable = false
67
63
  local _attributes_1 = table.clone(styles.column)
68
64
  setmetatable(_attributes_1, nil)
@@ -185,7 +181,7 @@ local function ColorSequenceEditor(props)
185
181
  }
186
182
  _condition_1 = (React.createElement("textbutton", _attributes_5))
187
183
  end
188
- return React.createElement("frame", _attributes, _exp, _exp_4, _exp_5, _condition_1)
184
+ return React.createElement(SxHost, _attributes, _exp, _exp_4, _exp_5, _condition_1)
189
185
  end
190
186
  local default = ColorSequenceEditor
191
187
  return {
@@ -4,6 +4,7 @@ local _react = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
4
  local React = _react
5
5
  local useRef = _react.useRef
6
6
  local useState = _react.useState
7
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
7
8
  local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
8
9
  local NumberInput = TS.import(script, script.Parent.Parent.Parent, "numberInput").NumberInput
9
10
  local useColorPickerStyles = TS.import(script, script.Parent, "ColorPicker.styles").default
@@ -44,26 +45,21 @@ local function NumberSequenceEditor(props)
44
45
  end
45
46
  return math.clamp((position.X - rbx.AbsolutePosition.X) / width, 0, 1)
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 = "NumberSequenceEditor"
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
  _attributes.Selectable = false
68
64
  local _attributes_1 = table.clone(styles.column)
69
65
  setmetatable(_attributes_1, nil)
@@ -239,7 +235,7 @@ local function NumberSequenceEditor(props)
239
235
  }
240
236
  _condition_1 = (React.createElement("textbutton", _attributes_15))
241
237
  end
242
- return React.createElement("frame", _attributes, _exp, _exp_4, _exp_11, _condition_1)
238
+ return React.createElement(SxHost, _attributes, _exp, _exp_4, _exp_11, _condition_1)
243
239
  end
244
240
  local default = NumberSequenceEditor
245
241
  return {
@@ -1,4 +1,5 @@
1
1
  import React from "@rbxts/react";
2
+ import { CustomizedProps } from "../../../../theme/index";
2
3
  export interface DialogProps {
3
4
  host?: Instance;
4
5
  open: boolean;
@@ -7,5 +8,5 @@ export interface DialogProps {
7
8
  children?: React.ReactNode;
8
9
  actions?: React.ReactNode;
9
10
  }
10
- declare function Dialog(props: DialogProps): JSX.Element;
11
+ declare function Dialog(props: CustomizedProps<Frame, DialogProps>): JSX.Element;
11
12
  export default Dialog;
@@ -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 Modal = TS.import(script, script.Parent.Parent.Parent, "modal").Modal
5
6
  local useDialogStyles = TS.import(script, script.Parent, "Dialog.styles").default
6
7
  local function Dialog(props)
@@ -11,20 +12,30 @@ local function Dialog(props)
11
12
  local onClose = _binding.onClose
12
13
  local children = _binding.children
13
14
  local actions = _binding.actions
15
+ local className = _binding.className
16
+ local sx = _binding.sx
17
+ local id = _binding.id
18
+ local ref = _binding.ref
14
19
  local styles = useDialogStyles()
15
20
  local hasTitle = title ~= nil and title ~= ""
16
21
  local hasActions = actions ~= nil
17
22
  local _attributes = {
18
- key = "Column",
23
+ tag = "frame",
19
24
  }
20
- for _k, _v in styles.column do
21
- _attributes[_k] = _v
25
+ local _condition = id
26
+ if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
27
+ _condition = "Column"
22
28
  end
29
+ _attributes.key = _condition
30
+ _attributes.hostRef = ref
31
+ _attributes.base = styles.column
32
+ _attributes.className = className
33
+ _attributes.sx = sx
23
34
  local _attributes_1 = table.clone(styles.columnList)
24
35
  setmetatable(_attributes_1, nil)
25
36
  local _exp = React.createElement("uilistlayout", _attributes_1)
26
- local _condition = hasTitle
27
- if _condition then
37
+ local _condition_1 = hasTitle
38
+ if _condition_1 then
28
39
  local _attributes_2 = {
29
40
  key = "Title",
30
41
  }
@@ -32,7 +43,7 @@ local function Dialog(props)
32
43
  _attributes_2[_k] = _v
33
44
  end
34
45
  _attributes_2.Text = title
35
- _condition = React.createElement("textlabel", _attributes_2)
46
+ _condition_1 = React.createElement("textlabel", _attributes_2)
36
47
  end
37
48
  local _attributes_2 = {
38
49
  key = "Body",
@@ -41,8 +52,8 @@ local function Dialog(props)
41
52
  _attributes_2[_k] = _v
42
53
  end
43
54
  local _exp_1 = React.createElement("frame", _attributes_2, children)
44
- local _condition_1 = hasActions
45
- if _condition_1 then
55
+ local _condition_2 = hasActions
56
+ if _condition_2 then
46
57
  local _attributes_3 = {
47
58
  key = "Actions",
48
59
  }
@@ -51,13 +62,13 @@ local function Dialog(props)
51
62
  end
52
63
  local _attributes_4 = table.clone(styles.actionList)
53
64
  setmetatable(_attributes_4, nil)
54
- _condition_1 = (React.createElement("frame", _attributes_3, React.createElement("uilistlayout", _attributes_4), actions))
65
+ _condition_2 = (React.createElement("frame", _attributes_3, React.createElement("uilistlayout", _attributes_4), actions))
55
66
  end
56
67
  return React.createElement(Modal, {
57
68
  host = host,
58
69
  open = open,
59
70
  onClose = onClose,
60
- }, React.createElement("frame", _attributes, _exp, _condition, _exp_1, _condition_1))
71
+ }, React.createElement(SxHost, _attributes, _exp, _condition_1, _exp_1, _condition_2))
61
72
  end
62
73
  local default = Dialog
63
74
  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 Orientations = TS.import(script, script.Parent.Parent.Parent.Parent, "enums").Orientations
5
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
5
6
  local dividerLabel = TS.import(script, script.Parent, "dividerLabel").dividerLabel
6
7
  local useDividerStyles = TS.import(script, script.Parent, "Divider.styles").default
7
8
  local function Divider(props)
@@ -20,26 +21,18 @@ local function Divider(props)
20
21
  local captionPad = _binding_1.captionPad
21
22
  local label = dividerLabel(text)
22
23
  if label ~= nil and orientation ~= Orientations.Vertical then
23
- local _attributes = {}
24
+ local _attributes = {
25
+ tag = "frame",
26
+ }
24
27
  local _condition = id
25
28
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
26
29
  _condition = "Divider"
27
30
  end
28
31
  _attributes.key = _condition
29
- _attributes.ref = ref
30
- for _k, _v in shell do
31
- _attributes[_k] = _v
32
- end
33
- if className ~= 0 and className == className and className ~= "" and className then
34
- for _k, _v in className do
35
- _attributes[_k] = _v
36
- end
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
42
- end
32
+ _attributes.hostRef = ref
33
+ _attributes.base = shell
34
+ _attributes.className = className
35
+ _attributes.sx = sx
43
36
  local _attributes_1 = {
44
37
  key = "Line",
45
38
  }
@@ -56,30 +49,24 @@ local function Divider(props)
56
49
  _attributes_2.Text = label
57
50
  local _attributes_3 = table.clone(captionPad)
58
51
  setmetatable(_attributes_3, nil)
59
- return React.createElement("frame", _attributes, _exp, React.createElement("textlabel", _attributes_2, React.createElement("uipadding", _attributes_3)))
52
+ return React.createElement(SxHost, _attributes, _exp, React.createElement("textlabel", _attributes_2, React.createElement("uipadding", _attributes_3)))
60
53
  end
61
- local _attributes = {}
54
+ local _attributes = {
55
+ tag = "frame",
56
+ }
62
57
  local _condition = id
63
58
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
64
59
  _condition = "Divider"
65
60
  end
66
61
  _attributes.key = _condition
67
- _attributes.ref = ref
68
- for _k, _v in root do
69
- _attributes[_k] = _v
70
- end
71
- _attributes.BorderSizePixel = 0
72
- if className ~= 0 and className == className and className ~= "" and className then
73
- for _k, _v in className do
74
- _attributes[_k] = _v
75
- end
76
- end
77
- if sx ~= 0 and sx == sx and sx ~= "" and sx then
78
- for _k, _v in sx do
79
- _attributes[_k] = _v
80
- end
81
- end
82
- return React.createElement("frame", _attributes)
62
+ _attributes.hostRef = ref
63
+ local _object = table.clone(root)
64
+ setmetatable(_object, nil)
65
+ _object.BorderSizePixel = 0
66
+ _attributes.base = _object
67
+ _attributes.className = className
68
+ _attributes.sx = sx
69
+ return React.createElement(SxHost, _attributes)
83
70
  end
84
71
  local default = Divider
85
72
  return {
@@ -1,4 +1,5 @@
1
1
  import React from "@rbxts/react";
2
+ import { CustomizedProps } from "../../../../theme/index";
2
3
  import { DrawerEdge } from "./drawerPlacement";
3
4
  export interface DrawerProps {
4
5
  host?: Instance;
@@ -8,5 +9,5 @@ export interface DrawerProps {
8
9
  onClose: () => void;
9
10
  children?: React.ReactNode;
10
11
  }
11
- declare function Drawer(props: DrawerProps): JSX.Element;
12
+ declare function Drawer(props: CustomizedProps<Frame, DrawerProps>): JSX.Element;
12
13
  export default Drawer;
@@ -6,10 +6,11 @@ local useEffect = _react.useEffect
6
6
  local useRef = _react.useRef
7
7
  local useState = _react.useState
8
8
  local UserInputService = TS.import(script, TS.getModule(script, "@rbxts", "services")).UserInputService
9
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
10
+ local isDismissInput = TS.import(script, script.Parent.Parent.Parent, "modal", "components", "dismissInput").isDismissInput
9
11
  local _popup = TS.import(script, script.Parent.Parent.Parent, "popup")
10
12
  local Portal = _popup.Portal
11
13
  local portalTarget = _popup.portalTarget
12
- local isDismissInput = TS.import(script, script.Parent.Parent.Parent, "modal", "components", "dismissInput").isDismissInput
13
14
  local drawerAnchor = TS.import(script, script.Parent, "drawerPlacement").drawerAnchor
14
15
  local useDrawerStyles = TS.import(script, script.Parent, "Drawer.styles").default
15
16
  local function Drawer(props)
@@ -23,6 +24,10 @@ local function Drawer(props)
23
24
  local width = _binding.width
24
25
  local onClose = _binding.onClose
25
26
  local children = _binding.children
27
+ local className = _binding.className
28
+ local sx = _binding.sx
29
+ local id = _binding.id
30
+ local ref = _binding.ref
26
31
  local styles = useDrawerStyles({
27
32
  width = width,
28
33
  })
@@ -49,6 +54,7 @@ local function Drawer(props)
49
54
  end
50
55
  end, { open, layer })
51
56
  local placement = drawerAnchor(edge)
57
+ local panelStyle = styles.panel
52
58
  local _exp = React.createElement("frame", {
53
59
  key = "DrawerAnchor",
54
60
  ref = anchor,
@@ -77,18 +83,25 @@ local function Drawer(props)
77
83
  }
78
84
  local _exp_1 = React.createElement("textbutton", _attributes_1)
79
85
  local _attributes_2 = {
80
- key = "Panel",
86
+ tag = "frame",
81
87
  }
82
- for _k, _v in styles.panel do
83
- _attributes_2[_k] = _v
88
+ local _condition_1 = id
89
+ if not (_condition_1 ~= 0 and _condition_1 == _condition_1 and _condition_1 ~= "" and _condition_1) then
90
+ _condition_1 = "Panel"
84
91
  end
92
+ _attributes_2.key = _condition_1
93
+ _attributes_2.hostRef = ref
94
+ _attributes_2.base = panelStyle
95
+ _attributes_2.className = className
96
+ _attributes_2.sx = sx
85
97
  _attributes_2.AnchorPoint = Vector2.new(placement, 0)
86
98
  _attributes_2.Position = UDim2.fromScale(placement, 0)
99
+ _attributes_2.ZIndex = panelStyle.ZIndex
87
100
  local _attributes_3 = table.clone(styles.padding)
88
101
  setmetatable(_attributes_3, nil)
89
102
  _condition = (React.createElement(Portal, {
90
103
  host = layer,
91
- }, React.createElement("frame", _attributes, _exp_1, React.createElement("frame", _attributes_2, React.createElement("uipadding", _attributes_3), children))))
104
+ }, React.createElement("frame", _attributes, _exp_1, React.createElement(SxHost, _attributes_2, React.createElement("uipadding", _attributes_3), children))))
92
105
  end
93
106
  return React.createElement(React.Fragment, nil, _exp, _condition)
94
107
  end
@@ -7,6 +7,7 @@ local useState = _react.useState
7
7
  local useTheme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme").useTheme
8
8
  local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
9
9
  local CircularProgress = TS.import(script, script.Parent.Parent.Parent, "circularProgress").CircularProgress
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 _fabSize = TS.import(script, script.Parent, "fabSize")
12
13
  local fabExtended = _fabSize.fabExtended
@@ -83,26 +84,24 @@ local function Fab(props)
83
84
  _result = (React.createElement("imagelabel", _attributes))
84
85
  end
85
86
  local iconEl = _result
86
- local _attributes = {}
87
+ local _attributes = {
88
+ tag = "textbutton",
89
+ }
87
90
  local _condition = id
88
91
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
89
92
  _condition = "Fab"
90
93
  end
91
94
  _attributes.key = _condition
92
- _attributes.ref = ref
93
- for _k, _v in styles.root do
94
- _attributes[_k] = _v
95
- end
96
- if className then
97
- for _k, _v in className do
98
- _attributes[_k] = _v
99
- end
100
- end
101
- if sx then
102
- for _k, _v in sx do
103
- _attributes[_k] = _v
104
- end
105
- end
95
+ _attributes.hostRef = ref
96
+ _attributes.base = styles.root
97
+ _attributes.className = className
98
+ _attributes.sx = sx
99
+ _attributes.state = {
100
+ disabled = disabled,
101
+ loading = loading,
102
+ hover = hovering,
103
+ focused = focused,
104
+ }
106
105
  _attributes.Active = active
107
106
  _attributes.Selectable = active
108
107
  _attributes.BackgroundTransparency = if not active then 0.5 elseif hovering or focused then 0.15 else 0
@@ -157,7 +156,7 @@ local function Fab(props)
157
156
  else
158
157
  _result_1 = iconEl
159
158
  end
160
- return React.createElement("textbutton", _attributes, _exp, _exp_1, _result_1)
159
+ return React.createElement(SxHost, _attributes, _exp, _exp_1, _result_1)
161
160
  end
162
161
  local default = Fab
163
162
  return {
@@ -3,6 +3,7 @@ local TS = _G[script]
3
3
  local _react = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
4
  local React = _react
5
5
  local useState = _react.useState
6
+ local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
6
7
  local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
7
8
  local Input = TS.import(script, script.Parent.Parent.Parent, "input").Input
8
9
  local Select = TS.import(script, script.Parent.Parent.Parent, "select").Select
@@ -73,26 +74,21 @@ local function FontEditor(props)
73
74
  local custom, setCustom = useState(value.Family)
74
75
  local weights = enumOptions(Enum.FontWeight:GetEnumItems())
75
76
  local stylesList = enumOptions(Enum.FontStyle:GetEnumItems())
76
- local _attributes = {}
77
+ local _attributes = {
78
+ tag = "frame",
79
+ }
77
80
  local _condition = id
78
81
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
79
82
  _condition = "FontEditor"
80
83
  end
81
84
  _attributes.key = _condition
82
- _attributes.ref = ref
83
- for _k, _v in styles.root do
84
- _attributes[_k] = _v
85
- end
86
- if className then
87
- for _k, _v in className do
88
- _attributes[_k] = _v
89
- end
90
- end
91
- if sx then
92
- for _k, _v in sx do
93
- _attributes[_k] = _v
94
- end
95
- end
85
+ _attributes.hostRef = ref
86
+ _attributes.base = styles.root
87
+ _attributes.className = className
88
+ _attributes.sx = sx
89
+ _attributes.state = {
90
+ disabled = disabled,
91
+ }
96
92
  local _attributes_1 = table.clone(styles.column)
97
93
  setmetatable(_attributes_1, nil)
98
94
  local _exp = React.createElement("uilistlayout", _attributes_1)
@@ -215,7 +211,7 @@ local function FontEditor(props)
215
211
  local _exp_7 = React.createElement("uicorner", _attributes_10)
216
212
  local _attributes_11 = table.clone(styles.stroke)
217
213
  setmetatable(_attributes_11, nil)
218
- return React.createElement("frame", _attributes, _exp, _exp_1, _exp_2, _exp_5, React.createElement("textlabel", _attributes_8, _exp_6, _exp_7, React.createElement("uistroke", _attributes_11)))
214
+ return React.createElement(SxHost, _attributes, _exp, _exp_1, _exp_2, _exp_5, React.createElement("textlabel", _attributes_8, _exp_6, _exp_7, React.createElement("uistroke", _attributes_11)))
219
215
  end
220
216
  local default = FontEditor
221
217
  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 useFormTextStyles = TS.import(script, script.Parent, "FormText.styles").default
5
6
  local function FormHelperText(props)
6
7
  local _binding = props
@@ -15,28 +16,23 @@ local function FormHelperText(props)
15
16
  hasError = hasError,
16
17
  disabled = disabled,
17
18
  })
18
- local _attributes = {}
19
+ local _attributes = {
20
+ tag = "textlabel",
21
+ }
19
22
  local _condition = id
20
23
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
21
24
  _condition = "FormHelperText"
22
25
  end
23
26
  _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
27
+ _attributes.hostRef = ref
28
+ _attributes.base = styles.root
29
+ _attributes.className = className
30
+ _attributes.sx = sx
31
+ _attributes.state = {
32
+ disabled = disabled,
33
+ }
38
34
  _attributes.Text = text
39
- return React.createElement("textlabel", _attributes)
35
+ return React.createElement(SxHost, _attributes)
40
36
  end
41
37
  local default = FormHelperText
42
38
  return {