@rbxts/uiblox 0.2.0-alpha.0 → 0.2.0-alpha.10

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 (218) hide show
  1. package/README.md +51 -34
  2. package/out/theme/constants/NumberConstants.d.ts +4 -2
  3. package/out/theme/constants/NumberConstants.luau +6 -4
  4. package/out/theme/context/ThemeProvider.d.ts +1 -1
  5. package/out/theme/hooks/useTheme.d.ts +1 -1
  6. package/out/theme/interfaces/palette/colorTokens/ColorTokens.d.ts +1 -1
  7. package/out/theme/interfaces/spacing/Shape.d.ts +3 -0
  8. package/out/theme/interfaces/typography/FontSizes.d.ts +1 -1
  9. package/out/theme/interfaces/typography/FontSizes.luau +15 -8
  10. package/out/theme/interfaces/typography/ThemeTypography.d.ts +3 -0
  11. package/out/theme/interfaces/typography/Variants.d.ts +14 -15
  12. package/out/theme/interfaces/typography/Variants.luau +68 -18
  13. package/out/theme/styles/utilities/index.d.ts +1 -1
  14. package/out/theme/styles/utilities/init.luau +3 -1
  15. package/out/theme/styles/utilities/resolveStyle.d.ts +32 -0
  16. package/out/theme/styles/utilities/resolveStyle.luau +66 -0
  17. package/out/theme/themes/DarkTheme.luau +4 -0
  18. package/out/theme/themes/LightTheme.luau +4 -0
  19. package/out/theme/types/types.d.ts +1 -1
  20. package/out/ui/packages/accordion/components/Accordion.d.ts +1 -0
  21. package/out/ui/packages/accordion/components/Accordion.luau +5 -0
  22. package/out/ui/packages/accordion/components/Accordion.styles.d.ts +1 -0
  23. package/out/ui/packages/accordion/components/Accordion.styles.luau +4 -2
  24. package/out/ui/packages/alert/components/Alert.d.ts +10 -0
  25. package/out/ui/packages/alert/components/Alert.luau +98 -0
  26. package/out/ui/packages/alert/components/Alert.styles.d.ts +6 -0
  27. package/out/ui/packages/alert/components/Alert.styles.luau +93 -0
  28. package/out/ui/packages/alert/components/alertTone.d.ts +2 -0
  29. package/out/ui/packages/alert/components/alertTone.luau +7 -0
  30. package/out/ui/packages/alert/index.d.ts +3 -0
  31. package/out/ui/packages/alert/init.luau +6 -0
  32. package/out/ui/packages/appBar/components/AppBar.d.ts +10 -0
  33. package/out/ui/packages/appBar/components/AppBar.luau +77 -0
  34. package/out/ui/packages/appBar/components/AppBar.styles.d.ts +6 -0
  35. package/out/ui/packages/appBar/components/AppBar.styles.luau +66 -0
  36. package/out/ui/packages/appBar/index.d.ts +3 -0
  37. package/out/ui/packages/appBar/init.luau +5 -0
  38. package/out/ui/packages/autocomplete/components/Autocomplete.luau +10 -0
  39. package/out/ui/packages/backdrop/components/Backdrop.d.ts +10 -0
  40. package/out/ui/packages/backdrop/components/Backdrop.luau +58 -0
  41. package/out/ui/packages/backdrop/components/Backdrop.styles.d.ts +4 -0
  42. package/out/ui/packages/backdrop/components/Backdrop.styles.luau +24 -0
  43. package/out/ui/packages/backdrop/index.d.ts +2 -0
  44. package/out/ui/packages/backdrop/init.luau +5 -0
  45. package/out/ui/packages/badge/components/Badge.styles.luau +6 -3
  46. package/out/ui/packages/bottomNavigation/components/BottomNavigation.d.ts +10 -0
  47. package/out/ui/packages/bottomNavigation/components/BottomNavigation.luau +86 -0
  48. package/out/ui/packages/bottomNavigation/components/BottomNavigation.styles.d.ts +2 -0
  49. package/out/ui/packages/bottomNavigation/components/BottomNavigation.styles.luau +58 -0
  50. package/out/ui/packages/bottomNavigation/index.d.ts +2 -0
  51. package/out/ui/packages/bottomNavigation/init.luau +5 -0
  52. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.d.ts +1 -0
  53. package/out/ui/packages/breadcrumbs/components/Breadcrumbs.luau +58 -24
  54. package/out/ui/packages/breadcrumbs/components/breadcrumbItems.d.ts +9 -0
  55. package/out/ui/packages/breadcrumbs/components/breadcrumbItems.luau +68 -0
  56. package/out/ui/packages/breadcrumbs/index.d.ts +1 -0
  57. package/out/ui/packages/breadcrumbs/init.luau +3 -0
  58. package/out/ui/packages/brickColorPicker/components/brickColorCatalog.luau +1 -1
  59. package/out/ui/packages/button/components/Button.luau +9 -5
  60. package/out/ui/packages/button/components/Button.styles.luau +0 -6
  61. package/out/ui/packages/button/components/buttonLook.d.ts +2 -2
  62. package/out/ui/packages/checkbox/components/checkboxLook.d.ts +1 -1
  63. package/out/ui/packages/chip/components/Chip.d.ts +3 -1
  64. package/out/ui/packages/chip/components/Chip.luau +39 -2
  65. package/out/ui/packages/chip/components/Chip.styles.d.ts +3 -0
  66. package/out/ui/packages/chip/components/Chip.styles.luau +40 -6
  67. package/out/ui/packages/circularProgress/components/CircularProgress.luau +13 -2
  68. package/out/ui/packages/dialog/components/Dialog.d.ts +1 -1
  69. package/out/ui/packages/dialog/components/Dialog.luau +27 -18
  70. package/out/ui/packages/fab/components/Fab.d.ts +14 -0
  71. package/out/ui/packages/fab/components/Fab.luau +160 -0
  72. package/out/ui/packages/fab/components/Fab.styles.d.ts +8 -0
  73. package/out/ui/packages/fab/components/Fab.styles.luau +65 -0
  74. package/out/ui/packages/fab/components/fabSize.d.ts +4 -0
  75. package/out/ui/packages/fab/components/fabSize.luau +33 -0
  76. package/out/ui/packages/fab/index.d.ts +3 -0
  77. package/out/ui/packages/fab/init.luau +9 -0
  78. package/out/ui/packages/formText/components/FormHelperText.d.ts +8 -0
  79. package/out/ui/packages/formText/components/FormHelperText.luau +44 -0
  80. package/out/ui/packages/formText/components/FormLabel.d.ts +9 -0
  81. package/out/ui/packages/formText/components/FormLabel.luau +46 -0
  82. package/out/ui/packages/formText/components/FormText.styles.d.ts +5 -0
  83. package/out/ui/packages/formText/components/FormText.styles.luau +33 -0
  84. package/out/ui/packages/formText/index.d.ts +4 -0
  85. package/out/ui/packages/formText/init.luau +6 -0
  86. package/out/ui/packages/icon/components/Icon.styles.luau +4 -4
  87. package/out/ui/packages/iconButton/components/IconButton.luau +7 -2
  88. package/out/ui/packages/iconButton/components/IconButton.styles.luau +7 -4
  89. package/out/ui/packages/imageList/components/ImageList.d.ts +14 -0
  90. package/out/ui/packages/imageList/components/ImageList.luau +84 -0
  91. package/out/ui/packages/imageList/components/ImageList.styles.d.ts +6 -0
  92. package/out/ui/packages/imageList/components/ImageList.styles.luau +54 -0
  93. package/out/ui/packages/imageList/components/imageListLayout.d.ts +3 -0
  94. package/out/ui/packages/imageList/components/imageListLayout.luau +24 -0
  95. package/out/ui/packages/imageList/index.d.ts +2 -0
  96. package/out/ui/packages/imageList/init.luau +5 -0
  97. package/out/ui/packages/index.d.ts +11 -0
  98. package/out/ui/packages/init.luau +33 -0
  99. package/out/ui/packages/input/components/Input.d.ts +2 -0
  100. package/out/ui/packages/input/components/Input.luau +64 -27
  101. package/out/ui/packages/input/components/Input.styles.luau +6 -2
  102. package/out/ui/packages/layout/components/Box.d.ts +11 -0
  103. package/out/ui/packages/layout/components/Box.luau +49 -0
  104. package/out/ui/packages/layout/components/Box.styles.d.ts +7 -0
  105. package/out/ui/packages/layout/components/Box.styles.luau +34 -0
  106. package/out/ui/packages/layout/components/Container.d.ts +10 -0
  107. package/out/ui/packages/layout/components/Container.luau +54 -0
  108. package/out/ui/packages/layout/components/Container.styles.d.ts +6 -0
  109. package/out/ui/packages/layout/components/Container.styles.luau +41 -0
  110. package/out/ui/packages/layout/components/Grid.d.ts +1 -1
  111. package/out/ui/packages/layout/components/Stack.d.ts +12 -0
  112. package/out/ui/packages/layout/components/Stack.luau +49 -0
  113. package/out/ui/packages/layout/components/Stack.styles.d.ts +8 -0
  114. package/out/ui/packages/layout/components/Stack.styles.luau +72 -0
  115. package/out/ui/packages/layout/components/boxPad.d.ts +14 -0
  116. package/out/ui/packages/layout/components/boxPad.luau +59 -0
  117. package/out/ui/packages/layout/components/containerWidth.d.ts +2 -0
  118. package/out/ui/packages/layout/components/containerWidth.luau +17 -0
  119. package/out/ui/packages/layout/components/stackAlign.d.ts +8 -0
  120. package/out/ui/packages/layout/components/stackAlign.luau +29 -0
  121. package/out/ui/packages/layout/index.d.ts +10 -0
  122. package/out/ui/packages/layout/init.luau +4 -0
  123. package/out/ui/packages/link/components/Link.d.ts +11 -0
  124. package/out/ui/packages/link/components/Link.luau +83 -0
  125. package/out/ui/packages/link/components/Link.styles.d.ts +8 -0
  126. package/out/ui/packages/link/components/Link.styles.luau +59 -0
  127. package/out/ui/packages/link/index.d.ts +3 -0
  128. package/out/ui/packages/link/init.luau +5 -0
  129. package/out/ui/packages/listItem/components/ListItem.d.ts +1 -0
  130. package/out/ui/packages/listItem/components/ListItem.luau +5 -0
  131. package/out/ui/packages/listItem/components/ListItem.styles.d.ts +1 -0
  132. package/out/ui/packages/listItem/components/ListItem.styles.luau +10 -5
  133. package/out/ui/packages/loadingStroke/components/LoadingStroke.d.ts +2 -0
  134. package/out/ui/packages/loadingStroke/components/LoadingStroke.luau +23 -19
  135. package/out/ui/packages/menu/components/Menu.d.ts +3 -0
  136. package/out/ui/packages/menu/components/Menu.luau +48 -23
  137. package/out/ui/packages/menu/components/Menu.styles.luau +5 -1
  138. package/out/ui/packages/modal/components/Modal.d.ts +1 -1
  139. package/out/ui/packages/modal/components/Modal.luau +55 -37
  140. package/out/ui/packages/motion/index.d.ts +1 -1
  141. package/out/ui/packages/motion/init.luau +1 -0
  142. package/out/ui/packages/motion/unit.d.ts +5 -0
  143. package/out/ui/packages/motion/unit.luau +23 -0
  144. package/out/ui/packages/numberInput/components/NumberInput.d.ts +2 -0
  145. package/out/ui/packages/numberInput/components/NumberInput.luau +4 -0
  146. package/out/ui/packages/pagination/components/Pagination.d.ts +2 -0
  147. package/out/ui/packages/pagination/components/Pagination.luau +37 -21
  148. package/out/ui/packages/pagination/components/Pagination.styles.luau +9 -0
  149. package/out/ui/packages/pagination/components/pageRange.d.ts +2 -1
  150. package/out/ui/packages/pagination/components/pageRange.luau +91 -8
  151. package/out/ui/packages/pagination/index.d.ts +1 -0
  152. package/out/ui/packages/pagination/init.luau +1 -0
  153. package/out/ui/packages/paper/components/Paper.d.ts +1 -0
  154. package/out/ui/packages/paper/components/Paper.luau +8 -3
  155. package/out/ui/packages/popup/index.d.ts +1 -0
  156. package/out/ui/packages/popup/init.luau +1 -0
  157. package/out/ui/packages/radioGroup/components/RadioGroup.d.ts +1 -0
  158. package/out/ui/packages/radioGroup/components/RadioGroup.luau +4 -2
  159. package/out/ui/packages/radioGroup/components/RadioGroup.styles.d.ts +1 -0
  160. package/out/ui/packages/radioGroup/components/RadioGroup.styles.luau +4 -1
  161. package/out/ui/packages/rating/components/Rating.d.ts +9 -0
  162. package/out/ui/packages/rating/components/Rating.luau +95 -0
  163. package/out/ui/packages/rating/components/Rating.styles.d.ts +4 -0
  164. package/out/ui/packages/rating/components/Rating.styles.luau +39 -0
  165. package/out/ui/packages/rating/index.d.ts +2 -0
  166. package/out/ui/packages/rating/init.luau +5 -0
  167. package/out/ui/packages/select/components/Select.d.ts +6 -0
  168. package/out/ui/packages/select/components/Select.luau +74 -27
  169. package/out/ui/packages/select/components/Select.styles.luau +3 -3
  170. package/out/ui/packages/sidebar/components/Sidebar.styles.luau +2 -2
  171. package/out/ui/packages/skeleton/components/Skeleton.luau +3 -2
  172. package/out/ui/packages/skeleton/components/Skeleton.styles.luau +7 -2
  173. package/out/ui/packages/skeleton/components/skeletonMotion.luau +1 -1
  174. package/out/ui/packages/skeleton/components/skeletonTone.d.ts +20 -0
  175. package/out/ui/packages/skeleton/components/skeletonTone.luau +14 -0
  176. package/out/ui/packages/slider/components/Slider.d.ts +1 -0
  177. package/out/ui/packages/slider/components/Slider.luau +24 -1
  178. package/out/ui/packages/slider/components/Slider.styles.luau +8 -0
  179. package/out/ui/packages/slider/components/sliderMarks.d.ts +1 -0
  180. package/out/ui/packages/slider/components/sliderMarks.luau +37 -0
  181. package/out/ui/packages/speedDial/components/SpeedDial.d.ts +17 -0
  182. package/out/ui/packages/speedDial/components/SpeedDial.luau +92 -0
  183. package/out/ui/packages/speedDial/components/SpeedDial.styles.d.ts +2 -0
  184. package/out/ui/packages/speedDial/components/SpeedDial.styles.luau +26 -0
  185. package/out/ui/packages/speedDial/index.d.ts +2 -0
  186. package/out/ui/packages/speedDial/init.luau +5 -0
  187. package/out/ui/packages/splitPane/components/splitLook.d.ts +1 -1
  188. package/out/ui/packages/stateMatrix.d.ts +2 -0
  189. package/out/ui/packages/stateMatrix.luau +1843 -1335
  190. package/out/ui/packages/switch/components/Switch.styles.luau +1 -1
  191. package/out/ui/packages/switch/components/switchLook.d.ts +1 -1
  192. package/out/ui/packages/tabs/components/Tabs.d.ts +2 -0
  193. package/out/ui/packages/tabs/components/Tabs.luau +10 -3
  194. package/out/ui/packages/tabs/components/Tabs.styles.d.ts +4 -1
  195. package/out/ui/packages/tabs/components/Tabs.styles.luau +24 -10
  196. package/out/ui/packages/tabs/components/tabsOrientation.d.ts +2 -0
  197. package/out/ui/packages/tabs/components/tabsOrientation.luau +7 -0
  198. package/out/ui/packages/tabs/index.d.ts +1 -0
  199. package/out/ui/packages/tabs/init.luau +1 -0
  200. package/out/ui/packages/toast/components/Toast.styles.luau +1 -1
  201. package/out/ui/packages/toggleButton/components/ToggleButton.d.ts +17 -0
  202. package/out/ui/packages/toggleButton/components/ToggleButton.luau +126 -0
  203. package/out/ui/packages/toggleButton/components/ToggleButton.styles.d.ts +5 -0
  204. package/out/ui/packages/toggleButton/components/ToggleButton.styles.luau +58 -0
  205. package/out/ui/packages/toggleButton/index.d.ts +2 -0
  206. package/out/ui/packages/toggleButton/init.luau +7 -0
  207. package/out/ui/packages/treeView/components/TreeView.luau +3 -3
  208. package/out/ui/packages/treeView/components/TreeView.styles.luau +3 -3
  209. package/out/ui/packages/typography/components/Typography.styles.luau +4 -5
  210. package/out/ui/packages/virtualList/components/EmptyListHint.d.ts +6 -0
  211. package/out/ui/packages/virtualList/components/EmptyListHint.luau +32 -0
  212. package/out/ui/packages/virtualList/components/EmptyListHint.styles.d.ts +5 -0
  213. package/out/ui/packages/virtualList/components/EmptyListHint.styles.luau +26 -0
  214. package/out/ui/packages/virtualList/index.d.ts +2 -0
  215. package/out/ui/packages/virtualList/init.luau +1 -0
  216. package/package.json +2 -2
  217. package/out/theme/styles/utilities/interaction.d.ts +0 -13
  218. package/out/theme/styles/utilities/interaction.luau +0 -68
@@ -47,7 +47,7 @@ local useSwitchStyles = componentStyles("Switch", function(theme, _param)
47
47
  TextWrapped = true,
48
48
  },
49
49
  corner = {
50
- CornerRadius = UDim.new(1, 0),
50
+ CornerRadius = UDim.new(theme.shape.pillScale, 0),
51
51
  },
52
52
  stroke = {
53
53
  Color = theme.palette.focus,
@@ -1,6 +1,6 @@
1
1
  export type SwitchPointer = "rest" | "hover" | "press" | "focus";
2
2
  export declare function switchPointer(hovering: boolean, pressed: boolean, focused: boolean): SwitchPointer;
3
- export declare function switchTrackTransparency(on: boolean, disabled: boolean, pointer: SwitchPointer): 0 | 0.25 | 0.35 | 0.65 | 0.55 | 0.15 | 0.08;
3
+ export declare function switchTrackTransparency(on: boolean, disabled: boolean, pointer: SwitchPointer): 0 | 0.25 | 0.55 | 0.35 | 0.15 | 0.65 | 0.08;
4
4
  export declare function switchThumbTransparency(disabled: boolean): 0 | 0.35;
5
5
  export declare function switchStrokeTransparency(disabled: boolean, pointer: SwitchPointer): 1 | 0 | 0.35;
6
6
  export declare function switchThumbPlacement(on: boolean, inset: number): {
@@ -1,10 +1,12 @@
1
1
  import { CustomizedProps } from "../../../../theme/index";
2
2
  import { ChoiceOption } from "../../radioGroup/index";
3
+ import { TabsOrientation } from "./tabsOrientation";
3
4
  export interface TabsProps<T> {
4
5
  value: T;
5
6
  options: ChoiceOption<T>[];
6
7
  onChange: (value: T) => void;
7
8
  disabled?: boolean;
9
+ orientation?: TabsOrientation;
8
10
  }
9
11
  declare function Tabs<T>(props: CustomizedProps<ScrollingFrame, TabsProps<T>>): JSX.Element;
10
12
  export default Tabs;
@@ -4,6 +4,7 @@ local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
4
  local cx = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme").cx
5
5
  local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
6
6
  local stepChoice = TS.import(script, script.Parent.Parent.Parent, "select", "components", "stepChoice").stepChoice
7
+ local tabsIsVertical = TS.import(script, script.Parent, "tabsOrientation").tabsIsVertical
7
8
  local useTabsStyles = TS.import(script, script.Parent, "Tabs.styles").default
8
9
  local function Tabs(props)
9
10
  local _binding = props
@@ -11,11 +12,15 @@ local function Tabs(props)
11
12
  local options = _binding.options
12
13
  local onChange = _binding.onChange
13
14
  local disabled = _binding.disabled
15
+ local orientation = _binding.orientation
14
16
  local className = _binding.className
15
17
  local sx = _binding.sx
16
18
  local id = _binding.id
17
19
  local ref = _binding.ref
18
- local styles = useTabsStyles()
20
+ local styles = useTabsStyles({
21
+ orientation = orientation,
22
+ })
23
+ local vertical = tabsIsVertical(orientation)
19
24
  local choose = function(index)
20
25
  local choice = options[index + 1]
21
26
  if choice ~= nil and canActivate(disabled or choice.disabled) and choice.value ~= value then
@@ -36,9 +41,11 @@ local function Tabs(props)
36
41
  end
37
42
  -- ▲ ReadonlyArray.findIndex ▲
38
43
  local index = _result
39
- if input.KeyCode == Enum.KeyCode.Left then
44
+ local back = if vertical then Enum.KeyCode.Up else Enum.KeyCode.Left
45
+ local forward = if vertical then Enum.KeyCode.Down else Enum.KeyCode.Right
46
+ if input.KeyCode == back then
40
47
  choose(stepChoice(options, index, -1))
41
- elseif input.KeyCode == Enum.KeyCode.Right then
48
+ elseif input.KeyCode == forward then
42
49
  choose(stepChoice(options, index, 1))
43
50
  end
44
51
  end
@@ -1,2 +1,5 @@
1
- declare const useTabsStyles: () => import("../../../../theme/index").ClassNameMap<string>;
1
+ import { TabsOrientation } from "./tabsOrientation";
2
+ declare const useTabsStyles: (props: {
3
+ orientation?: TabsOrientation;
4
+ }) => import("../../../../theme/index").ClassNameMap<string>;
2
5
  export default useTabsStyles;
@@ -3,32 +3,38 @@ local TS = _G[script]
3
3
  local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
4
4
  local createStyles = _theme.createStyles
5
5
  local componentStyles = _theme.componentStyles
6
- local useTabsStyles = componentStyles("Tabs", function(theme)
6
+ local tabsIsVertical = TS.import(script, script.Parent, "tabsOrientation").tabsIsVertical
7
+ local useTabsStyles = componentStyles("Tabs", function(theme, _param)
8
+ local orientation = _param.orientation
9
+ local vertical = tabsIsVertical(orientation)
10
+ local bar = theme.padding.calc(0.5)
7
11
  return createStyles({
8
12
  root = {
9
- Size = UDim2.new(1, 0, 0, theme.spacing.calc(2.5)),
13
+ Size = if vertical then UDim2.new(0, theme.spacing.calc(16), 1, 0) else UDim2.new(1, 0, 0, theme.spacing.calc(4)),
10
14
  BackgroundTransparency = 1,
11
15
  BorderSizePixel = 0,
12
16
  CanvasSize = UDim2.fromScale(0, 0),
13
- AutomaticCanvasSize = Enum.AutomaticSize.X,
14
- ScrollingDirection = Enum.ScrollingDirection.X,
17
+ AutomaticCanvasSize = if vertical then Enum.AutomaticSize.Y else Enum.AutomaticSize.X,
18
+ ScrollingDirection = if vertical then Enum.ScrollingDirection.Y else Enum.ScrollingDirection.X,
15
19
  HorizontalScrollBarInset = Enum.ScrollBarInset.Always,
20
+ VerticalScrollBarInset = Enum.ScrollBarInset.Always,
16
21
  ScrollBarThickness = theme.padding.calc(0.5),
17
22
  ScrollBarImageColor3 = theme.palette.text.secondary,
18
23
  },
19
24
  list = {
20
- FillDirection = Enum.FillDirection.Horizontal,
25
+ FillDirection = if vertical then Enum.FillDirection.Vertical else Enum.FillDirection.Horizontal,
21
26
  SortOrder = Enum.SortOrder.LayoutOrder,
22
27
  },
23
28
  tab = {
24
- AutomaticSize = Enum.AutomaticSize.X,
25
- Size = UDim2.fromScale(0, 1),
29
+ AutomaticSize = if vertical then Enum.AutomaticSize.Y else Enum.AutomaticSize.X,
30
+ Size = if vertical then UDim2.new(1, 0, 0, 0) else UDim2.fromScale(0, 1),
26
31
  BackgroundTransparency = 1,
27
32
  BorderSizePixel = 0,
28
33
  AutoButtonColor = false,
29
34
  TextColor3 = theme.palette.text.secondary,
30
35
  Font = theme.typography.fontFamilies.default,
31
36
  TextSize = theme.typography.fontSizes.body,
37
+ TextXAlignment = if vertical then Enum.TextXAlignment.Left else Enum.TextXAlignment.Center,
32
38
  },
33
39
  selected = {
34
40
  TextColor3 = theme.palette.text.primary,
@@ -39,14 +45,22 @@ local useTabsStyles = componentStyles("Tabs", function(theme)
39
45
  padding = {
40
46
  PaddingLeft = UDim.new(0, theme.padding.calc(2)),
41
47
  PaddingRight = UDim.new(0, theme.padding.calc(2)),
48
+ PaddingTop = UDim.new(0, if vertical then theme.padding.calc(1) else 0),
49
+ PaddingBottom = UDim.new(0, if vertical then theme.padding.calc(1) else 0),
42
50
  },
43
- indicator = {
44
- Size = UDim2.new(1, theme.padding.calc(4), 0, theme.padding.calc(0.5)),
51
+ indicator = if vertical then ({
52
+ Size = UDim2.new(0, bar, 1, -theme.padding.calc(2)),
53
+ Position = UDim2.new(0, 0, 0.5, 0),
54
+ AnchorPoint = Vector2.new(0, 0.5),
55
+ BackgroundColor3 = theme.palette.primary.main,
56
+ BorderSizePixel = 0,
57
+ }) else ({
58
+ Size = UDim2.new(1, theme.padding.calc(4), 0, bar),
45
59
  Position = UDim2.fromScale(0.5, 1),
46
60
  AnchorPoint = Vector2.new(0.5, 1),
47
61
  BackgroundColor3 = theme.palette.primary.main,
48
62
  BorderSizePixel = 0,
49
- },
63
+ }),
50
64
  })
51
65
  end)
52
66
  local default = useTabsStyles
@@ -0,0 +1,2 @@
1
+ export type TabsOrientation = "horizontal" | "vertical";
2
+ export declare function tabsIsVertical(orientation?: TabsOrientation): orientation is "vertical";
@@ -0,0 +1,7 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local function tabsIsVertical(orientation)
3
+ return orientation == "vertical"
4
+ end
5
+ return {
6
+ tabsIsVertical = tabsIsVertical,
7
+ }
@@ -1,2 +1,3 @@
1
1
  export { default as Tabs } from "./components/Tabs";
2
2
  export { TabsProps } from "./components/Tabs";
3
+ export { TabsOrientation, tabsIsVertical } from "./components/tabsOrientation";
@@ -2,4 +2,5 @@
2
2
  local TS = _G[script]
3
3
  local exports = {}
4
4
  exports.Tabs = TS.import(script, script, "components", "Tabs").default
5
+ exports.tabsIsVertical = TS.import(script, script, "components", "tabsOrientation").tabsIsVertical
5
6
  return exports
@@ -62,7 +62,7 @@ local useToastStyles = componentStyles("Toast", function(theme, _param)
62
62
  ZIndex = 50001,
63
63
  },
64
64
  close = {
65
- Size = UDim2.new(0, theme.spacing.calc(1), 0, theme.spacing.calc(1)),
65
+ Size = UDim2.new(0, theme.options.constants.iconSizes.small, 0, theme.options.constants.iconSizes.small),
66
66
  Position = UDim2.new(1, -theme.padding.calc(2), 0, theme.padding.calc(2)),
67
67
  AnchorPoint = Vector2.new(1, 0),
68
68
  ImageColor3 = toastColors.content,
@@ -0,0 +1,17 @@
1
+ import { CustomizedProps } from "../../../../theme/index";
2
+ import { ChoiceOption } from "../../radioGroup/index";
3
+ export interface ToggleButtonProps {
4
+ label: string;
5
+ selected?: boolean;
6
+ disabled?: boolean;
7
+ onActivated?: () => void;
8
+ }
9
+ declare function ToggleButton(props: CustomizedProps<TextButton, ToggleButtonProps>): JSX.Element;
10
+ export interface ToggleButtonGroupProps<T> {
11
+ value: T;
12
+ options: ChoiceOption<T>[];
13
+ onChange: (value: T) => void;
14
+ disabled?: boolean;
15
+ }
16
+ export declare function ToggleButtonGroup<T>(props: CustomizedProps<Frame, ToggleButtonGroupProps<T>>): JSX.Element;
17
+ export default ToggleButton;
@@ -0,0 +1,126 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
+ local canActivate = TS.import(script, script.Parent.Parent.Parent, "button", "components", "activation").canActivate
5
+ local useToggleButtonStyles = TS.import(script, script.Parent, "ToggleButton.styles").default
6
+ local function ToggleButton(props)
7
+ local _binding = props
8
+ local label = _binding.label
9
+ local selected = _binding.selected
10
+ local disabled = _binding.disabled
11
+ local onActivated = _binding.onActivated
12
+ local className = _binding.className
13
+ local sx = _binding.sx
14
+ local id = _binding.id
15
+ local ref = _binding.ref
16
+ local styles = useToggleButtonStyles({
17
+ selected = selected,
18
+ disabled = disabled,
19
+ })
20
+ local active = canActivate(disabled)
21
+ local _attributes = {}
22
+ local _condition = id
23
+ if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
24
+ _condition = "ToggleButton"
25
+ end
26
+ _attributes.key = _condition
27
+ _attributes.ref = ref
28
+ for _k, _v in styles.root do
29
+ _attributes[_k] = _v
30
+ end
31
+ if className then
32
+ for _k, _v in className do
33
+ _attributes[_k] = _v
34
+ end
35
+ end
36
+ if sx then
37
+ for _k, _v in sx do
38
+ _attributes[_k] = _v
39
+ end
40
+ end
41
+ _attributes.Text = label
42
+ _attributes.Active = active
43
+ _attributes.Selectable = active
44
+ _attributes.Event = {
45
+ Activated = function()
46
+ if active then
47
+ local _result = onActivated
48
+ if _result ~= nil then
49
+ _result()
50
+ end
51
+ end
52
+ end,
53
+ }
54
+ local _attributes_1 = table.clone(styles.padding)
55
+ setmetatable(_attributes_1, nil)
56
+ local _exp = React.createElement("uipadding", _attributes_1)
57
+ local _attributes_2 = table.clone(styles.corner)
58
+ setmetatable(_attributes_2, nil)
59
+ local _exp_1 = React.createElement("uicorner", _attributes_2)
60
+ local _attributes_3 = table.clone(styles.stroke)
61
+ setmetatable(_attributes_3, nil)
62
+ return React.createElement("textbutton", _attributes, _exp, _exp_1, React.createElement("uistroke", _attributes_3))
63
+ end
64
+ local function ToggleButtonGroup(props)
65
+ local _binding = props
66
+ local value = _binding.value
67
+ local options = _binding.options
68
+ local onChange = _binding.onChange
69
+ local disabled = _binding.disabled
70
+ local className = _binding.className
71
+ local sx = _binding.sx
72
+ local id = _binding.id
73
+ local ref = _binding.ref
74
+ local styles = useToggleButtonStyles({})
75
+ local _attributes = {}
76
+ local _condition = id
77
+ if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
78
+ _condition = "ToggleButtonGroup"
79
+ end
80
+ _attributes.key = _condition
81
+ _attributes.ref = ref
82
+ for _k, _v in styles.group do
83
+ _attributes[_k] = _v
84
+ end
85
+ if className then
86
+ for _k, _v in className do
87
+ _attributes[_k] = _v
88
+ end
89
+ end
90
+ if sx then
91
+ for _k, _v in sx do
92
+ _attributes[_k] = _v
93
+ end
94
+ end
95
+ local _attributes_1 = table.clone(styles.list)
96
+ setmetatable(_attributes_1, nil)
97
+ local _exp = React.createElement("uilistlayout", _attributes_1)
98
+ -- ▼ ReadonlyArray.map ▼
99
+ local _newValue = table.create(#options)
100
+ local _callback = function(choice, index)
101
+ return React.createElement(ToggleButton, {
102
+ key = `{choice.label}-{index}`,
103
+ label = choice.label,
104
+ selected = choice.value == value,
105
+ disabled = disabled == true or choice.disabled == true,
106
+ onActivated = function()
107
+ if choice.value ~= value then
108
+ onChange(choice.value)
109
+ end
110
+ end,
111
+ className = {
112
+ LayoutOrder = index,
113
+ },
114
+ })
115
+ end
116
+ for _k, _v in options do
117
+ _newValue[_k] = _callback(_v, _k - 1, options)
118
+ end
119
+ -- ▲ ReadonlyArray.map ▲
120
+ return React.createElement("frame", _attributes, _exp, _newValue)
121
+ end
122
+ local default = ToggleButton
123
+ return {
124
+ ToggleButtonGroup = ToggleButtonGroup,
125
+ default = default,
126
+ }
@@ -0,0 +1,5 @@
1
+ declare const useToggleButtonStyles: (props: {
2
+ selected?: boolean;
3
+ disabled?: boolean;
4
+ }) => import("../../../../theme/index").ClassNameMap<string>;
5
+ export default useToggleButtonStyles;
@@ -0,0 +1,58 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
4
+ local componentStyles = _theme.componentStyles
5
+ local createStyles = _theme.createStyles
6
+ local useToggleButtonStyles = componentStyles("ToggleButton", function(theme, _param)
7
+ local selected = _param.selected
8
+ if selected == nil then
9
+ selected = false
10
+ end
11
+ local disabled = _param.disabled
12
+ if disabled == nil then
13
+ disabled = false
14
+ end
15
+ return createStyles({
16
+ root = {
17
+ AutomaticSize = Enum.AutomaticSize.X,
18
+ Size = UDim2.new(0, 0, 0, theme.spacing.calc(4)),
19
+ BackgroundColor3 = if selected then theme.palette.action.selected else theme.palette.surface.input,
20
+ BorderSizePixel = 0,
21
+ AutoButtonColor = false,
22
+ Active = not disabled,
23
+ Selectable = not disabled,
24
+ TextColor3 = if disabled then theme.palette.text.disabled elseif selected then theme.palette.primary.main else theme.palette.text.primary,
25
+ Font = theme.typography.fontFamilies.default,
26
+ TextSize = theme.typography.fontSizes.body,
27
+ },
28
+ padding = {
29
+ PaddingLeft = UDim.new(0, theme.padding.calc(1.5)),
30
+ PaddingRight = UDim.new(0, theme.padding.calc(1.5)),
31
+ },
32
+ corner = {
33
+ CornerRadius = UDim.new(0, theme.shape.borderRadius),
34
+ },
35
+ stroke = {
36
+ Color = if selected then theme.palette.primary.main else theme.palette.border,
37
+ ApplyStrokeMode = Enum.ApplyStrokeMode.Border,
38
+ Transparency = if disabled then 0.5 else 0,
39
+ },
40
+ group = {
41
+ AutomaticSize = Enum.AutomaticSize.XY,
42
+ Size = UDim2.fromScale(0, 0),
43
+ BackgroundTransparency = 1,
44
+ BorderSizePixel = 0,
45
+ },
46
+ list = {
47
+ FillDirection = Enum.FillDirection.Horizontal,
48
+ HorizontalAlignment = Enum.HorizontalAlignment.Left,
49
+ VerticalAlignment = Enum.VerticalAlignment.Center,
50
+ SortOrder = Enum.SortOrder.LayoutOrder,
51
+ Padding = UDim.new(0, theme.padding.calc(0.5)),
52
+ },
53
+ })
54
+ end)
55
+ local default = useToggleButtonStyles
56
+ return {
57
+ default = default,
58
+ }
@@ -0,0 +1,2 @@
1
+ export { default as ToggleButton, ToggleButtonGroup } from "./components/ToggleButton";
2
+ export { ToggleButtonProps, ToggleButtonGroupProps } from "./components/ToggleButton";
@@ -0,0 +1,7 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local exports = {}
4
+ local _ToggleButton = TS.import(script, script, "components", "ToggleButton")
5
+ exports.ToggleButton = _ToggleButton.default
6
+ exports.ToggleButtonGroup = _ToggleButton.ToggleButtonGroup
7
+ return exports
@@ -38,9 +38,9 @@ local function TreeView(props)
38
38
  local _binding_2 = useTheme()
39
39
  local theme = _binding_2.theme
40
40
  local step = theme.padding.calc(4)
41
- local chevronWidth = theme.spacing.calc(1)
42
- local iconWidth = theme.spacing.calc(1) + theme.padding.calc(2)
43
- local itemHeight = theme.spacing.calc(1) + theme.padding.calc(4)
41
+ local chevronWidth = theme.spacing.calc(1.5)
42
+ local iconWidth = theme.spacing.calc(2) + theme.padding.calc(1)
43
+ local itemHeight = theme.spacing.calc(3)
44
44
  local listRef = useRef()
45
45
  local clickedPath, setClickedPath = useState()
46
46
  local clickedLeaf, setClickedLeaf = useState()
@@ -14,7 +14,7 @@ local useTreeViewStyles = componentStyles("TreeView", function(theme)
14
14
  ZIndex = 300,
15
15
  },
16
16
  header = {
17
- Size = UDim2.new(1, 0, 0, theme.spacing.calc(1)),
17
+ Size = UDim2.new(1, 0, 0, theme.spacing.calc(3)),
18
18
  Position = UDim2.new(0.5, 0, 0, 0),
19
19
  AnchorPoint = Vector2.new(0.5, 0),
20
20
  TextXAlignment = Enum.TextXAlignment.Left,
@@ -24,8 +24,8 @@ local useTreeViewStyles = componentStyles("TreeView", function(theme)
24
24
  ZIndex = 5300,
25
25
  },
26
26
  list = {
27
- Size = UDim2.new(1, 0, 1, -(theme.spacing.calc(1) + theme.padding.calc(2))),
28
- Position = UDim2.new(0.5, 0, 0, theme.spacing.calc(1) + theme.padding.calc(2)),
27
+ Size = UDim2.new(1, 0, 1, -(theme.spacing.calc(3) + theme.padding.calc(2))),
28
+ Position = UDim2.new(0.5, 0, 0, theme.spacing.calc(3) + theme.padding.calc(2)),
29
29
  AnchorPoint = Vector2.new(0.5, 0),
30
30
  BackgroundTransparency = 1,
31
31
  ScrollBarThickness = theme.spacing.calc(0.5),
@@ -13,9 +13,6 @@ local useTypographyStyles = componentStyles("Typography", function(theme, _param
13
13
  variant = "body"
14
14
  end
15
15
  local family = _param.family
16
- if family == nil then
17
- family = "default"
18
- end
19
16
  local align = _param.align
20
17
  if align == nil then
21
18
  align = "left"
@@ -28,6 +25,8 @@ local useTypographyStyles = componentStyles("Typography", function(theme, _param
28
25
  if lineClamp == nil then
29
26
  lineClamp = false
30
27
  end
28
+ local spec = theme.typography.variants[variant or "body"]
29
+ local resolvedFamily = family or spec.family
31
30
  local DEFAULT_COLOR = theme.palette.text.primary
32
31
  local COLOR_TO_PALETTE_MAP = {
33
32
  initial = DEFAULT_COLOR,
@@ -83,8 +82,8 @@ local useTypographyStyles = componentStyles("Typography", function(theme, _param
83
82
  return createStyles({
84
83
  root = makeRootStyles(),
85
84
  variantToken = {
86
- TextSize = variant and theme.typography.fontSizes[variant],
87
- Font = family and theme.typography.fontFamilies[family],
85
+ TextSize = spec.size,
86
+ Font = theme.typography.fontFamilies[resolvedFamily],
88
87
  },
89
88
  })
90
89
  end)
@@ -0,0 +1,6 @@
1
+ export interface EmptyListHintProps {
2
+ text: string;
3
+ height?: number;
4
+ }
5
+ declare function EmptyListHint(props: EmptyListHintProps): JSX.Element;
6
+ export default EmptyListHint;
@@ -0,0 +1,32 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
+ local useTheme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme").useTheme
5
+ local useEmptyListHintStyles = TS.import(script, script.Parent, "EmptyListHint.styles").default
6
+ local function EmptyListHint(props)
7
+ local _binding = props
8
+ local text = _binding.text
9
+ local height = _binding.height
10
+ local _binding_1 = useTheme()
11
+ local theme = _binding_1.theme
12
+ local _object = {}
13
+ local _left = "height"
14
+ local _condition = height
15
+ if _condition == nil then
16
+ _condition = theme.spacing.calc(4)
17
+ end
18
+ _object[_left] = _condition
19
+ local styles = useEmptyListHintStyles(_object)
20
+ local _attributes = {
21
+ key = "EmptyListHint",
22
+ }
23
+ for _k, _v in styles.root do
24
+ _attributes[_k] = _v
25
+ end
26
+ _attributes.Text = text
27
+ return React.createElement("textlabel", _attributes)
28
+ end
29
+ local default = EmptyListHint
30
+ return {
31
+ default = default,
32
+ }
@@ -0,0 +1,5 @@
1
+ export interface EmptyListHintStyleProps {
2
+ height: number;
3
+ }
4
+ declare const useEmptyListHintStyles: (props: EmptyListHintStyleProps) => import("../../../../theme/index").ClassNameMap<string>;
5
+ export default useEmptyListHintStyles;
@@ -0,0 +1,26 @@
1
+ -- Compiled with roblox-ts v3.0.0
2
+ local TS = _G[script]
3
+ local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
4
+ local createStyles = _theme.createStyles
5
+ local componentStyles = _theme.componentStyles
6
+ local useEmptyListHintStyles = componentStyles("EmptyListHint", function(theme, _param)
7
+ local height = _param.height
8
+ return createStyles({
9
+ root = {
10
+ Size = UDim2.new(1, 0, 0, height),
11
+ BackgroundTransparency = 1,
12
+ BorderSizePixel = 0,
13
+ TextColor3 = theme.palette.text.secondary,
14
+ Font = theme.typography.fontFamilies.default,
15
+ TextSize = theme.typography.fontSizes.body,
16
+ TextXAlignment = Enum.TextXAlignment.Center,
17
+ TextYAlignment = Enum.TextYAlignment.Center,
18
+ TextTruncate = Enum.TextTruncate.AtEnd,
19
+ ZIndex = 20002,
20
+ },
21
+ })
22
+ end)
23
+ local default = useEmptyListHintStyles
24
+ return {
25
+ default = default,
26
+ }
@@ -1,2 +1,4 @@
1
1
  export { default as VirtualList } from "./components/VirtualList";
2
2
  export { VirtualListProps, VirtualListHandle, VirtualListItemState, VirtualListAlign, } from "./components/VirtualList";
3
+ export { default as EmptyListHint } from "./components/EmptyListHint";
4
+ export { EmptyListHintProps } from "./components/EmptyListHint";
@@ -2,4 +2,5 @@
2
2
  local TS = _G[script]
3
3
  local exports = {}
4
4
  exports.VirtualList = TS.import(script, script, "components", "VirtualList").default
5
+ exports.EmptyListHint = TS.import(script, script, "components", "EmptyListHint").default
5
6
  return exports
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rbxts/uiblox",
3
- "version": "0.2.0-alpha.0",
3
+ "version": "0.2.0-alpha.10",
4
4
  "description": "UI Library and theming for roblox-ts projects",
5
5
  "main": "out/init.luau",
6
6
  "packageManager": "pnpm@11.3.0",
@@ -8,7 +8,7 @@
8
8
  "build": "rbxtsc",
9
9
  "watch": "rbxtsc -w",
10
10
  "pack:check": "node scripts/pack-check.mjs",
11
- "test": "node scripts/no-internal-refs.check.mjs && node scripts/import-case.check.mjs && node --experimental-strip-types scripts/theme-scope.check.mjs && node --experimental-strip-types scripts/style-types.check.mjs && node --experimental-strip-types scripts/style-cache.check.mjs && node --experimental-strip-types scripts/style-variants.check.mjs && node --experimental-strip-types scripts/component-styles.check.mjs && node --experimental-strip-types scripts/interaction-styles.check.mjs && node --experimental-strip-types scripts/contrast.check.mjs && node --experimental-strip-types scripts/primitives.check.mjs && node --experimental-strip-types scripts/paper.check.mjs && node --experimental-strip-types scripts/list-item.check.mjs && node --experimental-strip-types scripts/menu.check.mjs && node --experimental-strip-types scripts/guard.check.mjs && node --experimental-strip-types scripts/breakpoints.check.mjs && node --experimental-strip-types scripts/focus-trap.check.mjs && node --experimental-strip-types scripts/select-typeahead.check.mjs && node --experimental-strip-types scripts/select-groups.check.mjs && node --experimental-strip-types scripts/select-multi.check.mjs && node --experimental-strip-types scripts/select-motion.check.mjs && node --experimental-strip-types scripts/select-polish.check.mjs && node --experimental-strip-types scripts/reduced-motion.check.mjs && node --experimental-strip-types scripts/card.check.mjs && node --experimental-strip-types scripts/chip.check.mjs && node --experimental-strip-types scripts/badge.check.mjs && node --experimental-strip-types scripts/avatar.check.mjs && node --experimental-strip-types scripts/drawer.check.mjs && node --experimental-strip-types scripts/breadcrumbs.check.mjs && node --experimental-strip-types scripts/pagination.check.mjs && node --experimental-strip-types scripts/stepper.check.mjs && node --experimental-strip-types scripts/accordion.check.mjs && node --experimental-strip-types scripts/snackbar.check.mjs && node --experimental-strip-types scripts/table.check.mjs && node --experimental-strip-types scripts/autocomplete.check.mjs && node --experimental-strip-types scripts/cframe-editor.check.mjs && node --experimental-strip-types scripts/enum-picker.check.mjs && node --experimental-strip-types scripts/number-range.check.mjs && node --experimental-strip-types scripts/rect-editor.check.mjs && node --experimental-strip-types scripts/asset-field.check.mjs && node --experimental-strip-types scripts/gradient-editor.check.mjs && node --experimental-strip-types scripts/ray-editor.check.mjs && node --experimental-strip-types scripts/physical-properties.check.mjs && node --experimental-strip-types scripts/brickcolor-picker.check.mjs",
11
+ "test": "node scripts/no-internal-refs.check.mjs && node scripts/import-case.check.mjs && node --experimental-strip-types scripts/theme-scope.check.mjs && node --experimental-strip-types scripts/style-types.check.mjs && node --experimental-strip-types scripts/style-cache.check.mjs && node --experimental-strip-types scripts/style-variants.check.mjs && node --experimental-strip-types scripts/component-styles.check.mjs && node --experimental-strip-types scripts/interaction-styles.check.mjs && node --experimental-strip-types scripts/resolve-style.check.mjs && node --experimental-strip-types scripts/density.check.mjs && node --experimental-strip-types scripts/styles.check.mjs && node --experimental-strip-types scripts/contrast.check.mjs && node --experimental-strip-types scripts/primitives.check.mjs && node --experimental-strip-types scripts/paper.check.mjs && node --experimental-strip-types scripts/list-item.check.mjs && node --experimental-strip-types scripts/slider.check.mjs && node --experimental-strip-types scripts/menu.check.mjs && node --experimental-strip-types scripts/guard.check.mjs && node --experimental-strip-types scripts/breakpoints.check.mjs && node --experimental-strip-types scripts/focus-trap.check.mjs && node --experimental-strip-types scripts/select-typeahead.check.mjs && node --experimental-strip-types scripts/select-groups.check.mjs && node --experimental-strip-types scripts/select-multi.check.mjs && node --experimental-strip-types scripts/select-motion.check.mjs && node --experimental-strip-types scripts/select-polish.check.mjs && node --experimental-strip-types scripts/reduced-motion.check.mjs && node --experimental-strip-types scripts/card.check.mjs && node --experimental-strip-types scripts/chip.check.mjs && node --experimental-strip-types scripts/badge.check.mjs && node --experimental-strip-types scripts/avatar.check.mjs && node --experimental-strip-types scripts/drawer.check.mjs && node --experimental-strip-types scripts/breadcrumbs.check.mjs && node --experimental-strip-types scripts/pagination.check.mjs && node --experimental-strip-types scripts/stepper.check.mjs && node --experimental-strip-types scripts/accordion.check.mjs && node --experimental-strip-types scripts/snackbar.check.mjs && node --experimental-strip-types scripts/table.check.mjs && node --experimental-strip-types scripts/autocomplete.check.mjs && node --experimental-strip-types scripts/field-loading.check.mjs && node --experimental-strip-types scripts/fab.check.mjs && node --experimental-strip-types scripts/appbar.check.mjs && node --experimental-strip-types scripts/bottom-navigation.check.mjs && node --experimental-strip-types scripts/alert.check.mjs && node --experimental-strip-types scripts/toggle-button.check.mjs && node --experimental-strip-types scripts/link.check.mjs && node --experimental-strip-types scripts/rating.check.mjs && node --experimental-strip-types scripts/stack.check.mjs && node --experimental-strip-types scripts/speed-dial.check.mjs && node --experimental-strip-types scripts/form-text.check.mjs && node --experimental-strip-types scripts/box.check.mjs && node --experimental-strip-types scripts/image-list.check.mjs && node --experimental-strip-types scripts/radio-group.check.mjs && node --experimental-strip-types scripts/container.check.mjs && node --experimental-strip-types scripts/divider.check.mjs && node --experimental-strip-types scripts/tabs.check.mjs && node --experimental-strip-types scripts/dialog.check.mjs && node --experimental-strip-types scripts/backdrop.check.mjs && node --experimental-strip-types scripts/cframe-editor.check.mjs && node --experimental-strip-types scripts/enum-picker.check.mjs && node --experimental-strip-types scripts/number-range.check.mjs && node --experimental-strip-types scripts/rect-editor.check.mjs && node --experimental-strip-types scripts/asset-field.check.mjs && node --experimental-strip-types scripts/gradient-editor.check.mjs && node --experimental-strip-types scripts/ray-editor.check.mjs && node --experimental-strip-types scripts/physical-properties.check.mjs && node --experimental-strip-types scripts/brickcolor-picker.check.mjs",
12
12
  "prepublishOnly": "pnpm build"
13
13
  },
14
14
  "keywords": [
@@ -1,13 +0,0 @@
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;