@eyepop.ai/eyepop-render-2d 3.26.0 → 3.27.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.
@@ -52,6 +52,7 @@ var BoxType = /* @__PURE__ */ ((BoxType2) => {
52
52
  BoxType2["SimpleSelected"] = "simpleSelected";
53
53
  return BoxType2;
54
54
  })(BoxType || {});
55
+ var byCategory = (a, b) => (a.category ?? "").localeCompare(b.category ?? "");
55
56
  var RenderBox = class _RenderBox {
56
57
  constructor(options = {}) {
57
58
  this.target = DEFAULT_TARGET;
@@ -84,12 +85,6 @@ var RenderBox = class _RenderBox {
84
85
  const y = yOffset + element.y * yScale;
85
86
  const w = element.width * xScale;
86
87
  const h = element.height * yScale;
87
- if (element.objects) {
88
- element.objects.sort((a, b) => {
89
- if (!a.category || !b.category) return 0;
90
- return a.category.localeCompare(b.category);
91
- });
92
- }
93
88
  let canvasDimension = Math.min(w, h);
94
89
  const lineWidth = Math.max(canvasDimension * 25e-4, style.scale);
95
90
  context.beginPath();
@@ -141,11 +136,9 @@ var RenderBox = class _RenderBox {
141
136
  yOffset += this.drawLabel(label, context, element, yScale, xScale, yOffset, xOffset, style, boundingBoxWidth, padding, false, fontSize);
142
137
  }
143
138
  if (this.showNestedClasses && element?.classes) {
144
- element.classes.sort((a, b) => {
145
- return a.category.localeCompare(b.category);
146
- });
147
- for (let i = 0; i < element.classes.length; i++) {
148
- label = element.classes[i]?.classLabel;
139
+ const classes = [...element.classes].sort(byCategory);
140
+ for (let i = 0; i < classes.length; i++) {
141
+ label = classes[i]?.classLabel;
149
142
  if (!label) continue;
150
143
  label = _RenderBox.toTitleCase(label);
151
144
  yOffset += this.drawLabel(label, context, element, yScale, xScale, yOffset, xOffset, style, boundingBoxWidth, padding, false, fontSize);
@@ -172,12 +165,6 @@ var RenderBox = class _RenderBox {
172
165
  const y = yOffset + element.y * yScale;
173
166
  const w = element.width * xScale;
174
167
  const h = element.height * yScale;
175
- if (element.objects) {
176
- element.objects.sort((a, b) => {
177
- if (!a.category || !b.category) return 0;
178
- return a.category.localeCompare(b.category);
179
- });
180
- }
181
168
  const scale = style.scale;
182
169
  context.beginPath();
183
170
  context.rect(x, y, w, h);
@@ -198,11 +185,9 @@ var RenderBox = class _RenderBox {
198
185
  yOffset += this.drawLabel(label, context, element, yScale, xScale, yOffset, xOffset, style, boundingBoxWidth, padding, false, fontSize);
199
186
  }
200
187
  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;
188
+ const classes = [...element.classes].sort(byCategory);
189
+ for (let i = 0; i < classes.length; i++) {
190
+ label = classes[i]?.classLabel;
206
191
  if (!label) continue;
207
192
  label = _RenderBox.toTitleCase(label);
208
193
  yOffset += this.drawLabel(label, context, element, yScale, xScale, yOffset, xOffset, style, boundingBoxWidth, padding, false, fontSize);
@@ -229,12 +214,6 @@ var RenderBox = class _RenderBox {
229
214
  const y = yOffset + element.y * yScale;
230
215
  const w = element.width * xScale;
231
216
  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
217
  const scale = style.scale;
239
218
  context.beginPath();
240
219
  context.rect(x, y, w, h);
@@ -277,11 +256,9 @@ var RenderBox = class _RenderBox {
277
256
  yOffset += this.drawLabel(label, context, element, yScale, xScale, yOffset, xOffset, style, boundingBoxWidth, padding, false, fontSize);
278
257
  }
279
258
  if (this.showNestedClasses && element?.classes) {
280
- element.classes.sort((a, b) => {
281
- return a.category.localeCompare(b.category);
282
- });
283
- for (let i = 0; i < element.classes.length; i++) {
284
- label = element.classes[i]?.classLabel;
259
+ const classes = [...element.classes].sort(byCategory);
260
+ for (let i = 0; i < classes.length; i++) {
261
+ label = classes[i]?.classLabel;
285
262
  if (!label) continue;
286
263
  label = _RenderBox.toTitleCase(label);
287
264
  yOffset += this.drawLabel(label, context, element, yScale, xScale, yOffset, xOffset, style, boundingBoxWidth, padding, false, fontSize);