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

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 (278) hide show
  1. package/out/theme/styles/utilities/focusRing.d.ts +5 -0
  2. package/out/theme/styles/utilities/focusRing.luau +11 -0
  3. package/out/theme/styles/utilities/index.d.ts +1 -0
  4. package/out/theme/styles/utilities/init.luau +1 -0
  5. package/out/theme/styles/utilities/resolveSx.d.ts +6 -1
  6. package/out/theme/styles/utilities/resolveSx.luau +53 -12
  7. package/out/ui/packages/accordion/components/Accordion.d.ts +1 -0
  8. package/out/ui/packages/accordion/components/Accordion.luau +55 -19
  9. package/out/ui/packages/accordion/components/Accordion.styles.luau +49 -29
  10. package/out/ui/packages/accordion/components/accordionNote.d.ts +2 -0
  11. package/out/ui/packages/accordion/components/accordionNote.luau +11 -0
  12. package/out/ui/packages/alert/components/Alert.d.ts +2 -0
  13. package/out/ui/packages/alert/components/Alert.luau +24 -1
  14. package/out/ui/packages/alert/components/Alert.styles.luau +11 -0
  15. package/out/ui/packages/alert/components/alertAction.d.ts +2 -0
  16. package/out/ui/packages/alert/components/alertAction.luau +11 -0
  17. package/out/ui/packages/appBar/components/AppBar.d.ts +1 -0
  18. package/out/ui/packages/appBar/components/AppBar.luau +59 -15
  19. package/out/ui/packages/appBar/components/AppBar.styles.luau +24 -0
  20. package/out/ui/packages/appBar/components/appBarSubtitle.d.ts +2 -0
  21. package/out/ui/packages/appBar/components/appBarSubtitle.luau +11 -0
  22. package/out/ui/packages/avatarGroup/components/AvatarGroup.d.ts +14 -0
  23. package/out/ui/packages/avatarGroup/components/AvatarGroup.luau +102 -0
  24. package/out/ui/packages/avatarGroup/components/AvatarGroup.styles.d.ts +6 -0
  25. package/out/ui/packages/avatarGroup/components/AvatarGroup.styles.luau +50 -0
  26. package/out/ui/packages/avatarGroup/components/avatarGroupCut.d.ts +2 -0
  27. package/out/ui/packages/avatarGroup/components/avatarGroupCut.luau +11 -0
  28. package/out/ui/packages/avatarGroup/index.d.ts +3 -0
  29. package/out/ui/packages/avatarGroup/init.luau +6 -0
  30. package/out/ui/packages/bottomNavigation/components/BottomNavigation.d.ts +4 -1
  31. package/out/ui/packages/bottomNavigation/components/BottomNavigation.luau +19 -1
  32. package/out/ui/packages/bottomNavigation/components/BottomNavigation.styles.luau +20 -0
  33. package/out/ui/packages/bottomNavigation/components/navBadge.d.ts +2 -0
  34. package/out/ui/packages/bottomNavigation/components/navBadge.luau +14 -0
  35. package/out/ui/packages/bottomNavigation/index.d.ts +1 -1
  36. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.luau +16 -5
  37. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.styles.luau +6 -0
  38. package/out/ui/packages/breadcrumbs/components/breadcrumbItems.d.ts +2 -0
  39. package/out/ui/packages/breadcrumbs/components/breadcrumbItems.luau +8 -0
  40. package/out/ui/packages/button/components/Button.d.ts +2 -0
  41. package/out/ui/packages/button/components/Button.luau +59 -10
  42. package/out/ui/packages/button/components/Button.styles.luau +2 -0
  43. package/out/ui/packages/button/components/buttonLook.d.ts +2 -0
  44. package/out/ui/packages/button/components/buttonLook.luau +11 -0
  45. package/out/ui/packages/buttonGroup/components/ButtonGroup.d.ts +13 -0
  46. package/out/ui/packages/buttonGroup/components/ButtonGroup.luau +102 -0
  47. package/out/ui/packages/buttonGroup/components/ButtonGroup.styles.d.ts +5 -0
  48. package/out/ui/packages/buttonGroup/components/ButtonGroup.styles.luau +57 -0
  49. package/out/ui/packages/buttonGroup/components/buttonGroupEdge.d.ts +2 -0
  50. package/out/ui/packages/buttonGroup/components/buttonGroupEdge.luau +16 -0
  51. package/out/ui/packages/buttonGroup/index.d.ts +3 -0
  52. package/out/ui/packages/buttonGroup/init.luau +6 -0
  53. package/out/ui/packages/card/components/Card.d.ts +1 -0
  54. package/out/ui/packages/card/components/Card.luau +21 -2
  55. package/out/ui/packages/card/components/Card.styles.d.ts +3 -1
  56. package/out/ui/packages/card/components/Card.styles.luau +16 -7
  57. package/out/ui/packages/card/components/cardWidth.d.ts +10 -0
  58. package/out/ui/packages/card/components/cardWidth.luau +36 -0
  59. package/out/ui/packages/cframeEditor/components/CFrameEditor.luau +9 -4
  60. package/out/ui/packages/cframeEditor/components/CFrameEditor.styles.luau +10 -1
  61. package/out/ui/packages/cframeEditor/components/cframeValue.d.ts +1 -0
  62. package/out/ui/packages/cframeEditor/components/cframeValue.luau +13 -0
  63. package/out/ui/packages/checkbox/components/Checkbox.luau +2 -1
  64. package/out/ui/packages/checkbox/components/Checkbox.styles.luau +2 -0
  65. package/out/ui/packages/chip/components/Chip.styles.d.ts +2 -1
  66. package/out/ui/packages/chip/components/Chip.styles.luau +9 -6
  67. package/out/ui/packages/chip/components/chipTone.d.ts +3 -0
  68. package/out/ui/packages/chip/components/chipTone.luau +11 -0
  69. package/out/ui/packages/collapse/components/Collapse.d.ts +8 -0
  70. package/out/ui/packages/collapse/components/Collapse.luau +34 -0
  71. package/out/ui/packages/collapse/components/Collapse.styles.d.ts +2 -0
  72. package/out/ui/packages/collapse/components/Collapse.styles.luau +20 -0
  73. package/out/ui/packages/collapse/components/collapseOpen.d.ts +1 -0
  74. package/out/ui/packages/collapse/components/collapseOpen.luau +7 -0
  75. package/out/ui/packages/collapse/index.d.ts +3 -0
  76. package/out/ui/packages/collapse/init.luau +6 -0
  77. package/out/ui/packages/colorPicker/components/ColorSequenceEditor.luau +4 -2
  78. package/out/ui/packages/colorPicker/components/NumberSequenceEditor.luau +4 -2
  79. package/out/ui/packages/colorPicker/components/sequenceValue.d.ts +2 -0
  80. package/out/ui/packages/colorPicker/components/sequenceValue.luau +8 -0
  81. package/out/ui/packages/colorPicker/index.d.ts +1 -1
  82. package/out/ui/packages/colorPicker/init.luau +2 -0
  83. package/out/ui/packages/copyButton/components/CopyButton.d.ts +8 -0
  84. package/out/ui/packages/copyButton/components/CopyButton.luau +32 -0
  85. package/out/ui/packages/copyButton/components/copyInvoke.d.ts +2 -0
  86. package/out/ui/packages/copyButton/components/copyInvoke.luau +12 -0
  87. package/out/ui/packages/copyButton/index.d.ts +3 -0
  88. package/out/ui/packages/copyButton/init.luau +6 -0
  89. package/out/ui/packages/cover/components/Cover.d.ts +8 -0
  90. package/out/ui/packages/cover/components/Cover.luau +47 -0
  91. package/out/ui/packages/cover/components/coverFill.d.ts +2 -0
  92. package/out/ui/packages/cover/components/coverFill.luau +14 -0
  93. package/out/ui/packages/cover/index.d.ts +3 -0
  94. package/out/ui/packages/cover/init.luau +6 -0
  95. package/out/ui/packages/dateRange/components/DateRangePicker.d.ts +3 -0
  96. package/out/ui/packages/dateRange/components/DateRangePicker.luau +167 -88
  97. package/out/ui/packages/dateRange/dateRangeValue.d.ts +5 -0
  98. package/out/ui/packages/dateRange/dateRangeValue.luau +34 -0
  99. package/out/ui/packages/dateRange/index.d.ts +1 -1
  100. package/out/ui/packages/dateRange/init.luau +3 -0
  101. package/out/ui/packages/dialog/components/Dialog.d.ts +1 -0
  102. package/out/ui/packages/dialog/components/Dialog.luau +55 -6
  103. package/out/ui/packages/dialog/components/Dialog.styles.luau +5 -3
  104. package/out/ui/packages/dialog/components/dialogWidth.d.ts +7 -0
  105. package/out/ui/packages/dialog/components/dialogWidth.luau +35 -0
  106. package/out/ui/packages/divider/components/Divider.luau +57 -12
  107. package/out/ui/packages/divider/components/dividerLabel.d.ts +2 -0
  108. package/out/ui/packages/divider/components/dividerLabel.luau +11 -0
  109. package/out/ui/packages/drawer/components/Drawer.d.ts +1 -0
  110. package/out/ui/packages/drawer/components/Drawer.luau +18 -3
  111. package/out/ui/packages/drawer/components/drawerPlacement.d.ts +13 -1
  112. package/out/ui/packages/drawer/components/drawerPlacement.luau +28 -0
  113. package/out/ui/packages/fab/components/fabSize.d.ts +1 -1
  114. package/out/ui/packages/iconButton/components/IconButton.d.ts +2 -0
  115. package/out/ui/packages/iconButton/components/IconButton.luau +37 -3
  116. package/out/ui/packages/iconButton/components/transportGlyph.d.ts +9 -0
  117. package/out/ui/packages/iconButton/components/transportGlyph.luau +73 -0
  118. package/out/ui/packages/imageList/components/ImageList.d.ts +4 -0
  119. package/out/ui/packages/imageList/components/ImageList.luau +57 -11
  120. package/out/ui/packages/imageList/components/ImageList.styles.d.ts +1 -0
  121. package/out/ui/packages/imageList/components/ImageList.styles.luau +16 -10
  122. package/out/ui/packages/imageList/components/imageListLayout.d.ts +10 -0
  123. package/out/ui/packages/imageList/components/imageListLayout.luau +44 -0
  124. package/out/ui/packages/index.d.ts +11 -0
  125. package/out/ui/packages/init.luau +33 -0
  126. package/out/ui/packages/input/components/Input.d.ts +4 -0
  127. package/out/ui/packages/input/components/Input.luau +29 -9
  128. package/out/ui/packages/input/components/Input.styles.d.ts +1 -0
  129. package/out/ui/packages/input/components/Input.styles.luau +42 -12
  130. package/out/ui/packages/input/components/clampText.d.ts +2 -0
  131. package/out/ui/packages/input/components/clampText.luau +16 -0
  132. package/out/ui/packages/input/components/multilineHeight.d.ts +1 -0
  133. package/out/ui/packages/input/components/multilineHeight.luau +11 -0
  134. package/out/ui/packages/link/components/Link.luau +13 -9
  135. package/out/ui/packages/link/components/Link.styles.d.ts +0 -1
  136. package/out/ui/packages/link/components/Link.styles.luau +1 -12
  137. package/out/ui/packages/listItem/components/ListItem.d.ts +6 -0
  138. package/out/ui/packages/listItem/components/ListItem.luau +97 -39
  139. package/out/ui/packages/listItem/components/ListItem.styles.d.ts +3 -0
  140. package/out/ui/packages/listItem/components/ListItem.styles.luau +52 -30
  141. package/out/ui/packages/listItem/components/listItemInk.d.ts +3 -0
  142. package/out/ui/packages/listItem/components/listItemInk.luau +14 -0
  143. package/out/ui/packages/listItem/components/listItemLayout.d.ts +12 -0
  144. package/out/ui/packages/listItem/components/listItemLayout.luau +41 -0
  145. package/out/ui/packages/markdown/components/Markdown.d.ts +2 -0
  146. package/out/ui/packages/markdown/components/Markdown.luau +91 -6
  147. package/out/ui/packages/markdown/components/Markdown.styles.luau +25 -0
  148. package/out/ui/packages/markdown/index.d.ts +2 -2
  149. package/out/ui/packages/markdown/init.luau +2 -0
  150. package/out/ui/packages/markdown/parseMarkdown.d.ts +21 -1
  151. package/out/ui/packages/markdown/parseMarkdown.luau +109 -2
  152. package/out/ui/packages/menu/components/Menu.d.ts +3 -0
  153. package/out/ui/packages/menu/components/Menu.luau +68 -21
  154. package/out/ui/packages/menu/components/menuIcon.d.ts +6 -0
  155. package/out/ui/packages/menu/components/menuIcon.luau +32 -0
  156. package/out/ui/packages/numberInput/components/NumberInput.d.ts +1 -0
  157. package/out/ui/packages/numberInput/components/NumberInput.luau +67 -1
  158. package/out/ui/packages/numberInput/components/numberValue.d.ts +2 -0
  159. package/out/ui/packages/numberInput/components/numberValue.luau +10 -0
  160. package/out/ui/packages/pager/components/Pager.d.ts +11 -0
  161. package/out/ui/packages/pager/components/Pager.luau +112 -0
  162. package/out/ui/packages/pager/components/Pager.styles.d.ts +2 -0
  163. package/out/ui/packages/pager/components/Pager.styles.luau +61 -0
  164. package/out/ui/packages/pager/components/pagerStep.d.ts +3 -0
  165. package/out/ui/packages/pager/components/pagerStep.luau +24 -0
  166. package/out/ui/packages/pager/index.d.ts +3 -0
  167. package/out/ui/packages/pager/init.luau +9 -0
  168. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.luau +5 -0
  169. package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.d.ts +5 -0
  170. package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.luau +22 -0
  171. package/out/ui/packages/popover/components/Popover.d.ts +12 -0
  172. package/out/ui/packages/popover/components/Popover.luau +50 -0
  173. package/out/ui/packages/popover/components/Popover.styles.d.ts +2 -0
  174. package/out/ui/packages/popover/components/Popover.styles.luau +26 -0
  175. package/out/ui/packages/popover/index.d.ts +2 -0
  176. package/out/ui/packages/popover/init.luau +5 -0
  177. package/out/ui/packages/radioGroup/components/RadioGroup.d.ts +4 -1
  178. package/out/ui/packages/radioGroup/components/RadioGroup.luau +51 -8
  179. package/out/ui/packages/radioGroup/components/RadioGroup.styles.luau +26 -2
  180. package/out/ui/packages/radioGroup/components/radioHint.d.ts +2 -0
  181. package/out/ui/packages/radioGroup/components/radioHint.luau +11 -0
  182. package/out/ui/packages/radioGroup/index.d.ts +1 -1
  183. package/out/ui/packages/rating/components/Rating.d.ts +1 -1
  184. package/out/ui/packages/rating/components/Rating.luau +4 -2
  185. package/out/ui/packages/rating/components/ratingCommit.d.ts +2 -0
  186. package/out/ui/packages/rating/components/ratingCommit.luau +11 -0
  187. package/out/ui/packages/scroll/components/ScrollView.luau +76 -7
  188. package/out/ui/packages/select/components/Select.luau +18 -1
  189. package/out/ui/packages/select/components/Select.styles.luau +2 -5
  190. package/out/ui/packages/select/components/selectWidth.d.ts +2 -0
  191. package/out/ui/packages/select/components/selectWidth.luau +15 -0
  192. package/out/ui/packages/shadow/components/Shadow.luau +14 -2
  193. package/out/ui/packages/slider/components/RangeSlider.d.ts +16 -0
  194. package/out/ui/packages/slider/components/RangeSlider.luau +231 -0
  195. package/out/ui/packages/slider/components/RangeSlider.styles.d.ts +7 -0
  196. package/out/ui/packages/slider/components/RangeSlider.styles.luau +48 -0
  197. package/out/ui/packages/slider/components/Slider.d.ts +1 -0
  198. package/out/ui/packages/slider/components/Slider.luau +44 -11
  199. package/out/ui/packages/slider/components/Slider.styles.d.ts +1 -0
  200. package/out/ui/packages/slider/components/Slider.styles.luau +19 -5
  201. package/out/ui/packages/slider/components/rangeValue.d.ts +21 -0
  202. package/out/ui/packages/slider/components/rangeValue.luau +77 -0
  203. package/out/ui/packages/slider/components/sliderLabel.d.ts +4 -0
  204. package/out/ui/packages/slider/components/sliderLabel.luau +30 -0
  205. package/out/ui/packages/slider/index.d.ts +3 -0
  206. package/out/ui/packages/slider/init.luau +6 -0
  207. package/out/ui/packages/snackbar/components/Snackbar.d.ts +1 -0
  208. package/out/ui/packages/snackbar/components/Snackbar.luau +2 -0
  209. package/out/ui/packages/sparkline/components/Sparkline.d.ts +3 -0
  210. package/out/ui/packages/sparkline/components/Sparkline.luau +69 -7
  211. package/out/ui/packages/sparkline/index.d.ts +1 -1
  212. package/out/ui/packages/sparkline/init.luau +6 -1
  213. package/out/ui/packages/sparkline/sparklineLayout.d.ts +17 -0
  214. package/out/ui/packages/sparkline/sparklineLayout.luau +132 -8
  215. package/out/ui/packages/speedDial/components/SpeedDial.d.ts +1 -0
  216. package/out/ui/packages/speedDial/components/SpeedDial.luau +56 -9
  217. package/out/ui/packages/speedDial/components/SpeedDial.styles.d.ts +1 -0
  218. package/out/ui/packages/speedDial/components/SpeedDial.styles.luau +45 -3
  219. package/out/ui/packages/speedDial/components/speedDialLabel.d.ts +4 -0
  220. package/out/ui/packages/speedDial/components/speedDialLabel.luau +16 -0
  221. package/out/ui/packages/stateMatrix.d.ts +1 -0
  222. package/out/ui/packages/stateMatrix.luau +9 -0
  223. package/out/ui/packages/stepper/components/Stepper.d.ts +2 -0
  224. package/out/ui/packages/stepper/components/Stepper.luau +35 -7
  225. package/out/ui/packages/stepper/components/Stepper.styles.luau +3 -0
  226. package/out/ui/packages/stepper/components/stepState.d.ts +4 -2
  227. package/out/ui/packages/stepper/components/stepState.luau +12 -1
  228. package/out/ui/packages/stepper/index.d.ts +1 -1
  229. package/out/ui/packages/stepper/init.luau +3 -1
  230. package/out/ui/packages/switch/components/Switch.styles.luau +2 -5
  231. package/out/ui/packages/table/components/Table.luau +8 -5
  232. package/out/ui/packages/table/components/tableSort.d.ts +2 -0
  233. package/out/ui/packages/table/components/tableSort.luau +95 -0
  234. package/out/ui/packages/table/index.d.ts +1 -0
  235. package/out/ui/packages/table/init.luau +1 -0
  236. package/out/ui/packages/tabs/components/Tabs.luau +70 -2
  237. package/out/ui/packages/tabs/components/tabScroll.d.ts +2 -0
  238. package/out/ui/packages/tabs/components/tabScroll.luau +18 -0
  239. package/out/ui/packages/text/components/Text.d.ts +7 -0
  240. package/out/ui/packages/text/components/Text.luau +54 -0
  241. package/out/ui/packages/text/components/textBox.d.ts +12 -0
  242. package/out/ui/packages/text/components/textBox.luau +21 -0
  243. package/out/ui/packages/text/index.d.ts +2 -0
  244. package/out/ui/packages/text/init.luau +5 -0
  245. package/out/ui/packages/timeField/components/TimeField.d.ts +13 -0
  246. package/out/ui/packages/timeField/components/TimeField.luau +102 -0
  247. package/out/ui/packages/timeField/index.d.ts +4 -0
  248. package/out/ui/packages/timeField/init.luau +9 -0
  249. package/out/ui/packages/timeField/timeValue.d.ts +8 -0
  250. package/out/ui/packages/timeField/timeValue.luau +49 -0
  251. package/out/ui/packages/timeline/components/Timeline.d.ts +12 -0
  252. package/out/ui/packages/timeline/components/Timeline.luau +99 -0
  253. package/out/ui/packages/timeline/components/Timeline.styles.d.ts +2 -0
  254. package/out/ui/packages/timeline/components/Timeline.styles.luau +106 -0
  255. package/out/ui/packages/timeline/components/timelineRail.d.ts +4 -0
  256. package/out/ui/packages/timeline/components/timelineRail.luau +15 -0
  257. package/out/ui/packages/timeline/index.d.ts +3 -0
  258. package/out/ui/packages/timeline/init.luau +8 -0
  259. package/out/ui/packages/toast/components/Toast.d.ts +1 -0
  260. package/out/ui/packages/toast/components/Toast.luau +59 -12
  261. package/out/ui/packages/toast/components/Toast.styles.luau +6 -3
  262. package/out/ui/packages/toast/components/toastPlace.d.ts +12 -0
  263. package/out/ui/packages/toast/components/toastPlace.luau +31 -0
  264. package/out/ui/packages/tooltip/components/Tooltip.d.ts +1 -0
  265. package/out/ui/packages/tooltip/components/Tooltip.luau +109 -31
  266. package/out/ui/packages/tooltip/components/Tooltip.styles.luau +30 -0
  267. package/out/ui/packages/tooltip/components/tooltipBox.d.ts +4 -0
  268. package/out/ui/packages/tooltip/components/tooltipBox.luau +12 -0
  269. package/out/ui/packages/tooltip/components/tooltipPointer.d.ts +2 -0
  270. package/out/ui/packages/tooltip/components/tooltipPointer.luau +11 -0
  271. package/out/ui/packages/vectorEditor/components/VectorEditor.luau +1 -0
  272. package/out/ui/packages/weekGrid/components/WeekGrid.d.ts +24 -0
  273. package/out/ui/packages/weekGrid/components/WeekGrid.luau +187 -0
  274. package/out/ui/packages/weekGrid/components/weekColumns.d.ts +9 -0
  275. package/out/ui/packages/weekGrid/components/weekColumns.luau +25 -0
  276. package/out/ui/packages/weekGrid/index.d.ts +3 -0
  277. package/out/ui/packages/weekGrid/init.luau +8 -0
  278. package/package.json +67 -69
@@ -0,0 +1,102 @@
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 SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
6
+ local buttonGroupEdge = TS.import(script, script.Parent, "buttonGroupEdge").buttonGroupEdge
7
+ local useButtonGroupStyles = TS.import(script, script.Parent, "ButtonGroup.styles").default
8
+ local function ButtonGroup(props)
9
+ local _binding = props
10
+ local items = _binding.items
11
+ local onItem = _binding.onItem
12
+ local disabled = _binding.disabled
13
+ local size = _binding.size
14
+ local className = _binding.className
15
+ local sx = _binding.sx
16
+ local id = _binding.id
17
+ local ref = _binding.ref
18
+ local styles = useButtonGroupStyles({
19
+ size = size,
20
+ })
21
+ local count = #items
22
+ local groupOff = disabled == true
23
+ local _attributes = {
24
+ tag = "frame",
25
+ }
26
+ local _condition = id
27
+ if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
28
+ _condition = "ButtonGroup"
29
+ end
30
+ _attributes.key = _condition
31
+ _attributes.hostRef = ref
32
+ _attributes.base = styles.root
33
+ _attributes.className = className
34
+ _attributes.sx = sx
35
+ _attributes.state = {
36
+ disabled = groupOff,
37
+ }
38
+ local _attributes_1 = table.clone(styles.corner)
39
+ setmetatable(_attributes_1, nil)
40
+ local _exp = React.createElement("uicorner", _attributes_1)
41
+ local _attributes_2 = table.clone(styles.stroke)
42
+ setmetatable(_attributes_2, nil)
43
+ local _exp_1 = React.createElement("uistroke", _attributes_2)
44
+ local _attributes_3 = table.clone(styles.list)
45
+ setmetatable(_attributes_3, nil)
46
+ local _exp_2 = React.createElement("uilistlayout", _attributes_3)
47
+ -- ▼ ReadonlyArray.map ▼
48
+ local _newValue = table.create(#items)
49
+ local _callback = function(item, index)
50
+ local off = groupOff or item.disabled == true
51
+ local active = canActivate(off)
52
+ local edge = buttonGroupEdge(index, count)
53
+ local rule = edge == "start" or edge == "middle"
54
+ local _attributes_4 = {
55
+ key = `{item.label}-{index}`,
56
+ }
57
+ for _k, _v in styles.item do
58
+ _attributes_4[_k] = _v
59
+ end
60
+ _attributes_4.Text = item.label
61
+ _attributes_4.TextTransparency = if off then 0.5 else 0
62
+ _attributes_4.Active = active
63
+ _attributes_4.Selectable = active
64
+ _attributes_4.LayoutOrder = index * 2
65
+ _attributes_4.Event = {
66
+ Activated = function()
67
+ if active then
68
+ local _result = onItem
69
+ if _result ~= nil then
70
+ _result(index)
71
+ end
72
+ end
73
+ end,
74
+ }
75
+ local _attributes_5 = table.clone(styles.pad)
76
+ setmetatable(_attributes_5, nil)
77
+ local _exp_3 = React.createElement("textbutton", _attributes_4, React.createElement("uipadding", _attributes_5))
78
+ local _result
79
+ if rule then
80
+ local _attributes_6 = {
81
+ key = `Rule-{index}`,
82
+ }
83
+ for _k, _v in styles.rule do
84
+ _attributes_6[_k] = _v
85
+ end
86
+ _attributes_6.LayoutOrder = index * 2 + 1
87
+ _result = React.createElement("frame", _attributes_6)
88
+ else
89
+ _result = nil
90
+ end
91
+ return React.createElement(React.Fragment, nil, _exp_3, _result)
92
+ end
93
+ for _k, _v in items do
94
+ _newValue[_k] = _callback(_v, _k - 1, items)
95
+ end
96
+ -- ▲ ReadonlyArray.map ▲
97
+ return React.createElement(SxHost, _attributes, _exp, _exp_1, _exp_2, React.createElement(React.Fragment, nil, _newValue))
98
+ end
99
+ local default = ButtonGroup
100
+ return {
101
+ default = default,
102
+ }
@@ -0,0 +1,5 @@
1
+ import { ControlSize } from "../../../../theme/index";
2
+ declare const useButtonGroupStyles: (props: {
3
+ size?: ControlSize;
4
+ }) => import("../../../../theme/index").ClassNameMap<string>;
5
+ export default useButtonGroupStyles;
@@ -0,0 +1,57 @@
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 controlMetrics = _theme.controlMetrics
6
+ local createStyles = _theme.createStyles
7
+ local useButtonGroupStyles = componentStyles("ButtonGroup", function(theme, _param)
8
+ local size = _param.size
9
+ local metrics = controlMetrics(theme.density, size)
10
+ local button = theme.typography.variants.button
11
+ return createStyles({
12
+ root = {
13
+ AutomaticSize = Enum.AutomaticSize.XY,
14
+ Size = UDim2.fromScale(0, 0),
15
+ BackgroundColor3 = theme.palette.surface.paper,
16
+ BorderSizePixel = 0,
17
+ ClipsDescendants = true,
18
+ },
19
+ list = {
20
+ FillDirection = Enum.FillDirection.Horizontal,
21
+ VerticalAlignment = Enum.VerticalAlignment.Center,
22
+ SortOrder = Enum.SortOrder.LayoutOrder,
23
+ Padding = UDim.new(0, 0),
24
+ },
25
+ corner = {
26
+ CornerRadius = UDim.new(0, theme.shape.borderRadius),
27
+ },
28
+ stroke = {
29
+ Color = theme.palette.border,
30
+ Thickness = 1,
31
+ ApplyStrokeMode = Enum.ApplyStrokeMode.Border,
32
+ },
33
+ item = {
34
+ AutomaticSize = Enum.AutomaticSize.X,
35
+ Size = UDim2.new(0, 0, 0, metrics.buttonHeight),
36
+ BackgroundTransparency = 1,
37
+ BorderSizePixel = 0,
38
+ AutoButtonColor = false,
39
+ Font = theme.typography.fontFamilies[button.family],
40
+ TextSize = button.size,
41
+ TextColor3 = theme.palette.text.primary,
42
+ },
43
+ pad = {
44
+ PaddingLeft = UDim.new(0, theme.padding.calc(2)),
45
+ PaddingRight = UDim.new(0, theme.padding.calc(2)),
46
+ },
47
+ rule = {
48
+ Size = UDim2.new(0, 1, 0, metrics.buttonHeight),
49
+ BackgroundColor3 = theme.palette.border,
50
+ BorderSizePixel = 0,
51
+ },
52
+ })
53
+ end)
54
+ local default = useButtonGroupStyles
55
+ return {
56
+ default = default,
57
+ }
@@ -0,0 +1,2 @@
1
+ export type ButtonGroupEdge = "only" | "start" | "middle" | "end";
2
+ export declare function buttonGroupEdge(index: number, count: number): ButtonGroupEdge;
@@ -0,0 +1,16 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local function buttonGroupEdge(index, count)
3
+ if count <= 1 or index < 0 then
4
+ return "only"
5
+ end
6
+ if index == 0 then
7
+ return "start"
8
+ end
9
+ if index >= count - 1 then
10
+ return "end"
11
+ end
12
+ return "middle"
13
+ end
14
+ return {
15
+ buttonGroupEdge = buttonGroupEdge,
16
+ }
@@ -0,0 +1,3 @@
1
+ export { default as ButtonGroup } from "./components/ButtonGroup";
2
+ export { ButtonGroupItem, ButtonGroupProps } from "./components/ButtonGroup";
3
+ export { buttonGroupEdge, ButtonGroupEdge } from "./components/buttonGroupEdge";
@@ -0,0 +1,6 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local exports = {}
4
+ exports.ButtonGroup = TS.import(script, script, "components", "ButtonGroup").default
5
+ exports.buttonGroupEdge = TS.import(script, script, "components", "buttonGroupEdge").buttonGroupEdge
6
+ return exports
@@ -7,6 +7,7 @@ export interface CardProps {
7
7
  elevation?: PaperElevation;
8
8
  square?: boolean;
9
9
  actions?: React.ReactNode;
10
+ fullWidth?: boolean;
10
11
  children?: React.ReactNode;
11
12
  }
12
13
  declare function Card(props: CustomizedProps<Frame, CardProps>): JSX.Element;
@@ -13,12 +13,31 @@ local function Card(props)
13
13
  end
14
14
  local square = _binding.square
15
15
  local actions = _binding.actions
16
+ local fullWidth = _binding.fullWidth
16
17
  local children = _binding.children
17
18
  local className = _binding.className
18
19
  local sx = _binding.sx
19
20
  local id = _binding.id
20
21
  local ref = _binding.ref
21
- local styles = useCardStyles()
22
+ local styles = useCardStyles({
23
+ fullWidth = fullWidth,
24
+ })
25
+ local _result
26
+ if fullWidth == true then
27
+ local _object = {
28
+ Size = UDim2.new(1, 0, 0, 0),
29
+ AutomaticSize = Enum.AutomaticSize.Y,
30
+ }
31
+ if sx then
32
+ for _k, _v in sx do
33
+ _object[_k] = _v
34
+ end
35
+ end
36
+ _result = _object
37
+ else
38
+ _result = sx
39
+ end
40
+ local paperSx = _result
22
41
  local _attributes = {
23
42
  key = "Column",
24
43
  }
@@ -73,7 +92,7 @@ local function Card(props)
73
92
  elevation = elevation,
74
93
  square = square,
75
94
  className = className,
76
- sx = sx,
95
+ sx = paperSx,
77
96
  id = id,
78
97
  ref = ref,
79
98
  }, React.createElement("frame", _attributes, _exp, _condition, _condition_1, _exp_1, _condition_2))
@@ -1,2 +1,4 @@
1
- declare const useCardStyles: () => import("../../../../theme/index").ClassNameMap<string>;
1
+ declare const useCardStyles: (props: {
2
+ fullWidth?: boolean;
3
+ }) => import("../../../../theme/index").ClassNameMap<string>;
2
4
  export default useCardStyles;
@@ -3,11 +3,17 @@ local TS = _G[script]
3
3
  local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
4
4
  local componentStyles = _theme.componentStyles
5
5
  local createStyles = _theme.createStyles
6
- local useCardStyles = componentStyles("Card", function(theme)
6
+ local cardColumnWidth = TS.import(script, script.Parent, "cardWidth").cardColumnWidth
7
+ local useCardStyles = componentStyles("Card", function(theme, _param)
8
+ local fullWidth = _param.fullWidth
9
+ if fullWidth == nil then
10
+ fullWidth = false
11
+ end
12
+ local width = cardColumnWidth(fullWidth, theme.padding.calc(32))
7
13
  return createStyles({
8
14
  column = {
9
- AutomaticSize = Enum.AutomaticSize.XY,
10
- Size = UDim2.fromOffset(theme.padding.calc(32), 0),
15
+ AutomaticSize = Enum.AutomaticSize.Y,
16
+ Size = UDim2.new(width.scale, width.offset, 0, 0),
11
17
  BackgroundTransparency = 1,
12
18
  BorderSizePixel = 0,
13
19
  },
@@ -18,8 +24,9 @@ local useCardStyles = componentStyles("Card", function(theme)
18
24
  },
19
25
  title = {
20
26
  LayoutOrder = 1,
21
- AutomaticSize = Enum.AutomaticSize.XY,
22
- Size = UDim2.fromScale(0, 0),
27
+ AutomaticSize = Enum.AutomaticSize.Y,
28
+ Size = UDim2.new(1, 0, 0, 0),
29
+ TextWrapped = true,
23
30
  BackgroundTransparency = 1,
24
31
  BorderSizePixel = 0,
25
32
  Font = theme.typography.fontFamilies.default,
@@ -29,8 +36,9 @@ local useCardStyles = componentStyles("Card", function(theme)
29
36
  },
30
37
  subtitle = {
31
38
  LayoutOrder = 2,
32
- AutomaticSize = Enum.AutomaticSize.XY,
33
- Size = UDim2.fromScale(0, 0),
39
+ AutomaticSize = Enum.AutomaticSize.Y,
40
+ Size = UDim2.new(1, 0, 0, 0),
41
+ TextWrapped = true,
34
42
  BackgroundTransparency = 1,
35
43
  BorderSizePixel = 0,
36
44
  Font = theme.typography.fontFamilies.default,
@@ -57,6 +65,7 @@ local useCardStyles = componentStyles("Card", function(theme)
57
65
  HorizontalAlignment = Enum.HorizontalAlignment.Right,
58
66
  Padding = UDim.new(0, theme.padding.calc(1)),
59
67
  SortOrder = Enum.SortOrder.LayoutOrder,
68
+ Wraps = true,
60
69
  },
61
70
  })
62
71
  end)
@@ -0,0 +1,10 @@
1
+ export interface CardColumnWidth {
2
+ scale: number;
3
+ offset: number;
4
+ }
5
+ /** Fluid cards fill the parent. The default stays the fixed column. */
6
+ export declare function cardColumnWidth(fullWidth: boolean | undefined, fixed: number): CardColumnWidth;
7
+ /** A title wider than the column wraps. A short title stays one line. */
8
+ export declare function cardTitleWrap(textWidth: number, column: number): boolean;
9
+ /** Two small actions are wider than the fixed column, so the row wraps. */
10
+ export declare function cardActionWrap(column: number, button: number, count: number, gap?: number): boolean;
@@ -0,0 +1,36 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ --* Fluid cards fill the parent. The default stays the fixed column.
3
+ local function cardColumnWidth(fullWidth, fixed)
4
+ if fullWidth == true then
5
+ return {
6
+ scale = 1,
7
+ offset = 0,
8
+ }
9
+ end
10
+ return {
11
+ scale = 0,
12
+ offset = fixed,
13
+ }
14
+ end
15
+ --* A title wider than the column wraps. A short title stays one line.
16
+ local function cardTitleWrap(textWidth, column)
17
+ if column <= 0 then
18
+ return false
19
+ end
20
+ return textWidth > column
21
+ end
22
+ --* Two small actions are wider than the fixed column, so the row wraps.
23
+ local function cardActionWrap(column, button, count, gap)
24
+ if gap == nil then
25
+ gap = 0
26
+ end
27
+ if count < 2 or column <= 0 then
28
+ return false
29
+ end
30
+ return button * count + gap * (count - 1) > column
31
+ end
32
+ return {
33
+ cardColumnWidth = cardColumnWidth,
34
+ cardTitleWrap = cardTitleWrap,
35
+ cardActionWrap = cardActionWrap,
36
+ }
@@ -1,10 +1,13 @@
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 cx = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme").cx
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 useCFrameEditorStyles = TS.import(script, script.Parent, "CFrameEditor.styles").default
7
- local nextCFrameParts = TS.import(script, script.Parent, "cframeValue").nextCFrameParts
8
+ local _cframeValue = TS.import(script, script.Parent, "cframeValue")
9
+ local cframeAxis = _cframeValue.cframeAxis
10
+ local nextCFrameParts = _cframeValue.nextCFrameParts
8
11
  local POSITION = { "X", "Y", "Z" }
9
12
  local ORIENTATION = { "RX", "RY", "RZ" }
10
13
  local function CFrameEditor(props)
@@ -65,15 +68,17 @@ local function CFrameEditor(props)
65
68
  local _attributes_6 = table.clone(styles.row)
66
69
  setmetatable(_attributes_6, nil)
67
70
  local _exp_3 = React.createElement("uilistlayout", _attributes_6)
68
- local _attributes_7 = table.clone(styles.label)
71
+ local _attributes_7 = table.clone(cx(styles.label, if cframeAxis(field) == "X" then styles.labelX elseif cframeAxis(field) == "Y" then styles.labelY else styles.labelZ))
69
72
  setmetatable(_attributes_7, nil)
70
- _attributes_7.Text = field
73
+ _attributes_7.Text = cframeAxis(field)
71
74
  local _exp_4 = React.createElement("textlabel", _attributes_7)
72
75
  local _attributes_8 = table.clone(styles.field)
73
76
  setmetatable(_attributes_8, nil)
74
77
  return React.createElement("frame", _attributes_5, _exp_3, _exp_4, React.createElement("frame", _attributes_8, React.createElement(NumberInput, {
75
78
  value = amounts[offset + index + 1],
79
+ places = 3,
76
80
  disabled = disabled,
81
+ size = "small",
77
82
  width = UDim.new(1, 0),
78
83
  onChange = function(amount)
79
84
  return commit(field, amount)
@@ -103,7 +108,7 @@ local function CFrameEditor(props)
103
108
  }
104
109
  local _attributes_1 = table.clone(styles.wrap)
105
110
  setmetatable(_attributes_1, nil)
106
- return React.createElement(SxHost, _attributes, React.createElement("uilistlayout", _attributes_1), group("Position", POSITION, 1, 0), group("Orientation", ORIENTATION, 2, 3))
111
+ return React.createElement(SxHost, _attributes, React.createElement("uilistlayout", _attributes_1), group("Position", POSITION, 1, 0), group("Rotation (degrees)", ORIENTATION, 2, 3))
107
112
  end
108
113
  local default = CFrameEditor
109
114
  return {
@@ -46,11 +46,20 @@ local useCFrameEditorStyles = componentStyles("CFrameEditor", function(theme)
46
46
  label = {
47
47
  Size = UDim2.new(0, theme.spacing.calc(2.5), 1, 0),
48
48
  BackgroundTransparency = 1,
49
- Font = theme.typography.fontFamilies.default,
49
+ Font = theme.typography.fontFamilies.semibold,
50
50
  TextSize = theme.typography.fontSizes.button,
51
51
  TextColor3 = theme.palette.text.secondary,
52
52
  TextXAlignment = Enum.TextXAlignment.Left,
53
53
  },
54
+ labelX = {
55
+ TextColor3 = theme.palette.status.error.main,
56
+ },
57
+ labelY = {
58
+ TextColor3 = theme.palette.status.success.main,
59
+ },
60
+ labelZ = {
61
+ TextColor3 = theme.palette.status.info.main,
62
+ },
54
63
  field = {
55
64
  Size = UDim2.new(1, -theme.spacing.calc(2.5), 1, 0),
56
65
  BackgroundTransparency = 1,
@@ -1,3 +1,4 @@
1
1
  export type CFrameField = "X" | "Y" | "Z" | "RX" | "RY" | "RZ";
2
2
  export declare function cframeFields(): CFrameField[];
3
+ export declare function cframeAxis(field: CFrameField): "X" | "Y" | "Z";
3
4
  export declare function nextCFrameParts(x: number, y: number, z: number, rx: number, ry: number, rz: number, field: CFrameField, amount: number): number[];
@@ -3,6 +3,18 @@ local FIELDS = { "X", "Y", "Z", "RX", "RY", "RZ" }
3
3
  local function cframeFields()
4
4
  return FIELDS
5
5
  end
6
+ local function cframeAxis(field)
7
+ if field == "RX" then
8
+ return "X"
9
+ end
10
+ if field == "RY" then
11
+ return "Y"
12
+ end
13
+ if field == "RZ" then
14
+ return "Z"
15
+ end
16
+ return field
17
+ end
6
18
  local function nextCFrameParts(x, y, z, rx, ry, rz, field, amount)
7
19
  local parts = { x, y, z, rx, ry, rz }
8
20
  local index = if field == "X" then 0 elseif field == "Y" then 1 elseif field == "Z" then 2 elseif field == "RX" then 3 elseif field == "RY" then 4 else 5
@@ -11,5 +23,6 @@ local function nextCFrameParts(x, y, z, rx, ry, rz, field, amount)
11
23
  end
12
24
  return {
13
25
  cframeFields = cframeFields,
26
+ cframeAxis = cframeAxis,
14
27
  nextCFrameParts = nextCFrameParts,
15
28
  }
@@ -38,6 +38,7 @@ local function Checkbox(props)
38
38
  local fill = _binding_1.fill
39
39
  local activeStroke = _binding_1.activeStroke
40
40
  local idleStroke = _binding_1.idleStroke
41
+ local focus = _binding_1.focus
41
42
  local hovering, setHovering = useState(false)
42
43
  local pressed, setPressed = useState(false)
43
44
  local focused, setFocused = useState(false)
@@ -109,7 +110,7 @@ local function Checkbox(props)
109
110
  local _attributes_3 = table.clone(corner)
110
111
  setmetatable(_attributes_3, nil)
111
112
  local _exp_1 = React.createElement("uicorner", _attributes_3)
112
- local _attributes_4 = table.clone(cx(stroke, if filled or pointer == "focus" or pointer == "press" then activeStroke else idleStroke, {
113
+ local _attributes_4 = table.clone(cx(stroke, if pointer == "focus" then focus elseif filled or pointer == "press" then activeStroke else idleStroke, {
113
114
  Transparency = strokeTransparency,
114
115
  }))
115
116
  setmetatable(_attributes_4, nil)
@@ -4,6 +4,7 @@ local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "the
4
4
  local controlMetrics = _theme.controlMetrics
5
5
  local createStyles = _theme.createStyles
6
6
  local componentStyles = _theme.componentStyles
7
+ local focusRing = _theme.focusRing
7
8
  local useCheckboxStyles = componentStyles("Checkbox", function(theme, _param)
8
9
  local size = _param.size
9
10
  local metrics = controlMetrics(theme.density, size)
@@ -61,6 +62,7 @@ local useCheckboxStyles = componentStyles("Checkbox", function(theme, _param)
61
62
  idleStroke = {
62
63
  Color = theme.palette.text.secondary,
63
64
  },
65
+ focus = focusRing(theme.palette.focus),
64
66
  })
65
67
  end)
66
68
  local default = useCheckboxStyles
@@ -1,5 +1,6 @@
1
1
  import { ControlSize } from "../../../../theme/index";
2
- export type ChipColor = "default" | "primary";
2
+ import { ChipColor } from "./chipTone";
3
+ export type { ChipColor };
3
4
  declare const useChipStyles: (props: {
4
5
  selected?: boolean;
5
6
  disabled?: boolean;
@@ -4,6 +4,7 @@ local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "the
4
4
  local componentStyles = _theme.componentStyles
5
5
  local controlMetrics = _theme.controlMetrics
6
6
  local createStyles = _theme.createStyles
7
+ local chipTone = TS.import(script, script.Parent, "chipTone").chipTone
7
8
  local useChipStyles = componentStyles("Chip", function(theme, _param)
8
9
  local selected = _param.selected
9
10
  if selected == nil then
@@ -30,13 +31,15 @@ local useChipStyles = componentStyles("Chip", function(theme, _param)
30
31
  local padY = if size == "small" then 0.25 elseif size == "large" then 0.75 else 0.5
31
32
  local padX = if size == "small" then 1 elseif size == "large" then 2 else 1.5
32
33
  local deletePx = metrics.icon
33
- local primary = color == "primary"
34
- local ink = if disabled then theme.palette.text.disabled elseif primary then if variant == "outlined" then theme.palette.primary.main else theme.palette.primary.on else theme.palette.text.primary
34
+ local tone = chipTone(color)
35
+ local status = if tone == "success" then theme.palette.status.success elseif tone == "error" then theme.palette.status.error elseif tone == "primary" then theme.palette.primary else nil
36
+ local filledTone = status ~= nil and variant ~= "outlined"
37
+ local ink = if disabled then theme.palette.text.disabled elseif status == nil then theme.palette.text.primary elseif variant == "outlined" then status.main else status.on
35
38
  return createStyles({
36
39
  root = {
37
40
  AutomaticSize = Enum.AutomaticSize.XY,
38
41
  Size = UDim2.fromScale(0, 0),
39
- BackgroundColor3 = if primary and variant ~= "outlined" then theme.palette.primary.main elseif selected then theme.palette.action.selected else theme.palette.surface.input,
42
+ BackgroundColor3 = if filledTone and status ~= nil then status.main elseif selected then theme.palette.action.selected else theme.palette.surface.input,
40
43
  BackgroundTransparency = if variant == "outlined" and selected ~= true then 1 else 0,
41
44
  BorderSizePixel = 0,
42
45
  AutoButtonColor = false,
@@ -56,9 +59,9 @@ local useChipStyles = componentStyles("Chip", function(theme, _param)
56
59
  CornerRadius = UDim.new(theme.shape.pillScale, 0),
57
60
  },
58
61
  stroke = {
59
- Color = if primary then theme.palette.primary.main else theme.palette.border,
62
+ Color = if status ~= nil then status.main else theme.palette.border,
60
63
  ApplyStrokeMode = Enum.ApplyStrokeMode.Border,
61
- Transparency = if variant == "outlined" then (if disabled then 0.5 else 0) elseif primary or selected then 1 else 0,
64
+ Transparency = if variant == "outlined" then (if disabled then 0.5 else 0) elseif tone ~= "default" or selected then 1 else 0,
62
65
  },
63
66
  row = {
64
67
  FillDirection = Enum.FillDirection.Horizontal,
@@ -81,7 +84,7 @@ local useChipStyles = componentStyles("Chip", function(theme, _param)
81
84
  BackgroundTransparency = 1,
82
85
  BorderSizePixel = 0,
83
86
  AutoButtonColor = false,
84
- ImageColor3 = if disabled then theme.palette.text.disabled elseif primary and variant ~= "outlined" then theme.palette.primary.on else theme.palette.text.secondary,
87
+ ImageColor3 = if disabled then theme.palette.text.disabled elseif filledTone and status ~= nil then status.on else theme.palette.text.secondary,
85
88
  LayoutOrder = 2,
86
89
  },
87
90
  })
@@ -0,0 +1,3 @@
1
+ export type ChipColor = "default" | "primary" | "success" | "error";
2
+ /** Unknown colors stay the plain chip. Primary, success, and error keep their tone. */
3
+ export declare function chipTone(color?: ChipColor): ChipColor;
@@ -0,0 +1,11 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ --* Unknown colors stay the plain chip. Primary, success, and error keep their tone.
3
+ local function chipTone(color)
4
+ if color == "primary" or color == "success" or color == "error" then
5
+ return color
6
+ end
7
+ return "default"
8
+ end
9
+ return {
10
+ chipTone = chipTone,
11
+ }
@@ -0,0 +1,8 @@
1
+ import React from "@rbxts/react";
2
+ import { CustomizedProps } from "../../../../theme/index";
3
+ export interface CollapseProps {
4
+ open?: boolean;
5
+ children?: React.ReactNode;
6
+ }
7
+ declare function Collapse(props: CustomizedProps<Frame, CollapseProps>): JSX.Element;
8
+ export default Collapse;
@@ -0,0 +1,34 @@
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 SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
5
+ local collapseOpen = TS.import(script, script.Parent, "collapseOpen").collapseOpen
6
+ local useCollapseStyles = TS.import(script, script.Parent, "Collapse.styles").default
7
+ local function Collapse(props)
8
+ local _binding = props
9
+ local open = _binding.open
10
+ local children = _binding.children
11
+ local className = _binding.className
12
+ local sx = _binding.sx
13
+ local id = _binding.id
14
+ local ref = _binding.ref
15
+ local styles = useCollapseStyles()
16
+ local _attributes = {
17
+ tag = "frame",
18
+ }
19
+ local _condition = id
20
+ if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
21
+ _condition = "Collapse"
22
+ end
23
+ _attributes.key = _condition
24
+ _attributes.hostRef = ref
25
+ _attributes.base = styles.root
26
+ _attributes.className = className
27
+ _attributes.sx = sx
28
+ _attributes.Visible = collapseOpen(open)
29
+ return React.createElement(SxHost, _attributes, children)
30
+ end
31
+ local default = Collapse
32
+ return {
33
+ default = default,
34
+ }
@@ -0,0 +1,2 @@
1
+ declare const useCollapseStyles: () => import("../../../../theme/index").ClassNameMap<string>;
2
+ export default useCollapseStyles;
@@ -0,0 +1,20 @@
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 useCollapseStyles = componentStyles("Collapse", function(_theme)
7
+ return createStyles({
8
+ root = {
9
+ AutomaticSize = Enum.AutomaticSize.Y,
10
+ Size = UDim2.new(1, 0, 0, 0),
11
+ BackgroundTransparency = 1,
12
+ BorderSizePixel = 0,
13
+ ClipsDescendants = true,
14
+ },
15
+ })
16
+ end)
17
+ local default = useCollapseStyles
18
+ return {
19
+ default = default,
20
+ }
@@ -0,0 +1 @@
1
+ export declare function collapseOpen(open?: boolean): open is true;
@@ -0,0 +1,7 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local function collapseOpen(open)
3
+ return open == true
4
+ end
5
+ return {
6
+ collapseOpen = collapseOpen,
7
+ }
@@ -0,0 +1,3 @@
1
+ export { default as Collapse } from "./components/Collapse";
2
+ export { CollapseProps } from "./components/Collapse";
3
+ export { collapseOpen } from "./components/collapseOpen";