@lotte-innovate/ui-component-test 0.0.139 → 0.0.141

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.
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { IAllProps } from '@tinymce/tinymce-react';
3
3
  import { VariantProps } from 'class-variance-authority';
4
+ import '../../../lib/utils/useLoadTinyMCE';
4
5
  import 'tinymce/skins/ui/oxide/skin.css';
5
6
  export interface EditorProps extends VariantProps<typeof editorVariants> {
6
7
  language?: 'ko_KR' | 'zh_CN' | 'ja' | 'it' | 'vi';
@@ -22,10 +22,10 @@ var __rest = (this && this.__rest) || function (s, e) {
22
22
  return t;
23
23
  };
24
24
  import { jsx as _jsx } from "react/jsx-runtime";
25
- import { forwardRef, useEffect, useState, useRef, } from 'react';
25
+ import { forwardRef, useEffect, useRef } from 'react';
26
26
  import { Editor as EditorUI } from '@tinymce/tinymce-react';
27
27
  import { cva } from 'class-variance-authority';
28
- import { loadTinyMCE } from '../../../lib/utils/useLoadTinyMCE';
28
+ import '../../../lib/utils/useLoadTinyMCE';
29
29
  import { scalingVariants, radiusVariants } from '../../../lib/constants';
30
30
  import { cn } from '../../../lib/utils/utils';
31
31
  import { useTheme } from '../../../lib/theme';
@@ -51,7 +51,6 @@ var editorVariants = cva('', {
51
51
  });
52
52
  export var Editor = forwardRef(function (_a, ref) {
53
53
  var className = _a.className, size = _a.size, scaling = _a.scaling, radius = _a.radius, init = _a.init, _b = _a.language, language = _b === void 0 ? 'en' : _b, props = __rest(_a, ["className", "size", "scaling", "radius", "init", "language"]);
54
- var _c = useState(false), isClient = _c[0], setIsClient = _c[1];
55
54
  var editorRef = useRef(null);
56
55
  var theme = useTheme().theme;
57
56
  var editorStyle = {
@@ -68,23 +67,15 @@ export var Editor = forwardRef(function (_a, ref) {
68
67
  radiusTheme = '12px';
69
68
  if (editorStyle.radius === 'full')
70
69
  radiusTheme = '16px';
71
- useEffect(function () {
72
- if (typeof window !== 'undefined') {
73
- loadTinyMCE().then(function () {
74
- setIsClient(true);
75
- });
76
- }
77
- }, []);
78
70
  useEffect(function () {
79
71
  if (editorRef.current) {
80
72
  var editorContainer = editorRef.current.getContainer();
81
- editorContainer.style.borderRadius = "".concat(radiusTheme);
73
+ if (editorContainer) {
74
+ editorContainer.style.borderRadius = "".concat(radiusTheme);
75
+ }
82
76
  }
83
77
  }, [radiusTheme]);
84
- if (!isClient) {
85
- return null;
86
- }
87
- return (_jsx("div", { className: cn(editorVariants(editorStyle), className), ref: ref, children: _jsx(EditorUI, __assign({ onInit: function (evt, editor) { return (editorRef.current = editor); }, init: __assign({ language: language, width: '100%', height: '100%', promotion: false, plugins: 'preview importcss searchreplace autolink autosave save directionality code visualblocks visualchars fullscreen image link media template codesample table charmap pagebreak nonbreaking anchor insertdatetime advlist lists wordcount charmap accordion', menubar: 'file edit view insert format tools table', toolbar: 'undo redo | accordion accordionremove | blocks fontfamily fontsize | bold italic underline strikethrough | align numlist bullist | link image | table media | lineheight outdent indent| forecolor backcolor removeformat | charmap | code fullscreen preview | save print | pagebreak anchor codesample | ltr rtl', autosave_ask_before_unload: true, autosave_interval: '30s', autosave_restore_when_empty: false, autosave_retention: '2m', image_advtab: true, image_caption: true, quickbars_selection_toolbar: '', toolbar_mode: 'sliding', skin: false, content_css: false, content_style: "".concat(contentUiSkinCss, "\n").concat(contentCss, "\n body { font-family:Noto Sans KR, sans-serif, Nunito Sans, Helvetica Neue, Helvetica }"), setup: function (editor) {
78
+ return (_jsx("div", { className: cn(editorVariants(editorStyle), className), ref: ref, children: _jsx(EditorUI, __assign({ onInit: function (evt, editor) { return (editorRef.current = editor); }, init: __assign({ language: language, width: '100%', height: '100%', promotion: false, plugins: 'preview importcss searchreplace autolink autosave save directionality code visualblocks visualchars fullscreen image link media codesample table charmap pagebreak nonbreaking anchor insertdatetime advlist lists wordcount charmap accordion', menubar: 'file edit view insert format tools table', toolbar: 'undo redo | accordion accordionremove | blocks fontfamily fontsize | bold italic underline strikethrough | align numlist bullist | link image | table media | lineheight outdent indent| forecolor backcolor removeformat | charmap | code fullscreen preview | save print | pagebreak anchor codesample | ltr rtl', autosave_ask_before_unload: true, autosave_interval: '30s', autosave_restore_when_empty: false, autosave_retention: '2m', image_advtab: true, image_caption: true, quickbars_selection_toolbar: '', toolbar_mode: 'sliding', skin: false, content_css: false, content_style: "".concat(contentUiSkinCss, "\n").concat(contentCss, "\n body { font-family:Noto Sans KR, sans-serif, Nunito Sans, Helvetica Neue, Helvetica }"), setup: function (editor) {
88
79
  editor.ui.registry.addButton('inlinecode', {
89
80
  icon: 'sourcecode',
90
81
  tooltip: 'Inline code',
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{jsx as e}from"react/jsx-runtime";import{forwardRef as t,useState as n,useRef as i,useEffect as o}from"react";import{Editor as r}from"@tinymce/tinymce-react";import{cva as a}from"class-variance-authority";import{loadTinyMCE as s}from"../../utils/useLoadTinyMCE.mjs";import{radiusVariants as l,scalingVariants as c}from"../../constants.mjs";import{cn as u}from"../../utils/utils.mjs";import{useTheme as m}from"../../theme/ThemeProvider.mjs";import{marked as d}from"marked";import"tinymce/skins/ui/oxide/skin.css";import p from"!!raw-loader!tinymce/skins/ui/oxide/content.css";import f from"!!raw-loader!tinymce/skins/content/default/content.css";var g=function(){return g=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},g.apply(this,arguments)},v=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(n[i[o]]=e[i[o]])}return n},b=a("",{variants:{radius:g({},l.base),scaling:g({},c),size:{small:"w-[650px] h-[350px]",medium:"w-[700px] h-[400px]",large:"w-[750px] h-[450px]"}},defaultVariants:{radius:"medium",scaling:"100%",size:"medium"}}),h=t((function(t,a){var l=t.className,c=t.size,h=t.scaling,y=t.radius,k=t.init,w=t.language,x=void 0===w?"en":w,_=v(t,["className","size","scaling","radius","init","language"]),O=n(!1),j=O[0],N=O[1],z=i(null),C=m().theme,P={radius:null!=y?y:C.themeRadius,scaling:null!=h?h:C.themeScaling,size:c},S="8px";return"none"===P.radius&&(S="0px"),"small"===P.radius&&(S="4px"),"large"===P.radius&&(S="12px"),"full"===P.radius&&(S="16px"),o((function(){"undefined"!=typeof window&&s().then((function(){N(!0)}))}),[]),o((function(){z.current&&(z.current.getContainer().style.borderRadius="".concat(S))}),[S]),j?e("div",{className:u(b(P),l),ref:a,children:e(r,g({onInit:function(e,t){return z.current=t},init:g({language:x,width:"100%",height:"100%",promotion:!1,plugins:"preview importcss searchreplace autolink autosave save directionality code visualblocks visualchars fullscreen image link media template codesample table charmap pagebreak nonbreaking anchor insertdatetime advlist lists wordcount charmap accordion",menubar:"file edit view insert format tools table",toolbar:"undo redo | accordion accordionremove | blocks fontfamily fontsize | bold italic underline strikethrough | align numlist bullist | link image | table media | lineheight outdent indent| forecolor backcolor removeformat | charmap | code fullscreen preview | save print | pagebreak anchor codesample | ltr rtl",autosave_ask_before_unload:!0,autosave_interval:"30s",autosave_restore_when_empty:!1,autosave_retention:"2m",image_advtab:!0,image_caption:!0,quickbars_selection_toolbar:"",toolbar_mode:"sliding",skin:!1,content_css:!1,content_style:"".concat(p,"\n").concat(f,"\n body { font-family:Noto Sans KR, sans-serif, Nunito Sans, Helvetica Neue, Helvetica }"),setup:function(e){e.ui.registry.addButton("inlinecode",{icon:"sourcecode",tooltip:"Inline code",onAction:function(){e.formatter.toggle("code")}}),e.on("init",(function(){e.formatter.register("code",{inline:"code",remove:"all"})})),e.ui.registry.addButton("markdown",{text:"Markdown",onAction:function(){var t=e.getContent({format:"text"}),n=d(t);e.setContent(n)}}),e.on("init",(function(){e.getContainer().style.borderRadius=S}))}},k)},_))}):null}));h.displayName="Editor";export{h as Editor,h as default};
2
+ import{jsx as i}from"react/jsx-runtime";import{forwardRef as t,useRef as n,useEffect as e}from"react";import{Editor as o}from"@tinymce/tinymce-react";import{cva as r}from"class-variance-authority";import"tinymce/tinymce.js";import"tinymce/themes/silver/theme.js";import"tinymce/models/dom/model.js";import"tinymce/icons/default/icons.js";import"tinymce/plugins/advlist/plugin.js";import"tinymce/plugins/code/plugin.js";import"tinymce/plugins/codesample/plugin.js";import"tinymce/plugins/link/plugin.js";import"tinymce/plugins/lists/plugin.js";import"tinymce/plugins/table/plugin.js";import"tinymce/plugins/image/plugin.js";import"tinymce/plugins/preview/plugin.js";import"tinymce/plugins/importcss/plugin.js";import"tinymce/plugins/searchreplace/plugin.js";import"tinymce/plugins/autolink/plugin.js";import"tinymce/plugins/autosave/plugin.js";import"tinymce/plugins/save/plugin.js";import"tinymce/plugins/directionality/plugin.js";import"tinymce/plugins/visualblocks/plugin.js";import"tinymce/plugins/visualchars/plugin.js";import"tinymce/plugins/fullscreen/plugin.js";import"tinymce/plugins/media/plugin.js";import"tinymce/plugins/charmap/plugin.js";import"tinymce/plugins/pagebreak/plugin.js";import"tinymce/plugins/nonbreaking/plugin.js";import"tinymce/plugins/anchor/plugin.js";import"tinymce/plugins/insertdatetime/plugin.js";import"tinymce/plugins/wordcount/plugin.js";import"tinymce/plugins/quickbars/plugin.js";import"tinymce/plugins/emoticons/plugin.js";import"tinymce/plugins/accordion/plugin.js";import"../../utils/langs/ko_KR.mjs";import"../../utils/langs/it.mjs";import"../../utils/langs/ja.mjs";import"../../utils/langs/vi.mjs";import"../../utils/langs/zh_CN.mjs";import{radiusVariants as s,scalingVariants as a}from"../../constants.mjs";import{cn as l}from"../../utils/utils.mjs";import{useTheme as m}from"../../theme/ThemeProvider.mjs";import{marked as c}from"marked";import"tinymce/skins/ui/oxide/skin.css";import p from"!!raw-loader!tinymce/skins/ui/oxide/content.css";import u from"!!raw-loader!tinymce/skins/content/default/content.css";var g=function(){return g=Object.assign||function(i){for(var t,n=1,e=arguments.length;n<e;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(i[o]=t[o]);return i},g.apply(this,arguments)},d=function(i,t){var n={};for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&t.indexOf(e)<0&&(n[e]=i[e]);if(null!=i&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(e=Object.getOwnPropertySymbols(i);o<e.length;o++)t.indexOf(e[o])<0&&Object.prototype.propertyIsEnumerable.call(i,e[o])&&(n[e[o]]=i[e[o]])}return n},y=r("",{variants:{radius:g({},s.base),scaling:g({},a),size:{small:"w-[650px] h-[350px]",medium:"w-[700px] h-[400px]",large:"w-[750px] h-[450px]"}},defaultVariants:{radius:"medium",scaling:"100%",size:"medium"}}),f=t((function(t,r){var s=t.className,a=t.size,f=t.scaling,j=t.radius,v=t.init,h=t.language,b=void 0===h?"en":h,k=d(t,["className","size","scaling","radius","init","language"]),w=n(null),x=m().theme,_={radius:null!=j?j:x.themeRadius,scaling:null!=f?f:x.themeScaling,size:a},O="8px";return"none"===_.radius&&(O="0px"),"small"===_.radius&&(O="4px"),"large"===_.radius&&(O="12px"),"full"===_.radius&&(O="16px"),e((function(){if(w.current){var i=w.current.getContainer();i&&(i.style.borderRadius="".concat(O))}}),[O]),i("div",{className:l(y(_),s),ref:r,children:i(o,g({onInit:function(i,t){return w.current=t},init:g({language:b,width:"100%",height:"100%",promotion:!1,plugins:"preview importcss searchreplace autolink autosave save directionality code visualblocks visualchars fullscreen image link media codesample table charmap pagebreak nonbreaking anchor insertdatetime advlist lists wordcount charmap accordion",menubar:"file edit view insert format tools table",toolbar:"undo redo | accordion accordionremove | blocks fontfamily fontsize | bold italic underline strikethrough | align numlist bullist | link image | table media | lineheight outdent indent| forecolor backcolor removeformat | charmap | code fullscreen preview | save print | pagebreak anchor codesample | ltr rtl",autosave_ask_before_unload:!0,autosave_interval:"30s",autosave_restore_when_empty:!1,autosave_retention:"2m",image_advtab:!0,image_caption:!0,quickbars_selection_toolbar:"",toolbar_mode:"sliding",skin:!1,content_css:!1,content_style:"".concat(p,"\n").concat(u,"\n body { font-family:Noto Sans KR, sans-serif, Nunito Sans, Helvetica Neue, Helvetica }"),setup:function(i){i.ui.registry.addButton("inlinecode",{icon:"sourcecode",tooltip:"Inline code",onAction:function(){i.formatter.toggle("code")}}),i.on("init",(function(){i.formatter.register("code",{inline:"code",remove:"all"})})),i.ui.registry.addButton("markdown",{text:"Markdown",onAction:function(){var t=i.getContent({format:"text"}),n=c(t);i.setContent(n)}}),i.on("init",(function(){i.getContainer().style.borderRadius=O}))}},v)},k))})}));f.displayName="Editor";export{f as Editor,f as default};
3
3
  //# sourceMappingURL=index.mjs.map
@@ -178,7 +178,7 @@ var Tree = React.forwardRef(function (_a, ref) {
178
178
  setTreeData(t_1);
179
179
  }
180
180
  }, [items]);
181
- return (_jsxs("div", { className: "text-slate-12", children: [_jsx("style", { children: "\n :root {\n --rct-bar-color: \"\";\n }\n " }), isSearch && (_jsxs("div", { className: "flex", children: [_jsx(TextField.Root, { color: contextValue.color, value: search, onChange: function (e) { return setSearch(e.target.value); }, placeholder: "\uAC80\uC0C9\uC5B4\uB97C \uC785\uB825\uD558\uC138\uC694", className: "mr-2" }), _jsx(Button, { color: contextValue.color, onClick: find, children: "\uAC80\uC0C9" })] })), _jsx(UncontrolledTreeEnvironment, __assign({ ref: ref, dataProvider: treeProvider, viewState: (_b = {},
181
+ return (_jsxs("div", { className: "text-slate-12", children: [isSearch && (_jsxs("div", { className: "flex", children: [_jsx(TextField.Root, { color: contextValue.color, value: search, onChange: function (e) { return setSearch(e.target.value); }, placeholder: "\uAC80\uC0C9\uC5B4\uB97C \uC785\uB825\uD558\uC138\uC694", className: "mr-2" }), _jsx(Button, { color: contextValue.color, onClick: find, children: "\uAC80\uC0C9" })] })), _jsx(UncontrolledTreeEnvironment, __assign({ ref: ref, dataProvider: treeProvider, viewState: (_b = {},
182
182
  _b[treeId] = {
183
183
  focusedItem: (_d = focusedItem[0]) !== null && _d !== void 0 ? _d : '',
184
184
  expandedItems: expandedItems,
@@ -1,2 +1,2 @@
1
- import{jsxs as e,jsx as r}from"react/jsx-runtime";import{cva as t}from"class-variance-authority";import{primaryColorStyle as n}from"../../constants.mjs";import o,{useState as l,useRef as a,useCallback as i,useEffect as c}from"react";import{StaticTreeDataProvider as u,UncontrolledTreeEnvironment as s,Tree as f}from"react-complex-tree";import"../../node_modules/react-complex-tree/lib/style-modern.mjs";import d from"../TextField/index.mjs";import{Button as m}from"../Button/index.mjs";import{MAIN_COLOR as p}from"../../color/constants.mjs";import{useTheme as h}from"../../theme/ThemeProvider.mjs";var v=function(){return v=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var o in r=arguments[t])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},v.apply(this,arguments)},y=function(e,r,t,n){return new(t||(t=Promise))((function(o,l){function a(e){try{c(n.next(e))}catch(e){l(e)}}function i(e){try{c(n.throw(e))}catch(e){l(e)}}function c(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(a,i)}c((n=n.apply(e,r||[])).next())}))},b=function(e,r){var t,n,o,l,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(i){return function(c){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;l&&(l=0,i[0]&&(a=0)),a;)try{if(t=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=r.call(e,a)}catch(e){i=[6,e],n=0}finally{t=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}},x=function(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)r.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(t[n[o]]=e[n[o]])}return t},w=function(e,r,t){if(t||2===arguments.length)for(var n,o=0,l=r.length;o<l;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))};function g(e,r){var t=[];return Object.values(e).forEach((function(e){e[r]&&t.push(e.index)})),t}t("",{variants:{color:n()}});var j=null,I=o.forwardRef((function(t,n){var o,I,O,S=t.items,P=t.treeId;t.className;var k=t.color,T=t.isSearch,E=x(t,["items","treeId","className","color","isSearch"]),N=l(""),C=N[0],F=N[1],R=a(null),B=l({}),L=B[0],A=B[1],q=g(S,"isFocusd"),z=g(S,"isExpanded"),D=g(S,"isSelected");j=new u(L,(function(e,r){return v(v({},e),{data:r})}));var G=h().theme,_={color:null!==(I=null!=k?k:G.themeColor)&&void 0!==I?I:p},H=i((function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];return y(void 0,w([e],r,!0),void 0,(function(e,r){var t,n,o,l,a;return void 0===r&&(r="root"),b(this,(function(i){switch(i.label){case 0:return j?[4,j.getTreeItem(r)]:[2];case 1:return(t=i.sent()).data.toLowerCase().includes(e.toLowerCase())?[2,[t.index]]:[4,Promise.all(null!==(a=null===(l=t.children)||void 0===l?void 0:l.map((function(r){return H(e,r)})))&&void 0!==a?a:[])];case 2:return n=i.sent(),o=n.find((function(e){return null!==e})),o?[2,w([t.index],o,!0)]:[2,null]}}))}))}),[j]),J=i((function(e){e.preventDefault(),C&&H(C).then((function(e){var r;e&&(null===(r=R.current)||void 0===r||r.expandSubsequently(e).then((function(){var r,t;null===(r=R.current)||void 0===r||r.selectItems([e[e.length-1]]),null===(t=R.current)||void 0===t||t.focusItem(e[e.length-1])})))}))}),[H,C]);return c((function(){if(S){var e=[],r=[];S.map((function(e){r.push.apply(r,e.children)})),S.forEach((function(t){r.includes(t.index)||e.push(t.index)}));var t={};t.root={index:"root",isFolder:!0,children:e,data:"Root item"},S.map((function(e){t[e.index]=v(v({},e),{isFolder:e.children.length>0})})),A(t)}}),[S]),e("div",{className:"text-slate-12",children:[r("style",{children:'\n :root {\n --rct-bar-color: "";\n }\n '}),T&&e("div",{className:"flex",children:[r(d.Root,{color:_.color,value:C,onChange:function(e){return F(e.target.value)},placeholder:"검색어를 입력하세요",className:"mr-2"}),r(m,{color:_.color,onClick:J,children:"검색"})]}),r(s,v({ref:n,dataProvider:j,viewState:(o={},o[P]={focusedItem:null!==(O=q[0])&&void 0!==O?O:"",expandedItems:z,selectedItems:D},o),keyboardBindings:v({renameItem:["enter"],abortRenameItem:["control+z"]},E.keyboardBindings)},E,{canSearch:!1,children:r(f,{ref:R,treeId:P,rootItem:"root",treeLabel:"Tree Example"})}))]})}));I.displayName="Tree";export{I as Tree,j as treeProvider};
1
+ import{jsxs as e,jsx as r}from"react/jsx-runtime";import{cva as t}from"class-variance-authority";import{primaryColorStyle as n}from"../../constants.mjs";import o,{useState as l,useRef as a,useCallback as i,useEffect as c}from"react";import{StaticTreeDataProvider as u,UncontrolledTreeEnvironment as s,Tree as f}from"react-complex-tree";import"../../node_modules/react-complex-tree/lib/style-modern.mjs";import d from"../TextField/index.mjs";import{Button as m}from"../Button/index.mjs";import{MAIN_COLOR as p}from"../../color/constants.mjs";import{useTheme as h}from"../../theme/ThemeProvider.mjs";var v=function(){return v=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var o in r=arguments[t])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},v.apply(this,arguments)},y=function(e,r,t,n){return new(t||(t=Promise))((function(o,l){function a(e){try{c(n.next(e))}catch(e){l(e)}}function i(e){try{c(n.throw(e))}catch(e){l(e)}}function c(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(a,i)}c((n=n.apply(e,r||[])).next())}))},b=function(e,r){var t,n,o,l,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(i){return function(c){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;l&&(l=0,i[0]&&(a=0)),a;)try{if(t=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=r.call(e,a)}catch(e){i=[6,e],n=0}finally{t=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}},x=function(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)r.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(t[n[o]]=e[n[o]])}return t},w=function(e,r,t){if(t||2===arguments.length)for(var n,o=0,l=r.length;o<l;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))};function g(e,r){var t=[];return Object.values(e).forEach((function(e){e[r]&&t.push(e.index)})),t}t("",{variants:{color:n()}});var j=null,I=o.forwardRef((function(t,n){var o,I,O,S=t.items,P=t.treeId;t.className;var k=t.color,T=t.isSearch,E=x(t,["items","treeId","className","color","isSearch"]),N=l(""),C=N[0],F=N[1],R=a(null),B=l({}),L=B[0],A=B[1],q=g(S,"isFocusd"),z=g(S,"isExpanded"),D=g(S,"isSelected");j=new u(L,(function(e,r){return v(v({},e),{data:r})}));var G=h().theme,_={color:null!==(I=null!=k?k:G.themeColor)&&void 0!==I?I:p},H=i((function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];return y(void 0,w([e],r,!0),void 0,(function(e,r){var t,n,o,l,a;return void 0===r&&(r="root"),b(this,(function(i){switch(i.label){case 0:return j?[4,j.getTreeItem(r)]:[2];case 1:return(t=i.sent()).data.toLowerCase().includes(e.toLowerCase())?[2,[t.index]]:[4,Promise.all(null!==(a=null===(l=t.children)||void 0===l?void 0:l.map((function(r){return H(e,r)})))&&void 0!==a?a:[])];case 2:return n=i.sent(),o=n.find((function(e){return null!==e})),o?[2,w([t.index],o,!0)]:[2,null]}}))}))}),[j]),J=i((function(e){e.preventDefault(),C&&H(C).then((function(e){var r;e&&(null===(r=R.current)||void 0===r||r.expandSubsequently(e).then((function(){var r,t;null===(r=R.current)||void 0===r||r.selectItems([e[e.length-1]]),null===(t=R.current)||void 0===t||t.focusItem(e[e.length-1])})))}))}),[H,C]);return c((function(){if(S){var e=[],r=[];S.map((function(e){r.push.apply(r,e.children)})),S.forEach((function(t){r.includes(t.index)||e.push(t.index)}));var t={};t.root={index:"root",isFolder:!0,children:e,data:"Root item"},S.map((function(e){t[e.index]=v(v({},e),{isFolder:e.children.length>0})})),A(t)}}),[S]),e("div",{className:"text-slate-12",children:[T&&e("div",{className:"flex",children:[r(d.Root,{color:_.color,value:C,onChange:function(e){return F(e.target.value)},placeholder:"검색어를 입력하세요",className:"mr-2"}),r(m,{color:_.color,onClick:J,children:"검색"})]}),r(s,v({ref:n,dataProvider:j,viewState:(o={},o[P]={focusedItem:null!==(O=q[0])&&void 0!==O?O:"",expandedItems:z,selectedItems:D},o),keyboardBindings:v({renameItem:["enter"],abortRenameItem:["control+z"]},E.keyboardBindings)},E,{canSearch:!1,children:r(f,{ref:R,treeId:P,rootItem:"root",treeLabel:"Tree Example"})}))]})}));I.displayName="Tree";export{I as Tree,j as treeProvider};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../lib/components/Tree/index.js"],"sourcesContent":["var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cva } from 'class-variance-authority';\nimport { primaryColorStyle } from '../../../lib/constants';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { StaticTreeDataProvider, Tree as ComplexTree, UncontrolledTreeEnvironment, } from 'react-complex-tree';\nimport 'react-complex-tree/lib/style-modern.css';\nimport TextField from '../TextField';\nimport Button from '../Button';\nimport { MAIN_COLOR } from '../../../lib/color/constants';\nimport { useTheme } from '../../../lib/theme';\nvar treeVariants = cva('', {\n variants: {\n color: primaryColorStyle(),\n },\n});\nfunction findItems(arr, key) {\n var results = [];\n Object.values(arr).forEach(function (item) {\n if (item[key]) {\n results.push(item.index);\n }\n });\n return results;\n}\nvar treeProvider = null;\nvar Tree = React.forwardRef(function (_a, ref) {\n var _b;\n var _c, _d;\n var items = _a.items, treeId = _a.treeId, className = _a.className, color = _a.color, isSearch = _a.isSearch, props = __rest(_a, [\"items\", \"treeId\", \"className\", \"color\", \"isSearch\"]);\n var _e = useState(''), search = _e[0], setSearch = _e[1];\n var tree = useRef(null);\n var _f = useState({}), treeData = _f[0], setTreeData = _f[1];\n var focusedItem = findItems(items, 'isFocusd');\n var expandedItems = findItems(items, 'isExpanded');\n var selectedItems = findItems(items, 'isSelected');\n treeProvider = new StaticTreeDataProvider(treeData, function (item, data) { return (__assign(__assign({}, item), { data: data })); });\n var theme = useTheme().theme;\n var contextValue = {\n color: (_c = color !== null && color !== void 0 ? color : theme.themeColor) !== null && _c !== void 0 ? _c : MAIN_COLOR,\n };\n var findItemPath = useCallback(function (search_1) {\n var args_1 = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args_1[_i - 1] = arguments[_i];\n }\n return __awaiter(void 0, __spreadArray([search_1], args_1, true), void 0, function (search, searchRoot) {\n var item, searchedItems, result;\n var _a, _b;\n if (searchRoot === void 0) { searchRoot = 'root'; }\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!treeProvider)\n return [2 /*return*/];\n return [4 /*yield*/, treeProvider.getTreeItem(searchRoot)];\n case 1:\n item = _c.sent();\n if (item.data.toLowerCase().includes(search.toLowerCase())) {\n return [2 /*return*/, [item.index]];\n }\n return [4 /*yield*/, Promise.all((_b = (_a = item.children) === null || _a === void 0 ? void 0 : _a.map(function (child) { return findItemPath(search, child); })) !== null && _b !== void 0 ? _b : [])];\n case 2:\n searchedItems = _c.sent();\n result = searchedItems.find(function (item) { return item !== null; });\n if (!result) {\n return [2 /*return*/, null];\n }\n return [2 /*return*/, __spreadArray([item.index], result, true)];\n }\n });\n });\n }, [treeProvider]);\n var find = useCallback(function (e) {\n e.preventDefault();\n if (search) {\n findItemPath(search).then(function (path) {\n var _a;\n if (path) {\n // wait for full path including leaf, to make sure it loaded in\n (_a = tree.current) === null || _a === void 0 ? void 0 : _a.expandSubsequently(path).then(function () {\n var _a, _b;\n (_a = tree.current) === null || _a === void 0 ? void 0 : _a.selectItems([path[path.length - 1]]);\n (_b = tree.current) === null || _b === void 0 ? void 0 : _b.focusItem(path[path.length - 1]);\n });\n }\n });\n }\n }, [findItemPath, search]);\n useEffect(function () {\n if (items) {\n var results_1 = [];\n var children_1 = [];\n items.map(function (item) {\n children_1.push.apply(children_1, item.children);\n });\n items.forEach(function (item) {\n if (!children_1.includes(item.index)) {\n results_1.push(item.index);\n }\n });\n var t_1 = {};\n t_1['root'] = {\n index: 'root',\n isFolder: true,\n children: results_1,\n data: 'Root item',\n };\n items.map(function (item) {\n t_1[item.index] = __assign(__assign({}, item), { isFolder: item.children.length > 0 });\n });\n setTreeData(t_1);\n }\n }, [items]);\n return (_jsxs(\"div\", { className: \"text-slate-12\", children: [_jsx(\"style\", { children: \"\\n :root {\\n --rct-bar-color: \\\"\\\";\\n }\\n \" }), isSearch && (_jsxs(\"div\", { className: \"flex\", children: [_jsx(TextField.Root, { color: contextValue.color, value: search, onChange: function (e) { return setSearch(e.target.value); }, placeholder: \"\\uAC80\\uC0C9\\uC5B4\\uB97C \\uC785\\uB825\\uD558\\uC138\\uC694\", className: \"mr-2\" }), _jsx(Button, { color: contextValue.color, onClick: find, children: \"\\uAC80\\uC0C9\" })] })), _jsx(UncontrolledTreeEnvironment, __assign({ ref: ref, dataProvider: treeProvider, viewState: (_b = {},\n _b[treeId] = {\n focusedItem: (_d = focusedItem[0]) !== null && _d !== void 0 ? _d : '',\n expandedItems: expandedItems,\n selectedItems: selectedItems,\n },\n _b), keyboardBindings: __assign({ renameItem: ['enter'], abortRenameItem: ['control+z'] }, props.keyboardBindings) }, props, { canSearch: false, children: _jsx(ComplexTree, { ref: tree, treeId: treeId, rootItem: \"root\", treeLabel: \"Tree Example\" }) }))] }));\n});\nTree.displayName = 'Tree';\nexport { Tree, treeProvider };\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__spreadArray","to","from","pack","ar","l","Array","slice","concat","findItems","arr","key","results","values","forEach","item","index","cva","variants","color","primaryColorStyle","treeProvider","Tree","React","forwardRef","_a","ref","_b","_c","_d","items","treeId","className","isSearch","props","_e","useState","search","setSearch","tree","useRef","_f","treeData","setTreeData","focusedItem","expandedItems","selectedItems","StaticTreeDataProvider","data","theme","useTheme","contextValue","themeColor","MAIN_COLOR","findItemPath","useCallback","search_1","args_1","_i","searchRoot","searchedItems","getTreeItem","toLowerCase","includes","all","children","map","child","find","preventDefault","path","current","expandSubsequently","selectItems","focusItem","useEffect","results_1","children_1","t_1","isFolder","_jsxs","_jsx","TextField","Root","onChange","target","placeholder","Button","onClick","UncontrolledTreeEnvironment","dataProvider","viewState","keyboardBindings","renameItem","abortRenameItem","canSearch","ComplexTree","rootItem","treeLabel","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../lib/components/Tree/index.js"],"sourcesContent":["var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cva } from 'class-variance-authority';\nimport { primaryColorStyle } from '../../../lib/constants';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { StaticTreeDataProvider, Tree as ComplexTree, UncontrolledTreeEnvironment, } from 'react-complex-tree';\nimport 'react-complex-tree/lib/style-modern.css';\nimport TextField from '../TextField';\nimport Button from '../Button';\nimport { MAIN_COLOR } from '../../../lib/color/constants';\nimport { useTheme } from '../../../lib/theme';\nvar treeVariants = cva('', {\n variants: {\n color: primaryColorStyle(),\n },\n});\nfunction findItems(arr, key) {\n var results = [];\n Object.values(arr).forEach(function (item) {\n if (item[key]) {\n results.push(item.index);\n }\n });\n return results;\n}\nvar treeProvider = null;\nvar Tree = React.forwardRef(function (_a, ref) {\n var _b;\n var _c, _d;\n var items = _a.items, treeId = _a.treeId, className = _a.className, color = _a.color, isSearch = _a.isSearch, props = __rest(_a, [\"items\", \"treeId\", \"className\", \"color\", \"isSearch\"]);\n var _e = useState(''), search = _e[0], setSearch = _e[1];\n var tree = useRef(null);\n var _f = useState({}), treeData = _f[0], setTreeData = _f[1];\n var focusedItem = findItems(items, 'isFocusd');\n var expandedItems = findItems(items, 'isExpanded');\n var selectedItems = findItems(items, 'isSelected');\n treeProvider = new StaticTreeDataProvider(treeData, function (item, data) { return (__assign(__assign({}, item), { data: data })); });\n var theme = useTheme().theme;\n var contextValue = {\n color: (_c = color !== null && color !== void 0 ? color : theme.themeColor) !== null && _c !== void 0 ? _c : MAIN_COLOR,\n };\n var findItemPath = useCallback(function (search_1) {\n var args_1 = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args_1[_i - 1] = arguments[_i];\n }\n return __awaiter(void 0, __spreadArray([search_1], args_1, true), void 0, function (search, searchRoot) {\n var item, searchedItems, result;\n var _a, _b;\n if (searchRoot === void 0) { searchRoot = 'root'; }\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!treeProvider)\n return [2 /*return*/];\n return [4 /*yield*/, treeProvider.getTreeItem(searchRoot)];\n case 1:\n item = _c.sent();\n if (item.data.toLowerCase().includes(search.toLowerCase())) {\n return [2 /*return*/, [item.index]];\n }\n return [4 /*yield*/, Promise.all((_b = (_a = item.children) === null || _a === void 0 ? void 0 : _a.map(function (child) { return findItemPath(search, child); })) !== null && _b !== void 0 ? _b : [])];\n case 2:\n searchedItems = _c.sent();\n result = searchedItems.find(function (item) { return item !== null; });\n if (!result) {\n return [2 /*return*/, null];\n }\n return [2 /*return*/, __spreadArray([item.index], result, true)];\n }\n });\n });\n }, [treeProvider]);\n var find = useCallback(function (e) {\n e.preventDefault();\n if (search) {\n findItemPath(search).then(function (path) {\n var _a;\n if (path) {\n // wait for full path including leaf, to make sure it loaded in\n (_a = tree.current) === null || _a === void 0 ? void 0 : _a.expandSubsequently(path).then(function () {\n var _a, _b;\n (_a = tree.current) === null || _a === void 0 ? void 0 : _a.selectItems([path[path.length - 1]]);\n (_b = tree.current) === null || _b === void 0 ? void 0 : _b.focusItem(path[path.length - 1]);\n });\n }\n });\n }\n }, [findItemPath, search]);\n useEffect(function () {\n if (items) {\n var results_1 = [];\n var children_1 = [];\n items.map(function (item) {\n children_1.push.apply(children_1, item.children);\n });\n items.forEach(function (item) {\n if (!children_1.includes(item.index)) {\n results_1.push(item.index);\n }\n });\n var t_1 = {};\n t_1['root'] = {\n index: 'root',\n isFolder: true,\n children: results_1,\n data: 'Root item',\n };\n items.map(function (item) {\n t_1[item.index] = __assign(__assign({}, item), { isFolder: item.children.length > 0 });\n });\n setTreeData(t_1);\n }\n }, [items]);\n return (_jsxs(\"div\", { className: \"text-slate-12\", children: [isSearch && (_jsxs(\"div\", { className: \"flex\", children: [_jsx(TextField.Root, { color: contextValue.color, value: search, onChange: function (e) { return setSearch(e.target.value); }, placeholder: \"\\uAC80\\uC0C9\\uC5B4\\uB97C \\uC785\\uB825\\uD558\\uC138\\uC694\", className: \"mr-2\" }), _jsx(Button, { color: contextValue.color, onClick: find, children: \"\\uAC80\\uC0C9\" })] })), _jsx(UncontrolledTreeEnvironment, __assign({ ref: ref, dataProvider: treeProvider, viewState: (_b = {},\n _b[treeId] = {\n focusedItem: (_d = focusedItem[0]) !== null && _d !== void 0 ? _d : '',\n expandedItems: expandedItems,\n selectedItems: selectedItems,\n },\n _b), keyboardBindings: __assign({ renameItem: ['enter'], abortRenameItem: ['control+z'] }, props.keyboardBindings) }, props, { canSearch: false, children: _jsx(ComplexTree, { ref: tree, treeId: treeId, rootItem: \"root\", treeLabel: \"Tree Example\" }) }))] }));\n});\nTree.displayName = 'Tree';\nexport { Tree, treeProvider };\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__spreadArray","to","from","pack","ar","l","Array","slice","concat","findItems","arr","key","results","values","forEach","item","index","cva","variants","color","primaryColorStyle","treeProvider","Tree","React","forwardRef","_a","ref","_b","_c","_d","items","treeId","className","isSearch","props","_e","useState","search","setSearch","tree","useRef","_f","treeData","setTreeData","focusedItem","expandedItems","selectedItems","StaticTreeDataProvider","data","theme","useTheme","contextValue","themeColor","MAIN_COLOR","findItemPath","useCallback","search_1","args_1","_i","searchRoot","searchedItems","getTreeItem","toLowerCase","includes","all","children","map","child","find","preventDefault","path","current","expandSubsequently","selectItems","focusItem","useEffect","results_1","children_1","t_1","isFolder","_jsxs","_jsx","TextField","Root","onChange","target","placeholder","Button","onClick","UncontrolledTreeEnvironment","dataProvider","viewState","keyboardBindings","renameItem","abortRenameItem","canSearch","ComplexTree","rootItem","treeLabel","displayName"],"mappings":"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"}