@ebl-vue/editor-render 2.31.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/dist/index.d.ts +19 -0
  4. package/dist/index.mjs +129 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/style.css +1 -0
  7. package/dist/styles/alert.css +151 -0
  8. package/dist/styles/block-alignment.css +9 -0
  9. package/dist/styles/code.css +214 -0
  10. package/dist/styles/color.css +27 -0
  11. package/dist/styles/delimiter.css +14 -0
  12. package/dist/styles/header.css +20 -0
  13. package/dist/styles/image.css +156 -0
  14. package/dist/styles/indent.css +86 -0
  15. package/dist/styles/index.css +68 -0
  16. package/dist/styles/inline-code.css +11 -0
  17. package/dist/styles/list.css +202 -0
  18. package/dist/styles/marker.css +4 -0
  19. package/dist/styles/outline.css +52 -0
  20. package/dist/styles/paragraph.css +23 -0
  21. package/dist/styles/quote.css +26 -0
  22. package/dist/styles/table.css +388 -0
  23. package/dist/styles/underline.css +3 -0
  24. package/package.json +54 -0
  25. package/src/EditorRender.vue +43 -0
  26. package/src/components/List.vue +40 -0
  27. package/src/components/alert.vue +21 -0
  28. package/src/components/code.vue +114 -0
  29. package/src/components/delimiter.vue +19 -0
  30. package/src/components/h1.vue +19 -0
  31. package/src/components/h2.vue +19 -0
  32. package/src/components/h3.vue +19 -0
  33. package/src/components/h4.vue +19 -0
  34. package/src/components/h5.vue +19 -0
  35. package/src/components/h6.vue +19 -0
  36. package/src/components/image.vue +31 -0
  37. package/src/components/index.ts +54 -0
  38. package/src/components/paragraph.vue +19 -0
  39. package/src/components/quote.vue +21 -0
  40. package/src/components/table.vue +46 -0
  41. package/src/constants/index.ts +1 -0
  42. package/src/i18n/zh-cn.ts +158 -0
  43. package/src/icons/index.ts +93 -0
  44. package/src/index.ts +12 -0
  45. package/src/installer.ts +21 -0
  46. package/src/styles/alert.css +151 -0
  47. package/src/styles/block-alignment.css +9 -0
  48. package/src/styles/code.css +214 -0
  49. package/src/styles/color.css +27 -0
  50. package/src/styles/delimiter.css +14 -0
  51. package/src/styles/header.css +20 -0
  52. package/src/styles/image.css +156 -0
  53. package/src/styles/indent.css +86 -0
  54. package/src/styles/index.css +68 -0
  55. package/src/styles/inline-code.css +11 -0
  56. package/src/styles/list.css +202 -0
  57. package/src/styles/marker.css +4 -0
  58. package/src/styles/outline.css +52 -0
  59. package/src/styles/paragraph.css +23 -0
  60. package/src/styles/quote.css +26 -0
  61. package/src/styles/table.css +388 -0
  62. package/src/styles/underline.css +3 -0
  63. package/src/types.ts +5 -0
  64. package/src/utils/index.ts +15 -0
  65. package/src/utils/install.ts +19 -0
  66. package/tsconfig.json +37 -0
  67. package/types/index.d.ts +19 -0
  68. package/vite.config.ts +80 -0
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .cdx-alert{position:relative;padding:10px;border-radius:5px;margin-bottom:10px;margin-top:10px}.cdx-alert-primary{background-color:#ebf8ff;border:1px solid #4299e1;color:#2b6cb0}.cdx-alert-secondary{background-color:#f7fafc;border:1px solid #cbd5e0;color:#222731}.cdx-alert-info{background-color:#e6fdff;border:1px solid #4cd4ce;color:#00727c}.cdx-alert-success{background-color:#f0fff4;border:1px solid #68d391;color:#2f855a}.cdx-alert-warning{background-color:#fffaf0;border:1px solid #ed8936;color:#c05621}.cdx-alert-danger{background-color:#fff5f5;border:1px solid #fc8181;color:#c53030}.cdx-alert-light{background-color:#fff;border:1px solid #edf2f7;color:#1a202c}.cdx-alert-dark{background-color:#2d3748;border:1px solid #1a202c;color:#d3d3d3}.cdx-alert-align-left{text-align:left}.cdx-alert-align-center{text-align:center}.cdx-alert-align-right{text-align:right}.cdx-alert__message{outline:none}.cdx-alert [contentEditable=true][data-placeholder]:before{position:absolute;content:attr(data-placeholder);color:#707684;font-weight:400;opacity:0}.cdx-alert [contentEditable=true][data-placeholder]:empty:before{opacity:1}.cdx-alert [contentEditable=true][data-placeholder]:empty:focus:before{opacity:0}.ce-popover__item[data-item-name=alert-primary] .ce-popover__item-icon svg #background{fill:#ebf8ff;stroke:#4299e1}.ce-popover__item[data-item-name=alert-primary] .ce-popover__item-icon svg #content{fill:#2b6cb0}.ce-popover__item[data-item-name=alert-secondary] .ce-popover__item-icon svg #background{fill:#f7fafc;stroke:#cbd5e0}.ce-popover__item[data-item-name=alert-secondary] .ce-popover__item-icon svg #content{fill:#222731}.ce-popover__item[data-item-name=alert-info] .ce-popover__item-icon svg #background{fill:#e6fdff;stroke:#4cd4ce}.ce-popover__item[data-item-name=alert-info] .ce-popover__item-icon svg #content{fill:#00727c}.ce-popover__item[data-item-name=alert-success] .ce-popover__item-icon svg #background{fill:#f0fff4;stroke:#68d391}.ce-popover__item[data-item-name=alert-success] .ce-popover__item-icon svg #content{fill:#2f855a}.ce-popover__item[data-item-name=alert-warning] .ce-popover__item-icon svg #background{fill:#fffaf0;stroke:#ed8936}.ce-popover__item[data-item-name=alert-warning] .ce-popover__item-icon svg #content{fill:#c05621}.ce-popover__item[data-item-name=alert-danger] .ce-popover__item-icon svg #background{fill:#fff5f5;stroke:#fc8181}.ce-popover__item[data-item-name=alert-danger] .ce-popover__item-icon svg #content{fill:#c53030}.ce-popover__item[data-item-name=alert-light] .ce-popover__item-icon svg #background{fill:#fff;stroke:#edf2f7}.ce-popover__item[data-item-name=alert-light] .ce-popover__item-icon svg #content{fill:#1a202c}.ce-popover__item[data-item-name=alert-dark] .ce-popover__item-icon svg #background{fill:#2d3748;stroke:#1a202c}.ce-popover__item[data-item-name=alert-dark] .ce-popover__item-icon svg #content{fill:#d3d3d3}.cdx-alert_setting__icon_wrapper{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px}.cdx-alert_setting__icon_wrapper_align{margin-top:10px}.cdx-alert_setting__icon{display:inline-block;width:24px;height:24px;text-align:center;line-height:24px;cursor:pointer}.cdx-alert_setting__icon_active{opacity:.3}.ce-tune-alignment--right{text-align:right}.ce-tune-alignment--center{text-align:center}.ce-tune-alignment--left{text-align:left}.ce-editorjs-x-shiki{border-radius:10px;display:flex;flex-direction:column;margin:10px 0;border:2px solid transparent;position:relative}.ce-editorjs-x-shiki.editable:hover{border:2px solid #C0C0C0}.ce-editorjs-x-shiki__lang{display:flex;justify-content:space-between;padding:8px}.ce-editorjs-x-shiki__code{position:relative;float:left;min-width:100%;overflow:hidden;height:auto}.ce-editorjs-x-shiki__code__dragHandler{position:absolute;left:50%;transform:translate(-50%);bottom:-5px;cursor:ns-resize;user-select:none;height:8px;width:60px;background-color:silver;border-radius:5px;display:none}.ce-editorjs-x-shiki:hover .ce-editorjs-x-shiki__code__dragHandler{display:block}.ce-editorjs-x-shiki__selector{display:flex;gap:15px;justify-content:space-between;z-index:12;border-bottom-style:solid;border-color:#9ca3af0d;border-bottom-width:1px;padding:0 8px 8px}.ce-editorjs-x-shiki__selector-language,.ce-editorjs-x-shiki__selector-theme{font-size:13px;font-family:inherit}.ce-editorjs-x-shiki__selector-language{width:90px}.ce-editorjs-x-shiki__selector select{border:none;outline:none}.ce-editorjs-x-shiki__span{position:relative;z-index:0;padding:20px 20px 20px 55px;margin:0;white-space:pre;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.ce-editorjs-x-shiki__span code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.ce-editorjs-x-shiki__textarea{all:unset;white-space:pre;background-color:transparent;position:absolute;padding:20px 20px 20px 55px;inset:0;color:transparent;z-index:0;font-size:13px;caret-color:#999;resize:none;border:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.ce-editorjs-x-shiki__textarea::selection{background-color:#083ca9;color:#fff}.ce-editorjs-x-shiki__copy{width:24px;height:24px;cursor:pointer;position:relative;margin-right:0}.ce-editorjs-x-shiki__copy_tip{font-size:12px;width:60px;margin-left:-20px;background-color:#0c0c0c;color:#ececec;text-align:center;border-radius:6px;padding:5px 10px;position:absolute;z-index:1;top:125%;transition:opacity .3s;visibility:hidden;opacity:0}.ce-editorjs-x-shiki__copy_tip:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent #0c0c0c transparent}.ce-editorjs-x-shiki__copy_tip.visible{visibility:visible;opacity:1}.ce-editorjs-x-shiki__span.shiki .line:before{content:attr(data-line);width:40px;display:inline-block;text-align:right;color:#888;position:absolute;left:0}.ce-editorjs-x-shiki__code ::-webkit-scrollbar{width:8px;height:8px}.ce-editorjs-x-shiki__code ::-webkit-scrollbar-track{background:#22272e;border-radius:1px}.ce-editorjs-x-shiki__code ::-webkit-scrollbar-thumb{background:#C0C0C0;border-radius:10px;border:2px solid #22272e}.ce-editorjs-x-shiki__code ::-webkit-scrollbar-thumb:hover{background:#555555}.ce-delimiter__line__wrapper{height:24px;display:flex;align-items:center;justify-content:center}.ce-delimiter__line{flex:1;height:2px;background-color:#eff0f1}.ce-header{padding:15px 0 3px;margin:0;line-height:1.25;outline:none}.ce-header p,.ce-header div{padding:0!important;margin:0!important}.image-tool{--bg-color: #cdd1e0;--front-color: #388ae5;--border-color: #e8e8eb;display:inline-block}.image-tool__image{border-radius:3px;overflow:hidden;margin-bottom:10px;padding-bottom:0;user-select:none;pointer-events:none}.image-tool__image-picture{max-width:100%;vertical-align:bottom;display:inline-block;user-select:none;pointer-events:none}.image-tool__image-preloader{width:150px;height:150px;border-radius:50%;background-size:cover;margin:auto;position:relative;background-color:var(--bg-color);background-position:center center}.image-tool__image-preloader:after{content:"";position:absolute;z-index:3;width:60px;height:60px;border-radius:50%;border:2px solid var(--bg-color);border-top-color:var(--front-color);left:50%;top:50%;margin-top:-30px;margin-left:-30px;animation:image-preloader-spin 2s infinite linear;box-sizing:border-box}.image-tool__caption{visibility:hidden;position:absolute;bottom:0;left:0;margin-bottom:10px}.image-tool__caption[contentEditable=true][data-placeholder]:before{position:absolute!important;content:attr(data-placeholder);color:#707684;font-weight:400;display:none}.image-tool__caption[contentEditable=true][data-placeholder]:empty:before{display:block}.image-tool__caption[contentEditable=true][data-placeholder]:empty:focus:before{display:none}.image-tool--empty .image-tool__image,.image-tool--empty .image-tool__image-preloader{display:none}.image-tool--empty .image-tool__caption,.image-tool--uploading .image-tool__caption{visibility:hidden!important}.image-tool .cdx-button{display:none;align-items:center;justify-content:center}.image-tool .cdx-button svg{height:auto;margin:0 6px 0 0}.image-tool--filled .cdx-button,.image-tool--filled .image-tool__image-preloader{display:none}.image-tool--uploading{width:100%}.image-tool--uploading .resizable{display:none!important}.image-tool--uploading .image-tool__image{min-height:200px;display:flex;background-color:#fff}.image-tool--uploading .image-tool__image-picture,.image-tool--uploading .cdx-button{display:none}.image-tool--withBorder .image-tool__image{border:1px solid var(--border-color)}.image-tool--withBackground .image-tool__image{padding:15px;background:var(--bg-color)}.image-tool--withBackground .image-tool__image-picture{max-width:60%;margin:0 auto}.image-tool--stretched .image-tool__image-picture{width:100%}.image-tool--caption .image-tool__caption{visibility:visible}.image-tool--caption{padding-bottom:50px}@keyframes image-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ce-popover-indent-item{cursor:default!important;display:flex;align-items:center;padding:3px}.ce-popover-indent-item[version^="2.26"]{gap:10px}.ce-popover-indent-item:hover{background-color:transparent!important}.ce-popover-indent-item .ce-popover-item__icon{width:26px;height:26px;cursor:pointer;will-change:background-color,color;transition:.3s background-color,.3s color;padding-block:0px;padding-inline:0px;border-width:0px;color:var(--color-text-primary, black);background-color:#fff;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;-webkit-transition:.3s background-color,.3s color;-moz-transition:.3s background-color,.3s color;-ms-transition:.3s background-color,.3s color;-o-transition:.3s background-color,.3s color}.ce-popover-indent-item .ce-popover-item--disabled{color:var(--color-text-secondary, #707684);opacity:.3;cursor:default}.ce-popover-indent-item .ce-popover-item__icon:focus{outline:none}.ce-popover-indent-item:is([version^="2.26"],[version^="2.27"],[version^="2.28"],[version^="2.29"]):hover .ce-popover-item__icon{box-shadow:0 0 0 1px var(--color-border-icon, rgba(201, 201, 204, .48))!important;-webkit-box-shadow:0 0 0 1px var(--color-border-icon, rgba(201, 201, 204, .48))!important}.ce-popover-indent-item:is([version^="2.26"],[version^="2.27"],[version^="2.28"],[version^="2.29"]) .ce-popover-item__icon{box-shadow:0 0 0 1px var(--color-border-icon, rgba(201, 201, 204, .48))!important;-webkit-box-shadow:0 0 0 1px var(--color-border-icon, rgba(201, 201, 204, .48))!important}.ce-popover-indent-item:is([version^="2.26"],[version^="2.27"],[version^="2.28"],[version^="2.29"]) .ce-popover-item__icon:hover{background-color:var(--color-background-item-hover, #eff2f5)}.ce-highlight-indent{display:inline-block;height:1.6em;top:50%;position:absolute;transform:translateY(-50%);-webkit-transform:translate(0px,-50%);-moz-transform:translate(0px,-50%);-ms-transform:translate(0px,-50%);-o-transform:translate(0px,-50%)}.ce-popover-indent-item[version^="2.3"] .ce-popover-item__title{margin-left:4px}.inline-code{background:rgba(250,239,240,.78);color:#b44437;padding:3px 4px;border-radius:5px;margin:0 1px;font-family:inherit;font-size:.86em;font-weight:500;letter-spacing:.3px}.cdx-list{margin:0;padding:0;outline:none;display:grid;counter-reset:item;gap:var(--spacing-s);padding:var(--spacing-xs);--spacing-s: 8px;--spacing-xs: 6px;--list-counter-type: numeric;--radius-border: 5px;--checkbox-background: #fff;--color-border: #C9C9C9;--color-bg-checked: #369FFF;--line-height: 1.45em;--color-bg-checked-hover: #0059AB;--color-tick: #fff;--size-checkbox: 1.2em}.cdx-list ol{padding-inline-start:0}.cdx-list__item{line-height:var(--line-height);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-template-areas:"checkbox content" ". child"}.cdx-list__item-children{display:grid;grid-area:child;gap:var(--spacing-s);padding-top:var(--spacing-s)}.cdx-list__item [contenteditable]{outline:none}.cdx-list__item-content{word-break:break-word;white-space:pre-wrap;grid-area:content;padding-left:var(--spacing-s)}.cdx-list__item:before{counter-increment:item;white-space:nowrap}.cdx-list-ordered .cdx-list__item:before{content:counters(item,".",var(--list-counter-type)) "."}.cdx-list-ordered{counter-reset:item}.cdx-list-unordered{padding-inline-start:0}.cdx-list-unordered .cdx-list__item:before{content:"•"}.cdx-list-checklist .cdx-list__item:before{content:""}.cdx-list__settings .cdx-settings-button{width:50%}.cdx-list__checkbox{padding-top:calc((var(--line-height) - var(--size-checkbox)) / 2);grid-area:checkbox;width:var(--size-checkbox);height:var(--size-checkbox);display:flex;cursor:pointer}.cdx-list__checkbox svg{opacity:0;height:var(--size-checkbox);width:var(--size-checkbox);left:-1px;top:-1px;position:absolute}@media (hover: hover){.cdx-list__checkbox:not(.cdx-list__checkbox--no-hover):hover .cdx-list__checkbox-check svg{opacity:1}}.cdx-list__checkbox--checked{line-height:var(--line-height)}@media (hover: hover){.cdx-list__checkbox--checked:not(.cdx-list__checkbox--checked--no-hover):hover .cdx-checklist__checkbox-check{background:var(--color-bg-checked-hover);border-color:var(--color-bg-checked-hover)}}.cdx-list__checkbox--checked .cdx-list__checkbox-check{background:var(--color-bg-checked);border-color:var(--color-bg-checked)}.cdx-list__checkbox--checked .cdx-list__checkbox-check svg{opacity:1}.cdx-list__checkbox--checked .cdx-list__checkbox-check svg path{stroke:var(--color-tick)}.cdx-list__checkbox--checked .cdx-list__checkbox-check:before{opacity:0;visibility:visible;transform:scale(2.5)}.cdx-list__checkbox-check{cursor:pointer;display:inline-block;position:relative;margin:0 auto;width:var(--size-checkbox);height:var(--size-checkbox);box-sizing:border-box;border-radius:var(--radius-border);border:1px solid var(--color-border);background:var(--checkbox-background)}.cdx-list__checkbox-check:before{content:"";position:absolute;inset:0;border-radius:100%;background-color:var(--color-bg-checked);visibility:hidden;pointer-events:none;transform:scale(1);transition:transform .4s ease-out,opacity .4s}.cdx-list__checkbox-check--disabled{pointer-events:none}.cdx-list-start-with-field{background:#F8F8F8;border:1px solid rgba(226,226,229,.2);border-radius:6px;padding:2px;display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto}.cdx-list-start-with-field--invalid{background:#FFECED;border:1px solid #E13F3F}.cdx-list-start-with-field--invalid .cdx-list-start-with-field__input{color:#e13f3f}.cdx-list-start-with-field__input{font-size:14px;outline:none;font-weight:500;font-family:inherit;border:0;background:transparent;margin:0;padding:0;line-height:22px;min-width:calc(100% - var(--toolbox-buttons-size) - var(--icon-margin-right))}.cdx-list-start-with-field__input::placeholder{color:var(--grayText);font-weight:500}.cdx-marker{background:rgba(245,235,111,.29);padding:3px 0}.ebl-outline{background-color:#fff;box-sizing:border-box;position:fixed;top:var(--header-height,84px);right:0;padding:15px 12px 50px;width:280px;overflow:hidden;font-family:Qihei Lenovo,Microsoft YaHei,微软雅黑,宋体,sans-serif;color:#606266;font-size:14px;max-height:calc(100vh - var(--header-height,84px))}.ebl-outline:hover{overflow:auto}.ebl-outline__item{cursor:pointer;height:36px;line-height:36px;padding:0 24px;word-break:break-word;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ebl-outline .level_1{padding-left:24px}.ebl-outline .level_2{padding-left:42px}.ebl-outline .level_3{padding-left:60px}.ebl-outline__item.active{color:#222;font-weight:700;background-color:#ebebeb}.ebl-outline__item:hover{background-color:#ebebeb}.ce-paragraph{line-height:2!important;outline:none}.ce-block:only-of-type .ce-paragraph[data-placeholder-active]:empty:before,.ce-block:only-of-type .ce-paragraph[data-placeholder-active][data-empty=true]:before{content:attr(data-placeholder-active)}.ce-paragraph p:first-of-type{margin-top:0}.ce-paragraph p:last-of-type{margin-bottom:0}.cdx-quote{overflow:hidden;overflow-wrap:break-word;margin:0;box-sizing:border-box;word-wrap:break-word;word-break:break-all}.cdx-quote blockquote{margin:15px 0}.cdx-block-quote{border:solid #acacac;border-width:0 0 0 3px;box-shadow:none;color:#666;line-height:1.6em;padding:1px 0 0 12px;text-align:left}.tc-wrap{--color-background: #f9f9fb;--color-text-secondary: #7b7e89;--color-border: #e8e8eb;--cell-size: 34px;--toolbox-icon-size: 18px;--toolbox-padding: 6px;--toolbox-aiming-field-size: calc(var(--toolbox-icon-size) + var(--toolbox-padding)*2);--col-width: 100px 100px 100px;position:relative;height:100%;margin-top:var(--toolbox-icon-size);box-sizing:border-box;display:inline-grid;z-index:0}.tc-wrap svg{vertical-align:top}@media print{.tc-wrap{border-left-color:var(--color-border);border-left-style:solid;border-left-width:1px}}@media print{.tc-wrap .tc-row:after{display:none}}.tc-table{position:relative;width:100%;height:100%;display:grid;font-size:14px;border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);line-height:1.4;overflow-x:auto}.tc-table:after{width:calc(var(--cell-size));height:100%;left:calc(var(--cell-size)*-1);top:0}.tc-table:after,.tc-table:before{position:absolute;content:""}.tc-table:before{width:100%;height:var(--toolbox-aiming-field-size);top:calc(var(--toolbox-aiming-field-size)*-1);left:0}.tc-table--heading .tc-row:first-child{font-weight:600;border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:2;background:var(--color-background)}.tc-table--heading .tc-row:first-child [contenteditable]:empty:before{content:attr(heading);color:var(--color-text-secondary)}.tc-table--heading .tc-row:first-child:after{bottom:-2px;border-bottom:2px solid var(--color-border)}.tc-add-column,.tc-add-row{display:flex;color:var(--color-text-secondary)}@media print{.tc-add{display:none}}.tc-add-column{display:grid;border-top:1px solid var(--color-border);grid-auto-rows:var(--cell-size);place-items:center}.tc-add-column svg{padding:5px;position:sticky;top:0;background-color:var(--color-background)}.tc-add-column--disabled{visibility:hidden}@media print{.tc-add-column{display:none}}.tc-add-row{height:var(--cell-size);align-items:center;padding-left:4px;position:relative}.tc-add-row--disabled{display:none}.tc-add-row:before{content:"";position:absolute;right:calc(var(--cell-size)*-1);width:var(--cell-size);height:100%}@media print{.tc-add-row{display:none}}.tc-add-column,.tc-add-row{transition:0s;cursor:pointer;will-change:background-color}.tc-add-column:hover,.tc-add-row:hover{transition:background-color .1s ease;background-color:var(--color-background)}.tc-add-row{margin-top:1px}.tc-add-row:hover:before{transition:.1s;background-color:var(--color-background)}.tc-row{display:grid;grid-template-columns:var(--col-width);position:relative;border-bottom:1px solid var(--color-border)}.tc-row--selected{background:var(--color-background)}.tc-row--selected:after{background:var(--color-background)}.tc-cell{border-right:1px solid var(--color-border);padding:6px 12px;overflow:hidden;outline:none;line-break:normal}.tc-cell--selected{background:var(--color-background)}.tc-wrap--readonly .tc-row:after{display:none}.tc-toolbox{--toolbox-padding: 6px;--popover-margin: 30px;--toggler-click-zone-size: 30px;--toggler-dots-color: #7b7e89;--toggler-dots-color-hovered: #1d202b;position:absolute;cursor:pointer;z-index:1;opacity:0;transition:opacity .1s;will-change:left,opacity}.tc-toolbox--column{top:calc(var(--toggler-click-zone-size)*-1);transform:translate(calc(var(--toggler-click-zone-size)*-1/2));will-change:left,opacity}.tc-toolbox--row{left:calc(var(--popover-margin)*-1);transform:translateY(calc(var(--toggler-click-zone-size)*-1/2));margin-top:-1px;will-change:top,opacity}.tc-toolbox--showed{opacity:1}.tc-toolbox .tc-popover{position:absolute;top:0;left:var(--popover-margin)}.tc-toolbox__toggler{display:flex;align-items:center;justify-content:center;width:var(--toggler-click-zone-size);height:var(--toggler-click-zone-size);color:var(--toggler-dots-color);opacity:0;transition:opacity .15s ease;will-change:opacity}.tc-toolbox__toggler:hover{color:var(--toggler-dots-color-hovered)}.tc-toolbox__toggler svg{fill:currentColor}.tc-wrap:hover .tc-toolbox__toggler{opacity:1}.tc-settings .cdx-settings-button{width:50%;margin:0}.tc-popover{--color-border: #eaeaea;--color-background: #fff;--color-background-hover: rgba(232, 232, 235, .49);--color-background-confirm: #e24a4a;--color-background-confirm-hover: #d54040;--color-text-confirm: #fff;background:var(--color-background);border:1px solid var(--color-border);box-shadow:0 3px 15px -3px #0d142121;border-radius:6px;padding:6px;display:none;will-change:opacity,transform}.tc-popover--opened{display:flex;animation:menuShowing .1s cubic-bezier(.215,.61,.355,1) forwards}.tc-popover__item{display:flex;align-items:center;padding:2px 14px 2px 2px;border-radius:5px;cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tc-popover__item:hover{background:var(--color-background-hover)}.tc-popover__item:not(:last-of-type){margin-bottom:2px}.tc-popover__item-icon{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;background:var(--color-background);border-radius:5px;border:1px solid var(--color-border);margin-right:8px}.tc-popover__item-label{line-height:22px;font-size:14px;font-weight:500}.tc-popover__item--confirm{background:var(--color-background-confirm);color:var(--color-text-confirm)}.tc-popover__item--confirm:hover{background-color:var(--color-background-confirm-hover)}.tc-popover__item--confirm .tc-popover__item-icon{background:var(--color-background-confirm);border-color:#0000001a}.tc-popover__item--confirm .tc-popover__item-icon svg{transition:transform .2s ease-in;transform:rotate(90deg) scale(1.2)}.tc-popover__item--hidden{display:none}@keyframes menuShowing{0%{opacity:0;transform:translateY(-8px) scale(.9)}70%{opacity:1;transform:translateY(2px)}to{transform:translateY(0)}}.cell-resizable{cursor:col-resize}.cdx-underline{text-decoration:underline}.ce-popover--inline .ce-popover--nested .ce-popover__container{width:min-content!important;min-width:unset!important}.ce-popover--inline .ce-popover--nested .ce-popover__items{width:max-content}.editorjs__color-selector-container{display:grid;gap:10px;padding:4px}.editorjs__color-selector__container-item{width:30px;height:30px;display:block;cursor:pointer;border-radius:100%;transition:transform .2s ease}.editorjs__color-selector__container-item:hover{transform:scale(1.1)}.ebl-editor-render{cursor:text;font-size:16px;font-weight:400;background-color:#fff;height:100%;overflow:hidden;position:relative;padding-left:100px;max-width:100%;padding-right:280px}@media (max-width:1240px){.ebl-outline{display:none}.ebl-editor.outline{padding-right:0}}.ebl-editor-render ::-webkit-scrollbar{width:6px;height:6px}.ebl-editor-render ::-webkit-scrollbar-track{background:#f1f1f1;border-radius:1px}.ebl-editor-render ::-webkit-scrollbar-thumb{background:#C0C0C0;border-radius:10px;border:1px solid #fff}.ebl-editor-render ::-webkit-scrollbar-thumb:hover{background:#555}.ce-editorjs-x-shiki__code[data-v-c4c07368]{overflow:auto}.ce-editorjs-x-shiki__selector[data-v-c4c07368]{padding:0 8px;align-items:center}.tc-wrap--readonly[data-v-0627102b]{margin-bottom:var(--toolbox-icon-size)}.image-tool__image[data-v-f7e9c352]{margin-top:15px}
@@ -0,0 +1,151 @@
1
+ .cdx-alert {
2
+ position: relative;
3
+ padding: 10px;
4
+ border-radius: 5px;
5
+ margin-bottom: 10px;
6
+ margin-top: 10px;
7
+ }
8
+ .cdx-alert-primary {
9
+ background-color: #ebf8ff;
10
+ border: 1px solid #4299e1;
11
+ color: #2b6cb0;
12
+ }
13
+ .cdx-alert-secondary {
14
+ background-color: #f7fafc;
15
+ border: 1px solid #cbd5e0;
16
+ color: #222731;
17
+ }
18
+ .cdx-alert-info {
19
+ background-color: #e6fdff;
20
+ border: 1px solid #4cd4ce;
21
+ color: #00727c;
22
+ }
23
+ .cdx-alert-success {
24
+ background-color: #f0fff4;
25
+ border: 1px solid #68d391;
26
+ color: #2f855a;
27
+ }
28
+ .cdx-alert-warning {
29
+ background-color: #fffaf0;
30
+ border: 1px solid #ed8936;
31
+ color: #c05621;
32
+ }
33
+ .cdx-alert-danger {
34
+ background-color: #fff5f5;
35
+ border: 1px solid #fc8181;
36
+ color: #c53030;
37
+ }
38
+ .cdx-alert-light {
39
+ background-color: #fff;
40
+ border: 1px solid #edf2f7;
41
+ color: #1a202c;
42
+ }
43
+ .cdx-alert-dark {
44
+ background-color: #2d3748;
45
+ border: 1px solid #1a202c;
46
+ color: #d3d3d3;
47
+ }
48
+ .cdx-alert-align-left {
49
+ text-align: left;
50
+ }
51
+ .cdx-alert-align-center {
52
+ text-align: center;
53
+ }
54
+ .cdx-alert-align-right {
55
+ text-align: right;
56
+ }
57
+ .cdx-alert__message {
58
+ outline: none;
59
+ }
60
+ .cdx-alert [contentEditable='true'][data-placeholder]::before {
61
+ position: absolute;
62
+ content: attr(data-placeholder);
63
+ color: #707684;
64
+ font-weight: normal;
65
+ opacity: 0;
66
+ }
67
+ .cdx-alert [contentEditable='true'][data-placeholder]:empty::before {
68
+ opacity: 1;
69
+ }
70
+ .cdx-alert [contentEditable='true'][data-placeholder]:empty:focus::before {
71
+ opacity: 0;
72
+ }
73
+ .ce-popover__item[data-item-name='alert-primary'] .ce-popover__item-icon svg #background {
74
+ fill: #ebf8ff;
75
+ stroke: #4299e1;
76
+ }
77
+ .ce-popover__item[data-item-name='alert-primary'] .ce-popover__item-icon svg #content {
78
+ fill: #2b6cb0;
79
+ }
80
+ .ce-popover__item[data-item-name='alert-secondary'] .ce-popover__item-icon svg #background {
81
+ fill: #f7fafc;
82
+ stroke: #cbd5e0;
83
+ }
84
+ .ce-popover__item[data-item-name='alert-secondary'] .ce-popover__item-icon svg #content {
85
+ fill: #222731;
86
+ }
87
+ .ce-popover__item[data-item-name='alert-info'] .ce-popover__item-icon svg #background {
88
+ fill: #e6fdff;
89
+ stroke: #4cd4ce;
90
+ }
91
+ .ce-popover__item[data-item-name='alert-info'] .ce-popover__item-icon svg #content {
92
+ fill: #00727c;
93
+ }
94
+ .ce-popover__item[data-item-name='alert-success'] .ce-popover__item-icon svg #background {
95
+ fill: #f0fff4;
96
+ stroke: #68d391;
97
+ }
98
+ .ce-popover__item[data-item-name='alert-success'] .ce-popover__item-icon svg #content {
99
+ fill: #2f855a;
100
+ }
101
+ .ce-popover__item[data-item-name='alert-warning'] .ce-popover__item-icon svg #background {
102
+ fill: #fffaf0;
103
+ stroke: #ed8936;
104
+ }
105
+ .ce-popover__item[data-item-name='alert-warning'] .ce-popover__item-icon svg #content {
106
+ fill: #c05621;
107
+ }
108
+ .ce-popover__item[data-item-name='alert-danger'] .ce-popover__item-icon svg #background {
109
+ fill: #fff5f5;
110
+ stroke: #fc8181;
111
+ }
112
+ .ce-popover__item[data-item-name='alert-danger'] .ce-popover__item-icon svg #content {
113
+ fill: #c53030;
114
+ }
115
+ .ce-popover__item[data-item-name='alert-light'] .ce-popover__item-icon svg #background {
116
+ fill: #fff;
117
+ stroke: #edf2f7;
118
+ }
119
+ .ce-popover__item[data-item-name='alert-light'] .ce-popover__item-icon svg #content {
120
+ fill: #1a202c;
121
+ }
122
+ .ce-popover__item[data-item-name='alert-dark'] .ce-popover__item-icon svg #background {
123
+ fill: #2d3748;
124
+ stroke: #1a202c;
125
+ }
126
+ .ce-popover__item[data-item-name='alert-dark'] .ce-popover__item-icon svg #content {
127
+ fill: #d3d3d3;
128
+ }
129
+
130
+ .cdx-alert_setting__icon_wrapper {
131
+ display: flex;
132
+ flex-direction: row;
133
+ flex-wrap: wrap;
134
+ gap: 10px;
135
+
136
+ }
137
+ .cdx-alert_setting__icon_wrapper_align{
138
+ margin-top: 10px;
139
+ }
140
+ .cdx-alert_setting__icon {
141
+ display: inline-block;
142
+ width: 24px;
143
+ height: 24px;
144
+ text-align: center;
145
+ line-height: 24px;
146
+ cursor: pointer;
147
+ }
148
+
149
+ .cdx-alert_setting__icon_active{
150
+ opacity: 0.3;
151
+ }
@@ -0,0 +1,9 @@
1
+ .ce-tune-alignment--right {
2
+ text-align: right;
3
+ }
4
+ .ce-tune-alignment--center {
5
+ text-align: center;
6
+ }
7
+ .ce-tune-alignment--left {
8
+ text-align: left;
9
+ }
@@ -0,0 +1,214 @@
1
+ .ce-editorjs-x-shiki {
2
+ border-radius: 10px;
3
+ display: flex;
4
+ flex-direction: column;
5
+ margin: 10px 0;
6
+ border: 2px solid transparent;
7
+ position: relative;
8
+
9
+ }
10
+ .ce-editorjs-x-shiki.editable:hover {
11
+ border:2px solid #C0C0C0;
12
+ }
13
+
14
+
15
+
16
+ .ce-editorjs-x-shiki__lang {
17
+ display: flex;
18
+ justify-content: space-between;
19
+ padding: 8px;
20
+ }
21
+
22
+ .ce-editorjs-x-shiki__code {
23
+ position: relative;
24
+ float: left;
25
+ min-width: 100%;
26
+ overflow: hidden;
27
+ height: auto;
28
+ }
29
+ .ce-editorjs-x-shiki__code__dragHandler {
30
+ position: absolute;
31
+ left:50%;
32
+ transform: translateX(-50%);
33
+ bottom: -5px;
34
+ cursor: ns-resize;
35
+ user-select:none;
36
+ height: 8px;
37
+ width: 60px;
38
+ background-color: #C0C0C0;
39
+ border-radius: 5px;
40
+ display: none;
41
+ }
42
+ .ce-editorjs-x-shiki:hover .ce-editorjs-x-shiki__code__dragHandler{
43
+ display: block;
44
+ }
45
+
46
+ .ce-editorjs-x-shiki__selector {
47
+ display: flex;
48
+ gap:15px;
49
+ justify-content: space-between;
50
+ z-index: 12;
51
+ border-bottom-style: solid;
52
+ border-color: #9ca3af0d;
53
+ border-bottom-width: 1px;
54
+ padding: 0 8px 8px 8px;
55
+ }
56
+
57
+ .ce-editorjs-x-shiki__selector-language
58
+ , .ce-editorjs-x-shiki__selector-theme {
59
+ font-size: 13px;
60
+ font-family: inherit;
61
+ }
62
+ .ce-editorjs-x-shiki__selector-language{
63
+ width: 90px;
64
+ }
65
+
66
+ .ce-editorjs-x-shiki__selector select {
67
+ border: none;
68
+ outline: none;
69
+ }
70
+
71
+ .ce-editorjs-x-shiki__span {
72
+ position: relative;
73
+ z-index: 0;
74
+ padding-top: 20px;
75
+ padding-bottom: 20px;
76
+ padding-right: 20px;
77
+ /* padding: 20px; */
78
+ padding-left: 55px;
79
+
80
+ margin: 0;
81
+ white-space: pre;
82
+ font-size: 13px;
83
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
84
+ }
85
+ .ce-editorjs-x-shiki__span code{
86
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
87
+ }
88
+ .ce-editorjs-x-shiki__textarea {
89
+ all:unset;
90
+ white-space: pre;
91
+
92
+ background-color: transparent;
93
+ position: absolute;
94
+ padding-top: 20px;
95
+ padding-bottom: 20px;
96
+ padding-right: 20px;
97
+ padding-left:55px;
98
+ inset: 0 0 0 0;
99
+ color: transparent;
100
+ z-index: 0;
101
+ font-size: 13px;
102
+ caret-color: #999;
103
+ resize: none;
104
+ border: none;
105
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
106
+ }
107
+
108
+ .ce-editorjs-x-shiki__textarea::selection {
109
+ background-color: #083ca9; /* 选中文本的背景色 */
110
+ color: #ffffff; /* 选中文本的颜色 */
111
+
112
+ }
113
+
114
+ .ce-editorjs-x-shiki__lang {
115
+ /* position: absolute;
116
+ line-height: 14px;
117
+ font-size: 10px;
118
+ color: #999;
119
+ background-color: #dcdfe6;
120
+ padding: 6px;
121
+ padding-left: 10px;
122
+ padding-right: 10px;
123
+ top: 0;
124
+ right: 0;
125
+ border-bottom-left-radius: 6px;
126
+ border-top-right-radius: 6px; */
127
+ }
128
+
129
+
130
+ .ce-editorjs-x-shiki__copy{
131
+ width:24px;
132
+ height:24px;
133
+ cursor: pointer;
134
+ position: relative;
135
+ margin-right: 0px;
136
+ }
137
+ .ce-editorjs-x-shiki__copy_tip{
138
+ font-size: 12px;
139
+ /* width: 50px; */
140
+ width: 60px;
141
+ margin-left: -20px; /* Center the tooltip */
142
+ background-color: #0c0c0c;
143
+ color: #ececec;
144
+ text-align: center;
145
+ border-radius: 6px;
146
+ padding: 5px 10px;
147
+ position: absolute;
148
+ z-index: 1;
149
+ top: 125%; /* Position the tooltip below the button */
150
+ transition: opacity 0.3s;
151
+ visibility: hidden;
152
+ opacity: 0;
153
+ }
154
+ .ce-editorjs-x-shiki__copy_tip::after {
155
+ content: "";
156
+ position: absolute;
157
+ bottom: 100%; /* Bottom of the tooltip */
158
+ left: 50%;
159
+ margin-left: -5px;
160
+ border-width: 5px;
161
+ border-style: solid;
162
+ border-color: transparent transparent #0c0c0c transparent;
163
+ }
164
+
165
+ .ce-editorjs-x-shiki__copy_tip.visible {
166
+ visibility: visible;
167
+ opacity: 1;
168
+ }
169
+
170
+ /* 添加行号样式 */
171
+
172
+ .ce-editorjs-x-shiki__span.shiki .line{
173
+
174
+
175
+ }
176
+ .ce-editorjs-x-shiki__span.shiki .line::before {
177
+ content: attr(data-line);
178
+ width: 40px;
179
+ /* padding-right: 15px;
180
+ margin-right: 15px; */
181
+ display: inline-block;
182
+ text-align: right;
183
+ color: #888;
184
+ /* border-right: 1px solid #eee; */
185
+ /* padding-left: 10px; */
186
+ position:absolute;
187
+ left: 0;
188
+ }
189
+
190
+
191
+
192
+ /* 滚动条整体部分 */
193
+ .ce-editorjs-x-shiki__code ::-webkit-scrollbar {
194
+ width: 8px; /* 滚动条的宽度 */
195
+ height: 8px; /* 滚动条的高度 */
196
+ }
197
+
198
+ /* 滚动条轨道 */
199
+ .ce-editorjs-x-shiki__code ::-webkit-scrollbar-track {
200
+ background: #22272e; /* 轨道颜色 */
201
+ border-radius: 1px; /* 轨道圆角 */
202
+ }
203
+
204
+ /* 滚动条滑块 */
205
+ .ce-editorjs-x-shiki__code ::-webkit-scrollbar-thumb {
206
+ background: #C0C0C0; /* 滑块颜色 */
207
+ border-radius: 10px; /* 滑块圆角 */
208
+ border: 2px solid #22272e;
209
+ }
210
+
211
+ /* 滑块悬停时 */
212
+ .ce-editorjs-x-shiki__code ::-webkit-scrollbar-thumb:hover {
213
+ background: #555555; /* 滑块悬停时的颜色 */
214
+ }
@@ -0,0 +1,27 @@
1
+ .ce-popover--inline .ce-popover--nested .ce-popover__container {
2
+ width: min-content !important;
3
+ min-width: unset !important;
4
+ }
5
+
6
+ .ce-popover--inline .ce-popover--nested .ce-popover__items {
7
+ width: max-content;
8
+ }
9
+
10
+ .editorjs__color-selector-container {
11
+ display: grid;
12
+ gap: 10px;
13
+ padding: 4px;
14
+ }
15
+
16
+ .editorjs__color-selector__container-item {
17
+ width: 30px;
18
+ height: 30px;
19
+ display: block;
20
+ cursor: pointer;
21
+ border-radius: 100%;
22
+ transition: transform 0.2s ease;
23
+ }
24
+
25
+ .editorjs__color-selector__container-item:hover {
26
+ transform: scale(1.1);
27
+ }
@@ -0,0 +1,14 @@
1
+ .ce-delimiter {
2
+
3
+ }
4
+ .ce-delimiter__line__wrapper{
5
+ height: 24px;
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ }
10
+ .ce-delimiter__line{
11
+ flex:1;
12
+ height: 2px;
13
+ background-color: #EFF0F1;
14
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Plugin styles
3
+ */
4
+ .ce-header {
5
+ padding: 15px 0 3px;
6
+ margin: 0;
7
+ line-height: 1.25;
8
+ outline: none;
9
+ }
10
+
11
+ .ce-header p,
12
+ .ce-header div{
13
+ padding: 0 !important;
14
+ margin: 0 !important;
15
+ }
16
+
17
+ /**
18
+ * Styles for Plugin icon in Toolbar
19
+ */
20
+ .ce-header__icon {}
@@ -0,0 +1,156 @@
1
+ .image-tool {
2
+ --bg-color: #cdd1e0;
3
+ --front-color: #388ae5;
4
+ --border-color: #e8e8eb;
5
+ display: inline-block;
6
+
7
+ }
8
+
9
+
10
+ .image-tool__image {
11
+ border-radius: 3px;
12
+ overflow: hidden;
13
+ margin-bottom: 10px;
14
+ padding-bottom: 0;
15
+ user-select:none;
16
+ pointer-events:none;
17
+ }
18
+
19
+ .image-tool__image-picture {
20
+ max-width: 100%;
21
+ vertical-align: bottom;
22
+ display: inline-block;
23
+ user-select:none;
24
+ pointer-events:none;
25
+ }
26
+
27
+ .image-tool__image-preloader {
28
+ width: 150px;
29
+ height: 150px;
30
+ border-radius: 50%;
31
+ background-size: cover;
32
+ margin: auto;
33
+ position: relative;
34
+ background-color: var(--bg-color);
35
+ background-position: center center
36
+ }
37
+
38
+ .image-tool__image-preloader:after {
39
+ content: "";
40
+ position: absolute;
41
+ z-index: 3;
42
+ width: 60px;
43
+ height: 60px;
44
+ border-radius: 50%;
45
+ border: 2px solid var(--bg-color);
46
+ border-top-color: var(--front-color);
47
+ left: 50%;
48
+ top: 50%;
49
+ margin-top: -30px;
50
+ margin-left: -30px;
51
+ animation: image-preloader-spin 2s infinite linear;
52
+ box-sizing: border-box
53
+ }
54
+
55
+ .image-tool__caption {
56
+ visibility: hidden;
57
+ position: absolute;
58
+ bottom: 0;
59
+ left: 0;
60
+ margin-bottom: 10px
61
+ }
62
+
63
+ .image-tool__caption[contentEditable=true][data-placeholder]:before {
64
+ position: absolute !important;
65
+ content: attr(data-placeholder);
66
+ color: #707684;
67
+ font-weight: 400;
68
+ display: none
69
+ }
70
+
71
+ .image-tool__caption[contentEditable=true][data-placeholder]:empty:before {
72
+ display: block
73
+ }
74
+
75
+ .image-tool__caption[contentEditable=true][data-placeholder]:empty:focus:before {
76
+ display: none
77
+ }
78
+
79
+ .image-tool--empty .image-tool__image,
80
+ .image-tool--empty .image-tool__image-preloader {
81
+ display: none
82
+ }
83
+
84
+ .image-tool--empty .image-tool__caption,
85
+ .image-tool--uploading .image-tool__caption {
86
+ visibility: hidden !important
87
+ }
88
+
89
+ .image-tool .cdx-button {
90
+ display: none;
91
+ align-items: center;
92
+ justify-content: center
93
+ }
94
+
95
+ .image-tool .cdx-button svg {
96
+ height: auto;
97
+ margin: 0 6px 0 0
98
+ }
99
+
100
+ .image-tool--filled .cdx-button,
101
+ .image-tool--filled .image-tool__image-preloader {
102
+ display: none
103
+ }
104
+ .image-tool--uploading {
105
+ width: 100%;
106
+ }
107
+ .image-tool--uploading .resizable{
108
+ display: none!important;
109
+ }
110
+ .image-tool--uploading .image-tool__image {
111
+ min-height: 200px;
112
+ display: flex;
113
+ /* border: 1px solid var(--border-color); */
114
+ background-color: #fff
115
+ }
116
+
117
+ .image-tool--uploading .image-tool__image-picture,
118
+ .image-tool--uploading .cdx-button {
119
+ display: none
120
+ }
121
+
122
+ .image-tool--withBorder .image-tool__image {
123
+ border: 1px solid var(--border-color)
124
+ }
125
+
126
+ .image-tool--withBackground .image-tool__image {
127
+ padding: 15px;
128
+ background: var(--bg-color)
129
+ }
130
+
131
+ .image-tool--withBackground .image-tool__image-picture {
132
+ max-width: 60%;
133
+ margin: 0 auto
134
+ }
135
+
136
+ .image-tool--stretched .image-tool__image-picture {
137
+ width: 100%
138
+ }
139
+
140
+ .image-tool--caption .image-tool__caption {
141
+ visibility: visible
142
+ }
143
+
144
+ .image-tool--caption {
145
+ padding-bottom: 50px
146
+ }
147
+
148
+ @keyframes image-preloader-spin {
149
+ 0% {
150
+ transform: rotate(0)
151
+ }
152
+
153
+ to {
154
+ transform: rotate(360deg)
155
+ }
156
+ }