@ones-editor/editor 2.8.27 → 2.8.28-beta.11

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.
Files changed (80) hide show
  1. package/@ones-editor/block-locker/src/i18n/zh-hant-hk.d.ts +8 -0
  2. package/@ones-editor/block-menu/src/locale/zh-hant-hk.d.ts +25 -0
  3. package/@ones-editor/callout-block/src/locale/zh-hant-hk.d.ts +15 -0
  4. package/@ones-editor/code-block/src/locale/zh-hant-hk.d.ts +13 -0
  5. package/@ones-editor/comments/src/comment-item/comment-item.d.ts +1 -0
  6. package/@ones-editor/comments/src/comments/comments.d.ts +5 -1
  7. package/@ones-editor/comments/src/comments-helper/active-comment.d.ts +3 -1
  8. package/@ones-editor/comments/src/comments-helper/get-comment-from-selection.d.ts +3 -0
  9. package/@ones-editor/comments/src/comments-helper/get-comments-from-doc.d.ts +5 -1
  10. package/@ones-editor/comments/src/comments-helper/old-version-comment.d.ts +2 -1
  11. package/@ones-editor/comments/src/comments-list/comments-list.d.ts +14 -2
  12. package/@ones-editor/comments/src/comments-list/group-item.d.ts +2 -0
  13. package/@ones-editor/comments/src/comments-list/group-list.d.ts +8 -2
  14. package/@ones-editor/comments/src/comments-list/handler.d.ts +2 -1
  15. package/@ones-editor/comments/src/comments-list/mini-comment/group-list.d.ts +1 -1
  16. package/@ones-editor/comments/src/comments-list/mini-comment/mini-comments-list.d.ts +1 -0
  17. package/@ones-editor/comments/src/comments-list/mobile-comments-list/mobile-comments-list.d.ts +1 -0
  18. package/@ones-editor/comments/src/comments-render/get-block-comments.d.ts +5 -0
  19. package/@ones-editor/comments/src/comments-render/index.d.ts +10 -1
  20. package/@ones-editor/comments/src/constant/index.d.ts +2 -1
  21. package/@ones-editor/comments/src/index.d.ts +1 -0
  22. package/@ones-editor/comments/src/locale/en-us.d.ts +9 -0
  23. package/@ones-editor/comments/src/locale/ja-jp.d.ts +9 -0
  24. package/@ones-editor/comments/src/locale/zh-cn.d.ts +9 -0
  25. package/@ones-editor/comments/src/locale/zh-hant-hk.d.ts +24 -0
  26. package/@ones-editor/comments/src/resolved-comments/index.d.ts +4 -0
  27. package/@ones-editor/comments/src/resolved-comments/resolved-comment-editor.d.ts +14 -0
  28. package/@ones-editor/comments/src/resolved-comments/resolved-comment-list.d.ts +4 -0
  29. package/@ones-editor/comments/src/types.d.ts +7 -1
  30. package/@ones-editor/context-menu/src/locale/zh-hant-hk.d.ts +14 -0
  31. package/@ones-editor/core/src/core/block-renderers/block-renderers.d.ts +1 -0
  32. package/@ones-editor/core/src/core/composition/editor-input.d.ts +2 -0
  33. package/@ones-editor/core/src/core/doc/doc.d.ts +9 -0
  34. package/@ones-editor/core/src/core/types.d.ts +3 -0
  35. package/@ones-editor/core/src/i18n/i18n.d.ts +21 -1
  36. package/@ones-editor/core/src/i18n/zh-hant-hk.d.ts +21 -0
  37. package/@ones-editor/core/src/local-doc/index.d.ts +1 -0
  38. package/@ones-editor/dividing-line-embed/src/i18n/zh-hant-hk.d.ts +7 -0
  39. package/@ones-editor/drawio-embed/src/lang/zh-hant-hk.d.ts +19 -0
  40. package/@ones-editor/drawio-embed/types/index.d.ts +1 -1
  41. package/@ones-editor/embed-block-helper/src/locale/zh-hant-hk.d.ts +7 -0
  42. package/@ones-editor/exclusive-block/src/locale/zh-hant-hk.d.ts +7 -0
  43. package/@ones-editor/file/src/locale/zh-hant-hk.d.ts +15 -0
  44. package/@ones-editor/find-dialog/src/locale/zh-hant-hk.d.ts +13 -0
  45. package/@ones-editor/graph-embed/src/lang/zh-hant-hk.d.ts +18 -0
  46. package/@ones-editor/heading-collapse/src/locale/zh-hant-hk.d.ts +7 -0
  47. package/@ones-editor/image-embed/src/locale/zh-hant-hk.d.ts +17 -0
  48. package/@ones-editor/input-handlers/src/i18n/zh-hant-hk.d.ts +13 -0
  49. package/@ones-editor/layout-block/src/locale/zh-hant-hk.d.ts +10 -0
  50. package/@ones-editor/list-block/src/lang/zh-hant-hk.d.ts +21 -0
  51. package/@ones-editor/main-toolbar/src/locale/zh-hant-hk.d.ts +15 -0
  52. package/@ones-editor/mathjax/src/locale/zh-hant-hk.d.ts +7 -0
  53. package/@ones-editor/media-embed/src/locale/zh-hant-hk.d.ts +20 -0
  54. package/@ones-editor/mention/src/locale/zh-hant-hk.d.ts +9 -0
  55. package/@ones-editor/misc/src/re-auth/locale/zh-hant-hk.d.ts +7 -0
  56. package/@ones-editor/mobile-helper/src/locale/zh-hant-hk.d.ts +9 -0
  57. package/@ones-editor/paste-special/src/locale/zh-hant-hk.d.ts +8 -0
  58. package/@ones-editor/sharedb-doc/src/doc/comments.d.ts +2 -1
  59. package/@ones-editor/sharedb-doc/src/doc/op-parser/parse-handler.d.ts +2 -1
  60. package/@ones-editor/sharedb-doc/src/doc/sharedb-doc.d.ts +3 -1
  61. package/@ones-editor/sharedb-doc/src/types.d.ts +1 -0
  62. package/@ones-editor/status/src/locale/zh-hant-hk.d.ts +25 -0
  63. package/@ones-editor/table-block/src/locale/zh-hant-hk.d.ts +33 -0
  64. package/@ones-editor/templates/src/locale/zh-hant-hk.d.ts +9 -0
  65. package/@ones-editor/toc/src/locale/zh-hant-hk.d.ts +8 -0
  66. package/@ones-editor/tsconfig.tsbuildinfo +1 -1
  67. package/@ones-editor/ui/src/locale/zh-hant-hk.d.ts +60 -0
  68. package/@ones-editor/ui/src/readonly-toolbar/add-comment-to-old-doc.d.ts +1 -0
  69. package/@ones-editor/ui-base/src/icons/index.d.ts +2 -1
  70. package/@ones-editor/ui-base/src/locale/zh-hant-hk.d.ts +39 -0
  71. package/@ones-editor/versions/src/locale/zh-hant-hk.d.ts +45 -0
  72. package/@ones-editor/versions/src/version-dialog/history-handler.d.ts +1 -0
  73. package/@ones-editor/webpage-embed/src/locale/zh-hant-hk.d.ts +27 -0
  74. package/dist/comments/local-doc-comments-provider.d.ts +2 -1
  75. package/dist/comments/sharedb-doc-comments-provider.d.ts +3 -1
  76. package/dist/index.d.ts +2 -0
  77. package/dist/index.js +1618 -157
  78. package/dist/lang/zh-hant-hk.d.ts +31 -0
  79. package/dist/types.d.ts +2 -0
  80. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -4116,6 +4116,7 @@ div.editor-root.readonly div.editor-content div[data-type=editor-container] div[
4116
4116
  .comment-item-root .item-head-tools {
4117
4117
  display: flex;
4118
4118
  align-items: center;
4119
+ justify-content: center;
4119
4120
  visibility: hidden;
4120
4121
  }
4121
4122
  .comment-item-root .item-head-tools .editor-text-button {
@@ -4125,8 +4126,8 @@ div.editor-root.readonly div.editor-content div[data-type=editor-container] div[
4125
4126
  color: #0064ff;
4126
4127
  }
4127
4128
  .comment-item-root .item-head-tools .editor-text-button svg {
4128
- width: 20px;
4129
- height: 20px;
4129
+ width: 16px;
4130
+ height: 16px;
4130
4131
  }
4131
4132
  .comment-item-root .item-head-tools.active {
4132
4133
  visibility: visible;
@@ -4319,6 +4320,36 @@ div.editor-root.readonly div.editor-content div[data-type=editor-container] div[
4319
4320
  will-change: width;
4320
4321
  font-family: var(--editor-font-family);
4321
4322
  }
4323
+ .editor-web-comment-root.disable-resolve .comment-groups-container .item-head-switch .editor-text-button[data-button-id=resolve] {
4324
+ display: none;
4325
+ }
4326
+ .editor-web-comment-root.disable-resolve .comment-groups-container .comment-actions button.comment-reopen {
4327
+ display: none;
4328
+ }
4329
+ .editor-web-comment-root .comment-groups-container .no-comment-tip {
4330
+ font-size: 12px;
4331
+ width: 100%;
4332
+ color: #BEBFC2;
4333
+ display: flex;
4334
+ justify-content: center;
4335
+ align-items: center;
4336
+ margin-top: 100px;
4337
+ }
4338
+ .editor-web-comment-root[list-type=resolved] .comment-groups-container {
4339
+ display: flex;
4340
+ flex-direction: column;
4341
+ gap: 20px;
4342
+ padding-left: 8px;
4343
+ padding-top: 60px;
4344
+ }
4345
+ .editor-web-comment-root[list-type=resolved] .comment-groups-container .comment-group-item-root {
4346
+ position: inherit;
4347
+ transform: none;
4348
+ }
4349
+ .editor-web-comment-root[list-type=resolved] .comment-groups-container .comment-group-item-root::before {
4350
+ left: 8px;
4351
+ right: 8px;
4352
+ }
4322
4353
  .editor-web-comment-root .comment-groups-container .comment-group-item-root {
4323
4354
  position: absolute;
4324
4355
  left: 50%;
@@ -4332,8 +4363,17 @@ div.editor-root.readonly div.editor-content div[data-type=editor-container] div[
4332
4363
  box-shadow: var(--editor-box-shadow);
4333
4364
  padding-bottom: 10px;
4334
4365
  }
4366
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root.resolved .comment-item-head .item-head-switch {
4367
+ display: none;
4368
+ }
4369
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root.resolved .item-head-tools {
4370
+ display: none;
4371
+ }
4372
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root.resolved .comment-quick-reply {
4373
+ display: none;
4374
+ }
4335
4375
  .editor-web-comment-root .comment-groups-container .comment-group-item-root:not(.no-animation) {
4336
- transition: top 0.2s ease-in, opacity 0.35s ease-in;
4376
+ transition: top 0.2s ease-in, opacity 0.2s ease-in;
4337
4377
  }
4338
4378
  .editor-web-comment-root .comment-groups-container .comment-group-item-root::before {
4339
4379
  content: "";
@@ -4380,16 +4420,23 @@ div.editor-root.readonly div.editor-content div[data-type=editor-container] div[
4380
4420
  display: flex;
4381
4421
  align-items: center;
4382
4422
  height: 22px;
4383
- visibility: hidden;
4384
4423
  }
4385
4424
  .editor-web-comment-root .comment-groups-container .comment-group-item-root .comment-item-head .item-head-switch .editor-text-button {
4386
4425
  padding: 0;
4387
4426
  width: var(--editor-comment-switch-button-width);
4388
- margin: 3px 0;
4427
+ margin-right: 5px;
4389
4428
  color: #606060;
4429
+ width: 16px;
4430
+ height: 16px;
4390
4431
  }
4391
4432
  .editor-web-comment-root .comment-groups-container .comment-group-item-root .comment-item-head .item-head-switch .editor-text-button[data-button-id=switch-up] {
4392
- margin-right: 16px;
4433
+ visibility: hidden;
4434
+ }
4435
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root .comment-item-head .item-head-switch .editor-text-button[data-button-id=switch-down] {
4436
+ visibility: hidden;
4437
+ }
4438
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root .comment-item-head .item-head-switch .editor-text-button[data-button-id=resolve] {
4439
+ margin-right: 0;
4393
4440
  }
4394
4441
  .editor-web-comment-root .comment-groups-container .comment-group-item-root .comment-item-head .item-head-switch .editor-text-button:not(.disabled):hover {
4395
4442
  color: var(--text-button-color-hover);
@@ -4398,15 +4445,66 @@ div.editor-root.readonly div.editor-content div[data-type=editor-container] div[
4398
4445
  color: rgba(96, 96, 96, 0.5019607843);
4399
4446
  cursor: not-allowed;
4400
4447
  }
4448
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root .comment-item-footer {
4449
+ font-size: 12px;
4450
+ line-height: 20px;
4451
+ color: #87888A;
4452
+ margin-top: 10px;
4453
+ }
4454
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root .comment-item-footer .comment-resolved {
4455
+ font-size: 12px;
4456
+ color: #87888a;
4457
+ flex-grow: 1;
4458
+ display: block;
4459
+ white-space: nowrap;
4460
+ overflow: hidden;
4461
+ text-overflow: ellipsis;
4462
+ }
4463
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root .comment-item-footer .comment-actions {
4464
+ display: flex;
4465
+ align-items: center;
4466
+ }
4467
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root .comment-item-footer .comment-actions .comment-date {
4468
+ flex: 1;
4469
+ white-space: nowrap;
4470
+ }
4471
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root .comment-item-footer .comment-actions .removed-tips {
4472
+ color: #87888A;
4473
+ white-space: nowrap;
4474
+ text-overflow: ellipsis;
4475
+ overflow: hidden;
4476
+ margin-left: 10px;
4477
+ }
4478
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root .comment-item-footer .comment-actions .comment-reopen {
4479
+ background: none;
4480
+ border: none;
4481
+ cursor: pointer;
4482
+ color: #575859;
4483
+ font-size: 12px;
4484
+ }
4485
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root .comment-item-footer .comment-actions .comment-reopen:hover {
4486
+ color: #0064FF;
4487
+ }
4401
4488
  .editor-web-comment-root .comment-groups-container .comment-group-item-root.active::before {
4402
4489
  background-color: #f59300;
4403
4490
  }
4404
- .editor-web-comment-root .comment-groups-container .comment-group-item-root.active .item-head-switch {
4491
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root.active .item-head-switch .editor-text-button[data-button-id=switch-up] {
4492
+ visibility: visible;
4493
+ }
4494
+ .editor-web-comment-root .comment-groups-container .comment-group-item-root.active .item-head-switch .editor-text-button[data-button-id=switch-down] {
4405
4495
  visibility: visible;
4406
4496
  }
4407
4497
  .editor-web-comment-root .comment-groups-container .comment-group-item-root.readonly .comment-quick-reply .quick-reply-button.invisible {
4408
4498
  display: none;
4409
4499
  }
4500
+ .editor-web-comment-root .comment-switcher-container {
4501
+ position: absolute;
4502
+ z-index: 1;
4503
+ top: 0;
4504
+ left: 0;
4505
+ right: 0;
4506
+ font-size: 14px;
4507
+ }
4410
4508
  .editor-mobile-comments-root {
4411
4509
  position: fixed;
4412
4510
  left: 0;
@@ -4508,6 +4606,108 @@ div.editor-root.readonly div.editor-content div[data-type=editor-container] div[
4508
4606
  }
4509
4607
  :is(.editor-web-comment-root, .editor-mobile-comments-root, .editor-mini-comment-root).hidden {
4510
4608
  display: none;
4609
+ }
4610
+ .editor-root .editor-content [data-type=editor-container][comment-list-type=resolved] div[data-type=editor-block].text-block.comment > div[data-type=block-content] > span {
4611
+ border-bottom-color: transparent;
4612
+ }
4613
+ .editor-root .editor-content [data-type=editor-container][comment-list-type=resolved] div[data-type=editor-block] span.text.comment,
4614
+ .editor-root .editor-content [data-type=editor-container][comment-list-type=resolved] div[data-type=editor-block] span[data-type=editor-box].comment {
4615
+ border-bottom-color: transparent;
4616
+ }
4617
+ .editor-root .editor-content [data-type=editor-container][comment-list-type=resolved] div[data-type=editor-block] span.text.comment.active,
4618
+ .editor-root .editor-content [data-type=editor-container][comment-list-type=resolved] div[data-type=editor-block] span[data-type=editor-box].comment.active {
4619
+ background-color: transparent;
4620
+ }
4621
+ .editor-root .editor-content [data-type=editor-container][comment-list-type=resolved] div[data-type=editor-block].comment::after {
4622
+ background-color: transparent;
4623
+ }
4624
+ .editor-root .editor-content [data-type=editor-container][comment-list-type=resolved] div[data-type=editor-block].comment.active {
4625
+ outline: none;
4626
+ }.resolved-comment-list .resolved-comment-group-item-root {
4627
+ padding: 10px 20px;
4628
+ border-bottom: 1px solid #f0f0f0;
4629
+ margin-right: 10px;
4630
+ }
4631
+ .resolved-comment-list .resolved-comment-group-item-root .comment-group-head {
4632
+ margin-bottom: 5px;
4633
+ }
4634
+ .resolved-comment-list .resolved-comment-group-item-root .comment-group-head span {
4635
+ padding: 0 5px;
4636
+ display: inline-block;
4637
+ line-height: 2;
4638
+ background-color: #FFF0D9;
4639
+ }
4640
+ .resolved-comment-list .resolved-comment-group-item-root .comment-children-container,
4641
+ .resolved-comment-list .resolved-comment-group-item-root .comment-container {
4642
+ padding-left: 10px;
4643
+ }
4644
+ .resolved-comment-list .resolved-comment-group-item-root .comment-children-container .resolved-comment-item-root,
4645
+ .resolved-comment-list .resolved-comment-group-item-root .comment-container .resolved-comment-item-root {
4646
+ position: relative;
4647
+ }
4648
+ .resolved-comment-list .resolved-comment-group-item-root .comment-children-container .resolved-comment-item-root:not(.no-children)::before,
4649
+ .resolved-comment-list .resolved-comment-group-item-root .comment-container .resolved-comment-item-root:not(.no-children)::before {
4650
+ content: " ";
4651
+ display: block;
4652
+ position: absolute;
4653
+ left: 10px;
4654
+ width: 1px;
4655
+ background-color: #DFE1E5;
4656
+ overflow: hidden;
4657
+ opacity: 0.8;
4658
+ top: 21px;
4659
+ bottom: -12px;
4660
+ transform: scaleX(0.5);
4661
+ }
4662
+ .resolved-comment-list .resolved-comment-group-item-root .comment-children-container .resolved-comment-item-root .comment-head,
4663
+ .resolved-comment-list .resolved-comment-group-item-root .comment-container .resolved-comment-item-root .comment-head {
4664
+ padding: 0;
4665
+ position: relative;
4666
+ display: flex;
4667
+ align-items: center;
4668
+ }
4669
+ .resolved-comment-list .resolved-comment-group-item-root .comment-children-container .resolved-comment-item-root .comment-head .comment-avatar,
4670
+ .resolved-comment-list .resolved-comment-group-item-root .comment-container .resolved-comment-item-root .comment-head .comment-avatar {
4671
+ margin-right: 5px;
4672
+ width: var(--editor-comment-avatar-width, 22px);
4673
+ height: var(--editor-comment-avatar-width, 22px);
4674
+ border-radius: 100%;
4675
+ }
4676
+ .resolved-comment-list .resolved-comment-group-item-root .comment-children-container .resolved-comment-item-root .comment-head .comment-username,
4677
+ .resolved-comment-list .resolved-comment-group-item-root .comment-container .resolved-comment-item-root .comment-head .comment-username {
4678
+ font-size: var(--editor-comment-username-font-size, 12px);
4679
+ color: #2d2d2e;
4680
+ overflow: hidden;
4681
+ text-overflow: ellipsis;
4682
+ white-space: nowrap;
4683
+ }
4684
+ .resolved-comment-list .resolved-comment-group-item-root .comment-children-container .resolved-comment-item-root .comment-head .comment-modified,
4685
+ .resolved-comment-list .resolved-comment-group-item-root .comment-container .resolved-comment-item-root .comment-head .comment-modified {
4686
+ margin-left: 10px;
4687
+ font-size: 12px;
4688
+ color: #87888a;
4689
+ flex-grow: 1;
4690
+ white-space: nowrap;
4691
+ }
4692
+ .resolved-comment-list .resolved-comment-group-item-root .comment-children-container .resolved-comment-item-root .comment-editor,
4693
+ .resolved-comment-list .resolved-comment-group-item-root .comment-container .resolved-comment-item-root .comment-editor {
4694
+ border: none;
4695
+ padding-top: 0;
4696
+ margin-top: 0;
4697
+ padding-left: 10px;
4698
+ margin-left: 0;
4699
+ }
4700
+ .resolved-comment-list .resolved-comment-group-item-root .comment-children-container .resolved-comment-item-root:last-child::before {
4701
+ display: none;
4702
+ }
4703
+ .resolved-comment-list .resolved-comment-group-item-root .comment-item-footer .comment-resolved {
4704
+ margin-left: 10px;
4705
+ font-size: 12px;
4706
+ color: #87888a;
4707
+ flex-grow: 1;
4708
+ white-space: nowrap;
4709
+ overflow: hidden;
4710
+ text-overflow: ellipsis;
4511
4711
  }div[data-type=editor-block].table-block {
4512
4712
  --table-bar-width: 6px;
4513
4713
  --table-bar-left: -6px;
@@ -5348,7 +5548,7 @@ div[data-command-bar-id=table-cell-menu] .tippy-box .tippy-content .editor-comma
5348
5548
  }
5349
5549
  .editor-find-dialog-status {
5350
5550
  display: flex;
5351
- }body > div.editor-context-menu[data-tippy-root].zh-CN {
5551
+ }body > div.editor-context-menu[data-tippy-root].zh-CN, body > div.editor-context-menu[data-tippy-root].zh-HK {
5352
5552
  min-width: 200px;
5353
5553
  }
5354
5554
  body > div.editor-context-menu[data-tippy-root].en-US, body > div.editor-context-menu[data-tippy-root].ja-JP {
@@ -8896,6 +9096,26 @@ var __publicField = (obj, key, value) => {
8896
9096
  imageExportFailed: "\u56FE\u7247\u52A0\u8F7D\u5931\u8D25"
8897
9097
  }
8898
9098
  };
9099
+ const zhHK$x = {
9100
+ name: "Ones Editor",
9101
+ date: {
9102
+ dateFromFuture: "\u4F86\u81EA\u672A\u4F86",
9103
+ dateJustNow: "\u525B\u525B",
9104
+ dateYesterday: "\u6628\u5929",
9105
+ dateMinutesAgo: "{num}\u5206\u9418\u524D",
9106
+ date1HourAgo: "1\u5C0F\u6642\u524D",
9107
+ dateHoursAgo: "{num}\u5C0F\u6642\u524D",
9108
+ dateDaysAgo: "{num}\u5929\u524D",
9109
+ dateWeeksAgo: "{num}\u5468\u524D"
9110
+ },
9111
+ common: {
9112
+ cancel: "\u53D6\u6D88",
9113
+ downloadAsImage: "\u4E0B\u8F09\u70BA\u5716\u7247"
9114
+ },
9115
+ docx: {
9116
+ imageExportFailed: "\u5716\u7247\u52A0\u8F09\u5931\u6557"
9117
+ }
9118
+ };
8899
9119
  const jaJP$x = {
8900
9120
  name: "ONES \u30A8\u30C7\u30A3\u30BF\u30FC",
8901
9121
  date: {
@@ -8920,6 +9140,7 @@ var __publicField = (obj, key, value) => {
8920
9140
  const langs$3 = {
8921
9141
  "en-US": enUS$x,
8922
9142
  "zh-CN": zhCN$x,
9143
+ "zh-HK": zhHK$x,
8923
9144
  "ja-JP": jaJP$x
8924
9145
  };
8925
9146
  const i18n = KiwiIntl__default.default.init("en-US", langs$3);
@@ -9207,22 +9428,22 @@ var __publicField = (obj, key, value) => {
9207
9428
  function toFloat(value) {
9208
9429
  return parseFloat(value) || 0;
9209
9430
  }
9210
- function getBordersSize(styles) {
9431
+ function getBordersSize(styles2) {
9211
9432
  var positions = [];
9212
9433
  for (var _i = 1; _i < arguments.length; _i++) {
9213
9434
  positions[_i - 1] = arguments[_i];
9214
9435
  }
9215
9436
  return positions.reduce(function(size, position) {
9216
- var value = styles["border-" + position + "-width"];
9437
+ var value = styles2["border-" + position + "-width"];
9217
9438
  return size + toFloat(value);
9218
9439
  }, 0);
9219
9440
  }
9220
- function getPaddings(styles) {
9441
+ function getPaddings(styles2) {
9221
9442
  var positions = ["top", "right", "bottom", "left"];
9222
9443
  var paddings = {};
9223
9444
  for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {
9224
9445
  var position = positions_1[_i];
9225
- var value = styles["padding-" + position];
9446
+ var value = styles2["padding-" + position];
9226
9447
  paddings[position] = toFloat(value);
9227
9448
  }
9228
9449
  return paddings;
@@ -9236,17 +9457,17 @@ var __publicField = (obj, key, value) => {
9236
9457
  if (!clientWidth && !clientHeight) {
9237
9458
  return emptyRect;
9238
9459
  }
9239
- var styles = getWindowOf(target).getComputedStyle(target);
9240
- var paddings = getPaddings(styles);
9460
+ var styles2 = getWindowOf(target).getComputedStyle(target);
9461
+ var paddings = getPaddings(styles2);
9241
9462
  var horizPad = paddings.left + paddings.right;
9242
9463
  var vertPad = paddings.top + paddings.bottom;
9243
- var width = toFloat(styles.width), height = toFloat(styles.height);
9244
- if (styles.boxSizing === "border-box") {
9464
+ var width = toFloat(styles2.width), height = toFloat(styles2.height);
9465
+ if (styles2.boxSizing === "border-box") {
9245
9466
  if (Math.round(width + horizPad) !== clientWidth) {
9246
- width -= getBordersSize(styles, "left", "right") + horizPad;
9467
+ width -= getBordersSize(styles2, "left", "right") + horizPad;
9247
9468
  }
9248
9469
  if (Math.round(height + vertPad) !== clientHeight) {
9249
- height -= getBordersSize(styles, "top", "bottom") + vertPad;
9470
+ height -= getBordersSize(styles2, "top", "bottom") + vertPad;
9250
9471
  }
9251
9472
  }
9252
9473
  if (!isDocumentElement(target)) {
@@ -9901,8 +10122,8 @@ var __publicField = (obj, key, value) => {
9901
10122
  el.setAttribute(key, value);
9902
10123
  });
9903
10124
  }
9904
- function setStyles(el, styles) {
9905
- Object.entries(styles).forEach(([key, value]) => {
10125
+ function setStyles(el, styles2) {
10126
+ Object.entries(styles2).forEach(([key, value]) => {
9906
10127
  el.style.setProperty(key, value);
9907
10128
  });
9908
10129
  }
@@ -12322,12 +12543,12 @@ var __publicField = (obj, key, value) => {
12322
12543
  return blockClass.getBlockStyles(editor, block);
12323
12544
  }
12324
12545
  const data2 = editor.getBlockData(block);
12325
- const styles = Object.fromEntries(Object.entries(data2).filter(([key]) => key.startsWith("style-")));
12326
- Object.entries(styles).forEach(([, value]) => {
12546
+ const styles2 = Object.fromEntries(Object.entries(data2).filter(([key]) => key.startsWith("style-")));
12547
+ Object.entries(styles2).forEach(([, value]) => {
12327
12548
  const type = typeof value;
12328
12549
  assert(logger$4C, type === "string" || type === "number" || type === "boolean", "invalid style value");
12329
12550
  });
12330
- return styles;
12551
+ return styles2;
12331
12552
  }
12332
12553
  function getContainerWidth(container, options) {
12333
12554
  const ret = container.getBoundingClientRect().width;
@@ -24916,7 +25137,7 @@ var __publicField = (obj, key, value) => {
24916
25137
  if (attributes) {
24917
25138
  let string = op.insert;
24918
25139
  const tags = [];
24919
- let styles = "";
25140
+ let styles2 = "";
24920
25141
  if (attributes["style-bold"]) {
24921
25142
  tags.push("strong");
24922
25143
  }
@@ -24934,25 +25155,25 @@ var __publicField = (obj, key, value) => {
24934
25155
  }
24935
25156
  const fontBgColor = Object.keys(attributes).find((k) => k.startsWith("style-bg-color-"));
24936
25157
  if (fontBgColor) {
24937
- styles += `background-color: ${styleBackgroundColorToHighlight$1(fontBgColor)};`;
25158
+ styles2 += `background-color: ${styleBackgroundColorToHighlight$1(fontBgColor)};`;
24938
25159
  }
24939
25160
  const fontColor = Object.keys(attributes).find((k) => k.startsWith("style-color-"));
24940
25161
  if (fontColor) {
24941
- styles += `color: ${styleColorToColor$1(fontColor)};`;
25162
+ styles2 += `color: ${styleColorToColor$1(fontColor)};`;
24942
25163
  }
24943
25164
  if (attributes.link) {
24944
25165
  string = `<a href="${attributes.link}">${string}</a>`;
24945
25166
  }
24946
25167
  let prefix = tags.map((s) => `<${s}>`).join("");
24947
25168
  let suffix = tags.reverse().map((s) => `</${s}>`).join("");
24948
- if (styles) {
25169
+ if (styles2) {
24949
25170
  if (attributes.link) {
24950
- string = `<a href="${attributes.link}" style="${styles}">${op.insert}</a>`;
25171
+ string = `<a href="${attributes.link}" style="${styles2}">${op.insert}</a>`;
24951
25172
  } else {
24952
25173
  if (prefix) {
24953
- prefix = prefix.replace(">", ` style="${styles}">`);
25174
+ prefix = prefix.replace(">", ` style="${styles2}">`);
24954
25175
  } else {
24955
- prefix = `<span style="${styles}">`;
25176
+ prefix = `<span style="${styles2}">`;
24956
25177
  suffix = "</span>";
24957
25178
  }
24958
25179
  }
@@ -25395,6 +25616,9 @@ var __publicField = (obj, key, value) => {
25395
25616
  __publicField(this, "renders", []);
25396
25617
  this.editor = editor;
25397
25618
  }
25619
+ getRenderers() {
25620
+ return this.renders;
25621
+ }
25398
25622
  registerRender(render) {
25399
25623
  this.renders.push(render);
25400
25624
  }
@@ -25632,8 +25856,8 @@ var __publicField = (obj, key, value) => {
25632
25856
  renderBlock(editor, path, blockData) {
25633
25857
  var _a, _b;
25634
25858
  const attributes = {};
25635
- const styles = Object.entries(blockData).filter((k) => k[0].startsWith("style-"));
25636
- styles.forEach(([key, value]) => {
25859
+ const styles2 = Object.entries(blockData).filter((k) => k[0].startsWith("style-"));
25860
+ styles2.forEach(([key, value]) => {
25637
25861
  attributes[`data-${key}`] = `${value}`;
25638
25862
  });
25639
25863
  const classes = [];
@@ -25840,6 +26064,7 @@ var __publicField = (obj, key, value) => {
25840
26064
  constructor(editor, callbacks) {
25841
26065
  __publicField(this, "editor");
25842
26066
  __publicField(this, "composing", false);
26067
+ __publicField(this, "composingTimer");
25843
26068
  __publicField(this, "callbacks");
25844
26069
  __publicField(this, "inputElement");
25845
26070
  __publicField(this, "handleBlur", () => {
@@ -25899,12 +26124,13 @@ var __publicField = (obj, key, value) => {
25899
26124
  if (!this.editor.isWritable()) {
25900
26125
  return;
25901
26126
  }
26127
+ clearTimeout(this.composingTimer);
25902
26128
  this.composing = true;
25903
26129
  this.callbacks.onCompositionStart(event);
25904
26130
  });
25905
26131
  __publicField(this, "handleCompositionend", (event) => {
25906
26132
  if (isSafari()) {
25907
- setTimeout(() => {
26133
+ this.composingTimer = setTimeout(() => {
25908
26134
  this.composing = false;
25909
26135
  }, 100);
25910
26136
  } else {
@@ -31604,7 +31830,7 @@ ${codeText}
31604
31830
  const logger$38 = getLogger("editor");
31605
31831
  class Editor extends tinyTypedEmitter.TypedEmitter {
31606
31832
  constructor(parent, doc2, optionalOptions) {
31607
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
31833
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
31608
31834
  super();
31609
31835
  __publicField(this, "parent");
31610
31836
  __publicField(this, "rootElement");
@@ -31650,12 +31876,13 @@ ${codeText}
31650
31876
  componentsOptions: (_c = (_b = optionalOptions == null ? void 0 : optionalOptions.components) == null ? void 0 : _b.options) != null ? _c : {},
31651
31877
  scrollContainer: optionalOptions == null ? void 0 : optionalOptions.scrollContainer,
31652
31878
  enableComments: (_d = optionalOptions == null ? void 0 : optionalOptions.enableComments) != null ? _d : true,
31653
- enableContextMenu: (_e = optionalOptions == null ? void 0 : optionalOptions.enableContextMenu) != null ? _e : true
31879
+ enableResolveComments: (_e = optionalOptions == null ? void 0 : optionalOptions.enableResolveComments) != null ? _e : true,
31880
+ enableContextMenu: (_f = optionalOptions == null ? void 0 : optionalOptions.enableContextMenu) != null ? _f : true
31654
31881
  };
31655
- this.settingsProvider = (_f = optionalOptions == null ? void 0 : optionalOptions.settingsProvider) != null ? _f : new DefaultSettingsProvider(this);
31882
+ this.settingsProvider = (_g = optionalOptions == null ? void 0 : optionalOptions.settingsProvider) != null ? _g : new DefaultSettingsProvider(this);
31656
31883
  registerComponents(this, optionalOptions == null ? void 0 : optionalOptions.components);
31657
- this.blockHooks.push(...(_h = (_g = optionalOptions == null ? void 0 : optionalOptions.components) == null ? void 0 : _g.blockHooks) != null ? _h : []);
31658
- this.id = (_i = optionalOptions == null ? void 0 : optionalOptions.id) != null ? _i : genId();
31884
+ this.blockHooks.push(...(_i = (_h = optionalOptions == null ? void 0 : optionalOptions.components) == null ? void 0 : _h.blockHooks) != null ? _i : []);
31885
+ this.id = (_j = optionalOptions == null ? void 0 : optionalOptions.id) != null ? _j : genId();
31659
31886
  this.clientId = genId();
31660
31887
  this.undoManager = new UndoManager(this);
31661
31888
  this.doc = new EditorDoc(this, doc2, this.undoManager);
@@ -32141,6 +32368,9 @@ ${codeText}
32141
32368
  toJSON() {
32142
32369
  return cloneDeep__default.default(this.doc);
32143
32370
  }
32371
+ rawData() {
32372
+ return this.doc;
32373
+ }
32144
32374
  getContainerBlocks(containerId) {
32145
32375
  const blocks = this.doc.blocks[containerId];
32146
32376
  return blocks;
@@ -38661,6 +38891,12 @@ ${codeText}
38661
38891
  commentId
38662
38892
  });
38663
38893
  }
38894
+ onUpdateCommentResolver(commentId) {
38895
+ this.pushActions({
38896
+ type: "updateCommentResolved",
38897
+ commentId
38898
+ });
38899
+ }
38664
38900
  end() {
38665
38901
  const actions2 = this.actions;
38666
38902
  const deletedBlocks = /* @__PURE__ */ new Set();
@@ -38735,6 +38971,9 @@ ${codeText}
38735
38971
  } else if (action.type === "updateComment") {
38736
38972
  const a = action;
38737
38973
  this.outerHandler.onUpdateComment(a.commentId, this.local);
38974
+ } else if (action.type === "updateCommentResolved") {
38975
+ const a = action;
38976
+ this.outerHandler.onUpdateCommentResolver(a.commentId, this.local);
38738
38977
  }
38739
38978
  });
38740
38979
  Array.from(updatingBlockDataDeltaMap.entries()).forEach(([blockId, objectData]) => {
@@ -38912,7 +39151,14 @@ ${codeText}
38912
39151
  assert(logger$2W, commentId, `invalid comment op, no commentId: ${JSON.stringify(ops)}`);
38913
39152
  assert(logger$2W, actions2, `invalid comment op, no actions: ${JSON.stringify(ops)}`);
38914
39153
  if (typeof actions2 === "string") {
38915
- logger$2W.error(`unknown comment op, ${JSON.stringify(ops)}`);
39154
+ const data2 = ops[3];
39155
+ if (actions2 === "resolver" && typeof data2 === "object") {
39156
+ if (parseType === "upsert") {
39157
+ handler.onUpdateCommentResolver(commentId);
39158
+ }
39159
+ } else {
39160
+ logger$2W.error(`unknown comment op, ${JSON.stringify(ops)}`);
39161
+ }
38916
39162
  } else {
38917
39163
  if (actions2.i && actions2.r) {
38918
39164
  if (parseType === "upsert") {
@@ -39022,7 +39268,8 @@ ${codeText}
39022
39268
  avatarUrl,
39023
39269
  abstract,
39024
39270
  created,
39025
- modified
39271
+ modified,
39272
+ resolver: resolved
39026
39273
  } = shareDBComment;
39027
39274
  return {
39028
39275
  id,
@@ -39032,7 +39279,8 @@ ${codeText}
39032
39279
  avatarUrl,
39033
39280
  abstract,
39034
39281
  created,
39035
- modified
39282
+ modified,
39283
+ resolver: resolved
39036
39284
  };
39037
39285
  }
39038
39286
  function commentToShareDbComment(comment, doc2) {
@@ -39504,6 +39752,21 @@ ${codeText}
39504
39752
  const op = ["comments", comment.id, { r: true, i: shareDBComment }];
39505
39753
  return this.submitOp(op);
39506
39754
  }
39755
+ localUpdateCommentResolver(commentId, resolver) {
39756
+ const oldComment = this.getComment(commentId);
39757
+ const oldResolved = oldComment.resolver;
39758
+ const op = ["comments", commentId, "resolver", {}];
39759
+ if (!oldResolved && !resolver) {
39760
+ return Promise.resolve(true);
39761
+ }
39762
+ if (oldResolved !== void 0) {
39763
+ op[3] = { r: true };
39764
+ }
39765
+ if (resolver) {
39766
+ op[3].i = resolver;
39767
+ }
39768
+ return this.submitOp(op);
39769
+ }
39507
39770
  destroy() {
39508
39771
  var _a;
39509
39772
  this.destroyed = true;
@@ -39580,6 +39843,13 @@ ${codeText}
39580
39843
  return (_a = cb.onUpdateComment) == null ? void 0 : _a.call(cb, commentId, local);
39581
39844
  });
39582
39845
  }
39846
+ onUpdateCommentResolver(commentId, local) {
39847
+ assert(logger$2T, this.callbacks.length > 0, "no callbacks");
39848
+ this.callbacks.forEach((cb) => {
39849
+ var _a;
39850
+ return (_a = cb.onUpdateCommentResolver) == null ? void 0 : _a.call(cb, commentId, local);
39851
+ });
39852
+ }
39583
39853
  onCustomMessage(msg) {
39584
39854
  const message = msg;
39585
39855
  if ((message == null ? void 0 : message.type) === "custom" && (message == null ? void 0 : message.clientId) !== this.client.clientId) {
@@ -40411,6 +40681,44 @@ ${codeText}
40411
40681
  loading: "\u52A0\u8F7D\u4E2D..."
40412
40682
  }
40413
40683
  };
40684
+ const zhHK$w = {
40685
+ button: {
40686
+ ok: "\u78BA\u5B9A",
40687
+ cancel: "\u53D6\u6D88",
40688
+ confirm: "\u78BA\u5B9A"
40689
+ },
40690
+ colorPalette: {
40691
+ colorDesc: "\u5B57\u9AD4\u984F\u8272",
40692
+ name: "\u5B57\u9AD4\u984F\u8272",
40693
+ backgroundDesc: "\u80CC\u666F\u984F\u8272",
40694
+ reset: "\u6062\u5FA9\u9ED8\u8A8D",
40695
+ more: "\u66F4\u591A\u984F\u8272"
40696
+ },
40697
+ emojiPalette: {
40698
+ name: "\u66F4\u63DB\u5716\u6A19",
40699
+ search: {
40700
+ placeholder: "\u641C\u7D22"
40701
+ },
40702
+ content: {
40703
+ loading: "\u52A0\u8F09\u4E2D",
40704
+ empty: "\u66AB\u7121\u5339\u914D\u7D50\u679C"
40705
+ },
40706
+ category: {
40707
+ frequentlyUsed: "\u6700\u5E38\u4F7F\u7528",
40708
+ smileysAndPeople: "\u8868\u60C5\u7B26\u865F\u8207\u4EBA\u7269",
40709
+ animalsAndNature: "\u52D5\u7269\u8207\u81EA\u7136",
40710
+ foodAndDrink: "\u98DF\u7269\u8207\u98F2\u6599",
40711
+ activity: "\u6D3B\u52D5",
40712
+ travelAndPlaces: "\u65C5\u884C\u8207\u5730\u9EDE",
40713
+ objects: "\u7269\u9AD4",
40714
+ symbols: "\u7B26\u865F"
40715
+ }
40716
+ },
40717
+ search: {
40718
+ emptyTips: "\u66AB\u7121\u641C\u7D22\u7D50\u679C",
40719
+ loading: "\u52A0\u8F09\u4E2D..."
40720
+ }
40721
+ };
40414
40722
  const enUS$w = {
40415
40723
  button: {
40416
40724
  ok: "OK",
@@ -40489,6 +40797,7 @@ ${codeText}
40489
40797
  };
40490
40798
  i18n$1.mergeLang({
40491
40799
  "zh-CN": zhCN$w,
40800
+ "zh-HK": zhHK$w,
40492
40801
  "en-US": enUS$w,
40493
40802
  "ja-JP": jaJP$w
40494
40803
  });
@@ -40609,6 +40918,7 @@ ${codeText}
40609
40918
  const RefreshIcon = '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M15.3498 7.51663L12.9692 9.49971L10.5902 7.51663" stroke="currentColor"/>\n<path d="M12.811 9.5C12.9344 9.02057 13 8.51795 13 8C13 4.68629 10.3137 2 7 2C3.68629 2 1 4.68629 1 8C1 11.3137 3.68629 14 7 14C8.39546 14 9.67966 13.5236 10.6988 12.7246" stroke="currentColor"/>\n</svg>';
40610
40919
  const HelpIcon = '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M15 8C15 11.8659 11.8659 15 8 15C4.13408 15 1 11.8659 1 8C1 4.13408 4.13408 1 8 1C11.8659 1 15 4.13408 15 8Z" stroke="currentColor"/>\n<path d="M6 6.41815C6 5.81984 6.55057 4.52136 7.98652 4.52136C9.24198 4.52136 10 5.42027 10 6.41815C10 7.24315 9.34611 7.76435 8.89738 8.21308C7.99992 9.11055 7.99992 10.0001 7.99992 10.0001" stroke="currentColor"/>\n<path d="M8 11V13" stroke="currentColor"/>\n</svg>\n';
40611
40920
  const CheckMarkIcon = '<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" stroke-width="2">\n <path d="m1 7.4 1.497-1.498 3.861 3.86L12.85 2.45l1.498 1.497-6.491 7.312.005.007-.096.095-1.318 1.486L1 7.399Z" fill="currentColor" fill-rule="nonzero"></path>\n</svg>';
40921
+ const CircleCheckMarkIcon = '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M10.9825 5.99158L7.19788 10.0128L5.30554 8.12045" stroke="currentColor" stroke-linejoin="round"/>\n<circle cx="8.03119" cy="7.99481" r="4.98883" stroke="currentColor"/>\n</svg>\n';
40612
40922
  const TextIcon = '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M2.5 4L2.5 1.5L13.5 1.5V4" stroke="currentColor" stroke-linejoin="round"/>\n<path d="M8 14.5V2" stroke="currentColor"/>\n<path d="M5 14.5H11" stroke="currentColor" stroke-linejoin="round"/>\n</svg>\n';
40613
40923
  const rightArrow = '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M5.76573 4.17763L9.58809 7.99999L5.76573 11.8209" stroke="currentColor" stroke-width="2"/>\n</svg>\n';
40614
40924
  const BilibiliIcon = '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M11.3909 3.71427H11.8891C12.7699 3.74577 13.5043 4.05144 14.09 4.63244C14.6757 5.21285 14.979 5.94435 15 6.82577V11.1191C14.979 11.9999 14.6757 12.7344 14.09 13.32C13.5043 13.9057 12.7705 14.209 11.8891 14.23H4.11092C3.23008 14.209 2.49567 13.9057 1.91 13.32C1.32433 12.7344 1.021 12.0005 1 11.1191V6.82577C1.021 5.94435 1.32433 5.21285 1.91 4.63244C2.49567 4.05144 3.2295 3.74577 4.11092 3.71427H4.56242L3.87758 3.06094C3.80715 2.99237 3.75151 2.9101 3.71409 2.81921C3.67667 2.72831 3.65826 2.63072 3.66 2.53244C3.66 2.32477 3.73233 2.1486 3.87758 2.00335L3.89333 1.9876C4.04908 1.84235 4.22758 1.77002 4.43 1.77002C4.63242 1.77002 4.81092 1.84235 4.96667 1.9876L6.63092 3.59002C6.67233 3.63144 6.70908 3.67285 6.74 3.71427H9.22908C9.25335 3.66813 9.28486 3.62618 9.32242 3.59002L10.9867 1.9876C11.1424 1.84235 11.3209 1.77002 11.5233 1.77002C11.7258 1.77002 11.9095 1.8581 12.0652 2.00335C12.221 2.1486 12.2933 2.32477 12.2933 2.53244C12.2933 2.73952 12.221 2.91569 12.0757 3.06094L11.3909 3.71427ZM4.11092 5.22335C3.67575 5.23385 3.31 5.38435 3.01425 5.67427C2.71908 5.96477 2.56567 6.33344 2.55575 6.7791V11.1658C2.56567 11.6114 2.71908 11.9795 3.01425 12.27C3.31 12.5605 3.67575 12.711 4.11092 12.7209H11.8891C12.3242 12.711 12.69 12.5605 12.9858 12.27C13.2809 11.9795 13.4343 11.6114 13.4442 11.1658V6.7791C13.4343 6.33285 13.2809 5.96477 12.9858 5.67427C12.69 5.38435 12.3242 5.23385 11.8891 5.22335H4.11092ZM5.66667 7.4791C5.88425 7.4791 6.06567 7.55144 6.21092 7.69669C6.35675 7.84194 6.43433 8.0286 6.44425 8.25669V8.94094C6.43433 9.16902 6.35675 9.35569 6.21092 9.50094C6.06567 9.64677 5.88425 9.7191 5.66667 9.7191C5.44908 9.7191 5.26767 9.64619 5.12242 9.50094C4.97658 9.35569 4.899 9.16902 4.88908 8.94094V8.25669C4.88908 8.0391 4.96433 7.85477 5.11425 7.70427C5.26475 7.55435 5.44908 7.4791 5.66667 7.4791ZM10.3333 7.4791C10.5509 7.4791 10.7323 7.55144 10.8776 7.69669C11.0234 7.84194 11.101 8.0286 11.1109 8.25669V8.94094C11.101 9.16902 11.0234 9.35569 10.8776 9.50094C10.7323 9.64677 10.5509 9.7191 10.3333 9.7191C10.1157 9.7191 9.93433 9.64619 9.78908 9.50094C9.64325 9.35569 9.56567 9.16902 9.55575 8.94094V8.25669C9.56567 8.0286 9.64325 7.84194 9.78908 7.69669C9.93433 7.55144 10.1157 7.4791 10.3333 7.4791Z" fill="#07A3D7"/>\n</svg>\n';
@@ -40764,6 +41074,7 @@ ${codeText}
40764
41074
  RefreshIcon,
40765
41075
  HelpIcon,
40766
41076
  CheckMarkIcon,
41077
+ CircleCheckMarkIcon,
40767
41078
  TextIcon,
40768
41079
  RightArrowIcon: rightArrow,
40769
41080
  TencentVideoIcon,
@@ -48624,6 +48935,12 @@ ${codeText}
48624
48935
  addComment: "\u6DFB\u52A0\u6279\u6CE8"
48625
48936
  }
48626
48937
  };
48938
+ const zhHK$v = {
48939
+ embedProperties: {
48940
+ edit: "\u7DE8\u8F2F",
48941
+ addComment: "\u6DFB\u52A0\u6279\u8A3B"
48942
+ }
48943
+ };
48627
48944
  const enUS$v = {
48628
48945
  embedProperties: {
48629
48946
  edit: "Edit",
@@ -48638,6 +48955,7 @@ ${codeText}
48638
48955
  };
48639
48956
  i18n$1.mergeLang({
48640
48957
  "zh-CN": zhCN$v,
48958
+ "zh-HK": zhHK$v,
48641
48959
  "en-US": enUS$v,
48642
48960
  "ja-JP": jaJP$v
48643
48961
  });
@@ -49217,6 +49535,12 @@ ${codeText}
49217
49535
  fallbackAbstract: "\u8BE5 Block"
49218
49536
  }
49219
49537
  };
49538
+ const zhHK$u = {
49539
+ exclusive: {
49540
+ tips: "\u300C{editor}\u300D\u6B63\u5728\u7DE8\u8F2F\uFF0C\u300C{embedType}\u300D\u4E0D\u652F\u6301\u591A\u4EBA\u7DE8\u8F2F",
49541
+ fallbackAbstract: "\u8A72 Block"
49542
+ }
49543
+ };
49220
49544
  const enUS$u = {
49221
49545
  exclusive: {
49222
49546
  tips: "\u300C{editor}\u300Dis editing\uFF0C\u300C{embedType}\u300Ddoes not support multi-person editing",
@@ -49231,6 +49555,7 @@ ${codeText}
49231
49555
  };
49232
49556
  i18n$1.mergeLang({
49233
49557
  "zh-CN": zhCN$u,
49558
+ "zh-HK": zhHK$u,
49234
49559
  "en-US": enUS$u,
49235
49560
  "ja-JP": jaJP$u
49236
49561
  });
@@ -49416,6 +49741,13 @@ ${codeText}
49416
49741
  lockedBy: "\u88AB {name} \u9501\u5B9A"
49417
49742
  }
49418
49743
  };
49744
+ const zhHK$t = {
49745
+ locker: {
49746
+ lock: "\u9396\u5B9A",
49747
+ unlock: "\u89E3\u9664\u9396\u5B9A",
49748
+ lockedBy: "\u88AB {name} \u9396\u5B9A"
49749
+ }
49750
+ };
49419
49751
  const enUS$t = {
49420
49752
  locker: {
49421
49753
  lock: "Lock",
@@ -49432,6 +49764,7 @@ ${codeText}
49432
49764
  };
49433
49765
  i18n$1.mergeLang({
49434
49766
  "zh-CN": zhCN$t,
49767
+ "zh-HK": zhHK$t,
49435
49768
  "en-US": enUS$t,
49436
49769
  "ja-JP": jaJP$t
49437
49770
  });
@@ -50551,7 +50884,7 @@ ${codeText}
50551
50884
  });
50552
50885
  return !!ret;
50553
50886
  }
50554
- function addBlockClasses(from, to, styles) {
50887
+ function addBlockClasses(from, to, styles2) {
50555
50888
  const container = getParentContainer(from);
50556
50889
  if (to) {
50557
50890
  const container2 = getParentContainer(to);
@@ -50562,18 +50895,18 @@ ${codeText}
50562
50895
  const toIndex = getBlockIndex(to);
50563
50896
  assert(logger$24, fromIndex <= toIndex, "invalid block index");
50564
50897
  }
50565
- addClass(from, ...styles);
50898
+ addClass(from, ...styles2);
50566
50899
  if (!to || to === from) {
50567
50900
  return;
50568
50901
  }
50569
50902
  let next2 = getNextBlock(from);
50570
50903
  while (next2 !== to) {
50571
50904
  assert(logger$24, next2, "no next button");
50572
- addClass(next2, ...styles);
50905
+ addClass(next2, ...styles2);
50573
50906
  next2 = getNextBlock(next2);
50574
50907
  }
50575
50908
  if (next2) {
50576
- addClass(next2, ...styles);
50909
+ addClass(next2, ...styles2);
50577
50910
  }
50578
50911
  }
50579
50912
  async function requestMindmapFullscreen(editor, block, mindmapTools) {
@@ -51561,7 +51894,7 @@ ${codeText}
51561
51894
  html = `<input type="checkbox" disabled="disabled" /> ${html}`;
51562
51895
  }
51563
51896
  let listTag = "ul";
51564
- let styles = "";
51897
+ let styles2 = "";
51565
51898
  if (list2.ordered) {
51566
51899
  html = `<li value="${list2.start}">${html}</li>`;
51567
51900
  listTag = "ol";
@@ -51569,18 +51902,18 @@ ${codeText}
51569
51902
  case 2:
51570
51903
  case 5:
51571
51904
  case 8:
51572
- styles = "list-style-type: lower-alpha;";
51905
+ styles2 = "list-style-type: lower-alpha;";
51573
51906
  break;
51574
51907
  case 3:
51575
51908
  case 6:
51576
- styles = "list-style-type: lower-roman;";
51909
+ styles2 = "list-style-type: lower-roman;";
51577
51910
  break;
51578
51911
  }
51579
51912
  } else {
51580
51913
  html = `<li>${html}</li>`;
51581
51914
  }
51582
51915
  if (isFirstListItem(editor, blockData, doc2, path)) {
51583
- html = `<${listTag}${styles ? ` style="${styles}"` : ""}>${html}`;
51916
+ html = `<${listTag}${styles2 ? ` style="${styles2}"` : ""}>${html}`;
51584
51917
  }
51585
51918
  if (isLastListItem(editor, blockData, doc2, path)) {
51586
51919
  html = `${html}</${listTag}>`;
@@ -52416,6 +52749,26 @@ ${codeText}
52416
52749
  exitFullscreen: "\u9000\u51FA\u5168\u5C4F"
52417
52750
  }
52418
52751
  };
52752
+ const zhHK$s = {
52753
+ list: {
52754
+ confirm: "\u78BA\u5B9A",
52755
+ setStart: "\u8A2D\u7F6E\u7DE8\u865F",
52756
+ continueList: "\u7E7C\u7E8C\u7DE8\u865F",
52757
+ restartList: "\u958B\u59CB\u65B0\u5217\u8868",
52758
+ changeNumber: "\u4FEE\u6539\u7DE8\u865F\u503C",
52759
+ numberLabel: "\u7DE8\u865F\u9806\u5E8F",
52760
+ mention: {
52761
+ tooltip: "\u63D0\u53CA\u4EBA\u54E1\u4E26\u901A\u77E5"
52762
+ }
52763
+ },
52764
+ mindmap: {
52765
+ viewAsMindMap: "\u986F\u793A\u70BA\u8166\u5716",
52766
+ autoFit: "\u81EA\u52D5\u7E2E\u653E",
52767
+ fullScreen: "\u5168\u5C4F\u67E5\u770B",
52768
+ close: "\u95DC\u9589",
52769
+ exitFullscreen: "\u9000\u51FA\u5168\u5C4F"
52770
+ }
52771
+ };
52419
52772
  const enUS$s = {
52420
52773
  list: {
52421
52774
  confirm: "Confirm",
@@ -52458,6 +52811,7 @@ ${codeText}
52458
52811
  };
52459
52812
  i18n$1.mergeLang({
52460
52813
  "zh-CN": zhCN$s,
52814
+ "zh-HK": zhHK$s,
52461
52815
  "en-US": enUS$s,
52462
52816
  "ja-JP": jaJP$s
52463
52817
  });
@@ -54946,6 +55300,12 @@ $$${mathData.mathjaxText}$$
54946
55300
  abstract: "\u516C\u5F0F"
54947
55301
  }
54948
55302
  };
55303
+ const zhHK$r = {
55304
+ mathjax: {
55305
+ emptyText: "\u7A7A\u7684\u516C\u5F0F",
55306
+ abstract: "\u516C\u5F0F"
55307
+ }
55308
+ };
54949
55309
  const enUS$r = {
54950
55310
  mathjax: {
54951
55311
  emptyText: "Empty formula",
@@ -54960,6 +55320,7 @@ $$${mathData.mathjaxText}$$
54960
55320
  };
54961
55321
  i18n$1.mergeLang({
54962
55322
  "zh-CN": zhCN$r,
55323
+ "zh-HK": zhHK$r,
54963
55324
  "en-US": enUS$r,
54964
55325
  "ja-JP": jaJP$r
54965
55326
  });
@@ -60743,6 +61104,30 @@ $$${mathData.mathjaxText}$$
60743
61104
  }
60744
61105
  }
60745
61106
  };
61107
+ const zhHK$q = {
61108
+ status: {
61109
+ empty: "\u8A2D\u7F6E\u72C0\u614B",
61110
+ command: {
61111
+ name: "\u72C0\u614B"
61112
+ },
61113
+ color: {
61114
+ red: "\u7D05\u8272",
61115
+ yellow: "\u9EC3\u8272",
61116
+ green: "\u7DA0\u8272",
61117
+ blue: "\u85CD\u8272",
61118
+ purple: "\u7D2B\u8272",
61119
+ grey: "\u7070\u8272"
61120
+ },
61121
+ colorDefaultTitle: {
61122
+ red: "\u5DF2\u5EF6\u671F",
61123
+ yellow: "\u9032\u884C\u4E2D",
61124
+ green: "\u5DF2\u5B8C\u6210",
61125
+ blue: "\u672A\u958B\u59CB",
61126
+ purple: "\u5F85\u78BA\u8A8D",
61127
+ grey: "\u5DF2\u66AB\u505C"
61128
+ }
61129
+ }
61130
+ };
60746
61131
  const jaJP$q = {
60747
61132
  status: {
60748
61133
  empty: "\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u8A2D\u5B9A",
@@ -60770,6 +61155,7 @@ $$${mathData.mathjaxText}$$
60770
61155
  const langs$2 = {
60771
61156
  "en-US": enUS$q,
60772
61157
  "zh-CN": zhCN$q,
61158
+ "zh-HK": zhHK$q,
60773
61159
  "ja-JP": jaJP$q
60774
61160
  };
60775
61161
  i18n$1.mergeLang(langs$2);
@@ -61880,6 +62266,65 @@ $$${mathData.mathjaxText}$$
61880
62266
  selectBlock: "\u9009\u62E9\u533A\u5757"
61881
62267
  }
61882
62268
  };
62269
+ const zhHK$p = {
62270
+ quickMenu: {
62271
+ basic: {
62272
+ heading: {
62273
+ title: "\u6A19\u984C {heading}",
62274
+ space: "{markdown}\u7A7A\u683C"
62275
+ },
62276
+ unordered: "\u7121\u5E8F\u5217\u8868",
62277
+ ordered: "\u6709\u5E8F\u5217\u8868",
62278
+ checkbox: "\u5F85\u8FA6\u5217\u8868",
62279
+ quote: "\u5F15\u7528"
62280
+ },
62281
+ inlineBox: {
62282
+ math: "\u516C\u5F0F",
62283
+ link: "\u9023\u7D50",
62284
+ emoji: "\u8868\u60C5"
62285
+ }
62286
+ },
62287
+ link: {
62288
+ textLabel: "\u6587\u672C",
62289
+ urlLabel: "\u9023\u7D50\u5730\u5740",
62290
+ textPlaceholder: "\u8ACB\u8F38\u5165\u6587\u672C",
62291
+ urlPlaceholder: "\u8ACB\u8F38\u5165\u9023\u7D50\u5730\u5740",
62292
+ mobileTextPlaceholder: "\u8ACB\u8F38\u5165\u6587\u672C",
62293
+ mobileUrlPlaceholder: "\u8ACB\u8F38\u5165\u9023\u7D50\u5730\u5740",
62294
+ submitText: "\u78BA\u5B9A",
62295
+ cancelText: "\u53D6\u6D88",
62296
+ edit: "\u7DE8\u8F2F",
62297
+ remove: "\u53D6\u6D88\u9023\u7D50",
62298
+ title: "\u63D2\u5165\u9023\u7D50",
62299
+ openLink: "\u6253\u958B\u9023\u7D50"
62300
+ },
62301
+ commands: {
62302
+ unordered: "\u7121\u5E8F\u5217\u8868",
62303
+ ordered: "\u6709\u5E8F\u5217\u8868",
62304
+ check: "\u5F85\u8FA6\u5217\u8868",
62305
+ link: "\u9023\u7D50",
62306
+ quote: "\u5F15\u7528",
62307
+ alignLeft: "\u5DE6\u5C0D\u9F4A",
62308
+ alignRight: "\u53F3\u5C0D\u9F4A",
62309
+ alignCenter: "\u5C45\u4E2D\u5C0D\u9F4A",
62310
+ alignGroup: "\u5C0D\u9F4A\u65B9\u5F0F",
62311
+ heading: "\u6A19\u984C {name}",
62312
+ headingGroup: "\u6A19\u984C\u6A23\u5F0F",
62313
+ text: "\u6B63\u6587",
62314
+ paste: "\u7C98\u8CBC",
62315
+ tab: "Tab",
62316
+ shiftTab: "Shift+Tab",
62317
+ bold: "\u7C97\u9AD4",
62318
+ italic: "\u659C\u9AD4",
62319
+ underline: "\u4E0B\u5283\u7DDA",
62320
+ strikethrough: "\u522A\u9664\u7DDA",
62321
+ code: "\u884C\u5167\u4EE3\u78BC",
62322
+ subscript: "\u4E0B\u6A19",
62323
+ superscript: "\u4E0A\u6A19",
62324
+ more: "\u66F4\u591A",
62325
+ selectBlock: "\u9078\u64C7\u5340\u584A"
62326
+ }
62327
+ };
61883
62328
  const enUS$p = {
61884
62329
  quickMenu: {
61885
62330
  basic: {
@@ -62000,6 +62445,7 @@ $$${mathData.mathjaxText}$$
62000
62445
  };
62001
62446
  i18n$1.mergeLang({
62002
62447
  "zh-CN": zhCN$p,
62448
+ "zh-HK": zhHK$p,
62003
62449
  "en-US": enUS$p,
62004
62450
  "ja-JP": jaJP$p
62005
62451
  });
@@ -62396,13 +62842,13 @@ $$${mathData.mathjaxText}$$
62396
62842
  if (!op.attributes) {
62397
62843
  return /* @__PURE__ */ new Map();
62398
62844
  }
62399
- const styles = Object.entries(op.attributes).filter(([key]) => {
62845
+ const styles2 = Object.entries(op.attributes).filter(([key]) => {
62400
62846
  if (key.startsWith("style-")) {
62401
62847
  return true;
62402
62848
  }
62403
62849
  return false;
62404
62850
  });
62405
- return new Map(styles);
62851
+ return new Map(styles2);
62406
62852
  };
62407
62853
  if (text2.length === 0) {
62408
62854
  return /* @__PURE__ */ new Map();
@@ -62446,11 +62892,11 @@ $$${mathData.mathjaxText}$$
62446
62892
  if (getTextLength(text2) === 0) {
62447
62893
  return textStyles;
62448
62894
  }
62449
- let styles = getIntersectionStyles(text2);
62450
- styles = mergeActiveStyle(editor, styles);
62895
+ let styles2 = getIntersectionStyles(text2);
62896
+ styles2 = mergeActiveStyle(editor, styles2);
62451
62897
  function getTextStyle(item) {
62452
62898
  const { id, icon, desc, name } = item;
62453
- const value = styles.get(id);
62899
+ const value = styles2.get(id);
62454
62900
  if (value !== void 0) {
62455
62901
  return {
62456
62902
  id,
@@ -63046,6 +63492,7 @@ $$${mathData.mathjaxText}$$
63046
63492
  GroupItemActions2["QuickReply"] = "quick-reply";
63047
63493
  GroupItemActions2["QuickReplyOk"] = "quick-reply-ok";
63048
63494
  GroupItemActions2["QuickReplyCancel"] = "quick-reply-cancel";
63495
+ GroupItemActions2["Resolve"] = "resolve";
63049
63496
  return GroupItemActions2;
63050
63497
  })(GroupItemActions || {});
63051
63498
  const GROUP_ITEM_ACTION_MARK = "group-item-action";
@@ -63093,7 +63540,7 @@ $$${mathData.mathjaxText}$$
63093
63540
  return attributes.filter((attribute) => attribute.startsWith("comment-")).map((attribute) => attribute.replace("comment-", ""));
63094
63541
  }
63095
63542
  const logger$1G = getLogger("doc-comments");
63096
- function addBlockComments(doc2, block, result, resultSet) {
63543
+ function addBlockComments$1(doc2, block, result, resultSet) {
63097
63544
  if (block.comments) {
63098
63545
  const blockComments = block.comments;
63099
63546
  if (Array.isArray(blockComments)) {
@@ -63129,7 +63576,7 @@ $$${mathData.mathjaxText}$$
63129
63576
  children.forEach((childContainerId) => {
63130
63577
  const childBlocks = doc2.blocks[childContainerId];
63131
63578
  childBlocks.forEach((subBlock) => {
63132
- addBlockComments(doc2, subBlock, result, resultSet);
63579
+ addBlockComments$1(doc2, subBlock, result, resultSet);
63133
63580
  });
63134
63581
  });
63135
63582
  }
@@ -63137,7 +63584,7 @@ $$${mathData.mathjaxText}$$
63137
63584
  const result = [];
63138
63585
  const resultSet = /* @__PURE__ */ new Set();
63139
63586
  doc2.blocks.root.forEach((block) => {
63140
- addBlockComments(doc2, block, result, resultSet);
63587
+ addBlockComments$1(doc2, block, result, resultSet);
63141
63588
  });
63142
63589
  const resultMap = /* @__PURE__ */ new Map();
63143
63590
  result.forEach((commentId, index2) => resultMap.set(commentId, index2));
@@ -63193,6 +63640,26 @@ $$${mathData.mathjaxText}$$
63193
63640
  });
63194
63641
  return result;
63195
63642
  }
63643
+ function getUnresolvedCommentsGroupFromDoc(editor, commentsProvider) {
63644
+ return getCommentsGroupFromDoc(editor, commentsProvider).filter((group) => !group.resolver);
63645
+ }
63646
+ function getResolvedCommentsGroupFromDoc(editor, commentsProvider) {
63647
+ const doc2 = editor.doc.toJSON();
63648
+ const commentsMap = getCommentsFromDoc(doc2);
63649
+ const commentGroup = getCommentsGroup(commentsProvider.getComments());
63650
+ const result = commentGroup.filter((group) => group.resolver).sort((group1, group2) => {
63651
+ var _a, _b, _c, _d;
63652
+ const date1 = (_b = (_a = group1.resolver) == null ? void 0 : _a.date) != null ? _b : 0;
63653
+ const date2 = (_d = (_c = group2.resolver) == null ? void 0 : _c.date) != null ? _d : 0;
63654
+ return date2 - date1;
63655
+ });
63656
+ result.forEach((group) => {
63657
+ if (!commentsMap.has(group.groupId)) {
63658
+ group.removedFromDoc = true;
63659
+ }
63660
+ });
63661
+ return result;
63662
+ }
63196
63663
  function flattenCommentGroup(comment) {
63197
63664
  const { children, ...raw } = comment;
63198
63665
  const comments = [raw];
@@ -63202,9 +63669,12 @@ $$${mathData.mathjaxText}$$
63202
63669
  return comments;
63203
63670
  }
63204
63671
  function getCommentsCountInDoc(editor, commentsProvider) {
63205
- const commentGroups = getCommentsGroupFromDoc(editor, commentsProvider);
63206
- const count = commentGroups.length;
63207
- return count;
63672
+ const unresolved = getUnresolvedCommentsGroupFromDoc(editor, commentsProvider).length;
63673
+ const commentsGroup = getCommentsGroup(commentsProvider.getComments());
63674
+ const resolved = commentsGroup.filter((group) => group.resolver).length;
63675
+ const total = unresolved + resolved;
63676
+ logger$1G.debug(`total comments: ${total}, unresolved: ${unresolved}, resolved: ${resolved}`);
63677
+ return total;
63208
63678
  }
63209
63679
  function getCommentsFromPos(editor, pos) {
63210
63680
  const commentIds = [];
@@ -63249,6 +63719,24 @@ $$${mathData.mathjaxText}$$
63249
63719
  const commentIds = intersection__default.default(comments1, comments2);
63250
63720
  return commentIds;
63251
63721
  }
63722
+ function removeUnresolvedComments(commentProvider, commentIds) {
63723
+ return commentIds.filter((commentId) => {
63724
+ const comment = commentProvider.getComment(commentId);
63725
+ if (!comment) {
63726
+ return false;
63727
+ }
63728
+ return !!comment.resolver;
63729
+ });
63730
+ }
63731
+ function removeResolvedComments(commentProvider, commentIds) {
63732
+ return commentIds.filter((commentId) => {
63733
+ const comment = commentProvider.getComment(commentId);
63734
+ if (!comment) {
63735
+ return false;
63736
+ }
63737
+ return !(comment == null ? void 0 : comment.resolver);
63738
+ });
63739
+ }
63252
63740
  const logger$1F = getLogger("active-comments");
63253
63741
  function inactiveComment(editor, commentId) {
63254
63742
  const activeCommentElements = editor.rootContainer.querySelectorAll(`span.comment[comment-${commentId}],[data-type=editor-block].comment[comment-${commentId}]`);
@@ -63304,6 +63792,11 @@ $$${mathData.mathjaxText}$$
63304
63792
  }
63305
63793
  }
63306
63794
  }
63795
+ function getElementsByCommentId(editor, commentId) {
63796
+ const lowerCommentId = commentId.toLocaleLowerCase();
63797
+ const elements = editor.rootContainer.querySelectorAll(`span.comment[comment-${lowerCommentId}],[data-type=editor-block].comment[comment-${lowerCommentId}]`);
63798
+ return Array.from(elements);
63799
+ }
63307
63800
  function isImageBlock(block) {
63308
63801
  return getBlockType(block) === "embed" && getEmbedType(block) === "image";
63309
63802
  }
@@ -65661,6 +66154,18 @@ ${codeText}
65661
66154
  plainText: "Plain Text"
65662
66155
  }
65663
66156
  };
66157
+ const zhHK$o = {
66158
+ code: {
66159
+ title: "\u4EE3\u78BC",
66160
+ abstract: "\u4EE3\u78BC",
66161
+ wrap: "\u63DB\u884C",
66162
+ copy: "\u8907\u88FD",
66163
+ caption: "\u8AAC\u660E",
66164
+ search: "\u8F38\u5165\u95DC\u9375\u8A5E\u641C\u7D22",
66165
+ copySuccess: "\u8907\u88FD\u6210\u529F",
66166
+ plainText: "Plain Text"
66167
+ }
66168
+ };
65664
66169
  const enUS$o = {
65665
66170
  code: {
65666
66171
  title: "Code",
@@ -65687,6 +66192,7 @@ ${codeText}
65687
66192
  };
65688
66193
  i18n$1.mergeLang({
65689
66194
  "zh-CN": zhCN$o,
66195
+ "zh-HK": zhHK$o,
65690
66196
  "en-US": enUS$o,
65691
66197
  "ja-JP": jaJP$o
65692
66198
  });
@@ -66106,6 +66612,18 @@ ${codeText}
66106
66612
  mobileDefault: "\u8F93\u5165\u4EE5\u6DFB\u52A0\u5185\u5BB9"
66107
66613
  }
66108
66614
  };
66615
+ const zhHK$n = {
66616
+ placeholder: {
66617
+ default: "\u8F38\u5165\u300C/\u300D\u5FEB\u901F\u63D2\u5165",
66618
+ heading: "\u6A19\u984C{heading}",
66619
+ list: "\u5217\u8868",
66620
+ mention: "\u5FEB\u901F\u5206\u914D\u4EFB\u52D9\uFF0C@\u63D0\u53CA\u81EA\u5DF1\u6216\u4ED6\u4EBA",
66621
+ mobileMention: "\u5FEB\u901F\u5206\u914D\u4EFB\u52D9\uFF0C@\u63D0\u53CA\u81EA\u5DF1\u6216\u4ED6\u4EBA",
66622
+ quote: "\u5F15\u7528",
66623
+ title: "\u8ACB\u8F38\u5165\u6587\u6A94\u6A19\u984C",
66624
+ mobileDefault: "\u8F38\u5165\u4EE5\u6DFB\u52A0\u5167\u5BB9"
66625
+ }
66626
+ };
66109
66627
  const jaJP$n = {
66110
66628
  placeholder: {
66111
66629
  default: "\u300C/\u300D\u3092\u5165\u529B\u3057\u3066\u7D20\u65E9\u304F\u633F\u5165\u3059\u308B",
@@ -66121,6 +66639,7 @@ ${codeText}
66121
66639
  const langs$1 = {
66122
66640
  "en-US": enUS$n,
66123
66641
  "zh-CN": zhCN$n,
66642
+ "zh-HK": zhHK$n,
66124
66643
  "ja-JP": jaJP$n
66125
66644
  };
66126
66645
  i18n$1.mergeLang(langs$1);
@@ -66877,6 +67396,30 @@ ${codeText}
66877
67396
  }
66878
67397
  }
66879
67398
  };
67399
+ const zhHK$m = {
67400
+ blockMenu: {
67401
+ section: {
67402
+ basics: "\u57FA\u790E",
67403
+ system: "\u7CFB\u7D71",
67404
+ styles: "\u6A23\u5F0F",
67405
+ common: "\u901A\u7528",
67406
+ actions: "\u64CD\u4F5C",
67407
+ thirdParty: "\u7B2C\u4E09\u65B9\u5167\u5BB9"
67408
+ },
67409
+ command: {
67410
+ insertAbove: "\u5728\u4E0A\u65B9\u63D2\u5165",
67411
+ insertAfter: "\u5728\u4E0B\u65B9\u63D2\u5165",
67412
+ copy: "\u8907\u88FD",
67413
+ cut: "\u526A\u5207",
67414
+ delete: "\u522A\u9664"
67415
+ },
67416
+ button: {
67417
+ searchPlaceholder: "\u8F38\u5165\u95DC\u9375\u8A5E\u641C\u7D22",
67418
+ tips: "\u9577\u6309\u62D6\u62FD \n \u9EDE\u64CA\u6253\u958B\u83DC\u55AE",
67419
+ insertTips: "\u9EDE\u64CA\u6DFB\u52A0\u5340\u584A"
67420
+ }
67421
+ }
67422
+ };
66880
67423
  const enUS$m = {
66881
67424
  blockMenu: {
66882
67425
  section: {
@@ -66927,6 +67470,7 @@ ${codeText}
66927
67470
  };
66928
67471
  i18n$1.mergeLang({
66929
67472
  "zh-CN": zhCN$m,
67473
+ "zh-HK": zhHK$m,
66930
67474
  "en-US": enUS$m,
66931
67475
  "ja-JP": jaJP$m
66932
67476
  });
@@ -67912,6 +68456,22 @@ ${codeText}
67912
68456
  abstract: "\u56FE\u7247"
67913
68457
  }
67914
68458
  };
68459
+ const zhHK$l = {
68460
+ image: {
68461
+ title: "\u5716\u7247",
68462
+ upload: {
68463
+ failed: '<div class="line-1">\u5716\u7247\u4E0A\u50B3\u5931\u6557</div><div class="line-2">\u7DB2\u7D61\u670D\u52D9\u7570\u5E38\uFF0C\u4F60\u53EF\u4EE5 <a href="" class="retry-upload">\u91CD\u8A66</a></div>'
68464
+ },
68465
+ load: {
68466
+ failed: '<div class="line-1">\u5716\u7247\u52A0\u8F09\u5931\u6557</div><div class="line-2">\u7DB2\u7D61\u670D\u52D9\u7570\u5E38\uFF0C\u4F60\u53EF\u4EE5 <a href="" class="retry-upload">\u91CD\u8A66</a></div>',
68467
+ remote: {
68468
+ failed: '<div class="line-1">\u5716\u7247\u52A0\u8F09\u5931\u6557</div><div class="line-2">\u8A72\u5716\u7247\u4F86\u81EA\u5916\u90E8\u9023\u7D50\uFF0C\u5916\u90E8\u9023\u7D50\u5DF2\u5931\u6548</div><div class="line-3">\u8ACB\u5C07\u539F\u5716\u4FDD\u5B58\u5230\u672C\u5730\u5F8C\u4E0A\u50B3\uFF0C <a href="" class="retry-upload">\u6253\u958B\u5716\u7247\u9023\u7D50</a></div>',
68469
+ tooltip: "\u8A72\u5716\u7247\u4F86\u81EA\u5916\u90E8\u9023\u7D50\uFF0C\u5982\u679C\u9023\u7D50\u5931\u6548\u5716\u7247\u5C07\u7121\u6CD5\u67E5\u770B\uFF0C\u5EFA\u8B70\u4FDD\u5B58\u5230\u672C\u5730\u5F8C\u6DFB\u52A0\u5230\u9801\u9762\u4E2D"
68470
+ }
68471
+ },
68472
+ abstract: "\u5716\u7247"
68473
+ }
68474
+ };
67915
68475
  const enUS$l = {
67916
68476
  image: {
67917
68477
  title: "Image",
@@ -67946,6 +68506,7 @@ ${codeText}
67946
68506
  };
67947
68507
  i18n$1.mergeLang({
67948
68508
  "zh-CN": zhCN$l,
68509
+ "zh-HK": zhHK$l,
67949
68510
  "en-US": enUS$l,
67950
68511
  "ja-JP": jaJP$l
67951
68512
  });
@@ -68835,6 +69396,9 @@ ${codeText}
68835
69396
  okButton.disabled = false;
68836
69397
  }
68837
69398
  });
69399
+ __publicField(this, "handleClickLink", (editor, event, link2) => {
69400
+ this.options.mainEditor.emit("clickLink", editor, event, link2);
69401
+ });
68838
69402
  __publicField(this, "getCommentEditor", () => this.components.commentEditor);
68839
69403
  __publicField(this, "handleReadonlyChanged", (editor) => {
68840
69404
  if (editor.readonly) {
@@ -68905,6 +69469,7 @@ ${codeText}
68905
69469
  const commentEditor = new CommentEditor(editor, commentsProvider, this.doc);
68906
69470
  commentEditor.editor.addListener("readonlyChanged", this.handleEditorReadonlyChange);
68907
69471
  commentEditor.editor.addListener("docChanged", this.handleDocChanged);
69472
+ commentEditor.editor.addListener("clickLink", this.handleClickLink);
68908
69473
  commentEditor.editor.addListener("focus", this.handleFocus);
68909
69474
  commentEditor.editor.input.addHandler(new CommentEditorInputHandler(commentsProvider, groupItem, this));
68910
69475
  commentEditorContainer.append(commentEditor.root);
@@ -69036,8 +69601,9 @@ ${codeText}
69036
69601
  return items;
69037
69602
  }
69038
69603
  reloadList(data2) {
69604
+ this._items.forEach((item) => item.destroy());
69039
69605
  this.container.innerHTML = "";
69040
- this.createList(data2);
69606
+ this._items = this.createList(data2);
69041
69607
  }
69042
69608
  insertItem(data2) {
69043
69609
  const index2 = this.findInsertPos(data2);
@@ -69110,8 +69676,8 @@ ${codeText}
69110
69676
  });
69111
69677
  }
69112
69678
  }
69113
- const switchUpIcon = '<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M2.00218 11.0005L8.00341 4.99923L14.0046 11.0005" stroke="currentColor" fill="transparent" stroke-width="1.5" stroke-linejoin="bevel"/>\n</svg>';
69114
- const switchDownIcon = '<svg width="17" height="16" viewBox="0 0 17 16" xmlns="http://www.w3.org/2000/svg">\n<path d="M14.0029 4.99933L8.00172 11.0006L2.00049 4.99933" stroke="currentColor" fill="transparent" stroke-width="1.5" stroke-linejoin="bevel"/>\n</svg>';
69679
+ const switchUpIcon = '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M4.17757 10.2343L7.99993 6.41191L11.8208 10.2343" stroke="currentColor"/>\n</svg>\n';
69680
+ const switchDownIcon = '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M4.17757 5.76573L7.99993 9.58809L11.8208 5.76573" stroke="currentColor"/>\n</svg>\n';
69115
69681
  const index$8 = "";
69116
69682
  const REPLY_EDITOR_EDITING_CLS = "reply-editor-editing";
69117
69683
  const { t: t$3 } = i18n$1;
@@ -69234,6 +69800,9 @@ ${codeText}
69234
69800
  __publicField(this, "quickReply");
69235
69801
  __publicField(this, "createRoot", () => {
69236
69802
  const root2 = createElement("div", ["comment-group-item-root"], null);
69803
+ if (this.comment.resolver) {
69804
+ addClass(root2, "resolved");
69805
+ }
69237
69806
  return root2;
69238
69807
  });
69239
69808
  __publicField(this, "createChildrenList", () => {
@@ -69290,6 +69859,7 @@ ${codeText}
69290
69859
  this.mainItem = this.createItem();
69291
69860
  this.childrenList = this.createChildrenList();
69292
69861
  this.quickReply = this.createQuickReply();
69862
+ this.createFooter();
69293
69863
  this.editor.on("readonlyChanged", this.handleReadonlyChanged);
69294
69864
  this.resizeObserver = new index$g(this.handleResize);
69295
69865
  this.resizeObserver.observe(this.root);
@@ -69299,9 +69869,49 @@ ${codeText}
69299
69869
  const count = getCommentItemCountInGroupItem(this.root);
69300
69870
  return count;
69301
69871
  }
69872
+ createFooter() {
69873
+ if (!this.comment.resolver) {
69874
+ return null;
69875
+ }
69876
+ const footer = createElement("div", ["comment-item-footer"], this.root);
69877
+ const resolved = createElement("span", ["comment-resolved"], footer);
69878
+ const date = new Date(this.comment.modified);
69879
+ const resolver = this.comment.resolver;
69880
+ assert(logger$1h, resolver, "resolver should not be null");
69881
+ const text2 = i18n$1.t("comment.resolvedBy", { name: resolver.displayName, date: fromNowString(date) });
69882
+ resolved.innerText = text2;
69883
+ const actions2 = createElement("div", ["comment-actions"], footer);
69884
+ createElement("span", ["comment-date"], actions2, fromNowString(new Date(resolver.date)));
69885
+ if (this.comment.removedFromDoc) {
69886
+ createElement("span", ["removed-tips"], actions2, i18n$1.t("comment.removedFromDoc"));
69887
+ } else {
69888
+ const reopen = createElement("button", ["comment-reopen"], actions2, i18n$1.t("comment.reopen"));
69889
+ reopen.onclick = () => {
69890
+ const editor = this.editor;
69891
+ const doc2 = editor.doc.toJSON();
69892
+ const commentsMap = getCommentsFromDoc(doc2);
69893
+ if (!commentsMap.has(this.comment.groupId)) {
69894
+ showToast(i18n$1.t("comment.commentHasAlreadyRemoved"), {
69895
+ position: {
69896
+ y: 30,
69897
+ x: window.innerWidth / 2
69898
+ },
69899
+ theme: "warn"
69900
+ });
69901
+ return;
69902
+ }
69903
+ this.commentsProvider.localUpdateCommentResolver(this.comment.id, void 0);
69904
+ };
69905
+ }
69906
+ return footer;
69907
+ }
69302
69908
  createQuickReply() {
69303
69909
  const { editor, commentsProvider, comment } = this;
69304
69910
  const commentQuickReply = new CommentQuickReply(editor, commentsProvider, comment, this);
69911
+ const commentOptions = this.editor.getComponentOptions("comment");
69912
+ if (commentOptions == null ? void 0 : commentOptions.disableReply) {
69913
+ commentQuickReply.root.classList.add("hidden");
69914
+ }
69305
69915
  this.root.append(commentQuickReply.root);
69306
69916
  return commentQuickReply;
69307
69917
  }
@@ -69313,8 +69923,15 @@ ${codeText}
69313
69923
  const switchContainer = createElement("span", ["item-head-switch"], head);
69314
69924
  const switchUp = createTextButton(switchContainer, GroupItemActions.SwitchUp, "up", switchUpIcon);
69315
69925
  const switchDown = createTextButton(switchContainer, GroupItemActions.SwitchDown, "down", switchDownIcon);
69926
+ const resolve = createTextButton(switchContainer, GroupItemActions.Resolve, "resolve", CircleCheckMarkIcon);
69316
69927
  addGroupActionToElement(switchUp, GroupItemActions.SwitchUp);
69317
69928
  addGroupActionToElement(switchDown, GroupItemActions.SwitchDown);
69929
+ addGroupActionToElement(resolve, GroupItemActions.Resolve);
69930
+ resolve.setAttribute(`data-editor-tooltip-${this.editor.clientId}`, i18n$1.t("comment.resolveComment"));
69931
+ addClass(resolve, "disable-active");
69932
+ if (comment.resolver) {
69933
+ addClass(resolve, "resolved");
69934
+ }
69318
69935
  return head;
69319
69936
  }
69320
69937
  createItem() {
@@ -69354,6 +69971,7 @@ ${codeText}
69354
69971
  handleUpdateMainComment(comment) {
69355
69972
  assert(logger$1h, comment.id === this.mainItem.comment.id, "invalid comment");
69356
69973
  this.mainItem.reloadDoc();
69974
+ this.setCreatingComment(false);
69357
69975
  }
69358
69976
  deleteMainComment(commentId) {
69359
69977
  assert(logger$1h, commentId === this.mainItem.comment.id, "invalid comment");
@@ -69362,6 +69980,18 @@ ${codeText}
69362
69980
  edit() {
69363
69981
  this.mainItem.edit();
69364
69982
  }
69983
+ setCreatingComment(creating) {
69984
+ const resolveButton = this.header.querySelector('.editor-text-button[group-item-action="resolve"]');
69985
+ if (!resolveButton) {
69986
+ return;
69987
+ }
69988
+ resolveButton.disabled = creating;
69989
+ if (creating) {
69990
+ resolveButton.classList.add("disabled");
69991
+ } else {
69992
+ resolveButton.classList.remove("disabled");
69993
+ }
69994
+ }
69365
69995
  destroy() {
69366
69996
  this.quickReply.destroy();
69367
69997
  this.mainItem.destroy();
@@ -69547,7 +70177,21 @@ ${codeText}
69547
70177
  this.commentsProvider.localDeleteComment(comment.id);
69548
70178
  quickReply.show();
69549
70179
  });
69550
- __publicField(this, "execute", (element, groupItem, commentId, itemIndex) => {
70180
+ __publicField(this, "handleResolve", (groupItem) => {
70181
+ var _a;
70182
+ const { commentsProvider } = this;
70183
+ let comment = commentsProvider.getComment(groupItem.comment.id);
70184
+ if (!comment) {
70185
+ comment = (_a = groupItem.childrenList.items[0]) == null ? void 0 : _a.comment;
70186
+ }
70187
+ const user = this.groupList.editor.doc.getUser();
70188
+ commentsProvider.localUpdateCommentResolver(comment.id, {
70189
+ userId: user.userId,
70190
+ displayName: user.displayName,
70191
+ date: Date.now()
70192
+ });
70193
+ });
70194
+ __publicField(this, "execute", (element, groupItem, commentId, itemIndex, event) => {
69551
70195
  const actionElement = getClosestGroupItemActionElement(element);
69552
70196
  if (!actionElement)
69553
70197
  return;
@@ -69586,6 +70230,11 @@ ${codeText}
69586
70230
  case GroupItemActions.QuickReplyCancel:
69587
70231
  this.handleQuickReplyCancel(groupItem);
69588
70232
  break;
70233
+ case GroupItemActions.Resolve:
70234
+ event.preventDefault();
70235
+ event.stopPropagation();
70236
+ this.handleResolve(groupItem);
70237
+ break;
69589
70238
  default:
69590
70239
  const exhaustiveCheck = actionId;
69591
70240
  logger$1f.debug(`not implement handler for ${exhaustiveCheck}`);
@@ -69599,8 +70248,8 @@ ${codeText}
69599
70248
  }
69600
70249
  const logger$1e = getLogger("comment-group-list");
69601
70250
  class CommentGroupList extends ListBase {
69602
- constructor(editor, commentsProvider, parent) {
69603
- super(editor, commentsProvider, parent, getCommentsGroupFromDoc(editor, commentsProvider), {});
70251
+ constructor(editor, commentsProvider, parent, type) {
70252
+ super(editor, commentsProvider, parent, getUnresolvedCommentsGroupFromDoc(editor, commentsProvider), {});
69604
70253
  __publicField(this, "groupItemHandlers");
69605
70254
  __publicField(this, "dispatchScroll", debounce__default.default(() => {
69606
70255
  this.editor.scrollContainer.dispatchEvent(new Event("scroll"));
@@ -69638,7 +70287,9 @@ ${codeText}
69638
70287
  const commentId = getClosestCommentItemId(event.target);
69639
70288
  const index2 = this.items.findIndex((item) => item.root === itemRoot);
69640
70289
  if (index2 !== -1) {
69641
- if (this.activeIndex !== index2) {
70290
+ const disableActive = !!event.target.closest(".disable-active");
70291
+ const enableActive = !disableActive;
70292
+ if (this.activeIndex !== index2 && enableActive) {
69642
70293
  this.setActiveItem(index2);
69643
70294
  }
69644
70295
  const { groupItemHandlers } = this;
@@ -69646,7 +70297,8 @@ ${codeText}
69646
70297
  event.target,
69647
70298
  this.items[index2],
69648
70299
  commentId,
69649
- index2
70300
+ index2,
70301
+ event
69650
70302
  );
69651
70303
  }
69652
70304
  });
@@ -69687,7 +70339,7 @@ ${codeText}
69687
70339
  __publicField(this, "handleSelectionChanged", () => {
69688
70340
  setTimeout(() => {
69689
70341
  var _a;
69690
- const commentIds = getCommentsFromSelection(this.editor);
70342
+ const commentIds = this.type === "current" ? removeResolvedComments(this.commentsProvider, getCommentsFromSelection(this.editor)) : removeUnresolvedComments(this.commentsProvider, getCommentsFromSelection(this.editor));
69691
70343
  if (commentIds.length > 0) {
69692
70344
  if (((_a = this.activeItem) == null ? void 0 : _a.comment.id) && commentIds.includes(this.activeItem.comment.id)) {
69693
70345
  return;
@@ -69728,7 +70380,9 @@ ${codeText}
69728
70380
  const top = Number.parseFloat(firstItem.style.top);
69729
70381
  const targetTop = Number.parseFloat(firstItem.getAttribute("data-target-top") || "0");
69730
70382
  if (!Number.isNaN(top) && !Number.isNaN(targetTop) && top < targetTop) {
69731
- arrangeItems(this.editor, this.items, null, Math.min(top + (0 - event.deltaY) * 3, targetTop));
70383
+ if (this.type === "current") {
70384
+ arrangeItems(this.editor, this.items, null, Math.min(top + (0 - event.deltaY) * 3, targetTop));
70385
+ }
69732
70386
  }
69733
70387
  });
69734
70388
  __publicField(this, "updateGroupItemSwitch", () => {
@@ -69737,7 +70391,7 @@ ${codeText}
69737
70391
  activeItem.updateSwitchButton();
69738
70392
  });
69739
70393
  __publicField(this, "updateComments", debounce__default.default(() => {
69740
- const commentsGroup = getCommentsGroupFromDoc(this.editor, this.commentsProvider);
70394
+ const commentsGroup = this.type === "current" ? getUnresolvedCommentsGroupFromDoc(this.editor, this.commentsProvider) : getResolvedCommentsGroupFromDoc(this.editor, this.commentsProvider);
69741
70395
  let hasBeenChanged = false;
69742
70396
  for (let i = 0; i < commentsGroup.length; i++) {
69743
70397
  const comment = commentsGroup[i];
@@ -69760,6 +70414,8 @@ ${codeText}
69760
70414
  this.emit("commentCountChanged");
69761
70415
  }
69762
70416
  }, 100));
70417
+ this.editor = editor;
70418
+ this.type = type;
69763
70419
  this.updateItemsLayout();
69764
70420
  this.bindEvents();
69765
70421
  this.editor.addListener("selectionChanged", this.handleSelectionChanged);
@@ -69780,7 +70436,9 @@ ${codeText}
69780
70436
  document.removeEventListener("click", this.handleDocumentClick);
69781
70437
  }
69782
70438
  updateItemsLayout(dispatchScroll = true) {
69783
- arrangeItems(this.editor, this.items, this.activeItem);
70439
+ if (this.type === "current") {
70440
+ arrangeItems(this.editor, this.items, this.activeItem);
70441
+ }
69784
70442
  if (dispatchScroll) {
69785
70443
  this.dispatchScroll();
69786
70444
  }
@@ -69804,7 +70462,7 @@ ${codeText}
69804
70462
  return item;
69805
70463
  }
69806
70464
  findInsertPos(data2) {
69807
- const commentsMap = getCommentsGroupFromDoc(this.editor, this.commentsProvider);
70465
+ const commentsMap = getUnresolvedCommentsGroupFromDoc(this.editor, this.commentsProvider);
69808
70466
  const index2 = commentsMap.findIndex((group) => group.id === data2.id);
69809
70467
  if (index2 === -1) {
69810
70468
  return -1;
@@ -69904,6 +70562,7 @@ ${codeText}
69904
70562
  newItem.quickReply.hide();
69905
70563
  setTimeout(() => {
69906
70564
  newItem.edit();
70565
+ newItem.setCreatingComment(true);
69907
70566
  }, 300);
69908
70567
  }
69909
70568
  }
@@ -69928,6 +70587,18 @@ ${codeText}
69928
70587
  }
69929
70588
  }
69930
70589
  }
70590
+ handleResolveComment(commentId) {
70591
+ const item = this.findItem(commentId);
70592
+ if (item) {
70593
+ this.deleteItem(item.comment.id);
70594
+ }
70595
+ }
70596
+ removeGroupItem(comment) {
70597
+ const item = this.findItem(comment.id) || this.findItem(comment.groupId);
70598
+ if (item) {
70599
+ this.deleteItem(item.comment.id);
70600
+ }
70601
+ }
69931
70602
  handleUpdateComment(comment) {
69932
70603
  const group = this.findItemAsGroupId(comment.groupId);
69933
70604
  if (group && group.comment.id !== comment.id) {
@@ -69939,6 +70610,236 @@ ${codeText}
69939
70610
  item.handleUpdateMainComment(comment);
69940
70611
  }
69941
70612
  }
70613
+ changeType(type) {
70614
+ this.type = type;
70615
+ const comments = this.type === "current" ? getUnresolvedCommentsGroupFromDoc(this.editor, this.commentsProvider) : getResolvedCommentsGroupFromDoc(this.editor, this.commentsProvider);
70616
+ this.reloadList(comments);
70617
+ if (this.type === "current") {
70618
+ setTimeout(() => {
70619
+ arrangeItems(this.editor, this.items, null);
70620
+ });
70621
+ }
70622
+ }
70623
+ reloadList(data2) {
70624
+ super.reloadList(data2);
70625
+ this._items.forEach((item) => item.addListener("resize", this.handleItemResize));
70626
+ }
70627
+ }
70628
+ function addBlockComments(doc2, block, resultMap) {
70629
+ if (block.comments) {
70630
+ const blockComments = block.comments;
70631
+ if (Array.isArray(blockComments)) {
70632
+ blockComments.forEach((commentId) => {
70633
+ const commentIds = resultMap.get(block.id);
70634
+ if (commentIds) {
70635
+ commentIds.add(commentId);
70636
+ } else {
70637
+ resultMap.set(block.id, /* @__PURE__ */ new Set([commentId]));
70638
+ }
70639
+ });
70640
+ }
70641
+ }
70642
+ if (block.text) {
70643
+ const text2 = block.text;
70644
+ text2.forEach((op) => {
70645
+ if (op.attributes) {
70646
+ const prefix = "comment-";
70647
+ Object.entries(op.attributes).forEach(([key, value]) => {
70648
+ if (key.startsWith(prefix)) {
70649
+ const commentId = value;
70650
+ const commentIds = resultMap.get(block.id);
70651
+ if (commentIds) {
70652
+ commentIds.add(commentId);
70653
+ } else {
70654
+ resultMap.set(block.id, /* @__PURE__ */ new Set([commentId]));
70655
+ }
70656
+ }
70657
+ });
70658
+ }
70659
+ });
70660
+ }
70661
+ const children = block.children;
70662
+ if (!children) {
70663
+ return;
70664
+ }
70665
+ children.forEach((childContainerId) => {
70666
+ const childBlocks = doc2.blocks[childContainerId];
70667
+ childBlocks.forEach((subBlock) => {
70668
+ addBlockComments(doc2, subBlock, resultMap);
70669
+ });
70670
+ });
70671
+ }
70672
+ function getBlockCommentsFromDoc(doc2) {
70673
+ const resultMap = /* @__PURE__ */ new Map();
70674
+ doc2.blocks.root.forEach((block) => {
70675
+ addBlockComments(doc2, block, resultMap);
70676
+ });
70677
+ return resultMap;
70678
+ }
70679
+ function getBlocksByCommentId(doc2, commentId) {
70680
+ const result = [];
70681
+ const resultMap = getBlockCommentsFromDoc(doc2);
70682
+ resultMap.forEach((commentIds, blockId) => {
70683
+ if (commentIds.has(commentId)) {
70684
+ result.push(blockId);
70685
+ }
70686
+ });
70687
+ return result;
70688
+ }
70689
+ class OnesEditorCommentsRender {
70690
+ constructor(type = "current") {
70691
+ __publicField(this, "updateUnknownCommentsDelayed", debounce__default.default((editor) => {
70692
+ const comments = this.getComments(editor);
70693
+ const invisibleComments = Object.values(comments).filter((comment) => {
70694
+ const ret = this.type === "current" ? !!comment.resolver : !comment.resolver;
70695
+ return ret;
70696
+ });
70697
+ const root2 = editor.rootContainer;
70698
+ const effectedElements = /* @__PURE__ */ new Set();
70699
+ invisibleComments.forEach((comment) => {
70700
+ const key = `comment-${comment.groupId.toLocaleLowerCase()}`;
70701
+ const elements = root2.querySelectorAll(`[${key}]`);
70702
+ elements.forEach((elem) => {
70703
+ elem.removeAttribute(key);
70704
+ effectedElements.add(elem);
70705
+ });
70706
+ });
70707
+ effectedElements.forEach((elem) => {
70708
+ const commentAttributes = Array.from(elem.attributes).filter((a) => a.name.startsWith("comment-"));
70709
+ if (commentAttributes.length === 0) {
70710
+ elem.classList.remove("comment");
70711
+ }
70712
+ });
70713
+ }));
70714
+ this.type = type;
70715
+ }
70716
+ renderText(editor, path, attributes) {
70717
+ const classes = [];
70718
+ const textAttributes = {};
70719
+ Object.entries(attributes).forEach(([key, value]) => {
70720
+ if (key.startsWith("comment-")) {
70721
+ this.renderCommentElement(editor, key, value, classes, textAttributes);
70722
+ }
70723
+ });
70724
+ return { classes, attributes: textAttributes };
70725
+ }
70726
+ renderBox(editor, path, attributes) {
70727
+ const classes = [];
70728
+ const textAttributes = {};
70729
+ Object.entries(attributes).forEach(([key, value]) => {
70730
+ if (key.startsWith("comment-")) {
70731
+ this.renderCommentElement(editor, key, value, classes, textAttributes);
70732
+ }
70733
+ });
70734
+ return { classes, attributes: textAttributes };
70735
+ }
70736
+ renderBlock(editor, path, blockData) {
70737
+ const comments = blockData.comments;
70738
+ if (!comments || comments.length === 0) {
70739
+ return {};
70740
+ }
70741
+ const classes = [];
70742
+ const attributes = {};
70743
+ comments.forEach((commentId) => {
70744
+ const key = `comment-${commentId.toLocaleLowerCase()}`;
70745
+ this.renderCommentElement(editor, key, commentId, classes, attributes);
70746
+ });
70747
+ return {
70748
+ classes,
70749
+ attributes
70750
+ };
70751
+ }
70752
+ updateBlock(editor, path, blockElement, blockData) {
70753
+ const comments = blockData.comments;
70754
+ removeClass(blockElement, "comment");
70755
+ Array.from(blockElement.attributes).forEach((a) => {
70756
+ if (a.name.startsWith("comment-")) {
70757
+ blockElement.removeAttribute(a.name);
70758
+ }
70759
+ });
70760
+ if (!comments || comments.length === 0) {
70761
+ return;
70762
+ }
70763
+ if (this.type === "resolved") {
70764
+ return;
70765
+ }
70766
+ addClass(blockElement, "comment");
70767
+ const classList = [];
70768
+ const attributes = {};
70769
+ comments.forEach((commentId) => {
70770
+ const key = `comment-${commentId.toLocaleLowerCase()}`;
70771
+ this.renderCommentElement(editor, key, commentId, classList, attributes);
70772
+ });
70773
+ Object.entries(attributes).forEach(([key, value]) => {
70774
+ blockElement.setAttribute(key, value);
70775
+ });
70776
+ if (classList.length > 0) {
70777
+ addClass(blockElement, ...classList);
70778
+ }
70779
+ }
70780
+ getCommentStatus(editor, commentId) {
70781
+ const comments = editor.findCustom("editor-comments");
70782
+ if (!comments) {
70783
+ return "unknown";
70784
+ }
70785
+ const commentsProvider = comments.commentProvider;
70786
+ const comment = commentsProvider.getComment(commentId);
70787
+ if (!comment) {
70788
+ return "unknown";
70789
+ }
70790
+ if (comment.resolver) {
70791
+ return "resolved";
70792
+ }
70793
+ return "unresolved";
70794
+ }
70795
+ renderCommentElement(editor, key, commentId, classes, textAttributes) {
70796
+ const status = this.getCommentStatus(editor, commentId);
70797
+ if (this.type === "current") {
70798
+ if (status === "resolved") {
70799
+ return;
70800
+ }
70801
+ } else {
70802
+ return;
70803
+ }
70804
+ classes.push("comment");
70805
+ textAttributes[key] = commentId;
70806
+ if (status === "unknown") {
70807
+ this.updateUnknownCommentsDelayed(editor);
70808
+ }
70809
+ }
70810
+ getComments(editor) {
70811
+ const editorComments = editor.findCustom("editor-comments");
70812
+ if (!editorComments) {
70813
+ return [];
70814
+ }
70815
+ const commentProvider = editorComments.commentProvider;
70816
+ return commentProvider.getComments();
70817
+ }
70818
+ changeType(editor, type) {
70819
+ this.type = type;
70820
+ const elements = editor.rootContainer.querySelectorAll(".comment");
70821
+ elements.forEach((elem) => {
70822
+ elem.classList.remove("comment");
70823
+ Array.from(elem.attributes).forEach((a) => {
70824
+ if (a.name.startsWith("comment-")) {
70825
+ elem.removeAttribute(a.name);
70826
+ }
70827
+ });
70828
+ });
70829
+ const comments = this.getComments(editor);
70830
+ const resolvedCommentsId = new Set(Object.values(comments).filter((comment) => !!comment.resolver).map((comment) => comment.groupId));
70831
+ const unresolvedCommentsId = new Set(Object.values(comments).filter((comment) => !resolvedCommentsId.has(comment.groupId)).map((comment) => comment.groupId));
70832
+ const visibleCommentsId = type === "current" ? unresolvedCommentsId : resolvedCommentsId;
70833
+ const commentsFromDoc = getBlockCommentsFromDoc(editor.doc.toJSON());
70834
+ commentsFromDoc.forEach((commentIds, blockId) => {
70835
+ if (Array.from(commentIds).some((c) => visibleCommentsId.has(c))) {
70836
+ const block = editor.findBlockById(blockId);
70837
+ if (block) {
70838
+ editor.reloadBlock(block);
70839
+ }
70840
+ }
70841
+ });
70842
+ }
69942
70843
  }
69943
70844
  const COMMENT_MINI_CLS = "comment-mini";
69944
70845
  getLogger("comment-list");
@@ -69948,6 +70849,46 @@ ${codeText}
69948
70849
  __publicField(this, "root");
69949
70850
  __publicField(this, "groupsContainer");
69950
70851
  __publicField(this, "list");
70852
+ __publicField(this, "listType", "current");
70853
+ __publicField(this, "switcherItem", {
70854
+ id: "switch-comment",
70855
+ name: i18n$1.t("comment.currentComment"),
70856
+ dropdown: true,
70857
+ manualShowChildren: true,
70858
+ childrenPlacement: "bottom-start",
70859
+ children: [{
70860
+ id: "current-comment",
70861
+ name: i18n$1.t("comment.currentComment"),
70862
+ states: ["checked"]
70863
+ }, {
70864
+ id: "resolved-comment",
70865
+ name: i18n$1.t("comment.resolvedComment")
70866
+ }]
70867
+ });
70868
+ __publicField(this, "switcherBar");
70869
+ __publicField(this, "noCommentTip", null);
70870
+ __publicField(this, "handleSwitchType", (bar2, item) => {
70871
+ var _a, _b;
70872
+ if (item.id === "current-comment") {
70873
+ this.listType = "current";
70874
+ } else {
70875
+ this.listType = "resolved";
70876
+ }
70877
+ this.editor.rootContainer.setAttribute("comment-list-type", this.listType);
70878
+ this.root.setAttribute("list-type", this.listType);
70879
+ this.switcherItem.name = this.listType === "current" ? i18n$1.t("comment.currentComment") : i18n$1.t("comment.resolvedComment");
70880
+ const children = this.switcherItem.children;
70881
+ children[0].states = this.listType === "current" ? ["checked"] : [];
70882
+ children[1].states = this.listType === "resolved" ? ["checked"] : [];
70883
+ this.switcherBar.updateItems([this.switcherItem]);
70884
+ this.list.changeType(this.listType);
70885
+ const renderer = this.editor.editorBlockRenders.getRenderers().find((r) => r instanceof OnesEditorCommentsRender);
70886
+ if (renderer) {
70887
+ renderer.changeType(this.editor, this.listType);
70888
+ }
70889
+ this.updateCommentCountTip();
70890
+ (_b = (_a = this.commentOptions) == null ? void 0 : _a.onCommentListTypeChange) == null ? void 0 : _b.call(_a, this.editor, this.listType);
70891
+ });
69951
70892
  __publicField(this, "handleSelectionOnComment", () => {
69952
70893
  this.emit("onSelectComment");
69953
70894
  });
@@ -69955,8 +70896,12 @@ ${codeText}
69955
70896
  var _a, _b;
69956
70897
  const count = getCommentsCountInDoc(this.editor, this.commentsProvider);
69957
70898
  (_b = (_a = this.commentOptions) == null ? void 0 : _a.onCommentCountChange) == null ? void 0 : _b.call(_a, count);
70899
+ this.updateCommentCountTip();
69958
70900
  });
69959
70901
  __publicField(this, "handleActiveItemChanged", (index2, direction) => {
70902
+ if (this.listType === "resolved") {
70903
+ return;
70904
+ }
69960
70905
  setTimeout(() => {
69961
70906
  var _a, _b;
69962
70907
  const item = this.list.activeItem;
@@ -69973,13 +70918,19 @@ ${codeText}
69973
70918
  this.editor = editor;
69974
70919
  this.commentsProvider = commentsProvider;
69975
70920
  this.root = createElement("div", ["editor-web-comment-root"], null);
70921
+ this.root.setAttribute("list-type", this.listType);
69976
70922
  this.groupsContainer = createElement("div", ["comment-groups-container"], this.root);
69977
70923
  this.list = this.createList();
70924
+ this.switcherBar = this.createSwitcher();
69978
70925
  this.commentsProvider.addListener(this);
69979
70926
  this.list.addListener("activeItemChanged", this.handleActiveItemChanged);
69980
70927
  this.list.addListener("itemLayoutUpdated", this.handleItemLayoutUpdated);
69981
70928
  this.list.addListener("selectionOnComment", this.handleSelectionOnComment);
69982
70929
  this.list.addListener("commentCountChanged", this.updateCommentCount);
70930
+ if (!this.editor.options.enableResolveComments) {
70931
+ this.root.classList.add("disable-resolve");
70932
+ }
70933
+ this.editor.rootContainer.setAttribute("comment-list-type", this.listType);
69983
70934
  this.updateCommentCount();
69984
70935
  }
69985
70936
  get commentOptions() {
@@ -69987,10 +70938,13 @@ ${codeText}
69987
70938
  return commentOptions;
69988
70939
  }
69989
70940
  destroy() {
70941
+ var _a;
69990
70942
  this.list.removeAllListeners();
69991
70943
  this.commentsProvider.removeListener(this);
69992
70944
  this.list.destroy();
69993
70945
  this.root.remove();
70946
+ this.switcherBar.destroy();
70947
+ (_a = this.noCommentTip) == null ? void 0 : _a.remove();
69994
70948
  }
69995
70949
  onCreateComment(commentId, local) {
69996
70950
  const comment = this.commentsProvider.getComment(commentId);
@@ -70005,8 +70959,73 @@ ${codeText}
70005
70959
  const comment = this.commentsProvider.getComment(commentId);
70006
70960
  this.list.handleUpdateComment(comment);
70007
70961
  }
70962
+ onUpdateCommentResolver(commentId, local) {
70963
+ const comment = this.commentsProvider.getComment(commentId);
70964
+ if (!comment) {
70965
+ return;
70966
+ }
70967
+ let type = "add";
70968
+ if (this.listType === "current") {
70969
+ if (comment.resolver) {
70970
+ type = "remove";
70971
+ }
70972
+ } else {
70973
+ if (!comment.resolver) {
70974
+ type = "remove";
70975
+ }
70976
+ }
70977
+ const blocks = /* @__PURE__ */ new Set();
70978
+ if (type === "remove") {
70979
+ getElementsByCommentId(this.editor, comment.groupId).forEach((element) => {
70980
+ if (isBlock$1(element)) {
70981
+ blocks.add(element);
70982
+ } else {
70983
+ const block = getParentBlock(element);
70984
+ if (block) {
70985
+ blocks.add(block);
70986
+ }
70987
+ }
70988
+ });
70989
+ } else {
70990
+ const blockIds = getBlocksByCommentId(this.editor.doc.toJSON(), comment.groupId);
70991
+ blockIds.forEach((blockId) => {
70992
+ const block = this.editor.findBlockById(blockId);
70993
+ if (block) {
70994
+ blocks.add(block);
70995
+ }
70996
+ });
70997
+ }
70998
+ blocks.forEach((block) => {
70999
+ this.editor.reloadBlock(block);
71000
+ });
71001
+ const commentGroup = getCommentsGroup(this.commentsProvider.getComments());
71002
+ const commentWithChildren = commentGroup.find((group) => group.groupId === comment.groupId);
71003
+ if (!commentWithChildren) {
71004
+ return;
71005
+ }
71006
+ setTimeout(() => {
71007
+ if (type === "add") {
71008
+ this.list.handleCreateComment(commentWithChildren, local);
71009
+ } else {
71010
+ this.list.removeGroupItem(comment);
71011
+ }
71012
+ this.updateCommentCount();
71013
+ }, 300);
71014
+ }
70008
71015
  createList() {
70009
- return new CommentGroupList(this.editor, this.commentsProvider, this.groupsContainer);
71016
+ return new CommentGroupList(this.editor, this.commentsProvider, this.groupsContainer, this.listType);
71017
+ }
71018
+ createSwitcher() {
71019
+ const container = createElement("div", ["comment-switcher-container"], this.root);
71020
+ const commandBar2 = new FixedToolbar(container, [this.switcherItem], {
71021
+ id: "comment-switcher"
71022
+ });
71023
+ commandBar2.addListener("click", this.handleSwitchType);
71024
+ return commandBar2;
71025
+ }
71026
+ setSwitcherParent(parent) {
71027
+ this.switcherBar.content.remove();
71028
+ parent.append(this.switcherBar.content);
70010
71029
  }
70011
71030
  isEditing(includeEmpty) {
70012
71031
  return this.list.isEditing(includeEmpty);
@@ -70014,14 +71033,49 @@ ${codeText}
70014
71033
  setFirstEditingCommentActive() {
70015
71034
  this.list.setFirstEditingCommentActive();
70016
71035
  }
70017
- show(groupId) {
71036
+ getListType() {
71037
+ return this.listType;
71038
+ }
71039
+ setListType(type) {
71040
+ var _a, _b;
71041
+ if (type === "resolved") {
71042
+ const item = (_a = this.switcherItem.children) == null ? void 0 : _a[1];
71043
+ this.handleSwitchType(this.switcherBar, item);
71044
+ } else {
71045
+ const item = (_b = this.switcherItem.children) == null ? void 0 : _b[0];
71046
+ this.handleSwitchType(this.switcherBar, item);
71047
+ }
71048
+ }
71049
+ updateCommentCountTip() {
70018
71050
  var _a;
71051
+ (_a = this.noCommentTip) == null ? void 0 : _a.remove();
71052
+ this.noCommentTip = null;
71053
+ if (this.listType === "resolved" && this.list.items.length === 0) {
71054
+ if (!this.noCommentTip) {
71055
+ this.noCommentTip = createElement("div", ["no-comment-tip"], this.groupsContainer);
71056
+ this.noCommentTip.innerText = i18n$1.t("comment.noResolvedComment");
71057
+ }
71058
+ return;
71059
+ }
71060
+ if (this.listType === "current" && this.list.items.length === 0) {
71061
+ if (!this.noCommentTip) {
71062
+ this.noCommentTip = createElement("div", ["no-comment-tip"], this.groupsContainer);
71063
+ this.noCommentTip.innerText = i18n$1.t("comment.noCurrentComment");
71064
+ }
71065
+ }
71066
+ }
71067
+ show(groupId) {
71068
+ var _a, _b;
70019
71069
  removeClass(this.root, "hidden");
70020
71070
  if (groupId) {
71071
+ if (this.listType !== "current") {
71072
+ const commandItem = (_a = this.switcherItem.children) == null ? void 0 : _a[0];
71073
+ this.handleSwitchType(this.switcherBar, commandItem);
71074
+ }
70021
71075
  const index2 = this.list.findItemIndex(groupId);
70022
71076
  this.list.setActiveItem(index2);
70023
71077
  }
70024
- (_a = this.commentOptions) == null ? void 0 : _a.controller.showCommentList();
71078
+ (_b = this.commentOptions) == null ? void 0 : _b.controller.showCommentList();
70025
71079
  }
70026
71080
  hide() {
70027
71081
  addClass(this.root, "hidden");
@@ -70149,7 +71203,7 @@ ${codeText}
70149
71203
  const logger$1c = getLogger("mobile-group-list");
70150
71204
  class MobileGroupList extends ListBase {
70151
71205
  constructor(editor, commentsProvider, parent, scrollElement) {
70152
- super(editor, commentsProvider, parent, getCommentsGroupFromDoc(editor, commentsProvider), {});
71206
+ super(editor, commentsProvider, parent, getUnresolvedCommentsGroupFromDoc(editor, commentsProvider), {});
70153
71207
  __publicField(this, "scroller");
70154
71208
  __publicField(this, "refreshScroller", () => {
70155
71209
  this.scroller.refresh();
@@ -70197,7 +71251,7 @@ ${codeText}
70197
71251
  this.updateComments();
70198
71252
  });
70199
71253
  __publicField(this, "updateComments", debounce__default.default(() => {
70200
- const commentsGroup = getCommentsGroupFromDoc(this.editor, this.commentsProvider);
71254
+ const commentsGroup = getUnresolvedCommentsGroupFromDoc(this.editor, this.commentsProvider);
70201
71255
  for (let i = 0; i < commentsGroup.length; i++) {
70202
71256
  const comment = commentsGroup[i];
70203
71257
  const groupItem = this.findGroupItem(comment.groupId);
@@ -70231,7 +71285,7 @@ ${codeText}
70231
71285
  return item;
70232
71286
  }
70233
71287
  findInsertPos(data2) {
70234
- const commentsMap = getCommentsGroupFromDoc(this.editor, this.commentsProvider);
71288
+ const commentsMap = getUnresolvedCommentsGroupFromDoc(this.editor, this.commentsProvider);
70235
71289
  const index2 = commentsMap.findIndex((group) => group.id === data2.id);
70236
71290
  if (index2 === -1) {
70237
71291
  return -1;
@@ -70367,6 +71421,8 @@ ${codeText}
70367
71421
  const comment = this.commentsProvider.getComment(commentId);
70368
71422
  this.list.handleUpdateComment(comment);
70369
71423
  }
71424
+ onUpdateCommentResolver(commentId, local) {
71425
+ }
70370
71426
  get commentOptions() {
70371
71427
  const commentOptions = this.editor.getComponentOptions("comment");
70372
71428
  return commentOptions;
@@ -70392,7 +71448,7 @@ ${codeText}
70392
71448
  }
70393
71449
  }
70394
71450
  function getMiniCommentsGroupFromDoc(editor, commentsProvider) {
70395
- const commentsGroupFromDoc = getCommentsGroupFromDoc(editor, commentsProvider);
71451
+ const commentsGroupFromDoc = getUnresolvedCommentsGroupFromDoc(editor, commentsProvider);
70396
71452
  const miniCommentGroups = /* @__PURE__ */ new Map();
70397
71453
  for (const commentGroup of commentsGroupFromDoc) {
70398
71454
  const blockId = getBlockIdByGroupId(editor, commentGroup.groupId);
@@ -70539,6 +71595,9 @@ ${codeText}
70539
71595
  }
70540
71596
  onUpdateComment(commentId, local) {
70541
71597
  }
71598
+ onUpdateCommentResolver(commentId, local) {
71599
+ this.list.updateMiniCommentsGroup();
71600
+ }
70542
71601
  show() {
70543
71602
  removeClass(this.root, "hidden");
70544
71603
  }
@@ -70767,12 +71826,18 @@ ${codeText}
70767
71826
  (_b = this.commentList) == null ? void 0 : _b.show(groupId);
70768
71827
  }
70769
71828
  });
70770
- __publicField(this, "showCommentList", (groupId) => {
71829
+ __publicField(this, "showCommentList", (groupId, type) => {
71830
+ var _a, _b;
70771
71831
  if (this.isMobile) {
70772
71832
  this.showComment("mobile", groupId);
70773
71833
  } else {
70774
71834
  this.showComment("web", groupId);
70775
71835
  }
71836
+ if (type) {
71837
+ (_a = this.getCommentList()) == null ? void 0 : _a.setListType(type);
71838
+ } else if (type === void 0) {
71839
+ (_b = this.getCommentList()) == null ? void 0 : _b.setListType("current");
71840
+ }
70776
71841
  });
70777
71842
  __publicField(this, "handleCommentListClose", () => {
70778
71843
  this.showComment("mini");
@@ -70807,6 +71872,15 @@ ${codeText}
70807
71872
  get isMobile() {
70808
71873
  return clientType.isMobile;
70809
71874
  }
71875
+ getCommentList() {
71876
+ return this.commentList;
71877
+ }
71878
+ getMobileCommentList() {
71879
+ return this.mobileCommentList;
71880
+ }
71881
+ getMiniCommentList() {
71882
+ return this.miniCommentList;
71883
+ }
70810
71884
  destroy() {
70811
71885
  var _a, _b;
70812
71886
  (_a = this.commentList) == null ? void 0 : _a.destroy();
@@ -70832,6 +71906,9 @@ ${codeText}
70832
71906
  if (containers.mobileContainer && this.mobileCommentList) {
70833
71907
  containers.mobileContainer.append(this.mobileCommentList.root);
70834
71908
  }
71909
+ if (containers.switchBarContainer && this.commentList) {
71910
+ this.commentList.setSwitcherParent(containers.switchBarContainer);
71911
+ }
70835
71912
  }
70836
71913
  }
70837
71914
  const style$7 = "";
@@ -70855,7 +71932,39 @@ ${codeText}
70855
71932
  more: "\u66F4\u591A",
70856
71933
  comment: "\u6DFB\u52A0\u6279\u6CE8",
70857
71934
  command: "\u6DFB\u52A0\u6279\u6CE8",
70858
- quickMenuCommand: "\u6DFB\u52A0\u6279\u6CE8"
71935
+ quickMenuCommand: "\u6DFB\u52A0\u6279\u6CE8",
71936
+ resolvedBy: "\u5DF2\u7531 {name} \u89E3\u51B3",
71937
+ reopen: "\u91CD\u65B0\u6253\u5F00",
71938
+ currentComment: "\u5F53\u524D\u6279\u6CE8",
71939
+ resolvedComment: "\u5DF2\u89E3\u51B3\u6279\u6CE8",
71940
+ removedFromDoc: "\u5F15\u7528\u5185\u5BB9\u5DF2\u5220\u9664",
71941
+ noCurrentComment: "\u6682\u65E0\u6279\u6CE8",
71942
+ noResolvedComment: "\u65E0\u5DF2\u89E3\u51B3\u6279\u6CE8",
71943
+ resolveComment: "\u6807\u8BB0\u4E3A\u5DF2\u89E3\u51B3",
71944
+ commentHasAlreadyRemoved: "\u5F15\u7528\u5185\u5BB9\u5DF2\u88AB\u5220\u9664\uFF0C\u4E0D\u53EF\u91CD\u65B0\u6253\u5F00\u6279\u6CE8"
71945
+ }
71946
+ };
71947
+ const zhHK$k = {
71948
+ comment: {
71949
+ count: "\u6279\u8A3B ({num})",
71950
+ hide: "\u96B1\u85CF\u6279\u8A3B",
71951
+ show: "\u986F\u793A\u6279\u8A3B",
71952
+ reply: "\u56DE\u8986",
71953
+ quicklyReply: "\u56DE\u8986...",
71954
+ send: "\u78BA\u5B9A",
71955
+ placeholder: "\u6DFB\u52A0\u6279\u8A3B...",
71956
+ replyPlaceholder: "\u6DFB\u52A0\u6279\u8A3B\u6216@\u4ED6\u4EBA",
71957
+ edit: "\u7DE8\u8F2F",
71958
+ delete: "\u522A\u9664",
71959
+ image: "\u5716\u7247",
71960
+ sendTitle: "\u6309Enter\u767C\u9001\u6279\u8A3B",
71961
+ replyTitle: "\u6309Enter\u56DE\u8986\u6279\u8A3B",
71962
+ isFirst: "\u5DF2\u7D93\u662F\u7B2C\u4E00\u689D\u6279\u8A3B",
71963
+ isLast: "\u5DF2\u7D93\u662F\u6700\u5F8C\u4E00\u689D\u6279\u8A3B",
71964
+ more: "\u66F4\u591A",
71965
+ comment: "\u6DFB\u52A0\u6279\u8A3B",
71966
+ command: "\u6DFB\u52A0\u6279\u8A3B",
71967
+ quickMenuCommand: "\u6DFB\u52A0\u6279\u8A3B"
70859
71968
  }
70860
71969
  };
70861
71970
  const enUS$k = {
@@ -70878,7 +71987,16 @@ ${codeText}
70878
71987
  more: "More",
70879
71988
  comment: "Add annotation",
70880
71989
  command: "Add annotation",
70881
- quickMenuCommand: "Add annotation"
71990
+ quickMenuCommand: "Add annotation",
71991
+ resolvedBy: "Resolved by {name}",
71992
+ reopen: "Reopen",
71993
+ currentComment: "Unresolved annotations",
71994
+ resolvedComment: "Resolved annotations",
71995
+ removedFromDoc: "Quoted content deleted.",
71996
+ noCurrentComment: "No annotation.",
71997
+ noResolvedComment: "No resolved annotations.",
71998
+ resolveComment: "Mark as resolved",
71999
+ commentHasAlreadyRemoved: "Referenced content deleted. Comment can't be reopened."
70882
72000
  }
70883
72001
  };
70884
72002
  const jaJP$k = {
@@ -70901,69 +72019,24 @@ ${codeText}
70901
72019
  more: "\u305D\u306E\u4ED6",
70902
72020
  comment: "\u6CE8\u91C8\u3092\u8FFD\u52A0",
70903
72021
  command: "\u6CE8\u91C8\u3092\u8FFD\u52A0",
70904
- quickMenuCommand: "\u6CE8\u91C8\u3092\u8FFD\u52A0"
72022
+ quickMenuCommand: "\u6CE8\u91C8\u3092\u8FFD\u52A0",
72023
+ resolvedBy: "{name}\u3055\u3093\u304C\u89E3\u6C7A\u3057\u307E\u3057\u305F",
72024
+ reopen: "\u518D\u958B",
72025
+ currentComment: "\u672A\u89E3\u6C7A\u30B3\u30E1\u30F3\u30C8",
72026
+ resolvedComment: "\u89E3\u6C7A\u6E08\u307F\u30B3\u30E1\u30F3\u30C8",
72027
+ removedFromDoc: "\u5F15\u7528\u3055\u308C\u305F\u5185\u5BB9\u306F\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002",
72028
+ noCurrentComment: "\u6CE8\u91C8\u306A\u3057",
72029
+ noResolvedComment: "\u89E3\u6C7A\u6E08\u307F\u30B3\u30E1\u30F3\u30C8\u304C\u3042\u308A\u307E\u305B\u3093\u3002",
72030
+ resolveComment: "\u89E3\u6C7A\u3055\u308C\u307E\u3057\u305F",
72031
+ commentHasAlreadyRemoved: "\u5F15\u7528\u5143\u304C\u524A\u9664\u3055\u308C\u305F\u305F\u3081\u3001\u30B3\u30E1\u30F3\u30C8\u518D\u958B\u3067\u304D\u307E\u305B\u3093\u3002"
70905
72032
  }
70906
72033
  };
70907
72034
  i18n$1.mergeLang({
70908
72035
  "zh-CN": zhCN$k,
72036
+ "zh-HK": zhHK$k,
70909
72037
  "en-US": enUS$k,
70910
72038
  "ja-JP": jaJP$k
70911
72039
  });
70912
- class OnesEditorCommentsRender {
70913
- renderText(editor, path, attributes) {
70914
- const classes = [];
70915
- const textAttributes = {};
70916
- Object.entries(attributes).forEach(([key, value]) => {
70917
- if (key.startsWith("comment-")) {
70918
- classes.push("comment");
70919
- textAttributes[key] = value;
70920
- }
70921
- });
70922
- return { classes, attributes: textAttributes };
70923
- }
70924
- renderBox(editor, path, attributes) {
70925
- const classes = [];
70926
- const textAttributes = {};
70927
- Object.entries(attributes).forEach(([key, value]) => {
70928
- if (key.startsWith("comment-")) {
70929
- classes.push("comment");
70930
- textAttributes[key] = value;
70931
- }
70932
- });
70933
- return { classes, attributes: textAttributes };
70934
- }
70935
- renderBlock(editor, path, blockData) {
70936
- const comments = blockData.comments;
70937
- if (!comments || comments.length === 0) {
70938
- return {};
70939
- }
70940
- const classes = ["comment"];
70941
- const attributes = {};
70942
- comments.forEach((commentId) => {
70943
- attributes[`comment-${commentId.toLocaleLowerCase()}`] = commentId;
70944
- });
70945
- return {
70946
- classes,
70947
- attributes
70948
- };
70949
- }
70950
- updateBlock(editor, path, blockElement, blockData) {
70951
- const comments = blockData.comments;
70952
- removeClass(blockElement, "comment");
70953
- Array.from(blockElement.attributes).forEach((a) => {
70954
- if (a.name.startsWith("comment-")) {
70955
- blockElement.removeAttribute(a.name);
70956
- }
70957
- });
70958
- if (!comments || comments.length === 0) {
70959
- return;
70960
- }
70961
- addClass(blockElement, "comment");
70962
- comments.forEach((commentId) => {
70963
- blockElement.setAttribute(`comment-${commentId.toLocaleLowerCase()}`, commentId);
70964
- });
70965
- }
70966
- }
70967
72040
  class OnesEditorCommentPlaceholderHandler {
70968
72041
  constructor(editor) {
70969
72042
  __publicField(this, "handleUpdateCompositionText", (editor, containerId, blockIndex, offset, end) => {
@@ -71115,6 +72188,21 @@ ${codeText}
71115
72188
  method: "delete"
71116
72189
  });
71117
72190
  }
72191
+ function updateCommentResolverToOldDoc(editor, version, commentId, resolver) {
72192
+ var _a, _b;
72193
+ const doc2 = editor.doc;
72194
+ const server = (_b = (_a = doc2.getServerMeta) == null ? void 0 : _a.call(doc2)) == null ? void 0 : _b.apiServer;
72195
+ assert(logger$16, server, "apiServer is not set");
72196
+ const api = `${server}/${version}/comments/${commentId}/resolver`;
72197
+ return doc2.request(api, {
72198
+ method: "put",
72199
+ data: {
72200
+ resolver
72201
+ }
72202
+ });
72203
+ }
72204
+ getLogger("resolved-comment-item");
72205
+ const styles = "";
71118
72206
  const isAllContainersSelected = (editor) => {
71119
72207
  var _a;
71120
72208
  const range = editor.selection.range;
@@ -71189,6 +72277,16 @@ ${codeText}
71189
72277
  await updateCommentToOldDoc(this.editor, this.version, commentId, comments.commentProvider.getCommentDoc(commentId));
71190
72278
  }
71191
72279
  }
72280
+ onUpdateCommentResolver(commentId, local) {
72281
+ const comments = this.editor.getCustom("editor-comments");
72282
+ const provider = comments.commentProvider;
72283
+ const comment = provider.getComment(commentId);
72284
+ if (!comment) {
72285
+ return;
72286
+ }
72287
+ const resolver = comment.resolver;
72288
+ updateCommentResolverToOldDoc(this.editor, this.version, commentId, resolver);
72289
+ }
71192
72290
  hideToolbar(editor) {
71193
72291
  const toolbar2 = editor.findCustom("toolbar-handler");
71194
72292
  toolbar2 == null ? void 0 : toolbar2.disableTextToolbar();
@@ -71215,6 +72313,7 @@ ${codeText}
71215
72313
  order: 60
71216
72314
  }],
71217
72315
  executeCommand: (editor2, block, item, child2) => {
72316
+ var _a2;
71218
72317
  if (!child2) {
71219
72318
  return;
71220
72319
  }
@@ -71225,6 +72324,7 @@ ${codeText}
71225
72324
  }
71226
72325
  this.hideToolbar(editor2);
71227
72326
  comments.showCommentList();
72327
+ (_a2 = comments.getCommentList()) == null ? void 0 : _a2.setListType("current");
71228
72328
  const offset = getChildOffset(block, child2);
71229
72329
  const range = createBlockSimpleRange(this.editor, block, offset.start, offset.end);
71230
72330
  const comment = addCommentToTextBlocks(editor2, range, comments.commentProvider);
@@ -71249,15 +72349,16 @@ ${codeText}
71249
72349
  order: 60
71250
72350
  }],
71251
72351
  executeCommand: (editor2, block, item) => {
72352
+ var _a2;
71252
72353
  if (item.id === "add-comment-to-old-doc") {
71253
72354
  const comments = editor2.getCustom("editor-comments");
71254
72355
  if (!comments) {
71255
72356
  return;
71256
72357
  }
71257
72358
  editor2.selection.selectBlock(block, 0, getBlockTextLength$6(editor2, block), { noScroll: true });
71258
- const editorComments = editor2.getCustom("editor-comments");
71259
- editorComments.showCommentList();
71260
- addCommentToBlock(editor2, block, editorComments.commentProvider);
72359
+ comments.showCommentList();
72360
+ (_a2 = comments.getCommentList()) == null ? void 0 : _a2.setListType("current");
72361
+ addCommentToBlock(editor2, block, comments.commentProvider);
71261
72362
  }
71262
72363
  }
71263
72364
  };
@@ -71282,12 +72383,14 @@ ${codeText}
71282
72383
  }];
71283
72384
  }
71284
72385
  executeCommand(editor, command, options) {
72386
+ var _a;
71285
72387
  if (command.id === "add-comment-to-old-doc/text") {
71286
72388
  const comments = editor.getCustom("editor-comments");
71287
72389
  if (!comments) {
71288
72390
  return;
71289
72391
  }
71290
72392
  comments.showCommentList();
72393
+ (_a = comments.getCommentList()) == null ? void 0 : _a.setListType("current");
71291
72394
  const range = editor.selection.range;
71292
72395
  if (!range.isSimple()) {
71293
72396
  if (isFullSelectedOneComplexBlock(editor, range)) {
@@ -73542,6 +74645,38 @@ ${codeText}
73542
74645
  }
73543
74646
  }
73544
74647
  };
74648
+ const zhHK$j = {
74649
+ table: {
74650
+ cellBackground: "\u55AE\u5143\u683C\u80CC\u666F\u8272",
74651
+ deleteSelectRow: "\u522A\u9664\u6240\u9078\u884C",
74652
+ deleteSelectCol: "\u522A\u9664\u6240\u9078\u5217",
74653
+ mergeCell: "\u5408\u4F75\u55AE\u5143\u683C",
74654
+ splitCell: "\u62C6\u5206\u55AE\u5143\u683C",
74655
+ tableConfigKey: "\u8868\u683C\u8A2D\u7F6E",
74656
+ deleteTable: "\u522A\u9664\u8868\u683C",
74657
+ adjustColumnWidthsEvenly: "\u5E73\u5747\u5206\u914D\u5217\u5BEC",
74658
+ insertCol: "\u63D2\u5165\u5217",
74659
+ insertRow: "\u63D2\u5165\u884C",
74660
+ deleteCol: "\u522A\u9664\u5217",
74661
+ deleteRow: "\u522A\u9664\u884C",
74662
+ tableConfig: {
74663
+ rowTitle: "\u884C\u6A19\u984C",
74664
+ colTitle: "\u5217\u6A19\u984C",
74665
+ stripeStyle: "\u689D\u7D0B\u6A23\u5F0F",
74666
+ hideBorder: "\u96B1\u85CF\u8868\u683C\u7DDA",
74667
+ showBorder: "\u986F\u793A\u9336\u683C\u7DDA",
74668
+ showChart: "\u986F\u793A\u5716\u8868",
74669
+ hideChart: "\u96B1\u85CF\u5716\u8868"
74670
+ },
74671
+ title: "\u8868\u683C",
74672
+ abstract: "\u8868\u683C",
74673
+ commands: {
74674
+ setting: "\u8868\u683C\u8A2D\u7F6E",
74675
+ insertRightCol: "\u5411\u53F3\u63D2\u5165\u5217",
74676
+ insertBottomRow: "\u5411\u4E0B\u63D2\u5165\u884C"
74677
+ }
74678
+ }
74679
+ };
73545
74680
  const enUS$j = {
73546
74681
  table: {
73547
74682
  cellBackground: "Cell background color",
@@ -73608,6 +74743,7 @@ ${codeText}
73608
74743
  };
73609
74744
  i18n$1.mergeLang({
73610
74745
  "zh-CN": zhCN$j,
74746
+ "zh-HK": zhHK$j,
73611
74747
  "en-US": enUS$j,
73612
74748
  "ja-JP": jaJP$j
73613
74749
  });
@@ -74038,6 +75174,13 @@ ${codeText}
74038
75174
  markdown: "\u7C98\u8D34\u4E3A Markdown"
74039
75175
  }
74040
75176
  };
75177
+ const zhHK$i = {
75178
+ pasteSpecial: {
75179
+ originFormats: "\u4FDD\u6301\u539F\u6A23\u5F0F",
75180
+ plainText: "\u7C98\u8CBC\u7D14\u6587\u672C",
75181
+ markdown: "\u7C98\u8CBC\u70BA Markdown"
75182
+ }
75183
+ };
74041
75184
  const enUS$i = {
74042
75185
  pasteSpecial: {
74043
75186
  originFormats: "Keep source formatting",
@@ -74054,6 +75197,7 @@ ${codeText}
74054
75197
  };
74055
75198
  i18n$1.mergeLang({
74056
75199
  "zh-CN": zhCN$i,
75200
+ "zh-HK": zhHK$i,
74057
75201
  "en-US": enUS$i,
74058
75202
  "ja-JP": jaJP$i
74059
75203
  });
@@ -76501,14 +77645,14 @@ ${docStr}
76501
77645
  }
76502
77646
  function isList(elem) {
76503
77647
  var _a;
76504
- const styles = Array.from(((_a = elem.getAttribute("style")) != null ? _a : "").split(" "));
76505
- return styles.findIndex((style2) => style2.startsWith("level")) !== -1;
77648
+ const styles2 = Array.from(((_a = elem.getAttribute("style")) != null ? _a : "").split(" "));
77649
+ return styles2.findIndex((style2) => style2.startsWith("level")) !== -1;
76506
77650
  }
76507
77651
  function getOfficeListGroupId(elem) {
76508
77652
  var _a;
76509
- const styles = Array.from(((_a = elem.getAttribute("style")) != null ? _a : "").split(" "));
76510
- for (let i = 0; i < styles.length; i++) {
76511
- const name = styles[i];
77653
+ const styles2 = Array.from(((_a = elem.getAttribute("style")) != null ? _a : "").split(" "));
77654
+ for (let i = 0; i < styles2.length; i++) {
77655
+ const name = styles2[i];
76512
77656
  if (name.startsWith("mso-list:")) {
76513
77657
  return name;
76514
77658
  }
@@ -76517,9 +77661,9 @@ ${docStr}
76517
77661
  }
76518
77662
  function getLevel(elem) {
76519
77663
  var _a, _b;
76520
- const styles = Array.from(((_a = elem.getAttribute("style")) != null ? _a : "").split(" "));
76521
- for (let i = 0; i < styles.length; i++) {
76522
- const name = styles[i];
77664
+ const styles2 = Array.from(((_a = elem.getAttribute("style")) != null ? _a : "").split(" "));
77665
+ for (let i = 0; i < styles2.length; i++) {
77666
+ const name = styles2[i];
76523
77667
  if (name.startsWith("level")) {
76524
77668
  const level = (_b = Number.parseInt(name.substring(5), 10)) != null ? _b : void 0;
76525
77669
  if (level) {
@@ -78058,6 +79202,18 @@ ${docStr}
78058
79202
  replacePlaceholder: "\u66FF\u6362\u4E3A"
78059
79203
  }
78060
79204
  };
79205
+ const zhHK$h = {
79206
+ find: {
79207
+ findLabel: "\u67E5\u627E:",
79208
+ replaceLabel: "\u66FF\u63DB:",
79209
+ findButton: "\u67E5\u627E",
79210
+ replaceButton: "\u66FF\u63DB",
79211
+ replaceAllButton: "\u5168\u90E8\u66FF\u63DB",
79212
+ moreButton: "",
79213
+ findPlaceholder: "\u5728\u6587\u6A94\u5167\u67E5\u627E",
79214
+ replacePlaceholder: "\u66FF\u63DB\u70BA"
79215
+ }
79216
+ };
78061
79217
  const enUS$h = {
78062
79218
  find: {
78063
79219
  findLabel: "Search:",
@@ -78084,6 +79240,7 @@ ${docStr}
78084
79240
  };
78085
79241
  i18n$1.mergeLang({
78086
79242
  "zh-CN": zhCN$h,
79243
+ "zh-HK": zhHK$h,
78087
79244
  "en-US": enUS$h,
78088
79245
  "ja-JP": jaJP$h
78089
79246
  });
@@ -78842,6 +79999,19 @@ ${docStr}
78842
79999
  uneditableBlockSelected: "\u9009\u4E2D\u533A\u57DF\u5305\u542B\u9501\u5B9A\u533A\u5757\uFF0C\u6682\u4E0D\u652F\u6301\u526A\u5207"
78843
80000
  }
78844
80001
  };
80002
+ const zhHK$g = {
80003
+ contextMenu: {
80004
+ copyMarkdown: "\u8907\u88FD\u70BA Markdown",
80005
+ paste: "\u7C98\u8CBC",
80006
+ copyImage: "\u8907\u88FD\u5716\u7247",
80007
+ copyImageUrl: "\u8907\u88FD\u5716\u7247\u5730\u5740",
80008
+ imageSaveAs: "\u5716\u7247\u53E6\u5B58\u70BA",
80009
+ newTabOpenImage: "\u65B0\u6A19\u7C64\u9801\u6253\u958B\u5716\u7247",
80010
+ selectBlock: "\u9078\u4E2D\u5340\u584A",
80011
+ selectAll: "\u9078\u4E2D\u5168\u6587",
80012
+ uneditableBlockSelected: "\u9078\u4E2D\u5340\u57DF\u5305\u542B\u9396\u5B9A\u5340\u584A\uFF0C\u66AB\u4E0D\u652F\u6301\u526A\u5207"
80013
+ }
80014
+ };
78845
80015
  const enUS$g = {
78846
80016
  contextMenu: {
78847
80017
  copyMarkdown: "Copy as Markdown",
@@ -78870,6 +80040,7 @@ ${docStr}
78870
80040
  };
78871
80041
  i18n$1.mergeLang({
78872
80042
  "zh-CN": zhCN$g,
80043
+ "zh-HK": zhHK$g,
78873
80044
  "en-US": enUS$g,
78874
80045
  "ja-JP": jaJP$g
78875
80046
  });
@@ -79433,6 +80604,20 @@ ${docStr}
79433
80604
  askAi: "\u8BE2\u95EE Copilot"
79434
80605
  }
79435
80606
  };
80607
+ const zhHK$f = {
80608
+ file: {
80609
+ abstract: "\u9644\u4EF6",
80610
+ commands: {
80611
+ download: "\u4E0B\u8F09",
80612
+ toLink: "\u8F49\u70BA\u6A19\u984C",
80613
+ toCard: "\u8F49\u70BA\u5361\u7247",
80614
+ comment: "\u6DFB\u52A0\u6279\u8A3B",
80615
+ preview: "\u9810\u89BD"
80616
+ },
80617
+ uploadedTime: "\u4E0A\u50B3\u65BC { time }",
80618
+ askAi: "\u8A62\u554F Copilot"
80619
+ }
80620
+ };
79436
80621
  const enUS$f = {
79437
80622
  file: {
79438
80623
  abstract: "Attachment",
@@ -79463,6 +80648,7 @@ ${docStr}
79463
80648
  };
79464
80649
  i18n$1.mergeLang({
79465
80650
  "zh-CN": zhCN$f,
80651
+ "zh-HK": zhHK$f,
79466
80652
  "en-US": enUS$f,
79467
80653
  "ja-JP": jaJP$f
79468
80654
  });
@@ -79548,6 +80734,50 @@ ${docStr}
79548
80734
  filterMemoed: "\u7B5B\u9009\u5DF2\u5907\u6CE8\u7684\u7248\u672C"
79549
80735
  }
79550
80736
  };
80737
+ const zhHK$e = {
80738
+ version: {
80739
+ latest: "\u6700\u65B0\u7248\u672C",
80740
+ update: "{name}\u4FEE\u6539",
80741
+ insert: "{name} \u6DFB\u52A0",
80742
+ delete: "{name} \u522A\u9664",
80743
+ goBack: "\u8FD4\u56DE",
80744
+ revertVersion: "\u9084\u539F\u5167\u5BB9",
80745
+ play: "\u64AD\u653E\u6B77\u53F2\u64CD\u4F5C",
80746
+ versionList: "\u6B77\u53F2\u7248\u672C ({count})",
80747
+ versionListHeader: "\u6B77\u53F2\u7248\u672C",
80748
+ unknown: "\u672A\u77E5\u7248\u672C",
80749
+ restoreFrom: "\u56DE\u6EFE\u81EA\u7248\u672C\u300C{from}\u300D",
80750
+ restoreInfo: "\u56DE\u6EFE\u7684\u7248\u672C\u66AB\u4E0D\u652F\u6301\u8207\u4E0A\u4E00\u7248\u672C\u5C0D\u6BD4",
80751
+ versionInfoLeft: '<span class="text-1">\u7576\u524D\u7248\u672C: </span><span class="name">{versionName}</span><span class="text-2"> \u8207</span>',
80752
+ versionInfoRight: '<span class="text-3">\u5C0D\u6BD4</span>',
80753
+ noSelectedVersion: "\u672A\u9078\u64C7\u7248\u672C",
80754
+ noMemoedVersion: "\u66AB\u7121\u5DF2\u5099\u8A3B\u7684\u6B77\u53F2\u7248\u672C",
80755
+ noFilterVersion: "\u66AB\u7121\u5339\u914D\u7D50\u679C",
80756
+ memo: "\u5099\u8A3B",
80757
+ revert: "\u56DE\u6EFE",
80758
+ filter: {
80759
+ all: "\u5168\u90E8",
80760
+ memoed: "\u5DF2\u5099\u8A3B",
80761
+ allVersions: "\u5168\u90E8\u6B77\u53F2\u7248\u672C",
80762
+ memoVersions: "\u5DF2\u5099\u8A3B\u7684\u6B77\u53F2\u7248\u672C"
80763
+ },
80764
+ textarea: {
80765
+ placeholder: "\u8ACB\u8F38\u5165\u7248\u672C\u5099\u8A3B"
80766
+ },
80767
+ tooltip: {
80768
+ help: "1. \u56DE\u6EFE\u7248\u672C\u4E0D\u652F\u6301\u8207\u56DE\u6EFE\u524D\u7248\u672C\u9032\u884C\u5C0D\u6BD4\uFF1B\n2. \u82E5\u5169\u500B\u7248\u672C\u4E4B\u9593\u5B58\u5728\u56DE\u6EFE\u7248\u672C\uFF0C\u5247\u4E0D\u652F\u6301\u5C0D\u6BD4\u3002",
80769
+ user: "\u7248\u672C\u7DE8\u8F2F\u8005\uFF1A{name}",
80770
+ auth: "\u66AB\u7121\u9801\u9762\u7DE8\u8F2F\u6B0A\u9650\uFF0C\u8ACB\u806F\u7E6B\u7BA1\u7406\u54E1"
80771
+ },
80772
+ dropdownHeader: "\u50C5\u5C55\u793A\u53EF\u8207\u7576\u524D\u7248\u672C\u9032\u884C\u5C0D\u6BD4\u7684\u6B77\u53F2\u7248\u672C",
80773
+ dropdown: {
80774
+ header: "\u6240\u6709\u53EF\u5C0D\u6BD4\u7684\u7248\u672C"
80775
+ },
80776
+ noVersions: "\u66AB\u7121\u53EF\u5C0D\u6BD4\u7684\u7248\u672C",
80777
+ lastVersion: "\u4E0A\u4E00\u7248\u672C",
80778
+ filterMemoed: "\u7BE9\u9078\u5DF2\u5099\u8A3B\u7684\u7248\u672C"
80779
+ }
80780
+ };
79551
80781
  const enUS$e = {
79552
80782
  version: {
79553
80783
  latest: "Latest",
@@ -79638,6 +80868,7 @@ ${docStr}
79638
80868
  };
79639
80869
  i18n$1.mergeLang({
79640
80870
  "zh-CN": zhCN$e,
80871
+ "zh-HK": zhHK$e,
79641
80872
  "en-US": enUS$e,
79642
80873
  "ja-JP": jaJP$e
79643
80874
  });
@@ -80123,6 +81354,8 @@ ${docStr}
80123
81354
  }
80124
81355
  onUpdateComment() {
80125
81356
  }
81357
+ onUpdateCommentResolver(commentId, local) {
81358
+ }
80126
81359
  }
80127
81360
  async function playHistoryData(doc2, versionHelper, historyData) {
80128
81361
  for (const data2 of historyData) {
@@ -81528,6 +82761,12 @@ ${docStr}
81528
82761
  collapse: "\u6536\u8D77"
81529
82762
  }
81530
82763
  };
82764
+ const zhHK$d = {
82765
+ expandCollapseButton: {
82766
+ expand: "\u5C55\u958B",
82767
+ collapse: "\u6536\u8D77"
82768
+ }
82769
+ };
81531
82770
  const enUS$d = {
81532
82771
  expandCollapseButton: {
81533
82772
  expand: "Expand",
@@ -81542,6 +82781,7 @@ ${docStr}
81542
82781
  };
81543
82782
  i18n$1.mergeLang({
81544
82783
  "zh-CN": zhCN$d,
82784
+ "zh-HK": zhHK$d,
81545
82785
  "en-US": enUS$d,
81546
82786
  "ja-JP": jaJP$d
81547
82787
  });
@@ -82378,6 +83618,13 @@ ${docStr}
82378
83618
  abstract: "\u6807\u9898\u76EE\u5F55"
82379
83619
  }
82380
83620
  };
83621
+ const zhHK$c = {
83622
+ toc: {
83623
+ name: "\u6A19\u984C\u76EE\u9304",
83624
+ empty: "\u7576\u524D\u9801\u9762\u66AB\u7121\u6A19\u984C\u6A23\u5F0F\u6587\u672C",
83625
+ abstract: "\u6A19\u984C\u76EE\u9304"
83626
+ }
83627
+ };
82381
83628
  const enUS$c = {
82382
83629
  toc: {
82383
83630
  name: "Toc",
@@ -82394,6 +83641,7 @@ ${docStr}
82394
83641
  };
82395
83642
  i18n$1.mergeLang({
82396
83643
  "zh-CN": zhCN$c,
83644
+ "zh-HK": zhHK$c,
82397
83645
  "en-US": enUS$c,
82398
83646
  "ja-JP": jaJP$c
82399
83647
  });
@@ -82880,6 +84128,14 @@ ${docStr}
82880
84128
  header: "\u63D0\u53CA\u6210\u5458"
82881
84129
  }
82882
84130
  };
84131
+ const zhHK$b = {
84132
+ mention: {
84133
+ abstract: "\u6210\u54E1",
84134
+ placeholder: "\u641C\u7D22\u6210\u54E1",
84135
+ noResult: "\u66AB\u7121\u5339\u914D\u7D50\u679C",
84136
+ header: "\u63D0\u53CA\u6210\u54E1"
84137
+ }
84138
+ };
82883
84139
  const enUS$b = {
82884
84140
  mention: {
82885
84141
  abstract: "Member",
@@ -82898,6 +84154,7 @@ ${docStr}
82898
84154
  };
82899
84155
  i18n$1.mergeLang({
82900
84156
  "zh-CN": zhCN$b,
84157
+ "zh-HK": zhHK$b,
82901
84158
  "en-US": enUS$b,
82902
84159
  "ja-JP": jaJP$b
82903
84160
  });
@@ -82909,6 +84166,14 @@ ${docStr}
82909
84166
  customizedMark: "\u81EA\u5B9A\u4E49"
82910
84167
  }
82911
84168
  };
84169
+ const zhHK$a = {
84170
+ templates: {
84171
+ title: "\u9078\u64C7\u6A21\u677F\uFF0C\u5FEB\u901F\u5275\u5EFA",
84172
+ create: "\u65B0\u5EFA\u6A21\u677F",
84173
+ choose: "\u5168\u90E8\u6A21\u677F",
84174
+ customizedMark: "\u81EA\u5B9A\u7FA9"
84175
+ }
84176
+ };
82912
84177
  const enUS$a = {
82913
84178
  templates: {
82914
84179
  title: "Choose a template",
@@ -82927,6 +84192,7 @@ ${docStr}
82927
84192
  };
82928
84193
  i18n$1.mergeLang({
82929
84194
  "zh-CN": zhCN$a,
84195
+ "zh-HK": zhHK$a,
82930
84196
  "en-US": enUS$a,
82931
84197
  "ja-JP": jaJP$a
82932
84198
  });
@@ -83125,6 +84391,20 @@ ${docStr}
83125
84391
  }
83126
84392
  }
83127
84393
  };
84394
+ const zhHK$9 = {
84395
+ callout: {
84396
+ name: "\u9AD8\u4EAE\u584A",
84397
+ command: {
84398
+ presetInfo: "\u5E38\u898F\u6A23\u5F0F",
84399
+ presetAlert: "\u8B66\u793A\u6A23\u5F0F",
84400
+ clearEmoji: "\u522A\u9664\u5716\u6A19",
84401
+ background: "\u80CC\u666F\u984F\u8272"
84402
+ },
84403
+ icon: {
84404
+ toggleIcon: "\u9EDE\u64CA\u66F4\u63DB\u5716\u6A19"
84405
+ }
84406
+ }
84407
+ };
83128
84408
  const enUS$9 = {
83129
84409
  callout: {
83130
84410
  name: "Callout",
@@ -83155,6 +84435,7 @@ ${docStr}
83155
84435
  };
83156
84436
  i18n$1.mergeLang({
83157
84437
  "zh-CN": zhCN$9,
84438
+ "zh-HK": zhHK$9,
83158
84439
  "en-US": enUS$9,
83159
84440
  "ja-JP": jaJP$9
83160
84441
  });
@@ -84690,6 +85971,23 @@ ${docStr}
84690
85971
  }
84691
85972
  }
84692
85973
  };
85974
+ const zhHK$8 = {
85975
+ graph: {
85976
+ empty: "\u8F38\u5165\u4EE3\u78BC\u5C55\u793A\u7E6A\u5716",
85977
+ readonlyEmpty: "\u66AB\u7121\u7E6A\u5716",
85978
+ errorTips: "\u5167\u5BB9\u7121\u6548\uFF0C\u7121\u6CD5\u751F\u6210\u7E6A\u5716",
85979
+ help: "\u5E6B\u52A9",
85980
+ plantuml: "PlantUML",
85981
+ mermaid: "Mermaid",
85982
+ flowchart: "Flowchart",
85983
+ command: {
85984
+ name: "\u6587\u672C\u7E6A\u5716",
85985
+ bothShow: "\u5C55\u793A\u4EE3\u78BC\u8207\u7E6A\u5716",
85986
+ codeShow: "\u50C5\u5C55\u793A\u4EE3\u78BC",
85987
+ drawShow: "\u50C5\u5C55\u793A\u7E6A\u5716"
85988
+ }
85989
+ }
85990
+ };
84693
85991
  const enUS$8 = {
84694
85992
  graph: {
84695
85993
  empty: "Input code to generate diagram",
@@ -84726,6 +86024,7 @@ ${docStr}
84726
86024
  };
84727
86025
  i18n$1.mergeLang({
84728
86026
  "zh-CN": zhCN$8,
86027
+ "zh-HK": zhHK$8,
84729
86028
  "en-US": enUS$8,
84730
86029
  "ja-JP": jaJP$8
84731
86030
  });
@@ -85059,7 +86358,7 @@ ${data2.flowchartText}
85059
86358
  }
85060
86359
  const DrawioLang = {
85061
86360
  "zh-CN": "zh",
85062
- "zh-TW": "zh-tw",
86361
+ "zh-HK": "zh-tw",
85063
86362
  "ja-JP": "ja",
85064
86363
  "en-US": "en"
85065
86364
  };
@@ -85736,6 +87035,24 @@ ${data2.flowchartText}
85736
87035
  }
85737
87036
  }
85738
87037
  };
87038
+ const zhHK$7 = {
87039
+ drawio: {
87040
+ title: "\u6D41\u7A0B\u5716/UML",
87041
+ empty: "\u7A7A\u5716\u8868",
87042
+ loading: "\u52A0\u8F09\u4E2D",
87043
+ abstract: "\u6D41\u7A0B\u5716/UML",
87044
+ errorTips: "\u6D41\u7A0B\u5716/UML\u52A0\u8F09\u5931\u6557",
87045
+ errorSubTips: "\u7DB2\u7D61\u670D\u52D9\u7570\u5E38\uFF0C\u4F60\u53EF\u4EE5",
87046
+ warnTips: "\u6D41\u7A0B\u5716/UML \u8CC7\u6E90\u7372\u53D6\u5931\u6557\uFF0C\u7121\u6CD5\u9032\u884C\u7DE8\u8F2F\u3002",
87047
+ retry: "\u91CD\u8A66",
87048
+ save: "\u4FDD\u5B58\u4E2D",
87049
+ exit: "\u9000\u51FA",
87050
+ error: {
87051
+ exitConfirm: "\u9000\u51FA\u7DE8\u8F2F",
87052
+ exitMessage: "\u9000\u51FA\u7DE8\u8F2F\u5F8C\uFF0C\u6240\u6709\u66F4\u6539\u7121\u6CD5\u4FDD\u5B58\u3002\u662F\u5426\u78BA\u5B9A\u9000\u51FA\uFF1F"
87053
+ }
87054
+ }
87055
+ };
85739
87056
  const jaJP$7 = {
85740
87057
  drawio: {
85741
87058
  title: "\u30D5\u30ED\u30FC\u30C1\u30E3\u30FC\u30C8/UML",
@@ -85757,6 +87074,7 @@ ${data2.flowchartText}
85757
87074
  const langs = {
85758
87075
  "en-US": enUS$7,
85759
87076
  "zh-CN": zhCN$7,
87077
+ "zh-HK": zhHK$7,
85760
87078
  "ja-JP": jaJP$7
85761
87079
  };
85762
87080
  i18n$1.mergeLang(langs);
@@ -86832,6 +88150,14 @@ ${data2.plantumlText}
86832
88150
  }
86833
88151
  }
86834
88152
  };
88153
+ const zhHK$6 = {
88154
+ mobile: {
88155
+ insert: "\u63D2\u5165",
88156
+ commands: {
88157
+ select: "\u9078\u64C7"
88158
+ }
88159
+ }
88160
+ };
86835
88161
  const enUS$6 = {
86836
88162
  mobile: {
86837
88163
  insert: "Insert",
@@ -86850,6 +88176,7 @@ ${data2.plantumlText}
86850
88176
  };
86851
88177
  i18n$1.mergeLang({
86852
88178
  "zh-CN": zhCN$6,
88179
+ "zh-HK": zhHK$6,
86853
88180
  "en-US": enUS$6,
86854
88181
  "ja-JP": jaJP$6
86855
88182
  });
@@ -86980,6 +88307,15 @@ ${data2.plantumlText}
86980
88307
  currentCols: "{currentColumns} \u680F"
86981
88308
  }
86982
88309
  };
88310
+ const zhHK$5 = {
88311
+ layout: {
88312
+ title: "\u5206\u6B04",
88313
+ columnDrag: "\u9577\u6309\u62D6\u62FD\n\u9EDE\u64CA\u53EF\u64CD\u4F5C\u522A\u9664",
88314
+ insertColumn: "\u63D2\u5165\u5206\u6B04",
88315
+ selectColumn: "\u9078\u64C7\u5206\u6B04",
88316
+ currentCols: "{currentColumns} \u6B04"
88317
+ }
88318
+ };
86983
88319
  const enUS$5 = {
86984
88320
  layout: {
86985
88321
  title: "Column",
@@ -87000,6 +88336,7 @@ ${data2.plantumlText}
87000
88336
  };
87001
88337
  i18n$1.mergeLang({
87002
88338
  "zh-CN": zhCN$5,
88339
+ "zh-HK": zhHK$5,
87003
88340
  "en-US": enUS$5,
87004
88341
  "ja-JP": jaJP$5
87005
88342
  });
@@ -89095,6 +90432,32 @@ ${data2.plantumlText}
89095
90432
  }
89096
90433
  }
89097
90434
  };
90435
+ const zhHK$4 = {
90436
+ webpage: {
90437
+ title: "\u7DB2\u9801",
90438
+ youku: "\u512A\u9177\u8996\u983B",
90439
+ modao: "\u58A8\u5200",
90440
+ tencent: "\u9A30\u8A0A\u8996\u983B",
90441
+ bilibili: "Bilibili",
90442
+ figma: "Figma",
90443
+ dialog: {
90444
+ helpContent: "\u56E0\u76EE\u6A19\u7DB2\u9801\u7684\u9650\u5236\uFF0C\u90E8\u5206\u7DB2\u9801\u53EF\u80FD\u7121\u6CD5\u6210\u529F\u9810\u89BD\u3002",
90445
+ helpLink: "\u5982\u4F55\u7372\u53D6\u9023\u7D50",
90446
+ label: "\u7DB2\u9801\u5730\u5740",
90447
+ placeholder: "\u8ACB\u8F38\u5165",
90448
+ title: "\u63D2\u5165{name}",
90449
+ errorEnterUrl: "\u8ACB\u8F38\u5165\u7DB2\u9801\u5730\u5740",
90450
+ unsupportedUrl: "\u66AB\u4E0D\u652F\u6301\u63D2\u5165\u8A72\u9023\u7D50\u5167\u5BB9",
90451
+ okText: "\u78BA\u5B9A",
90452
+ cancelText: "\u53D6\u6D88"
90453
+ },
90454
+ abstract: "\u7DB2\u9801",
90455
+ command: {
90456
+ refresh: "\u5237\u65B0\u9801\u9762",
90457
+ openPage: "\u6253\u958B\u539F\u59CB\u9801\u9762"
90458
+ }
90459
+ }
90460
+ };
89098
90461
  const enUS$4 = {
89099
90462
  webpage: {
89100
90463
  title: "Webpage",
@@ -89149,6 +90512,7 @@ ${data2.plantumlText}
89149
90512
  };
89150
90513
  i18n$1.mergeLang({
89151
90514
  "zh-CN": zhCN$4,
90515
+ "zh-HK": zhHK$4,
89152
90516
  "en-US": enUS$4,
89153
90517
  "ja-JP": jaJP$4
89154
90518
  });
@@ -89160,6 +90524,12 @@ ${data2.plantumlText}
89160
90524
  abstract: "\u5206\u5272\u7EBF"
89161
90525
  }
89162
90526
  };
90527
+ const zhHK$3 = {
90528
+ dividingLine: {
90529
+ type: "\u5206\u5272\u7DDA",
90530
+ abstract: "\u5206\u5272\u7DDA"
90531
+ }
90532
+ };
89163
90533
  const enUS$3 = {
89164
90534
  dividingLine: {
89165
90535
  type: "Dividing-Line",
@@ -89174,6 +90544,7 @@ ${data2.plantumlText}
89174
90544
  };
89175
90545
  i18n$1.mergeLang({
89176
90546
  "zh-CN": zhCN$3,
90547
+ "zh-HK": zhHK$3,
89177
90548
  "en-US": enUS$3,
89178
90549
  "ja-JP": jaJP$3
89179
90550
  });
@@ -89253,6 +90624,25 @@ ${data2.plantumlText}
89253
90624
  }
89254
90625
  }
89255
90626
  };
90627
+ const zhHK$2 = {
90628
+ media: {
90629
+ upload: {
90630
+ failed: '<div class="line-1">{name}\u4E0A\u50B3\u5931\u6557</div><div class="line-2">\u7DB2\u7D61\u670D\u52D9\u7570\u5E38\uFF0C\u4F60\u53EF\u4EE5 <span class="retry-upload">\u91CD\u8A66</span></div>',
90631
+ maxSizeFailed: '<div class="line-1">{name}\u4E0A\u50B3\u5931\u6557</div><div class="line-2">\u6587\u4EF6\u5927\u5C0F\u8D85\u904E\u9650\u5236\uFF0C\u8ACB\u91CD\u65B0\u9078\u64C7\u6587\u4EF6</div>'
90632
+ },
90633
+ load: {
90634
+ failed: '<div class="line-1">{name}\u52A0\u8F09\u5931\u6557</div><div class="line-2">\u7DB2\u7D61\u670D\u52D9\u7570\u5E38\uFF0C\u4F60\u53EF\u4EE5 <span class="retry-upload">\u91CD\u8A66</span></div>'
90635
+ },
90636
+ audio: {
90637
+ menuItem: "\u97F3\u983B",
90638
+ abstract: "\u97F3\u983B"
90639
+ },
90640
+ video: {
90641
+ menuItem: "\u8996\u983B",
90642
+ abstract: "\u8996\u983B"
90643
+ }
90644
+ }
90645
+ };
89256
90646
  const enUS$2 = {
89257
90647
  media: {
89258
90648
  upload: {
@@ -89293,6 +90683,7 @@ ${data2.plantumlText}
89293
90683
  };
89294
90684
  i18n$1.mergeLang({
89295
90685
  "zh-CN": zhCN$2,
90686
+ "zh-HK": zhHK$2,
89296
90687
  "en-US": enUS$2,
89297
90688
  "ja-JP": jaJP$2
89298
90689
  });
@@ -90294,6 +91685,9 @@ ${data2.plantumlText}
90294
91685
  localUpdateComment(comment, doc2) {
90295
91686
  this.doc.localUpdateComment(comment, doc2);
90296
91687
  }
91688
+ localUpdateCommentResolver(commentId, resolver) {
91689
+ this.doc.localUpdateCommentResolver(commentId, resolver);
91690
+ }
90297
91691
  onCreateComment(commentId, local) {
90298
91692
  Array.from(this.listeners.values()).forEach((listener) => listener.onCreateComment(commentId, local));
90299
91693
  }
@@ -90303,6 +91697,9 @@ ${data2.plantumlText}
90303
91697
  onUpdateComment(commentId, local) {
90304
91698
  Array.from(this.listeners.values()).forEach((listener) => listener.onUpdateComment(commentId, local));
90305
91699
  }
91700
+ onUpdateCommentResolver(commentId, local) {
91701
+ Array.from(this.listeners.values()).forEach((listener) => listener.onUpdateCommentResolver(commentId, local));
91702
+ }
90306
91703
  addListener(callback) {
90307
91704
  this.listeners.add(callback);
90308
91705
  }
@@ -90328,9 +91725,10 @@ ${data2.plantumlText}
90328
91725
  constructor(editor, localDoc) {
90329
91726
  __publicField(this, "_listeners", /* @__PURE__ */ new Set());
90330
91727
  __publicField(this, "_doc");
91728
+ var _a, _b;
90331
91729
  this.editor = editor;
90332
91730
  this.localDoc = localDoc;
90333
- this._doc = this.localDoc.toJSON();
91731
+ this._doc = ((_b = (_a = this.localDoc).rawData) == null ? void 0 : _b.call(_a)) || this.localDoc.toJSON();
90334
91732
  }
90335
91733
  get doc() {
90336
91734
  return this._doc;
@@ -90385,6 +91783,17 @@ ${data2.plantumlText}
90385
91783
  this._doc.comments[id] = shareDBComment;
90386
91784
  Array.from(this._listeners.values()).forEach((listener) => listener.onUpdateComment(id, true));
90387
91785
  }
91786
+ localUpdateCommentResolver(commentId, resolver) {
91787
+ const comment = this.getComment(commentId);
91788
+ if (comment) {
91789
+ if (resolver) {
91790
+ comment.resolver = resolver;
91791
+ } else {
91792
+ delete comment.resolver;
91793
+ }
91794
+ Array.from(this._listeners.values()).forEach((listener) => listener.onUpdateCommentResolver(commentId, true));
91795
+ }
91796
+ }
90388
91797
  createCommentEditor(parent, childDoc) {
90389
91798
  const commentEditor = createCommentEditor(this.editor, {
90390
91799
  root: parent,
@@ -90430,6 +91839,36 @@ ${data2.plantumlText}
90430
91839
  uploadResourceNoPopup: "\u6587\u4EF6\u8D44\u6E90\u4E0A\u4F20\u5F02\u5E38\uFF0C\u4E3A\u907F\u514D\u6570\u636E\u4E22\u5931\uFF0C\u5DF2\u6682\u65F6\u7981\u7528\u7F16\u8F91\u3002\u8BF7\u590D\u5236\u8FD8\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\uFF0C\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5\u3002"
90431
91840
  }
90432
91841
  };
91842
+ const zhHK$1 = {
91843
+ placeholder: {
91844
+ common: {
91845
+ title: "\u8ACB\u8F38\u5165\u6A19\u984C",
91846
+ mobileTitle: "\u8ACB\u8F38\u5165\u6A19\u984C",
91847
+ readonlyTitle: "\u8ACB\u8F38\u5165\u6A19\u984C",
91848
+ content: "\u9EDE\u64CA + \uFF0C\u6216\u8F38\u5165 / \u5FEB\u6377\u63D2\u5165\u7D44\u4EF6",
91849
+ contentInContainer: "\u8F38\u5165 / \u5FEB\u6377\u63D2\u5165\u7D44\u4EF6",
91850
+ contentInCallout: "\u8ACB\u8F38\u5165"
91851
+ },
91852
+ local: {
91853
+ readonlyTitle: "\u672A\u547D\u540D"
91854
+ }
91855
+ },
91856
+ copyCutProperty: {
91857
+ copy: "\u8907\u88FD",
91858
+ cut: "\u526A\u5207",
91859
+ unsafeEnvTips: "\u7531\u65BC\u7576\u524D http \u8A2A\u554F\u74B0\u5883\u4E0B\u7684\u9650\u5236\uFF0C\u8ACB\u4F7F\u7528\u5FEB\u6377\u9375({shortCut}) {operation}",
91860
+ limitedEnvTips: "\u7531\u65BC\u700F\u89BD\u5668\u9650\u5236\uFF0C\u8ACB\u4F7F\u7528 {shortCut} \u7C98\u8CBC"
91861
+ },
91862
+ error: {
91863
+ retry: "\u91CD\u8A66",
91864
+ network: "\u670D\u52D9\u9023\u63A5\u7570\u5E38\uFF0C\u6B63\u5728\u5617\u8A66\u91CD\u9023\u3002\u70BA\u907F\u514D\u5167\u5BB9\u7121\u6CD5\u540C\u6B65\uFF0C\u5DF2\u66AB\u6642\u7981\u7528\u7DE8\u8F2F\u3002\u8ACB\u5728\u670D\u52D9\u9023\u63A5\u5F8C\u7E7C\u7E8C\u3002",
91865
+ networkPopup: "\u670D\u52D9\u9023\u63A5\u7570\u5E38\uFF0C\u6B63\u5728\u5617\u8A66\u91CD\u9023...",
91866
+ uploadResourceError: "\u6578\u64DA\u4FDD\u5B58\u7570\u5E38",
91867
+ uploadResourceErrorMessage: "\u8CC7\u6E90\u4FDD\u5B58\u5931\u6557\uFF0C\u8ACB\u7A0D\u5F8C\u91CD\u8A66\u3002",
91868
+ uploadResourcePopup: "\u8CC7\u6E90\u4E0A\u50B3\u7570\u5E38\uFF0C\u7121\u6CD5\u4FDD\u5B58\u6578\u64DA\u3002\u8ACB\u8907\u88FD\u9084\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\uFF0C\u5237\u65B0\u9801\u9762\u5F8C\u91CD\u8A66\u3002",
91869
+ uploadResourceNoPopup: "\u6587\u4EF6\u8CC7\u6E90\u4E0A\u50B3\u7570\u5E38\uFF0C\u70BA\u907F\u514D\u6578\u64DA\u4E1F\u5931\uFF0C\u5DF2\u66AB\u6642\u7981\u7528\u7DE8\u8F2F\u3002\u8ACB\u8907\u88FD\u9084\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\uFF0C\u5237\u65B0\u9801\u9762\u5F8C\u91CD\u8A66\u3002"
91870
+ }
91871
+ };
90433
91872
  const enUS$1 = {
90434
91873
  placeholder: {
90435
91874
  common: {
@@ -90492,6 +91931,7 @@ ${data2.plantumlText}
90492
91931
  };
90493
91932
  i18n$1.mergeLang({
90494
91933
  "zh-CN": zhCN$1,
91934
+ "zh-HK": zhHK$1,
90495
91935
  "en-US": enUS$1,
90496
91936
  "ja-JP": jaJP$1
90497
91937
  });
@@ -90726,7 +92166,8 @@ ${data2.plantumlText}
90726
92166
  this._editor = editor;
90727
92167
  }
90728
92168
  handleError(error2, customMessage) {
90729
- console.error("wiz-editor error:", error2);
92169
+ console.error(`[${new Date().toLocaleString()}] wiz-editor error: ${error2}
92170
+ ${JSON.stringify(error2, null, 2)}`);
90730
92171
  if (this._editor) {
90731
92172
  this._editor.readonly = true;
90732
92173
  }
@@ -91123,8 +92564,8 @@ ${data2.plantumlText}
91123
92564
  const inlineStyles = attributesOfText(text2, "inlineStyle");
91124
92565
  if (inlineStyles == null)
91125
92566
  return;
91126
- const styles = inlineStyles.split(";");
91127
- for (const style2 of styles) {
92567
+ const styles2 = inlineStyles.split(";");
92568
+ for (const style2 of styles2) {
91128
92569
  const pair = style2.split(":");
91129
92570
  if (pair.length !== 2)
91130
92571
  continue;
@@ -92798,6 +94239,20 @@ ${data2.plantumlText}
92798
94239
  unorderedList: "\u65E0\u5E8F\u5217\u8868"
92799
94240
  }
92800
94241
  };
94242
+ const zhHK = {
94243
+ toolbar: {
94244
+ undo: "\u64A4\u92B7",
94245
+ redo: "\u91CD\u505A",
94246
+ insert: "\u63D2\u5165",
94247
+ findReplace: "\u67E5\u627E\u548C\u66FF\u63DB",
94248
+ image: "\u63D2\u5165\u5716\u7247",
94249
+ link: "\u63D2\u5165\u9023\u7D50",
94250
+ quote: "\u5F15\u7528",
94251
+ checkList: "\u4EFB\u52D9\u5217\u8868",
94252
+ orderedList: "\u6709\u5E8F\u5217\u8868",
94253
+ unorderedList: "\u7121\u5E8F\u5217\u8868"
94254
+ }
94255
+ };
92801
94256
  const enUS = {
92802
94257
  toolbar: {
92803
94258
  undo: "Undo",
@@ -92828,6 +94283,7 @@ ${data2.plantumlText}
92828
94283
  };
92829
94284
  i18n$1.mergeLang({
92830
94285
  "zh-CN": zhCN,
94286
+ "zh-HK": zhHK,
92831
94287
  "en-US": enUS,
92832
94288
  "ja-JP": jaJP
92833
94289
  });
@@ -92940,6 +94396,7 @@ ${data2.plantumlText}
92940
94396
  id: options.id,
92941
94397
  scrollContainer: options == null ? void 0 : options.scrollContainer,
92942
94398
  enableComments: options == null ? void 0 : options.enableComments,
94399
+ enableResolveComments: options == null ? void 0 : options.enableResolveComments,
92943
94400
  enableContextMenu: options == null ? void 0 : options.enableContextMenu,
92944
94401
  components: {
92945
94402
  blocks: [...StandardBlocks, ...((_d = options == null ? void 0 : options.components) == null ? void 0 : _d.blocks) || []],
@@ -93177,7 +94634,7 @@ ${data2.plantumlText}
93177
94634
  }
93178
94635
  }
93179
94636
  });
93180
- editor.version = "2.8.27";
94637
+ editor.version = "2.8.28-beta.11";
93181
94638
  return editor;
93182
94639
  }
93183
94640
  function isDoc(doc2) {
@@ -93199,6 +94656,7 @@ ${data2.plantumlText}
93199
94656
  const editor = createEditor(root2, doc2, {
93200
94657
  id: options.id,
93201
94658
  scrollContainer: options == null ? void 0 : options.scrollContainer,
94659
+ enableResolveComments: options == null ? void 0 : options.enableResolveComments,
93202
94660
  components: {
93203
94661
  blocks: [...StandardBlocks, ...(_f = (_e = options.components) == null ? void 0 : _e.blocks) != null ? _f : []],
93204
94662
  commandProviders: [new TableBlockCommandProvider()],
@@ -93290,7 +94748,7 @@ ${data2.plantumlText}
93290
94748
  }
93291
94749
  });
93292
94750
  OnesEditorToolbar.register(editor);
93293
- editor.version = "2.8.27";
94751
+ editor.version = "2.8.28-beta.11";
93294
94752
  return editor;
93295
94753
  }
93296
94754
  async function showDocVersions(editor, options, serverUrl) {
@@ -139110,6 +140568,7 @@ ${data2.plantumlText}
139110
140568
  exports2.CheckMarkIcon = CheckMarkIcon;
139111
140569
  exports2.CheckboxIcon = CheckboxIcon;
139112
140570
  exports2.CircleAddIcon = CircleAddIcon;
140571
+ exports2.CircleCheckMarkIcon = CircleCheckMarkIcon;
139113
140572
  exports2.ClearIcon = ClearIcon;
139114
140573
  exports2.ClipboardProvider = ClipboardProvider;
139115
140574
  exports2.CloseIcon = CloseIcon;
@@ -139260,6 +140719,8 @@ ${data2.plantumlText}
139260
140719
  exports2.MoreItem = MoreItem;
139261
140720
  exports2.NextIcon = NextIcon;
139262
140721
  exports2.OnesEditorAutoSuggest = OnesEditorAutoSuggest;
140722
+ exports2.OnesEditorComments = OnesEditorComments;
140723
+ exports2.OnesEditorCommentsRender = OnesEditorCommentsRender;
139263
140724
  exports2.OnesEditorCustomDataWrapper = OnesEditorCustomDataWrapper;
139264
140725
  exports2.OnesEditorExclusiveBlock = OnesEditorExclusiveBlock;
139265
140726
  exports2.OnesEditorHoveringBlock = OnesEditorHoveringBlock;