@bbl-digital/snorre 4.2.20 → 4.2.22

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.
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",