@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,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, resolveStyle, StyleSelectorKey, StyleState, StyleWithSelectors, } from "./resolveStyle";
@@ -3,5 +3,13 @@ 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
+ local _resolveStyle = TS.import(script, script, "resolveStyle")
13
+ exports.interactionStyle = _resolveStyle.interactionStyle
14
+ exports.resolveStyle = _resolveStyle.resolveStyle
7
15
  return exports
@@ -2,29 +2,28 @@
2
2
  local TS = _G[script]
3
3
  local DefaultTheme = TS.import(script, script.Parent.Parent.Parent, "themes").default
4
4
  local useTheme = TS.import(script, script.Parent.Parent.Parent, "hooks").useTheme
5
+ local _styleCache = TS.import(script, script.Parent, "styleCache")
6
+ local createStyleCache = _styleCache.createStyleCache
7
+ local styleDepsKey = _styleCache.styleDepsKey
5
8
  local makeStyles = function(f)
9
+ local read = createStyleCache()
6
10
  return function(props)
7
- local _exitType, _returns = TS.try(function()
8
- local _binding = useTheme()
9
- local theme = _binding.theme
10
- local _fn = f
11
- local _exp = theme or DefaultTheme
12
- local _condition = props
13
- if _condition == nil then
14
- _condition = {}
15
- end
16
- return TS.TRY_RETURN, { _fn(_exp, _condition) }
17
- end, function(e)
11
+ local theme = DefaultTheme
12
+ TS.try(function()
13
+ theme = useTheme().theme or DefaultTheme
14
+ end, function()
15
+ theme = DefaultTheme
16
+ end)
17
+ local record = props
18
+ return read(theme, styleDepsKey(record), function()
18
19
  local _fn = f
20
+ local _exp = theme
19
21
  local _condition = props
20
22
  if _condition == nil then
21
23
  _condition = {}
22
24
  end
23
- return TS.TRY_RETURN, { _fn(DefaultTheme, _condition) }
25
+ return _fn(_exp, _condition)
24
26
  end)
25
- if _exitType then
26
- return unpack(_returns)
27
- end
28
27
  end
29
28
  end
30
29
  local default = makeStyles
@@ -0,0 +1,32 @@
1
+ export type StyleSelectorKey = "_hover" | "_pressed" | "_focus" | "_disabled" | "_selected" | "_checked" | "_first" | "_last";
2
+ export interface StyleState {
3
+ hover?: boolean;
4
+ pressed?: boolean;
5
+ focused?: boolean;
6
+ disabled?: boolean;
7
+ selected?: boolean;
8
+ checked?: boolean;
9
+ first?: boolean;
10
+ last?: boolean;
11
+ }
12
+ export type StyleWithSelectors<T extends object = object> = T & {
13
+ _hover?: Partial<T>;
14
+ _pressed?: Partial<T>;
15
+ _focus?: Partial<T>;
16
+ _disabled?: Partial<T>;
17
+ _selected?: Partial<T>;
18
+ _checked?: Partial<T>;
19
+ _first?: Partial<T>;
20
+ _last?: Partial<T>;
21
+ };
22
+ export interface InteractionSlots<T extends object = object> {
23
+ hover?: T;
24
+ pressed?: T;
25
+ focused?: T;
26
+ disabled?: T;
27
+ }
28
+ export type InteractionState = Pick<StyleState, "hover" | "pressed" | "focused" | "disabled">;
29
+ /** Peels `_hover` / `_pressed` / `_focus` / … and merges active ones onto the Instance props. */
30
+ export declare function resolveStyle<T extends object>(style: StyleWithSelectors<T>, state?: StyleState): T;
31
+ /** Prefer `resolveStyle` with `_hover` keys. Kept for existing call sites. */
32
+ export declare function interactionStyle<T extends object>(base: T, slots: InteractionSlots<T>, state: InteractionState): T;
@@ -0,0 +1,66 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ --* Order matters: later keys win. Structural first, then interaction; `_disabled` last.
3
+ local SELECTORS = { { "_first", "first" }, { "_last", "last" }, { "_selected", "selected" }, { "_checked", "checked" }, { "_hover", "hover" }, { "_pressed", "pressed" }, { "_focus", "focused" }, { "_disabled", "disabled" } }
4
+ local SELECTOR_FLAGS = {
5
+ _hover = true,
6
+ _pressed = true,
7
+ _focus = true,
8
+ _selected = true,
9
+ _checked = true,
10
+ _first = true,
11
+ _last = true,
12
+ _disabled = true,
13
+ }
14
+ --* Peels `_hover` / `_pressed` / `_focus` / … and merges active ones onto the Instance props.
15
+ local function resolveStyle(style, state)
16
+ if state == nil then
17
+ state = {}
18
+ end
19
+ local base = {}
20
+ local patches = {}
21
+ for key, value in pairs(style) do
22
+ local name = key
23
+ if SELECTOR_FLAGS[name] == true then
24
+ patches[name] = value
25
+ else
26
+ base[name] = value
27
+ end
28
+ end
29
+ local painted = base
30
+ for _, _binding in SELECTORS do
31
+ local selector = _binding[1]
32
+ local flag = _binding[2]
33
+ local patch = patches[selector]
34
+ if state[flag] == true and patch ~= nil then
35
+ local _object = {}
36
+ if painted then
37
+ for _k, _v in painted do
38
+ _object[_k] = _v
39
+ end
40
+ end
41
+ for _k, _v in patch do
42
+ _object[_k] = _v
43
+ end
44
+ painted = _object
45
+ end
46
+ end
47
+ return painted
48
+ end
49
+ --* Prefer `resolveStyle` with `_hover` keys. Kept for existing call sites.
50
+ local function interactionStyle(base, slots, state)
51
+ local _object = {}
52
+ if base then
53
+ for _k, _v in base do
54
+ _object[_k] = _v
55
+ end
56
+ end
57
+ _object._hover = slots.hover
58
+ _object._pressed = slots.pressed
59
+ _object._focus = slots.focused
60
+ _object._disabled = slots.disabled
61
+ return resolveStyle(_object, state)
62
+ end
63
+ return {
64
+ resolveStyle = resolveStyle,
65
+ interactionStyle = interactionStyle,
66
+ }
@@ -0,0 +1,2 @@
1
+ export declare function styleDepsKey(props: object | undefined): string;
2
+ export declare function createStyleCache<T extends defined>(): (theme: object, key: string, create: () => T) => T;
@@ -0,0 +1,68 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local KEYED = {
3
+ Color3 = true,
4
+ UDim = true,
5
+ UDim2 = true,
6
+ Vector2 = true,
7
+ Vector3 = true,
8
+ EnumItem = true,
9
+ CFrame = true,
10
+ BrickColor = true,
11
+ }
12
+ local function styleDepsKey(props)
13
+ if props == nil then
14
+ return ""
15
+ end
16
+ local parts = {}
17
+ for key, value in pairs(props) do
18
+ if value == nil then
19
+ continue
20
+ end
21
+ local kind = typeof(value)
22
+ local name = key
23
+ if kind == "string" or kind == "number" or kind == "boolean" then
24
+ local _arg0 = `{name}={value}`
25
+ table.insert(parts, _arg0)
26
+ elseif KEYED[kind] then
27
+ local _arg0 = `{name}={kind}:{tostring(value)}`
28
+ table.insert(parts, _arg0)
29
+ else
30
+ local _arg0 = `{name}=*`
31
+ table.insert(parts, _arg0)
32
+ end
33
+ end
34
+ table.sort(parts)
35
+ local key = ""
36
+ for _, part in parts do
37
+ key = if key == "" then part else `{key}\0{part}`
38
+ end
39
+ return key
40
+ end
41
+ local function createStyleCache()
42
+ local byTheme = {}
43
+ return function(theme, key, create)
44
+ local _theme = theme
45
+ local bucket = byTheme[_theme]
46
+ if bucket == nil then
47
+ bucket = {}
48
+ local _theme_1 = theme
49
+ local _bucket = bucket
50
+ byTheme[_theme_1] = _bucket
51
+ end
52
+ local _bucket = bucket
53
+ local _key = key
54
+ local hit = _bucket[_key]
55
+ if hit ~= nil then
56
+ return hit
57
+ end
58
+ local value = create()
59
+ local _bucket_1 = bucket
60
+ local _key_1 = key
61
+ _bucket_1[_key_1] = value
62
+ return value
63
+ end
64
+ end
65
+ return {
66
+ styleDepsKey = styleDepsKey,
67
+ createStyleCache = createStyleCache,
68
+ }
@@ -0,0 +1,19 @@
1
+ export interface CompoundVariant {
2
+ when: {
3
+ [prop: string]: unknown;
4
+ };
5
+ styles: {
6
+ [slot: string]: object;
7
+ };
8
+ }
9
+ export declare function applyVariants<Slots extends {
10
+ [slot: string]: object;
11
+ }>(base: Slots, props: {
12
+ [prop: string]: unknown;
13
+ }, variants: {
14
+ [prop: string]: {
15
+ [value: string]: {
16
+ [slot: string]: object;
17
+ };
18
+ };
19
+ }, compound?: CompoundVariant[]): Slots;
@@ -0,0 +1,59 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local function paint(slots, patch)
3
+ if patch == nil then
4
+ return nil
5
+ end
6
+ for slot, style in pairs(patch) do
7
+ local name = slot
8
+ local current = slots[name]
9
+ local _result
10
+ if current == nil then
11
+ _result = style
12
+ else
13
+ local _object = {}
14
+ if current then
15
+ for _k, _v in current do
16
+ _object[_k] = _v
17
+ end
18
+ end
19
+ if style then
20
+ for _k, _v in style do
21
+ _object[_k] = _v
22
+ end
23
+ end
24
+ _result = _object
25
+ end
26
+ slots[name] = _result
27
+ end
28
+ end
29
+ local function applyVariants(base, props, variants, compound)
30
+ if compound == nil then
31
+ compound = {}
32
+ end
33
+ local _object = table.clone(base)
34
+ setmetatable(_object, nil)
35
+ local slots = _object
36
+ for prop, options in pairs(variants) do
37
+ local value = props[prop]
38
+ if value == nil then
39
+ continue
40
+ end
41
+ paint(slots, options[tostring(value)])
42
+ end
43
+ for _, rule in compound do
44
+ local matched = true
45
+ for prop, expected in pairs(rule.when) do
46
+ if props[prop] ~= expected then
47
+ matched = false
48
+ break
49
+ end
50
+ end
51
+ if matched then
52
+ paint(slots, rule.styles)
53
+ end
54
+ end
55
+ return slots
56
+ end
57
+ return {
58
+ applyVariants = applyVariants,
59
+ }
@@ -1,57 +1,19 @@
1
1
  -- Compiled with roblox-ts v3.0.0
2
2
  local TS = _G[script]
3
3
  local allFontSizes = TS.import(script, script.Parent.Parent, "interfaces", "typography", "FontSizes").allFontSizes
4
- local _colors = TS.import(script, script.Parent.Parent, "interfaces", "palette", "colors")
5
- local Blue = _colors.Blue
6
- local Gray = _colors.Gray
7
- local Dark = _colors.Dark
8
- local Light = _colors.Light
9
- local Common = _colors.Common
10
- local Red = _colors.Red
11
- local Green = _colors.Green
12
- local Yellow = _colors.Yellow
13
- local Purple = _colors.Purple
14
- local Magenta = _colors.Magenta
15
- local Orange = _colors.Orange
16
- local Turquoise = _colors.Turquoise
17
4
  local _NumberConstants = TS.import(script, script.Parent.Parent, "constants", "NumberConstants")
18
5
  local BORDER_RADIUS = _NumberConstants.BORDER_RADIUS
19
6
  local CONTENT_WIDTH = _NumberConstants.CONTENT_WIDTH
20
7
  local ICON_SIZES = _NumberConstants.ICON_SIZES
21
8
  local PADDING_BASE = _NumberConstants.PADDING_BASE
22
9
  local SPACING_BASE = _NumberConstants.SPACING_BASE
23
- local _ColorConstants = TS.import(script, script.Parent.Parent, "constants", "ColorConstants")
24
- local DARK_THEME_COLORS = _ColorConstants.DARK_THEME_COLORS
25
- local DEFAULT_BORDERS = _ColorConstants.DEFAULT_BORDERS
10
+ local DEFAULT_BORDERS = TS.import(script, script.Parent.Parent, "constants", "ColorConstants").DEFAULT_BORDERS
26
11
  local allFontFamilies = TS.import(script, script.Parent.Parent, "interfaces", "typography", "FontFamilies").allFontFamilies
12
+ local createDarkPalette = TS.import(script, script.Parent, "createPalette").createDarkPalette
27
13
  local DarkTheme = {
28
14
  type = "Dark",
29
- palette = {
30
- error = {
31
- main = Red[50],
32
- },
33
- primary = {
34
- main = Green[50],
35
- },
36
- secondary = {
37
- main = Blue[50],
38
- },
39
- success = {
40
- main = Green[50],
41
- },
42
- text = {
43
- primary = Common.White,
44
- secondary = Dark[70],
45
- },
46
- divider = Gray[70],
47
- background = {
48
- default = Common.Black,
49
- paper = Gray[90],
50
- },
51
- warning = {
52
- main = Yellow[50],
53
- },
54
- },
15
+ density = "comfortable",
16
+ palette = createDarkPalette(),
55
17
  spacing = {
56
18
  default = SPACING_BASE,
57
19
  calc = function(value)
@@ -75,22 +37,7 @@ local DarkTheme = {
75
37
  constants = {
76
38
  contentWidth = CONTENT_WIDTH,
77
39
  iconSizes = ICON_SIZES,
78
- colors = DARK_THEME_COLORS,
79
40
  borders = DEFAULT_BORDERS,
80
- extendedPalette = {
81
- Blue = Blue,
82
- Common = Common,
83
- Dark = Dark,
84
- Gray = Gray,
85
- Green = Green,
86
- Light = Light,
87
- Magenta = Magenta,
88
- Orange = Orange,
89
- Purple = Purple,
90
- Red = Red,
91
- Turquoise = Turquoise,
92
- Yellow = Yellow,
93
- },
94
41
  },
95
42
  },
96
43
  }
@@ -1,57 +1,19 @@
1
1
  -- Compiled with roblox-ts v3.0.0
2
2
  local TS = _G[script]
3
3
  local allFontSizes = TS.import(script, script.Parent.Parent, "interfaces", "typography", "FontSizes").allFontSizes
4
- local _colors = TS.import(script, script.Parent.Parent, "interfaces", "palette", "colors")
5
- local Blue = _colors.Blue
6
- local Gray = _colors.Gray
7
- local Dark = _colors.Dark
8
- local Light = _colors.Light
9
- local Common = _colors.Common
10
- local Red = _colors.Red
11
- local Green = _colors.Green
12
- local Yellow = _colors.Yellow
13
- local Purple = _colors.Purple
14
- local Magenta = _colors.Magenta
15
- local Orange = _colors.Orange
16
- local Turquoise = _colors.Turquoise
17
4
  local _NumberConstants = TS.import(script, script.Parent.Parent, "constants", "NumberConstants")
18
5
  local BORDER_RADIUS = _NumberConstants.BORDER_RADIUS
19
6
  local CONTENT_WIDTH = _NumberConstants.CONTENT_WIDTH
20
7
  local ICON_SIZES = _NumberConstants.ICON_SIZES
21
8
  local PADDING_BASE = _NumberConstants.PADDING_BASE
22
9
  local SPACING_BASE = _NumberConstants.SPACING_BASE
23
- local _ColorConstants = TS.import(script, script.Parent.Parent, "constants", "ColorConstants")
24
- local LIGHT_THEME_COLORS = _ColorConstants.LIGHT_THEME_COLORS
25
- local DEFAULT_BORDERS = _ColorConstants.DEFAULT_BORDERS
10
+ local DEFAULT_BORDERS = TS.import(script, script.Parent.Parent, "constants", "ColorConstants").DEFAULT_BORDERS
26
11
  local allFontFamilies = TS.import(script, script.Parent.Parent, "interfaces", "typography", "FontFamilies").allFontFamilies
12
+ local createLightPalette = TS.import(script, script.Parent, "createPalette").createLightPalette
27
13
  local LightTheme = {
28
14
  type = "Light",
29
- palette = {
30
- error = {
31
- main = Red[50],
32
- },
33
- primary = {
34
- main = Green[50],
35
- },
36
- secondary = {
37
- main = Blue[50],
38
- },
39
- success = {
40
- main = Green[50],
41
- },
42
- text = {
43
- primary = Common.Black,
44
- secondary = Dark[90],
45
- },
46
- divider = Gray[70],
47
- background = {
48
- default = Common.White,
49
- paper = Gray[10],
50
- },
51
- warning = {
52
- main = Yellow[50],
53
- },
54
- },
15
+ density = "comfortable",
16
+ palette = createLightPalette(),
55
17
  spacing = {
56
18
  default = SPACING_BASE,
57
19
  calc = function(value)
@@ -75,22 +37,7 @@ local LightTheme = {
75
37
  constants = {
76
38
  contentWidth = CONTENT_WIDTH,
77
39
  iconSizes = ICON_SIZES,
78
- colors = LIGHT_THEME_COLORS,
79
40
  borders = DEFAULT_BORDERS,
80
- extendedPalette = {
81
- Blue = Blue,
82
- Common = Common,
83
- Dark = Dark,
84
- Gray = Gray,
85
- Green = Green,
86
- Light = Light,
87
- Magenta = Magenta,
88
- Orange = Orange,
89
- Purple = Purple,
90
- Red = Red,
91
- Turquoise = Turquoise,
92
- Yellow = Yellow,
93
- },
94
41
  },
95
42
  },
96
43
  }
@@ -0,0 +1,3 @@
1
+ import { Palette } from "../interfaces/palette/index";
2
+ export declare const createLightPalette: () => Palette;
3
+ export declare const createDarkPalette: () => Palette;