@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
@@ -0,0 +1,13 @@
1
+ export interface InteractionSlots<T extends object = object> {
2
+ hover?: T;
3
+ pressed?: T;
4
+ focused?: T;
5
+ disabled?: T;
6
+ }
7
+ export interface InteractionState {
8
+ hover?: boolean;
9
+ pressed?: boolean;
10
+ focused?: boolean;
11
+ disabled?: boolean;
12
+ }
13
+ export declare function interactionStyle<T extends object>(base: T, slots: InteractionSlots<T>, state: InteractionState): T;
@@ -0,0 +1,68 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local function interactionStyle(base, slots, state)
3
+ local painted = base
4
+ if state.hover == true and slots.hover ~= nil then
5
+ local _object = {}
6
+ if painted then
7
+ for _k, _v in painted do
8
+ _object[_k] = _v
9
+ end
10
+ end
11
+ local _spread = slots.hover
12
+ if _spread then
13
+ for _k, _v in _spread do
14
+ _object[_k] = _v
15
+ end
16
+ end
17
+ painted = _object
18
+ end
19
+ if state.pressed == true and slots.pressed ~= nil then
20
+ local _object = {}
21
+ if painted then
22
+ for _k, _v in painted do
23
+ _object[_k] = _v
24
+ end
25
+ end
26
+ local _spread = slots.pressed
27
+ if _spread then
28
+ for _k, _v in _spread do
29
+ _object[_k] = _v
30
+ end
31
+ end
32
+ painted = _object
33
+ end
34
+ if state.focused == true and slots.focused ~= 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
+ local _spread = slots.focused
42
+ if _spread then
43
+ for _k, _v in _spread do
44
+ _object[_k] = _v
45
+ end
46
+ end
47
+ painted = _object
48
+ end
49
+ if state.disabled == true and slots.disabled ~= nil then
50
+ local _object = {}
51
+ if painted then
52
+ for _k, _v in painted do
53
+ _object[_k] = _v
54
+ end
55
+ end
56
+ local _spread = slots.disabled
57
+ if _spread then
58
+ for _k, _v in _spread do
59
+ _object[_k] = _v
60
+ end
61
+ end
62
+ painted = _object
63
+ end
64
+ return painted
65
+ end
66
+ return {
67
+ interactionStyle = interactionStyle,
68
+ }
@@ -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,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;
@@ -0,0 +1,111 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local _colors = TS.import(script, script.Parent.Parent, "interfaces", "palette", "colors")
4
+ local Blue = _colors.Blue
5
+ local Common = _colors.Common
6
+ local Gray = _colors.Gray
7
+ local Green = _colors.Green
8
+ local Purple = _colors.Purple
9
+ local Red = _colors.Red
10
+ local Yellow = _colors.Yellow
11
+ local _colorMath = TS.import(script, script.Parent.Parent, "utilites", "colorMath")
12
+ local lighten = _colorMath.lighten
13
+ local mix = _colorMath.mix
14
+ local brand = function(main, on, hover, pressed)
15
+ return {
16
+ main = main,
17
+ on = on,
18
+ hover = hover,
19
+ pressed = pressed,
20
+ }
21
+ end
22
+ local status = function(main, on, surface, border)
23
+ return {
24
+ main = main,
25
+ on = on,
26
+ surface = surface,
27
+ border = border,
28
+ }
29
+ end
30
+ local createLightPalette = function()
31
+ local primaryMain = Blue[80]
32
+ local accentMain = Purple[70]
33
+ return {
34
+ surface = {
35
+ canvas = Common.White,
36
+ paper = Gray[20],
37
+ elevated = Common.White,
38
+ overlay = Common.White,
39
+ input = Common.White,
40
+ },
41
+ primary = brand(primaryMain, Common.White, Blue[70], Blue[90]),
42
+ accent = brand(accentMain, Common.White, Purple[60], Purple[80]),
43
+ text = {
44
+ primary = Common.Black,
45
+ secondary = Gray[70],
46
+ disabled = Gray[60],
47
+ inverse = Common.White,
48
+ link = Blue[80],
49
+ },
50
+ border = Gray[70],
51
+ divider = Gray[50],
52
+ focus = Blue[80],
53
+ action = {
54
+ hover = mix(Gray[40], Common.White, 0.35),
55
+ pressed = Gray[40],
56
+ selected = Blue[10],
57
+ disabled = Gray[60],
58
+ },
59
+ status = {
60
+ success = status(Green[90], Common.White, Green[10], Green[80]),
61
+ warning = status(Yellow[100], Common.White, Yellow[10], Yellow[90]),
62
+ error = status(Red[80], Common.White, Red[10], Red[70]),
63
+ info = status(Blue[90], Common.White, Blue[10], Blue[80]),
64
+ },
65
+ backdrop = Common.Black,
66
+ shadow = Common.Black,
67
+ }
68
+ end
69
+ local createDarkPalette = function()
70
+ local primaryMain = Blue[50]
71
+ local accentMain = Purple[40]
72
+ return {
73
+ surface = {
74
+ canvas = Common.Black,
75
+ paper = Gray[100],
76
+ elevated = Gray[90],
77
+ overlay = Gray[80],
78
+ input = Gray[100],
79
+ },
80
+ primary = brand(primaryMain, Common.Black, Blue[40], Blue[60]),
81
+ accent = brand(accentMain, Common.Black, Purple[30], Purple[50]),
82
+ text = {
83
+ primary = Common.White,
84
+ secondary = Gray[50],
85
+ disabled = Gray[70],
86
+ inverse = Common.Black,
87
+ link = Blue[40],
88
+ },
89
+ border = Gray[60],
90
+ divider = Gray[70],
91
+ focus = Blue[50],
92
+ action = {
93
+ hover = lighten(Gray[90], 0.08),
94
+ pressed = Gray[80],
95
+ selected = mix(Blue[110], Gray[90], 0.45),
96
+ disabled = Gray[70],
97
+ },
98
+ status = {
99
+ success = status(Green[50], Common.Black, Green[110], Green[60]),
100
+ warning = status(Yellow[60], Common.Black, Yellow[110], Yellow[70]),
101
+ error = status(Red[50], Common.Black, Red[110], Red[60]),
102
+ info = status(Blue[50], Common.Black, Blue[110], Blue[60]),
103
+ },
104
+ backdrop = Common.Black,
105
+ shadow = Common.Black,
106
+ }
107
+ end
108
+ return {
109
+ createLightPalette = createLightPalette,
110
+ createDarkPalette = createDarkPalette,
111
+ }
@@ -1,3 +1,4 @@
1
1
  export { default } from "./DarkTheme";
2
2
  export { default as DarkTheme } from "./DarkTheme";
3
3
  export { default as LightTheme } from "./LightTheme";
4
+ export { createDarkPalette, createLightPalette } from "./createPalette";
@@ -4,4 +4,7 @@ local exports = {}
4
4
  exports.default = TS.import(script, script, "DarkTheme").default
5
5
  exports.DarkTheme = TS.import(script, script, "DarkTheme").default
6
6
  exports.LightTheme = TS.import(script, script, "LightTheme").default
7
+ local _createPalette = TS.import(script, script, "createPalette")
8
+ exports.createDarkPalette = _createPalette.createDarkPalette
9
+ exports.createLightPalette = _createPalette.createLightPalette
7
10
  return exports
@@ -2,6 +2,7 @@ import React, { PropsWithChildren } from "@rbxts/react";
2
2
  import { WriteableStyle } from "../interfaces/index";
3
3
  export interface CommonProps<T extends Instance> extends PropsWithChildren {
4
4
  className?: WriteableStyle<T>;
5
+ sx?: WriteableStyle<T>;
5
6
  component?: T;
6
7
  id?: React.Key;
7
8
  ref?: React.Ref<T>;
@@ -0,0 +1,8 @@
1
+ /** WCAG relative luminance for a Color3 (sRGB, 0–1 channels). */
2
+ export declare const relativeLuminance: (color: Color3) => number;
3
+ /** WCAG contrast ratio between two colors (≥1). */
4
+ export declare const contrastRatio: (a: Color3, b: Color3) => number;
5
+ /** Deterministic channel mix. `t` is 0→a … 1→b. */
6
+ export declare const mix: (a: Color3, b: Color3, t: number) => Color3;
7
+ export declare const lighten: (color: Color3, amount: number) => Color3;
8
+ export declare const darken: (color: Color3, amount: number) => Color3;
@@ -0,0 +1,35 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local channel = function(value)
3
+ local c = if value <= 0.03928 then value / 12.92 else math.pow((value + 0.055) / 1.055, 2.4)
4
+ return c
5
+ end
6
+ --* WCAG relative luminance for a Color3 (sRGB, 0–1 channels).
7
+ local relativeLuminance = function(color)
8
+ return 0.2126 * channel(color.R) + 0.7152 * channel(color.G) + 0.0722 * channel(color.B)
9
+ end
10
+ --* WCAG contrast ratio between two colors (≥1).
11
+ local contrastRatio = function(a, b)
12
+ local l1 = relativeLuminance(a)
13
+ local l2 = relativeLuminance(b)
14
+ local lighter = math.max(l1, l2)
15
+ local darker = math.min(l1, l2)
16
+ return (lighter + 0.05) / (darker + 0.05)
17
+ end
18
+ --* Deterministic channel mix. `t` is 0→a … 1→b.
19
+ local mix = function(a, b, t)
20
+ local u = math.max(0, math.min(1, t))
21
+ return Color3.new(a.R + (b.R - a.R) * u, a.G + (b.G - a.G) * u, a.B + (b.B - a.B) * u)
22
+ end
23
+ local lighten = function(color, amount)
24
+ return mix(color, Color3.new(1, 1, 1), amount)
25
+ end
26
+ local darken = function(color, amount)
27
+ return mix(color, Color3.new(0, 0, 0), amount)
28
+ end
29
+ return {
30
+ relativeLuminance = relativeLuminance,
31
+ contrastRatio = contrastRatio,
32
+ mix = mix,
33
+ lighten = lighten,
34
+ darken = darken,
35
+ }
@@ -1 +1,2 @@
1
1
  export { default as Color3FromHex } from "./Color3FromHex";
2
+ export { contrastRatio, darken, lighten, mix, relativeLuminance } from "./colorMath";
@@ -2,4 +2,10 @@
2
2
  local TS = _G[script]
3
3
  local exports = {}
4
4
  exports.Color3FromHex = TS.import(script, script, "Color3FromHex").default
5
+ local _colorMath = TS.import(script, script, "colorMath")
6
+ exports.contrastRatio = _colorMath.contrastRatio
7
+ exports.darken = _colorMath.darken
8
+ exports.lighten = _colorMath.lighten
9
+ exports.mix = _colorMath.mix
10
+ exports.relativeLuminance = _colorMath.relativeLuminance
5
11
  return exports
@@ -28,13 +28,17 @@ export declare enum Icons {
28
28
  NewspaperVariant1 = "rbxassetid://9056545367",
29
29
  NewspaperVariant2 = "rbxassetid://9056545251",
30
30
  NewspaperVariant3 = "rbxassetid://9056545032",
31
+ PageLayoutSidebarRight = "rbxassetid://94615499225611",
31
32
  Close = "rbxassetid://9070598165",
32
33
  CloseCircle = "rbxassetid://9070597768",
34
+ Search = "rbxasset://textures/ui/SearchIcon.png",
33
35
  Collapsed = "rbxassetid://9306279342",
34
36
  Expanded = "rbxassetid://9306279848",
35
37
  Book = "rbxassetid://9311703342",
36
38
  BookStack = "rbxassetid://9311703545",
37
39
  ListPrimary = "rbxassetid://9306610505",
38
40
  LightTheme = "rbxassetid://9377269022",
39
- DarkTheme = "rbxassetid://9377269322"
41
+ DarkTheme = "rbxassetid://9377269322",
42
+ Star = "rbxassetid://7072723006",
43
+ StarFilled = "rbxassetid://14717297422"
40
44
  }
@@ -29,8 +29,10 @@ local Icons = {
29
29
  NewspaperVariant1 = "rbxassetid://9056545367",
30
30
  NewspaperVariant2 = "rbxassetid://9056545251",
31
31
  NewspaperVariant3 = "rbxassetid://9056545032",
32
+ PageLayoutSidebarRight = "rbxassetid://94615499225611",
32
33
  Close = "rbxassetid://9070598165",
33
34
  CloseCircle = "rbxassetid://9070597768",
35
+ Search = "rbxasset://textures/ui/SearchIcon.png",
34
36
  Collapsed = "rbxassetid://9306279342",
35
37
  Expanded = "rbxassetid://9306279848",
36
38
  Book = "rbxassetid://9311703342",
@@ -38,6 +40,8 @@ local Icons = {
38
40
  ListPrimary = "rbxassetid://9306610505",
39
41
  LightTheme = "rbxassetid://9377269022",
40
42
  DarkTheme = "rbxassetid://9377269322",
43
+ Star = "rbxassetid://7072723006",
44
+ StarFilled = "rbxassetid://14717297422",
41
45
  }
42
46
  return {
43
47
  Icons = Icons,