@bbl-digital/snorre 4.2.20 → 4.2.22

Sign up to get free protection for your applications and to get access to all the features.
package/dist/bundle.js CHANGED
@@ -35268,12 +35268,14 @@ to {top: 100vh;}
35268
35268
  initialValue,
35269
35269
  overrideValue,
35270
35270
  label,
35271
+ sanitize = true,
35271
35272
  readOnly = false,
35272
35273
  type = 'basic',
35273
35274
  customModules = {
35274
35275
  toolbar: basicToolbar
35275
35276
  },
35276
35277
  formats = ['header', 'size', 'bold', 'italic', 'underline', 'list', 'indent', 'link', 'image', 'align'],
35278
+ replaceEmptyParagraphs = true,
35277
35279
  bounds,
35278
35280
  onChange,
35279
35281
  onFocus,
@@ -35339,11 +35341,14 @@ to {top: 100vh;}
35339
35341
  };
35340
35342
  const handleChange = React.useCallback(quill => {
35341
35343
  if (!quill) return;
35342
- const html = DOMPurify__default["default"].sanitize(quill.getSemanticHTML(), {
35344
+ let html = sanitize ? DOMPurify__default["default"].sanitize(quill.getSemanticHTML(), {
35343
35345
  USE_PROFILES: {
35344
35346
  html: true
35345
35347
  }
35346
- });
35348
+ }) : quill.getSemanticHTML();
35349
+ if (replaceEmptyParagraphs) {
35350
+ html = html?.replace(/<p(\s+[^>]*)?>\s*<\/p>/g, '<p$1><br/></p>') ?? '';
35351
+ }
35347
35352
  const length = quill.getLength() - 1;
35348
35353
  onChange?.(html, length);
35349
35354
  }, [onChange, quill]);
@@ -8,7 +8,7 @@ export default meta;
8
8
  export const HtmlDefault = {
9
9
  name: 'Html',
10
10
  args: {
11
- text: '<h1>Tesst</h1><p></p><p><strong>Bold tekst med <em>kursiv</em> <u>understrek</u></strong></p><p></p><ol><li>liste<ol><li>liste<ol><li>liste</li></ol></li></ol></li></ol><ul><li>liste<ul><li>liste</li></ul></li></ul><p></p><p class="ql-indent-1">Indentert</p><p class="ql-indent-1"></p><p style="text-align: center;" class="ql-indent-1">sentrert</p><p style="text-align: center;" class="ql-indent-1"></p><p style="text-align: right;" class="ql-indent-1">Høyre</p>'
11
+ text: '<p>Test test test</p><p><br/></p><p><br/></p><p>testtesttest</p>'
12
12
  }
13
13
  };
14
14
  export const ExternalLinks = {
@@ -52,12 +52,14 @@ const QuillEditor = ({
52
52
  initialValue,
53
53
  overrideValue,
54
54
  label,
55
+ sanitize = true,
55
56
  readOnly = false,
56
57
  type = 'basic',
57
58
  customModules = {
58
59
  toolbar: basicToolbar
59
60
  },
60
61
  formats = ['header', 'size', 'bold', 'italic', 'underline', 'list', 'indent', 'link', 'image', 'align'],
62
+ replaceEmptyParagraphs = true,
61
63
  bounds,
62
64
  onChange,
63
65
  onFocus,
@@ -123,11 +125,14 @@ const QuillEditor = ({
123
125
  };
124
126
  const handleChange = useCallback(quill => {
125
127
  if (!quill) return;
126
- const html = DOMPurify.sanitize(quill.getSemanticHTML(), {
128
+ let html = sanitize ? DOMPurify.sanitize(quill.getSemanticHTML(), {
127
129
  USE_PROFILES: {
128
130
  html: true
129
131
  }
130
- });
132
+ }) : quill.getSemanticHTML();
133
+ if (replaceEmptyParagraphs) {
134
+ html = html?.replace(/<p(\s+[^>]*)?>\s*<\/p>/g, '<p$1><br/></p>') ?? '';
135
+ }
131
136
  const length = quill.getLength() - 1;
132
137
  onChange?.(html, length);
133
138
  }, [onChange, quill]);
@@ -8,7 +8,7 @@ export default meta;
8
8
  export const HtmlDefault = {
9
9
  name: 'Html',
10
10
  args: {
11
- text: '<h1>Tesst</h1><p></p><p><strong>Bold tekst med <em>kursiv</em> <u>understrek</u></strong></p><p></p><ol><li>liste<ol><li>liste<ol><li>liste</li></ol></li></ol></li></ol><ul><li>liste<ul><li>liste</li></ul></li></ul><p></p><p class="ql-indent-1">Indentert</p><p class="ql-indent-1"></p><p style="text-align: center;" class="ql-indent-1">sentrert</p><p style="text-align: center;" class="ql-indent-1"></p><p style="text-align: right;" class="ql-indent-1">Høyre</p>'
11
+ text: '<p>Test test test</p><p><br/></p><p><br/></p><p>testtesttest</p>'
12
12
  }
13
13
  };
14
14
  export const ExternalLinks = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/QuillEditor/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAW3C,OAAO,2BAA2B,CAAA;AAkClC,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA4Q3C,CAAA;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/QuillEditor/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAW3C,OAAO,2BAA2B,CAAA;AAkClC,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqR3C,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -52,12 +52,14 @@ const QuillEditor = ({
52
52
  initialValue,
53
53
  overrideValue,
54
54
  label,
55
+ sanitize = true,
55
56
  readOnly = false,
56
57
  type = 'basic',
57
58
  customModules = {
58
59
  toolbar: basicToolbar
59
60
  },
60
61
  formats = ['header', 'size', 'bold', 'italic', 'underline', 'list', 'indent', 'link', 'image', 'align'],
62
+ replaceEmptyParagraphs = true,
61
63
  bounds,
62
64
  onChange,
63
65
  onFocus,
@@ -123,11 +125,14 @@ const QuillEditor = ({
123
125
  };
124
126
  const handleChange = useCallback(quill => {
125
127
  if (!quill) return;
126
- const html = DOMPurify.sanitize(quill.getSemanticHTML(), {
128
+ let html = sanitize ? DOMPurify.sanitize(quill.getSemanticHTML(), {
127
129
  USE_PROFILES: {
128
130
  html: true
129
131
  }
130
- });
132
+ }) : quill.getSemanticHTML();
133
+ if (replaceEmptyParagraphs) {
134
+ html = html?.replace(/<p(\s+[^>]*)?>\s*<\/p>/g, '<p$1><br/></p>') ?? '';
135
+ }
131
136
  const length = quill.getLength() - 1;
132
137
  onChange?.(html, length);
133
138
  }, [onChange, quill]);
@@ -52,6 +52,8 @@ interface QuillEditorProps {
52
52
  overrideValue?: string;
53
53
  readOnly?: boolean;
54
54
  pasteAsText?: boolean;
55
+ sanitize?: boolean;
56
+ replaceEmptyParagraphs?: boolean;
55
57
  type?: 'basic' | 'rich' | 'full' | 'custom';
56
58
  customModules?: {
57
59
  toolbar?: QuillToolbarConfig[];
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/packages/core/QuillEditor/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/packages/core/QuillEditor/models.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bbl-digital/snorre",
3
- "version": "4.2.20",
3
+ "version": "4.2.22",
4
4
  "description": "Design library for BBL Digital",
5
5
  "license": "MIT",
6
6
  "main": "./lib/index.js",