@tecof/theme-editor 0.0.25 → 0.0.27

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/dist/styles.css CHANGED
@@ -104,6 +104,7 @@
104
104
  display: flex;
105
105
  align-items: center;
106
106
  gap: 8px;
107
+ min-width: 0;
107
108
  }
108
109
 
109
110
  .tecof-color-swatch {
@@ -136,6 +137,7 @@
136
137
 
137
138
  .tecof-color-hex-input {
138
139
  flex: 1;
140
+ min-width: 0;
139
141
  padding: 8px 12px;
140
142
  font-size: 14px;
141
143
  line-height: 1.5;
@@ -148,6 +150,8 @@
148
150
  letter-spacing: 0.5px;
149
151
  box-sizing: border-box;
150
152
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
153
+ overflow: hidden;
154
+ text-overflow: ellipsis;
151
155
  }
152
156
 
153
157
  .tecof-color-hex-input:focus {
@@ -328,13 +332,39 @@
328
332
  color: #18181b;
329
333
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
330
334
  }
331
- .tecof-editor-field .tiptap p { margin: 0 0 0.5em 0; }
332
- .tecof-editor-field .tiptap h2 { font-size: 1.4em; font-weight: 600; margin: 0.8em 0 0.4em; }
333
- .tecof-editor-field .tiptap h3 { font-size: 1.2em; font-weight: 600; margin: 0.6em 0 0.3em; }
334
- .tecof-editor-field .tiptap h4 { font-size: 1.1em; font-weight: 600; margin: 0.5em 0 0.25em; }
335
+
336
+ .tecof-editor-field .tiptap p {
337
+ margin: 0 0 0.5em 0;
338
+ }
339
+
340
+ .tecof-editor-field .tiptap h2 {
341
+ font-size: 1.4em;
342
+ font-weight: 600;
343
+ margin: 0.8em 0 0.4em;
344
+ }
345
+
346
+ .tecof-editor-field .tiptap h3 {
347
+ font-size: 1.2em;
348
+ font-weight: 600;
349
+ margin: 0.6em 0 0.3em;
350
+ }
351
+
352
+ .tecof-editor-field .tiptap h4 {
353
+ font-size: 1.1em;
354
+ font-weight: 600;
355
+ margin: 0.5em 0 0.25em;
356
+ }
357
+
335
358
  .tecof-editor-field .tiptap ul,
336
- .tecof-editor-field .tiptap ol { padding-left: 1.4em; margin: 0.4em 0; }
337
- .tecof-editor-field .tiptap li { margin: 0.1em 0; }
359
+ .tecof-editor-field .tiptap ol {
360
+ padding-left: 1.4em;
361
+ margin: 0.4em 0;
362
+ }
363
+
364
+ .tecof-editor-field .tiptap li {
365
+ margin: 0.1em 0;
366
+ }
367
+
338
368
  .tecof-editor-field .tiptap blockquote {
339
369
  border-left: 3px solid #e4e4e7;
340
370
  padding-left: 12px;
@@ -342,18 +372,34 @@
342
372
  color: #71717a;
343
373
  font-style: italic;
344
374
  }
345
- .tecof-editor-field .tiptap a { color: var(--tecof-primary-500, #3b82f6); text-decoration: underline; }
375
+
376
+ .tecof-editor-field .tiptap a {
377
+ color: var(--tecof-primary-500, #3b82f6);
378
+ text-decoration: underline;
379
+ }
380
+
346
381
  .tecof-editor-field .tiptap code {
347
- background: #f4f4f5; padding: 2px 4px; border-radius: 3px;
348
- font-family: 'SF Mono', 'Fira Code', monospace; font-size: 0.9em;
382
+ background: #f4f4f5;
383
+ padding: 2px 4px;
384
+ border-radius: 3px;
385
+ font-family: 'SF Mono', 'Fira Code', monospace;
386
+ font-size: 0.9em;
349
387
  }
388
+
350
389
  .tecof-editor-field .tiptap pre {
351
- background: #18181b; color: #e4e4e7; padding: 12px 16px;
352
- border-radius: 6px; font-family: 'SF Mono', 'Fira Code', monospace;
353
- font-size: 13px; overflow-x: auto;
390
+ background: #18181b;
391
+ color: #e4e4e7;
392
+ padding: 12px 16px;
393
+ border-radius: 6px;
394
+ font-family: 'SF Mono', 'Fira Code', monospace;
395
+ font-size: 13px;
396
+ overflow-x: auto;
354
397
  }
398
+
355
399
  .tecof-editor-field .tiptap hr {
356
- border: none; border-top: 1px solid #e4e4e7; margin: 1em 0;
400
+ border: none;
401
+ border-top: 1px solid #e4e4e7;
402
+ margin: 1em 0;
357
403
  }
358
404
 
359
405
  /* ─── LanguageField ─── */
@@ -399,7 +445,7 @@
399
445
  font-weight: 600;
400
446
  color: #18181b;
401
447
  background: #ffffff;
402
- box-shadow: 0 1px 3px rgba(0,0,0,0.08);
448
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
403
449
  }
404
450
 
405
451
  .tecof-lang-default-badge {
@@ -521,8 +567,17 @@
521
567
  }
522
568
 
523
569
  @keyframes tecof-pulse {
524
- 0%, 100% { opacity: 1; transform: scale(1); }
525
- 50% { opacity: 0.5; transform: scale(0.8); }
570
+
571
+ 0%,
572
+ 100% {
573
+ opacity: 1;
574
+ transform: scale(1);
575
+ }
576
+
577
+ 50% {
578
+ opacity: 0.5;
579
+ transform: scale(0.8);
580
+ }
526
581
  }
527
582
 
528
583
  /* ─── LinkField ─── */
@@ -677,7 +732,8 @@
677
732
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
678
733
  }
679
734
 
680
- .tecof-link-input:focus, .tecof-link-select-small:focus {
735
+ .tecof-link-input:focus,
736
+ .tecof-link-select-small:focus {
681
737
  border-color: var(--tecof-primary-500, #3b82f6);
682
738
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
683
739
  }
@@ -840,9 +896,17 @@
840
896
  flex-shrink: 0;
841
897
  }
842
898
 
843
- .tecof-link-status-dot.published { background: #22c55e; }
844
- .tecof-link-status-dot.changed { background: #f59e0b; }
845
- .tecof-link-status-dot.draft { background: #a1a1aa; }
899
+ .tecof-link-status-dot.published {
900
+ background: #22c55e;
901
+ }
902
+
903
+ .tecof-link-status-dot.changed {
904
+ background: #f59e0b;
905
+ }
906
+
907
+ .tecof-link-status-dot.draft {
908
+ background: #a1a1aa;
909
+ }
846
910
 
847
911
  /* ─── UploadField ─── */
848
912
  .tecof-upload-container {
@@ -907,13 +971,13 @@
907
971
  border: 1px solid #e4e4e7;
908
972
  border-radius: 10px;
909
973
  transition: all 0.2s ease;
910
- box-shadow: 0 1px 2px rgba(0,0,0,0.04);
974
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
911
975
  max-width: 100%;
912
976
  overflow: hidden;
913
977
  }
914
978
 
915
979
  .tecof-upload-file-item:hover {
916
- box-shadow: 0 4px 12px rgba(0,0,0,0.05);
980
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
917
981
  border-color: #d4d4d8;
918
982
  }
919
983
 
@@ -1045,11 +1109,11 @@
1045
1109
  border-radius: 10px;
1046
1110
  cursor: pointer;
1047
1111
  transition: all 0.2s ease;
1048
- box-shadow: 0 2px 8px rgba(59,130,246,0.25);
1112
+ box-shadow: 0 2px 8px rgba(59, 130, 246, 0.25);
1049
1113
  }
1050
1114
 
1051
1115
  .tecof-upload-btn-primary:hover {
1052
- box-shadow: 0 4px 12px rgba(59,130,246,0.35);
1116
+ box-shadow: 0 4px 12px rgba(59, 130, 246, 0.35);
1053
1117
  transform: translateY(-1px);
1054
1118
  }
1055
1119
 
@@ -1068,7 +1132,7 @@
1068
1132
  border-radius: 10px;
1069
1133
  cursor: pointer;
1070
1134
  transition: all 0.2s ease;
1071
- box-shadow: 0 1px 2px rgba(0,0,0,0.05);
1135
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
1072
1136
  }
1073
1137
 
1074
1138
  .tecof-upload-btn-secondary:hover {
@@ -1145,7 +1209,7 @@
1145
1209
  border-top-left-radius: 20px;
1146
1210
  border-top-right-radius: 20px;
1147
1211
  z-index: 10000;
1148
- box-shadow: 0 -8px 40px rgba(0,0,0,0.12);
1212
+ box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.12);
1149
1213
  }
1150
1214
 
1151
1215
  .tecof-upload-drawer-handle {
@@ -1222,7 +1286,7 @@
1222
1286
  .tecof-upload-search-box:focus-within {
1223
1287
  background: #ffffff;
1224
1288
  border-color: var(--tecof-primary-500, #3b82f6);
1225
- box-shadow: 0 0 0 3px rgba(59,130,246,0.1);
1289
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
1226
1290
  }
1227
1291
 
1228
1292
  .tecof-upload-search-input {
@@ -1255,7 +1319,7 @@
1255
1319
  border-radius: 10px;
1256
1320
  cursor: pointer;
1257
1321
  transition: all 0.2s ease;
1258
- box-shadow: 0 1px 3px rgba(0,0,0,0.04);
1322
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
1259
1323
  }
1260
1324
 
1261
1325
  .tecof-upload-gallery-item:hover {
@@ -1265,7 +1329,7 @@
1265
1329
  .tecof-upload-gallery-item.selected {
1266
1330
  background: #eff6ff;
1267
1331
  border-color: var(--tecof-primary-500, #3b82f6);
1268
- box-shadow: 0 0 0 3px rgba(59,130,246,0.12);
1332
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
1269
1333
  }
1270
1334
 
1271
1335
  .tecof-upload-gallery-check {
@@ -1281,7 +1345,7 @@
1281
1345
  justify-content: center;
1282
1346
  color: #ffffff;
1283
1347
  z-index: 1;
1284
- box-shadow: 0 1px 4px rgba(59,130,246,0.3);
1348
+ box-shadow: 0 1px 4px rgba(59, 130, 246, 0.3);
1285
1349
  }
1286
1350
 
1287
1351
  .tecof-upload-gallery-thumb {
@@ -1410,7 +1474,7 @@
1410
1474
  font-size: 13px;
1411
1475
  font-weight: 500;
1412
1476
  border-radius: 8px;
1413
- box-shadow: 0 4px 12px rgba(0,0,0,0.15);
1477
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
1414
1478
  z-index: 9999;
1415
1479
  font-family: 'Inter', system-ui, sans-serif;
1416
1480
  }
@@ -1426,7 +1490,9 @@
1426
1490
  }
1427
1491
 
1428
1492
  @keyframes tecof-spin {
1429
- to { transform: rotate(360deg); }
1493
+ to {
1494
+ transform: rotate(360deg);
1495
+ }
1430
1496
  }
1431
1497
 
1432
1498
  /* ─── TecofPicture ─── */
@@ -1509,16 +1575,46 @@
1509
1575
  }
1510
1576
 
1511
1577
  /* ─── Extra Helpers ─── */
1512
- .tecof-flex-1 { flex: 1; }
1513
- .tecof-flex-none { flex: none; }
1514
- .tecof-pad-8-16 { padding: 8px 16px; }
1515
- .tecof-text-center { text-align: center; }
1516
- .tecof-p-40 { padding: 40px; }
1517
- .tecof-text-muted { color: #a1a1aa; }
1518
- .tecof-min-w-0 { min-width: 0; }
1519
- .tecof-underline { text-decoration: underline; }
1520
- .tecof-line-through { text-decoration: line-through; }
1521
- .tecof-spin { animation: tecof-spin 1s linear infinite; }
1578
+ .tecof-flex-1 {
1579
+ flex: 1;
1580
+ }
1581
+
1582
+ .tecof-flex-none {
1583
+ flex: none;
1584
+ }
1585
+
1586
+ .tecof-pad-8-16 {
1587
+ padding: 8px 16px;
1588
+ }
1589
+
1590
+ .tecof-text-center {
1591
+ text-align: center;
1592
+ }
1593
+
1594
+ .tecof-p-40 {
1595
+ padding: 40px;
1596
+ }
1597
+
1598
+ .tecof-text-muted {
1599
+ color: #a1a1aa;
1600
+ }
1601
+
1602
+ .tecof-min-w-0 {
1603
+ min-width: 0;
1604
+ }
1605
+
1606
+ .tecof-underline {
1607
+ text-decoration: underline;
1608
+ }
1609
+
1610
+ .tecof-line-through {
1611
+ text-decoration: line-through;
1612
+ }
1613
+
1614
+ .tecof-spin {
1615
+ animation: tecof-spin 1s linear infinite;
1616
+ }
1617
+
1522
1618
  .tecof-sr-only {
1523
1619
  position: absolute;
1524
1620
  width: 1px;
@@ -1531,9 +1627,18 @@
1531
1627
  border-width: 0;
1532
1628
  }
1533
1629
 
1534
- .tecof-lang-loading-dot:nth-child(1) { animation: tecof-pulse 1.2s ease-in-out infinite; }
1535
- .tecof-lang-loading-dot:nth-child(2) { animation: tecof-pulse 1.2s ease-in-out 0.2s infinite; }
1536
- .tecof-lang-loading-dot:nth-child(3) { animation: tecof-pulse 1.2s ease-in-out 0.4s infinite; }
1630
+ .tecof-lang-loading-dot:nth-child(1) {
1631
+ animation: tecof-pulse 1.2s ease-in-out infinite;
1632
+ }
1633
+
1634
+ .tecof-lang-loading-dot:nth-child(2) {
1635
+ animation: tecof-pulse 1.2s ease-in-out 0.2s infinite;
1636
+ }
1637
+
1638
+ .tecof-lang-loading-dot:nth-child(3) {
1639
+ animation: tecof-pulse 1.2s ease-in-out 0.4s infinite;
1640
+ }
1641
+
1537
1642
  .filepond--root {
1538
1643
  margin-bottom: 0 !important;
1539
1644
  }
@@ -1547,8 +1652,9 @@
1547
1652
  .tecof-drawer-popover {
1548
1653
  display: none;
1549
1654
  position: absolute;
1550
- left: 105%;
1551
- top: 0;
1655
+ left: auto;
1656
+ right: auto;
1657
+ top: 50px;
1552
1658
  z-index: 1000;
1553
1659
  width: 320px;
1554
1660
  flex-direction: column;
@@ -1558,7 +1664,8 @@
1558
1664
  border: 1px solid #e4e4e7;
1559
1665
  overflow: hidden;
1560
1666
  user-select: none;
1561
- pointer-events: none; /* Prevent flickering and accidental interactions */
1667
+ pointer-events: none;
1668
+ /* Prevent flickering and accidental interactions */
1562
1669
  }
1563
1670
 
1564
1671
  /* Show the popover when hovering over its parent .group */
@@ -1604,14 +1711,21 @@
1604
1711
  width: 100%;
1605
1712
  height: auto;
1606
1713
  border-radius: 4px;
1607
- box-shadow: 0 1px 3px rgba(0,0,0,0.05);
1714
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
1608
1715
  border: 1px solid #f4f4f5;
1609
1716
  background: white;
1610
1717
  }
1611
1718
 
1612
1719
  @keyframes tecof-pulse-loader {
1613
- 0%, 100% { opacity: 1; }
1614
- 50% { opacity: 0.5; }
1720
+
1721
+ 0%,
1722
+ 100% {
1723
+ opacity: 1;
1724
+ }
1725
+
1726
+ 50% {
1727
+ opacity: 0.5;
1728
+ }
1615
1729
  }
1616
1730
 
1617
1731
  .tecof-drawer-preview-error {
@@ -1624,12 +1738,12 @@
1624
1738
  }
1625
1739
 
1626
1740
  .tecof-picture-wrapper {
1627
- width: 100%;
1628
- height: 100%;
1629
- display: flex;
1630
- align-items: center;
1631
- justify-content: center;
1632
- position: relative;
1741
+ width: 100%;
1742
+ height: 100%;
1743
+ display: flex;
1744
+ align-items: center;
1745
+ justify-content: center;
1746
+ position: relative;
1633
1747
  }
1634
1748
 
1635
1749
  /* ─── FieldErrorBoundary ─── */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tecof/theme-editor",
3
- "version": "0.0.25",
3
+ "version": "0.0.27",
4
4
  "description": "React theme editor library for Tecof projects",
5
5
  "keywords": [
6
6
  "react",