@hienlh/ppm 0.13.27 → 0.13.29

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/assets/skills/ppm/SKILL.md +1 -1
  3. package/assets/skills/ppm/references/http-api.md +1 -1
  4. package/dist/web/assets/{audio-preview-Dpmcl747.js → audio-preview-D1q39d7o.js} +1 -1
  5. package/dist/web/assets/{chat-tab-DXBTsnF8.js → chat-tab-SPeGRQ1l.js} +3 -3
  6. package/dist/web/assets/{code-editor-Dj6Bpl_2.js → code-editor-Rv7JNVL5.js} +2 -2
  7. package/dist/web/assets/{conflict-editor-DWmEigpj.js → conflict-editor-CZmYhW86.js} +1 -1
  8. package/dist/web/assets/{database-viewer-DWBFfKPT.js → database-viewer-Bz3y9xbY.js} +1 -1
  9. package/dist/web/assets/{diff-viewer-Bm0_jtBc.js → diff-viewer-BF3L66s4.js} +1 -1
  10. package/dist/web/assets/{extension-webview-BgsfCSSv.js → extension-webview-BffuOp8j.js} +1 -1
  11. package/dist/web/assets/{glide-data-grid-CgBR08p4.js → glide-data-grid-Be7Jml-n.js} +1 -1
  12. package/dist/web/assets/{image-preview-VYdq-6Me.js → image-preview-Bp9Ayr0-.js} +1 -1
  13. package/dist/web/assets/{index-BG3vkzX-.js → index-Cw6jgiet.js} +3 -3
  14. package/dist/web/assets/keybindings-store-DF7DKf8j.js +1 -0
  15. package/dist/web/assets/{markdown-renderer-B2bQd2Zz.js → markdown-renderer-DeE4gOvO.js} +1 -1
  16. package/dist/web/assets/notification-store-CXi7Lwm6.js +1 -0
  17. package/dist/web/assets/{pdf-preview-RCOjBSNz.js → pdf-preview-DqedEmhO.js} +1 -1
  18. package/dist/web/assets/{port-forwarding-tab-DSs4ce0D.js → port-forwarding-tab-y6HKCN2B.js} +1 -1
  19. package/dist/web/assets/{postgres-viewer-BET58NOb.js → postgres-viewer-Z1bTnKzO.js} +1 -1
  20. package/dist/web/assets/{settings-tab-C7LHGpuM.js → settings-tab-Clr5MoBF.js} +1 -1
  21. package/dist/web/assets/{sql-query-editor-DueILhFD.js → sql-query-editor-NZ6bv_dH.js} +1 -1
  22. package/dist/web/assets/{sqlite-viewer-qrmWrdx6.js → sqlite-viewer-Ck7-sCfC.js} +1 -1
  23. package/dist/web/assets/{terminal-tab-WwRXVV_9.js → terminal-tab-wI_VBA9S.js} +1 -1
  24. package/dist/web/assets/{video-preview-BwNo3VVV.js → video-preview-CfjEMqOQ.js} +1 -1
  25. package/dist/web/index.html +1 -1
  26. package/dist/web/sw.js +1 -1
  27. package/package.json +1 -1
  28. package/src/web/components/chat/message-list.tsx +13 -12
  29. package/src/web/components/shared/markdown-error-boundary.tsx +6 -3
  30. package/src/web/main.tsx +16 -0
  31. package/dist/web/assets/keybindings-store-D4bcke1T.js +0 -1
  32. package/dist/web/assets/notification-store-cWjv3Qu4.js +0 -1
@@ -1,4 +1,4 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,x as n}from"./vendor-markdown-0Mxgxy0L.js";import{i as r,t as i}from"./api-client-DIhJ5qVW.js";import{n as a}from"./settings-store-CVrIYYCB.js";import"./vendor-mermaid-Cl50p6TB.js";import{G as o,h as s}from"./index-BG3vkzX-.js";import{n as c,t as l}from"./use-monaco-theme-BePWbY58.js";var u=e(n(),1),d=t();function f(e){return{js:`javascript`,jsx:`javascript`,ts:`typescript`,tsx:`typescript`,py:`python`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,mdx:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,bash:`shell`,go:`go`,rs:`rust`,java:`java`,rb:`ruby`,php:`php`,swift:`swift`,sql:`sql`,xml:`xml`,toml:`toml`}[e.split(`.`).pop()?.toLowerCase()??``]??`plaintext`}function p(e){let t=e.split(`
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,x as n}from"./vendor-markdown-0Mxgxy0L.js";import{i as r,t as i}from"./api-client-DIhJ5qVW.js";import{n as a}from"./settings-store-CVrIYYCB.js";import"./vendor-mermaid-Cl50p6TB.js";import{G as o,h as s}from"./index-Cw6jgiet.js";import{n as c,t as l}from"./use-monaco-theme-BePWbY58.js";var u=e(n(),1),d=t();function f(e){return{js:`javascript`,jsx:`javascript`,ts:`typescript`,tsx:`typescript`,py:`python`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,mdx:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,bash:`shell`,go:`go`,rs:`rust`,java:`java`,rb:`ruby`,php:`php`,swift:`swift`,sql:`sql`,xml:`xml`,toml:`toml`}[e.split(`.`).pop()?.toLowerCase()??``]??`plaintext`}function p(e){let t=e.split(`
2
2
  `),n=[],r=0,i=0;for(;r<t.length;){let e=t[r];if(e.startsWith(`<<<<<<<`)){let a=r,o=e.substring(7).trim(),s=[];for(r++;r<t.length&&!t[r].startsWith(`=======`);)s.push(t[r]),r++;if(r>=t.length)break;let c=r,l=[];for(r++;r<t.length&&!t[r].startsWith(`>>>>>>>`);)l.push(t[r]),r++;if(r>=t.length)break;let u=t[r].substring(7).trim();n.push({id:i++,startLine:a+1,separatorLine:c+1,endLine:r+1,currentContent:s.join(`
3
3
  `),incomingContent:l.join(`
4
4
  `),currentLabel:o,incomingLabel:u})}r++}return n}function m({metadata:e}){let t=e?.filePath,n=e?.projectName,[m,g]=(0,u.useState)(null),[_,v]=(0,u.useState)(!0),[y,b]=(0,u.useState)(null),[x,S]=(0,u.useState)(0),C=(0,u.useRef)(null),w=(0,u.useRef)(null),T=(0,u.useRef)([]),E=(0,u.useRef)(null),{wordWrap:D}=a(s(e=>({wordWrap:e.wordWrap}))),O=l(),k=(0,u.useRef)(null),[A,j]=(0,u.useState)();(0,u.useEffect)(()=>{let e=k.current;if(!e)return;let t=new ResizeObserver(([e])=>{e&&j(Math.floor(e.contentRect.height))});return t.observe(e),()=>t.disconnect()},[]),(0,u.useEffect)(()=>{!t||!n||(v(!0),i.get(`${r(n)}/files/read?path=${encodeURIComponent(t)}`).then(e=>{g(e.content),v(!1)}).catch(e=>{b(e.message||`Failed to load file`),v(!1)}))},[t,n]);let M=(0,u.useCallback)(()=>{let e=C.current,t=w.current;if(!e||!t)return;let n=p(e.getModel()?.getValue()||``);S(n.length);for(let t of T.current)e.removeContentWidget(t);if(T.current=[],E.current&&E.current.clear(),n.length===0)return;let r=[];for(let e of n)r.push({range:new t.Range(e.startLine,1,e.startLine,1),options:{isWholeLine:!0,className:`conflict-marker-line`,glyphMarginClassName:`conflict-glyph-current`}}),r.push({range:new t.Range(e.separatorLine,1,e.separatorLine,1),options:{isWholeLine:!0,className:`conflict-marker-line`}}),r.push({range:new t.Range(e.endLine,1,e.endLine,1),options:{isWholeLine:!0,className:`conflict-marker-line`,glyphMarginClassName:`conflict-glyph-incoming`}}),e.separatorLine-e.startLine>1&&r.push({range:new t.Range(e.startLine+1,1,e.separatorLine-1,1),options:{isWholeLine:!0,className:`conflict-current-content`}}),e.endLine-e.separatorLine>1&&r.push({range:new t.Range(e.separatorLine+1,1,e.endLine-1,1),options:{isWholeLine:!0,className:`conflict-incoming-content`}});E.current=e.createDecorationsCollection(r);for(let r of n){let n=`conflict-widget-${r.id}`,i=document.createElement(`div`);i.className=`conflict-actions`,i.innerHTML=`<span class="conflict-label">Current Change (${h(r.currentLabel||`HEAD`)})</span><button class="conflict-btn conflict-btn-current" data-action="current">Accept Current</button><button class="conflict-btn conflict-btn-incoming" data-action="incoming">Accept Incoming</button><button class="conflict-btn conflict-btn-both" data-action="both">Accept Both</button>`,i.addEventListener(`click`,e=>{let t=e.target.closest(`[data-action]`);if(!t)return;let n=t.getAttribute(`data-action`);N(r.id,n)});let a={getId:()=>n,getDomNode:()=>i,getPosition:()=>({position:{lineNumber:r.startLine,column:1},preference:[t.editor.ContentWidgetPositionPreference.ABOVE]})};e.addContentWidget(a),T.current.push(a)}},[]),N=(0,u.useCallback)((e,t)=>{let n=C.current,r=w.current;if(!n||!r)return;let i=n.getModel();if(!i)return;let a=p(i.getValue()).find(t=>t.id===e);if(!a)return;let o;switch(t){case`current`:o=a.currentContent;break;case`incoming`:o=a.incomingContent;break;case`both`:o=a.currentContent+`
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,x as n}from"./vendor-markdown-0Mxgxy0L.js";import"./vendor-ui-B-89Uj8i.js";import{t as r}from"./database-DOWH9-Vv.js";import{n as i,t as a}from"./glide-data-grid-CgBR08p4.js";import{t as o}from"./refresh-cw-BjrAbUJe.js";import{t as s}from"./api-client-DIhJ5qVW.js";import"./settings-store-CVrIYYCB.js";import"./vendor-mermaid-Cl50p6TB.js";import"./tab-store-Dow2Ztto.js";import{G as c,K as l}from"./index-BG3vkzX-.js";import"./data-grid-types-BISkUXAY.js";import"./use-monaco-theme-BePWbY58.js";import{t as u}from"./sql-query-editor-DueILhFD.js";var d=e(n(),1);function f(e,t,n,r){return`ppm-db-${e}-${n}.${t}-p${r}`}function p(e,t,n,r){try{let i=sessionStorage.getItem(f(e,t,n,r));return i?JSON.parse(i):null}catch{return null}}function m(e,t,n,r,i,a){try{sessionStorage.setItem(f(e,t,n,r),JSON.stringify({data:i,cols:a}))}catch{}}function h(e){let t=`/api/db/connections/${e}`,[n,r]=(0,d.useState)(null),[i,a]=(0,d.useState)(`public`),[o,c]=(0,d.useState)(null),[l,u]=(0,d.useState)([]),[f,h]=(0,d.useState)(!1),[g,_]=(0,d.useState)(null),[v,y]=(0,d.useState)(1),[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)(null),[w,T]=(0,d.useState)(!1),[E,D]=(0,d.useState)(null),[O,k]=(0,d.useState)(`ASC`),A=(0,d.useCallback)(async(r,a,o,l,d)=>{let f=r??n,p=a??i;if(!f)return;h(!0);let g=l===void 0?E:l,y=d??O;try{let n=g?`&orderBy=${encodeURIComponent(g)}&orderDir=${y}`:``,[r,i]=await Promise.all([s.get(`${t}/data?table=${encodeURIComponent(f)}&schema=${p}&page=${o??v}&limit=100${n}`),s.get(`${t}/schema?table=${encodeURIComponent(f)}&schema=${p}`)]);c(r),u(i),m(e,f,p,o??v,r,i)}catch(e){_(e.message)}finally{h(!1)}},[t,e,n,i,v,E,O]),j=(0,d.useCallback)((t,n=`public`)=>{r(t),a(n),y(1),x(null);let i=p(e,t,n,1);i?(c(i.data),u(i.cols),h(!1),A(t,n,1)):A(t,n,1)},[e,A]),M=(0,d.useCallback)(e=>{y(e),A(void 0,void 0,e)},[A]),N=(0,d.useCallback)(async e=>{T(!0),C(null);try{let r=await s.post(`${t}/query`,{sql:e});x(r),r.changeType===`modify`&&A(n??void 0,i)}catch(e){C(e.message)}finally{T(!1)}},[t,n,i,A]),P=(0,d.useCallback)(async(e,r,a,o)=>{if(!n)return;let c=n,l=i;try{await s.put(`${t}/cell`,{table:c,schema:l,pkColumn:e,pkValue:r,column:a,value:o}),A(c,l)}catch(e){_(e.message)}},[t,n,i,A]),F=(0,d.useCallback)(async(e,r)=>{if(!n)return;let a=n,o=i;try{await s.del(`${t}/row`,{table:a,schema:o,pkColumn:e,pkValue:r}),A(a,o)}catch(e){_(e.message)}},[t,n,i,A]);return{selectedTable:n,selectedSchema:i,selectTable:j,tableData:o,schema:l,loading:f,error:g,page:v,setPage:M,orderBy:E,orderDir:O,toggleSort:(0,d.useCallback)(e=>{let t,n=`ASC`;E===e?O===`ASC`?(t=e,n=`DESC`):(t=null,n=`ASC`):(t=e,n=`ASC`),D(t),k(n),y(1),A(void 0,void 0,1,t,n)},[E,O,A]),clearSort:(0,d.useCallback)(()=>{D(null),k(`ASC`),y(1),A(void 0,void 0,1,null,`ASC`)},[A]),queryResult:b,queryError:S,queryLoading:w,executeQuery:N,updateCell:P,deleteRow:F,bulkDelete:(0,d.useCallback)(async(e,r)=>{if(!n)return;let a=n,o=i;try{await s.post(`${t}/rows/delete`,{table:a,schema:o,pkColumn:e,pkValues:r}),A(a,o)}catch(e){_(e.message)}},[t,n,i,A]),insertRow:(0,d.useCallback)(async e=>{if(!n)return;let r=n,a=i;try{await s.post(`${t}/row`,{table:r,schema:a,values:e}),A(r,a)}catch(e){throw _(e.message),e}},[t,n,i,A]),refreshData:A,queryAsTable:(0,d.useCallback)(async e=>{h(!0);try{let n=await s.post(`${t}/query`,{sql:e});n.changeType===`select`&&c({columns:n.columns,rows:n.rows,total:n.rows.length,page:1,limit:n.rows.length})}catch(e){_(e.message)}finally{h(!1)}},[t])}}var g=t();function _(e){let t={},n=/"(\w+)"\s+ILIKE\s+'%([^']*?)%'/gi,r;for(;(r=n.exec(e))!==null;)t[r[1]]=r[2].replace(/''/g,`'`);return t}function v({metadata:e}){let t=e?.connectionId,n=e?.connectionName,c=e?.tableName,f=e?.schemaName??`public`,p=e?.initialSql,m=h(t),[v,y]=(0,d.useState)([]),[x,S]=(0,d.useState)(180),C=(0,d.useRef)(null),[w,T]=(0,d.useState)({}),E=(0,d.useMemo)(()=>{if(p&&!m.selectedTable)return p;if(m.selectedTable){let e=`SELECT * FROM "${m.selectedTable}"`,t=Object.entries(w).filter(([,e])=>e.trim()).map(([e,t])=>`"${e}" ILIKE '%${t.replace(/'/g,`''`)}%'`);t.length>0&&(e+=` WHERE ${t.join(` AND `)}`),m.orderBy&&(e+=` ORDER BY "${m.orderBy}" ${m.orderDir}`);let n=(m.page-1)*100;return e+=` LIMIT 100`,n>0&&(e+=` OFFSET ${n}`),e}return`SELECT * FROM `},[p,m.selectedTable,m.orderBy,m.orderDir,m.page,w]),D=(0,d.useCallback)(e=>{T(e)},[]),O=(0,d.useRef)(void 0);(0,d.useEffect)(()=>{if(!(!m.selectedTable||Object.keys(w).length===0))return clearTimeout(O.current),O.current=setTimeout(()=>{m.queryAsTable(E)},500),()=>clearTimeout(O.current)},[w]);let k=(0,d.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=x,r=e=>{let r=e.clientY-t;S(Math.max(80,Math.min(n+r,(C.current?.clientHeight??600)-100)))},i=()=>{document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},[x]);(0,d.useEffect)(()=>{s.get(`/api/db/connections/${t}/tables?cached=1`).then(e=>y(e.map(e=>({name:e.name,schema:e.schema})))).catch(()=>{})},[t]);let A=(0,d.useMemo)(()=>{if(v.length!==0)return{tables:v,getColumns:async(e,n)=>await s.get(`/api/db/connections/${t}/schema?table=${encodeURIComponent(e)}${n?`&schema=${encodeURIComponent(n)}`:``}`)}},[t,v]),j=(0,d.useRef)(!1);(0,d.useEffect)(()=>{j.current||(j.current=!0,p?m.executeQuery(p):c&&m.selectTable(c,f))},[c,f,p]);let[M,N]=(0,d.useState)(!!p),P=(0,d.useCallback)(e=>{let t=e.trim();if(m.selectedTable&&RegExp(`^SELECT\\s+\\*\\s+FROM\\s+"?${m.selectedTable.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}"?\\b`,`i`).test(t)){T(_(t)),m.queryAsTable(t);return}N(!0),m.executeQuery(e)},[m.executeQuery,m.queryAsTable,m.selectedTable]),F=(0,d.useCallback)(e=>{N(!1),m.toggleSort(e)},[m.toggleSort]),I=(0,d.useCallback)(()=>{N(!1),m.clearSort()},[m.clearSort]),L=(0,d.useCallback)(e=>{N(!1),m.setPage(e)},[m.setPage]),R=m.queryResult,z=M&&!!(R||m.queryError),B=m.selectedTable&&!z;return(0,g.jsx)(`div`,{ref:C,className:`flex h-full w-full overflow-hidden`,children:(0,g.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border bg-background shrink-0`,children:[(0,g.jsx)(r,{className:`size-3.5 text-muted-foreground`}),(0,g.jsx)(`span`,{className:`text-xs text-muted-foreground truncate`,children:n??`Database`}),m.selectedTable&&(0,g.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`/ `,m.selectedTable]}),(0,g.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[m.tableData&&(0,g.jsx)(i,{columns:m.tableData.columns,rows:m.tableData.rows,filename:n?`${n}-${m.selectedTable??`data`}`:m.selectedTable??`data`,exportAllUrl:m.selectedTable?`/api/db/connections/${t}/export?table=${encodeURIComponent(m.selectedTable)}&schema=${m.selectedSchema}`:void 0}),(0,g.jsx)(`button`,{type:`button`,onClick:()=>m.refreshData(),title:`Reload data`,className:`p-1 rounded text-muted-foreground hover:text-foreground transition-colors`,children:(0,g.jsx)(o,{className:`size-3 ${m.loading?`animate-spin`:``}`})})]})]}),(0,g.jsx)(`div`,{className:`shrink-0 border-b border-border`,style:{height:x},children:(0,g.jsx)(u,{onExecute:P,loading:m.queryLoading,defaultValue:E,schemaInfo:A,cacheKey:t?String(t):void 0})}),(0,g.jsx)(`div`,{onMouseDown:k,className:`shrink-0 h-1.5 cursor-row-resize bg-border/50 hover:bg-primary/30 flex items-center justify-center transition-colors`,children:(0,g.jsx)(l,{className:`size-3 text-muted-foreground/50`})}),(0,g.jsxs)(`div`,{className:`flex-1 overflow-hidden`,children:[B&&m.tableData&&(0,g.jsx)(a,{columns:m.tableData.columns,rows:m.tableData.rows,total:m.tableData.total,limit:m.tableData.limit,schema:m.schema,loading:m.loading,page:m.page,onPageChange:L,onCellUpdate:m.updateCell,onRowDelete:m.deleteRow,orderBy:m.orderBy,orderDir:m.orderDir,onToggleSort:F,onClearSort:I,onBulkDelete:m.bulkDelete,onInsertRow:m.insertRow,connectionId:t,selectedTable:m.selectedTable,selectedSchema:m.selectedSchema,connectionName:n,columnFilters:w,onColumnFilter:D}),z&&(0,g.jsx)(b,{result:R,error:m.queryError,loading:m.queryLoading,schema:m.schema,connectionName:n})]})]})})}var y=()=>{};function b({result:e,error:t,loading:n,schema:r,connectionName:i}){let o=(0,d.useMemo)(()=>e?.changeType===`select`&&e.rows.length>0?{columns:e.columns,rows:e.rows,total:e.rows.length,limit:e.rows.length}:null,[e]),s=(0,d.useMemo)(()=>r?.length?r:(e?.columns??[]).map(e=>({name:e,type:`text`,nullable:!0,pk:!1,defaultValue:null})),[r,e?.columns]);return(0,g.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden text-xs`,children:[t&&(0,g.jsx)(`div`,{className:`px-3 py-2 text-destructive bg-destructive/5 shrink-0`,children:t}),e?.changeType===`modify`&&(0,g.jsxs)(`div`,{className:`px-3 py-2 text-green-500 shrink-0`,children:[e.rowsAffected,` row(s) affected`,e.executionTimeMs!=null&&(0,g.jsxs)(`span`,{className:`text-muted-foreground ml-2`,children:[e.executionTimeMs,`ms`]})]}),o&&(0,g.jsxs)(`div`,{className:`flex-1 overflow-hidden`,children:[(0,g.jsx)(a,{columns:o.columns,rows:o.rows,total:o.total,limit:o.limit,schema:s,loading:!!n,page:1,onPageChange:y,onCellUpdate:y,orderBy:null,orderDir:`ASC`,onToggleSort:y,connectionName:i}),e?.executionTimeMs!=null&&(0,g.jsxs)(`div`,{className:`px-3 py-0.5 border-t border-border text-[10px] text-muted-foreground shrink-0`,children:[e.rows.length,` rows · `,e.executionTimeMs,`ms`]})]}),e?.changeType===`select`&&e.rows.length===0&&(0,g.jsxs)(`div`,{className:`px-3 py-2 text-muted-foreground shrink-0`,children:[`No results`,e.executionTimeMs!=null&&(0,g.jsxs)(`span`,{className:`ml-2 text-muted-foreground/60`,children:[e.executionTimeMs,`ms`]})]}),!e&&!t&&(0,g.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground`,children:n?(0,g.jsx)(c,{className:`size-4 animate-spin`}):`Run a query to see results`})]})}export{v as DatabaseViewer};
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,x as n}from"./vendor-markdown-0Mxgxy0L.js";import"./vendor-ui-B-89Uj8i.js";import{t as r}from"./database-DOWH9-Vv.js";import{n as i,t as a}from"./glide-data-grid-Be7Jml-n.js";import{t as o}from"./refresh-cw-BjrAbUJe.js";import{t as s}from"./api-client-DIhJ5qVW.js";import"./settings-store-CVrIYYCB.js";import"./vendor-mermaid-Cl50p6TB.js";import"./tab-store-Dow2Ztto.js";import{G as c,K as l}from"./index-Cw6jgiet.js";import"./data-grid-types-BISkUXAY.js";import"./use-monaco-theme-BePWbY58.js";import{t as u}from"./sql-query-editor-NZ6bv_dH.js";var d=e(n(),1);function f(e,t,n,r){return`ppm-db-${e}-${n}.${t}-p${r}`}function p(e,t,n,r){try{let i=sessionStorage.getItem(f(e,t,n,r));return i?JSON.parse(i):null}catch{return null}}function m(e,t,n,r,i,a){try{sessionStorage.setItem(f(e,t,n,r),JSON.stringify({data:i,cols:a}))}catch{}}function h(e){let t=`/api/db/connections/${e}`,[n,r]=(0,d.useState)(null),[i,a]=(0,d.useState)(`public`),[o,c]=(0,d.useState)(null),[l,u]=(0,d.useState)([]),[f,h]=(0,d.useState)(!1),[g,_]=(0,d.useState)(null),[v,y]=(0,d.useState)(1),[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)(null),[w,T]=(0,d.useState)(!1),[E,D]=(0,d.useState)(null),[O,k]=(0,d.useState)(`ASC`),A=(0,d.useCallback)(async(r,a,o,l,d)=>{let f=r??n,p=a??i;if(!f)return;h(!0);let g=l===void 0?E:l,y=d??O;try{let n=g?`&orderBy=${encodeURIComponent(g)}&orderDir=${y}`:``,[r,i]=await Promise.all([s.get(`${t}/data?table=${encodeURIComponent(f)}&schema=${p}&page=${o??v}&limit=100${n}`),s.get(`${t}/schema?table=${encodeURIComponent(f)}&schema=${p}`)]);c(r),u(i),m(e,f,p,o??v,r,i)}catch(e){_(e.message)}finally{h(!1)}},[t,e,n,i,v,E,O]),j=(0,d.useCallback)((t,n=`public`)=>{r(t),a(n),y(1),x(null);let i=p(e,t,n,1);i?(c(i.data),u(i.cols),h(!1),A(t,n,1)):A(t,n,1)},[e,A]),M=(0,d.useCallback)(e=>{y(e),A(void 0,void 0,e)},[A]),N=(0,d.useCallback)(async e=>{T(!0),C(null);try{let r=await s.post(`${t}/query`,{sql:e});x(r),r.changeType===`modify`&&A(n??void 0,i)}catch(e){C(e.message)}finally{T(!1)}},[t,n,i,A]),P=(0,d.useCallback)(async(e,r,a,o)=>{if(!n)return;let c=n,l=i;try{await s.put(`${t}/cell`,{table:c,schema:l,pkColumn:e,pkValue:r,column:a,value:o}),A(c,l)}catch(e){_(e.message)}},[t,n,i,A]),F=(0,d.useCallback)(async(e,r)=>{if(!n)return;let a=n,o=i;try{await s.del(`${t}/row`,{table:a,schema:o,pkColumn:e,pkValue:r}),A(a,o)}catch(e){_(e.message)}},[t,n,i,A]);return{selectedTable:n,selectedSchema:i,selectTable:j,tableData:o,schema:l,loading:f,error:g,page:v,setPage:M,orderBy:E,orderDir:O,toggleSort:(0,d.useCallback)(e=>{let t,n=`ASC`;E===e?O===`ASC`?(t=e,n=`DESC`):(t=null,n=`ASC`):(t=e,n=`ASC`),D(t),k(n),y(1),A(void 0,void 0,1,t,n)},[E,O,A]),clearSort:(0,d.useCallback)(()=>{D(null),k(`ASC`),y(1),A(void 0,void 0,1,null,`ASC`)},[A]),queryResult:b,queryError:S,queryLoading:w,executeQuery:N,updateCell:P,deleteRow:F,bulkDelete:(0,d.useCallback)(async(e,r)=>{if(!n)return;let a=n,o=i;try{await s.post(`${t}/rows/delete`,{table:a,schema:o,pkColumn:e,pkValues:r}),A(a,o)}catch(e){_(e.message)}},[t,n,i,A]),insertRow:(0,d.useCallback)(async e=>{if(!n)return;let r=n,a=i;try{await s.post(`${t}/row`,{table:r,schema:a,values:e}),A(r,a)}catch(e){throw _(e.message),e}},[t,n,i,A]),refreshData:A,queryAsTable:(0,d.useCallback)(async e=>{h(!0);try{let n=await s.post(`${t}/query`,{sql:e});n.changeType===`select`&&c({columns:n.columns,rows:n.rows,total:n.rows.length,page:1,limit:n.rows.length})}catch(e){_(e.message)}finally{h(!1)}},[t])}}var g=t();function _(e){let t={},n=/"(\w+)"\s+ILIKE\s+'%([^']*?)%'/gi,r;for(;(r=n.exec(e))!==null;)t[r[1]]=r[2].replace(/''/g,`'`);return t}function v({metadata:e}){let t=e?.connectionId,n=e?.connectionName,c=e?.tableName,f=e?.schemaName??`public`,p=e?.initialSql,m=h(t),[v,y]=(0,d.useState)([]),[x,S]=(0,d.useState)(180),C=(0,d.useRef)(null),[w,T]=(0,d.useState)({}),E=(0,d.useMemo)(()=>{if(p&&!m.selectedTable)return p;if(m.selectedTable){let e=`SELECT * FROM "${m.selectedTable}"`,t=Object.entries(w).filter(([,e])=>e.trim()).map(([e,t])=>`"${e}" ILIKE '%${t.replace(/'/g,`''`)}%'`);t.length>0&&(e+=` WHERE ${t.join(` AND `)}`),m.orderBy&&(e+=` ORDER BY "${m.orderBy}" ${m.orderDir}`);let n=(m.page-1)*100;return e+=` LIMIT 100`,n>0&&(e+=` OFFSET ${n}`),e}return`SELECT * FROM `},[p,m.selectedTable,m.orderBy,m.orderDir,m.page,w]),D=(0,d.useCallback)(e=>{T(e)},[]),O=(0,d.useRef)(void 0);(0,d.useEffect)(()=>{if(!(!m.selectedTable||Object.keys(w).length===0))return clearTimeout(O.current),O.current=setTimeout(()=>{m.queryAsTable(E)},500),()=>clearTimeout(O.current)},[w]);let k=(0,d.useCallback)(e=>{e.preventDefault();let t=e.clientY,n=x,r=e=>{let r=e.clientY-t;S(Math.max(80,Math.min(n+r,(C.current?.clientHeight??600)-100)))},i=()=>{document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},[x]);(0,d.useEffect)(()=>{s.get(`/api/db/connections/${t}/tables?cached=1`).then(e=>y(e.map(e=>({name:e.name,schema:e.schema})))).catch(()=>{})},[t]);let A=(0,d.useMemo)(()=>{if(v.length!==0)return{tables:v,getColumns:async(e,n)=>await s.get(`/api/db/connections/${t}/schema?table=${encodeURIComponent(e)}${n?`&schema=${encodeURIComponent(n)}`:``}`)}},[t,v]),j=(0,d.useRef)(!1);(0,d.useEffect)(()=>{j.current||(j.current=!0,p?m.executeQuery(p):c&&m.selectTable(c,f))},[c,f,p]);let[M,N]=(0,d.useState)(!!p),P=(0,d.useCallback)(e=>{let t=e.trim();if(m.selectedTable&&RegExp(`^SELECT\\s+\\*\\s+FROM\\s+"?${m.selectedTable.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}"?\\b`,`i`).test(t)){T(_(t)),m.queryAsTable(t);return}N(!0),m.executeQuery(e)},[m.executeQuery,m.queryAsTable,m.selectedTable]),F=(0,d.useCallback)(e=>{N(!1),m.toggleSort(e)},[m.toggleSort]),I=(0,d.useCallback)(()=>{N(!1),m.clearSort()},[m.clearSort]),L=(0,d.useCallback)(e=>{N(!1),m.setPage(e)},[m.setPage]),R=m.queryResult,z=M&&!!(R||m.queryError),B=m.selectedTable&&!z;return(0,g.jsx)(`div`,{ref:C,className:`flex h-full w-full overflow-hidden`,children:(0,g.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border bg-background shrink-0`,children:[(0,g.jsx)(r,{className:`size-3.5 text-muted-foreground`}),(0,g.jsx)(`span`,{className:`text-xs text-muted-foreground truncate`,children:n??`Database`}),m.selectedTable&&(0,g.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`/ `,m.selectedTable]}),(0,g.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[m.tableData&&(0,g.jsx)(i,{columns:m.tableData.columns,rows:m.tableData.rows,filename:n?`${n}-${m.selectedTable??`data`}`:m.selectedTable??`data`,exportAllUrl:m.selectedTable?`/api/db/connections/${t}/export?table=${encodeURIComponent(m.selectedTable)}&schema=${m.selectedSchema}`:void 0}),(0,g.jsx)(`button`,{type:`button`,onClick:()=>m.refreshData(),title:`Reload data`,className:`p-1 rounded text-muted-foreground hover:text-foreground transition-colors`,children:(0,g.jsx)(o,{className:`size-3 ${m.loading?`animate-spin`:``}`})})]})]}),(0,g.jsx)(`div`,{className:`shrink-0 border-b border-border`,style:{height:x},children:(0,g.jsx)(u,{onExecute:P,loading:m.queryLoading,defaultValue:E,schemaInfo:A,cacheKey:t?String(t):void 0})}),(0,g.jsx)(`div`,{onMouseDown:k,className:`shrink-0 h-1.5 cursor-row-resize bg-border/50 hover:bg-primary/30 flex items-center justify-center transition-colors`,children:(0,g.jsx)(l,{className:`size-3 text-muted-foreground/50`})}),(0,g.jsxs)(`div`,{className:`flex-1 overflow-hidden`,children:[B&&m.tableData&&(0,g.jsx)(a,{columns:m.tableData.columns,rows:m.tableData.rows,total:m.tableData.total,limit:m.tableData.limit,schema:m.schema,loading:m.loading,page:m.page,onPageChange:L,onCellUpdate:m.updateCell,onRowDelete:m.deleteRow,orderBy:m.orderBy,orderDir:m.orderDir,onToggleSort:F,onClearSort:I,onBulkDelete:m.bulkDelete,onInsertRow:m.insertRow,connectionId:t,selectedTable:m.selectedTable,selectedSchema:m.selectedSchema,connectionName:n,columnFilters:w,onColumnFilter:D}),z&&(0,g.jsx)(b,{result:R,error:m.queryError,loading:m.queryLoading,schema:m.schema,connectionName:n})]})]})})}var y=()=>{};function b({result:e,error:t,loading:n,schema:r,connectionName:i}){let o=(0,d.useMemo)(()=>e?.changeType===`select`&&e.rows.length>0?{columns:e.columns,rows:e.rows,total:e.rows.length,limit:e.rows.length}:null,[e]),s=(0,d.useMemo)(()=>r?.length?r:(e?.columns??[]).map(e=>({name:e,type:`text`,nullable:!0,pk:!1,defaultValue:null})),[r,e?.columns]);return(0,g.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden text-xs`,children:[t&&(0,g.jsx)(`div`,{className:`px-3 py-2 text-destructive bg-destructive/5 shrink-0`,children:t}),e?.changeType===`modify`&&(0,g.jsxs)(`div`,{className:`px-3 py-2 text-green-500 shrink-0`,children:[e.rowsAffected,` row(s) affected`,e.executionTimeMs!=null&&(0,g.jsxs)(`span`,{className:`text-muted-foreground ml-2`,children:[e.executionTimeMs,`ms`]})]}),o&&(0,g.jsxs)(`div`,{className:`flex-1 overflow-hidden`,children:[(0,g.jsx)(a,{columns:o.columns,rows:o.rows,total:o.total,limit:o.limit,schema:s,loading:!!n,page:1,onPageChange:y,onCellUpdate:y,orderBy:null,orderDir:`ASC`,onToggleSort:y,connectionName:i}),e?.executionTimeMs!=null&&(0,g.jsxs)(`div`,{className:`px-3 py-0.5 border-t border-border text-[10px] text-muted-foreground shrink-0`,children:[e.rows.length,` rows · `,e.executionTimeMs,`ms`]})]}),e?.changeType===`select`&&e.rows.length===0&&(0,g.jsxs)(`div`,{className:`px-3 py-2 text-muted-foreground shrink-0`,children:[`No results`,e.executionTimeMs!=null&&(0,g.jsxs)(`span`,{className:`ml-2 text-muted-foreground/60`,children:[e.executionTimeMs,`ms`]})]}),!e&&!t&&(0,g.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground`,children:n?(0,g.jsx)(c,{className:`size-4 animate-spin`}):`Run a query to see results`})]})}export{v as DatabaseViewer};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,x as n}from"./vendor-markdown-0Mxgxy0L.js";import{t as r}from"./text-wrap-DJz9Bgpa.js";import{i,t as a}from"./api-client-DIhJ5qVW.js";import{n as o}from"./settings-store-CVrIYYCB.js";import"./vendor-mermaid-Cl50p6TB.js";import{G as s,Z as c,h as l}from"./index-BG3vkzX-.js";import{r as u,t as d}from"./use-monaco-theme-BePWbY58.js";var f=e(n(),1),p=t();function m(e){return{js:`javascript`,jsx:`javascript`,ts:`typescript`,tsx:`typescript`,py:`python`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,mdx:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,bash:`shell`}[e.split(`.`).pop()?.toLowerCase()??``]??`plaintext`}function h({metadata:e}){let t=e?.filePath,n=e?.projectName,h=e?.ref1,_=e?.ref2,v=e?.file1,y=e?.file2,b=e?.original,x=e?.modified,S=b!=null||x!=null,C=!!(v&&y),[w,T]=(0,f.useState)(null),[E,D]=(0,f.useState)(null),[O,k]=(0,f.useState)(null),[A,j]=(0,f.useState)(!S),[M,N]=(0,f.useState)(null),{wordWrap:P,toggleWordWrap:F}=o(l(e=>({wordWrap:e.wordWrap,toggleWordWrap:e.toggleWordWrap}))),I=d(),L=(0,f.useRef)(null),R=(0,f.useRef)(null),[z,B]=(0,f.useState)(!1),[V,H]=(0,f.useState)();(0,f.useEffect)(()=>{let e=L.current;if(!e)return;let t=new ResizeObserver(([e])=>{e&&H(Math.floor(e.contentRect.height))});return t.observe(e),()=>t.disconnect()},[A,M]),(0,f.useEffect)(()=>{if(S||!n)return;if(j(!0),N(null),k(null),D(null),T(null),v&&y){let e=new URLSearchParams({file1:v,file2:y});a.get(`${i(n)}/files/compare?${e}`).then(e=>{D(e),j(!1)}).catch(e=>{N(e instanceof Error?e.message:`Failed to compare files`),j(!1)});return}if(t){let e=new URLSearchParams({file:t});h&&e.set(`ref`,h),a.get(`${i(n)}/git/file-full-diff?${e}`).then(e=>{k(e),j(!1)}).catch(e=>{N(e instanceof Error?e.message:`Failed to load diff`),j(!1)});return}let e;if(h||_){let t=new URLSearchParams;h&&t.set(`ref1`,h),_&&t.set(`ref2`,_),e=`${i(n)}/git/diff?${t}`}else e=`${i(n)}/git/diff`;a.get(e).then(e=>{T(e.diff),j(!1)}).catch(e=>{N(e instanceof Error?e.message:`Failed to load diff`),j(!1)})},[t,n,h,_,v,y,S]);let{original:U,modified:W}=(0,f.useMemo)(()=>S?{original:b??``,modified:x??``}:C&&E?E:O||(w?g(w):{original:``,modified:``}),[w,S,b,x,C,E,O]),G=(0,f.useMemo)(()=>{let e=t??y??v;return e?m(e):`plaintext`},[t,v,y]),K=typeof window<`u`&&window.innerWidth<768,q=!K;return(0,f.useEffect)(()=>{let e=R.current;if(!e)return;let t=K||P?`on`:`off`;e.updateOptions({diffWordWrap:t}),e.getOriginalEditor().updateOptions({wordWrapOverride2:t}),e.getModifiedEditor().updateOptions({wordWrapOverride2:t})},[P,K,z]),!n&&!S?(0,p.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground text-sm`,children:`No project selected.`}):A?(0,p.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2 text-muted-foreground`,children:[(0,p.jsx)(s,{className:`size-5 animate-spin`}),(0,p.jsx)(`span`,{className:`text-sm`,children:`Loading diff...`})]}):M?(0,p.jsx)(`div`,{className:`flex items-center justify-center h-full text-destructive text-sm`,children:M}):!S&&!C&&!O&&!U&&!W?(0,p.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-2 text-muted-foreground`,children:[(0,p.jsx)(c,{className:`size-8`}),(0,p.jsx)(`p`,{className:`text-sm`,children:`No content changes`}),t&&(0,p.jsx)(`p`,{className:`text-xs font-mono`,children:t})]}):(0,p.jsxs)(`div`,{className:`flex flex-col h-full`,children:[!K&&(0,p.jsx)(`div`,{className:`flex items-center justify-end gap-0.5 px-2 py-0.5 border-b border-border shrink-0`,children:(0,p.jsx)(`button`,{type:`button`,onClick:F,title:`Toggle word wrap`,className:`p-1 rounded hover:bg-muted transition-colors ${P?`bg-muted text-foreground`:``}`,children:(0,p.jsx)(r,{className:`size-3.5`})})}),(0,p.jsx)(`div`,{ref:L,className:`flex-1 overflow-hidden`,children:V&&V>0?(0,p.jsx)(u,{height:V,language:G,original:U,modified:W,theme:I,onMount:e=>{R.current=e,B(!0)},options:{fontSize:K?11:13,fontFamily:`Menlo, Monaco, Consolas, monospace`,diffWordWrap:K||P?`on`:`off`,renderSideBySide:q,useInlineViewWhenSpaceIsLimited:!1,readOnly:!0,automaticLayout:!0,scrollBeyondLastLine:!1},loading:(0,p.jsx)(s,{className:`size-5 animate-spin text-muted-foreground`})}):(0,p.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,p.jsx)(s,{className:`size-5 animate-spin text-muted-foreground`})})})]})}function g(e){let t=e.split(`
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,x as n}from"./vendor-markdown-0Mxgxy0L.js";import{t as r}from"./text-wrap-DJz9Bgpa.js";import{i,t as a}from"./api-client-DIhJ5qVW.js";import{n as o}from"./settings-store-CVrIYYCB.js";import"./vendor-mermaid-Cl50p6TB.js";import{G as s,Z as c,h as l}from"./index-Cw6jgiet.js";import{r as u,t as d}from"./use-monaco-theme-BePWbY58.js";var f=e(n(),1),p=t();function m(e){return{js:`javascript`,jsx:`javascript`,ts:`typescript`,tsx:`typescript`,py:`python`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,mdx:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,bash:`shell`}[e.split(`.`).pop()?.toLowerCase()??``]??`plaintext`}function h({metadata:e}){let t=e?.filePath,n=e?.projectName,h=e?.ref1,_=e?.ref2,v=e?.file1,y=e?.file2,b=e?.original,x=e?.modified,S=b!=null||x!=null,C=!!(v&&y),[w,T]=(0,f.useState)(null),[E,D]=(0,f.useState)(null),[O,k]=(0,f.useState)(null),[A,j]=(0,f.useState)(!S),[M,N]=(0,f.useState)(null),{wordWrap:P,toggleWordWrap:F}=o(l(e=>({wordWrap:e.wordWrap,toggleWordWrap:e.toggleWordWrap}))),I=d(),L=(0,f.useRef)(null),R=(0,f.useRef)(null),[z,B]=(0,f.useState)(!1),[V,H]=(0,f.useState)();(0,f.useEffect)(()=>{let e=L.current;if(!e)return;let t=new ResizeObserver(([e])=>{e&&H(Math.floor(e.contentRect.height))});return t.observe(e),()=>t.disconnect()},[A,M]),(0,f.useEffect)(()=>{if(S||!n)return;if(j(!0),N(null),k(null),D(null),T(null),v&&y){let e=new URLSearchParams({file1:v,file2:y});a.get(`${i(n)}/files/compare?${e}`).then(e=>{D(e),j(!1)}).catch(e=>{N(e instanceof Error?e.message:`Failed to compare files`),j(!1)});return}if(t){let e=new URLSearchParams({file:t});h&&e.set(`ref`,h),a.get(`${i(n)}/git/file-full-diff?${e}`).then(e=>{k(e),j(!1)}).catch(e=>{N(e instanceof Error?e.message:`Failed to load diff`),j(!1)});return}let e;if(h||_){let t=new URLSearchParams;h&&t.set(`ref1`,h),_&&t.set(`ref2`,_),e=`${i(n)}/git/diff?${t}`}else e=`${i(n)}/git/diff`;a.get(e).then(e=>{T(e.diff),j(!1)}).catch(e=>{N(e instanceof Error?e.message:`Failed to load diff`),j(!1)})},[t,n,h,_,v,y,S]);let{original:U,modified:W}=(0,f.useMemo)(()=>S?{original:b??``,modified:x??``}:C&&E?E:O||(w?g(w):{original:``,modified:``}),[w,S,b,x,C,E,O]),G=(0,f.useMemo)(()=>{let e=t??y??v;return e?m(e):`plaintext`},[t,v,y]),K=typeof window<`u`&&window.innerWidth<768,q=!K;return(0,f.useEffect)(()=>{let e=R.current;if(!e)return;let t=K||P?`on`:`off`;e.updateOptions({diffWordWrap:t}),e.getOriginalEditor().updateOptions({wordWrapOverride2:t}),e.getModifiedEditor().updateOptions({wordWrapOverride2:t})},[P,K,z]),!n&&!S?(0,p.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground text-sm`,children:`No project selected.`}):A?(0,p.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2 text-muted-foreground`,children:[(0,p.jsx)(s,{className:`size-5 animate-spin`}),(0,p.jsx)(`span`,{className:`text-sm`,children:`Loading diff...`})]}):M?(0,p.jsx)(`div`,{className:`flex items-center justify-center h-full text-destructive text-sm`,children:M}):!S&&!C&&!O&&!U&&!W?(0,p.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-2 text-muted-foreground`,children:[(0,p.jsx)(c,{className:`size-8`}),(0,p.jsx)(`p`,{className:`text-sm`,children:`No content changes`}),t&&(0,p.jsx)(`p`,{className:`text-xs font-mono`,children:t})]}):(0,p.jsxs)(`div`,{className:`flex flex-col h-full`,children:[!K&&(0,p.jsx)(`div`,{className:`flex items-center justify-end gap-0.5 px-2 py-0.5 border-b border-border shrink-0`,children:(0,p.jsx)(`button`,{type:`button`,onClick:F,title:`Toggle word wrap`,className:`p-1 rounded hover:bg-muted transition-colors ${P?`bg-muted text-foreground`:``}`,children:(0,p.jsx)(r,{className:`size-3.5`})})}),(0,p.jsx)(`div`,{ref:L,className:`flex-1 overflow-hidden`,children:V&&V>0?(0,p.jsx)(u,{height:V,language:G,original:U,modified:W,theme:I,onMount:e=>{R.current=e,B(!0)},options:{fontSize:K?11:13,fontFamily:`Menlo, Monaco, Consolas, monospace`,diffWordWrap:K||P?`on`:`off`,renderSideBySide:q,useInlineViewWhenSpaceIsLimited:!1,readOnly:!0,automaticLayout:!0,scrollBeyondLastLine:!1},loading:(0,p.jsx)(s,{className:`size-5 animate-spin text-muted-foreground`})}):(0,p.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,p.jsx)(s,{className:`size-5 animate-spin text-muted-foreground`})})})]})}function g(e){let t=e.split(`
2
2
  `),n=[],r=[],i=!1;for(let e of t)if(!(e.startsWith(`diff --git`)||e.startsWith(`diff --no-index`)||e.startsWith(`index `)||e.startsWith(`new file`)||e.startsWith(`deleted file`)||e.startsWith(`old mode`)||e.startsWith(`new mode`)||e.startsWith(`---`)||e.startsWith(`+++`)||e.startsWith(`Binary files`)||e.startsWith(`\\ No newline`))){if(e.startsWith(`@@`)){i=!0;continue}if(i)if(e.startsWith(`-`))n.push(e.slice(1));else if(e.startsWith(`+`))r.push(e.slice(1));else{let t=e.startsWith(` `)?e.slice(1):e;n.push(t),r.push(t)}}return{original:n.join(`
3
3
  `),modified:r.join(`
4
4
  `)}}export{h as DiffViewer};
@@ -1,3 +1,3 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,x as n}from"./vendor-markdown-0Mxgxy0L.js";import{r}from"./api-client-DIhJ5qVW.js";import{G as i,w as a}from"./index-BG3vkzX-.js";var o=e(n(),1),s=t(),c=`<script>
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,x as n}from"./vendor-markdown-0Mxgxy0L.js";import{r}from"./api-client-DIhJ5qVW.js";import{G as i,w as a}from"./index-Cw6jgiet.js";var o=e(n(),1),s=t(),c=`<script>
2
2
  function acquireVsCodeApi(){return{postMessage:function(m){window.parent.postMessage(m,"*")},getState:function(){try{return JSON.parse(sessionStorage.getItem("vscode-state")||"null")}catch{return null}},setState:function(s){sessionStorage.setItem("vscode-state",JSON.stringify(s));return s}}}
3
3
  <\/script>`;function l(e){if(!e)return e;let t=e.indexOf(`<head>`);return t===-1?c+e:e.slice(0,t+6)+c+e.slice(t+6)}function u({metadata:e}){let t=e?.panelId,n=e?.viewType,c=e?.projectName||void 0,[u,d]=(0,o.useState)(!1),f=a(e=>e.contributions!==null),p=a(e=>{if(t&&e.webviewPanels[t])return e.webviewPanels[t];if(n){let t=n.includes(`.`)?n:`${n}.view`;return Object.values(e.webviewPanels).find(e=>e.viewType===n||e.viewType===t)}}),m=p?.id??t,h=(0,o.useRef)(null),g=p?.html??``,_=l(g),v=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(p||!n||!f||c&&c===v.current)return;c&&(v.current=c);let e=n.includes(`.`)?n:`${n}.view`,t=!1;async function i(){let n=[];if(c)try{let e=r(),t=(await(await fetch(`/api/projects`,e?{headers:{Authorization:`Bearer ${e}`}}:{})).json()).data?.find(e=>e.name===c);t&&(n=[t.path])}catch{}t||window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e,args:n}}))}return i(),()=>{t=!0}},[p,n,c,f]);let y=e?.extensionId,b=a(e=>{if(y&&e.activationErrors[y])return e.activationErrors[y];if(n){for(let[t,r]of Object.entries(e.activationErrors))if(t===`ext-${n}`)return r}}),x=(0,o.useCallback)(()=>{if(d(!1),!n)return;let e=n.includes(`.`)?n:`${n}.view`;(async()=>{try{let t=r(),n=(await(await fetch(`/api/projects`,t?{headers:{Authorization:`Bearer ${t}`}}:{})).json()).data?.find(e=>e.name===c),i=n?[n.path]:[];window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e,args:i}}))}catch{}})()},[n,c]),S=(0,o.useRef)(null),C=(0,o.useRef)(n);return(0,o.useEffect)(()=>{S.current=m??null},[m]),(0,o.useEffect)(()=>{C.current=n},[n]),(0,o.useEffect)(()=>()=>{let e=S.current;if(e){let t=C.current;a.getState().removeWebviewPanel(e),window.dispatchEvent(new CustomEvent(`ext:webview:close`,{detail:{panelId:e,viewType:t}}))}},[]),(0,o.useEffect)(()=>{if(p){d(!1);return}if(!f||!n)return;let e=0,t=setInterval(()=>{if(e++,e>3){clearInterval(t),d(!0);return}x()},2e3);return()=>clearInterval(t)},[p,f,n,x]),(0,o.useEffect)(()=>{if(!m)return;let e=e=>{h.current&&e.source===h.current.contentWindow&&window.dispatchEvent(new CustomEvent(`ext:webview:send`,{detail:{panelId:m,message:e.data}}))};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[m]),(0,o.useEffect)(()=>{if(!m)return;let e=e=>{let{panelId:t,message:n}=e.detail;t===m&&h.current?.contentWindow?.postMessage(n,`*`)};return window.addEventListener(`ext:webview:message`,e),()=>window.removeEventListener(`ext:webview:message`,e)},[m]),!p||!g?(0,s.jsx)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-sm text-text-subtle`,children:u?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`span`,{className:`text-destructive font-medium`,children:`Extension failed to load`}),b&&(0,s.jsx)(`span`,{className:`text-xs text-muted-foreground max-w-md text-center`,children:b}),(0,s.jsx)(`button`,{onClick:x,className:`text-xs text-primary hover:underline`,children:`Retry`})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i,{className:`size-5 animate-spin`}),(0,s.jsx)(`span`,{children:`Loading extension...`})]})}):(0,s.jsx)(`div`,{className:`h-full w-full relative`,children:(0,s.jsx)(`iframe`,{ref:h,srcDoc:_,sandbox:`allow-scripts`,className:`w-full h-full border-0 bg-white dark:bg-zinc-900`,title:p.title},m)})}export{u as ExtensionWebview};
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/data-grid-overlay-editor-DZIqEOsz.js","assets/rolldown-runtime-FhOqtrmT.js","assets/dist-CcDNqGjt.js","assets/vendor-markdown-0Mxgxy0L.js","assets/vendor-ui-B-89Uj8i.js","assets/data-grid-types-BISkUXAY.js","assets/number-overlay-editor-CewUR5pB.js"])))=>i.map(i=>d[i]);
2
- import{o as e,t}from"./rolldown-runtime-FhOqtrmT.js";import{b as n,x as r}from"./vendor-markdown-0Mxgxy0L.js";import{et as i}from"./vendor-ui-B-89Uj8i.js";import{t as a}from"./createLucideIcon-BjHrJDVb.js";import{n as o,r as s}from"./csv-parser-Dly5nqE1.js";import{t as c}from"./arrow-up-Rcw6_KKu.js";import{n as l}from"./database-DOWH9-Vv.js";import{t as u}from"./chevron-right-DnHIvvcy.js";import{i as d,n as f,r as p,t as m}from"./search-tM8K5zWU.js";import{a as h,i as g,n as _,r as v,t as y}from"./x-BPReZWnP.js";import{t as b}from"./sparkles-CulWHe4c.js";import{t as x}from"./text-wrap-DJz9Bgpa.js";import{K as S,j as C}from"./vendor-mermaid-Cl50p6TB.js";import{t as w}from"./tab-store-Dow2Ztto.js";import{$ as T,G as E,I as D,K as O,h as k}from"./index-BG3vkzX-.js";import{A,B as ee,C as te,D as ne,E as j,F as re,G as ie,H as ae,I as M,L as oe,M as N,N as P,O as se,P as ce,R as le,S as F,T as I,U as ue,V as de,W as fe,_ as pe,a as me,b as he,c as ge,d as _e,f as ve,g as L,h as ye,i as be,j as xe,k as R,l as Se,m as Ce,n as z,o as B,p as we,r as V,s as H,t as U,u as Te,v as Ee,w as W,x as De,y as Oe,z as ke}from"./data-grid-types-BISkUXAY.js";import{t as G}from"./dist-CcDNqGjt.js";import{n as Ae,t as je}from"./use-monaco-theme-BePWbY58.js";var Me=a(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),Ne=a(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),Pe=`SELECT.FROM.WHERE.INSERT.INTO.VALUES.UPDATE.SET.DELETE.CREATE.TABLE.ALTER.DROP.INDEX.JOIN.LEFT.RIGHT.INNER.OUTER.ON.AND.OR.NOT.NULL.IS.IN.LIKE.BETWEEN.HAVING.LIMIT.OFFSET.AS.DISTINCT.COUNT.SUM.AVG.MIN.MAX.CASE.WHEN.THEN.ELSE.END.EXISTS.UNION.ALL.ASC.DESC.ORDER BY.GROUP BY.LEFT JOIN.RIGHT JOIN.INNER JOIN.CROSS JOIN.FULL OUTER JOIN.IS NULL.IS NOT NULL`.split(`.`),Fe=[`COUNT`,`SUM`,`AVG`,`MIN`,`MAX`],Ie=[`=`,`!=`,`<>`,`>`,`<`,`>=`,`<=`,`LIKE`,`ILIKE`,`IN`,`NOT IN`,`BETWEEN`,`IS NULL`,`IS NOT NULL`],Le=[`ASC`,`DESC`],Re=new Map,ze=new Set(`WHERE.SET.ON.ORDER.GROUP.HAVING.LIMIT.LEFT.RIGHT.INNER.OUTER.CROSS.FULL.JOIN.AND.OR.VALUES.SELECT.FROM.INTO.UPDATE.DELETE.INSERT.CREATE.ALTER.DROP`.split(`.`));function Be(e){let t=new Set,n=new Map,r=e.matchAll(/\b(?:FROM|JOIN|UPDATE|INTO)\s+"?(\w+)"?(?:\s+AS\s+(\w+)|\s+(?!(?:FROM|JOIN|UPDATE|INTO|WHERE|SET|ON|ORDER|GROUP|HAVING|LIMIT|LEFT|RIGHT|INNER|OUTER|CROSS|FULL|AND|OR|VALUES|SELECT)\b)(\w+))?/gi);for(let e of r){let r=e[1];t.add(r);let i=e[2]??e[3];i&&!ze.has(i.toUpperCase())&&n.set(i.toLowerCase(),r)}return{tableRefs:t,aliasMap:n}}function Ve(e,t){return t.get(e.toLowerCase())??e}async function He(e,t){let n=e.toLowerCase(),r=Re.get(n);if(!r)try{r=await t.getColumns(e),Re.set(n,r)}catch{r=[]}return r}async function Ue(e,t,n,r){let i=[],a=new Set;for(let o of e){let e=await He(o,t);for(let t of e){if(a.has(t.name))continue;a.add(t.name);let e=/[A-Z]/.test(t.name);i.push({label:t.name,kind:n.languages.CompletionItemKind.Field,detail:`${o} · ${t.type}`,insertText:e?`"${t.name}"`:t.name,range:r,sortText:`0`+t.name})}}return i}function We(e){if(/(\w+)\.\s*$/.test(e))return`dot`;let t=e.match(/\b(?:ORDER|GROUP)\s+BY\s+(?:[\w"]+\s+(?:ASC|DESC)\s*,\s*)*[\w"]+\s+(\w*)$/i);if(t){let e=t[1].toUpperCase();return e===`ASC`||e===`DESC`?`after-direction`:`sort-direction`}return/\b(?:ORDER|GROUP)\s+BY\s+.*(?:ASC|DESC)\s*,\s*\w*$/i.test(e)?`order-by-next-col`:/\b(?:WHERE|AND|OR)\s+[\w"]+\s+\S*$/i.test(e)?`operator`:/\b(?:FROM|JOIN|INTO|UPDATE|TABLE)\s+\w*$/i.test(e)?`table`:/\bINSERT\s+INTO\s+[\w"]+\s*\(\s*(?:[\w"]+\s*,\s*)*\w*$/i.test(e)?`insert-cols`:/\b(?:SELECT|WHERE|ORDER\s+BY|GROUP\s+BY|HAVING|SET|ON|AND|OR)\s+(?:[\w"]+\s*,\s*)*\w*$/i.test(e)?`columns`:/,\s*\w*$/.test(e)?`comma-cols`:`default`}function Ge(e,t){return{triggerCharacters:[`.`,`,`],provideCompletionItems:async(n,r)=>{try{let i=n.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:r.lineNumber,endColumn:r.column}),a=n.getWordUntilPosition(r),o={startLineNumber:r.lineNumber,endLineNumber:r.lineNumber,startColumn:a.startColumn,endColumn:a.endColumn},{tableRefs:s,aliasMap:c}=Be(n.getValue()),l=[],u=We(i);if(u===`dot`){let n=i.match(/(\w+)\.\s*$/);if(n){let r=n[1],i=await He(Ve(r,c),t);for(let t of i){let n=/[A-Z]/.test(t.name);l.push({label:t.name,kind:e.languages.CompletionItemKind.Field,detail:t.type,insertText:n?`"${t.name}"`:t.name,range:o})}}return{suggestions:l}}if(u===`sort-direction`){for(let t of Le)l.push({label:t,kind:e.languages.CompletionItemKind.Keyword,insertText:t,range:o,sortText:`0`+t});return{suggestions:l}}if(u===`after-direction`)return{suggestions:[]};if(u===`order-by-next-col`)return l.push(...await Ue(s,t,e,o)),{suggestions:l};if(u===`operator`){for(let t of Ie)l.push({label:t,kind:e.languages.CompletionItemKind.Operator,insertText:t,range:o,sortText:`0`+t});return{suggestions:l}}if(u===`table`){for(let n of t.tables)l.push({label:n.name,kind:e.languages.CompletionItemKind.Struct,detail:n.schema,insertText:n.name,range:o,sortText:`0`+n.name});return{suggestions:l}}if(u===`insert-cols`)return l.push(...await Ue(s,t,e,o)),{suggestions:l};if(u===`columns`){if(l.push(...await Ue(s,t,e,o)),/\bSELECT\s+/i.test(i)){l.push({label:`*`,kind:e.languages.CompletionItemKind.Value,insertText:`*`,range:o,sortText:`00*`});for(let t of Fe)l.push({label:`${t}()`,kind:e.languages.CompletionItemKind.Function,insertText:`${t}($0)`,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:o,sortText:`1`+t})}for(let t of Pe)l.push({label:t,kind:e.languages.CompletionItemKind.Keyword,insertText:t,range:o,sortText:`3`+t});return{suggestions:l}}if(u===`comma-cols`&&s.size>0)return l.push(...await Ue(s,t,e,o)),{suggestions:l};for(let t of Pe)l.push({label:t,kind:e.languages.CompletionItemKind.Keyword,insertText:t,range:o,sortText:`2`+t});for(let n of t.tables)l.push({label:n.name,kind:e.languages.CompletionItemKind.Struct,detail:n.schema,insertText:n.name,range:o,sortText:`1`+n.name});return{suggestions:l}}catch{return{suggestions:[]}}}}}function Ke(){Re.clear()}var K=e(r(),1),qe=e(i(),1),q=n();function Je(e,t,n){let r=new Blob([t],{type:n}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=e,a.click(),URL.revokeObjectURL(i)}function Ye({columns:e,rows:t,filename:n=`export`,exportAllUrl:r}){let[i,a]=(0,K.useState)(!1),[s,c]=(0,K.useState)(!1),l=(0,K.useRef)(null),u=(0,K.useRef)(null);(0,K.useEffect)(()=>{if(!i)return;let e=e=>{u.current&&!u.current.contains(e.target)&&l.current&&!l.current.contains(e.target)&&a(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[i]);let d=(0,K.useCallback)(()=>a(e=>!e),[]),f=()=>{let r=o(e,t.map(t=>e.map(e=>String(t[e]??``))));Je(`${n}.csv`,r,`text/csv`),a(!1)},p=()=>{let e=JSON.stringify(t,null,2);Je(`${n}.json`,e,`application/json`),a(!1)},m=async()=>{let n=e.join(` `),r=t.map(t=>e.map(e=>String(t[e]??``)).join(` `)).join(`
2
+ import{o as e,t}from"./rolldown-runtime-FhOqtrmT.js";import{b as n,x as r}from"./vendor-markdown-0Mxgxy0L.js";import{et as i}from"./vendor-ui-B-89Uj8i.js";import{t as a}from"./createLucideIcon-BjHrJDVb.js";import{n as o,r as s}from"./csv-parser-Dly5nqE1.js";import{t as c}from"./arrow-up-Rcw6_KKu.js";import{n as l}from"./database-DOWH9-Vv.js";import{t as u}from"./chevron-right-DnHIvvcy.js";import{i as d,n as f,r as p,t as m}from"./search-tM8K5zWU.js";import{a as h,i as g,n as _,r as v,t as y}from"./x-BPReZWnP.js";import{t as b}from"./sparkles-CulWHe4c.js";import{t as x}from"./text-wrap-DJz9Bgpa.js";import{K as S,j as C}from"./vendor-mermaid-Cl50p6TB.js";import{t as w}from"./tab-store-Dow2Ztto.js";import{$ as T,G as E,I as D,K as O,h as k}from"./index-Cw6jgiet.js";import{A,B as ee,C as te,D as ne,E as j,F as re,G as ie,H as ae,I as M,L as oe,M as N,N as P,O as se,P as ce,R as le,S as F,T as I,U as ue,V as de,W as fe,_ as pe,a as me,b as he,c as ge,d as _e,f as ve,g as L,h as ye,i as be,j as xe,k as R,l as Se,m as Ce,n as z,o as B,p as we,r as V,s as H,t as U,u as Te,v as Ee,w as W,x as De,y as Oe,z as ke}from"./data-grid-types-BISkUXAY.js";import{t as G}from"./dist-CcDNqGjt.js";import{n as Ae,t as je}from"./use-monaco-theme-BePWbY58.js";var Me=a(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),Ne=a(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),Pe=`SELECT.FROM.WHERE.INSERT.INTO.VALUES.UPDATE.SET.DELETE.CREATE.TABLE.ALTER.DROP.INDEX.JOIN.LEFT.RIGHT.INNER.OUTER.ON.AND.OR.NOT.NULL.IS.IN.LIKE.BETWEEN.HAVING.LIMIT.OFFSET.AS.DISTINCT.COUNT.SUM.AVG.MIN.MAX.CASE.WHEN.THEN.ELSE.END.EXISTS.UNION.ALL.ASC.DESC.ORDER BY.GROUP BY.LEFT JOIN.RIGHT JOIN.INNER JOIN.CROSS JOIN.FULL OUTER JOIN.IS NULL.IS NOT NULL`.split(`.`),Fe=[`COUNT`,`SUM`,`AVG`,`MIN`,`MAX`],Ie=[`=`,`!=`,`<>`,`>`,`<`,`>=`,`<=`,`LIKE`,`ILIKE`,`IN`,`NOT IN`,`BETWEEN`,`IS NULL`,`IS NOT NULL`],Le=[`ASC`,`DESC`],Re=new Map,ze=new Set(`WHERE.SET.ON.ORDER.GROUP.HAVING.LIMIT.LEFT.RIGHT.INNER.OUTER.CROSS.FULL.JOIN.AND.OR.VALUES.SELECT.FROM.INTO.UPDATE.DELETE.INSERT.CREATE.ALTER.DROP`.split(`.`));function Be(e){let t=new Set,n=new Map,r=e.matchAll(/\b(?:FROM|JOIN|UPDATE|INTO)\s+"?(\w+)"?(?:\s+AS\s+(\w+)|\s+(?!(?:FROM|JOIN|UPDATE|INTO|WHERE|SET|ON|ORDER|GROUP|HAVING|LIMIT|LEFT|RIGHT|INNER|OUTER|CROSS|FULL|AND|OR|VALUES|SELECT)\b)(\w+))?/gi);for(let e of r){let r=e[1];t.add(r);let i=e[2]??e[3];i&&!ze.has(i.toUpperCase())&&n.set(i.toLowerCase(),r)}return{tableRefs:t,aliasMap:n}}function Ve(e,t){return t.get(e.toLowerCase())??e}async function He(e,t){let n=e.toLowerCase(),r=Re.get(n);if(!r)try{r=await t.getColumns(e),Re.set(n,r)}catch{r=[]}return r}async function Ue(e,t,n,r){let i=[],a=new Set;for(let o of e){let e=await He(o,t);for(let t of e){if(a.has(t.name))continue;a.add(t.name);let e=/[A-Z]/.test(t.name);i.push({label:t.name,kind:n.languages.CompletionItemKind.Field,detail:`${o} · ${t.type}`,insertText:e?`"${t.name}"`:t.name,range:r,sortText:`0`+t.name})}}return i}function We(e){if(/(\w+)\.\s*$/.test(e))return`dot`;let t=e.match(/\b(?:ORDER|GROUP)\s+BY\s+(?:[\w"]+\s+(?:ASC|DESC)\s*,\s*)*[\w"]+\s+(\w*)$/i);if(t){let e=t[1].toUpperCase();return e===`ASC`||e===`DESC`?`after-direction`:`sort-direction`}return/\b(?:ORDER|GROUP)\s+BY\s+.*(?:ASC|DESC)\s*,\s*\w*$/i.test(e)?`order-by-next-col`:/\b(?:WHERE|AND|OR)\s+[\w"]+\s+\S*$/i.test(e)?`operator`:/\b(?:FROM|JOIN|INTO|UPDATE|TABLE)\s+\w*$/i.test(e)?`table`:/\bINSERT\s+INTO\s+[\w"]+\s*\(\s*(?:[\w"]+\s*,\s*)*\w*$/i.test(e)?`insert-cols`:/\b(?:SELECT|WHERE|ORDER\s+BY|GROUP\s+BY|HAVING|SET|ON|AND|OR)\s+(?:[\w"]+\s*,\s*)*\w*$/i.test(e)?`columns`:/,\s*\w*$/.test(e)?`comma-cols`:`default`}function Ge(e,t){return{triggerCharacters:[`.`,`,`],provideCompletionItems:async(n,r)=>{try{let i=n.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:r.lineNumber,endColumn:r.column}),a=n.getWordUntilPosition(r),o={startLineNumber:r.lineNumber,endLineNumber:r.lineNumber,startColumn:a.startColumn,endColumn:a.endColumn},{tableRefs:s,aliasMap:c}=Be(n.getValue()),l=[],u=We(i);if(u===`dot`){let n=i.match(/(\w+)\.\s*$/);if(n){let r=n[1],i=await He(Ve(r,c),t);for(let t of i){let n=/[A-Z]/.test(t.name);l.push({label:t.name,kind:e.languages.CompletionItemKind.Field,detail:t.type,insertText:n?`"${t.name}"`:t.name,range:o})}}return{suggestions:l}}if(u===`sort-direction`){for(let t of Le)l.push({label:t,kind:e.languages.CompletionItemKind.Keyword,insertText:t,range:o,sortText:`0`+t});return{suggestions:l}}if(u===`after-direction`)return{suggestions:[]};if(u===`order-by-next-col`)return l.push(...await Ue(s,t,e,o)),{suggestions:l};if(u===`operator`){for(let t of Ie)l.push({label:t,kind:e.languages.CompletionItemKind.Operator,insertText:t,range:o,sortText:`0`+t});return{suggestions:l}}if(u===`table`){for(let n of t.tables)l.push({label:n.name,kind:e.languages.CompletionItemKind.Struct,detail:n.schema,insertText:n.name,range:o,sortText:`0`+n.name});return{suggestions:l}}if(u===`insert-cols`)return l.push(...await Ue(s,t,e,o)),{suggestions:l};if(u===`columns`){if(l.push(...await Ue(s,t,e,o)),/\bSELECT\s+/i.test(i)){l.push({label:`*`,kind:e.languages.CompletionItemKind.Value,insertText:`*`,range:o,sortText:`00*`});for(let t of Fe)l.push({label:`${t}()`,kind:e.languages.CompletionItemKind.Function,insertText:`${t}($0)`,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:o,sortText:`1`+t})}for(let t of Pe)l.push({label:t,kind:e.languages.CompletionItemKind.Keyword,insertText:t,range:o,sortText:`3`+t});return{suggestions:l}}if(u===`comma-cols`&&s.size>0)return l.push(...await Ue(s,t,e,o)),{suggestions:l};for(let t of Pe)l.push({label:t,kind:e.languages.CompletionItemKind.Keyword,insertText:t,range:o,sortText:`2`+t});for(let n of t.tables)l.push({label:n.name,kind:e.languages.CompletionItemKind.Struct,detail:n.schema,insertText:n.name,range:o,sortText:`1`+n.name});return{suggestions:l}}catch{return{suggestions:[]}}}}}function Ke(){Re.clear()}var K=e(r(),1),qe=e(i(),1),q=n();function Je(e,t,n){let r=new Blob([t],{type:n}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=e,a.click(),URL.revokeObjectURL(i)}function Ye({columns:e,rows:t,filename:n=`export`,exportAllUrl:r}){let[i,a]=(0,K.useState)(!1),[s,c]=(0,K.useState)(!1),l=(0,K.useRef)(null),u=(0,K.useRef)(null);(0,K.useEffect)(()=>{if(!i)return;let e=e=>{u.current&&!u.current.contains(e.target)&&l.current&&!l.current.contains(e.target)&&a(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[i]);let d=(0,K.useCallback)(()=>a(e=>!e),[]),f=()=>{let r=o(e,t.map(t=>e.map(e=>String(t[e]??``))));Je(`${n}.csv`,r,`text/csv`),a(!1)},p=()=>{let e=JSON.stringify(t,null,2);Je(`${n}.json`,e,`application/json`),a(!1)},m=async()=>{let n=e.join(` `),r=t.map(t=>e.map(e=>String(t[e]??``)).join(` `)).join(`
3
3
  `);await navigator.clipboard.writeText(n+`
4
4
  `+r),a(!1)},g=async e=>{if(r){c(!0);try{let t=await(await fetch(`${r}&format=${e}&limit=10000`)).text(),i=e===`csv`?`text/csv`:`application/json`;Je(`${n}-all.${e}`,t,i)}catch{}c(!1),a(!1)}};if(e.length===0||t.length===0)return null;let _=l.current?.getBoundingClientRect(),v=document.getElementById(`portal`);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{ref:l,type:`button`,onClick:d,className:`p-1 rounded text-muted-foreground hover:text-foreground transition-colors`,title:`Export`,children:(0,q.jsx)(h,{className:`size-3.5`})}),i&&v&&_&&(0,qe.createPortal)((0,q.jsxs)(`div`,{ref:u,style:{position:`fixed`,left:Math.min(_.left,window.innerWidth-170),top:_.bottom+4,zIndex:1e4},className:`bg-popover border border-border rounded-md shadow-md py-1 min-w-[160px] text-xs`,children:[(0,q.jsx)(`button`,{onClick:m,className:`w-full text-left px-3 py-1.5 hover:bg-muted transition-colors text-foreground`,children:`Copy to Clipboard (TSV)`}),(0,q.jsx)(`button`,{onClick:f,className:`w-full text-left px-3 py-1.5 hover:bg-muted transition-colors text-foreground`,children:`Export Page (CSV)`}),(0,q.jsx)(`button`,{onClick:p,className:`w-full text-left px-3 py-1.5 hover:bg-muted transition-colors text-foreground`,children:`Export Page (JSON)`}),r&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`border-t border-border my-1`}),(0,q.jsx)(`button`,{onClick:()=>g(`csv`),disabled:s,className:`w-full text-left px-3 py-1.5 hover:bg-muted transition-colors disabled:opacity-50 text-foreground`,children:s?`Exporting…`:`Export All (CSV)`}),(0,q.jsx)(`button`,{onClick:()=>g(`json`),disabled:s,className:`w-full text-left px-3 py-1.5 hover:bg-muted transition-colors disabled:opacity-50 text-foreground`,children:s?`Exporting…`:`Export All (JSON)`})]})]}),v)]})}var Xe=G(`div`)({name:`ImageOverlayEditorStyle`,class:`gdg-i2iowwq`,propsAsIs:!1}),Ze=t(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),Qe=t(((e,t)=>{var n=Ze();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),$e=t(((e,t)=>{t.exports=Qe()()})),et=t((e=>{(function(t,n){if(typeof define==`function`&&define.amd)define([`exports`,`react`,`prop-types`],n);else if(e!==void 0)n(e,r(),$e());else{var i={exports:{}};n(i.exports,t.react,t.propTypes),t.reactSwipe=i.exports}})(e,function(e,t,n){Object.defineProperty(e,`__esModule`,{value:!0}),e.setHasSupportToCaptureOption=p;var r=a(t),i=a(n);function a(e){return e&&e.__esModule?e:{default:e}}var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function s(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function c(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function u(e,t){if(!e)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return t&&(typeof t==`object`||typeof t==`function`)?t:e}function d(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function, not `+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var f=!1;function p(e){f=e}try{addEventListener(`test`,null,Object.defineProperty({},`capture`,{get:function(){p(!0)}}))}catch{}function m(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{capture:!0};return f?e:e.capture}function h(e){if(`touches`in e){var t=e.touches[0];return{x:t.pageX,y:t.pageY}}return{x:e.screenX,y:e.screenY}}var g=function(e){d(t,e);function t(){var e;c(this,t);var n=[...arguments],r=u(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(n)));return r._handleSwipeStart=r._handleSwipeStart.bind(r),r._handleSwipeMove=r._handleSwipeMove.bind(r),r._handleSwipeEnd=r._handleSwipeEnd.bind(r),r._onMouseDown=r._onMouseDown.bind(r),r._onMouseMove=r._onMouseMove.bind(r),r._onMouseUp=r._onMouseUp.bind(r),r._setSwiperRef=r._setSwiperRef.bind(r),r}return l(t,[{key:`componentDidMount`,value:function(){this.swiper&&this.swiper.addEventListener(`touchmove`,this._handleSwipeMove,m({capture:!0,passive:!1}))}},{key:`componentWillUnmount`,value:function(){this.swiper&&this.swiper.removeEventListener(`touchmove`,this._handleSwipeMove,m({capture:!0,passive:!1}))}},{key:`_onMouseDown`,value:function(e){this.props.allowMouseEvents&&(this.mouseDown=!0,document.addEventListener(`mouseup`,this._onMouseUp),document.addEventListener(`mousemove`,this._onMouseMove),this._handleSwipeStart(e))}},{key:`_onMouseMove`,value:function(e){this.mouseDown&&this._handleSwipeMove(e)}},{key:`_onMouseUp`,value:function(e){this.mouseDown=!1,document.removeEventListener(`mouseup`,this._onMouseUp),document.removeEventListener(`mousemove`,this._onMouseMove),this._handleSwipeEnd(e)}},{key:`_handleSwipeStart`,value:function(e){var t=h(e);this.moveStart={x:t.x,y:t.y},this.props.onSwipeStart(e)}},{key:`_handleSwipeMove`,value:function(e){if(this.moveStart){var t=h(e),n=t.x,r=t.y,i=n-this.moveStart.x,a=r-this.moveStart.y;this.moving=!0,this.props.onSwipeMove({x:i,y:a},e)&&e.cancelable&&e.preventDefault(),this.movePosition={deltaX:i,deltaY:a}}}},{key:`_handleSwipeEnd`,value:function(e){this.props.onSwipeEnd(e);var t=this.props.tolerance;this.moving&&this.movePosition&&(this.movePosition.deltaX<-t?this.props.onSwipeLeft(1,e):this.movePosition.deltaX>t&&this.props.onSwipeRight(1,e),this.movePosition.deltaY<-t?this.props.onSwipeUp(1,e):this.movePosition.deltaY>t&&this.props.onSwipeDown(1,e)),this.moveStart=null,this.moving=!1,this.movePosition=null}},{key:`_setSwiperRef`,value:function(e){this.swiper=e,this.props.innerRef(e)}},{key:`render`,value:function(){var e=this.props;e.tagName;var t=e.className,n=e.style,i=e.children;e.allowMouseEvents,e.onSwipeUp,e.onSwipeDown,e.onSwipeLeft,e.onSwipeRight,e.onSwipeStart,e.onSwipeMove,e.onSwipeEnd,e.innerRef,e.tolerance;var a=s(e,[`tagName`,`className`,`style`,`children`,`allowMouseEvents`,`onSwipeUp`,`onSwipeDown`,`onSwipeLeft`,`onSwipeRight`,`onSwipeStart`,`onSwipeMove`,`onSwipeEnd`,`innerRef`,`tolerance`]);return r.default.createElement(this.props.tagName,o({ref:this._setSwiperRef,onMouseDown:this._onMouseDown,onTouchStart:this._handleSwipeStart,onTouchEnd:this._handleSwipeEnd,className:t,style:n},a),i)}}]),t}(t.Component);g.displayName=`ReactSwipe`,g.propTypes={tagName:i.default.string,className:i.default.string,style:i.default.object,children:i.default.node,allowMouseEvents:i.default.bool,onSwipeUp:i.default.func,onSwipeDown:i.default.func,onSwipeLeft:i.default.func,onSwipeRight:i.default.func,onSwipeStart:i.default.func,onSwipeMove:i.default.func,onSwipeEnd:i.default.func,innerRef:i.default.func,tolerance:i.default.number.isRequired},g.defaultProps={tagName:`div`,allowMouseEvents:!1,onSwipeUp:function(){},onSwipeDown:function(){},onSwipeLeft:function(){},onSwipeRight:function(){},onSwipeStart:function(){},onSwipeMove:function(){},onSwipeEnd:function(){},innerRef:function(){},tolerance:0},e.default=g})})),tt=t((e=>{(function(t,n){if(typeof define==`function`&&define.amd)define([`exports`,`./react-swipe`],n);else if(e!==void 0)n(e,et());else{var r={exports:{}};n(r.exports,t.reactSwipe),t.index=r.exports}})(e,function(e,t){Object.defineProperty(e,`__esModule`,{value:!0});var n=r(t);function r(e){return e&&e.__esModule?e:{default:e}}e.default=n.default})})),nt=t(((e,t)=>{(function(){var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()})),rt=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var t=n(nt());function n(e){return e&&e.__esModule?e:{default:e}}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e.default={ROOT:function(e){return(0,t.default)(r({"carousel-root":!0},e||``,!!e))},CAROUSEL:function(e){return(0,t.default)({carousel:!0,"carousel-slider":e})},WRAPPER:function(e,n){return(0,t.default)({"thumbs-wrapper":!e,"slider-wrapper":e,"axis-horizontal":n===`horizontal`,"axis-vertical":n!==`horizontal`})},SLIDER:function(e,n){return(0,t.default)({thumbs:!e,slider:e,animated:!n})},ITEM:function(e,n,r){return(0,t.default)({thumb:!e,slide:e,selected:n,previous:r})},ARROW_PREV:function(e){return(0,t.default)({"control-arrow control-prev":!0,"control-disabled":e})},ARROW_NEXT:function(e){return(0,t.default)({"control-arrow control-next":!0,"control-disabled":e})},DOT:function(e){return(0,t.default)({dot:!0,selected:e})}}})),it=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.outerWidth=void 0,e.outerWidth=function(e){var t=e.offsetWidth,n=getComputedStyle(e);return t+=parseInt(n.marginLeft)+parseInt(n.marginRight),t}})),at=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default=function(e,t,n){var r=e===0?e:e+t;return`translate3d`+(`(`+(n===`horizontal`?[r,0,0]:[0,r,0]).join(`,`)+`)`)}})),ot=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default=function(){return window}})),st=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var t=u(r()),n=c(rt()),i=it(),a=c(at()),o=c(tt()),s=c(ot());function c(e){return e&&e.__esModule?e:{default:e}}function l(){if(typeof WeakMap!=`function`)return null;var e=new WeakMap;return l=function(){return e},e}function u(e){if(e&&e.__esModule)return e;if(e===null||d(e)!==`object`&&typeof e!=`function`)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,t&&t.set(e,n),n}function d(e){"@babel/helpers - typeof";return d=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},d(e)}function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f.apply(this,arguments)}function p(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function m(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function h(e,t,n){return t&&m(e.prototype,t),n&&m(e,n),e}function g(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_(e,t)}function _(e,t){return _=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},_(e,t)}function v(e){var t=x();return function(){var n=S(e),r;if(t){var i=S(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return y(this,r)}}function y(e,t){return t&&(d(t)===`object`||typeof t==`function`)?t:b(e)}function b(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function x(){if(typeof Reflect>`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function S(e){return S=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},S(e)}function C(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var w=function(e){return e.hasOwnProperty(`key`)},T=function(e){g(c,e);var r=v(c);function c(e){var n;return p(this,c),n=r.call(this,e),C(b(n),`itemsWrapperRef`,void 0),C(b(n),`itemsListRef`,void 0),C(b(n),`thumbsRef`,void 0),C(b(n),`setItemsWrapperRef`,function(e){n.itemsWrapperRef=e}),C(b(n),`setItemsListRef`,function(e){n.itemsListRef=e}),C(b(n),`setThumbsRef`,function(e,t){n.thumbsRef||=[],n.thumbsRef[t]=e}),C(b(n),`updateSizes`,function(){if(!(!n.props.children||!n.itemsWrapperRef||!n.thumbsRef)){var e=t.Children.count(n.props.children),r=n.itemsWrapperRef.clientWidth,a=n.props.thumbWidth?n.props.thumbWidth:(0,i.outerWidth)(n.thumbsRef[0]),o=Math.floor(r/a),s=o<e,c=s?e-o:0;n.setState(function(e,t){return{itemSize:a,visibleItems:o,firstItem:s?n.getFirstItem(t.selectedItem):0,lastPosition:c,showArrows:s}})}}),C(b(n),`handleClickItem`,function(e,t,r){if(!w(r)||r.key===`Enter`){var i=n.props.onSelectItem;typeof i==`function`&&i(e,t)}}),C(b(n),`onSwipeStart`,function(){n.setState({swiping:!0})}),C(b(n),`onSwipeEnd`,function(){n.setState({swiping:!1})}),C(b(n),`onSwipeMove`,function(e){var r=e.x;if(!n.state.itemSize||!n.itemsWrapperRef||!n.state.visibleItems)return!1;var i=0,o=t.Children.count(n.props.children),s=-(n.state.firstItem*100)/n.state.visibleItems,c=-Math.max(o-n.state.visibleItems,0)*100/n.state.visibleItems;s===i&&r>0&&(r=0),s===c&&r<0&&(r=0);var l=s+100/(n.itemsWrapperRef.clientWidth/r);return n.itemsListRef&&[`WebkitTransform`,`MozTransform`,`MsTransform`,`OTransform`,`transform`,`msTransform`].forEach(function(e){n.itemsListRef.style[e]=(0,a.default)(l,`%`,n.props.axis)}),!0}),C(b(n),`slideRight`,function(e){n.moveTo(n.state.firstItem-(typeof e==`number`?e:1))}),C(b(n),`slideLeft`,function(e){n.moveTo(n.state.firstItem+(typeof e==`number`?e:1))}),C(b(n),`moveTo`,function(e){e=e<0?0:e,e=e>=n.state.lastPosition?n.state.lastPosition:e,n.setState({firstItem:e})}),n.state={selectedItem:e.selectedItem,swiping:!1,showArrows:!1,firstItem:0,visibleItems:0,lastPosition:0},n}return h(c,[{key:`componentDidMount`,value:function(){this.setupThumbs()}},{key:`componentDidUpdate`,value:function(e){this.props.selectedItem!==this.state.selectedItem&&this.setState({selectedItem:this.props.selectedItem,firstItem:this.getFirstItem(this.props.selectedItem)}),this.props.children!==e.children&&this.updateSizes()}},{key:`componentWillUnmount`,value:function(){this.destroyThumbs()}},{key:`setupThumbs`,value:function(){(0,s.default)().addEventListener(`resize`,this.updateSizes),(0,s.default)().addEventListener(`DOMContentLoaded`,this.updateSizes),this.updateSizes()}},{key:`destroyThumbs`,value:function(){(0,s.default)().removeEventListener(`resize`,this.updateSizes),(0,s.default)().removeEventListener(`DOMContentLoaded`,this.updateSizes)}},{key:`getFirstItem`,value:function(e){var t=e;return e>=this.state.lastPosition&&(t=this.state.lastPosition),e<this.state.firstItem+this.state.visibleItems&&(t=this.state.firstItem),e<this.state.firstItem&&(t=e),t}},{key:`renderItems`,value:function(){var e=this;return this.props.children.map(function(r,i){var a={key:i,ref:function(t){return e.setThumbsRef(t,i)},className:n.default.ITEM(!1,i===e.state.selectedItem),onClick:e.handleClickItem.bind(e,i,e.props.children[i]),onKeyDown:e.handleClickItem.bind(e,i,e.props.children[i]),"aria-label":`${e.props.labels.item} ${i+1}`,style:{width:e.props.thumbWidth}};return t.default.createElement(`li`,f({},a,{role:`button`,tabIndex:0}),r)})}},{key:`render`,value:function(){var e=this;if(!this.props.children)return null;var r=t.Children.count(this.props.children)>1,i=this.state.showArrows&&this.state.firstItem>0,s=this.state.showArrows&&this.state.firstItem<this.state.lastPosition,c={},l=-this.state.firstItem*(this.state.itemSize||0),u=(0,a.default)(l,`px`,this.props.axis),d=this.props.transitionTime+`ms`;return c={WebkitTransform:u,MozTransform:u,MsTransform:u,OTransform:u,transform:u,msTransform:u,WebkitTransitionDuration:d,MozTransitionDuration:d,MsTransitionDuration:d,OTransitionDuration:d,transitionDuration:d,msTransitionDuration:d},t.default.createElement(`div`,{className:n.default.CAROUSEL(!1)},t.default.createElement(`div`,{className:n.default.WRAPPER(!1),ref:this.setItemsWrapperRef},t.default.createElement(`button`,{type:`button`,className:n.default.ARROW_PREV(!i),onClick:function(){return e.slideRight()},"aria-label":this.props.labels.leftArrow}),r?t.default.createElement(o.default,{tagName:`ul`,className:n.default.SLIDER(!1,this.state.swiping),onSwipeLeft:this.slideLeft,onSwipeRight:this.slideRight,onSwipeMove:this.onSwipeMove,onSwipeStart:this.onSwipeStart,onSwipeEnd:this.onSwipeEnd,style:c,innerRef:this.setItemsListRef,allowMouseEvents:this.props.emulateTouch},this.renderItems()):t.default.createElement(`ul`,{className:n.default.SLIDER(!1,this.state.swiping),ref:function(t){return e.setItemsListRef(t)},style:c},this.renderItems()),t.default.createElement(`button`,{type:`button`,className:n.default.ARROW_NEXT(!s),onClick:function(){return e.slideLeft()},"aria-label":this.props.labels.rightArrow})))}}]),c}(t.Component);e.default=T,C(T,`displayName`,`Thumbs`),C(T,`defaultProps`,{axis:`horizontal`,labels:{leftArrow:`previous slide / item`,rightArrow:`next slide / item`,item:`slide item`},selectedItem:0,thumbWidth:80,transitionTime:350})})),ct=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default=function(){return document}})),lt=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.setPosition=e.getPosition=e.isKeyboardEvent=e.defaultStatusFormatter=e.noop=void 0;var t=r(),n=i(at());function i(e){return e&&e.__esModule?e:{default:e}}e.noop=function(){},e.defaultStatusFormatter=function(e,t){return`${e} of ${t}`},e.isKeyboardEvent=function(e){return e?e.hasOwnProperty(`key`):!1},e.getPosition=function(e,n){if(n.infiniteLoop&&++e,e===0)return 0;var r=t.Children.count(n.children);if(n.centerMode&&n.axis===`horizontal`){var i=-e*n.centerSlidePercentage,a=r-1;return e&&(e!==a||n.infiniteLoop)?i+=(100-n.centerSlidePercentage)/2:e===a&&(i+=100-n.centerSlidePercentage),i}return-e*100},e.setPosition=function(e,t){var r={};return[`WebkitTransform`,`MozTransform`,`MsTransform`,`OTransform`,`transform`,`msTransform`].forEach(function(i){r[i]=(0,n.default)(e,`%`,t)}),r}})),ut=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.fadeAnimationHandler=e.slideStopSwipingHandler=e.slideSwipeAnimationHandler=e.slideAnimationHandler=void 0;var t=r(),n=a(at()),i=lt();function a(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?o(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e.slideAnimationHandler=function(e,r){var a={},o=r.selectedItem,c=o,l=t.Children.count(e.children)-1;if(e.infiniteLoop&&(o<0||o>l))return c<0?e.centerMode&&e.centerSlidePercentage&&e.axis===`horizontal`?a.itemListStyle=(0,i.setPosition)(-(l+2)*e.centerSlidePercentage-(100-e.centerSlidePercentage)/2,e.axis):a.itemListStyle=(0,i.setPosition)(-(l+2)*100,e.axis):c>l&&(a.itemListStyle=(0,i.setPosition)(0,e.axis)),a;var u=(0,i.getPosition)(o,e),d=(0,n.default)(u,`%`,e.axis),f=e.transitionTime+`ms`;return a.itemListStyle={WebkitTransform:d,msTransform:d,OTransform:d,transform:d},r.swiping||(a.itemListStyle=s(s({},a.itemListStyle),{},{WebkitTransitionDuration:f,MozTransitionDuration:f,OTransitionDuration:f,transitionDuration:f,msTransitionDuration:f})),a},e.slideSwipeAnimationHandler=function(e,n,r,a){var o={},s=n.axis===`horizontal`,c=t.Children.count(n.children),l=0,u=(0,i.getPosition)(r.selectedItem,n),d=n.infiniteLoop?(0,i.getPosition)(c-1,n)-100:(0,i.getPosition)(c-1,n),f=s?e.x:e.y,p=f;u===l&&f>0&&(p=0),u===d&&f<0&&(p=0);var m=u+100/(r.itemSize/p),h=Math.abs(f)>n.swipeScrollTolerance;return n.infiniteLoop&&h&&(r.selectedItem===0&&m>-100?m-=c*100:r.selectedItem===c-1&&m<-c*100&&(m+=c*100)),(!n.preventMovementUntilSwipeScrollTolerance||h||r.swipeMovementStarted)&&(r.swipeMovementStarted||a({swipeMovementStarted:!0}),o.itemListStyle=(0,i.setPosition)(m,n.axis)),h&&!r.cancelClick&&a({cancelClick:!0}),o},e.slideStopSwipingHandler=function(e,t){var n=(0,i.getPosition)(t.selectedItem,e);return{itemListStyle:(0,i.setPosition)(n,e.axis)}},e.fadeAnimationHandler=function(e,t){var n=e.transitionTime+`ms`,r=`ease-in-out`,i={position:`absolute`,display:`block`,zIndex:-2,minHeight:`100%`,opacity:0,top:0,right:0,left:0,bottom:0,transitionTimingFunction:r,msTransitionTimingFunction:r,MozTransitionTimingFunction:r,WebkitTransitionTimingFunction:r,OTransitionTimingFunction:r};return t.swiping||(i=s(s({},i),{},{WebkitTransitionDuration:n,MozTransitionDuration:n,OTransitionDuration:n,transitionDuration:n,msTransitionDuration:n})),{slideStyle:i,selectedStyle:s(s({},i),{},{opacity:1,position:`relative`}),prevStyle:s({},i)}}})),dt=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var t=f(r()),n=u(tt()),i=u(rt()),a=u(st()),o=u(ct()),s=u(ot()),c=lt(),l=ut();function u(e){return e&&e.__esModule?e:{default:e}}function d(){if(typeof WeakMap!=`function`)return null;var e=new WeakMap;return d=function(){return e},e}function f(e){if(e&&e.__esModule)return e;if(e===null||p(e)!==`object`&&typeof e!=`function`)return{default:e};var t=d();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=r?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,t&&t.set(e,n),n}function p(e){"@babel/helpers - typeof";return p=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},p(e)}function m(){return m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},m.apply(this,arguments)}function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?h(Object(n),!0).forEach(function(t){D(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function v(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t,n){return t&&v(e.prototype,t),n&&v(e,n),e}function b(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&x(e,t)}function x(e,t){return x=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},x(e,t)}function S(e){var t=T();return function(){var n=E(e),r;if(t){var i=E(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return C(this,r)}}function C(e,t){return t&&(p(t)===`object`||typeof t==`function`)?t:w(e)}function w(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function T(){if(typeof Reflect>`u`||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==`function`)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}function D(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var O=function(e){b(u,e);var r=S(u);function u(e){var n;_(this,u),n=r.call(this,e),D(w(n),`thumbsRef`,void 0),D(w(n),`carouselWrapperRef`,void 0),D(w(n),`listRef`,void 0),D(w(n),`itemsRef`,void 0),D(w(n),`timer`,void 0),D(w(n),`animationHandler`,void 0),D(w(n),`setThumbsRef`,function(e){n.thumbsRef=e}),D(w(n),`setCarouselWrapperRef`,function(e){n.carouselWrapperRef=e}),D(w(n),`setListRef`,function(e){n.listRef=e}),D(w(n),`setItemsRef`,function(e,t){n.itemsRef||=[],n.itemsRef[t]=e}),D(w(n),`autoPlay`,function(){t.Children.count(n.props.children)<=1||(n.clearAutoPlay(),n.props.autoPlay&&(n.timer=setTimeout(function(){n.increment()},n.props.interval)))}),D(w(n),`clearAutoPlay`,function(){n.timer&&clearTimeout(n.timer)}),D(w(n),`resetAutoPlay`,function(){n.clearAutoPlay(),n.autoPlay()}),D(w(n),`stopOnHover`,function(){n.setState({isMouseEntered:!0},n.clearAutoPlay)}),D(w(n),`startOnLeave`,function(){n.setState({isMouseEntered:!1},n.autoPlay)}),D(w(n),`isFocusWithinTheCarousel`,function(){return n.carouselWrapperRef?!!((0,o.default)().activeElement===n.carouselWrapperRef||n.carouselWrapperRef.contains((0,o.default)().activeElement)):!1}),D(w(n),`navigateWithKeyboard`,function(e){if(n.isFocusWithinTheCarousel()){var t=n.props.axis===`horizontal`,r={ArrowUp:38,ArrowRight:39,ArrowDown:40,ArrowLeft:37},i=t?r.ArrowRight:r.ArrowDown,a=t?r.ArrowLeft:r.ArrowUp;i===e.keyCode?n.increment():a===e.keyCode&&n.decrement()}}),D(w(n),`updateSizes`,function(){if(!(!n.state.initialized||!n.itemsRef||n.itemsRef.length===0)){var e=n.props.axis===`horizontal`,t=n.itemsRef[0];if(t){var r=e?t.clientWidth:t.clientHeight;n.setState({itemSize:r}),n.thumbsRef&&n.thumbsRef.updateSizes()}}}),D(w(n),`setMountState`,function(){n.setState({hasMount:!0}),n.updateSizes()}),D(w(n),`handleClickItem`,function(e,r){if(t.Children.count(n.props.children)!==0){if(n.state.cancelClick){n.setState({cancelClick:!1});return}n.props.onClickItem(e,r),e!==n.state.selectedItem&&n.setState({selectedItem:e})}}),D(w(n),`handleOnChange`,function(e,r){t.Children.count(n.props.children)<=1||n.props.onChange(e,r)}),D(w(n),`handleClickThumb`,function(e,t){n.props.onClickThumb(e,t),n.moveTo(e)}),D(w(n),`onSwipeStart`,function(e){n.setState({swiping:!0}),n.props.onSwipeStart(e)}),D(w(n),`onSwipeEnd`,function(e){n.setState({swiping:!1,cancelClick:!1,swipeMovementStarted:!1}),n.props.onSwipeEnd(e),n.clearAutoPlay(),n.state.autoPlay&&n.autoPlay()}),D(w(n),`onSwipeMove`,function(e,t){n.props.onSwipeMove(t);var r=n.props.swipeAnimationHandler(e,n.props,n.state,n.setState.bind(w(n)));return n.setState(g({},r)),!!Object.keys(r).length}),D(w(n),`decrement`,function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;n.moveTo(n.state.selectedItem-(typeof e==`number`?e:1))}),D(w(n),`increment`,function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;n.moveTo(n.state.selectedItem+(typeof e==`number`?e:1))}),D(w(n),`moveTo`,function(e){if(typeof e==`number`){var r=t.Children.count(n.props.children)-1;e<0&&(e=n.props.infiniteLoop?r:0),e>r&&(e=n.props.infiniteLoop?0:r),n.selectItem({selectedItem:e}),n.state.autoPlay&&n.state.isMouseEntered===!1&&n.resetAutoPlay()}}),D(w(n),`onClickNext`,function(){n.increment(1)}),D(w(n),`onClickPrev`,function(){n.decrement(1)}),D(w(n),`onSwipeForward`,function(){n.increment(1),n.props.emulateTouch&&n.setState({cancelClick:!0})}),D(w(n),`onSwipeBackwards`,function(){n.decrement(1),n.props.emulateTouch&&n.setState({cancelClick:!0})}),D(w(n),`changeItem`,function(e){return function(t){(!(0,c.isKeyboardEvent)(t)||t.key===`Enter`)&&n.moveTo(e)}}),D(w(n),`selectItem`,function(e){n.setState(g({previousItem:n.state.selectedItem},e),function(){n.setState(n.animationHandler(n.props,n.state))}),n.handleOnChange(e.selectedItem,t.Children.toArray(n.props.children)[e.selectedItem])}),D(w(n),`getInitialImage`,function(){var e=n.props.selectedItem,t=n.itemsRef&&n.itemsRef[e];return(t&&t.getElementsByTagName(`img`)||[])[0]}),D(w(n),`getVariableItemHeight`,function(e){var t=n.itemsRef&&n.itemsRef[e];if(n.state.hasMount&&t&&t.children.length){var r=t.children[0].getElementsByTagName(`img`)||[];if(r.length>0){var i=r[0];i.complete||i.addEventListener(`load`,function e(){n.forceUpdate(),i.removeEventListener(`load`,e)})}var a=(r[0]||t.children[0]).clientHeight;return a>0?a:null}return null});var i={initialized:!1,previousItem:e.selectedItem,selectedItem:e.selectedItem,hasMount:!1,isMouseEntered:!1,autoPlay:e.autoPlay,swiping:!1,swipeMovementStarted:!1,cancelClick:!1,itemSize:1,itemListStyle:{},slideStyle:{},selectedStyle:{},prevStyle:{}};return n.animationHandler=typeof e.animationHandler==`function`&&e.animationHandler||e.animationHandler===`fade`&&l.fadeAnimationHandler||l.slideAnimationHandler,n.state=g(g({},i),n.animationHandler(e,i)),n}return y(u,[{key:`componentDidMount`,value:function(){this.props.children&&this.setupCarousel()}},{key:`componentDidUpdate`,value:function(e,t){!e.children&&this.props.children&&!this.state.initialized&&this.setupCarousel(),!e.autoFocus&&this.props.autoFocus&&this.forceFocus(),t.swiping&&!this.state.swiping&&this.setState(g({},this.props.stopSwipingHandler(this.props,this.state))),(e.selectedItem!==this.props.selectedItem||e.centerMode!==this.props.centerMode)&&(this.updateSizes(),this.moveTo(this.props.selectedItem)),e.autoPlay!==this.props.autoPlay&&(this.props.autoPlay?this.setupAutoPlay():this.destroyAutoPlay(),this.setState({autoPlay:this.props.autoPlay}))}},{key:`componentWillUnmount`,value:function(){this.destroyCarousel()}},{key:`setupCarousel`,value:function(){var e=this;this.bindEvents(),this.state.autoPlay&&t.Children.count(this.props.children)>1&&this.setupAutoPlay(),this.props.autoFocus&&this.forceFocus(),this.setState({initialized:!0},function(){var t=e.getInitialImage();t&&!t.complete?t.addEventListener(`load`,e.setMountState):e.setMountState()})}},{key:`destroyCarousel`,value:function(){this.state.initialized&&(this.unbindEvents(),this.destroyAutoPlay())}},{key:`setupAutoPlay`,value:function(){this.autoPlay();var e=this.carouselWrapperRef;this.props.stopOnHover&&e&&(e.addEventListener(`mouseenter`,this.stopOnHover),e.addEventListener(`mouseleave`,this.startOnLeave))}},{key:`destroyAutoPlay`,value:function(){this.clearAutoPlay();var e=this.carouselWrapperRef;this.props.stopOnHover&&e&&(e.removeEventListener(`mouseenter`,this.stopOnHover),e.removeEventListener(`mouseleave`,this.startOnLeave))}},{key:`bindEvents`,value:function(){(0,s.default)().addEventListener(`resize`,this.updateSizes),(0,s.default)().addEventListener(`DOMContentLoaded`,this.updateSizes),this.props.useKeyboardArrows&&(0,o.default)().addEventListener(`keydown`,this.navigateWithKeyboard)}},{key:`unbindEvents`,value:function(){(0,s.default)().removeEventListener(`resize`,this.updateSizes),(0,s.default)().removeEventListener(`DOMContentLoaded`,this.updateSizes);var e=this.getInitialImage();e&&e.removeEventListener(`load`,this.setMountState),this.props.useKeyboardArrows&&(0,o.default)().removeEventListener(`keydown`,this.navigateWithKeyboard)}},{key:`forceFocus`,value:function(){var e;(e=this.carouselWrapperRef)==null||e.focus()}},{key:`renderItems`,value:function(e){var n=this;return this.props.children?t.Children.map(this.props.children,function(r,a){var o=a===n.state.selectedItem,s=a===n.state.previousItem,c=o&&n.state.selectedStyle||s&&n.state.prevStyle||n.state.slideStyle||{};n.props.centerMode&&n.props.axis===`horizontal`&&(c=g(g({},c),{},{minWidth:n.props.centerSlidePercentage+`%`})),n.state.swiping&&n.state.swipeMovementStarted&&(c=g(g({},c),{},{pointerEvents:`none`}));var l={ref:function(e){return n.setItemsRef(e,a)},key:`itemKey`+a+(e?`clone`:``),className:i.default.ITEM(!0,a===n.state.selectedItem,a===n.state.previousItem),onClick:n.handleClickItem.bind(n,a,r),style:c};return t.default.createElement(`li`,l,n.props.renderItem(r,{isSelected:a===n.state.selectedItem,isPrevious:a===n.state.previousItem}))}):[]}},{key:`renderControls`,value:function(){var e=this,n=this.props,r=n.showIndicators,i=n.labels,a=n.renderIndicator,o=n.children;return r?t.default.createElement(`ul`,{className:`control-dots`},t.Children.map(o,function(t,n){return a&&a(e.changeItem(n),n===e.state.selectedItem,n,i.item)})):null}},{key:`renderStatus`,value:function(){return this.props.showStatus?t.default.createElement(`p`,{className:`carousel-status`},this.props.statusFormatter(this.state.selectedItem+1,t.Children.count(this.props.children))):null}},{key:`renderThumbs`,value:function(){return!this.props.showThumbs||!this.props.children||t.Children.count(this.props.children)===0?null:t.default.createElement(a.default,{ref:this.setThumbsRef,onSelectItem:this.handleClickThumb,selectedItem:this.state.selectedItem,transitionTime:this.props.transitionTime,thumbWidth:this.props.thumbWidth,labels:this.props.labels,emulateTouch:this.props.emulateTouch},this.props.renderThumbs(this.props.children))}},{key:`render`,value:function(){var e=this;if(!this.props.children||t.Children.count(this.props.children)===0)return null;var r=this.props.swipeable&&t.Children.count(this.props.children)>1,a=this.props.axis===`horizontal`,o=this.props.showArrows&&t.Children.count(this.props.children)>1,s=o&&(this.state.selectedItem>0||this.props.infiniteLoop)||!1,c=o&&(this.state.selectedItem<t.Children.count(this.props.children)-1||this.props.infiniteLoop)||!1,l=this.renderItems(!0),u=l.shift(),d=l.pop(),f={className:i.default.SLIDER(!0,this.state.swiping),onSwipeMove:this.onSwipeMove,onSwipeStart:this.onSwipeStart,onSwipeEnd:this.onSwipeEnd,style:this.state.itemListStyle,tolerance:this.props.swipeScrollTolerance},p={};return a?(f.onSwipeLeft=this.onSwipeForward,f.onSwipeRight=this.onSwipeBackwards,this.props.dynamicHeight&&(p.height=this.getVariableItemHeight(this.state.selectedItem)||`auto`)):(f.onSwipeUp=this.props.verticalSwipe===`natural`?this.onSwipeBackwards:this.onSwipeForward,f.onSwipeDown=this.props.verticalSwipe===`natural`?this.onSwipeForward:this.onSwipeBackwards,f.style=g(g({},f.style),{},{height:this.state.itemSize}),p.height=this.state.itemSize),t.default.createElement(`div`,{"aria-label":this.props.ariaLabel,className:i.default.ROOT(this.props.className),ref:this.setCarouselWrapperRef,tabIndex:this.props.useKeyboardArrows?0:void 0},t.default.createElement(`div`,{className:i.default.CAROUSEL(!0),style:{width:this.props.width}},this.renderControls(),this.props.renderArrowPrev(this.onClickPrev,s,this.props.labels.leftArrow),t.default.createElement(`div`,{className:i.default.WRAPPER(!0,this.props.axis),style:p},r?t.default.createElement(n.default,m({tagName:`ul`,innerRef:this.setListRef},f,{allowMouseEvents:this.props.emulateTouch}),this.props.infiniteLoop&&d,this.renderItems(),this.props.infiniteLoop&&u):t.default.createElement(`ul`,{className:i.default.SLIDER(!0,this.state.swiping),ref:function(t){return e.setListRef(t)},style:this.state.itemListStyle||{}},this.props.infiniteLoop&&d,this.renderItems(),this.props.infiniteLoop&&u)),this.props.renderArrowNext(this.onClickNext,c,this.props.labels.rightArrow),this.renderStatus()),this.renderThumbs())}}]),u}(t.default.Component);e.default=O,D(O,`displayName`,`Carousel`),D(O,`defaultProps`,{ariaLabel:void 0,axis:`horizontal`,centerSlidePercentage:80,interval:3e3,labels:{leftArrow:`previous slide / item`,rightArrow:`next slide / item`,item:`slide item`},onClickItem:c.noop,onClickThumb:c.noop,onChange:c.noop,onSwipeStart:function(){},onSwipeEnd:function(){},onSwipeMove:function(){return!1},preventMovementUntilSwipeScrollTolerance:!1,renderArrowPrev:function(e,n,r){return t.default.createElement(`button`,{type:`button`,"aria-label":r,className:i.default.ARROW_PREV(!n),onClick:e})},renderArrowNext:function(e,n,r){return t.default.createElement(`button`,{type:`button`,"aria-label":r,className:i.default.ARROW_NEXT(!n),onClick:e})},renderIndicator:function(e,n,r,a){return t.default.createElement(`li`,{className:i.default.DOT(n),onClick:e,onKeyDown:e,value:r,key:r,role:`button`,tabIndex:0,"aria-label":`${a} ${r+1}`})},renderItem:function(e){return e},renderThumbs:function(e){var n=t.Children.map(e,function(e){var n=e;if(e.type!==`img`&&(n=t.Children.toArray(e.props.children).find(function(e){return e.type===`img`})),n)return n});return n.filter(function(e){return e}).length===0?(console.warn(`No images found! Can't build the thumb list without images. If you don't need thumbs, set showThumbs={false} in the Carousel. Note that it's not possible to get images rendered inside custom components. More info at https://github.com/leandrowd/react-responsive-carousel/blob/master/TROUBLESHOOTING.md`),[]):n},statusFormatter:c.defaultStatusFormatter,selectedItem:0,showArrows:!0,showIndicators:!0,showStatus:!0,showThumbs:!0,stopOnHover:!0,swipeScrollTolerance:5,swipeable:!0,transitionTime:350,verticalSwipe:`standard`,width:`100%`,animationHandler:`slide`,swipeAnimationHandler:l.slideSwipeAnimationHandler,stopSwipingHandler:l.slideStopSwipingHandler})})),ft=t((()=>{})),pt=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),Object.defineProperty(e,`Carousel`,{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,`CarouselProps`,{enumerable:!0,get:function(){return n.CarouselProps}}),Object.defineProperty(e,`Thumbs`,{enumerable:!0,get:function(){return r.default}});var t=i(dt()),n=ft(),r=i(st());function i(e){return e&&e.__esModule?e:{default:e}}})),mt=t(((e,t)=>{var n=xe();t.exports=function(){return n.Date.now()}})),ht=t(((e,t)=>{var n=/\s/;function r(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}t.exports=r})),gt=t(((e,t)=>{var n=ht(),r=/^\s+/;function i(e){return e&&e.slice(0,n(e)+1).replace(r,``)}t.exports=i})),_t=t(((e,t)=>{var n=gt(),r=I(),i=ne(),a=NaN,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function u(e){if(typeof e==`number`)return e;if(i(e))return a;if(r(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=r(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=n(e);var u=s.test(e);return u||c.test(e)?l(e.slice(2),u?2:8):o.test(e)?a:+e}t.exports=u})),vt=t(((e,t)=>{var n=I(),r=mt(),i=_t(),a=`Expected a function`,o=Math.max,s=Math.min;function c(e,t,c){var l,u,d,f,p,m,h=0,g=!1,_=!1,v=!0;if(typeof e!=`function`)throw TypeError(a);t=i(t)||0,n(c)&&(g=!!c.leading,_=`maxWait`in c,d=_?o(i(c.maxWait)||0,t):d,v=`trailing`in c?!!c.trailing:v);function y(t){var n=l,r=u;return l=u=void 0,h=t,f=e.apply(r,n),f}function b(e){return h=e,p=setTimeout(C,t),g?y(e):f}function x(e){var n=e-m,r=e-h,i=t-n;return _?s(i,d-r):i}function S(e){var n=e-m,r=e-h;return m===void 0||n>=t||n<0||_&&r>=d}function C(){var e=r();if(S(e))return w(e);p=setTimeout(C,x(e))}function w(e){return p=void 0,v&&l?y(e):(l=u=void 0,f)}function T(){p!==void 0&&clearTimeout(p),h=0,l=m=u=p=void 0}function E(){return p===void 0?f:w(r())}function D(){var e=r(),n=S(e);if(l=arguments,u=this,m=e,n){if(p===void 0)return b(m);if(_)return clearTimeout(p),p=setTimeout(C,t),y(m)}return p===void 0&&(p=setTimeout(C,t)),f}return D.cancel=T,D.flush=E,D}t.exports=c})),yt=e(vt(),1);function bt(e,t,n,r,i=!1){let a=K.useRef();a.current=t,K.useEffect(()=>{if(n===null||n.addEventListener===void 0)return;let t=n,o=e=>{a.current?.call(t,e)};return t.addEventListener(e,o,{passive:r,capture:i}),()=>{t.removeEventListener(e,o,{capture:i})}},[e,n,r,i])}function xt(e,t){return e===void 0?void 0:t}var St=Math.PI;function Ct(e){return e*St/180}var wt=(e,t,n)=>({x1:e-n/2,y1:t-n/2,x2:e+n/2,y2:t+n/2}),Tt=(e,t,n,r,i)=>{switch(e){case`left`:return Math.floor(t)+r+i/2;case`center`:return Math.floor(t+n/2);case`right`:return Math.floor(t+n)-r-i/2}},Et=(e,t,n)=>Math.min(e,t-n*2),Dt=(e,t,n)=>n.x1<=e&&e<=n.x2&&n.y1<=t&&t<=n.y2,Ot=e=>{let t=e.fgColor??`currentColor`;return K.createElement(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},K.createElement(`path`,{d:`M12.7073 7.05029C7.87391 11.8837 10.4544 9.30322 6.03024 13.7273C5.77392 13.9836 5.58981 14.3071 5.50189 14.6587L4.52521 18.5655C4.38789 19.1148 4.88543 19.6123 5.43472 19.475L9.34146 18.4983C9.69313 18.4104 10.0143 18.2286 10.2706 17.9722L16.9499 11.2929`,stroke:t,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`,vectorEffect:`non-scaling-stroke`}),K.createElement(`path`,{d:`M20.4854 4.92901L19.0712 3.5148C18.2901 2.73375 17.0238 2.73375 16.2428 3.5148L14.475 5.28257C15.5326 7.71912 16.4736 8.6278 18.7176 9.52521L20.4854 7.75744C21.2665 6.97639 21.2665 5.71006 20.4854 4.92901Z`,stroke:t,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`,vectorEffect:`non-scaling-stroke`}))},kt=e=>{let t=e.fgColor??`currentColor`;return K.createElement(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},K.createElement(`path`,{d:`M19 6L10.3802 17L5.34071 11.8758`,vectorEffect:`non-scaling-stroke`,stroke:t,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}))};function At(e,t,n){let[r,i]=K.useState(e),a=K.useRef(!0);K.useEffect(()=>()=>{a.current=!1},[]);let o=K.useRef((0,yt.default)(e=>{a.current&&i(e)},n));return K.useLayoutEffect(()=>{a.current&&o.current(()=>e())},t),r}var jt=RegExp(`^[^A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿]*[֑-߿יִ-﷽ﹰ-ﻼ]`);function Mt(e){return jt.test(e)?`rtl`:`not-rtl`}var Nt=void 0;function Pt(){if(typeof document>`u`)return 0;if(Nt!==void 0)return Nt;let e=document.createElement(`p`);e.style.width=`100%`,e.style.height=`200px`;let t=document.createElement(`div`);t.id=`testScrollbar`,t.style.position=`absolute`,t.style.top=`0px`,t.style.left=`0px`,t.style.visibility=`hidden`,t.style.width=`200px`,t.style.height=`150px`,t.style.overflow=`hidden`,t.append(e),document.body.append(t);let n=e.offsetWidth;t.style.overflow=`scroll`;let r=e.offsetWidth;return n===r&&(r=t.clientWidth),t.remove(),Nt=n-r,Nt}var Ft=Symbol();function It(e){let t=K.useRef([Ft,e]);t.current[1]!==e&&(t.current[0]=e),t.current[1]=e;let[n,r]=K.useState(e),[,i]=K.useState(),a=K.useCallback(e=>{let n=t.current[0];n!==Ft&&(e=typeof e==`function`?e(n):e,e===n)||(n!==Ft&&i({}),r(t=>typeof e==`function`?e(n===Ft?t:n):e),t.current[0]=Ft)},[]),o=K.useCallback(()=>{t.current[0]=Ft,i({})},[]);return[t.current[0]===Ft?n:t.current[0],a,o]}function Lt(e){if(e.length===0)return``;let t=0,n=0;for(let r of e){if(n+=r.length,n>1e4)break;t++}return e.slice(0,t).join(`, `)}function Rt(e){let t=K.useRef(e);return M(e,t.current)||(t.current=e),t.current}var zt=pt(),Bt=e=>{let{urls:t,canWrite:n,onEditClick:r,renderImage:i}=e,a=t.filter(e=>e!==``);if(a.length===0)return null;let o=a.length>1;return K.createElement(Xe,{"data-testid":`GDG-default-image-overlay-editor`},K.createElement(zt.Carousel,{showArrows:o,showThumbs:!1,swipeable:o,emulateTouch:o,infiniteLoop:o},a.map(e=>{let t=i?.(e)??K.createElement(`img`,{draggable:!1,src:e});return K.createElement(`div`,{className:`gdg-centering-container`,key:e},t)})),n&&r&&K.createElement(`button`,{className:`gdg-edit-icon`,onClick:r},K.createElement(Ot,null)))},Vt=G(`div`)({name:`MarkdownContainer`,class:`gdg-mnuv029`,propsAsIs:!1}),Ht=class extends K.PureComponent{targetElement=null;renderMarkdownIntoDiv(){let{targetElement:e,props:t}=this;if(e===null)return;let{contents:n,createNode:r}=t,i=C(n),a=document.createRange();a.selectNodeContents(e),a.deleteContents();let o=r?.(i);if(o===void 0){let e=document.createElement(`template`);e.innerHTML=i,o=e.content}e.append(o);let s=e.getElementsByTagName(`a`);for(let e of s)e.target=`_blank`,e.rel=`noreferrer noopener`}containerRefHook=e=>{this.targetElement=e,this.renderMarkdownIntoDiv()};render(){return this.renderMarkdownIntoDiv(),K.createElement(Vt,{ref:this.containerRefHook})}},Ut=G(`textarea`)({name:`InputBox`,class:`gdg-izpuzkl`,propsAsIs:!1}),Wt=G(`div`)({name:`ShadowBox`,class:`gdg-s69h75o`,propsAsIs:!1}),Gt=G(`div`)({name:`GrowingEntryStyle`,class:`gdg-g1y0xocz`,propsAsIs:!1}),Kt=0,qt=e=>{let{placeholder:t,value:n,onKeyDown:r,highlight:i,altNewline:a,validatedSelection:o,...s}=e,{onChange:c,className:l}=s,u=K.useRef(null),d=n??``;ce(c!==void 0,`GrowingEntry must be a controlled input area`);let[f]=K.useState(()=>`input-box-`+(Kt=(Kt+1)%1e7));K.useEffect(()=>{let e=u.current;if(e===null||e.disabled)return;let t=d.toString().length;e.focus(),e.setSelectionRange(i?0:t,t)},[]),K.useLayoutEffect(()=>{if(o!==void 0){let e=typeof o==`number`?[o,null]:o;u.current?.setSelectionRange(e[0],e[1])}},[o]);let p=K.useCallback(e=>{e.key===`Enter`&&e.shiftKey&&a===!0||r?.(e)},[a,r]);return K.createElement(Gt,{className:`gdg-growing-entry`},K.createElement(Wt,{className:l},d+`
5
5
  `),K.createElement(Ut,{...s,className:(l??``)+` gdg-input`,id:f,ref:u,onKeyDown:p,value:d,placeholder:t,dir:`auto`}))},Jt=new Map,Yt=new Map,Xt=new Map;function Zt(){Jt.clear(),Xt.clear(),Yt.clear()}function Qt(e,t,n,r,i){let a=0,o={};for(let t of e)a+=n.get(t)??i,o[t]=(o[t]??0)+1;let s=t-a;for(let e of Object.keys(o)){let t=o[e],c=n.get(e)??i,l=c+s*(c*t/a)*r/t;n.set(e,l)}}function $t(e,t){let n=new Map,r=0;for(let t of`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,.-+=?`){let i=e.measureText(t).width;n.set(t,i),r+=i}let i=r/n.size,a=(t/i+3)/4,o=n.keys();for(let e of o)n.set(e,(n.get(e)??i)*a);return n}function en(e,t,n,r){let i=Yt.get(n);if(r&&i!==void 0&&i.count>2e4){let r=Xt.get(n);if(r===void 0&&(r=$t(e,i.size),Xt.set(n,r)),i.count>5e5){let e=0;for(let n of t)e+=r.get(n)??i.size;return e*1.01}let a=e.measureText(t);return Qt(t,a.width,r,Math.max(.05,1-i.count/2e5),i.size),Yt.set(n,{count:i.count+t.length,size:i.size}),a.width}let a=e.measureText(t),o=a.width/t.length;if((i?.count??0)>2e4)return a.width;if(i===void 0)Yt.set(n,{count:t.length,size:o});else{let e=o-i.size,r=t.length/(i.count+t.length),a=i.size+e*r;Yt.set(n,{count:i.count+t.length,size:a})}return a.width}function tn(e,t,n,r,i,a,o,s){if(t.length<=1)return t.length;if(i<n)return-1;let c=Math.floor(n/i*a),l=en(e,t.slice(0,Math.max(0,c)),r,o),u=s?.(t);if(l!==n)if(l<n){for(;l<n;)c++,l=en(e,t.slice(0,Math.max(0,c)),r,o);c--}else for(;l>n;){let n=u===void 0?t.lastIndexOf(` `,c-1):0;n>0?c=n:c--,l=en(e,t.slice(0,Math.max(0,c)),r,o)}if(t[c]!==` `){let e=0;if(u===void 0)e=t.lastIndexOf(` `,c);else for(let t of u){if(t>c)break;e=t}e>0&&(c=e)}return c}function J(e,t,n,r,i,a){let o=`${t}_${n}_${r}px`,s=Jt.get(o);if(s!==void 0)return s;if(r<=0)return[];let c=[],l=t.split(`
@@ -1 +1 @@
1
- import{b as e}from"./vendor-markdown-0Mxgxy0L.js";import{t}from"./file-exclamation-point-BwzaQ50n.js";import"./api-client-DIhJ5qVW.js";import{G as n}from"./index-BG3vkzX-.js";import{t as r}from"./use-blob-url-QX-XajU8.js";var i=e();function a({filePath:e,projectName:a}){let{blobUrl:o,error:s}=r(e,a);return s?(0,i.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-text-secondary`,children:[(0,i.jsx)(t,{className:`size-10 text-text-subtle`}),(0,i.jsx)(`p`,{className:`text-sm`,children:`Failed to load image.`})]}):o?(0,i.jsx)(`div`,{className:`flex items-center justify-center h-full p-4 bg-surface overflow-auto`,children:(0,i.jsx)(`img`,{src:o,alt:e,className:`max-w-full max-h-full object-contain`})}):(0,i.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,i.jsx)(n,{className:`size-5 animate-spin text-text-subtle`})})}export{a as ImagePreview};
1
+ import{b as e}from"./vendor-markdown-0Mxgxy0L.js";import{t}from"./file-exclamation-point-BwzaQ50n.js";import"./api-client-DIhJ5qVW.js";import{G as n}from"./index-Cw6jgiet.js";import{t as r}from"./use-blob-url-QX-XajU8.js";var i=e();function a({filePath:e,projectName:a}){let{blobUrl:o,error:s}=r(e,a);return s?(0,i.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-text-secondary`,children:[(0,i.jsx)(t,{className:`size-10 text-text-subtle`}),(0,i.jsx)(`p`,{className:`text-sm`,children:`Failed to load image.`})]}):o?(0,i.jsx)(`div`,{className:`flex items-center justify-center h-full p-4 bg-surface overflow-auto`,children:(0,i.jsx)(`img`,{src:o,alt:e,className:`max-w-full max-h-full object-contain`})}):(0,i.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,i.jsx)(n,{className:`size-5 animate-spin text-text-subtle`})})}export{a as ImagePreview};