@ctrliq/quantic-components 1.65.0 → 1.67.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.
@@ -66289,6 +66289,75 @@
66289
66289
  quanticElement('quantic-progress')
66290
66290
  ], exports.Progress);
66291
66291
 
66292
+ exports.Skeleton = class Skeleton extends QuanticElement {
66293
+ render() {
66294
+ return b `
66295
+ <span
66296
+ class="skeleton"
66297
+ aria-hidden="true"
66298
+ style=${o({
66299
+ '--cols': this.cols != null ? String(this.cols) : undefined,
66300
+ '--rows': this.rows != null ? String(this.rows) : undefined,
66301
+ 'animation-delay': this.delay != null ? `${this.delay}s` : undefined,
66302
+ })}
66303
+ ></span>
66304
+ `;
66305
+ }
66306
+ };
66307
+ exports.Skeleton.meta = {
66308
+ tag: 'quantic-skeleton',
66309
+ description: 'Animated placeholder used while content is loading. ' +
66310
+ 'Renders a shimmering block sized by column span and line-height units.',
66311
+ category: 'feedback',
66312
+ };
66313
+ exports.Skeleton.styles = i$7 `
66314
+ :host {
66315
+ display: block;
66316
+ }
66317
+
66318
+ .skeleton {
66319
+ display: block;
66320
+ border-radius: var(--quantic-radius-sm);
66321
+ width: calc(var(--cols, 12) / 12 * 100%);
66322
+ height: calc(var(--rows, 1) * 1em);
66323
+ background: linear-gradient(
66324
+ 120deg,
66325
+ rgb(var(--quantic-bg-tertiary-rgb) / 0.5) 25%,
66326
+ var(--quantic-bg-tertiary) 50%,
66327
+ rgb(var(--quantic-bg-tertiary-rgb) / 0.5) 75%
66328
+ );
66329
+ background-size: 200% 100%;
66330
+ animation: shimmer var(--quantic-component-skeleton-duration, 2.5s) ease-in-out infinite;
66331
+ }
66332
+
66333
+ @keyframes shimmer {
66334
+ from {
66335
+ background-position: 200% 0;
66336
+ }
66337
+ to {
66338
+ background-position: -200% 0;
66339
+ }
66340
+ }
66341
+
66342
+ @media (prefers-reduced-motion: reduce) {
66343
+ .skeleton {
66344
+ animation: none;
66345
+ }
66346
+ }
66347
+ `;
66348
+ __decorate([
66349
+ prop({ type: 'number', description: 'Width as a fraction of 12 columns (1–12). Defaults to 12 (full width).' })
66350
+ ], exports.Skeleton.prototype, "cols", void 0);
66351
+ __decorate([
66352
+ prop({ type: 'number', description: 'Height as a multiple of 1em. Defaults to 1.' })
66353
+ ], exports.Skeleton.prototype, "rows", void 0);
66354
+ __decorate([
66355
+ prop({ type: 'number', description: 'Animation delay in seconds. Useful for staggering multiple skeletons.' })
66356
+ ], exports.Skeleton.prototype, "delay", void 0);
66357
+ exports.Skeleton = __decorate([
66358
+ quanticElement('quantic-skeleton')
66359
+ ], exports.Skeleton);
66360
+
66292
66361
  const SpinnerColor = ComponentColor;
66293
66362
  const SpinnerSize = {
66294
66363
  ExtraSmall: 'xs',