@crashbytes/contentful-richtext-editor 1.0.7 → 1.0.8

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.
@@ -24,8 +24,6 @@ export interface ContentfulRichTextEditorProps {
24
24
  availableHeadings?: Array<1 | 2 | 3 | 4 | 5 | 6>;
25
25
  /** Which text formatting marks to make available */
26
26
  availableMarks?: Array<'bold' | 'italic' | 'underline'>;
27
- /** Enable debug logging for troubleshooting */
28
- debug?: boolean;
29
27
  }
30
28
  export declare const ContentfulRichTextEditor: React.FC<ContentfulRichTextEditorProps>;
31
29
  export default ContentfulRichTextEditor;
@@ -0,0 +1,18 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { ContentfulRichTextEditor } from './ContentfulEditor';
3
+ declare const meta: Meta<typeof ContentfulRichTextEditor>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const BlogPostExample: Story;
8
+ export declare const MarketingCopyExample: Story;
9
+ export declare const TechnicalDocumentationExample: Story;
10
+ export declare const RecipeExample: Story;
11
+ export declare const ContentfulTheme: Story;
12
+ export declare const MinimalTheme: Story;
13
+ export declare const DefaultTheme: Story;
14
+ export declare const ReadOnly: Story;
15
+ export declare const LimitedFeatures: Story;
16
+ export declare const SimpleEditor: Story;
17
+ export declare const WithEmbedHandlers: Story;
18
+ export declare const CustomStyling: Story;
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ declare const MockToolbarWrapper: ({ disabledFeatures, availableHeadings, availableMarks, onEmbedEntry, onEmbedAsset, }: any) => import("react/jsx-runtime").JSX.Element;
3
+ declare const meta: Meta<typeof MockToolbarWrapper>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const LimitedFeatures: Story;
8
+ export declare const MinimalToolbar: Story;
9
+ export declare const OnlyHeadings: Story;
10
+ export declare const NoEmbedControls: Story;
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .contentful-editor{background:#fff;border:1px solid #d3dce6;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;overflow:hidden;position:relative}.contentful-editor--loading{align-items:center;background:#f7f9fa;color:#68737d;display:flex;font-size:14px;justify-content:center;min-height:200px}.contentful-editor__loading{align-items:center;display:flex;gap:8px}.contentful-editor__loading:before{animation:contentful-spin 1s linear infinite;border:2px solid #d3dce6;border-radius:50%;border-top-color:#2e75d4;content:"";height:16px;width:16px}@keyframes contentful-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.contentful-editor__error{background:#fff2f0;border:1px solid #ffccc7;border-left:4px solid #ff4d4f;border-radius:6px 6px 0 0;color:#cf1322;font-size:14px;line-height:1.4;margin-bottom:0;padding:12px 16px}.contentful-editor__error strong{color:#a8071a;font-weight:600}.contentful-editor--error{border-color:#ff7875}.contentful-toolbar{background:#f7f9fa;border-bottom:1px solid #d3dce6;border-radius:6px 6px 0 0;flex-wrap:wrap;min-height:48px;padding:8px 12px}.contentful-toolbar,.contentful-toolbar__group{align-items:center;display:flex;gap:4px}.contentful-toolbar__group--right{margin-left:auto}.contentful-toolbar__separator{background:#d3dce6;flex-shrink:0;height:24px;margin:0 8px;width:1px}.contentful-toolbar__select{background:#fff;border:1px solid #d3dce6;border-radius:4px;cursor:pointer;font-size:14px;height:32px;min-width:120px;padding:4px 8px;transition:all .2s ease}.contentful-toolbar__select:focus{border-color:#2e75d4;box-shadow:0 0 0 2px rgba(46,117,212,.2);outline:none}.contentful-toolbar__select:hover{border-color:#1e5aa8}.contentful-toolbar__button{align-items:center;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;line-height:1;min-width:32px;padding:6px 8px;position:relative;transition:all .15s ease}.contentful-toolbar__button:hover{background:#e5ebed;border-color:#d3dce6;transform:translateY(-1px)}.contentful-toolbar__button:active{transform:translateY(0)}.contentful-toolbar__button:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.contentful-toolbar__button:disabled:hover{background:transparent;border-color:transparent}.contentful-toolbar__button--active{background:#2e75d4;border-color:#2e75d4;box-shadow:0 2px 4px rgba(46,117,212,.3);color:#fff}.contentful-toolbar__button--active:hover{background:#1e5aa8;border-color:#1e5aa8;transform:translateY(-1px)}.contentful-toolbar__link-input{align-items:center;background:#fff;border:1px solid #d3dce6;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;gap:4px;margin-left:8px;padding:4px}.contentful-toolbar__link-input input{background:transparent;border:none;font-size:14px;outline:none;padding:6px 8px;width:200px}.contentful-toolbar__link-input input:focus{background:#f7f9fa}.contentful-toolbar__link-input button{align-items:center;background:#fff;border:1px solid #d3dce6;border-radius:4px;cursor:pointer;display:flex;font-size:12px;font-weight:500;height:24px;justify-content:center;min-width:24px;padding:4px 8px;transition:all .15s ease}.contentful-toolbar__link-input button:hover{background:#f7f9fa;border-color:#2e75d4}.contentful-toolbar__embed-dropdown{position:relative}.contentful-toolbar__embed-button{align-items:center;background:#2e75d4;border:1px solid #2e75d4;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:4px;height:32px;padding:6px 12px;transition:all .15s ease}.contentful-toolbar__embed-button:hover{background:#1e5aa8;border-color:#1e5aa8;box-shadow:0 2px 8px rgba(46,117,212,.3);transform:translateY(-1px)}.contentful-toolbar__embed-dropdown:hover .contentful-toolbar__embed-menu{animation:contentful-fade-in .15s ease;display:block}@keyframes contentful-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.contentful-toolbar__embed-menu{background:#fff;border:1px solid #d3dce6;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:none;min-width:140px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.contentful-toolbar__embed-option{background:none;border:none;color:#2c3e50;cursor:pointer;display:block;font-size:14px;font-weight:500;padding:12px 16px;text-align:left;transition:background-color .15s ease;width:100%}.contentful-toolbar__embed-option:hover{background:#f7f9fa;color:#2e75d4}.contentful-toolbar__embed-option:first-child{border-radius:6px 6px 0 0}.contentful-toolbar__embed-option:last-child{border-radius:0 0 6px 6px}.contentful-editor__content-wrapper{background:#fff;position:relative}.contentful-editor__content{min-height:200px}.contentful-editor-content{color:#2c3e50;font-size:16px;line-height:1.6;min-height:200px;outline:none;padding:16px}.contentful-editor-content:empty:before{color:#68737d;content:attr(data-placeholder);font-style:italic;pointer-events:none}.contentful-editor-content h1,.contentful-editor-content h2,.contentful-editor-content h3,.contentful-editor-content h4,.contentful-editor-content h5,.contentful-editor-content h6{color:#1a202c;font-weight:600;line-height:1.2;margin:1.5em 0 .75em}.contentful-editor-content h1:first-child,.contentful-editor-content h2:first-child,.contentful-editor-content h3:first-child,.contentful-editor-content h4:first-child,.contentful-editor-content h5:first-child,.contentful-editor-content h6:first-child{margin-top:0}.contentful-editor-content h1{font-size:2em}.contentful-editor-content h2{font-size:1.5em}.contentful-editor-content h3{font-size:1.25em}.contentful-editor-content h4,.contentful-editor-content h5,.contentful-editor-content h6{font-size:1em}.contentful-editor-content p{margin:0 0 1em}.contentful-editor-content p:last-child{margin-bottom:0}.contentful-bullet-list,.contentful-ordered-list{margin:1em 0;padding-left:1.5em}.contentful-bullet-list li,.contentful-ordered-list li{line-height:1.5;margin:.5em 0}.contentful-bullet-list li::marker{color:#2e75d4}.contentful-ordered-list li::marker{color:#2e75d4;font-weight:600}.contentful-blockquote{background:#f7f9fa;border-left:4px solid #2e75d4;border-radius:0 4px 4px 0;color:#68737d;font-style:italic;margin:1.5em 0;padding:1em 0 1em 1.5em;position:relative}.contentful-blockquote:before{color:#2e75d4;content:'"';font-size:3em;left:8px;line-height:1;opacity:.3;position:absolute;top:-8px}.contentful-link{border-bottom:1px solid transparent;color:#2e75d4;text-decoration:none;transition:all .15s ease}.contentful-link:hover{border-bottom-color:#1e5aa8;color:#1e5aa8}.contentful-link:focus{border-radius:2px;outline:2px solid #2e75d4;outline-offset:2px}.contentful-table{border:1px solid #d3dce6;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin:1.5em 0;overflow:hidden;width:100%}.contentful-table-cell,.contentful-table-header{border:1px solid #d3dce6;padding:12px 16px;text-align:left;vertical-align:top}.contentful-table-header{background:#f7f9fa;border-bottom:2px solid #d3dce6;color:#1a202c;font-weight:600}.contentful-table-cell{background:#fff}.contentful-table tbody tr:nth-child(2n) .contentful-table-cell{background:#fafbfc}.contentful-table tbody tr:hover .contentful-table-cell{background:#f0f6ff}.contentful-editor--minimal{border:none;border-radius:0;box-shadow:none}.contentful-editor--minimal .contentful-toolbar{background:#fff;border-bottom:1px solid #e1e8ed;border-radius:0}.contentful-editor--minimal .contentful-editor__error{border-radius:0}.contentful-editor--default .contentful-editor-content,.contentful-editor--default .contentful-editor-content h1,.contentful-editor--default .contentful-editor-content h2,.contentful-editor--default .contentful-editor-content h3,.contentful-editor--default .contentful-editor-content h4,.contentful-editor--default .contentful-editor-content h5,.contentful-editor--default .contentful-editor-content h6{font-family:Georgia,Times New Roman,serif}.contentful-editor:focus-within{border-color:#2e75d4;box-shadow:0 0 0 2px rgba(46,117,212,.2)}.contentful-editor--error:focus-within{border-color:#ff4d4f;box-shadow:0 0 0 2px rgba(255,77,79,.2)}@media (max-width:768px){.contentful-toolbar{flex-wrap:wrap;gap:8px;padding:12px}.contentful-toolbar__select{flex:1;min-width:100px}.contentful-toolbar__separator{display:none}.contentful-toolbar__group{flex-wrap:wrap}.contentful-editor-content{font-size:14px;padding:12px}.contentful-toolbar__link-input{align-items:stretch;flex-direction:column;gap:8px;margin-left:0;margin-top:8px;width:100%}.contentful-toolbar__link-input input{width:100%}.contentful-table{font-size:14px}.contentful-table-cell,.contentful-table-header{padding:8px 12px}}@media (max-width:480px){.contentful-editor-content{font-size:14px;padding:8px}.contentful-toolbar{padding:8px}.contentful-toolbar__button{font-size:12px;height:28px;min-width:28px;padding:4px 6px}.contentful-blockquote{margin:1em 0;padding:.75em 0 .75em 1em}}
1
+ .contentful-editor{background:#fff;border:1px solid #d3dce6;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.contentful-editor--loading{align-items:center;color:#68737d;display:flex;justify-content:center;min-height:200px}.contentful-toolbar{background:#f7f9fa;border-bottom:1px solid #d3dce6;border-radius:6px 6px 0 0;padding:8px 12px}.contentful-toolbar,.contentful-toolbar__group{align-items:center;display:flex;gap:4px}.contentful-toolbar__group--right{margin-left:auto}.contentful-toolbar__separator{background:#d3dce6;height:24px;margin:0 8px;width:1px}.contentful-toolbar__select{background:#fff;border:1px solid #d3dce6;border-radius:4px;font-size:14px;min-width:120px;padding:4px 8px}.contentful-toolbar__select:focus{border-color:#2e75d4;box-shadow:0 0 0 2px rgba(46,117,212,.2);outline:none}.contentful-toolbar__button{align-items:center;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;line-height:1;min-width:32px;padding:6px 8px}.contentful-toolbar__button:hover{background:#e5ebed;border-color:#d3dce6}.contentful-toolbar__button:disabled{cursor:not-allowed;opacity:.5}.contentful-toolbar__button--active{background:#2e75d4;border-color:#2e75d4;color:#fff}.contentful-toolbar__button--active:hover{background:#1e5aa8;border-color:#1e5aa8}.contentful-toolbar__link-input{align-items:center;display:flex;gap:4px;margin-left:8px}.contentful-toolbar__link-input input{border:1px solid #d3dce6;border-radius:4px;font-size:14px;padding:4px 8px;width:200px}.contentful-toolbar__link-input input:focus{border-color:#2e75d4;box-shadow:0 0 0 2px rgba(46,117,212,.2);outline:none}.contentful-toolbar__link-input button{background:#fff;border:1px solid #d3dce6;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 8px}.contentful-toolbar__embed-dropdown{position:relative}.contentful-toolbar__embed-button{background:#2e75d4;border:1px solid #2e75d4;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px}.contentful-toolbar__embed-button:hover{background:#1e5aa8;border-color:#1e5aa8}.contentful-toolbar__embed-dropdown:hover .contentful-toolbar__embed-menu{display:block}.contentful-toolbar__embed-menu{background:#fff;border:1px solid #d3dce6;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);display:none;min-width:120px;position:absolute;right:0;top:100%;z-index:100}.contentful-toolbar__embed-option{background:none;border:none;cursor:pointer;display:block;font-size:14px;padding:8px 12px;text-align:left;width:100%}.contentful-toolbar__embed-option:hover{background:#f7f9fa}.contentful-editor__content-wrapper{position:relative}.contentful-editor__content{min-height:200px}.contentful-editor-content{color:#2c3e50;font-size:16px;line-height:1.6;outline:none;padding:16px}.contentful-editor-content:empty:before{color:#68737d;content:attr(data-placeholder);pointer-events:none}.contentful-editor-content h1{font-size:2em;font-weight:600;line-height:1.2;margin:1em 0 .5em}.contentful-editor-content h2{font-size:1.5em;font-weight:600;line-height:1.3;margin:1em 0 .5em}.contentful-editor-content h3{font-size:1.25em;font-weight:600;line-height:1.4;margin:1em 0 .5em}.contentful-editor-content h4,.contentful-editor-content h5,.contentful-editor-content h6{font-size:1em;font-weight:600;line-height:1.5;margin:1em 0 .5em}.contentful-editor-content p{margin:0 0 1em}.contentful-editor-content p:last-child{margin-bottom:0}.contentful-bullet-list,.contentful-ordered-list{margin:1em 0;padding-left:1.5em}.contentful-bullet-list li,.contentful-ordered-list li{margin:.25em 0}.contentful-blockquote{border-left:4px solid #2e75d4;color:#68737d;font-style:italic;margin:1em 0;padding-left:1em}.contentful-link{color:#2e75d4;text-decoration:underline}.contentful-link:hover{color:#1e5aa8}.contentful-table{border:1px solid #d3dce6;border-collapse:collapse;margin:1em 0;width:100%}.contentful-table-cell,.contentful-table-header{border:1px solid #d3dce6;padding:8px 12px;text-align:left}.contentful-table-header{background:#f7f9fa;font-weight:600}.contentful-editor--minimal{border:none;border-radius:0}.contentful-editor--minimal .contentful-toolbar{background:#fff;border-bottom:1px solid #e1e8ed;border-radius:0}.contentful-editor--default .contentful-editor-content{font-family:Georgia,serif}.contentful-editor:focus-within{border-color:#2e75d4;box-shadow:0 0 0 2px rgba(46,117,212,.2)}@media (max-width:768px){.contentful-toolbar{flex-wrap:wrap}.contentful-toolbar__select{min-width:100px}.contentful-editor-content{font-size:14px;padding:12px}}
package/dist/index.d.ts CHANGED
@@ -1,47 +1,5 @@
1
1
  export { ContentfulRichTextEditor } from './components/ContentfulEditor';
2
2
  export type { ContentfulRichTextEditorProps } from './components/ContentfulEditor';
3
3
  export { ContentfulToolbar } from './components/Toolbar';
4
- export { contentfulToTiptap, tiptapToContentful, safeContentfulToTiptap, validateContentfulDocument, createEmptyDocument, createEmptyTiptapDocument } from './utils/contentfulTransform';
4
+ export { contentfulToTiptap, tiptapToContentful, validateContentfulDocument, createEmptyDocument } from './utils/contentfulTransform';
5
5
  export type { ContentfulEditorTheme } from './utils/types';
6
- export type { EmbeddedEntry as EmbeddedEntryType, EmbeddedAsset as EmbeddedAssetType } from './utils/types';
7
- export { ContentfulDocument } from './components/ContentfulDocument';
8
- export { EmbeddedEntry as EmbeddedEntryComponent, EmbeddedAsset as EmbeddedAssetComponent } from './components/ContentfulEmbedded';
9
- export declare const ContentfulEditorVersion = "1.0.7-optimized";
10
- export declare const SupportedContentfulVersion = "^16.0.0";
11
- export declare const SupportedTiptapVersion = "^2.0.0";
12
- /**
13
- * Professional debugging utility for development environments
14
- * Enables comprehensive error tracking and performance monitoring
15
- */
16
- export declare const enableDebugMode: (enabled?: boolean) => void;
17
- /**
18
- * Strategic compatibility checker for production deployments
19
- * Validates environment requirements and dependency versions
20
- */
21
- export declare const validateEnvironment: () => boolean;
22
- /**
23
- * Production-grade initialization helper
24
- * Streamlines editor setup for enterprise deployments
25
- */
26
- export declare const initializeContentfulEditor: (config?: {
27
- debug?: boolean;
28
- validateEnv?: boolean;
29
- }) => {
30
- version: string;
31
- ready: boolean;
32
- timestamp: string;
33
- };
34
- export type { Document, Block, Inline, Text, BLOCKS, MARKS, INLINES } from '@contentful/rich-text-types';
35
- export declare const utils: {
36
- readonly validateEnvironment: () => boolean;
37
- readonly enableDebugMode: (enabled?: boolean) => void;
38
- readonly initializeContentfulEditor: (config?: {
39
- debug?: boolean;
40
- validateEnv?: boolean;
41
- }) => {
42
- version: string;
43
- ready: boolean;
44
- timestamp: string;
45
- };
46
- readonly version: "1.0.7-optimized";
47
- };
@@ -1 +1 @@
1
- .contentful-editor{background:#fff;border:1px solid #d3dce6;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;overflow:hidden;position:relative}.contentful-editor--loading{align-items:center;background:#f7f9fa;color:#68737d;display:flex;font-size:14px;justify-content:center;min-height:200px}.contentful-editor__loading{align-items:center;display:flex;gap:8px}.contentful-editor__loading:before{animation:contentful-spin 1s linear infinite;border:2px solid #d3dce6;border-radius:50%;border-top-color:#2e75d4;content:"";height:16px;width:16px}@keyframes contentful-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.contentful-editor__error{background:#fff2f0;border:1px solid #ffccc7;border-left:4px solid #ff4d4f;border-radius:6px 6px 0 0;color:#cf1322;font-size:14px;line-height:1.4;margin-bottom:0;padding:12px 16px}.contentful-editor__error strong{color:#a8071a;font-weight:600}.contentful-editor--error{border-color:#ff7875}.contentful-toolbar{background:#f7f9fa;border-bottom:1px solid #d3dce6;border-radius:6px 6px 0 0;flex-wrap:wrap;min-height:48px;padding:8px 12px}.contentful-toolbar,.contentful-toolbar__group{align-items:center;display:flex;gap:4px}.contentful-toolbar__group--right{margin-left:auto}.contentful-toolbar__separator{background:#d3dce6;flex-shrink:0;height:24px;margin:0 8px;width:1px}.contentful-toolbar__select{background:#fff;border:1px solid #d3dce6;border-radius:4px;cursor:pointer;font-size:14px;height:32px;min-width:120px;padding:4px 8px;transition:all .2s ease}.contentful-toolbar__select:focus{border-color:#2e75d4;box-shadow:0 0 0 2px rgba(46,117,212,.2);outline:none}.contentful-toolbar__select:hover{border-color:#1e5aa8}.contentful-toolbar__button{align-items:center;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;line-height:1;min-width:32px;padding:6px 8px;position:relative;transition:all .15s ease}.contentful-toolbar__button:hover{background:#e5ebed;border-color:#d3dce6;transform:translateY(-1px)}.contentful-toolbar__button:active{transform:translateY(0)}.contentful-toolbar__button:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.contentful-toolbar__button:disabled:hover{background:transparent;border-color:transparent}.contentful-toolbar__button--active{background:#2e75d4;border-color:#2e75d4;box-shadow:0 2px 4px rgba(46,117,212,.3);color:#fff}.contentful-toolbar__button--active:hover{background:#1e5aa8;border-color:#1e5aa8;transform:translateY(-1px)}.contentful-toolbar__link-input{align-items:center;background:#fff;border:1px solid #d3dce6;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;gap:4px;margin-left:8px;padding:4px}.contentful-toolbar__link-input input{background:transparent;border:none;font-size:14px;outline:none;padding:6px 8px;width:200px}.contentful-toolbar__link-input input:focus{background:#f7f9fa}.contentful-toolbar__link-input button{align-items:center;background:#fff;border:1px solid #d3dce6;border-radius:4px;cursor:pointer;display:flex;font-size:12px;font-weight:500;height:24px;justify-content:center;min-width:24px;padding:4px 8px;transition:all .15s ease}.contentful-toolbar__link-input button:hover{background:#f7f9fa;border-color:#2e75d4}.contentful-toolbar__embed-dropdown{position:relative}.contentful-toolbar__embed-button{align-items:center;background:#2e75d4;border:1px solid #2e75d4;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:4px;height:32px;padding:6px 12px;transition:all .15s ease}.contentful-toolbar__embed-button:hover{background:#1e5aa8;border-color:#1e5aa8;box-shadow:0 2px 8px rgba(46,117,212,.3);transform:translateY(-1px)}.contentful-toolbar__embed-dropdown:hover .contentful-toolbar__embed-menu{animation:contentful-fade-in .15s ease;display:block}@keyframes contentful-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.contentful-toolbar__embed-menu{background:#fff;border:1px solid #d3dce6;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:none;min-width:140px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.contentful-toolbar__embed-option{background:none;border:none;color:#2c3e50;cursor:pointer;display:block;font-size:14px;font-weight:500;padding:12px 16px;text-align:left;transition:background-color .15s ease;width:100%}.contentful-toolbar__embed-option:hover{background:#f7f9fa;color:#2e75d4}.contentful-toolbar__embed-option:first-child{border-radius:6px 6px 0 0}.contentful-toolbar__embed-option:last-child{border-radius:0 0 6px 6px}.contentful-editor__content-wrapper{background:#fff;position:relative}.contentful-editor__content{min-height:200px}.contentful-editor-content{color:#2c3e50;font-size:16px;line-height:1.6;min-height:200px;outline:none;padding:16px}.contentful-editor-content:empty:before{color:#68737d;content:attr(data-placeholder);font-style:italic;pointer-events:none}.contentful-editor-content h1,.contentful-editor-content h2,.contentful-editor-content h3,.contentful-editor-content h4,.contentful-editor-content h5,.contentful-editor-content h6{color:#1a202c;font-weight:600;line-height:1.2;margin:1.5em 0 .75em}.contentful-editor-content h1:first-child,.contentful-editor-content h2:first-child,.contentful-editor-content h3:first-child,.contentful-editor-content h4:first-child,.contentful-editor-content h5:first-child,.contentful-editor-content h6:first-child{margin-top:0}.contentful-editor-content h1{font-size:2em}.contentful-editor-content h2{font-size:1.5em}.contentful-editor-content h3{font-size:1.25em}.contentful-editor-content h4,.contentful-editor-content h5,.contentful-editor-content h6{font-size:1em}.contentful-editor-content p{margin:0 0 1em}.contentful-editor-content p:last-child{margin-bottom:0}.contentful-bullet-list,.contentful-ordered-list{margin:1em 0;padding-left:1.5em}.contentful-bullet-list li,.contentful-ordered-list li{line-height:1.5;margin:.5em 0}.contentful-bullet-list li::marker{color:#2e75d4}.contentful-ordered-list li::marker{color:#2e75d4;font-weight:600}.contentful-blockquote{background:#f7f9fa;border-left:4px solid #2e75d4;border-radius:0 4px 4px 0;color:#68737d;font-style:italic;margin:1.5em 0;padding:1em 0 1em 1.5em;position:relative}.contentful-blockquote:before{color:#2e75d4;content:'"';font-size:3em;left:8px;line-height:1;opacity:.3;position:absolute;top:-8px}.contentful-link{border-bottom:1px solid transparent;color:#2e75d4;text-decoration:none;transition:all .15s ease}.contentful-link:hover{border-bottom-color:#1e5aa8;color:#1e5aa8}.contentful-link:focus{border-radius:2px;outline:2px solid #2e75d4;outline-offset:2px}.contentful-table{border:1px solid #d3dce6;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin:1.5em 0;overflow:hidden;width:100%}.contentful-table-cell,.contentful-table-header{border:1px solid #d3dce6;padding:12px 16px;text-align:left;vertical-align:top}.contentful-table-header{background:#f7f9fa;border-bottom:2px solid #d3dce6;color:#1a202c;font-weight:600}.contentful-table-cell{background:#fff}.contentful-table tbody tr:nth-child(2n) .contentful-table-cell{background:#fafbfc}.contentful-table tbody tr:hover .contentful-table-cell{background:#f0f6ff}.contentful-editor--minimal{border:none;border-radius:0;box-shadow:none}.contentful-editor--minimal .contentful-toolbar{background:#fff;border-bottom:1px solid #e1e8ed;border-radius:0}.contentful-editor--minimal .contentful-editor__error{border-radius:0}.contentful-editor--default .contentful-editor-content,.contentful-editor--default .contentful-editor-content h1,.contentful-editor--default .contentful-editor-content h2,.contentful-editor--default .contentful-editor-content h3,.contentful-editor--default .contentful-editor-content h4,.contentful-editor--default .contentful-editor-content h5,.contentful-editor--default .contentful-editor-content h6{font-family:Georgia,Times New Roman,serif}.contentful-editor:focus-within{border-color:#2e75d4;box-shadow:0 0 0 2px rgba(46,117,212,.2)}.contentful-editor--error:focus-within{border-color:#ff4d4f;box-shadow:0 0 0 2px rgba(255,77,79,.2)}@media (max-width:768px){.contentful-toolbar{flex-wrap:wrap;gap:8px;padding:12px}.contentful-toolbar__select{flex:1;min-width:100px}.contentful-toolbar__separator{display:none}.contentful-toolbar__group{flex-wrap:wrap}.contentful-editor-content{font-size:14px;padding:12px}.contentful-toolbar__link-input{align-items:stretch;flex-direction:column;gap:8px;margin-left:0;margin-top:8px;width:100%}.contentful-toolbar__link-input input{width:100%}.contentful-table{font-size:14px}.contentful-table-cell,.contentful-table-header{padding:8px 12px}}@media (max-width:480px){.contentful-editor-content{font-size:14px;padding:8px}.contentful-toolbar{padding:8px}.contentful-toolbar__button{font-size:12px;height:28px;min-width:28px;padding:4px 6px}.contentful-blockquote{margin:1em 0;padding:.75em 0 .75em 1em}}
1
+ .contentful-editor{background:#fff;border:1px solid #d3dce6;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.contentful-editor--loading{align-items:center;color:#68737d;display:flex;justify-content:center;min-height:200px}.contentful-toolbar{background:#f7f9fa;border-bottom:1px solid #d3dce6;border-radius:6px 6px 0 0;padding:8px 12px}.contentful-toolbar,.contentful-toolbar__group{align-items:center;display:flex;gap:4px}.contentful-toolbar__group--right{margin-left:auto}.contentful-toolbar__separator{background:#d3dce6;height:24px;margin:0 8px;width:1px}.contentful-toolbar__select{background:#fff;border:1px solid #d3dce6;border-radius:4px;font-size:14px;min-width:120px;padding:4px 8px}.contentful-toolbar__select:focus{border-color:#2e75d4;box-shadow:0 0 0 2px rgba(46,117,212,.2);outline:none}.contentful-toolbar__button{align-items:center;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;line-height:1;min-width:32px;padding:6px 8px}.contentful-toolbar__button:hover{background:#e5ebed;border-color:#d3dce6}.contentful-toolbar__button:disabled{cursor:not-allowed;opacity:.5}.contentful-toolbar__button--active{background:#2e75d4;border-color:#2e75d4;color:#fff}.contentful-toolbar__button--active:hover{background:#1e5aa8;border-color:#1e5aa8}.contentful-toolbar__link-input{align-items:center;display:flex;gap:4px;margin-left:8px}.contentful-toolbar__link-input input{border:1px solid #d3dce6;border-radius:4px;font-size:14px;padding:4px 8px;width:200px}.contentful-toolbar__link-input input:focus{border-color:#2e75d4;box-shadow:0 0 0 2px rgba(46,117,212,.2);outline:none}.contentful-toolbar__link-input button{background:#fff;border:1px solid #d3dce6;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 8px}.contentful-toolbar__embed-dropdown{position:relative}.contentful-toolbar__embed-button{background:#2e75d4;border:1px solid #2e75d4;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px}.contentful-toolbar__embed-button:hover{background:#1e5aa8;border-color:#1e5aa8}.contentful-toolbar__embed-dropdown:hover .contentful-toolbar__embed-menu{display:block}.contentful-toolbar__embed-menu{background:#fff;border:1px solid #d3dce6;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);display:none;min-width:120px;position:absolute;right:0;top:100%;z-index:100}.contentful-toolbar__embed-option{background:none;border:none;cursor:pointer;display:block;font-size:14px;padding:8px 12px;text-align:left;width:100%}.contentful-toolbar__embed-option:hover{background:#f7f9fa}.contentful-editor__content-wrapper{position:relative}.contentful-editor__content{min-height:200px}.contentful-editor-content{color:#2c3e50;font-size:16px;line-height:1.6;outline:none;padding:16px}.contentful-editor-content:empty:before{color:#68737d;content:attr(data-placeholder);pointer-events:none}.contentful-editor-content h1{font-size:2em;font-weight:600;line-height:1.2;margin:1em 0 .5em}.contentful-editor-content h2{font-size:1.5em;font-weight:600;line-height:1.3;margin:1em 0 .5em}.contentful-editor-content h3{font-size:1.25em;font-weight:600;line-height:1.4;margin:1em 0 .5em}.contentful-editor-content h4,.contentful-editor-content h5,.contentful-editor-content h6{font-size:1em;font-weight:600;line-height:1.5;margin:1em 0 .5em}.contentful-editor-content p{margin:0 0 1em}.contentful-editor-content p:last-child{margin-bottom:0}.contentful-bullet-list,.contentful-ordered-list{margin:1em 0;padding-left:1.5em}.contentful-bullet-list li,.contentful-ordered-list li{margin:.25em 0}.contentful-blockquote{border-left:4px solid #2e75d4;color:#68737d;font-style:italic;margin:1em 0;padding-left:1em}.contentful-link{color:#2e75d4;text-decoration:underline}.contentful-link:hover{color:#1e5aa8}.contentful-table{border:1px solid #d3dce6;border-collapse:collapse;margin:1em 0;width:100%}.contentful-table-cell,.contentful-table-header{border:1px solid #d3dce6;padding:8px 12px;text-align:left}.contentful-table-header{background:#f7f9fa;font-weight:600}.contentful-editor--minimal{border:none;border-radius:0}.contentful-editor--minimal .contentful-toolbar{background:#fff;border-bottom:1px solid #e1e8ed;border-radius:0}.contentful-editor--default .contentful-editor-content{font-family:Georgia,serif}.contentful-editor:focus-within{border-color:#2e75d4;box-shadow:0 0 0 2px rgba(46,117,212,.2)}@media (max-width:768px){.contentful-toolbar{flex-wrap:wrap}.contentful-toolbar__select{min-width:100px}.contentful-editor-content{font-size:14px;padding:12px}}