@quenty/highlight 10.21.2 → 10.21.3-canary.550.afa1b3b.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [10.21.3-canary.550.afa1b3b.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/highlight@10.21.2...@quenty/highlight@10.21.3-canary.550.afa1b3b.0) (2025-04-10)
7
+
8
+ **Note:** Version bump only for package @quenty/highlight
9
+
10
+
11
+
12
+
13
+
6
14
  ## [10.21.2](https://github.com/Quenty/NevermoreEngine/compare/@quenty/highlight@10.21.0...@quenty/highlight@10.21.2) (2025-04-07)
7
15
 
8
16
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quenty/highlight",
3
- "version": "10.21.2",
3
+ "version": "10.21.3-canary.550.afa1b3b.0",
4
4
  "description": "Animated highlight system for the Roblox highlight object",
5
5
  "keywords": [
6
6
  "Roblox",
@@ -26,25 +26,25 @@
26
26
  "Quenty"
27
27
  ],
28
28
  "dependencies": {
29
- "@quenty/baseobject": "^10.8.2",
30
- "@quenty/basicpane": "^13.17.2",
31
- "@quenty/blend": "^12.18.2",
32
- "@quenty/ducktype": "^5.8.3",
33
- "@quenty/enumutils": "^3.4.2",
34
- "@quenty/instanceutils": "^13.17.2",
35
- "@quenty/loader": "^10.8.2",
36
- "@quenty/maid": "^3.4.2",
37
- "@quenty/math": "^2.7.3",
38
- "@quenty/observablecollection": "^12.20.2",
39
- "@quenty/rx": "^13.17.2",
40
- "@quenty/selectionutils": "^8.17.2",
41
- "@quenty/signal": "^7.10.2",
42
- "@quenty/statestack": "^14.18.2",
43
- "@quenty/table": "^3.7.3",
44
- "@quenty/valueobject": "^13.17.2"
29
+ "@quenty/baseobject": "10.8.3-canary.550.afa1b3b.0",
30
+ "@quenty/basicpane": "13.17.3-canary.550.afa1b3b.0",
31
+ "@quenty/blend": "12.18.3-canary.550.afa1b3b.0",
32
+ "@quenty/ducktype": "5.8.4-canary.550.afa1b3b.0",
33
+ "@quenty/enumutils": "3.4.2",
34
+ "@quenty/instanceutils": "13.17.3-canary.550.afa1b3b.0",
35
+ "@quenty/loader": "10.8.3-canary.550.afa1b3b.0",
36
+ "@quenty/maid": "3.4.3-canary.550.afa1b3b.0",
37
+ "@quenty/math": "2.7.3",
38
+ "@quenty/observablecollection": "12.20.3-canary.550.afa1b3b.0",
39
+ "@quenty/rx": "13.17.3-canary.550.afa1b3b.0",
40
+ "@quenty/selectionutils": "8.17.3-canary.550.afa1b3b.0",
41
+ "@quenty/signal": "7.10.3-canary.550.afa1b3b.0",
42
+ "@quenty/statestack": "14.18.3-canary.550.afa1b3b.0",
43
+ "@quenty/table": "3.7.4-canary.550.afa1b3b.0",
44
+ "@quenty/valueobject": "13.17.3-canary.550.afa1b3b.0"
45
45
  },
46
46
  "publishConfig": {
47
47
  "access": "public"
48
48
  },
49
- "gitHead": "64def70499ec067077ee39f279936b620b217847"
49
+ "gitHead": "afa1b3b99b862698c3ab46009497bd507150867c"
50
50
  }
@@ -1,3 +1,4 @@
1
+ --!strict
1
2
  --[=[
2
3
  @client
3
4
  @class AnimatedHighlight
@@ -14,13 +15,32 @@ local EnumUtils = require("EnumUtils")
14
15
  local Maid = require("Maid")
15
16
  local Signal = require("Signal")
16
17
  local DuckTypeUtils = require("DuckTypeUtils")
18
+ local _Observable = require("Observable")
17
19
 
18
20
  local AnimatedHighlight = setmetatable({}, BasicPane)
19
21
  AnimatedHighlight.ClassName = "AnimatedHighlight"
20
22
  AnimatedHighlight.__index = AnimatedHighlight
21
23
 
22
- function AnimatedHighlight.new()
23
- local self = setmetatable(BasicPane.new(), AnimatedHighlight)
24
+ export type AnimatedHighlight = typeof(setmetatable(
25
+ {} :: {
26
+ -- Public
27
+ Gui: Highlight,
28
+ Destroying: Signal.Signal<()>,
29
+
30
+ -- Private
31
+ _adornee: ValueObject.ValueObject<Instance?>,
32
+ _highlightDepthMode: ValueObject.ValueObject<Enum.HighlightDepthMode>,
33
+ _fillColorSpring: SpringObject.SpringObject<Color3>,
34
+ _outlineColorSpring: SpringObject.SpringObject<Color3>,
35
+ _fillTransparencySpring: SpringObject.SpringObject<number>,
36
+ _outlineTransparencySpring: SpringObject.SpringObject<number>,
37
+ _percentVisible: SpringObject.SpringObject<number>,
38
+ },
39
+ {} :: typeof({ __index = AnimatedHighlight })
40
+ )) & BasicPane.BasicPane
41
+
42
+ function AnimatedHighlight.new(): AnimatedHighlight
43
+ local self: AnimatedHighlight = setmetatable(BasicPane.new() :: any, AnimatedHighlight)
24
44
 
25
45
  self._adornee = self._maid:Add(ValueObject.new(nil))
26
46
  self._highlightDepthMode = self._maid:Add(ValueObject.new(Enum.HighlightDepthMode.AlwaysOnTop))
@@ -45,7 +65,7 @@ function AnimatedHighlight.new()
45
65
  end)
46
66
 
47
67
  self._maid:GiveTask(self:_render():Subscribe(function(highlight)
48
- self.Gui = highlight
68
+ self.Gui = highlight :: any
49
69
  end))
50
70
 
51
71
  return self
@@ -69,13 +89,13 @@ end
69
89
 
70
90
  @param depthMode Enum.HighlightDepthMode
71
91
  ]=]
72
- function AnimatedHighlight:SetHighlightDepthMode(depthMode)
92
+ function AnimatedHighlight.SetHighlightDepthMode(self: AnimatedHighlight, depthMode: Enum.HighlightDepthMode)
73
93
  assert(EnumUtils.isOfType(Enum.HighlightDepthMode, depthMode))
74
94
 
75
95
  self._highlightDepthMode.Value = depthMode
76
96
  end
77
97
 
78
- function AnimatedHighlight:SetPropertiesFrom(sourceHighlight)
98
+ function AnimatedHighlight.SetPropertiesFrom(self: AnimatedHighlight, sourceHighlight: AnimatedHighlight)
79
99
  assert(AnimatedHighlight.isAnimatedHighlight(sourceHighlight), "Bad AnimatedHighlight")
80
100
 
81
101
  self._highlightDepthMode.Value = sourceHighlight._highlightDepthMode.Value
@@ -99,27 +119,27 @@ function AnimatedHighlight:SetPropertiesFrom(sourceHighlight)
99
119
  transferSpringValue(self._percentVisible, sourceHighlight._percentVisible)
100
120
  end
101
121
 
102
- function AnimatedHighlight:SetTransparencySpeed(speed: number)
122
+ function AnimatedHighlight.SetTransparencySpeed(self: AnimatedHighlight, speed: number): ()
103
123
  assert(type(speed) == "number", "Bad speed")
104
124
 
105
125
  self._fillTransparencySpring.Speed = speed
106
126
  self._outlineTransparencySpring.Speed = speed
107
127
  end
108
128
 
109
- function AnimatedHighlight:SetColorSpeed(speed: number)
129
+ function AnimatedHighlight.SetColorSpeed(self: AnimatedHighlight, speed: number): ()
110
130
  assert(type(speed) == "number", "Bad speed")
111
131
 
112
132
  self._fillColorSpring.Speed = speed
113
133
  self._outlineColorSpring.Speed = speed
114
134
  end
115
135
 
116
- function AnimatedHighlight:SetSpeed(speed: number)
136
+ function AnimatedHighlight.SetSpeed(self: AnimatedHighlight, speed: number): ()
117
137
  assert(type(speed) == "number", "Bad speed")
118
138
 
119
139
  self._percentVisible.Speed = speed
120
140
  end
121
141
 
122
- function AnimatedHighlight:Finish(doNotAnimate: boolean?, callback)
142
+ function AnimatedHighlight.Finish(self: AnimatedHighlight, doNotAnimate: boolean?, callback: () -> ())
123
143
  if self._percentVisible.p == 0 and self._percentVisible.v == 0 then
124
144
  callback()
125
145
  return
@@ -158,7 +178,7 @@ end
158
178
  @param color Color3
159
179
  @param doNotAnimate boolean?
160
180
  ]=]
161
- function AnimatedHighlight:SetFillColor(color: Color3, doNotAnimate: boolean?)
181
+ function AnimatedHighlight.SetFillColor(self: AnimatedHighlight, color: Color3, doNotAnimate: boolean?): ()
162
182
  assert(typeof(color) == "Color3", "Bad color")
163
183
 
164
184
  self._fillColorSpring:SetTarget(color, doNotAnimate)
@@ -170,7 +190,7 @@ end
170
190
  @param color Color3
171
191
  @param doNotAnimate boolean?
172
192
  ]=]
173
- function AnimatedHighlight:SetOutlineColor(color: Color3, doNotAnimate: boolean?)
193
+ function AnimatedHighlight.SetOutlineColor(self: AnimatedHighlight, color: Color3, doNotAnimate: boolean?): ()
174
194
  assert(typeof(color) == "Color3", "Bad color")
175
195
 
176
196
  self._outlineColorSpring:SetTarget(color, doNotAnimate)
@@ -179,7 +199,7 @@ end
179
199
  --[=[
180
200
  Sets the adornee
181
201
  ]=]
182
- function AnimatedHighlight:SetAdornee(adornee: Instance?)
202
+ function AnimatedHighlight.SetAdornee(self: AnimatedHighlight, adornee: Instance?)
183
203
  assert(typeof(adornee) == "Instance" or adornee == nil, "Bad adornee")
184
204
 
185
205
  self._adornee.Value = adornee
@@ -189,7 +209,7 @@ end
189
209
  Gets the adornee
190
210
  @return Instance?
191
211
  ]=]
192
- function AnimatedHighlight:GetAdornee(): Instance?
212
+ function AnimatedHighlight.GetAdornee(self: AnimatedHighlight): Instance?
193
213
  return self._adornee.Value
194
214
  end
195
215
 
@@ -199,7 +219,11 @@ end
199
219
  @param outlineTransparency number
200
220
  @param doNotAnimate boolean?
201
221
  ]=]
202
- function AnimatedHighlight:SetOutlineTransparency(outlineTransparency: number, doNotAnimate: boolean?)
222
+ function AnimatedHighlight.SetOutlineTransparency(
223
+ self: AnimatedHighlight,
224
+ outlineTransparency: number,
225
+ doNotAnimate: boolean?
226
+ ): ()
203
227
  assert(type(outlineTransparency) == "number", "Bad outlineTransparency")
204
228
 
205
229
  self._outlineTransparencySpring.Target = outlineTransparency
@@ -215,7 +239,11 @@ end
215
239
  @param fillTransparency number
216
240
  @param doNotAnimate boolean?
217
241
  ]=]
218
- function AnimatedHighlight:SetFillTransparency(fillTransparency: number, doNotAnimate: boolean?)
242
+ function AnimatedHighlight.SetFillTransparency(
243
+ self: AnimatedHighlight,
244
+ fillTransparency: number,
245
+ doNotAnimate: boolean?
246
+ ): ()
219
247
  assert(type(fillTransparency) == "number", "Bad fillTransparency")
220
248
 
221
249
  self._fillTransparencySpring.Target = fillTransparency
@@ -225,28 +253,30 @@ function AnimatedHighlight:SetFillTransparency(fillTransparency: number, doNotAn
225
253
  end
226
254
  end
227
255
 
228
- function AnimatedHighlight:_render()
229
- return Blend.New "Highlight" {
230
- Name = "AnimatedHighlight";
231
- Archivable = false;
232
- DepthMode = self._highlightDepthMode;
233
- FillColor = self._fillColorSpring:ObserveRenderStepped();
234
- OutlineColor = self._outlineColorSpring:ObserveRenderStepped();
256
+ function AnimatedHighlight._render(self: AnimatedHighlight): _Observable.Observable<Highlight>
257
+ return Blend.New("Highlight")({
258
+ Name = "AnimatedHighlight",
259
+ Archivable = false,
260
+ DepthMode = self._highlightDepthMode,
261
+ FillColor = self._fillColorSpring:ObserveRenderStepped(),
262
+ OutlineColor = self._outlineColorSpring:ObserveRenderStepped(),
235
263
  FillTransparency = Blend.Computed(
236
264
  self._fillTransparencySpring:ObserveRenderStepped(),
237
265
  self._percentVisible:ObserveRenderStepped(),
238
266
  function(transparency, visible)
239
267
  return Math.map(visible, 0, 1, 1, transparency)
240
- end);
268
+ end
269
+ ),
241
270
  OutlineTransparency = Blend.Computed(
242
271
  self._outlineTransparencySpring:ObserveRenderStepped(),
243
272
  self._percentVisible:ObserveRenderStepped(),
244
273
  function(transparency, visible)
245
274
  return Math.map(visible, 0, 1, 1, transparency)
246
- end);
247
- Adornee = self._adornee;
248
- Parent = self._adornee;
249
- }
275
+ end
276
+ ),
277
+ Adornee = self._adornee,
278
+ Parent = self._adornee,
279
+ }) :: any
250
280
  end
251
281
 
252
282
  return AnimatedHighlight