@social.io/catalog 2.1.0 → 2.1.2

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.
@@ -32,15 +32,15 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
32
32
  }
33
33
  return useValue ? value : void 0;
34
34
  };
35
- import { DeesElement, css, customElement, html, property, } from '@design.estate/dees-element';
36
- import { SioLogoRenderer, sioLogoAspect } from './sio-logo-render.js';
35
+ import { DeesElement, css, customElement, directives, html, property, state, } from '@design.estate/dees-element';
36
+ import { SioLogoRenderer, sioLogoAspect, } from './sio-logo-render.js';
37
37
  import { sioElementStyles } from './tokens.js';
38
38
  /**
39
39
  * The social.io faceted S brand mark from the v8 design prototype.
40
40
  *
41
- * The canvas renderer preserves the exact eight-facet geometry and supports
42
- * entrance, hover-wave, dismiss, and loading animations. Motion is disabled
43
- * when the visitor requests reduced motion.
41
+ * Geometry and animation run on an OffscreenCanvas in a module worker when the
42
+ * browser and consumer bundle support it. The same renderer is used on the
43
+ * main thread as a safe fallback.
44
44
  */
45
45
  let SioLogo = (() => {
46
46
  let _classDecorators = [customElement('sio-logo')];
@@ -78,6 +78,9 @@ let SioLogo = (() => {
78
78
  let _noHover_decorators;
79
79
  let _noHover_initializers = [];
80
80
  let _noHover_extraInitializers = [];
81
+ let _canvasGeneration_decorators;
82
+ let _canvasGeneration_initializers = [];
83
+ let _canvasGeneration_extraInitializers = [];
81
84
  var SioLogo = class extends _classSuper {
82
85
  static { _classThis = this; }
83
86
  static {
@@ -92,6 +95,7 @@ let SioLogo = (() => {
92
95
  _loading_decorators = [property({ type: Boolean, reflect: true })];
93
96
  _noEntrance_decorators = [property({ type: Boolean, attribute: 'no-entrance' })];
94
97
  _noHover_decorators = [property({ type: Boolean, attribute: 'no-hover' })];
98
+ _canvasGeneration_decorators = [state()];
95
99
  __esDecorate(this, null, _size_decorators, { kind: "accessor", name: "size", static: false, private: false, access: { has: obj => "size" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
96
100
  __esDecorate(this, null, _background_decorators, { kind: "accessor", name: "background", static: false, private: false, access: { has: obj => "background" in obj, get: obj => obj.background, set: (obj, value) => { obj.background = value; } }, metadata: _metadata }, _background_initializers, _background_extraInitializers);
97
101
  __esDecorate(this, null, _gap_decorators, { kind: "accessor", name: "gap", static: false, private: false, access: { has: obj => "gap" in obj, get: obj => obj.gap, set: (obj, value) => { obj.gap = value; } }, metadata: _metadata }, _gap_initializers, _gap_extraInitializers);
@@ -102,6 +106,7 @@ let SioLogo = (() => {
102
106
  __esDecorate(this, null, _loading_decorators, { kind: "accessor", name: "loading", static: false, private: false, access: { has: obj => "loading" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);
103
107
  __esDecorate(this, null, _noEntrance_decorators, { kind: "accessor", name: "noEntrance", static: false, private: false, access: { has: obj => "noEntrance" in obj, get: obj => obj.noEntrance, set: (obj, value) => { obj.noEntrance = value; } }, metadata: _metadata }, _noEntrance_initializers, _noEntrance_extraInitializers);
104
108
  __esDecorate(this, null, _noHover_decorators, { kind: "accessor", name: "noHover", static: false, private: false, access: { has: obj => "noHover" in obj, get: obj => obj.noHover, set: (obj, value) => { obj.noHover = value; } }, metadata: _metadata }, _noHover_initializers, _noHover_extraInitializers);
109
+ __esDecorate(this, null, _canvasGeneration_decorators, { kind: "accessor", name: "canvasGeneration", static: false, private: false, access: { has: obj => "canvasGeneration" in obj, get: obj => obj.canvasGeneration, set: (obj, value) => { obj.canvasGeneration = value; } }, metadata: _metadata }, _canvasGeneration_initializers, _canvasGeneration_extraInitializers);
105
110
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
106
111
  SioLogo = _classThis = _classDescriptor.value;
107
112
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -150,6 +155,9 @@ let SioLogo = (() => {
150
155
  #noHover_accessor_storage = (__runInitializers(this, _noEntrance_extraInitializers), __runInitializers(this, _noHover_initializers, false));
151
156
  get noHover() { return this.#noHover_accessor_storage; }
152
157
  set noHover(value) { this.#noHover_accessor_storage = value; }
158
+ #canvasGeneration_accessor_storage = (__runInitializers(this, _noHover_extraInitializers), __runInitializers(this, _canvasGeneration_initializers, 0));
159
+ get canvasGeneration() { return this.#canvasGeneration_accessor_storage; }
160
+ set canvasGeneration(value) { this.#canvasGeneration_accessor_storage = value; }
153
161
  static styles = [
154
162
  ...sioElementStyles,
155
163
  css `
@@ -163,27 +171,45 @@ let SioLogo = (() => {
163
171
  }
164
172
  `,
165
173
  ];
166
- renderer = (__runInitializers(this, _noHover_extraInitializers), null);
174
+ backendState = (__runInitializers(this, _canvasGeneration_extraInitializers), 'idle');
175
+ worker = null;
176
+ renderer = null;
177
+ canvasTransferred = false;
178
+ forceMainThread = false;
179
+ initializationTimeout = null;
180
+ initializationGeneration = 0;
181
+ lifecycleGeneration = 0;
182
+ initialUpdateHandled = false;
183
+ queuedOptions = false;
184
+ queuedPhase = null;
167
185
  themeObserver = null;
168
- colorSchemeMedia = null;
169
186
  reducedMotionMedia = null;
170
187
  lastDevicePixelRatio = 0;
171
- lifecycleGeneration = 0;
188
+ lastLight = null;
172
189
  handlePointerEnter = () => {
173
190
  if (!this.noHover && !this.loading && !this.prefersReducedMotion())
174
191
  this.wave();
175
192
  };
176
193
  handleAmbientChange = () => {
177
- this.syncRenderer(this.loading ? 'loading' : null);
194
+ if (this.theme !== 'auto')
195
+ return;
196
+ const light = this.isLightBackdrop();
197
+ if (light === this.lastLight)
198
+ return;
199
+ this.lastLight = light;
200
+ this.syncRendererOptions();
178
201
  };
179
202
  handleReducedMotionChange = () => {
180
- this.syncRenderer(this.loading ? 'loading' : null);
203
+ if (this.prefersReducedMotion())
204
+ this.sendPhase('stop');
205
+ else if (this.loading)
206
+ this.sendPhase('loading');
181
207
  };
182
208
  handleResize = () => {
183
- const currentDevicePixelRatio = window.devicePixelRatio || 1;
184
- if (currentDevicePixelRatio === this.lastDevicePixelRatio)
209
+ const devicePixelRatio = window.devicePixelRatio || 1;
210
+ if (devicePixelRatio === this.lastDevicePixelRatio)
185
211
  return;
186
- this.syncRenderer(this.loading ? 'loading' : null);
212
+ this.syncRendererOptions();
187
213
  };
188
214
  async connectedCallback() {
189
215
  const generation = ++this.lifecycleGeneration;
@@ -193,104 +219,229 @@ let SioLogo = (() => {
193
219
  window.addEventListener('resize', this.handleResize);
194
220
  this.observeReducedMotion();
195
221
  await connection;
222
+ await this.updateComplete;
196
223
  if (!this.isConnected || generation !== this.lifecycleGeneration)
197
224
  return;
198
- if (this.hasUpdated) {
199
- this.observeAmbientTheme();
200
- this.syncRenderer(this.loading ? 'loading' : null);
201
- }
225
+ this.observeAmbientTheme();
226
+ if (this.hasUpdated && this.backendState === 'idle')
227
+ this.initializeCanvas();
202
228
  }
203
229
  async disconnectedCallback() {
204
230
  const generation = ++this.lifecycleGeneration;
205
- this.cleanupOwnedResources();
231
+ this.cleanupOwnedResources(true);
206
232
  await super.disconnectedCallback();
207
233
  if (!this.isConnected && generation === this.lifecycleGeneration) {
208
- this.cleanupOwnedResources();
234
+ this.cleanupOwnedResources(true);
209
235
  }
210
236
  }
211
- cleanupOwnedResources() {
237
+ cleanupOwnedResources(replaceTransferredCanvas) {
212
238
  this.removeEventListener('mouseenter', this.handlePointerEnter);
213
239
  window.removeEventListener('resize', this.handleResize);
214
240
  this.stopAmbientThemeObservation();
215
241
  this.stopReducedMotionObservation();
216
- this.renderer?.stop();
242
+ this.destroyBackend(replaceTransferredCanvas);
217
243
  }
218
244
  render() {
219
245
  const height = this.normalizedSize;
220
246
  const width = this.square ? height : Math.round(height * sioLogoAspect);
221
- return html `<canvas aria-hidden="true" style="width:${width}px;height:${height}px"></canvas>`;
247
+ return html `${directives.keyed(this.canvasGeneration, html `<canvas aria-hidden="true" style="width:${width}px;height:${height}px"></canvas>`)}`;
222
248
  }
223
249
  firstUpdated(changedProperties) {
224
250
  super.firstUpdated(changedProperties);
225
- const canvas = this.shadowRoot?.querySelector('canvas');
226
- const context = canvas?.getContext('2d');
227
- if (!context)
228
- return;
229
- this.renderer = new SioLogoRenderer(context, this.getRendererOptions());
230
- if (!this.isConnected) {
231
- this.renderer.drawStatic();
232
- return;
233
- }
234
251
  this.observeAmbientTheme();
235
- if (this.loading && !this.prefersReducedMotion())
236
- this.renderer.start('loading');
237
- else if (!this.noEntrance && !this.prefersReducedMotion())
238
- this.renderer.start('in');
239
- else
240
- this.renderer.drawStatic();
252
+ this.initializeCanvas();
241
253
  }
242
254
  updated(changedProperties) {
243
- if (!this.isConnected) {
244
- this.stopAmbientThemeObservation();
245
- this.renderer?.stop();
255
+ if (!this.initialUpdateHandled) {
256
+ this.initialUpdateHandled = true;
257
+ return;
258
+ }
259
+ if (!this.isConnected)
260
+ return;
261
+ if (changedProperties.has('canvasGeneration')) {
262
+ this.initializeCanvas();
246
263
  return;
247
264
  }
248
- const redrawProperties = [
265
+ const shapeProperties = [
249
266
  'size',
250
267
  'gap',
251
268
  'radius',
252
269
  'square',
253
270
  'background',
254
271
  'mono',
255
- 'theme',
256
272
  ];
257
- if (redrawProperties.some((propertyName) => changedProperties.has(propertyName))) {
258
- this.syncRenderer(this.loading ? 'loading' : null);
273
+ if (shapeProperties.some((propertyName) => changedProperties.has(propertyName))) {
274
+ this.syncRendererOptions();
259
275
  }
260
276
  if (changedProperties.has('theme')) {
261
277
  this.stopAmbientThemeObservation();
262
278
  this.observeAmbientTheme();
279
+ this.syncRendererOptions();
263
280
  }
264
281
  if (changedProperties.has('loading')) {
265
- this.syncRenderer(this.loading ? 'loading' : null);
282
+ this.sendPhase(this.loading && !this.prefersReducedMotion() ? 'loading' : 'stop');
266
283
  }
267
284
  }
268
285
  themeChanged() {
269
- this.syncRenderer(this.loading ? 'loading' : null);
286
+ this.handleAmbientChange();
270
287
  }
271
288
  play() {
272
- if (!this.renderer || !this.isConnected)
289
+ if (!this.isConnected)
273
290
  return;
274
- if (this.prefersReducedMotion())
275
- this.renderer.drawStatic();
276
- else
277
- this.renderer.start('in');
291
+ this.sendPhase(this.prefersReducedMotion() ? 'stop' : 'in');
278
292
  }
279
293
  wave() {
280
- if (!this.renderer || !this.isConnected)
294
+ if (!this.isConnected)
281
295
  return;
282
- if (this.prefersReducedMotion())
283
- this.renderer.drawStatic();
284
- else
285
- this.renderer.start('wave');
296
+ this.sendPhase(this.prefersReducedMotion() ? 'stop' : 'wave');
286
297
  }
287
298
  dismiss() {
288
- if (!this.renderer || !this.isConnected)
299
+ if (!this.isConnected)
289
300
  return;
290
- if (this.prefersReducedMotion())
291
- this.renderer.clear();
301
+ this.sendPhase(this.prefersReducedMotion() ? 'clear' : 'out');
302
+ }
303
+ initializeCanvas() {
304
+ if (!this.isConnected || this.backendState !== 'idle')
305
+ return;
306
+ const canvas = this.shadowRoot?.querySelector('canvas');
307
+ if (!canvas)
308
+ return;
309
+ const generation = ++this.initializationGeneration;
310
+ const supportsWorker = !this.forceMainThread &&
311
+ typeof Worker === 'function' &&
312
+ typeof canvas.transferControlToOffscreen === 'function';
313
+ if (!supportsWorker) {
314
+ this.initializeMainThread(canvas, generation);
315
+ return;
316
+ }
317
+ try {
318
+ const worker = new Worker(new URL('./sio-logo-worker.js', import.meta.url), {
319
+ type: 'module',
320
+ name: 'sio-logo',
321
+ });
322
+ this.worker = worker;
323
+ this.backendState = 'worker-loading';
324
+ worker.onmessage = (event) => {
325
+ if (event.data?.type === 'ready') {
326
+ this.handleWorkerReady(worker, canvas, generation);
327
+ }
328
+ else if (event.data?.type === 'initialized') {
329
+ this.handleWorkerInitialized(worker, generation);
330
+ }
331
+ };
332
+ worker.onerror = () => this.handleWorkerFailure(worker, canvas, generation);
333
+ worker.onmessageerror = () => this.handleWorkerFailure(worker, canvas, generation);
334
+ this.armInitializationTimeout(worker, canvas, generation);
335
+ }
336
+ catch {
337
+ this.forceMainThread = true;
338
+ this.initializeMainThread(canvas, generation);
339
+ }
340
+ }
341
+ handleWorkerReady(worker, canvas, generation) {
342
+ if (!this.isCurrentWorker(worker, generation) || this.backendState !== 'worker-loading')
343
+ return;
344
+ this.clearInitializationTimeout();
345
+ try {
346
+ const offscreenCanvas = canvas.transferControlToOffscreen();
347
+ this.canvasTransferred = true;
348
+ this.backendState = 'worker-transferred';
349
+ this.lastLight = this.isLightBackdrop();
350
+ worker.postMessage({
351
+ type: 'init',
352
+ canvas: offscreenCanvas,
353
+ options: this.getRendererOptions(),
354
+ phase: this.getInitialPhase(),
355
+ }, [offscreenCanvas]);
356
+ this.queuedOptions = false;
357
+ this.armInitializationTimeout(worker, canvas, generation);
358
+ }
359
+ catch {
360
+ this.handleWorkerFailure(worker, canvas, generation);
361
+ }
362
+ }
363
+ handleWorkerInitialized(worker, generation) {
364
+ if (!this.isCurrentWorker(worker, generation) || this.backendState !== 'worker-transferred')
365
+ return;
366
+ this.clearInitializationTimeout();
367
+ this.backendState = 'worker';
368
+ if (this.queuedOptions) {
369
+ this.queuedOptions = false;
370
+ this.syncRendererOptions();
371
+ }
372
+ if (this.queuedPhase) {
373
+ const phase = this.queuedPhase;
374
+ this.queuedPhase = null;
375
+ this.sendPhase(phase);
376
+ }
377
+ }
378
+ handleWorkerFailure(worker, canvas, generation) {
379
+ if (!this.isCurrentWorker(worker, generation))
380
+ return;
381
+ const requiresNewCanvas = this.canvasTransferred;
382
+ this.forceMainThread = true;
383
+ this.destroyBackend(requiresNewCanvas);
384
+ if (!requiresNewCanvas && this.isConnected) {
385
+ this.initializeMainThread(canvas, generation);
386
+ }
387
+ }
388
+ initializeMainThread(canvas, generation) {
389
+ if (!this.isConnected || generation !== this.initializationGeneration)
390
+ return;
391
+ const context = canvas.getContext('2d');
392
+ if (!context)
393
+ return;
394
+ this.backendState = 'main';
395
+ const options = this.getRendererOptions();
396
+ this.lastLight = options.light;
397
+ this.renderer = new SioLogoRenderer(context, options);
398
+ const phase = this.getInitialPhase();
399
+ if (phase)
400
+ this.renderer.start(phase);
292
401
  else
293
- this.renderer.start('out');
402
+ this.renderer.drawStatic();
403
+ this.queuedOptions = false;
404
+ if (this.queuedPhase) {
405
+ const queuedPhase = this.queuedPhase;
406
+ this.queuedPhase = null;
407
+ this.sendPhase(queuedPhase);
408
+ }
409
+ }
410
+ armInitializationTimeout(worker, canvas, generation) {
411
+ this.clearInitializationTimeout();
412
+ this.initializationTimeout = setTimeout(() => {
413
+ this.handleWorkerFailure(worker, canvas, generation);
414
+ }, 2000);
415
+ }
416
+ clearInitializationTimeout() {
417
+ if (this.initializationTimeout === null)
418
+ return;
419
+ clearTimeout(this.initializationTimeout);
420
+ this.initializationTimeout = null;
421
+ }
422
+ isCurrentWorker(worker, generation) {
423
+ return this.isConnected &&
424
+ this.worker === worker &&
425
+ generation === this.initializationGeneration;
426
+ }
427
+ destroyBackend(replaceTransferredCanvas) {
428
+ const transferred = this.canvasTransferred;
429
+ this.clearInitializationTimeout();
430
+ if (this.worker) {
431
+ this.worker.onmessage = null;
432
+ this.worker.onerror = null;
433
+ this.worker.onmessageerror = null;
434
+ this.worker.terminate();
435
+ }
436
+ this.worker = null;
437
+ this.renderer?.stop();
438
+ this.renderer = null;
439
+ this.backendState = 'idle';
440
+ this.canvasTransferred = false;
441
+ this.queuedOptions = false;
442
+ this.queuedPhase = null;
443
+ if (replaceTransferredCanvas && transferred)
444
+ this.canvasGeneration += 1;
294
445
  }
295
446
  get normalizedSize() {
296
447
  return Number.isFinite(this.size) ? Math.max(1, this.size) : 40;
@@ -308,16 +459,45 @@ let SioLogo = (() => {
308
459
  light: this.isLightBackdrop(),
309
460
  };
310
461
  }
311
- syncRenderer(animation = null) {
312
- if (!this.renderer)
462
+ getInitialPhase() {
463
+ if (!this.isConnected || this.prefersReducedMotion())
464
+ return null;
465
+ if (this.loading)
466
+ return 'loading';
467
+ return this.noEntrance ? null : 'in';
468
+ }
469
+ syncRendererOptions() {
470
+ const options = this.getRendererOptions();
471
+ this.lastLight = options.light;
472
+ if (this.backendState === 'worker') {
473
+ this.worker?.postMessage({ type: 'options', options });
474
+ }
475
+ else if (this.backendState === 'main') {
476
+ this.renderer?.setOptions(options);
477
+ }
478
+ else {
479
+ this.queuedOptions = true;
480
+ }
481
+ }
482
+ sendPhase(phase) {
483
+ if (this.backendState === 'worker') {
484
+ this.worker?.postMessage({ type: 'phase', phase });
313
485
  return;
314
- this.renderer.stop();
315
- this.renderer.setOptions(this.getRendererOptions());
316
- if (animation && this.isConnected && !this.prefersReducedMotion()) {
317
- this.renderer.start(animation);
318
486
  }
319
- else
320
- this.renderer.drawStatic();
487
+ if (this.backendState === 'main' && this.renderer) {
488
+ if (phase === 'stop') {
489
+ this.renderer.stop();
490
+ this.renderer.drawStatic();
491
+ }
492
+ else if (phase === 'clear') {
493
+ this.renderer.clear();
494
+ }
495
+ else {
496
+ this.renderer.start(phase);
497
+ }
498
+ return;
499
+ }
500
+ this.queuedPhase = phase;
321
501
  }
322
502
  prefersReducedMotion() {
323
503
  return this.reducedMotionMedia?.matches ??
@@ -331,6 +511,14 @@ let SioLogo = (() => {
331
511
  return false;
332
512
  let element = this;
333
513
  while (element) {
514
+ if (element === document.body || element === document.documentElement) {
515
+ const pageTheme = document.documentElement.getAttribute('data-sio-theme') ||
516
+ document.documentElement.getAttribute('data-theme');
517
+ if (pageTheme === 'light')
518
+ return true;
519
+ if (pageTheme === 'dark')
520
+ return false;
521
+ }
334
522
  const color = getComputedStyle(element).backgroundColor;
335
523
  const match = color.match(/rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:\s*[,/]\s*([\d.]+))?\s*\)/);
336
524
  if (match) {
@@ -346,7 +534,7 @@ let SioLogo = (() => {
346
534
  const root = element.getRootNode();
347
535
  element = element.parentElement || (root instanceof ShadowRoot ? root.host : null);
348
536
  }
349
- return window.matchMedia?.('(prefers-color-scheme: light)').matches ?? false;
537
+ return false;
350
538
  }
351
539
  observeAmbientTheme() {
352
540
  if (this.theme !== 'auto' || this.themeObserver)
@@ -356,14 +544,10 @@ let SioLogo = (() => {
356
544
  attributes: true,
357
545
  attributeFilter: ['data-sio-theme', 'data-theme', 'class', 'style'],
358
546
  });
359
- this.colorSchemeMedia = window.matchMedia?.('(prefers-color-scheme: light)') ?? null;
360
- this.colorSchemeMedia?.addEventListener('change', this.handleAmbientChange);
361
547
  }
362
548
  stopAmbientThemeObservation() {
363
549
  this.themeObserver?.disconnect();
364
550
  this.themeObserver = null;
365
- this.colorSchemeMedia?.removeEventListener('change', this.handleAmbientChange);
366
- this.colorSchemeMedia = null;
367
551
  }
368
552
  observeReducedMotion() {
369
553
  if (this.reducedMotionMedia)
@@ -390,4 +574,4 @@ let SioLogo = (() => {
390
574
  return SioLogo = _classThis;
391
575
  })();
392
576
  export { SioLogo };
393
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lvLWxvZ28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc2lvLWxvZ28udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsR0FBRyxFQUNILGFBQWEsRUFDYixJQUFJLEVBQ0osUUFBUSxHQUVULE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFVL0M7Ozs7OztHQU1HO0lBRVUsT0FBTzs0QkFEbkIsYUFBYSxDQUFDLFVBQVUsQ0FBQzs7OztzQkFDRyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3VCQUFuQixTQUFRLFdBQVc7Ozs7Z0NBV3JDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztzQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDOytCQUkxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7a0NBSTFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztrQ0FJMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO2dDQUkzQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7aUNBSTFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzttQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7c0NBRzFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFB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
577
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lvLWxvZ28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc2lvLWxvZ28udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsR0FBRyxFQUNILGFBQWEsRUFDYixVQUFVLEVBQ1YsSUFBSSxFQUNKLFFBQVEsRUFDUixLQUFLLEdBRU4sTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsR0FHZCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQW1CL0M7Ozs7OztHQU1HO0lBRVUsT0FBTzs0QkFEbkIsYUFBYSxDQUFDLFVBQVUsQ0FBQzs7OztzQkFDRyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3VCQUFuQixTQUFRLFdBQVc7Ozs7Z0NBV3JDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztzQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDOytCQUkxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7a0NBSTFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztrQ0FJMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO2dDQUkzQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7aUNBSTFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzttQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7c0NBRzFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@social.io/catalog",
3
- "version": "2.1.0",
3
+ "version": "2.1.2",
4
4
  "private": false,
5
5
  "description": "Apple-native v8 design system and web components for social.io",
6
6
  "exports": {
@@ -10,24 +10,24 @@
10
10
  "author": "Task Venture Capital GmbH",
11
11
  "license": "MIT",
12
12
  "dependencies": {
13
- "@design.estate/dees-domtools": "^2.5.6",
14
- "@design.estate/dees-element": "^2.4.0",
13
+ "@design.estate/dees-domtools": "^3.0.1",
14
+ "@design.estate/dees-element": "^3.4.0",
15
15
  "lucide": "^1.16.0"
16
16
  },
17
17
  "devDependencies": {
18
- "@git.zone/tsbuild": "^4.4.2",
19
- "@git.zone/tsbundle": "^2.11.2",
20
- "@git.zone/tsrun": "^2.0.5",
21
- "@git.zone/tstest": "^3.6.6",
22
- "@git.zone/tswatch": "^3.3.5",
23
- "@types/node": "^26.1.1",
24
- "@design.estate/dees-wcctools": "^3.9.0"
18
+ "@design.estate/dees-wcctools": "^4.0.0",
19
+ "@git.zone/tsbuild": "^5.0.0",
20
+ "@git.zone/tsbundle": "^3.0.1",
21
+ "@git.zone/tsrun": "^3.0.2",
22
+ "@git.zone/tstest": "^6.3.2",
23
+ "@git.zone/tswatch": "^4.0.2",
24
+ "@types/node": "^26.6.2"
25
25
  },
26
26
  "files": [
27
27
  "ts/**/*",
28
28
  "ts_web/**/*",
29
29
  "dist/**/*",
30
- "dist_*/**/*",
30
+ "dist_bundle/**/*",
31
31
  "dist_ts/**/*",
32
32
  "dist_ts_web/**/*",
33
33
  "assets/**/*",
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@social.io/catalog',
6
- version: '2.1.0',
6
+ version: '2.1.2',
7
7
  description: 'Apple-native v8 design system and web components for social.io'
8
8
  }