neko-ui 2.9.2 → 2.9.3
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/es/code/index.d.ts +6 -2
- package/es/code/index.js +1 -1
- package/es/code/index.js.map +1 -1
- package/es/code/style.js +1 -1
- package/es/code/style.js.map +1 -1
- package/es/md/index.js +1 -1
- package/es/md/index.js.map +1 -1
- package/es/prism/index.d.ts +0 -1
- package/es/prism/index.js +1 -1
- package/es/prism/index.js.map +1 -1
- package/lib/code/index.d.ts +6 -2
- package/lib/code/index.js +1 -1
- package/lib/code/index.js.map +1 -1
- package/lib/code/style.js +1 -1
- package/lib/code/style.js.map +1 -1
- package/lib/md/index.js +1 -1
- package/lib/md/index.js.map +1 -1
- package/lib/prism/index.d.ts +0 -1
- package/lib/prism/index.js +1 -1
- package/lib/prism/index.js.map +1 -1
- package/package.json +5 -5
- package/umd/index.js +1 -1
package/lib/md/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return g}});const e=require("solid-js/web"),t=require("solid-js"),r=l(require("@moneko/common/lib/frameCallback")),n=require("@moneko/css"),o=require("solid-element"),a=require("../basic-config"),i=l(require("../md-style")),c=u(require("../theme"));function l(e){return e&&e.__esModule?e:{default:e}}function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}function u(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}require("../code"),require("../img");const d=(0,e.template)("<style> "),f=(0,e.template)("<style>"),h=(0,e.template)('<article class="n-md-box" part="box"><div class="n-md-body" part="body">'),p=(0,e.template)('<article part="box">');function m(o){let a,l;let{baseStyle:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return g}});const e=require("solid-js/web"),t=require("solid-js"),r=l(require("@moneko/common/lib/frameCallback")),n=require("@moneko/css"),o=require("solid-element"),a=require("../basic-config"),i=l(require("../md-style")),c=u(require("../theme"));function l(e){return e&&e.__esModule?e:{default:e}}function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}function u(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}require("../code"),require("../img");const d=(0,e.template)("<style> "),f=(0,e.template)("<style>"),h=(0,e.template)('<article class="n-md-box" part="box"><div class="n-md-body" part="body">'),p=(0,e.template)('<article part="box">');function m(o){let a,l;let s=/<[^>]+>/,{baseStyle:m}=c.default,g=(0,t.mergeProps)({webWorker:!1,pictureViewer:!0,lazyPicture:!0,text:"",tools:["copy"],getAnchorContainer:()=>window},o);function v(){return new Worker("https://cdn.jsdelivr.net/npm/neko-ui@latest/es/md/worker.js")}let b=g.webWorker?v():void 0;function y(e){l&&(l.innerHTML=e.data)}async function w(e){let{text:t,pictureViewer:r,lazyPicture:n,langToolbar:o,...i}=e,c=(await Promise.resolve().then(()=>u(require("marked-completed")))).default;a||((a=new c.Renderer).katexBlock=e=>`<n-katex display-mode="true">${e}</n-katex>`,a.katexInline=e=>`<n-katex>${e}</n-katex>`),a.image=(e,t,o)=>`<n-img lazy="${n}" disabled="${!r}" role="img" src="${e}" alt="${o}" ${t?`title="${t}"`:""}></n-img>`;let l=!!o?.length;a.code=function(e,t){if("treeview"===t)return`<n-tree data="${e}" />`;let r=s.test(e)?encodeURIComponent(e):e;return`<n-code class="n-code" toolbar="${l}" language="${t}">${r}</n-code>`},y({data:c(t,{renderer:a,langToolbar:o,headerPrefix:"# ",breaks:!0,pedantic:!1,smartLists:!0,smartypants:!0,xhtml:!0,...i})})}(0,t.createEffect)(()=>{g.webWorker&&(b||(b=v()),b.addEventListener("message",y))}),(0,t.createEffect)(()=>{b?b.postMessage(JSON.stringify({text:g.text,langToolbar:g.tools,pictureViewer:g.pictureViewer,lazyPicture:g.lazyPicture})):(0,r.default)(()=>w({text:g.text,langToolbar:g.tools,pictureViewer:g.pictureViewer,lazyPicture:g.lazyPicture}))}),(0,t.onCleanup)(()=>{b&&(b.removeEventListener("message",y),b.terminate())});let x=[],k=[],C=[];function P(e){e.preventDefault(),e.stopPropagation();let t=e.target;t.hash?(l?.querySelector(decodeURIComponent(t.hash))?.scrollIntoView({behavior:"smooth",block:"nearest"}),x.forEach(e=>{e.classList.remove("active")}),t.classList.add("active")):window.open(t.href)}function E(e){e.forEach(e=>{let t;let r=e.target.getAttribute("id"),n=e.target.querySelectorAll("a");if(x.forEach(e=>{e.hash===`#${r}`?t=e:e.hash||n.forEach(r=>{r.href===e.href&&(t=e)})}),t){let r=C.indexOf(t);C.forEach(e=>{e.classList.remove("active")}),e.isIntersecting?C.push(t):-1!==r&&C.splice(r,1),C[0]&&(C[0].classList.add("active"),C[0].offsetParent?.scrollTo({top:C[0].offsetTop}))}})}return(0,t.createEffect)(()=>{let e;l&&g.text.startsWith("[TOC]")&&(x=[...l.querySelectorAll(".n-md-toc a[href]")],k=[...l.querySelectorAll("h1, h2, h3, h4, h5, h6")],e=new IntersectionObserver(E,{rootMargin:"-50px 0px",threshold:.5}),k.forEach(t=>{e.observe(t)}),x.forEach(e=>{e.addEventListener("click",P)})),(0,t.onCleanup)(()=>{e&&(k.forEach(t=>{e.unobserve(t)}),e.disconnect()),x.forEach(e=>{e.removeEventListener("click",P)})})}),[(()=>{let t=d(),r=t.firstChild;return(0,e.effect)(()=>r.data=m()),t})(),(()=>{let e=f();return e.textContent=i.default,e})(),(0,e.createComponent)(t.Show,{get when(){return g.css},get children(){let t=d(),r=t.firstChild;return(0,e.effect)(()=>r.data=(0,n.css)(g.css)),t}}),(0,e.createComponent)(t.Switch,{get children(){return[(0,e.createComponent)(t.Match,{get when(){return(g.children||[]).length>0},get children(){let r=h(),n=r.firstChild;return(0,e.insert)(n,(0,e.createComponent)(t.For,{get each(){return g.children},children:e=>e})),r}}),(0,e.createComponent)(t.Match,{get when(){return g.text},get children(){let t=p(),r=l;return"function"==typeof r?(0,e.use)(r,t):l=t,(0,e.effect)(()=>(0,e.className)(t,(0,n.cx)("n-md-box",g.class))),t}})]}})]}(0,o.customElement)("n-md",{class:void 0,pictureViewer:void 0,lazyPicture:void 0,text:void 0,tools:void 0,getAnchorContainer:void 0,css:void 0,children:void 0,notRender:void 0,webWorker:void 0},(r,n)=>{let o=n.element,i=(0,t.mergeProps)({text:!r.notRender&&o.textContent||o.text,css:o.css,tools:o.tools,getAnchorContainer:o.getAnchorContainer},r);return(0,t.createEffect)(()=>{(0,a.clearAttribute)(o,["css","text"]),o.replaceChildren()}),[(()=>{let e=f();return e.textContent=c.block,e})(),(0,e.createComponent)(m,i)]});const g=m;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib/md/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../components/md/index.tsx"],"sourcesContent":["import { createEffect, For, Match, mergeProps, onCleanup, Show, Switch } from 'solid-js';\nimport { frameCallback } from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement } from '..';\nimport { clearAttribute } from '../basic-config';\nimport mdStyle from '../md-style';\nimport theme, { block } from '../theme';\n\nimport '../code';\nimport '../img';\n\nfunction MD(_props: MdProps) {\n let renderer: marked.Renderer | undefined;\n let ref: HTMLDivElement | undefined;\n const { baseStyle } = theme;\n const props = mergeProps(\n {\n webWorker: false,\n pictureViewer: true,\n lazyPicture: true,\n text: '',\n tools: ['copy'],\n getAnchorContainer: () => window as unknown as HTMLElement,\n },\n _props,\n );\n\n function initWorker() {\n return new Worker('https://cdn.jsdelivr.net/npm/neko-ui@latest/es/md/worker.js');\n }\n // eslint-disable-next-line solid/reactivity\n let worker: Worker | undefined = props.webWorker ? initWorker() : void 0;\n\n function update(e: { data: string }) {\n if (ref) {\n ref.innerHTML = e.data;\n }\n }\n async function postMessage(opt: {\n text: string;\n pictureViewer?: boolean;\n lazyPicture?: boolean;\n langToolbar?: string[];\n }) {\n const { text, pictureViewer, lazyPicture, langToolbar, ...options } = opt;\n const marked = (await import('marked-completed')).default;\n\n if (!renderer) {\n renderer = new marked.Renderer();\n\n renderer.katexBlock = (code: string) => {\n return `<n-katex display-mode=\"true\">${code}</n-katex>`;\n };\n renderer.katexInline = (code: string) => {\n return `<n-katex>${code}</n-katex>`;\n };\n }\n\n renderer.image = (src: string, title: string, alt: string) => {\n return `<n-img lazy=\"${lazyPicture}\" disabled=\"${!pictureViewer}\" role=\"img\" src=\"${src}\" alt=\"${alt}\" ${title ? `title=\"${title}\"` : ''}></n-img>`;\n };\n const toolbar = !!langToolbar?.length;\n\n renderer.code = function (code: string, lang: string) {\n if (lang === 'treeview') {\n return `<n-tree data=\"${code}\" />`;\n }\n\n return `<n-code class=\"n-code\" toolbar=\"${toolbar}\" language=\"${lang}\">${code}</n-code>`;\n };\n\n update({\n data: marked(text, {\n renderer: renderer,\n langToolbar: langToolbar,\n headerPrefix: '# ',\n breaks: true,\n pedantic: false,\n smartLists: true,\n smartypants: true,\n xhtml: true,\n ...options,\n }),\n });\n }\n createEffect(() => {\n if (props.webWorker) {\n if (!worker) {\n worker = initWorker();\n }\n worker.addEventListener('message', update);\n }\n });\n\n createEffect(() => {\n if (worker) {\n worker.postMessage(\n JSON.stringify({\n text: props.text,\n langToolbar: props.tools,\n pictureViewer: props.pictureViewer,\n lazyPicture: props.lazyPicture,\n }),\n );\n } else {\n const call = () =>\n postMessage({\n text: props.text,\n langToolbar: props.tools,\n pictureViewer: props.pictureViewer,\n lazyPicture: props.lazyPicture,\n });\n\n frameCallback(call);\n }\n });\n onCleanup(() => {\n if (worker) {\n worker.removeEventListener('message', update);\n worker.terminate();\n }\n });\n let list: HTMLAnchorElement[] = [];\n let heading: HTMLHeadingElement[] = [];\n const active: HTMLAnchorElement[] = [];\n\n function handleAnchor(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n const a = e.target as HTMLAnchorElement;\n\n if (a.hash) {\n ref?.querySelector(decodeURIComponent(a.hash))?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n });\n list.forEach((item) => {\n item.classList.remove('active');\n });\n a.classList.add('active');\n } else {\n window.open(a.href);\n }\n }\n function observerEntry(entries: IntersectionObserverEntry[]) {\n entries.forEach((entry) => {\n const id = entry.target.getAttribute('id');\n const all = entry.target.querySelectorAll('a');\n let a: HTMLAnchorElement | undefined;\n\n list.forEach((l) => {\n if (l.hash === `#${id}`) {\n a = l;\n } else if (!l.hash) {\n all.forEach((e) => {\n if (e.href === l.href) {\n a = l;\n }\n });\n }\n });\n if (a) {\n const idx = active.indexOf(a);\n\n active.forEach((e) => {\n e.classList.remove('active');\n });\n if (entry.isIntersecting) {\n active.push(a);\n } else if (idx !== -1) {\n active.splice(idx, 1);\n }\n if (active[0]) {\n active[0].classList.add('active');\n active[0].offsetParent?.scrollTo({\n top: active[0].offsetTop,\n });\n }\n }\n });\n }\n createEffect(() => {\n let observer: IntersectionObserver;\n\n if (ref && props.text.startsWith('[TOC]')) {\n list = [...ref.querySelectorAll<HTMLAnchorElement>('.n-md-toc a[href]')];\n heading = [...ref.querySelectorAll<HTMLHeadingElement>('h1, h2, h3, h4, h5, h6')];\n observer = new IntersectionObserver(observerEntry, {\n rootMargin: '-50px 0px',\n threshold: 0.5,\n });\n heading.forEach((e) => {\n observer.observe(e);\n });\n list.forEach((e) => {\n e.addEventListener('click', handleAnchor);\n });\n }\n onCleanup(() => {\n if (observer) {\n heading.forEach((e) => {\n observer.unobserve(e);\n });\n observer.disconnect();\n }\n list.forEach((e) => {\n e.removeEventListener('click', handleAnchor);\n });\n });\n });\n\n return (\n <>\n <style textContent={baseStyle()} />\n <style textContent={mdStyle} />\n <Show when={props.css}>\n <style textContent={css(props.css)} />\n </Show>\n <Switch>\n <Match when={(props.children || []).length > 0}>\n <article class=\"n-md-box\" part=\"box\">\n <div class=\"n-md-body\" part=\"body\">\n <For each={props.children as []}>{(e) => e}</For>\n </div>\n </article>\n </Match>\n <Match when={props.text}>\n <article ref={ref} class={cx('n-md-box', props.class)} part=\"box\" />\n </Match>\n </Switch>\n </>\n );\n}\n\nexport interface MdProps {\n /** 自定义类名 */\n class?: string;\n /** 自定义样式表 */\n css?: string;\n /** md内容 */\n text?: string;\n /** 开启图片查看器\n * @since 2.0.8\n * @default true\n */\n pictureViewer?: boolean;\n /** 开启图片懒加载\n * @since 2.8.3\n * @default true\n */\n lazyPicture?: boolean;\n /** 开启代码块工具条\n * @default ['copy']\n */\n tools?: 'copy'[];\n /** 指定滚动的容器\n * @default () => window\n */\n getAnchorContainer?: () => HTMLElement;\n /** 不进行解析\n * @default false\n */\n notRender?: boolean;\n children?: JSX.Element;\n /**\n * 使用 web worker\n */\n webWorker?: boolean;\n}\n\nexport type MdElement = CustomElement<MdProps>;\n\ncustomElement<MdProps>(\n 'n-md',\n {\n class: void 0,\n pictureViewer: void 0,\n lazyPicture: void 0,\n text: void 0,\n tools: void 0,\n getAnchorContainer: void 0,\n css: void 0,\n children: void 0,\n notRender: void 0,\n webWorker: void 0,\n },\n (_, opt) => {\n const el = opt.element;\n const props = mergeProps(\n {\n text: (!_.notRender && el.textContent) || el.text,\n css: el.css,\n tools: el.tools,\n getAnchorContainer: el.getAnchorContainer,\n },\n _,\n );\n\n createEffect(() => {\n clearAttribute(el, ['css', 'text']);\n el.replaceChildren();\n });\n return (\n <>\n <style textContent={block} />\n <MD {...props} />\n </>\n );\n },\n);\nexport default MD;\n"],"names":["MD","_props","renderer","ref","baseStyle","theme","props","mergeProps","webWorker","pictureViewer","lazyPicture","text","tools","getAnchorContainer","window","initWorker","Worker","worker","update","e","innerHTML","data","postMessage","opt","langToolbar","options","marked","default","Renderer","katexBlock","code","katexInline","image","src","title","alt","toolbar","length","lang","headerPrefix","breaks","pedantic","smartLists","smartypants","xhtml","createEffect","addEventListener","JSON","stringify","frameCallback","onCleanup","removeEventListener","terminate","list","heading","active","handleAnchor","preventDefault","stopPropagation","a","target","hash","querySelector","decodeURIComponent","scrollIntoView","behavior","block","forEach","item","classList","remove","add","open","href","observerEntry","entries","entry","id","getAttribute","all","querySelectorAll","l","idx","indexOf","isIntersecting","push","splice","offsetParent","scrollTo","top","offsetTop","observer","startsWith","IntersectionObserver","rootMargin","threshold","observe","unobserve","disconnect","mdStyle","Show","css","Switch","Match","children","For","cx","class","customElement","notRender","_","el","element","textContent","clearAttribute","replaceChildren"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../components/md/index.tsx"],"sourcesContent":["import { createEffect, For, Match, mergeProps, onCleanup, Show, Switch } from 'solid-js';\nimport { frameCallback } from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement } from '..';\nimport { clearAttribute } from '../basic-config';\nimport mdStyle from '../md-style';\nimport theme, { block } from '../theme';\n\nimport '../code';\nimport '../img';\n\nfunction MD(_props: MdProps) {\n let renderer: marked.Renderer | undefined;\n let ref: HTMLDivElement | undefined;\n const needEndod = /<[^>]+>/;\n const { baseStyle } = theme;\n const props = mergeProps(\n {\n webWorker: false,\n pictureViewer: true,\n lazyPicture: true,\n text: '',\n tools: ['copy'],\n getAnchorContainer: () => window as unknown as HTMLElement,\n },\n _props,\n );\n\n function initWorker() {\n return new Worker('https://cdn.jsdelivr.net/npm/neko-ui@latest/es/md/worker.js');\n }\n // eslint-disable-next-line solid/reactivity\n let worker: Worker | undefined = props.webWorker ? initWorker() : void 0;\n\n function update(e: { data: string }) {\n if (ref) {\n ref.innerHTML = e.data;\n }\n }\n async function postMessage(opt: {\n text: string;\n pictureViewer?: boolean;\n lazyPicture?: boolean;\n langToolbar?: string[];\n }) {\n const { text, pictureViewer, lazyPicture, langToolbar, ...options } = opt;\n const marked = (await import('marked-completed')).default;\n\n if (!renderer) {\n renderer = new marked.Renderer();\n\n renderer.katexBlock = (code: string) => {\n return `<n-katex display-mode=\"true\">${code}</n-katex>`;\n };\n renderer.katexInline = (code: string) => {\n return `<n-katex>${code}</n-katex>`;\n };\n }\n\n renderer.image = (src: string, title: string, alt: string) => {\n return `<n-img lazy=\"${lazyPicture}\" disabled=\"${!pictureViewer}\" role=\"img\" src=\"${src}\" alt=\"${alt}\" ${title ? `title=\"${title}\"` : ''}></n-img>`;\n };\n const toolbar = !!langToolbar?.length;\n\n renderer.code = function (code: string, lang: string) {\n if (lang === 'treeview') {\n return `<n-tree data=\"${code}\" />`;\n }\n const source = needEndod.test(code) ? encodeURIComponent(code) : code;\n\n return `<n-code class=\"n-code\" toolbar=\"${toolbar}\" language=\"${lang}\">${source}</n-code>`;\n };\n\n update({\n data: marked(text, {\n renderer: renderer,\n langToolbar: langToolbar,\n headerPrefix: '# ',\n breaks: true,\n pedantic: false,\n smartLists: true,\n smartypants: true,\n xhtml: true,\n ...options,\n }),\n });\n }\n createEffect(() => {\n if (props.webWorker) {\n if (!worker) {\n worker = initWorker();\n }\n worker.addEventListener('message', update);\n }\n });\n\n createEffect(() => {\n if (worker) {\n worker.postMessage(\n JSON.stringify({\n text: props.text,\n langToolbar: props.tools,\n pictureViewer: props.pictureViewer,\n lazyPicture: props.lazyPicture,\n }),\n );\n } else {\n const call = () =>\n postMessage({\n text: props.text,\n langToolbar: props.tools,\n pictureViewer: props.pictureViewer,\n lazyPicture: props.lazyPicture,\n });\n\n frameCallback(call);\n }\n });\n onCleanup(() => {\n if (worker) {\n worker.removeEventListener('message', update);\n worker.terminate();\n }\n });\n let list: HTMLAnchorElement[] = [];\n let heading: HTMLHeadingElement[] = [];\n const active: HTMLAnchorElement[] = [];\n\n function handleAnchor(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n const a = e.target as HTMLAnchorElement;\n\n if (a.hash) {\n ref?.querySelector(decodeURIComponent(a.hash))?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n });\n list.forEach((item) => {\n item.classList.remove('active');\n });\n a.classList.add('active');\n } else {\n window.open(a.href);\n }\n }\n function observerEntry(entries: IntersectionObserverEntry[]) {\n entries.forEach((entry) => {\n const id = entry.target.getAttribute('id');\n const all = entry.target.querySelectorAll('a');\n let a: HTMLAnchorElement | undefined;\n\n list.forEach((l) => {\n if (l.hash === `#${id}`) {\n a = l;\n } else if (!l.hash) {\n all.forEach((e) => {\n if (e.href === l.href) {\n a = l;\n }\n });\n }\n });\n if (a) {\n const idx = active.indexOf(a);\n\n active.forEach((e) => {\n e.classList.remove('active');\n });\n if (entry.isIntersecting) {\n active.push(a);\n } else if (idx !== -1) {\n active.splice(idx, 1);\n }\n if (active[0]) {\n active[0].classList.add('active');\n active[0].offsetParent?.scrollTo({\n top: active[0].offsetTop,\n });\n }\n }\n });\n }\n createEffect(() => {\n let observer: IntersectionObserver;\n\n if (ref && props.text.startsWith('[TOC]')) {\n list = [...ref.querySelectorAll<HTMLAnchorElement>('.n-md-toc a[href]')];\n heading = [...ref.querySelectorAll<HTMLHeadingElement>('h1, h2, h3, h4, h5, h6')];\n observer = new IntersectionObserver(observerEntry, {\n rootMargin: '-50px 0px',\n threshold: 0.5,\n });\n heading.forEach((e) => {\n observer.observe(e);\n });\n list.forEach((e) => {\n e.addEventListener('click', handleAnchor);\n });\n }\n onCleanup(() => {\n if (observer) {\n heading.forEach((e) => {\n observer.unobserve(e);\n });\n observer.disconnect();\n }\n list.forEach((e) => {\n e.removeEventListener('click', handleAnchor);\n });\n });\n });\n\n return (\n <>\n <style textContent={baseStyle()} />\n <style textContent={mdStyle} />\n <Show when={props.css}>\n <style textContent={css(props.css)} />\n </Show>\n <Switch>\n <Match when={(props.children || []).length > 0}>\n <article class=\"n-md-box\" part=\"box\">\n <div class=\"n-md-body\" part=\"body\">\n <For each={props.children as []}>{(e) => e}</For>\n </div>\n </article>\n </Match>\n <Match when={props.text}>\n <article ref={ref} class={cx('n-md-box', props.class)} part=\"box\" />\n </Match>\n </Switch>\n </>\n );\n}\n\nexport interface MdProps {\n /** 自定义类名 */\n class?: string;\n /** 自定义样式表 */\n css?: string;\n /** md内容 */\n text?: string;\n /** 开启图片查看器\n * @since 2.0.8\n * @default true\n */\n pictureViewer?: boolean;\n /** 开启图片懒加载\n * @since 2.8.3\n * @default true\n */\n lazyPicture?: boolean;\n /** 开启代码块工具条\n * @default ['copy']\n */\n tools?: 'copy'[];\n /** 指定滚动的容器\n * @default () => window\n */\n getAnchorContainer?: () => HTMLElement;\n /** 不进行解析\n * @default false\n */\n notRender?: boolean;\n children?: JSX.Element;\n /**\n * 使用 web worker\n */\n webWorker?: boolean;\n}\n\nexport type MdElement = CustomElement<MdProps>;\n\ncustomElement<MdProps>(\n 'n-md',\n {\n class: void 0,\n pictureViewer: void 0,\n lazyPicture: void 0,\n text: void 0,\n tools: void 0,\n getAnchorContainer: void 0,\n css: void 0,\n children: void 0,\n notRender: void 0,\n webWorker: void 0,\n },\n (_, opt) => {\n const el = opt.element;\n const props = mergeProps(\n {\n text: (!_.notRender && el.textContent) || el.text,\n css: el.css,\n tools: el.tools,\n getAnchorContainer: el.getAnchorContainer,\n },\n _,\n );\n\n createEffect(() => {\n clearAttribute(el, ['css', 'text']);\n el.replaceChildren();\n });\n return (\n <>\n <style textContent={block} />\n <MD {...props} />\n </>\n );\n },\n);\nexport default MD;\n"],"names":["MD","_props","renderer","ref","needEndod","baseStyle","theme","props","mergeProps","webWorker","pictureViewer","lazyPicture","text","tools","getAnchorContainer","window","initWorker","Worker","worker","update","e","innerHTML","data","postMessage","opt","langToolbar","options","marked","default","Renderer","katexBlock","code","katexInline","image","src","title","alt","toolbar","length","lang","source","test","encodeURIComponent","headerPrefix","breaks","pedantic","smartLists","smartypants","xhtml","createEffect","addEventListener","JSON","stringify","frameCallback","onCleanup","removeEventListener","terminate","list","heading","active","handleAnchor","preventDefault","stopPropagation","a","target","hash","querySelector","decodeURIComponent","scrollIntoView","behavior","block","forEach","item","classList","remove","add","open","href","observerEntry","entries","entry","id","getAttribute","all","querySelectorAll","l","idx","indexOf","isIntersecting","push","splice","offsetParent","scrollTo","top","offsetTop","observer","startsWith","IntersectionObserver","rootMargin","threshold","observe","unobserve","disconnect","mdStyle","Show","css","Switch","Match","children","For","cx","class","customElement","notRender","_","el","element","textContent","clearAttribute","replaceChildren"],"mappings":"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"}
|
package/lib/prism/index.d.ts
CHANGED
|
@@ -18,5 +18,4 @@ import 'prismjs/components/prism-toml.js';
|
|
|
18
18
|
import 'prismjs/components/prism-typescript.js';
|
|
19
19
|
import 'prismjs/components/prism-yaml.js';
|
|
20
20
|
import 'prismjs/components/prism-matlab.js';
|
|
21
|
-
import 'prismjs/plugins/highlight-keywords/prism-highlight-keywords.js';
|
|
22
21
|
export default Prism;
|
package/lib/prism/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var s;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return e}});const r=(s=require("prismjs"))&&s.__esModule?s:{default:s};require("prismjs/components/prism-bash.js"),require("prismjs/components/prism-clike.js"),require("prismjs/components/prism-css.js"),require("prismjs/components/prism-docker.js"),require("prismjs/components/prism-git.js"),require("prismjs/components/prism-javascript.js"),require("prismjs/components/prism-json.js"),require("prismjs/components/prism-jsx.js"),require("prismjs/components/prism-tsx.js"),require("prismjs/components/prism-less.js"),require("prismjs/components/prism-markup.js"),require("prismjs/components/prism-regex.js"),require("prismjs/components/prism-rust.js"),require("prismjs/components/prism-sql.js"),require("prismjs/components/prism-swift.js"),require("prismjs/components/prism-toml.js"),require("prismjs/components/prism-typescript.js"),require("prismjs/components/prism-yaml.js"),require("prismjs/components/prism-matlab.js")
|
|
1
|
+
"use strict";var s;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return e}});const r=(s=require("prismjs"))&&s.__esModule?s:{default:s};require("prismjs/components/prism-bash.js"),require("prismjs/components/prism-clike.js"),require("prismjs/components/prism-css.js"),require("prismjs/components/prism-docker.js"),require("prismjs/components/prism-git.js"),require("prismjs/components/prism-javascript.js"),require("prismjs/components/prism-json.js"),require("prismjs/components/prism-jsx.js"),require("prismjs/components/prism-tsx.js"),require("prismjs/components/prism-less.js"),require("prismjs/components/prism-markup.js"),require("prismjs/components/prism-regex.js"),require("prismjs/components/prism-rust.js"),require("prismjs/components/prism-sql.js"),require("prismjs/components/prism-swift.js"),require("prismjs/components/prism-toml.js"),require("prismjs/components/prism-typescript.js"),require("prismjs/components/prism-yaml.js"),require("prismjs/components/prism-matlab.js");const e=r.default;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib/prism/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../components/prism/index.ts"],"sourcesContent":["import Prism from 'prismjs';\n\n// language\nimport 'prismjs/components/prism-bash.js'; // shell + sh + bash\nimport 'prismjs/components/prism-clike.js';\nimport 'prismjs/components/prism-css.js';\nimport 'prismjs/components/prism-docker.js'; // docker + dockerfile\nimport 'prismjs/components/prism-git.js'; // diff\nimport 'prismjs/components/prism-javascript.js'; // javascript + js\nimport 'prismjs/components/prism-json.js'; // json + webmanifest\nimport 'prismjs/components/prism-jsx.js';\nimport 'prismjs/components/prism-tsx.js';\nimport 'prismjs/components/prism-less.js';\nimport 'prismjs/components/prism-markup.js'; // html + mathml + svg + xml + ssml + atom + rss\nimport 'prismjs/components/prism-regex.js';\nimport 'prismjs/components/prism-rust.js';\nimport 'prismjs/components/prism-sql.js';\nimport 'prismjs/components/prism-swift.js';\nimport 'prismjs/components/prism-toml.js';\nimport 'prismjs/components/prism-typescript.js'; // typescript + ts\nimport 'prismjs/components/prism-yaml.js'; // yaml + yml\nimport 'prismjs/components/prism-matlab.js';\n
|
|
1
|
+
{"version":3,"sources":["../../components/prism/index.ts"],"sourcesContent":["import Prism from 'prismjs';\n\n// language\nimport 'prismjs/components/prism-bash.js'; // shell + sh + bash\nimport 'prismjs/components/prism-clike.js';\nimport 'prismjs/components/prism-css.js';\nimport 'prismjs/components/prism-docker.js'; // docker + dockerfile\nimport 'prismjs/components/prism-git.js'; // diff\nimport 'prismjs/components/prism-javascript.js'; // javascript + js\nimport 'prismjs/components/prism-json.js'; // json + webmanifest\nimport 'prismjs/components/prism-jsx.js';\nimport 'prismjs/components/prism-tsx.js';\nimport 'prismjs/components/prism-less.js';\nimport 'prismjs/components/prism-markup.js'; // html + mathml + svg + xml + ssml + atom + rss\nimport 'prismjs/components/prism-regex.js';\nimport 'prismjs/components/prism-rust.js';\nimport 'prismjs/components/prism-sql.js';\nimport 'prismjs/components/prism-swift.js';\nimport 'prismjs/components/prism-toml.js';\nimport 'prismjs/components/prism-typescript.js'; // typescript + ts\nimport 'prismjs/components/prism-yaml.js'; // yaml + yml\nimport 'prismjs/components/prism-matlab.js';\n\nexport default Prism;\n"],"names":["Prism"],"mappings":"wGAuBA,+CAAA,wBAvBkB,gDAGX,4CACA,6CACA,2CACA,8CACA,2CACA,kDACA,4CACA,2CACA,2CACA,4CACA,8CACA,6CACA,4CACA,2CACA,6CACA,4CACA,kDACA,4CACA,4CAEP,EAAeA,SAAK"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "neko-ui",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.3",
|
|
4
4
|
"description": "WebComponents UI Libraries",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "mo build library solid",
|
|
18
18
|
"changelog": "mo changelog CHANGELOG.md && git add CHANGELOG.md",
|
|
19
|
-
"lint": "mo eslint components
|
|
20
|
-
"postlint": "mo stylelint components
|
|
19
|
+
"lint": "mo eslint [components,site] --fix",
|
|
20
|
+
"postlint": "mo stylelint [components,site] --fix && jest --coverage",
|
|
21
21
|
"precommit": "npm run lint && npm run changelog",
|
|
22
22
|
"prepare": "mo githooks pre-commit=\"npm run precommit\" commit-msg=\"npx --no -- commitlint --edit ${1}\"",
|
|
23
23
|
"start": "mo start library solid",
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
"ui libraries"
|
|
52
52
|
],
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@commitlint/cli": "19.6.
|
|
54
|
+
"@commitlint/cli": "19.6.1",
|
|
55
55
|
"@commitlint/config-conventional": "19.6.0",
|
|
56
|
-
"@moneko/core": "3.26.
|
|
56
|
+
"@moneko/core": "3.26.12",
|
|
57
57
|
"@moneko/solid": "1.10.6",
|
|
58
58
|
"@solidjs/testing-library": "0.8.10",
|
|
59
59
|
"@swc/jest": "0.2.37",
|