@mirai/core 0.4.322 → 0.4.324
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.
|
@@ -46,7 +46,7 @@ const Avatar = _ref => {
|
|
|
46
46
|
X = sensitivity * Math.cos(angle);
|
|
47
47
|
Y = sensitivity * Math.sin(angle);
|
|
48
48
|
}
|
|
49
|
-
eyes.style.transform = "translate(".concat(X, "px, ").concat(Y, "px)");
|
|
49
|
+
if (eyes.style) eyes.style.transform = "translate(".concat(X, "px, ").concat(Y, "px)");
|
|
50
50
|
};
|
|
51
51
|
window.addEventListener('mousemove', handleMouseMove);
|
|
52
52
|
return () => window.removeEventListener('mousemove', handleMouseMove);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Avatar","_ref","disabled","image","small","others","el","useRef","useEffect","handleMouseMove","_ref2","clientX","clientY","current","eyes","X","Y","height","left","top","width","getBoundingClientRect","centerX","centerY","angle","Math","atan2","sensitivity","cos","sin","transform","concat","window","addEventListener","removeEventListener","createElement","View","className","styles","avatar","backgroundImage","undefined","Fragment","face","ref","eye","right","exports","propTypes","PropTypes","bool","string"],"sources":["../../../../../src/components/Chat/components/Avatar/Avatar.jsx"],"sourcesContent":["import { styles, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport * as style from './Avatar.module.css';\n\nconst Avatar = ({ disabled, image, small, ...others }) => {\n const el = useRef();\n\n useEffect(() => {\n if (disabled || !!image) return;\n\n const handleMouseMove = ({ clientX = 0, clientY = 0 }) => {\n const { current: eyes } = el;\n let X = 0;\n let Y = 0;\n\n if (eyes && !disabled) {\n const { height, left, top, width } = eyes.getBoundingClientRect();\n const centerX = left + width / 2;\n const centerY = top + height / 2;\n const angle = Math.atan2(clientY - centerY, clientX - centerX);\n const sensitivity = small ? 2 : 4;\n\n X = sensitivity * Math.cos(angle);\n Y = sensitivity * Math.sin(angle);\n }\n\n eyes.style.transform = `translate(${X}px, ${Y}px)`;\n };\n\n window.addEventListener('mousemove', handleMouseMove);\n\n return () => window.removeEventListener('mousemove', handleMouseMove);\n }, [disabled, image, el, small]);\n\n return (\n <View\n {...others}\n className={styles(image ? style.image : style.avatar, small && style.small, others.className)}\n style={image ? { backgroundImage: `url(${image})` } : undefined}\n >\n {!image && (\n <>\n <View className={style.face} />\n <View ref={el} className={style.eyes}>\n <View className={[style.eye, style.left]} />\n <View className={[style.eye, style.right]} />\n </View>\n </>\n )}\n </View>\n );\n};\n\nAvatar.propTypes = {\n disabled: PropTypes.bool,\n image: PropTypes.string,\n small: PropTypes.bool,\n};\n\nexport { Avatar };\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Avatar.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Avatar","_ref","disabled","image","small","others","el","useRef","useEffect","handleMouseMove","_ref2","clientX","clientY","current","eyes","X","Y","height","left","top","width","getBoundingClientRect","centerX","centerY","angle","Math","atan2","sensitivity","cos","sin","transform","concat","window","addEventListener","removeEventListener","createElement","View","className","styles","avatar","backgroundImage","undefined","Fragment","face","ref","eye","right","exports","propTypes","PropTypes","bool","string"],"sources":["../../../../../src/components/Chat/components/Avatar/Avatar.jsx"],"sourcesContent":["import { styles, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport * as style from './Avatar.module.css';\n\nconst Avatar = ({ disabled, image, small, ...others }) => {\n const el = useRef();\n\n useEffect(() => {\n if (disabled || !!image) return;\n\n const handleMouseMove = ({ clientX = 0, clientY = 0 }) => {\n const { current: eyes } = el;\n let X = 0;\n let Y = 0;\n\n if (eyes && !disabled) {\n const { height, left, top, width } = eyes.getBoundingClientRect();\n const centerX = left + width / 2;\n const centerY = top + height / 2;\n const angle = Math.atan2(clientY - centerY, clientX - centerX);\n const sensitivity = small ? 2 : 4;\n\n X = sensitivity * Math.cos(angle);\n Y = sensitivity * Math.sin(angle);\n }\n\n if (eyes.style) eyes.style.transform = `translate(${X}px, ${Y}px)`;\n };\n\n window.addEventListener('mousemove', handleMouseMove);\n\n return () => window.removeEventListener('mousemove', handleMouseMove);\n }, [disabled, image, el, small]);\n\n return (\n <View\n {...others}\n className={styles(image ? style.image : style.avatar, small && style.small, others.className)}\n style={image ? { backgroundImage: `url(${image})` } : undefined}\n >\n {!image && (\n <>\n <View className={style.face} />\n <View ref={el} className={style.eyes}>\n <View className={[style.eye, style.left]} />\n <View className={[style.eye, style.right]} />\n </View>\n </>\n )}\n </View>\n );\n};\n\nAvatar.propTypes = {\n disabled: PropTypes.bool,\n image: PropTypes.string,\n small: PropTypes.bool,\n};\n\nexport { Avatar };\n"],"mappings":"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"}
|
|
@@ -48,6 +48,14 @@ const parseHtml = function () {
|
|
|
48
48
|
fontWeight: 'var(--mirai-ui-font-bold-weight)'
|
|
49
49
|
}
|
|
50
50
|
}, traverseNodes(childNodes)));
|
|
51
|
+
} else if (tagName === 'SPAN') {
|
|
52
|
+
components.push( /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
53
|
+
key,
|
|
54
|
+
small,
|
|
55
|
+
style: {
|
|
56
|
+
display: 'inline'
|
|
57
|
+
}
|
|
58
|
+
}, traverseNodes(childNodes)));
|
|
51
59
|
} else if (tagName === 'A') {
|
|
52
60
|
const href = node.getAttribute('href');
|
|
53
61
|
components.push( /*#__PURE__*/_react.default.createElement(href ? _ui.Action : _react.default.Fragment, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseHtml.js","names":["_ui","require","_react","_interopRequireDefault","obj","__esModule","default","parseHtml","html","arguments","length","undefined","small","parser","DOMParser","body","parseFromString","querySelector","traverseNodes","nodes","components","forEach","node","index","childNodes","nodeType","tagName","textContent","key","concat","Node","TEXT_NODE","push","ELEMENT_NODE","React","createElement","Text","wide","View","style","display","fontWeight","href","getAttribute","Action","Fragment","target","exports"],"sources":["../../../src/components/helpers/parseHtml.js"],"sourcesContent":["import { Action, Text, View } from '@mirai/ui';\nimport React from 'react';\n\nexport const parseHtml = (html = '', { small } = {}) => {\n const parser = new DOMParser();\n const body = parser.parseFromString(html, 'text/html').querySelector('body');\n\n const traverseNodes = (nodes = []) => {\n const components = [];\n\n nodes.forEach((node, index) => {\n const { childNodes, nodeType, tagName, textContent } = node;\n const key = `${tagName}${index}`;\n\n if (nodeType === Node.TEXT_NODE) {\n components.push(textContent);\n } else if (nodeType === Node.ELEMENT_NODE) {\n if (tagName === 'P') {\n components.push(React.createElement(Text, { key, small, wide: true }, traverseNodes(childNodes)));\n } else if (tagName === 'BR') {\n components.push(React.createElement(View, { key, wide: true }));\n } else if (tagName === 'B') {\n components.push(\n React.createElement(\n Text,\n { key, small, style: { display: 'inline', fontWeight: 'var(--mirai-ui-font-bold-weight)' } },\n traverseNodes(childNodes),\n ),\n );\n } else if (tagName === 'A') {\n const href = node.getAttribute('href');\n components.push(\n React.createElement(\n href ? Action : React.Fragment,\n {\n ...(href ? { href, small, style: { display: 'inline-flex' }, target: '_blank' } : undefined),\n key,\n },\n textContent,\n ),\n );\n }\n } else {\n traverseNodes(childNodes);\n }\n });\n\n return components;\n };\n\n return traverseNodes(body.childNodes);\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parseHtml.js","names":["_ui","require","_react","_interopRequireDefault","obj","__esModule","default","parseHtml","html","arguments","length","undefined","small","parser","DOMParser","body","parseFromString","querySelector","traverseNodes","nodes","components","forEach","node","index","childNodes","nodeType","tagName","textContent","key","concat","Node","TEXT_NODE","push","ELEMENT_NODE","React","createElement","Text","wide","View","style","display","fontWeight","href","getAttribute","Action","Fragment","target","exports"],"sources":["../../../src/components/helpers/parseHtml.js"],"sourcesContent":["import { Action, Text, View } from '@mirai/ui';\nimport React from 'react';\n\nexport const parseHtml = (html = '', { small } = {}) => {\n const parser = new DOMParser();\n const body = parser.parseFromString(html, 'text/html').querySelector('body');\n\n const traverseNodes = (nodes = []) => {\n const components = [];\n\n nodes.forEach((node, index) => {\n const { childNodes, nodeType, tagName, textContent } = node;\n const key = `${tagName}${index}`;\n\n if (nodeType === Node.TEXT_NODE) {\n components.push(textContent);\n } else if (nodeType === Node.ELEMENT_NODE) {\n if (tagName === 'P') {\n components.push(React.createElement(Text, { key, small, wide: true }, traverseNodes(childNodes)));\n } else if (tagName === 'BR') {\n components.push(React.createElement(View, { key, wide: true }));\n } else if (tagName === 'B') {\n components.push(\n React.createElement(\n Text,\n { key, small, style: { display: 'inline', fontWeight: 'var(--mirai-ui-font-bold-weight)' } },\n traverseNodes(childNodes),\n ),\n );\n } else if (tagName === 'SPAN') {\n components.push(\n React.createElement(Text, { key, small, style: { display: 'inline' } }, traverseNodes(childNodes)),\n );\n } else if (tagName === 'A') {\n const href = node.getAttribute('href');\n components.push(\n React.createElement(\n href ? Action : React.Fragment,\n {\n ...(href ? { href, small, style: { display: 'inline-flex' }, target: '_blank' } : undefined),\n key,\n },\n textContent,\n ),\n );\n }\n } else {\n traverseNodes(childNodes);\n }\n });\n\n return components;\n };\n\n return traverseNodes(body.childNodes);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnB,MAAMG,SAAS,GAAG,SAAAA,CAAA,EAA+B;EAAA,IAA9BC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAAE;IAAEG;EAAM,CAAC,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACjD,MAAMI,MAAM,GAAG,IAAIC,SAAS,CAAC,CAAC;EAC9B,MAAMC,IAAI,GAAGF,MAAM,CAACG,eAAe,CAACR,IAAI,EAAE,WAAW,CAAC,CAACS,aAAa,CAAC,MAAM,CAAC;EAE5E,MAAMC,aAAa,GAAG,SAAAA,CAAA,EAAgB;IAAA,IAAfC,KAAK,GAAAV,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAC/B,MAAMW,UAAU,GAAG,EAAE;IAErBD,KAAK,CAACE,OAAO,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;MAC7B,MAAM;QAAEC,UAAU;QAAEC,QAAQ;QAAEC,OAAO;QAAEC;MAAY,CAAC,GAAGL,IAAI;MAC3D,MAAMM,GAAG,MAAAC,MAAA,CAAMH,OAAO,EAAAG,MAAA,CAAGN,KAAK,CAAE;MAEhC,IAAIE,QAAQ,KAAKK,IAAI,CAACC,SAAS,EAAE;QAC/BX,UAAU,CAACY,IAAI,CAACL,WAAW,CAAC;MAC9B,CAAC,MAAM,IAAIF,QAAQ,KAAKK,IAAI,CAACG,YAAY,EAAE;QACzC,IAAIP,OAAO,KAAK,GAAG,EAAE;UACnBN,UAAU,CAACY,IAAI,eAACE,cAAK,CAACC,aAAa,CAACC,QAAI,EAAE;YAAER,GAAG;YAAEhB,KAAK;YAAEyB,IAAI,EAAE;UAAK,CAAC,EAAEnB,aAAa,CAACM,UAAU,CAAC,CAAC,CAAC;QACnG,CAAC,MAAM,IAAIE,OAAO,KAAK,IAAI,EAAE;UAC3BN,UAAU,CAACY,IAAI,eAACE,cAAK,CAACC,aAAa,CAACG,QAAI,EAAE;YAAEV,GAAG;YAAES,IAAI,EAAE;UAAK,CAAC,CAAC,CAAC;QACjE,CAAC,MAAM,IAAIX,OAAO,KAAK,GAAG,EAAE;UAC1BN,UAAU,CAACY,IAAI,eACbE,cAAK,CAACC,aAAa,CACjBC,QAAI,EACJ;YAAER,GAAG;YAAEhB,KAAK;YAAE2B,KAAK,EAAE;cAAEC,OAAO,EAAE,QAAQ;cAAEC,UAAU,EAAE;YAAmC;UAAE,CAAC,EAC5FvB,aAAa,CAACM,UAAU,CAC1B,CACF,CAAC;QACH,CAAC,MAAM,IAAIE,OAAO,KAAK,MAAM,EAAE;UAC7BN,UAAU,CAACY,IAAI,eACbE,cAAK,CAACC,aAAa,CAACC,QAAI,EAAE;YAAER,GAAG;YAAEhB,KAAK;YAAE2B,KAAK,EAAE;cAAEC,OAAO,EAAE;YAAS;UAAE,CAAC,EAAEtB,aAAa,CAACM,UAAU,CAAC,CACnG,CAAC;QACH,CAAC,MAAM,IAAIE,OAAO,KAAK,GAAG,EAAE;UAC1B,MAAMgB,IAAI,GAAGpB,IAAI,CAACqB,YAAY,CAAC,MAAM,CAAC;UACtCvB,UAAU,CAACY,IAAI,eACbE,cAAK,CAACC,aAAa,CACjBO,IAAI,GAAGE,UAAM,GAAGV,cAAK,CAACW,QAAQ,EAC9B;YACE,IAAIH,IAAI,GAAG;cAAEA,IAAI;cAAE9B,KAAK;cAAE2B,KAAK,EAAE;gBAAEC,OAAO,EAAE;cAAc,CAAC;cAAEM,MAAM,EAAE;YAAS,CAAC,GAAGnC,SAAS,CAAC;YAC5FiB;UACF,CAAC,EACDD,WACF,CACF,CAAC;QACH;MACF,CAAC,MAAM;QACLT,aAAa,CAACM,UAAU,CAAC;MAC3B;IACF,CAAC,CAAC;IAEF,OAAOJ,UAAU;EACnB,CAAC;EAED,OAAOF,aAAa,CAACH,IAAI,CAACS,UAAU,CAAC;AACvC,CAAC;AAACuB,OAAA,CAAAxC,SAAA,GAAAA,SAAA"}
|