Browse Source

change word style

master
godo 7 months ago
parent
commit
809bdf7fc5
  1. 23
      frontend/components.d.ts
  2. 1
      frontend/public/docx/assets/barcode.46ceef39.svg
  3. 1
      frontend/public/docx/assets/export-word.6fc25940.svg
  4. 1
      frontend/public/docx/assets/import-excel.386825e8.svg
  5. 1
      frontend/public/docx/assets/import-word.2526bde5.svg
  6. 1
      frontend/public/docx/assets/index.03fab396.css
  7. 142
      frontend/public/docx/assets/index.de73f97d.js
  8. 1
      frontend/public/docx/assets/qrcode.4bdbfd87.svg
  9. 423
      frontend/public/docx/assets/vendor.68ee6001.js
  10. 661
      frontend/public/docx/index.html
  11. 6
      frontend/src/system/applist.ts
  12. 655
      packages/word/index.html
  13. 7
      packages/word/package-lock.json
  14. 2
      packages/word/package.json
  15. 1
      packages/word/src/assets/images/barcode.svg
  16. 1
      packages/word/src/assets/images/export-word.svg
  17. 1
      packages/word/src/assets/images/import-excel.svg
  18. 1
      packages/word/src/assets/images/import-word.svg
  19. 1
      packages/word/src/assets/images/qrcode.svg
  20. 260
      packages/word/src/main.ts
  21. 4
      packages/word/src/plugins/docx/exportDocx.ts
  22. 148
      packages/word/src/style.css
  23. 426
      packages/word/yarn.lock

23
frontend/components.d.ts

@ -63,42 +63,19 @@ declare module 'vue' {
DownModelInfo: typeof import('./src/components/ai/DownModelInfo.vue')['default']
EditFileName: typeof import('./src/components/builtin/EditFileName.vue')['default']
EditType: typeof import('./src/components/builtin/EditType.vue')['default']
ElAlert: typeof import('element-plus/es')['ElAlert']
ElAside: typeof import('element-plus/es')['ElAside']
ElAvatar: typeof import('element-plus/es')['ElAvatar']
ElBadge: typeof import('element-plus/es')['ElBadge']
ElButton: typeof import('element-plus/es')['ElButton']
ElCard: typeof import('element-plus/es')['ElCard']
ElCarousel: typeof import('element-plus/es')['ElCarousel']
ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem']
ElCol: typeof import('element-plus/es')['ElCol']
ElCollapse: typeof import('element-plus/es')['ElCollapse']
ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
ElContainer: typeof import('element-plus/es')['ElContainer']
ElDialog: typeof import('element-plus/es')['ElDialog']
ElDrawer: typeof import('element-plus/es')['ElDrawer']
ElEmpty: typeof import('element-plus/es')['ElEmpty']
ElForm: typeof import('element-plus/es')['ElForm']
ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElHeader: typeof import('element-plus/es')['ElHeader']
ElIcon: typeof import('element-plus/es')['ElIcon']
ElImage: typeof import('element-plus/es')['ElImage']
ElInput: typeof import('element-plus/es')['ElInput']
ElOption: typeof import('element-plus/es')['ElOption']
ElPageHeader: typeof import('element-plus/es')['ElPageHeader']
ElPagination: typeof import('element-plus/es')['ElPagination']
ElPopover: typeof import('element-plus/es')['ElPopover']
ElProgress: typeof import('element-plus/es')['ElProgress']
ElRow: typeof import('element-plus/es')['ElRow']
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
ElSelect: typeof import('element-plus/es')['ElSelect']
ElSlider: typeof import('element-plus/es')['ElSlider']
ElSpace: typeof import('element-plus/es')['ElSpace']
ElTabPane: typeof import('element-plus/es')['ElTabPane']
ElTabs: typeof import('element-plus/es')['ElTabs']
ElTag: typeof import('element-plus/es')['ElTag']
ElText: typeof import('element-plus/es')['ElText']
ElTooltip: typeof import('element-plus/es')['ElTooltip']
Error: typeof import('./src/components/taskbar/Error.vue')['default']
FileIcon: typeof import('./src/components/builtin/FileIcon.vue')['default']
FileIconImg: typeof import('./src/components/builtin/FileIconImg.vue')['default']

1
frontend/public/docx/assets/barcode.46ceef39.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733147836538" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4315" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M876.893082 63.83998 876.893082 63.83998l20.440541 0c34.500768 0 62.489216 30.402427 62.489216 64.918545l0 100.941993-0.12996 0c0 16.569374-11.354606 22.409382-22.854521 22.409382s-22.854521-7.734148-22.854521-19.234063c0-0.210801-3.919263-0.372483-3.919263-0.583285l0-82.71998c0-22.99983-10.56052-35.974329-33.561373-35.974329l-32.781614 0 0 0-28.686343 0c-0.209778 0-1.360997-2.786463-1.555425-2.786463-11.499915 0-21.816888-12.213159-21.816888-23.713075s18.885116-20.813025 18.885116-20.813025l0-2.445702L876.893082 63.83998zM213.449905 66.285682l0-2.445702-66.344011 0 0 0L126.535393 63.83998c-34.499745 0-62.359256 30.402427-62.359256 64.918545l0 100.941993 0 0c0 16.569374 9.329483 22.409382 20.829398 22.409382s24.927739-8.528234 24.927739-20.028149c0-0.210801 4.001127 0.421602 4.001127 0.210801l0-82.71998c0-22.99983 10.431583-35.974329 33.431414-35.974329l49.499367 0 0 0 13.508665 0c0.194428 0 0.372483-2.786463 0.583285-2.786463 11.499915 0 22.060435-10.771321 22.060435-22.26305C233.016543 77.048817 230.036675 66.285682 213.449905 66.285682zM230.036675 567.026244l0-0.61603L230.036675 246.269893l-33.172517 0 0 320.140321 0 0.61603 0 210.008015 33.172517 0L230.036675 567.026244zM109.933273 795.140639c0-11.499915-11.369955-21.575388-22.870894-21.575388S64.175113 777.033235 64.175113 793.617959l0 0 0 105.637945c0 34.500768 27.859511 60.223616 62.359256 60.223616l70.328765 0 0 0 13.508665 0c0.194428 0 0.372483 0.679475 0.583285 0.679475 11.499915 0 22.060435-9.03784 22.060435-20.537755s-2.979868-20.537755-19.566638-20.537755l0 7.223518-66.344011 0 0-6.737448c-33.172517-2.623757-33.172517-19.922748-33.172517-41.139979l0-82.703607C113.933377 795.513122 109.933273 795.335067 109.933273 795.140639zM296.380686 567.026244l0-0.61603L296.380686 246.269893l-16.585747 0 0 320.140321 0 0.61603L279.794939 694.101431l16.585747 0L296.380686 567.026244zM312.966433 727.274972l-33.172517 0 0 49.758264 33.172517 0L312.966433 727.274972zM379.310444 567.026244l0-0.61603L379.310444 246.269893 362.724697 246.269893l0 320.140321 0 0.61603L362.724697 694.101431l16.585747 0L379.310444 567.026244zM395.89619 727.274972 362.724697 727.274972l0 49.758264 33.171494 0L395.89619 727.274972zM478.826971 567.026244l0-0.61603L478.826971 246.269893l-66.344011 0 0 320.140321 0 0.61603L412.482961 694.101431l66.344011 0L478.826971 567.026244zM478.826971 777.033235l0-49.758264-33.172517 0 0 49.758264L478.826971 777.033235zM611.514993 567.026244l0-0.61603L611.514993 246.269893l-49.758264 0 0 320.140321 0 0.61603L561.756729 694.101431l49.758264 0L611.514993 567.026244zM528.585235 777.033235l33.171494 0 0-49.758264-33.171494 0L528.585235 777.033235zM661.273257 566.410214 661.273257 246.269893l-16.584724 0 0 320.140321 0 0.61603L644.688533 694.101431l16.584724 0L661.273257 567.026244 661.273257 566.410214zM628.101763 777.033235l33.171494 0 0-49.758264-33.171494 0L628.101763 777.033235zM744.205061 566.410214 744.205061 246.269893l-16.58677 0 0 320.140321 0 0.61603L727.618291 694.101431l16.58677 0L744.205061 567.026244 744.205061 566.410214zM711.031521 777.033235l33.17354 0 0-49.758264-33.17354 0L711.031521 777.033235zM827.134819 567.026244l0-0.61603L827.134819 246.269893l-33.171494 0 0 320.140321 0 0.61603 0 210.008015 33.171494 0L827.134819 567.026244zM897.3326 959.479521c34.500768 0 62.489216-25.722848 62.489216-60.223616L959.821817 793.617959l-0.12996 0c0-16.584724-9.329483-20.052708-20.829398-20.052708s-24.879644 9.68764-24.879644 21.187555c0 0.226151-3.919263 0.759293-3.919263 0.971118l0 82.703607c0 20.700461 0 37.738509-33.171494 40.978297l0 6.89913-66.345034 0 0-7.223518c0 0-18.885116 9.329483-18.885116 20.829398s10.316973 20.246113 21.816888 20.246113c0.193405 0 1.344624-0.679475 1.555425-0.679475l28.686343 0 0 0L897.3326 959.477474z" p-id="4316"></path></svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

1
frontend/public/docx/assets/export-word.6fc25940.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733147899657" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7444" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M549.479399 746.787715h354.491817v62.464999H549.479399z" fill="#515151" p-id="7445"></path><path d="M741.56082 952.402919l-40.081858-48.410724 153.560039-125.97198-153.560039-125.971981 40.081858-48.410724L952.902431 778.020215 741.56082 952.402919z m48.410723-555.421596h-301.395668V95.585655h62.465998v238.930669h238.92967v62.464999z m-316.490926 388.847266h-54.137132l-50.492691-188.95847-50.492691 188.95847h-55.178115l-59.86254-252.984944h52.054166l38.520382 173.862213 45.808265-173.862213h60.903524L444.850576 709.307317l39.040874-176.464671h51.533674l-61.944507 252.984944zM203.317448 256.434576H417.78201v62.464999H203.317448v-62.464999z m0 125.450489H417.78201v62.465998H203.317448v-62.465998z" fill="#515151" p-id="7446"></path><path d="M131.4816 890.977904V132.02407h390.930232l233.724753 233.724753v163.450381h62.985491V339.721241L548.438416 69.558072H69.537093v883.88583h528.354029v-62.465998z" fill="#515151" p-id="7447"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

1
frontend/public/docx/assets/import-excel.386825e8.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733147926167" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8569" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M968.5 667.7H837.8v-91.5L601.3 713.4l236.5 136v-90.2h130.7z" fill="#353535" p-id="8570"></path><path d="M883.6 222L769.9 108.3C745 83.5 696.7 63.9 661.4 63.9h-383c-35.3 0-64 28.8-64 64V256h51V125.3c0-6.5 6.5-13.1 13.1-13.1h381.6c3.9 0 7.8 0 13.1 1.3v202.6h202.6c1.3 5.2 1.3 30.1 1.3 34v287.5l51 1.4V351.4c-0.1-35.3-21-104.6-44.5-129.4z m-159.5 44.4V135.7c3.9 2.6 6.5 5.2 9.1 7.8L847 257.3c2.6 2.6 5.2 5.2 7.8 9.1H724.1z" fill="#353535" p-id="8571"></path><path d="M601.3 381.5h209.1v60.1H601.3v-60.1zM877 895.1c0 6.5-6.5 13.1-13.1 13.1H278.4c-6.5 0-13.1-6.5-13.1-13.1V852h-51v43.1c0 35.3 28.8 64 64 64h586.8c35.3 0 64-28.8 64-64V787.9l-51 0.1v107.1H877zM542.4 314.8H64.1v478.4h478.4V314.8zM368.6 689.9l-65.3-96.7-28.8 44.4h28.8v53.6H156.9l107.2-156.8L170 393.2h78.4l56.2 82.3 56.2-82.3h78.4l-94.1 141.2 107.2 156.8h-83.6l-0.1-1.3z m232.7-189.5h209.1v60.1H601.3v-60.1z" fill="#353535" p-id="8572"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

1
frontend/public/docx/assets/import-word.2526bde5.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733147884810" class="icon" viewBox="0 0 1144 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6422" xmlns:xlink="http://www.w3.org/1999/xlink" width="35.75" height="32"><path d="M852.273292 0h6.360248c57.242236 6.360248 95.403727 44.521739 95.403727 95.403727v203.52795c0 19.080745-19.080745 31.801242-38.161491 31.801242s-38.161491-12.720497-38.16149-31.801242V101.763975c0-12.720497-12.720497-19.080745-19.080746-19.080745h-636.024844c-12.720497 0-19.080745 12.720497-19.080746 19.080745v171.726708h197.167702c31.801242 0 63.602484 25.440994 63.602485 63.602485v324.372671c0 31.801242-25.440994 63.602484-63.602485 63.602484H203.52795v203.52795c0 12.720497 12.720497 19.080745 19.080746 19.080746h629.664596c12.720497 0 25.440994-6.360248 25.440994-19.080746v-190.807453c0-19.080745 19.080745-38.161491 38.16149-38.161491s38.161491 12.720497 38.161491 31.801242v190.807454c0 50.881988-38.161491 95.403727-95.403727 101.763975H235.329193c-50.881988-6.360248-89.043478-44.521739-95.403727-95.403727V718.708075h-57.242236c-31.801242 0-63.602484-25.440994-63.602485-63.602485V330.732919c0-31.801242 25.440994-63.602484 63.602485-63.602484h57.242236V95.403727C139.925466 44.521739 178.086957 6.360248 228.968944 0H852.273292z m-95.403727 279.850932c12.720497-12.720497 31.801242-12.720497 38.161491-12.720497 12.720497 6.360248 25.440994 19.080745 25.440994 31.801242v89.043478c89.043478 0 152.645963 31.801242 203.52795 89.043479 57.242236 63.602484 82.68323 171.726708 69.962733 286.21118 0 6.360248-6.360248 19.080745-19.080745 19.080745h-6.360249c-6.360248 0-19.080745 0-19.080745-12.720497-50.881988-101.763975-89.043478-171.726708-228.968944-178.086956v76.322981c0 6.360248-6.360248 25.440994-19.080746 31.801242-19.080745 12.720497-44.521739 0-50.881987-6.360248-50.881988-38.161491-89.043478-69.962733-120.844721-89.043479-95.403727-82.68323-108.124224-89.043478-108.124223-114.484472 0-19.080745 12.720497-31.801242 114.484472-114.484472 31.801242-25.440994 69.962733-57.242236 120.84472-95.403726z m12.720497 44.521739c-38.161491 38.161491-76.322981 63.602484-101.763975 89.043478-50.881988 44.521739-82.68323 69.962733-95.403727 82.68323 6.360248 6.360248 38.161491 31.801242 89.043479 69.962733 25.440994 19.080745 63.602484 44.521739 108.124223 82.68323V566.062112c0-12.720497 12.720497-25.440994 25.440994-25.440994 139.925466 0 203.52795 57.242236 254.409938 133.565217 0-57.242236-19.080745-120.84472-63.602485-171.726708-44.521739-44.521739-108.124224-69.962733-190.807453-69.962733-6.360248 0-12.720497 0-19.080745-6.360248 0-6.360248-6.360248-12.720497-6.360249-19.080745V324.372671zM127.204969 381.614907h-38.161491l63.602485 241.689441H190.807453l44.52174-190.807454 44.521739 190.807454H318.012422L381.614907 381.614907h-31.801242l-44.52174 190.807453-44.521739-190.807453h-38.16149l-44.521739 190.807453L127.204969 381.614907z" p-id="6423"></path></svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

1
frontend/public/docx/assets/index.03fab396.css

File diff suppressed because one or more lines are too long

142
frontend/public/docx/assets/index.de73f97d.js

File diff suppressed because one or more lines are too long

1
frontend/public/docx/assets/qrcode.4bdbfd87.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733147862015" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5410" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M423.836543 114.819049l0-0.274246L204.08256 114.544803c-45.911656 0-83.09451 36.932144-83.356476 82.59309l-0.023536 0 0 207.579709c0 2.468215 0.500397 4.782933 1.239224 7.000438 6.678096 39.245839 40.831964 69.164243 82.140789 69.164243L423.836543 480.882282l0-0.237407c38.877449-2.432399 70.477144-31.363312 76.798107-68.926836 0.763386-2.217505 1.289366-4.532223 1.289366-7.000438L501.924016 197.137893l-0.025583 0C501.683539 153.253406 467.244168 117.538997 423.836543 114.819049zM458.038506 393.46021c0 24.14798-19.654642 43.705408-43.88551 43.705408L208.445938 437.165618c-24.230867 0-43.858904-19.557428-43.858904-43.705408L164.587034 201.980177c0-24.149003 19.628036-43.717687 43.858904-43.717687l205.708082 0c24.230867 0 43.88551 19.569708 43.88551 43.717687L458.039529 393.46021zM902.246517 195.111746c-0.215918-42.799782-33.818223-77.644381-76.153424-80.304977l0-0.261966L634.384863 114.544803c-44.790112 0-81.040734 36.037774-81.304747 80.56592l-0.023536 0 0 202.511273c0 2.407839 0.476861 4.673439 1.240247 6.831592 6.487761 38.292118 39.830147 67.472717 80.08906 67.472717l191.70823 0 0-0.226151c37.921681-2.385327 68.734454-30.613228 74.961272-67.246567 0.738827-2.158153 1.216711-4.423753 1.216711-6.831592L902.2721 195.111746 902.246517 195.111746zM859.461061 386.638851c0 23.551392-19.152199 42.643216-42.813085 42.643216L638.678656 429.282067c-23.658839 0-42.834574-19.091824-42.834574-42.643216L595.844082 199.832258c0-23.552415 19.175735-42.643216 42.834574-42.643216l177.969321 0c23.660886 0 42.813085 19.091824 42.813085 42.643216L859.461061 386.638851zM415.680792 539.887141l0-0.260943L201.839473 539.626197c-44.670385 0-80.874959 35.94363-81.114412 80.375585l-0.023536 0 0 201.974038c0 2.420119 0.477884 4.687766 1.215688 6.821359 6.464225 38.181601 39.73498 67.316152 79.922261 67.316152L415.680792 896.113331l0-0.236384c37.824467-2.350534 68.567655-30.529317 74.744331-67.079768 0.762363-2.133593 1.24127-4.40124 1.24127-6.821359L491.666394 620.001783l-0.049119 0C491.402381 577.308425 457.919802 542.53648 415.680792 539.887141zM448.975083 811.04077c0 23.493064-19.127639 42.524512-42.691311 42.524512L212.953601 853.565283c0 0-0.022513 0-0.047072 0l-6.822382 0c-23.563672 0-42.690288-19.031449-42.690288-42.524512L163.393859 624.687502c0-23.469528 19.126616-42.525536 42.690288-42.525536l200.200648 0c23.563672 0 42.691311 19.056008 42.691311 42.525536L448.976106 811.04077zM721.154066 753.120616c-14.741749 0-26.66736 11.508102-26.66736 25.699312l0 51.395554c0 14.228049 11.924587 25.721825 26.66736 25.721825 14.736633 0 26.663266-11.492752 26.663266-25.721825l0-51.395554C747.817332 764.628718 735.891721 753.120616 721.154066 753.120616zM834.775846 727.398792c-14.739702 0-26.665313 11.494799-26.665313 25.697265l0 77.118402c0 14.214746 11.924587 25.701358 26.665313 25.701358 14.763239 0 26.688849-11.487635 26.688849-25.701358l0-77.118402C861.464695 738.894613 849.538061 727.398792 834.775846 727.398792zM834.775846 573.172221c-14.739702 0-26.665313 11.506055-26.665313 25.722848l0 51.395554c0 14.189164 11.924587 25.697265 26.665313 25.697265 14.763239 0 26.688849-11.508102 26.688849-25.697265l0-51.395554C861.464695 584.679299 849.538061 573.172221 834.775846 573.172221zM721.154066 573.195757c-14.741749 0-26.66736 11.507078-26.66736 25.709545L694.486706 701.735295c0 14.192234 11.924587 25.686009 26.66736 25.686009 14.736633 0 26.663266-11.492752 26.663266-25.686009L747.817332 598.905302C747.817332 584.702835 735.891721 573.195757 721.154066 573.195757zM606.050538 701.735295c-14.68956 0-26.640754 11.435447-26.640754 25.663496l0 102.81669c0 14.214746 11.951193 25.701358 26.640754 25.701358 14.787798 0 26.712385-11.487635 26.712385-25.701358L632.762923 727.398792C632.763946 713.170742 620.838336 701.735295 606.050538 701.735295zM606.050538 573.172221c-14.68956 0-26.640754 11.506055-26.640754 25.722848l0 25.709545c0 14.201443 11.951193 25.686009 26.640754 25.686009 14.787798 0 26.712385-11.484565 26.712385-25.686009l0-25.709545C632.763946 584.679299 620.838336 573.172221 606.050538 573.172221z" fill="#5D5D5D" p-id="5411"></path></svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

423
frontend/public/docx/assets/vendor.68ee6001.js

File diff suppressed because one or more lines are too long

661
frontend/public/docx/index.html

@ -6,344 +6,389 @@
<link rel="icon" type="image/png" href="./assets/favicon.fbfa22e6.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>word</title>
<script type="module" crossorigin src="./assets/index.3842052e.js"></script>
<link rel="modulepreload" href="./assets/vendor.d13e5cc9.js">
<link rel="stylesheet" href="./assets/index.eff96d1a.css">
<script type="module" crossorigin src="./assets/index.de73f97d.js"></script>
<link rel="modulepreload" href="./assets/vendor.68ee6001.js">
<link rel="stylesheet" href="./assets/index.03fab396.css">
</head>
<body>
<div id="app">
<div class="tabs">
<div class="tab active" data-tab="start-menu">开始</div>
<div class="tab" data-tab="characters-menu">字体</div>
<div class="tab" data-tab="insert-menu">插入</div>
<div class="tab" data-tab="page-menu">页面</div>
</div>
<div class="menu" editor-component="menu">
<div class="menu-item">
<div class="menu-item__undo">
<i></i>
</div>
<div class="menu-item__redo">
<i></i>
</div>
<div class="menu-item__painter" title="格式刷(双击可连续使用)">
<i></i>
</div>
<div class="menu-item__format" title="清除格式">
<i></i>
</div>
</div>
<div class="menu-divider"></div>
<div class="menu-item">
<div class="menu-item__font">
<span class="select" title="字体">微软雅黑</span>
<div class="options">
<ul>
<li data-family="Microsoft YaHei" style="font-family:'Microsoft YaHei';">微软雅黑</li>
<li data-family="华文宋体" style="font-family:'华文宋体';">华文宋体</li>
<li data-family="华文黑体" style="font-family:'华文黑体';">华文黑体</li>
<li data-family="华文仿宋" style="font-family:'华文仿宋';">华文仿宋</li>
<li data-family="华文楷体" style="font-family:'华文楷体';">华文楷体</li>
<li data-family="华文琥珀" style="font-family:'华文琥珀';">华文琥珀</li>
<li data-family="华文楷体" style="font-family:'华文楷体';">华文楷体</li>
<li data-family="华文隶书" style="font-family:'华文隶书';">华文隶书</li>
<li data-family="华文新魏" style="font-family:'华文新魏';">华文新魏</li>
<li data-family="华文行楷" style="font-family:'华文行楷';">华文行楷</li>
<li data-family="华文中宋" style="font-family:'华文中宋';">华文中宋</li>
<li data-family="华文彩云" style="font-family:'华文彩云';">华文彩云</li>
<li data-family="Arial" style="font-family:'Arial';">Arial</li>
<li data-family="Segoe UI" style="font-family:'Segoe UI';">Segoe UI</li>
<li data-family="Ink Free" style="font-family:'Ink Free';">Ink Free</li>
<li data-family="Fantasy" style="font-family:'Fantasy';">Fantasy</li>
</ul>
<div class="menu-section active" id="start-menu">
<!-- 开始内容 -->
<div class="menu-item">
<div class="menu-item__save" data-menu="save">
<i></i>
</div>
</div>
<div class="menu-item__size">
<span class="select" title="字体">小四</span>
<div class="options">
<ul>
<li data-size="56">初号</li>
<li data-size="48">小初</li>
<li data-size="34">一号</li>
<li data-size="32">小一</li>
<li data-size="29">二号</li>
<li data-size="24">小二</li>
<li data-size="21">三号</li>
<li data-size="20">小三</li>
<li data-size="18">四号</li>
<li data-size="16">小四</li>
<li data-size="14">五号</li>
<li data-size="12">小五</li>
<li data-size="10">六号</li>
<li data-size="8">小六</li>
<li data-size="7">七号</li>
<li data-size="6">八号</li>
</ul>
<div class="menu-item__ai-edit" data-menu="ai">
<i></i>
</div>
</div>
<div class="menu-item__size-add">
<i></i>
</div>
<div class="menu-item__size-minus">
<i></i>
</div>
<div class="menu-item__bold">
<i></i>
</div>
<div class="menu-item__italic">
<i></i>
</div>
<div class="menu-item__underline">
<i></i>
<span class="select"></span>
<div class="options">
<ul>
<li data-decoration-style='solid'>
<i></i>
</li>
<li data-decoration-style='double'>
<i></i>
</li>
<li data-decoration-style='dashed'>
<i></i>
</li>
<li data-decoration-style='dotted'>
<i></i>
</li>
<li data-decoration-style='wavy'>
<i></i>
</li>
</ul>
<div class="menu-item__undo">
<i></i>
</div>
<div class="menu-item__redo">
<i></i>
</div>
</div>
<div class="menu-item__strikeout" title="删除线(Ctrl+Shift+X)">
<i></i>
</div>
<div class="menu-item__superscript">
<i></i>
</div>
<div class="menu-item__subscript">
<i></i>
</div>
<div class="menu-item__color" title="字体颜色">
<i></i>
<span></span>
<input type="color" id="color" />
</div>
<div class="menu-item__highlight" title="高亮">
<i></i>
<span></span>
<input type="color" id="highlight">
<div class="menu-item">
<div class="menu-item__bold">
<i></i>
</div>
<div class="menu-item__italic">
<i></i>
</div>
<div class="menu-item__underline">
<i></i>
<span class="select"></span>
<div class="options">
<ul>
<li data-decoration-style='solid'>
<i></i>
</li>
<li data-decoration-style='double'>
<i></i>
</li>
<li data-decoration-style='dashed'>
<i></i>
</li>
<li data-decoration-style='dotted'>
<i></i>
</li>
<li data-decoration-style='wavy'>
<i></i>
</li>
</ul>
</div>
</div>
<div class="menu-item__strikeout" title="删除线(Ctrl+Shift+X)">
<i></i>
</div>
<div class="menu-item__superscript">
<i></i>
</div>
<div class="menu-item__subscript">
<i></i>
</div>
<div class="menu-item__exportword" title="导出word">
<i></i>
</div>
</div>
</div>
<div class="menu-divider"></div>
<div class="menu-item">
<div class="menu-item__title">
<i></i>
<span class="select" title="切换标题">正文</span>
<div class="options">
<ul>
<li style="font-size:16px;">正文</li>
<li data-level="first" style="font-size:26px;">标题1</li>
<li data-level="second" style="font-size:24px;">标题2</li>
<li data-level="third" style="font-size:22px;">标题3</li>
<li data-level="fourth" style="font-size:20px;">标题4</li>
<li data-level="fifth" style="font-size:18px;">标题5</li>
<li data-level="sixth" style="font-size:16px;">标题6</li>
</ul>
<div class="menu-section" id="characters-menu">
<div class="menu-item">
<div class="menu-item__font">
<span class="select" title="字体">微软雅黑</span>
<div class="options">
<ul>
<li data-family="Microsoft YaHei" style="font-family:'Microsoft YaHei';">微软雅黑</li>
<li data-family="华文宋体" style="font-family:'华文宋体';">华文宋体</li>
<li data-family="华文黑体" style="font-family:'华文黑体';">华文黑体</li>
<li data-family="华文仿宋" style="font-family:'华文仿宋';">华文仿宋</li>
<li data-family="华文楷体" style="font-family:'华文楷体';">华文楷体</li>
<li data-family="华文琥珀" style="font-family:'华文琥珀';">华文琥珀</li>
<li data-family="华文楷体" style="font-family:'华文楷体';">华文楷体</li>
<li data-family="华文隶书" style="font-family:'华文隶书';">华文隶书</li>
<li data-family="华文新魏" style="font-family:'华文新魏';">华文新魏</li>
<li data-family="华文行楷" style="font-family:'华文行楷';">华文行楷</li>
<li data-family="华文中宋" style="font-family:'华文中宋';">华文中宋</li>
<li data-family="华文彩云" style="font-family:'华文彩云';">华文彩云</li>
<li data-family="Arial" style="font-family:'Arial';">Arial</li>
<li data-family="Segoe UI" style="font-family:'Segoe UI';">Segoe UI</li>
<li data-family="Ink Free" style="font-family:'Ink Free';">Ink Free</li>
<li data-family="Fantasy" style="font-family:'Fantasy';">Fantasy</li>
</ul>
</div>
</div>
</div>
<div class="menu-item__left">
<i></i>
</div>
<div class="menu-item__center">
<i></i>
</div>
<div class="menu-item__right">
<i></i>
</div>
<div class="menu-item__alignment">
<i></i>
</div>
<div class="menu-item__justify">
<i></i>
</div>
<div class="menu-item__row-margin">
<i title="行间距"></i>
<div class="options">
<ul>
<li data-rowmargin='1'>1</li>
<li data-rowmargin="1.25">1.25</li>
<li data-rowmargin="1.5">1.5</li>
<li data-rowmargin="1.75">1.75</li>
<li data-rowmargin="2">2</li>
<li data-rowmargin="2.5">2.5</li>
<li data-rowmargin="3">3</li>
</ul>
<div class="menu-item">
<div class="menu-item__color" title="字体颜色">
<i></i>
<span></span>
<input type="color" id="color" />
</div>
<div class="menu-item__highlight" title="高亮">
<i></i>
<span></span>
<input type="color" id="highlight">
</div>
</div>
<div class="menu-item__list">
<i></i>
<div class="options">
<ul>
<li>
<label>取消列表</label>
</li>
<li data-list-type="ol" data-list-style='decimal'>
<label>有序列表:</label>
<ol>
<li>________</li>
</ol>
</li>
<li data-list-type="ul" data-list-style='checkbox'>
<label>复选框列表:</label>
<ul style="list-style-type: '☑️ ';">
<li>________</li>
</ul>
</li>
<li data-list-type="ul" data-list-style='disc'>
<label>实心圆点列表:</label>
<ul style="list-style-type: disc;">
<li>________</li>
</ul>
</li>
<li data-list-type="ul" data-list-style='circle'>
<label>空心圆点列表:</label>
<ul style="list-style-type: circle;">
<li>________</li>
</ul>
</li>
<li data-list-type="ul" data-list-style='square'>
<label>空心方块列表:</label>
<ul style="list-style-type: '☐ ';">
<li>________</li>
</ul>
</li>
</ul>
<div class="menu-item">
<div class="menu-item__title">
<i></i>
<span class="select" title="切换标题">正文</span>
<div class="options">
<ul>
<li style="font-size:16px;">正文</li>
<li data-level="first" style="font-size:26px;">标题1</li>
<li data-level="second" style="font-size:24px;">标题2</li>
<li data-level="third" style="font-size:22px;">标题3</li>
<li data-level="fourth" style="font-size:20px;">标题4</li>
<li data-level="fifth" style="font-size:18px;">标题5</li>
<li data-level="sixth" style="font-size:16px;">标题6</li>
</ul>
</div>
</div>
<div class="menu-item__size">
<span class="select" title="字体">小四</span>
<div class="options">
<ul>
<li data-size="56">初号</li>
<li data-size="48">小初</li>
<li data-size="34">一号</li>
<li data-size="32">小一</li>
<li data-size="29">二号</li>
<li data-size="24">小二</li>
<li data-size="21">三号</li>
<li data-size="20">小三</li>
<li data-size="18">四号</li>
<li data-size="16">小四</li>
<li data-size="14">五号</li>
<li data-size="12">小五</li>
<li data-size="10">六号</li>
<li data-size="8">小六</li>
<li data-size="7">七号</li>
<li data-size="6">八号</li>
</ul>
</div>
</div>
<div class="menu-item__size-add">
<i></i>
</div>
<div class="menu-item__size-minus">
<i></i>
</div>
</div>
</div>
<div class="menu-divider"></div>
<div class="menu-item">
<div class="menu-item__table">
<i title="表格"></i>
</div>
<div class="menu-item__table__collapse">
<div class="table-close">×</div>
<div class="table-title">
<span class="table-select">插入</span>
<span>表格</span>
<div class="menu-section" id="insert-menu">
<!-- 插入内容 -->
<div class="menu-item">
<div class="menu-item__table">
<i title="表格"></i>
</div>
<div class="table-panel"></div>
</div>
<div class="menu-item__image">
<i title="图片"></i>
<input type="file" id="image" accept=".png, .jpg, .jpeg, .svg, .gif">
</div>
<div class="menu-item__hyperlink">
<i title="超链接"></i>
</div>
<div class="menu-item__separator">
<i title="分割线"></i>
<div class="options">
<ul>
<li data-separator='0,0'>
<i></i>
</li>
<li data-separator="1,1">
<i></i>
</li>
<li data-separator="3,1">
<i></i>
</li>
<li data-separator="4,4">
<i></i>
</li>
<li data-separator="7,3,3,3">
<i></i>
</li>
<li data-separator="6,2,2,2,2,2">
<i></i>
</li>
</ul>
<div class="menu-item__table__collapse">
<div class="table-close">×</div>
<div class="table-title">
<span class="table-select">插入</span>
<span>表格</span>
</div>
<div class="table-panel"></div>
</div>
</div>
<div class="menu-item__watermark">
<i title="水印(添加、删除)"></i>
<div class="options">
<ul>
<li data-menu="add">添加水印</li>
<li data-menu="delete">删除水印</li>
</ul>
<div class="menu-item__image">
<i title="图片"></i>
<input type="file" id="image" accept=".png, .jpg, .jpeg, .svg, .gif">
</div>
</div>
<div class="menu-item__codeblock" title="代码块">
<i></i>
</div>
<div class="menu-item__page-break" title="分页符">
<i></i>
</div>
<div class="menu-item__control">
<i title="控件"></i>
<div class="options">
<ul>
<li data-control='text'>文本</li>
<li data-control="select">列举</li>
<li data-control="date">日期</li>
<li data-control="checkbox">复选框</li>
<li data-control="radio">单选框</li>
</ul>
<div class="menu-item__hyperlink">
<i title="超链接"></i>
</div>
</div>
<div class="menu-item__checkbox" title="复选框">
<i></i>
</div>
<div class="menu-item__radio" title="单选框">
<i></i>
</div>
<div class="menu-item__latex" title="LateX">
<i></i>
</div>
<div class="menu-item__date">
<i title="日期"></i>
<div class="options">
<ul>
<li data-format="yyyy-MM-dd"></li>
<li data-format="yyyy-MM-dd hh:mm:ss"></li>
</ul>
<div class="menu-item__separator">
<i title="分割线"></i>
<div class="options">
<ul>
<li data-separator='0,0'>
<i></i>
</li>
<li data-separator="1,1">
<i></i>
</li>
<li data-separator="3,1">
<i></i>
</li>
<li data-separator="4,4">
<i></i>
</li>
<li data-separator="7,3,3,3">
<i></i>
</li>
<li data-separator="6,2,2,2,2,2">
<i></i>
</li>
</ul>
</div>
</div>
</div>
<div class="menu-item__block" title="内容块">
<i></i>
<div class="menu-item__watermark">
<i title="水印(添加、删除)"></i>
<div class="options">
<ul>
<li data-menu="add">添加水印</li>
<li data-menu="delete">删除水印</li>
</ul>
</div>
</div>
<div class="menu-item__codeblock" title="代码块">
<i></i>
</div>
<div class="menu-item__page-break" title="分页符">
<i></i>
</div>
<div class="menu-item__control">
<i title="控件"></i>
<div class="options">
<ul>
<li data-control='text'>文本</li>
<li data-control="select">列举</li>
<li data-control="date">日期</li>
<li data-control="checkbox">复选框</li>
<li data-control="radio">单选框</li>
</ul>
</div>
</div>
<div class="menu-item__checkbox" title="复选框">
<i></i>
</div>
<div class="menu-item__radio" title="单选框">
<i></i>
</div>
<div class="menu-item__latex" title="LateX">
<i></i>
</div>
<div class="menu-item__date">
<i title="日期"></i>
<div class="options">
<ul>
<li data-format="yyyy-MM-dd"></li>
<li data-format="yyyy-MM-dd hh:mm:ss"></li>
</ul>
</div>
</div>
<div class="menu-item__block" title="内容块">
<i></i>
</div>
<div class="menu-item__barcode" title="条形码">
<i></i>
</div>
<div class="menu-item__qrcode" title="二维码">
<i></i>
</div>
<div class="menu-item__importword" title="导入word">
<i></i>
</div>
<div class="menu-item__importexcel" title="插入excel">
<i></i>
</div>
</div>
</div>
<div class="menu-divider"></div>
<div class="menu-item">
<div class="menu-item__search" data-menu="search">
<i></i>
</div>
<div class="menu-item__search__collapse" data-menu="search">
<div class="menu-item__search__collapse__search">
<input type="text" />
<label class="search-result"></label>
<div class="arrow-left">
<i></i>
<div class="menu-section" id="page-menu">
<div class="menu-item">
<div class="menu-item__left">
<i></i>
</div>
<div class="menu-item__center">
<i></i>
</div>
<div class="menu-item__right">
<i></i>
</div>
<div class="menu-item__alignment">
<i></i>
</div>
<div class="menu-item__justify">
<i></i>
</div>
<div class="menu-item__row-margin">
<i title="行间距"></i>
<div class="options">
<ul>
<li data-rowmargin='1'>1</li>
<li data-rowmargin="1.25">1.25</li>
<li data-rowmargin="1.5">1.5</li>
<li data-rowmargin="1.75">1.75</li>
<li data-rowmargin="2">2</li>
<li data-rowmargin="2.5">2.5</li>
<li data-rowmargin="3">3</li>
</ul>
</div>
<div class="arrow-right">
<i></i>
</div>
<div class="menu-item__painter" title="格式刷(双击可连续使用)">
<i></i>
</div>
<div class="menu-item__format" title="清除格式">
<i></i>
</div>
<div class="menu-item__list">
<i></i>
<div class="options">
<ul>
<li>
<label>取消列表</label>
</li>
<li data-list-type="ol" data-list-style='decimal'>
<label>有序列表:</label>
<ol>
<li>________</li>
</ol>
</li>
<li data-list-type="ul" data-list-style='checkbox'>
<label>复选框列表:</label>
<ul style="list-style-type: '☑️ ';">
<li>________</li>
</ul>
</li>
<li data-list-type="ul" data-list-style='disc'>
<label>实心圆点列表:</label>
<ul style="list-style-type: disc;">
<li>________</li>
</ul>
</li>
<li data-list-type="ul" data-list-style='circle'>
<label>空心圆点列表:</label>
<ul style="list-style-type: circle;">
<li>________</li>
</ul>
</li>
<li data-list-type="ul" data-list-style='square'>
<label>空心方块列表:</label>
<ul style="list-style-type: '☐ ';">
<li>________</li>
</ul>
</li>
</ul>
</div>
<span>×</span>
</div>
<div class="menu-item__search__collapse__replace">
<input type="text">
<button>替换</button>
<div class="menu-item__search" data-menu="search">
<i></i>
</div>
</div>
<div class="menu-item__print" data-menu="print">
<i></i>
</div>
<div class="menu-item__ai-edit" data-menu="save">
<i></i>
</div>
<div class="menu-item__save" data-menu="save">
<i></i>
<div class="menu-item__search__collapse" data-menu="search">
<div class="menu-item__search__collapse__search">
<input type="text" />
<label class="search-result"></label>
<div class="arrow-left">
<i></i>
</div>
<div class="arrow-right">
<i></i>
</div>
<span>×</span>
</div>
<div class="menu-item__search__collapse__replace">
<input type="text">
<button>替换</button>
</div>
</div>
<div class="menu-item__print" data-menu="print">
<i></i>
</div>
</div>
</div>
<div class="menu-item__ai-edit-box hide">
<span>×</span>
<div class="ai-edit-outline-box">
@ -390,7 +435,9 @@
</div>
</div>
</div>
</div>
<div class="catalog" editor-component="catalog">
<div class="catalog__header">
<span>目录</span>

6
frontend/src/system/applist.ts

@ -80,9 +80,9 @@ export const appList = [
{
name: "document",
appIcon: "word",
url: "/docx/index.html",
//url:"http://localhost:9000/",
width: 1000,
//url: "/docx/index.html",
url:"http://localhost:3000/",
width: 800,
frame: true,
height: 600,
center: true,

655
packages/word/index.html

@ -10,337 +10,382 @@
<body>
<div id="app">
<div class="tabs">
<div class="tab active" data-tab="start-menu">开始</div>
<div class="tab" data-tab="characters-menu">字体</div>
<div class="tab" data-tab="insert-menu">插入</div>
<div class="tab" data-tab="page-menu">页面</div>
</div>
<div class="menu" editor-component="menu">
<div class="menu-item">
<div class="menu-item__undo">
<i></i>
</div>
<div class="menu-item__redo">
<i></i>
</div>
<div class="menu-item__painter" title="格式刷(双击可连续使用)">
<i></i>
</div>
<div class="menu-item__format" title="清除格式">
<i></i>
</div>
</div>
<div class="menu-divider"></div>
<div class="menu-item">
<div class="menu-item__font">
<span class="select" title="字体">微软雅黑</span>
<div class="options">
<ul>
<li data-family="Microsoft YaHei" style="font-family:'Microsoft YaHei';">微软雅黑</li>
<li data-family="华文宋体" style="font-family:'华文宋体';">华文宋体</li>
<li data-family="华文黑体" style="font-family:'华文黑体';">华文黑体</li>
<li data-family="华文仿宋" style="font-family:'华文仿宋';">华文仿宋</li>
<li data-family="华文楷体" style="font-family:'华文楷体';">华文楷体</li>
<li data-family="华文琥珀" style="font-family:'华文琥珀';">华文琥珀</li>
<li data-family="华文楷体" style="font-family:'华文楷体';">华文楷体</li>
<li data-family="华文隶书" style="font-family:'华文隶书';">华文隶书</li>
<li data-family="华文新魏" style="font-family:'华文新魏';">华文新魏</li>
<li data-family="华文行楷" style="font-family:'华文行楷';">华文行楷</li>
<li data-family="华文中宋" style="font-family:'华文中宋';">华文中宋</li>
<li data-family="华文彩云" style="font-family:'华文彩云';">华文彩云</li>
<li data-family="Arial" style="font-family:'Arial';">Arial</li>
<li data-family="Segoe UI" style="font-family:'Segoe UI';">Segoe UI</li>
<li data-family="Ink Free" style="font-family:'Ink Free';">Ink Free</li>
<li data-family="Fantasy" style="font-family:'Fantasy';">Fantasy</li>
</ul>
<div class="menu-section active" id="start-menu">
<!-- 开始内容 -->
<div class="menu-item">
<div class="menu-item__save" data-menu="save">
<i></i>
</div>
</div>
<div class="menu-item__size">
<span class="select" title="字体">小四</span>
<div class="options">
<ul>
<li data-size="56">初号</li>
<li data-size="48">小初</li>
<li data-size="34">一号</li>
<li data-size="32">小一</li>
<li data-size="29">二号</li>
<li data-size="24">小二</li>
<li data-size="21">三号</li>
<li data-size="20">小三</li>
<li data-size="18">四号</li>
<li data-size="16">小四</li>
<li data-size="14">五号</li>
<li data-size="12">小五</li>
<li data-size="10">六号</li>
<li data-size="8">小六</li>
<li data-size="7">七号</li>
<li data-size="6">八号</li>
</ul>
<div class="menu-item__ai-edit" data-menu="ai">
<i></i>
</div>
</div>
<div class="menu-item__size-add">
<i></i>
</div>
<div class="menu-item__size-minus">
<i></i>
</div>
<div class="menu-item__bold">
<i></i>
</div>
<div class="menu-item__italic">
<i></i>
</div>
<div class="menu-item__underline">
<i></i>
<span class="select"></span>
<div class="options">
<ul>
<li data-decoration-style='solid'>
<i></i>
</li>
<li data-decoration-style='double'>
<i></i>
</li>
<li data-decoration-style='dashed'>
<i></i>
</li>
<li data-decoration-style='dotted'>
<i></i>
</li>
<li data-decoration-style='wavy'>
<i></i>
</li>
</ul>
<div class="menu-item__undo">
<i></i>
</div>
<div class="menu-item__redo">
<i></i>
</div>
</div>
<div class="menu-item__strikeout" title="删除线(Ctrl+Shift+X)">
<i></i>
</div>
<div class="menu-item__superscript">
<i></i>
</div>
<div class="menu-item__subscript">
<i></i>
</div>
<div class="menu-item__color" title="字体颜色">
<i></i>
<span></span>
<input type="color" id="color" />
</div>
<div class="menu-item__highlight" title="高亮">
<i></i>
<span></span>
<input type="color" id="highlight">
<div class="menu-item">
<div class="menu-item__bold">
<i></i>
</div>
<div class="menu-item__italic">
<i></i>
</div>
<div class="menu-item__underline">
<i></i>
<span class="select"></span>
<div class="options">
<ul>
<li data-decoration-style='solid'>
<i></i>
</li>
<li data-decoration-style='double'>
<i></i>
</li>
<li data-decoration-style='dashed'>
<i></i>
</li>
<li data-decoration-style='dotted'>
<i></i>
</li>
<li data-decoration-style='wavy'>
<i></i>
</li>
</ul>
</div>
</div>
<div class="menu-item__strikeout" title="删除线(Ctrl+Shift+X)">
<i></i>
</div>
<div class="menu-item__superscript">
<i></i>
</div>
<div class="menu-item__subscript">
<i></i>
</div>
<div class="menu-item__exportword" title="导出word">
<i></i>
</div>
</div>
</div>
<div class="menu-divider"></div>
<div class="menu-item">
<div class="menu-item__title">
<i></i>
<span class="select" title="切换标题">正文</span>
<div class="options">
<ul>
<li style="font-size:16px;">正文</li>
<li data-level="first" style="font-size:26px;">标题1</li>
<li data-level="second" style="font-size:24px;">标题2</li>
<li data-level="third" style="font-size:22px;">标题3</li>
<li data-level="fourth" style="font-size:20px;">标题4</li>
<li data-level="fifth" style="font-size:18px;">标题5</li>
<li data-level="sixth" style="font-size:16px;">标题6</li>
</ul>
<div class="menu-section" id="characters-menu">
<div class="menu-item">
<div class="menu-item__font">
<span class="select" title="字体">微软雅黑</span>
<div class="options">
<ul>
<li data-family="Microsoft YaHei" style="font-family:'Microsoft YaHei';">微软雅黑</li>
<li data-family="华文宋体" style="font-family:'华文宋体';">华文宋体</li>
<li data-family="华文黑体" style="font-family:'华文黑体';">华文黑体</li>
<li data-family="华文仿宋" style="font-family:'华文仿宋';">华文仿宋</li>
<li data-family="华文楷体" style="font-family:'华文楷体';">华文楷体</li>
<li data-family="华文琥珀" style="font-family:'华文琥珀';">华文琥珀</li>
<li data-family="华文楷体" style="font-family:'华文楷体';">华文楷体</li>
<li data-family="华文隶书" style="font-family:'华文隶书';">华文隶书</li>
<li data-family="华文新魏" style="font-family:'华文新魏';">华文新魏</li>
<li data-family="华文行楷" style="font-family:'华文行楷';">华文行楷</li>
<li data-family="华文中宋" style="font-family:'华文中宋';">华文中宋</li>
<li data-family="华文彩云" style="font-family:'华文彩云';">华文彩云</li>
<li data-family="Arial" style="font-family:'Arial';">Arial</li>
<li data-family="Segoe UI" style="font-family:'Segoe UI';">Segoe UI</li>
<li data-family="Ink Free" style="font-family:'Ink Free';">Ink Free</li>
<li data-family="Fantasy" style="font-family:'Fantasy';">Fantasy</li>
</ul>
</div>
</div>
</div>
<div class="menu-item__left">
<i></i>
</div>
<div class="menu-item__center">
<i></i>
</div>
<div class="menu-item__right">
<i></i>
</div>
<div class="menu-item__alignment">
<i></i>
</div>
<div class="menu-item__justify">
<i></i>
</div>
<div class="menu-item__row-margin">
<i title="行间距"></i>
<div class="options">
<ul>
<li data-rowmargin='1'>1</li>
<li data-rowmargin="1.25">1.25</li>
<li data-rowmargin="1.5">1.5</li>
<li data-rowmargin="1.75">1.75</li>
<li data-rowmargin="2">2</li>
<li data-rowmargin="2.5">2.5</li>
<li data-rowmargin="3">3</li>
</ul>
<div class="menu-item">
<div class="menu-item__color" title="字体颜色">
<i></i>
<span></span>
<input type="color" id="color" />
</div>
<div class="menu-item__highlight" title="高亮">
<i></i>
<span></span>
<input type="color" id="highlight">
</div>
</div>
<div class="menu-item__list">
<i></i>
<div class="options">
<ul>
<li>
<label>取消列表</label>
</li>
<li data-list-type="ol" data-list-style='decimal'>
<label>有序列表:</label>
<ol>
<li>________</li>
</ol>
</li>
<li data-list-type="ul" data-list-style='checkbox'>
<label>复选框列表:</label>
<ul style="list-style-type: '☑️ ';">
<li>________</li>
</ul>
</li>
<li data-list-type="ul" data-list-style='disc'>
<label>实心圆点列表:</label>
<ul style="list-style-type: disc;">
<li>________</li>
</ul>
</li>
<li data-list-type="ul" data-list-style='circle'>
<label>空心圆点列表:</label>
<ul style="list-style-type: circle;">
<li>________</li>
</ul>
</li>
<li data-list-type="ul" data-list-style='square'>
<label>空心方块列表:</label>
<ul style="list-style-type: '☐ ';">
<li>________</li>
</ul>
</li>
</ul>
<div class="menu-item">
<div class="menu-item__title">
<i></i>
<span class="select" title="切换标题">正文</span>
<div class="options">
<ul>
<li style="font-size:16px;">正文</li>
<li data-level="first" style="font-size:26px;">标题1</li>
<li data-level="second" style="font-size:24px;">标题2</li>
<li data-level="third" style="font-size:22px;">标题3</li>
<li data-level="fourth" style="font-size:20px;">标题4</li>
<li data-level="fifth" style="font-size:18px;">标题5</li>
<li data-level="sixth" style="font-size:16px;">标题6</li>
</ul>
</div>
</div>
<div class="menu-item__size">
<span class="select" title="字体">小四</span>
<div class="options">
<ul>
<li data-size="56">初号</li>
<li data-size="48">小初</li>
<li data-size="34">一号</li>
<li data-size="32">小一</li>
<li data-size="29">二号</li>
<li data-size="24">小二</li>
<li data-size="21">三号</li>
<li data-size="20">小三</li>
<li data-size="18">四号</li>
<li data-size="16">小四</li>
<li data-size="14">五号</li>
<li data-size="12">小五</li>
<li data-size="10">六号</li>
<li data-size="8">小六</li>
<li data-size="7">七号</li>
<li data-size="6">八号</li>
</ul>
</div>
</div>
<div class="menu-item__size-add">
<i></i>
</div>
<div class="menu-item__size-minus">
<i></i>
</div>
</div>
</div>
<div class="menu-divider"></div>
<div class="menu-item">
<div class="menu-item__table">
<i title="表格"></i>
</div>
<div class="menu-item__table__collapse">
<div class="table-close">×</div>
<div class="table-title">
<span class="table-select">插入</span>
<span>表格</span>
<div class="menu-section" id="insert-menu">
<!-- 插入内容 -->
<div class="menu-item">
<div class="menu-item__table">
<i title="表格"></i>
</div>
<div class="table-panel"></div>
</div>
<div class="menu-item__image">
<i title="图片"></i>
<input type="file" id="image" accept=".png, .jpg, .jpeg, .svg, .gif">
</div>
<div class="menu-item__hyperlink">
<i title="超链接"></i>
</div>
<div class="menu-item__separator">
<i title="分割线"></i>
<div class="options">
<ul>
<li data-separator='0,0'>
<i></i>
</li>
<li data-separator="1,1">
<i></i>
</li>
<li data-separator="3,1">
<i></i>
</li>
<li data-separator="4,4">
<i></i>
</li>
<li data-separator="7,3,3,3">
<i></i>
</li>
<li data-separator="6,2,2,2,2,2">
<i></i>
</li>
</ul>
<div class="menu-item__table__collapse">
<div class="table-close">×</div>
<div class="table-title">
<span class="table-select">插入</span>
<span>表格</span>
</div>
<div class="table-panel"></div>
</div>
</div>
<div class="menu-item__watermark">
<i title="水印(添加、删除)"></i>
<div class="options">
<ul>
<li data-menu="add">添加水印</li>
<li data-menu="delete">删除水印</li>
</ul>
<div class="menu-item__image">
<i title="图片"></i>
<input type="file" id="image" accept=".png, .jpg, .jpeg, .svg, .gif">
</div>
</div>
<div class="menu-item__codeblock" title="代码块">
<i></i>
</div>
<div class="menu-item__page-break" title="分页符">
<i></i>
</div>
<div class="menu-item__control">
<i title="控件"></i>
<div class="options">
<ul>
<li data-control='text'>文本</li>
<li data-control="select">列举</li>
<li data-control="date">日期</li>
<li data-control="checkbox">复选框</li>
<li data-control="radio">单选框</li>
</ul>
<div class="menu-item__hyperlink">
<i title="超链接"></i>
</div>
</div>
<div class="menu-item__checkbox" title="复选框">
<i></i>
</div>
<div class="menu-item__radio" title="单选框">
<i></i>
</div>
<div class="menu-item__latex" title="LateX">
<i></i>
</div>
<div class="menu-item__date">
<i title="日期"></i>
<div class="options">
<ul>
<li data-format="yyyy-MM-dd"></li>
<li data-format="yyyy-MM-dd hh:mm:ss"></li>
</ul>
<div class="menu-item__separator">
<i title="分割线"></i>
<div class="options">
<ul>
<li data-separator='0,0'>
<i></i>
</li>
<li data-separator="1,1">
<i></i>
</li>
<li data-separator="3,1">
<i></i>
</li>
<li data-separator="4,4">
<i></i>
</li>
<li data-separator="7,3,3,3">
<i></i>
</li>
<li data-separator="6,2,2,2,2,2">
<i></i>
</li>
</ul>
</div>
</div>
</div>
<div class="menu-item__block" title="内容块">
<i></i>
<div class="menu-item__watermark">
<i title="水印(添加、删除)"></i>
<div class="options">
<ul>
<li data-menu="add">添加水印</li>
<li data-menu="delete">删除水印</li>
</ul>
</div>
</div>
<div class="menu-item__codeblock" title="代码块">
<i></i>
</div>
<div class="menu-item__page-break" title="分页符">
<i></i>
</div>
<div class="menu-item__control">
<i title="控件"></i>
<div class="options">
<ul>
<li data-control='text'>文本</li>
<li data-control="select">列举</li>
<li data-control="date">日期</li>
<li data-control="checkbox">复选框</li>
<li data-control="radio">单选框</li>
</ul>
</div>
</div>
<div class="menu-item__checkbox" title="复选框">
<i></i>
</div>
<div class="menu-item__radio" title="单选框">
<i></i>
</div>
<div class="menu-item__latex" title="LateX">
<i></i>
</div>
<div class="menu-item__date">
<i title="日期"></i>
<div class="options">
<ul>
<li data-format="yyyy-MM-dd"></li>
<li data-format="yyyy-MM-dd hh:mm:ss"></li>
</ul>
</div>
</div>
<div class="menu-item__block" title="内容块">
<i></i>
</div>
<div class="menu-item__barcode" title="条形码">
<i></i>
</div>
<div class="menu-item__qrcode" title="二维码">
<i></i>
</div>
<div class="menu-item__importword" title="导入word">
<i></i>
</div>
<div class="menu-item__importexcel" title="插入excel">
<i></i>
</div>
</div>
</div>
<div class="menu-divider"></div>
<div class="menu-item">
<div class="menu-item__search" data-menu="search">
<i></i>
</div>
<div class="menu-item__search__collapse" data-menu="search">
<div class="menu-item__search__collapse__search">
<input type="text" />
<label class="search-result"></label>
<div class="arrow-left">
<i></i>
<div class="menu-section" id="page-menu">
<div class="menu-item">
<div class="menu-item__left">
<i></i>
</div>
<div class="menu-item__center">
<i></i>
</div>
<div class="menu-item__right">
<i></i>
</div>
<div class="menu-item__alignment">
<i></i>
</div>
<div class="menu-item__justify">
<i></i>
</div>
<div class="menu-item__row-margin">
<i title="行间距"></i>
<div class="options">
<ul>
<li data-rowmargin='1'>1</li>
<li data-rowmargin="1.25">1.25</li>
<li data-rowmargin="1.5">1.5</li>
<li data-rowmargin="1.75">1.75</li>
<li data-rowmargin="2">2</li>
<li data-rowmargin="2.5">2.5</li>
<li data-rowmargin="3">3</li>
</ul>
</div>
<div class="arrow-right">
<i></i>
</div>
<div class="menu-item__painter" title="格式刷(双击可连续使用)">
<i></i>
</div>
<div class="menu-item__format" title="清除格式">
<i></i>
</div>
<div class="menu-item__list">
<i></i>
<div class="options">
<ul>
<li>
<label>取消列表</label>
</li>
<li data-list-type="ol" data-list-style='decimal'>
<label>有序列表:</label>
<ol>
<li>________</li>
</ol>
</li>
<li data-list-type="ul" data-list-style='checkbox'>
<label>复选框列表:</label>
<ul style="list-style-type: '☑️ ';">
<li>________</li>
</ul>
</li>
<li data-list-type="ul" data-list-style='disc'>
<label>实心圆点列表:</label>
<ul style="list-style-type: disc;">
<li>________</li>
</ul>
</li>
<li data-list-type="ul" data-list-style='circle'>
<label>空心圆点列表:</label>
<ul style="list-style-type: circle;">
<li>________</li>
</ul>
</li>
<li data-list-type="ul" data-list-style='square'>
<label>空心方块列表:</label>
<ul style="list-style-type: '☐ ';">
<li>________</li>
</ul>
</li>
</ul>
</div>
<span>×</span>
</div>
<div class="menu-item__search__collapse__replace">
<input type="text">
<button>替换</button>
<div class="menu-item__search" data-menu="search">
<i></i>
</div>
</div>
<div class="menu-item__print" data-menu="print">
<i></i>
</div>
<div class="menu-item__ai-edit" data-menu="save">
<i></i>
</div>
<div class="menu-item__save" data-menu="save">
<i></i>
<div class="menu-item__search__collapse" data-menu="search">
<div class="menu-item__search__collapse__search">
<input type="text" />
<label class="search-result"></label>
<div class="arrow-left">
<i></i>
</div>
<div class="arrow-right">
<i></i>
</div>
<span>×</span>
</div>
<div class="menu-item__search__collapse__replace">
<input type="text">
<button>替换</button>
</div>
</div>
<div class="menu-item__print" data-menu="print">
<i></i>
</div>
</div>
</div>
<div class="menu-item__ai-edit-box hide">
<span>×</span>
<div class="ai-edit-outline-box">
@ -387,7 +432,9 @@
</div>
</div>
</div>
</div>
<div class="catalog" editor-component="catalog">
<div class="catalog__header">
<span>目录</span>

7
packages/word/package-lock.json

@ -7,7 +7,6 @@
"": {
"name": "@hufe921/canvas-editor",
"version": "0.9.96",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"@simonwep/pickr": "^1.9.1",
@ -16,6 +15,7 @@
"color": "^4.2.3",
"docx": "^9.0.3",
"exceljs": "^4.4.0",
"js-md5": "^0.8.3",
"jsbarcode": "^3.11.6",
"lodash": "^4.17.21",
"mammoth": "^1.8.0",
@ -4035,6 +4035,11 @@
"dev": true,
"license": "MIT"
},
"node_modules/js-md5": {
"version": "0.8.3",
"resolved": "https://registry.npmmirror.com/js-md5/-/js-md5-0.8.3.tgz",
"integrity": "sha512-qR0HB5uP6wCuRMrWPTrkMaev7MJZwJuuw4fnwAzRgP4J4/F8RwtodOKpGp4XpqsLBFzzgqIO42efFAyz2Et6KQ=="
},
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",

2
packages/word/package.json

@ -45,7 +45,6 @@
"docs:dev": "vitepress dev docs",
"docs:build": "vitepress build docs",
"docs:preview": "vitepress preview docs",
"postinstall": "simple-git-hooks",
"release": "node scripts/release.js"
},
"devDependencies": {
@ -74,6 +73,7 @@
"color": "^4.2.3",
"docx": "^9.0.3",
"exceljs": "^4.4.0",
"js-md5": "^0.8.3",
"jsbarcode": "^3.11.6",
"lodash": "^4.17.21",
"mammoth": "^1.8.0",

1
packages/word/src/assets/images/barcode.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733147836538" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4315" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M876.893082 63.83998 876.893082 63.83998l20.440541 0c34.500768 0 62.489216 30.402427 62.489216 64.918545l0 100.941993-0.12996 0c0 16.569374-11.354606 22.409382-22.854521 22.409382s-22.854521-7.734148-22.854521-19.234063c0-0.210801-3.919263-0.372483-3.919263-0.583285l0-82.71998c0-22.99983-10.56052-35.974329-33.561373-35.974329l-32.781614 0 0 0-28.686343 0c-0.209778 0-1.360997-2.786463-1.555425-2.786463-11.499915 0-21.816888-12.213159-21.816888-23.713075s18.885116-20.813025 18.885116-20.813025l0-2.445702L876.893082 63.83998zM213.449905 66.285682l0-2.445702-66.344011 0 0 0L126.535393 63.83998c-34.499745 0-62.359256 30.402427-62.359256 64.918545l0 100.941993 0 0c0 16.569374 9.329483 22.409382 20.829398 22.409382s24.927739-8.528234 24.927739-20.028149c0-0.210801 4.001127 0.421602 4.001127 0.210801l0-82.71998c0-22.99983 10.431583-35.974329 33.431414-35.974329l49.499367 0 0 0 13.508665 0c0.194428 0 0.372483-2.786463 0.583285-2.786463 11.499915 0 22.060435-10.771321 22.060435-22.26305C233.016543 77.048817 230.036675 66.285682 213.449905 66.285682zM230.036675 567.026244l0-0.61603L230.036675 246.269893l-33.172517 0 0 320.140321 0 0.61603 0 210.008015 33.172517 0L230.036675 567.026244zM109.933273 795.140639c0-11.499915-11.369955-21.575388-22.870894-21.575388S64.175113 777.033235 64.175113 793.617959l0 0 0 105.637945c0 34.500768 27.859511 60.223616 62.359256 60.223616l70.328765 0 0 0 13.508665 0c0.194428 0 0.372483 0.679475 0.583285 0.679475 11.499915 0 22.060435-9.03784 22.060435-20.537755s-2.979868-20.537755-19.566638-20.537755l0 7.223518-66.344011 0 0-6.737448c-33.172517-2.623757-33.172517-19.922748-33.172517-41.139979l0-82.703607C113.933377 795.513122 109.933273 795.335067 109.933273 795.140639zM296.380686 567.026244l0-0.61603L296.380686 246.269893l-16.585747 0 0 320.140321 0 0.61603L279.794939 694.101431l16.585747 0L296.380686 567.026244zM312.966433 727.274972l-33.172517 0 0 49.758264 33.172517 0L312.966433 727.274972zM379.310444 567.026244l0-0.61603L379.310444 246.269893 362.724697 246.269893l0 320.140321 0 0.61603L362.724697 694.101431l16.585747 0L379.310444 567.026244zM395.89619 727.274972 362.724697 727.274972l0 49.758264 33.171494 0L395.89619 727.274972zM478.826971 567.026244l0-0.61603L478.826971 246.269893l-66.344011 0 0 320.140321 0 0.61603L412.482961 694.101431l66.344011 0L478.826971 567.026244zM478.826971 777.033235l0-49.758264-33.172517 0 0 49.758264L478.826971 777.033235zM611.514993 567.026244l0-0.61603L611.514993 246.269893l-49.758264 0 0 320.140321 0 0.61603L561.756729 694.101431l49.758264 0L611.514993 567.026244zM528.585235 777.033235l33.171494 0 0-49.758264-33.171494 0L528.585235 777.033235zM661.273257 566.410214 661.273257 246.269893l-16.584724 0 0 320.140321 0 0.61603L644.688533 694.101431l16.584724 0L661.273257 567.026244 661.273257 566.410214zM628.101763 777.033235l33.171494 0 0-49.758264-33.171494 0L628.101763 777.033235zM744.205061 566.410214 744.205061 246.269893l-16.58677 0 0 320.140321 0 0.61603L727.618291 694.101431l16.58677 0L744.205061 567.026244 744.205061 566.410214zM711.031521 777.033235l33.17354 0 0-49.758264-33.17354 0L711.031521 777.033235zM827.134819 567.026244l0-0.61603L827.134819 246.269893l-33.171494 0 0 320.140321 0 0.61603 0 210.008015 33.171494 0L827.134819 567.026244zM897.3326 959.479521c34.500768 0 62.489216-25.722848 62.489216-60.223616L959.821817 793.617959l-0.12996 0c0-16.584724-9.329483-20.052708-20.829398-20.052708s-24.879644 9.68764-24.879644 21.187555c0 0.226151-3.919263 0.759293-3.919263 0.971118l0 82.703607c0 20.700461 0 37.738509-33.171494 40.978297l0 6.89913-66.345034 0 0-7.223518c0 0-18.885116 9.329483-18.885116 20.829398s10.316973 20.246113 21.816888 20.246113c0.193405 0 1.344624-0.679475 1.555425-0.679475l28.686343 0 0 0L897.3326 959.477474z" p-id="4316"></path></svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

1
packages/word/src/assets/images/export-word.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733147899657" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7444" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M549.479399 746.787715h354.491817v62.464999H549.479399z" fill="#515151" p-id="7445"></path><path d="M741.56082 952.402919l-40.081858-48.410724 153.560039-125.97198-153.560039-125.971981 40.081858-48.410724L952.902431 778.020215 741.56082 952.402919z m48.410723-555.421596h-301.395668V95.585655h62.465998v238.930669h238.92967v62.464999z m-316.490926 388.847266h-54.137132l-50.492691-188.95847-50.492691 188.95847h-55.178115l-59.86254-252.984944h52.054166l38.520382 173.862213 45.808265-173.862213h60.903524L444.850576 709.307317l39.040874-176.464671h51.533674l-61.944507 252.984944zM203.317448 256.434576H417.78201v62.464999H203.317448v-62.464999z m0 125.450489H417.78201v62.465998H203.317448v-62.465998z" fill="#515151" p-id="7446"></path><path d="M131.4816 890.977904V132.02407h390.930232l233.724753 233.724753v163.450381h62.985491V339.721241L548.438416 69.558072H69.537093v883.88583h528.354029v-62.465998z" fill="#515151" p-id="7447"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

1
packages/word/src/assets/images/import-excel.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733147926167" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8569" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M968.5 667.7H837.8v-91.5L601.3 713.4l236.5 136v-90.2h130.7z" fill="#353535" p-id="8570"></path><path d="M883.6 222L769.9 108.3C745 83.5 696.7 63.9 661.4 63.9h-383c-35.3 0-64 28.8-64 64V256h51V125.3c0-6.5 6.5-13.1 13.1-13.1h381.6c3.9 0 7.8 0 13.1 1.3v202.6h202.6c1.3 5.2 1.3 30.1 1.3 34v287.5l51 1.4V351.4c-0.1-35.3-21-104.6-44.5-129.4z m-159.5 44.4V135.7c3.9 2.6 6.5 5.2 9.1 7.8L847 257.3c2.6 2.6 5.2 5.2 7.8 9.1H724.1z" fill="#353535" p-id="8571"></path><path d="M601.3 381.5h209.1v60.1H601.3v-60.1zM877 895.1c0 6.5-6.5 13.1-13.1 13.1H278.4c-6.5 0-13.1-6.5-13.1-13.1V852h-51v43.1c0 35.3 28.8 64 64 64h586.8c35.3 0 64-28.8 64-64V787.9l-51 0.1v107.1H877zM542.4 314.8H64.1v478.4h478.4V314.8zM368.6 689.9l-65.3-96.7-28.8 44.4h28.8v53.6H156.9l107.2-156.8L170 393.2h78.4l56.2 82.3 56.2-82.3h78.4l-94.1 141.2 107.2 156.8h-83.6l-0.1-1.3z m232.7-189.5h209.1v60.1H601.3v-60.1z" fill="#353535" p-id="8572"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

1
packages/word/src/assets/images/import-word.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733147884810" class="icon" viewBox="0 0 1144 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6422" xmlns:xlink="http://www.w3.org/1999/xlink" width="35.75" height="32"><path d="M852.273292 0h6.360248c57.242236 6.360248 95.403727 44.521739 95.403727 95.403727v203.52795c0 19.080745-19.080745 31.801242-38.161491 31.801242s-38.161491-12.720497-38.16149-31.801242V101.763975c0-12.720497-12.720497-19.080745-19.080746-19.080745h-636.024844c-12.720497 0-19.080745 12.720497-19.080746 19.080745v171.726708h197.167702c31.801242 0 63.602484 25.440994 63.602485 63.602485v324.372671c0 31.801242-25.440994 63.602484-63.602485 63.602484H203.52795v203.52795c0 12.720497 12.720497 19.080745 19.080746 19.080746h629.664596c12.720497 0 25.440994-6.360248 25.440994-19.080746v-190.807453c0-19.080745 19.080745-38.161491 38.16149-38.161491s38.161491 12.720497 38.161491 31.801242v190.807454c0 50.881988-38.161491 95.403727-95.403727 101.763975H235.329193c-50.881988-6.360248-89.043478-44.521739-95.403727-95.403727V718.708075h-57.242236c-31.801242 0-63.602484-25.440994-63.602485-63.602485V330.732919c0-31.801242 25.440994-63.602484 63.602485-63.602484h57.242236V95.403727C139.925466 44.521739 178.086957 6.360248 228.968944 0H852.273292z m-95.403727 279.850932c12.720497-12.720497 31.801242-12.720497 38.161491-12.720497 12.720497 6.360248 25.440994 19.080745 25.440994 31.801242v89.043478c89.043478 0 152.645963 31.801242 203.52795 89.043479 57.242236 63.602484 82.68323 171.726708 69.962733 286.21118 0 6.360248-6.360248 19.080745-19.080745 19.080745h-6.360249c-6.360248 0-19.080745 0-19.080745-12.720497-50.881988-101.763975-89.043478-171.726708-228.968944-178.086956v76.322981c0 6.360248-6.360248 25.440994-19.080746 31.801242-19.080745 12.720497-44.521739 0-50.881987-6.360248-50.881988-38.161491-89.043478-69.962733-120.844721-89.043479-95.403727-82.68323-108.124224-89.043478-108.124223-114.484472 0-19.080745 12.720497-31.801242 114.484472-114.484472 31.801242-25.440994 69.962733-57.242236 120.84472-95.403726z m12.720497 44.521739c-38.161491 38.161491-76.322981 63.602484-101.763975 89.043478-50.881988 44.521739-82.68323 69.962733-95.403727 82.68323 6.360248 6.360248 38.161491 31.801242 89.043479 69.962733 25.440994 19.080745 63.602484 44.521739 108.124223 82.68323V566.062112c0-12.720497 12.720497-25.440994 25.440994-25.440994 139.925466 0 203.52795 57.242236 254.409938 133.565217 0-57.242236-19.080745-120.84472-63.602485-171.726708-44.521739-44.521739-108.124224-69.962733-190.807453-69.962733-6.360248 0-12.720497 0-19.080745-6.360248 0-6.360248-6.360248-12.720497-6.360249-19.080745V324.372671zM127.204969 381.614907h-38.161491l63.602485 241.689441H190.807453l44.52174-190.807454 44.521739 190.807454H318.012422L381.614907 381.614907h-31.801242l-44.52174 190.807453-44.521739-190.807453h-38.16149l-44.521739 190.807453L127.204969 381.614907z" p-id="6423"></path></svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

1
packages/word/src/assets/images/qrcode.svg

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733147862015" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5410" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M423.836543 114.819049l0-0.274246L204.08256 114.544803c-45.911656 0-83.09451 36.932144-83.356476 82.59309l-0.023536 0 0 207.579709c0 2.468215 0.500397 4.782933 1.239224 7.000438 6.678096 39.245839 40.831964 69.164243 82.140789 69.164243L423.836543 480.882282l0-0.237407c38.877449-2.432399 70.477144-31.363312 76.798107-68.926836 0.763386-2.217505 1.289366-4.532223 1.289366-7.000438L501.924016 197.137893l-0.025583 0C501.683539 153.253406 467.244168 117.538997 423.836543 114.819049zM458.038506 393.46021c0 24.14798-19.654642 43.705408-43.88551 43.705408L208.445938 437.165618c-24.230867 0-43.858904-19.557428-43.858904-43.705408L164.587034 201.980177c0-24.149003 19.628036-43.717687 43.858904-43.717687l205.708082 0c24.230867 0 43.88551 19.569708 43.88551 43.717687L458.039529 393.46021zM902.246517 195.111746c-0.215918-42.799782-33.818223-77.644381-76.153424-80.304977l0-0.261966L634.384863 114.544803c-44.790112 0-81.040734 36.037774-81.304747 80.56592l-0.023536 0 0 202.511273c0 2.407839 0.476861 4.673439 1.240247 6.831592 6.487761 38.292118 39.830147 67.472717 80.08906 67.472717l191.70823 0 0-0.226151c37.921681-2.385327 68.734454-30.613228 74.961272-67.246567 0.738827-2.158153 1.216711-4.423753 1.216711-6.831592L902.2721 195.111746 902.246517 195.111746zM859.461061 386.638851c0 23.551392-19.152199 42.643216-42.813085 42.643216L638.678656 429.282067c-23.658839 0-42.834574-19.091824-42.834574-42.643216L595.844082 199.832258c0-23.552415 19.175735-42.643216 42.834574-42.643216l177.969321 0c23.660886 0 42.813085 19.091824 42.813085 42.643216L859.461061 386.638851zM415.680792 539.887141l0-0.260943L201.839473 539.626197c-44.670385 0-80.874959 35.94363-81.114412 80.375585l-0.023536 0 0 201.974038c0 2.420119 0.477884 4.687766 1.215688 6.821359 6.464225 38.181601 39.73498 67.316152 79.922261 67.316152L415.680792 896.113331l0-0.236384c37.824467-2.350534 68.567655-30.529317 74.744331-67.079768 0.762363-2.133593 1.24127-4.40124 1.24127-6.821359L491.666394 620.001783l-0.049119 0C491.402381 577.308425 457.919802 542.53648 415.680792 539.887141zM448.975083 811.04077c0 23.493064-19.127639 42.524512-42.691311 42.524512L212.953601 853.565283c0 0-0.022513 0-0.047072 0l-6.822382 0c-23.563672 0-42.690288-19.031449-42.690288-42.524512L163.393859 624.687502c0-23.469528 19.126616-42.525536 42.690288-42.525536l200.200648 0c23.563672 0 42.691311 19.056008 42.691311 42.525536L448.976106 811.04077zM721.154066 753.120616c-14.741749 0-26.66736 11.508102-26.66736 25.699312l0 51.395554c0 14.228049 11.924587 25.721825 26.66736 25.721825 14.736633 0 26.663266-11.492752 26.663266-25.721825l0-51.395554C747.817332 764.628718 735.891721 753.120616 721.154066 753.120616zM834.775846 727.398792c-14.739702 0-26.665313 11.494799-26.665313 25.697265l0 77.118402c0 14.214746 11.924587 25.701358 26.665313 25.701358 14.763239 0 26.688849-11.487635 26.688849-25.701358l0-77.118402C861.464695 738.894613 849.538061 727.398792 834.775846 727.398792zM834.775846 573.172221c-14.739702 0-26.665313 11.506055-26.665313 25.722848l0 51.395554c0 14.189164 11.924587 25.697265 26.665313 25.697265 14.763239 0 26.688849-11.508102 26.688849-25.697265l0-51.395554C861.464695 584.679299 849.538061 573.172221 834.775846 573.172221zM721.154066 573.195757c-14.741749 0-26.66736 11.507078-26.66736 25.709545L694.486706 701.735295c0 14.192234 11.924587 25.686009 26.66736 25.686009 14.736633 0 26.663266-11.492752 26.663266-25.686009L747.817332 598.905302C747.817332 584.702835 735.891721 573.195757 721.154066 573.195757zM606.050538 701.735295c-14.68956 0-26.640754 11.435447-26.640754 25.663496l0 102.81669c0 14.214746 11.951193 25.701358 26.640754 25.701358 14.787798 0 26.712385-11.487635 26.712385-25.701358L632.762923 727.398792C632.763946 713.170742 620.838336 701.735295 606.050538 701.735295zM606.050538 573.172221c-14.68956 0-26.640754 11.506055-26.640754 25.722848l0 25.709545c0 14.201443 11.951193 25.686009 26.640754 25.686009 14.787798 0 26.712385-11.484565 26.712385-25.686009l0-25.709545C632.763946 584.679299 620.838336 573.172221 606.050538 573.172221z" fill="#5D5D5D" p-id="5411"></path></svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

260
packages/word/src/main.ts

@ -30,6 +30,7 @@ import barcode2dPlugin from "./plugins/barcode2d"
import { floatingToolbarPlugin, changeAiTextarea } from "./plugins/floatingToolbar"
import excelPlugin from "./plugins/excel"
import docxPlugin from './plugins/docx'
import { md5 } from 'js-md5'
window.onload = function () {
const isApple =
typeof navigator !== 'undefined' && /Mac OS X/.test(navigator.userAgent)
@ -1041,9 +1042,108 @@ window.onload = function () {
])
}
document.querySelector<HTMLDivElement>('.menu-item__barcode')!.onclick = () => {
try {
new Dialog({
title: '内容',
data: [
{
type: 'textarea',
label: '条形码内容',
height: 100,
name: 'barcodeStr',
required: false,
placeholder: '请输入条形码内容(仅英文和数字有效)'
}
],
onConfirm: payload => {
if (!payload[0] || !payload[0].value) {
alert("条形码内容不能为空")
return;
}
instance.command.executeInsertBarcode1D(payload[0].value, 200, 100);
}
})
} catch (error: any) {
console.error(error)
//alert(error.message)
}
}
document.querySelector<HTMLDivElement>('.menu-item__qrcode')!.onclick = () => {
try {
new Dialog({
title: '内容',
data: [
{
type: 'textarea',
label: '二维码内容',
height: 100,
name: 'barcodeStr',
required: false,
placeholder: '请输入二维码内容'
}
],
onConfirm: payload => {
if (!payload[0] || !payload[0].value) {
alert("二维码内容不能为空")
return;
}
instance.command.executeInsertBarcode2D(payload[0].value, 200, 200);
}
})
} catch (error: any) {
console.error(error)
//alert(error.message)
}
}
document.querySelector<HTMLDivElement>('.menu-item__importword')!.onclick = () => {
docxFileInput.click();
}
document.querySelector<HTMLDivElement>('.menu-item__importexcel')!.onclick = () => {
excelFileInput.click();
}
document.querySelector<HTMLDivElement>('.menu-item__exportword')!.onclick = () => {
try {
new Dialog({
title: '文档标题',
data: [
{
type: 'input',
label: '文档标题',
height: 30,
name: 'barcodeStr',
value: godoWordTitle,
required: true,
placeholder: '请输入文档标题'
}
],
onConfirm: payload => {
if (!payload[0] || !payload[0].value) {
alert("请输入文档标题")
return;
}
instance.command.executeExportDocx({
fileName: godoWordTitle,
isFile: true
})
}
})
} catch (error: any) {
console.error(error)
//alert(error.message)
}
}
const blockDom = document.querySelector<HTMLDivElement>('.menu-item__block')!
blockDom.onclick = function () {
console.log('block')
//console.log('block')
new Dialog({
title: '内容块',
data: [
@ -1407,7 +1507,7 @@ window.onload = function () {
appendCatalog(catalogMainDom, catalog)
}
}
let isCatalogShow = true
let isCatalogShow = false
const catalogDom = document.querySelector<HTMLElement>('.catalog')!
const catalogModeDom =
document.querySelector<HTMLDivElement>('.catalog-mode')!
@ -1923,56 +2023,56 @@ window.onload = function () {
instance.listener.saved = function (payload) {
console.log('elementList: ', payload)
}
let usernameEditor = 'godoos'
// 9. 右键菜单注册
instance.register.contextMenuList([
{
name: "插入条形码",
when: (payload) => {
return !payload.isReadonly && payload.editorTextFocus;
},
callback: (command) => {
const content: any = window.prompt("请输入内容");
command.executeInsertBarcode1D(content, 200, 100);
},
},
{
name: "插入二维码",
when: (payload) => {
return !payload.isReadonly && payload.editorTextFocus;
},
callback: (command) => {
const content: any = window.prompt("请输入内容");
command.executeInsertBarcode2D(content, 200, 200);
},
},
{
name: "导出文档",
when: () => true,
callback: (command) => {
if (godoWordTitle == '') {
godoWordTitle = window.prompt("请输入文档标题");
}
command.executeExportDocx({
fileName: godoWordTitle,
isFile: true
});
},
},
{
name: "导入文档",
when: () => true,
callback: () => {
docxFileInput.click();
},
},
{
name: "导入excel",
when: () => true,
callback: () => {
excelFileInput.click();
},
},
// {
// name: "插入条形码",
// when: (payload) => {
// return !payload.isReadonly && payload.editorTextFocus;
// },
// callback: (command) => {
// const content: any = window.prompt("请输入内容");
// command.executeInsertBarcode1D(content, 200, 100);
// },
// },
// {
// name: "插入二维码",
// when: (payload) => {
// return !payload.isReadonly && payload.editorTextFocus;
// },
// callback: (command) => {
// const content: any = window.prompt("请输入内容");
// command.executeInsertBarcode2D(content, 200, 200);
// },
// },
// {
// name: "导出文档",
// when: () => true,
// callback: (command) => {
// if (godoWordTitle == '') {
// godoWordTitle = window.prompt("请输入文档标题");
// }
// command.executeExportDocx({
// fileName: godoWordTitle,
// isFile: true
// });
// },
// },
// {
// name: "导入文档",
// when: () => true,
// callback: () => {
// docxFileInput.click();
// },
// },
// {
// name: "导入excel",
// when: () => true,
// callback: () => {
// excelFileInput.click();
// },
// },
{
name: '批注',
when: payload => {
@ -1986,6 +2086,14 @@ window.onload = function () {
new Dialog({
title: '批注',
data: [
{
type: 'input',
label: '批注人',
required: true,
name: 'username',
placeholder: '请输入批注人',
value: usernameEditor
},
{
type: 'textarea',
label: '批注',
@ -1997,13 +2105,22 @@ window.onload = function () {
],
onConfirm: payload => {
const value = payload.find(p => p.name === 'value')?.value
if (!value) return
const username = payload.find(p => p.name === 'username')?.value
if(!username){
alert("请输入批注人")
return;
}
usernameEditor = username;
if (!value) {
alert('请输入批注内容')
return
}
const groupId = command.executeSetGroup()
if (!groupId) return
commentList.push({
id: groupId,
content: value,
userName: 'godoos',
userName: username || 'godoos',
rangeText: command.getRangeText(),
createdDate: new Date().toLocaleString()
})
@ -2082,7 +2199,7 @@ window.onload = function () {
if (godoWordTitle == '') {
godoWordTitle = window.prompt("请输入文档标题");
}
console.log(godoWordTitle)
//console.log(godoWordTitle)
instance.command.executeExportDocx({
fileName: godoWordTitle,
isFile: false
@ -2187,7 +2304,21 @@ window.onload = function () {
}
godoWordTitle = data.title
if (isBase64(data.content)) {
data.content = base64ToArrayBuffer(data.content)
const cachename = 'godoos_word_' + md5(data.content)
const cahceVal:any = localStorage.getItem(cachename)
console.log(cahceVal)
if(cahceVal) {
try {
const cacheData = JSON.parse(cahceVal)
instance.command.executeSetValue(cacheData.data)
} catch (error) {
console.error(error)
}
return;
}else{
data.content = base64ToArrayBuffer(data.content)
}
}
//const buffer = base64ToArrayBuffer(data.content)
//console.log(buffer)
@ -2223,3 +2354,24 @@ window.onload = function () {
})
}
document.addEventListener('DOMContentLoaded', function () {
const tabs = document.querySelectorAll('.tab');
const contentSections = document.querySelectorAll('.menu-section');
tabs.forEach(tab => {
tab.addEventListener('click', () => {
// 移除所有选项卡的 active 类
tabs.forEach(t => t.classList.remove('active'));
// 添加当前选项卡的 active 类
tab.classList.add('active');
// 获取当前选项卡对应的内容ID
const targetId: any = tab.getAttribute('data-tab');
// 移除所有内容区域的 active 类
contentSections.forEach(section => section.classList.remove('active'));
// 添加目标内容区域的 active 类
document.getElementById(targetId)?.classList.add('active');
});
});
});

4
packages/word/src/plugins/docx/exportDocx.ts

@ -25,7 +25,7 @@ import {
MathRun
} from 'docx'
import { saveAs } from './utils'
import { md5 } from 'js-md5';
// 标题映射
const titleLevelToHeadingLevel = {
[TitleLevel.FIRST]: HeadingLevel.HEADING_1,
@ -228,6 +228,8 @@ export default function (command: Command) {
})
}else{
Packer.toBase64String(doc).then((base64:any) => {
const cachename = 'godoos_word_' + md5(base64)
localStorage.setItem(cachename, JSON.stringify(command.getValue()))
const save = {
data: JSON.stringify({ content: base64, title: fileName }),
type: 'exportDocx'

148
packages/word/src/style.css

@ -42,12 +42,90 @@ body {
ul {
list-style: none;
}
/* 选项卡样式 */
.tabs {
width: 100%;
height: 48px; /* 调整高度以匹配Office风格 */
top: 0;
z-index: 9;
position: fixed;
display: flex;
align-items: center;
justify-content: flex-start;
background: #ffffff;
padding: 0 16px;
overflow: hidden;
border-bottom: 1px solid #eaeaea; /* 添加底部边框 */
}
.tab {
height: 46px; /* 调整高度以匹配选项卡容器 */
display: flex;
align-items: center;
justify-content: center;
padding: 0 16px;
cursor: pointer;
border-radius: 4px 4px 0 0; /* 圆润的上边角 */
transition: background-color 0.3s ease, color 0.3s ease;
font-size: 14px; /* 字体大小 */
font-weight: 500; /* 字体粗细 */
color: #333333; /* 文字颜色 */
}
.tab:hover {
background-color: #f3f3f3; /* 悬停背景色 */
color: #0078d4; /* 悬停文字颜色 */
}
.tab.active {
background-color: #ffffff; /* 选中背景色 */
color: #0078d4; /* 选中文字颜色 */
border-bottom: 2px solid #0078d4; /* 选中底部边框 */
z-index: 1; /* 确保选中的选项卡在最上层 */
}
/* 内容区域样式 */
.menu {
top: 48px; /* 避免被固定在顶部的选项卡遮挡 */
padding: 8px 20px;
width: calc(100% - 40px);
position: fixed;
z-index: 9;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: left;
background: #ffffff;
border: 1px solid #eaeaea; /* 边框 */
border-top: none; /* 去掉顶部边框 */
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 阴影效果 */
}
.menu-section {
display: none;
}
.menu-section.active {
display: flex;
}
.menu-item {
height: 24px;
display: flex;
align-items: center;
}
.menu-item:not(:last-child)::after {
content: '';
width: 1px;
height: 16px;
margin:0 8px;
display: inline-block;
background-color: #cfd2d8;
}
/* .menu {
width: 98%;
left:1%;
height: 60px;
top: 0;
top: 24px;
z-index: 9;
position: fixed;
display: flex;
@ -55,28 +133,21 @@ ul {
align-items: center;
justify-content: left;
background: #fff;
/* box-shadow: 0 2px 4px 0 transparent; */
box-shadow: 0 0 10px rgba(128,145,165,.2);
}
} */
.menu-divider {
width: 1px;
height: 16px;
margin: 0 8px;
display: inline-block;
display: flex;
background-color: #cfd2d8;
}
.menu-item {
height: 24px;
display: flex;
align-items: center;
position: relative;
}
.menu-item>div {
width: 24px;
height: 24px;
width: 32px;
height: 32px;
cursor: pointer;
display: flex;
align-items: center;
@ -93,15 +164,15 @@ ul {
}
.menu-item i {
width: 16px;
height: 16px;
width: 20px;
height: 20px;
display: inline-block;
background-repeat: no-repeat;
background-size: 100% 100%;
}
.menu-item>div>span {
width: 16px;
width: 20px;
height: 3px;
display: inline-block;
border: 1px solid #e2e6ed;
@ -109,8 +180,8 @@ ul {
.menu-item .select {
border: none;
font-size: 12px;
line-height: 24px;
font-size: 0.9rem;
line-height: 28px;
user-select: none;
}
@ -715,6 +786,7 @@ ul {
left: 0;
bottom: 0;
top: 100px;
display: none;
padding: 0 20px 40px 20px;
}
@ -783,7 +855,7 @@ ul {
}
.editor>div {
margin: 80px auto;
margin: 90px auto 80px;
}
.ce-page-container canvas {
@ -1070,6 +1142,46 @@ ul {
background-image: url('./assets/images/save.svg');
}
.menu-item__qrcode {
position: relative;
}
.menu-item__qrcode i {
background-image: url('./assets/images/qrcode.svg');
}
.menu-item__barcode {
position: relative;
}
.menu-item__barcode i {
background-image: url('./assets/images/barcode.svg');
}
.menu-item__importword {
position: relative;
}
.menu-item__importword i {
background-image: url('./assets/images/import-word.svg');
}
.menu-item__exportword {
position: relative;
}
.menu-item__exportword i {
background-image: url('./assets/images/export-word.svg');
}
.menu-item__importexcel {
position: relative;
}
.menu-item__importexcel i {
background-image: url('./assets/images/import-excel.svg');
}
.menu-item__ai-edit i{
width: 20px;
height: 20px;

426
packages/word/yarn.lock

@ -84,7 +84,7 @@
"@algolia/requester-common" "4.14.3"
"@algolia/transporter" "4.14.3"
"@algolia/client-search@4.14.3":
"@algolia/client-search@>= 4.9.1 < 6", "@algolia/client-search@4.14.3":
version "4.14.3"
resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.14.3.tgz"
integrity sha512-I2U7xBx5OPFdPLA8AXKUPPxGY3HDxZ4r7+mlZ8ZpLbI8/ri6fnu6B4z3wcL7sgHhDYMwnAE8Xr0AB0h3Hnkp4A==
@ -206,7 +206,7 @@
debug "^3.1.0"
lodash.once "^4.1.1"
"@docsearch/css@3.5.1", "@docsearch/css@^3.5.1":
"@docsearch/css@^3.5.1", "@docsearch/css@3.5.1":
version "3.5.1"
resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.5.1.tgz"
integrity sha512-2Pu9HDg/uP/IT10rbQ+4OrTQuxIWdKVUEdcw9/w7kZJv9NeHS6skJx1xuRiFyoGKwAzcHXnLp7csE99sj+O1YA==
@ -229,111 +229,6 @@
"@docsearch/css" "3.5.1"
algoliasearch "^4.0.0"
"@esbuild/android-arm64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz#9e00eb6865ed5f2dbe71a1e96f2c52254cd92903"
integrity sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==
"@esbuild/android-arm@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.18.17.tgz#1aa013b65524f4e9f794946b415b32ae963a4618"
integrity sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==
"@esbuild/android-x64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.18.17.tgz#c2bd0469b04ded352de011fae34a7a1d4dcecb79"
integrity sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==
"@esbuild/darwin-arm64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz#0c21a59cb5bd7a2cec66c7a42431dca42aefeddd"
integrity sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==
"@esbuild/darwin-x64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz#92f8763ff6f97dff1c28a584da7b51b585e87a7b"
integrity sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==
"@esbuild/freebsd-arm64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz#934f74bdf4022e143ba2f21d421b50fd0fead8f8"
integrity sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==
"@esbuild/freebsd-x64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz#16b6e90ba26ecc865eab71c56696258ec7f5d8bf"
integrity sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==
"@esbuild/linux-arm64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz#179a58e8d4c72116eb068563629349f8f4b48072"
integrity sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==
"@esbuild/linux-arm@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz#9d78cf87a310ae9ed985c3915d5126578665c7b5"
integrity sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==
"@esbuild/linux-ia32@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz#6fed202602d37361bca376c9d113266a722a908c"
integrity sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==
"@esbuild/linux-loong64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz#cdc60304830be1e74560c704bfd72cab8a02fa06"
integrity sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==
"@esbuild/linux-mips64el@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz#c367b2855bb0902f5576291a2049812af2088086"
integrity sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==
"@esbuild/linux-ppc64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz#7fdc0083d42d64a4651711ee0a7964f489242f45"
integrity sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==
"@esbuild/linux-riscv64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz#5198a417f3f5b86b10c95647b8bc032e5b6b2b1c"
integrity sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==
"@esbuild/linux-s390x@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz#7459c2fecdee2d582f0697fb76a4041f4ad1dd1e"
integrity sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==
"@esbuild/linux-x64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz#948cdbf46d81c81ebd7225a7633009bc56a4488c"
integrity sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==
"@esbuild/netbsd-x64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz#6bb89668c0e093c5a575ded08e1d308bd7fd63e7"
integrity sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==
"@esbuild/openbsd-x64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz#abac2ae75fef820ef6c2c48da4666d092584c79d"
integrity sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==
"@esbuild/sunos-x64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz#74a45fe1db8ea96898f1a9bb401dcf1dadfc8371"
integrity sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==
"@esbuild/win32-arm64@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz#fd95ffd217995589058a4ed8ac17ee72a3d7f615"
integrity sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==
"@esbuild/win32-ia32@0.18.17":
version "0.18.17"
resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz#9b7ef5d0df97593a80f946b482e34fcba3fa4aaf"
integrity sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==
"@esbuild/win32-x64@0.18.17":
version "0.18.17"
resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz"
@ -418,7 +313,7 @@
"@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
version "2.0.5"
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
@ -431,66 +326,6 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
"@parcel/watcher-android-arm64@2.5.0":
version "2.5.0"
resolved "https://registry.npmmirror.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz#e32d3dda6647791ee930556aee206fcd5ea0fb7a"
integrity sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==
"@parcel/watcher-darwin-arm64@2.5.0":
version "2.5.0"
resolved "https://registry.npmmirror.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz#0d9e680b7e9ec1c8f54944f1b945aa8755afb12f"
integrity sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==
"@parcel/watcher-darwin-x64@2.5.0":
version "2.5.0"
resolved "https://registry.npmmirror.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz#f9f1d5ce9d5878d344f14ef1856b7a830c59d1bb"
integrity sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==
"@parcel/watcher-freebsd-x64@2.5.0":
version "2.5.0"
resolved "https://registry.npmmirror.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz#2b77f0c82d19e84ff4c21de6da7f7d096b1a7e82"
integrity sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==
"@parcel/watcher-linux-arm-glibc@2.5.0":
version "2.5.0"
resolved "https://registry.npmmirror.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz#92ed322c56dbafa3d2545dcf2803334aee131e42"
integrity sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==
"@parcel/watcher-linux-arm-musl@2.5.0":
version "2.5.0"
resolved "https://registry.npmmirror.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz#cd48e9bfde0cdbbd2ecd9accfc52967e22f849a4"
integrity sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==
"@parcel/watcher-linux-arm64-glibc@2.5.0":
version "2.5.0"
resolved "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz#7b81f6d5a442bb89fbabaf6c13573e94a46feb03"
integrity sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==
"@parcel/watcher-linux-arm64-musl@2.5.0":
version "2.5.0"
resolved "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz#dcb8ff01077cdf59a18d9e0a4dff7a0cfe5fd732"
integrity sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==
"@parcel/watcher-linux-x64-glibc@2.5.0":
version "2.5.0"
resolved "https://registry.npmmirror.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz#2e254600fda4e32d83942384d1106e1eed84494d"
integrity sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==
"@parcel/watcher-linux-x64-musl@2.5.0":
version "2.5.0"
resolved "https://registry.npmmirror.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz#01fcea60fedbb3225af808d3f0a7b11229792eef"
integrity sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==
"@parcel/watcher-win32-arm64@2.5.0":
version "2.5.0"
resolved "https://registry.npmmirror.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz#87cdb16e0783e770197e52fb1dc027bb0c847154"
integrity sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==
"@parcel/watcher-win32-ia32@2.5.0":
version "2.5.0"
resolved "https://registry.npmmirror.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz#778c39b56da33e045ba21c678c31a9f9d7c6b220"
integrity sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==
"@parcel/watcher-win32-x64@2.5.0":
version "2.5.0"
resolved "https://registry.npmmirror.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz"
@ -584,11 +419,6 @@
resolved "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz"
integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==
"@types/node@16.18.96":
version "16.18.96"
resolved "https://registry.npmjs.org/@types/node/-/node-16.18.96.tgz"
integrity sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==
"@types/node@^14.0.1":
version "14.18.63"
resolved "https://registry.npmmirror.com/@types/node/-/node-14.18.63.tgz"
@ -608,6 +438,11 @@
dependencies:
undici-types "~6.19.8"
"@types/node@>= 14", "@types/node@16.18.96":
version "16.18.96"
resolved "https://registry.npmjs.org/@types/node/-/node-16.18.96.tgz"
integrity sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==
"@types/prismjs@^1.26.0":
version "1.26.0"
resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.0.tgz"
@ -656,7 +491,7 @@
semver "^7.3.7"
tsutils "^3.21.0"
"@typescript-eslint/parser@5.62.0":
"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@5.62.0":
version "5.62.0"
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz"
integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==
@ -814,7 +649,7 @@
resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.12.tgz"
integrity sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==
"@vueuse/core@10.2.1", "@vueuse/core@^10.2.1":
"@vueuse/core@^10.2.1", "@vueuse/core@10.2.1":
version "10.2.1"
resolved "https://registry.npmjs.org/@vueuse/core/-/core-10.2.1.tgz"
integrity sha512-c441bfMbkAwTNwVRHQ0zdYZNETK//P84rC01aP2Uy/aRFCiie9NE/k9KdIXbno0eDYP5NPUuWv0aA/I4Unr/7w==
@ -857,7 +692,7 @@
optionalDependencies:
"@zxing/text-encoding" "^0.9.0"
"@zxing/library@^0.21.3":
"@zxing/library@^0.21.0", "@zxing/library@^0.21.3":
version "0.21.3"
resolved "https://registry.npmmirror.com/@zxing/library/-/library-0.21.3.tgz"
integrity sha512-hZHqFe2JyH/ZxviJZosZjV+2s6EDSY0O24R+FQmlWZBZXP9IqMo7S3nb3+2LBWxodJQkSurdQGnqE7KXqrYgow==
@ -876,7 +711,7 @@ acorn-jsx@^5.3.1:
resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
acorn@^7.4.0:
"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^7.4.0:
version "7.4.1"
resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
@ -909,7 +744,7 @@ ajv@^8.0.1:
require-from-string "^2.0.2"
uri-js "^4.2.2"
algoliasearch@^4.0.0:
algoliasearch@^4.0.0, "algoliasearch@>= 4.9.1 < 6":
version "4.14.3"
resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.14.3.tgz"
integrity sha512-GZTEuxzfWbP/vr7ZJfGzIl8fOsoxN916Z6FY2Egc9q2TmZ6hvq5KfAxY89pPW01oW/2HDEKA8d30f9iAH9eXYg==
@ -1034,7 +869,7 @@ asn1@~0.2.3:
dependencies:
safer-buffer "~2.1.0"
assert-plus@1.0.0, assert-plus@^1.0.0:
assert-plus@^1.0.0, assert-plus@1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
@ -1118,7 +953,12 @@ bluebird@^3.7.2:
resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
bluebird@~3.4.0, bluebird@~3.4.1:
bluebird@~3.4.0:
version "3.4.7"
resolved "https://registry.npmmirror.com/bluebird/-/bluebird-3.4.7.tgz"
integrity sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==
bluebird@~3.4.1:
version "3.4.7"
resolved "https://registry.npmmirror.com/bluebird/-/bluebird-3.4.7.tgz"
integrity sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==
@ -1281,16 +1121,16 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
color-name@^1.0.0, color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
color-string@^1.9.0:
version "1.9.1"
resolved "https://registry.npmmirror.com/color-string/-/color-string-1.9.1.tgz"
@ -1354,7 +1194,7 @@ core-js@3.37.0:
resolved "https://registry.npmmirror.com/core-js/-/core-js-3.37.0.tgz"
integrity sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug==
core-util-is@1.0.2, core-util-is@~1.0.0:
core-util-is@~1.0.0, core-util-is@1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
@ -1391,7 +1231,7 @@ cypress-file-upload@^5.0.8:
resolved "https://registry.npmjs.org/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz"
integrity sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g==
cypress@13.6.0:
cypress@>3.0.0, cypress@13.6.0:
version "13.6.0"
resolved "https://registry.npmjs.org/cypress/-/cypress-13.6.0.tgz"
integrity sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw==
@ -1562,7 +1402,7 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1:
dependencies:
once "^1.4.0"
enquirer@^2.3.5, enquirer@^2.3.6:
enquirer@^2.3.5, enquirer@^2.3.6, "enquirer@>= 2.3.0 < 3":
version "2.3.6"
resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz"
integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
@ -1574,91 +1414,11 @@ entities@^4.5.0:
resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz"
integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
esbuild-android-arm64@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.13.tgz#da07b5fb2daf7d83dcd725f7cf58a6758e6e702a"
integrity sha512-T02aneWWguJrF082jZworjU6vm8f4UQ+IH2K3HREtlqoY9voiJUwHLRL6khRlsNLzVglqgqb7a3HfGx7hAADCQ==
esbuild-darwin-64@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.13.tgz#e94e9fd3b4b5455a2e675cd084a19a71b6904bbf"
integrity sha512-wkaiGAsN/09X9kDlkxFfbbIgR78SNjMOfUhoel3CqKBDsi9uZhw7HBNHNxTzYUK8X8LAKFpbODgcRB3b/I8gHA==
esbuild-darwin-arm64@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.13.tgz#8c320eafbb3ba2c70d8062128c5b71503e342471"
integrity sha512-b02/nNKGSV85Gw9pUCI5B48AYjk0vFggDeom0S6QMP/cEDtjSh1WVfoIFNAaLA0MHWfue8KBwoGVsN7rBshs4g==
esbuild-freebsd-64@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.13.tgz#ce0ca5b8c4c274cfebc9326f9b316834bd9dd151"
integrity sha512-ALgXYNYDzk9YPVk80A+G4vz2D22Gv4j4y25exDBGgqTcwrVQP8rf/rjwUjHoh9apP76oLbUZTmUmvCMuTI1V9A==
esbuild-freebsd-arm64@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.13.tgz#463da17562fdcfdf03b3b94b28497d8d8dcc8f62"
integrity sha512-uFvkCpsZ1yqWQuonw5T1WZ4j59xP/PCvtu6I4pbLejhNo4nwjW6YalqnBvBSORq5/Ifo9S/wsIlVHzkzEwdtlw==
esbuild-linux-32@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.13.13.tgz#2035793160da2c4be48a929e5bafb14a31789acc"
integrity sha512-yxR9BBwEPs9acVEwTrEE2JJNHYVuPQC9YGjRfbNqtyfK/vVBQYuw8JaeRFAvFs3pVJdQD0C2BNP4q9d62SCP4w==
esbuild-linux-64@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.13.13.tgz#fbe4802a8168c6d339d0749f977b099449b56f22"
integrity sha512-kzhjlrlJ+6ESRB/n12WTGll94+y+HFeyoWsOrLo/Si0s0f+Vip4b8vlnG0GSiS6JTsWYAtGHReGczFOaETlKIw==
esbuild-linux-arm64@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.13.tgz#f08d98df28d436ed4aad1529615822bb74d4d978"
integrity sha512-KMrEfnVbmmJxT3vfTnPv/AiXpBFbbyExH13BsUGy1HZRPFMi5Gev5gk8kJIZCQSRfNR17aqq8sO5Crm2KpZkng==
esbuild-linux-arm@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.13.tgz#6f968c3a98b64e30c80b212384192d0cfcb32e7f"
integrity sha512-hXub4pcEds+U1TfvLp1maJ+GHRw7oizvzbGRdUvVDwtITtjq8qpHV5Q5hWNNn6Q+b3b2UxF03JcgnpzCw96nUQ==
esbuild-linux-mips64le@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.13.tgz#690c78dc4725efe7d06a1431287966fbf7774c7f"
integrity sha512-cJT9O1LYljqnnqlHaS0hdG73t7hHzF3zcN0BPsjvBq+5Ad47VJun+/IG4inPhk8ta0aEDK6LdP+F9299xa483w==
esbuild-linux-ppc64le@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.13.tgz#7ec9048502de46754567e734aae7aebd2df6df02"
integrity sha512-+rghW8st6/7O6QJqAjVK3eXzKkZqYAw6LgHv7yTMiJ6ASnNvghSeOcIvXFep3W2oaJc35SgSPf21Ugh0o777qQ==
esbuild-netbsd-64@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.13.tgz#439bdaefffa03a8fa84324f5d83d636f548a2de3"
integrity sha512-A/B7rwmzPdzF8c3mht5TukbnNwY5qMJqes09ou0RSzA5/jm7Jwl/8z853ofujTFOLhkNHUf002EAgokzSgEMpQ==
esbuild-openbsd-64@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.13.tgz#c9958e5291a00a3090c1ec482d6bcdf2d5b5d107"
integrity sha512-szwtuRA4rXKT3BbwoGpsff6G7nGxdKgUbW9LQo6nm0TVCCjDNDC/LXxT994duIW8Tyq04xZzzZSW7x7ttDiw1w==
esbuild-sunos-64@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.13.tgz#ac9ead8287379cd2f6d00bd38c5997fda9c1179e"
integrity sha512-ihyds9O48tVOYF48iaHYUK/boU5zRaLOXFS+OOL3ceD39AyHo46HVmsJLc7A2ez0AxNZCxuhu+P9OxfPfycTYQ==
esbuild-windows-32@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.13.13.tgz#a3820fc86631ca594cb7b348514b5cc3f058cfd6"
integrity sha512-h2RTYwpG4ldGVJlbmORObmilzL8EECy8BFiF8trWE1ZPHLpECE9//J3Bi+W3eDUuv/TqUbiNpGrq4t/odbayUw==
esbuild-windows-64@0.13.13:
version "0.13.13"
resolved "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.13.tgz"
integrity sha512-oMrgjP4CjONvDHe7IZXHrMk3wX5Lof/IwFEIbwbhgbXGBaN2dke9PkViTiXC3zGJSGpMvATXVplEhlInJ0drHA==
esbuild-windows-arm64@0.13.13:
version "0.13.13"
resolved "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.13.tgz#06dfa52a6b178a5932a9a6e2fdb240c09e6da30c"
integrity sha512-6fsDfTuTvltYB5k+QPah/x7LrI2+OLAJLE3bWLDiZI6E8wXMQU+wLqtEO/U/RvJgVY1loPs5eMpUBpVajczh1A==
esbuild@^0.13.2:
version "0.13.13"
resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.13.13.tgz"
@ -1750,7 +1510,7 @@ eslint-visitor-keys@^3.3.0:
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
eslint@7.32.0:
eslint@*, "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@7.32.0:
version "7.32.0"
resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz"
integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==
@ -1902,16 +1662,16 @@ extract-zip@2.0.1:
optionalDependencies:
"@types/yauzl" "^2.9.1"
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"
integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
extsprintf@^1.2.0:
version "1.4.1"
resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz"
integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"
integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
fast-csv@^4.3.1:
version "4.3.6"
resolved "https://registry.npmmirror.com/fast-csv/-/fast-csv-4.3.6.tgz"
@ -1994,7 +1754,7 @@ flatted@^3.1.0:
resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz"
integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==
focus-trap@^7.5.2:
focus-trap@*, focus-trap@^7.5.2:
version "7.5.2"
resolved "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.2.tgz"
integrity sha512-p6vGNNWLDGwJCiEjkSK6oERj/hEyI9ITsSwIUICBoKLlWiTWXJRfQibCwcoi50rTZdbi87qDtUlMCmQwsGSgPw==
@ -2035,11 +1795,6 @@ fs.realpath@^1.0.0:
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
fsevents@~2.3.2:
version "2.3.3"
resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
fstream@^1.0.12:
version "1.0.12"
resolved "https://registry.npmmirror.com/fstream/-/fstream-1.0.12.tgz"
@ -2272,7 +2027,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.3:
inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.3, inherits@2:
version "2.0.4"
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@ -2373,6 +2128,11 @@ isstream@~0.1.2:
resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
js-md5@^0.8.3:
version "0.8.3"
resolved "https://registry.npmmirror.com/js-md5/-/js-md5-0.8.3.tgz"
integrity sha512-qR0HB5uP6wCuRMrWPTrkMaev7MJZwJuuw4fnwAzRgP4J4/F8RwtodOKpGp4XpqsLBFzzgqIO42efFAyz2Et6KQ==
js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
@ -2719,16 +2479,16 @@ minisearch@^6.1.0:
dependencies:
minimist "^1.2.6"
ms@2.1.2:
version "2.1.2"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
ms@^2.1.1:
version "2.1.3"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
ms@2.1.2:
version "2.1.2"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
nanoid@^3.3.7:
version "3.3.7"
resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz"
@ -2960,7 +2720,33 @@ queue-microtask@^1.2.2:
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@~2.3.6:
readable-stream@^2.0.0:
version "2.3.8"
resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz"
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
isarray "~1.0.0"
process-nextick-args "~2.0.0"
safe-buffer "~5.1.1"
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
readable-stream@^2.0.2:
version "2.3.8"
resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz"
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
isarray "~1.0.0"
process-nextick-args "~2.0.0"
safe-buffer "~5.1.1"
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
readable-stream@^2.0.5:
version "2.3.8"
resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz"
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
@ -2982,6 +2768,19 @@ readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
readable-stream@~2.3.6:
version "2.3.8"
resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz"
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
isarray "~1.0.0"
process-nextick-args "~2.0.0"
safe-buffer "~5.1.1"
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
readdir-glob@^1.1.2:
version "1.1.3"
resolved "https://registry.npmmirror.com/readdir-glob/-/readdir-glob-1.1.3.tgz"
@ -3056,13 +2855,6 @@ rfdc@^1.3.0:
resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz"
integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==
rimraf@2:
version "2.7.1"
resolved "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz"
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
dependencies:
glob "^7.1.3"
rimraf@^3.0.0, rimraf@^3.0.2:
version "3.0.2"
resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
@ -3070,7 +2862,14 @@ rimraf@^3.0.0, rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
rollup@^2.57.0:
rimraf@2:
version "2.7.1"
resolved "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz"
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
dependencies:
glob "^7.1.3"
rollup@^1.20.0||^2.0.0||^3.0.0, rollup@^2.14.0||^3.0.0, rollup@^2.57.0:
version "2.60.0"
resolved "https://registry.npmjs.org/rollup/-/rollup-2.60.0.tgz"
integrity sha512-cHdv9GWd58v58rdseC8e8XIaPUo8a9cgZpnCMMDGZFDZKEODOiPPEQFXLriWr/TjXzhPPmG5bkAztPsOARIcGQ==
@ -3113,7 +2912,7 @@ safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sass@^1.80.7:
sass@*, sass@^1.80.7:
version "1.80.7"
resolved "https://registry.npmmirror.com/sass/-/sass-1.80.7.tgz"
integrity sha512-MVWvN0u5meytrSjsU7AWsbhoXi1sc58zADXFllfZzbsBT1GHjjar6JwBINYPRrkx/zqnQ6uqbQuHgE95O+C+eQ==
@ -3136,6 +2935,11 @@ saxes@^5.0.1:
dependencies:
xmlchars "^2.2.0"
"search-insights@>= 1 < 3":
version "2.17.2"
resolved "https://registry.npmmirror.com/search-insights/-/search-insights-2.17.2.tgz"
integrity sha512-zFNpOpUO+tY2D85KrxJ+aqwnIfdEGi06UH2+xEb+Bp9Mwznmauqc9djbnBibJO5mpfUPPa8st6Sx65+vbeO45g==
semver@^7.2.1:
version "7.3.5"
resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz"
@ -3243,7 +3047,7 @@ slice-ansi@^4.0.0:
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"
"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.0, source-map-js@^1.2.1:
source-map-js@^1.2.0, source-map-js@^1.2.1, "source-map-js@>=0.6.2 <2.0.0":
version "1.2.1"
resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz"
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
@ -3268,15 +3072,6 @@ sshpk@^1.14.1:
safer-buffer "^2.0.2"
tweetnacl "~0.14.0"
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
dependencies:
emoji-regex "^8.0.0"
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz"
@ -3291,6 +3086,15 @@ string_decoder@~1.1.1:
dependencies:
safe-buffer "~5.1.0"
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
dependencies:
emoji-regex "^8.0.0"
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
@ -3410,7 +3214,7 @@ ts-custom-error@^3.2.1:
resolved "https://registry.npmmirror.com/ts-custom-error/-/ts-custom-error-3.3.1.tgz"
integrity sha512-5OX1tzOjxWEgsr/YEUWSuPrQ00deKLh6D7OTWcvNHm12/7QPyRh8SYpyWvA4IZv8H/+GQWQEh/kwo95Q9OVW1A==
tslib@^1.8.1:
tslib@*, tslib@^1.8.1:
version "1.14.1"
resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
@ -3456,7 +3260,7 @@ type-fest@^0.21.3:
resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz"
integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
typescript@4.9.5:
typescript@*, "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", typescript@>=3.7.0, typescript@4.9.5:
version "4.9.5"
resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
@ -3551,7 +3355,7 @@ vite-plugin-css-injected-by-js@^2.1.1:
resolved "https://registry.npmjs.org/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-2.1.1.tgz"
integrity sha512-gjIG6iFWde32oRr/bK9CsfN+jdbura2y4GlDzeOiEm6py38ud8dXzFl9zwmHjOjZdr8XEgQ9TovzVGNzp47esw==
vite@^2.4.2:
vite@^2.4.2, vite@>2.0.0-0:
version "2.6.14"
resolved "https://registry.npmjs.org/vite/-/vite-2.6.14.tgz"
integrity sha512-2HA9xGyi+EhY2MXo0+A2dRsqsAG3eFNEVIo12olkWhOmc8LfiM+eMdrXf+Ruje9gdXgvSqjLI9freec1RUM5EA==
@ -3563,7 +3367,7 @@ vite@^2.4.2:
optionalDependencies:
fsevents "~2.3.2"
vite@^4.4.6:
vite@^4.0.0, vite@^4.4.6:
version "4.4.7"
resolved "https://registry.npmjs.org/vite/-/vite-4.4.7.tgz"
integrity sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==
@ -3608,7 +3412,7 @@ vue-demi@>=0.14.5:
resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz"
integrity sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==
vue@^3.2.45, vue@^3.3.4:
"vue@^3.0.0-0 || ^2.6.0", vue@^3.2.25, vue@^3.2.45, vue@^3.3.4, vue@3.5.12:
version "3.5.12"
resolved "https://registry.npmmirror.com/vue/-/vue-3.5.12.tgz"
integrity sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==

Loading…
Cancel
Save