noteloom 0.1.4 → 0.1.5
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 +26 -0
- package/dist/noteloom.cjs +148 -8
- package/dist/noteloom.cjs.map +1 -1
- package/dist/noteloom.es.js +3084 -2502
- package/dist/noteloom.es.js.map +1 -1
- package/dist/style.css +140 -0
- package/package.json +1 -1
package/dist/style.css
CHANGED
|
@@ -1117,6 +1117,20 @@ tr.be-table-row:hover .be-table-delete-row {
|
|
|
1117
1117
|
transition: background-color 0.12s ease, color 0.12s ease;
|
|
1118
1118
|
}
|
|
1119
1119
|
|
|
1120
|
+
/* Touch: no hover state exists to reveal the gutter at all, and its
|
|
1121
|
+
desktop position (left: -56px, sitting in the page's own side margin)
|
|
1122
|
+
would be off-screen on a narrow phone/tablet viewport regardless — so
|
|
1123
|
+
rather than force it into the row itself, its two actions (Add block,
|
|
1124
|
+
block options menu) live inside MobileActionBar instead (see
|
|
1125
|
+
MobileActionBar.jsx), pinned above the keyboard where they're always
|
|
1126
|
+
reachable. `.be-touch-input` is set by useCoarsePointer.js, based on
|
|
1127
|
+
real pointerdown activity, not just a static device-capability guess —
|
|
1128
|
+
see that file for why a plain `pointer: coarse` media query alone isn't
|
|
1129
|
+
enough (touchscreen laptops, etc.). */
|
|
1130
|
+
.be-touch-input .be-block-gutter {
|
|
1131
|
+
display: none;
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1120
1134
|
.be-block-gutter-btn:hover,
|
|
1121
1135
|
.be-block-gutter-btn[aria-expanded='true'] {
|
|
1122
1136
|
background: var(--noteloom-bg-hover);
|
|
@@ -1294,6 +1308,132 @@ tr.be-table-row:hover .be-table-delete-row {
|
|
|
1294
1308
|
max-width: 640px;
|
|
1295
1309
|
}
|
|
1296
1310
|
|
|
1311
|
+
/* Bottom sheet variant (mobile block picker) — anchored to the bottom edge
|
|
1312
|
+
instead of centered, rounded only on top, full page width. */
|
|
1313
|
+
.be-modal-overlay-sheet {
|
|
1314
|
+
align-items: flex-end;
|
|
1315
|
+
padding: 0;
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1318
|
+
.be-modal-sheet {
|
|
1319
|
+
max-width: 100%;
|
|
1320
|
+
width: 100%;
|
|
1321
|
+
max-height: 70vh;
|
|
1322
|
+
border-radius: var(--noteloom-radius-xl) var(--noteloom-radius-xl) 0 0;
|
|
1323
|
+
border-bottom: none;
|
|
1324
|
+
padding-bottom: max(1.4em, env(safe-area-inset-bottom));
|
|
1325
|
+
}
|
|
1326
|
+
|
|
1327
|
+
.be-mobile-picker-list {
|
|
1328
|
+
display: flex;
|
|
1329
|
+
flex-direction: column;
|
|
1330
|
+
gap: 2px;
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1333
|
+
.be-mobile-picker-item {
|
|
1334
|
+
display: flex;
|
|
1335
|
+
align-items: center;
|
|
1336
|
+
gap: 10px;
|
|
1337
|
+
width: 100%;
|
|
1338
|
+
border: none;
|
|
1339
|
+
background: transparent;
|
|
1340
|
+
border-radius: var(--noteloom-radius-md);
|
|
1341
|
+
padding: 12px 10px;
|
|
1342
|
+
font: inherit;
|
|
1343
|
+
font-size: 0.95rem;
|
|
1344
|
+
color: var(--noteloom-text);
|
|
1345
|
+
text-align: left;
|
|
1346
|
+
cursor: pointer;
|
|
1347
|
+
}
|
|
1348
|
+
|
|
1349
|
+
.be-mobile-picker-item:hover,
|
|
1350
|
+
.be-mobile-picker-item:active {
|
|
1351
|
+
background: var(--noteloom-bg-hover);
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
.be-mobile-picker-item-danger {
|
|
1355
|
+
color: var(--noteloom-danger);
|
|
1356
|
+
}
|
|
1357
|
+
|
|
1358
|
+
.be-mobile-picker-item-danger:hover,
|
|
1359
|
+
.be-mobile-picker-item-danger:active {
|
|
1360
|
+
background: var(--noteloom-danger-soft);
|
|
1361
|
+
}
|
|
1362
|
+
|
|
1363
|
+
.be-mobile-picker-item-danger .be-mobile-picker-item-icon {
|
|
1364
|
+
color: var(--noteloom-danger);
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1367
|
+
/* --- mobile action bar (pinned above the on-screen keyboard) --- */
|
|
1368
|
+
|
|
1369
|
+
.be-mobile-action-bar {
|
|
1370
|
+
position: fixed;
|
|
1371
|
+
left: 0;
|
|
1372
|
+
right: 0;
|
|
1373
|
+
z-index: 1500;
|
|
1374
|
+
display: flex;
|
|
1375
|
+
align-items: center;
|
|
1376
|
+
gap: 2px;
|
|
1377
|
+
padding: 6px calc(6px + env(safe-area-inset-right)) 6px calc(6px + env(safe-area-inset-left));
|
|
1378
|
+
background: var(--noteloom-bg);
|
|
1379
|
+
border-top: 1px solid var(--noteloom-border);
|
|
1380
|
+
overflow-x: auto;
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1383
|
+
.be-mobile-bar-btn {
|
|
1384
|
+
flex: none;
|
|
1385
|
+
display: flex;
|
|
1386
|
+
align-items: center;
|
|
1387
|
+
justify-content: center;
|
|
1388
|
+
gap: 4px;
|
|
1389
|
+
min-width: 40px;
|
|
1390
|
+
height: 40px;
|
|
1391
|
+
padding: 0 10px;
|
|
1392
|
+
border: none;
|
|
1393
|
+
background: transparent;
|
|
1394
|
+
border-radius: var(--noteloom-radius-sm);
|
|
1395
|
+
color: var(--noteloom-text);
|
|
1396
|
+
font-size: 0.85rem;
|
|
1397
|
+
font-weight: 500;
|
|
1398
|
+
cursor: pointer;
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1401
|
+
.be-mobile-bar-btn:disabled {
|
|
1402
|
+
opacity: 0.4;
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1405
|
+
.be-mobile-bar-btn-active {
|
|
1406
|
+
background: var(--noteloom-accent-soft);
|
|
1407
|
+
color: var(--noteloom-accent);
|
|
1408
|
+
}
|
|
1409
|
+
|
|
1410
|
+
.be-mobile-bar-spacer {
|
|
1411
|
+
flex: 1;
|
|
1412
|
+
}
|
|
1413
|
+
|
|
1414
|
+
.be-mobile-bar-select {
|
|
1415
|
+
flex: none;
|
|
1416
|
+
}
|
|
1417
|
+
|
|
1418
|
+
.be-mobile-bar-swatches {
|
|
1419
|
+
display: flex;
|
|
1420
|
+
align-items: center;
|
|
1421
|
+
gap: 6px;
|
|
1422
|
+
padding: 0 6px;
|
|
1423
|
+
}
|
|
1424
|
+
|
|
1425
|
+
.be-mobile-picker-item-icon {
|
|
1426
|
+
flex: none;
|
|
1427
|
+
display: flex;
|
|
1428
|
+
align-items: center;
|
|
1429
|
+
justify-content: center;
|
|
1430
|
+
width: 32px;
|
|
1431
|
+
height: 32px;
|
|
1432
|
+
border-radius: var(--noteloom-radius-sm);
|
|
1433
|
+
background: var(--noteloom-bg-subtle);
|
|
1434
|
+
color: var(--noteloom-text-muted);
|
|
1435
|
+
}
|
|
1436
|
+
|
|
1297
1437
|
.be-modal-title {
|
|
1298
1438
|
font-weight: 600;
|
|
1299
1439
|
font-size: 1.05rem;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "noteloom",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Zero-runtime-dependency, React-first block/rich-text editor — Notion-style blocks, inline widgets, slash commands, undo/redo, and clipboard, with an optional default theme (noteloom/style.css).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|