@rbxts/uiblox 0.2.0-alpha.2 → 0.2.0-alpha.21

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 (248) hide show
  1. package/README.md +2 -0
  2. package/out/theme/constants/NumberConstants.d.ts +2 -0
  3. package/out/theme/constants/NumberConstants.luau +3 -0
  4. package/out/theme/interfaces/spacing/Shape.d.ts +3 -0
  5. package/out/theme/interfaces/typography/FontSizes.d.ts +1 -1
  6. package/out/theme/interfaces/typography/FontSizes.luau +15 -8
  7. package/out/theme/interfaces/typography/ThemeTypography.d.ts +3 -0
  8. package/out/theme/interfaces/typography/Variants.d.ts +14 -15
  9. package/out/theme/interfaces/typography/Variants.luau +68 -18
  10. package/out/theme/themes/DarkTheme.luau +4 -0
  11. package/out/theme/themes/LightTheme.luau +4 -0
  12. package/out/ui/packages/accordion/components/Accordion.d.ts +2 -0
  13. package/out/ui/packages/accordion/components/Accordion.luau +36 -16
  14. package/out/ui/packages/accordion/components/Accordion.styles.d.ts +1 -0
  15. package/out/ui/packages/accordion/components/Accordion.styles.luau +16 -4
  16. package/out/ui/packages/accordion/components/accordionOpen.d.ts +1 -0
  17. package/out/ui/packages/accordion/components/accordionOpen.luau +4 -0
  18. package/out/ui/packages/alert/components/Alert.d.ts +2 -0
  19. package/out/ui/packages/alert/components/Alert.luau +40 -27
  20. package/out/ui/packages/alert/components/Alert.styles.d.ts +2 -0
  21. package/out/ui/packages/alert/components/Alert.styles.luau +17 -8
  22. package/out/ui/packages/appBar/components/AppBar.d.ts +2 -1
  23. package/out/ui/packages/appBar/components/AppBar.luau +5 -0
  24. package/out/ui/packages/appBar/components/AppBar.styles.d.ts +2 -0
  25. package/out/ui/packages/appBar/components/AppBar.styles.luau +6 -2
  26. package/out/ui/packages/autocomplete/components/Autocomplete.luau +8 -0
  27. package/out/ui/packages/avatar/components/Avatar.d.ts +2 -0
  28. package/out/ui/packages/avatar/components/Avatar.luau +20 -12
  29. package/out/ui/packages/avatar/components/Avatar.styles.d.ts +2 -0
  30. package/out/ui/packages/avatar/components/Avatar.styles.luau +5 -1
  31. package/out/ui/packages/backdrop/components/Backdrop.d.ts +10 -0
  32. package/out/ui/packages/backdrop/components/Backdrop.luau +58 -0
  33. package/out/ui/packages/backdrop/components/Backdrop.styles.d.ts +4 -0
  34. package/out/ui/packages/backdrop/components/Backdrop.styles.luau +24 -0
  35. package/out/ui/packages/backdrop/index.d.ts +2 -0
  36. package/out/ui/packages/backdrop/init.luau +5 -0
  37. package/out/ui/packages/badge/components/Badge.d.ts +3 -0
  38. package/out/ui/packages/badge/components/Badge.luau +23 -8
  39. package/out/ui/packages/badge/components/Badge.styles.d.ts +5 -1
  40. package/out/ui/packages/badge/components/Badge.styles.luau +20 -8
  41. package/out/ui/packages/bottomNavigation/components/BottomNavigation.d.ts +1 -0
  42. package/out/ui/packages/bottomNavigation/components/BottomNavigation.luau +9 -3
  43. package/out/ui/packages/bottomNavigation/components/BottomNavigation.styles.d.ts +3 -1
  44. package/out/ui/packages/bottomNavigation/components/BottomNavigation.styles.luau +6 -2
  45. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.d.ts +1 -0
  46. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.luau +59 -25
  47. package/out/ui/packages/breadcrumbs/components/breadcrumbItems.d.ts +9 -0
  48. package/out/ui/packages/breadcrumbs/components/breadcrumbItems.luau +68 -0
  49. package/out/ui/packages/breadcrumbs/index.d.ts +1 -0
  50. package/out/ui/packages/breadcrumbs/init.luau +3 -0
  51. package/out/ui/packages/brickColorPicker/components/brickColorCatalog.luau +1 -1
  52. package/out/ui/packages/button/components/Button.luau +9 -5
  53. package/out/ui/packages/card/components/Card.d.ts +1 -0
  54. package/out/ui/packages/card/components/Card.luau +2 -0
  55. package/out/ui/packages/cframeEditor/components/CFrameEditor.luau +1 -1
  56. package/out/ui/packages/chip/components/Chip.d.ts +6 -1
  57. package/out/ui/packages/chip/components/Chip.luau +49 -2
  58. package/out/ui/packages/chip/components/Chip.styles.d.ts +6 -0
  59. package/out/ui/packages/chip/components/Chip.styles.luau +55 -10
  60. package/out/ui/packages/circularProgress/components/CircularProgress.luau +13 -2
  61. package/out/ui/packages/colorPicker/components/ColorPicker.luau +1 -1
  62. package/out/ui/packages/colorPicker/components/ColorSequenceEditor.luau +1 -1
  63. package/out/ui/packages/colorPicker/components/NumberSequenceEditor.luau +1 -1
  64. package/out/ui/packages/dialog/components/Dialog.d.ts +1 -1
  65. package/out/ui/packages/dialog/components/Dialog.luau +27 -18
  66. package/out/ui/packages/divider/components/Divider.d.ts +1 -0
  67. package/out/ui/packages/divider/components/Divider.luau +48 -0
  68. package/out/ui/packages/divider/components/Divider.styles.luau +29 -0
  69. package/out/ui/packages/divider/components/dividerLabel.d.ts +1 -0
  70. package/out/ui/packages/divider/components/dividerLabel.luau +10 -0
  71. package/out/ui/packages/drawer/components/Drawer.d.ts +1 -0
  72. package/out/ui/packages/drawer/components/Drawer.luau +4 -1
  73. package/out/ui/packages/drawer/components/Drawer.styles.d.ts +3 -1
  74. package/out/ui/packages/drawer/components/Drawer.styles.luau +3 -2
  75. package/out/ui/packages/fab/components/Fab.d.ts +3 -0
  76. package/out/ui/packages/fab/components/Fab.luau +62 -25
  77. package/out/ui/packages/fab/components/Fab.styles.d.ts +3 -0
  78. package/out/ui/packages/fab/components/Fab.styles.luau +33 -3
  79. package/out/ui/packages/fab/components/fabSize.d.ts +1 -0
  80. package/out/ui/packages/fab/components/fabSize.luau +4 -0
  81. package/out/ui/packages/fab/index.d.ts +1 -1
  82. package/out/ui/packages/fab/init.luau +1 -0
  83. package/out/ui/packages/formText/components/FormHelperText.d.ts +8 -0
  84. package/out/ui/packages/formText/components/FormHelperText.luau +44 -0
  85. package/out/ui/packages/formText/components/FormLabel.d.ts +9 -0
  86. package/out/ui/packages/formText/components/FormLabel.luau +46 -0
  87. package/out/ui/packages/formText/components/FormText.styles.d.ts +5 -0
  88. package/out/ui/packages/formText/components/FormText.styles.luau +33 -0
  89. package/out/ui/packages/formText/index.d.ts +4 -0
  90. package/out/ui/packages/formText/init.luau +6 -0
  91. package/out/ui/packages/iconButton/components/IconButton.luau +7 -2
  92. package/out/ui/packages/iconButton/components/IconButton.styles.luau +3 -0
  93. package/out/ui/packages/imageList/components/ImageList.d.ts +14 -0
  94. package/out/ui/packages/imageList/components/ImageList.luau +100 -0
  95. package/out/ui/packages/imageList/components/ImageList.styles.d.ts +6 -0
  96. package/out/ui/packages/imageList/components/ImageList.styles.luau +73 -0
  97. package/out/ui/packages/imageList/components/imageListLayout.d.ts +4 -0
  98. package/out/ui/packages/imageList/components/imageListLayout.luau +31 -0
  99. package/out/ui/packages/imageList/index.d.ts +2 -0
  100. package/out/ui/packages/imageList/init.luau +5 -0
  101. package/out/ui/packages/index.d.ts +7 -0
  102. package/out/ui/packages/init.luau +21 -0
  103. package/out/ui/packages/input/components/Input.d.ts +1 -0
  104. package/out/ui/packages/input/components/Input.luau +8 -3
  105. package/out/ui/packages/layout/components/Box.d.ts +11 -0
  106. package/out/ui/packages/layout/components/Box.luau +49 -0
  107. package/out/ui/packages/layout/components/Box.styles.d.ts +7 -0
  108. package/out/ui/packages/layout/components/Box.styles.luau +34 -0
  109. package/out/ui/packages/layout/components/Container.d.ts +10 -0
  110. package/out/ui/packages/layout/components/Container.luau +54 -0
  111. package/out/ui/packages/layout/components/Container.styles.d.ts +6 -0
  112. package/out/ui/packages/layout/components/Container.styles.luau +41 -0
  113. package/out/ui/packages/layout/components/FlexItem.d.ts +12 -0
  114. package/out/ui/packages/layout/components/FlexItem.luau +49 -0
  115. package/out/ui/packages/layout/components/FlexItem.styles.d.ts +8 -0
  116. package/out/ui/packages/layout/components/FlexItem.styles.luau +66 -0
  117. package/out/ui/packages/layout/components/Grid.d.ts +5 -1
  118. package/out/ui/packages/layout/components/Grid.luau +35 -4
  119. package/out/ui/packages/layout/components/Stack.d.ts +14 -0
  120. package/out/ui/packages/layout/components/Stack.luau +53 -0
  121. package/out/ui/packages/layout/components/Stack.styles.d.ts +10 -0
  122. package/out/ui/packages/layout/components/Stack.styles.luau +101 -0
  123. package/out/ui/packages/layout/components/boxPad.d.ts +14 -0
  124. package/out/ui/packages/layout/components/boxPad.luau +59 -0
  125. package/out/ui/packages/layout/components/containerWidth.d.ts +2 -0
  126. package/out/ui/packages/layout/components/containerWidth.luau +17 -0
  127. package/out/ui/packages/layout/components/flexItemMode.d.ts +6 -0
  128. package/out/ui/packages/layout/components/flexItemMode.luau +36 -0
  129. package/out/ui/packages/layout/components/gridProps.d.ts +3 -0
  130. package/out/ui/packages/layout/components/gridProps.luau +20 -0
  131. package/out/ui/packages/layout/components/stackAlign.d.ts +10 -0
  132. package/out/ui/packages/layout/components/stackAlign.luau +43 -0
  133. package/out/ui/packages/layout/index.d.ts +14 -0
  134. package/out/ui/packages/layout/init.luau +5 -0
  135. package/out/ui/packages/link/components/Link.d.ts +11 -0
  136. package/out/ui/packages/link/components/Link.luau +83 -0
  137. package/out/ui/packages/link/components/Link.styles.d.ts +8 -0
  138. package/out/ui/packages/link/components/Link.styles.luau +59 -0
  139. package/out/ui/packages/link/index.d.ts +3 -0
  140. package/out/ui/packages/link/init.luau +5 -0
  141. package/out/ui/packages/listItem/components/ListItem.d.ts +2 -0
  142. package/out/ui/packages/listItem/components/ListItem.luau +22 -1
  143. package/out/ui/packages/listItem/components/ListItem.styles.d.ts +1 -0
  144. package/out/ui/packages/listItem/components/ListItem.styles.luau +16 -5
  145. package/out/ui/packages/loadingStroke/components/LoadingStroke.d.ts +2 -0
  146. package/out/ui/packages/loadingStroke/components/LoadingStroke.luau +23 -19
  147. package/out/ui/packages/menu/components/Menu.d.ts +5 -0
  148. package/out/ui/packages/menu/components/Menu.luau +54 -23
  149. package/out/ui/packages/menu/components/Menu.styles.luau +5 -1
  150. package/out/ui/packages/modal/components/Modal.d.ts +1 -1
  151. package/out/ui/packages/modal/components/Modal.luau +55 -37
  152. package/out/ui/packages/motion/index.d.ts +1 -1
  153. package/out/ui/packages/motion/init.luau +1 -0
  154. package/out/ui/packages/motion/unit.d.ts +5 -0
  155. package/out/ui/packages/motion/unit.luau +23 -0
  156. package/out/ui/packages/numberInput/components/NumberInput.d.ts +1 -0
  157. package/out/ui/packages/numberInput/components/NumberInput.luau +2 -0
  158. package/out/ui/packages/pagination/components/Pagination.d.ts +6 -1
  159. package/out/ui/packages/pagination/components/Pagination.luau +51 -23
  160. package/out/ui/packages/pagination/components/Pagination.styles.d.ts +6 -1
  161. package/out/ui/packages/pagination/components/Pagination.styles.luau +36 -4
  162. package/out/ui/packages/pagination/components/pageRange.d.ts +2 -1
  163. package/out/ui/packages/pagination/components/pageRange.luau +91 -8
  164. package/out/ui/packages/pagination/index.d.ts +1 -0
  165. package/out/ui/packages/pagination/init.luau +1 -0
  166. package/out/ui/packages/paper/components/Paper.d.ts +2 -1
  167. package/out/ui/packages/paper/components/Paper.luau +14 -3
  168. package/out/ui/packages/paper/components/Paper.styles.d.ts +1 -1
  169. package/out/ui/packages/paper/components/Paper.styles.luau +6 -0
  170. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.luau +1 -1
  171. package/out/ui/packages/popup/index.d.ts +1 -0
  172. package/out/ui/packages/popup/init.luau +1 -0
  173. package/out/ui/packages/radioGroup/components/RadioGroup.d.ts +1 -0
  174. package/out/ui/packages/radioGroup/components/RadioGroup.luau +5 -3
  175. package/out/ui/packages/radioGroup/components/RadioGroup.styles.d.ts +1 -0
  176. package/out/ui/packages/radioGroup/components/RadioGroup.styles.luau +4 -1
  177. package/out/ui/packages/rating/components/Rating.d.ts +11 -0
  178. package/out/ui/packages/rating/components/Rating.luau +101 -0
  179. package/out/ui/packages/rating/components/Rating.styles.d.ts +6 -0
  180. package/out/ui/packages/rating/components/Rating.styles.luau +44 -0
  181. package/out/ui/packages/rating/index.d.ts +2 -0
  182. package/out/ui/packages/rating/init.luau +5 -0
  183. package/out/ui/packages/rectEditor/components/RectEditor.luau +1 -1
  184. package/out/ui/packages/select/components/Select.d.ts +5 -0
  185. package/out/ui/packages/select/components/Select.luau +48 -24
  186. package/out/ui/packages/select/components/Select.styles.luau +1 -1
  187. package/out/ui/packages/skeleton/components/Skeleton.luau +4 -3
  188. package/out/ui/packages/skeleton/components/Skeleton.styles.luau +7 -2
  189. package/out/ui/packages/skeleton/components/skeletonMotion.luau +1 -1
  190. package/out/ui/packages/skeleton/components/skeletonTone.d.ts +20 -0
  191. package/out/ui/packages/skeleton/components/skeletonTone.luau +14 -0
  192. package/out/ui/packages/slider/components/Slider.d.ts +3 -0
  193. package/out/ui/packages/slider/components/Slider.luau +32 -3
  194. package/out/ui/packages/slider/components/Slider.styles.d.ts +2 -0
  195. package/out/ui/packages/slider/components/Slider.styles.luau +14 -1
  196. package/out/ui/packages/slider/components/sliderMarks.d.ts +1 -0
  197. package/out/ui/packages/slider/components/sliderMarks.luau +37 -0
  198. package/out/ui/packages/snackbar/components/Snackbar.d.ts +2 -0
  199. package/out/ui/packages/snackbar/components/Snackbar.luau +5 -0
  200. package/out/ui/packages/snackbar/components/snackbarAction.d.ts +1 -0
  201. package/out/ui/packages/snackbar/components/snackbarAction.luau +10 -0
  202. package/out/ui/packages/speedDial/components/SpeedDial.d.ts +19 -0
  203. package/out/ui/packages/speedDial/components/SpeedDial.luau +101 -0
  204. package/out/ui/packages/speedDial/components/SpeedDial.styles.d.ts +5 -0
  205. package/out/ui/packages/speedDial/components/SpeedDial.styles.luau +31 -0
  206. package/out/ui/packages/speedDial/index.d.ts +3 -0
  207. package/out/ui/packages/speedDial/init.luau +5 -0
  208. package/out/ui/packages/splitPane/components/SplitPane.luau +1 -1
  209. package/out/ui/packages/stateMatrix.d.ts +2 -0
  210. package/out/ui/packages/stateMatrix.luau +881 -253
  211. package/out/ui/packages/stepper/components/Stepper.d.ts +1 -0
  212. package/out/ui/packages/stepper/components/Stepper.luau +8 -2
  213. package/out/ui/packages/stepper/components/Stepper.styles.d.ts +3 -1
  214. package/out/ui/packages/stepper/components/Stepper.styles.luau +6 -2
  215. package/out/ui/packages/switch/components/Switch.d.ts +2 -0
  216. package/out/ui/packages/switch/components/Switch.luau +5 -0
  217. package/out/ui/packages/switch/components/Switch.styles.d.ts +2 -0
  218. package/out/ui/packages/switch/components/Switch.styles.luau +7 -2
  219. package/out/ui/packages/table/components/Table.d.ts +1 -0
  220. package/out/ui/packages/table/components/Table.luau +7 -4
  221. package/out/ui/packages/table/components/Table.styles.d.ts +3 -1
  222. package/out/ui/packages/table/components/Table.styles.luau +10 -6
  223. package/out/ui/packages/tabs/components/Tabs.d.ts +3 -0
  224. package/out/ui/packages/tabs/components/Tabs.luau +13 -4
  225. package/out/ui/packages/tabs/components/Tabs.styles.d.ts +5 -1
  226. package/out/ui/packages/tabs/components/Tabs.styles.luau +26 -10
  227. package/out/ui/packages/tabs/components/tabsOrientation.d.ts +2 -0
  228. package/out/ui/packages/tabs/components/tabsOrientation.luau +7 -0
  229. package/out/ui/packages/tabs/index.d.ts +1 -0
  230. package/out/ui/packages/tabs/init.luau +1 -0
  231. package/out/ui/packages/toast/components/Toast.d.ts +2 -0
  232. package/out/ui/packages/toast/components/Toast.luau +26 -1
  233. package/out/ui/packages/toast/components/Toast.styles.luau +22 -4
  234. package/out/ui/packages/toggleButton/components/ToggleButton.d.ts +21 -0
  235. package/out/ui/packages/toggleButton/components/ToggleButton.luau +137 -0
  236. package/out/ui/packages/toggleButton/components/ToggleButton.styles.d.ts +9 -0
  237. package/out/ui/packages/toggleButton/components/ToggleButton.styles.luau +69 -0
  238. package/out/ui/packages/toggleButton/index.d.ts +2 -0
  239. package/out/ui/packages/toggleButton/init.luau +7 -0
  240. package/out/ui/packages/typography/components/Typography.styles.luau +4 -5
  241. package/out/ui/packages/vectorEditor/components/VectorEditor.luau +1 -1
  242. package/out/ui/packages/virtualList/components/EmptyListHint.d.ts +6 -0
  243. package/out/ui/packages/virtualList/components/EmptyListHint.luau +32 -0
  244. package/out/ui/packages/virtualList/components/EmptyListHint.styles.d.ts +5 -0
  245. package/out/ui/packages/virtualList/components/EmptyListHint.styles.luau +26 -0
  246. package/out/ui/packages/virtualList/index.d.ts +2 -0
  247. package/out/ui/packages/virtualList/init.luau +1 -0
  248. package/package.json +2 -2
@@ -0,0 +1,137 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
+ local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
5
+ local useToggleButtonStyles = TS.import(script, script.Parent, "ToggleButton.styles").default
6
+ local function ToggleButton(props)
7
+ local _binding = props
8
+ local label = _binding.label
9
+ local selected = _binding.selected
10
+ local disabled = _binding.disabled
11
+ local size = _binding.size
12
+ if size == nil then
13
+ size = "medium"
14
+ end
15
+ local onActivated = _binding.onActivated
16
+ local className = _binding.className
17
+ local sx = _binding.sx
18
+ local id = _binding.id
19
+ local ref = _binding.ref
20
+ local styles = useToggleButtonStyles({
21
+ selected = selected,
22
+ disabled = disabled,
23
+ size = size,
24
+ })
25
+ local active = canActivate(disabled)
26
+ local _attributes = {}
27
+ local _condition = id
28
+ if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
29
+ _condition = "ToggleButton"
30
+ end
31
+ _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
46
+ _attributes.Text = label
47
+ _attributes.Active = active
48
+ _attributes.Selectable = active
49
+ _attributes.Event = {
50
+ Activated = function()
51
+ if active then
52
+ local _result = onActivated
53
+ if _result ~= nil then
54
+ _result()
55
+ end
56
+ end
57
+ end,
58
+ }
59
+ local _attributes_1 = table.clone(styles.padding)
60
+ setmetatable(_attributes_1, nil)
61
+ local _exp = React.createElement("uipadding", _attributes_1)
62
+ local _attributes_2 = table.clone(styles.corner)
63
+ setmetatable(_attributes_2, nil)
64
+ local _exp_1 = React.createElement("uicorner", _attributes_2)
65
+ local _attributes_3 = table.clone(styles.stroke)
66
+ setmetatable(_attributes_3, nil)
67
+ return React.createElement("textbutton", _attributes, _exp, _exp_1, React.createElement("uistroke", _attributes_3))
68
+ end
69
+ local function ToggleButtonGroup(props)
70
+ local _binding = props
71
+ local value = _binding.value
72
+ local options = _binding.options
73
+ local onChange = _binding.onChange
74
+ local disabled = _binding.disabled
75
+ local size = _binding.size
76
+ local orientation = _binding.orientation
77
+ local className = _binding.className
78
+ local sx = _binding.sx
79
+ local id = _binding.id
80
+ local ref = _binding.ref
81
+ local styles = useToggleButtonStyles({
82
+ size = size,
83
+ orientation = orientation,
84
+ })
85
+ local _attributes = {}
86
+ local _condition = id
87
+ if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
88
+ _condition = "ToggleButtonGroup"
89
+ end
90
+ _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
105
+ local _attributes_1 = table.clone(styles.list)
106
+ setmetatable(_attributes_1, nil)
107
+ local _exp = React.createElement("uilistlayout", _attributes_1)
108
+ -- ▼ ReadonlyArray.map ▼
109
+ local _newValue = table.create(#options)
110
+ local _callback = function(choice, index)
111
+ return React.createElement(ToggleButton, {
112
+ key = `{choice.label}-{index}`,
113
+ label = choice.label,
114
+ selected = choice.value == value,
115
+ disabled = disabled == true or choice.disabled == true,
116
+ size = size,
117
+ onActivated = function()
118
+ if choice.value ~= value then
119
+ onChange(choice.value)
120
+ end
121
+ end,
122
+ className = {
123
+ LayoutOrder = index,
124
+ },
125
+ })
126
+ end
127
+ for _k, _v in options do
128
+ _newValue[_k] = _callback(_v, _k - 1, options)
129
+ end
130
+ -- ▲ ReadonlyArray.map ▲
131
+ return React.createElement("frame", _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
132
+ end
133
+ local default = ToggleButton
134
+ return {
135
+ ToggleButtonGroup = ToggleButtonGroup,
136
+ default = default,
137
+ }
@@ -0,0 +1,9 @@
1
+ import { ControlSize } from "../../../../theme/index";
2
+ export type ToggleButtonOrientation = "horizontal" | "vertical";
3
+ declare const useToggleButtonStyles: (props: {
4
+ selected?: boolean;
5
+ disabled?: boolean;
6
+ size?: ControlSize;
7
+ orientation?: ToggleButtonOrientation;
8
+ }) => import("../../../../theme/index").ClassNameMap<string>;
9
+ export default useToggleButtonStyles;
@@ -0,0 +1,69 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
4
+ local componentStyles = _theme.componentStyles
5
+ local createStyles = _theme.createStyles
6
+ local useToggleButtonStyles = componentStyles("ToggleButton", function(theme, _param)
7
+ local selected = _param.selected
8
+ if selected == nil then
9
+ selected = false
10
+ end
11
+ local disabled = _param.disabled
12
+ if disabled == nil then
13
+ disabled = false
14
+ end
15
+ local size = _param.size
16
+ if size == nil then
17
+ size = "medium"
18
+ end
19
+ local orientation = _param.orientation
20
+ if orientation == nil then
21
+ orientation = "horizontal"
22
+ end
23
+ local height = if size == "small" then theme.spacing.calc(3) elseif size == "large" then theme.spacing.calc(5) else theme.spacing.calc(4)
24
+ local textSize = if size == "small" then theme.typography.fontSizes.caption elseif size == "large" then theme.typography.fontSizes.h6 else theme.typography.fontSizes.body
25
+ local pad = theme.padding.calc(if size == "small" then 1 else 1.5)
26
+ return createStyles({
27
+ root = {
28
+ AutomaticSize = Enum.AutomaticSize.X,
29
+ Size = UDim2.new(0, 0, 0, height),
30
+ BackgroundColor3 = if selected then theme.palette.action.selected else theme.palette.surface.input,
31
+ BorderSizePixel = 0,
32
+ AutoButtonColor = false,
33
+ Active = not disabled,
34
+ Selectable = not disabled,
35
+ TextColor3 = if disabled then theme.palette.text.disabled elseif selected then theme.palette.primary.main else theme.palette.text.primary,
36
+ Font = theme.typography.fontFamilies.default,
37
+ TextSize = textSize,
38
+ },
39
+ padding = {
40
+ PaddingLeft = UDim.new(0, pad),
41
+ PaddingRight = UDim.new(0, pad),
42
+ },
43
+ corner = {
44
+ CornerRadius = UDim.new(0, theme.shape.borderRadius),
45
+ },
46
+ stroke = {
47
+ Color = if selected then theme.palette.primary.main else theme.palette.border,
48
+ ApplyStrokeMode = Enum.ApplyStrokeMode.Border,
49
+ Transparency = if disabled then 0.5 else 0,
50
+ },
51
+ group = {
52
+ AutomaticSize = Enum.AutomaticSize.XY,
53
+ Size = UDim2.fromScale(0, 0),
54
+ BackgroundTransparency = 1,
55
+ BorderSizePixel = 0,
56
+ },
57
+ list = {
58
+ FillDirection = if orientation == "vertical" then Enum.FillDirection.Vertical else Enum.FillDirection.Horizontal,
59
+ HorizontalAlignment = Enum.HorizontalAlignment.Left,
60
+ VerticalAlignment = Enum.VerticalAlignment.Center,
61
+ SortOrder = Enum.SortOrder.LayoutOrder,
62
+ Padding = UDim.new(0, theme.padding.calc(0.5)),
63
+ },
64
+ })
65
+ end)
66
+ local default = useToggleButtonStyles
67
+ return {
68
+ default = default,
69
+ }
@@ -0,0 +1,2 @@
1
+ export { default as ToggleButton, ToggleButtonGroup } from "./components/ToggleButton";
2
+ export { ToggleButtonProps, ToggleButtonGroupProps } from "./components/ToggleButton";
@@ -0,0 +1,7 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local exports = {}
4
+ local _ToggleButton = TS.import(script, script, "components", "ToggleButton")
5
+ exports.ToggleButton = _ToggleButton.default
6
+ exports.ToggleButtonGroup = _ToggleButton.ToggleButtonGroup
7
+ return exports
@@ -13,9 +13,6 @@ local useTypographyStyles = componentStyles("Typography", function(theme, _param
13
13
  variant = "body"
14
14
  end
15
15
  local family = _param.family
16
- if family == nil then
17
- family = "default"
18
- end
19
16
  local align = _param.align
20
17
  if align == nil then
21
18
  align = "left"
@@ -28,6 +25,8 @@ local useTypographyStyles = componentStyles("Typography", function(theme, _param
28
25
  if lineClamp == nil then
29
26
  lineClamp = false
30
27
  end
28
+ local spec = theme.typography.variants[variant or "body"]
29
+ local resolvedFamily = family or spec.family
31
30
  local DEFAULT_COLOR = theme.palette.text.primary
32
31
  local COLOR_TO_PALETTE_MAP = {
33
32
  initial = DEFAULT_COLOR,
@@ -83,8 +82,8 @@ local useTypographyStyles = componentStyles("Typography", function(theme, _param
83
82
  return createStyles({
84
83
  root = makeRootStyles(),
85
84
  variantToken = {
86
- TextSize = variant and theme.typography.fontSizes[variant],
87
- Font = family and theme.typography.fontFamilies[family],
85
+ TextSize = spec.size,
86
+ Font = theme.typography.fontFamilies[resolvedFamily],
88
87
  },
89
88
  })
90
89
  end)
@@ -79,7 +79,7 @@ local function VectorEditor(props)
79
79
  _newValue[_k] = _callback(_v, _k - 1, axes)
80
80
  end
81
81
  -- ▲ ReadonlyArray.map ▲
82
- return React.createElement("frame", _attributes, _exp, _newValue)
82
+ return React.createElement("frame", _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
83
83
  end
84
84
  local default = VectorEditor
85
85
  return {
@@ -0,0 +1,6 @@
1
+ export interface EmptyListHintProps {
2
+ text: string;
3
+ height?: number;
4
+ }
5
+ declare function EmptyListHint(props: EmptyListHintProps): JSX.Element;
6
+ export default EmptyListHint;
@@ -0,0 +1,32 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
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 useEmptyListHintStyles = TS.import(script, script.Parent, "EmptyListHint.styles").default
6
+ local function EmptyListHint(props)
7
+ local _binding = props
8
+ local text = _binding.text
9
+ local height = _binding.height
10
+ local _binding_1 = useTheme()
11
+ local theme = _binding_1.theme
12
+ local _object = {}
13
+ local _left = "height"
14
+ local _condition = height
15
+ if _condition == nil then
16
+ _condition = theme.spacing.calc(4)
17
+ end
18
+ _object[_left] = _condition
19
+ local styles = useEmptyListHintStyles(_object)
20
+ local _attributes = {
21
+ key = "EmptyListHint",
22
+ }
23
+ for _k, _v in styles.root do
24
+ _attributes[_k] = _v
25
+ end
26
+ _attributes.Text = text
27
+ return React.createElement("textlabel", _attributes)
28
+ end
29
+ local default = EmptyListHint
30
+ return {
31
+ default = default,
32
+ }
@@ -0,0 +1,5 @@
1
+ export interface EmptyListHintStyleProps {
2
+ height: number;
3
+ }
4
+ declare const useEmptyListHintStyles: (props: EmptyListHintStyleProps) => import("../../../../theme/index").ClassNameMap<string>;
5
+ export default useEmptyListHintStyles;
@@ -0,0 +1,26 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
4
+ local createStyles = _theme.createStyles
5
+ local componentStyles = _theme.componentStyles
6
+ local useEmptyListHintStyles = componentStyles("EmptyListHint", function(theme, _param)
7
+ local height = _param.height
8
+ return createStyles({
9
+ root = {
10
+ Size = UDim2.new(1, 0, 0, height),
11
+ BackgroundTransparency = 1,
12
+ BorderSizePixel = 0,
13
+ TextColor3 = theme.palette.text.secondary,
14
+ Font = theme.typography.fontFamilies.default,
15
+ TextSize = theme.typography.fontSizes.body,
16
+ TextXAlignment = Enum.TextXAlignment.Center,
17
+ TextYAlignment = Enum.TextYAlignment.Center,
18
+ TextTruncate = Enum.TextTruncate.AtEnd,
19
+ ZIndex = 20002,
20
+ },
21
+ })
22
+ end)
23
+ local default = useEmptyListHintStyles
24
+ return {
25
+ default = default,
26
+ }
@@ -1,2 +1,4 @@
1
1
  export { default as VirtualList } from "./components/VirtualList";
2
2
  export { VirtualListProps, VirtualListHandle, VirtualListItemState, VirtualListAlign, } from "./components/VirtualList";
3
+ export { default as EmptyListHint } from "./components/EmptyListHint";
4
+ export { EmptyListHintProps } from "./components/EmptyListHint";
@@ -2,4 +2,5 @@
2
2
  local TS = _G[script]
3
3
  local exports = {}
4
4
  exports.VirtualList = TS.import(script, script, "components", "VirtualList").default
5
+ exports.EmptyListHint = TS.import(script, script, "components", "EmptyListHint").default
5
6
  return exports
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rbxts/uiblox",
3
- "version": "0.2.0-alpha.2",
3
+ "version": "0.2.0-alpha.21",
4
4
  "description": "UI Library and theming for roblox-ts projects",
5
5
  "main": "out/init.luau",
6
6
  "packageManager": "pnpm@11.3.0",
@@ -8,7 +8,7 @@
8
8
  "build": "rbxtsc",
9
9
  "watch": "rbxtsc -w",
10
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/density.check.mjs && node --experimental-strip-types scripts/contrast.check.mjs && node --experimental-strip-types scripts/primitives.check.mjs && node --experimental-strip-types scripts/paper.check.mjs && node --experimental-strip-types scripts/list-item.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/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-motion.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/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/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/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/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",
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/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 --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/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-motion.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/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/box.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/switch.check.mjs && node --experimental-strip-types scripts/tabs.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/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",
12
12
  "prepublishOnly": "pnpm build"
13
13
  },
14
14
  "keywords": [