@idui/react-tree
Version:
React Tree Component
1 lines • 9.57 kB
JavaScript
!function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n(require("react"),require("@idui/react-collapse"),require("styled-components"),require("styled-tools"),require("@idui/react-toggle-controls"));else if("function"==typeof define&&define.amd)define(["react","@idui/react-collapse","styled-components","styled-tools","@idui/react-toggle-controls"],n);else{var t="object"==typeof exports?n(require("react"),require("@idui/react-collapse"),require("styled-components"),require("styled-tools"),require("@idui/react-toggle-controls")):n(e.react,e["@idui/react-collapse"],e["styled-components"],e["styled-tools"],e["@idui/react-toggle-controls"]);for(var r in t)("object"==typeof exports?exports:e)[r]=t[r]}}(self,(function(e,n,t,r,o){return function(){"use strict";var i={50:function(e,n,t){t.r(n),t.d(n,{CheckboxTree:function(){return V},TreeNode:function(){return P},default:function(){return B}});var r,o,i,c,l,a,s,d,u,f,p,h=t(297),g=t.n(h),b=function(){},y=function(e){return"object"==typeof e},m=function(e,n){for(var t=n.split("."),r=e,o=0;o<t.length;){if(!y(r))return;r=r[t[o]],o++}return r},O=t(211),v=t.n(O),x=t(914),C=t.n(x),j=t(849),k=function(e,n){return Object.defineProperty?Object.defineProperty(e,"raw",{value:n}):e.raw=n,e},E=C()(v().Header)(r||(r=k(["\n cursor: pointer;\n"],["\n cursor: pointer;\n"]))),N=C()(v().Body)(o||(o=k(["\n padding-left: ",";\n"],["\n padding-left: ",";\n"])),(0,j.prop)("offset")),w=function(){return(w=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)},P=function e(n){var t=n.childNodes,r=n.renderLeaf,o=n.childrenOffset,i=void 0===o?"20px":o,c=n.idKey,l=void 0===c?"id":c,a=n.className,s=n.isOpen,d=function(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)n.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(t[r[o]]=e[r[o]])}return t}(n,["childNodes","renderLeaf","childrenOffset","idKey","className","isOpen"]),u=(0,h.useState)(s),f=u[0],p=u[1];(0,h.useEffect)((function(){p(s)}),[s]);var b=d;return t&&t.length?g().createElement(v(),{isOpen:f,onChangeOpen:p},g().createElement(E,null,(function(e){return r(w(w(w({},e),b),{hasChildren:!0,childNodes:t}))})),g().createElement(N,{offset:i,className:a},t.map((function(n,t){return g().createElement(e,w({className:a,key:m(n,l)||t,renderLeaf:r,childrenOffset:i},b,n))})))):r(b)},S=function(e){var n=e.nodes,t=e.regex,r=e.filterHighlighted,o=e.highlightClassName,i=e.searchBy,c=[];return n.forEach((function(e){var n=m(e,i).toString(),l=t.test(n),a=Object.assign({},e);l&&(function(e,n,t){for(var r=n.split("."),o=e,i=0;i<r.length-1;){var c=r[i];if(!y(o))return;y(o[c])||(o[c]={}),o=o[c],i++}y(o)&&(o[r[i]]=t)}(a,i,n.replace(t,"<span class=".concat(o,">$&</span>"))),a.isOpen=!0),function(e){return Boolean(e.childNodes&&e.childNodes.length)}(e)&&(a.childNodes=S({nodes:e.childNodes,regex:t,filterHighlighted:r,highlightClassName:o,searchBy:i}),a.isOpen||(a.isOpen=a.childNodes.some((function(e){return e.isOpen})))),r&&!a.isOpen||c.push(a)})),c},T=function(){return(T=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)},B=function(e){var n=e.nodes,t=void 0===n?[]:n,r=e.search,o=e.filterHighlighted,i=void 0!==o&&o,c=e.highlightClassName,l=void 0===c?"highlight":c,a=e.idKey,s=void 0===a?"id":a,d=e.searchBy,u=void 0===d?"label":d,f=e.renderLeaf,p=function(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)n.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(t[r[o]]=e[r[o]])}return t}(e,["nodes","search","filterHighlighted","highlightClassName","idKey","searchBy","renderLeaf"]),b=(0,h.useState)(t),y=b[0],O=b[1];(0,h.useEffect)((function(){O(r?S({nodes:t,regex:new RegExp(r,"ig"),filterHighlighted:i,highlightClassName:l,searchBy:u}):t)}),[r,i,t,l,u]);var v=p;return g().createElement(h.Fragment,null,y.map((function(e,n){return g().createElement(P,T({},e,{key:m(e,s)||n,renderLeaf:f},v))})))},q=function(e){return Boolean(e.childNodes&&e.childNodes.length)},F=function(e,n,t){e.disabled||(q(e)?e.childNodes.forEach((function(e){return F(e,n,t)})):n[e.id]=t)},L=function(e,n){return e.forEach((function(e){q(e)&&(L(e.childNodes,n),n[e.id]=D(e.childNodes,n))}))},K=function(e,n){for(var t=0;t<e.length;t++){var r=e[t];if(r.id===n)return r;if(q(r)){var o=K(r.childNodes,n);if(o)return o}}},D=function(e,n){return e.every((function(e){return q(e)?D(e.childNodes,n):n[e.id]}))},H=function(e,n){return e.some((function(e){return q(e)?H(e.childNodes,n):n[e.id]}))},M=t(948),I=function(e,n){return Object.defineProperty?Object.defineProperty(e,"raw",{value:n}):e.raw=n,e},z=C().div(i||(i=I(["\n margin-bottom: 5px;\n display: flex;\n align-items: center;\n position: relative;\n"],["\n margin-bottom: 5px;\n display: flex;\n align-items: center;\n position: relative;\n"]))),_=C()(M.Checkbox)(c||(c=I(["\n cursor: pointer;\n"],["\n cursor: pointer;\n"]))),R=C().div(l||(l=I(["\n width: 10px;\n height: 10px;\n background-color: currentColor;\n border-radius: 2px;\n"],["\n width: 10px;\n height: 10px;\n background-color: currentColor;\n border-radius: 2px;\n"]))),$=C().span(a||(a=I(["\n position: absolute;\n left: -15px;\n display: inline-block;\n cursor: pointer;\n font-size: 16px;\n line-height: 20px;\n vertical-align: middle;\n"],["\n position: absolute;\n left: -15px;\n display: inline-block;\n cursor: pointer;\n font-size: 16px;\n line-height: 20px;\n vertical-align: middle;\n"]))),A=function(){return(A=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)},G=((s={})[M.ToggleState.on]=((d={})[M.CheckboxThemedElements.background]="#580B9E",d[M.CheckboxThemedElements.border]="#580B9E",d[M.CheckboxThemedElements.icon]="#FFFFFF",d),s[M.ToggleState.off]=((u={})[M.CheckboxThemedElements.background]="transparent",u[M.CheckboxThemedElements.border]="#CCCCCC",u[M.CheckboxThemedElements.icon]="transparent",u.hover=((f={})[M.CheckboxThemedElements.border]="#580B9E",f),u),s[M.ToggleState.disabled]=((p={})[M.CheckboxThemedElements.background]="#F5F5F5",p[M.CheckboxThemedElements.border]="#D9D9D9",p[M.CheckboxThemedElements.icon]="#D9D9D9",p),s),J=A(A({},G),{anyChecked:A(A({},G.off),{icon:G.on.background})}),Q=function(e){var n=e.label,t=e.id,r=e.checkedKeysObject,o=e.onChange,i=e.toggle,c=e.disabled,l=e.className,a=e.childNodes,s=e.colors,d=void 0===s?J:s,u=e.allCheckedIcon,f=e.anyCheckedIcon,p=void 0===f?g().createElement(R,null):f,b=e.checkboxSize,y=e.hasChildren,m=e.isOpen,O=e.render,v=(0,h.useCallback)((function(e){o(!(!a||!a.length||Boolean(r[t.toString()]))||e,t)}),[o,t,a,r]),x=(0,h.useMemo)((function(){return a&&H(a,r)}),[r,a]),C=(0,h.useMemo)((function(){return{on:d.on,off:x?d.anyChecked:d.off,disabled:d.disabled}}),[d,x]),j=Boolean(r[t.toString()]);return O?O({hasChildren:y,toggle:i,isOpen:m,name:t,checked:j,onChange:v,disabled:c,label:n,hasCheckedChildren:x}):g().createElement(z,{className:l},y&&g().createElement($,{onClick:i},m?"▾":"▸"),g().createElement(_,{name:t.toString(),checked:j,onChange:v,disabled:c,icon:j?u:p,colors:C,size:b,label:n}))},U=function(){return(U=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)},V=function(e){var n=e.nodes,t=void 0===n?[]:n,r=e.checkedKeys,o=void 0===r?[]:r,i=e.onChange,c=void 0===i?b:i,l=e.renderLeaf,a=function(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)n.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(t[r[o]]=e[r[o]])}return t}(e,["nodes","checkedKeys","onChange","renderLeaf"]),s=(0,h.useMemo)((function(){return Object.fromEntries(o.map((function(e){return[e,!0]})))}),[o]),d=(0,h.useCallback)((function(e,n){var r=Object.assign({},s),o=K(t,n);F(o,r,e),L(t,r),c(Object.keys(r).filter((function(e){return r[e]})))}),[c,t,s]);return g().createElement(B,U({},a,{onChange:d,nodes:t,checkedKeysObject:s,renderLeaf:function(e){return g().createElement(Q,U({},e,{render:l}))}}))}},211:function(e){e.exports=n},948:function(e){e.exports=o},297:function(n){n.exports=e},914:function(e){e.exports=t},849:function(e){e.exports=r}},c={};function l(e){if(c[e])return c[e].exports;var n=c[e]={exports:{}};return i[e](n,n.exports,l),n.exports}return l.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(n,{a:n}),n},l.d=function(e,n){for(var t in n)l.o(n,t)&&!l.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},l.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l(50)}()}));