@lumir-company/editor 0.4.15 → 0.4.17

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/style.css CHANGED
@@ -542,6 +542,23 @@
542
542
  color: #3b82f6 !important;
543
543
  }
544
544
 
545
+ /* Font Size Dropdown Button (글자 크기) */
546
+ .lumir-font-size-btn {
547
+ min-width: 52px;
548
+ max-width: 72px;
549
+ }
550
+
551
+ .lumir-font-size-label {
552
+ flex: 1;
553
+ text-align: center;
554
+ }
555
+
556
+ .lumir-font-size-menu {
557
+ min-width: 96px;
558
+ max-height: 280px;
559
+ overflow-y: auto;
560
+ }
561
+
545
562
  /* Block Type Dropdown Button */
546
563
  .lumir-block-type-btn {
547
564
  min-width: 110px;
@@ -1239,3 +1256,98 @@
1239
1256
  width: 12px;
1240
1257
  height: 12px;
1241
1258
  }
1259
+
1260
+ /* =========================================================
1261
+ 표 행 높이(row height) 드래그 리사이즈 — rowResizing 플러그인
1262
+ prosemirror-tables의 column-resize 스타일을 수직축으로 미러링.
1263
+ ========================================================= */
1264
+
1265
+ /* activeHandle 동안 에디터 전체 커서를 행 리사이즈로 */
1266
+ .lumirEditor .ProseMirror.row-resize-cursor {
1267
+ cursor: ns-resize;
1268
+ cursor: row-resize;
1269
+ }
1270
+
1271
+ /* 핸들 위젯의 절대배치 기준(셀). prosemirror-tables 기본값 보강. */
1272
+ .lumirEditor .ProseMirror td,
1273
+ .lumirEditor .ProseMirror th {
1274
+ position: relative;
1275
+ }
1276
+
1277
+ /* 셀 하단 경계 핸들(셀별 1개가 모여 행 폭 전체를 덮음). */
1278
+ .lumirEditor .ProseMirror .row-resize-handle {
1279
+ position: absolute;
1280
+ left: 0;
1281
+ right: 0;
1282
+ bottom: -2px;
1283
+ height: 4px;
1284
+ z-index: 20;
1285
+ background-color: #adf;
1286
+ pointer-events: none;
1287
+ }
1288
+
1289
+ /* 드래그 중 셀: 레이아웃 트랜지션 제거로 프리뷰 떨림 방지. */
1290
+ .lumirEditor .ProseMirror .row-resize-dragging {
1291
+ transition: none;
1292
+ }
1293
+
1294
+ /* =========================================================
1295
+ 표 블록 정렬(좌/가운데/우) — TableAlignmentExtension
1296
+ <table>이 width:auto(content 폭)이므로 margin으로 수평 정렬.
1297
+ 좌측(기본)은 별도 규칙 불필요.
1298
+ ========================================================= */
1299
+ .lumirEditor
1300
+ .bn-editor
1301
+ [data-content-type='table'][data-table-alignment='center']
1302
+ table {
1303
+ margin-left: auto;
1304
+ margin-right: auto;
1305
+ }
1306
+
1307
+ .lumirEditor
1308
+ .bn-editor
1309
+ [data-content-type='table'][data-table-alignment='right']
1310
+ table {
1311
+ margin-left: auto;
1312
+ margin-right: 0;
1313
+ }
1314
+
1315
+ /* =========================================================
1316
+ 표 하단 여백 축소
1317
+ @blocknote 기본 .tableWrapper는 `position:relative; top:-16px`라서, 화면상 16px
1318
+ 위로 그리되 레이아웃 공간은 원위치에 예약 → 래퍼 박스 아래에 사용되지 않는 16px가
1319
+ 남는다(순수 artifact). 음수 margin-bottom으로 이 예약 공백만 정확히 상쇄한다.
1320
+ 래퍼의 padding/overflow는 건드리지 않으므로 행/열 추가 버튼·리사이즈 핸들·거터의
1321
+ 클리어런스(클립 경계)는 그대로 유지된다 → 사이드이펙트 없음.
1322
+ ========================================================= */
1323
+ .lumirEditor .bn-editor [data-content-type='table'] .tableWrapper {
1324
+ margin-bottom: -16px;
1325
+ }
1326
+
1327
+ /* =========================================================
1328
+ 다단(컬럼) 레이아웃 — columnList / column 노드
1329
+ columnList: 가로 flex 컨테이너, column: 균등 폭 flex 아이템.
1330
+ ========================================================= */
1331
+ .lumirEditor .bn-column-list {
1332
+ display: flex;
1333
+ gap: 16px;
1334
+ width: 100%;
1335
+ }
1336
+
1337
+ .lumirEditor .bn-column {
1338
+ flex: 1 1 0;
1339
+ min-width: 0; /* 컬럼 내 넓은 콘텐츠(표 등) 오버플로 방지 */
1340
+ }
1341
+
1342
+ /* DnD 컬럼 생성: 드롭 대상 블록의 좌/우 가장자리 세로 인디케이터(레이아웃 비이동 box-shadow) */
1343
+ .lumirEditor .lumir-col-drop-left {
1344
+ box-shadow: -3px 0 0 0 #3b82f6;
1345
+ }
1346
+ .lumirEditor .lumir-col-drop-right {
1347
+ box-shadow: 3px 0 0 0 #3b82f6;
1348
+ }
1349
+ /* 가장자리 드롭 중에는 기본(가로) 드롭커서를 숨겨 인디케이터 중복 방지 */
1350
+ .lumirEditor .lumir-col-dnd-active .prosemirror-dropcursor,
1351
+ .lumirEditor .lumir-col-dnd-active .ProseMirror-dropcursor {
1352
+ display: none !important;
1353
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumir-company/editor",
3
- "version": "0.4.15",
3
+ "version": "0.4.17",
4
4
  "private": false,
5
5
  "description": "Image-only BlockNote rich text editor with S3 upload, customizable filename transforms, UUID support, and loading spinner",
6
6
  "keywords": [
@@ -72,7 +72,11 @@
72
72
  "@blocknote/core": "^0.35.0",
73
73
  "@blocknote/react": "^0.35.0",
74
74
  "@blocknote/mantine": "^0.35.0",
75
- "@floating-ui/react": "^0.26.28"
75
+ "@floating-ui/react": "^0.26.28",
76
+ "prosemirror-model": "^1.25.1",
77
+ "prosemirror-state": "^1.4.3",
78
+ "prosemirror-tables": "^1.6.4",
79
+ "prosemirror-view": "^1.38.1"
76
80
  },
77
81
  "devDependencies": {
78
82
  "typescript": "^5.4.0",