diff --git a/packages/svelte-lexical/src/global.css b/packages/svelte-lexical/src/global.css new file mode 100644 index 00000000..1f8a5266 --- /dev/null +++ b/packages/svelte-lexical/src/global.css @@ -0,0 +1,1829 @@ +/** + * Copyright (c) Syed Umar Anis. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + +@import 'https://fonts.googleapis.com/css?family=Reenie+Beanie'; + +body { + margin: 0; + font-family: + system-ui, + -apple-system, + BlinkMacSystemFont, + '.SFNSText-Regular', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + background: #eee; + padding: 0 20px; +} + +header { + max-width: 580px; + margin: auto; + position: relative; + display: flex; + justify-content: center; +} + +header a { + max-width: 220px; + margin: 20px 0 0 0; + display: block; +} + +header img { + display: block; + height: 100%; + width: 100%; +} + +header h1 { + text-align: left; + color: #333; + display: inline-block; + margin: 20px 0 0 0; +} + +.editor-shell { + margin: 20px auto; + border-radius: 2px; + max-width: 1100px; + color: #000; + position: relative; + line-height: 1.7; + font-weight: 400; +} + +.editor-shell .editor-container { + background: #fff; + position: relative; + cursor: text; + display: block; + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; +} + +.editor-shell .editor-container.tree-view { + border-radius: 0; +} + +.editor-shell .editor-container.plain-text { + border-top-left-radius: 10px; + border-top-right-radius: 10px; +} + +.editor-scroller { + min-height: 150px; + border: 0; + cursor: text; + display: flex; + position: relative; + outline: 0; + z-index: 0; + overflow: auto; + resize: vertical; +} + +.editor { + flex: auto; + position: relative; + resize: vertical; + z-index: -1; +} + +.test-recorder-output { + margin: 20px auto 20px auto; + width: 100%; +} + +pre { + line-height: 1.1; + background: #222; + color: #fff; + margin: 0; + padding: 10px; + font-size: 12px; + overflow: auto; + max-height: 400px; +} + +.tree-view-output { + display: block; + background: #222; + color: #fff; + padding: 0; + font-size: 12px; + margin: 1px auto 10px auto; + position: relative; + overflow: hidden; + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; +} + +pre::-webkit-scrollbar { + background: transparent; + width: 10px; +} + +pre::-webkit-scrollbar-thumb { + background: #999; +} + +.editor-dev-button { + position: relative; + display: block; + width: 40px; + height: 40px; + font-size: 12px; + border-radius: 20px; + border: none; + cursor: pointer; + outline: none; + box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.3); + background-color: #444; +} + +.editor-dev-button::after { + content: ''; + position: absolute; + top: 10px; + right: 10px; + bottom: 10px; + left: 10px; + display: block; + background-size: contain; + filter: invert(1); +} + +.editor-dev-button:hover { + background-color: #555; +} + +.editor-dev-button.active { + background-color: rgb(233, 35, 35); +} + +.test-recorder-toolbar { + display: flex; +} + +.test-recorder-button { + position: relative; + display: block; + width: 32px; + height: 32px; + font-size: 10px; + padding: 6px 6px; + border-radius: 4px; + border: none; + cursor: pointer; + outline: none; + box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4); + background-color: #222; + transition: box-shadow 50ms ease-out; +} + +.test-recorder-button:active { + box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.4); +} + +.test-recorder-button + .test-recorder-button { + margin-left: 4px; +} + +.test-recorder-button::after { + content: ''; + position: absolute; + top: 8px; + right: 8px; + bottom: 8px; + left: 8px; + display: block; + background-size: contain; + filter: invert(1); +} + +#options-button { + position: fixed; + left: 20px; + bottom: 20px; +} + +#test-recorder-button { + position: fixed; + left: 70px; + bottom: 20px; +} + +#paste-log-button { + position: fixed; + left: 120px; + bottom: 20px; +} + +#docs-button { + position: fixed; + left: 170px; + bottom: 20px; +} + +#options-button::after { + background-image: url(/images/icons/gear.svg); +} + +#test-recorder-button::after { + background-image: url(/images/icons/journal-code.svg); +} + +#paste-log-button::after { + background-image: url(/images/icons/clipboard.svg); +} + +#docs-button::after { + background-image: url(/images/icons/file-earmark-text.svg); +} + +#test-recorder-button-snapshot { + margin-right: auto; +} + +#test-recorder-button-snapshot::after { + background-image: url(/images/icons/camera.svg); +} + +#test-recorder-button-copy::after { + background-image: url(/images/icons/clipboard.svg); +} + +#test-recorder-button-download::after { + background-image: url(/images/icons/download.svg); +} + +.typeahead-popover { + background: #fff; + box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3); + border-radius: 8px; + margin-top: 25px; +} + +.typeahead-popover ul { + padding: 0; + list-style: none; + margin: 0; + border-radius: 8px; + max-height: 200px; + overflow-y: scroll; +} + +.typeahead-popover ul::-webkit-scrollbar { + display: none; +} + +.typeahead-popover ul { + -ms-overflow-style: none; + scrollbar-width: none; +} + +.typeahead-popover ul li { + margin: 0; + min-width: 180px; + font-size: 14px; + outline: none; + cursor: pointer; + border-radius: 8px; +} + +.typeahead-popover ul li.selected { + background: #eee; +} + +.typeahead-popover li { + margin: 0 8px 0 8px; + padding: 8px; + color: #050505; + cursor: pointer; + line-height: 16px; + font-size: 15px; + display: flex; + align-content: center; + flex-direction: row; + flex-shrink: 0; + background-color: #fff; + border-radius: 8px; + border: 0; +} + +.typeahead-popover li.active { + display: flex; + width: 20px; + height: 20px; + background-size: contain; +} + +.typeahead-popover li:first-child { + border-radius: 8px 8px 0px 0px; +} + +.typeahead-popover li:last-child { + border-radius: 0px 0px 8px 8px; +} + +.typeahead-popover li:hover { + background-color: #eee; +} + +.typeahead-popover li .text { + display: flex; + line-height: 20px; + flex-grow: 1; + min-width: 150px; +} + +.typeahead-popover li .icon { + display: flex; + width: 20px; + height: 20px; + user-select: none; + margin-right: 8px; + line-height: 16px; + background-size: contain; + background-repeat: no-repeat; + background-position: center; +} + +.component-picker-menu { + width: 200px; +} + +.mentions-menu { + width: 250px; +} + +.auto-embed-menu { + width: 150px; +} + +.emoji-menu { + width: 200px; +} + +i.palette { + background-image: url(/images/icons/palette.svg); +} + +i.bucket { + background-image: url(/images/icons/paint-bucket.svg); +} + +i.bold { + background-image: url(/images/icons/type-bold.svg); +} + +i.italic { + background-image: url(/images/icons/type-italic.svg); +} + +i.clear { + background-image: url(/images/icons/trash.svg); +} + +i.code { + background-image: url(/images/icons/code.svg); +} + +i.underline { + background-image: url(/images/icons/type-underline.svg); +} + +i.strikethrough { + background-image: url(/images/icons/type-strikethrough.svg); +} + +i.subscript { + background-image: url(/images/icons/type-subscript.svg); +} + +i.superscript { + background-image: url(/images/icons/type-superscript.svg); +} + +i.link { + background-image: url(/images/icons/link.svg); +} + +i.horizontal-rule { + background-image: url(/images/icons/horizontal-rule.svg); +} + +.icon.plus { + background-image: url(/images/icons/plus.svg); +} + +.icon.caret-right { + background-image: url(/images/icons/caret-right-fill.svg); +} + +.icon.dropdown-more { + background-image: url(/images/icons/dropdown-more.svg); +} + +.icon.font-color { + background-image: url(/images/icons/font-color.svg); +} + +.icon.font-family { + background-image: url(/images/icons/font-family.svg); +} + +.icon.bg-color { + background-image: url(/images/icons/bg-color.svg); +} + +i.image { + background-image: url(/images/icons/file-image.svg); +} + +i.table { + background-image: url(/images/icons/table.svg); +} + +i.close { + background-image: url(/images/icons/close.svg); +} + +i.figma { + background-image: url(/images/icons/figma.svg); +} + +i.poll { + background-image: url(/images/icons/card-checklist.svg); +} + +i.tweet { + background-image: url(/images/icons/tweet.svg); +} + +i.youtube { + background-image: url(/images/icons/youtube.svg); +} + +.icon.left-align, +i.left-align { + background-image: url(/images/icons/text-left.svg); +} + +i.center-align { + background-image: url(/images/icons/text-center.svg); +} + +i.right-align { + background-image: url(/images/icons/text-right.svg); +} + +i.justify-align { + background-image: url(/images/icons/justify.svg); +} + +i.indent { + background-image: url(/images/icons/indent.svg); +} + +i.markdown { + background-image: url(/images/icons/markdown.svg); +} + +i.outdent { + background-image: url(/images/icons/outdent.svg); +} + +i.undo { + background-image: url(/images/icons/arrow-counterclockwise.svg); +} + +i.redo { + background-image: url(/images/icons/arrow-clockwise.svg); +} + +i.sticky { + background-image: url(/images/icons/sticky.svg); +} + +i.mic { + background-image: url(/images/icons/mic.svg); +} + +i.import { + background-image: url(/images/icons/upload.svg); +} + +i.export { + background-image: url(/images/icons/download.svg); +} + +i.diagram-2 { + background-image: url(/images/icons/diagram-2.svg); +} + +i.user { + background-image: url(/images/icons/user.svg); +} + +i.equation { + background-image: url(/images/icons/plus-slash-minus.svg); +} + +i.gif { + background-image: url(/images/icons/filetype-gif.svg); +} + +i.copy { + background-image: url(/images/icons/copy.svg); +} + +i.success { + background-image: url(/images/icons/success.svg); +} + +i.prettier { + background-image: url(/images/icons/prettier.svg); +} + +i.prettier-error { + background-image: url(/images/icons/prettier-error.svg); +} + +.link-editor .button.active, +.toolbar .button.active { + background-color: rgb(223, 232, 250); +} + +.link-editor .link-input { + display: block; + width: calc(100% - 75px); + box-sizing: border-box; + margin: 12px 12px; + padding: 8px 12px; + border-radius: 15px; + background-color: #eee; + font-size: 15px; + color: rgb(5, 5, 5); + border: 0; + outline: 0; + position: relative; + font-family: inherit; +} + +.link-editor .link-view { + display: block; + width: calc(100% - 24px); + margin: 8px 12px; + padding: 8px 12px; + border-radius: 15px; + font-size: 15px; + color: rgb(5, 5, 5); + border: 0; + outline: 0; + position: relative; + font-family: inherit; +} + +.link-editor .link-view a { + display: block; + word-break: break-word; + width: calc(100% - 33px); +} + +.link-editor div.link-edit { + background-image: url(/images/icons/pencil-fill.svg); + background-size: 16px; + background-position: center; + background-repeat: no-repeat; + width: 35px; + vertical-align: -0.25em; + position: absolute; + right: 0; + top: 0; + bottom: 0; + cursor: pointer; +} + +.link-editor div.link-cancel { + background-image: url(/images/icons/close.svg); + background-size: 16px; + background-position: center; + background-repeat: no-repeat; + width: 35px; + vertical-align: -0.25em; + margin-right: 28px; + position: absolute; + right: 0; + top: 0; + bottom: 0; + cursor: pointer; +} + +.link-editor div.link-confirm { + background-image: url(/images/icons/success-alt.svg); + background-size: 16px; + background-position: center; + background-repeat: no-repeat; + width: 35px; + vertical-align: -0.25em; + margin-right: 2px; + position: absolute; + right: 0; + top: 0; + bottom: 0; + cursor: pointer; +} + +.link-editor .link-input a { + color: rgb(33, 111, 219); + text-decoration: none; + display: block; + white-space: nowrap; + overflow: hidden; + margin-right: 30px; + text-overflow: ellipsis; +} + +.link-editor .link-input a:hover { + text-decoration: underline; +} + +.link-editor .font-size-wrapper, +.link-editor .font-family-wrapper { + display: flex; + margin: 0 4px; +} + +.link-editor select { + padding: 6px; + border: none; + background-color: rgba(0, 0, 0, 0.075); + border-radius: 4px; +} + +.ContentEditable__root .PlaygroundEditorTheme__link { + pointer-events: none; +} + +.mention:focus { + box-shadow: rgb(180 213 255) 0px 0px 0px 2px; + outline: none; +} + +#block-controls { + display: block; + position: absolute; + right: 10px; + width: 32px; + height: 32px; + box-sizing: border-box; + box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 2px 0px; + top: 16px; + z-index: 10; + border-radius: 8px; + border: 1px solid rgb(206, 208, 212); + overflow: hidden; +} + +#block-controls button { + border: 1px solid white; + background-color: #fff; + display: block; + transition: background-color 0.1s ease; + cursor: pointer; + outline: none; + border-radius: 8px; + padding: 3px; +} + +#block-controls button:hover { + background-color: #efefef; +} + +#block-controls button:focus-visible { + border-color: blue; +} + +#block-controls span.block-type { + background-size: contain; + display: block; + width: 18px; + height: 18px; + margin: 2px; +} + +#block-controls span.block-type.paragraph { + background-image: url(/images/icons/text-paragraph.svg); +} + +#block-controls span.block-type.h1 { + background-image: url(/images/icons/type-h1.svg); +} + +#block-controls span.block-type.h2 { + background-image: url(/images/icons/type-h2.svg); +} + +#block-controls span.block-type.quote { + background-image: url(/images/icons/chat-square-quote.svg); +} + +#block-controls span.block-type.ul { + background-image: url(/images/icons/list-ul.svg); +} + +#block-controls span.block-type.ol { + background-image: url(/images/icons/list-ol.svg); +} + +#block-controls span.block-type.code { + background-image: url(/images/icons/code.svg); +} + +.characters-limit { + color: #888; + font-size: 12px; + text-align: right; + display: block; + position: absolute; + left: 12px; + bottom: 5px; +} + +.characters-limit.characters-limit-exceeded { + color: red; +} + +.dropdown { + z-index: 10; + display: block; + position: fixed; + box-shadow: + 0 12px 28px 0 rgba(0, 0, 0, 0.2), + 0 2px 4px 0 rgba(0, 0, 0, 0.1), + inset 0 0 0 1px rgba(255, 255, 255, 0.5); + border-radius: 8px; + min-height: 40px; + background-color: #fff; +} + +.dropdown .item { + margin: 0 8px 0 8px; + padding: 8px; + color: #050505; + cursor: pointer; + line-height: 16px; + font-size: 15px; + display: flex; + align-content: center; + flex-direction: row; + flex-shrink: 0; + justify-content: space-between; + background-color: #fff; + border-radius: 8px; + border: 0; + max-width: 250px; + min-width: 100px; +} + +.dropdown .item.fontsize-item, +.dropdown .item.fontsize-item .text { + min-width: unset; +} + +.dropdown .item .active { + display: flex; + width: 20px; + height: 20px; + background-size: contain; +} + +.dropdown .item:first-child { + margin-top: 8px; +} + +.dropdown .item:last-child { + margin-bottom: 8px; +} + +.dropdown .item:hover { + background-color: #eee; +} + +.dropdown .item .text { + display: flex; + line-height: 20px; + flex-grow: 1; + min-width: 150px; +} + +.dropdown .item .icon { + display: flex; + width: 20px; + height: 20px; + user-select: none; + margin-right: 12px; + line-height: 16px; + background-size: contain; + background-position: center; + background-repeat: no-repeat; +} + +.dropdown .divider { + width: auto; + background-color: #eee; + margin: 4px 8px; + height: 1px; +} + +@media screen and (max-width: 1100px) { + .dropdown-button-text { + display: none !important; + } + .font-size .dropdown-button-text { + display: flex !important; + } + .code-language .dropdown-button-text { + display: flex !important; + } +} + +.icon.paragraph { + background-image: url(/images/icons/text-paragraph.svg); +} + +.icon.h1 { + background-image: url(/images/icons/type-h1.svg); +} + +.icon.h2 { + background-image: url(/images/icons/type-h2.svg); +} + +.icon.h3 { + background-image: url(/images/icons/type-h3.svg); +} + +.icon.h4 { + background-image: url(/images/icons/type-h4.svg); +} + +.icon.h5 { + background-image: url(/images/icons/type-h5.svg); +} + +.icon.h6 { + background-image: url(/images/icons/type-h6.svg); +} + +.icon.bullet-list, +.icon.bullet { + background-image: url(/images/icons/list-ul.svg); +} + +.icon.check-list, +.icon.check { + background-image: url(/images/icons/square-check.svg); +} + +.icon.numbered-list, +.icon.number { + background-image: url(/images/icons/list-ol.svg); +} + +.icon.quote { + background-image: url(/images/icons/chat-square-quote.svg); +} + +.icon.code { + background-image: url(/images/icons/code.svg); +} + +.switches { + z-index: 6; + position: fixed; + left: 10px; + bottom: 70px; + animation: slide-in 0.4s ease; +} + +@keyframes slide-in { + 0% { + opacity: 0; + transform: translateX(-200px); + } + 100% { + opacity: 1; + transform: translateX(0); + } +} + +.switch { + display: block; + color: #444; + margin: 5px 0; + background-color: rgba(238, 238, 238, 0.7); + padding: 5px 10px; + border-radius: 10px; +} + +#rich-text-switch { + right: 0; +} + +#character-count-switch { + right: 130px; +} + +.switch label { + margin-right: 5px; + line-height: 24px; + width: 100px; + font-size: 14px; + display: inline-block; + vertical-align: middle; +} + +.switch button { + background-color: rgb(206, 208, 212); + height: 24px; + box-sizing: border-box; + border-radius: 12px; + width: 44px; + display: inline-block; + vertical-align: middle; + position: relative; + outline: none; + cursor: pointer; + transition: background-color 0.1s; + border: 2px solid transparent; +} + +.switch button:focus-visible { + border-color: blue; +} + +.switch button span { + top: 0px; + left: 0px; + display: block; + position: absolute; + width: 20px; + height: 20px; + border-radius: 12px; + background-color: white; + transition: transform 0.2s; +} + +.switch button[aria-checked='true'] { + background-color: rgb(24, 119, 242); +} + +.switch button[aria-checked='true'] span { + transform: translateX(20px); +} + +.editor-shell span.editor-image { + cursor: default; + display: inline-block; + position: relative; + user-select: none; + white-space: nowrap; /* without this, image editor is having extra height (// TODO: see if still required after fully porting lexical) */ +} + +.editor-shell .editor-image img { + max-width: 100%; + cursor: default; +} + +.editor-shell .editor-image img.focused { + outline: 2px solid rgb(60, 132, 244); + user-select: none; +} + +.editor-shell .editor-image img.focused.draggable { + cursor: grab; +} + +.editor-shell .editor-image img.focused.draggable:active { + cursor: grabbing; +} + +.editor-shell .editor-image .image-caption-container .tree-view-output { + margin: 0; + border-radius: 0; +} + +.editor-shell .editor-image .image-caption-container { + display: block; + position: absolute; + bottom: 4px; + left: 0; + right: 0; + padding: 0; + margin: 0; + border-top: 1px solid #fff; + background-color: rgba(255, 255, 255, 0.9); + min-width: 100px; + color: #000; + overflow: hidden; +} + +.editor-shell .editor-image .image-caption-button { + display: block; + position: absolute; + bottom: 20px; + left: 0; + right: 0; + width: 30%; + padding: 10px; + margin: 0 auto; + border: 1px solid rgba(255, 255, 255, 0.3); + border-radius: 5px; + background-color: rgba(0, 0, 0, 0.5); + min-width: 100px; + color: #fff; + cursor: pointer; + user-select: none; +} + +.editor-shell .editor-image .image-caption-button:hover { + background-color: rgba(60, 132, 244, 0.5); +} + +.editor-shell .editor-image .image-resizer { + display: block; + width: 7px; + height: 7px; + position: absolute; + background-color: rgb(60, 132, 244); + border: 1px solid #fff; +} + +.editor-shell .editor-image .image-resizer.image-resizer-n { + top: -6px; + left: 48%; + cursor: n-resize; +} + +.editor-shell .editor-image .image-resizer.image-resizer-ne { + top: -6px; + right: -6px; + cursor: ne-resize; +} + +.editor-shell .editor-image .image-resizer.image-resizer-e { + bottom: 48%; + right: -6px; + cursor: e-resize; +} + +.editor-shell .editor-image .image-resizer.image-resizer-se { + bottom: -2px; + right: -6px; + cursor: nwse-resize; +} + +.editor-shell .editor-image .image-resizer.image-resizer-s { + bottom: -2px; + left: 48%; + cursor: s-resize; +} + +.editor-shell .editor-image .image-resizer.image-resizer-sw { + bottom: -2px; + left: -6px; + cursor: sw-resize; +} + +.editor-shell .editor-image .image-resizer.image-resizer-w { + bottom: 48%; + left: -6px; + cursor: w-resize; +} + +.editor-shell .editor-image .image-resizer.image-resizer-nw { + top: -6px; + left: -6px; + cursor: nw-resize; +} + +.emoji { + color: transparent; + caret-color: rgb(5, 5, 5); + background-size: 16px 16px; + background-position: center; + background-repeat: no-repeat; + vertical-align: middle; + margin: 0 -1px; +} + +.emoji-inner { + padding: 0 0.15em; +} + +.emoji-inner::selection { + color: transparent; + background-color: rgba(150, 150, 150, 0.4); +} + +.emoji-inner::moz-selection { + color: transparent; + background-color: rgba(150, 150, 150, 0.4); +} + +.emoji.happysmile { + background-image: url(/images/emoji/1F642.png); +} + +.emoji.veryhappysmile { + background-image: url(/images/emoji/1F600.png); +} + +.emoji.unhappysmile { + background-image: url(/images/emoji/1F641.png); +} + +.emoji.heart { + background-image: url(/images/emoji/2764.png); +} + +.keyword { + color: rgb(241, 118, 94); + font-weight: bold; +} + +.actions { + position: relative; + text-align: right; + padding: 10px; +} + +.actions i { + background-size: contain; + display: inline-block; + height: 15px; + width: 15px; + vertical-align: -0.25em; +} + +.actions i.indent { + background-image: url(/images/icons/indent.svg); +} + +.actions i.outdent { + background-image: url(/images/icons/outdent.svg); +} + +.actions i.lock { + background-image: url(/images/icons/lock-fill.svg); +} + +.actions i.image { + background-image: url(/images/icons/file-image.svg); +} + +.actions i.table { + background-image: url(/images/icons/table.svg); +} + +.actions i.unlock { + background-image: url(/images/icons/lock.svg); +} + +.actions i.left-align { + background-image: url(/images/icons/text-left.svg); +} + +.actions i.center-align { + background-image: url(/images/icons/text-center.svg); +} + +.actions i.right-align { + background-image: url(/images/icons/text-right.svg); +} + +.actions i.justify-align { + background-image: url(/images/icons/justify.svg); +} + +.actions i.disconnect { + background-image: url(/images/icons/plug.svg); +} + +.actions i.connect { + background-image: url(/images/icons/plug-fill.svg); +} + +table.disable-selection { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +table.disable-selection span::selection { + background-color: transparent; +} + +table.disable-selection br::selection { + background-color: transparent; +} + +.table-cell-action-button-container { + position: absolute; + top: 0; + left: 0; + will-change: transform; +} + +.table-cell-action-button { + background-color: none; + display: flex; + justify-content: center; + align-items: center; + border: 0; + position: relative; + border-radius: 15px; + color: #222; + display: inline-block; + cursor: pointer; +} + +i.chevron-down { + background-color: transparent; + background-size: contain; + display: inline-block; + height: 8px; + width: 8px; + background-image: url(/images/icons/chevron-down.svg); +} + +.action-button { + background-color: #eee; + border: 0; + padding: 8px 12px; + position: relative; + margin-left: 5px; + border-radius: 15px; + color: #222; + display: inline-block; + cursor: pointer; +} + +.action-button:hover { + background-color: #ddd; + color: #000; +} + +.action-button-mic.active { + animation: mic-pulsate-color 3s infinite; +} +button.action-button:disabled { + opacity: 0.6; + background: #eee; + cursor: not-allowed; +} + +@keyframes mic-pulsate-color { + 0% { + background-color: #ffdcdc; + } + 50% { + background-color: #ff8585; + } + 100% { + background-color: #ffdcdc; + } +} + +.debug-timetravel-panel { + overflow: hidden; + padding: 0 0 10px 0; + margin: auto; + display: flex; +} + +.debug-timetravel-panel-slider { + padding: 0; + flex: 8; +} + +.debug-timetravel-panel-button { + padding: 0; + border: 0; + background: none; + flex: 1; + color: #fff; + font-size: 12px; +} + +.debug-timetravel-panel-button:hover { + text-decoration: underline; +} + +.debug-timetravel-button { + border: 0; + padding: 0; + font-size: 12px; + top: 10px; + right: 15px; + position: absolute; + background: none; + color: #fff; +} + +.debug-timetravel-button:hover { + text-decoration: underline; +} + +.connecting { + font-size: 15px; + color: #999; + overflow: hidden; + position: absolute; + text-overflow: ellipsis; + top: 10px; + left: 10px; + user-select: none; + white-space: nowrap; + display: inline-block; + pointer-events: none; +} + +.ltr { + text-align: left; +} + +.rtl { + text-align: right; +} + +.toolbar { + display: flex; + margin-bottom: 1px; + background: #fff; + padding: 4px; + border-top-left-radius: 10px; + border-top-right-radius: 10px; + vertical-align: middle; + overflow: auto; + height: 36px; + position: sticky; + top: 0; + z-index: 2; +} + +.toolbar button.toolbar-item { + border: 0; + display: flex; + background: none; + border-radius: 10px; + padding: 8px; + cursor: pointer; + vertical-align: middle; + flex-shrink: 0; + align-items: center; + justify-content: space-between; +} + +.toolbar button.toolbar-item:disabled { + cursor: not-allowed; +} + +.toolbar button.toolbar-item.spaced { + margin-right: 2px; +} + +.toolbar button.toolbar-item i.format { + background-size: contain; + display: inline-block; + height: 18px; + width: 18px; + vertical-align: -0.25em; + display: flex; + opacity: 0.6; +} + +.toolbar button.toolbar-item:disabled .icon, +.toolbar button.toolbar-item:disabled .text, +.toolbar button.toolbar-item:disabled i.format, +.toolbar button.toolbar-item:disabled .chevron-down { + opacity: 0.2; +} + +.toolbar button.toolbar-item.active { + background-color: rgba(223, 232, 250, 0.3); +} + +.toolbar button.toolbar-item.active i { + opacity: 1; +} + +.toolbar .toolbar-item:hover:not([disabled]) { + background-color: #eee; +} + +.toolbar .toolbar-item.font-family .text { + display: block; + max-width: 40px; +} + +.toolbar .code-language { + width: 150px; +} + +.toolbar .toolbar-item .text { + display: flex; + line-height: 20px; + vertical-align: middle; + font-size: 14px; + color: #777; + text-overflow: ellipsis; + overflow: hidden; + height: 20px; + text-align: left; + padding-right: 10px; +} + +.toolbar .toolbar-item .icon { + display: flex; + width: 20px; + height: 20px; + user-select: none; + margin-right: 8px; + line-height: 16px; + background-size: contain; +} + +.toolbar i.chevron-down { + margin-top: 3px; + width: 16px; + height: 16px; + display: flex; + user-select: none; +} + +.toolbar i.chevron-down.inside { + width: 16px; + height: 16px; + display: flex; + margin-left: -25px; + margin-top: 11px; + margin-right: 10px; + pointer-events: none; +} + +.toolbar .divider { + width: 1px; + background-color: #eee; + margin: 0 4px; +} + +.sticky-note-container { + position: absolute; + z-index: 9; + width: 120px; + display: inline-block; +} + +.sticky-note { + line-height: 1; + text-align: left; + width: 120px; + margin: 25px; + padding: 20px 10px; + position: relative; + border: 1px solid #e8e8e8; + font-family: 'Reenie Beanie'; + font-size: 24px; + border-bottom-right-radius: 60px 5px; + display: block; + cursor: move; +} + +.sticky-note:after { + content: ''; + position: absolute; + z-index: -1; + right: -0px; + bottom: 20px; + width: 120px; + height: 25px; + background: rgba(0, 0, 0, 0.2); + box-shadow: 2px 15px 5px rgba(0, 0, 0, 0.4); + transform: matrix(-1, -0.1, 0, 1, 0, 0); +} + +.sticky-note.yellow { + border-top: 1px solid #fdfd86; + background: linear-gradient( + 135deg, + #ffff88 81%, + #ffff88 82%, + #ffff88 82%, + #ffffc6 100% + ); +} + +.sticky-note.pink { + border-top: 1px solid #e7d1e4; + background: linear-gradient( + 135deg, + #f7cbe8 81%, + #f7cbe8 82%, + #f7cbe8 82%, + #e7bfe1 100% + ); +} + +.sticky-note-container.dragging { + transition: none !important; +} + +.sticky-note div { + cursor: text; +} + +.sticky-note .delete { + border: 0; + background: none; + position: absolute; + top: 8px; + right: 10px; + font-size: 10px; + cursor: pointer; + opacity: 0.5; +} + +.sticky-note .delete:hover { + font-weight: bold; + opacity: 1; +} + +.sticky-note .color { + border: 0; + background: none; + position: absolute; + top: 8px; + right: 25px; + cursor: pointer; + opacity: 0.5; +} + +.sticky-note .color:hover { + opacity: 1; +} + +.sticky-note .color i { + display: block; + width: 12px; + height: 12px; + background-size: contain; +} + +.excalidraw-button { + border: 0; + padding: 0; + margin: 0; + background-color: transparent; +} + +.excalidraw-button.selected { + outline: 2px solid rgb(60, 132, 244); + user-select: none; +} + +.github-corner:hover .octo-arm { + animation: octocat-wave 560ms ease-in-out; +} +@keyframes octocat-wave { + 0%, + 100% { + transform: rotate(0); + } + 20%, + 60% { + transform: rotate(-25deg); + } + 40%, + 80% { + transform: rotate(10deg); + } +} +@media (max-width: 500px) { + .github-corner:hover .octo-arm { + animation: none; + } + .github-corner .octo-arm { + animation: octocat-wave 560ms ease-in-out; + } +} + +.spacer { + letter-spacing: -2px; +} + +.editor-equation { + cursor: default; + user-select: none; +} + +.editor-equation.focused { + outline: 2px solid rgb(60, 132, 244); +} + +button.item i { + opacity: 0.6; +} + +button.item.dropdown-item-active { + background-color: rgba(223, 232, 250, 0.3); +} + +button.item.dropdown-item-active i { + opacity: 1; +} + +hr { + padding: 2px 2px; + border: none; + margin: 1em 0; + cursor: pointer; +} + +hr:after { + content: ''; + display: block; + height: 2px; + background-color: #ccc; + line-height: 2px; +} + +hr.selected { + outline: 2px solid rgb(60, 132, 244); + user-select: none; +} + +.TableNode__contentEditable { + min-height: 20px; + border: 0px; + resize: none; + cursor: text; + display: block; + position: relative; + tab-size: 1; + outline: 0px; + padding: 0; + user-select: text; + font-size: 15px; + white-space: pre-wrap; + word-break: break-word; + z-index: 3; +} + +.PlaygroundEditorTheme__blockCursor { + display: block; + pointer-events: none; + position: absolute; +} + +.PlaygroundEditorTheme__blockCursor:after { + content: ''; + display: block; + position: absolute; + top: -2px; + width: 20px; + border-top: 1px solid black; + animation: CursorBlink 1.1s steps(2, start) infinite; +} + +@keyframes CursorBlink { + to { + visibility: hidden; + } +} + +/* START: dialog input fields (InsertImageDialog) */ +.Input__wrapper { + display: flex; + flex-direction: row; + align-items: center; + margin-bottom: 10px; +} +.Input__label { + display: flex; + flex: 1; + color: #666; +} +.Input__input { + display: flex; + flex: 3; + border: 1px solid #999; + padding-top: 7px; + padding-bottom: 7px; + padding-left: 10px; + padding-right: 10px; + font-size: 16px; + border-radius: 5px; +} +/* END: dialog input fields */ + +/* START: modal dialog */ +.Modal__overlay { + display: flex; + justify-content: center; + align-items: center; + position: fixed; + flex-direction: column; + top: 0px; + bottom: 0px; + left: 0px; + right: 0px; + background-color: rgba(40, 40, 40, 0.6); + flex-grow: 0px; + flex-shrink: 1px; + z-index: 100; +} +.Modal__modal { + padding: 20px; + min-height: 100px; + min-width: 400px; + display: flex; + flex-grow: 0px; + background-color: #fff; + flex-direction: column; + position: relative; + box-shadow: 0 0 20px 0 #444; + border-radius: 10px; +} +.Modal__title { + color: #444; + margin: 0px; + padding-bottom: 10px; + border-bottom: 1px solid #ccc; +} +.Modal__closeButton { + border: 0px; + position: absolute; + right: 20px; + border-radius: 20px; + justify-content: center; + align-items: center; + display: flex; + width: 30px; + height: 30px; + text-align: center; + cursor: pointer; + background-color: #eee; +} +.Modal__closeButton:hover { + background-color: #ddd; +} +.Modal__content { + padding-top: 20px; +} + +.Button__root { + padding-top: 10px; + padding-bottom: 10px; + padding-left: 15px; + padding-right: 15px; + border: 0px; + background-color: #eee; + border-radius: 5px; + cursor: pointer; + font-size: 14px; +} +.Button__root:hover { + background-color: #ddd; +} + +.ToolbarPlugin__dialogActions { + display: flex; + flex-direction: row; + justify-content: right; + margin-top: 20px; +} + +.ToolbarPlugin__dialogButtonsList { + display: flex; + flex-direction: column; + justify-content: right; + margin-top: 20px; +} + +.ToolbarPlugin__dialogButtonsList button { + margin-bottom: 20px; +} +/* END: modal dialog */ diff --git a/packages/svelte-lexical/src/routes/+page.svelte b/packages/svelte-lexical/src/routes/+page.svelte index aa7e9372..6984e8b2 100644 --- a/packages/svelte-lexical/src/routes/+page.svelte +++ b/packages/svelte-lexical/src/routes/+page.svelte @@ -1,9 +1,32 @@ -

Welcome to svelte-lexical library

-

- Create your package using @sveltejs/package and preview/showcase your work - with SvelteKit -

-

- Visit kit.svelte.dev - to read the documentation -

+ + +
+ Svelte Lexical! +

+ Welcome to + svelte-lexical + + demo built using + SvelteKit +

+
+ +
+
+ + diff --git a/packages/svelte-lexical/src/routes/RichTextComposer.svelte b/packages/svelte-lexical/src/routes/RichTextComposer.svelte new file mode 100644 index 00000000..06581715 --- /dev/null +++ b/packages/svelte-lexical/src/routes/RichTextComposer.svelte @@ -0,0 +1,83 @@ + + + +
+ +
+
+
+ +
+
+ + + + + + + + +
+
+
diff --git a/packages/svelte-lexical/src/routes/themes/CommentEditorTheme.css b/packages/svelte-lexical/src/routes/themes/CommentEditorTheme.css new file mode 100644 index 00000000..e50318c3 --- /dev/null +++ b/packages/svelte-lexical/src/routes/themes/CommentEditorTheme.css @@ -0,0 +1,13 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + +.CommentEditorTheme__paragraph { + margin: 0; + position: 'relative'; +} diff --git a/packages/svelte-lexical/src/routes/themes/CommentEditorTheme.js b/packages/svelte-lexical/src/routes/themes/CommentEditorTheme.js new file mode 100644 index 00000000..04dd660a --- /dev/null +++ b/packages/svelte-lexical/src/routes/themes/CommentEditorTheme.js @@ -0,0 +1,18 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + +import './CommentEditorTheme.css'; + +import baseTheme from './PlaygroundEditorTheme'; + +const theme = { + ...baseTheme, + paragraph: 'CommentEditorTheme__paragraph', +}; + +export default theme; diff --git a/packages/svelte-lexical/src/routes/themes/PlaygroundEditorTheme.css b/packages/svelte-lexical/src/routes/themes/PlaygroundEditorTheme.css new file mode 100644 index 00000000..f963ef24 --- /dev/null +++ b/packages/svelte-lexical/src/routes/themes/PlaygroundEditorTheme.css @@ -0,0 +1,433 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ +.PlaygroundEditorTheme__ltr { + text-align: left; +} +.PlaygroundEditorTheme__rtl { + text-align: right; +} +.PlaygroundEditorTheme__paragraph { + margin: 0; + position: relative; +} +.PlaygroundEditorTheme__quote { + margin: 0; + margin-left: 20px; + margin-bottom: 10px; + font-size: 15px; + color: rgb(101, 103, 107); + border-left-color: rgb(206, 208, 212); + border-left-width: 4px; + border-left-style: solid; + padding-left: 16px; +} +.PlaygroundEditorTheme__h1 { + font-size: 24px; + color: rgb(5, 5, 5); + font-weight: 400; + margin: 0; +} +.PlaygroundEditorTheme__h2 { + font-size: 15px; + color: rgb(101, 103, 107); + font-weight: 700; + margin: 0; + text-transform: uppercase; +} +.PlaygroundEditorTheme__h3 { + font-size: 12px; + margin: 0; + text-transform: uppercase; +} +.PlaygroundEditorTheme__textBold { + font-weight: bold; +} +.PlaygroundEditorTheme__textItalic { + font-style: italic; +} +.PlaygroundEditorTheme__textUnderline { + text-decoration: underline; +} +.PlaygroundEditorTheme__textStrikethrough { + text-decoration: line-through; +} +.PlaygroundEditorTheme__textUnderlineStrikethrough { + text-decoration: underline line-through; +} +.PlaygroundEditorTheme__textSubscript { + font-size: 0.8em; + vertical-align: sub !important; +} +.PlaygroundEditorTheme__textSuperscript { + font-size: 0.8em; + vertical-align: super; +} +.PlaygroundEditorTheme__textCode { + background-color: rgb(240, 242, 245); + padding: 1px 0.25rem; + font-family: Menlo, Consolas, Monaco, monospace; + font-size: 94%; +} +.PlaygroundEditorTheme__hashtag { + background-color: rgba(88, 144, 255, 0.15); + border-bottom: 1px solid rgba(88, 144, 255, 0.3); +} +.PlaygroundEditorTheme__link { + color: rgb(33, 111, 219); + text-decoration: none; +} +.PlaygroundEditorTheme__link:hover { + text-decoration: underline; + cursor: pointer; +} +.PlaygroundEditorTheme__code { + background-color: rgb(240, 242, 245); + font-family: Menlo, Consolas, Monaco, monospace; + display: block; + padding: 8px 8px 8px 52px; + line-height: 1.53; + font-size: 13px; + margin: 0; + margin-top: 8px; + margin-bottom: 8px; + tab-size: 2; + /* white-space: pre; */ + overflow-x: auto; + position: relative; +} +.PlaygroundEditorTheme__code:before { + content: attr(data-gutter); + position: absolute; + background-color: #eee; + left: 0; + top: 0; + border-right: 1px solid #ccc; + padding: 8px; + color: #777; + white-space: pre-wrap; + text-align: right; + min-width: 25px; +} +.PlaygroundEditorTheme__table { + border-collapse: collapse; + border-spacing: 0; + max-width: 100%; + overflow-y: scroll; + table-layout: fixed; + width: calc(100% - 25px); + margin: 30px 0; +} +.PlaygroundEditorTheme__tableSelected { + outline: 2px solid rgb(60, 132, 244); +} +.PlaygroundEditorTheme__tableCell { + border: 1px solid #bbb; + min-width: 75px; + vertical-align: top; + text-align: start; + padding: 6px 8px; + position: relative; + cursor: default; + outline: none; +} +.PlaygroundEditorTheme__tableCellSortedIndicator { + display: block; + opacity: 0.5; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 4px; + background-color: #999; +} +.PlaygroundEditorTheme__tableCellResizer { + position: absolute; + right: -4px; + height: 100%; + width: 8px; + cursor: ew-resize; + z-index: 10; + top: 0; +} +.PlaygroundEditorTheme__tableCellHeader { + background-color: #f2f3f5; + text-align: start; +} +.PlaygroundEditorTheme__tableCellSelected { + background-color: #c9dbf0; +} +.PlaygroundEditorTheme__tableCellPrimarySelected { + border: 2px solid rgb(60, 132, 244); + display: block; + height: calc(100% - 2px); + position: absolute; + width: calc(100% - 2px); + left: -1px; + top: -1px; + z-index: 2; +} +.PlaygroundEditorTheme__tableCellEditing { + box-shadow: 0 0 5px rgba(0, 0, 0, 0.4); + border-radius: 3px; +} +.PlaygroundEditorTheme__tableAddColumns { + position: absolute; + top: 0; + width: 20px; + background-color: #eee; + height: 100%; + right: 0; + animation: table-controls 0.2s ease; + border: 0; + cursor: pointer; +} +.PlaygroundEditorTheme__tableAddColumns:after { + background-image: url(/images/icons/plus.svg); + background-size: contain; + background-position: center; + background-repeat: no-repeat; + display: block; + content: ' '; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0.4; +} +.PlaygroundEditorTheme__tableAddColumns:hover { + background-color: #c9dbf0; +} +.PlaygroundEditorTheme__tableAddRows { + position: absolute; + bottom: -25px; + width: calc(100% - 25px); + background-color: #eee; + height: 20px; + left: 0; + animation: table-controls 0.2s ease; + border: 0; + cursor: pointer; +} +.PlaygroundEditorTheme__tableAddRows:after { + background-image: url(/images/icons/plus.svg); + background-size: contain; + background-position: center; + background-repeat: no-repeat; + display: block; + content: ' '; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0.4; +} +.PlaygroundEditorTheme__tableAddRows:hover { + background-color: #c9dbf0; +} +@keyframes table-controls { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +.PlaygroundEditorTheme__tableCellResizeRuler { + display: block; + position: absolute; + width: 1px; + background-color: rgb(60, 132, 244); + height: 100%; + top: 0; +} +.PlaygroundEditorTheme__tableCellActionButtonContainer { + display: block; + right: 5px; + top: 6px; + position: absolute; + z-index: 4; + width: 20px; + height: 20px; +} +.PlaygroundEditorTheme__tableCellActionButton { + background-color: #eee; + display: block; + border: 0; + border-radius: 20px; + width: 20px; + height: 20px; + color: #222; + cursor: pointer; +} +.PlaygroundEditorTheme__tableCellActionButton:hover { + background-color: #ddd; +} +.PlaygroundEditorTheme__characterLimit { + display: inline; + background-color: #ffbbbb !important; +} +.PlaygroundEditorTheme__ol1 { + padding: 0; + margin: 0; + margin-left: 16px; + list-style-position: outside; +} +.PlaygroundEditorTheme__ol2 { + padding: 0; + margin: 0; + margin-left: 16px; + list-style-type: upper-alpha; + list-style-position: outside; +} +.PlaygroundEditorTheme__ol3 { + padding: 0; + margin: 0; + margin-left: 16px; + list-style-type: lower-alpha; + list-style-position: outside; +} +.PlaygroundEditorTheme__ol4 { + padding: 0; + margin: 0; + margin-left: 16px; + list-style-type: upper-roman; + list-style-position: outside; +} +.PlaygroundEditorTheme__ol5 { + padding: 0; + margin: 0; + margin-left: 16px; + list-style-type: lower-roman; + list-style-position: outside; +} +.PlaygroundEditorTheme__ul { + padding: 0; + margin: 0; + margin-left: 16px; + list-style-position: outside; +} +.PlaygroundEditorTheme__listItem { + margin: 0 32px; +} +.PlaygroundEditorTheme__listItemChecked, +.PlaygroundEditorTheme__listItemUnchecked { + position: relative; + margin-left: 8px; + margin-right: 8px; + padding-left: 24px; + padding-right: 24px; + list-style-type: none; + outline: none; +} +.PlaygroundEditorTheme__listItemChecked { + text-decoration: line-through; +} +.PlaygroundEditorTheme__listItemUnchecked:before, +.PlaygroundEditorTheme__listItemChecked:before { + content: ''; + width: 16px; + height: 16px; + top: 2px; + left: 0; + cursor: pointer; + display: block; + background-size: cover; + position: absolute; +} +.PlaygroundEditorTheme__listItemUnchecked[dir='rtl']:before, +.PlaygroundEditorTheme__listItemChecked[dir='rtl']:before { + left: auto; + right: 0; +} +.PlaygroundEditorTheme__listItemUnchecked:focus:before, +.PlaygroundEditorTheme__listItemChecked:focus:before { + box-shadow: 0 0 0 2px #a6cdfe; + border-radius: 2px; +} +.PlaygroundEditorTheme__listItemUnchecked:before { + border: 1px solid #999; + border-radius: 2px; +} +.PlaygroundEditorTheme__listItemChecked:before { + border: 1px solid rgb(61, 135, 245); + border-radius: 2px; + background-color: #3d87f5; + background-repeat: no-repeat; +} +.PlaygroundEditorTheme__listItemChecked:after { + content: ''; + cursor: pointer; + border-color: #fff; + border-style: solid; + position: absolute; + display: block; + top: 6px; + width: 3px; + left: 7px; + right: 7px; + height: 6px; + transform: rotate(45deg); + border-width: 0 2px 2px 0; +} +.PlaygroundEditorTheme__nestedListItem { + list-style-type: none; +} +.PlaygroundEditorTheme__nestedListItem:before, +.PlaygroundEditorTheme__nestedListItem:after { + display: none; +} +.PlaygroundEditorTheme__tokenComment { + color: slategray; +} +.PlaygroundEditorTheme__tokenPunctuation { + color: #999; +} +.PlaygroundEditorTheme__tokenProperty { + color: #905; +} +.PlaygroundEditorTheme__tokenSelector { + color: #690; +} +.PlaygroundEditorTheme__tokenOperator { + color: #9a6e3a; +} +.PlaygroundEditorTheme__tokenAttr { + color: #07a; +} +.PlaygroundEditorTheme__tokenVariable { + color: #e90; +} +.PlaygroundEditorTheme__tokenFunction { + color: #dd4a68; +} +.PlaygroundEditorTheme__mark { + background: rgba(255, 212, 0, 0.14); + border-bottom: 2px solid rgba(255, 212, 0, 0.3); + padding-bottom: 2px; +} +.PlaygroundEditorTheme__markOverlap { + background: rgba(255, 212, 0, 0.3); + border-bottom: 2px solid rgba(255, 212, 0, 0.7); +} +.PlaygroundEditorTheme__mark.selected { + background: rgba(255, 212, 0, 0.5); + border-bottom: 2px solid rgba(255, 212, 0, 1); +} +.PlaygroundEditorTheme__markOverlap.selected { + background: rgba(255, 212, 0, 0.7); + border-bottom: 2px solid rgba(255, 212, 0, 0.7); +} +.PlaygroundEditorTheme__embedBlock { + user-select: none; +} +.PlaygroundEditorTheme__embedBlockFocus { + outline: 2px solid rgb(60, 132, 244); +} diff --git a/packages/svelte-lexical/src/routes/themes/PlaygroundEditorTheme.js b/packages/svelte-lexical/src/routes/themes/PlaygroundEditorTheme.js new file mode 100644 index 00000000..561ad03d --- /dev/null +++ b/packages/svelte-lexical/src/routes/themes/PlaygroundEditorTheme.js @@ -0,0 +1,112 @@ +/** + * Copyright (c) Syed Umar Anis + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + +import './PlaygroundEditorTheme.css'; + +const theme = { + blockCursor: 'PlaygroundEditorTheme__blockCursor', + characterLimit: 'PlaygroundEditorTheme__characterLimit', + code: 'PlaygroundEditorTheme__code', + codeHighlight: { + atrule: 'PlaygroundEditorTheme__tokenAttr', + attr: 'PlaygroundEditorTheme__tokenAttr', + boolean: 'PlaygroundEditorTheme__tokenProperty', + builtin: 'PlaygroundEditorTheme__tokenSelector', + cdata: 'PlaygroundEditorTheme__tokenComment', + char: 'PlaygroundEditorTheme__tokenSelector', + class: 'PlaygroundEditorTheme__tokenFunction', + 'class-name': 'PlaygroundEditorTheme__tokenFunction', + comment: 'PlaygroundEditorTheme__tokenComment', + constant: 'PlaygroundEditorTheme__tokenProperty', + deleted: 'PlaygroundEditorTheme__tokenProperty', + doctype: 'PlaygroundEditorTheme__tokenComment', + entity: 'PlaygroundEditorTheme__tokenOperator', + function: 'PlaygroundEditorTheme__tokenFunction', + important: 'PlaygroundEditorTheme__tokenVariable', + inserted: 'PlaygroundEditorTheme__tokenSelector', + keyword: 'PlaygroundEditorTheme__tokenAttr', + namespace: 'PlaygroundEditorTheme__tokenVariable', + number: 'PlaygroundEditorTheme__tokenProperty', + operator: 'PlaygroundEditorTheme__tokenOperator', + prolog: 'PlaygroundEditorTheme__tokenComment', + property: 'PlaygroundEditorTheme__tokenProperty', + punctuation: 'PlaygroundEditorTheme__tokenPunctuation', + regex: 'PlaygroundEditorTheme__tokenVariable', + selector: 'PlaygroundEditorTheme__tokenSelector', + string: 'PlaygroundEditorTheme__tokenSelector', + symbol: 'PlaygroundEditorTheme__tokenProperty', + tag: 'PlaygroundEditorTheme__tokenProperty', + url: 'PlaygroundEditorTheme__tokenOperator', + variable: 'PlaygroundEditorTheme__tokenVariable', + }, + embedBlock: { + base: 'PlaygroundEditorTheme__embedBlock', + focus: 'PlaygroundEditorTheme__embedBlockFocus', + }, + hashtag: 'PlaygroundEditorTheme__hashtag', + heading: { + h1: 'PlaygroundEditorTheme__h1', + h2: 'PlaygroundEditorTheme__h2', + h3: 'PlaygroundEditorTheme__h3', + h4: 'PlaygroundEditorTheme__h4', + h5: 'PlaygroundEditorTheme__h5', + h6: 'PlaygroundEditorTheme__h6', + }, + image: 'editor-image', + link: 'PlaygroundEditorTheme__link', + list: { + listitem: 'PlaygroundEditorTheme__listItem', + listitemChecked: 'PlaygroundEditorTheme__listItemChecked', + listitemUnchecked: 'PlaygroundEditorTheme__listItemUnchecked', + nested: { + listitem: 'PlaygroundEditorTheme__nestedListItem', + }, + olDepth: [ + 'PlaygroundEditorTheme__ol1', + 'PlaygroundEditorTheme__ol2', + 'PlaygroundEditorTheme__ol3', + 'PlaygroundEditorTheme__ol4', + 'PlaygroundEditorTheme__ol5', + ], + ul: 'PlaygroundEditorTheme__ul', + }, + ltr: 'PlaygroundEditorTheme__ltr', + mark: 'PlaygroundEditorTheme__mark', + markOverlap: 'PlaygroundEditorTheme__markOverlap', + paragraph: 'PlaygroundEditorTheme__paragraph', + quote: 'PlaygroundEditorTheme__quote', + rtl: 'PlaygroundEditorTheme__rtl', + table: 'PlaygroundEditorTheme__table', + tableAddColumns: 'PlaygroundEditorTheme__tableAddColumns', + tableAddRows: 'PlaygroundEditorTheme__tableAddRows', + tableCell: 'PlaygroundEditorTheme__tableCell', + tableCellActionButton: 'PlaygroundEditorTheme__tableCellActionButton', + tableCellActionButtonContainer: + 'PlaygroundEditorTheme__tableCellActionButtonContainer', + tableCellEditing: 'PlaygroundEditorTheme__tableCellEditing', + tableCellHeader: 'PlaygroundEditorTheme__tableCellHeader', + tableCellPrimarySelected: 'PlaygroundEditorTheme__tableCellPrimarySelected', + tableCellResizer: 'PlaygroundEditorTheme__tableCellResizer', + tableCellSelected: 'PlaygroundEditorTheme__tableCellSelected', + tableCellSortedIndicator: 'PlaygroundEditorTheme__tableCellSortedIndicator', + tableResizeRuler: 'PlaygroundEditorTheme__tableCellResizeRuler', + tableSelected: 'PlaygroundEditorTheme__tableSelected', + text: { + bold: 'PlaygroundEditorTheme__textBold', + code: 'PlaygroundEditorTheme__textCode', + italic: 'PlaygroundEditorTheme__textItalic', + strikethrough: 'PlaygroundEditorTheme__textStrikethrough', + subscript: 'PlaygroundEditorTheme__textSubscript', + superscript: 'PlaygroundEditorTheme__textSuperscript', + underline: 'PlaygroundEditorTheme__textUnderline', + underlineStrikethrough: 'PlaygroundEditorTheme__textUnderlineStrikethrough', + }, +}; + +export default theme; diff --git a/packages/svelte-lexical/src/routes/themes/StickyEditorTheme.css b/packages/svelte-lexical/src/routes/themes/StickyEditorTheme.css new file mode 100644 index 00000000..f5638696 --- /dev/null +++ b/packages/svelte-lexical/src/routes/themes/StickyEditorTheme.css @@ -0,0 +1,13 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + +.StickyEditorTheme__paragraph { + margin: 0; + position: 'relative'; +} diff --git a/packages/svelte-lexical/src/routes/themes/StickyEditorTheme.js b/packages/svelte-lexical/src/routes/themes/StickyEditorTheme.js new file mode 100644 index 00000000..33e3ef60 --- /dev/null +++ b/packages/svelte-lexical/src/routes/themes/StickyEditorTheme.js @@ -0,0 +1,18 @@ +/** + * Copyright (c) Syed Umar Anis + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + +import './StickyEditorTheme.css'; + +import baseTheme from './PlaygroundEditorTheme'; + +const theme = { + ...baseTheme, + paragraph: 'StickyEditorTheme__paragraph', +}; + +export default theme; diff --git a/packages/svelte-lexical/static/favicon.png b/packages/svelte-lexical/static/favicon.png new file mode 100644 index 00000000..825b9e65 Binary files /dev/null and b/packages/svelte-lexical/static/favicon.png differ diff --git a/packages/svelte-lexical/static/images/cat-typing.gif b/packages/svelte-lexical/static/images/cat-typing.gif new file mode 100644 index 00000000..4f45feb3 Binary files /dev/null and b/packages/svelte-lexical/static/images/cat-typing.gif differ diff --git a/packages/svelte-lexical/static/images/emoji/1F600.png b/packages/svelte-lexical/static/images/emoji/1F600.png new file mode 100644 index 00000000..ba0e4feb Binary files /dev/null and b/packages/svelte-lexical/static/images/emoji/1F600.png differ diff --git a/packages/svelte-lexical/static/images/emoji/1F641.png b/packages/svelte-lexical/static/images/emoji/1F641.png new file mode 100644 index 00000000..0dd4e5be Binary files /dev/null and b/packages/svelte-lexical/static/images/emoji/1F641.png differ diff --git a/packages/svelte-lexical/static/images/emoji/1F642.png b/packages/svelte-lexical/static/images/emoji/1F642.png new file mode 100644 index 00000000..b37115fd Binary files /dev/null and b/packages/svelte-lexical/static/images/emoji/1F642.png differ diff --git a/packages/svelte-lexical/static/images/emoji/2764.png b/packages/svelte-lexical/static/images/emoji/2764.png new file mode 100644 index 00000000..6dd2cd56 Binary files /dev/null and b/packages/svelte-lexical/static/images/emoji/2764.png differ diff --git a/packages/svelte-lexical/static/images/emoji/LICENSE.md b/packages/svelte-lexical/static/images/emoji/LICENSE.md new file mode 100644 index 00000000..87b04e9a --- /dev/null +++ b/packages/svelte-lexical/static/images/emoji/LICENSE.md @@ -0,0 +1,5 @@ +OpenMoji +https://openmoji.org + +Licensed under Attribution-ShareAlike 4.0 International +https://creativecommons.org/licenses/by-sa/4.0/ diff --git a/packages/svelte-lexical/static/images/icons/LICENSE.md b/packages/svelte-lexical/static/images/icons/LICENSE.md new file mode 100644 index 00000000..ce74f6ab --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/LICENSE.md @@ -0,0 +1,5 @@ +Bootstrap Icons +https://icons.getbootstrap.com + +Licensed under MIT license +https://github.com/twbs/icons/blob/main/LICENSE.md diff --git a/packages/svelte-lexical/static/images/icons/arrow-clockwise.svg b/packages/svelte-lexical/static/images/icons/arrow-clockwise.svg new file mode 100644 index 00000000..80b3ad06 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/arrow-clockwise.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/arrow-counterclockwise.svg b/packages/svelte-lexical/static/images/icons/arrow-counterclockwise.svg new file mode 100644 index 00000000..46d3581d --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/arrow-counterclockwise.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/bg-color.svg b/packages/svelte-lexical/static/images/icons/bg-color.svg new file mode 100644 index 00000000..ae08b2c1 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/bg-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/camera.svg b/packages/svelte-lexical/static/images/icons/camera.svg new file mode 100755 index 00000000..968ebf4e --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/camera.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/card-checklist.svg b/packages/svelte-lexical/static/images/icons/card-checklist.svg new file mode 100644 index 00000000..f81734be --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/card-checklist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/caret-right-fill.svg b/packages/svelte-lexical/static/images/icons/caret-right-fill.svg new file mode 100644 index 00000000..04c258e6 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/caret-right-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/chat-left-text.svg b/packages/svelte-lexical/static/images/icons/chat-left-text.svg new file mode 100644 index 00000000..7c7acc23 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/chat-left-text.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/chat-right-dots.svg b/packages/svelte-lexical/static/images/icons/chat-right-dots.svg new file mode 100644 index 00000000..110925a1 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/chat-right-dots.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/chat-right-text.svg b/packages/svelte-lexical/static/images/icons/chat-right-text.svg new file mode 100644 index 00000000..08daa52b --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/chat-right-text.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/chat-right.svg b/packages/svelte-lexical/static/images/icons/chat-right.svg new file mode 100644 index 00000000..d9c2b110 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/chat-right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/chat-square-quote.svg b/packages/svelte-lexical/static/images/icons/chat-square-quote.svg new file mode 100755 index 00000000..5501848a --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/chat-square-quote.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/chevron-down.svg b/packages/svelte-lexical/static/images/icons/chevron-down.svg new file mode 100644 index 00000000..ef1a6ba3 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/chevron-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/clipboard.svg b/packages/svelte-lexical/static/images/icons/clipboard.svg new file mode 100755 index 00000000..f09e1a1c --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/clipboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/close.svg b/packages/svelte-lexical/static/images/icons/close.svg new file mode 100644 index 00000000..4f5bb393 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/code.svg b/packages/svelte-lexical/static/images/icons/code.svg new file mode 100755 index 00000000..c9070bf0 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/comments.svg b/packages/svelte-lexical/static/images/icons/comments.svg new file mode 100644 index 00000000..6a23ac54 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/comments.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/copy.svg b/packages/svelte-lexical/static/images/icons/copy.svg new file mode 100644 index 00000000..e757cdfe --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/copy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/diagram-2.svg b/packages/svelte-lexical/static/images/icons/diagram-2.svg new file mode 100644 index 00000000..7b7b696d --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/diagram-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/download.svg b/packages/svelte-lexical/static/images/icons/download.svg new file mode 100755 index 00000000..cd27d96c --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/draggable-block-menu.svg b/packages/svelte-lexical/static/images/icons/draggable-block-menu.svg new file mode 100644 index 00000000..7086d299 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/draggable-block-menu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/dropdown-more.svg b/packages/svelte-lexical/static/images/icons/dropdown-more.svg new file mode 100644 index 00000000..399ea8de --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/dropdown-more.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/figma.svg b/packages/svelte-lexical/static/images/icons/figma.svg new file mode 100644 index 00000000..fa319e12 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/figma.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/file-earmark-text.svg b/packages/svelte-lexical/static/images/icons/file-earmark-text.svg new file mode 100644 index 00000000..0d60c795 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/file-earmark-text.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/file-image.svg b/packages/svelte-lexical/static/images/icons/file-image.svg new file mode 100644 index 00000000..73a9ff15 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/file-image.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/filetype-gif.svg b/packages/svelte-lexical/static/images/icons/filetype-gif.svg new file mode 100644 index 00000000..12acb80f --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/filetype-gif.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/font-color.svg b/packages/svelte-lexical/static/images/icons/font-color.svg new file mode 100644 index 00000000..1ac53f7a --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/font-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/font-family.svg b/packages/svelte-lexical/static/images/icons/font-family.svg new file mode 100644 index 00000000..a13f5ad1 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/font-family.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/gear.svg b/packages/svelte-lexical/static/images/icons/gear.svg new file mode 100755 index 00000000..ee6efa04 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/gear.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/horizontal-rule.svg b/packages/svelte-lexical/static/images/icons/horizontal-rule.svg new file mode 100644 index 00000000..cb84970f --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/horizontal-rule.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/indent.svg b/packages/svelte-lexical/static/images/icons/indent.svg new file mode 100644 index 00000000..c9c5df7b --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/indent.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/journal-code.svg b/packages/svelte-lexical/static/images/icons/journal-code.svg new file mode 100755 index 00000000..9db6666a --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/journal-code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/journal-text.svg b/packages/svelte-lexical/static/images/icons/journal-text.svg new file mode 100755 index 00000000..9defed2c --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/journal-text.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/justify.svg b/packages/svelte-lexical/static/images/icons/justify.svg new file mode 100644 index 00000000..6c5f8d0f --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/justify.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/link.svg b/packages/svelte-lexical/static/images/icons/link.svg new file mode 100755 index 00000000..bc38ff5d --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/list-ol.svg b/packages/svelte-lexical/static/images/icons/list-ol.svg new file mode 100755 index 00000000..ad288e8e --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/list-ol.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/list-ul.svg b/packages/svelte-lexical/static/images/icons/list-ul.svg new file mode 100755 index 00000000..6d7aae75 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/list-ul.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/lock-fill.svg b/packages/svelte-lexical/static/images/icons/lock-fill.svg new file mode 100644 index 00000000..466ca138 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/lock-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/lock.svg b/packages/svelte-lexical/static/images/icons/lock.svg new file mode 100644 index 00000000..3e19e71b --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/markdown.svg b/packages/svelte-lexical/static/images/icons/markdown.svg new file mode 100644 index 00000000..310bff6d --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/markdown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/mic.svg b/packages/svelte-lexical/static/images/icons/mic.svg new file mode 100644 index 00000000..afdb58da --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/mic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/outdent.svg b/packages/svelte-lexical/static/images/icons/outdent.svg new file mode 100644 index 00000000..a98e0e19 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/outdent.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/paint-bucket.svg b/packages/svelte-lexical/static/images/icons/paint-bucket.svg new file mode 100644 index 00000000..baa02d3b --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/paint-bucket.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/palette.svg b/packages/svelte-lexical/static/images/icons/palette.svg new file mode 100644 index 00000000..338222ec --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/palette.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/pencil-fill.svg b/packages/svelte-lexical/static/images/icons/pencil-fill.svg new file mode 100755 index 00000000..eb01fb2a --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/pencil-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/plug-fill.svg b/packages/svelte-lexical/static/images/icons/plug-fill.svg new file mode 100644 index 00000000..3863ef84 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/plug-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/plug.svg b/packages/svelte-lexical/static/images/icons/plug.svg new file mode 100644 index 00000000..de8d4c80 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/plug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/plus-slash-minus.svg b/packages/svelte-lexical/static/images/icons/plus-slash-minus.svg new file mode 100644 index 00000000..40ff781e --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/plus-slash-minus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/plus.svg b/packages/svelte-lexical/static/images/icons/plus.svg new file mode 100644 index 00000000..1a26928a --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/plus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/prettier-error.svg b/packages/svelte-lexical/static/images/icons/prettier-error.svg new file mode 100644 index 00000000..8fc8450d --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/prettier-error.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/prettier.svg b/packages/svelte-lexical/static/images/icons/prettier.svg new file mode 100644 index 00000000..b25a626c --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/prettier.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/send.svg b/packages/svelte-lexical/static/images/icons/send.svg new file mode 100644 index 00000000..04e9f298 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/send.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/square-check.svg b/packages/svelte-lexical/static/images/icons/square-check.svg new file mode 100644 index 00000000..352ba615 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/square-check.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/sticky.svg b/packages/svelte-lexical/static/images/icons/sticky.svg new file mode 100644 index 00000000..2b14115c --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/sticky.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/success-alt.svg b/packages/svelte-lexical/static/images/icons/success-alt.svg new file mode 100644 index 00000000..c9d4ad9c --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/success-alt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/success.svg b/packages/svelte-lexical/static/images/icons/success.svg new file mode 100644 index 00000000..8e11879e --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/success.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/table.svg b/packages/svelte-lexical/static/images/icons/table.svg new file mode 100644 index 00000000..e514555c --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/text-center.svg b/packages/svelte-lexical/static/images/icons/text-center.svg new file mode 100644 index 00000000..97ced49e --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/text-center.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/text-left.svg b/packages/svelte-lexical/static/images/icons/text-left.svg new file mode 100644 index 00000000..5fe4cc44 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/text-left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/text-paragraph.svg b/packages/svelte-lexical/static/images/icons/text-paragraph.svg new file mode 100755 index 00000000..1b943ab4 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/text-paragraph.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/text-right.svg b/packages/svelte-lexical/static/images/icons/text-right.svg new file mode 100644 index 00000000..de984517 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/text-right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/trash.svg b/packages/svelte-lexical/static/images/icons/trash.svg new file mode 100644 index 00000000..75680bb7 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/trash.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/trash3.svg b/packages/svelte-lexical/static/images/icons/trash3.svg new file mode 100644 index 00000000..5c38b387 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/trash3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/tweet.svg b/packages/svelte-lexical/static/images/icons/tweet.svg new file mode 100644 index 00000000..3304020e --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/tweet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/type-bold.svg b/packages/svelte-lexical/static/images/icons/type-bold.svg new file mode 100755 index 00000000..ec0dc2ec --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/type-bold.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/type-h1.svg b/packages/svelte-lexical/static/images/icons/type-h1.svg new file mode 100755 index 00000000..379da930 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/type-h1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/type-h2.svg b/packages/svelte-lexical/static/images/icons/type-h2.svg new file mode 100755 index 00000000..e724a0be --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/type-h2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/type-h3.svg b/packages/svelte-lexical/static/images/icons/type-h3.svg new file mode 100755 index 00000000..02d4a06c --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/type-h3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/type-h4.svg b/packages/svelte-lexical/static/images/icons/type-h4.svg new file mode 100755 index 00000000..eb950c9e --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/type-h4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/type-h5.svg b/packages/svelte-lexical/static/images/icons/type-h5.svg new file mode 100755 index 00000000..5d565639 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/type-h5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/type-h6.svg b/packages/svelte-lexical/static/images/icons/type-h6.svg new file mode 100755 index 00000000..8274acac --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/type-h6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/type-italic.svg b/packages/svelte-lexical/static/images/icons/type-italic.svg new file mode 100755 index 00000000..ac139f3c --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/type-italic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/type-strikethrough.svg b/packages/svelte-lexical/static/images/icons/type-strikethrough.svg new file mode 100755 index 00000000..a0d7e17e --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/type-strikethrough.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/type-subscript.svg b/packages/svelte-lexical/static/images/icons/type-subscript.svg new file mode 100644 index 00000000..f6ebe4b6 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/type-subscript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/type-superscript.svg b/packages/svelte-lexical/static/images/icons/type-superscript.svg new file mode 100644 index 00000000..bed98f9d --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/type-superscript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/type-underline.svg b/packages/svelte-lexical/static/images/icons/type-underline.svg new file mode 100755 index 00000000..d5c7046e --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/type-underline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/upload.svg b/packages/svelte-lexical/static/images/icons/upload.svg new file mode 100644 index 00000000..81328ddb --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/upload.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/user.svg b/packages/svelte-lexical/static/images/icons/user.svg new file mode 100644 index 00000000..823b72d1 --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/icons/youtube.svg b/packages/svelte-lexical/static/images/icons/youtube.svg new file mode 100644 index 00000000..e7fb9faa --- /dev/null +++ b/packages/svelte-lexical/static/images/icons/youtube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/image/LICENSE.md b/packages/svelte-lexical/static/images/image/LICENSE.md new file mode 100644 index 00000000..f11a532c --- /dev/null +++ b/packages/svelte-lexical/static/images/image/LICENSE.md @@ -0,0 +1,5 @@ +yellow-flower.jpg by Andrew Haimerl +https://unsplash.com/photos/oxQHb8Yqt14 + +Licensed under Unsplash License +https://unsplash.com/license diff --git a/packages/svelte-lexical/static/images/landscape.jpg b/packages/svelte-lexical/static/images/landscape.jpg new file mode 100644 index 00000000..a54a11a4 Binary files /dev/null and b/packages/svelte-lexical/static/images/landscape.jpg differ diff --git a/packages/svelte-lexical/static/images/logo.svg b/packages/svelte-lexical/static/images/logo.svg new file mode 100644 index 00000000..44b2c694 --- /dev/null +++ b/packages/svelte-lexical/static/images/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/svelte-lexical/static/images/yellow-flower-small.jpg b/packages/svelte-lexical/static/images/yellow-flower-small.jpg new file mode 100644 index 00000000..93a6ad0e Binary files /dev/null and b/packages/svelte-lexical/static/images/yellow-flower-small.jpg differ diff --git a/packages/svelte-lexical/static/images/yellow-flower.jpg b/packages/svelte-lexical/static/images/yellow-flower.jpg new file mode 100644 index 00000000..9f96c1e5 Binary files /dev/null and b/packages/svelte-lexical/static/images/yellow-flower.jpg differ