@rbxts/uiblox 0.2.0-alpha.12 → 0.2.0-alpha.14

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 (33) hide show
  1. package/out/ui/packages/alert/components/Alert.d.ts +1 -0
  2. package/out/ui/packages/alert/components/Alert.luau +2 -0
  3. package/out/ui/packages/alert/components/Alert.styles.d.ts +1 -0
  4. package/out/ui/packages/alert/components/Alert.styles.luau +7 -6
  5. package/out/ui/packages/appBar/components/AppBar.d.ts +2 -1
  6. package/out/ui/packages/appBar/components/AppBar.luau +5 -0
  7. package/out/ui/packages/appBar/components/AppBar.styles.d.ts +2 -0
  8. package/out/ui/packages/appBar/components/AppBar.styles.luau +6 -2
  9. package/out/ui/packages/bottomNavigation/components/BottomNavigation.d.ts +1 -0
  10. package/out/ui/packages/bottomNavigation/components/BottomNavigation.luau +8 -2
  11. package/out/ui/packages/bottomNavigation/components/BottomNavigation.styles.d.ts +3 -1
  12. package/out/ui/packages/bottomNavigation/components/BottomNavigation.styles.luau +6 -2
  13. package/out/ui/packages/checkbox/components/checkboxLook.d.ts +1 -1
  14. package/out/ui/packages/chip/components/Chip.d.ts +1 -0
  15. package/out/ui/packages/chip/components/Chip.luau +5 -0
  16. package/out/ui/packages/chip/components/Chip.styles.d.ts +1 -0
  17. package/out/ui/packages/chip/components/Chip.styles.luau +6 -1
  18. package/out/ui/packages/pagination/components/Pagination.d.ts +2 -1
  19. package/out/ui/packages/pagination/components/Pagination.luau +4 -1
  20. package/out/ui/packages/pagination/components/Pagination.styles.d.ts +4 -1
  21. package/out/ui/packages/pagination/components/Pagination.styles.luau +12 -6
  22. package/out/ui/packages/splitPane/components/splitLook.d.ts +1 -1
  23. package/out/ui/packages/stateMatrix.luau +269 -220
  24. package/out/ui/packages/switch/components/switchLook.d.ts +1 -1
  25. package/out/ui/packages/tabs/components/Tabs.d.ts +1 -0
  26. package/out/ui/packages/tabs/components/Tabs.luau +2 -0
  27. package/out/ui/packages/tabs/components/Tabs.styles.d.ts +1 -0
  28. package/out/ui/packages/tabs/components/Tabs.styles.luau +2 -0
  29. package/out/ui/packages/toggleButton/components/ToggleButton.d.ts +3 -1
  30. package/out/ui/packages/toggleButton/components/ToggleButton.luau +10 -1
  31. package/out/ui/packages/toggleButton/components/ToggleButton.styles.d.ts +2 -0
  32. package/out/ui/packages/toggleButton/components/ToggleButton.styles.luau +11 -4
  33. package/package.json +1 -1
@@ -5,6 +5,7 @@ export interface AlertProps {
5
5
  title?: string;
6
6
  message: string;
7
7
  onClose?: () => void;
8
+ filled?: boolean;
8
9
  }
9
10
  declare function Alert(props: CustomizedProps<Frame, AlertProps>): JSX.Element;
10
11
  export default Alert;
@@ -9,6 +9,7 @@ local function Alert(props)
9
9
  local title = _binding.title
10
10
  local message = _binding.message
11
11
  local onClose = _binding.onClose
12
+ local filled = _binding.filled
12
13
  local className = _binding.className
13
14
  local sx = _binding.sx
14
15
  local id = _binding.id
@@ -17,6 +18,7 @@ local function Alert(props)
17
18
  local styles = useAlertStyles({
18
19
  severity = severity,
19
20
  dismissible = dismissible,
21
+ filled = filled,
20
22
  })
21
23
  local _attributes = {}
22
24
  local _condition = id
@@ -2,5 +2,6 @@ import { AlertSeverity } from "./alertTone";
2
2
  declare const useAlertStyles: (props: {
3
3
  severity?: AlertSeverity;
4
4
  dismissible?: boolean;
5
+ filled?: boolean;
5
6
  }) => import("../../../../theme/index").ClassNameMap<string>;
6
7
  export default useAlertStyles;
@@ -7,13 +7,14 @@ local alertSeverity = TS.import(script, script.Parent, "alertTone").alertSeverit
7
7
  local useAlertStyles = componentStyles("Alert", function(theme, _param)
8
8
  local severity = _param.severity
9
9
  local dismissible = _param.dismissible
10
+ local filled = _param.filled
10
11
  local tone = theme.palette.status[alertSeverity(severity)]
11
12
  local closeSize = theme.spacing.calc(2)
12
13
  local _object = {
13
14
  root = {
14
15
  AutomaticSize = Enum.AutomaticSize.Y,
15
16
  Size = UDim2.new(1, 0, 0, 0),
16
- BackgroundColor3 = tone.surface,
17
+ BackgroundColor3 = if filled == true then tone.main else tone.surface,
17
18
  BorderSizePixel = 0,
18
19
  },
19
20
  padding = {
@@ -26,9 +27,9 @@ local useAlertStyles = componentStyles("Alert", function(theme, _param)
26
27
  CornerRadius = UDim.new(0, theme.shape.borderRadius),
27
28
  },
28
29
  stroke = {
29
- Color = tone.border,
30
+ Color = if filled == true then tone.main else tone.border,
30
31
  Thickness = 1,
31
- Transparency = 0,
32
+ Transparency = if filled == true then 1 else 0,
32
33
  ApplyStrokeMode = Enum.ApplyStrokeMode.Border,
33
34
  },
34
35
  body = {
@@ -51,7 +52,7 @@ local useAlertStyles = componentStyles("Alert", function(theme, _param)
51
52
  BorderSizePixel = 0,
52
53
  Font = theme.typography.fontFamilies.default,
53
54
  TextSize = theme.typography.fontSizes.body,
54
- TextColor3 = tone.main,
55
+ TextColor3 = if filled == true then tone.on else tone.main,
55
56
  TextXAlignment = Enum.TextXAlignment.Left,
56
57
  LayoutOrder = 1,
57
58
  },
@@ -70,7 +71,7 @@ local useAlertStyles = componentStyles("Alert", function(theme, _param)
70
71
  _condition = theme.typography.fontSizes.body
71
72
  end
72
73
  _object_1[_left_1] = _condition
73
- _object_1.TextColor3 = theme.palette.text.primary
74
+ _object_1.TextColor3 = if filled == true then tone.on else theme.palette.text.primary
74
75
  _object_1.TextXAlignment = Enum.TextXAlignment.Left
75
76
  _object_1.TextWrapped = true
76
77
  _object_1.LayoutOrder = 2
@@ -81,7 +82,7 @@ local useAlertStyles = componentStyles("Alert", function(theme, _param)
81
82
  AnchorPoint = Vector2.new(1, 0),
82
83
  BackgroundTransparency = 1,
83
84
  BorderSizePixel = 0,
84
- ImageColor3 = theme.palette.text.secondary,
85
+ ImageColor3 = if filled == true then tone.on else theme.palette.text.secondary,
85
86
  ScaleType = Enum.ScaleType.Fit,
86
87
  ZIndex = 2,
87
88
  }
@@ -1,9 +1,10 @@
1
1
  import React from "@rbxts/react";
2
2
  import { CustomizedProps } from "../../../../theme/index";
3
- import { AppBarElevation } from "./AppBar.styles";
3
+ import { AppBarColor, AppBarElevation } from "./AppBar.styles";
4
4
  export interface AppBarProps {
5
5
  title?: string;
6
6
  elevation?: AppBarElevation;
7
+ color?: AppBarColor;
7
8
  children?: React.ReactNode;
8
9
  }
9
10
  declare function AppBar(props: CustomizedProps<Frame, AppBarProps>): JSX.Element;
@@ -13,6 +13,10 @@ local function AppBar(props)
13
13
  if elevation == nil then
14
14
  elevation = "raised"
15
15
  end
16
+ local color = _binding.color
17
+ if color == nil then
18
+ color = "default"
19
+ end
16
20
  local children = _binding.children
17
21
  local className = _binding.className
18
22
  local sx = _binding.sx
@@ -20,6 +24,7 @@ local function AppBar(props)
20
24
  local ref = _binding.ref
21
25
  local styles = useAppBarStyles({
22
26
  elevation = elevation,
27
+ color = color,
23
28
  hasActions = children ~= nil,
24
29
  })
25
30
  local _attributes = {}
@@ -1,6 +1,8 @@
1
1
  export type AppBarElevation = "flat" | "raised";
2
+ export type AppBarColor = "default" | "primary";
2
3
  declare const useAppBarStyles: (props: {
3
4
  elevation?: AppBarElevation;
5
+ color?: AppBarColor;
4
6
  hasActions?: boolean;
5
7
  }) => import("../../../../theme/index").ClassNameMap<string>;
6
8
  export default useAppBarStyles;
@@ -8,6 +8,10 @@ local useAppBarStyles = componentStyles("AppBar", function(theme, _param)
8
8
  if elevation == nil then
9
9
  elevation = "raised"
10
10
  end
11
+ local color = _param.color
12
+ if color == nil then
13
+ color = "default"
14
+ end
11
15
  local hasActions = _param.hasActions
12
16
  if hasActions == nil then
13
17
  hasActions = false
@@ -15,7 +19,7 @@ local useAppBarStyles = componentStyles("AppBar", function(theme, _param)
15
19
  local _object = {
16
20
  root = {
17
21
  Size = UDim2.new(1, 0, 0, theme.spacing.calc(7)),
18
- BackgroundColor3 = if elevation == "raised" then theme.palette.surface.elevated else theme.palette.surface.paper,
22
+ BackgroundColor3 = if color == "primary" then theme.palette.primary.main elseif elevation == "raised" then theme.palette.surface.elevated else theme.palette.surface.paper,
19
23
  BorderSizePixel = 0,
20
24
  ZIndex = 11000,
21
25
  },
@@ -37,7 +41,7 @@ local useAppBarStyles = componentStyles("AppBar", function(theme, _param)
37
41
  _condition = theme.typography.fontSizes.body
38
42
  end
39
43
  _object_1[_left_1] = _condition
40
- _object_1.TextColor3 = theme.palette.text.primary
44
+ _object_1.TextColor3 = if color == "primary" then theme.palette.primary.on else theme.palette.text.primary
41
45
  _object_1.TextXAlignment = Enum.TextXAlignment.Left
42
46
  _object_1.TextYAlignment = Enum.TextYAlignment.Center
43
47
  _object_1.TextTruncate = Enum.TextTruncate.AtEnd
@@ -5,6 +5,7 @@ export interface BottomNavigationProps<T> {
5
5
  options: ChoiceOption<T>[];
6
6
  onChange: (value: T) => void;
7
7
  disabled?: boolean;
8
+ showLabels?: boolean;
8
9
  }
9
10
  declare function BottomNavigation<T>(props: CustomizedProps<Frame, BottomNavigationProps<T>>): JSX.Element;
10
11
  export default BottomNavigation;
@@ -10,11 +10,17 @@ local function BottomNavigation(props)
10
10
  local options = _binding.options
11
11
  local onChange = _binding.onChange
12
12
  local disabled = _binding.disabled
13
+ local showLabels = _binding.showLabels
14
+ if showLabels == nil then
15
+ showLabels = true
16
+ end
13
17
  local className = _binding.className
14
18
  local sx = _binding.sx
15
19
  local id = _binding.id
16
20
  local ref = _binding.ref
17
- local styles = useBottomNavigationStyles()
21
+ local styles = useBottomNavigationStyles({
22
+ showLabels = showLabels,
23
+ })
18
24
  local count = math.max(#options, 1)
19
25
  local _attributes = {}
20
26
  local _condition = id
@@ -51,7 +57,7 @@ local function BottomNavigation(props)
51
57
  _attributes_2[_k] = _v
52
58
  end
53
59
  _attributes_2.Size = UDim2.new(1 / count, 0, 1, 0)
54
- _attributes_2.Text = choice.label
60
+ _attributes_2.Text = if showLabels == false then "" else choice.label
55
61
  _attributes_2.LayoutOrder = index
56
62
  _attributes_2.Active = active
57
63
  _attributes_2.Selectable = active
@@ -1,2 +1,4 @@
1
- declare const useBottomNavigationStyles: () => import("../../../../theme/index").ClassNameMap<string>;
1
+ declare const useBottomNavigationStyles: (props: {
2
+ showLabels?: boolean;
3
+ }) => import("../../../../theme/index").ClassNameMap<string>;
2
4
  export default useBottomNavigationStyles;
@@ -3,10 +3,14 @@ local TS = _G[script]
3
3
  local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
4
4
  local componentStyles = _theme.componentStyles
5
5
  local createStyles = _theme.createStyles
6
- local useBottomNavigationStyles = componentStyles("BottomNavigation", function(theme)
6
+ local useBottomNavigationStyles = componentStyles("BottomNavigation", function(theme, _param)
7
+ local showLabels = _param.showLabels
8
+ if showLabels == nil then
9
+ showLabels = true
10
+ end
7
11
  local _object = {
8
12
  root = {
9
- Size = UDim2.new(1, 0, 0, theme.spacing.calc(7)),
13
+ Size = UDim2.new(1, 0, 0, theme.spacing.calc(if showLabels == false then 5 else 7)),
10
14
  BackgroundColor3 = theme.palette.surface.elevated,
11
15
  BorderSizePixel = 0,
12
16
  ZIndex = 11000,
@@ -2,4 +2,4 @@ export type CheckboxPointer = "rest" | "hover" | "press" | "focus";
2
2
  export declare function checkboxMark(value: boolean, mixed?: boolean): "" | "–" | "✓";
3
3
  export declare function checkboxPointer(hovering: boolean, pressed: boolean, focused: boolean): CheckboxPointer;
4
4
  export declare function checkboxBoxTransparency(filled: boolean, disabled: boolean, pointer: CheckboxPointer): 1 | 0 | 0.7 | 0.55 | 0.85;
5
- export declare function checkboxStrokeTransparency(filled: boolean, disabled: boolean, pointer: CheckboxPointer): 0 | 0.25 | 0.55 | 0.45 | 0.2;
5
+ export declare function checkboxStrokeTransparency(filled: boolean, disabled: boolean, pointer: CheckboxPointer): 0 | 0.25 | 0.45 | 0.55 | 0.2;
@@ -4,6 +4,7 @@ export interface ChipProps {
4
4
  selected?: boolean;
5
5
  disabled?: boolean;
6
6
  size?: ControlSize;
7
+ variant?: "filled" | "outlined";
7
8
  onActivated?: () => void;
8
9
  onDelete?: () => void;
9
10
  }
@@ -9,6 +9,10 @@ local function Chip(props)
9
9
  local selected = _binding.selected
10
10
  local disabled = _binding.disabled
11
11
  local size = _binding.size
12
+ local variant = _binding.variant
13
+ if variant == nil then
14
+ variant = "filled"
15
+ end
12
16
  local onActivated = _binding.onActivated
13
17
  local onDelete = _binding.onDelete
14
18
  local className = _binding.className
@@ -21,6 +25,7 @@ local function Chip(props)
21
25
  disabled = disabled,
22
26
  deletable = deletable,
23
27
  size = size,
28
+ variant = variant,
24
29
  })
25
30
  local _attributes = {}
26
31
  local _condition = id
@@ -4,5 +4,6 @@ declare const useChipStyles: (props: {
4
4
  disabled?: boolean;
5
5
  deletable?: boolean;
6
6
  size?: ControlSize;
7
+ variant?: "filled" | "outlined";
7
8
  }) => import("../../../../theme/index").ClassNameMap<string>;
8
9
  export default useChipStyles;
@@ -18,6 +18,10 @@ local useChipStyles = componentStyles("Chip", function(theme, _param)
18
18
  deletable = false
19
19
  end
20
20
  local size = _param.size
21
+ local variant = _param.variant
22
+ if variant == nil then
23
+ variant = "filled"
24
+ end
21
25
  local metrics = controlMetrics(theme.density, size)
22
26
  local padY = if size == "small" then 0.25 elseif size == "large" then 0.75 else 0.5
23
27
  local padX = if size == "small" then 1 elseif size == "large" then 2 else 1.5
@@ -27,6 +31,7 @@ local useChipStyles = componentStyles("Chip", function(theme, _param)
27
31
  AutomaticSize = Enum.AutomaticSize.XY,
28
32
  Size = UDim2.fromScale(0, 0),
29
33
  BackgroundColor3 = if selected then theme.palette.action.selected else theme.palette.surface.input,
34
+ BackgroundTransparency = if variant == "outlined" and selected ~= true then 1 else 0,
30
35
  BorderSizePixel = 0,
31
36
  AutoButtonColor = false,
32
37
  Active = not disabled,
@@ -47,7 +52,7 @@ local useChipStyles = componentStyles("Chip", function(theme, _param)
47
52
  stroke = {
48
53
  Color = theme.palette.border,
49
54
  ApplyStrokeMode = Enum.ApplyStrokeMode.Border,
50
- Transparency = if selected then 1 else 0,
55
+ Transparency = if variant == "outlined" then (if disabled then 0.5 else 0) elseif selected then 1 else 0,
51
56
  },
52
57
  row = {
53
58
  FillDirection = Enum.FillDirection.Horizontal,
@@ -1,10 +1,11 @@
1
- import { CustomizedProps } from "../../../../theme/index";
1
+ import { ControlSize, CustomizedProps } from "../../../../theme/index";
2
2
  export interface PaginationProps {
3
3
  count: number;
4
4
  page: number;
5
5
  disabled?: boolean;
6
6
  siblingCount?: number;
7
7
  boundaryCount?: number;
8
+ size?: ControlSize;
8
9
  onChange: (page: number) => void;
9
10
  }
10
11
  declare function Pagination(props: CustomizedProps<Frame, PaginationProps>): JSX.Element;
@@ -11,12 +11,15 @@ local function Pagination(props)
11
11
  local disabled = _binding.disabled
12
12
  local siblingCount = _binding.siblingCount
13
13
  local boundaryCount = _binding.boundaryCount
14
+ local size = _binding.size
14
15
  local onChange = _binding.onChange
15
16
  local className = _binding.className
16
17
  local sx = _binding.sx
17
18
  local id = _binding.id
18
19
  local ref = _binding.ref
19
- local styles = usePaginationStyles()
20
+ local styles = usePaginationStyles({
21
+ size = size,
22
+ })
20
23
  local tokens = pageRange(count, page, siblingCount, boundaryCount)
21
24
  local _attributes = {}
22
25
  local _condition = id
@@ -1,2 +1,5 @@
1
- declare const usePaginationStyles: () => import("../../../../theme/index").ClassNameMap<string>;
1
+ import { ControlSize } from "../../../../theme/index";
2
+ declare const usePaginationStyles: (props: {
3
+ size?: ControlSize;
4
+ }) => import("../../../../theme/index").ClassNameMap<string>;
2
5
  export default usePaginationStyles;
@@ -3,7 +3,13 @@ local TS = _G[script]
3
3
  local _theme = TS.import(script, script.Parent.Parent.Parent.Parent.Parent, "theme")
4
4
  local componentStyles = _theme.componentStyles
5
5
  local createStyles = _theme.createStyles
6
- local usePaginationStyles = componentStyles("Pagination", function(theme)
6
+ local usePaginationStyles = componentStyles("Pagination", function(theme, _param)
7
+ local size = _param.size
8
+ if size == nil then
9
+ size = "medium"
10
+ end
11
+ local box = if size == "small" then theme.spacing.calc(2.5) elseif size == "large" then theme.spacing.calc(4) else theme.spacing.calc(3)
12
+ local text = if size == "small" then theme.typography.fontSizes.caption elseif size == "large" then theme.typography.fontSizes.h6 else theme.typography.fontSizes.body
7
13
  return createStyles({
8
14
  root = {
9
15
  AutomaticSize = Enum.AutomaticSize.XY,
@@ -13,27 +19,27 @@ local usePaginationStyles = componentStyles("Pagination", function(theme)
13
19
  },
14
20
  list = {
15
21
  FillDirection = Enum.FillDirection.Horizontal,
16
- Padding = UDim.new(0, theme.padding.calc(0.5)),
22
+ Padding = UDim.new(0, theme.padding.calc(if size == "small" then 0.25 else 0.5)),
17
23
  SortOrder = Enum.SortOrder.LayoutOrder,
18
24
  },
19
25
  page = {
20
- Size = UDim2.fromOffset(theme.spacing.calc(3), theme.spacing.calc(3)),
26
+ Size = UDim2.fromOffset(box, box),
21
27
  BackgroundColor3 = theme.palette.surface.input,
22
28
  BorderSizePixel = 0,
23
29
  AutoButtonColor = false,
24
30
  Font = theme.typography.fontFamilies.default,
25
- TextSize = theme.typography.fontSizes.body,
31
+ TextSize = text,
26
32
  TextColor3 = theme.palette.text.primary,
27
33
  },
28
34
  selected = {
29
35
  BackgroundColor3 = theme.palette.action.selected,
30
36
  },
31
37
  ellipsis = {
32
- Size = UDim2.fromOffset(theme.spacing.calc(3), theme.spacing.calc(3)),
38
+ Size = UDim2.fromOffset(box, box),
33
39
  BackgroundTransparency = 1,
34
40
  BorderSizePixel = 0,
35
41
  Font = theme.typography.fontFamilies.default,
36
- TextSize = theme.typography.fontSizes.body,
42
+ TextSize = text,
37
43
  TextColor3 = theme.palette.text.secondary,
38
44
  Text = "…",
39
45
  },
@@ -1,5 +1,5 @@
1
1
  export type SplitPointer = "rest" | "hover" | "press";
2
2
  export declare function splitPointer(hovering: boolean, pressed: boolean): SplitPointer;
3
- export declare function splitRuleTransparency(pointer: SplitPointer, disabled?: boolean): 0.25 | 0.35 | 0.7 | 0.55;
3
+ export declare function splitRuleTransparency(pointer: SplitPointer, disabled?: boolean): 0.25 | 0.7 | 0.55 | 0.35;
4
4
  export declare function splitMarkTransparency(pointer: SplitPointer, disabled?: boolean): 0 | 0.55 | 0.1;
5
5
  export declare function splitHitTransparency(pointer: SplitPointer, disabled?: boolean): 1 | 0.9 | 0.94;