neko-ui 2.7.4 → 2.7.5-beta.0

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/tree/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{use as e}from"solid-js/web";import{template as t}from"solid-js/web";import{style as l}from"solid-js/web";import{setAttribute as o}from"solid-js/web";import{memo as r}from"solid-js/web";import{insert as n}from"solid-js/web";import{effect as i}from"solid-js/web";import{delegateEvents as s}from"solid-js/web";import{createComponent as a}from"solid-js/web";import{className as m}from"solid-js/web";let c=t("<li>"),u=t('<span class="title">'),p=t('<span class="sub-title">'),d=t("<style>"),f=t("<ul>");import{For as h,createEffect as v,createMemo as g,createSignal as y}from"solid-js";import $ from"@moneko/common/lib/frameCallback";import b from"@moneko/common/lib/isFunction";import k from"@moneko/common/lib/isString";import{css as w,cx as j}from"@moneko/css";import"./register";import{style as _}from"./style";import C from"../from-schema";import R from"../theme";export*from"./type";export default function(t){let s;let S={small:6,normal:8,large:10},{baseStyle:x}=R,[A,P]=y([]),[z,B]=y([]),D=g(()=>"rtl"===t.direction),q=g(()=>void 0!==t.value&&null!==t.value?Array.isArray(t.value)?t.value:[t.value]:[]),E=Symbol("path"),F=Symbol("path-end");return v(()=>{let e=t.fromSchema?C(t.data):k(t.data)?function(e){let t=/[^\s|`│├└]/,l=e.trim().split("\n"),o=[{title:l[0],key:l[0]}];for(let e=1;e<l.length;e++){let r=l[e].search(t);if(-1===r)continue;let n={title:l[e].slice(r+3),depth:r};for(;o.length&&r<=(o[o.length-1].depth||0);)o.pop();if(!o.length)return[];let i=o[o.length-1];i.children||(i.children=[]),n.key=`${i.key}-${n.title}-${r}-${e}`,i.children.push(n),o.push(n)}return[o[0]]}(t.data):t.data;P([...new Set(function e(t,l=0){let o=t.length-1,r=t[o],n=t[0],i=[];for(let s=0,a=t.length;s<a;s++){let a=t[s],m=s===o;(0===s||m)&&(a[E]=n.key+(1===t.length?"":`>${r.key}`),m&&(a[F]=""),i.push(a[E])),a.children&&(i=i.concat(e(a.children,l+1)))}return i}(e))]),B(e)}),v(()=>{let e=A(),l=t.size||"normal";$(()=>{let t=e.length;if(s&&t){let o=S[l];for(let l=0;l<t;l++){let t=s.querySelectorAll(`li[data-path="${e[l]}"]`);if(t.length){let e=t[0].getBoundingClientRect(),r=e.height/2+o;if(t.length>1){let{bottom:n,height:i,top:s}=t[1].getBoundingClientRect();r=0===l?s-e.top:n-e.top-i/2+o,t[1].style.setProperty("--c","none")}else 0===l&&t[0].style.setProperty("--c","none");(1!==t.length||0!==l)&&t[0].style.setProperty("--line",`${Math.abs(r)}px`)}}}})}),[(()=>{let e=d();return n(e,x,null),n(e,_,null),n(e,()=>w(t.css),null),e})(),(()=>{let d=f(),v=s;return"function"==typeof v?e(v,d):s=d,n(d,()=>(function e(s,d=0){return a(h,{each:s,children:s=>{let{name:a,title:f,subTitle:h,key:v,children:g}=s,y=a!==f&&a?[a,f]:[f];return[(()=>{let e=c();return e.$$dblclick=e=>null==t.onRowDoubleClick?void 0:t.onRowDoubleClick.call(t,e,v,s),e.$$click=e=>{(function(e,l){if(!t.readonly&&b(t.onChange)){let o=[...q()];if(t.multiple){let t=o.indexOf(e);-1===t?o.push(e):o.splice(t,1)}else o=t.toggle&&o[0]===e?[]:[e];t.onChange(t.multiple?o:o[0],l)}})(s.key,s),null==t.onRowClick||t.onRowClick.call(t,e,s.key,s)},n(e,()=>(function(e,l,o){let r=(null==t.renderRow?void 0:t.renderRow.call(t,e,l,o))||[l,o];return D()?r.reverse():r})(s,(()=>{let e=u();return n(e,()=>(D()?y.reverse():y).join(": ")),e})(),h&&(()=>{let e=p();return n(e,h),e})())),i(r=>{let n=j("row",q().includes(v)&&"active",(t.readonly||!b(t.onChange))&&"non"),i=d?{"--depth":`${2*d}em`}:void 0,a=s[F],c=s[E];return n!==r._v$&&m(e,r._v$=n),r._v$2=l(e,i,r._v$2),a!==r._v$3&&o(e,"data-path-end",r._v$3=a),c!==r._v$4&&o(e,"data-path",r._v$4=c),r},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),e})(),r(()=>g?e(g,d+1):null)]}})})(z())),i(()=>m(d,j("tree",t.size,t.class,D()&&"rtl"))),d})()]}s(["click","dblclick"]);
1
+ import{use as e}from"solid-js/web";import{template as t}from"solid-js/web";import{style as l}from"solid-js/web";import{setAttribute as o}from"solid-js/web";import{memo as r}from"solid-js/web";import{insert as n}from"solid-js/web";import{effect as i}from"solid-js/web";import{delegateEvents as s}from"solid-js/web";import{createComponent as a}from"solid-js/web";import{className as m}from"solid-js/web";let c=t("<li>"),u=t('<span class="title">'),d=t('<span class="sub-title">'),p=t("<style>"),f=t("<ul>");import{For as h,createEffect as v,createMemo as g,createSignal as y}from"solid-js";import $ from"@moneko/common/lib/frameCallback";import b from"@moneko/common/lib/isFunction";import k from"@moneko/common/lib/isString";import{css as w,cx as j}from"@moneko/css";import"./register";import{style as _}from"./style";import C from"../from-schema";import R from"../theme";export*from"./type";export default function(t){let s;let S={small:6,normal:8,large:10},{baseStyle:x}=R,[A,P]=y([]),[z,B]=y([]),D=g(()=>"rtl"===t.direction),q=g(()=>void 0!==t.value&&null!==t.value?Array.isArray(t.value)?t.value:[t.value]:[]),E=Symbol("path"),F=Symbol("path-end");return v(()=>{let e=t.fromSchema?C(t.data):k(t.data)?function(e){let t=/[^\s|`│├└]/,l=e.trim().split("\n"),o=[{title:l[0],key:l[0]}];for(let e=1;e<l.length;e++){let r=l[e].search(t);if(-1===r)continue;let n={title:l[e].slice(r+3),depth:r};for(;o.length&&r<=(o[o.length-1].depth||0);)o.pop();if(!o.length)return[];let i=o[o.length-1];i.children||(i.children=[]),n.key=`${i.key}-${n.title}-${r}-${e}`,i.children.push(n),o.push(n)}return[o[0]]}(t.data):t.data;P([...new Set(function e(t,l=0){let o=t.length-1,r=t[o],n=t[0],i=[];for(let s=0,a=t.length;s<a;s++){let a=t[s],m=s===o;a[E]=void 0,a[F]=void 0,(0===s||m)&&(a[E]=n.key+(1===t.length?"":`>${r.key}`),m&&(a[F]=""),i.push(a[E])),a.children&&(i=i.concat(e(a.children,l+1)))}return i}(e))]),B(e)}),v(()=>{let e=A(),l=t.size||"normal";$(()=>{let t=e.length;if(s&&t){let o=S[l];for(let l=0;l<t;l++){let t=s.querySelectorAll(`li[data-path="${e[l]}"]`);if(t.length){let e=t[0].getBoundingClientRect(),r=e.height/2+o;if(t.length>1){let{bottom:n,height:i,top:s}=t[1].getBoundingClientRect();r=0===l?s-e.top:n-e.top-i/2+o,t[1].style.setProperty("--c","none")}else 0===l&&t[0].style.setProperty("--c","none");(1!==t.length||0!==l)&&t[0].style.setProperty("--line",`${Math.abs(r)}px`)}}}})}),[(()=>{let e=p();return n(e,x,null),n(e,_,null),n(e,()=>w(t.css),null),e})(),(()=>{let p=f(),v=s;return"function"==typeof v?e(v,p):s=p,n(p,()=>(function e(s,p=0){return a(h,{each:s,children:s=>{let{name:a,title:f,subTitle:h,key:v,children:g}=s,y=a!==f&&a?[a,f]:[f];return[(()=>{let e=c();return e.$$dblclick=e=>null==t.onRowDoubleClick?void 0:t.onRowDoubleClick.call(t,e,v,s),e.$$click=e=>{(function(e,l){if(!t.readonly&&b(t.onChange)){let o=[...q()];if(t.multiple){let t=o.indexOf(e);-1===t?o.push(e):o.splice(t,1)}else o=t.toggle&&o[0]===e?[]:[e];t.onChange(t.multiple?o:o[0],l)}})(s.key,s),null==t.onRowClick||t.onRowClick.call(t,e,s.key,s)},n(e,()=>(function(e,l,o){let r=(null==t.renderRow?void 0:t.renderRow.call(t,e,l,o))||[l,o];return D()?r.reverse():r})(s,(()=>{let e=u();return n(e,()=>(D()?y.reverse():y).join(": ")),e})(),h&&(()=>{let e=d();return n(e,h),e})())),i(r=>{let n=j("row",q().includes(v)&&"active",(t.readonly||!b(t.onChange))&&"non"),i=p?{"--depth":`${2*p}em`}:void 0,a=s[F],c=s[E];return n!==r._v$&&m(e,r._v$=n),r._v$2=l(e,i,r._v$2),a!==r._v$3&&o(e,"data-path-end",r._v$3=a),c!==r._v$4&&o(e,"data-path",r._v$4=c),r},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),e})(),r(()=>g?e(g,p+1):null)]}})})(z())),i(()=>m(p,j("tree",t.size,t.class,D()&&"rtl"))),p})()]}s(["click","dblclick"]);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/tree/index.tsx"],"sourcesContent":["import { For, createEffect, createMemo, createSignal } from 'solid-js';\nimport { frameCallback, isFunction, isString } from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport './register';\nimport { style } from './style';\nimport schema from '../from-schema';\nimport theme from '../theme';\nimport type {\n TreeData,\n TreeMultipleProps,\n TreeMultipleSchemaProps,\n TreeMultipleStringProps,\n TreeProps,\n TreeSchemaProps,\n TreeStack,\n TreeStringProps,\n} from './type';\n\nfunction Tree(\n _:\n | TreeProps\n | TreeMultipleProps\n | TreeMultipleSchemaProps\n | TreeSchemaProps\n | TreeMultipleStringProps\n | TreeStringProps,\n) {\n const sizeCnt = {\n small: 6,\n normal: 8,\n large: 10,\n };\n const { baseStyle } = theme;\n let el: HTMLUListElement | undefined;\n const [lines, setLines] = createSignal<string[]>([]);\n const [treeData, setTreeData] = createSignal<TreeData[]>([]);\n const rtl = createMemo(() => _.direction === 'rtl');\n const current = createMemo(() => {\n if (_.value !== void 0 && _.value !== null) {\n return Array.isArray(_.value) ? _.value : [_.value];\n }\n return [];\n });\n const path = Symbol('path');\n const pathEnd = Symbol('path-end');\n\n function countLineLen(tree: TreeData[], depth = 0) {\n const lastIdx = tree.length - 1;\n const last = tree[lastIdx];\n const frist = tree[0];\n let line: string[] = [];\n\n for (let i = 0, len = tree.length; i < len; i++) {\n const item = tree[i],\n isLast = i === lastIdx;\n\n if (i === 0 || isLast) {\n item[path] = frist.key + (tree.length === 1 ? '' : `>${last.key}`);\n if (isLast) {\n item[pathEnd] = '';\n }\n line.push(item[path]);\n }\n if (item.children) {\n line = line.concat(countLineLen(item.children, depth + 1));\n }\n }\n return line;\n }\n\n function parseTree(str: string): TreeData[] {\n const depthRegex = /[^\\s|`│├└]/;\n const rows = str.trim().split('\\n');\n const stack: TreeStack[] = [{ title: rows[0], key: rows[0] }];\n\n for (let i = 1; i < rows.length; i++) {\n const depth = rows[i].search(depthRegex);\n\n if (depth === -1) {\n continue;\n }\n const node: Partial<TreeData> = {\n title: rows[i].slice(depth + 3),\n depth,\n };\n\n while (stack.length && depth <= (stack[stack.length - 1].depth || 0)) {\n stack.pop();\n }\n if (!stack.length) {\n return [];\n }\n const parent = stack[stack.length - 1];\n\n if (!parent.children) {\n parent.children = [];\n }\n node.key = `${parent.key}-${node.title}-${depth}-${i}`;\n parent.children.push(node as TreeData);\n stack.push(node as TreeData);\n }\n\n return [stack[0]];\n }\n\n function handleChange(key: string, item: TreeData) {\n if (!_.readonly && isFunction(_.onChange)) {\n let _current = [...current()];\n\n if (_.multiple) {\n const idx = _current.indexOf(key);\n\n if (idx === -1) {\n _current.push(key);\n } else {\n _current.splice(idx, 1);\n }\n } else if (_.toggle && _current[0] === key) {\n _current = [];\n } else {\n _current = [key];\n }\n _.onChange(_.multiple ? _current : _current[0], item);\n }\n }\n function handleClick(e: MouseEvent, item: TreeData) {\n handleChange(item.key, item);\n _.onRowClick?.(e, item.key as never, item as TreeData<never>);\n }\n function renderItem(item: TreeData, title: JSX.Element, subTitle?: JSX.Element): JSX.Element[] {\n const row = _.renderRow?.(item, title, subTitle) || [title, subTitle];\n\n return rtl() ? row.reverse() : row;\n }\n\n function renderTreeRow(list: TreeData[], depth = 0): JSX.Element {\n return (\n <For each={list}>\n {(item) => {\n const { name, title, subTitle, key, children } = item;\n const _title = name === title || !name ? [title] : [name, title];\n\n return (\n <>\n <li\n class={cx(\n 'row',\n current().includes(key) && 'active',\n (_.readonly || !isFunction(_.onChange)) && 'non',\n )}\n onClick={(e) => handleClick(e, item)}\n onDblClick={(e) => _.onRowDoubleClick?.(e, key, item)}\n style={depth ? { '--depth': `${depth * 2}em` } : void 0}\n data-path-end={item[pathEnd]}\n data-path={item[path]}\n >\n {renderItem(\n item,\n <span class=\"title\">{(rtl() ? _title.reverse() : _title).join(': ')}</span>,\n subTitle && <span class=\"sub-title\">{subTitle}</span>,\n )}\n </li>\n {children ? renderTreeRow(children, depth + 1) : null}\n </>\n );\n }}\n </For>\n );\n }\n createEffect(() => {\n const data = _.fromSchema ? schema(_.data) : isString(_.data) ? parseTree(_.data) : _.data;\n\n setLines([...new Set(countLineLen(data))]);\n setTreeData(data);\n });\n\n createEffect(() => {\n const list = lines();\n const size = _.size || 'normal';\n\n frameCallback(() => {\n const len = list.length;\n\n if (el && len) {\n const prefixSize = sizeCnt[size];\n\n for (let i = 0; i < len; i++) {\n const al: NodeListOf<HTMLLIElement> = el.querySelectorAll(`li[data-path=\"${list[i]}\"]`);\n\n if (al.length) {\n const rect1 = al[0].getBoundingClientRect();\n let sideLen = rect1.height / 2 + prefixSize;\n\n if (al.length > 1) {\n const { bottom, height, top } = al[1].getBoundingClientRect();\n\n sideLen = i === 0 ? top - rect1.top : bottom - rect1.top - height / 2 + prefixSize;\n al[1].style.setProperty('--c', 'none');\n } else if (i === 0) {\n al[0].style.setProperty('--c', 'none');\n }\n if (al.length !== 1 || i !== 0) {\n al[0].style.setProperty('--line', `${Math.abs(sideLen)}px`);\n }\n }\n }\n }\n });\n });\n\n return (\n <>\n <style>\n {baseStyle()}\n {style}\n {css(_.css)}\n </style>\n <ul ref={el} class={cx('tree', _.size, _.class, rtl() && 'rtl')}>\n {renderTreeRow(treeData())}\n </ul>\n </>\n );\n}\n\nexport * from './type';\nexport default Tree;\n"],"names":["For","createEffect","createMemo","createSignal","frameCallback","isFunction","isString","css","cx","style","schema","theme","_","el","sizeCnt","small","normal","large","baseStyle","lines","setLines","treeData","setTreeData","rtl","direction","current","value","Array","isArray","path","Symbol","pathEnd","data","fromSchema","parseTree","str","depthRegex","rows","trim","split","stack","title","key","i","length","depth","search","node","slice","pop","parent","children","push","Set","countLineLen","tree","lastIdx","last","frist","line","len","item","isLast","concat","list","size","prefixSize","al","querySelectorAll","rect1","getBoundingClientRect","sideLen","height","bottom","top","setProperty","Math","abs","renderTreeRow","name","subTitle","_title","e","onRowDoubleClick","handleChange","readonly","onChange","_current","multiple","idx","indexOf","splice","toggle","onRowClick","renderItem","row","renderRow","reverse","join","includes","class"],"rangeMappings":"","mappings":"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"}
1
+ {"version":3,"sources":["../../components/tree/index.tsx"],"sourcesContent":["import { For, createEffect, createMemo, createSignal } from 'solid-js';\nimport { frameCallback, isFunction, isString } from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport './register';\nimport { style } from './style';\nimport schema from '../from-schema';\nimport theme from '../theme';\nimport type {\n TreeData,\n TreeMultipleProps,\n TreeMultipleSchemaProps,\n TreeMultipleStringProps,\n TreeProps,\n TreeSchemaProps,\n TreeStack,\n TreeStringProps,\n} from './type';\n\nfunction Tree(\n _:\n | TreeProps\n | TreeMultipleProps\n | TreeMultipleSchemaProps\n | TreeSchemaProps\n | TreeMultipleStringProps\n | TreeStringProps,\n) {\n const sizeCnt = {\n small: 6,\n normal: 8,\n large: 10,\n };\n const { baseStyle } = theme;\n let el: HTMLUListElement | undefined;\n const [lines, setLines] = createSignal<string[]>([]);\n const [treeData, setTreeData] = createSignal<TreeData[]>([]);\n const rtl = createMemo(() => _.direction === 'rtl');\n const current = createMemo(() => {\n if (_.value !== void 0 && _.value !== null) {\n return Array.isArray(_.value) ? _.value : [_.value];\n }\n return [];\n });\n const path = Symbol('path');\n const pathEnd = Symbol('path-end');\n\n function countLineLen(tree: TreeData[], depth = 0) {\n const lastIdx = tree.length - 1;\n const last = tree[lastIdx];\n const frist = tree[0];\n let line: string[] = [];\n\n for (let i = 0, len = tree.length; i < len; i++) {\n const item = tree[i],\n isLast = i === lastIdx;\n\n item[path] = void 0;\n item[pathEnd] = void 0;\n if (i === 0 || isLast) {\n item[path] = frist.key + (tree.length === 1 ? '' : `>${last.key}`);\n if (isLast) {\n item[pathEnd] = '';\n }\n line.push(item[path]);\n }\n if (item.children) {\n line = line.concat(countLineLen(item.children, depth + 1));\n }\n }\n return line;\n }\n\n function parseTree(str: string): TreeData[] {\n const depthRegex = /[^\\s|`│├└]/;\n const rows = str.trim().split('\\n');\n const stack: TreeStack[] = [{ title: rows[0], key: rows[0] }];\n\n for (let i = 1; i < rows.length; i++) {\n const depth = rows[i].search(depthRegex);\n\n if (depth === -1) {\n continue;\n }\n const node: Partial<TreeData> = {\n title: rows[i].slice(depth + 3),\n depth,\n };\n\n while (stack.length && depth <= (stack[stack.length - 1].depth || 0)) {\n stack.pop();\n }\n if (!stack.length) {\n return [];\n }\n const parent = stack[stack.length - 1];\n\n if (!parent.children) {\n parent.children = [];\n }\n node.key = `${parent.key}-${node.title}-${depth}-${i}`;\n parent.children.push(node as TreeData);\n stack.push(node as TreeData);\n }\n\n return [stack[0]];\n }\n\n function handleChange(key: string, item: TreeData) {\n if (!_.readonly && isFunction(_.onChange)) {\n let _current = [...current()];\n\n if (_.multiple) {\n const idx = _current.indexOf(key);\n\n if (idx === -1) {\n _current.push(key);\n } else {\n _current.splice(idx, 1);\n }\n } else if (_.toggle && _current[0] === key) {\n _current = [];\n } else {\n _current = [key];\n }\n _.onChange(_.multiple ? _current : _current[0], item);\n }\n }\n function handleClick(e: MouseEvent, item: TreeData) {\n handleChange(item.key, item);\n _.onRowClick?.(e, item.key as never, item as TreeData<never>);\n }\n function renderItem(item: TreeData, title: JSX.Element, subTitle?: JSX.Element): JSX.Element[] {\n const row = _.renderRow?.(item, title, subTitle) || [title, subTitle];\n\n return rtl() ? row.reverse() : row;\n }\n\n function renderTreeRow(list: TreeData[], depth = 0): JSX.Element {\n return (\n <For each={list}>\n {(item) => {\n const { name, title, subTitle, key, children } = item;\n const _title = name === title || !name ? [title] : [name, title];\n\n return (\n <>\n <li\n class={cx(\n 'row',\n current().includes(key) && 'active',\n (_.readonly || !isFunction(_.onChange)) && 'non',\n )}\n onClick={(e) => handleClick(e, item)}\n onDblClick={(e) => _.onRowDoubleClick?.(e, key, item)}\n style={depth ? { '--depth': `${depth * 2}em` } : void 0}\n data-path-end={item[pathEnd]}\n data-path={item[path]}\n >\n {renderItem(\n item,\n <span class=\"title\">{(rtl() ? _title.reverse() : _title).join(': ')}</span>,\n subTitle && <span class=\"sub-title\">{subTitle}</span>,\n )}\n </li>\n {children ? renderTreeRow(children, depth + 1) : null}\n </>\n );\n }}\n </For>\n );\n }\n createEffect(() => {\n const data = _.fromSchema ? schema(_.data) : isString(_.data) ? parseTree(_.data) : _.data;\n\n setLines([...new Set(countLineLen(data))]);\n setTreeData(data);\n });\n\n createEffect(() => {\n const list = lines();\n const size = _.size || 'normal';\n\n frameCallback(() => {\n const len = list.length;\n\n if (el && len) {\n const prefixSize = sizeCnt[size];\n\n for (let i = 0; i < len; i++) {\n const al: NodeListOf<HTMLLIElement> = el.querySelectorAll(`li[data-path=\"${list[i]}\"]`);\n\n if (al.length) {\n const rect1 = al[0].getBoundingClientRect();\n let sideLen = rect1.height / 2 + prefixSize;\n\n if (al.length > 1) {\n const { bottom, height, top } = al[1].getBoundingClientRect();\n\n sideLen = i === 0 ? top - rect1.top : bottom - rect1.top - height / 2 + prefixSize;\n al[1].style.setProperty('--c', 'none');\n } else if (i === 0) {\n al[0].style.setProperty('--c', 'none');\n }\n if (al.length !== 1 || i !== 0) {\n al[0].style.setProperty('--line', `${Math.abs(sideLen)}px`);\n }\n }\n }\n }\n });\n });\n\n return (\n <>\n <style>\n {baseStyle()}\n {style}\n {css(_.css)}\n </style>\n <ul ref={el} class={cx('tree', _.size, _.class, rtl() && 'rtl')}>\n {renderTreeRow(treeData())}\n </ul>\n </>\n );\n}\n\nexport * from './type';\nexport default Tree;\n"],"names":["For","createEffect","createMemo","createSignal","frameCallback","isFunction","isString","css","cx","style","schema","theme","_","el","sizeCnt","small","normal","large","baseStyle","lines","setLines","treeData","setTreeData","rtl","direction","current","value","Array","isArray","path","Symbol","pathEnd","data","fromSchema","parseTree","str","depthRegex","rows","trim","split","stack","title","key","i","length","depth","search","node","slice","pop","parent","children","push","Set","countLineLen","tree","lastIdx","last","frist","line","len","item","isLast","concat","list","size","prefixSize","al","querySelectorAll","rect1","getBoundingClientRect","sideLen","height","bottom","top","setProperty","Math","abs","renderTreeRow","name","subTitle","_title","e","onRowDoubleClick","handleChange","readonly","onChange","_current","multiple","idx","indexOf","splice","toggle","onRowClick","renderItem","row","renderRow","reverse","join","includes","class"],"rangeMappings":"","mappings":"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"}
package/lib/tree/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 m}});const e=require("solid-js/web"),t=require("solid-js"),l=u(require("@moneko/common/lib/frameCallback")),n=u(require("@moneko/common/lib/isFunction")),r=u(require("@moneko/common/lib/isString")),i=require("@moneko/css");require("./register");const o=require("./style"),a=u(require("../from-schema")),c=u(require("../theme"));function u(e){return e&&e.__esModule?e:{default:e}}!function(e,t){Object.keys(e).forEach(function(l){"default"===l||Object.prototype.hasOwnProperty.call(t,l)||Object.defineProperty(t,l,{enumerable:!0,get:function(){return e[l]}})})}(require("./type"),exports);const s=(0,e.template)("<li>"),d=(0,e.template)('<span class="title">'),f=(0,e.template)('<span class="sub-title">'),h=(0,e.template)("<style>"),p=(0,e.template)("<ul>"),m=function(u){let m;let y={small:6,normal:8,large:10},{baseStyle:g}=c.default,[v,$]=(0,t.createSignal)([]),[b,k]=(0,t.createSignal)([]),_=(0,t.createMemo)(()=>"rtl"===u.direction),q=(0,t.createMemo)(()=>void 0!==u.value&&null!==u.value?Array.isArray(u.value)?u.value:[u.value]:[]),C=Symbol("path"),j=Symbol("path-end");return(0,t.createEffect)(()=>{let e=u.fromSchema?(0,a.default)(u.data):(0,r.default)(u.data)?function(e){let t=/[^\s|`│├└]/,l=e.trim().split("\n"),n=[{title:l[0],key:l[0]}];for(let e=1;e<l.length;e++){let r=l[e].search(t);if(-1===r)continue;let i={title:l[e].slice(r+3),depth:r};for(;n.length&&r<=(n[n.length-1].depth||0);)n.pop();if(!n.length)return[];let o=n[n.length-1];o.children||(o.children=[]),i.key=`${o.key}-${i.title}-${r}-${e}`,o.children.push(i),n.push(i)}return[n[0]]}(u.data):u.data;$([...new Set(function e(t,l=0){let n=t.length-1,r=t[n],i=t[0],o=[];for(let a=0,c=t.length;a<c;a++){let c=t[a],u=a===n;(0===a||u)&&(c[C]=i.key+(1===t.length?"":`>${r.key}`),u&&(c[j]=""),o.push(c[C])),c.children&&(o=o.concat(e(c.children,l+1)))}return o}(e))]),k(e)}),(0,t.createEffect)(()=>{let e=v(),t=u.size||"normal";(0,l.default)(()=>{let l=e.length;if(m&&l){let n=y[t];for(let t=0;t<l;t++){let l=m.querySelectorAll(`li[data-path="${e[t]}"]`);if(l.length){let e=l[0].getBoundingClientRect(),r=e.height/2+n;if(l.length>1){let{bottom:i,height:o,top:a}=l[1].getBoundingClientRect();r=0===t?a-e.top:i-e.top-o/2+n,l[1].style.setProperty("--c","none")}else 0===t&&l[0].style.setProperty("--c","none");(1!==l.length||0!==t)&&l[0].style.setProperty("--line",`${Math.abs(r)}px`)}}}})}),[(()=>{let t=h();return(0,e.insert)(t,g,null),(0,e.insert)(t,o.style,null),(0,e.insert)(t,()=>(0,i.css)(u.css),null),t})(),(()=>{let l=p(),r=m;return"function"==typeof r?(0,e.use)(r,l):m=l,(0,e.insert)(l,()=>(function l(r,o=0){return(0,e.createComponent)(t.For,{each:r,children:t=>{let{name:r,title:a,subTitle:c,key:h,children:p}=t,m=r!==a&&r?[r,a]:[a];return[(()=>{let l=s();return l.$$dblclick=e=>u.onRowDoubleClick?.(e,h,t),l.$$click=e=>{(function(e,t){if(!u.readonly&&(0,n.default)(u.onChange)){let l=[...q()];if(u.multiple){let t=l.indexOf(e);-1===t?l.push(e):l.splice(t,1)}else l=u.toggle&&l[0]===e?[]:[e];u.onChange(u.multiple?l:l[0],t)}})(t.key,t),u.onRowClick?.(e,t.key,t)},(0,e.insert)(l,()=>(function(e,t,l){let n=u.renderRow?.(e,t,l)||[t,l];return _()?n.reverse():n})(t,(()=>{let t=d();return(0,e.insert)(t,()=>(_()?m.reverse():m).join(": ")),t})(),c&&(()=>{let t=f();return(0,e.insert)(t,c),t})())),(0,e.effect)(r=>{let a=(0,i.cx)("row",q().includes(h)&&"active",(u.readonly||!(0,n.default)(u.onChange))&&"non"),c=o?{"--depth":`${2*o}em`}:void 0,s=t[j],d=t[C];return a!==r._v$&&(0,e.className)(l,r._v$=a),r._v$2=(0,e.style)(l,c,r._v$2),s!==r._v$3&&(0,e.setAttribute)(l,"data-path-end",r._v$3=s),d!==r._v$4&&(0,e.setAttribute)(l,"data-path",r._v$4=d),r},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),l})(),(0,e.memo)(()=>p?l(p,o+1):null)]}})})(b())),(0,e.effect)(()=>(0,e.className)(l,(0,i.cx)("tree",u.size,u.class,_()&&"rtl"))),l})()]};(0,e.delegateEvents)(["click","dblclick"]);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return m}});const e=require("solid-js/web"),t=require("solid-js"),l=u(require("@moneko/common/lib/frameCallback")),n=u(require("@moneko/common/lib/isFunction")),r=u(require("@moneko/common/lib/isString")),i=require("@moneko/css");require("./register");const o=require("./style"),a=u(require("../from-schema")),c=u(require("../theme"));function u(e){return e&&e.__esModule?e:{default:e}}!function(e,t){Object.keys(e).forEach(function(l){"default"===l||Object.prototype.hasOwnProperty.call(t,l)||Object.defineProperty(t,l,{enumerable:!0,get:function(){return e[l]}})})}(require("./type"),exports);const s=(0,e.template)("<li>"),d=(0,e.template)('<span class="title">'),f=(0,e.template)('<span class="sub-title">'),h=(0,e.template)("<style>"),p=(0,e.template)("<ul>"),m=function(u){let m;let y={small:6,normal:8,large:10},{baseStyle:g}=c.default,[v,$]=(0,t.createSignal)([]),[b,k]=(0,t.createSignal)([]),_=(0,t.createMemo)(()=>"rtl"===u.direction),q=(0,t.createMemo)(()=>void 0!==u.value&&null!==u.value?Array.isArray(u.value)?u.value:[u.value]:[]),C=Symbol("path"),j=Symbol("path-end");return(0,t.createEffect)(()=>{let e=u.fromSchema?(0,a.default)(u.data):(0,r.default)(u.data)?function(e){let t=/[^\s|`│├└]/,l=e.trim().split("\n"),n=[{title:l[0],key:l[0]}];for(let e=1;e<l.length;e++){let r=l[e].search(t);if(-1===r)continue;let i={title:l[e].slice(r+3),depth:r};for(;n.length&&r<=(n[n.length-1].depth||0);)n.pop();if(!n.length)return[];let o=n[n.length-1];o.children||(o.children=[]),i.key=`${o.key}-${i.title}-${r}-${e}`,o.children.push(i),n.push(i)}return[n[0]]}(u.data):u.data;$([...new Set(function e(t,l=0){let n=t.length-1,r=t[n],i=t[0],o=[];for(let a=0,c=t.length;a<c;a++){let c=t[a],u=a===n;c[C]=void 0,c[j]=void 0,(0===a||u)&&(c[C]=i.key+(1===t.length?"":`>${r.key}`),u&&(c[j]=""),o.push(c[C])),c.children&&(o=o.concat(e(c.children,l+1)))}return o}(e))]),k(e)}),(0,t.createEffect)(()=>{let e=v(),t=u.size||"normal";(0,l.default)(()=>{let l=e.length;if(m&&l){let n=y[t];for(let t=0;t<l;t++){let l=m.querySelectorAll(`li[data-path="${e[t]}"]`);if(l.length){let e=l[0].getBoundingClientRect(),r=e.height/2+n;if(l.length>1){let{bottom:i,height:o,top:a}=l[1].getBoundingClientRect();r=0===t?a-e.top:i-e.top-o/2+n,l[1].style.setProperty("--c","none")}else 0===t&&l[0].style.setProperty("--c","none");(1!==l.length||0!==t)&&l[0].style.setProperty("--line",`${Math.abs(r)}px`)}}}})}),[(()=>{let t=h();return(0,e.insert)(t,g,null),(0,e.insert)(t,o.style,null),(0,e.insert)(t,()=>(0,i.css)(u.css),null),t})(),(()=>{let l=p(),r=m;return"function"==typeof r?(0,e.use)(r,l):m=l,(0,e.insert)(l,()=>(function l(r,o=0){return(0,e.createComponent)(t.For,{each:r,children:t=>{let{name:r,title:a,subTitle:c,key:h,children:p}=t,m=r!==a&&r?[r,a]:[a];return[(()=>{let l=s();return l.$$dblclick=e=>u.onRowDoubleClick?.(e,h,t),l.$$click=e=>{(function(e,t){if(!u.readonly&&(0,n.default)(u.onChange)){let l=[...q()];if(u.multiple){let t=l.indexOf(e);-1===t?l.push(e):l.splice(t,1)}else l=u.toggle&&l[0]===e?[]:[e];u.onChange(u.multiple?l:l[0],t)}})(t.key,t),u.onRowClick?.(e,t.key,t)},(0,e.insert)(l,()=>(function(e,t,l){let n=u.renderRow?.(e,t,l)||[t,l];return _()?n.reverse():n})(t,(()=>{let t=d();return(0,e.insert)(t,()=>(_()?m.reverse():m).join(": ")),t})(),c&&(()=>{let t=f();return(0,e.insert)(t,c),t})())),(0,e.effect)(r=>{let a=(0,i.cx)("row",q().includes(h)&&"active",(u.readonly||!(0,n.default)(u.onChange))&&"non"),c=o?{"--depth":`${2*o}em`}:void 0,s=t[j],d=t[C];return a!==r._v$&&(0,e.className)(l,r._v$=a),r._v$2=(0,e.style)(l,c,r._v$2),s!==r._v$3&&(0,e.setAttribute)(l,"data-path-end",r._v$3=s),d!==r._v$4&&(0,e.setAttribute)(l,"data-path",r._v$4=d),r},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),l})(),(0,e.memo)(()=>p?l(p,o+1):null)]}})})(b())),(0,e.effect)(()=>(0,e.className)(l,(0,i.cx)("tree",u.size,u.class,_()&&"rtl"))),l})()]};(0,e.delegateEvents)(["click","dblclick"]);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/tree/index.tsx"],"sourcesContent":["import { For, createEffect, createMemo, createSignal } from 'solid-js';\nimport { frameCallback, isFunction, isString } from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport './register';\nimport { style } from './style';\nimport schema from '../from-schema';\nimport theme from '../theme';\nimport type {\n TreeData,\n TreeMultipleProps,\n TreeMultipleSchemaProps,\n TreeMultipleStringProps,\n TreeProps,\n TreeSchemaProps,\n TreeStack,\n TreeStringProps,\n} from './type';\n\nfunction Tree(\n _:\n | TreeProps\n | TreeMultipleProps\n | TreeMultipleSchemaProps\n | TreeSchemaProps\n | TreeMultipleStringProps\n | TreeStringProps,\n) {\n const sizeCnt = {\n small: 6,\n normal: 8,\n large: 10,\n };\n const { baseStyle } = theme;\n let el: HTMLUListElement | undefined;\n const [lines, setLines] = createSignal<string[]>([]);\n const [treeData, setTreeData] = createSignal<TreeData[]>([]);\n const rtl = createMemo(() => _.direction === 'rtl');\n const current = createMemo(() => {\n if (_.value !== void 0 && _.value !== null) {\n return Array.isArray(_.value) ? _.value : [_.value];\n }\n return [];\n });\n const path = Symbol('path');\n const pathEnd = Symbol('path-end');\n\n function countLineLen(tree: TreeData[], depth = 0) {\n const lastIdx = tree.length - 1;\n const last = tree[lastIdx];\n const frist = tree[0];\n let line: string[] = [];\n\n for (let i = 0, len = tree.length; i < len; i++) {\n const item = tree[i],\n isLast = i === lastIdx;\n\n if (i === 0 || isLast) {\n item[path] = frist.key + (tree.length === 1 ? '' : `>${last.key}`);\n if (isLast) {\n item[pathEnd] = '';\n }\n line.push(item[path]);\n }\n if (item.children) {\n line = line.concat(countLineLen(item.children, depth + 1));\n }\n }\n return line;\n }\n\n function parseTree(str: string): TreeData[] {\n const depthRegex = /[^\\s|`│├└]/;\n const rows = str.trim().split('\\n');\n const stack: TreeStack[] = [{ title: rows[0], key: rows[0] }];\n\n for (let i = 1; i < rows.length; i++) {\n const depth = rows[i].search(depthRegex);\n\n if (depth === -1) {\n continue;\n }\n const node: Partial<TreeData> = {\n title: rows[i].slice(depth + 3),\n depth,\n };\n\n while (stack.length && depth <= (stack[stack.length - 1].depth || 0)) {\n stack.pop();\n }\n if (!stack.length) {\n return [];\n }\n const parent = stack[stack.length - 1];\n\n if (!parent.children) {\n parent.children = [];\n }\n node.key = `${parent.key}-${node.title}-${depth}-${i}`;\n parent.children.push(node as TreeData);\n stack.push(node as TreeData);\n }\n\n return [stack[0]];\n }\n\n function handleChange(key: string, item: TreeData) {\n if (!_.readonly && isFunction(_.onChange)) {\n let _current = [...current()];\n\n if (_.multiple) {\n const idx = _current.indexOf(key);\n\n if (idx === -1) {\n _current.push(key);\n } else {\n _current.splice(idx, 1);\n }\n } else if (_.toggle && _current[0] === key) {\n _current = [];\n } else {\n _current = [key];\n }\n _.onChange(_.multiple ? _current : _current[0], item);\n }\n }\n function handleClick(e: MouseEvent, item: TreeData) {\n handleChange(item.key, item);\n _.onRowClick?.(e, item.key as never, item as TreeData<never>);\n }\n function renderItem(item: TreeData, title: JSX.Element, subTitle?: JSX.Element): JSX.Element[] {\n const row = _.renderRow?.(item, title, subTitle) || [title, subTitle];\n\n return rtl() ? row.reverse() : row;\n }\n\n function renderTreeRow(list: TreeData[], depth = 0): JSX.Element {\n return (\n <For each={list}>\n {(item) => {\n const { name, title, subTitle, key, children } = item;\n const _title = name === title || !name ? [title] : [name, title];\n\n return (\n <>\n <li\n class={cx(\n 'row',\n current().includes(key) && 'active',\n (_.readonly || !isFunction(_.onChange)) && 'non',\n )}\n onClick={(e) => handleClick(e, item)}\n onDblClick={(e) => _.onRowDoubleClick?.(e, key, item)}\n style={depth ? { '--depth': `${depth * 2}em` } : void 0}\n data-path-end={item[pathEnd]}\n data-path={item[path]}\n >\n {renderItem(\n item,\n <span class=\"title\">{(rtl() ? _title.reverse() : _title).join(': ')}</span>,\n subTitle && <span class=\"sub-title\">{subTitle}</span>,\n )}\n </li>\n {children ? renderTreeRow(children, depth + 1) : null}\n </>\n );\n }}\n </For>\n );\n }\n createEffect(() => {\n const data = _.fromSchema ? schema(_.data) : isString(_.data) ? parseTree(_.data) : _.data;\n\n setLines([...new Set(countLineLen(data))]);\n setTreeData(data);\n });\n\n createEffect(() => {\n const list = lines();\n const size = _.size || 'normal';\n\n frameCallback(() => {\n const len = list.length;\n\n if (el && len) {\n const prefixSize = sizeCnt[size];\n\n for (let i = 0; i < len; i++) {\n const al: NodeListOf<HTMLLIElement> = el.querySelectorAll(`li[data-path=\"${list[i]}\"]`);\n\n if (al.length) {\n const rect1 = al[0].getBoundingClientRect();\n let sideLen = rect1.height / 2 + prefixSize;\n\n if (al.length > 1) {\n const { bottom, height, top } = al[1].getBoundingClientRect();\n\n sideLen = i === 0 ? top - rect1.top : bottom - rect1.top - height / 2 + prefixSize;\n al[1].style.setProperty('--c', 'none');\n } else if (i === 0) {\n al[0].style.setProperty('--c', 'none');\n }\n if (al.length !== 1 || i !== 0) {\n al[0].style.setProperty('--line', `${Math.abs(sideLen)}px`);\n }\n }\n }\n }\n });\n });\n\n return (\n <>\n <style>\n {baseStyle()}\n {style}\n {css(_.css)}\n </style>\n <ul ref={el} class={cx('tree', _.size, _.class, rtl() && 'rtl')}>\n {renderTreeRow(treeData())}\n </ul>\n </>\n );\n}\n\nexport * from './type';\nexport default Tree;\n"],"names":["_","el","sizeCnt","small","normal","large","baseStyle","theme","lines","setLines","createSignal","treeData","setTreeData","rtl","createMemo","direction","current","value","Array","isArray","path","Symbol","pathEnd","createEffect","data","fromSchema","schema","isString","parseTree","str","depthRegex","rows","trim","split","stack","title","key","i","length","depth","search","node","slice","pop","parent","children","push","Set","countLineLen","tree","lastIdx","last","frist","line","len","item","isLast","concat","list","size","frameCallback","prefixSize","al","querySelectorAll","rect1","getBoundingClientRect","sideLen","height","bottom","top","style","setProperty","Math","abs","css","renderTreeRow","For","name","subTitle","_title","e","onRowDoubleClick","handleChange","readonly","isFunction","onChange","_current","multiple","idx","indexOf","splice","toggle","onRowClick","renderItem","row","renderRow","reverse","join","cx","includes","class"],"rangeMappings":"","mappings":"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"}
1
+ {"version":3,"sources":["../../components/tree/index.tsx"],"sourcesContent":["import { For, createEffect, createMemo, createSignal } from 'solid-js';\nimport { frameCallback, isFunction, isString } from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport './register';\nimport { style } from './style';\nimport schema from '../from-schema';\nimport theme from '../theme';\nimport type {\n TreeData,\n TreeMultipleProps,\n TreeMultipleSchemaProps,\n TreeMultipleStringProps,\n TreeProps,\n TreeSchemaProps,\n TreeStack,\n TreeStringProps,\n} from './type';\n\nfunction Tree(\n _:\n | TreeProps\n | TreeMultipleProps\n | TreeMultipleSchemaProps\n | TreeSchemaProps\n | TreeMultipleStringProps\n | TreeStringProps,\n) {\n const sizeCnt = {\n small: 6,\n normal: 8,\n large: 10,\n };\n const { baseStyle } = theme;\n let el: HTMLUListElement | undefined;\n const [lines, setLines] = createSignal<string[]>([]);\n const [treeData, setTreeData] = createSignal<TreeData[]>([]);\n const rtl = createMemo(() => _.direction === 'rtl');\n const current = createMemo(() => {\n if (_.value !== void 0 && _.value !== null) {\n return Array.isArray(_.value) ? _.value : [_.value];\n }\n return [];\n });\n const path = Symbol('path');\n const pathEnd = Symbol('path-end');\n\n function countLineLen(tree: TreeData[], depth = 0) {\n const lastIdx = tree.length - 1;\n const last = tree[lastIdx];\n const frist = tree[0];\n let line: string[] = [];\n\n for (let i = 0, len = tree.length; i < len; i++) {\n const item = tree[i],\n isLast = i === lastIdx;\n\n item[path] = void 0;\n item[pathEnd] = void 0;\n if (i === 0 || isLast) {\n item[path] = frist.key + (tree.length === 1 ? '' : `>${last.key}`);\n if (isLast) {\n item[pathEnd] = '';\n }\n line.push(item[path]);\n }\n if (item.children) {\n line = line.concat(countLineLen(item.children, depth + 1));\n }\n }\n return line;\n }\n\n function parseTree(str: string): TreeData[] {\n const depthRegex = /[^\\s|`│├└]/;\n const rows = str.trim().split('\\n');\n const stack: TreeStack[] = [{ title: rows[0], key: rows[0] }];\n\n for (let i = 1; i < rows.length; i++) {\n const depth = rows[i].search(depthRegex);\n\n if (depth === -1) {\n continue;\n }\n const node: Partial<TreeData> = {\n title: rows[i].slice(depth + 3),\n depth,\n };\n\n while (stack.length && depth <= (stack[stack.length - 1].depth || 0)) {\n stack.pop();\n }\n if (!stack.length) {\n return [];\n }\n const parent = stack[stack.length - 1];\n\n if (!parent.children) {\n parent.children = [];\n }\n node.key = `${parent.key}-${node.title}-${depth}-${i}`;\n parent.children.push(node as TreeData);\n stack.push(node as TreeData);\n }\n\n return [stack[0]];\n }\n\n function handleChange(key: string, item: TreeData) {\n if (!_.readonly && isFunction(_.onChange)) {\n let _current = [...current()];\n\n if (_.multiple) {\n const idx = _current.indexOf(key);\n\n if (idx === -1) {\n _current.push(key);\n } else {\n _current.splice(idx, 1);\n }\n } else if (_.toggle && _current[0] === key) {\n _current = [];\n } else {\n _current = [key];\n }\n _.onChange(_.multiple ? _current : _current[0], item);\n }\n }\n function handleClick(e: MouseEvent, item: TreeData) {\n handleChange(item.key, item);\n _.onRowClick?.(e, item.key as never, item as TreeData<never>);\n }\n function renderItem(item: TreeData, title: JSX.Element, subTitle?: JSX.Element): JSX.Element[] {\n const row = _.renderRow?.(item, title, subTitle) || [title, subTitle];\n\n return rtl() ? row.reverse() : row;\n }\n\n function renderTreeRow(list: TreeData[], depth = 0): JSX.Element {\n return (\n <For each={list}>\n {(item) => {\n const { name, title, subTitle, key, children } = item;\n const _title = name === title || !name ? [title] : [name, title];\n\n return (\n <>\n <li\n class={cx(\n 'row',\n current().includes(key) && 'active',\n (_.readonly || !isFunction(_.onChange)) && 'non',\n )}\n onClick={(e) => handleClick(e, item)}\n onDblClick={(e) => _.onRowDoubleClick?.(e, key, item)}\n style={depth ? { '--depth': `${depth * 2}em` } : void 0}\n data-path-end={item[pathEnd]}\n data-path={item[path]}\n >\n {renderItem(\n item,\n <span class=\"title\">{(rtl() ? _title.reverse() : _title).join(': ')}</span>,\n subTitle && <span class=\"sub-title\">{subTitle}</span>,\n )}\n </li>\n {children ? renderTreeRow(children, depth + 1) : null}\n </>\n );\n }}\n </For>\n );\n }\n createEffect(() => {\n const data = _.fromSchema ? schema(_.data) : isString(_.data) ? parseTree(_.data) : _.data;\n\n setLines([...new Set(countLineLen(data))]);\n setTreeData(data);\n });\n\n createEffect(() => {\n const list = lines();\n const size = _.size || 'normal';\n\n frameCallback(() => {\n const len = list.length;\n\n if (el && len) {\n const prefixSize = sizeCnt[size];\n\n for (let i = 0; i < len; i++) {\n const al: NodeListOf<HTMLLIElement> = el.querySelectorAll(`li[data-path=\"${list[i]}\"]`);\n\n if (al.length) {\n const rect1 = al[0].getBoundingClientRect();\n let sideLen = rect1.height / 2 + prefixSize;\n\n if (al.length > 1) {\n const { bottom, height, top } = al[1].getBoundingClientRect();\n\n sideLen = i === 0 ? top - rect1.top : bottom - rect1.top - height / 2 + prefixSize;\n al[1].style.setProperty('--c', 'none');\n } else if (i === 0) {\n al[0].style.setProperty('--c', 'none');\n }\n if (al.length !== 1 || i !== 0) {\n al[0].style.setProperty('--line', `${Math.abs(sideLen)}px`);\n }\n }\n }\n }\n });\n });\n\n return (\n <>\n <style>\n {baseStyle()}\n {style}\n {css(_.css)}\n </style>\n <ul ref={el} class={cx('tree', _.size, _.class, rtl() && 'rtl')}>\n {renderTreeRow(treeData())}\n </ul>\n </>\n );\n}\n\nexport * from './type';\nexport default Tree;\n"],"names":["_","el","sizeCnt","small","normal","large","baseStyle","theme","lines","setLines","createSignal","treeData","setTreeData","rtl","createMemo","direction","current","value","Array","isArray","path","Symbol","pathEnd","createEffect","data","fromSchema","schema","isString","parseTree","str","depthRegex","rows","trim","split","stack","title","key","i","length","depth","search","node","slice","pop","parent","children","push","Set","countLineLen","tree","lastIdx","last","frist","line","len","item","isLast","concat","list","size","frameCallback","prefixSize","al","querySelectorAll","rect1","getBoundingClientRect","sideLen","height","bottom","top","style","setProperty","Math","abs","css","renderTreeRow","For","name","subTitle","_title","e","onRowDoubleClick","handleChange","readonly","isFunction","onChange","_current","multiple","idx","indexOf","splice","toggle","onRowClick","renderItem","row","renderRow","reverse","join","cx","includes","class"],"rangeMappings":"","mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neko-ui",
3
- "version": "2.7.4",
3
+ "version": "2.7.5-beta.0",
4
4
  "description": "WebComponents UI Libraries",
5
5
  "main": "es/index.js",
6
6
  "scripts": {
@@ -75,8 +75,6 @@
75
75
  "lib",
76
76
  "umd",
77
77
  "README.md",
78
- "CHANGELOG.md",
79
- "SECURITY.md",
80
78
  "LICENSE"
81
79
  ],
82
80
  "browserslist": [