UNPKG

@sheetxl/studio-vanilla

Version:

SheetXL Studio - Vanilla entry point for integrating SheetXL UI.

7 lines (6 loc) 4.41 kB
"use strict";/** * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.6.4 * * (C) 2025-present SheetXL Inc. & Michael T. Ford * License: The license can be found at https://www.sheetxl.com/license. */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./Bd-US8M4eZh5SC26.cjs"),d=e.reactExports.memo(u=>{const{title:g,onHide:h,autoFocusSel:j=".range-input input",context:R,notifier:i=e.Bt,command:a,commands:r,...f}=u,[y,l]=e.reactExports.useState(!1),[x,c]=e.reactExports.useState(!1),m=e.reactExports.useRef(null),[N,E]=e.reactExports.useReducer(t=>t+1,0),[b,{width:v}]=e.No();e.fo(a);const s=R??a.context(),o=s.table(),[S,w]=e.reactExports.useState(()=>o?s.getNames().getRanges(o.getRange()):null),C=e.reactExports.useMemo(()=>o?.getName()??"",[o]);e.ht(s.table(),{onAnchorCoordsChange(t){w(s.getNames().getRanges(t.getRange()))},onProtectedChange(t){E()}});const T=e.T(t=>{s?.table().setName(t)},[s]),B=e.T(t=>{s?.table().resize(t.at(0))},[s]);let p=null;return s.table()||(p=e.jsxRuntimeExports.jsx("div",{style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",opacity:1,display:"flex",alignItems:"center",justifyItems:"center",justifyContent:"center",boxSizing:"border-box"},children:e.jsxRuntimeExports.jsx("div",{children:"No table selected"})})),e.jsxRuntimeExports.jsx(e.z8,{ref:m,title:g??"Table Details",initialPosition:{y:"35"},autoFocusSel:j,onHide:h,onFocus:()=>l(!0),onBlur:t=>{m?.current?.contains(t.relatedTarget)||l(!1)},PaperProps:{elevation:y?3:1},...f,children:e.jsxRuntimeExports.jsxs(e.DialogContent,{dividers:!0,ref:b,sx:{display:"flex",flexDirection:"column",position:"relative",paddingLeft:t=>t.spacing(1.5),paddingRight:t=>t.spacing(1.5)},children:[e.jsxRuntimeExports.jsxs(e.Box,{sx:{display:"flex",flexDirection:"column",transition:"opacity 60ms",opacity:s.table()?1:0},children:[e.jsxRuntimeExports.jsx(e.Box,{sx:{display:"flex",flexDirection:"row",gap:t=>t.spacing(1)},children:e.jsxRuntimeExports.jsx(e.Box,{sx:{display:"flex",flexDirection:"column",maxWidth:"100%",boxSizing:"border-box",paddingLeft:t=>t.spacing(2),paddingRight:t=>t.spacing(2)},children:e.jsxRuntimeExports.jsxs(e.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center"},children:[e.jsxRuntimeExports.jsx(e.zp,{formName:"name",defaultInput:C,value:o?.getName()??"No table",onChangeInput:T,onValidate:t=>{o&&o.getName().toLowerCase()===t.toLowerCase()||s?.getNames().validateName(t)},disabled:o?.isProtected()??!0,onFocus:t=>{x||t.target?.select(),c(!0)}}),e.jsxRuntimeExports.jsx(e.Wp,{formName:"range",value:S,onChangeInput:B,resolvedAddress:s.getNames().getRanges.bind(s.getNames()),disabled:o?.isProtected()??!0,onFocus:t=>{x||t.target?.select(),c(!0)}})]})})}),e.jsxRuntimeExports.jsxs(e.Box,{sx:{minHeight:"10px",flex:"1 1 100%",display:"flex",flexDirection:"column",gap:t=>t.spacing(.5),marginTop:t=>t.spacing(1)},children:[e.jsxRuntimeExports.jsx(e.m6,{orientation:"horizontal",sx:{marginTop:t=>t.spacing(1.5),marginBottom:t=>t.spacing(.75)}}),e.jsxRuntimeExports.jsx(e.Sm,{disabled:o?.isProtected(),styleOptions:o?.getStyleOptions()??null,onStyleOptionsChange:t=>{o.updateStyleOptions(t)},showHeaderRow:o?.getShowHeaders(),onShowHeaderRowChange:t=>{try{o.setShowHeaders(t)}catch(n){i.showError(n)}},showTotalRow:o?.getShowTotals(),onShowTotalRowChange:t=>{try{o.setShowTotals(t)}catch(n){i.showError(n)}},showFilterButton:o?.getFilter()?o.getShowFilterButton():null,onShowFilterButtonChange:t=>{try{o.setShowFilterButton(t)}catch(n){i.showError(n)}}}),e.jsxRuntimeExports.jsx(e.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",marginTop:t=>t.spacing(2),marginBottom:t=>t.spacing(1)},children:e.jsxRuntimeExports.jsx(e.Rp,{table:o,styles:s.styles(),bodyStyle:s.bodyStyle(),cellHeight:30,isLive:!0})}),e.jsxRuntimeExports.jsx(e.m6,{orientation:"horizontal"}),e.jsxRuntimeExports.jsxs(e.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"center"},children:[e.jsxRuntimeExports.jsx(e.X8,{variant:e.yo.Menuitem,command:r.getCommand("convertTableToRange"),commandState:o,icon:e.p2(e.jsxRuntimeExports.jsx(e.l4,{}))}),e.jsxRuntimeExports.jsx(e.X8,{variant:e.yo.Menuitem,commandState:o,command:r.getCommand("deleteTable"),icon:e.p2(e.jsxRuntimeExports.jsx(e.l4,{}))})]})]})]}),p]})})});exports.TableDetailsWindow=d,exports.default=d;