@goodfellow-cms/admin 0.1.0 → 0.2.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.
- package/README.md +2 -2
- package/dist/dev.js +7 -4
- package/dist/index.d.ts +299 -7
- package/dist/index.js +5205 -2196
- package/package.json +8 -8
- package/styles.css +246 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goodfellow-cms/admin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Goodfellow's admin panel: a visual editor for a site's pages, layout and settings.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"goodfellow",
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
"admin-panel",
|
|
11
11
|
"visual-editor"
|
|
12
12
|
],
|
|
13
|
-
"homepage": "https://
|
|
14
|
-
"bugs": "https://github.com/
|
|
13
|
+
"homepage": "https://goodfellow-cms.github.io/goodfellow-cms/docs/edit-pages",
|
|
14
|
+
"bugs": "https://github.com/goodfellow-cms/goodfellow-cms/issues",
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"repository": {
|
|
17
17
|
"type": "git",
|
|
18
|
-
"url": "git+https://github.com/
|
|
18
|
+
"url": "git+https://github.com/goodfellow-cms/goodfellow-cms.git",
|
|
19
19
|
"directory": "packages/admin"
|
|
20
20
|
},
|
|
21
21
|
"type": "module",
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
"codemirror": "6.0.2",
|
|
50
50
|
"turndown": "7.2.4",
|
|
51
51
|
"turndown-plugin-gfm": "1.0.2",
|
|
52
|
-
"@goodfellow-cms/
|
|
53
|
-
"@goodfellow-cms/registry": "0.
|
|
54
|
-
"@goodfellow-cms/
|
|
55
|
-
"@goodfellow-cms/react": "0.
|
|
52
|
+
"@goodfellow-cms/core": "0.2.0",
|
|
53
|
+
"@goodfellow-cms/registry": "0.2.0",
|
|
54
|
+
"@goodfellow-cms/ai": "0.2.0",
|
|
55
|
+
"@goodfellow-cms/react": "0.2.0"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"@puckeditor/core": "0.23.0",
|
package/styles.css
CHANGED
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
--gfa-success-bg: light-dark(#ecfdf5, #052e1c);
|
|
21
21
|
--gfa-success-text: light-dark(#065f46, #6ee7b7);
|
|
22
22
|
--gfa-success-border: light-dark(#a7f3d0, #065f46);
|
|
23
|
+
--gfa-published-bg: light-dark(#047857, #34d399);
|
|
24
|
+
--gfa-published-text: light-dark(#ffffff, #022c22);
|
|
23
25
|
--gfa-error-bg: light-dark(#fef2f2, #3b0d0d);
|
|
24
26
|
--gfa-error-text: light-dark(#991b1b, #fca5a5);
|
|
25
27
|
--gfa-demo-bg: light-dark(#fef9c3, #422006);
|
|
@@ -164,11 +166,46 @@ body,
|
|
|
164
166
|
}
|
|
165
167
|
|
|
166
168
|
.gfa-header-actions {
|
|
169
|
+
position: relative;
|
|
167
170
|
display: flex;
|
|
168
171
|
flex-wrap: wrap;
|
|
172
|
+
align-items: center;
|
|
169
173
|
gap: 8px;
|
|
170
174
|
}
|
|
171
175
|
|
|
176
|
+
/* "Published.", just under the Publish button, for a few seconds. */
|
|
177
|
+
.gfa-published {
|
|
178
|
+
position: fixed;
|
|
179
|
+
z-index: 1000;
|
|
180
|
+
width: max-content;
|
|
181
|
+
max-width: 320px;
|
|
182
|
+
margin: 0;
|
|
183
|
+
padding: 8px 14px;
|
|
184
|
+
border-radius: var(--gfa-radius);
|
|
185
|
+
background: var(--gfa-published-bg);
|
|
186
|
+
color: var(--gfa-published-text);
|
|
187
|
+
font-weight: 600;
|
|
188
|
+
box-shadow: 0 6px 20px rgb(0 0 0 / 0.18);
|
|
189
|
+
animation: gfa-published-in 150ms ease-out;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.gfa-published::before {
|
|
193
|
+
content: "✓ ";
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
@keyframes gfa-published-in {
|
|
197
|
+
from {
|
|
198
|
+
opacity: 0;
|
|
199
|
+
transform: translateY(-4px);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
@media (prefers-reduced-motion: reduce) {
|
|
204
|
+
.gfa-published {
|
|
205
|
+
animation: none;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
172
209
|
.gfa-screen-header h1,
|
|
173
210
|
.gfa-screen > h1 {
|
|
174
211
|
margin: 0;
|
|
@@ -1226,3 +1263,212 @@ body,
|
|
|
1226
1263
|
font: inherit;
|
|
1227
1264
|
font-size: 14px;
|
|
1228
1265
|
}
|
|
1266
|
+
|
|
1267
|
+
/* The Domain screen's records: values such as verification codes are long and unbroken. */
|
|
1268
|
+
.gfa-records code {
|
|
1269
|
+
overflow-wrap: anywhere;
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
/* Version history */
|
|
1273
|
+
.gfa-versions-screen {
|
|
1274
|
+
max-width: 1400px;
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
.gfa-versions-layout {
|
|
1278
|
+
display: grid;
|
|
1279
|
+
grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
|
|
1280
|
+
gap: 24px;
|
|
1281
|
+
align-items: start;
|
|
1282
|
+
}
|
|
1283
|
+
|
|
1284
|
+
.gfa-versions {
|
|
1285
|
+
list-style: none;
|
|
1286
|
+
margin: 12px 0;
|
|
1287
|
+
padding: 0;
|
|
1288
|
+
display: grid;
|
|
1289
|
+
gap: 6px;
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
.gfa-version {
|
|
1293
|
+
display: grid;
|
|
1294
|
+
gap: 2px;
|
|
1295
|
+
width: 100%;
|
|
1296
|
+
padding: 8px 12px;
|
|
1297
|
+
border: 1px solid var(--gfa-border);
|
|
1298
|
+
border-radius: var(--gfa-radius);
|
|
1299
|
+
background: var(--gfa-bg);
|
|
1300
|
+
color: var(--gfa-text);
|
|
1301
|
+
font: inherit;
|
|
1302
|
+
text-align: left;
|
|
1303
|
+
cursor: pointer;
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
.gfa-version[aria-pressed="true"] {
|
|
1307
|
+
border-color: var(--gfa-accent);
|
|
1308
|
+
background: var(--gfa-current-bg);
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
.gfa-version-message {
|
|
1312
|
+
font-weight: 600;
|
|
1313
|
+
}
|
|
1314
|
+
|
|
1315
|
+
.gfa-version-detail {
|
|
1316
|
+
display: grid;
|
|
1317
|
+
gap: 12px;
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1320
|
+
.gfa-version-preview {
|
|
1321
|
+
position: relative;
|
|
1322
|
+
height: 70vh;
|
|
1323
|
+
border: 1px solid var(--gfa-border);
|
|
1324
|
+
border-radius: var(--gfa-radius);
|
|
1325
|
+
overflow: hidden;
|
|
1326
|
+
}
|
|
1327
|
+
|
|
1328
|
+
@media (max-width: 900px) {
|
|
1329
|
+
.gfa-versions-layout {
|
|
1330
|
+
grid-template-columns: 1fr;
|
|
1331
|
+
}
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1334
|
+
/* Editors */
|
|
1335
|
+
.gfa-editor-person {
|
|
1336
|
+
display: grid;
|
|
1337
|
+
gap: 2px;
|
|
1338
|
+
}
|
|
1339
|
+
|
|
1340
|
+
.gfa-owner-token {
|
|
1341
|
+
padding: 16px;
|
|
1342
|
+
border: 1px solid var(--gfa-border);
|
|
1343
|
+
border-radius: var(--gfa-radius);
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
.gfa-owner-token ol {
|
|
1347
|
+
margin: 0;
|
|
1348
|
+
padding-left: 20px;
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1351
|
+
/* Failed rebuilds */
|
|
1352
|
+
.gfa-deploy .gfa-deploy-why {
|
|
1353
|
+
padding: 0 4px;
|
|
1354
|
+
font-size: inherit;
|
|
1355
|
+
text-decoration: underline;
|
|
1356
|
+
}
|
|
1357
|
+
|
|
1358
|
+
.gfa-build-problem {
|
|
1359
|
+
display: grid;
|
|
1360
|
+
gap: 8px;
|
|
1361
|
+
max-width: 560px;
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
.gfa-build-problem p {
|
|
1365
|
+
margin: 0;
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
/* Releases updates skip, each with a way to allow it again. */
|
|
1369
|
+
.gfa-update-skipped {
|
|
1370
|
+
list-style: none;
|
|
1371
|
+
margin: 0;
|
|
1372
|
+
padding: 0;
|
|
1373
|
+
display: grid;
|
|
1374
|
+
gap: 0.25rem;
|
|
1375
|
+
}
|
|
1376
|
+
|
|
1377
|
+
.gfa-update-skip {
|
|
1378
|
+
display: flex;
|
|
1379
|
+
align-items: center;
|
|
1380
|
+
gap: 0.75rem;
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1383
|
+
/* Choosing what a new collection starts with. */
|
|
1384
|
+
.gfa-choice-group {
|
|
1385
|
+
display: flex;
|
|
1386
|
+
flex-direction: column;
|
|
1387
|
+
gap: 6px;
|
|
1388
|
+
margin: 0;
|
|
1389
|
+
padding: 0;
|
|
1390
|
+
border: 0;
|
|
1391
|
+
}
|
|
1392
|
+
|
|
1393
|
+
/* An event's dates, times and repeats, in an item's fields. */
|
|
1394
|
+
.gfa-event-field {
|
|
1395
|
+
display: flex;
|
|
1396
|
+
flex-direction: column;
|
|
1397
|
+
gap: 10px;
|
|
1398
|
+
min-width: 0;
|
|
1399
|
+
margin: 0;
|
|
1400
|
+
padding: 0;
|
|
1401
|
+
border: 0;
|
|
1402
|
+
}
|
|
1403
|
+
|
|
1404
|
+
.gfa-event-row {
|
|
1405
|
+
display: flex;
|
|
1406
|
+
flex-wrap: wrap;
|
|
1407
|
+
align-items: flex-end;
|
|
1408
|
+
gap: 8px;
|
|
1409
|
+
}
|
|
1410
|
+
|
|
1411
|
+
.gfa-event-part {
|
|
1412
|
+
display: flex;
|
|
1413
|
+
flex-direction: column;
|
|
1414
|
+
gap: 4px;
|
|
1415
|
+
font-size: 13px;
|
|
1416
|
+
color: var(--gfa-muted);
|
|
1417
|
+
}
|
|
1418
|
+
|
|
1419
|
+
.gfa-event-row > .gfa-event-part {
|
|
1420
|
+
flex: 1 1 140px;
|
|
1421
|
+
}
|
|
1422
|
+
|
|
1423
|
+
.gfa-event-repeat {
|
|
1424
|
+
display: flex;
|
|
1425
|
+
flex-direction: column;
|
|
1426
|
+
gap: 10px;
|
|
1427
|
+
padding-left: 12px;
|
|
1428
|
+
border-left: 2px solid var(--gfa-border);
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
.gfa-event-interval input {
|
|
1432
|
+
max-width: 6rem;
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1435
|
+
.gfa-tags-field {
|
|
1436
|
+
display: flex;
|
|
1437
|
+
flex-wrap: wrap;
|
|
1438
|
+
gap: 4px 16px;
|
|
1439
|
+
margin: 0;
|
|
1440
|
+
padding: 0;
|
|
1441
|
+
border: 0;
|
|
1442
|
+
}
|
|
1443
|
+
|
|
1444
|
+
.gfa-event-days {
|
|
1445
|
+
display: flex;
|
|
1446
|
+
flex-wrap: wrap;
|
|
1447
|
+
gap: 4px 12px;
|
|
1448
|
+
margin: 0;
|
|
1449
|
+
padding: 0;
|
|
1450
|
+
border: 0;
|
|
1451
|
+
font-size: 13px;
|
|
1452
|
+
}
|
|
1453
|
+
|
|
1454
|
+
.gfa-event-days legend {
|
|
1455
|
+
margin-bottom: 4px;
|
|
1456
|
+
color: var(--gfa-muted);
|
|
1457
|
+
}
|
|
1458
|
+
|
|
1459
|
+
.gfa-event-skips {
|
|
1460
|
+
display: flex;
|
|
1461
|
+
flex-direction: column;
|
|
1462
|
+
gap: 2px;
|
|
1463
|
+
margin: 0;
|
|
1464
|
+
padding: 0;
|
|
1465
|
+
list-style: none;
|
|
1466
|
+
color: var(--gfa-text);
|
|
1467
|
+
}
|
|
1468
|
+
|
|
1469
|
+
.gfa-event-skip {
|
|
1470
|
+
display: flex;
|
|
1471
|
+
align-items: center;
|
|
1472
|
+
justify-content: space-between;
|
|
1473
|
+
gap: 8px;
|
|
1474
|
+
}
|