@rbxts/uiblox 0.2.0-alpha.21 → 0.2.0-alpha.23

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 (35) hide show
  1. package/out/ui/packages/cframeEditor/components/CFrameEditor.luau +64 -38
  2. package/out/ui/packages/cframeEditor/components/CFrameEditor.styles.luau +26 -9
  3. package/out/ui/packages/checkbox/components/checkboxLook.d.ts +1 -1
  4. package/out/ui/packages/colorPicker/components/ColorPicker.luau +3 -3
  5. package/out/ui/packages/colorPicker/components/ColorPicker.styles.luau +34 -20
  6. package/out/ui/packages/colorPicker/components/ColorSequenceEditor.luau +23 -20
  7. package/out/ui/packages/colorPicker/components/NumberSequenceEditor.luau +54 -47
  8. package/out/ui/packages/gradientEditor/components/GradientEditor.luau +45 -27
  9. package/out/ui/packages/gradientEditor/components/GradientEditor.styles.luau +37 -4
  10. package/out/ui/packages/imageList/components/ImageList.luau +1 -1
  11. package/out/ui/packages/imageList/components/ImageList.styles.luau +0 -1
  12. package/out/ui/packages/index.d.ts +1 -0
  13. package/out/ui/packages/init.luau +3 -0
  14. package/out/ui/packages/markdown/components/Markdown.d.ts +6 -0
  15. package/out/ui/packages/markdown/components/Markdown.luau +228 -0
  16. package/out/ui/packages/markdown/components/Markdown.styles.d.ts +2 -0
  17. package/out/ui/packages/markdown/components/Markdown.styles.luau +101 -0
  18. package/out/ui/packages/markdown/components/MarkdownEditor.d.ts +16 -0
  19. package/out/ui/packages/markdown/components/MarkdownEditor.luau +322 -0
  20. package/out/ui/packages/markdown/components/MarkdownEditor.styles.d.ts +6 -0
  21. package/out/ui/packages/markdown/components/MarkdownEditor.styles.luau +132 -0
  22. package/out/ui/packages/markdown/htmlToMarkdown.d.ts +2 -0
  23. package/out/ui/packages/markdown/htmlToMarkdown.luau +350 -0
  24. package/out/ui/packages/markdown/index.d.ts +8 -0
  25. package/out/ui/packages/markdown/init.luau +11 -0
  26. package/out/ui/packages/markdown/parseMarkdown.d.ts +42 -0
  27. package/out/ui/packages/markdown/parseMarkdown.luau +459 -0
  28. package/out/ui/packages/menu/components/Menu.luau +1 -1
  29. package/out/ui/packages/select/components/Select.luau +2 -39
  30. package/out/ui/packages/splitPane/components/splitLook.d.ts +1 -1
  31. package/out/ui/packages/stateMatrix.luau +78 -31
  32. package/out/ui/packages/switch/components/switchLook.d.ts +1 -1
  33. package/package.json +2 -2
  34. package/out/ui/packages/select/components/selectMotion.d.ts +0 -2
  35. package/out/ui/packages/select/components/selectMotion.luau +0 -12
@@ -3,9 +3,9 @@ local TS = _G[script]
3
3
  local React = TS.import(script, TS.getModule(script, "@rbxts", "react"))
4
4
  local NumberInput = TS.import(script, script.Parent.Parent.Parent, "numberInput").NumberInput
5
5
  local useCFrameEditorStyles = TS.import(script, script.Parent, "CFrameEditor.styles").default
6
- local _cframeValue = TS.import(script, script.Parent, "cframeValue")
7
- local cframeFields = _cframeValue.cframeFields
8
- local nextCFrameParts = _cframeValue.nextCFrameParts
6
+ local nextCFrameParts = TS.import(script, script.Parent, "cframeValue").nextCFrameParts
7
+ local POSITION = { "X", "Y", "Z" }
8
+ local ORIENTATION = { "RX", "RY", "RZ" }
9
9
  local function CFrameEditor(props)
10
10
  local _binding = props
11
11
  local value = _binding.value
@@ -25,6 +25,66 @@ local function CFrameEditor(props)
25
25
  local _arg0 = CFrame.Angles(math.rad(parts[4]), math.rad(parts[5]), math.rad(parts[6]))
26
26
  onChange(_cFrame * _arg0)
27
27
  end
28
+ local group = function(title, fields, order, offset)
29
+ local _attributes = {
30
+ key = title,
31
+ }
32
+ for _k, _v in styles.group do
33
+ _attributes[_k] = _v
34
+ end
35
+ _attributes.LayoutOrder = order
36
+ local _attributes_1 = table.clone(styles.wrap)
37
+ setmetatable(_attributes_1, nil)
38
+ local _exp = React.createElement("uilistlayout", _attributes_1)
39
+ local _attributes_2 = table.clone(styles.groupLabel)
40
+ setmetatable(_attributes_2, nil)
41
+ _attributes_2.Text = title
42
+ _attributes_2.LayoutOrder = 1
43
+ local _exp_1 = React.createElement("textlabel", _attributes_2)
44
+ local _attributes_3 = {
45
+ key = "Axes",
46
+ }
47
+ for _k, _v in styles.axes do
48
+ _attributes_3[_k] = _v
49
+ end
50
+ _attributes_3.LayoutOrder = 2
51
+ local _attributes_4 = table.clone(styles.row)
52
+ setmetatable(_attributes_4, nil)
53
+ local _exp_2 = React.createElement("uilistlayout", _attributes_4)
54
+ -- ▼ ReadonlyArray.map ▼
55
+ local _newValue = table.create(#fields)
56
+ local _callback = function(field, index)
57
+ local _attributes_5 = {
58
+ key = field,
59
+ }
60
+ for _k, _v in styles.axis do
61
+ _attributes_5[_k] = _v
62
+ end
63
+ _attributes_5.LayoutOrder = index + 1
64
+ local _attributes_6 = table.clone(styles.row)
65
+ setmetatable(_attributes_6, nil)
66
+ local _exp_3 = React.createElement("uilistlayout", _attributes_6)
67
+ local _attributes_7 = table.clone(styles.label)
68
+ setmetatable(_attributes_7, nil)
69
+ _attributes_7.Text = field
70
+ local _exp_4 = React.createElement("textlabel", _attributes_7)
71
+ local _attributes_8 = table.clone(styles.field)
72
+ setmetatable(_attributes_8, nil)
73
+ return React.createElement("frame", _attributes_5, _exp_3, _exp_4, React.createElement("frame", _attributes_8, React.createElement(NumberInput, {
74
+ value = amounts[offset + index + 1],
75
+ disabled = disabled,
76
+ width = UDim.new(1, 0),
77
+ onChange = function(amount)
78
+ return commit(field, amount)
79
+ end,
80
+ })))
81
+ end
82
+ for _k, _v in fields do
83
+ _newValue[_k] = _callback(_v, _k - 1, fields)
84
+ end
85
+ -- ▲ ReadonlyArray.map ▲
86
+ return React.createElement("frame", _attributes, _exp, _exp_1, React.createElement("frame", _attributes_3, _exp_2, React.createElement(React.Fragment, nil, _newValue)))
87
+ end
28
88
  local _attributes = {}
29
89
  local _condition = id
30
90
  if not (_condition ~= 0 and _condition == _condition and _condition ~= "" and _condition) then
@@ -47,41 +107,7 @@ local function CFrameEditor(props)
47
107
  end
48
108
  local _attributes_1 = table.clone(styles.wrap)
49
109
  setmetatable(_attributes_1, nil)
50
- local _exp = React.createElement("uilistlayout", _attributes_1)
51
- local _exp_1 = cframeFields()
52
- -- ▼ ReadonlyArray.map ▼
53
- local _newValue = table.create(#_exp_1)
54
- local _callback = function(field, index)
55
- local _attributes_2 = {
56
- key = field,
57
- }
58
- for _k, _v in styles.axis do
59
- _attributes_2[_k] = _v
60
- end
61
- _attributes_2.LayoutOrder = index + 1
62
- local _attributes_3 = table.clone(styles.row)
63
- setmetatable(_attributes_3, nil)
64
- local _exp_2 = React.createElement("uilistlayout", _attributes_3)
65
- local _attributes_4 = table.clone(styles.label)
66
- setmetatable(_attributes_4, nil)
67
- _attributes_4.Text = field
68
- local _exp_3 = React.createElement("textlabel", _attributes_4)
69
- local _attributes_5 = table.clone(styles.field)
70
- setmetatable(_attributes_5, nil)
71
- return React.createElement("frame", _attributes_2, _exp_2, _exp_3, React.createElement("frame", _attributes_5, React.createElement(NumberInput, {
72
- value = amounts[index + 1],
73
- disabled = disabled,
74
- width = UDim.new(1, 0),
75
- onChange = function(amount)
76
- return commit(field, amount)
77
- end,
78
- })))
79
- end
80
- for _k, _v in _exp_1 do
81
- _newValue[_k] = _callback(_v, _k - 1, _exp_1)
82
- end
83
- -- ▲ ReadonlyArray.map ▲
84
- return React.createElement("frame", _attributes, _exp, React.createElement(React.Fragment, nil, _newValue))
110
+ return React.createElement("frame", _attributes, React.createElement("uilistlayout", _attributes_1), group("Position", POSITION, 1, 0), group("Orientation", ORIENTATION, 2, 3))
85
111
  end
86
112
  local default = CFrameEditor
87
113
  return {
@@ -11,31 +11,48 @@ local useCFrameEditorStyles = componentStyles("CFrameEditor", function(theme)
11
11
  BackgroundTransparency = 1,
12
12
  BorderSizePixel = 0,
13
13
  },
14
+ wrap = {
15
+ FillDirection = Enum.FillDirection.Vertical,
16
+ Padding = UDim.new(0, theme.padding.calc(0.5)),
17
+ SortOrder = Enum.SortOrder.LayoutOrder,
18
+ },
14
19
  row = {
15
20
  FillDirection = Enum.FillDirection.Horizontal,
16
- Padding = UDim.new(0, theme.padding.calc(1)),
21
+ Padding = UDim.new(0, theme.padding.calc(0.5)),
17
22
  VerticalAlignment = Enum.VerticalAlignment.Center,
18
23
  SortOrder = Enum.SortOrder.LayoutOrder,
19
24
  },
20
- wrap = {
21
- FillDirection = Enum.FillDirection.Vertical,
22
- Padding = UDim.new(0, theme.padding.calc(0.5)),
23
- SortOrder = Enum.SortOrder.LayoutOrder,
25
+ group = {
26
+ Size = UDim2.new(1, 0, 0, 0),
27
+ AutomaticSize = Enum.AutomaticSize.Y,
28
+ BackgroundTransparency = 1,
24
29
  },
25
- axis = {
30
+ groupLabel = {
26
31
  Size = UDim2.new(1, 0, 0, theme.spacing.calc(2)),
27
32
  BackgroundTransparency = 1,
33
+ Font = theme.typography.fontFamilies.default,
34
+ TextSize = theme.typography.fontSizes.button,
35
+ TextColor3 = theme.palette.text.secondary,
36
+ TextXAlignment = Enum.TextXAlignment.Left,
37
+ },
38
+ axes = {
39
+ Size = UDim2.new(1, 0, 0, theme.spacing.calc(3)),
40
+ BackgroundTransparency = 1,
41
+ },
42
+ axis = {
43
+ Size = UDim2.new(1 / 3, -theme.padding.calc(0.5), 1, 0),
44
+ BackgroundTransparency = 1,
28
45
  },
29
46
  label = {
30
- Size = UDim2.new(0, theme.spacing.calc(2), 1, 0),
47
+ Size = UDim2.new(0, theme.spacing.calc(2.5), 1, 0),
31
48
  BackgroundTransparency = 1,
32
49
  Font = theme.typography.fontFamilies.default,
33
- TextSize = theme.typography.fontSizes.caption,
50
+ TextSize = theme.typography.fontSizes.button,
34
51
  TextColor3 = theme.palette.text.secondary,
35
52
  TextXAlignment = Enum.TextXAlignment.Left,
36
53
  },
37
54
  field = {
38
- Size = UDim2.new(1, -theme.spacing.calc(2), 1, 0),
55
+ Size = UDim2.new(1, -theme.spacing.calc(2.5), 1, 0),
39
56
  BackgroundTransparency = 1,
40
57
  },
41
58
  })
@@ -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;
@@ -488,15 +488,15 @@ local function ColorPicker(props)
488
488
  local _attributes_7 = table.clone(styles.corner)
489
489
  setmetatable(_attributes_7, nil)
490
490
  local _exp_4 = React.createElement("uicorner", _attributes_7)
491
- local _attributes_8 = table.clone(styles.swatchStroke)
491
+ local _attributes_8 = table.clone(styles.shellStroke)
492
492
  setmetatable(_attributes_8, nil)
493
493
  local _exp_5 = React.createElement("uistroke", _attributes_8)
494
494
  local _attributes_9 = table.clone(styles.shellPad)
495
495
  setmetatable(_attributes_9, nil)
496
496
  _condition_1 = (React.createElement(Popup, {
497
497
  anchor = anchor,
498
- preferredWidth = theme.spacing.calc(18),
499
- preferredHeight = theme.spacing.calc(20),
498
+ preferredWidth = theme.spacing.calc(20),
499
+ preferredHeight = theme.spacing.calc(22),
500
500
  onDismiss = close,
501
501
  }, React.createElement("frame", _attributes_6, _exp_4, _exp_5, React.createElement("uipadding", _attributes_9), React.createElement(ColorPanel, {
502
502
  value = value,
@@ -15,22 +15,22 @@ local useColorPickerStyles = componentStyles("ColorPicker", function(theme)
15
15
  },
16
16
  column = {
17
17
  FillDirection = Enum.FillDirection.Vertical,
18
- Padding = UDim.new(0, theme.padding.calc(1)),
18
+ Padding = UDim.new(0, theme.padding.calc(0.75)),
19
19
  SortOrder = Enum.SortOrder.LayoutOrder,
20
20
  },
21
21
  row = {
22
- Size = UDim2.new(1, 0, 0, theme.spacing.calc(2)),
22
+ Size = UDim2.new(1, 0, 0, theme.spacing.calc(3)),
23
23
  BackgroundTransparency = 1,
24
24
  BorderSizePixel = 0,
25
25
  },
26
26
  rowLayout = {
27
27
  FillDirection = Enum.FillDirection.Horizontal,
28
- Padding = UDim.new(0, theme.padding.calc(1)),
28
+ Padding = UDim.new(0, theme.padding.calc(0.5)),
29
29
  VerticalAlignment = Enum.VerticalAlignment.Center,
30
30
  SortOrder = Enum.SortOrder.LayoutOrder,
31
31
  },
32
32
  swatch = {
33
- Size = UDim2.fromOffset(theme.spacing.calc(2), theme.spacing.calc(2)),
33
+ Size = UDim2.fromOffset(theme.spacing.calc(3), theme.spacing.calc(3)),
34
34
  BorderSizePixel = 0,
35
35
  },
36
36
  swatchStroke = {
@@ -41,11 +41,11 @@ local useColorPickerStyles = componentStyles("ColorPicker", function(theme)
41
41
  CornerRadius = UDim.new(0, theme.padding.calc(0.5)),
42
42
  },
43
43
  hex = {
44
- Size = UDim2.new(1, -theme.spacing.calc(3), 1, 0),
44
+ Size = UDim2.new(1, -theme.spacing.calc(4), 1, 0),
45
45
  BackgroundTransparency = 1,
46
46
  },
47
47
  plane = {
48
- Size = UDim2.new(1, 0, 0, theme.spacing.calc(8)),
48
+ Size = UDim2.new(1, 0, 0, theme.spacing.calc(10)),
49
49
  BorderSizePixel = 0,
50
50
  Active = true,
51
51
  },
@@ -55,7 +55,7 @@ local useColorPickerStyles = componentStyles("ColorPicker", function(theme)
55
55
  BorderSizePixel = 0,
56
56
  },
57
57
  cursor = {
58
- Size = UDim2.fromOffset(theme.spacing.calc(1), theme.spacing.calc(1)),
58
+ Size = UDim2.fromOffset(theme.spacing.calc(1.25), theme.spacing.calc(1.25)),
59
59
  AnchorPoint = Vector2.new(0.5, 0.5),
60
60
  BackgroundTransparency = 1,
61
61
  BorderSizePixel = 0,
@@ -65,45 +65,55 @@ local useColorPickerStyles = componentStyles("ColorPicker", function(theme)
65
65
  Thickness = 2,
66
66
  },
67
67
  hue = {
68
- Size = UDim2.new(1, 0, 0, theme.spacing.calc(1.5)),
68
+ Size = UDim2.new(1, 0, 0, theme.spacing.calc(1.75)),
69
69
  BorderSizePixel = 0,
70
70
  Active = true,
71
71
  },
72
72
  hueKnob = {
73
- Size = UDim2.fromOffset(theme.padding.calc(1), theme.spacing.calc(1.5)),
73
+ Size = UDim2.fromOffset(theme.padding.calc(1.25), theme.spacing.calc(1.75)),
74
74
  AnchorPoint = Vector2.new(0.5, 0.5),
75
75
  BackgroundColor3 = theme.palette.text.primary,
76
76
  BorderSizePixel = 0,
77
77
  },
78
+ sequenceBar = {
79
+ Size = UDim2.new(1, 0, 0, theme.spacing.calc(3)),
80
+ BorderSizePixel = 0,
81
+ Active = true,
82
+ },
83
+ stop = {
84
+ Size = UDim2.fromOffset(theme.spacing.calc(1.5), theme.spacing.calc(1.5)),
85
+ AnchorPoint = Vector2.new(0.5, 0.5),
86
+ BorderSizePixel = 0,
87
+ },
78
88
  channel = {
79
- Size = UDim2.new(1 / 3, -theme.padding.calc(1), 0, theme.spacing.calc(2)),
89
+ Size = UDim2.new(1 / 3, -theme.padding.calc(0.5), 0, theme.spacing.calc(3)),
80
90
  BackgroundTransparency = 1,
81
91
  },
82
92
  label = {
83
- Size = UDim2.new(0, theme.spacing.calc(1), 1, 0),
93
+ Size = UDim2.new(0, theme.spacing.calc(1.5), 1, 0),
84
94
  BackgroundTransparency = 1,
85
95
  Font = theme.typography.fontFamilies.default,
86
- TextSize = theme.typography.fontSizes.caption,
96
+ TextSize = theme.typography.fontSizes.button,
87
97
  TextColor3 = theme.palette.text.secondary,
88
98
  TextXAlignment = Enum.TextXAlignment.Left,
89
99
  },
90
100
  channelField = {
91
- Size = UDim2.new(1, -theme.spacing.calc(1), 1, 0),
101
+ Size = UDim2.new(1, -theme.spacing.calc(1.5), 1, 0),
92
102
  BackgroundTransparency = 1,
93
103
  },
94
104
  field = {
95
- Size = UDim2.new(1, 0, 0, theme.spacing.calc(2)),
105
+ Size = UDim2.new(1, 0, 0, theme.spacing.calc(3)),
96
106
  BackgroundTransparency = 1,
97
107
  BorderSizePixel = 0,
98
108
  },
99
109
  swatchButton = {
100
- Size = UDim2.fromOffset(theme.spacing.calc(2), theme.spacing.calc(2)),
110
+ Size = UDim2.fromOffset(theme.spacing.calc(3), theme.spacing.calc(3)),
101
111
  BorderSizePixel = 0,
102
112
  AutoButtonColor = false,
103
113
  Text = "",
104
114
  },
105
115
  value = {
106
- Size = UDim2.new(1, -theme.spacing.calc(3), 1, 0),
116
+ Size = UDim2.new(1, -theme.spacing.calc(4), 1, 0),
107
117
  BackgroundTransparency = 1,
108
118
  },
109
119
  shell = {
@@ -117,23 +127,27 @@ local useColorPickerStyles = componentStyles("ColorPicker", function(theme)
117
127
  PaddingLeft = UDim.new(0, theme.padding.calc(1)),
118
128
  PaddingRight = UDim.new(0, theme.padding.calc(1)),
119
129
  },
130
+ shellStroke = {
131
+ Color = theme.palette.divider,
132
+ Thickness = 1,
133
+ },
120
134
  recent = {
121
- Size = UDim2.new(1, 0, 0, theme.spacing.calc(1.5)),
135
+ Size = UDim2.new(1, 0, 0, theme.spacing.calc(2)),
122
136
  BackgroundTransparency = 1,
123
137
  },
124
138
  recentChip = {
125
- Size = UDim2.fromOffset(theme.spacing.calc(1.5), theme.spacing.calc(1.5)),
139
+ Size = UDim2.fromOffset(theme.spacing.calc(2), theme.spacing.calc(2)),
126
140
  BorderSizePixel = 0,
127
141
  AutoButtonColor = false,
128
142
  Text = "",
129
143
  },
130
144
  link = {
131
- Size = UDim2.new(0, 0, 0, theme.spacing.calc(1.5)),
145
+ Size = UDim2.new(0, 0, 0, theme.spacing.calc(2)),
132
146
  AutomaticSize = Enum.AutomaticSize.X,
133
147
  BackgroundTransparency = 1,
134
148
  AutoButtonColor = false,
135
149
  Font = theme.typography.fontFamilies.default,
136
- TextSize = theme.typography.fontSizes.caption,
150
+ TextSize = theme.typography.fontSizes.button,
137
151
  TextColor3 = theme.palette.text.secondary,
138
152
  TextXAlignment = Enum.TextXAlignment.Left,
139
153
  },
@@ -70,7 +70,7 @@ local function ColorSequenceEditor(props)
70
70
  local _attributes_2 = {
71
71
  key = "Bar",
72
72
  }
73
- for _k, _v in styles.hue do
73
+ for _k, _v in styles.sequenceBar do
74
74
  _attributes_2[_k] = _v
75
75
  end
76
76
  _attributes_2.LayoutOrder = 1
@@ -124,24 +124,27 @@ local function ColorSequenceEditor(props)
124
124
  local _attributes_3 = table.clone(styles.corner)
125
125
  setmetatable(_attributes_3, nil)
126
126
  local _exp_1 = React.createElement("uicorner", _attributes_3)
127
- local _exp_2 = React.createElement("uigradient", {
127
+ local _attributes_4 = table.clone(styles.swatchStroke)
128
+ setmetatable(_attributes_4, nil)
129
+ local _exp_2 = React.createElement("uistroke", _attributes_4)
130
+ local _exp_3 = React.createElement("uigradient", {
128
131
  Color = value,
129
132
  })
130
133
  -- ▼ ReadonlyArray.map ▼
131
134
  local _newValue = table.create(#stops)
132
135
  local _callback = function(stop, stopIndex)
133
- local _attributes_4 = {
136
+ local _attributes_5 = {
134
137
  key = `Stop-{stopIndex}`,
135
138
  }
136
- for _k, _v in styles.hueKnob do
137
- _attributes_4[_k] = _v
139
+ for _k, _v in styles.stop do
140
+ _attributes_5[_k] = _v
138
141
  end
139
- _attributes_4.BackgroundColor3 = stop.color
140
- _attributes_4.Position = UDim2.fromScale(stop.t, 0.5)
141
- _attributes_4.ZIndex = if stopIndex == index then 2 else 1
142
- local _attributes_5 = table.clone(styles.corner)
143
- setmetatable(_attributes_5, nil)
144
- return React.createElement("frame", _attributes_4, React.createElement("uicorner", _attributes_5), React.createElement("uistroke", {
142
+ _attributes_5.BackgroundColor3 = stop.color
143
+ _attributes_5.Position = UDim2.fromScale(stop.t, 0.5)
144
+ _attributes_5.ZIndex = if stopIndex == index then 2 else 1
145
+ return React.createElement("frame", _attributes_5, React.createElement("uicorner", {
146
+ CornerRadius = UDim.new(0, 2),
147
+ }), React.createElement("uistroke", {
145
148
  Thickness = if stopIndex == index then 2 else 1,
146
149
  Color = Color3.new(1, 1, 1),
147
150
  }))
@@ -150,8 +153,8 @@ local function ColorSequenceEditor(props)
150
153
  _newValue[_k] = _callback(_v, _k - 1, stops)
151
154
  end
152
155
  -- ▲ ReadonlyArray.map ▲
153
- local _exp_3 = React.createElement("frame", _attributes_2, _exp_1, _exp_2, React.createElement(React.Fragment, nil, _newValue))
154
- local _exp_4 = React.createElement(ColorPicker, {
156
+ local _exp_4 = React.createElement("frame", _attributes_2, _exp_1, _exp_2, _exp_3, React.createElement(React.Fragment, nil, _newValue))
157
+ local _exp_5 = React.createElement(ColorPicker, {
155
158
  key = "StopColor",
156
159
  value = current.color,
157
160
  disabled = disabled,
@@ -163,15 +166,15 @@ local function ColorSequenceEditor(props)
163
166
  })
164
167
  local _condition_1 = #stops > 2 and index > 0 and index < #stops - 1
165
168
  if _condition_1 then
166
- local _attributes_4 = {
169
+ local _attributes_5 = {
167
170
  key = "Remove",
168
171
  }
169
172
  for _k, _v in styles.link do
170
- _attributes_4[_k] = _v
173
+ _attributes_5[_k] = _v
171
174
  end
172
- _attributes_4.Text = "Remove stop"
173
- _attributes_4.LayoutOrder = 3
174
- _attributes_4.Event = {
175
+ _attributes_5.Text = "Remove stop"
176
+ _attributes_5.LayoutOrder = 3
177
+ _attributes_5.Event = {
175
178
  Activated = function()
176
179
  if not active then
177
180
  return nil
@@ -180,9 +183,9 @@ local function ColorSequenceEditor(props)
180
183
  setSelected(math.max(0, index - 1))
181
184
  end,
182
185
  }
183
- _condition_1 = (React.createElement("textbutton", _attributes_4))
186
+ _condition_1 = (React.createElement("textbutton", _attributes_5))
184
187
  end
185
- return React.createElement("frame", _attributes, _exp, _exp_3, _exp_4, _condition_1)
188
+ return React.createElement("frame", _attributes, _exp, _exp_4, _exp_5, _condition_1)
186
189
  end
187
190
  local default = ColorSequenceEditor
188
191
  return {
@@ -71,10 +71,10 @@ local function NumberSequenceEditor(props)
71
71
  local _attributes_2 = {
72
72
  key = "Bar",
73
73
  }
74
- for _k, _v in styles.hue do
74
+ for _k, _v in styles.sequenceBar do
75
75
  _attributes_2[_k] = _v
76
76
  end
77
- _attributes_2.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
77
+ _attributes_2.BackgroundColor3 = Color3.new(1, 1, 1)
78
78
  _attributes_2.LayoutOrder = 1
79
79
  _attributes_2.Active = active
80
80
  _attributes_2.Event = {
@@ -126,57 +126,64 @@ local function NumberSequenceEditor(props)
126
126
  local _attributes_3 = table.clone(styles.corner)
127
127
  setmetatable(_attributes_3, nil)
128
128
  local _exp_1 = React.createElement("uicorner", _attributes_3)
129
- local _exp_2 = React.createElement("uigradient", {
129
+ local _attributes_4 = table.clone(styles.swatchStroke)
130
+ setmetatable(_attributes_4, nil)
131
+ local _exp_2 = React.createElement("uistroke", _attributes_4)
132
+ local _exp_3 = React.createElement("uigradient", {
130
133
  Transparency = value,
131
134
  })
132
135
  -- ▼ ReadonlyArray.map ▼
133
136
  local _newValue = table.create(#stops)
134
137
  local _callback = function(stop, stopIndex)
135
- local _attributes_4 = {
138
+ local _attributes_5 = {
136
139
  key = `Stop-{stopIndex}`,
137
140
  }
138
- for _k, _v in styles.hueKnob do
139
- _attributes_4[_k] = _v
141
+ for _k, _v in styles.stop do
142
+ _attributes_5[_k] = _v
140
143
  end
141
- _attributes_4.Position = UDim2.fromScale(stop.t, 0.5)
142
- _attributes_4.ZIndex = if stopIndex == index then 2 else 1
143
- local _attributes_5 = table.clone(styles.corner)
144
- setmetatable(_attributes_5, nil)
145
- return React.createElement("frame", _attributes_4, React.createElement("uicorner", _attributes_5))
144
+ _attributes_5.BackgroundColor3 = Color3.new(0.85, 0.85, 0.85)
145
+ _attributes_5.Position = UDim2.fromScale(stop.t, 0.5)
146
+ _attributes_5.ZIndex = if stopIndex == index then 2 else 1
147
+ return React.createElement("frame", _attributes_5, React.createElement("uicorner", {
148
+ CornerRadius = UDim.new(0, 2),
149
+ }), React.createElement("uistroke", {
150
+ Thickness = if stopIndex == index then 2 else 1,
151
+ Color = Color3.new(1, 1, 1),
152
+ }))
146
153
  end
147
154
  for _k, _v in stops do
148
155
  _newValue[_k] = _callback(_v, _k - 1, stops)
149
156
  end
150
157
  -- ▲ ReadonlyArray.map ▲
151
- local _exp_3 = React.createElement("frame", _attributes_2, _exp_1, _exp_2, React.createElement(React.Fragment, nil, _newValue))
152
- local _attributes_4 = {
158
+ local _exp_4 = React.createElement("frame", _attributes_2, _exp_1, _exp_2, _exp_3, React.createElement(React.Fragment, nil, _newValue))
159
+ local _attributes_5 = {
153
160
  key = "Fields",
154
161
  }
155
162
  for _k, _v in styles.row do
156
- _attributes_4[_k] = _v
163
+ _attributes_5[_k] = _v
157
164
  end
158
- _attributes_4.LayoutOrder = 2
159
- _attributes_4.Size = UDim2.new(1, 0, 0, 0)
160
- _attributes_4.AutomaticSize = Enum.AutomaticSize.Y
161
- local _attributes_5 = table.clone(styles.rowLayout)
162
- setmetatable(_attributes_5, nil)
163
- local _exp_4 = React.createElement("uilistlayout", _attributes_5)
164
- local _attributes_6 = {
165
+ _attributes_5.LayoutOrder = 2
166
+ _attributes_5.Size = UDim2.new(1, 0, 0, 0)
167
+ _attributes_5.AutomaticSize = Enum.AutomaticSize.Y
168
+ local _attributes_6 = table.clone(styles.rowLayout)
169
+ setmetatable(_attributes_6, nil)
170
+ local _exp_5 = React.createElement("uilistlayout", _attributes_6)
171
+ local _attributes_7 = {
165
172
  key = "Value",
166
173
  }
167
174
  for _k, _v in styles.channel do
168
- _attributes_6[_k] = _v
175
+ _attributes_7[_k] = _v
169
176
  end
170
- local _attributes_7 = table.clone(styles.rowLayout)
171
- setmetatable(_attributes_7, nil)
172
- local _exp_5 = React.createElement("uilistlayout", _attributes_7)
173
- local _attributes_8 = table.clone(styles.label)
177
+ local _attributes_8 = table.clone(styles.rowLayout)
174
178
  setmetatable(_attributes_8, nil)
175
- _attributes_8.Text = "V"
176
- local _exp_6 = React.createElement("textlabel", _attributes_8)
177
- local _attributes_9 = table.clone(styles.channelField)
179
+ local _exp_6 = React.createElement("uilistlayout", _attributes_8)
180
+ local _attributes_9 = table.clone(styles.label)
178
181
  setmetatable(_attributes_9, nil)
179
- local _exp_7 = React.createElement("frame", _attributes_6, _exp_5, _exp_6, React.createElement("frame", _attributes_9, React.createElement(NumberInput, {
182
+ _attributes_9.Text = "V"
183
+ local _exp_7 = React.createElement("textlabel", _attributes_9)
184
+ local _attributes_10 = table.clone(styles.channelField)
185
+ setmetatable(_attributes_10, nil)
186
+ local _exp_8 = React.createElement("frame", _attributes_7, _exp_6, _exp_7, React.createElement("frame", _attributes_10, React.createElement(NumberInput, {
180
187
  value = current.value,
181
188
  disabled = disabled,
182
189
  width = UDim.new(1, 0),
@@ -186,22 +193,22 @@ local function NumberSequenceEditor(props)
186
193
  }))
187
194
  end,
188
195
  })))
189
- local _attributes_10 = {
196
+ local _attributes_11 = {
190
197
  key = "Envelope",
191
198
  }
192
199
  for _k, _v in styles.channel do
193
- _attributes_10[_k] = _v
200
+ _attributes_11[_k] = _v
194
201
  end
195
- local _attributes_11 = table.clone(styles.rowLayout)
196
- setmetatable(_attributes_11, nil)
197
- local _exp_8 = React.createElement("uilistlayout", _attributes_11)
198
- local _attributes_12 = table.clone(styles.label)
202
+ local _attributes_12 = table.clone(styles.rowLayout)
199
203
  setmetatable(_attributes_12, nil)
200
- _attributes_12.Text = "E"
201
- local _exp_9 = React.createElement("textlabel", _attributes_12)
202
- local _attributes_13 = table.clone(styles.channelField)
204
+ local _exp_9 = React.createElement("uilistlayout", _attributes_12)
205
+ local _attributes_13 = table.clone(styles.label)
203
206
  setmetatable(_attributes_13, nil)
204
- local _exp_10 = React.createElement("frame", _attributes_4, _exp_4, _exp_7, React.createElement("frame", _attributes_10, _exp_8, _exp_9, React.createElement("frame", _attributes_13, React.createElement(NumberInput, {
207
+ _attributes_13.Text = "E"
208
+ local _exp_10 = React.createElement("textlabel", _attributes_13)
209
+ local _attributes_14 = table.clone(styles.channelField)
210
+ setmetatable(_attributes_14, nil)
211
+ local _exp_11 = React.createElement("frame", _attributes_5, _exp_5, _exp_8, React.createElement("frame", _attributes_11, _exp_9, _exp_10, React.createElement("frame", _attributes_14, React.createElement(NumberInput, {
205
212
  value = current.envelope,
206
213
  disabled = disabled,
207
214
  width = UDim.new(1, 0),
@@ -213,15 +220,15 @@ local function NumberSequenceEditor(props)
213
220
  }))))
214
221
  local _condition_1 = #stops > 2 and index > 0 and index < #stops - 1
215
222
  if _condition_1 then
216
- local _attributes_14 = {
223
+ local _attributes_15 = {
217
224
  key = "Remove",
218
225
  }
219
226
  for _k, _v in styles.link do
220
- _attributes_14[_k] = _v
227
+ _attributes_15[_k] = _v
221
228
  end
222
- _attributes_14.Text = "Remove stop"
223
- _attributes_14.LayoutOrder = 3
224
- _attributes_14.Event = {
229
+ _attributes_15.Text = "Remove stop"
230
+ _attributes_15.LayoutOrder = 3
231
+ _attributes_15.Event = {
225
232
  Activated = function()
226
233
  if not active then
227
234
  return nil
@@ -230,9 +237,9 @@ local function NumberSequenceEditor(props)
230
237
  setSelected(math.max(0, index - 1))
231
238
  end,
232
239
  }
233
- _condition_1 = (React.createElement("textbutton", _attributes_14))
240
+ _condition_1 = (React.createElement("textbutton", _attributes_15))
234
241
  end
235
- return React.createElement("frame", _attributes, _exp, _exp_3, _exp_10, _condition_1)
242
+ return React.createElement("frame", _attributes, _exp, _exp_4, _exp_11, _condition_1)
236
243
  end
237
244
  local default = NumberSequenceEditor
238
245
  return {