@rbxts/uiblox 0.1.52 → 0.2.0-alpha.0

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 (491) hide show
  1. package/README.md +67 -2
  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/context/ThemeProvider.d.ts +3 -0
  25. package/out/theme/context/ThemeProvider.luau +15 -8
  26. package/out/theme/context/themeScope.d.ts +5 -0
  27. package/out/theme/context/themeScope.luau +7 -0
  28. package/out/theme/hooks/useTheme.luau +15 -14
  29. package/out/theme/interfaces/density/controlMetrics.d.ts +21 -0
  30. package/out/theme/interfaces/density/controlMetrics.luau +67 -0
  31. package/out/theme/interfaces/density/index.d.ts +1 -0
  32. package/out/theme/interfaces/density/init.luau +7 -0
  33. package/out/theme/interfaces/index.d.ts +1 -0
  34. package/out/theme/interfaces/init.luau +3 -0
  35. package/out/theme/interfaces/palette/Palette.d.ts +39 -18
  36. package/out/theme/interfaces/palette/colors/index.d.ts +0 -1
  37. package/out/theme/interfaces/palette/index.d.ts +1 -0
  38. package/out/theme/interfaces/theme/Theme.d.ts +13 -0
  39. package/out/theme/interfaces/theme/ThemeConstants.d.ts +0 -18
  40. package/out/theme/styles/index.d.ts +1 -2
  41. package/out/theme/styles/init.luau +3 -1
  42. package/out/theme/styles/types/index.d.ts +0 -1
  43. package/out/theme/styles/utilities/classNames.d.ts +3 -2
  44. package/out/theme/styles/utilities/classNames.luau +7 -173
  45. package/out/theme/styles/utilities/componentStyles.d.ts +7 -0
  46. package/out/theme/styles/utilities/componentStyles.luau +31 -0
  47. package/out/theme/styles/utilities/componentTheme.d.ts +20 -0
  48. package/out/theme/styles/utilities/componentTheme.luau +53 -0
  49. package/out/theme/styles/utilities/createStyles.d.ts +1 -2
  50. package/out/theme/styles/utilities/index.d.ts +5 -1
  51. package/out/theme/styles/utilities/init.luau +7 -1
  52. package/out/theme/styles/utilities/interaction.d.ts +13 -0
  53. package/out/theme/styles/utilities/interaction.luau +68 -0
  54. package/out/theme/styles/utilities/makeStyles.luau +14 -15
  55. package/out/theme/styles/utilities/styleCache.d.ts +2 -0
  56. package/out/theme/styles/utilities/styleCache.luau +68 -0
  57. package/out/theme/styles/utilities/variants.d.ts +19 -0
  58. package/out/theme/styles/utilities/variants.luau +59 -0
  59. package/out/theme/themes/DarkTheme.luau +4 -57
  60. package/out/theme/themes/LightTheme.luau +4 -57
  61. package/out/theme/themes/createPalette.d.ts +3 -0
  62. package/out/theme/themes/createPalette.luau +111 -0
  63. package/out/theme/themes/index.d.ts +1 -0
  64. package/out/theme/themes/init.luau +3 -0
  65. package/out/theme/types/types.d.ts +1 -0
  66. package/out/theme/utilites/colorMath.d.ts +8 -0
  67. package/out/theme/utilites/colorMath.luau +35 -0
  68. package/out/theme/utilites/index.d.ts +1 -0
  69. package/out/theme/utilites/init.luau +6 -0
  70. package/out/ui/enums/Icons.d.ts +5 -1
  71. package/out/ui/enums/Icons.luau +4 -0
  72. package/out/ui/index.d.ts +12 -0
  73. package/out/ui/init.luau +5 -0
  74. package/out/ui/packages/accordion/components/Accordion.d.ts +11 -0
  75. package/out/ui/packages/accordion/components/Accordion.luau +93 -0
  76. package/out/ui/packages/accordion/components/Accordion.styles.d.ts +4 -0
  77. package/out/ui/packages/accordion/components/Accordion.styles.luau +65 -0
  78. package/out/ui/packages/accordion/components/accordionOpen.d.ts +1 -0
  79. package/out/ui/packages/accordion/components/accordionOpen.luau +10 -0
  80. package/out/ui/packages/accordion/index.d.ts +2 -0
  81. package/out/ui/packages/accordion/init.luau +5 -0
  82. package/out/ui/packages/assetField/components/AssetField.d.ts +10 -0
  83. package/out/ui/packages/assetField/components/AssetField.luau +75 -0
  84. package/out/ui/packages/assetField/components/AssetField.styles.d.ts +2 -0
  85. package/out/ui/packages/assetField/components/AssetField.styles.luau +33 -0
  86. package/out/ui/packages/assetField/components/assetPreviewUri.d.ts +1 -0
  87. package/out/ui/packages/assetField/components/assetPreviewUri.luau +25 -0
  88. package/out/ui/packages/assetField/index.d.ts +2 -0
  89. package/out/ui/packages/assetField/init.luau +5 -0
  90. package/out/ui/packages/autocomplete/components/Autocomplete.d.ts +5 -0
  91. package/out/ui/packages/autocomplete/components/Autocomplete.luau +45 -0
  92. package/out/ui/packages/autocomplete/components/autocompleteSearchable.d.ts +1 -0
  93. package/out/ui/packages/autocomplete/components/autocompleteSearchable.luau +7 -0
  94. package/out/ui/packages/autocomplete/index.d.ts +2 -0
  95. package/out/ui/packages/autocomplete/init.luau +5 -0
  96. package/out/ui/packages/avatar/components/Avatar.d.ts +8 -0
  97. package/out/ui/packages/avatar/components/Avatar.luau +69 -0
  98. package/out/ui/packages/avatar/components/Avatar.styles.d.ts +4 -0
  99. package/out/ui/packages/avatar/components/Avatar.styles.luau +39 -0
  100. package/out/ui/packages/avatar/components/avatarText.d.ts +1 -0
  101. package/out/ui/packages/avatar/components/avatarText.luau +17 -0
  102. package/out/ui/packages/avatar/index.d.ts +3 -0
  103. package/out/ui/packages/avatar/init.luau +6 -0
  104. package/out/ui/packages/badge/components/Badge.d.ts +10 -0
  105. package/out/ui/packages/badge/components/Badge.luau +69 -0
  106. package/out/ui/packages/badge/components/Badge.styles.d.ts +2 -0
  107. package/out/ui/packages/badge/components/Badge.styles.luau +38 -0
  108. package/out/ui/packages/badge/components/badgeValue.d.ts +1 -0
  109. package/out/ui/packages/badge/components/badgeValue.luau +7 -0
  110. package/out/ui/packages/badge/index.d.ts +3 -0
  111. package/out/ui/packages/badge/init.luau +6 -0
  112. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.d.ts +11 -0
  113. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.luau +82 -0
  114. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.styles.d.ts +2 -0
  115. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.styles.luau +47 -0
  116. package/out/ui/packages/breadcrumbs/components/breadcrumbItems.d.ts +1 -0
  117. package/out/ui/packages/breadcrumbs/components/breadcrumbItems.luau +7 -0
  118. package/out/ui/packages/breadcrumbs/index.d.ts +2 -0
  119. package/out/ui/packages/breadcrumbs/init.luau +5 -0
  120. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.d.ts +9 -0
  121. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.luau +234 -0
  122. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.styles.d.ts +2 -0
  123. package/out/ui/packages/brickColorPicker/components/BrickColorPicker.styles.luau +98 -0
  124. package/out/ui/packages/brickColorPicker/components/brickColorCatalog.d.ts +1 -0
  125. package/out/ui/packages/brickColorPicker/components/brickColorCatalog.luau +26 -0
  126. package/out/ui/packages/brickColorPicker/components/brickColorFilter.d.ts +2 -0
  127. package/out/ui/packages/brickColorPicker/components/brickColorFilter.luau +26 -0
  128. package/out/ui/packages/brickColorPicker/index.d.ts +3 -0
  129. package/out/ui/packages/brickColorPicker/init.luau +8 -0
  130. package/out/ui/packages/button/components/Button.d.ts +4 -0
  131. package/out/ui/packages/button/components/Button.luau +90 -37
  132. package/out/ui/packages/button/components/Button.styles.luau +18 -32
  133. package/out/ui/packages/button/components/activation.d.ts +1 -0
  134. package/out/ui/packages/button/components/activation.luau +7 -0
  135. package/out/ui/packages/button/components/buttonLook.d.ts +12 -0
  136. package/out/ui/packages/button/components/buttonLook.luau +55 -0
  137. package/out/ui/packages/button/types/ButtonSize.d.ts +1 -1
  138. package/out/ui/packages/card/components/Card.d.ts +11 -0
  139. package/out/ui/packages/card/components/Card.luau +74 -0
  140. package/out/ui/packages/card/components/Card.styles.d.ts +2 -0
  141. package/out/ui/packages/card/components/Card.styles.luau +66 -0
  142. package/out/ui/packages/card/index.d.ts +2 -0
  143. package/out/ui/packages/card/init.luau +5 -0
  144. package/out/ui/packages/cframeEditor/components/CFrameEditor.d.ts +8 -0
  145. package/out/ui/packages/cframeEditor/components/CFrameEditor.luau +89 -0
  146. package/out/ui/packages/cframeEditor/components/CFrameEditor.styles.d.ts +2 -0
  147. package/out/ui/packages/cframeEditor/components/CFrameEditor.styles.luau +46 -0
  148. package/out/ui/packages/cframeEditor/components/cframeValue.d.ts +3 -0
  149. package/out/ui/packages/cframeEditor/components/cframeValue.luau +15 -0
  150. package/out/ui/packages/cframeEditor/index.d.ts +2 -0
  151. package/out/ui/packages/cframeEditor/init.luau +5 -0
  152. package/out/ui/packages/checkbox/components/Checkbox.d.ts +11 -0
  153. package/out/ui/packages/checkbox/components/Checkbox.luau +136 -0
  154. package/out/ui/packages/checkbox/components/Checkbox.styles.d.ts +6 -0
  155. package/out/ui/packages/checkbox/components/Checkbox.styles.luau +69 -0
  156. package/out/ui/packages/checkbox/components/checkboxLook.d.ts +5 -0
  157. package/out/ui/packages/checkbox/components/checkboxLook.luau +52 -0
  158. package/out/ui/packages/checkbox/components/nextChecked.d.ts +1 -0
  159. package/out/ui/packages/checkbox/components/nextChecked.luau +7 -0
  160. package/out/ui/packages/checkbox/index.d.ts +2 -0
  161. package/out/ui/packages/checkbox/init.luau +5 -0
  162. package/out/ui/packages/chip/components/Chip.d.ts +9 -0
  163. package/out/ui/packages/chip/components/Chip.luau +63 -0
  164. package/out/ui/packages/chip/components/Chip.styles.d.ts +5 -0
  165. package/out/ui/packages/chip/components/Chip.styles.luau +47 -0
  166. package/out/ui/packages/chip/index.d.ts +2 -0
  167. package/out/ui/packages/chip/init.luau +5 -0
  168. package/out/ui/packages/circularProgress/components/CircularProgress.d.ts +11 -0
  169. package/out/ui/packages/circularProgress/components/CircularProgress.luau +109 -0
  170. package/out/ui/packages/circularProgress/index.d.ts +2 -0
  171. package/out/ui/packages/circularProgress/init.luau +5 -0
  172. package/out/ui/packages/colorPicker/components/ColorPicker.d.ts +8 -0
  173. package/out/ui/packages/colorPicker/components/ColorPicker.luau +512 -0
  174. package/out/ui/packages/colorPicker/components/ColorPicker.styles.d.ts +2 -0
  175. package/out/ui/packages/colorPicker/components/ColorPicker.styles.luau +145 -0
  176. package/out/ui/packages/colorPicker/components/ColorSequenceEditor.d.ts +8 -0
  177. package/out/ui/packages/colorPicker/components/ColorSequenceEditor.luau +190 -0
  178. package/out/ui/packages/colorPicker/components/NumberSequenceEditor.d.ts +8 -0
  179. package/out/ui/packages/colorPicker/components/NumberSequenceEditor.luau +240 -0
  180. package/out/ui/packages/colorPicker/components/colorValue.d.ts +22 -0
  181. package/out/ui/packages/colorPicker/components/colorValue.luau +157 -0
  182. package/out/ui/packages/colorPicker/components/sequenceValue.d.ts +26 -0
  183. package/out/ui/packages/colorPicker/components/sequenceValue.luau +307 -0
  184. package/out/ui/packages/colorPicker/index.d.ts +11 -0
  185. package/out/ui/packages/colorPicker/init.luau +37 -0
  186. package/out/ui/packages/dialog/components/Dialog.d.ts +11 -0
  187. package/out/ui/packages/dialog/components/Dialog.luau +56 -0
  188. package/out/ui/packages/dialog/components/Dialog.styles.d.ts +2 -0
  189. package/out/ui/packages/dialog/components/Dialog.styles.luau +55 -0
  190. package/out/ui/packages/dialog/index.d.ts +2 -0
  191. package/out/ui/packages/dialog/init.luau +5 -0
  192. package/out/ui/packages/divider/components/Divider.luau +6 -0
  193. package/out/ui/packages/divider/components/Divider.styles.luau +4 -4
  194. package/out/ui/packages/drawer/components/Drawer.d.ts +11 -0
  195. package/out/ui/packages/drawer/components/Drawer.luau +77 -0
  196. package/out/ui/packages/drawer/components/Drawer.styles.d.ts +2 -0
  197. package/out/ui/packages/drawer/components/Drawer.styles.luau +40 -0
  198. package/out/ui/packages/drawer/components/drawerPlacement.d.ts +2 -0
  199. package/out/ui/packages/drawer/components/drawerPlacement.luau +7 -0
  200. package/out/ui/packages/drawer/index.d.ts +3 -0
  201. package/out/ui/packages/drawer/init.luau +5 -0
  202. package/out/ui/packages/enumPicker/components/EnumPicker.d.ts +11 -0
  203. package/out/ui/packages/enumPicker/components/EnumPicker.luau +42 -0
  204. package/out/ui/packages/enumPicker/components/enumOptions.d.ts +5 -0
  205. package/out/ui/packages/enumPicker/components/enumOptions.luau +28 -0
  206. package/out/ui/packages/enumPicker/index.d.ts +2 -0
  207. package/out/ui/packages/enumPicker/init.luau +5 -0
  208. package/out/ui/packages/fontEditor/components/FontEditor.d.ts +8 -0
  209. package/out/ui/packages/fontEditor/components/FontEditor.luau +223 -0
  210. package/out/ui/packages/fontEditor/components/FontEditor.styles.d.ts +2 -0
  211. package/out/ui/packages/fontEditor/components/FontEditor.styles.luau +56 -0
  212. package/out/ui/packages/fontEditor/components/fontValue.d.ts +10 -0
  213. package/out/ui/packages/fontEditor/components/fontValue.luau +81 -0
  214. package/out/ui/packages/fontEditor/index.d.ts +4 -0
  215. package/out/ui/packages/fontEditor/init.luau +10 -0
  216. package/out/ui/packages/gradientEditor/components/GradientEditor.d.ts +10 -0
  217. package/out/ui/packages/gradientEditor/components/GradientEditor.luau +156 -0
  218. package/out/ui/packages/gradientEditor/components/GradientEditor.styles.d.ts +2 -0
  219. package/out/ui/packages/gradientEditor/components/GradientEditor.styles.luau +37 -0
  220. package/out/ui/packages/gradientEditor/components/gradientPatch.d.ts +8 -0
  221. package/out/ui/packages/gradientEditor/components/gradientPatch.luau +17 -0
  222. package/out/ui/packages/gradientEditor/components/gradientValue.d.ts +9 -0
  223. package/out/ui/packages/gradientEditor/components/gradientValue.luau +23 -0
  224. package/out/ui/packages/gradientEditor/index.d.ts +2 -0
  225. package/out/ui/packages/gradientEditor/init.luau +5 -0
  226. package/out/ui/packages/icon/components/Icon.luau +6 -0
  227. package/out/ui/packages/icon/components/Icon.styles.luau +3 -3
  228. package/out/ui/packages/iconButton/components/IconButton.d.ts +3 -0
  229. package/out/ui/packages/iconButton/components/IconButton.luau +53 -5
  230. package/out/ui/packages/iconButton/components/IconButton.styles.luau +3 -3
  231. package/out/ui/packages/index.d.ts +46 -0
  232. package/out/ui/packages/init.luau +138 -0
  233. package/out/ui/packages/input/components/Input.d.ts +6 -1
  234. package/out/ui/packages/input/components/Input.luau +137 -54
  235. package/out/ui/packages/input/components/Input.styles.d.ts +3 -1
  236. package/out/ui/packages/input/components/Input.styles.luau +74 -52
  237. package/out/ui/packages/input/components/inputDraft.d.ts +1 -0
  238. package/out/ui/packages/input/components/inputDraft.luau +17 -0
  239. package/out/ui/packages/input/components/inputInsets.d.ts +4 -0
  240. package/out/ui/packages/input/components/inputInsets.luau +10 -0
  241. package/out/ui/packages/layout/components/Grid.luau +8 -2
  242. package/out/ui/packages/layout/components/List.luau +8 -2
  243. package/out/ui/packages/listItem/components/ListItem.d.ts +9 -0
  244. package/out/ui/packages/listItem/components/ListItem.luau +67 -0
  245. package/out/ui/packages/listItem/components/ListItem.styles.d.ts +5 -0
  246. package/out/ui/packages/listItem/components/ListItem.styles.luau +64 -0
  247. package/out/ui/packages/listItem/index.d.ts +2 -0
  248. package/out/ui/packages/listItem/init.luau +5 -0
  249. package/out/ui/packages/loadingStroke/components/LoadingStroke.luau +27 -22
  250. package/out/ui/packages/menu/components/Menu.d.ts +14 -0
  251. package/out/ui/packages/menu/components/Menu.luau +60 -0
  252. package/out/ui/packages/menu/components/Menu.styles.d.ts +2 -0
  253. package/out/ui/packages/menu/components/Menu.styles.luau +26 -0
  254. package/out/ui/packages/menu/index.d.ts +2 -0
  255. package/out/ui/packages/menu/init.luau +5 -0
  256. package/out/ui/packages/modal/components/Modal.d.ts +9 -0
  257. package/out/ui/packages/modal/components/Modal.luau +97 -0
  258. package/out/ui/packages/modal/components/Modal.styles.d.ts +2 -0
  259. package/out/ui/packages/modal/components/Modal.styles.luau +47 -0
  260. package/out/ui/packages/modal/components/dismissInput.d.ts +1 -0
  261. package/out/ui/packages/modal/components/dismissInput.luau +8 -0
  262. package/out/ui/packages/modal/components/focusTrap.d.ts +2 -0
  263. package/out/ui/packages/modal/components/focusTrap.luau +22 -0
  264. package/out/ui/packages/modal/index.d.ts +2 -0
  265. package/out/ui/packages/modal/init.luau +5 -0
  266. package/out/ui/packages/motion/duration.d.ts +2 -0
  267. package/out/ui/packages/motion/duration.luau +17 -0
  268. package/out/ui/packages/motion/index.d.ts +5 -0
  269. package/out/ui/packages/motion/init.luau +16 -0
  270. package/out/ui/packages/motion/loop.d.ts +1 -0
  271. package/out/ui/packages/motion/loop.luau +18 -0
  272. package/out/ui/packages/motion/play.d.ts +1 -0
  273. package/out/ui/packages/motion/play.luau +23 -0
  274. package/out/ui/packages/motion/resolveReduced.d.ts +1 -0
  275. package/out/ui/packages/motion/resolveReduced.luau +10 -0
  276. package/out/ui/packages/motion/unit.d.ts +8 -0
  277. package/out/ui/packages/motion/unit.luau +80 -0
  278. package/out/ui/packages/numberInput/components/NumberInput.d.ts +14 -0
  279. package/out/ui/packages/numberInput/components/NumberInput.luau +44 -0
  280. package/out/ui/packages/numberInput/components/numberValue.d.ts +2 -0
  281. package/out/ui/packages/numberInput/components/numberValue.luau +29 -0
  282. package/out/ui/packages/numberInput/index.d.ts +2 -0
  283. package/out/ui/packages/numberInput/init.luau +5 -0
  284. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.d.ts +8 -0
  285. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.luau +96 -0
  286. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.styles.d.ts +2 -0
  287. package/out/ui/packages/numberRangeEditor/components/NumberRangeEditor.styles.luau +41 -0
  288. package/out/ui/packages/numberRangeEditor/components/numberRangeValue.d.ts +4 -0
  289. package/out/ui/packages/numberRangeEditor/components/numberRangeValue.luau +16 -0
  290. package/out/ui/packages/numberRangeEditor/index.d.ts +2 -0
  291. package/out/ui/packages/numberRangeEditor/init.luau +5 -0
  292. package/out/ui/packages/pagination/components/Pagination.d.ts +9 -0
  293. package/out/ui/packages/pagination/components/Pagination.luau +72 -0
  294. package/out/ui/packages/pagination/components/Pagination.styles.d.ts +2 -0
  295. package/out/ui/packages/pagination/components/Pagination.styles.luau +39 -0
  296. package/out/ui/packages/pagination/components/pageRange.d.ts +1 -0
  297. package/out/ui/packages/pagination/components/pageRange.luau +24 -0
  298. package/out/ui/packages/pagination/index.d.ts +2 -0
  299. package/out/ui/packages/pagination/init.luau +5 -0
  300. package/out/ui/packages/paper/components/Paper.d.ts +8 -0
  301. package/out/ui/packages/paper/components/Paper.luau +31 -0
  302. package/out/ui/packages/paper/components/Paper.styles.d.ts +4 -0
  303. package/out/ui/packages/paper/components/Paper.styles.luau +32 -0
  304. package/out/ui/packages/paper/index.d.ts +2 -0
  305. package/out/ui/packages/paper/init.luau +5 -0
  306. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.d.ts +8 -0
  307. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.luau +85 -0
  308. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.styles.d.ts +2 -0
  309. package/out/ui/packages/physicalPropertiesEditor/components/PhysicalPropertiesEditor.styles.luau +46 -0
  310. package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.d.ts +3 -0
  311. package/out/ui/packages/physicalPropertiesEditor/components/physicalParts.luau +14 -0
  312. package/out/ui/packages/physicalPropertiesEditor/index.d.ts +2 -0
  313. package/out/ui/packages/physicalPropertiesEditor/init.luau +5 -0
  314. package/out/ui/packages/popup/components/Popup.d.ts +13 -0
  315. package/out/ui/packages/popup/components/Popup.luau +131 -0
  316. package/out/ui/packages/popup/components/Portal.d.ts +7 -0
  317. package/out/ui/packages/popup/components/Portal.luau +15 -0
  318. package/out/ui/packages/popup/components/placement.d.ts +9 -0
  319. package/out/ui/packages/popup/components/placement.luau +41 -0
  320. package/out/ui/packages/popup/components/portalTarget.d.ts +1 -0
  321. package/out/ui/packages/popup/components/portalTarget.luau +13 -0
  322. package/out/ui/packages/popup/index.d.ts +4 -0
  323. package/out/ui/packages/popup/init.luau +6 -0
  324. package/out/ui/packages/preloader/components/Preloader.luau +6 -0
  325. package/out/ui/packages/preloader/components/Preloader.styles.luau +3 -3
  326. package/out/ui/packages/progressBar/components/ProgressBar.d.ts +8 -1
  327. package/out/ui/packages/progressBar/components/ProgressBar.luau +61 -11
  328. package/out/ui/packages/progressBar/components/ProgressBar.styles.luau +2 -2
  329. package/out/ui/packages/progressBar/index.d.ts +2 -3
  330. package/out/ui/packages/progressBar/init.luau +3 -4
  331. package/out/ui/packages/radioGroup/components/RadioGroup.d.ts +16 -0
  332. package/out/ui/packages/radioGroup/components/RadioGroup.luau +112 -0
  333. package/out/ui/packages/radioGroup/components/RadioGroup.styles.d.ts +6 -0
  334. package/out/ui/packages/radioGroup/components/RadioGroup.styles.luau +66 -0
  335. package/out/ui/packages/radioGroup/index.d.ts +2 -0
  336. package/out/ui/packages/radioGroup/init.luau +5 -0
  337. package/out/ui/packages/rayEditor/components/RayEditor.d.ts +8 -0
  338. package/out/ui/packages/rayEditor/components/RayEditor.luau +83 -0
  339. package/out/ui/packages/rayEditor/components/RayEditor.styles.d.ts +2 -0
  340. package/out/ui/packages/rayEditor/components/RayEditor.styles.luau +37 -0
  341. package/out/ui/packages/rayEditor/components/rayParts.d.ts +1 -0
  342. package/out/ui/packages/rayEditor/components/rayParts.luau +10 -0
  343. package/out/ui/packages/rayEditor/index.d.ts +2 -0
  344. package/out/ui/packages/rayEditor/init.luau +5 -0
  345. package/out/ui/packages/rectEditor/components/RectEditor.d.ts +8 -0
  346. package/out/ui/packages/rectEditor/components/RectEditor.luau +85 -0
  347. package/out/ui/packages/rectEditor/components/RectEditor.styles.d.ts +2 -0
  348. package/out/ui/packages/rectEditor/components/RectEditor.styles.luau +46 -0
  349. package/out/ui/packages/rectEditor/components/rectValue.d.ts +3 -0
  350. package/out/ui/packages/rectEditor/components/rectValue.luau +14 -0
  351. package/out/ui/packages/rectEditor/index.d.ts +2 -0
  352. package/out/ui/packages/rectEditor/init.luau +5 -0
  353. package/out/ui/packages/scroll/dragScroll.d.ts +8 -0
  354. package/out/ui/packages/scroll/dragScroll.luau +51 -0
  355. package/out/ui/packages/scroll/index.d.ts +2 -0
  356. package/out/ui/packages/scroll/init.luau +5 -0
  357. package/out/ui/packages/scroll/useDragScroll.d.ts +5 -0
  358. package/out/ui/packages/scroll/useDragScroll.luau +127 -0
  359. package/out/ui/packages/select/components/Select.d.ts +15 -0
  360. package/out/ui/packages/select/components/Select.luau +432 -0
  361. package/out/ui/packages/select/components/Select.styles.d.ts +6 -0
  362. package/out/ui/packages/select/components/Select.styles.luau +104 -0
  363. package/out/ui/packages/select/components/optionLabel.d.ts +1 -0
  364. package/out/ui/packages/select/components/optionLabel.luau +7 -0
  365. package/out/ui/packages/select/components/selectFilter.d.ts +4 -0
  366. package/out/ui/packages/select/components/selectFilter.luau +27 -0
  367. package/out/ui/packages/select/components/selectFocus.d.ts +4 -0
  368. package/out/ui/packages/select/components/selectFocus.luau +16 -0
  369. package/out/ui/packages/select/components/selectGroups.d.ts +18 -0
  370. package/out/ui/packages/select/components/selectGroups.luau +38 -0
  371. package/out/ui/packages/select/components/selectKey.d.ts +4 -0
  372. package/out/ui/packages/select/components/selectKey.luau +14 -0
  373. package/out/ui/packages/select/components/selectMotion.d.ts +2 -0
  374. package/out/ui/packages/select/components/selectMotion.luau +12 -0
  375. package/out/ui/packages/select/components/selectMulti.d.ts +5 -0
  376. package/out/ui/packages/select/components/selectMulti.luau +26 -0
  377. package/out/ui/packages/select/components/selectTypeahead.d.ts +4 -0
  378. package/out/ui/packages/select/components/selectTypeahead.luau +58 -0
  379. package/out/ui/packages/select/components/stepChoice.d.ts +3 -0
  380. package/out/ui/packages/select/components/stepChoice.luau +24 -0
  381. package/out/ui/packages/select/index.d.ts +3 -0
  382. package/out/ui/packages/select/init.luau +8 -0
  383. package/out/ui/packages/shadow/components/Shadow.styles.luau +3 -3
  384. package/out/ui/packages/sidebar/components/Sidebar.luau +6 -0
  385. package/out/ui/packages/sidebar/components/Sidebar.styles.luau +3 -3
  386. package/out/ui/packages/skeleton/components/Skeleton.d.ts +15 -0
  387. package/out/ui/packages/skeleton/components/Skeleton.luau +224 -0
  388. package/out/ui/packages/skeleton/components/Skeleton.styles.d.ts +2 -0
  389. package/out/ui/packages/skeleton/components/Skeleton.styles.luau +27 -0
  390. package/out/ui/packages/skeleton/components/skeletonMotion.d.ts +3 -0
  391. package/out/ui/packages/skeleton/components/skeletonMotion.luau +17 -0
  392. package/out/ui/packages/skeleton/index.d.ts +3 -0
  393. package/out/ui/packages/skeleton/init.luau +7 -0
  394. package/out/ui/packages/slider/components/Slider.d.ts +13 -0
  395. package/out/ui/packages/slider/components/Slider.luau +204 -0
  396. package/out/ui/packages/slider/components/Slider.styles.d.ts +6 -0
  397. package/out/ui/packages/slider/components/Slider.styles.luau +47 -0
  398. package/out/ui/packages/slider/components/sliderNudge.d.ts +4 -0
  399. package/out/ui/packages/slider/components/sliderNudge.luau +39 -0
  400. package/out/ui/packages/slider/index.d.ts +2 -0
  401. package/out/ui/packages/slider/init.luau +5 -0
  402. package/out/ui/packages/snackbar/components/Snackbar.d.ts +11 -0
  403. package/out/ui/packages/snackbar/components/Snackbar.luau +41 -0
  404. package/out/ui/packages/snackbar/index.d.ts +2 -0
  405. package/out/ui/packages/snackbar/init.luau +5 -0
  406. package/out/ui/packages/splitPane/components/SplitPane.d.ts +14 -0
  407. package/out/ui/packages/splitPane/components/SplitPane.luau +241 -0
  408. package/out/ui/packages/splitPane/components/SplitPane.styles.d.ts +2 -0
  409. package/out/ui/packages/splitPane/components/SplitPane.styles.luau +59 -0
  410. package/out/ui/packages/splitPane/components/splitLook.d.ts +5 -0
  411. package/out/ui/packages/splitPane/components/splitLook.luau +49 -0
  412. package/out/ui/packages/splitPane/components/splitSize.d.ts +10 -0
  413. package/out/ui/packages/splitPane/components/splitSize.luau +46 -0
  414. package/out/ui/packages/splitPane/index.d.ts +2 -0
  415. package/out/ui/packages/splitPane/init.luau +5 -0
  416. package/out/ui/packages/stateMatrix.d.ts +30 -0
  417. package/out/ui/packages/stateMatrix.luau +1369 -0
  418. package/out/ui/packages/stepper/components/Stepper.d.ts +7 -0
  419. package/out/ui/packages/stepper/components/Stepper.luau +62 -0
  420. package/out/ui/packages/stepper/components/Stepper.styles.d.ts +2 -0
  421. package/out/ui/packages/stepper/components/Stepper.styles.luau +39 -0
  422. package/out/ui/packages/stepper/components/stepState.d.ts +2 -0
  423. package/out/ui/packages/stepper/components/stepState.luau +13 -0
  424. package/out/ui/packages/stepper/index.d.ts +3 -0
  425. package/out/ui/packages/stepper/init.luau +6 -0
  426. package/out/ui/packages/switch/components/Switch.d.ts +11 -0
  427. package/out/ui/packages/switch/components/Switch.luau +170 -0
  428. package/out/ui/packages/switch/components/Switch.styles.d.ts +6 -0
  429. package/out/ui/packages/switch/components/Switch.styles.luau +62 -0
  430. package/out/ui/packages/switch/components/switchLook.d.ts +10 -0
  431. package/out/ui/packages/switch/components/switchLook.luau +63 -0
  432. package/out/ui/packages/switch/index.d.ts +2 -0
  433. package/out/ui/packages/switch/init.luau +5 -0
  434. package/out/ui/packages/table/components/Table.d.ts +9 -0
  435. package/out/ui/packages/table/components/Table.luau +135 -0
  436. package/out/ui/packages/table/components/Table.styles.d.ts +2 -0
  437. package/out/ui/packages/table/components/Table.styles.luau +70 -0
  438. package/out/ui/packages/table/components/rowSelected.d.ts +1 -0
  439. package/out/ui/packages/table/components/rowSelected.luau +7 -0
  440. package/out/ui/packages/table/index.d.ts +2 -0
  441. package/out/ui/packages/table/init.luau +5 -0
  442. package/out/ui/packages/tabs/components/Tabs.d.ts +10 -0
  443. package/out/ui/packages/tabs/components/Tabs.luau +113 -0
  444. package/out/ui/packages/tabs/components/Tabs.styles.d.ts +2 -0
  445. package/out/ui/packages/tabs/components/Tabs.styles.luau +55 -0
  446. package/out/ui/packages/tabs/index.d.ts +2 -0
  447. package/out/ui/packages/tabs/init.luau +5 -0
  448. package/out/ui/packages/toast/components/Toast.luau +6 -0
  449. package/out/ui/packages/toast/components/Toast.styles.luau +23 -10
  450. package/out/ui/packages/tooltip/components/Tooltip.d.ts +7 -0
  451. package/out/ui/packages/tooltip/components/Tooltip.luau +119 -0
  452. package/out/ui/packages/tooltip/components/Tooltip.styles.d.ts +2 -0
  453. package/out/ui/packages/tooltip/components/Tooltip.styles.luau +43 -0
  454. package/out/ui/packages/tooltip/index.d.ts +2 -0
  455. package/out/ui/packages/tooltip/init.luau +5 -0
  456. package/out/ui/packages/treeView/components/TreeView.d.ts +1 -0
  457. package/out/ui/packages/treeView/components/TreeView.luau +201 -225
  458. package/out/ui/packages/treeView/components/TreeView.styles.luau +6 -34
  459. package/out/ui/packages/treeView/components/treeRows.d.ts +23 -0
  460. package/out/ui/packages/treeView/components/treeRows.luau +147 -0
  461. package/out/ui/packages/treeView/interfaces/Branch.d.ts +3 -0
  462. package/out/ui/packages/treeView/interfaces/Leaf.d.ts +2 -0
  463. package/out/ui/packages/typography/components/Typography.luau +6 -0
  464. package/out/ui/packages/typography/components/Typography.styles.luau +8 -11
  465. package/out/ui/packages/udimEditor/components/UDimEditor.d.ts +8 -0
  466. package/out/ui/packages/udimEditor/components/UDimEditor.luau +127 -0
  467. package/out/ui/packages/udimEditor/components/UDimEditor.styles.d.ts +2 -0
  468. package/out/ui/packages/udimEditor/components/UDimEditor.styles.luau +50 -0
  469. package/out/ui/packages/udimEditor/index.d.ts +2 -0
  470. package/out/ui/packages/udimEditor/init.luau +5 -0
  471. package/out/ui/packages/vectorEditor/components/VectorEditor.d.ts +10 -0
  472. package/out/ui/packages/vectorEditor/components/VectorEditor.luau +87 -0
  473. package/out/ui/packages/vectorEditor/components/VectorEditor.styles.d.ts +2 -0
  474. package/out/ui/packages/vectorEditor/components/VectorEditor.styles.luau +41 -0
  475. package/out/ui/packages/vectorEditor/components/vectorValue.d.ts +10 -0
  476. package/out/ui/packages/vectorEditor/components/vectorValue.luau +49 -0
  477. package/out/ui/packages/vectorEditor/index.d.ts +4 -0
  478. package/out/ui/packages/vectorEditor/init.luau +11 -0
  479. package/out/ui/packages/virtualList/components/VirtualList.d.ts +23 -0
  480. package/out/ui/packages/virtualList/components/VirtualList.luau +178 -0
  481. package/out/ui/packages/virtualList/components/VirtualList.styles.d.ts +2 -0
  482. package/out/ui/packages/virtualList/components/VirtualList.styles.luau +29 -0
  483. package/out/ui/packages/virtualList/components/virtualWindow.d.ts +10 -0
  484. package/out/ui/packages/virtualList/components/virtualWindow.luau +66 -0
  485. package/out/ui/packages/virtualList/index.d.ts +2 -0
  486. package/out/ui/packages/virtualList/init.luau +5 -0
  487. package/package.json +7 -3
  488. package/out/theme/interfaces/palette/colors/Colors.d.ts +0 -42
  489. package/out/theme/interfaces/palette/colors/Colors.luau +0 -2
  490. package/out/theme/styles/types/ConditionalStylesMap.d.ts +0 -2
  491. package/out/theme/styles/types/ConditionalStylesMap.luau +0 -2
@@ -1,29 +1,30 @@
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 useContext = _react.useContext
4
5
  local useEffect = _react.useEffect
5
- local useMemo = _react.useMemo
6
6
  local useState = _react.useState
7
+ local ThemeContext = TS.import(script, script.Parent.Parent, "context", "ThemeProvider").ThemeContext
7
8
  local themeProducer = TS.import(script, script.Parent.Parent, "context", "ThemeProducer").themeProducer
9
+ local readScopedTheme = TS.import(script, script.Parent.Parent, "context", "themeScope").readScopedTheme
8
10
  local useTheme = function()
9
- local theme, setTheme = useState(themeProducer:getState())
11
+ local provided = useContext(ThemeContext)
12
+ local fallbackTheme, setFallbackTheme = useState(themeProducer:getState())
10
13
  useEffect(function()
11
- local unsubscribeFn = themeProducer:subscribe(function(state, _previousState)
12
- setTheme(state)
14
+ if provided then
15
+ return nil
16
+ end
17
+ local unsubscribeFn = themeProducer:subscribe(function(state)
18
+ setFallbackTheme(state)
13
19
  end)
14
20
  return function()
15
21
  unsubscribeFn()
16
22
  end
17
- end)
18
- local memoizedSetTheme = useMemo(function()
19
- return themeProducer.setTheme
20
- end, { themeProducer.setTheme })
21
- return useMemo(function()
22
- return {
23
- theme = theme,
24
- setTheme = memoizedSetTheme,
25
- }
26
- end, { theme, setTheme })
23
+ end, { provided })
24
+ return readScopedTheme(provided, {
25
+ theme = fallbackTheme,
26
+ setTheme = themeProducer.setTheme,
27
+ })
27
28
  end
28
29
  local default = useTheme
29
30
  return {
@@ -0,0 +1,21 @@
1
+ export type ControlSize = "small" | "medium" | "large";
2
+ export type ThemeDensity = "compact" | "comfortable";
3
+ export interface ControlMetrics {
4
+ height: number;
5
+ checkbox: number;
6
+ switchTrackW: number;
7
+ switchTrackH: number;
8
+ switchThumb: number;
9
+ switchInset: number;
10
+ sliderHeight: number;
11
+ sliderTrack: number;
12
+ sliderKnob: number;
13
+ radio: number;
14
+ icon: number;
15
+ font: number;
16
+ markFont: number;
17
+ buttonHeight: number;
18
+ buttonWidth: number;
19
+ }
20
+ export declare function resolveControlSize(density?: ThemeDensity, size?: ControlSize): ControlSize;
21
+ export declare function controlMetrics(density?: ThemeDensity, size?: ControlSize): ControlMetrics;
@@ -0,0 +1,67 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local METRICS = {
3
+ small = {
4
+ height = 22,
5
+ checkbox = 16,
6
+ switchTrackW = 32,
7
+ switchTrackH = 18,
8
+ switchThumb = 14,
9
+ switchInset = 2,
10
+ sliderHeight = 22,
11
+ sliderTrack = 4,
12
+ sliderKnob = 12,
13
+ radio = 14,
14
+ icon = 14,
15
+ font = 13,
16
+ markFont = 11,
17
+ buttonHeight = 24,
18
+ buttonWidth = 96,
19
+ },
20
+ medium = {
21
+ height = 24,
22
+ checkbox = 20,
23
+ switchTrackW = 48,
24
+ switchTrackH = 24,
25
+ switchThumb = 18,
26
+ switchInset = 3,
27
+ sliderHeight = 24,
28
+ sliderTrack = 6,
29
+ sliderKnob = 14,
30
+ radio = 18,
31
+ icon = 18,
32
+ font = 14,
33
+ markFont = 12,
34
+ buttonHeight = 36,
35
+ buttonWidth = 144,
36
+ },
37
+ large = {
38
+ height = 36,
39
+ checkbox = 24,
40
+ switchTrackW = 60,
41
+ switchTrackH = 36,
42
+ switchThumb = 30,
43
+ switchInset = 3,
44
+ sliderHeight = 36,
45
+ sliderTrack = 8,
46
+ sliderKnob = 18,
47
+ radio = 22,
48
+ icon = 18,
49
+ font = 16,
50
+ markFont = 12,
51
+ buttonHeight = 48,
52
+ buttonWidth = 192,
53
+ },
54
+ }
55
+ local function resolveControlSize(density, size)
56
+ if size ~= nil then
57
+ return size
58
+ end
59
+ return if density == "compact" then "small" else "medium"
60
+ end
61
+ local function controlMetrics(density, size)
62
+ return METRICS[resolveControlSize(density, size)]
63
+ end
64
+ return {
65
+ resolveControlSize = resolveControlSize,
66
+ controlMetrics = controlMetrics,
67
+ }
@@ -0,0 +1 @@
1
+ export { controlMetrics, resolveControlSize, type ControlMetrics, type ControlSize, type ThemeDensity, } from "./controlMetrics";
@@ -0,0 +1,7 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local exports = {}
4
+ local _controlMetrics = TS.import(script, script, "controlMetrics")
5
+ exports.controlMetrics = _controlMetrics.controlMetrics
6
+ exports.resolveControlSize = _controlMetrics.resolveControlSize
7
+ return exports
@@ -1,4 +1,5 @@
1
1
  export { IconSizes } from "./iconSizes/index";
2
+ export * from "./density/index";
2
3
  export * from "./palette/index";
3
4
  export { Borders } from "./spacing/index";
4
5
  export { Padding } from "./spacing/index";
@@ -1,6 +1,9 @@
1
1
  -- Compiled with roblox-ts v3.0.0
2
2
  local TS = _G[script]
3
3
  local exports = {}
4
+ for _k, _v in TS.import(script, script, "density") or {} do
5
+ exports[_k] = _v
6
+ end
4
7
  for _k, _v in TS.import(script, script, "palette") or {} do
5
8
  exports[_k] = _v
6
9
  end
@@ -1,26 +1,47 @@
1
+ export interface BrandRole {
2
+ main: Color3;
3
+ on: Color3;
4
+ hover: Color3;
5
+ pressed: Color3;
6
+ }
7
+ export interface StatusRole {
8
+ main: Color3;
9
+ on: Color3;
10
+ surface: Color3;
11
+ border: Color3;
12
+ }
1
13
  export default interface Palette {
2
- primary: {
3
- main: Color3;
4
- };
5
- secondary: {
6
- main: Color3;
7
- };
8
- error: {
9
- main: Color3;
10
- };
11
- warning: {
12
- main: Color3;
13
- };
14
- success: {
15
- main: Color3;
16
- };
17
- background: {
18
- default: Color3;
14
+ surface: {
15
+ canvas: Color3;
19
16
  paper: Color3;
17
+ elevated: Color3;
18
+ overlay: Color3;
19
+ input: Color3;
20
20
  };
21
- divider: Color3;
21
+ primary: BrandRole;
22
+ accent: BrandRole;
22
23
  text: {
23
24
  primary: Color3;
24
25
  secondary: Color3;
26
+ disabled: Color3;
27
+ inverse: Color3;
28
+ link: Color3;
29
+ };
30
+ border: Color3;
31
+ divider: Color3;
32
+ focus: Color3;
33
+ action: {
34
+ hover: Color3;
35
+ pressed: Color3;
36
+ selected: Color3;
37
+ disabled: Color3;
38
+ };
39
+ status: {
40
+ success: StatusRole;
41
+ warning: StatusRole;
42
+ error: StatusRole;
43
+ info: StatusRole;
25
44
  };
45
+ backdrop: Color3;
46
+ shadow: Color3;
26
47
  }
@@ -10,4 +10,3 @@ export { default as Turquoise } from "./Turquoise";
10
10
  export { default as Yellow } from "./Yellow";
11
11
  export { default as Dark } from "./Dark";
12
12
  export { default as Light } from "./Light";
13
- export { default as Colors } from "./Colors";
@@ -1,3 +1,4 @@
1
1
  export * from "./colors/index";
2
2
  export { ColorTokens } from "./colorTokens/index";
3
3
  export { default as Palette } from "./Palette";
4
+ export type { BrandRole, StatusRole } from "./Palette";
@@ -1,14 +1,27 @@
1
+ import { ThemeDensity } from "../density/index";
1
2
  import { Palette } from "../palette/index";
2
3
  import { Padding, Shape, Spacing } from "../spacing/index";
3
4
  import { ThemeTypography } from "../typography/index";
4
5
  import ThemeOptions from "./ThemeOptions";
5
6
  interface Theme {
6
7
  type: string;
8
+ density: ThemeDensity;
9
+ reducedMotion?: boolean;
7
10
  options: ThemeOptions;
8
11
  palette: Palette;
9
12
  padding: Padding;
10
13
  shape: Shape;
11
14
  spacing: Spacing;
12
15
  typography: ThemeTypography;
16
+ components?: {
17
+ [name: string]: {
18
+ defaultProps?: {
19
+ [key: string]: unknown;
20
+ };
21
+ styleOverrides?: {
22
+ [slot: string]: object;
23
+ };
24
+ };
25
+ };
13
26
  }
14
27
  export default Theme;
@@ -1,25 +1,7 @@
1
1
  import { Borders } from "../spacing/index";
2
2
  import { IconSizes } from "../iconSizes/index";
3
- import { ColorTokens } from "../palette/colorTokens/index";
4
- import { CommonColors } from "../palette/colors/Common";
5
- import { Colors } from "../palette/colors/index";
6
3
  export default interface ThemeConstants {
7
4
  contentWidth: number;
8
5
  iconSizes: IconSizes;
9
- colors: Colors;
10
6
  borders: Borders;
11
- extendedPalette: {
12
- Blue: ColorTokens;
13
- Common: CommonColors;
14
- Dark: ColorTokens;
15
- Gray: ColorTokens;
16
- Green: ColorTokens;
17
- Light: ColorTokens;
18
- Magenta: ColorTokens;
19
- Orange: ColorTokens;
20
- Purple: ColorTokens;
21
- Red: ColorTokens;
22
- Turquoise: ColorTokens;
23
- Yellow: ColorTokens;
24
- };
25
7
  }
@@ -1,7 +1,6 @@
1
1
  export { ClassNameMap } from "./types/index";
2
2
  export { WriteableStyle } from "./types/index";
3
- export { ConditionalStylesMap } from "./types/index";
4
3
  export { createStyles } from "./utilities/index";
5
4
  export { makeStyles } from "./utilities/index";
6
- export { classNames } from "./utilities/index";
5
+ export { classNames, cx } from "./utilities/index";
7
6
  export * from "./utilities/index";
@@ -3,7 +3,9 @@ local TS = _G[script]
3
3
  local exports = {}
4
4
  exports.createStyles = TS.import(script, script, "utilities").createStyles
5
5
  exports.makeStyles = TS.import(script, script, "utilities").makeStyles
6
- exports.classNames = TS.import(script, script, "utilities").classNames
6
+ local _utilities = TS.import(script, script, "utilities")
7
+ exports.classNames = _utilities.classNames
8
+ exports.cx = _utilities.cx
7
9
  for _k, _v in TS.import(script, script, "utilities") or {} do
8
10
  exports[_k] = _v
9
11
  end
@@ -1,3 +1,2 @@
1
1
  export { ClassNameMap } from "./styles";
2
2
  export { WriteableStyle } from "./WriteableStyle";
3
- export { ConditionalStylesMap } from "./ConditionalStylesMap";
@@ -1,3 +1,4 @@
1
- import { WriteableStyle, ConditionalStylesMap } from "../types/index";
2
- declare function classNames<T extends Instance>(...args: [...Array<WriteableStyle<T> | undefined>, ConditionalStylesMap<T>] | [...Array<WriteableStyle<T> | undefined>]): WriteableStyle<T>;
1
+ import type { WriteableStyle } from "../types/index";
2
+ declare const classNames: <T extends Instance>(...args: Array<WriteableStyle<T> | false | undefined>) => WriteableStyle<T>;
3
3
  export default classNames;
4
+ export { classNames as cx };
@@ -1,187 +1,21 @@
1
1
  -- Compiled with roblox-ts v3.0.0
2
- local TS = _G[script]
3
- local classNamesInternal = function(conditionalStyles, ...)
4
- local styles = { ... }
2
+ local classNames = function(...)
3
+ local args = { ... }
5
4
  local style = {}
6
- -- ▼ ReadonlyArray.filterUndefined ▼
7
- local _length = 0
8
- for _i in styles do
9
- if _i > _length then
10
- _length = _i
11
- end
12
- end
13
- local _result = {}
14
- local _resultLength = 0
15
- for _i = 1, _length do
16
- local _v = styles[_i]
17
- if _v ~= nil then
18
- _resultLength += 1
19
- _result[_resultLength] = _v
20
- end
21
- end
22
- -- ▲ ReadonlyArray.filterUndefined ▲
23
- -- ▼ ReadonlyArray.forEach ▼
24
- local _callback = function(value)
25
- if value ~= 0 and value == value and value ~= "" and value then
5
+ for _, arg in args do
6
+ if arg ~= false and arg ~= nil then
26
7
  local _object = table.clone(style)
27
8
  setmetatable(_object, nil)
28
- for _k, _v in value do
9
+ for _k, _v in arg do
29
10
  _object[_k] = _v
30
11
  end
31
12
  style = _object
32
13
  end
33
14
  end
34
- for _k, _v in _result do
35
- _callback(_v, _k - 1, _result)
36
- end
37
- -- ▲ ReadonlyArray.forEach ▲
38
- local _result_1 = conditionalStyles
39
- if _result_1 ~= nil then
40
- -- ▼ ReadonlyMap.forEach ▼
41
- local _callback_1 = function(value, key)
42
- if value then
43
- local _object = table.clone(style)
44
- setmetatable(_object, nil)
45
- if key ~= 0 and key == key and key ~= "" and key then
46
- for _k, _v in key do
47
- _object[_k] = _v
48
- end
49
- end
50
- style = _object
51
- end
52
- end
53
- for _k, _v in _result_1 do
54
- _callback_1(_v, _k, _result_1)
55
- end
56
- -- ▲ ReadonlyMap.forEach ▲
57
- end
58
- local _object = table.clone(style)
59
- setmetatable(_object, nil)
60
- return _object
61
- end
62
- -- Use variadic tuple types to allow for multiple WriteableStyle<T> arguments with an optional ConditionalStyles<T> argument at the end
63
- local function classNames(...)
64
- local args = { ... }
65
- -- Check if last argument is ConditionalStyles
66
- local hasConditionalStyles = function(args)
67
- local _exitType, _returns = TS.try(function()
68
- local lastArg = args[#args]
69
- -- If the last argument is undefined or not a table then its not a ConditionalStyles<T>
70
- -- Map<K, V> compiles to a table literal (ref: https://roblox-ts.com/docs/api/constructors)
71
- if lastArg == nil or not (type(lastArg) == "table") then
72
- return TS.TRY_RETURN, { false }
73
- end
74
- local lastArgAsConditionalStylesMap = lastArg
75
- local matchesMapFormat = true
76
- local _result = lastArgAsConditionalStylesMap
77
- if _result ~= nil then
78
- -- ▼ ReadonlyMap.forEach ▼
79
- local _callback = function(value, key)
80
- -- Assume that the last argument is a ConditionalStyles<T> with correct format (Map<WriteableStyle<T>, boolean>)
81
- -- If the key is not a WriteableStyle<T> then it does not match the format
82
- -- If the value is not a boolean then it does not match the format
83
- local _value = value
84
- local _condition = not (type(_value) == "boolean")
85
- if not _condition then
86
- local _key = key
87
- _condition = not (type(_key) == "table")
88
- end
89
- if _condition then
90
- matchesMapFormat = false
91
- end
92
- end
93
- for _k, _v in _result do
94
- _callback(_v, _k, _result)
95
- end
96
- -- ▲ ReadonlyMap.forEach ▲
97
- end
98
- return TS.TRY_RETURN, { matchesMapFormat }
99
- end, function()
100
- -- If we catch an error, it means that the last argument is not a ConditionalStyles<T>
101
- return TS.TRY_RETURN, { false }
102
- end)
103
- if _exitType then
104
- return unpack(_returns)
105
- end
106
- end
107
- local _exitType, _returns = TS.try(function()
108
- if hasConditionalStyles(args) then
109
- -- Handle case with ConditionalStyles
110
- -- ▼ Array.pop ▼
111
- local _length = #args
112
- local _result = args[_length]
113
- args[_length] = nil
114
- -- ▲ Array.pop ▲
115
- local conditionalStyles = _result
116
- local styles = args
117
- -- ConditionalStyles<T> is the last argument
118
- -- ▼ ReadonlyArray.filterUndefined ▼
119
- local _length_1 = 0
120
- for _i in styles do
121
- if _i > _length_1 then
122
- _length_1 = _i
123
- end
124
- end
125
- local _result_1 = {}
126
- local _resultLength = 0
127
- for _i = 1, _length_1 do
128
- local _v = styles[_i]
129
- if _v ~= nil then
130
- _resultLength += 1
131
- _result_1[_resultLength] = _v
132
- end
133
- end
134
- -- ▲ ReadonlyArray.filterUndefined ▲
135
- return TS.TRY_RETURN, { classNamesInternal(conditionalStyles, unpack(_result_1)) }
136
- end
137
- end, function()
138
- -- If we catch an error, like attempt to iterate over a string value, it means that the last argument is not a ConditionalStyles<T>
139
- local styles = args
140
- -- ▼ ReadonlyArray.filterUndefined ▼
141
- local _length = 0
142
- for _i in styles do
143
- if _i > _length then
144
- _length = _i
145
- end
146
- end
147
- local _result = {}
148
- local _resultLength = 0
149
- for _i = 1, _length do
150
- local _v = styles[_i]
151
- if _v ~= nil then
152
- _resultLength += 1
153
- _result[_resultLength] = _v
154
- end
155
- end
156
- -- ▲ ReadonlyArray.filterUndefined ▲
157
- return TS.TRY_RETURN, { classNamesInternal(nil, unpack(_result)) }
158
- end)
159
- if _exitType then
160
- return unpack(_returns)
161
- end
162
- -- Handle case without ConditionalStyles
163
- -- All args are WriteableStyle<T>
164
- local styles = args
165
- -- ▼ ReadonlyArray.filterUndefined ▼
166
- local _length = 0
167
- for _i in styles do
168
- if _i > _length then
169
- _length = _i
170
- end
171
- end
172
- local _result = {}
173
- local _resultLength = 0
174
- for _i = 1, _length do
175
- local _v = styles[_i]
176
- if _v ~= nil then
177
- _resultLength += 1
178
- _result[_resultLength] = _v
179
- end
180
- end
181
- -- ▲ ReadonlyArray.filterUndefined ▲
182
- return classNamesInternal(nil, unpack(_result))
15
+ return style
183
16
  end
184
17
  local default = classNames
185
18
  return {
186
19
  default = default,
20
+ cx = classNames,
187
21
  }
@@ -0,0 +1,7 @@
1
+ import { Theme } from "../../interfaces/theme/index";
2
+ import { ClassNameMap } from "../types/styles";
3
+ type TMakeStyles<ClassKey extends string = string> = (theme: Theme) => ClassNameMap<ClassKey>;
4
+ type TMakeStylesWithProps<Props, ClassKey extends string = string> = (theme: Theme, props: Props) => ClassNameMap<ClassKey>;
5
+ type TVariantF<Props> = keyof Props extends never ? TMakeStyles : TMakeStylesWithProps<Props>;
6
+ declare const componentStyles: <Props = {}, ClassKey extends string = string>(name: string, factory: TVariantF<Props>) => keyof Props extends never ? () => ClassNameMap<ClassKey> : (props: Props) => ClassNameMap<ClassKey>;
7
+ export default componentStyles;
@@ -0,0 +1,31 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local _componentTheme = TS.import(script, script.Parent, "componentTheme")
4
+ local propsWithDefaults = _componentTheme.propsWithDefaults
5
+ local slotsWithOverrides = _componentTheme.slotsWithOverrides
6
+ local makeStyles = TS.import(script, script.Parent, "makeStyles").default
7
+ local componentStyles = function(name, factory)
8
+ return makeStyles((function(theme, props)
9
+ local _spec = theme.components
10
+ if _spec ~= nil then
11
+ _spec = _spec[name]
12
+ end
13
+ local spec = _spec
14
+ local _result = spec
15
+ if _result ~= nil then
16
+ _result = _result.defaultProps
17
+ end
18
+ local merged = propsWithDefaults(_result, props)
19
+ local paint = factory
20
+ local _exp = paint(theme, merged)
21
+ local _result_1 = spec
22
+ if _result_1 ~= nil then
23
+ _result_1 = _result_1.styleOverrides
24
+ end
25
+ return slotsWithOverrides(_exp, _result_1)
26
+ end))
27
+ end
28
+ local default = componentStyles
29
+ return {
30
+ default = default,
31
+ }
@@ -0,0 +1,20 @@
1
+ export interface ComponentSpec {
2
+ defaultProps?: {
3
+ [key: string]: unknown;
4
+ };
5
+ styleOverrides?: {
6
+ [slot: string]: object;
7
+ };
8
+ }
9
+ export declare function propsWithDefaults(defaults: {
10
+ [key: string]: unknown;
11
+ } | undefined, props: {
12
+ [key: string]: unknown;
13
+ } | undefined): {
14
+ [key: string]: unknown;
15
+ };
16
+ export declare function slotsWithOverrides<Slots extends {
17
+ [slot: string]: object;
18
+ }>(slots: Slots, overrides: {
19
+ [slot: string]: object;
20
+ } | undefined): Slots;
@@ -0,0 +1,53 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local function propsWithDefaults(defaults, props)
3
+ if defaults == nil then
4
+ return props or {}
5
+ end
6
+ local merged = {}
7
+ for key, value in pairs(defaults) do
8
+ merged[key] = value
9
+ end
10
+ if props ~= nil then
11
+ for key, value in pairs(props) do
12
+ if value ~= nil then
13
+ merged[key] = value
14
+ end
15
+ end
16
+ end
17
+ return merged
18
+ end
19
+ local function slotsWithOverrides(slots, overrides)
20
+ if overrides == nil then
21
+ return slots
22
+ end
23
+ local _object = table.clone(slots)
24
+ setmetatable(_object, nil)
25
+ local painted = _object
26
+ for slot, style in pairs(overrides) do
27
+ local name = slot
28
+ local current = painted[name]
29
+ local _result
30
+ if current == nil then
31
+ _result = style
32
+ else
33
+ local _object_1 = {}
34
+ if current then
35
+ for _k, _v in current do
36
+ _object_1[_k] = _v
37
+ end
38
+ end
39
+ if style then
40
+ for _k, _v in style do
41
+ _object_1[_k] = _v
42
+ end
43
+ end
44
+ _result = _object_1
45
+ end
46
+ painted[name] = _result
47
+ end
48
+ return painted
49
+ end
50
+ return {
51
+ propsWithDefaults = propsWithDefaults,
52
+ slotsWithOverrides = slotsWithOverrides,
53
+ }
@@ -1,3 +1,2 @@
1
- import { ClassNameMap } from "../types/styles";
2
- declare const createStyles: <ClassKey extends string = string>(styles: ClassNameMap<ClassKey>) => ClassNameMap<ClassKey>;
1
+ declare const createStyles: <Styles extends Record<string, object>>(styles: Styles) => Styles;
3
2
  export default createStyles;
@@ -1,3 +1,7 @@
1
1
  export { default as createStyles } from "./createStyles";
2
2
  export { default as makeStyles } from "./makeStyles";
3
- export { default as classNames } from "./classNames";
3
+ export { default as classNames, cx } from "./classNames";
4
+ export { applyVariants, CompoundVariant } from "./variants";
5
+ export { default as componentStyles } from "./componentStyles";
6
+ export { resolveResponsive, Responsive } from "../../../hooks/breakpoints";
7
+ export { interactionStyle, InteractionSlots, InteractionState } from "./interaction";
@@ -3,5 +3,11 @@ local TS = _G[script]
3
3
  local exports = {}
4
4
  exports.createStyles = TS.import(script, script, "createStyles").default
5
5
  exports.makeStyles = TS.import(script, script, "makeStyles").default
6
- exports.classNames = TS.import(script, script, "classNames").default
6
+ local _classNames = TS.import(script, script, "classNames")
7
+ exports.classNames = _classNames.default
8
+ exports.cx = _classNames.cx
9
+ exports.applyVariants = TS.import(script, script, "variants").applyVariants
10
+ exports.componentStyles = TS.import(script, script, "componentStyles").default
11
+ exports.resolveResponsive = TS.import(script, script.Parent.Parent.Parent, "hooks", "breakpoints").resolveResponsive
12
+ exports.interactionStyle = TS.import(script, script, "interaction").interactionStyle
7
13
  return exports