PageSourceSearch

https://www.artetv.co.kr/_next/static/chunks/3326.df60152d92b45789.js

js artetv.co.kr collected 2026-10-08 20:21:36 UTC 4,710 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[945,3326],{29209:(e,t,n)=>{n.d(t,{A:()=>i});let i=(0,n(42e3).A)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]])},88088:(e,t,n)=>{n.r(t),n.d(t,{RichEditor:()=>v});var i=n(93421),l=n(99193),r=n(79978),s=n(8324),a=n(60813),c=n(38728),o=n(75043),u=n(8358),d=n(12840),h=n(27165),f=n(75717),p=n(75641),m=n(89309),g=n(29209),x=n(56098);function k(e){let t=e.trim();return t?/^(https?:\/\/|mailto:|\/|#)/i.test(t)?t:"https://".concat(t):""}let b=a.Ay.extend({addAttributes(){var e;return{...null==(e=this.parent)?void 0:e.call(this),href:{default:null,parseHTML:e=>{var t,n;return null!=(n=null==(t=e.closest("a"))?void 0:t.getAttribute("href"))?n:null}}}},renderHTML(e){let{node:t,HTMLAttributes:n}=e,i=t.attrs.href,l={...n};delete l.href;let r=["img",l];return i?["a",{href:i,target:"_blank",rel:"noopener noreferrer"},r]:r}});function v(e){let{content:t,onChange:n,placeholder:a,uploadBucket:v}=e,[w,j]=(0,l.useState)(!1),C=(0,r.hG)({extensions:[s.A,b,c.Ay.configure({openOnClick:!1,HTMLAttributes:{rel:"noopener noreferrer",target:"_blank"}}),o.A.configure({placeholder:null!=a?a:"내용을 입력하세요..."})],content:t,onUpdate:e=>{let{editor:t}=e;return n(t.getHTML())},immediatelyRender:!1,editorProps:{attributes:{class:"prose prose-sm max-w-none focus:outline-none min-h-[300px] px-4 py-4"}}});(0,l.useEffect)(()=>{j(!0)},[]);let N=(0,l.useCallback)(async()=>{if(!C)return;let e=document.createElement("input");e.type="file",e.accept="image/*",e.onchange=async()=>{var t;let n=null==(t=e.files)?void 0:t[0];if(!n)return;let i=new FormData;i.append("file",n),i.append("bucket",v);let l=await fetch("/api/admin/upload-image",{method:"POST",body:i});if(!l.ok)return void alert("이미지 업로드 실패");let{url:r}=await l.json(),s=window.prompt("이미지에 걸 링크 (없으면 비워두세요)",""),a=s&&s.trim()?k(s):null;C.chain().focus().setImage({src:r,...a?{href:a}:{}}).run()},e.click()},[C,v]),y=(0,l.useCallback)(()=>{var e,t;if(!C)return;if(C.isActive("image")){let t=null!=(e=C.getAttributes("image").href)?e:"",n=window.prompt("이미지에 걸 링크 (비우면 제거)",t);if(null===n)return;let i=n.trim()?k(n):null;C.chain().focus().updateAttributes("image",{href:i}).run();return}let n=window.prompt("URL을 입력하세요 (예: https://...)",null!=(t=C.getAttributes("link").href)?t:"");if(null===n)return;if(""===n.trim())return void C.chain().focus().extendMarkRange("link").unsetLink().run();let i=k(n),{from:l,to:r}=C.state.selection;l===r?C.chain().focus().insertContent('<a href="'.concat(i,'">').concat(i,"</a> ")).run():C.chain().focus().extendMarkRange("link").setLink({href:i}).run()},[C]);return w&&C?(0,i.jsxs)("div",{className:"overflow-hidden rounded-md border border-stone-200 bg-white",children:[(0,i.jsxs)("div",{className:"flex flex-wrap items-center gap-0.5 border-b border-stone-200 bg-stone-50 p-2",children:[(0,i.jsx)(A,{onClick:()=>C.chain().focus().toggleHeading({level:2}).run(),active:C.isActive("heading",{level:2}),title:"제목",children:(0,i.jsx)(u.A,{className:"h-4 w-4"})}),(0,i.jsx)(A,{onClick:()=>C.chain().focus().toggleBold().run(),active:C.isActive("bold"),title:"굵게",children:(0,i.jsx)(d.A,{className:"h-4 w-4"})}),(0,i.jsx)(A,{onClick:()=>C.chain().focus().toggleItalic().run(),active:C.isActive("italic"),title:"기울임",children:(0,i.jsx)(h.A,{className:"h-4 w-4"})}),(0,i.jsx)(A,{onClick:()=>C.chain().focus().toggleBulletList().run(),active:C.isActive("bulletList"),title:"글머리 목록",children:(0,i.jsx)(f.A,{className:"h-4 w-4"})}),(0,i.jsx)(A,{onClick:()=>C.chain().focus().toggleOrderedList().run(),active:C.isActive("orderedList"),title:"번호 목록",children:(0,i.jsx)(p.A,{className:"h-4 w-4"})}),(0,i.jsx)(A,{onClick:()=>C.chain().focus().toggleBlockquote().run(),active:C.isActive("blockquote"),title:"인용",children:(0,i.jsx)(m.A,{className:"h-4 w-4"})}),(0,i.jsx)("div",{className:"mx-1 h-5 w-px bg-stone-300"}),(0,i.jsx)(A,{onClick:y,active:C.isActive("link"),title:"링크",children:(0,i.jsx)(g.A,{className:"h-4 w-4"})}),(0,i.jsx)(A,{onClick:N,title:"이미지 업로드",children:(0,i.jsx)(x.A,{className:"h-4 w-4"})})]}),(0,i.jsx)(r.$Z,{editor:C})]}):(0,i.jsx)("div",{className:"min-h-[300px] rounded-md border border-stone-200 bg-white"})}function A(e){let{onClick:t,active:n,title:l,children:r}=e;return(0,i.jsx)("button",{type:"button",onClick:t,title:l,className:"rounded p-1.5 transition-colors hover:bg-stone-200 ".concat(n?"bg-stone-200 text-arte-primary":"text-stone-600"),children:r})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.