@happeouikit/content-renderer 3.1.7 → 3.2.1

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.
@@ -19,7 +19,7 @@ import { CopyToClipboardButton } from "@happeouikit/copy-to-clipboard-button";
19
19
  import { BodyUI, sansFamily } from "@happeouikit/typography";
20
20
  import { margin200, media, padding200 } from "@happeouikit/layout";
21
21
  import { active, gray04, gray07, gray09, lighten, warn } from "@happeouikit/colors";
22
- import { toHtml, loadCodeFont, decodeHtmlEntities, removeSpecialCharacters, toSafeText } from "./utils";
22
+ import { toHtml, loadCodeFont, decodeHtmlEntities, removeSpecialCharacters, toSafeText, addColorSpanAfterColorCodes } from "./utils";
23
23
  import { ELEMENT_TYPE_PRE, ELEMENT_TYPE_CODE, HIGHLIGHJS_CSS, HIGHLIGHJS_JS, CODE_BLOCK_AVAILABLE_LANGUAGES } from "./constants";
24
24
  import { jsx as _jsx } from "react/jsx-runtime";
25
25
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -36,7 +36,9 @@ var ContentRenderer = function ContentRenderer(_ref) {
36
36
  decodeHtmlEntitiesOnRender = _ref.decodeHtmlEntitiesOnRender,
37
37
  forceDefaultLinkTarget = _ref.forceDefaultLinkTarget,
38
38
  _ref$inheritBrandingS = _ref.inheritBrandingStyles,
39
- inheritBrandingStyles = _ref$inheritBrandingS === void 0 ? false : _ref$inheritBrandingS;
39
+ inheritBrandingStyles = _ref$inheritBrandingS === void 0 ? false : _ref$inheritBrandingS,
40
+ _ref$addColorBlocks = _ref.addColorBlocks,
41
+ addColorBlocks = _ref$addColorBlocks === void 0 ? false : _ref$addColorBlocks;
40
42
  var element = useRef({});
41
43
  var _useState = useState([]),
42
44
  _useState2 = _slicedToArray(_useState, 2),
@@ -128,11 +130,14 @@ var ContentRenderer = function ContentRenderer(_ref) {
128
130
  var safeText = useMemo(function () {
129
131
  var lowercaseType = type && typeof type === "string" ? type.toLowerCase() : "html";
130
132
  var transformedContent = lowercaseType === "text" ? toSafeText("<p>".concat(content, "</p>")) : toHtml(content, lowercaseType);
133
+ if (addColorBlocks) {
134
+ transformedContent = addColorSpanAfterColorCodes(transformedContent);
135
+ }
131
136
  if (decodeHtmlEntitiesOnRender) {
132
137
  transformedContent = decodeHtmlEntities(transformedContent);
133
138
  }
134
139
  return transformedContent;
135
- }, [content, type, decodeHtmlEntitiesOnRender]);
140
+ }, [content, type, addColorBlocks, decodeHtmlEntitiesOnRender]);
136
141
 
137
142
  // Use dangerouslySetInnerHTML as there might be nested <p>'s header etc
138
143
  // This requires that all content is run through the toSafeText filter
@@ -173,7 +178,7 @@ var Wrapper = styled(BodyUI).attrs({
173
178
  }).withConfig({
174
179
  displayName: "ContentRenderer__Wrapper",
175
180
  componentId: "sc-1mleu9k-1"
176
- })(["", " h1.highlight,h2.highlight,h3.highlight,h4.highlight,h5.highlight,h6.highlight{border-radius:6px;position:relative;:after{content:\" \";position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px;border-radius:6px;border:5px solid ", ";}}pre{border-radius:4px;background:", ";padding:8px;margin-bottom:10px;overflow:auto;white-space:pre;position:relative;overflow:visible;*:not(p){font-weight:inherit;font-family:\"IBM Plex Mono\",monospace !important;}.content-copy-btn{position:absolute;top:0;right:0;padding:", " 0;}:hover button{opacity:1;}}.mention{border-radius:0.2em;background-color:#fff5cc;border:1px solid #fff5cc;color:#0f1621;font-weight:400;&:hover{text-decoration:none;border:1px solid #fabd24;}}.extraMention{cursor:inherit;}", " ", "}"], function (_ref2) {
181
+ })(["", " h1.highlight,h2.highlight,h3.highlight,h4.highlight,h5.highlight,h6.highlight{border-radius:6px;position:relative;:after{content:\" \";position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px;border-radius:6px;border:5px solid ", ";}}pre{border-radius:4px;background:", ";padding:8px;margin-bottom:10px;overflow:auto;white-space:pre;position:relative;overflow:visible;*:not(p){font-weight:inherit;font-family:\"IBM Plex Mono\",monospace !important;}.content-copy-btn{position:absolute;top:0;right:0;padding:", " 0;}:hover button{opacity:1;}}.mention{border-radius:0.2em;background-color:#fff5cc;border:1px solid #fff5cc;color:#0f1621;font-weight:400;&:hover{text-decoration:none;border:1px solid #fabd24;}}.extraMention{cursor:inherit;}.color-block{display:inline-block;width:18px;height:18px;margin-left:2px;transform:translateY(4px);margin-right:2px;border-radius:4px;border:1px solid var(--color-gray100);}", " ", "}"], function (_ref2) {
177
182
  var createAnchors = _ref2.createAnchors;
178
183
  return createAnchors ? "\n h1, h2, h3, h4, h5, h6 {\n display: flex;\n align-items: center;\n :hover button {\n opacity: 0.4;\n }\n }\n " : "";
179
184
  }, lighten(warn, 0.8), gray09, padding200, function (_ref3) {
@@ -183,7 +188,7 @@ var Wrapper = styled(BodyUI).attrs({
183
188
  }, function (_ref4) {
184
189
  var widgetType = _ref4.widgetType,
185
190
  inheritBrandingStyles = _ref4.inheritBrandingStyles;
186
- return widgetType === "article" && css(["h1{font-family:", ";& *{font-family:", ";}}h2{font-family:", ";& *{font-family:", ";}}h3{font-family:", ";& *{font-family:", ";}}h4,h5,h6,p,ul,ol,li,table{font-family:", ";& *{font-family:", ";}}h1{font-size:32px;line-height:1.13;margin:0 0 20px;letter-spacing:-0.75px;}h2{font-size:24px;line-height:1.17;margin:0 0 16px;letter-spacing:-0.5px;}h3{font-size:20px;line-height:1.2;margin:0 0 14px;}h4,h5,h6,p,ul,ol,li{font-size:18px;line-height:1.56;margin-bottom:13px;margin-top:0;}hr{border-color:", ";}table{width:100% !important;margin:15px 0;font-size:18px !important;text-align:left;border-collapse:collapse;border-spacing:0;thead th{background:@white;}th,td{border-width:1px;border-style:solid;border-color:", ";padding:0.5em;word-wrap:break-word;}tr:nth-child(odd){background:", ";}tr:nth-child(even){background:@white;}}table.no-borders{th,td{border:none;}tr:nth-child(odd){background:", ";}tr:nth-child(even){background:@white;}}pre{position:relative;background-color:", ";padding:1em;margin:1em 0;border-radius:4px;white-space:pre;}img,span.fr-img-caption,span.fr-video{display:block;margin:30px 0;", ";&.article-align-left{margin:30px auto;display:block;max-width:100%;", "}&.article-align-center{margin:30px auto;display:block;}&.article-align-right{margin:30px auto;display:block;max-width:100%;", "}&.article-align-overflow{margin:30px auto;display:block;max-width:100%;", " img{width:100%;}}}img{&.image-border-radius{border-radius:6px;}&.image-box-shadow{box-shadow:0 4px 16px 0 #bacad5;}}span.fr-img-caption{&.image-border-radius img{border-radius:6px;}&.image-box-shadow img{box-shadow:0 4px 16px 0 #bacad5;}}p{img:first-child,span.fr-img-caption:first-child{&.article-align-left,&.article-align-right{", "}}}span.fr-img-caption{text-align:center;img{margin:0;}.fr-inner{font-weight:400;font-size:16px;margin:8px auto 0 auto;padding:0 8px;color:", ";display:block;max-width:671px;}}span.fr-video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden;border-radius:6px;&.article-align-overflow{padding-top:170px;}iframe{position:absolute;top:0;left:0;width:100% !important;height:100% !important;}}blockquote{border-left:0 !important;padding-left:0 !important;margin:0 !important;color:inherit !important;p{line-height:30px;font-size:26px;text-align:center;margin:0 auto;}}.content-attachments{width:100%;}"], inheritBrandingStyles ? "var(--channels-h1-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-h1-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-h2-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-h2-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-h3-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-h3-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-body-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-body-font-family, revert)" : "revert", gray07, gray07, gray09, gray09, gray09, media.only.xs(_templateObject || (_templateObject = _taggedTemplateLiteral([" \n max-width: 100%;\n "]))), media.min.md(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin: 30px 30px 10px -150px;\n float: left;\n max-width: 75%;\n "]))), media.min.md(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin: 30px -150px 10px 30px;\n float: right;\n max-width: 75%;\n "]))), media.min.md(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin: 30px -150px;\n width: calc(100% + 300px) !important;\n max-width: none;\n "]))), media.min.md(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin-top: 8px;\n "]))), gray04);
191
+ return widgetType === "article" && css(["h1{font-family:", ";& *{font-family:", ";}}h2{font-family:", ";& *{font-family:", ";}}h3{font-family:", ";& *{font-family:", ";}}h4,h5,h6,p,ul,ol,li,table{font-family:", ";& *{font-family:", ";}}h1{font-size:32px;line-height:1.13;margin:0 0 20px;letter-spacing:-0.75px;}h2{font-size:24px;line-height:1.17;margin:0 0 16px;letter-spacing:-0.5px;}h3{font-size:20px;line-height:1.2;margin:0 0 14px;}h4,h5,h6,p,ul,ol,li{font-size:18px;line-height:1.56;margin-bottom:13px;margin-top:0;}hr{border-color:", ";}table{width:100% !important;margin:15px 0;font-size:18px !important;text-align:left;border-collapse:collapse;border-spacing:0;thead th{background:@white;}th,td{border-width:1px;border-style:solid;border-color:", ";padding:0.5em;word-wrap:break-word;}tr:nth-child(odd){background:", ";}tr:nth-child(even){background:@white;}}table.no-borders{th,td{border:none;}tr:nth-child(odd){background:", ";}tr:nth-child(even){background:@white;}}pre{position:relative;background-color:", ";padding:1em;margin:1em 0;border-radius:4px;white-space:pre;}img,span.fr-img-caption,span.fr-video{display:block;margin:30px auto;", ";&.article-align-left{display:block;max-width:100%;", "}&.article-align-center{display:block;}&.article-align-right{display:block;max-width:100%;", "}&.article-align-overflow{display:block;max-width:100%;", " img{width:100%;}}}img{&.image-border-radius{border-radius:6px;}&.image-box-shadow{box-shadow:0 4px 16px 0 #bacad5;}}span.fr-img-caption{&.image-border-radius img{border-radius:6px;}&.image-box-shadow img{box-shadow:0 4px 16px 0 #bacad5;}}p{img:first-child,span.fr-img-caption:first-child{&.article-align-left,&.article-align-right{", "}}}span.fr-img-caption{text-align:center;img{margin:0;}.fr-inner{font-weight:400;font-size:16px;margin:8px auto 0 auto;padding:0 8px;color:", ";display:block;max-width:671px;}}span.fr-video{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden;border-radius:6px;&.article-align-overflow{padding-top:170px;}iframe{position:absolute;top:0;left:0;width:100% !important;height:100% !important;}}blockquote{border-left:0 !important;padding-left:0 !important;margin:0 !important;color:inherit !important;p{line-height:30px;font-size:26px;text-align:center;margin:0 auto;}}.content-attachments{width:100%;}"], inheritBrandingStyles ? "var(--channels-h1-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-h1-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-h2-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-h2-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-h3-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-h3-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-body-font-family, revert)" : "revert", inheritBrandingStyles ? "var(--channels-body-font-family, revert)" : "revert", gray07, gray07, gray09, gray09, gray09, media.only.xs(_templateObject || (_templateObject = _taggedTemplateLiteral([" \n max-width: 100%;\n "]))), media.min.md(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin: 30px 30px 10px -150px;\n float: left;\n max-width: 75%;\n "]))), media.min.md(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin: 30px -150px 10px 30px;\n float: right;\n max-width: 75%;\n "]))), media.min.md(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin: 30px -150px;\n width: calc(100% + 300px) !important;\n max-width: none;\n "]))), media.min.md(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin-top: 8px;\n "]))), gray04);
187
192
  });
188
193
  ContentRenderer.propTypes = {
189
194
  content: PropTypes.string,
@@ -201,7 +206,8 @@ ContentRenderer.propTypes = {
201
206
  createAnchors: PropTypes.bool,
202
207
  forceDefaultLinkTarget: PropTypes.bool,
203
208
  useHashAutoscroll: PropTypes.bool,
204
- hashAutoscrollTopMargin: PropTypes.number
209
+ hashAutoscrollTopMargin: PropTypes.number,
210
+ addColorBlocks: PropTypes.bool
205
211
  };
206
212
  ContentRenderer.defaultProps = {
207
213
  content: "",
@@ -211,6 +217,7 @@ ContentRenderer.defaultProps = {
211
217
  createAnchors: false,
212
218
  useHashAutoscroll: true,
213
219
  forceDefaultLinkTarget: false,
214
- hashAutoscrollTopMargin: 0
220
+ hashAutoscrollTopMargin: 0,
221
+ addColorBlocks: false
215
222
  };
216
223
  export default ContentRenderer;
@@ -50,6 +50,7 @@ function getConverter() {
50
50
  converter.setOption("strikethrough", true); // <del>
51
51
  converter.setOption("tables", true); // <table>
52
52
  converter.setOption("openLinksInNewWindow", true);
53
+ converter.setOption("disableForced4SpacesIndentedSublists", true);
53
54
  return converter;
54
55
  }
55
56
  export default getConverter();
package/dist/utils.js CHANGED
@@ -42,6 +42,17 @@ var toSafeText = function toSafeText(text) {
42
42
  }).replace(/&nbsp;/g, " ").replace(/\u2060/g, ""); // Replaces a hidden character that resulted in a "?"-character in backend
43
43
  };
44
44
 
45
+ /**
46
+ * Adds spans with `color-block` class after color codes hex, rgb and rgba
47
+ */
48
+ var addColorSpanAfterColorCodes = function addColorSpanAfterColorCodes() {
49
+ var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
50
+ var colorRegex = /#(?:[0-9a-fA-F]{3}){1,2}|\brgb\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*\)|\brgba\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d*(?:\.\d+)?\s*\)/gi;
51
+ return text.replace(colorRegex, function (match) {
52
+ return "".concat(match, "<span class=\"color-block\" style=\"background-color: ").concat(match, ";\"></span>");
53
+ });
54
+ };
55
+
45
56
  /**
46
57
  * @name toHtml
47
58
  * @description Converts markdown to html, adds space to end of String
@@ -99,4 +110,4 @@ var removeSpecialCharacters = function removeSpecialCharacters() {
99
110
  str.replace(/[^\u0000-\u007E]/g, "")
100
111
  );
101
112
  };
102
- export { toHtml, toSafeText, loadCodeFont, decodeHtmlEntities, getNearestRelativeParent, removeSpecialCharacters };
113
+ export { toHtml, toSafeText, loadCodeFont, decodeHtmlEntities, getNearestRelativeParent, removeSpecialCharacters, addColorSpanAfterColorCodes };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happeouikit/content-renderer",
3
- "version": "3.1.7",
3
+ "version": "3.2.1",
4
4
  "description": "Rendering html and markdown content",
5
5
  "main": "dist/index.js",
6
6
  "module": "src/index.js",
@@ -23,8 +23,8 @@
23
23
  "linkifyjs": "^2.1.8",
24
24
  "loadjs": "^4.2.0",
25
25
  "react-dom": "^17.0.2",
26
- "showdown": "^1.9.0",
27
- "xss": "^1.0.6"
26
+ "showdown": "^2.1.0",
27
+ "xss": "^1.0.14"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "prop-types": "^15.6.2",
@@ -33,5 +33,6 @@
33
33
  },
34
34
  "publishConfig": {
35
35
  "access": "public"
36
- }
36
+ },
37
+ "gitHead": "33a36a8e3664575f6bbc4c57c5aa10c3c4efcc2c"
37
38
  }
package/CHANGELOG.md DELETED
@@ -1,243 +0,0 @@
1
- # Changelog
2
-
3
- ## 3.1.7
4
-
5
- - [Removed] styles for custom emojis
6
-
7
- ## 3.1.6
8
-
9
- - [Fixed] emoji size for all renderers
10
-
11
- ## 3.1.5
12
-
13
- - [Fixed] margin for custom-emoji
14
-
15
- ## 3.1.4
16
-
17
- - [Fixed] styles for custom-emoji
18
-
19
- ## 3.1.3
20
-
21
- - [Add] styles for custom-emoji
22
-
23
- ## 3.1.2
24
-
25
- - [Add] img type data attribute
26
-
27
- ## 3.1.1
28
-
29
- - [Remove] @universe dependencies
30
-
31
- ## 3.0.10
32
-
33
- - [Fixed] paragraph styles
34
-
35
- ## 3.0.9
36
-
37
- - [Fixed] paragraph styles
38
-
39
- ## 3.0.8
40
-
41
- - Publish
42
-
43
- ## 3.0.7
44
-
45
- - Publish
46
-
47
- ## 3.0.6
48
-
49
- - [Added] Support for user defined font families and weights
50
-
51
- ## 3.0.5
52
-
53
- - Publish
54
-
55
- ## 3.0.4
56
-
57
- - [Fixed] ContentRenderer should now render content without applying links to domain-like text.
58
- - [Updated] Updated ContentRenderer unit test with Testing Linkify hyper-link Features.
59
-
60
- ## 3.0.3
61
-
62
- - [Added] Added prop `forceDefaultLinkTarget` that will force external links with `target="_blank"` and removes `target` from internal links.
63
-
64
- ## 3.0.2
65
-
66
- - [Fixed] ContentRenderer now applies styling options from Pages
67
-
68
- ## 3.0.1
69
-
70
- - [Fixed] ContentRenderer should now deal with all kinds of xss
71
-
72
- ## 3.0.0
73
-
74
- - [Fixed] the xss converter now accepts a whiteList for CSS properties that includes vertical-align
75
- - [Updated] new dependencies updates: React 17 and and Styled Components 5
76
-
77
- ## 2.0.1
78
-
79
- - [Added] Changed type to uppercase and to handle both upper and lowercase. Add warning if lowecase is used.
80
- - [Added] Handle widgetType=`page` by removing forced styles from component.
81
-
82
- ## 2.0.0
83
-
84
- - [Breaking change] Links rendered from markdown content now always open in a new tab (not configurable).
85
-
86
- ## 1.0.48
87
-
88
- - [Fixed] Decode HTML entites causing crashes
89
-
90
- ## 1.0.46
91
-
92
- - [Fixed] Use correct font-family for all the tags inside paragraphs and list elements etc.
93
-
94
- ## 1.0.45
95
-
96
- - [Fixed] Removed some padding for tables without borders
97
-
98
- ## 1.0.44
99
-
100
- - [Fixed] Removed special characteds from content copying
101
-
102
- ## 1.0.43
103
-
104
- - [Fixed] Moved to ReactDOM for rendering extra buttons
105
- - [Added] Ability to include anchor links & buttons
106
- - [Added] Ability to auto-scroll to anchors
107
-
108
- ## 1.0.42
109
-
110
- - [Fixed] Remove bolding from links
111
-
112
- ## 1.0.37
113
-
114
- - [Fixed] Get correct parent for copy button
115
-
116
- ## 1.0.36
117
-
118
- - [Fixed] Improved code block styles
119
-
120
- ## 1.0.35
121
-
122
- - [Fixed] important fonts
123
-
124
- ## 1.0.34
125
-
126
- - [Fixed] use custom fonts for all tags inside h1, h2, h3
127
-
128
- ## 1.0.33
129
-
130
- - [Fixed] Code block
131
-
132
- ## 1.0.30
133
-
134
- - [Fixed] enforce font style to content
135
-
136
- ## 1.0.29
137
-
138
- - [Fixed] Modify blockquote styles to match froala's
139
-
140
- ## 1.0.28
141
-
142
- - [Fixed] Default image placement is now left aligned and not centered
143
- - [Fixed] Update frontend-utils dependency
144
-
145
- ## 1.0.27
146
-
147
- - [Add] Rendering of code blocks + adding copy button to code blocks
148
-
149
- ## 1.0.26
150
-
151
- - [Fixed] Embeded videos styles
152
-
153
- ## 1.0.25
154
-
155
- - [Fixed] Removed a href urls
156
-
157
- ## 1.0.24
158
-
159
- - [Fixed] fixed article CSS styles.
160
-
161
- ## 1.0.23
162
-
163
- - [Fixed] update dependencies
164
-
165
- ## 1.0.22
166
-
167
- - [Add] add some props for article content
168
-
169
- ## 1.0.21
170
-
171
- - [Fixed] stop publishing the docs
172
-
173
- ## 1.0.20
174
-
175
- - [Add] Changed some css for @channel and @editor
176
-
177
- ## 1.0.19
178
-
179
- - [Fixed] Changed @team into @channel mentioning
180
-
181
- ## 1.0.18
182
-
183
- - [Add] Support for @team and @editors mentioning.
184
-
185
- ## 1.0.17
186
-
187
- - [Fixed] Styles for heading text.
188
-
189
- ## 1.0.15
190
-
191
- - [Fixed] Type error in the mentions Showdown plugin
192
-
193
- ## 1.0.14
194
-
195
- - [Fixed] Links converted from markdown will now open in a new tab.
196
-
197
- ## 1.0.13
198
-
199
- - [Fixed] Pre element styles are now also applied to Code elements.
200
-
201
- ## 1.0.11
202
-
203
- - [Fixed] Ordered and unordered lists are now aligned, and have correct line-height.
204
-
205
- ## 1.0.10
206
-
207
- - [Fixed] List font size is now 16px.
208
-
209
- ## 1.0.8
210
-
211
- - [Added] CSS styles to mention tags.
212
-
213
- ## 1.0.7
214
-
215
- - [Fixed] Adds class to safe tags for anchor elements.
216
-
217
- ## 1.0.6
218
-
219
- - [Fixed] font stylings of p tags.
220
-
221
- ## 1.0.5
222
-
223
- - [Fixed] Missing dist
224
-
225
- ## 1.0.4
226
-
227
- - [Fixed] Package not updated
228
-
229
- ## 1.0.3
230
-
231
- - [Added] Handle user-mentio html tag
232
-
233
- ## 1.0.2
234
-
235
- - Publish
236
-
237
- ## 1.0.1
238
-
239
- - [Fixed] All children elements will now use the sans-serif font family.
240
-
241
- ## 1.0.0
242
-
243
- - Initial copy from the private kit