@eyepop.ai/eyepop-render-2d 3.27.0 → 4.0.0-rc.1

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.
@@ -109,6 +109,7 @@ var BoxType = /* @__PURE__ */ ((BoxType2) => {
109
109
  BoxType2["SimpleSelected"] = "simpleSelected";
110
110
  return BoxType2;
111
111
  })(BoxType || {});
112
+ var byCategory = (a, b) => (a.category ?? "").localeCompare(b.category ?? "");
112
113
  var RenderBox = class _RenderBox {
113
114
  constructor(options = {}) {
114
115
  this.target = DEFAULT_TARGET;
@@ -141,12 +142,6 @@ var RenderBox = class _RenderBox {
141
142
  const y = yOffset + element.y * yScale;
142
143
  const w = element.width * xScale;
143
144
  const h = element.height * yScale;
144
- if (element.objects) {
145
- element.objects.sort((a, b) => {
146
- if (!a.category || !b.category) return 0;
147
- return a.category.localeCompare(b.category);
148
- });
149
- }
150
145
  let canvasDimension = Math.min(w, h);
151
146
  const lineWidth = Math.max(canvasDimension * 25e-4, style.scale);
152
147
  context.beginPath();
@@ -198,11 +193,9 @@ var RenderBox = class _RenderBox {
198
193
  yOffset += this.drawLabel(label, context, element, yScale, xScale, yOffset, xOffset, style, boundingBoxWidth, padding, false, fontSize);
199
194
  }
200
195
  if (this.showNestedClasses && element?.classes) {
201
- element.classes.sort((a, b) => {
202
- return a.category.localeCompare(b.category);
203
- });
204
- for (let i = 0; i < element.classes.length; i++) {
205
- label = element.classes[i]?.classLabel;
196
+ const classes = [...element.classes].sort(byCategory);
197
+ for (let i = 0; i < classes.length; i++) {
198
+ label = classes[i]?.classLabel;
206
199
  if (!label) continue;
207
200
  label = _RenderBox.toTitleCase(label);
208
201
  yOffset += this.drawLabel(label, context, element, yScale, xScale, yOffset, xOffset, style, boundingBoxWidth, padding, false, fontSize);
@@ -229,12 +222,6 @@ var RenderBox = class _RenderBox {
229
222
  const y = yOffset + element.y * yScale;
230
223
  const w = element.width * xScale;
231
224
  const h = element.height * yScale;
232
- if (element.objects) {
233
- element.objects.sort((a, b) => {
234
- if (!a.category || !b.category) return 0;
235
- return a.category.localeCompare(b.category);
236
- });
237
- }
238
225
  const scale = style.scale;
239
226
  context.beginPath();
240
227
  context.rect(x, y, w, h);
@@ -255,11 +242,9 @@ var RenderBox = class _RenderBox {
255
242
  yOffset += this.drawLabel(label, context, element, yScale, xScale, yOffset, xOffset, style, boundingBoxWidth, padding, false, fontSize);
256
243
  }
257
244
  if (this.showNestedClasses && element?.classes) {
258
- element.classes.sort((a, b) => {
259
- return a.category.localeCompare(b.category);
260
- });
261
- for (let i = 0; i < element.classes.length; i++) {
262
- label = element.classes[i]?.classLabel;
245
+ const classes = [...element.classes].sort(byCategory);
246
+ for (let i = 0; i < classes.length; i++) {
247
+ label = classes[i]?.classLabel;
263
248
  if (!label) continue;
264
249
  label = _RenderBox.toTitleCase(label);
265
250
  yOffset += this.drawLabel(label, context, element, yScale, xScale, yOffset, xOffset, style, boundingBoxWidth, padding, false, fontSize);
@@ -286,12 +271,6 @@ var RenderBox = class _RenderBox {
286
271
  const y = yOffset + element.y * yScale;
287
272
  const w = element.width * xScale;
288
273
  const h = element.height * yScale;
289
- if (element.objects) {
290
- element.objects.sort((a, b) => {
291
- if (!a.category || !b.category) return 0;
292
- return a.category.localeCompare(b.category);
293
- });
294
- }
295
274
  const scale = style.scale;
296
275
  context.beginPath();
297
276
  context.rect(x, y, w, h);
@@ -334,11 +313,9 @@ var RenderBox = class _RenderBox {
334
313
  yOffset += this.drawLabel(label, context, element, yScale, xScale, yOffset, xOffset, style, boundingBoxWidth, padding, false, fontSize);
335
314
  }
336
315
  if (this.showNestedClasses && element?.classes) {
337
- element.classes.sort((a, b) => {
338
- return a.category.localeCompare(b.category);
339
- });
340
- for (let i = 0; i < element.classes.length; i++) {
341
- label = element.classes[i]?.classLabel;
316
+ const classes = [...element.classes].sort(byCategory);
317
+ for (let i = 0; i < classes.length; i++) {
318
+ label = classes[i]?.classLabel;
342
319
  if (!label) continue;
343
320
  label = _RenderBox.toTitleCase(label);
344
321
  yOffset += this.drawLabel(label, context, element, yScale, xScale, yOffset, xOffset, style, boundingBoxWidth, padding, false, fontSize);