@svgrid/enterprise 3.1.24 → 3.1.26

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 (44) hide show
  1. package/dist/cdn/svgrid-enterprise.svelte-external.js +13664 -13646
  2. package/dist/designer/assets/{GridMenus-DWDghydL.js → GridMenus-C8WqB-To.js} +2 -2
  3. package/dist/designer/assets/{SvDateRangeInput-DbfmXqJj.js → SvDateRangeInput-y8PkioQk.js} +1 -1
  4. package/dist/designer/assets/SvGridCellEditor-CC9UMdVq.js +4 -0
  5. package/dist/designer/assets/{SvGridChart-DYtGHM3F.js → SvGridChart-DzCeEdlb.js} +3 -3
  6. package/dist/designer/assets/{SvGridChartBuilder-BjdQrnz5.js → SvGridChartBuilder-CsXVVKvA.js} +1 -1
  7. package/dist/designer/assets/SvGridChartPanel-Dj3IxTS2.js +4 -0
  8. package/dist/designer/assets/{SvGridChartView-Bfs0bvDb.js → SvGridChartView-Dwm4hxbW.js} +1 -1
  9. package/dist/designer/assets/{chart-export-B6bkQ3X8.js → chart-export-Dqq_eHRq.js} +4 -4
  10. package/dist/designer/assets/{chart-export-pdf-BbA28-gt.js → chart-export-pdf-Gw22jkxa.js} +1 -1
  11. package/dist/designer/assets/csv-injection-C4a0uulO.js +1 -0
  12. package/dist/designer/assets/export-format-NYxEY-0Y.js +6 -0
  13. package/dist/designer/assets/index-BU3ieI05.css +1 -0
  14. package/dist/designer/assets/{index-BB1G1RTR.js → index-PEFkd-5C.js} +341 -331
  15. package/dist/designer/assets/src-D23PPsK1.js +1 -0
  16. package/dist/designer/assets/{src-fddEt37f.js → src-DC5nN4Q7.js} +3 -3
  17. package/dist/designer/index.html +9 -8
  18. package/dist/import.js +11 -1
  19. package/dist/node/studio.js +20 -12
  20. package/dist/review/model.svelte.d.ts +65 -140
  21. package/dist/sheet/xlsx-document.js +15 -0
  22. package/dist/studio/emit-schema.js +18 -10
  23. package/dist/version.d.ts +2 -2
  24. package/dist/version.js +2 -2
  25. package/dist/wc/{GridMenus-h7RsvcmI.js → GridMenus-BIQXB6a7.js} +1 -1
  26. package/dist/wc/{SvDateRangeInput-CJZohgBe.js → SvDateRangeInput-DHYuAJeY.js} +1 -0
  27. package/dist/wc/SvGridCellEditor-CZwhQx0a.js +584 -0
  28. package/dist/wc/{SvGridChart-DWRqlhCV.js → SvGridChart-DcfmVvzB.js} +3 -3
  29. package/dist/wc/{SvGridChartBuilder-BXW3yUR0.js → SvGridChartBuilder-1Z69mxbM.js} +2 -2
  30. package/dist/wc/{SvGridChartPanel-28n4tomx.js → SvGridChartPanel-BaVsa-T-.js} +5 -5
  31. package/dist/wc/{SvGridChartView-CbG_WrU-.js → SvGridChartView-LEC8ZNeU.js} +1 -1
  32. package/dist/wc/{chart-export-CeSADGfi.js → chart-export-C1KSVdMU.js} +29 -28
  33. package/dist/wc/{chart-export-pdf-BGko7MER.js → chart-export-pdf-CmEd365D.js} +1 -1
  34. package/dist/wc/csv-injection-Ce26_TOb.js +8 -0
  35. package/dist/wc/sv-sheet-element.js +6234 -6211
  36. package/dist/xlsx-limits.d.ts +17 -0
  37. package/dist/xlsx-limits.js +21 -0
  38. package/package.json +3 -3
  39. package/dist/designer/assets/SvGridCellEditor-od4VbndV.js +0 -4
  40. package/dist/designer/assets/SvGridChartPanel-Cm9_K7BV.js +0 -4
  41. package/dist/designer/assets/export-format-BCuqcexA.js +0 -6
  42. package/dist/designer/assets/index-CHx3F4Ij.css +0 -1
  43. package/dist/designer/assets/src-CITpcm6b.js +0 -1
  44. package/dist/wc/SvGridCellEditor-C7ios4i_.js +0 -582
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Bounds for reading an .xlsx file, shared by `importData` and the
3
+ * spreadsheet's `documentFromXlsx`.
4
+ *
5
+ * Both readers build dense rows, filling the gap before a cell with blanks so
6
+ * columns stay aligned. The gap comes from the file: `<c r="ZZZZZZZ1">` asked
7
+ * for about eight billion blanks and took the tab down. A real cell costs bytes
8
+ * in the file; a blank costs nothing, so the blanks are what is budgeted.
9
+ */
10
+ /** The last row a spreadsheet has (row 1,048,576). */
11
+ export declare const XLSX_MAX_ROWS = 1048576;
12
+ /** The last column a spreadsheet has (column XFD). */
13
+ export declare const XLSX_MAX_COLS = 16384;
14
+ /** Blank cells a reader may add to fill gaps, across the whole sheet. */
15
+ export declare const XLSX_MAX_FILL = 10000000;
16
+ export declare function xlsxRangeError(ref: string): Error;
17
+ export declare function xlsxFillError(): Error;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Bounds for reading an .xlsx file, shared by `importData` and the
3
+ * spreadsheet's `documentFromXlsx`.
4
+ *
5
+ * Both readers build dense rows, filling the gap before a cell with blanks so
6
+ * columns stay aligned. The gap comes from the file: `<c r="ZZZZZZZ1">` asked
7
+ * for about eight billion blanks and took the tab down. A real cell costs bytes
8
+ * in the file; a blank costs nothing, so the blanks are what is budgeted.
9
+ */
10
+ /** The last row a spreadsheet has (row 1,048,576). */
11
+ export const XLSX_MAX_ROWS = 1048576;
12
+ /** The last column a spreadsheet has (column XFD). */
13
+ export const XLSX_MAX_COLS = 16384;
14
+ /** Blank cells a reader may add to fill gaps, across the whole sheet. */
15
+ export const XLSX_MAX_FILL = 10000000;
16
+ export function xlsxRangeError(ref) {
17
+ return new Error(`@svgrid/enterprise: cell ${ref} is outside the sheet (columns A-XFD, rows 1-1,048,576); the file is not a valid .xlsx`);
18
+ }
19
+ export function xlsxFillError() {
20
+ return new Error(`@svgrid/enterprise: the sheet's cells are spread too thinly to read (more than ${XLSX_MAX_FILL.toLocaleString('en-US')} empty cells between them)`);
21
+ }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "commercial",
5
5
  "url": "https://svgrid.com/pricing"
6
6
  },
7
- "version": "3.1.24",
7
+ "version": "3.1.26",
8
8
  "description": "Enterprise feature pack for SvGrid: the server-side row model (lazy grouping, tree, pivot, transactions, selection across unloaded rows), Excel (xlsx) and PDF export, Excel/CSV/JSON import, pivot tables with a drag-and-drop designer, paginated print, Kanban board and scheduler renderers, no-code alerts and batch editing. CSV, TSV and JSON export are already free in @svgrid/grid. Requires a paid license key.",
9
9
  "license": "SEE LICENSE IN LICENSE",
10
10
  "author": "jQWidgets <sales@jqwidgets.com>",
@@ -124,7 +124,7 @@
124
124
  "react-dom": ">=17",
125
125
  "svelte": "^5.0.0",
126
126
  "vue": ">=3.3",
127
- "@svgrid/grid": "^3.0.22"
127
+ "@svgrid/grid": "^3.0.23"
128
128
  },
129
129
  "peerDependenciesMeta": {
130
130
  "jszip": {
@@ -153,7 +153,7 @@
153
153
  "svelte": "^5.55.5",
154
154
  "typescript": "6.0.3",
155
155
  "vite": "^8.2.1",
156
- "@svgrid/grid": "^3.0.22"
156
+ "@svgrid/grid": "^3.0.23"
157
157
  },
158
158
  "repository": {
159
159
  "type": "git",
@@ -1,4 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./SvGridDropdown-Cjz0H-fI.js","./rolldown-runtime-Dd_uD5pT.js","./disclose-version-CIm4S9xS.js","./popover-CUkLsvRX.js","./SvGridDropdown-CcidB3rm.css","./SvDateTimePicker-r4FqmR6R.js","./editor-contract-Bpoa7A5g.js","./date-format-B8JbEtIG.js","./date-format-DKS-z0xS.css","./dismissable-ChWRPkoa.js","./SvDateTimePicker-DPv09DIT.css"])))=>i.map(i=>d[i]);
2
- import{C as e,D as t,E as n,H as r,I as i,K as a,L as o,M as s,P as c,R as l,S as u,U as d,W as f,X as p,Z as m,a as h,at as g,bt as _,ct as v,dt as y,et as b,f as x,g as S,it as C,k as w,m as ee,mt as te,p as T,pt as E,r as D,rt as O,st as k,v as ne,vt as A,x as j,y as re}from"./disclose-version-CIm4S9xS.js";import{C as ie,d as ae,h as oe,m as se,o as ce,p as le,v as ue,x as de}from"./SvGrid.helpers-BF2QRcNt.js";import{n as fe,r as pe,t as M}from"./editor-registry-BjP16H0v.js";import{t as N}from"./preload-helper-HclGiUj8.js";var P=l(`<span class="sv-grid-chip sv-grid-chip-removable"> <button type="button" class="sv-grid-chip-remove">×</button></span>`),F=l(`<button type="button" class="sv-grid-chip-commit" aria-label="Commit chip selection">Done</button>`),I=l(`<div class="sv-grid-cell-editor sv-grid-cell-editor-chips" role="group"><div class="sv-grid-chips-row"><!> <input class="sv-grid-chip-input" type="text"/> <!></div></div>`),L=l(`<input type="checkbox" class="sv-grid-fr-editor sv-grid-fr-checkbox"/>`),R=l(`<option> </option>`),z=l(`<select class="sv-grid-cell-editor sv-grid-fr-editor"></select>`),B=l(`<input class="sv-grid-cell-editor sv-grid-fr-editor"/>`),me=l(`<button type="button" class="sv-grid-checkbox" role="checkbox" aria-label="Edit checkbox value"></button>`),he=l(`<button type="button" role="radio">★</button>`),ge=l(`<span class="sv-grid-rating-editor" role="radiogroup" aria-label="Rating"><!> <button type="button" aria-label="Clear rating" class="sv-grid-rating-clear">×</button></span>`),_e=l(`<textarea class="sv-grid-cell-editor sv-grid-cell-editor-textarea" rows="4"></textarea>`),ve=l(`<button type="button" class="sv-grid-autocomplete-option" role="option"> </button>`),ye=l(`<div class="sv-grid-autocomplete-list" role="listbox"></div>`),be=l(`<div class="sv-grid-autocomplete"><input class="sv-grid-cell-editor sv-grid-cell-editor-autocomplete" type="text"/> <!></div>`),xe=l(`<input type="color"/>`),Se=l(`<textarea class="sv-grid-cell-editor sv-grid-cell-editor-text sv-grid-cell-editor-multiline"></textarea>`),Ce=l(`<input/>`);function V(r,l){te(l,!0);let V=(t,r=_,l=_,u=_,m=_)=>{var h=o(),v=C(h),b=e=>{var t=o(),c=C(t),u=e=>{var t=o(),s=C(t);{let e=y(()=>H().editingCell?.value);n(s,()=>a(U),(t,n)=>{n(t,{get options(){return r()},get loading(){return m()},get value(){return a(e)},get multiple(){return l()},placeholder:`Pick…`,renderChipsInTrigger:!0,onChange:e=>{H().editingCell=H().editingCell?{...H().editingCell,value:e}:H().editingCell},onCommit:()=>a(q)(),onCancel:()=>{H().editingCell=null,H().gridRootEl?.focus({preventScroll:!0})}})})}i(e,t)};s(c,e=>{a(U)&&e(u)}),i(e,t)},x=t=>{var n=I();T(n,`tabindex`,-1);var r=O(n),o=O(r);w(o,19,u,(e,t)=>String(e)+`_`+t,(e,t,n)=>{var r=P(),o=O(r),s=g(o);A(r),p((e,t)=>{c(o,`${e??``} `),T(s,`aria-label`,`Remove ${t??``}`)},[()=>String(a(t)),()=>String(a(t))]),d(`mousedown`,s,e=>e.preventDefault()),d(`click`,s,()=>{let e=u().filter((e,t)=>t!==a(n));H().editingCell=H().editingCell?{...H().editingCell,value:l()?e:e[0]??null}:H().editingCell}),i(e,r)});var m=g(o,2);e(m,e=>a(X)?.(e));var h=g(m,2),_=e=>{var t=F();d(`mousedown`,t,e=>e.preventDefault()),d(`click`,t,()=>a(q)()),i(e,t)};s(h,e=>{l()&&e(_)}),A(r),A(n),p(()=>T(m,`placeholder`,l()?`Type, Enter to add`:`Type a value`)),d(`keydown`,m,e=>{if(e.key===`Enter`||l()&&e.key===`,`){e.preventDefault(),e.stopPropagation();let t=e.currentTarget,n=t.value.trim();if(n){let e=l()?[...u(),n]:[n];H().editingCell=H().editingCell?{...H().editingCell,value:l()?e:n}:H().editingCell,t.value=``,l()||a(q)()}}else if(e.key===`Escape`)a(Y)(e);else if(e.key===`Backspace`&&e.currentTarget.value===``&&u().length>0){e.preventDefault();let t=u().slice(0,-1);H().editingCell=H().editingCell?{...H().editingCell,value:l()?t:t[0]??null}:H().editingCell}}),f(`blur`,m,()=>a(q)()),i(t,n)};s(v,e=>{r().length>0?e(b):e(x,-1)}),i(t,h)},H=D(l,`ctrl`,7),we=D(l,`fullRow`,3,!1),U=v(null),W=v(null);m(()=>{let e=H().editingCell?.editorType;(e===`list`||e===`chips`||e===`select`||e===`rich-select`)&&!a(U)&&N(()=>import(`./SvGridDropdown-Cjz0H-fI.js`).then(e=>e.n).then(e=>k(U,e.default,!0)),__vite__mapDeps([0,1,2,3,4]),import.meta.url),(e===`date`||e===`datetime`||e===`time`)&&!a(W)&&N(()=>import(`./SvDateTimePicker-r4FqmR6R.js`).then(e=>e.n).then(e=>k(W,e.default,!0)),__vite__mapDeps([5,1,2,6,7,8,3,9,10]),import.meta.url)});let Te=y(()=>H().grid),Ee=y(()=>H().fullRowEdit),G=y(()=>H().getColumnEditorOptions),K=y(()=>H().areEditorOptionsLoading),q=y(()=>H().saveEditingCell),J=y(()=>H().updateEditingCellValue),Y=y(()=>H().onEditorKeyDown),X=y(()=>H().focusOnMount),De=y(()=>H().toggleCheckboxWithKeyboard);function Oe(e,t=!0){t&&e.focus({preventScroll:!0})}function Z(e){e.key===`Enter`?(e.preventDefault(),H().commitFullRowEdit(),H().gridRootEl?.focus({preventScroll:!0})):e.key===`Escape`&&(e.preventDefault(),H().cancelFullRowEdit(),H().gridRootEl?.focus({preventScroll:!0}))}function Q(e){return typeof e==`object`&&e&&`value`in e?String(e.value):String(e)}function ke(e){return typeof e==`object`&&e&&`label`in e?String(e.label):String(e)}let Ae;function je(e){let t=M(e);return t&&(Ae=t),t??Ae}function Me(){let e=H().editingCell;return{value:e?.value,rowId:e?.rowId??``,columnId:e?.columnId??``,columnDef:l.column.columnDef,row:l.row.original,typed:e?.typed===!0,grid:H(),onChange:e=>a(J)(e),onCommit:e=>{e!==void 0&&a(J)(e),a(q)()},onCancel:()=>{H().editingCell=null,H().gridRootEl?.focus({preventScroll:!0})},onCommitAndMove:(e,t)=>{e!==void 0&&a(J)(e),H().commitAndMoveByTab(t===-1)},onCommitAndMoveDown:(e,t)=>{e!==void 0&&a(J)(e),H().commitAndMoveByEnter(t===!0)},onRequestClose:()=>{H().editingCell=null,H().gridRootEl?.focus({preventScroll:!0})},inCell:!0}}var $=o(),Ne=C($),Pe=e=>{let t=y(()=>l.column.columnDef.editorType??`text`),n=y(()=>a(Ee)?.draft[l.column.id]);var r=o(),u=C(r),f=e=>{var t=L();x(t),p(e=>ee(t,e),[()=>!!a(n)]),d(`change`,t,e=>H().setFullRowDraft(l.column.id,e.currentTarget.checked)),d(`keydown`,t,Z),d(`pointerdown`,t,e=>e.stopPropagation()),d(`click`,t,e=>e.stopPropagation()),i(e,t)},m=e=>{let t=y(()=>a(G)(l.column,l.row));var r=z();w(r,21,()=>a(t),e=>Q(e),(e,t)=>{var n=R(),r=O(n,!0);A(n);var o={};p((e,t)=>{c(r,e),o!==(o=t)&&(n.value=(n.__value=t)??``)},[()=>ke(a(t)),()=>Q(a(t))]),i(e,n)}),A(r);var o;ne(r),p(e=>{o!==(o=e)&&(r.value=(r.__value=e)??``,re(r,e))},[()=>String(a(n)??``)]),d(`change`,r,e=>H().setFullRowDraft(l.column.id,e.currentTarget.value)),d(`keydown`,r,Z),d(`pointerdown`,r,e=>e.stopPropagation()),d(`click`,r,e=>e.stopPropagation()),i(e,r)},h=e=>{let r=y(()=>a(t)===`number`?`number`:a(t)===`date`?`date`:a(t)===`datetime`?`datetime-local`:a(t)===`time`?`time`:a(t)===`password`?`password`:`text`);var o=B();x(o),p(e=>{T(o,`type`,a(r)),S(o,e)},[()=>String(a(n)??``)]),d(`input`,o,e=>H().setFullRowDraft(l.column.id,e.currentTarget.value)),d(`keydown`,o,Z),d(`pointerdown`,o,e=>e.stopPropagation()),d(`click`,o,e=>e.stopPropagation()),i(e,o)};s(u,e=>{a(t)===`checkbox`?e(f):a(t)===`list`||a(t)===`select`||a(t)===`rich-select`?e(m,1):e(h,-1)}),i(e,r)},Fe=r=>{var m=o(),_=C(m),v=e=>{let n=y(()=>l.column.columnDef.cellEditor);var r=o(),s=C(r);{let e=y(()=>({cell:l.row.getAllCells().find(e=>e.column.id===l.column.id),row:l.row,column:l.column,table:a(Te),getValue:()=>H().editingCell?.value,value:H().editingCell?.value,update:e=>{H().editingCell=H().editingCell?{...H().editingCell,value:e}:H().editingCell},commit:e=>{e!==void 0&&(H().editingCell=H().editingCell?{...H().editingCell,value:e}:H().editingCell),a(q)()},cancel:()=>{H().editingCell=null,H().gridRootEl?.focus({preventScroll:!0})}}));t(s,()=>a(n),()=>a(e))}i(e,r)},ee=t=>{var n=me();e(n,e=>Oe?.(e)),p(e=>T(n,`aria-checked`,e),[()=>!!H().editingCell.value]),d(`click`,n,e=>{e.stopPropagation();let t=!H().editingCell?.value;H().editingCell=H().editingCell?{...H().editingCell,value:t}:H().editingCell,a(q)()}),d(`keydown`,n,e=>{if(e.key===`Enter`||e.key===` `){a(De)(e,()=>{e.stopPropagation();let t=!H().editingCell?.value;H().editingCell=H().editingCell?{...H().editingCell,value:t}:H().editingCell,a(q)()});return}a(Y)(e)}),f(`blur`,n,()=>a(q)()),i(t,n)},te=e=>{let t=y(()=>a(G)(l.column,l.row)),r=y(()=>a(K)(l.column,l.row)),c=y(()=>l.column.columnDef.editorMultiple===!0);var u=o(),d=C(u),f=e=>{var s=o(),l=C(s);{let e=y(()=>H().editingCell?.value);n(l,()=>a(U),(n,i)=>{i(n,{get options(){return a(t)},get loading(){return a(r)},get value(){return a(e)},get multiple(){return a(c)},placeholder:`Select…`,onChange:e=>{H().editingCell=H().editingCell?{...H().editingCell,value:e}:H().editingCell},onCommit:()=>a(q)(),onCancel:()=>{H().editingCell=null,H().gridRootEl?.focus({preventScroll:!0})}})})}i(e,s)};s(d,e=>{a(U)&&e(f)}),i(e,u)},E=e=>{let t=y(()=>a(G)(l.column,l.row)),n=y(()=>a(K)(l.column,l.row)),r=y(()=>l.column.columnDef.editorMultiple===!0),i=y(()=>ie(H().editingCell?.value));V(e,()=>a(t),()=>a(r),()=>a(i),()=>a(n))},D=t=>{let n=y(()=>Math.max(0,Math.min(5,Math.round(Number(H().editingCell?.value)||0)))),r=y(()=>Math.min(5,Math.max(1,a(n))));var o=ge(),s=O(o);w(s,16,()=>[1,2,3,4,5],e=>e,(t,o)=>{var s=he();e(s,(e,t)=>Oe?.(e,t),()=>o===a(r)),p(()=>{T(s,`aria-checked`,a(n)>=o),T(s,`aria-label`,`${o} ${o===1?`star`:`stars`}`),j(s,1,`sv-grid-rating-star ${a(n)>=o?`sv-grid-rating-star-on`:``}`)}),d(`mousedown`,s,e=>e.preventDefault()),d(`click`,s,e=>{e.stopPropagation(),H().editingCell=H().editingCell?{...H().editingCell,value:o}:H().editingCell,a(q)()}),d(`keydown`,s,e=>{let t=e.key;if(t!==`ArrowLeft`&&t!==`ArrowRight`&&t!==`Home`&&t!==`End`){a(Y)(e);return}e.preventDefault(),e.stopPropagation();let r=Math.min(5,Math.max(1,a(n))),i=t===`Home`?1:t===`End`?5:t===`ArrowLeft`?Math.max(1,r-1):Math.min(5,r+1);H().editingCell=H().editingCell?{...H().editingCell,value:i}:H().editingCell,(e.currentTarget.parentElement?.querySelectorAll(`.sv-grid-rating-star`))?.[i-1]?.focus({preventScroll:!0})}),i(t,s)});var c=g(s,2);A(o),d(`mousedown`,c,e=>e.preventDefault()),d(`click`,c,e=>{e.stopPropagation(),H().editingCell=H().editingCell?{...H().editingCell,value:0}:H().editingCell,a(q)()}),i(t,o)},k=e=>{let t=y(()=>a(G)(l.column,l.row)),r=y(()=>a(K)(l.column,l.row));var c=o(),u=C(c),d=e=>{var s=o(),c=C(s);{let e=y(()=>H().editingCell?.value);n(c,()=>a(U),(n,i)=>{i(n,{get options(){return a(t)},get loading(){return a(r)},get value(){return a(e)},multiple:!1,placeholder:`Select…`,onChange:e=>{H().editingCell=H().editingCell?{...H().editingCell,value:e}:H().editingCell},onCommit:()=>a(q)(),onCancel:()=>{H().editingCell=null,H().gridRootEl?.focus({preventScroll:!0})}})})}i(e,s)};s(u,e=>{a(U)&&e(d)}),i(e,c)},ne=e=>{let t=y(()=>a(G)(l.column,l.row)),r=y(()=>a(K)(l.column,l.row));var c=o(),u=C(c),d=e=>{var s=o(),c=C(s);{let e=y(()=>H().editingCell?.value);n(c,()=>a(U),(n,i)=>{i(n,{get options(){return a(t)},get loading(){return a(r)},get value(){return a(e)},multiple:!1,searchable:!0,placeholder:`Search…`,onChange:e=>{H().editingCell=H().editingCell?{...H().editingCell,value:e}:H().editingCell},onCommit:()=>a(q)(),onCancel:()=>{H().editingCell=null,H().gridRootEl?.focus({preventScroll:!0})}})})}i(e,s)};s(u,e=>{a(U)&&e(d)}),i(e,c)},re=t=>{var n=_e();b(n),e(n,e=>a(X)?.(e)),p(e=>S(n,e),[()=>String(H().editingCell?.value??``)]),d(`pointerdown`,n,e=>e.stopPropagation()),d(`input`,n,e=>a(J)(e.currentTarget.value)),d(`keydown`,n,e=>{if(e.stopPropagation(),e.key===`Escape`){e.preventDefault(),H().editingCell=null,H().gridRootEl?.focus({preventScroll:!0});return}if(e.key===`Tab`){e.preventDefault(),H().commitAndMoveByTab(e.shiftKey);return}e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),a(q)(),H().gridRootEl?.focus({preventScroll:!0}))}),f(`blur`,n,()=>a(q)()),i(t,n)},M=t=>{let n=y(()=>a(G)(l.column,l.row)),r=y(()=>String(H().editingCell?.value??``)),o=y(()=>a(r).trim()?a(n).filter(e=>String(e.label).toLowerCase().includes(a(r).toLowerCase())):a(n));var u=be(),m=O(u);x(m),e(m,e=>a(X)?.(e));var h=g(m,2),_=e=>{var t=ye();w(t,21,()=>a(o).slice(0,50),e=>e.value,(e,t)=>{var n=ve(),o=O(n,!0);A(n),p(e=>{T(n,`aria-selected`,e),c(o,a(t).label)},[()=>String(a(t).value)===a(r)]),d(`mousedown`,n,e=>{e.preventDefault(),H().editingCell=H().editingCell?{...H().editingCell,value:a(t).value}:H().editingCell,a(q)()}),i(e,n)}),A(t),i(e,t)};s(h,e=>{a(o).length>0&&e(_)}),A(u),p(()=>S(m,a(r))),d(`pointerdown`,m,e=>e.stopPropagation()),d(`input`,m,e=>a(J)(e.currentTarget.value)),f(`blur`,m,()=>a(q)()),d(`keydown`,m,function(...e){a(Y)?.apply(this,e)}),i(t,u)},N=e=>{var t=o(),r=C(t),c=e=>{var t=o(),r=C(t);{let e=y(()=>H().editingCell?.value),t=y(()=>l.column.columnDef.editorFormatString??`yyyy-MM-dd`);n(r,()=>a(W),(n,r)=>{r(n,{get value(){return a(e)},get formatString(){return a(t)},dropDownDisplayMode:`calendar`,autoOpen:!0,block:!0,onChange:e=>a(J)(e),onCommit:()=>a(q)(),onCancel:()=>{H().editingCell=null,H().gridRootEl?.focus({preventScroll:!0})}})})}i(e,t)};s(r,e=>{a(W)&&e(c)}),i(e,t)},P=e=>{var t=o(),r=C(t),c=e=>{var t=o(),r=C(t);{let e=y(()=>H().editingCell?.value),t=y(()=>l.column.columnDef.editorFormatString??`yyyy-MM-dd HH:mm`);n(r,()=>a(W),(n,r)=>{r(n,{get value(){return a(e)},get formatString(){return a(t)},dropDownDisplayMode:`both`,autoOpen:!0,block:!0,onChange:e=>a(J)(e),onCommit:()=>a(q)(),onCancel:()=>{H().editingCell=null,H().gridRootEl?.focus({preventScroll:!0})}})})}i(e,t)};s(r,e=>{a(W)&&e(c)}),i(e,t)},F=e=>{var t=o(),r=C(t),c=e=>{var t=o(),r=C(t);{let e=y(()=>de(H().editingCell?.value));n(r,()=>a(W),(t,n)=>{n(t,{get value(){return a(e)},formatString:`HH:mm`,dropDownDisplayMode:`time`,autoOpen:!0,block:!0,onChange:e=>a(J)(ce(e)),onCommit:()=>a(q)(),onCancel:()=>{H().editingCell=null,H().gridRootEl?.focus({preventScroll:!0})}})})}i(e,t)};s(r,e=>{a(W)&&e(c)}),i(e,t)},I=t=>{var n=xe();x(n),e(n,e=>a(X)?.(e)),p((e,t)=>{j(n,1,e),S(n,t)},[()=>u(se(`color`)),()=>le(`color`,H().editingCell?.value)]),d(`input`,n,e=>a(J)(e.currentTarget.value)),d(`change`,n,e=>{a(J)(e.currentTarget.value),a(q)()}),f(`blur`,n,()=>a(q)()),d(`keydown`,n,function(...e){a(Y)?.apply(this,e)}),i(t,n)},L=e=>{let t=y(()=>je(String(H().editingCell?.editorType)));var r=o(),c=C(r),l=e=>{let r=y(()=>a(t).component);var s=o(),c=C(s);{let e=y(()=>pe(a(t),Me()));n(c,()=>a(r),(t,n)=>{n(t,h(()=>a(e)))})}i(e,s)};s(c,e=>{a(t)&&e(l)}),i(e,r)},R=y(()=>fe(String(H().editingCell?.editorType??``))),z=t=>{var n=Se();b(n),e(n,e=>a(X)?.(e)),p((e,t)=>{T(n,`rows`,e),S(n,t)},[()=>Math.max(1,String(H().editingCell?.value??``).split(`
3
- `).length),()=>String(H().editingCell?.value??``)]),d(`input`,n,e=>{let t=e.currentTarget;t.rows=Math.max(1,t.value.split(`
4
- `).length),a(J)(t.value)}),f(`blur`,n,()=>a(q)()),d(`keydown`,n,function(...e){a(Y)?.apply(this,e)}),i(t,n)},B=t=>{let n=y(()=>H().editingCell?.editorType??`text`),r=y(()=>ae(a(n))===`text`&&oe(a(n))===`number`);var o=Ce();x(o),e(o,e=>a(X)?.(e)),p((e,t,n)=>{j(o,1,e),T(o,`type`,t),T(o,`inputmode`,a(r)?`decimal`:void 0),S(o,n)},[()=>u(se(a(n))),()=>ae(a(n)),()=>le(a(n),H().editingCell?.value)]),d(`input`,o,e=>{let t=e.currentTarget;if(a(r)&&!ue(t.value)){t.value=String(H().editingCell?.value??``);return}a(J)(t.value)}),f(`blur`,o,()=>a(q)()),d(`keydown`,o,function(...e){a(Y)?.apply(this,e)}),i(t,o)};s(_,e=>{l.column.columnDef.cellEditor?e(v):H().editingCell?.editorType===`checkbox`?e(ee,1):H().editingCell?.editorType===`list`?e(te,2):H().editingCell?.editorType===`chips`?e(E,3):H().editingCell?.editorType===`rating`?e(D,4):H().editingCell?.editorType===`select`?e(k,5):H().editingCell?.editorType===`rich-select`?e(ne,6):H().editingCell?.editorType===`textarea`?e(re,7):H().editingCell?.editorType===`autocomplete`?e(M,8):H().editingCell?.editorType===`date`?e(N,9):H().editingCell?.editorType===`datetime`?e(P,10):H().editingCell?.editorType===`time`?e(F,11):H().editingCell?.editorType===`color`?e(I,12):a(R)?e(L,13):(H().editingCell?.editorType??`text`)===`text`&&l.column?.columnDef.editorMultiline?e(z,14):e(B,-1)}),i(r,m)};s(Ne,e=>{we()?e(Pe):e(Fe,-1)}),i(r,$),E()}r([`mousedown`,`click`,`keydown`,`change`,`pointerdown`,`input`]);export{V as default};
@@ -1,4 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./SvGridChartBuilder-BjdQrnz5.js","./disclose-version-CIm4S9xS.js","./editor-contract-Bpoa7A5g.js","./popover-CUkLsvRX.js","./focus-trap-V2-6Fy9I.js","./SvTabs-2mHC6oaz.js","./dismissable-ChWRPkoa.js","./SvTabs-DKmwb5p1.css","./chart-Bmu-KAet.js","./rolldown-runtime-Dd_uD5pT.js","./chart-trend-_gDVw3bP.js","./cell-formatting-JoxA0t65.js","./SvGridChart-DYtGHM3F.js","./preload-helper-HclGiUj8.js","./chart-export-B6bkQ3X8.js","./SvGridChart-BgLuPO7I.css","./chart-panel-messages-B3y8y3kL.js","./SvGridChartBuilder-08YWWeqY.css","./chart-export-pdf-BbA28-gt.js","./chart-summary-DxE0R2Bk.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{E as t,H as n,I as r,K as i,L as a,M as o,P as s,R as c,T as l,U as u,V as d,W as f,X as p,Z as m,a as h,at as g,b as _,c as v,ct as y,dt as b,f as x,i as ee,it as S,k as te,mt as ne,o as C,p as w,pt as T,r as E,rt as D,s as O,st as k,vt as A,x as j,z as M}from"./disclose-version-CIm4S9xS.js";import{t as N}from"./preload-helper-HclGiUj8.js";import{C as P}from"./chart-Bmu-KAet.js";import{t as re}from"./SvGridChart-DYtGHM3F.js";import{a as ie,i as ae,n as oe,o as se,t as ce}from"./chart-export-B6bkQ3X8.js";import{i as le,n as ue,r as de,t as fe}from"./chart-panel-messages-B3y8y3kL.js";var F=e=>e;function pe(e){let t=e-1;return t*t*t+1}function me(e){let t=typeof e==`string`&&e.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);return t?[parseFloat(t[1]),t[2]||`px`]:[e,`px`]}function he(e,{delay:t=0,duration:n=400,easing:r=F}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}function ge(e,{delay:t=0,duration:n=400,easing:r=pe,x:i=0,y:a=0,opacity:o=0}={}){let s=getComputedStyle(e),c=+s.opacity,l=s.transform===`none`?``:s.transform,u=c*(1-o),[d,f]=me(i),[p,m]=me(a);return{delay:t,duration:n,easing:r,css:(e,t)=>`
3
- transform: ${l} translate(${(1-e)*d}${f}, ${(1-e)*p}${m});
4
- opacity: ${c-u*t}`}}function _e(e){let t=e-1;return t*t*t+1}var I=c(`<div class="sv-chart-pane is-indicator svelte-vb6v6e"><span class="sv-chart-pane-title svelte-vb6v6e"> </span> <!></div>`),L=c(`<div class="sv-chart-panes svelte-vb6v6e"><div class="sv-chart-pane is-main svelte-vb6v6e"><!></div> <!></div>`);function ve(e,t){ne(t,!0);let n=E(t,`indicators`,19,()=>[]),a=E(t,`axisWidth`,3,56),o=E(t,`zoom`,15,null),c=ee(t,[`$$slots`,`$$events`,`$$legacy`,`spec`,`indicators`,`syncGroup`,`axisWidth`,`zoom`,`onZoom`,`zoomable`,`legend`,`toolbar`]),l=`svcp-${Math.random().toString(36).slice(2,8)}`,u=b(()=>t.syncGroup??l),d=y(0),f=e=>i(d)>0&&!e.width?{width:Math.round(i(d))}:{},m=b(()=>({...t.spec,...f(t.spec),xAxis:{...t.spec.xAxis,...n().length?{labels:!1}:{}},yAxis:{...t.spec.yAxis,width:a()},...t.spec.y2Axis||t.spec.series.some(e=>e.axis===`right`)?{y2Axis:{...t.spec.y2Axis,width:a()}}:{}})),v=b(()=>n().map((e,r)=>{let{title:i,...o}=P(t.spec,e);return{title:i??e.kind,spec:{...o,...f(o),xAxis:{...o.xAxis,labels:r===n().length-1},yAxis:{...o.yAxis,width:a()}}}}));var x=L(),S=D(x),C=D(S);re(C,h({get spec(){return i(m)},get syncGroup(){return i(u)},get onZoom(){return t.onZoom},get zoomable(){return t.zoomable},get legend(){return t.legend},get toolbar(){return t.toolbar}},()=>c,{get zoom(){return o()},set zoom(e){o(e)}})),A(S);var j=g(S,2);te(j,19,()=>i(v),(e,t)=>`${n()[t]?.kind}-${t}`,(e,o,c)=>{var l=I(),d=D(l);let f;var m=D(d,!0);A(d);var h=g(d,2);{let e=b(()=>t.zoomable?{drag:!1,wheel:typeof t.zoomable==`object`&&t.zoomable.wheel,pan:typeof t.zoomable==`object`&&t.zoomable.pan}:!1);re(h,{get spec(){return i(o).spec},get syncGroup(){return i(u)},get zoomable(){return i(e)},legend:!1,toolbar:!1,interactive:!0,get localeText(){return t.localeText}})}A(l),p(()=>{w(l,`data-indicator`,n()[i(c)]?.kind),f=_(d,``,f,{left:`${a()+6}px`}),s(m,i(o).title)}),r(e,l)}),A(x),O(x,`clientWidth`,e=>k(d,e)),r(e,x),T()}var ye=e({default:()=>R}),be=c(`<div role="separator"></div>`),xe=c(`<button type="button" class="sv-grid-chart-btn"> </button>`),Se=M(`<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"></polyline></svg>`),Ce=M(`<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>`),we=c(`<div class="sv-grid-chart-export-menu" role="menu"><button type="button" role="menuitem"> </button> <button type="button" role="menuitem"> </button> <button type="button" role="menuitem"> </button> <button type="button" role="menuitem"> </button> <button type="button" role="menuitem"> </button> <button type="button" role="menuitem"> </button> <button type="button" role="menuitem"> </button></div>`),Te=c(`<button type="button"><svg width="13" height="13" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 2l1.9 4.6L18.5 8.5 13.9 10.4 12 15l-1.9-4.6L5.5 8.5l4.6-1.9L12 2zm6 11l1 2.4 2.4 1-2.4 1L18 21l-1-2.6-2.4-1 2.4-1L18 13zM6 14l.8 2 2 .8-2 .8L6 20l-.8-2.4-2-.8 2-.8L6 14z"></path></svg> </button>`),Ee=c(`<li class="sv-grid-chart-saved-item"><button type="button" class="sv-grid-chart-saved-apply"> </button> <button type="button" class="sv-grid-chart-saved-x">&times;</button></li>`),De=c(`<ul class="sv-grid-chart-saved-list"></ul>`),Oe=c(`<p class="sv-grid-chart-saved-empty"> </p>`),ke=c(`<div class="sv-grid-chart-export-menu sv-grid-chart-saved-menu" role="dialog"><form class="sv-grid-chart-saved-row"><input class="sv-grid-chart-saved-name" type="text"/> <button type="submit" class="sv-grid-chart-btn"> </button></form> <!></div>`),Ae=M(`<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18.84 12.25l1.72-1.71a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M5.17 11.75l-1.71 1.71a5 5 0 0 0 7.07 7.07l1.71-1.71"></path><line x1="8" y1="2" x2="8" y2="5"></line><line x1="2" y1="8" x2="5" y2="8"></line><line x1="16" y1="19" x2="16" y2="22"></line><line x1="19" y1="16" x2="22" y2="16"></line></svg>`),je=M(`<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>`),Me=c(`<button type="button" class="sv-grid-chart-btn sv-grid-chart-build-btn" aria-haspopup="dialog"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="3" width="7" height="7" rx="1"></rect><rect x="14" y="3" width="7" height="7" rx="1"></rect><rect x="3" y="14" width="7" height="7" rx="1"></rect><rect x="14" y="14" width="7" height="7" rx="1"></rect></svg> </button> <div class="sv-grid-chart-export sv-grid-chart-saved"><button type="button" class="sv-grid-chart-icon-btn sv-grid-chart-saved-btn" aria-haspopup="dialog"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"></path><polyline points="17 21 17 13 7 13 7 21"></polyline><polyline points="7 3 7 8 15 8"></polyline></svg></button> <!></div> <button type="button"><!></button> <button type="button" class="sv-grid-chart-icon-btn"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></button>`,1),Ne=M(`<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 3v3a2 2 0 0 1-2 2H3"></path><path d="M21 8h-3a2 2 0 0 1-2-2V3"></path><path d="M3 16h3a2 2 0 0 1 2 2v3"></path><path d="M16 21v-3a2 2 0 0 1 2-2h3"></path></svg>`),Pe=M(`<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 3H5a2 2 0 0 0-2 2v3"></path><path d="M21 8V5a2 2 0 0 0-2-2h-3"></path><path d="M3 16v3a2 2 0 0 0 2 2h3"></path><path d="M16 21h3a2 2 0 0 0 2-2v-3"></path></svg>`),Fe=c(`<button type="button" class="sv-grid-chart-icon-btn"><!></button> <button type="button" class="sv-grid-chart-icon-btn"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="3" width="18" height="18" rx="2"></rect><line x1="15" y1="3" x2="15" y2="21"></line></svg></button>`,1),Ie=c(`<button type="button" class="sv-grid-chart-icon-btn"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg></button>`),Le=c(`<div><button type="button" class="sv-grid-chart-tab-label" role="tab"> </button> <button type="button" class="sv-grid-chart-tab-x">&times;</button></div>`),Re=c(`<div class="sv-grid-chart-tabs" role="tablist"></div>`),ze=c(`<button type="button" class="sv-grid-chart-btn sv-grid-chart-explain-btn"> </button>`),Be=c(`<p class="sv-grid-chart-ai-msg is-error"> </p>`),Ve=c(`<p class="sv-grid-chart-ai-msg"> </p>`),He=c(`<div class="sv-grid-chart-ai"><form class="sv-grid-chart-ai-row"><input class="sv-grid-chart-ai-input" type="text"/> <button type="submit" class="sv-grid-chart-btn"> </button> <!></form> <!></div>`),Ue=c(`<div class="sv-grid-chart-panes-host"><!></div>`),We=c(`<p class="sv-grid-chart-empty"><!></p>`),Ge=c(`<div class="sv-grid-chart-float-resizer" role="separator"></div>`),Ke=c(`<section><!> <header class="sv-grid-chart-panel-head"><div><svg class="sv-grid-chart-title-icon" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="12" y1="20" x2="12" y2="10"></line><line x1="18" y1="20" x2="18" y2="4"></line><line x1="6" y1="20" x2="6" y2="16"></line></svg> <span class="sv-grid-chart-title"> </span> <div class="sv-grid-chart-actions"><!> <div class="sv-grid-chart-export"><button type="button" class="sv-grid-chart-icon-btn"><!></button> <!></div> <!> <!> <!> <button type="button" class="sv-grid-chart-close">&times;</button></div></div> <!> <!> <!></header> <div class="sv-grid-chart-panel-body"><!></div> <!> <!></section>`);function R(e,n){ne(n,!0);let c=y(null),h=y(!1);function ee(){if(i(c)){k(h,!0);return}N(()=>import(`./SvGridChartBuilder-BjdQrnz5.js`).then(e=>{k(c,e.default,!0),k(h,!0)}),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url)}let O=E(n,`ctrl`,7),M=b(()=>ue(O().localizationText)),P=b(()=>O().chartingConfig),F=b(()=>O().chartCfg),pe=b(()=>O().chartFormat?.legend===void 0||O().chartFormat.legend),me=b(()=>O().chartFormat?.dataLabels===void 0?O().chartDataLabels:O().chartFormat.dataLabels!==null&&{placement:O().chartFormat.dataLabels}),he=b(()=>O().chartFormat?.crosshairLabels!==!1),I=b(()=>O().chartIsCustom),L=b(()=>i(P)?.position??`bottom`),ye=b(()=>i(P)?.crossFilter!==!1),R=b(()=>O().chartSpec),qe=b(()=>O().chartableColumns),z=b(()=>O().chartSize??(i(L)===`right`?i(P)?.width??340:i(P)?.height??260)),B=b(()=>O().chartFloating),V=b(()=>O().chartMaximized),H=b(()=>O().chartFloatRect),Je=y(null);function Ye(){let e=i(Je)?.offsetParent;return{w:e?.clientWidth??800,h:e?.clientHeight??520}}function Xe(){if(!O().chartFloatRect){let{w:e,h:t}=Ye(),n=Math.min(600,Math.max(360,e-80)),r=Math.min(430,Math.max(260,t-90));O().chartFloatRect={x:Math.round((e-n)/2),y:Math.round((t-r)/2),w:n,h:r}}O().chartFloating=!0}function Ze(){O().chartFloating=!1,O().chartMaximized=!1}let Qe=()=>O().chartMaximized=!O().chartMaximized;function $e(e){if(!i(B)||i(V)||e.target?.closest(`button`))return;let t=O().chartFloatRect;if(!t)return;e.preventDefault();let n=e.clientX,r=e.clientY,{w:a,h:o}=Ye(),s=e=>{let i=Math.max(0,Math.min(a-t.w,t.x+e.clientX-n)),s=Math.max(0,Math.min(o-t.h,t.y+e.clientY-r));O().chartFloatRect={x:i,y:s,w:t.w,h:t.h}},c=()=>{window.removeEventListener(`pointermove`,s),window.removeEventListener(`pointerup`,c)};window.addEventListener(`pointermove`,s),window.addEventListener(`pointerup`,c)}function et(e){let t=O().chartFloatRect;if(!t)return;e.preventDefault(),e.stopPropagation();let n=e.clientX,r=e.clientY;e.target.setPointerCapture?.(e.pointerId);let i=e=>{O().chartFloatRect={x:t.x,y:t.y,w:Math.max(300,t.w+e.clientX-n),h:Math.max(220,t.h+e.clientY-r)}},a=()=>{window.removeEventListener(`pointermove`,i),window.removeEventListener(`pointerup`,a)};window.addEventListener(`pointermove`,i),window.addEventListener(`pointerup`,a)}let tt=b(()=>i(B)?i(V)?`left:12px; top:12px; right:12px; bottom:12px; width:auto; height:auto;`:i(H)?`left:${i(H).x}px; top:${i(H).y}px; width:${i(H).w}px; height:${i(H).h}px;`:``:i(L)===`right`?`width:${i(z)}px`:`height:${i(z)}px`),nt=b(()=>le(i(qe),i(M)));function rt(e){i(ye)&&e.category!=null&&O().applyChartCrossFilter(String(e.category))}let it=y(null),U=y(!1),at=y(!1),W=()=>i(it)?.querySelector(`svg`)??null,ot=b(()=>!!i(R)&&ce(i(R)));function st(){let e=W();e&&ie(e,`chart.png`),k(U,!1)}function ct(){let e=W();e&&se(e,`chart.svg`),k(U,!1)}function lt(){i(R)&&ae(i(R),`chart.csv`),k(U,!1)}async function ut(){let e=W();k(U,!1),e&&await(await N(()=>import(`./chart-export-pdf-BbA28-gt.js`).then(e=>e.t),__vite__mapDeps([18,9,14]),import.meta.url)).downloadChartPdf(e,`chart.pdf`,{title:i(R)?.title??O().charts[O().activeChartIndex]?.title})}async function dt(){let e=W();k(U,!1),e&&(await N(()=>import(`./chart-export-pdf-BbA28-gt.js`).then(e=>e.t),__vite__mapDeps([18,9,14]),import.meta.url)).printChart(e,{title:i(R)?.title??O().charts[O().activeChartIndex]?.title})}async function ft(){let e=W();if(k(U,!1),!(!e||typeof ClipboardItem>`u`||!navigator.clipboard?.write))try{let t=await oe(e);await navigator.clipboard.write([new ClipboardItem({"image/png":t})]),k(at,!0),setTimeout(()=>k(at,!1),1400)}catch{}}let pt=y(null),mt=y(null);function ht(e,t,n){let r=n=>{n.target?.closest(e)||t()},i=e=>{e.key===`Escape`&&(e.stopPropagation(),t(),n()?.focus())};return window.addEventListener(`pointerdown`,r),window.addEventListener(`keydown`,i,!0),()=>{window.removeEventListener(`pointerdown`,r),window.removeEventListener(`keydown`,i,!0)}}m(()=>{if(i(U))return ht(`.sv-grid-chart-export`,()=>k(U,!1),()=>i(pt))});let G=y(!1),K=y(``);function gt(){let e=i(K).trim();e&&(O().saveChart(e),k(K,``))}m(()=>{if(i(G))return ht(`.sv-grid-chart-saved`,()=>k(G,!1),()=>i(mt))});async function _t(){if(k(U,!1),!i(R))return;let{chartSummary:e}=await N(async()=>{let{chartSummary:e}=await import(`./chart-summary-DxE0R2Bk.js`).then(e=>e.t);return{chartSummary:e}},__vite__mapDeps([19,9,10,11]),import.meta.url),t=e(i(R));try{await navigator.clipboard?.writeText(t)}catch{}k(X,t,!0)}let vt=b(()=>!!O().chartAiHandler),yt=b(()=>!!O().chartExplainHandler);async function bt(){let e=O().chartExplainHandler;if(!(!e||i(J))){k(J,!0),k(Y,``),k(X,``);try{let t=await e();k(X,t?[t.summary,...t.insights].filter(Boolean).join(` `):``,!0),t||k(Y,i(M).chartAiNoExplanation,!0)}catch(e){k(Y,e instanceof Error?e.message:i(M).chartAiFailed,!0)}finally{k(J,!1)}}}let q=y(!1),xt=y(``),J=y(!1),Y=y(``),X=y(``);async function St(){let e=O().chartAiHandler,t=i(xt).trim();if(!(!e||!t||i(J))){k(J,!0),k(Y,``),k(X,``);try{let n=await e(t);n?(O().applyChartConfig(n),k(X,typeof n.rationale==`string`?n.rationale:``,!0)):k(Y,i(M).chartAiNoChart,!0)}catch(e){k(Y,e instanceof Error?e.message:i(M).chartAiFailed,!0)}finally{k(J,!1)}}}let Ct=y(!1);function wt(e){e.preventDefault(),k(Ct,!0);let t=i(L)===`right`?e.clientX:e.clientY,n=i(z);e.target.setPointerCapture?.(e.pointerId);let r=e=>{let r=i(L)===`right`?t-e.clientX:t-e.clientY;O().chartSize=Math.max(160,Math.min(720,n+r))},a=()=>{k(Ct,!1),window.removeEventListener(`pointermove`,r),window.removeEventListener(`pointerup`,a)};window.addEventListener(`pointermove`,r),window.addEventListener(`pointerup`,a)}var Z=Ke();let Tt;var Et=D(Z),Dt=e=>{var t=be();let n;p(()=>{n=j(t,1,`sv-grid-chart-resizer`,null,n,{"is-dragging":i(Ct)}),w(t,`aria-orientation`,i(L)===`right`?`vertical`:`horizontal`),w(t,`aria-label`,i(M).chartResize)}),u(`pointerdown`,t,wt),r(e,t)};o(Et,e=>{i(B)||e(Dt)});var Ot=g(Et,2),Q=D(Ot);let kt;var At=g(D(Q),2),jt=D(At,!0);A(At);var Mt=g(At,2),Nt=D(Mt),Pt=e=>{var t=xe(),n=D(t,!0);A(t),p(()=>s(n,i(M).chartClearFilter)),u(`click`,t,()=>O().clearChartCrossFilter()),r(e,t)};o(Nt,e=>{i(ye)&&!i(I)&&e(Pt)});var Ft=g(Nt,2),$=D(Ft),It=D($),Lt=e=>{var t=Se();r(e,t)},Rt=e=>{var t=Ce();r(e,t)};o(It,e=>{i(at)?e(Lt):e(Rt,-1)}),A($),C($,e=>k(pt,e),()=>i(pt));var zt=g($,2),Bt=e=>{var t=we(),n=D(t),a=D(n,!0);A(n);var o=g(n,2),c=D(o,!0);A(o);var l=g(o,2),d=D(l,!0);A(l);var f=g(l,2),m=D(f,!0);A(f);var h=g(f,2),_=D(h,!0);A(h);var v=g(h,2),y=D(v,!0);A(v);var b=g(v,2),x=D(b,!0);A(b),A(t),p(()=>{s(a,i(M).chartExportPng),s(c,i(M).chartExportSvg),s(d,i(M).chartExportPdf),f.disabled=!i(ot),s(m,i(M).chartExportCsv),s(_,i(M).chartExportCopy),s(y,i(M).chartExportPrint),s(x,i(M).chartExportDescribe)}),u(`click`,n,st),u(`click`,o,ct),u(`click`,l,ut),u(`click`,f,lt),u(`click`,h,ft),u(`click`,v,dt),u(`click`,b,_t),r(e,t)};o(zt,e=>{i(U)&&e(Bt)}),A(Ft);var Vt=g(Ft,2),Ht=e=>{var t=Te();let n;var a=g(D(t));A(t),p(()=>{n=j(t,1,`sv-grid-chart-btn sv-grid-chart-ai-btn`,null,n,{"is-active":i(q)}),w(t,`aria-label`,i(M).chartAiLabel),w(t,`title`,i(M).chartAiLabel),w(t,`aria-expanded`,i(q)),s(a,` ${i(M).chartAi??``}`)}),u(`click`,t,()=>k(q,!i(q))),r(e,t)};o(Vt,e=>{i(vt)&&!i(I)&&e(Ht)});var Ut=g(Vt,2),Wt=e=>{var t=Me(),n=S(t),a=g(D(n));A(n);var c=g(n,2),l=D(c);C(l,e=>k(mt,e),()=>i(mt));var d=g(l,2),m=e=>{var t=ke(),n=D(t),a=D(n);x(a);var c=g(a,2),l=D(c,!0);A(c),A(n);var d=g(n,2),m=e=>{var t=De();te(t,21,()=>O().savedCharts,e=>e.name,(e,t)=>{var n=Ee(),a=D(n),o=D(a,!0);A(a);var c=g(a,2);A(n),p(()=>{w(a,`title`,i(M).chartSaveApply),s(o,i(t).name),w(c,`aria-label`,`${i(M).chartSaveRemove}: ${i(t).name}`),w(c,`title`,i(M).chartSaveRemove)}),u(`click`,a,()=>{O().applySavedChart(i(t).name),k(G,!1)}),u(`click`,c,()=>O().removeSavedChart(i(t).name)),r(e,n)}),A(t),r(e,t)},h=e=>{var t=Oe(),n=D(t,!0);A(t),p(()=>s(n,i(M).chartSavedEmpty)),r(e,t)};o(d,e=>{O().savedCharts.length?e(m):e(h,-1)}),A(t),p(e=>{w(t,`aria-label`,i(M).chartSavedTitle),w(a,`aria-label`,i(M).chartSaveName),w(a,`placeholder`,i(M).chartSaveNamePlaceholder),c.disabled=e,s(l,i(M).chartSave)},[()=>!i(K).trim()]),f(`submit`,n,e=>{e.preventDefault(),gt()}),v(a,()=>i(K),e=>k(K,e)),r(e,t)};o(d,e=>{i(G)&&e(m)}),A(c);var h=g(c,2);let _;var y=D(h),b=e=>{var t=Ae();r(e,t)},ne=e=>{var t=je();r(e,t)};o(y,e=>{O().chartFrozen?e(b):e(ne,-1)}),A(h);var T=g(h,2);p(()=>{w(n,`aria-label`,i(M).chartBuildLabel),w(n,`title`,i(M).chartBuildTitle),s(a,` ${i(M).chartBuild??``}`),w(l,`aria-label`,i(M).chartSaveLabel),w(l,`title`,i(M).chartSavedTitle),w(l,`aria-expanded`,i(G)),_=j(h,1,`sv-grid-chart-icon-btn sv-grid-chart-link-btn`,null,_,{"is-unlinked":!!O().chartFrozen}),w(h,`aria-label`,O().chartFrozen?i(M).chartLinkBack:i(M).chartUnlink),w(h,`aria-pressed`,!!O().chartFrozen),w(h,`title`,O().chartFrozen?i(M).chartUnlinkedTitle:i(M).chartLinkedTitle),w(T,`aria-label`,i(M).chartAdd),w(T,`title`,i(M).chartAdd)}),u(`click`,n,ee),u(`click`,l,()=>k(G,!i(G))),u(`click`,h,()=>O().chartFrozen?O().unfreezeChart():O().freezeChart()),u(`click`,T,()=>O().addChart()),r(e,t)};o(Ut,e=>{i(I)||e(Wt)});var Gt=g(Ut,2),Kt=e=>{var t=Fe(),n=S(t),a=D(n),s=e=>{var t=Ne();r(e,t)},c=e=>{var t=Pe();r(e,t)};o(a,e=>{i(V)?e(s):e(c,-1)}),A(n);var l=g(n,2);p(()=>{w(n,`aria-label`,i(V)?i(M).chartRestore:i(M).chartMaximize),w(n,`title`,i(V)?i(M).chartRestore:i(M).chartMaximize),w(l,`aria-label`,i(M).chartDockLabel),w(l,`title`,i(M).chartDock)}),u(`click`,n,Qe),u(`click`,l,Ze),r(e,t)},qt=e=>{var t=Ie();p(()=>{w(t,`aria-label`,i(M).chartPopOutLabel),w(t,`title`,i(M).chartPopOut)}),u(`click`,t,Xe),r(e,t)};o(Gt,e=>{i(B)?e(Kt):e(qt,-1)});var Jt=g(Gt,2);A(Mt),A(Q);var Yt=g(Q,2),Xt=e=>{var t=Re();te(t,23,()=>O().charts,e=>e.id,(e,t,n)=>{var a=Le();let o;var c=D(a),l=D(c,!0);A(c);var d=g(c,2);A(a),p(e=>{o=j(a,1,`sv-grid-chart-tab`,null,o,{"is-active":i(n)===O().activeChartIndex}),w(c,`aria-selected`,i(n)===O().activeChartIndex),s(l,i(t).title),w(d,`aria-label`,e),w(d,`title`,i(M).chartRemove)},[()=>fe(i(M).chartRemoveTab,{title:i(t).title})]),u(`click`,c,()=>O().activeChartIndex=i(n)),u(`click`,d,()=>O().removeChart(i(n))),r(e,a)}),A(t),p(()=>w(t,`aria-label`,i(M).chartTabs)),r(e,t)};o(Yt,e=>{!i(I)&&O().charts.length>1&&e(Xt)});var Zt=g(Yt,2),Qt=e=>{var t=He(),n=D(t),a=D(n);x(a);var c=g(a,2),l=D(c,!0);A(c);var d=g(c,2),m=e=>{var t=ze(),n=D(t,!0);A(t),p(()=>{t.disabled=i(J)||!i(R),w(t,`title`,i(M).chartAiExplainTitle),s(n,i(M).chartAiExplain)}),u(`click`,t,bt),r(e,t)};o(d,e=>{i(yt)&&e(m)}),A(n);var h=g(n,2),_=e=>{var t=Be(),n=D(t,!0);A(t),p(()=>s(n,i(Y))),r(e,t)},y=e=>{var t=Ve(),n=D(t,!0);A(t),p(()=>s(n,i(X))),r(e,t)};o(h,e=>{i(Y)?e(_):i(X)&&e(y,1)}),A(t),p(e=>{w(a,`placeholder`,i(M).chartAiPlaceholder),a.disabled=i(J),c.disabled=e,s(l,i(J)?i(M).chartAiThinking:i(M).chartAiRun)},[()=>i(J)||!i(xt).trim()]),f(`submit`,n,e=>{e.preventDefault(),St()}),v(a,()=>i(xt),e=>k(xt,e)),r(e,t)};o(Zt,e=>{i(vt)&&i(q)&&!i(I)&&e(Qt)});var $t=g(Zt,2),en=e=>{de(e,{get ctrl(){return O()},get messages(){return i(M)}})};o($t,e=>{i(I)||e(en)}),A(Ot);var tn=g(Ot,2),nn=D(tn),rn=e=>{var t=Ue(),n=D(t);{let e=b(()=>i(F)?.zoom??!1),t=b(()=>i(F)?.rangePresets),r=b(()=>i(F)?.syncGroup),a=b(()=>i(F)?.contextMenu),o=b(()=>i(F)?.animate),s=b(()=>i(F)?.localeText),c=b(()=>i(F)?.export===!0||void 0);ve(n,{get spec(){return i(R)},get indicators(){return O().chartIndicatorPanes},onSelect:rt,interactive:!0,legend:!1,get zoomable(){return i(e)},get rangePresets(){return i(t)},get syncGroup(){return i(r)},get contextMenu(){return i(a)},get animate(){return i(o)},get localeText(){return i(s)},get crosshairLabels(){return i(he)},get toolbar(){return i(c)},get zoom(){return O().chartZoom},set zoom(e){O().chartZoom=e}})}A(t),r(e,t)},an=e=>{{let t=b(()=>i(F)?.zoom??!1),n=b(()=>i(F)?.brush===!0),r=b(()=>i(F)?.rangePresets),a=b(()=>i(F)?.syncGroup),o=b(()=>i(F)?.contextMenu),s=b(()=>i(F)?.animate),c=b(()=>i(F)?.localeText),l=b(()=>i(F)?.export===!0||void 0);re(e,{get spec(){return i(R)},autosize:!0,onSelect:rt,interactive:!0,get legend(){return i(pe)},get dataLabels(){return i(me)},get zoomable(){return i(t)},get brush(){return i(n)},get rangePresets(){return i(r)},get syncGroup(){return i(a)},get contextMenu(){return i(o)},get animate(){return i(s)},get localeText(){return i(c)},get crosshairLabels(){return i(he)},get toolbar(){return i(l)},get zoom(){return O().chartZoom},set zoom(e){O().chartZoom=e}})}},on=e=>{var t=We(),n=D(t),a=e=>{var t=d();p(()=>s(t,i(M).chartEmptyColumns)),r(e,t)},c=e=>{var t=d();p(()=>s(t,i(M).chartEmptyData)),r(e,t)};o(n,e=>{!i(qe).dims.length||!i(qe).measures.length?e(a):e(c,-1)}),A(t),r(e,t)};o(nn,e=>{i(R)&&O().chartIndicatorPanes.length&&i(R).series[0]?.ohlc?e(rn):i(R)&&(i(R).series.length||i(R).gaugeValue!=null||i(I))?e(an,1):e(on,-1)}),A(tn),C(tn,e=>k(it,e),()=>i(it));var sn=g(tn,2),cn=e=>{var n=a(),o=S(n);t(o,()=>i(c),(e,t)=>{t(e,{get ctrl(){return O()},get types(){return i(nt)},get messages(){return i(M)},get open(){return i(h)},set open(e){k(h,e,!0)}})}),r(e,n)};o(sn,e=>{i(c)&&e(cn)});var ln=g(sn,2),un=e=>{var t=Ge();p(()=>w(t,`aria-label`,i(M).chartResizeWindow)),u(`pointerdown`,t,et),r(e,t)};o(ln,e=>{i(B)&&!i(V)&&e(un)}),A(Z),C(Z,e=>k(Je,e),()=>i(Je)),p(()=>{Tt=j(Z,1,`sv-grid-chart-panel`,null,Tt,{"is-right":i(L)===`right`&&!i(B),"is-bottom":i(L)===`bottom`&&!i(B),"is-floating":i(B),"is-maximized":i(B)&&i(V)}),_(Z,i(tt)),w(Z,`aria-label`,i(M).chartPanelTitle),kt=j(Q,1,`sv-grid-chart-drawer-title`,null,kt,{"is-drag-handle":i(B)&&!i(V)}),s(jt,i(M).chartPanelTitle),w($,`aria-label`,i(M).chartExportLabel),w($,`title`,i(M).chartExport),w($,`aria-expanded`,i(U)),w(Jt,`aria-label`,i(M).chartClose)}),u(`pointerdown`,Q,$e),u(`click`,$,()=>k(U,!i(U))),u(`click`,Jt,()=>O().chartPanelOpen=!1),l(3,Z,()=>ge,()=>({x:!i(B)&&i(L)===`right`?i(z):0,y:!i(B)&&i(L)===`bottom`?i(z):0,duration:180,easing:_e})),r(e,Z),T()}n([`pointerdown`,`click`]);export{ge as i,_e as n,he as r,ye as t};
@@ -1,6 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{a as t,i as n,n as r,t as i}from"./cell-formatting-JoxA0t65.js";var a=e({coerceExportDate:()=>o,copyTextToClipboard:()=>A,downloadBlobFile:()=>O,downloadTextFile:()=>k,formatValueForExport:()=>c,projectGridRows:()=>u,serializeDelimited:()=>_,serializeHtml:()=>b,serializeJson:()=>x,serializeMarkdown:()=>C,serializeXml:()=>D,toExcelNumFmt:()=>l,toLocalIsoString:()=>s,valueForExcel:()=>f});function o(e){return n(e)}function s(e){let t=(e,t=2)=>String(Math.abs(e)).padStart(t,`0`),n=-e.getTimezoneOffset(),r=n<0?`-`:`+`,i=e.getFullYear();return(i<0?`-`+t(i,6):t(i,4))+`-${t(e.getMonth()+1)}-${t(e.getDate())}T${t(e.getHours())}:${t(e.getMinutes())}:${t(e.getSeconds())}.${t(e.getMilliseconds(),3)}${r}${t(Math.floor(Math.abs(n)/60))}:${t(Math.abs(n)%60)}`}function c(e,n){if(e==null)return``;if(!n)return String(e);if(n.type===`number`||n.type===`currency`||n.type===`percent`)return i(e,{type:n.type,locales:n.locales,currency:n.type===`currency`?n.currency??`USD`:void 0,valueIsPercentPoints:n.type===`percent`?n.valueIsPercentPoints:void 0,options:n.options});if(n.type===`date`||n.type===`datetime`){let i=o(e);if(i){let e=t(n.pattern,n.type),a=e||n.options?{...e,...n.options}:n.type===`date`?{year:`numeric`,month:`2-digit`,day:`2-digit`}:{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`};return r(n.locales,a).format(i)}}return String(e)}function l(e){if(!e)return;let t=()=>{let t=e.options;return t&&typeof t.maximumFractionDigits==`number`?t.maximumFractionDigits:t&&typeof t.minimumFractionDigits==`number`?t.minimumFractionDigits:e.type===`currency`?2:e.type===`number`?0:2},n=e=>e>0?`.`+`0`.repeat(e):``;switch(e.type){case`number`:return`#,##0${n(t())}`;case`currency`:return`"${d(e.currency??`USD`)}"#,##0${n(t())}`;case`percent`:return`0${n(t())}%`;case`date`:return`yyyy-mm-dd`;case`datetime`:return`yyyy-mm-dd hh:mm`;default:return}}function u(e,t,n={}){let r=n.columns&&n.columns.length?n.columns.map(e=>t.find(t=>t.field===e)).filter(e=>!!e):t.filter(e=>e.field),i=r.map(e=>e.field),a={};for(let e of r)e.align&&(a[e.field]=e.align);let o={};for(let e of r)o[e.field]=e.header;let s=[o];for(let t of e){let e={};for(let i of r){let r=t[i.field];e[i.field]=n.rawValues?r:c(r,i.format)}s.push(e)}return{records:s,fields:i,align:a}}function d(e){return{USD:`$`,EUR:`€`,GBP:`£`,JPY:`¥`,CNY:`¥`,INR:`₹`,KRW:`₩`,RUB:`₽`,BRL:`R$`}[e.toUpperCase()]??e.toUpperCase()}function f(e,t){if(e==null||!t)return{ok:!1};if(t.type===`number`||t.type===`currency`){let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?{ok:!0,value:t}:{ok:!1}}if(t.type===`percent`){let n=typeof e==`number`?e:Number(e);return Number.isFinite(n)?{ok:!0,value:t.valueIsPercentPoints===!0?n/100:n}:{ok:!1}}if(t.type===`date`||t.type===`datetime`){let t=o(e);return t?{ok:!0,value:t}:{ok:!1}}return{ok:!1}}var p=``;function m(e){if(e?.aborted)throw new DOMException(`Export aborted`,`AbortError`)}var h=()=>new Promise(e=>setTimeout(e,0));function g(e,t){let n=e==null?``:e instanceof Date?s(e):String(e);return n===``?n:n.includes(t)||n.includes(`"`)||n.includes(`
2
- `)||n.includes(`\r`)?`"${n.replace(/"/g,`""`)}"`:n}async function _(e,t,n={}){let r=n.csv?.delimiter??`,`,i=n.csv?.eol??`\r
3
- `,a=n.csv?.bom??!0,o=Math.max(1,n.chunkRows??5e3),s=e.length,c=[];for(let i=0;i<e.length;i++){m(n.signal);let a=e[i];c.push(t.map(e=>g(a[e],r)).join(r)),i>0&&i%o===0&&(n.onProgress?.({phase:`serialize`,ratio:i/s,row:i,total:s}),await h())}n.onProgress?.({phase:`serialize`,ratio:1,row:s,total:s});let l=c.join(i);return(a?p:``)+l}var v={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`};function y(e){return(e==null?``:e instanceof Date?s(e):String(e)).replace(/[&<>"']/g,e=>v[e])}async function b(e,t,n={}){let r=Math.max(1,n.chunkRows??5e3),i=e.length,a=n.align??{},o=n.cellStyle,s=n.cellLink,c=n.title??`Grid export`,l=e[0],u=l?t.map(e=>`<th>${y(l[e])}</th>`).join(``):``,d=[];for(let c=1;c<e.length;c++){m(n.signal);let l=e[c],u=t.map((e,t)=>{let n=a[e],r=[];n&&n!==`left`&&r.push(`text-align:${n}`);let i=o?.(c-1,t);i?.fill&&r.push(`background:${i.fill}`),i?.color&&r.push(`color:${i.color}`),i?.bold&&r.push(`font-weight:700`);let u=r.length?` style="${r.join(`;`)}"`:``,d=i?.icon?`${i.icon} ${y(l[e])}`:y(l[e]),f=s?.(c-1,t);return f&&(d=`<a href="${y(f)}">${d}</a>`),`<td${u}>${d}</td>`}).join(``);d.push(`<tr>${u}</tr>`),c>0&&c%r===0&&(n.onProgress?.({phase:`serialize`,ratio:c/i,row:c,total:i}),await h())}return n.onProgress?.({phase:`serialize`,ratio:1,row:i,total:i}),`<!doctype html><html><head><meta charset="utf-8"><title>${y(c)}</title><style>table{border-collapse:collapse;font-family:system-ui,sans-serif;font-size:13px}th,td{border:1px solid #d0d7de;padding:6px 10px}th{background:#f6f8fa;text-align:left}</style></head><body><table><thead><tr>${u}</tr></thead><tbody>${d.join(``)}</tbody></table></body></html>`}async function x(e,t,n={}){let r=Math.max(1,n.chunkRows??5e3),i=e.length-1,a=[];for(let o=1;o<e.length;o++){m(n.signal);let s=e[o],c={};for(let e of t)c[e]=s[e];a.push(c),o>0&&o%r===0&&(n.onProgress?.({phase:`serialize`,ratio:o/i,row:o,total:i}),await h())}return n.onProgress?.({phase:`serialize`,ratio:1,row:i,total:i}),JSON.stringify(a,null,2)}function S(e){return(e==null?``:e instanceof Date?s(e):String(e)).replace(/\\/g,`\\\\`).replace(/\|/g,`\\|`).replace(/\r?\n/g,`<br>`)}async function C(e,t,n={}){let r=Math.max(1,n.chunkRows??5e3),i=e.length,a=n.align??{},o=e[0],s=`| ${t.map(e=>S(o?.[e])).join(` | `)} |`,c=`| ${t.map(e=>{let t=a[e];return t===`right`?`---:`:t===`center`?`:--:`:`---`}).join(` | `)} |`,l=[];for(let a=1;a<e.length;a++){m(n.signal);let o=e[a];l.push(`| ${t.map(e=>S(o[e])).join(` | `)} |`),a>0&&a%r===0&&(n.onProgress?.({phase:`serialize`,ratio:a/i,row:a,total:i}),await h())}return n.onProgress?.({phase:`serialize`,ratio:1,row:i,total:i}),[s,c,...l].join(`
4
- `)+`
5
- `}var w={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&apos;`};function T(e){return(e==null?``:e instanceof Date?s(e):String(e)).replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]/g,``).replace(/[&<>"']/g,e=>w[e])}function E(e){let t=e.replace(/[^A-Za-z0-9_.-]/g,`_`);return/^[A-Za-z_]/.test(t)?t:`_${t}`}async function D(e,t,n={}){let r=Math.max(1,n.chunkRows??5e3),i=e.length-1,a=n.rootTag??`rows`,o=n.rowTag??`row`,s=t.map(E),c=[`<?xml version="1.0" encoding="UTF-8"?>`,`<${a}>`];for(let a=1;a<e.length;a++){m(n.signal);let l=e[a],u=t.map((e,t)=>`<${s[t]}>${T(l[e])}</${s[t]}>`).join(``);c.push(` <${o}>${u}</${o}>`),a>0&&a%r===0&&(n.onProgress?.({phase:`serialize`,ratio:a/i,row:a,total:i}),await h())}return c.push(`</${a}>`),n.onProgress?.({phase:`serialize`,ratio:1,row:i,total:i}),c.join(`
6
- `)}function O(e,t){if(typeof document>`u`||typeof URL>`u`)throw Error(`@svgrid/grid: export requires a browser environment`);let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),0)}function k(e,t,n){if(typeof document>`u`||typeof URL>`u`)throw Error(`@svgrid/grid: text export requires a browser environment`);O(new Blob([e],{type:n}),t)}async function A(e){if(typeof navigator>`u`||!navigator.clipboard)throw Error(`@svgrid/grid: clipboard API is unavailable in this context`);await navigator.clipboard.writeText(e)}export{_ as a,C as c,f as d,c as i,D as l,k as n,b as o,a as r,x as s,O as t,l as u};