@qtalo/qt-ui-library 0.1.2 → 0.1.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qtalo/qt-ui-library",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -28,11 +28,17 @@
28
28
  "tailwind-variants": "^3.2.2",
29
29
  "tailwindcss": "^4.1.18"
30
30
  },
31
+ "dependencies": {
32
+ "dompurify": "^3.3.1",
33
+ "emojilib": "^4.0.2",
34
+ "marked": "^17.0.1"
35
+ },
31
36
  "devDependencies": {
32
37
  "@eslint/js": "^9.39.2",
33
38
  "@ianvs/prettier-plugin-sort-imports": "^4.7.0",
34
39
  "@ladle/react": "^5.1.1",
35
40
  "@tailwindcss/vite": "^4.1.18",
41
+ "@types/dompurify": "^3.0.5",
36
42
  "@types/node": "^25.0.3",
37
43
  "@types/react": "^19.2.7",
38
44
  "@types/react-dom": "^19.2.3",
@@ -75,7 +75,7 @@
75
75
  --color-neutral-900-variant-2: #1f1f1f;
76
76
 
77
77
  --color-brand-primary: #6558fd;
78
-
78
+
79
79
  --color-primary-400: #abaaff;
80
80
  --color-primary-400-variant-1: #abaaff;
81
81
  --color-primary-500: #6558fd;
@@ -374,3 +374,133 @@ body {
374
374
  }
375
375
  }
376
376
 
377
+ /* Skeleton theme */
378
+
379
+ :root {
380
+ --skeleton-base: var(--color-neutral-300-variant-3);
381
+ --skeleton-highlight: var(--color-neutral-500-variant-4);
382
+ --skeleton-duration: 4s;
383
+ }
384
+
385
+ /* Shimmer animation */
386
+
387
+ @keyframes skeleton-shimmer {
388
+ from {
389
+ background-position-x: 200%;
390
+ }
391
+ to {
392
+ background-position-x: -200%;
393
+ }
394
+ }
395
+
396
+ /* Skeleton block */
397
+
398
+ .skeleton {
399
+ position: relative;
400
+ overflow: hidden;
401
+
402
+ /* Base surface */
403
+ background-color: var(--skeleton-base);
404
+
405
+ /* Shimmer layer */
406
+ background-image: linear-gradient(
407
+ 110deg,
408
+ transparent 15%,
409
+ var(--skeleton-highlight) 50%,
410
+ transparent 85%
411
+ );
412
+
413
+ background-size: 200% 100%;
414
+ background-attachment: fixed;
415
+
416
+ animation: skeleton-shimmer var(--skeleton-duration) linear infinite;
417
+ }
418
+
419
+ /* Reduced motion support */
420
+
421
+ @media (prefers-reduced-motion: reduce) {
422
+ .skeleton {
423
+ animation: none;
424
+ background-image: none;
425
+ }
426
+ }
427
+
428
+ /* Normalized content */
429
+ .normalized-content,
430
+ .normalized-content * {
431
+ font-family: Inter, sans-serif;
432
+ }
433
+
434
+ .normalized-content pre {
435
+ white-space: pre-wrap;
436
+ overflow-wrap: anywhere;
437
+ word-break: break-word;
438
+ line-height: 1.4;
439
+ }
440
+
441
+ .normalized-content pre br + br + br {
442
+ display: none;
443
+ }
444
+
445
+ .normalized-content p {
446
+ font-size: 12px;
447
+ line-height: 150%;
448
+ margin: 0.5rem 0;
449
+ }
450
+
451
+ .normalized-content a {
452
+ text-decoration: underline;
453
+ color: var(--color-qtneutral-900);
454
+ }
455
+
456
+ .normalized-content ul,
457
+ .normalized-content ol {
458
+ padding-left: 1.25rem;
459
+ margin: 0.5rem 0;
460
+ }
461
+
462
+ .normalized-content li {
463
+ margin: 0.5rem 0;
464
+ }
465
+
466
+ .normalized-content li p {
467
+ margin: 0;
468
+ }
469
+
470
+ .normalized-content ul {
471
+ list-style-type: disc;
472
+ }
473
+
474
+ .normalized-content ol {
475
+ list-style-type: decimal;
476
+ }
477
+
478
+ .normalized-content h1 {
479
+ font-size: 15px;
480
+ font-weight: 700;
481
+ line-height: 140%;
482
+ margin: 0.5rem 0;
483
+ }
484
+
485
+ .normalized-content h2 {
486
+ font-size: 14px;
487
+ font-weight: 700;
488
+ line-height: 140%;
489
+ margin: 0.5rem 0;
490
+ }
491
+
492
+ .normalized-content h3 {
493
+ font-size: 13px;
494
+ font-weight: 600;
495
+ line-height: 140%;
496
+ margin: 0.5rem 0;
497
+ }
498
+
499
+ .normalized-content h4,
500
+ .marnormalized-contentkdown h5,
501
+ .normalized-content h6 {
502
+ font-size: 12.5px;
503
+ font-weight: 600;
504
+ line-height: 140%;
505
+ margin: 0.5rem 0;
506
+ }