@rbxts/uiblox 0.2.0-alpha.37 → 0.2.0-alpha.38

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 (212) hide show
  1. package/README.md +1 -18
  2. package/out/theme/constants/NumberConstants.d.ts +10 -0
  3. package/out/theme/constants/NumberConstants.luau +12 -0
  4. package/out/theme/interfaces/density/controlMetrics.luau +2 -2
  5. package/out/theme/interfaces/palette/Palette.d.ts +7 -0
  6. package/out/theme/interfaces/spacing/Shape.d.ts +6 -0
  7. package/out/theme/interfaces/theme/Theme.d.ts +6 -0
  8. package/out/theme/interfaces/typography/FontFamilies.luau +1 -0
  9. package/out/theme/interfaces/typography/FontFamilyOptions.d.ts +1 -1
  10. package/out/theme/interfaces/typography/FontSizeOptions.d.ts +1 -1
  11. package/out/theme/interfaces/typography/FontSizes.luau +2 -0
  12. package/out/theme/interfaces/typography/Variants.d.ts +3 -1
  13. package/out/theme/interfaces/typography/Variants.luau +25 -1
  14. package/out/theme/styles/utilities/focusRing.d.ts +2 -0
  15. package/out/theme/styles/utilities/focusRing.luau +3 -0
  16. package/out/theme/styles/utilities/index.d.ts +1 -1
  17. package/out/theme/styles/utilities/init.luau +3 -1
  18. package/out/theme/themes/DarkTheme.luau +4 -0
  19. package/out/theme/themes/LightTheme.luau +4 -0
  20. package/out/theme/themes/createPalette.luau +15 -0
  21. package/out/ui/packages/accordion/components/Accordion.luau +84 -40
  22. package/out/ui/packages/accordion/components/Accordion.styles.luau +35 -17
  23. package/out/ui/packages/alert/components/Alert.luau +15 -11
  24. package/out/ui/packages/alert/components/Alert.styles.luau +37 -26
  25. package/out/ui/packages/appBar/components/AppBar.luau +35 -13
  26. package/out/ui/packages/appBar/components/AppBar.styles.luau +41 -35
  27. package/out/ui/packages/autocomplete/components/Autocomplete.luau +4 -0
  28. package/out/ui/packages/avatar/components/Avatar.d.ts +2 -0
  29. package/out/ui/packages/avatar/components/Avatar.luau +9 -2
  30. package/out/ui/packages/avatar/components/Avatar.styles.luau +7 -0
  31. package/out/ui/packages/avatarGroup/components/AvatarGroup.luau +9 -4
  32. package/out/ui/packages/avatarGroup/components/AvatarGroup.styles.luau +6 -1
  33. package/out/ui/packages/badge/components/Badge.luau +14 -11
  34. package/out/ui/packages/badge/components/Badge.styles.luau +5 -1
  35. package/out/ui/packages/bottomNavigation/components/BottomNavigation.styles.luau +4 -3
  36. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.luau +6 -2
  37. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.styles.luau +4 -0
  38. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.luau +20 -2
  39. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.styles.luau +72 -66
  40. package/out/ui/packages/button/components/Button.luau +61 -34
  41. package/out/ui/packages/button/components/buttonPaint.d.ts +16 -0
  42. package/out/ui/packages/button/components/buttonPaint.luau +70 -0
  43. package/out/ui/packages/buttonGroup/components/ButtonGroup.d.ts +1 -0
  44. package/out/ui/packages/buttonGroup/components/ButtonGroup.luau +17 -2
  45. package/out/ui/packages/card/components/Card.styles.luau +4 -2
  46. package/out/ui/packages/cframeEditor/components/CFrameEditor.luau +9 -1
  47. package/out/ui/packages/cframeEditor/components/CFrameEditor.styles.luau +50 -41
  48. package/out/ui/packages/checkbox/components/Checkbox.luau +5 -4
  49. package/out/ui/packages/checkbox/components/checkboxLook.d.ts +2 -2
  50. package/out/ui/packages/checkbox/components/checkboxLook.luau +2 -2
  51. package/out/ui/packages/chip/components/Chip.luau +16 -14
  52. package/out/ui/packages/chip/components/Chip.styles.luau +7 -4
  53. package/out/ui/packages/circularProgress/components/CircularProgress.luau +10 -3
  54. package/out/ui/packages/codeEditor/components/CodeEditor.d.ts +12 -0
  55. package/out/ui/packages/codeEditor/components/CodeEditor.luau +262 -0
  56. package/out/ui/packages/codeEditor/components/CodeEditor.styles.d.ts +6 -0
  57. package/out/ui/packages/codeEditor/components/CodeEditor.styles.luau +124 -0
  58. package/out/ui/packages/codeEditor/highlightCode.d.ts +11 -0
  59. package/out/ui/packages/codeEditor/highlightCode.luau +503 -0
  60. package/out/ui/packages/codeEditor/index.d.ts +2 -0
  61. package/out/ui/packages/codeEditor/init.luau +5 -0
  62. package/out/ui/packages/colorPicker/components/ColorPicker.luau +9 -1
  63. package/out/ui/packages/colorPicker/components/ColorPicker.styles.luau +74 -67
  64. package/out/ui/packages/colorPicker/components/ColorSequenceEditor.luau +12 -4
  65. package/out/ui/packages/colorPicker/components/NumberSequenceEditor.luau +12 -4
  66. package/out/ui/packages/dateRange/components/DateRangePicker.luau +31 -19
  67. package/out/ui/packages/dialog/components/Dialog.styles.luau +4 -2
  68. package/out/ui/packages/divider/components/Divider.luau +3 -1
  69. package/out/ui/packages/divider/components/Divider.styles.luau +1 -0
  70. package/out/ui/packages/drawer/components/Drawer.d.ts +1 -0
  71. package/out/ui/packages/drawer/components/Drawer.luau +43 -14
  72. package/out/ui/packages/drawer/components/Drawer.styles.luau +13 -5
  73. package/out/ui/packages/drawer/components/drawerPlacement.d.ts +2 -0
  74. package/out/ui/packages/drawer/components/drawerPlacement.luau +18 -0
  75. package/out/ui/packages/editorFace.d.ts +22 -0
  76. package/out/ui/packages/editorFace.luau +49 -0
  77. package/out/ui/packages/fab/components/Fab.luau +19 -6
  78. package/out/ui/packages/fab/components/Fab.styles.luau +4 -3
  79. package/out/ui/packages/fab/components/fabSize.d.ts +1 -1
  80. package/out/ui/packages/fontEditor/components/FontEditor.luau +13 -3
  81. package/out/ui/packages/fontEditor/components/FontEditor.styles.luau +36 -27
  82. package/out/ui/packages/gradientEditor/components/GradientEditor.luau +21 -13
  83. package/out/ui/packages/gradientEditor/components/GradientEditor.styles.luau +52 -44
  84. package/out/ui/packages/icon/components/DrawnGlyph.d.ts +11 -0
  85. package/out/ui/packages/icon/components/DrawnGlyph.luau +87 -0
  86. package/out/ui/packages/icon/components/Icon.d.ts +6 -2
  87. package/out/ui/packages/icon/components/Icon.luau +23 -3
  88. package/out/ui/packages/icon/components/Icon.styles.luau +3 -0
  89. package/out/ui/packages/icon/components/glyphs.d.ts +28 -0
  90. package/out/ui/packages/icon/components/glyphs.luau +64 -0
  91. package/out/ui/packages/icon/index.d.ts +1 -0
  92. package/out/ui/packages/iconButton/components/IconButton.d.ts +5 -2
  93. package/out/ui/packages/iconButton/components/IconButton.luau +83 -16
  94. package/out/ui/packages/iconButton/components/IconButton.styles.luau +4 -27
  95. package/out/ui/packages/iconButton/components/iconButtonBox.d.ts +11 -0
  96. package/out/ui/packages/iconButton/components/iconButtonBox.luau +48 -0
  97. package/out/ui/packages/iconButton/components/transportGlyph.d.ts +1 -0
  98. package/out/ui/packages/iconButton/components/transportGlyph.luau +4 -0
  99. package/out/ui/packages/imageList/components/ImageList.luau +11 -36
  100. package/out/ui/packages/imageList/components/ImageList.styles.luau +1 -0
  101. package/out/ui/packages/imageList/components/imageListLayout.d.ts +0 -2
  102. package/out/ui/packages/imageList/components/imageListLayout.luau +0 -8
  103. package/out/ui/packages/index.d.ts +1 -0
  104. package/out/ui/packages/init.luau +3 -0
  105. package/out/ui/packages/input/components/Input.luau +46 -29
  106. package/out/ui/packages/input/components/Input.styles.luau +8 -11
  107. package/out/ui/packages/input/components/fieldChrome.d.ts +5 -0
  108. package/out/ui/packages/input/components/fieldChrome.luau +11 -0
  109. package/out/ui/packages/layout/components/Box.luau +92 -13
  110. package/out/ui/packages/layout/components/Box.styles.d.ts +0 -2
  111. package/out/ui/packages/layout/components/Box.styles.luau +0 -9
  112. package/out/ui/packages/layout/components/Grid.luau +81 -16
  113. package/out/ui/packages/layout/components/Pad.d.ts +24 -0
  114. package/out/ui/packages/layout/components/Pad.luau +88 -0
  115. package/out/ui/packages/layout/components/Stack.luau +79 -13
  116. package/out/ui/packages/link/components/Link.luau +19 -13
  117. package/out/ui/packages/link/components/Link.styles.luau +10 -1
  118. package/out/ui/packages/listItem/components/ListItem.luau +61 -4
  119. package/out/ui/packages/listItem/components/ListItem.styles.d.ts +1 -0
  120. package/out/ui/packages/listItem/components/ListItem.styles.luau +28 -11
  121. package/out/ui/packages/listItem/components/listItemInk.d.ts +1 -1
  122. package/out/ui/packages/listItem/components/listItemLayout.d.ts +12 -2
  123. package/out/ui/packages/listItem/components/listItemLayout.luau +29 -2
  124. package/out/ui/packages/markdown/components/Markdown.luau +163 -50
  125. package/out/ui/packages/markdown/components/Markdown.styles.luau +125 -76
  126. package/out/ui/packages/markdown/components/MarkdownEditor.luau +215 -146
  127. package/out/ui/packages/markdown/components/MarkdownEditor.styles.d.ts +1 -0
  128. package/out/ui/packages/markdown/components/MarkdownEditor.styles.luau +153 -83
  129. package/out/ui/packages/markdown/index.d.ts +1 -1
  130. package/out/ui/packages/markdown/parseMarkdown.d.ts +9 -1
  131. package/out/ui/packages/markdown/parseMarkdown.luau +350 -29
  132. package/out/ui/packages/menu/components/Menu.d.ts +1 -1
  133. package/out/ui/packages/menu/components/Menu.luau +12 -11
  134. package/out/ui/packages/menu/components/Menu.styles.luau +6 -1
  135. package/out/ui/packages/menu/components/menuIcon.d.ts +1 -1
  136. package/out/ui/packages/numberInput/components/NumberInput.luau +19 -4
  137. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.luau +9 -1
  138. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.styles.luau +23 -16
  139. package/out/ui/packages/pager/components/Pager.luau +15 -13
  140. package/out/ui/packages/pager/components/Pager.styles.luau +5 -0
  141. package/out/ui/packages/pagination/components/Pagination.styles.luau +4 -1
  142. package/out/ui/packages/paper/components/Paper.luau +17 -11
  143. package/out/ui/packages/paper/components/Paper.styles.luau +12 -5
  144. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.luau +9 -1
  145. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.styles.luau +24 -19
  146. package/out/ui/packages/popover/components/Popover.d.ts +1 -1
  147. package/out/ui/packages/popover/components/Popover.luau +6 -4
  148. package/out/ui/packages/popover/components/Popover.styles.luau +6 -0
  149. package/out/ui/packages/popup/components/Popup.d.ts +2 -0
  150. package/out/ui/packages/popup/components/Popup.luau +64 -2
  151. package/out/ui/packages/popup/components/placement.luau +6 -4
  152. package/out/ui/packages/progressBar/components/ProgressBar.luau +1 -1
  153. package/out/ui/packages/progressBar/components/ProgressBar.styles.luau +3 -2
  154. package/out/ui/packages/radioGroup/components/RadioGroup.luau +2 -1
  155. package/out/ui/packages/rating/components/Rating.luau +45 -3
  156. package/out/ui/packages/rating/components/Rating.styles.luau +1 -1
  157. package/out/ui/packages/rayEditor/components/RayEditor.luau +9 -1
  158. package/out/ui/packages/rayEditor/components/RayEditor.styles.luau +17 -11
  159. package/out/ui/packages/rectEditor/components/RectEditor.luau +9 -1
  160. package/out/ui/packages/rectEditor/components/RectEditor.styles.luau +49 -42
  161. package/out/ui/packages/select/components/Select.d.ts +2 -0
  162. package/out/ui/packages/select/components/Select.luau +148 -106
  163. package/out/ui/packages/select/components/Select.styles.d.ts +2 -0
  164. package/out/ui/packages/select/components/Select.styles.luau +29 -5
  165. package/out/ui/packages/shadow/components/Shadow.luau +188 -19
  166. package/out/ui/packages/sidebar/components/Sidebar.styles.luau +1 -0
  167. package/out/ui/packages/skeleton/components/Skeleton.luau +4 -0
  168. package/out/ui/packages/slider/components/RangeSlider.luau +6 -5
  169. package/out/ui/packages/slider/components/Slider.luau +11 -16
  170. package/out/ui/packages/sparkline/components/Sparkline.luau +7 -5
  171. package/out/ui/packages/speedDial/components/SpeedDial.luau +4 -1
  172. package/out/ui/packages/speedDial/components/SpeedDial.styles.luau +5 -0
  173. package/out/ui/packages/speedDial/components/speedDialLabel.d.ts +1 -1
  174. package/out/ui/packages/splitPane/components/splitLook.d.ts +1 -1
  175. package/out/ui/packages/stepper/components/Stepper.styles.luau +9 -6
  176. package/out/ui/packages/switch/components/Switch.luau +2 -2
  177. package/out/ui/packages/switch/components/switchLook.d.ts +3 -3
  178. package/out/ui/packages/switch/components/switchLook.luau +4 -10
  179. package/out/ui/packages/table/components/Table.d.ts +1 -0
  180. package/out/ui/packages/table/components/Table.luau +92 -53
  181. package/out/ui/packages/table/components/Table.styles.luau +23 -6
  182. package/out/ui/packages/table/components/tableColumns.d.ts +2 -0
  183. package/out/ui/packages/table/components/tableColumns.luau +2 -0
  184. package/out/ui/packages/tabs/components/Tabs.luau +7 -4
  185. package/out/ui/packages/tabs/components/Tabs.styles.luau +12 -11
  186. package/out/ui/packages/tabs/components/tabIndicator.d.ts +7 -0
  187. package/out/ui/packages/tabs/components/tabIndicator.luau +21 -0
  188. package/out/ui/packages/text/components/Text.d.ts +2 -0
  189. package/out/ui/packages/text/components/Text.luau +12 -2
  190. package/out/ui/packages/timeField/components/TimeField.luau +11 -7
  191. package/out/ui/packages/timeline/components/Timeline.luau +35 -32
  192. package/out/ui/packages/timeline/components/Timeline.styles.luau +19 -10
  193. package/out/ui/packages/toast/components/Toast.luau +168 -72
  194. package/out/ui/packages/toast/components/Toast.styles.luau +36 -19
  195. package/out/ui/packages/toast/components/toastPlace.d.ts +4 -0
  196. package/out/ui/packages/toast/components/toastPlace.luau +13 -0
  197. package/out/ui/packages/toast/enums/ToastVariants.d.ts +2 -1
  198. package/out/ui/packages/toast/enums/ToastVariants.luau +1 -0
  199. package/out/ui/packages/toggleButton/components/ToggleButton.luau +43 -4
  200. package/out/ui/packages/toggleButton/components/ToggleButton.styles.luau +1 -1
  201. package/out/ui/packages/tooltip/components/Tooltip.styles.luau +2 -2
  202. package/out/ui/packages/treeView/components/TreeView.luau +12 -13
  203. package/out/ui/packages/treeView/components/TreeView.styles.luau +6 -0
  204. package/out/ui/packages/typography/components/Typography.d.ts +2 -0
  205. package/out/ui/packages/typography/components/Typography.luau +8 -0
  206. package/out/ui/packages/typography/components/Typography.styles.luau +3 -1
  207. package/out/ui/packages/udimEditor/components/UDimEditor.luau +9 -1
  208. package/out/ui/packages/udimEditor/components/UDimEditor.styles.luau +25 -18
  209. package/out/ui/packages/vectorEditor/components/VectorEditor.luau +17 -3
  210. package/out/ui/packages/vectorEditor/components/VectorEditor.styles.luau +30 -16
  211. package/out/ui/packages/virtualList/components/VirtualList.styles.luau +1 -0
  212. package/package.json +69 -67
@@ -14,7 +14,7 @@ local useTooltipStyles = componentStyles("Tooltip", function(theme)
14
14
  label = {
15
15
  AutomaticSize = Enum.AutomaticSize.XY,
16
16
  Size = UDim2.fromScale(0, 0),
17
- BackgroundColor3 = theme.palette.surface.overlay,
17
+ BackgroundColor3 = theme.palette.surface.elevated,
18
18
  BorderSizePixel = 0,
19
19
  TextColor3 = theme.palette.text.primary,
20
20
  Font = theme.typography.fontFamilies.default,
@@ -37,7 +37,7 @@ local useTooltipStyles = componentStyles("Tooltip", function(theme)
37
37
  },
38
38
  shell = {
39
39
  Size = UDim2.fromScale(1, 1),
40
- BackgroundColor3 = theme.palette.surface.overlay,
40
+ BackgroundColor3 = theme.palette.surface.elevated,
41
41
  BorderSizePixel = 0,
42
42
  },
43
43
  stack = {
@@ -34,6 +34,7 @@ local function TreeView(props)
34
34
  local header = _binding_1.header
35
35
  local list = _binding_1.list
36
36
  local row = _binding_1.row
37
+ local selectedRow = _binding_1.selectedRow
37
38
  local rowIcon = _binding_1.rowIcon
38
39
  local label = _binding_1.label
39
40
  local _binding_2 = useTheme()
@@ -153,7 +154,8 @@ local function TreeView(props)
153
154
  local labelX = _binding_3.labelX
154
155
  local rowIconImage = if entry.kind == "leaf" then (entry.icon or icon or Icons.ListPrimary) else entry.icon
155
156
  local bold = if entry.kind == "branch" then entry.emphasized elseif selected ~= nil then selected == entry.path else clickedLeaf == entry.path
156
- local _attributes = table.clone(row)
157
+ local picked = if selected ~= nil and #selected > 0 then entry.path == selected else entry.kind == "leaf" and clickedLeaf == entry.path
158
+ local _attributes = table.clone(cx(row, if picked then selectedRow else nil))
157
159
  setmetatable(_attributes, nil)
158
160
  _attributes.Event = {
159
161
  MouseButton1Click = function()
@@ -244,6 +246,7 @@ local function TreeView(props)
244
246
  tint = theme.palette.primary.main,
245
247
  })), React.createElement(Typography, {
246
248
  text = entry.title,
249
+ noWrap = true,
247
250
  className = cx(label, {
248
251
  Position = UDim2.new(0, labelX, 0.5, 0),
249
252
  Size = UDim2.new(1, -labelX, 1, -theme.padding.calc(4)),
@@ -265,18 +268,14 @@ local function TreeView(props)
265
268
  _attributes.base = root
266
269
  _attributes.className = className
267
270
  _attributes.sx = sx
268
- local _attributes_1 = {}
269
- local _object = {
270
- Text = tree.title,
271
- }
272
- for _k, _v in header do
273
- _object[_k] = _v
274
- end
275
- _attributes_1.className = _object
276
- _attributes_1.color = "textSecondary"
277
- _attributes_1.variant = "body"
278
- _attributes_1.family = "bold"
279
- return React.createElement(SxHost, _attributes, React.createElement(Typography, _attributes_1), React.createElement(VirtualList, {
271
+ return React.createElement(SxHost, _attributes, React.createElement(Typography, {
272
+ text = tree.title,
273
+ noWrap = true,
274
+ className = header,
275
+ color = "textSecondary",
276
+ variant = "body",
277
+ family = "bold",
278
+ }), React.createElement(VirtualList, {
280
279
  key = "List",
281
280
  items = rows,
282
281
  getKey = function(entry)
@@ -38,8 +38,13 @@ local useTreeViewStyles = componentStyles("TreeView", function(theme)
38
38
  Size = UDim2.fromScale(1, 1),
39
39
  BackgroundTransparency = 1,
40
40
  BorderSizePixel = 0,
41
+ AutoButtonColor = false,
41
42
  ZIndex = 5200,
42
43
  },
44
+ selectedRow = {
45
+ BackgroundColor3 = theme.palette.action.selected,
46
+ BackgroundTransparency = 0,
47
+ },
43
48
  rowIcon = {
44
49
  AnchorPoint = Vector2.new(0, 0.5),
45
50
  BackgroundTransparency = 1,
@@ -51,6 +56,7 @@ local useTreeViewStyles = componentStyles("TreeView", function(theme)
51
56
  TextXAlignment = Enum.TextXAlignment.Left,
52
57
  TextYAlignment = Enum.TextYAlignment.Center,
53
58
  TextTruncate = Enum.TextTruncate.AtEnd,
59
+ TextWrapped = false,
54
60
  BackgroundTransparency = 1,
55
61
  BorderSizePixel = 0,
56
62
  ZIndex = 5300,
@@ -13,6 +13,8 @@ export interface TypographyProps {
13
13
  align?: TypographyAlignment;
14
14
  noWrap?: boolean;
15
15
  lineClamp?: boolean;
16
+ richText?: boolean;
17
+ fontFace?: Font;
16
18
  }
17
19
  declare function Typography<T extends DefaultTypographyComponent>(props: CustomizedProps<T, TypographyProps>): JSX.Element;
18
20
  export default Typography;
@@ -9,6 +9,8 @@ local function Typography(props)
9
9
  if text == nil then
10
10
  text = ""
11
11
  end
12
+ local richText = _binding.richText
13
+ local fontFace = _binding.fontFace
12
14
  local className = _binding.className
13
15
  local sx = _binding.sx
14
16
  local children = _binding.children
@@ -29,6 +31,7 @@ local function Typography(props)
29
31
  local _object = table.clone(root)
30
32
  setmetatable(_object, nil)
31
33
  _object.Text = text
34
+ _object.RichText = richText == true
32
35
  if className ~= 0 and className == className and className ~= "" and className then
33
36
  for _k, _v in className do
34
37
  _object[_k] = _v
@@ -37,6 +40,11 @@ local function Typography(props)
37
40
  for _k, _v in variantToken do
38
41
  _object[_k] = _v
39
42
  end
43
+ for _k, _v in (if fontFace ~= nil then {
44
+ FontFace = fontFace,
45
+ } else {}) do
46
+ _object[_k] = _v
47
+ end
40
48
  _attributes.base = _object
41
49
  _attributes.sx = sx
42
50
  return React.createElement(SxHost, _attributes, children)
@@ -72,17 +72,19 @@ local useTypographyStyles = componentStyles("Typography", function(theme, _param
72
72
  defaultStyles.TextColor3 = color and COLOR_TO_PALETTE(color)
73
73
  -- eslint-disable-next-line roblox-ts/lua-truthiness
74
74
  defaultStyles.TextWrapped = not noWrap
75
+ defaultStyles.TextTruncate = if noWrap then Enum.TextTruncate.AtEnd else Enum.TextTruncate.None
76
+ defaultStyles.TextYAlignment = Enum.TextYAlignment.Top
75
77
  defaultStyles.ClipsDescendants = lineClamp
76
78
  defaultStyles.BackgroundTransparency = 1
77
79
  defaultStyles.BorderSizePixel = 0
78
80
  defaultStyles.Size = UDim2.new(1, 0, 1, 0)
79
- defaultStyles.ZIndex = 10000
80
81
  return defaultStyles
81
82
  end
82
83
  return createStyles({
83
84
  root = makeRootStyles(),
84
85
  variantToken = {
85
86
  TextSize = spec.size,
87
+ LineHeight = spec.leading,
86
88
  Font = theme.typography.fontFamilies[resolvedFamily],
87
89
  },
88
90
  })
@@ -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 useEditorHover = TS.import(script, script.Parent.Parent.Parent, "editorFace").useEditorHover
4
5
  local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
5
6
  local NumberInput = TS.import(script, script.Parent.Parent.Parent, "numberInput").NumberInput
6
7
  local _vectorValue = TS.import(script, script.Parent.Parent.Parent, "vectorEditor", "components", "vectorValue")
@@ -17,6 +18,7 @@ local function UDimEditor(props)
17
18
  local id = _binding.id
18
19
  local ref = _binding.ref
19
20
  local styles = useUDimEditorStyles()
21
+ local hover = useEditorHover(disabled)
20
22
  local isUDim2 = typeof(value) == "UDim2"
21
23
  local field = function(key, label, amount, commit, order)
22
24
  local _attributes = {
@@ -51,12 +53,18 @@ local function UDimEditor(props)
51
53
  end
52
54
  _attributes.key = _condition
53
55
  _attributes.hostRef = ref
54
- _attributes.base = styles.root
56
+ local _object = table.clone(styles.root)
57
+ setmetatable(_object, nil)
58
+ for _k, _v in hover.face do
59
+ _object[_k] = _v
60
+ end
61
+ _attributes.base = _object
55
62
  _attributes.className = className
56
63
  _attributes.sx = sx
57
64
  _attributes.state = {
58
65
  disabled = disabled,
59
66
  }
67
+ _attributes.Event = hover.event
60
68
  local _attributes_1 = table.clone(styles.column)
61
69
  setmetatable(_attributes_1, nil)
62
70
  local _exp = React.createElement("uilistlayout", _attributes_1)
@@ -3,8 +3,12 @@ local TS = _G[script]
3
3
  local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
4
4
  local createStyles = _theme.createStyles
5
5
  local componentStyles = _theme.componentStyles
6
+ local _editorFace = TS.import(script, script.Parent.Parent.Parent, "editorFace")
7
+ local editorPad = _editorFace.editorPad
8
+ local editorRowHeight = _editorFace.editorRowHeight
9
+ local editorText = _editorFace.editorText
6
10
  local useUDimEditorStyles = componentStyles("UDimEditor", function(theme)
7
- return createStyles({
11
+ local _object = {
8
12
  root = {
9
13
  Size = UDim2.new(1, 0, 0, 0),
10
14
  AutomaticSize = Enum.AutomaticSize.Y,
@@ -13,36 +17,39 @@ local useUDimEditorStyles = componentStyles("UDimEditor", function(theme)
13
17
  },
14
18
  column = {
15
19
  FillDirection = Enum.FillDirection.Vertical,
16
- Padding = UDim.new(0, theme.padding.calc(1)),
20
+ Padding = UDim.new(0, editorPad(theme)),
17
21
  SortOrder = Enum.SortOrder.LayoutOrder,
18
22
  },
19
23
  row = {
20
24
  FillDirection = Enum.FillDirection.Horizontal,
21
- Padding = UDim.new(0, theme.padding.calc(1)),
25
+ Padding = UDim.new(0, editorPad(theme)),
22
26
  VerticalAlignment = Enum.VerticalAlignment.Center,
23
27
  SortOrder = Enum.SortOrder.LayoutOrder,
24
28
  },
25
29
  axis = {
26
- Size = UDim2.new(1, 0, 0, theme.spacing.calc(2)),
30
+ Size = UDim2.new(1, 0, 0, editorRowHeight(theme)),
27
31
  BackgroundTransparency = 1,
28
32
  },
29
33
  field = {
30
- Size = UDim2.new(0.5, -theme.padding.calc(1), 0, theme.spacing.calc(2)),
34
+ Size = UDim2.new(0.5, -editorPad(theme), 0, editorRowHeight(theme)),
31
35
  BackgroundTransparency = 1,
32
36
  },
33
- label = {
34
- Size = UDim2.new(0, theme.spacing.calc(2), 1, 0),
35
- BackgroundTransparency = 1,
36
- Font = theme.typography.fontFamilies.default,
37
- TextSize = theme.typography.fontSizes.caption,
38
- TextColor3 = theme.palette.text.secondary,
39
- TextXAlignment = Enum.TextXAlignment.Left,
40
- },
41
- input = {
42
- Size = UDim2.new(1, -theme.spacing.calc(2), 1, 0),
43
- BackgroundTransparency = 1,
44
- },
45
- })
37
+ }
38
+ local _left = "label"
39
+ local _object_1 = {
40
+ Size = UDim2.new(0, theme.spacing.calc(2), 1, 0),
41
+ BackgroundTransparency = 1,
42
+ TextColor3 = theme.palette.text.secondary,
43
+ }
44
+ for _k, _v in editorText(theme) do
45
+ _object_1[_k] = _v
46
+ end
47
+ _object[_left] = _object_1
48
+ _object.input = {
49
+ Size = UDim2.new(1, -theme.spacing.calc(2), 1, 0),
50
+ BackgroundTransparency = 1,
51
+ }
52
+ return createStyles(_object)
46
53
  end)
47
54
  local default = useUDimEditorStyles
48
55
  return {
@@ -1,6 +1,10 @@
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 useTheme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme").useTheme
5
+ local _editorFace = TS.import(script, script.Parent.Parent.Parent, "editorFace")
6
+ local editorRowHeight = _editorFace.editorRowHeight
7
+ local useEditorHover = _editorFace.useEditorHover
4
8
  local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
5
9
  local NumberInput = TS.import(script, script.Parent.Parent.Parent, "numberInput").NumberInput
6
10
  local useVectorEditorStyles = TS.import(script, script.Parent, "VectorEditor.styles").default
@@ -17,7 +21,11 @@ local function VectorEditor(props)
17
21
  local sx = _binding.sx
18
22
  local id = _binding.id
19
23
  local ref = _binding.ref
24
+ local _binding_1 = useTheme()
25
+ local theme = _binding_1.theme
20
26
  local styles = useVectorEditorStyles()
27
+ local row = editorRowHeight(theme)
28
+ local hover = useEditorHover(disabled)
21
29
  local isVector3 = typeof(value) == "Vector3"
22
30
  local axes = props.axes or (if isVector3 then ({ "X", "Y", "Z" }) else ({ "X", "Y" }))
23
31
  local _attributes = {
@@ -29,13 +37,19 @@ local function VectorEditor(props)
29
37
  end
30
38
  _attributes.key = _condition
31
39
  _attributes.hostRef = ref
32
- _attributes.base = styles.root
40
+ local _object = table.clone(styles.root)
41
+ setmetatable(_object, nil)
42
+ for _k, _v in hover.face do
43
+ _object[_k] = _v
44
+ end
45
+ _attributes.base = _object
33
46
  _attributes.className = className
34
47
  _attributes.sx = sx
35
48
  _attributes.state = {
36
49
  disabled = disabled,
37
50
  }
38
- local _attributes_1 = table.clone(styles.row)
51
+ _attributes.Event = hover.event
52
+ local _attributes_1 = table.clone(styles.axes)
39
53
  setmetatable(_attributes_1, nil)
40
54
  local _exp = React.createElement("uilistlayout", _attributes_1)
41
55
  -- ▼ ReadonlyArray.map ▼
@@ -47,7 +61,7 @@ local function VectorEditor(props)
47
61
  for _k, _v in styles.axis do
48
62
  _attributes_2[_k] = _v
49
63
  end
50
- _attributes_2.Size = UDim2.new(1 / #axes, 0, 0, 32)
64
+ _attributes_2.Size = UDim2.new(1 / #axes, 0, 0, row)
51
65
  _attributes_2.LayoutOrder = index + 1
52
66
  local _attributes_3 = table.clone(styles.row)
53
67
  setmetatable(_attributes_3, nil)
@@ -3,8 +3,12 @@ local TS = _G[script]
3
3
  local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
4
4
  local createStyles = _theme.createStyles
5
5
  local componentStyles = _theme.componentStyles
6
+ local _editorFace = TS.import(script, script.Parent.Parent.Parent, "editorFace")
7
+ local editorPad = _editorFace.editorPad
8
+ local editorRowHeight = _editorFace.editorRowHeight
9
+ local editorText = _editorFace.editorText
6
10
  local useVectorEditorStyles = componentStyles("VectorEditor", function(theme)
7
- return createStyles({
11
+ local _object = {
8
12
  root = {
9
13
  Size = UDim2.new(1, 0, 0, 0),
10
14
  AutomaticSize = Enum.AutomaticSize.Y,
@@ -13,27 +17,37 @@ local useVectorEditorStyles = componentStyles("VectorEditor", function(theme)
13
17
  },
14
18
  row = {
15
19
  FillDirection = Enum.FillDirection.Horizontal,
16
- Padding = UDim.new(0, theme.padding.calc(1)),
20
+ Padding = UDim.new(0, editorPad(theme)),
17
21
  VerticalAlignment = Enum.VerticalAlignment.Center,
18
22
  SortOrder = Enum.SortOrder.LayoutOrder,
19
23
  },
20
- axis = {
21
- Size = UDim2.new(1, 0, 0, theme.spacing.calc(2)),
22
- BackgroundTransparency = 1,
23
- },
24
- label = {
25
- Size = UDim2.new(0, theme.spacing.calc(1.5), 1, 0),
26
- BackgroundTransparency = 1,
27
- Font = theme.typography.fontFamilies.default,
28
- TextSize = theme.typography.fontSizes.caption,
29
- TextColor3 = theme.palette.text.secondary,
30
- TextXAlignment = Enum.TextXAlignment.Left,
24
+ axes = {
25
+ FillDirection = Enum.FillDirection.Horizontal,
26
+ HorizontalFlex = Enum.UIFlexAlignment.Fill,
27
+ Padding = UDim.new(0, editorPad(theme)),
28
+ VerticalAlignment = Enum.VerticalAlignment.Center,
29
+ SortOrder = Enum.SortOrder.LayoutOrder,
31
30
  },
32
- field = {
33
- Size = UDim2.new(1, -theme.spacing.calc(1.5), 1, 0),
31
+ axis = {
32
+ Size = UDim2.new(1, 0, 0, editorRowHeight(theme)),
34
33
  BackgroundTransparency = 1,
35
34
  },
36
- })
35
+ }
36
+ local _left = "label"
37
+ local _object_1 = {
38
+ Size = UDim2.new(0, theme.spacing.calc(1.5), 1, 0),
39
+ BackgroundTransparency = 1,
40
+ TextColor3 = theme.palette.text.secondary,
41
+ }
42
+ for _k, _v in editorText(theme) do
43
+ _object_1[_k] = _v
44
+ end
45
+ _object[_left] = _object_1
46
+ _object.field = {
47
+ Size = UDim2.new(1, -theme.spacing.calc(1.5) - editorPad(theme), 1, 0),
48
+ BackgroundTransparency = 1,
49
+ }
50
+ return createStyles(_object)
37
51
  end)
38
52
  local default = useVectorEditorStyles
39
53
  return {
@@ -20,6 +20,7 @@ local useVirtualListStyles = componentStyles("VirtualList", function()
20
20
  Size = UDim2.new(1, 0, 0, 0),
21
21
  BackgroundTransparency = 1,
22
22
  BorderSizePixel = 0,
23
+ ClipsDescendants = true,
23
24
  },
24
25
  })
25
26
  end)
package/package.json CHANGED
@@ -1,68 +1,70 @@
1
1
  {
2
- "name": "@rbxts/uiblox",
3
- "version": "0.2.0-alpha.37",
4
- "description": "UI Library and theming for roblox-ts projects",
5
- "main": "out/init.luau",
6
- "keywords": [
7
- "roblox-ts",
8
- "ui",
9
- "uiblox",
10
- "design",
11
- "library",
12
- "material",
13
- "component",
14
- "system"
15
- ],
16
- "author": "bjlarouche",
17
- "license": "MIT",
18
- "types": "out/index.d.ts",
19
- "files": [
20
- "out",
21
- "!**/*.tsbuildinfo"
22
- ],
23
- "publishConfig": {
24
- "access": "public"
25
- },
26
- "devDependencies": {
27
- "@rbxts/attributes": "^1.0.0",
28
- "@rbxts/compiler-types": "^3.0.0-types.0",
29
- "@rbxts/types": "^1.0.813",
30
- "@typescript-eslint/eslint-plugin": "^8.15.0",
31
- "@typescript-eslint/parser": "^8.15.0",
32
- "eslint": "^9.14.0",
33
- "eslint-config-prettier": "^9.1.0",
34
- "eslint-plugin-prettier": "^5.2.1",
35
- "eslint-plugin-roblox-ts": "^0.0.36",
36
- "eslint-plugin-simple-import-sort": "^12.1.1",
37
- "eslint-plugin-unused-imports": "^4.1.4",
38
- "prettier": "^3.3.3",
39
- "roblox-ts": "^3.0.0",
40
- "typescript": "^5.6.3"
41
- },
42
- "dependencies": {
43
- "@rbxts/boat-tween": "^1.0.1",
44
- "@rbxts/pretty-react-hooks": "^0.6.0",
45
- "@rbxts/react": "^17.2.1",
46
- "@rbxts/react-reflex": "^0.3.4",
47
- "@rbxts/react-roblox": "^17.2.1",
48
- "@rbxts/reflex": "4.3.1",
49
- "@rbxts/services": "^1.5.5"
50
- },
51
- "directories": {
52
- "doc": "docs"
53
- },
54
- "repository": {
55
- "type": "git",
56
- "url": "git+https://github.com/bjlarouche/uiblox-rbxts.git"
57
- },
58
- "bugs": {
59
- "url": "https://github.com/bjlarouche/uiblox-rbxts/issues"
60
- },
61
- "homepage": "https://github.com/bjlarouche/uiblox-rbxts#readme",
62
- "scripts": {
63
- "build": "rbxtsc",
64
- "watch": "rbxtsc -w",
65
- "pack:check": "node scripts/pack-check.mjs",
66
- "test": "node scripts/no-internal-refs.check.mjs && node scripts/import-case.check.mjs && node --experimental-strip-types scripts/theme-scope.check.mjs && node --experimental-strip-types scripts/style-types.check.mjs && node --experimental-strip-types scripts/style-cache.check.mjs && node --experimental-strip-types scripts/style-variants.check.mjs && node --experimental-strip-types scripts/component-styles.check.mjs && node --experimental-strip-types scripts/interaction-styles.check.mjs && node --experimental-strip-types scripts/resolve-style.check.mjs && node --experimental-strip-types scripts/resolve-sx.check.mjs && node --experimental-strip-types scripts/sx-prop.check.mjs && node --experimental-strip-types scripts/style-system.check.mjs && node --experimental-strip-types scripts/host-sx.check.mjs && node --experimental-strip-types scripts/density.check.mjs && node --experimental-strip-types scripts/styles.check.mjs && node --experimental-strip-types scripts/contrast.check.mjs && node --experimental-strip-types scripts/primitives.check.mjs && node scripts/state-matrix-registers.check.mjs && node --experimental-strip-types scripts/paper.check.mjs && node --experimental-strip-types scripts/list-item.check.mjs && node --experimental-strip-types scripts/slider.check.mjs && node --experimental-strip-types scripts/input.check.mjs && node --experimental-strip-types scripts/menu.check.mjs && node --experimental-strip-types scripts/guard.check.mjs && node --experimental-strip-types scripts/breakpoints.check.mjs && node --experimental-strip-types scripts/viewport-observer.check.mjs && node --experimental-strip-types scripts/focus-trap.check.mjs && node --experimental-strip-types scripts/select-typeahead.check.mjs && node --experimental-strip-types scripts/select-groups.check.mjs && node --experimental-strip-types scripts/select-multi.check.mjs && node --experimental-strip-types scripts/select-polish.check.mjs && node --experimental-strip-types scripts/reduced-motion.check.mjs && node --experimental-strip-types scripts/card.check.mjs && node --experimental-strip-types scripts/chip.check.mjs && node --experimental-strip-types scripts/badge.check.mjs && node --experimental-strip-types scripts/avatar.check.mjs && node --experimental-strip-types scripts/imageList.check.mjs && node --experimental-strip-types scripts/drawer.check.mjs && node --experimental-strip-types scripts/breadcrumbs.check.mjs && node --experimental-strip-types scripts/pagination.check.mjs && node --experimental-strip-types scripts/stepper.check.mjs && node --experimental-strip-types scripts/accordion.check.mjs && node --experimental-strip-types scripts/snackbar.check.mjs && node --experimental-strip-types scripts/table.check.mjs && node --experimental-strip-types scripts/table-columns.check.mjs && node --experimental-strip-types scripts/reorder.check.mjs && node --experimental-strip-types scripts/autocomplete.check.mjs && node --experimental-strip-types scripts/field-loading.check.mjs && node --experimental-strip-types scripts/fab.check.mjs && node --experimental-strip-types scripts/appbar.check.mjs && node --experimental-strip-types scripts/bottom-navigation.check.mjs && node --experimental-strip-types scripts/alert.check.mjs && node --experimental-strip-types scripts/toggle-button.check.mjs && node --experimental-strip-types scripts/link.check.mjs && node --experimental-strip-types scripts/rating.check.mjs && node --experimental-strip-types scripts/stack.check.mjs && node --experimental-strip-types scripts/flex-item.check.mjs && node --experimental-strip-types scripts/grid.check.mjs && node --experimental-strip-types scripts/speed-dial.check.mjs && node --experimental-strip-types scripts/form-text.check.mjs && node --experimental-strip-types scripts/text.check.mjs && node --experimental-strip-types scripts/week-grid.check.mjs && node --experimental-strip-types scripts/box.check.mjs && node --experimental-strip-types scripts/scroll-view.check.mjs && node --experimental-strip-types scripts/image-list.check.mjs && node --experimental-strip-types scripts/radio-group.check.mjs && node --experimental-strip-types scripts/container.check.mjs && node --experimental-strip-types scripts/divider.check.mjs && node --experimental-strip-types scripts/markdown.check.mjs && node --experimental-strip-types scripts/switch.check.mjs && node --experimental-strip-types scripts/tabs.check.mjs && node --experimental-strip-types scripts/tooltip-pin.check.mjs && node --experimental-strip-types scripts/dialog.check.mjs && node --experimental-strip-types scripts/backdrop.check.mjs && node --experimental-strip-types scripts/cframe-editor.check.mjs && node --experimental-strip-types scripts/enum-picker.check.mjs && node --experimental-strip-types scripts/number-range.check.mjs && node --experimental-strip-types scripts/date-range.check.mjs && node --experimental-strip-types scripts/time-field.check.mjs && node --experimental-strip-types scripts/sparkline.check.mjs && node --experimental-strip-types scripts/copy-button.check.mjs && node --experimental-strip-types scripts/cover.check.mjs && node --experimental-strip-types scripts/rect-editor.check.mjs && node --experimental-strip-types scripts/asset-field.check.mjs && node --experimental-strip-types scripts/gradient-editor.check.mjs && node --experimental-strip-types scripts/ray-editor.check.mjs && node --experimental-strip-types scripts/physical-properties.check.mjs && node --experimental-strip-types scripts/brickcolor-picker.check.mjs && node --experimental-strip-types scripts/transport-glyph.check.mjs && node --experimental-strip-types scripts/timeline.check.mjs && node --experimental-strip-types scripts/avatar-group.check.mjs && node --experimental-strip-types scripts/range-slider.check.mjs && node --experimental-strip-types scripts/collapse.check.mjs && node --experimental-strip-types scripts/button-group.check.mjs && node --experimental-strip-types scripts/table-sort.check.mjs && node --experimental-strip-types scripts/popover.check.mjs && node --experimental-strip-types scripts/focus-ring.check.mjs && node --experimental-strip-types scripts/checkbox-focus.check.mjs && node --experimental-strip-types scripts/pager.check.mjs && node --experimental-strip-types scripts/tooltip-title.check.mjs && node --experimental-strip-types scripts/input-focus.check.mjs && node --experimental-strip-types scripts/select-focus.check.mjs && node --experimental-strip-types scripts/slider-focus.check.mjs && node --experimental-strip-types scripts/switch-focus.check.mjs && node --experimental-strip-types scripts/radio-focus.check.mjs"
67
- }
68
- }
2
+ "name": "@rbxts/uiblox",
3
+ "version": "0.2.0-alpha.38",
4
+ "description": "UI Library and theming for roblox-ts projects",
5
+ "main": "out/init.luau",
6
+ "packageManager": "pnpm@11.3.0",
7
+ "scripts": {
8
+ "build": "rbxtsc",
9
+ "watch": "rbxtsc -w",
10
+ "pack:check": "node scripts/pack-check.mjs",
11
+ "test": "node scripts/no-internal-refs.check.mjs && node scripts/import-case.check.mjs && node --experimental-strip-types scripts/theme-scope.check.mjs && node --experimental-strip-types scripts/style-types.check.mjs && node --experimental-strip-types scripts/style-cache.check.mjs && node --experimental-strip-types scripts/style-variants.check.mjs && node --experimental-strip-types scripts/component-styles.check.mjs && node --experimental-strip-types scripts/interaction-styles.check.mjs && node --experimental-strip-types scripts/resolve-style.check.mjs && node --experimental-strip-types scripts/resolve-sx.check.mjs && node --experimental-strip-types scripts/sx-prop.check.mjs && node --experimental-strip-types scripts/style-system.check.mjs && node --experimental-strip-types scripts/host-sx.check.mjs && node --experimental-strip-types scripts/density.check.mjs && node --experimental-strip-types scripts/styles.check.mjs && node --experimental-strip-types scripts/contrast.check.mjs && node --experimental-strip-types scripts/primitives.check.mjs && node scripts/state-matrix-registers.check.mjs && node --experimental-strip-types scripts/paper.check.mjs && node --experimental-strip-types scripts/list-item.check.mjs && node --experimental-strip-types scripts/slider.check.mjs && node --experimental-strip-types scripts/input.check.mjs && node --experimental-strip-types scripts/menu.check.mjs && node --experimental-strip-types scripts/guard.check.mjs && node --experimental-strip-types scripts/breakpoints.check.mjs && node --experimental-strip-types scripts/viewport-observer.check.mjs && node --experimental-strip-types scripts/focus-trap.check.mjs && node --experimental-strip-types scripts/select-typeahead.check.mjs && node --experimental-strip-types scripts/select-groups.check.mjs && node --experimental-strip-types scripts/select-multi.check.mjs && node --experimental-strip-types scripts/select-polish.check.mjs && node --experimental-strip-types scripts/reduced-motion.check.mjs && node --experimental-strip-types scripts/card.check.mjs && node --experimental-strip-types scripts/chip.check.mjs && node --experimental-strip-types scripts/badge.check.mjs && node --experimental-strip-types scripts/avatar.check.mjs && node --experimental-strip-types scripts/imageList.check.mjs && node --experimental-strip-types scripts/drawer.check.mjs && node --experimental-strip-types scripts/breadcrumbs.check.mjs && node --experimental-strip-types scripts/pagination.check.mjs && node --experimental-strip-types scripts/stepper.check.mjs && node --experimental-strip-types scripts/accordion.check.mjs && node --experimental-strip-types scripts/snackbar.check.mjs && node --experimental-strip-types scripts/table.check.mjs && node --experimental-strip-types scripts/table-columns.check.mjs && node --experimental-strip-types scripts/reorder.check.mjs && node --experimental-strip-types scripts/autocomplete.check.mjs && node --experimental-strip-types scripts/field-loading.check.mjs && node --experimental-strip-types scripts/fab.check.mjs && node --experimental-strip-types scripts/appbar.check.mjs && node --experimental-strip-types scripts/bottom-navigation.check.mjs && node --experimental-strip-types scripts/alert.check.mjs && node --experimental-strip-types scripts/toggle-button.check.mjs && node --experimental-strip-types scripts/link.check.mjs && node --experimental-strip-types scripts/rating.check.mjs && node --experimental-strip-types scripts/stack.check.mjs && node --experimental-strip-types scripts/flex-item.check.mjs && node --experimental-strip-types scripts/grid.check.mjs && node --experimental-strip-types scripts/speed-dial.check.mjs && node --experimental-strip-types scripts/form-text.check.mjs && node --experimental-strip-types scripts/text.check.mjs && node --experimental-strip-types scripts/week-grid.check.mjs && node --experimental-strip-types scripts/box.check.mjs && node --experimental-strip-types scripts/scroll-view.check.mjs && node --experimental-strip-types scripts/image-list.check.mjs && node --experimental-strip-types scripts/radio-group.check.mjs && node --experimental-strip-types scripts/container.check.mjs && node --experimental-strip-types scripts/divider.check.mjs && node --experimental-strip-types scripts/highlight-code.check.mjs && node --experimental-strip-types scripts/markdown.check.mjs && node --experimental-strip-types scripts/switch.check.mjs && node --experimental-strip-types scripts/tabs.check.mjs && node --experimental-strip-types scripts/tooltip-pin.check.mjs && node --experimental-strip-types scripts/dialog.check.mjs && node --experimental-strip-types scripts/backdrop.check.mjs && node --experimental-strip-types scripts/cframe-editor.check.mjs && node --experimental-strip-types scripts/enum-picker.check.mjs && node --experimental-strip-types scripts/number-range.check.mjs && node --experimental-strip-types scripts/date-range.check.mjs && node --experimental-strip-types scripts/time-field.check.mjs && node --experimental-strip-types scripts/sparkline.check.mjs && node --experimental-strip-types scripts/copy-button.check.mjs && node --experimental-strip-types scripts/cover.check.mjs && node --experimental-strip-types scripts/rect-editor.check.mjs && node --experimental-strip-types scripts/asset-field.check.mjs && node --experimental-strip-types scripts/gradient-editor.check.mjs && node --experimental-strip-types scripts/ray-editor.check.mjs && node --experimental-strip-types scripts/physical-properties.check.mjs && node --experimental-strip-types scripts/brickcolor-picker.check.mjs && node --experimental-strip-types scripts/transport-glyph.check.mjs && node --experimental-strip-types scripts/timeline.check.mjs && node --experimental-strip-types scripts/avatar-group.check.mjs && node --experimental-strip-types scripts/range-slider.check.mjs && node --experimental-strip-types scripts/collapse.check.mjs && node --experimental-strip-types scripts/button-group.check.mjs && node --experimental-strip-types scripts/table-sort.check.mjs && node --experimental-strip-types scripts/popover.check.mjs && node --experimental-strip-types scripts/focus-ring.check.mjs && node --experimental-strip-types scripts/checkbox-focus.check.mjs && node --experimental-strip-types scripts/pager.check.mjs && node --experimental-strip-types scripts/tooltip-title.check.mjs && node --experimental-strip-types scripts/input-focus.check.mjs && node --experimental-strip-types scripts/select-focus.check.mjs && node --experimental-strip-types scripts/slider-focus.check.mjs && node --experimental-strip-types scripts/switch-focus.check.mjs && node --experimental-strip-types scripts/radio-focus.check.mjs && node --experimental-strip-types scripts/button-paint.check.mjs && node scripts/editor-row.check.mjs",
12
+ "prepublishOnly": "pnpm build"
13
+ },
14
+ "keywords": [
15
+ "roblox-ts",
16
+ "ui",
17
+ "uiblox",
18
+ "design",
19
+ "library",
20
+ "material",
21
+ "component",
22
+ "system"
23
+ ],
24
+ "author": "bjlarouche",
25
+ "license": "MIT",
26
+ "types": "out/index.d.ts",
27
+ "files": [
28
+ "out",
29
+ "!**/*.tsbuildinfo"
30
+ ],
31
+ "publishConfig": {
32
+ "access": "public"
33
+ },
34
+ "devDependencies": {
35
+ "@rbxts/attributes": "^1.0.0",
36
+ "@rbxts/compiler-types": "^3.0.0-types.0",
37
+ "@rbxts/types": "^1.0.813",
38
+ "@typescript-eslint/eslint-plugin": "^8.15.0",
39
+ "@typescript-eslint/parser": "^8.15.0",
40
+ "eslint": "^9.14.0",
41
+ "eslint-config-prettier": "^9.1.0",
42
+ "eslint-plugin-prettier": "^5.2.1",
43
+ "eslint-plugin-roblox-ts": "^0.0.36",
44
+ "eslint-plugin-simple-import-sort": "^12.1.1",
45
+ "eslint-plugin-unused-imports": "^4.1.4",
46
+ "prettier": "^3.3.3",
47
+ "roblox-ts": "^3.0.0",
48
+ "typescript": "^5.6.3"
49
+ },
50
+ "dependencies": {
51
+ "@rbxts/boat-tween": "^1.0.1",
52
+ "@rbxts/pretty-react-hooks": "^0.6.0",
53
+ "@rbxts/react": "^17.2.1",
54
+ "@rbxts/react-reflex": "^0.3.4",
55
+ "@rbxts/react-roblox": "^17.2.1",
56
+ "@rbxts/reflex": "4.3.1",
57
+ "@rbxts/services": "^1.5.5"
58
+ },
59
+ "directories": {
60
+ "doc": "docs"
61
+ },
62
+ "repository": {
63
+ "type": "git",
64
+ "url": "git+https://github.com/bjlarouche/uiblox-rbxts.git"
65
+ },
66
+ "bugs": {
67
+ "url": "https://github.com/bjlarouche/uiblox-rbxts/issues"
68
+ },
69
+ "homepage": "https://github.com/bjlarouche/uiblox-rbxts#readme"
70
+ }