@rbxts/uiblox 0.2.0-alpha.36 → 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 (395) 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 +7 -0
  15. package/out/theme/styles/utilities/focusRing.luau +14 -0
  16. package/out/theme/styles/utilities/index.d.ts +1 -0
  17. package/out/theme/styles/utilities/init.luau +3 -0
  18. package/out/theme/styles/utilities/resolveSx.d.ts +6 -1
  19. package/out/theme/styles/utilities/resolveSx.luau +53 -12
  20. package/out/theme/themes/DarkTheme.luau +4 -0
  21. package/out/theme/themes/LightTheme.luau +4 -0
  22. package/out/theme/themes/createPalette.luau +15 -0
  23. package/out/ui/packages/accordion/components/Accordion.d.ts +1 -0
  24. package/out/ui/packages/accordion/components/Accordion.luau +112 -32
  25. package/out/ui/packages/accordion/components/Accordion.styles.luau +70 -32
  26. package/out/ui/packages/accordion/components/accordionNote.d.ts +2 -0
  27. package/out/ui/packages/accordion/components/accordionNote.luau +11 -0
  28. package/out/ui/packages/alert/components/Alert.d.ts +2 -0
  29. package/out/ui/packages/alert/components/Alert.luau +39 -12
  30. package/out/ui/packages/alert/components/Alert.styles.luau +44 -22
  31. package/out/ui/packages/alert/components/alertAction.d.ts +2 -0
  32. package/out/ui/packages/alert/components/alertAction.luau +11 -0
  33. package/out/ui/packages/appBar/components/AppBar.d.ts +1 -0
  34. package/out/ui/packages/appBar/components/AppBar.luau +88 -22
  35. package/out/ui/packages/appBar/components/AppBar.styles.luau +41 -11
  36. package/out/ui/packages/appBar/components/appBarSubtitle.d.ts +2 -0
  37. package/out/ui/packages/appBar/components/appBarSubtitle.luau +11 -0
  38. package/out/ui/packages/autocomplete/components/Autocomplete.luau +4 -0
  39. package/out/ui/packages/avatar/components/Avatar.d.ts +2 -0
  40. package/out/ui/packages/avatar/components/Avatar.luau +9 -2
  41. package/out/ui/packages/avatar/components/Avatar.styles.luau +7 -0
  42. package/out/ui/packages/avatarGroup/components/AvatarGroup.d.ts +14 -0
  43. package/out/ui/packages/avatarGroup/components/AvatarGroup.luau +107 -0
  44. package/out/ui/packages/avatarGroup/components/AvatarGroup.styles.d.ts +6 -0
  45. package/out/ui/packages/avatarGroup/components/AvatarGroup.styles.luau +55 -0
  46. package/out/ui/packages/avatarGroup/components/avatarGroupCut.d.ts +2 -0
  47. package/out/ui/packages/avatarGroup/components/avatarGroupCut.luau +11 -0
  48. package/out/ui/packages/avatarGroup/index.d.ts +3 -0
  49. package/out/ui/packages/avatarGroup/init.luau +6 -0
  50. package/out/ui/packages/badge/components/Badge.luau +14 -11
  51. package/out/ui/packages/badge/components/Badge.styles.luau +5 -1
  52. package/out/ui/packages/bottomNavigation/components/BottomNavigation.d.ts +4 -1
  53. package/out/ui/packages/bottomNavigation/components/BottomNavigation.luau +19 -1
  54. package/out/ui/packages/bottomNavigation/components/BottomNavigation.styles.luau +24 -3
  55. package/out/ui/packages/bottomNavigation/components/navBadge.d.ts +2 -0
  56. package/out/ui/packages/bottomNavigation/components/navBadge.luau +14 -0
  57. package/out/ui/packages/bottomNavigation/index.d.ts +1 -1
  58. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.luau +21 -6
  59. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.styles.luau +10 -0
  60. package/out/ui/packages/breadcrumbs/components/breadcrumbItems.d.ts +2 -0
  61. package/out/ui/packages/breadcrumbs/components/breadcrumbItems.luau +8 -0
  62. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.luau +20 -2
  63. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.styles.luau +72 -66
  64. package/out/ui/packages/button/components/Button.d.ts +2 -0
  65. package/out/ui/packages/button/components/Button.luau +112 -36
  66. package/out/ui/packages/button/components/Button.styles.luau +2 -0
  67. package/out/ui/packages/button/components/buttonLook.d.ts +2 -0
  68. package/out/ui/packages/button/components/buttonLook.luau +11 -0
  69. package/out/ui/packages/button/components/buttonPaint.d.ts +16 -0
  70. package/out/ui/packages/button/components/buttonPaint.luau +70 -0
  71. package/out/ui/packages/buttonGroup/components/ButtonGroup.d.ts +14 -0
  72. package/out/ui/packages/buttonGroup/components/ButtonGroup.luau +117 -0
  73. package/out/ui/packages/buttonGroup/components/ButtonGroup.styles.d.ts +5 -0
  74. package/out/ui/packages/buttonGroup/components/ButtonGroup.styles.luau +57 -0
  75. package/out/ui/packages/buttonGroup/components/buttonGroupEdge.d.ts +2 -0
  76. package/out/ui/packages/buttonGroup/components/buttonGroupEdge.luau +16 -0
  77. package/out/ui/packages/buttonGroup/index.d.ts +3 -0
  78. package/out/ui/packages/buttonGroup/init.luau +6 -0
  79. package/out/ui/packages/card/components/Card.d.ts +1 -0
  80. package/out/ui/packages/card/components/Card.luau +21 -2
  81. package/out/ui/packages/card/components/Card.styles.d.ts +3 -1
  82. package/out/ui/packages/card/components/Card.styles.luau +20 -9
  83. package/out/ui/packages/card/components/cardWidth.d.ts +10 -0
  84. package/out/ui/packages/card/components/cardWidth.luau +36 -0
  85. package/out/ui/packages/cframeEditor/components/CFrameEditor.luau +18 -5
  86. package/out/ui/packages/cframeEditor/components/CFrameEditor.styles.luau +50 -32
  87. package/out/ui/packages/cframeEditor/components/cframeValue.d.ts +1 -0
  88. package/out/ui/packages/cframeEditor/components/cframeValue.luau +13 -0
  89. package/out/ui/packages/checkbox/components/Checkbox.luau +7 -5
  90. package/out/ui/packages/checkbox/components/Checkbox.styles.luau +2 -0
  91. package/out/ui/packages/checkbox/components/checkboxLook.d.ts +2 -2
  92. package/out/ui/packages/checkbox/components/checkboxLook.luau +2 -2
  93. package/out/ui/packages/chip/components/Chip.luau +16 -14
  94. package/out/ui/packages/chip/components/Chip.styles.d.ts +2 -1
  95. package/out/ui/packages/chip/components/Chip.styles.luau +15 -9
  96. package/out/ui/packages/chip/components/chipTone.d.ts +3 -0
  97. package/out/ui/packages/chip/components/chipTone.luau +11 -0
  98. package/out/ui/packages/circularProgress/components/CircularProgress.luau +10 -3
  99. package/out/ui/packages/codeEditor/components/CodeEditor.d.ts +12 -0
  100. package/out/ui/packages/codeEditor/components/CodeEditor.luau +262 -0
  101. package/out/ui/packages/codeEditor/components/CodeEditor.styles.d.ts +6 -0
  102. package/out/ui/packages/codeEditor/components/CodeEditor.styles.luau +124 -0
  103. package/out/ui/packages/codeEditor/highlightCode.d.ts +11 -0
  104. package/out/ui/packages/codeEditor/highlightCode.luau +503 -0
  105. package/out/ui/packages/codeEditor/index.d.ts +2 -0
  106. package/out/ui/packages/codeEditor/init.luau +5 -0
  107. package/out/ui/packages/collapse/components/Collapse.d.ts +8 -0
  108. package/out/ui/packages/collapse/components/Collapse.luau +34 -0
  109. package/out/ui/packages/collapse/components/Collapse.styles.d.ts +2 -0
  110. package/out/ui/packages/collapse/components/Collapse.styles.luau +20 -0
  111. package/out/ui/packages/collapse/components/collapseOpen.d.ts +1 -0
  112. package/out/ui/packages/collapse/components/collapseOpen.luau +7 -0
  113. package/out/ui/packages/collapse/index.d.ts +3 -0
  114. package/out/ui/packages/collapse/init.luau +6 -0
  115. package/out/ui/packages/colorPicker/components/ColorPicker.luau +9 -1
  116. package/out/ui/packages/colorPicker/components/ColorPicker.styles.luau +74 -67
  117. package/out/ui/packages/colorPicker/components/ColorSequenceEditor.luau +16 -6
  118. package/out/ui/packages/colorPicker/components/NumberSequenceEditor.luau +16 -6
  119. package/out/ui/packages/colorPicker/components/sequenceValue.d.ts +2 -0
  120. package/out/ui/packages/colorPicker/components/sequenceValue.luau +8 -0
  121. package/out/ui/packages/colorPicker/index.d.ts +1 -1
  122. package/out/ui/packages/colorPicker/init.luau +2 -0
  123. package/out/ui/packages/copyButton/components/CopyButton.d.ts +8 -0
  124. package/out/ui/packages/copyButton/components/CopyButton.luau +32 -0
  125. package/out/ui/packages/copyButton/components/copyInvoke.d.ts +2 -0
  126. package/out/ui/packages/copyButton/components/copyInvoke.luau +12 -0
  127. package/out/ui/packages/copyButton/index.d.ts +3 -0
  128. package/out/ui/packages/copyButton/init.luau +6 -0
  129. package/out/ui/packages/cover/components/Cover.d.ts +8 -0
  130. package/out/ui/packages/cover/components/Cover.luau +47 -0
  131. package/out/ui/packages/cover/components/coverFill.d.ts +2 -0
  132. package/out/ui/packages/cover/components/coverFill.luau +14 -0
  133. package/out/ui/packages/cover/index.d.ts +3 -0
  134. package/out/ui/packages/cover/init.luau +6 -0
  135. package/out/ui/packages/dateRange/components/DateRangePicker.d.ts +3 -0
  136. package/out/ui/packages/dateRange/components/DateRangePicker.luau +186 -95
  137. package/out/ui/packages/dateRange/dateRangeValue.d.ts +5 -0
  138. package/out/ui/packages/dateRange/dateRangeValue.luau +34 -0
  139. package/out/ui/packages/dateRange/index.d.ts +1 -1
  140. package/out/ui/packages/dateRange/init.luau +3 -0
  141. package/out/ui/packages/dialog/components/Dialog.d.ts +1 -0
  142. package/out/ui/packages/dialog/components/Dialog.luau +55 -6
  143. package/out/ui/packages/dialog/components/Dialog.styles.luau +9 -5
  144. package/out/ui/packages/dialog/components/dialogWidth.d.ts +7 -0
  145. package/out/ui/packages/dialog/components/dialogWidth.luau +35 -0
  146. package/out/ui/packages/divider/components/Divider.luau +60 -13
  147. package/out/ui/packages/divider/components/Divider.styles.luau +1 -0
  148. package/out/ui/packages/divider/components/dividerLabel.d.ts +2 -0
  149. package/out/ui/packages/divider/components/dividerLabel.luau +11 -0
  150. package/out/ui/packages/drawer/components/Drawer.d.ts +2 -0
  151. package/out/ui/packages/drawer/components/Drawer.luau +51 -7
  152. package/out/ui/packages/drawer/components/Drawer.styles.luau +13 -5
  153. package/out/ui/packages/drawer/components/drawerPlacement.d.ts +15 -1
  154. package/out/ui/packages/drawer/components/drawerPlacement.luau +46 -0
  155. package/out/ui/packages/editorFace.d.ts +22 -0
  156. package/out/ui/packages/editorFace.luau +49 -0
  157. package/out/ui/packages/fab/components/Fab.luau +19 -6
  158. package/out/ui/packages/fab/components/Fab.styles.luau +4 -3
  159. package/out/ui/packages/fontEditor/components/FontEditor.luau +13 -3
  160. package/out/ui/packages/fontEditor/components/FontEditor.styles.luau +36 -27
  161. package/out/ui/packages/gradientEditor/components/GradientEditor.luau +21 -13
  162. package/out/ui/packages/gradientEditor/components/GradientEditor.styles.luau +52 -44
  163. package/out/ui/packages/icon/components/DrawnGlyph.d.ts +11 -0
  164. package/out/ui/packages/icon/components/DrawnGlyph.luau +87 -0
  165. package/out/ui/packages/icon/components/Icon.d.ts +6 -2
  166. package/out/ui/packages/icon/components/Icon.luau +23 -3
  167. package/out/ui/packages/icon/components/Icon.styles.luau +3 -0
  168. package/out/ui/packages/icon/components/glyphs.d.ts +28 -0
  169. package/out/ui/packages/icon/components/glyphs.luau +64 -0
  170. package/out/ui/packages/icon/index.d.ts +1 -0
  171. package/out/ui/packages/iconButton/components/IconButton.d.ts +6 -1
  172. package/out/ui/packages/iconButton/components/IconButton.luau +112 -11
  173. package/out/ui/packages/iconButton/components/IconButton.styles.luau +4 -27
  174. package/out/ui/packages/iconButton/components/iconButtonBox.d.ts +11 -0
  175. package/out/ui/packages/iconButton/components/iconButtonBox.luau +48 -0
  176. package/out/ui/packages/iconButton/components/transportGlyph.d.ts +10 -0
  177. package/out/ui/packages/iconButton/components/transportGlyph.luau +77 -0
  178. package/out/ui/packages/imageList/components/ImageList.d.ts +4 -0
  179. package/out/ui/packages/imageList/components/ImageList.luau +28 -7
  180. package/out/ui/packages/imageList/components/ImageList.styles.d.ts +1 -0
  181. package/out/ui/packages/imageList/components/ImageList.styles.luau +17 -10
  182. package/out/ui/packages/imageList/components/imageListLayout.d.ts +8 -0
  183. package/out/ui/packages/imageList/components/imageListLayout.luau +36 -0
  184. package/out/ui/packages/index.d.ts +12 -0
  185. package/out/ui/packages/init.luau +36 -0
  186. package/out/ui/packages/input/components/Input.d.ts +4 -0
  187. package/out/ui/packages/input/components/Input.luau +74 -37
  188. package/out/ui/packages/input/components/Input.styles.d.ts +1 -0
  189. package/out/ui/packages/input/components/Input.styles.luau +45 -18
  190. package/out/ui/packages/input/components/clampText.d.ts +2 -0
  191. package/out/ui/packages/input/components/clampText.luau +16 -0
  192. package/out/ui/packages/input/components/fieldChrome.d.ts +5 -0
  193. package/out/ui/packages/input/components/fieldChrome.luau +11 -0
  194. package/out/ui/packages/input/components/multilineHeight.d.ts +1 -0
  195. package/out/ui/packages/input/components/multilineHeight.luau +11 -0
  196. package/out/ui/packages/layout/components/Box.luau +92 -13
  197. package/out/ui/packages/layout/components/Box.styles.d.ts +0 -2
  198. package/out/ui/packages/layout/components/Box.styles.luau +0 -9
  199. package/out/ui/packages/layout/components/Grid.luau +81 -16
  200. package/out/ui/packages/layout/components/Pad.d.ts +24 -0
  201. package/out/ui/packages/layout/components/Pad.luau +88 -0
  202. package/out/ui/packages/layout/components/Stack.luau +79 -13
  203. package/out/ui/packages/link/components/Link.luau +17 -7
  204. package/out/ui/packages/link/components/Link.styles.d.ts +0 -1
  205. package/out/ui/packages/link/components/Link.styles.luau +3 -5
  206. package/out/ui/packages/listItem/components/ListItem.d.ts +6 -0
  207. package/out/ui/packages/listItem/components/ListItem.luau +155 -40
  208. package/out/ui/packages/listItem/components/ListItem.styles.d.ts +4 -0
  209. package/out/ui/packages/listItem/components/ListItem.styles.luau +70 -31
  210. package/out/ui/packages/listItem/components/listItemInk.d.ts +3 -0
  211. package/out/ui/packages/listItem/components/listItemInk.luau +14 -0
  212. package/out/ui/packages/listItem/components/listItemLayout.d.ts +22 -0
  213. package/out/ui/packages/listItem/components/listItemLayout.luau +68 -0
  214. package/out/ui/packages/markdown/components/Markdown.d.ts +2 -0
  215. package/out/ui/packages/markdown/components/Markdown.luau +244 -46
  216. package/out/ui/packages/markdown/components/Markdown.styles.luau +125 -51
  217. package/out/ui/packages/markdown/components/MarkdownEditor.luau +215 -146
  218. package/out/ui/packages/markdown/components/MarkdownEditor.styles.d.ts +1 -0
  219. package/out/ui/packages/markdown/components/MarkdownEditor.styles.luau +153 -83
  220. package/out/ui/packages/markdown/index.d.ts +2 -2
  221. package/out/ui/packages/markdown/init.luau +2 -0
  222. package/out/ui/packages/markdown/parseMarkdown.d.ts +30 -2
  223. package/out/ui/packages/markdown/parseMarkdown.luau +453 -25
  224. package/out/ui/packages/menu/components/Menu.d.ts +4 -1
  225. package/out/ui/packages/menu/components/Menu.luau +76 -28
  226. package/out/ui/packages/menu/components/Menu.styles.luau +6 -1
  227. package/out/ui/packages/menu/components/menuIcon.d.ts +6 -0
  228. package/out/ui/packages/menu/components/menuIcon.luau +32 -0
  229. package/out/ui/packages/numberInput/components/NumberInput.d.ts +1 -0
  230. package/out/ui/packages/numberInput/components/NumberInput.luau +82 -1
  231. package/out/ui/packages/numberInput/components/numberValue.d.ts +2 -0
  232. package/out/ui/packages/numberInput/components/numberValue.luau +10 -0
  233. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.luau +9 -1
  234. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.styles.luau +23 -16
  235. package/out/ui/packages/pager/components/Pager.d.ts +11 -0
  236. package/out/ui/packages/pager/components/Pager.luau +114 -0
  237. package/out/ui/packages/pager/components/Pager.styles.d.ts +2 -0
  238. package/out/ui/packages/pager/components/Pager.styles.luau +66 -0
  239. package/out/ui/packages/pager/components/pagerStep.d.ts +3 -0
  240. package/out/ui/packages/pager/components/pagerStep.luau +24 -0
  241. package/out/ui/packages/pager/index.d.ts +3 -0
  242. package/out/ui/packages/pager/init.luau +9 -0
  243. package/out/ui/packages/pagination/components/Pagination.styles.luau +4 -1
  244. package/out/ui/packages/paper/components/Paper.luau +17 -11
  245. package/out/ui/packages/paper/components/Paper.styles.luau +12 -5
  246. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.luau +14 -1
  247. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.styles.luau +24 -19
  248. package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.d.ts +5 -0
  249. package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.luau +22 -0
  250. package/out/ui/packages/popover/components/Popover.d.ts +12 -0
  251. package/out/ui/packages/popover/components/Popover.luau +52 -0
  252. package/out/ui/packages/popover/components/Popover.styles.d.ts +2 -0
  253. package/out/ui/packages/popover/components/Popover.styles.luau +32 -0
  254. package/out/ui/packages/popover/index.d.ts +2 -0
  255. package/out/ui/packages/popover/init.luau +5 -0
  256. package/out/ui/packages/popup/components/Popup.d.ts +2 -0
  257. package/out/ui/packages/popup/components/Popup.luau +64 -2
  258. package/out/ui/packages/popup/components/placement.luau +6 -4
  259. package/out/ui/packages/progressBar/components/ProgressBar.luau +1 -1
  260. package/out/ui/packages/progressBar/components/ProgressBar.styles.luau +3 -2
  261. package/out/ui/packages/radioGroup/components/RadioGroup.d.ts +4 -1
  262. package/out/ui/packages/radioGroup/components/RadioGroup.luau +53 -9
  263. package/out/ui/packages/radioGroup/components/RadioGroup.styles.luau +26 -2
  264. package/out/ui/packages/radioGroup/components/radioHint.d.ts +2 -0
  265. package/out/ui/packages/radioGroup/components/radioHint.luau +11 -0
  266. package/out/ui/packages/radioGroup/index.d.ts +1 -1
  267. package/out/ui/packages/rating/components/Rating.d.ts +1 -1
  268. package/out/ui/packages/rating/components/Rating.luau +48 -4
  269. package/out/ui/packages/rating/components/Rating.styles.luau +1 -1
  270. package/out/ui/packages/rating/components/ratingCommit.d.ts +2 -0
  271. package/out/ui/packages/rating/components/ratingCommit.luau +11 -0
  272. package/out/ui/packages/rayEditor/components/RayEditor.luau +9 -1
  273. package/out/ui/packages/rayEditor/components/RayEditor.styles.luau +17 -11
  274. package/out/ui/packages/rectEditor/components/RectEditor.luau +9 -1
  275. package/out/ui/packages/rectEditor/components/RectEditor.styles.luau +49 -42
  276. package/out/ui/packages/scroll/components/ScrollView.luau +76 -7
  277. package/out/ui/packages/select/components/Select.d.ts +2 -0
  278. package/out/ui/packages/select/components/Select.luau +164 -105
  279. package/out/ui/packages/select/components/Select.styles.d.ts +2 -0
  280. package/out/ui/packages/select/components/Select.styles.luau +30 -9
  281. package/out/ui/packages/select/components/selectWidth.d.ts +2 -0
  282. package/out/ui/packages/select/components/selectWidth.luau +15 -0
  283. package/out/ui/packages/shadow/components/Shadow.luau +202 -21
  284. package/out/ui/packages/sidebar/components/Sidebar.styles.luau +1 -0
  285. package/out/ui/packages/skeleton/components/Skeleton.luau +4 -0
  286. package/out/ui/packages/slider/components/RangeSlider.d.ts +16 -0
  287. package/out/ui/packages/slider/components/RangeSlider.luau +232 -0
  288. package/out/ui/packages/slider/components/RangeSlider.styles.d.ts +7 -0
  289. package/out/ui/packages/slider/components/RangeSlider.styles.luau +48 -0
  290. package/out/ui/packages/slider/components/Slider.d.ts +1 -0
  291. package/out/ui/packages/slider/components/Slider.luau +53 -25
  292. package/out/ui/packages/slider/components/Slider.styles.d.ts +1 -0
  293. package/out/ui/packages/slider/components/Slider.styles.luau +19 -5
  294. package/out/ui/packages/slider/components/rangeValue.d.ts +21 -0
  295. package/out/ui/packages/slider/components/rangeValue.luau +77 -0
  296. package/out/ui/packages/slider/components/sliderLabel.d.ts +4 -0
  297. package/out/ui/packages/slider/components/sliderLabel.luau +30 -0
  298. package/out/ui/packages/slider/index.d.ts +3 -0
  299. package/out/ui/packages/slider/init.luau +6 -0
  300. package/out/ui/packages/snackbar/components/Snackbar.d.ts +1 -0
  301. package/out/ui/packages/snackbar/components/Snackbar.luau +2 -0
  302. package/out/ui/packages/sparkline/components/Sparkline.d.ts +3 -0
  303. package/out/ui/packages/sparkline/components/Sparkline.luau +72 -8
  304. package/out/ui/packages/sparkline/index.d.ts +1 -1
  305. package/out/ui/packages/sparkline/init.luau +6 -1
  306. package/out/ui/packages/sparkline/sparklineLayout.d.ts +17 -0
  307. package/out/ui/packages/sparkline/sparklineLayout.luau +132 -8
  308. package/out/ui/packages/speedDial/components/SpeedDial.d.ts +1 -0
  309. package/out/ui/packages/speedDial/components/SpeedDial.luau +59 -9
  310. package/out/ui/packages/speedDial/components/SpeedDial.styles.d.ts +1 -0
  311. package/out/ui/packages/speedDial/components/SpeedDial.styles.luau +50 -3
  312. package/out/ui/packages/speedDial/components/speedDialLabel.d.ts +4 -0
  313. package/out/ui/packages/speedDial/components/speedDialLabel.luau +16 -0
  314. package/out/ui/packages/splitPane/components/splitLook.d.ts +1 -1
  315. package/out/ui/packages/stateMatrix.d.ts +1 -0
  316. package/out/ui/packages/stateMatrix.luau +9 -0
  317. package/out/ui/packages/stepper/components/Stepper.d.ts +2 -0
  318. package/out/ui/packages/stepper/components/Stepper.luau +35 -7
  319. package/out/ui/packages/stepper/components/Stepper.styles.luau +12 -6
  320. package/out/ui/packages/stepper/components/stepState.d.ts +4 -2
  321. package/out/ui/packages/stepper/components/stepState.luau +12 -1
  322. package/out/ui/packages/stepper/index.d.ts +1 -1
  323. package/out/ui/packages/stepper/init.luau +3 -1
  324. package/out/ui/packages/switch/components/Switch.luau +2 -2
  325. package/out/ui/packages/switch/components/Switch.styles.luau +2 -5
  326. package/out/ui/packages/switch/components/switchLook.d.ts +3 -3
  327. package/out/ui/packages/switch/components/switchLook.luau +4 -10
  328. package/out/ui/packages/table/components/Table.d.ts +1 -0
  329. package/out/ui/packages/table/components/Table.luau +99 -57
  330. package/out/ui/packages/table/components/Table.styles.luau +23 -6
  331. package/out/ui/packages/table/components/tableColumns.d.ts +2 -0
  332. package/out/ui/packages/table/components/tableColumns.luau +2 -0
  333. package/out/ui/packages/table/components/tableSort.d.ts +2 -0
  334. package/out/ui/packages/table/components/tableSort.luau +95 -0
  335. package/out/ui/packages/table/index.d.ts +1 -0
  336. package/out/ui/packages/table/init.luau +1 -0
  337. package/out/ui/packages/tabs/components/Tabs.luau +77 -6
  338. package/out/ui/packages/tabs/components/Tabs.styles.luau +12 -11
  339. package/out/ui/packages/tabs/components/tabIndicator.d.ts +7 -0
  340. package/out/ui/packages/tabs/components/tabIndicator.luau +21 -0
  341. package/out/ui/packages/tabs/components/tabScroll.d.ts +2 -0
  342. package/out/ui/packages/tabs/components/tabScroll.luau +18 -0
  343. package/out/ui/packages/text/components/Text.d.ts +9 -0
  344. package/out/ui/packages/text/components/Text.luau +64 -0
  345. package/out/ui/packages/text/components/textBox.d.ts +12 -0
  346. package/out/ui/packages/text/components/textBox.luau +21 -0
  347. package/out/ui/packages/text/index.d.ts +2 -0
  348. package/out/ui/packages/text/init.luau +5 -0
  349. package/out/ui/packages/timeField/components/TimeField.d.ts +13 -0
  350. package/out/ui/packages/timeField/components/TimeField.luau +106 -0
  351. package/out/ui/packages/timeField/index.d.ts +4 -0
  352. package/out/ui/packages/timeField/init.luau +9 -0
  353. package/out/ui/packages/timeField/timeValue.d.ts +8 -0
  354. package/out/ui/packages/timeField/timeValue.luau +49 -0
  355. package/out/ui/packages/timeline/components/Timeline.d.ts +12 -0
  356. package/out/ui/packages/timeline/components/Timeline.luau +102 -0
  357. package/out/ui/packages/timeline/components/Timeline.styles.d.ts +2 -0
  358. package/out/ui/packages/timeline/components/Timeline.styles.luau +115 -0
  359. package/out/ui/packages/timeline/components/timelineRail.d.ts +4 -0
  360. package/out/ui/packages/timeline/components/timelineRail.luau +15 -0
  361. package/out/ui/packages/timeline/index.d.ts +3 -0
  362. package/out/ui/packages/timeline/init.luau +8 -0
  363. package/out/ui/packages/toast/components/Toast.d.ts +1 -0
  364. package/out/ui/packages/toast/components/Toast.luau +200 -57
  365. package/out/ui/packages/toast/components/Toast.styles.luau +40 -20
  366. package/out/ui/packages/toast/components/toastPlace.d.ts +16 -0
  367. package/out/ui/packages/toast/components/toastPlace.luau +44 -0
  368. package/out/ui/packages/toast/enums/ToastVariants.d.ts +2 -1
  369. package/out/ui/packages/toast/enums/ToastVariants.luau +1 -0
  370. package/out/ui/packages/toggleButton/components/ToggleButton.luau +43 -4
  371. package/out/ui/packages/toggleButton/components/ToggleButton.styles.luau +1 -1
  372. package/out/ui/packages/tooltip/components/Tooltip.d.ts +1 -0
  373. package/out/ui/packages/tooltip/components/Tooltip.luau +109 -31
  374. package/out/ui/packages/tooltip/components/Tooltip.styles.luau +31 -1
  375. package/out/ui/packages/tooltip/components/tooltipBox.d.ts +4 -0
  376. package/out/ui/packages/tooltip/components/tooltipBox.luau +12 -0
  377. package/out/ui/packages/tooltip/components/tooltipPointer.d.ts +2 -0
  378. package/out/ui/packages/tooltip/components/tooltipPointer.luau +11 -0
  379. package/out/ui/packages/treeView/components/TreeView.luau +12 -13
  380. package/out/ui/packages/treeView/components/TreeView.styles.luau +6 -0
  381. package/out/ui/packages/typography/components/Typography.d.ts +2 -0
  382. package/out/ui/packages/typography/components/Typography.luau +8 -0
  383. package/out/ui/packages/typography/components/Typography.styles.luau +3 -1
  384. package/out/ui/packages/udimEditor/components/UDimEditor.luau +9 -1
  385. package/out/ui/packages/udimEditor/components/UDimEditor.styles.luau +25 -18
  386. package/out/ui/packages/vectorEditor/components/VectorEditor.luau +18 -3
  387. package/out/ui/packages/vectorEditor/components/VectorEditor.styles.luau +30 -16
  388. package/out/ui/packages/virtualList/components/VirtualList.styles.luau +1 -0
  389. package/out/ui/packages/weekGrid/components/WeekGrid.d.ts +24 -0
  390. package/out/ui/packages/weekGrid/components/WeekGrid.luau +187 -0
  391. package/out/ui/packages/weekGrid/components/weekColumns.d.ts +9 -0
  392. package/out/ui/packages/weekGrid/components/weekColumns.luau +25 -0
  393. package/out/ui/packages/weekGrid/index.d.ts +3 -0
  394. package/out/ui/packages/weekGrid/init.luau +8 -0
  395. package/package.json +2 -2
@@ -1,13 +1,19 @@
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 TextService = TS.import(script, TS.getModule(script, "@rbxts", "services")).TextService
5
+ local useTheme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme").useTheme
4
6
  local SxHost = TS.import(script, script.Parent.Parent.Parent, "host").SxHost
7
+ local Icon = TS.import(script, script.Parent.Parent.Parent, "icon").Icon
5
8
  local ListItem = TS.import(script, script.Parent.Parent.Parent, "listItem").ListItem
9
+ local listItemInk = TS.import(script, script.Parent.Parent.Parent, "listItem", "components", "listItemInk").listItemInk
6
10
  local Popup = TS.import(script, script.Parent.Parent.Parent, "popup").Popup
7
11
  local EmptyListHint = TS.import(script, script.Parent.Parent.Parent, "virtualList").EmptyListHint
12
+ local _menuIcon = TS.import(script, script.Parent, "menuIcon")
13
+ local menuIcon = _menuIcon.menuIcon
14
+ local menuRow = _menuIcon.menuRow
15
+ local menuWidth = _menuIcon.menuWidth
8
16
  local useMenuStyles = TS.import(script, script.Parent, "Menu.styles").default
9
- local ROW = 28
10
- local ROW_DENSE = 22
11
17
  local function Menu(props)
12
18
  local _binding = props
13
19
  local anchor = _binding.anchor
@@ -23,21 +29,49 @@ local function Menu(props)
23
29
  local sx = _binding.sx
24
30
  local id = _binding.id
25
31
  local ref = _binding.ref
32
+ local _binding_1 = useTheme()
33
+ local theme = _binding_1.theme
26
34
  local styles = useMenuStyles()
27
- if not open then
28
- return nil
29
- end
30
35
  local vacant = #items == 0
31
- local row = if dense == true then ROW_DENSE else ROW
32
- local height = if vacant then row else #items * row
36
+ -- ▼ ReadonlyArray.some ▼
37
+ local _result = false
38
+ local _callback = function(item)
39
+ return menuIcon(item.icon) ~= nil
40
+ end
41
+ for _k, _v in items do
42
+ if _callback(_v, _k - 1, items) then
43
+ _result = true
44
+ break
45
+ end
46
+ end
47
+ -- ▲ ReadonlyArray.some ▲
48
+ local icons = _result
49
+ local row = menuRow(dense, icons)
50
+ local height = (if vacant then menuRow(dense) else #items * row) + theme.shape.borderRadius * 2 + 2
51
+ local font = theme.typography.fontFamilies.default or Enum.Font.SourceSans
52
+ local _condition = (if dense == true then theme.typography.fontSizes.caption else theme.typography.fontSizes.body)
53
+ if _condition == nil then
54
+ _condition = 14
55
+ end
56
+ local textSize = _condition
57
+ local widest = 0
58
+ for _, item in items do
59
+ local bounds = TextService:GetTextSize(item.text, textSize, font, Vector2.new(10000, 100))
60
+ if bounds.X > widest then
61
+ widest = bounds.X
62
+ end
63
+ end
64
+ local pad = theme.padding.calc(if dense == true then 1 else 2)
65
+ local floor = if anchor ~= nil then anchor.AbsoluteSize.X else 0
66
+ local width = if vacant then 0 else menuWidth(widest, icons, pad, floor)
33
67
  local _attributes = {
34
68
  tag = "frame",
35
69
  }
36
- local _condition = id
37
- if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
38
- _condition = "Surface"
70
+ local _condition_1 = id
71
+ if not (_condition_1 ~= 0 and _condition_1 == _condition_1 and _condition_1 ~= "" and _condition_1) then
72
+ _condition_1 = "Surface"
39
73
  end
40
- _attributes.key = _condition
74
+ _attributes.key = _condition_1
41
75
  _attributes.hostRef = ref
42
76
  _attributes.base = styles.surface
43
77
  _attributes.className = className
@@ -48,33 +82,45 @@ local function Menu(props)
48
82
  local _attributes_2 = table.clone(styles.stroke)
49
83
  setmetatable(_attributes_2, nil)
50
84
  local _exp_1 = React.createElement("uistroke", _attributes_2)
51
- local _attributes_3 = table.clone(styles.list)
85
+ local _attributes_3 = table.clone(styles.inset)
52
86
  setmetatable(_attributes_3, nil)
53
- local _exp_2 = React.createElement("uilistlayout", _attributes_3)
54
- local _result
87
+ local _exp_2 = React.createElement("uipadding", _attributes_3)
88
+ local _attributes_4 = table.clone(styles.list)
89
+ setmetatable(_attributes_4, nil)
90
+ local _exp_3 = React.createElement("uilistlayout", _attributes_4)
91
+ local _result_1
55
92
  if vacant then
56
- local _condition_1 = empty
57
- if _condition_1 == nil then
58
- local _attributes_4 = {}
59
- local _condition_2 = emptyText
60
- if _condition_2 == nil then
61
- _condition_2 = "No options"
93
+ local _condition_2 = empty
94
+ if _condition_2 == nil then
95
+ local _attributes_5 = {}
96
+ local _condition_3 = emptyText
97
+ if _condition_3 == nil then
98
+ _condition_3 = "No options"
62
99
  end
63
- _attributes_4.text = _condition_2
64
- _attributes_4.height = row
65
- _condition_1 = React.createElement(EmptyListHint, _attributes_4)
100
+ _attributes_5.text = _condition_3
101
+ _attributes_5.height = row
102
+ _condition_2 = React.createElement(EmptyListHint, _attributes_5)
66
103
  end
67
- _result = _condition_1
104
+ _result_1 = _condition_2
68
105
  else
69
106
  -- ▼ ReadonlyArray.map ▼
70
107
  local _newValue = table.create(#items)
71
- local _callback = function(item)
108
+ local _callback_1 = function(item)
109
+ local glyph = menuIcon(item.icon)
110
+ local ink = listItemInk(item.tone, item.disabled)
111
+ local tint = if ink == "error" then theme.palette.status.error.main elseif ink == "disabled" then theme.palette.text.disabled else theme.palette.text.primary
72
112
  return React.createElement(ListItem, {
73
113
  key = item.id,
74
114
  text = item.text,
75
115
  disabled = item.disabled,
116
+ tone = item.tone,
76
117
  dense = dense,
77
118
  selected = item.id == selected,
119
+ leading = if glyph ~= nil then React.createElement(Icon, {
120
+ icon = glyph,
121
+ size = "sm",
122
+ tint = tint,
123
+ }) else nil,
78
124
  onActivated = function()
79
125
  if item.disabled == true then
80
126
  return nil
@@ -85,16 +131,18 @@ local function Menu(props)
85
131
  })
86
132
  end
87
133
  for _k, _v in items do
88
- _newValue[_k] = _callback(_v, _k - 1, items)
134
+ _newValue[_k] = _callback_1(_v, _k - 1, items)
89
135
  end
90
136
  -- ▲ ReadonlyArray.map ▲
91
- _result = (React.createElement(React.Fragment, nil, _newValue))
137
+ _result_1 = (React.createElement(React.Fragment, nil, _newValue))
92
138
  end
93
139
  return React.createElement(Popup, {
140
+ open = open,
94
141
  anchor = anchor,
95
142
  preferredHeight = height,
143
+ preferredWidth = width,
96
144
  onDismiss = onClose,
97
- }, React.createElement(SxHost, _attributes, _exp, _exp_1, _exp_2, _result))
145
+ }, React.createElement(SxHost, _attributes, _exp, _exp_1, _exp_2, _exp_3, _result_1))
98
146
  end
99
147
  local default = Menu
100
148
  return {
@@ -6,7 +6,8 @@ local componentStyles = _theme.componentStyles
6
6
  local useMenuStyles = componentStyles("Menu", function(theme)
7
7
  return createStyles({
8
8
  surface = {
9
- Size = UDim2.new(1, 0, 0, 0),
9
+ Position = UDim2.fromOffset(1, 1),
10
+ Size = UDim2.new(1, -2, 0, 0),
10
11
  AutomaticSize = Enum.AutomaticSize.Y,
11
12
  BackgroundColor3 = theme.palette.surface.elevated,
12
13
  BorderSizePixel = 0,
@@ -18,6 +19,10 @@ local useMenuStyles = componentStyles("Menu", function(theme)
18
19
  Color = theme.palette.border,
19
20
  ApplyStrokeMode = Enum.ApplyStrokeMode.Border,
20
21
  },
22
+ inset = {
23
+ PaddingTop = UDim.new(0, theme.shape.borderRadius),
24
+ PaddingBottom = UDim.new(0, theme.shape.borderRadius),
25
+ },
21
26
  list = {
22
27
  FillDirection = Enum.FillDirection.Vertical,
23
28
  SortOrder = Enum.SortOrder.LayoutOrder,
@@ -0,0 +1,6 @@
1
+ /** An empty glyph stays off the row. */
2
+ export declare function menuIcon(icon?: string): string | undefined;
3
+ /** Icon rows need the leading slot. Plain rows stay the short menu height. */
4
+ export declare function menuRow(dense?: boolean, icon?: boolean): 28 | 22 | 44 | 48;
5
+ /** Grow past a narrow anchor so the label and glyph fit. Stay at least as wide as the anchor. */
6
+ export declare function menuWidth(text: number, icon: boolean, pad: number, floor: number): number;
@@ -0,0 +1,32 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ --* An empty glyph stays off the row.
3
+ local function menuIcon(icon)
4
+ if icon == nil or icon == "" then
5
+ return nil
6
+ end
7
+ return icon
8
+ end
9
+ --* Icon rows need the leading slot. Plain rows stay the short menu height.
10
+ local function menuRow(dense, icon)
11
+ if icon == true then
12
+ return if dense == true then 44 else 48
13
+ end
14
+ return if dense == true then 22 else 28
15
+ end
16
+ --* Grow past a narrow anchor so the label and glyph fit. Stay at least as wide as the anchor.
17
+ local function menuWidth(text, icon, pad, floor)
18
+ local lead = if icon then 48 else 0
19
+ local need = text + lead + pad
20
+ if need < 0 then
21
+ need = 0
22
+ end
23
+ if floor > need then
24
+ return floor
25
+ end
26
+ return need
27
+ end
28
+ return {
29
+ menuIcon = menuIcon,
30
+ menuRow = menuRow,
31
+ menuWidth = menuWidth,
32
+ }
@@ -13,6 +13,7 @@ export interface NumberInputProps {
13
13
  width?: UDim;
14
14
  size?: ControlSize;
15
15
  reducedMotion?: boolean;
16
+ stepper?: boolean;
16
17
  }
17
18
  declare function NumberInput(props: CustomizedProps<Frame, NumberInputProps>): JSX.Element;
18
19
  export default NumberInput;
@@ -1,10 +1,44 @@
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 _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
5
+ local controlMetrics = _theme.controlMetrics
6
+ local useTheme = _theme.useTheme
4
7
  local Input = TS.import(script, script.Parent.Parent.Parent, "input").Input
5
8
  local _numberValue = TS.import(script, script.Parent, "numberValue")
6
9
  local formatNumber = _numberValue.formatNumber
7
10
  local parseNumberDraft = _numberValue.parseNumberDraft
11
+ local stepNumber = _numberValue.stepNumber
12
+ local function StepButton(props)
13
+ local _binding = useTheme()
14
+ local theme = _binding.theme
15
+ return React.createElement("textbutton", {
16
+ LayoutOrder = props.order,
17
+ Size = UDim2.fromOffset(props.extent, props.extent),
18
+ BackgroundColor3 = theme.palette.surface.paper,
19
+ BackgroundTransparency = if props.enabled then 0 else 0.45,
20
+ BorderSizePixel = 0,
21
+ Text = props.text,
22
+ Font = theme.typography.fontFamilies.default,
23
+ TextSize = props.font,
24
+ TextColor3 = if props.enabled then theme.palette.text.primary else theme.palette.text.secondary,
25
+ AutoButtonColor = props.enabled,
26
+ Active = props.enabled,
27
+ Event = {
28
+ Activated = function()
29
+ if props.enabled then
30
+ props.onClick()
31
+ end
32
+ end,
33
+ },
34
+ }, React.createElement("uicorner", {
35
+ CornerRadius = UDim.new(0, theme.shape.borderRadius),
36
+ }), React.createElement("uistroke", {
37
+ Color = theme.palette.border,
38
+ Thickness = 1,
39
+ ApplyStrokeMode = Enum.ApplyStrokeMode.Border,
40
+ }))
41
+ end
8
42
  local function NumberInput(props)
9
43
  local _binding = props
10
44
  local value = _binding.value
@@ -20,10 +54,14 @@ local function NumberInput(props)
20
54
  local width = _binding.width
21
55
  local size = _binding.size
22
56
  local reducedMotion = _binding.reducedMotion
57
+ local stepper = _binding.stepper
23
58
  local className = _binding.className
24
59
  local sx = _binding.sx
25
60
  local id = _binding.id
26
61
  local ref = _binding.ref
62
+ local _binding_1 = useTheme()
63
+ local theme = _binding_1.theme
64
+ local locked = disabled == true or readOnly == true
27
65
  local _attributes = {}
28
66
  local _condition = id
29
67
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
@@ -53,7 +91,50 @@ local function NumberInput(props)
53
91
  onChange(committed)
54
92
  end
55
93
  end
56
- return React.createElement(Input, _attributes)
94
+ local field = (React.createElement(Input, _attributes))
95
+ if stepper ~= true then
96
+ return field
97
+ end
98
+ local metrics = controlMetrics(theme.density, size)
99
+ local extent = metrics.height
100
+ local stepFont = math.floor(metrics.font * 1.5)
101
+ local down = stepNumber(value, -1, min, max, step)
102
+ local up = stepNumber(value, 1, min, max, step)
103
+ return React.createElement("frame", {
104
+ Size = UDim2.fromScale(0, 0),
105
+ AutomaticSize = Enum.AutomaticSize.XY,
106
+ BackgroundTransparency = 1,
107
+ BorderSizePixel = 0,
108
+ }, React.createElement("uilistlayout", {
109
+ FillDirection = Enum.FillDirection.Horizontal,
110
+ Padding = UDim.new(0, 4),
111
+ VerticalAlignment = Enum.VerticalAlignment.Center,
112
+ SortOrder = Enum.SortOrder.LayoutOrder,
113
+ }), React.createElement(StepButton, {
114
+ text = "−",
115
+ order = 0,
116
+ extent = extent,
117
+ font = stepFont,
118
+ enabled = not locked and down ~= nil,
119
+ onClick = function()
120
+ return down ~= nil and onChange(down)
121
+ end,
122
+ }), React.createElement("frame", {
123
+ LayoutOrder = 1,
124
+ Size = UDim2.fromScale(0, 0),
125
+ AutomaticSize = Enum.AutomaticSize.XY,
126
+ BackgroundTransparency = 1,
127
+ BorderSizePixel = 0,
128
+ }, field), React.createElement(StepButton, {
129
+ text = "+",
130
+ order = 2,
131
+ extent = extent,
132
+ font = stepFont,
133
+ enabled = not locked and up ~= nil,
134
+ onClick = function()
135
+ return up ~= nil and onChange(up)
136
+ end,
137
+ }))
57
138
  end
58
139
  local default = NumberInput
59
140
  return {
@@ -1,3 +1,5 @@
1
1
  export declare function commitNumber(value: number | undefined, min?: number, max?: number, step?: number): number | undefined;
2
2
  export declare function parseNumberDraft(text: string, min?: number, max?: number, step?: number): number | undefined;
3
+ /** One step up or down. Undefined when the value would not change. */
4
+ export declare function stepNumber(value: number, direction: number, min?: number, max?: number, step?: number): number | undefined;
3
5
  export declare function formatNumber(value: number, places?: number): string;
@@ -23,6 +23,15 @@ end
23
23
  local function parseNumberDraft(text, min, max, step)
24
24
  return commitNumber(tonumber(text), min, max, step)
25
25
  end
26
+ --* One step up or down. Undefined when the value would not change.
27
+ local function stepNumber(value, direction, min, max, step)
28
+ local size = if step ~= nil and step > 0 then step else 1
29
+ local landed = commitNumber(value + direction * size, min, max, step)
30
+ if landed == nil or landed == value then
31
+ return nil
32
+ end
33
+ return landed
34
+ end
26
35
  local function formatNumber(value, places)
27
36
  if places == nil then
28
37
  places = 4
@@ -70,5 +79,6 @@ end
70
79
  return {
71
80
  commitNumber = commitNumber,
72
81
  parseNumberDraft = parseNumberDraft,
82
+ stepNumber = stepNumber,
73
83
  formatNumber = formatNumber,
74
84
  }
@@ -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 useNumberRangeEditorStyles = TS.import(script, script.Parent, "NumberRangeEditor.styles").default
@@ -15,6 +16,7 @@ local function NumberRangeEditor(props)
15
16
  local id = _binding.id
16
17
  local ref = _binding.ref
17
18
  local styles = useNumberRangeEditorStyles()
19
+ local hover = useEditorHover(disabled)
18
20
  local commit = function(field, amount)
19
21
  local parts = writeNumberRange(value.Min, value.Max, field, amount)
20
22
  onChange(NumberRange.new(parts.Min, parts.Max))
@@ -28,12 +30,18 @@ local function NumberRangeEditor(props)
28
30
  end
29
31
  _attributes.key = _condition
30
32
  _attributes.hostRef = ref
31
- _attributes.base = styles.root
33
+ local _object = table.clone(styles.root)
34
+ setmetatable(_object, nil)
35
+ for _k, _v in hover.face do
36
+ _object[_k] = _v
37
+ end
38
+ _attributes.base = _object
32
39
  _attributes.className = className
33
40
  _attributes.sx = sx
34
41
  _attributes.state = {
35
42
  disabled = disabled,
36
43
  }
44
+ _attributes.Event = hover.event
37
45
  local _attributes_1 = table.clone(styles.row)
38
46
  setmetatable(_attributes_1, nil)
39
47
  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 useNumberRangeEditorStyles = componentStyles("NumberRangeEditor", 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,30 @@ local useNumberRangeEditorStyles = componentStyles("NumberRangeEditor", function
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
24
  axis = {
21
- Size = UDim2.new(0.5, 0, 0, theme.spacing.calc(2)),
25
+ Size = UDim2.new(0.5, 0, 0, editorRowHeight(theme)),
22
26
  BackgroundTransparency = 1,
23
27
  },
24
- label = {
25
- Size = UDim2.new(0, theme.spacing.calc(2.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,
31
- },
32
- field = {
33
- Size = UDim2.new(1, -theme.spacing.calc(2.5), 1, 0),
34
- BackgroundTransparency = 1,
35
- },
36
- })
28
+ }
29
+ local _left = "label"
30
+ local _object_1 = {
31
+ Size = UDim2.new(0, theme.spacing.calc(2.5), 1, 0),
32
+ BackgroundTransparency = 1,
33
+ TextColor3 = theme.palette.text.secondary,
34
+ }
35
+ for _k, _v in editorText(theme) do
36
+ _object_1[_k] = _v
37
+ end
38
+ _object[_left] = _object_1
39
+ _object.field = {
40
+ Size = UDim2.new(1, -theme.spacing.calc(2.5), 1, 0),
41
+ BackgroundTransparency = 1,
42
+ }
43
+ return createStyles(_object)
37
44
  end)
38
45
  local default = useNumberRangeEditorStyles
39
46
  return {
@@ -0,0 +1,11 @@
1
+ import React from "@rbxts/react";
2
+ import { CustomizedProps } from "../../../../theme/index";
3
+ export interface PagerProps {
4
+ index: number;
5
+ count: number;
6
+ disabled?: boolean;
7
+ onChange: (index: number) => void;
8
+ children?: React.ReactNode;
9
+ }
10
+ declare function Pager(props: CustomizedProps<Frame, PagerProps>): JSX.Element;
11
+ export default Pager;
@@ -0,0 +1,114 @@
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 usePagerStyles = TS.import(script, script.Parent, "Pager.styles").default
7
+ local _pagerStep = TS.import(script, script.Parent, "pagerStep")
8
+ local pagerLabel = _pagerStep.pagerLabel
9
+ local pagerPlace = _pagerStep.pagerPlace
10
+ local pagerStep = _pagerStep.pagerStep
11
+ local function Pager(props)
12
+ local _binding = props
13
+ local index = _binding.index
14
+ local count = _binding.count
15
+ local disabled = _binding.disabled
16
+ local onChange = _binding.onChange
17
+ local children = _binding.children
18
+ local className = _binding.className
19
+ local sx = _binding.sx
20
+ local id = _binding.id
21
+ local ref = _binding.ref
22
+ local styles = usePagerStyles()
23
+ local place = pagerPlace(index, count)
24
+ local back = pagerStep(index, count, -1)
25
+ local forward = pagerStep(index, count, 1)
26
+ local groupOff = disabled == true
27
+ local _attributes = {
28
+ tag = "frame",
29
+ }
30
+ local _condition = id
31
+ if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
32
+ _condition = "Pager"
33
+ end
34
+ _attributes.key = _condition
35
+ _attributes.hostRef = ref
36
+ _attributes.base = styles.root
37
+ _attributes.className = className
38
+ _attributes.sx = sx
39
+ _attributes.state = {
40
+ disabled = groupOff,
41
+ }
42
+ local _attributes_1 = table.clone(styles.list)
43
+ setmetatable(_attributes_1, nil)
44
+ local _exp = React.createElement("uilistlayout", _attributes_1)
45
+ local _attributes_2 = {
46
+ key = "Bar",
47
+ }
48
+ for _k, _v in styles.bar do
49
+ _attributes_2[_k] = _v
50
+ end
51
+ _attributes_2.LayoutOrder = 0
52
+ local _attributes_3 = table.clone(styles.barList)
53
+ setmetatable(_attributes_3, nil)
54
+ local _exp_1 = React.createElement("uilistlayout", _attributes_3)
55
+ local _attributes_4 = {
56
+ key = "Back",
57
+ }
58
+ for _k, _v in styles.button do
59
+ _attributes_4[_k] = _v
60
+ end
61
+ _attributes_4.Text = "Back"
62
+ _attributes_4.TextTransparency = if groupOff or back == place then 0.5 else 0
63
+ _attributes_4.Active = canActivate(groupOff or back == place)
64
+ _attributes_4.LayoutOrder = 0
65
+ _attributes_4.Event = {
66
+ Activated = function()
67
+ if not groupOff and back ~= place then
68
+ onChange(back)
69
+ end
70
+ end,
71
+ }
72
+ local _exp_2 = React.createElement("textbutton", _attributes_4)
73
+ local _attributes_5 = {
74
+ key = "Count",
75
+ }
76
+ for _k, _v in styles.label do
77
+ _attributes_5[_k] = _v
78
+ end
79
+ _attributes_5.Text = pagerLabel(index, count)
80
+ _attributes_5.LayoutOrder = 1
81
+ local _attributes_6 = table.clone(styles.labelCap)
82
+ setmetatable(_attributes_6, nil)
83
+ local _exp_3 = React.createElement("textlabel", _attributes_5, React.createElement("uisizeconstraint", _attributes_6))
84
+ local _attributes_7 = {
85
+ key = "Next",
86
+ }
87
+ for _k, _v in styles.button do
88
+ _attributes_7[_k] = _v
89
+ end
90
+ _attributes_7.Text = "Next"
91
+ _attributes_7.TextTransparency = if groupOff or forward == place then 0.5 else 0
92
+ _attributes_7.Active = canActivate(groupOff or forward == place)
93
+ _attributes_7.LayoutOrder = 2
94
+ _attributes_7.Event = {
95
+ Activated = function()
96
+ if not groupOff and forward ~= place then
97
+ onChange(forward)
98
+ end
99
+ end,
100
+ }
101
+ local _exp_4 = React.createElement("frame", _attributes_2, _exp_1, _exp_2, _exp_3, React.createElement("textbutton", _attributes_7))
102
+ local _attributes_8 = {
103
+ key = "Body",
104
+ }
105
+ for _k, _v in styles.body do
106
+ _attributes_8[_k] = _v
107
+ end
108
+ _attributes_8.LayoutOrder = 1
109
+ return React.createElement(SxHost, _attributes, _exp, _exp_4, React.createElement("frame", _attributes_8, children))
110
+ end
111
+ local default = Pager
112
+ return {
113
+ default = default,
114
+ }
@@ -0,0 +1,2 @@
1
+ declare const usePagerStyles: () => import("../../../../theme/index").ClassNameMap<string>;
2
+ export default usePagerStyles;
@@ -0,0 +1,66 @@
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 usePagerStyles = componentStyles("Pager", function(theme)
8
+ local metrics = controlMetrics(theme.density, "small")
9
+ return createStyles({
10
+ root = {
11
+ AutomaticSize = Enum.AutomaticSize.XY,
12
+ BackgroundTransparency = 1,
13
+ BorderSizePixel = 0,
14
+ Size = UDim2.fromScale(0, 0),
15
+ },
16
+ list = {
17
+ FillDirection = Enum.FillDirection.Vertical,
18
+ Padding = UDim.new(0, theme.padding.calc(2)),
19
+ SortOrder = Enum.SortOrder.LayoutOrder,
20
+ },
21
+ bar = {
22
+ AutomaticSize = Enum.AutomaticSize.XY,
23
+ BackgroundTransparency = 1,
24
+ BorderSizePixel = 0,
25
+ Size = UDim2.fromScale(0, 0),
26
+ },
27
+ barList = {
28
+ FillDirection = Enum.FillDirection.Horizontal,
29
+ Padding = UDim.new(0, theme.padding.calc(2)),
30
+ VerticalAlignment = Enum.VerticalAlignment.Center,
31
+ SortOrder = Enum.SortOrder.LayoutOrder,
32
+ },
33
+ button = {
34
+ Size = UDim2.fromOffset(64, metrics.buttonHeight),
35
+ BackgroundTransparency = 1,
36
+ BorderSizePixel = 0,
37
+ TextColor3 = theme.palette.text.primary,
38
+ Font = theme.typography.fontFamilies.default,
39
+ TextSize = metrics.font,
40
+ AutoButtonColor = false,
41
+ },
42
+ label = {
43
+ AutomaticSize = Enum.AutomaticSize.XY,
44
+ BackgroundTransparency = 1,
45
+ Size = UDim2.fromScale(0, 0),
46
+ TextColor3 = theme.palette.text.secondary,
47
+ Font = theme.typography.fontFamilies.default,
48
+ TextSize = theme.typography.fontSizes.caption,
49
+ TextTruncate = Enum.TextTruncate.AtEnd,
50
+ TextWrapped = false,
51
+ },
52
+ labelCap = {
53
+ MaxSize = Vector2.new(theme.spacing.calc(10), math.huge),
54
+ },
55
+ body = {
56
+ AutomaticSize = Enum.AutomaticSize.XY,
57
+ BackgroundTransparency = 1,
58
+ BorderSizePixel = 0,
59
+ Size = UDim2.fromScale(0, 0),
60
+ },
61
+ })
62
+ end)
63
+ local default = usePagerStyles
64
+ return {
65
+ default = default,
66
+ }
@@ -0,0 +1,3 @@
1
+ export declare function pagerPlace(index: number, count: number): number;
2
+ export declare function pagerStep(index: number, count: number, delta: number): number;
3
+ export declare function pagerLabel(index: number, count: number): string;