iop-bpmn-react 0.0.2 → 0.0.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/dist/index.css CHANGED
@@ -253,356 +253,356 @@
253
253
  font-style: normal;
254
254
  font-display: swap;
255
255
  }
256
- .iop-bpmn-modeler-wrapper {
257
- display: flex;
258
- width: 100%;
259
- height: 100%;
260
- min-height: 500px;
261
- position: relative;
262
- }
263
-
264
- .iop-bpmn-modeler-canvas {
265
- flex: 1;
266
- position: relative;
267
- }
268
-
269
- .iop-bpmn-modeler-panel {
270
- width: 300px;
271
- min-width: 300px;
272
- border-left: 1px solid #e0e0e0;
273
- overflow-y: auto;
274
- background: #fff;
275
- }
276
-
277
- /* 确保属性面板正确显示 */
278
- .iop-bpmn-modeler-panel .bio-properties-panel {
279
- height: 100%;
280
- }
281
-
282
- /* 隐藏 token simulation 自带的开关(由工具栏按钮替代) */
283
- .iop-bpmn-modeler-canvas .bts-toggle-mode {
284
- display: none;
285
- }
286
-
287
- /* ===== Sketchy 手绘风格增强 ===== */
288
-
289
- /* 手绘字体 */
290
- .iop-bpmn-sketchy .djs-label,
291
- .iop-bpmn-sketchy text {
292
- font-family: 'Long Cang', 'Caveat', 'Architects Daughter', cursive !important;
293
- }
294
-
295
- /* 加粗连接线描边,增强手绘感 */
296
- .iop-bpmn-sketchy .djs-connection .djs-visual path {
297
- stroke-linecap: round;
298
- stroke-linejoin: round;
299
- }
300
-
301
- /* 元素形状描边增强 */
302
- .iop-bpmn-sketchy .djs-shape .djs-visual path,
303
- .iop-bpmn-sketchy .djs-shape .djs-visual rect,
304
- .iop-bpmn-sketchy .djs-shape .djs-visual circle,
305
- .iop-bpmn-sketchy .djs-shape .djs-visual ellipse,
306
- .iop-bpmn-sketchy .djs-shape .djs-visual polygon {
307
- stroke-linecap: round;
308
- stroke-linejoin: round;
309
- }
310
-
311
- /* 背景色微调,模拟纸张质感 */
312
- .iop-bpmn-sketchy .djs-container {
313
- background:
314
- linear-gradient(90deg, transparent 79px, rgba(0,0,0,0.03) 79px, rgba(0,0,0,0.03) 80px, transparent 80px),
315
- linear-gradient(rgba(0,0,0,0.03) 1px, transparent 1px),
316
- #fefefe;
317
- background-size: 80px 20px;
318
- }
319
-
320
- /* ===== 颜色选择器弹窗 ===== */
321
-
322
- .iop-color-picker-popup {
323
- display: none;
324
- position: fixed;
325
- z-index: 10000;
326
- padding: 12px;
327
- background: #fff;
328
- border-radius: 8px;
329
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
330
- min-width: 220px;
331
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
332
- font-size: 12px;
333
- }
334
-
335
- .iop-color-picker-content {
336
- display: flex;
337
- flex-direction: column;
338
- gap: 10px;
339
- }
340
-
341
- /* 预设颜色网格 */
342
- .iop-color-picker-presets {
343
- display: grid;
344
- grid-template-columns: repeat(6, 1fr);
345
- gap: 4px;
346
- }
347
-
348
- .iop-color-picker-preset-btn {
349
- width: 28px;
350
- height: 28px;
351
- border: 1px solid #ddd;
352
- border-radius: 4px;
353
- background: #fff;
354
- cursor: pointer;
355
- display: flex;
356
- align-items: center;
357
- justify-content: center;
358
- padding: 0;
359
- transition: transform 0.1s;
360
- }
361
- .iop-color-picker-preset-btn:hover {
362
- transform: scale(1.15);
363
- border-color: #999;
364
- }
365
-
366
- .iop-color-picker-preset-swatch {
367
- display: block;
368
- width: 20px;
369
- height: 20px;
370
- border-radius: 3px;
371
- border: 2px solid;
372
- }
373
-
374
- .iop-color-picker-preset-default {
375
- color: #999;
376
- font-size: 14px;
377
- font-weight: bold;
378
- }
379
-
380
- /* 填充/边框 Tab */
381
- .iop-color-picker-tabs {
382
- display: flex;
383
- gap: 0;
384
- border: 1px solid #e0e0e0;
385
- border-radius: 4px;
386
- overflow: hidden;
387
- }
388
- .iop-color-picker-tab {
389
- flex: 1;
390
- padding: 4px 0;
391
- border: none;
392
- background: #f5f5f5;
393
- cursor: pointer;
394
- font-size: 12px;
395
- color: #666;
396
- transition: background 0.15s, color 0.15s;
397
- }
398
- .iop-color-picker-tab.active {
399
- background: #4A90D9;
400
- color: #fff;
401
- }
402
- .iop-color-picker-tab:hover:not(.active) {
403
- background: #eaeaea;
404
- }
405
-
406
- /* Hex 输入 */
407
- .iop-color-picker-hex {
408
- display: flex;
409
- align-items: center;
410
- gap: 2px;
411
- border: 1px solid #e0e0e0;
412
- border-radius: 4px;
413
- padding: 4px 8px;
414
- background: #fafafa;
415
- }
416
- .iop-color-picker-hex-hash {
417
- color: #999;
418
- font-size: 13px;
419
- }
420
- .iop-color-picker-hex input {
421
- border: none;
422
- outline: none;
423
- background: transparent;
424
- font-size: 13px;
425
- font-family: 'SF Mono', Monaco, monospace;
426
- width: 80px;
427
- color: #333;
428
- }
429
-
430
- /* ===== BPMN Linting 样式 ===== */
431
-
432
- .bjsl-button {
433
- position: absolute;
434
- bottom: 20px;
435
- left: 20px;
436
- padding: 6px 12px;
437
- border: none;
438
- border-radius: 4px;
439
- cursor: pointer;
440
- font-size: 13px;
441
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
442
- display: flex;
443
- align-items: center;
444
- gap: 6px;
445
- z-index: 10;
446
- transition: background 0.15s;
447
- }
448
-
449
- .bjsl-button .icon {
450
- width: 16px;
451
- height: 16px;
452
- display: inline-flex;
453
- align-items: center;
454
- }
455
-
456
- .bjsl-button .icon svg {
457
- width: 100%;
458
- height: 100%;
459
- }
460
-
461
- .bjsl-button-success {
462
- background: #d4edda;
463
- color: #155724;
464
- }
465
-
466
- .bjsl-button-warning {
467
- background: #fff3cd;
468
- color: #856404;
469
- }
470
-
471
- .bjsl-button-error {
472
- background: #f8d7da;
473
- color: #721c24;
474
- }
475
-
476
- .bjsl-button-inactive {
477
- display: none;
478
- }
479
-
480
- .bjsl-button:hover {
481
- opacity: 0.85;
482
- }
483
-
484
- /* Linting 问题覆盖层 */
485
- .bjsl-overlay {
486
- background: #fff;
487
- border-radius: 4px;
488
- padding: 8px;
489
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
490
- max-width: 300px;
491
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
492
- font-size: 12px;
493
- }
494
-
495
- .bjsl-overlay ul {
496
- list-style: none;
497
- margin: 0;
498
- padding: 0;
499
- }
500
-
501
- .bjsl-overlay li {
502
- display: flex;
503
- align-items: flex-start;
504
- gap: 6px;
505
- padding: 4px 0;
506
- }
507
-
508
- .bjsl-overlay li:not(:last-child) {
509
- border-bottom: 1px solid #f0f0f0;
510
- }
511
-
512
- .bjsl-overlay li .icon {
513
- width: 14px;
514
- height: 14px;
515
- flex-shrink: 0;
516
- margin-top: 1px;
517
- }
518
-
519
- .bjsl-overlay li .icon svg {
520
- width: 100%;
521
- height: 100%;
522
- }
523
-
524
- .bjsl-overlay li.error .icon {
525
- color: #dc3545;
526
- }
527
-
528
- .bjsl-overlay li.warning .icon {
529
- color: #ffc107;
530
- }
531
-
532
- .bjsl-overlay li.info .icon {
533
- color: #17a2b8;
534
- }
535
-
536
- .bjsl-overlay li .message {
537
- flex: 1;
538
- }
539
-
540
- .bjsl-overlay li .rule {
541
- color: #6c757d;
542
- font-size: 11px;
543
- }
544
-
545
- .bjsl-overlay li .rule a {
546
- color: #6c757d;
547
- text-decoration: none;
548
- }
549
-
550
- .bjsl-overlay li .rule a:hover {
551
- text-decoration: underline;
552
- }
553
-
554
- .bjsl-child-issues {
555
- margin-top: 4px;
556
- padding-top: 4px;
557
- }
558
-
559
- .bjsl-child-issues hr {
560
- border: none;
561
- border-top: 1px solid #e0e0e0;
562
- margin: 4px 0;
563
- }
564
-
565
- .bjsl-issue-heading {
566
- font-weight: 600;
567
- color: #495057;
568
- font-size: 11px;
569
- text-transform: uppercase;
570
- letter-spacing: 0.5px;
571
- }
572
-
573
- .bjsl-id-hint {
574
- font-size: 10px;
575
- color: #adb5bd;
576
- margin-left: 4px;
577
- }
578
-
579
- /* ===== ListGroup 添加按钮始终显示悬浮状态样式 ===== */
580
-
581
- /* 隐藏原有的 label(如果存在),使用伪元素替代 */
582
- .bio-properties-panel-add-entry .bio-properties-panel-add-entry-label {
583
- display: none !important;
584
- }
585
-
586
- /* 始终显示悬浮状态的背景色和图标颜色 */
587
- .bio-properties-panel-add-entry {
588
- background-color: var(--add-entry-hover-background-color) !important;
589
- fill: var(--add-entry-hover-fill-color) !important;
590
- }
591
-
592
- /* 使用伪元素添加"创建"文字,始终显示 */
593
- .bio-properties-panel-add-entry::after {
594
- content: var(--create-button-text, '创建');
595
- color: var(--add-entry-label-color);
596
- font-size: 12px;
597
- padding: 0 6px 0 2px;
598
- }
599
-
600
- /* 列表为空时,调整 margin 让按钮靠左显示 */
601
- .bio-properties-panel-group-header.empty .bio-properties-panel-add-entry {
602
- margin-right: 19px !important;
603
- }
604
-
605
- /* ===== Flowable 监听器样式(由 ListGroup 组件渲染,仅保留基础样式) ===== */
256
+ .iop-bpmn-modeler-wrapper {
257
+ display: flex;
258
+ width: 100%;
259
+ height: 100%;
260
+ min-height: 500px;
261
+ position: relative;
262
+ }
263
+
264
+ .iop-bpmn-modeler-canvas {
265
+ flex: 1;
266
+ position: relative;
267
+ }
268
+
269
+ .iop-bpmn-modeler-panel {
270
+ width: 300px;
271
+ min-width: 300px;
272
+ border-left: 1px solid #e0e0e0;
273
+ overflow-y: auto;
274
+ background: #fff;
275
+ }
276
+
277
+ /* 确保属性面板正确显示 */
278
+ .iop-bpmn-modeler-panel .bio-properties-panel {
279
+ height: 100%;
280
+ }
281
+
282
+ /* 隐藏 token simulation 自带的开关(由工具栏按钮替代) */
283
+ .iop-bpmn-modeler-canvas .bts-toggle-mode {
284
+ display: none;
285
+ }
286
+
287
+ /* ===== Sketchy 手绘风格增强 ===== */
288
+
289
+ /* 手绘字体 */
290
+ .iop-bpmn-sketchy .djs-label,
291
+ .iop-bpmn-sketchy text {
292
+ font-family: 'Long Cang', 'Caveat', 'Architects Daughter', cursive !important;
293
+ }
294
+
295
+ /* 加粗连接线描边,增强手绘感 */
296
+ .iop-bpmn-sketchy .djs-connection .djs-visual path {
297
+ stroke-linecap: round;
298
+ stroke-linejoin: round;
299
+ }
300
+
301
+ /* 元素形状描边增强 */
302
+ .iop-bpmn-sketchy .djs-shape .djs-visual path,
303
+ .iop-bpmn-sketchy .djs-shape .djs-visual rect,
304
+ .iop-bpmn-sketchy .djs-shape .djs-visual circle,
305
+ .iop-bpmn-sketchy .djs-shape .djs-visual ellipse,
306
+ .iop-bpmn-sketchy .djs-shape .djs-visual polygon {
307
+ stroke-linecap: round;
308
+ stroke-linejoin: round;
309
+ }
310
+
311
+ /* 背景色微调,模拟纸张质感 */
312
+ .iop-bpmn-sketchy .djs-container {
313
+ background:
314
+ linear-gradient(90deg, transparent 79px, rgba(0,0,0,0.03) 79px, rgba(0,0,0,0.03) 80px, transparent 80px),
315
+ linear-gradient(rgba(0,0,0,0.03) 1px, transparent 1px),
316
+ #fefefe;
317
+ background-size: 80px 20px;
318
+ }
319
+
320
+ /* ===== 颜色选择器弹窗 ===== */
321
+
322
+ .iop-color-picker-popup {
323
+ display: none;
324
+ position: fixed;
325
+ z-index: 10000;
326
+ padding: 12px;
327
+ background: #fff;
328
+ border-radius: 8px;
329
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
330
+ min-width: 220px;
331
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
332
+ font-size: 12px;
333
+ }
334
+
335
+ .iop-color-picker-content {
336
+ display: flex;
337
+ flex-direction: column;
338
+ gap: 10px;
339
+ }
340
+
341
+ /* 预设颜色网格 */
342
+ .iop-color-picker-presets {
343
+ display: grid;
344
+ grid-template-columns: repeat(6, 1fr);
345
+ gap: 4px;
346
+ }
347
+
348
+ .iop-color-picker-preset-btn {
349
+ width: 28px;
350
+ height: 28px;
351
+ border: 1px solid #ddd;
352
+ border-radius: 4px;
353
+ background: #fff;
354
+ cursor: pointer;
355
+ display: flex;
356
+ align-items: center;
357
+ justify-content: center;
358
+ padding: 0;
359
+ transition: transform 0.1s;
360
+ }
361
+ .iop-color-picker-preset-btn:hover {
362
+ transform: scale(1.15);
363
+ border-color: #999;
364
+ }
365
+
366
+ .iop-color-picker-preset-swatch {
367
+ display: block;
368
+ width: 20px;
369
+ height: 20px;
370
+ border-radius: 3px;
371
+ border: 2px solid;
372
+ }
373
+
374
+ .iop-color-picker-preset-default {
375
+ color: #999;
376
+ font-size: 14px;
377
+ font-weight: bold;
378
+ }
379
+
380
+ /* 填充/边框 Tab */
381
+ .iop-color-picker-tabs {
382
+ display: flex;
383
+ gap: 0;
384
+ border: 1px solid #e0e0e0;
385
+ border-radius: 4px;
386
+ overflow: hidden;
387
+ }
388
+ .iop-color-picker-tab {
389
+ flex: 1;
390
+ padding: 4px 0;
391
+ border: none;
392
+ background: #f5f5f5;
393
+ cursor: pointer;
394
+ font-size: 12px;
395
+ color: #666;
396
+ transition: background 0.15s, color 0.15s;
397
+ }
398
+ .iop-color-picker-tab.active {
399
+ background: #4A90D9;
400
+ color: #fff;
401
+ }
402
+ .iop-color-picker-tab:hover:not(.active) {
403
+ background: #eaeaea;
404
+ }
405
+
406
+ /* Hex 输入 */
407
+ .iop-color-picker-hex {
408
+ display: flex;
409
+ align-items: center;
410
+ gap: 2px;
411
+ border: 1px solid #e0e0e0;
412
+ border-radius: 4px;
413
+ padding: 4px 8px;
414
+ background: #fafafa;
415
+ }
416
+ .iop-color-picker-hex-hash {
417
+ color: #999;
418
+ font-size: 13px;
419
+ }
420
+ .iop-color-picker-hex input {
421
+ border: none;
422
+ outline: none;
423
+ background: transparent;
424
+ font-size: 13px;
425
+ font-family: 'SF Mono', Monaco, monospace;
426
+ width: 80px;
427
+ color: #333;
428
+ }
429
+
430
+ /* ===== BPMN Linting 样式 ===== */
431
+
432
+ .bjsl-button {
433
+ position: absolute;
434
+ bottom: 20px;
435
+ left: 20px;
436
+ padding: 6px 12px;
437
+ border: none;
438
+ border-radius: 4px;
439
+ cursor: pointer;
440
+ font-size: 13px;
441
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
442
+ display: flex;
443
+ align-items: center;
444
+ gap: 6px;
445
+ z-index: 10;
446
+ transition: background 0.15s;
447
+ }
448
+
449
+ .bjsl-button .icon {
450
+ width: 16px;
451
+ height: 16px;
452
+ display: inline-flex;
453
+ align-items: center;
454
+ }
455
+
456
+ .bjsl-button .icon svg {
457
+ width: 100%;
458
+ height: 100%;
459
+ }
460
+
461
+ .bjsl-button-success {
462
+ background: #d4edda;
463
+ color: #155724;
464
+ }
465
+
466
+ .bjsl-button-warning {
467
+ background: #fff3cd;
468
+ color: #856404;
469
+ }
470
+
471
+ .bjsl-button-error {
472
+ background: #f8d7da;
473
+ color: #721c24;
474
+ }
475
+
476
+ .bjsl-button-inactive {
477
+ display: none;
478
+ }
479
+
480
+ .bjsl-button:hover {
481
+ opacity: 0.85;
482
+ }
483
+
484
+ /* Linting 问题覆盖层 */
485
+ .bjsl-overlay {
486
+ background: #fff;
487
+ border-radius: 4px;
488
+ padding: 8px;
489
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
490
+ max-width: 300px;
491
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
492
+ font-size: 12px;
493
+ }
494
+
495
+ .bjsl-overlay ul {
496
+ list-style: none;
497
+ margin: 0;
498
+ padding: 0;
499
+ }
500
+
501
+ .bjsl-overlay li {
502
+ display: flex;
503
+ align-items: flex-start;
504
+ gap: 6px;
505
+ padding: 4px 0;
506
+ }
507
+
508
+ .bjsl-overlay li:not(:last-child) {
509
+ border-bottom: 1px solid #f0f0f0;
510
+ }
511
+
512
+ .bjsl-overlay li .icon {
513
+ width: 14px;
514
+ height: 14px;
515
+ flex-shrink: 0;
516
+ margin-top: 1px;
517
+ }
518
+
519
+ .bjsl-overlay li .icon svg {
520
+ width: 100%;
521
+ height: 100%;
522
+ }
523
+
524
+ .bjsl-overlay li.error .icon {
525
+ color: #dc3545;
526
+ }
527
+
528
+ .bjsl-overlay li.warning .icon {
529
+ color: #ffc107;
530
+ }
531
+
532
+ .bjsl-overlay li.info .icon {
533
+ color: #17a2b8;
534
+ }
535
+
536
+ .bjsl-overlay li .message {
537
+ flex: 1;
538
+ }
539
+
540
+ .bjsl-overlay li .rule {
541
+ color: #6c757d;
542
+ font-size: 11px;
543
+ }
544
+
545
+ .bjsl-overlay li .rule a {
546
+ color: #6c757d;
547
+ text-decoration: none;
548
+ }
549
+
550
+ .bjsl-overlay li .rule a:hover {
551
+ text-decoration: underline;
552
+ }
553
+
554
+ .bjsl-child-issues {
555
+ margin-top: 4px;
556
+ padding-top: 4px;
557
+ }
558
+
559
+ .bjsl-child-issues hr {
560
+ border: none;
561
+ border-top: 1px solid #e0e0e0;
562
+ margin: 4px 0;
563
+ }
564
+
565
+ .bjsl-issue-heading {
566
+ font-weight: 600;
567
+ color: #495057;
568
+ font-size: 11px;
569
+ text-transform: uppercase;
570
+ letter-spacing: 0.5px;
571
+ }
572
+
573
+ .bjsl-id-hint {
574
+ font-size: 10px;
575
+ color: #adb5bd;
576
+ margin-left: 4px;
577
+ }
578
+
579
+ /* ===== ListGroup 添加按钮始终显示悬浮状态样式 ===== */
580
+
581
+ /* 隐藏原有的 label(如果存在),使用伪元素替代 */
582
+ .bio-properties-panel-add-entry .bio-properties-panel-add-entry-label {
583
+ display: none !important;
584
+ }
585
+
586
+ /* 始终显示悬浮状态的背景色和图标颜色 */
587
+ .bio-properties-panel-add-entry {
588
+ background-color: var(--add-entry-hover-background-color) !important;
589
+ fill: var(--add-entry-hover-fill-color) !important;
590
+ }
591
+
592
+ /* 使用伪元素添加"创建"文字,始终显示 */
593
+ .bio-properties-panel-add-entry::after {
594
+ content: var(--create-button-text, '创建');
595
+ color: var(--add-entry-label-color);
596
+ font-size: 12px;
597
+ padding: 0 6px 0 2px;
598
+ }
599
+
600
+ /* 列表为空时,调整 margin 让按钮靠左显示 */
601
+ .bio-properties-panel-group-header.empty .bio-properties-panel-add-entry {
602
+ margin-right: 19px !important;
603
+ }
604
+
605
+ /* ===== Flowable 监听器样式(由 ListGroup 组件渲染,仅保留基础样式) ===== */
606
606
  /**
607
607
  * color definitions
608
608
  */