@rbxts/uiblox 0.1.53 → 0.2.0-alpha.1

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 (515) hide show
  1. package/README.md +107 -28
  2. package/out/foundation/guard.d.ts +3 -0
  3. package/out/foundation/guard.luau +23 -0
  4. package/out/foundation/index.d.ts +1 -0
  5. package/out/foundation/init.luau +8 -0
  6. package/out/hooks/breakpoints.d.ts +10 -0
  7. package/out/hooks/breakpoints.luau +60 -0
  8. package/out/hooks/index.d.ts +4 -0
  9. package/out/hooks/init.luau +10 -0
  10. package/out/hooks/useBreakpoints.d.ts +6 -0
  11. package/out/hooks/useBreakpoints.luau +39 -0
  12. package/out/hooks/useReducedMotion.d.ts +1 -0
  13. package/out/hooks/useReducedMotion.luau +12 -0
  14. package/out/index.d.ts +3 -0
  15. package/out/init.luau +9 -0
  16. package/out/interaction/index.d.ts +4 -0
  17. package/out/interaction/init.luau +9 -0
  18. package/out/interaction/pointerRoute.d.ts +6 -0
  19. package/out/interaction/pointerRoute.luau +35 -0
  20. package/out/interaction/usePointer.d.ts +11 -0
  21. package/out/interaction/usePointer.luau +99 -0
  22. package/out/theme/constants/ColorConstants.d.ts +0 -3
  23. package/out/theme/constants/ColorConstants.luau +0 -96
  24. package/out/theme/constants/NumberConstants.d.ts +1 -1
  25. package/out/theme/constants/NumberConstants.luau +3 -4
  26. package/out/theme/context/ThemeProvider.d.ts +3 -0
  27. package/out/theme/context/ThemeProvider.luau +15 -8
  28. package/out/theme/context/themeScope.d.ts +5 -0
  29. package/out/theme/context/themeScope.luau +7 -0
  30. package/out/theme/hooks/useTheme.luau +15 -14
  31. package/out/theme/interfaces/density/controlMetrics.d.ts +21 -0
  32. package/out/theme/interfaces/density/controlMetrics.luau +67 -0
  33. package/out/theme/interfaces/density/index.d.ts +1 -0
  34. package/out/theme/interfaces/density/init.luau +7 -0
  35. package/out/theme/interfaces/index.d.ts +1 -0
  36. package/out/theme/interfaces/init.luau +3 -0
  37. package/out/theme/interfaces/palette/Palette.d.ts +39 -18
  38. package/out/theme/interfaces/palette/colors/index.d.ts +0 -1
  39. package/out/theme/interfaces/palette/index.d.ts +1 -0
  40. package/out/theme/interfaces/theme/Theme.d.ts +13 -0
  41. package/out/theme/interfaces/theme/ThemeConstants.d.ts +0 -18
  42. package/out/theme/interfaces/typography/FontSizes.d.ts +1 -1
  43. package/out/theme/interfaces/typography/FontSizes.luau +7 -7
  44. package/out/theme/styles/index.d.ts +1 -2
  45. package/out/theme/styles/init.luau +3 -1
  46. package/out/theme/styles/types/index.d.ts +0 -1
  47. package/out/theme/styles/utilities/classNames.d.ts +3 -2
  48. package/out/theme/styles/utilities/classNames.luau +7 -173
  49. package/out/theme/styles/utilities/componentStyles.d.ts +7 -0
  50. package/out/theme/styles/utilities/componentStyles.luau +31 -0
  51. package/out/theme/styles/utilities/componentTheme.d.ts +20 -0
  52. package/out/theme/styles/utilities/componentTheme.luau +53 -0
  53. package/out/theme/styles/utilities/createStyles.d.ts +1 -2
  54. package/out/theme/styles/utilities/index.d.ts +5 -1
  55. package/out/theme/styles/utilities/init.luau +9 -1
  56. package/out/theme/styles/utilities/makeStyles.luau +14 -15
  57. package/out/theme/styles/utilities/resolveStyle.d.ts +32 -0
  58. package/out/theme/styles/utilities/resolveStyle.luau +66 -0
  59. package/out/theme/styles/utilities/styleCache.d.ts +2 -0
  60. package/out/theme/styles/utilities/styleCache.luau +68 -0
  61. package/out/theme/styles/utilities/variants.d.ts +19 -0
  62. package/out/theme/styles/utilities/variants.luau +59 -0
  63. package/out/theme/themes/DarkTheme.luau +4 -57
  64. package/out/theme/themes/LightTheme.luau +4 -57
  65. package/out/theme/themes/createPalette.d.ts +3 -0
  66. package/out/theme/themes/createPalette.luau +111 -0
  67. package/out/theme/themes/index.d.ts +1 -0
  68. package/out/theme/themes/init.luau +3 -0
  69. package/out/theme/types/types.d.ts +1 -0
  70. package/out/theme/utilites/colorMath.d.ts +8 -0
  71. package/out/theme/utilites/colorMath.luau +35 -0
  72. package/out/theme/utilites/index.d.ts +1 -0
  73. package/out/theme/utilites/init.luau +6 -0
  74. package/out/ui/enums/Icons.d.ts +5 -1
  75. package/out/ui/enums/Icons.luau +4 -0
  76. package/out/ui/index.d.ts +12 -0
  77. package/out/ui/init.luau +5 -0
  78. package/out/ui/packages/accordion/components/Accordion.d.ts +11 -0
  79. package/out/ui/packages/accordion/components/Accordion.luau +93 -0
  80. package/out/ui/packages/accordion/components/Accordion.styles.d.ts +4 -0
  81. package/out/ui/packages/accordion/components/Accordion.styles.luau +65 -0
  82. package/out/ui/packages/accordion/components/accordionOpen.d.ts +1 -0
  83. package/out/ui/packages/accordion/components/accordionOpen.luau +10 -0
  84. package/out/ui/packages/accordion/index.d.ts +2 -0
  85. package/out/ui/packages/accordion/init.luau +5 -0
  86. package/out/ui/packages/appBar/components/AppBar.d.ts +10 -0
  87. package/out/ui/packages/appBar/components/AppBar.luau +77 -0
  88. package/out/ui/packages/appBar/components/AppBar.styles.d.ts +6 -0
  89. package/out/ui/packages/appBar/components/AppBar.styles.luau +66 -0
  90. package/out/ui/packages/appBar/index.d.ts +3 -0
  91. package/out/ui/packages/appBar/init.luau +5 -0
  92. package/out/ui/packages/assetField/components/AssetField.d.ts +10 -0
  93. package/out/ui/packages/assetField/components/AssetField.luau +75 -0
  94. package/out/ui/packages/assetField/components/AssetField.styles.d.ts +2 -0
  95. package/out/ui/packages/assetField/components/AssetField.styles.luau +33 -0
  96. package/out/ui/packages/assetField/components/assetPreviewUri.d.ts +1 -0
  97. package/out/ui/packages/assetField/components/assetPreviewUri.luau +25 -0
  98. package/out/ui/packages/assetField/index.d.ts +2 -0
  99. package/out/ui/packages/assetField/init.luau +5 -0
  100. package/out/ui/packages/autocomplete/components/Autocomplete.d.ts +5 -0
  101. package/out/ui/packages/autocomplete/components/Autocomplete.luau +47 -0
  102. package/out/ui/packages/autocomplete/components/autocompleteSearchable.d.ts +1 -0
  103. package/out/ui/packages/autocomplete/components/autocompleteSearchable.luau +7 -0
  104. package/out/ui/packages/autocomplete/index.d.ts +2 -0
  105. package/out/ui/packages/autocomplete/init.luau +5 -0
  106. package/out/ui/packages/avatar/components/Avatar.d.ts +8 -0
  107. package/out/ui/packages/avatar/components/Avatar.luau +69 -0
  108. package/out/ui/packages/avatar/components/Avatar.styles.d.ts +4 -0
  109. package/out/ui/packages/avatar/components/Avatar.styles.luau +39 -0
  110. package/out/ui/packages/avatar/components/avatarText.d.ts +1 -0
  111. package/out/ui/packages/avatar/components/avatarText.luau +17 -0
  112. package/out/ui/packages/avatar/index.d.ts +3 -0
  113. package/out/ui/packages/avatar/init.luau +6 -0
  114. package/out/ui/packages/badge/components/Badge.d.ts +10 -0
  115. package/out/ui/packages/badge/components/Badge.luau +69 -0
  116. package/out/ui/packages/badge/components/Badge.styles.d.ts +2 -0
  117. package/out/ui/packages/badge/components/Badge.styles.luau +38 -0
  118. package/out/ui/packages/badge/components/badgeValue.d.ts +1 -0
  119. package/out/ui/packages/badge/components/badgeValue.luau +7 -0
  120. package/out/ui/packages/badge/index.d.ts +3 -0
  121. package/out/ui/packages/badge/init.luau +6 -0
  122. package/out/ui/packages/bottomNavigation/components/BottomNavigation.d.ts +10 -0
  123. package/out/ui/packages/bottomNavigation/components/BottomNavigation.luau +86 -0
  124. package/out/ui/packages/bottomNavigation/components/BottomNavigation.styles.d.ts +2 -0
  125. package/out/ui/packages/bottomNavigation/components/BottomNavigation.styles.luau +58 -0
  126. package/out/ui/packages/bottomNavigation/index.d.ts +2 -0
  127. package/out/ui/packages/bottomNavigation/init.luau +5 -0
  128. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.d.ts +11 -0
  129. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.luau +82 -0
  130. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.styles.d.ts +2 -0
  131. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.styles.luau +47 -0
  132. package/out/ui/packages/breadcrumbs/components/breadcrumbItems.d.ts +1 -0
  133. package/out/ui/packages/breadcrumbs/components/breadcrumbItems.luau +7 -0
  134. package/out/ui/packages/breadcrumbs/index.d.ts +2 -0
  135. package/out/ui/packages/breadcrumbs/init.luau +5 -0
  136. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.d.ts +9 -0
  137. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.luau +234 -0
  138. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.styles.d.ts +2 -0
  139. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.styles.luau +98 -0
  140. package/out/ui/packages/brickColorPicker/components/brickColorCatalog.d.ts +1 -0
  141. package/out/ui/packages/brickColorPicker/components/brickColorCatalog.luau +26 -0
  142. package/out/ui/packages/brickColorPicker/components/brickColorFilter.d.ts +2 -0
  143. package/out/ui/packages/brickColorPicker/components/brickColorFilter.luau +26 -0
  144. package/out/ui/packages/brickColorPicker/index.d.ts +3 -0
  145. package/out/ui/packages/brickColorPicker/init.luau +8 -0
  146. package/out/ui/packages/button/components/Button.d.ts +4 -0
  147. package/out/ui/packages/button/components/Button.luau +86 -34
  148. package/out/ui/packages/button/components/Button.styles.luau +15 -35
  149. package/out/ui/packages/button/components/activation.d.ts +1 -0
  150. package/out/ui/packages/button/components/activation.luau +7 -0
  151. package/out/ui/packages/button/components/buttonLook.d.ts +12 -0
  152. package/out/ui/packages/button/components/buttonLook.luau +55 -0
  153. package/out/ui/packages/button/types/ButtonSize.d.ts +1 -1
  154. package/out/ui/packages/card/components/Card.d.ts +11 -0
  155. package/out/ui/packages/card/components/Card.luau +74 -0
  156. package/out/ui/packages/card/components/Card.styles.d.ts +2 -0
  157. package/out/ui/packages/card/components/Card.styles.luau +66 -0
  158. package/out/ui/packages/card/index.d.ts +2 -0
  159. package/out/ui/packages/card/init.luau +5 -0
  160. package/out/ui/packages/cframeEditor/components/CFrameEditor.d.ts +8 -0
  161. package/out/ui/packages/cframeEditor/components/CFrameEditor.luau +89 -0
  162. package/out/ui/packages/cframeEditor/components/CFrameEditor.styles.d.ts +2 -0
  163. package/out/ui/packages/cframeEditor/components/CFrameEditor.styles.luau +46 -0
  164. package/out/ui/packages/cframeEditor/components/cframeValue.d.ts +3 -0
  165. package/out/ui/packages/cframeEditor/components/cframeValue.luau +15 -0
  166. package/out/ui/packages/cframeEditor/index.d.ts +2 -0
  167. package/out/ui/packages/cframeEditor/init.luau +5 -0
  168. package/out/ui/packages/checkbox/components/Checkbox.d.ts +11 -0
  169. package/out/ui/packages/checkbox/components/Checkbox.luau +136 -0
  170. package/out/ui/packages/checkbox/components/Checkbox.styles.d.ts +6 -0
  171. package/out/ui/packages/checkbox/components/Checkbox.styles.luau +69 -0
  172. package/out/ui/packages/checkbox/components/checkboxLook.d.ts +5 -0
  173. package/out/ui/packages/checkbox/components/checkboxLook.luau +52 -0
  174. package/out/ui/packages/checkbox/components/nextChecked.d.ts +1 -0
  175. package/out/ui/packages/checkbox/components/nextChecked.luau +7 -0
  176. package/out/ui/packages/checkbox/index.d.ts +2 -0
  177. package/out/ui/packages/checkbox/init.luau +5 -0
  178. package/out/ui/packages/chip/components/Chip.d.ts +9 -0
  179. package/out/ui/packages/chip/components/Chip.luau +63 -0
  180. package/out/ui/packages/chip/components/Chip.styles.d.ts +5 -0
  181. package/out/ui/packages/chip/components/Chip.styles.luau +47 -0
  182. package/out/ui/packages/chip/index.d.ts +2 -0
  183. package/out/ui/packages/chip/init.luau +5 -0
  184. package/out/ui/packages/circularProgress/components/CircularProgress.d.ts +11 -0
  185. package/out/ui/packages/circularProgress/components/CircularProgress.luau +109 -0
  186. package/out/ui/packages/circularProgress/index.d.ts +2 -0
  187. package/out/ui/packages/circularProgress/init.luau +5 -0
  188. package/out/ui/packages/colorPicker/components/ColorPicker.d.ts +8 -0
  189. package/out/ui/packages/colorPicker/components/ColorPicker.luau +512 -0
  190. package/out/ui/packages/colorPicker/components/ColorPicker.styles.d.ts +2 -0
  191. package/out/ui/packages/colorPicker/components/ColorPicker.styles.luau +145 -0
  192. package/out/ui/packages/colorPicker/components/ColorSequenceEditor.d.ts +8 -0
  193. package/out/ui/packages/colorPicker/components/ColorSequenceEditor.luau +190 -0
  194. package/out/ui/packages/colorPicker/components/NumberSequenceEditor.d.ts +8 -0
  195. package/out/ui/packages/colorPicker/components/NumberSequenceEditor.luau +240 -0
  196. package/out/ui/packages/colorPicker/components/colorValue.d.ts +22 -0
  197. package/out/ui/packages/colorPicker/components/colorValue.luau +157 -0
  198. package/out/ui/packages/colorPicker/components/sequenceValue.d.ts +26 -0
  199. package/out/ui/packages/colorPicker/components/sequenceValue.luau +307 -0
  200. package/out/ui/packages/colorPicker/index.d.ts +11 -0
  201. package/out/ui/packages/colorPicker/init.luau +37 -0
  202. package/out/ui/packages/dialog/components/Dialog.d.ts +11 -0
  203. package/out/ui/packages/dialog/components/Dialog.luau +56 -0
  204. package/out/ui/packages/dialog/components/Dialog.styles.d.ts +2 -0
  205. package/out/ui/packages/dialog/components/Dialog.styles.luau +55 -0
  206. package/out/ui/packages/dialog/index.d.ts +2 -0
  207. package/out/ui/packages/dialog/init.luau +5 -0
  208. package/out/ui/packages/divider/components/Divider.luau +6 -0
  209. package/out/ui/packages/divider/components/Divider.styles.luau +4 -4
  210. package/out/ui/packages/drawer/components/Drawer.d.ts +11 -0
  211. package/out/ui/packages/drawer/components/Drawer.luau +77 -0
  212. package/out/ui/packages/drawer/components/Drawer.styles.d.ts +2 -0
  213. package/out/ui/packages/drawer/components/Drawer.styles.luau +40 -0
  214. package/out/ui/packages/drawer/components/drawerPlacement.d.ts +2 -0
  215. package/out/ui/packages/drawer/components/drawerPlacement.luau +7 -0
  216. package/out/ui/packages/drawer/index.d.ts +3 -0
  217. package/out/ui/packages/drawer/init.luau +5 -0
  218. package/out/ui/packages/enumPicker/components/EnumPicker.d.ts +11 -0
  219. package/out/ui/packages/enumPicker/components/EnumPicker.luau +42 -0
  220. package/out/ui/packages/enumPicker/components/enumOptions.d.ts +5 -0
  221. package/out/ui/packages/enumPicker/components/enumOptions.luau +28 -0
  222. package/out/ui/packages/enumPicker/index.d.ts +2 -0
  223. package/out/ui/packages/enumPicker/init.luau +5 -0
  224. package/out/ui/packages/fab/components/Fab.d.ts +13 -0
  225. package/out/ui/packages/fab/components/Fab.luau +128 -0
  226. package/out/ui/packages/fab/components/Fab.styles.d.ts +7 -0
  227. package/out/ui/packages/fab/components/Fab.styles.luau +40 -0
  228. package/out/ui/packages/fab/components/fabSize.d.ts +3 -0
  229. package/out/ui/packages/fab/components/fabSize.luau +29 -0
  230. package/out/ui/packages/fab/index.d.ts +3 -0
  231. package/out/ui/packages/fab/init.luau +8 -0
  232. package/out/ui/packages/fontEditor/components/FontEditor.d.ts +8 -0
  233. package/out/ui/packages/fontEditor/components/FontEditor.luau +223 -0
  234. package/out/ui/packages/fontEditor/components/FontEditor.styles.d.ts +2 -0
  235. package/out/ui/packages/fontEditor/components/FontEditor.styles.luau +56 -0
  236. package/out/ui/packages/fontEditor/components/fontValue.d.ts +10 -0
  237. package/out/ui/packages/fontEditor/components/fontValue.luau +81 -0
  238. package/out/ui/packages/fontEditor/index.d.ts +4 -0
  239. package/out/ui/packages/fontEditor/init.luau +10 -0
  240. package/out/ui/packages/gradientEditor/components/GradientEditor.d.ts +10 -0
  241. package/out/ui/packages/gradientEditor/components/GradientEditor.luau +156 -0
  242. package/out/ui/packages/gradientEditor/components/GradientEditor.styles.d.ts +2 -0
  243. package/out/ui/packages/gradientEditor/components/GradientEditor.styles.luau +37 -0
  244. package/out/ui/packages/gradientEditor/components/gradientPatch.d.ts +8 -0
  245. package/out/ui/packages/gradientEditor/components/gradientPatch.luau +17 -0
  246. package/out/ui/packages/gradientEditor/components/gradientValue.d.ts +9 -0
  247. package/out/ui/packages/gradientEditor/components/gradientValue.luau +23 -0
  248. package/out/ui/packages/gradientEditor/index.d.ts +2 -0
  249. package/out/ui/packages/gradientEditor/init.luau +5 -0
  250. package/out/ui/packages/icon/components/Icon.luau +6 -0
  251. package/out/ui/packages/icon/components/Icon.styles.luau +7 -7
  252. package/out/ui/packages/iconButton/components/IconButton.d.ts +3 -0
  253. package/out/ui/packages/iconButton/components/IconButton.luau +53 -5
  254. package/out/ui/packages/iconButton/components/IconButton.styles.luau +7 -7
  255. package/out/ui/packages/index.d.ts +49 -0
  256. package/out/ui/packages/init.luau +147 -0
  257. package/out/ui/packages/input/components/Input.d.ts +8 -1
  258. package/out/ui/packages/input/components/Input.luau +180 -60
  259. package/out/ui/packages/input/components/Input.styles.d.ts +3 -1
  260. package/out/ui/packages/input/components/Input.styles.luau +79 -53
  261. package/out/ui/packages/input/components/inputDraft.d.ts +1 -0
  262. package/out/ui/packages/input/components/inputDraft.luau +17 -0
  263. package/out/ui/packages/input/components/inputInsets.d.ts +4 -0
  264. package/out/ui/packages/input/components/inputInsets.luau +10 -0
  265. package/out/ui/packages/layout/components/Grid.luau +8 -2
  266. package/out/ui/packages/layout/components/List.luau +8 -2
  267. package/out/ui/packages/listItem/components/ListItem.d.ts +9 -0
  268. package/out/ui/packages/listItem/components/ListItem.luau +67 -0
  269. package/out/ui/packages/listItem/components/ListItem.styles.d.ts +5 -0
  270. package/out/ui/packages/listItem/components/ListItem.styles.luau +64 -0
  271. package/out/ui/packages/listItem/index.d.ts +2 -0
  272. package/out/ui/packages/listItem/init.luau +5 -0
  273. package/out/ui/packages/loadingStroke/components/LoadingStroke.luau +11 -2
  274. package/out/ui/packages/menu/components/Menu.d.ts +14 -0
  275. package/out/ui/packages/menu/components/Menu.luau +60 -0
  276. package/out/ui/packages/menu/components/Menu.styles.d.ts +2 -0
  277. package/out/ui/packages/menu/components/Menu.styles.luau +26 -0
  278. package/out/ui/packages/menu/index.d.ts +2 -0
  279. package/out/ui/packages/menu/init.luau +5 -0
  280. package/out/ui/packages/modal/components/Modal.d.ts +9 -0
  281. package/out/ui/packages/modal/components/Modal.luau +97 -0
  282. package/out/ui/packages/modal/components/Modal.styles.d.ts +2 -0
  283. package/out/ui/packages/modal/components/Modal.styles.luau +47 -0
  284. package/out/ui/packages/modal/components/dismissInput.d.ts +1 -0
  285. package/out/ui/packages/modal/components/dismissInput.luau +8 -0
  286. package/out/ui/packages/modal/components/focusTrap.d.ts +2 -0
  287. package/out/ui/packages/modal/components/focusTrap.luau +22 -0
  288. package/out/ui/packages/modal/index.d.ts +2 -0
  289. package/out/ui/packages/modal/init.luau +5 -0
  290. package/out/ui/packages/motion/duration.d.ts +2 -0
  291. package/out/ui/packages/motion/duration.luau +17 -0
  292. package/out/ui/packages/motion/index.d.ts +5 -0
  293. package/out/ui/packages/motion/init.luau +16 -0
  294. package/out/ui/packages/motion/loop.d.ts +1 -0
  295. package/out/ui/packages/motion/loop.luau +18 -0
  296. package/out/ui/packages/motion/play.d.ts +1 -0
  297. package/out/ui/packages/motion/play.luau +23 -0
  298. package/out/ui/packages/motion/resolveReduced.d.ts +1 -0
  299. package/out/ui/packages/motion/resolveReduced.luau +10 -0
  300. package/out/ui/packages/motion/unit.d.ts +8 -0
  301. package/out/ui/packages/motion/unit.luau +80 -0
  302. package/out/ui/packages/numberInput/components/NumberInput.d.ts +16 -0
  303. package/out/ui/packages/numberInput/components/NumberInput.luau +48 -0
  304. package/out/ui/packages/numberInput/components/numberValue.d.ts +2 -0
  305. package/out/ui/packages/numberInput/components/numberValue.luau +29 -0
  306. package/out/ui/packages/numberInput/index.d.ts +2 -0
  307. package/out/ui/packages/numberInput/init.luau +5 -0
  308. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.d.ts +8 -0
  309. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.luau +96 -0
  310. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.styles.d.ts +2 -0
  311. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.styles.luau +41 -0
  312. package/out/ui/packages/numberRangeEditor/components/numberRangeValue.d.ts +4 -0
  313. package/out/ui/packages/numberRangeEditor/components/numberRangeValue.luau +16 -0
  314. package/out/ui/packages/numberRangeEditor/index.d.ts +2 -0
  315. package/out/ui/packages/numberRangeEditor/init.luau +5 -0
  316. package/out/ui/packages/pagination/components/Pagination.d.ts +9 -0
  317. package/out/ui/packages/pagination/components/Pagination.luau +72 -0
  318. package/out/ui/packages/pagination/components/Pagination.styles.d.ts +2 -0
  319. package/out/ui/packages/pagination/components/Pagination.styles.luau +39 -0
  320. package/out/ui/packages/pagination/components/pageRange.d.ts +1 -0
  321. package/out/ui/packages/pagination/components/pageRange.luau +24 -0
  322. package/out/ui/packages/pagination/index.d.ts +2 -0
  323. package/out/ui/packages/pagination/init.luau +5 -0
  324. package/out/ui/packages/paper/components/Paper.d.ts +8 -0
  325. package/out/ui/packages/paper/components/Paper.luau +31 -0
  326. package/out/ui/packages/paper/components/Paper.styles.d.ts +4 -0
  327. package/out/ui/packages/paper/components/Paper.styles.luau +32 -0
  328. package/out/ui/packages/paper/index.d.ts +2 -0
  329. package/out/ui/packages/paper/init.luau +5 -0
  330. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.d.ts +8 -0
  331. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.luau +85 -0
  332. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.styles.d.ts +2 -0
  333. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.styles.luau +46 -0
  334. package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.d.ts +3 -0
  335. package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.luau +14 -0
  336. package/out/ui/packages/physicalPropertiesEditor/index.d.ts +2 -0
  337. package/out/ui/packages/physicalPropertiesEditor/init.luau +5 -0
  338. package/out/ui/packages/popup/components/Popup.d.ts +13 -0
  339. package/out/ui/packages/popup/components/Popup.luau +131 -0
  340. package/out/ui/packages/popup/components/Portal.d.ts +7 -0
  341. package/out/ui/packages/popup/components/Portal.luau +15 -0
  342. package/out/ui/packages/popup/components/placement.d.ts +9 -0
  343. package/out/ui/packages/popup/components/placement.luau +41 -0
  344. package/out/ui/packages/popup/components/portalTarget.d.ts +1 -0
  345. package/out/ui/packages/popup/components/portalTarget.luau +13 -0
  346. package/out/ui/packages/popup/index.d.ts +4 -0
  347. package/out/ui/packages/popup/init.luau +6 -0
  348. package/out/ui/packages/preloader/components/Preloader.luau +6 -0
  349. package/out/ui/packages/preloader/components/Preloader.styles.luau +3 -3
  350. package/out/ui/packages/progressBar/components/ProgressBar.d.ts +8 -1
  351. package/out/ui/packages/progressBar/components/ProgressBar.luau +61 -11
  352. package/out/ui/packages/progressBar/components/ProgressBar.styles.luau +2 -2
  353. package/out/ui/packages/progressBar/index.d.ts +2 -3
  354. package/out/ui/packages/progressBar/init.luau +3 -4
  355. package/out/ui/packages/radioGroup/components/RadioGroup.d.ts +16 -0
  356. package/out/ui/packages/radioGroup/components/RadioGroup.luau +112 -0
  357. package/out/ui/packages/radioGroup/components/RadioGroup.styles.d.ts +6 -0
  358. package/out/ui/packages/radioGroup/components/RadioGroup.styles.luau +66 -0
  359. package/out/ui/packages/radioGroup/index.d.ts +2 -0
  360. package/out/ui/packages/radioGroup/init.luau +5 -0
  361. package/out/ui/packages/rayEditor/components/RayEditor.d.ts +8 -0
  362. package/out/ui/packages/rayEditor/components/RayEditor.luau +83 -0
  363. package/out/ui/packages/rayEditor/components/RayEditor.styles.d.ts +2 -0
  364. package/out/ui/packages/rayEditor/components/RayEditor.styles.luau +37 -0
  365. package/out/ui/packages/rayEditor/components/rayParts.d.ts +1 -0
  366. package/out/ui/packages/rayEditor/components/rayParts.luau +10 -0
  367. package/out/ui/packages/rayEditor/index.d.ts +2 -0
  368. package/out/ui/packages/rayEditor/init.luau +5 -0
  369. package/out/ui/packages/rectEditor/components/RectEditor.d.ts +8 -0
  370. package/out/ui/packages/rectEditor/components/RectEditor.luau +85 -0
  371. package/out/ui/packages/rectEditor/components/RectEditor.styles.d.ts +2 -0
  372. package/out/ui/packages/rectEditor/components/RectEditor.styles.luau +46 -0
  373. package/out/ui/packages/rectEditor/components/rectValue.d.ts +3 -0
  374. package/out/ui/packages/rectEditor/components/rectValue.luau +14 -0
  375. package/out/ui/packages/rectEditor/index.d.ts +2 -0
  376. package/out/ui/packages/rectEditor/init.luau +5 -0
  377. package/out/ui/packages/scroll/dragScroll.d.ts +8 -0
  378. package/out/ui/packages/scroll/dragScroll.luau +51 -0
  379. package/out/ui/packages/scroll/index.d.ts +2 -0
  380. package/out/ui/packages/scroll/init.luau +5 -0
  381. package/out/ui/packages/scroll/useDragScroll.d.ts +5 -0
  382. package/out/ui/packages/scroll/useDragScroll.luau +127 -0
  383. package/out/ui/packages/select/components/Select.d.ts +16 -0
  384. package/out/ui/packages/select/components/Select.luau +455 -0
  385. package/out/ui/packages/select/components/Select.styles.d.ts +6 -0
  386. package/out/ui/packages/select/components/Select.styles.luau +104 -0
  387. package/out/ui/packages/select/components/optionLabel.d.ts +1 -0
  388. package/out/ui/packages/select/components/optionLabel.luau +7 -0
  389. package/out/ui/packages/select/components/selectFilter.d.ts +4 -0
  390. package/out/ui/packages/select/components/selectFilter.luau +27 -0
  391. package/out/ui/packages/select/components/selectFocus.d.ts +4 -0
  392. package/out/ui/packages/select/components/selectFocus.luau +16 -0
  393. package/out/ui/packages/select/components/selectGroups.d.ts +18 -0
  394. package/out/ui/packages/select/components/selectGroups.luau +38 -0
  395. package/out/ui/packages/select/components/selectKey.d.ts +4 -0
  396. package/out/ui/packages/select/components/selectKey.luau +14 -0
  397. package/out/ui/packages/select/components/selectMotion.d.ts +2 -0
  398. package/out/ui/packages/select/components/selectMotion.luau +12 -0
  399. package/out/ui/packages/select/components/selectMulti.d.ts +5 -0
  400. package/out/ui/packages/select/components/selectMulti.luau +26 -0
  401. package/out/ui/packages/select/components/selectTypeahead.d.ts +4 -0
  402. package/out/ui/packages/select/components/selectTypeahead.luau +58 -0
  403. package/out/ui/packages/select/components/stepChoice.d.ts +3 -0
  404. package/out/ui/packages/select/components/stepChoice.luau +24 -0
  405. package/out/ui/packages/select/index.d.ts +3 -0
  406. package/out/ui/packages/select/init.luau +8 -0
  407. package/out/ui/packages/shadow/components/Shadow.styles.luau +3 -3
  408. package/out/ui/packages/sidebar/components/Sidebar.luau +6 -0
  409. package/out/ui/packages/sidebar/components/Sidebar.styles.luau +5 -5
  410. package/out/ui/packages/skeleton/components/Skeleton.d.ts +15 -0
  411. package/out/ui/packages/skeleton/components/Skeleton.luau +224 -0
  412. package/out/ui/packages/skeleton/components/Skeleton.styles.d.ts +2 -0
  413. package/out/ui/packages/skeleton/components/Skeleton.styles.luau +27 -0
  414. package/out/ui/packages/skeleton/components/skeletonMotion.d.ts +3 -0
  415. package/out/ui/packages/skeleton/components/skeletonMotion.luau +17 -0
  416. package/out/ui/packages/skeleton/index.d.ts +3 -0
  417. package/out/ui/packages/skeleton/init.luau +7 -0
  418. package/out/ui/packages/slider/components/Slider.d.ts +13 -0
  419. package/out/ui/packages/slider/components/Slider.luau +204 -0
  420. package/out/ui/packages/slider/components/Slider.styles.d.ts +6 -0
  421. package/out/ui/packages/slider/components/Slider.styles.luau +47 -0
  422. package/out/ui/packages/slider/components/sliderNudge.d.ts +4 -0
  423. package/out/ui/packages/slider/components/sliderNudge.luau +39 -0
  424. package/out/ui/packages/slider/index.d.ts +2 -0
  425. package/out/ui/packages/slider/init.luau +5 -0
  426. package/out/ui/packages/snackbar/components/Snackbar.d.ts +11 -0
  427. package/out/ui/packages/snackbar/components/Snackbar.luau +41 -0
  428. package/out/ui/packages/snackbar/index.d.ts +2 -0
  429. package/out/ui/packages/snackbar/init.luau +5 -0
  430. package/out/ui/packages/splitPane/components/SplitPane.d.ts +14 -0
  431. package/out/ui/packages/splitPane/components/SplitPane.luau +241 -0
  432. package/out/ui/packages/splitPane/components/SplitPane.styles.d.ts +2 -0
  433. package/out/ui/packages/splitPane/components/SplitPane.styles.luau +59 -0
  434. package/out/ui/packages/splitPane/components/splitLook.d.ts +5 -0
  435. package/out/ui/packages/splitPane/components/splitLook.luau +49 -0
  436. package/out/ui/packages/splitPane/components/splitSize.d.ts +10 -0
  437. package/out/ui/packages/splitPane/components/splitSize.luau +46 -0
  438. package/out/ui/packages/splitPane/index.d.ts +2 -0
  439. package/out/ui/packages/splitPane/init.luau +5 -0
  440. package/out/ui/packages/stateMatrix.d.ts +30 -0
  441. package/out/ui/packages/stateMatrix.luau +1471 -0
  442. package/out/ui/packages/stepper/components/Stepper.d.ts +7 -0
  443. package/out/ui/packages/stepper/components/Stepper.luau +62 -0
  444. package/out/ui/packages/stepper/components/Stepper.styles.d.ts +2 -0
  445. package/out/ui/packages/stepper/components/Stepper.styles.luau +39 -0
  446. package/out/ui/packages/stepper/components/stepState.d.ts +2 -0
  447. package/out/ui/packages/stepper/components/stepState.luau +13 -0
  448. package/out/ui/packages/stepper/index.d.ts +3 -0
  449. package/out/ui/packages/stepper/init.luau +6 -0
  450. package/out/ui/packages/switch/components/Switch.d.ts +11 -0
  451. package/out/ui/packages/switch/components/Switch.luau +170 -0
  452. package/out/ui/packages/switch/components/Switch.styles.d.ts +6 -0
  453. package/out/ui/packages/switch/components/Switch.styles.luau +62 -0
  454. package/out/ui/packages/switch/components/switchLook.d.ts +10 -0
  455. package/out/ui/packages/switch/components/switchLook.luau +63 -0
  456. package/out/ui/packages/switch/index.d.ts +2 -0
  457. package/out/ui/packages/switch/init.luau +5 -0
  458. package/out/ui/packages/table/components/Table.d.ts +9 -0
  459. package/out/ui/packages/table/components/Table.luau +135 -0
  460. package/out/ui/packages/table/components/Table.styles.d.ts +2 -0
  461. package/out/ui/packages/table/components/Table.styles.luau +70 -0
  462. package/out/ui/packages/table/components/rowSelected.d.ts +1 -0
  463. package/out/ui/packages/table/components/rowSelected.luau +7 -0
  464. package/out/ui/packages/table/index.d.ts +2 -0
  465. package/out/ui/packages/table/init.luau +5 -0
  466. package/out/ui/packages/tabs/components/Tabs.d.ts +10 -0
  467. package/out/ui/packages/tabs/components/Tabs.luau +113 -0
  468. package/out/ui/packages/tabs/components/Tabs.styles.d.ts +2 -0
  469. package/out/ui/packages/tabs/components/Tabs.styles.luau +55 -0
  470. package/out/ui/packages/tabs/index.d.ts +2 -0
  471. package/out/ui/packages/tabs/init.luau +5 -0
  472. package/out/ui/packages/toast/components/Toast.luau +6 -0
  473. package/out/ui/packages/toast/components/Toast.styles.luau +23 -10
  474. package/out/ui/packages/tooltip/components/Tooltip.d.ts +7 -0
  475. package/out/ui/packages/tooltip/components/Tooltip.luau +119 -0
  476. package/out/ui/packages/tooltip/components/Tooltip.styles.d.ts +2 -0
  477. package/out/ui/packages/tooltip/components/Tooltip.styles.luau +43 -0
  478. package/out/ui/packages/tooltip/index.d.ts +2 -0
  479. package/out/ui/packages/tooltip/init.luau +5 -0
  480. package/out/ui/packages/treeView/components/TreeView.d.ts +1 -0
  481. package/out/ui/packages/treeView/components/TreeView.luau +201 -225
  482. package/out/ui/packages/treeView/components/TreeView.styles.luau +9 -37
  483. package/out/ui/packages/treeView/components/treeRows.d.ts +23 -0
  484. package/out/ui/packages/treeView/components/treeRows.luau +147 -0
  485. package/out/ui/packages/treeView/interfaces/Branch.d.ts +3 -0
  486. package/out/ui/packages/treeView/interfaces/Leaf.d.ts +2 -0
  487. package/out/ui/packages/typography/components/Typography.luau +6 -0
  488. package/out/ui/packages/typography/components/Typography.styles.luau +8 -11
  489. package/out/ui/packages/udimEditor/components/UDimEditor.d.ts +8 -0
  490. package/out/ui/packages/udimEditor/components/UDimEditor.luau +127 -0
  491. package/out/ui/packages/udimEditor/components/UDimEditor.styles.d.ts +2 -0
  492. package/out/ui/packages/udimEditor/components/UDimEditor.styles.luau +50 -0
  493. package/out/ui/packages/udimEditor/index.d.ts +2 -0
  494. package/out/ui/packages/udimEditor/init.luau +5 -0
  495. package/out/ui/packages/vectorEditor/components/VectorEditor.d.ts +10 -0
  496. package/out/ui/packages/vectorEditor/components/VectorEditor.luau +87 -0
  497. package/out/ui/packages/vectorEditor/components/VectorEditor.styles.d.ts +2 -0
  498. package/out/ui/packages/vectorEditor/components/VectorEditor.styles.luau +41 -0
  499. package/out/ui/packages/vectorEditor/components/vectorValue.d.ts +10 -0
  500. package/out/ui/packages/vectorEditor/components/vectorValue.luau +49 -0
  501. package/out/ui/packages/vectorEditor/index.d.ts +4 -0
  502. package/out/ui/packages/vectorEditor/init.luau +11 -0
  503. package/out/ui/packages/virtualList/components/VirtualList.d.ts +23 -0
  504. package/out/ui/packages/virtualList/components/VirtualList.luau +178 -0
  505. package/out/ui/packages/virtualList/components/VirtualList.styles.d.ts +2 -0
  506. package/out/ui/packages/virtualList/components/VirtualList.styles.luau +29 -0
  507. package/out/ui/packages/virtualList/components/virtualWindow.d.ts +10 -0
  508. package/out/ui/packages/virtualList/components/virtualWindow.luau +66 -0
  509. package/out/ui/packages/virtualList/index.d.ts +2 -0
  510. package/out/ui/packages/virtualList/init.luau +5 -0
  511. package/package.json +7 -3
  512. package/out/theme/interfaces/palette/colors/Colors.d.ts +0 -42
  513. package/out/theme/interfaces/palette/colors/Colors.luau +0 -2
  514. package/out/theme/styles/types/ConditionalStylesMap.d.ts +0 -2
  515. package/out/theme/styles/types/ConditionalStylesMap.luau +0 -2
@@ -0,0 +1,190 @@
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 React = _react
5
+ local useRef = _react.useRef
6
+ local useState = _react.useState
7
+ local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
8
+ local ColorPicker = TS.import(script, script.Parent, "ColorPicker").default
9
+ local useColorPickerStyles = TS.import(script, script.Parent, "ColorPicker.styles").default
10
+ local _sequenceValue = TS.import(script, script.Parent, "sequenceValue")
11
+ local hitStop = _sequenceValue.hitStop
12
+ local insertColorStop = _sequenceValue.insertColorStop
13
+ local patchColorStop = _sequenceValue.patchColorStop
14
+ local readColorStops = _sequenceValue.readColorStops
15
+ local removeColorStop = _sequenceValue.removeColorStop
16
+ local writeColorStops = _sequenceValue.writeColorStops
17
+ local function ColorSequenceEditor(props)
18
+ local _binding = props
19
+ local value = _binding.value
20
+ local onChange = _binding.onChange
21
+ local disabled = _binding.disabled
22
+ local className = _binding.className
23
+ local sx = _binding.sx
24
+ local id = _binding.id
25
+ local ref = _binding.ref
26
+ local styles = useColorPickerStyles()
27
+ local active = canActivate(disabled)
28
+ local stops = readColorStops(value)
29
+ local selected, setSelected = useState(0)
30
+ local dragging = useRef(false)
31
+ local index = math.clamp(selected, 0, math.max(0, #stops - 1))
32
+ local current = stops[index + 1] or {
33
+ t = 0,
34
+ color = Color3.new(),
35
+ }
36
+ local commit = function(updated)
37
+ return onChange(writeColorStops(updated))
38
+ end
39
+ local atAlpha = function(rbx, position)
40
+ local width = rbx.AbsoluteSize.X
41
+ if width <= 0 then
42
+ return 0
43
+ end
44
+ return math.clamp((position.X - rbx.AbsolutePosition.X) / width, 0, 1)
45
+ end
46
+ local _attributes = {}
47
+ local _condition = id
48
+ if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
49
+ _condition = "ColorSequenceEditor"
50
+ end
51
+ _attributes.key = _condition
52
+ _attributes.ref = ref
53
+ for _k, _v in styles.root do
54
+ _attributes[_k] = _v
55
+ end
56
+ if className then
57
+ for _k, _v in className do
58
+ _attributes[_k] = _v
59
+ end
60
+ end
61
+ if sx then
62
+ for _k, _v in sx do
63
+ _attributes[_k] = _v
64
+ end
65
+ end
66
+ _attributes.Selectable = false
67
+ local _attributes_1 = table.clone(styles.column)
68
+ setmetatable(_attributes_1, nil)
69
+ local _exp = React.createElement("uilistlayout", _attributes_1)
70
+ local _attributes_2 = {
71
+ key = "Bar",
72
+ }
73
+ for _k, _v in styles.hue do
74
+ _attributes_2[_k] = _v
75
+ end
76
+ _attributes_2.LayoutOrder = 1
77
+ _attributes_2.Active = active
78
+ _attributes_2.Event = {
79
+ InputBegan = function(rbx, input)
80
+ if not active or input.UserInputType ~= Enum.UserInputType.MouseButton1 then
81
+ return nil
82
+ end
83
+ local alpha = atAlpha(rbx, input.Position)
84
+ -- ▼ ReadonlyArray.map ▼
85
+ local _newValue = table.create(#stops)
86
+ local _callback = function(stop)
87
+ return stop.t
88
+ end
89
+ for _k, _v in stops do
90
+ _newValue[_k] = _callback(_v, _k - 1, stops)
91
+ end
92
+ -- ▲ ReadonlyArray.map ▲
93
+ local hit = hitStop(_newValue, alpha, 0.04)
94
+ if hit >= 0 then
95
+ setSelected(hit)
96
+ dragging.current = hit > 0 and hit < #stops - 1
97
+ return nil
98
+ end
99
+ local updated = insertColorStop(stops, alpha)
100
+ commit(updated)
101
+ -- ▼ ReadonlyArray.map ▼
102
+ local _newValue_1 = table.create(#updated)
103
+ local _callback_1 = function(stop)
104
+ return stop.t
105
+ end
106
+ for _k, _v in updated do
107
+ _newValue_1[_k] = _callback_1(_v, _k - 1, updated)
108
+ end
109
+ -- ▲ ReadonlyArray.map ▲
110
+ setSelected(hitStop(_newValue_1, alpha, 1))
111
+ end,
112
+ InputChanged = function(rbx, input)
113
+ if not dragging.current or input.UserInputType ~= Enum.UserInputType.MouseMovement then
114
+ return nil
115
+ end
116
+ commit(patchColorStop(stops, index, {
117
+ t = atAlpha(rbx, input.Position),
118
+ }))
119
+ end,
120
+ InputEnded = function()
121
+ dragging.current = false
122
+ end,
123
+ }
124
+ local _attributes_3 = table.clone(styles.corner)
125
+ setmetatable(_attributes_3, nil)
126
+ local _exp_1 = React.createElement("uicorner", _attributes_3)
127
+ local _exp_2 = React.createElement("uigradient", {
128
+ Color = value,
129
+ })
130
+ -- ▼ ReadonlyArray.map ▼
131
+ local _newValue = table.create(#stops)
132
+ local _callback = function(stop, stopIndex)
133
+ local _attributes_4 = {
134
+ key = `Stop-{stopIndex}`,
135
+ }
136
+ for _k, _v in styles.hueKnob do
137
+ _attributes_4[_k] = _v
138
+ end
139
+ _attributes_4.BackgroundColor3 = stop.color
140
+ _attributes_4.Position = UDim2.fromScale(stop.t, 0.5)
141
+ _attributes_4.ZIndex = if stopIndex == index then 2 else 1
142
+ local _attributes_5 = table.clone(styles.corner)
143
+ setmetatable(_attributes_5, nil)
144
+ return React.createElement("frame", _attributes_4, React.createElement("uicorner", _attributes_5), React.createElement("uistroke", {
145
+ Thickness = if stopIndex == index then 2 else 1,
146
+ Color = Color3.new(1, 1, 1),
147
+ }))
148
+ end
149
+ for _k, _v in stops do
150
+ _newValue[_k] = _callback(_v, _k - 1, stops)
151
+ end
152
+ -- ▲ ReadonlyArray.map ▲
153
+ local _exp_3 = React.createElement("frame", _attributes_2, _exp_1, _exp_2, _newValue)
154
+ local _exp_4 = React.createElement(ColorPicker, {
155
+ key = "StopColor",
156
+ value = current.color,
157
+ disabled = disabled,
158
+ onChange = function(color)
159
+ return commit(patchColorStop(stops, index, {
160
+ color = color,
161
+ }))
162
+ end,
163
+ })
164
+ local _condition_1 = #stops > 2 and index > 0 and index < #stops - 1
165
+ if _condition_1 then
166
+ local _attributes_4 = {
167
+ key = "Remove",
168
+ }
169
+ for _k, _v in styles.link do
170
+ _attributes_4[_k] = _v
171
+ end
172
+ _attributes_4.Text = "Remove stop"
173
+ _attributes_4.LayoutOrder = 3
174
+ _attributes_4.Event = {
175
+ Activated = function()
176
+ if not active then
177
+ return nil
178
+ end
179
+ commit(removeColorStop(stops, index))
180
+ setSelected(math.max(0, index - 1))
181
+ end,
182
+ }
183
+ _condition_1 = (React.createElement("textbutton", _attributes_4))
184
+ end
185
+ return React.createElement("frame", _attributes, _exp, _exp_3, _exp_4, _condition_1)
186
+ end
187
+ local default = ColorSequenceEditor
188
+ return {
189
+ default = default,
190
+ }
@@ -0,0 +1,8 @@
1
+ import { CustomizedProps } from "../../../../theme/index";
2
+ export interface NumberSequenceEditorProps {
3
+ value: NumberSequence;
4
+ onChange: (value: NumberSequence) => void;
5
+ disabled?: boolean;
6
+ }
7
+ declare function NumberSequenceEditor(props: CustomizedProps<Frame, NumberSequenceEditorProps>): JSX.Element;
8
+ export default NumberSequenceEditor;
@@ -0,0 +1,240 @@
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 React = _react
5
+ local useRef = _react.useRef
6
+ local useState = _react.useState
7
+ local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
8
+ local NumberInput = TS.import(script, script.Parent.Parent.Parent, "numberInput").NumberInput
9
+ local useColorPickerStyles = TS.import(script, script.Parent, "ColorPicker.styles").default
10
+ local _sequenceValue = TS.import(script, script.Parent, "sequenceValue")
11
+ local hitStop = _sequenceValue.hitStop
12
+ local insertNumberStop = _sequenceValue.insertNumberStop
13
+ local patchNumberStop = _sequenceValue.patchNumberStop
14
+ local readNumberStops = _sequenceValue.readNumberStops
15
+ local removeNumberStop = _sequenceValue.removeNumberStop
16
+ local writeNumberStops = _sequenceValue.writeNumberStops
17
+ local function NumberSequenceEditor(props)
18
+ local _binding = props
19
+ local value = _binding.value
20
+ local onChange = _binding.onChange
21
+ local disabled = _binding.disabled
22
+ local className = _binding.className
23
+ local sx = _binding.sx
24
+ local id = _binding.id
25
+ local ref = _binding.ref
26
+ local styles = useColorPickerStyles()
27
+ local active = canActivate(disabled)
28
+ local stops = readNumberStops(value)
29
+ local selected, setSelected = useState(0)
30
+ local dragging = useRef(false)
31
+ local index = math.clamp(selected, 0, math.max(0, #stops - 1))
32
+ local current = stops[index + 1] or {
33
+ t = 0,
34
+ value = 0,
35
+ envelope = 0,
36
+ }
37
+ local commit = function(updated)
38
+ return onChange(writeNumberStops(updated))
39
+ end
40
+ local atAlpha = function(rbx, position)
41
+ local width = rbx.AbsoluteSize.X
42
+ if width <= 0 then
43
+ return 0
44
+ end
45
+ return math.clamp((position.X - rbx.AbsolutePosition.X) / width, 0, 1)
46
+ end
47
+ local _attributes = {}
48
+ local _condition = id
49
+ if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
50
+ _condition = "NumberSequenceEditor"
51
+ end
52
+ _attributes.key = _condition
53
+ _attributes.ref = ref
54
+ for _k, _v in styles.root do
55
+ _attributes[_k] = _v
56
+ end
57
+ if className then
58
+ for _k, _v in className do
59
+ _attributes[_k] = _v
60
+ end
61
+ end
62
+ if sx then
63
+ for _k, _v in sx do
64
+ _attributes[_k] = _v
65
+ end
66
+ end
67
+ _attributes.Selectable = false
68
+ local _attributes_1 = table.clone(styles.column)
69
+ setmetatable(_attributes_1, nil)
70
+ local _exp = React.createElement("uilistlayout", _attributes_1)
71
+ local _attributes_2 = {
72
+ key = "Bar",
73
+ }
74
+ for _k, _v in styles.hue do
75
+ _attributes_2[_k] = _v
76
+ end
77
+ _attributes_2.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
78
+ _attributes_2.LayoutOrder = 1
79
+ _attributes_2.Active = active
80
+ _attributes_2.Event = {
81
+ InputBegan = function(rbx, input)
82
+ if not active or input.UserInputType ~= Enum.UserInputType.MouseButton1 then
83
+ return nil
84
+ end
85
+ local alpha = atAlpha(rbx, input.Position)
86
+ -- ▼ ReadonlyArray.map ▼
87
+ local _newValue = table.create(#stops)
88
+ local _callback = function(stop)
89
+ return stop.t
90
+ end
91
+ for _k, _v in stops do
92
+ _newValue[_k] = _callback(_v, _k - 1, stops)
93
+ end
94
+ -- ▲ ReadonlyArray.map ▲
95
+ local hit = hitStop(_newValue, alpha, 0.04)
96
+ if hit >= 0 then
97
+ setSelected(hit)
98
+ dragging.current = hit > 0 and hit < #stops - 1
99
+ return nil
100
+ end
101
+ local updated = insertNumberStop(stops, alpha)
102
+ commit(updated)
103
+ -- ▼ ReadonlyArray.map ▼
104
+ local _newValue_1 = table.create(#updated)
105
+ local _callback_1 = function(stop)
106
+ return stop.t
107
+ end
108
+ for _k, _v in updated do
109
+ _newValue_1[_k] = _callback_1(_v, _k - 1, updated)
110
+ end
111
+ -- ▲ ReadonlyArray.map ▲
112
+ setSelected(hitStop(_newValue_1, alpha, 1))
113
+ end,
114
+ InputChanged = function(rbx, input)
115
+ if not dragging.current or input.UserInputType ~= Enum.UserInputType.MouseMovement then
116
+ return nil
117
+ end
118
+ commit(patchNumberStop(stops, index, {
119
+ t = atAlpha(rbx, input.Position),
120
+ }))
121
+ end,
122
+ InputEnded = function()
123
+ dragging.current = false
124
+ end,
125
+ }
126
+ local _attributes_3 = table.clone(styles.corner)
127
+ setmetatable(_attributes_3, nil)
128
+ local _exp_1 = React.createElement("uicorner", _attributes_3)
129
+ local _exp_2 = React.createElement("uigradient", {
130
+ Transparency = value,
131
+ })
132
+ -- ▼ ReadonlyArray.map ▼
133
+ local _newValue = table.create(#stops)
134
+ local _callback = function(stop, stopIndex)
135
+ local _attributes_4 = {
136
+ key = `Stop-{stopIndex}`,
137
+ }
138
+ for _k, _v in styles.hueKnob do
139
+ _attributes_4[_k] = _v
140
+ end
141
+ _attributes_4.Position = UDim2.fromScale(stop.t, 0.5)
142
+ _attributes_4.ZIndex = if stopIndex == index then 2 else 1
143
+ local _attributes_5 = table.clone(styles.corner)
144
+ setmetatable(_attributes_5, nil)
145
+ return React.createElement("frame", _attributes_4, React.createElement("uicorner", _attributes_5))
146
+ end
147
+ for _k, _v in stops do
148
+ _newValue[_k] = _callback(_v, _k - 1, stops)
149
+ end
150
+ -- ▲ ReadonlyArray.map ▲
151
+ local _exp_3 = React.createElement("frame", _attributes_2, _exp_1, _exp_2, _newValue)
152
+ local _attributes_4 = {
153
+ key = "Fields",
154
+ }
155
+ for _k, _v in styles.row do
156
+ _attributes_4[_k] = _v
157
+ end
158
+ _attributes_4.LayoutOrder = 2
159
+ _attributes_4.Size = UDim2.new(1, 0, 0, 0)
160
+ _attributes_4.AutomaticSize = Enum.AutomaticSize.Y
161
+ local _attributes_5 = table.clone(styles.rowLayout)
162
+ setmetatable(_attributes_5, nil)
163
+ local _exp_4 = React.createElement("uilistlayout", _attributes_5)
164
+ local _attributes_6 = {
165
+ key = "Value",
166
+ }
167
+ for _k, _v in styles.channel do
168
+ _attributes_6[_k] = _v
169
+ end
170
+ local _attributes_7 = table.clone(styles.rowLayout)
171
+ setmetatable(_attributes_7, nil)
172
+ local _exp_5 = React.createElement("uilistlayout", _attributes_7)
173
+ local _attributes_8 = table.clone(styles.label)
174
+ setmetatable(_attributes_8, nil)
175
+ _attributes_8.Text = "V"
176
+ local _exp_6 = React.createElement("textlabel", _attributes_8)
177
+ local _attributes_9 = table.clone(styles.channelField)
178
+ setmetatable(_attributes_9, nil)
179
+ local _exp_7 = React.createElement("frame", _attributes_6, _exp_5, _exp_6, React.createElement("frame", _attributes_9, React.createElement(NumberInput, {
180
+ value = current.value,
181
+ disabled = disabled,
182
+ width = UDim.new(1, 0),
183
+ onChange = function(amount)
184
+ return commit(patchNumberStop(stops, index, {
185
+ value = amount,
186
+ }))
187
+ end,
188
+ })))
189
+ local _attributes_10 = {
190
+ key = "Envelope",
191
+ }
192
+ for _k, _v in styles.channel do
193
+ _attributes_10[_k] = _v
194
+ end
195
+ local _attributes_11 = table.clone(styles.rowLayout)
196
+ setmetatable(_attributes_11, nil)
197
+ local _exp_8 = React.createElement("uilistlayout", _attributes_11)
198
+ local _attributes_12 = table.clone(styles.label)
199
+ setmetatable(_attributes_12, nil)
200
+ _attributes_12.Text = "E"
201
+ local _exp_9 = React.createElement("textlabel", _attributes_12)
202
+ local _attributes_13 = table.clone(styles.channelField)
203
+ setmetatable(_attributes_13, nil)
204
+ local _exp_10 = React.createElement("frame", _attributes_4, _exp_4, _exp_7, React.createElement("frame", _attributes_10, _exp_8, _exp_9, React.createElement("frame", _attributes_13, React.createElement(NumberInput, {
205
+ value = current.envelope,
206
+ disabled = disabled,
207
+ width = UDim.new(1, 0),
208
+ onChange = function(amount)
209
+ return commit(patchNumberStop(stops, index, {
210
+ envelope = amount,
211
+ }))
212
+ end,
213
+ }))))
214
+ local _condition_1 = #stops > 2 and index > 0 and index < #stops - 1
215
+ if _condition_1 then
216
+ local _attributes_14 = {
217
+ key = "Remove",
218
+ }
219
+ for _k, _v in styles.link do
220
+ _attributes_14[_k] = _v
221
+ end
222
+ _attributes_14.Text = "Remove stop"
223
+ _attributes_14.LayoutOrder = 3
224
+ _attributes_14.Event = {
225
+ Activated = function()
226
+ if not active then
227
+ return nil
228
+ end
229
+ commit(removeNumberStop(stops, index))
230
+ setSelected(math.max(0, index - 1))
231
+ end,
232
+ }
233
+ _condition_1 = (React.createElement("textbutton", _attributes_14))
234
+ end
235
+ return React.createElement("frame", _attributes, _exp, _exp_3, _exp_10, _condition_1)
236
+ end
237
+ local default = NumberSequenceEditor
238
+ return {
239
+ default = default,
240
+ }
@@ -0,0 +1,22 @@
1
+ export interface Hsv {
2
+ h: number;
3
+ s: number;
4
+ v: number;
5
+ }
6
+ export declare function channelToByte(unit: number): number;
7
+ export declare function byteToUnit(byte: number): number;
8
+ export declare function rgbToHsv(r: number, g: number, b: number): Hsv;
9
+ export declare function hsvToRgb(h: number, s: number, v: number): {
10
+ r: number;
11
+ g: number;
12
+ b: number;
13
+ };
14
+ export declare function hsvToColor3(h: number, s: number, v: number): Color3;
15
+ export declare function colorToHex(color: Color3): string;
16
+ export declare function parseHex(text: string): Color3 | undefined;
17
+ export declare function parseByte(text: string): number | undefined;
18
+ export declare function sameColor(a: Color3, b: Color3): boolean;
19
+ export declare function resolveHsv(color: Color3, previous?: Hsv): Hsv;
20
+ export declare function rememberColor(color: Color3): void;
21
+ export declare function recentColors(): Color3[];
22
+ export declare function colorBytes(color: Color3): string;
@@ -0,0 +1,157 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local function finite(value)
3
+ return value == value and value ~= math.huge and value ~= -math.huge
4
+ end
5
+ local function channelToByte(unit)
6
+ return math.clamp(math.floor(unit * 255 + 0.5), 0, 255)
7
+ end
8
+ local function byteToUnit(byte)
9
+ return math.clamp(byte, 0, 255) / 255
10
+ end
11
+ local function rgbToHsv(r, g, b)
12
+ local max = math.max(r, g, b)
13
+ local min = math.min(r, g, b)
14
+ local delta = max - min
15
+ local h = 0
16
+ if delta ~= 0 then
17
+ if max == r then
18
+ h = ((g - b) / delta) % 6
19
+ elseif max == g then
20
+ h = (b - r) / delta + 2
21
+ else
22
+ h = (r - g) / delta + 4
23
+ end
24
+ h /= 6
25
+ if h < 0 then
26
+ h += 1
27
+ end
28
+ end
29
+ return {
30
+ h = h,
31
+ s = if max == 0 then 0 else delta / max,
32
+ v = max,
33
+ }
34
+ end
35
+ local function hsvToRgb(h, s, v)
36
+ local hue = ((h % 1) + 1) % 1
37
+ local c = v * s
38
+ local x = c * (1 - math.abs(((hue * 6) % 2) - 1))
39
+ local m = v - c
40
+ local r = 0
41
+ local g = 0
42
+ local b = 0
43
+ local sector = math.floor(hue * 6)
44
+ if sector == 0 then
45
+ r = c
46
+ g = x
47
+ elseif sector == 1 then
48
+ r = x
49
+ g = c
50
+ elseif sector == 2 then
51
+ g = c
52
+ b = x
53
+ elseif sector == 3 then
54
+ g = x
55
+ b = c
56
+ elseif sector == 4 then
57
+ r = x
58
+ b = c
59
+ else
60
+ r = c
61
+ b = x
62
+ end
63
+ return {
64
+ r = r + m,
65
+ g = g + m,
66
+ b = b + m,
67
+ }
68
+ end
69
+ local function hsvToColor3(h, s, v)
70
+ local rgb = hsvToRgb(h, s, v)
71
+ return Color3.new(rgb.r, rgb.g, rgb.b)
72
+ end
73
+ local function colorToHex(color)
74
+ local r = string.format("%02X", channelToByte(color.R))
75
+ local g = string.format("%02X", channelToByte(color.G))
76
+ local b = string.format("%02X", channelToByte(color.B))
77
+ return `#{r}{g}{b}`
78
+ end
79
+ local function parseHex(text)
80
+ local raw = text
81
+ if string.sub(raw, 1, 1) == "#" then
82
+ raw = string.sub(raw, 2)
83
+ end
84
+ if #raw == 3 then
85
+ local r = string.sub(raw, 1, 1)
86
+ local g = string.sub(raw, 2, 2)
87
+ local b = string.sub(raw, 3, 3)
88
+ raw = `{r}{r}{g}{g}{b}{b}`
89
+ end
90
+ if #raw ~= 6 then
91
+ return nil
92
+ end
93
+ local value = tonumber(raw, 16)
94
+ if value == nil or not finite(value) then
95
+ return nil
96
+ end
97
+ local r = math.floor(value / 65536) % 256
98
+ local g = math.floor(value / 256) % 256
99
+ local b = value % 256
100
+ return Color3.new(byteToUnit(r), byteToUnit(g), byteToUnit(b))
101
+ end
102
+ local function parseByte(text)
103
+ local value = tonumber(text)
104
+ if value == nil or not finite(value) then
105
+ return nil
106
+ end
107
+ if value < 0 or value > 255 or value % 1 ~= 0 then
108
+ return nil
109
+ end
110
+ return value
111
+ end
112
+ local function sameColor(a, b)
113
+ return a.R == b.R and a.G == b.G and a.B == b.B
114
+ end
115
+ local function resolveHsv(color, previous)
116
+ local hsv = rgbToHsv(color.R, color.G, color.B)
117
+ if hsv.s == 0 and previous ~= nil then
118
+ return {
119
+ h = previous.h,
120
+ s = hsv.s,
121
+ v = hsv.v,
122
+ }
123
+ end
124
+ return hsv
125
+ end
126
+ local RECENT_CAP = 8
127
+ local recent = {}
128
+ local function rememberColor(color)
129
+ local remembered = { color }
130
+ for _, existing in recent do
131
+ if not sameColor(existing, color) and #remembered < RECENT_CAP then
132
+ table.insert(remembered, existing)
133
+ end
134
+ end
135
+ recent = remembered
136
+ end
137
+ local function recentColors()
138
+ return recent
139
+ end
140
+ local function colorBytes(color)
141
+ return `{channelToByte(color.R)}, {channelToByte(color.G)}, {channelToByte(color.B)}`
142
+ end
143
+ return {
144
+ channelToByte = channelToByte,
145
+ byteToUnit = byteToUnit,
146
+ rgbToHsv = rgbToHsv,
147
+ hsvToRgb = hsvToRgb,
148
+ hsvToColor3 = hsvToColor3,
149
+ colorToHex = colorToHex,
150
+ parseHex = parseHex,
151
+ parseByte = parseByte,
152
+ sameColor = sameColor,
153
+ resolveHsv = resolveHsv,
154
+ rememberColor = rememberColor,
155
+ recentColors = recentColors,
156
+ colorBytes = colorBytes,
157
+ }
@@ -0,0 +1,26 @@
1
+ export interface ColorStop {
2
+ t: number;
3
+ color: Color3;
4
+ }
5
+ export interface NumberStop {
6
+ t: number;
7
+ value: number;
8
+ envelope: number;
9
+ }
10
+ export declare function lerpColor(a: Color3, b: Color3, alpha: number): Color3;
11
+ export declare function readColorStops(sequence: ColorSequence): ColorStop[];
12
+ export declare function writeColorStops(stops: ColorStop[]): ColorSequence;
13
+ export declare function sampleColor(stops: ColorStop[], time: number): Color3;
14
+ export declare function insertColorStop(stops: ColorStop[], time: number): ColorStop[];
15
+ export declare function patchColorStop(stops: ColorStop[], index: number, patch: Partial<ColorStop>): ColorStop[];
16
+ export declare function removeColorStop(stops: ColorStop[], index: number): ColorStop[];
17
+ export declare function readNumberStops(sequence: NumberSequence): NumberStop[];
18
+ export declare function writeNumberStops(stops: NumberStop[]): NumberSequence;
19
+ export declare function sampleNumber(stops: NumberStop[], time: number): {
20
+ value: number;
21
+ envelope: number;
22
+ };
23
+ export declare function insertNumberStop(stops: NumberStop[], time: number): NumberStop[];
24
+ export declare function patchNumberStop(stops: NumberStop[], index: number, patch: Partial<NumberStop>): NumberStop[];
25
+ export declare function removeNumberStop(stops: NumberStop[], index: number): NumberStop[];
26
+ export declare function hitStop(times: number[], alpha: number, threshold: number): number;