@simple-table/svelte 3.0.2 → 3.0.5

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.
package/README.md CHANGED
@@ -33,4 +33,4 @@ npm install @simple-table/svelte
33
33
 
34
34
  ## License
35
35
 
36
- Dual licensed — MIT for individuals & startups, proprietary Pro tier for revenue-generating companies. See [LICENSE](LICENSE) and [EULA.txt](../../EULA.txt) for details.
36
+ Dual licensed — MIT for zero-revenue individuals and startups; Pro and Enterprise (commercial EULA) for revenue-generating companies. See [LICENSE](LICENSE), [EULA.txt](../../EULA.txt), and [pricing](https://www.simple-table.com/pricing).
package/dist/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("svelte/internal/disclose-version"),require("svelte/internal/flags/legacy");var e=require("svelte/internal/client"),t=require("svelte"),r=require("simple-table-core");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var o=n(e);function s(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function a(e){return r=>{const n=document.createElement("div");return t.mount(e,{target:n,props:r}),n}}function d(e,r={}){const n=document.createElement("div");return t.mount(e,{target:n,props:r}),n.innerHTML}function i(e){return"function"==typeof e}function l(e){const{cellRenderer:t,headerRenderer:r,children:n,nestedTable:o}=e,d=s(e,["cellRenderer","headerRenderer","children","nestedTable"]),i=Object.assign({},d);if(t&&(i.cellRenderer="function"==typeof t&&t.length>=2?a(t):t),r&&(i.headerRenderer="function"==typeof r&&r.length>=2?a(r):r),n&&(i.children=n.map(l)),o){const e=Object.assign(Object.assign({},o),{rows:[]});i.nestedTable=c(e)}return i}function c(e){const{defaultHeaders:t,rows:r,footerRenderer:n,emptyStateRenderer:o,errorStateRenderer:c,loadingStateRenderer:u,headerDropdown:f,columnEditorConfig:p,icons:g}=e,b=s(e,["defaultHeaders","rows","footerRenderer","emptyStateRenderer","errorStateRenderer","loadingStateRenderer","headerDropdown","columnEditorConfig","icons"]),m=Object.assign(Object.assign({},b),{rows:r,defaultHeaders:t.map(l)});return void 0!==n&&(m.footerRenderer="function"==typeof n&&n.length>=2?a(n):n),void 0!==o&&(m.emptyStateRenderer="function"==typeof o&&o.length>=2?a(o):o),void 0!==c&&(m.errorStateRenderer="function"==typeof c&&c.length>=2?a(c):c),void 0!==u&&(m.loadingStateRenderer="function"==typeof u&&u.length>=2?a(u):u),void 0!==f&&(m.headerDropdown=a(f)),void 0!==p&&(m.columnEditorConfig=function(e){const{rowRenderer:t,customRenderer:r}=e,n=s(e,["rowRenderer","customRenderer"]);return Object.assign(Object.assign(Object.assign({},n),t?{rowRenderer:a(t)}:{}),r?{customRenderer:a(r)}:{})}(p)),void 0!==g&&(m.icons=function(e){const t={};for(const[r,n]of Object.entries(e))null!=n&&("string"==typeof n||n instanceof HTMLElement||n instanceof SVGElement?t[r]=n:i(n)&&(t[r]=d(n,{})));return t}(g)),m}"function"==typeof SuppressedError&&SuppressedError;var u=o.from_html("<div></div>");Object.defineProperty(exports,"asRows",{enumerable:!0,get:function(){return r.asRows}}),exports.SimpleTable=function(e,n){const s=o.legacy_rest_props(n,["children","$$slots","$$events","$$legacy"]),a=o.legacy_rest_props(s,["getAPI","rows","defaultHeaders"]);o.push(n,!1);let d=o.prop(n,"rows",8),i=o.prop(n,"defaultHeaders",8),l=o.mutable_source(),f=o.mutable_source(null);function p(){var e;return null!==(e=null===o.get(f)||void 0===o.get(f)?void 0:o.get(f).getAPI())&&void 0!==e?e:null}t.onMount(()=>{o.set(f,new r.SimpleTableVanilla(o.get(l),c(Object.assign({rows:d(),defaultHeaders:i()},a)))),o.get(f).mount()}),t.onDestroy(()=>{null===o.get(f)||void 0===o.get(f)||o.get(f).destroy(),o.set(f,null)}),o.legacy_pre_effect(()=>(o.get(f),o.deep_read_state(d()),o.deep_read_state(i()),o.deep_read_state(a)),()=>{o.get(f)&&o.get(f).update(c(Object.assign({rows:d(),defaultHeaders:i()},a)))}),o.legacy_pre_effect_reset();var g={getAPI:p};o.init();var b=u();return o.bind_this(b,e=>o.set(l,e),()=>o.get(l)),o.append(e,b),o.bind_prop(n,"getAPI",p),o.pop(g)},exports.defaultHeaderFromCore=function(e){return e},exports.defaultHeadersFromCore=function(e){return e},exports.mapToSvelteHeaderObjects=function(e){return e};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("svelte/internal/disclose-version"),require("svelte/internal/flags/legacy");var e=require("svelte/internal/client"),t=require("svelte"),r=require("simple-table-core");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var o=n(e);function a(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function l(e){return r=>{const n=document.createElement("div");return t.mount(e,{target:n,props:r}),n}}function s(e,r={}){const n=document.createElement("div");return t.mount(e,{target:n,props:r}),n.innerHTML}function d(e){return"function"==typeof e}function i(e){const{cellRenderer:t,headerRenderer:r,children:n,nestedTable:o}=e,s=a(e,["cellRenderer","headerRenderer","children","nestedTable"]),d=Object.assign({},s);if(t&&(d.cellRenderer="function"==typeof t&&t.length>=2?l(t):t),r&&(d.headerRenderer="function"==typeof r&&r.length>=2?l(r):r),n&&(d.children=n.map(i)),o){const e=Object.assign(Object.assign({},o),{rows:[]});d.nestedTable=c(e)}return d}function c(e){const{defaultHeaders:r,rows:n,footerRenderer:o,emptyStateRenderer:c,errorStateRenderer:u,loadingStateRenderer:p,headerDropdown:f,columnEditorConfig:g,icons:m,tableEmptyStateRenderer:b,onColumnOrderChange:y,onColumnWidthChange:v,onHeaderEdit:O,onColumnSelect:h}=e,R=a(e,["defaultHeaders","rows","footerRenderer","emptyStateRenderer","errorStateRenderer","loadingStateRenderer","headerDropdown","columnEditorConfig","icons","tableEmptyStateRenderer","onColumnOrderChange","onColumnWidthChange","onHeaderEdit","onColumnSelect"]),j=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},R),{rows:n,defaultHeaders:r.map(i)}),y?{onColumnOrderChange:e=>y(e)}:{}),v?{onColumnWidthChange:e=>v(e)}:{}),O?{onHeaderEdit:(e,t)=>O(e,t)}:{}),h?{onColumnSelect:e=>h(e)}:{});return void 0!==b&&(null===b?j.tableEmptyStateRenderer=null:"string"==typeof b||b instanceof HTMLElement?j.tableEmptyStateRenderer=b:d(b)&&(j.tableEmptyStateRenderer=function(e){const r=document.createElement("div");return t.mount(e,{target:r,props:{}}),r}(b))),void 0!==o&&(j.footerRenderer="function"==typeof o&&o.length>=2?l(o):o),void 0!==c&&(j.emptyStateRenderer="function"==typeof c&&c.length>=2?l(c):c),void 0!==u&&(j.errorStateRenderer="function"==typeof u&&u.length>=2?l(u):u),void 0!==p&&(j.loadingStateRenderer="function"==typeof p&&p.length>=2?l(p):p),void 0!==f&&(j.headerDropdown=l(f)),void 0!==g&&(j.columnEditorConfig=function(e){const{rowRenderer:t,customRenderer:r}=e,n=a(e,["rowRenderer","customRenderer"]);return Object.assign(Object.assign(Object.assign({},n),t?{rowRenderer:l(t)}:{}),r?{customRenderer:l(r)}:{})}(g)),void 0!==m&&(j.icons=function(e){const t={};for(const[r,n]of Object.entries(e))null!=n&&("string"==typeof n||n instanceof HTMLElement||n instanceof SVGElement?t[r]=n:d(n)&&(t[r]=s(n,{})));return t}(m)),j}"function"==typeof SuppressedError&&SuppressedError;var u=o.from_html("<div></div>");Object.defineProperty(exports,"asRows",{enumerable:!0,get:function(){return r.asRows}}),exports.SimpleTable=function(e,n){const a=o.legacy_rest_props(n,["children","$$slots","$$events","$$legacy"]),l=o.legacy_rest_props(a,["getAPI","rows","defaultHeaders"]);o.push(n,!1);let s=o.prop(n,"rows",8),d=o.prop(n,"defaultHeaders",8),i=o.mutable_source(),p=o.mutable_source(null);function f(){var e;return null!==(e=null===o.get(p)||void 0===o.get(p)?void 0:o.get(p).getAPI())&&void 0!==e?e:null}t.onMount(()=>{o.set(p,new r.SimpleTableVanilla(o.get(i),c(Object.assign({rows:s(),defaultHeaders:d()},l)))),o.get(p).mount()}),t.onDestroy(()=>{null===o.get(p)||void 0===o.get(p)||o.get(p).destroy(),o.set(p,null)}),o.legacy_pre_effect(()=>(o.get(p),o.deep_read_state(s()),o.deep_read_state(d()),o.deep_read_state(l)),()=>{o.get(p)&&o.get(p).update(c(Object.assign({rows:s(),defaultHeaders:d()},l)))}),o.legacy_pre_effect_reset();var g={getAPI:f};o.init();var m=u();return o.bind_this(m,e=>o.set(i,e),()=>o.get(i)),o.append(e,m),o.bind_prop(n,"getAPI",f),o.pop(g)};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/SimpleTable.svelte"],"sourcesContent":["<script lang=\"ts\">\n import { onMount, onDestroy } from \"svelte\";\n import { SimpleTableVanilla } from \"simple-table-core\";\n import type { TableAPI } from \"simple-table-core\";\n import { buildVanillaConfig } from \"./buildVanillaConfig\";\n import type { SimpleTableSvelteProps, TableInstance } from \"./types\";\n\n // SimpleTable — Svelte adapter for simple-table-core.\n // Accepts the same props as SimpleTableProps with Svelte component types for renderers.\n // Use bind:this={tableRef} to access the TableAPI: tableRef.getAPI()?.sort(...)\n\n type $$Props = SimpleTableSvelteProps;\n\n export let rows: $$Props[\"rows\"];\n export let defaultHeaders: $$Props[\"defaultHeaders\"];\n\n // All remaining optional props — spread via $$restProps\n let container: HTMLDivElement;\n let instance: TableInstance | null = null;\n\n onMount(() => {\n instance = new SimpleTableVanilla(\n container,\n buildVanillaConfig({ rows, defaultHeaders, ...$$restProps } as SimpleTableSvelteProps)\n ) as unknown as TableInstance;\n instance.mount();\n });\n\n onDestroy(() => {\n instance?.destroy();\n instance = null;\n });\n\n // Reactive update: re-run whenever any prop changes.\n $: if (instance) {\n instance.update(\n buildVanillaConfig({ rows, defaultHeaders, ...$$restProps } as SimpleTableSvelteProps)\n );\n }\n\n /** Expose the TableAPI for consumers using bind:this. */\n export function getAPI(): TableAPI | null {\n return instance?.getAPI() ?? null;\n }\n</script>\n\n<div bind:this={container}></div>\n"],"names":["div","root","$$value","$","set","container","get"],"mappings":"wqHA8CCA,EAAGC,uBAAHD,EAAGE,GAAAC,EAAAC,IAAYC,EAASH,GAAA,IAAAC,EAAAG,IAATD,eAAfL,qCAFO"}
1
+ {"version":3,"file":"index.js","sources":["../../src/SimpleTable.svelte"],"sourcesContent":["<script lang=\"ts\">\n import { onMount, onDestroy } from \"svelte\";\n import { SimpleTableVanilla } from \"simple-table-core\";\n import type { TableAPI } from \"simple-table-core\";\n import { buildVanillaConfig } from \"./buildVanillaConfig\";\n import type { SimpleTableSvelteProps, TableInstance } from \"./types\";\n\n // SimpleTable — Svelte adapter for simple-table-core.\n // Accepts the same props as SimpleTableProps with Svelte component types for renderers.\n // Use bind:this={tableRef} to access the TableAPI: tableRef.getAPI()?.sort(...)\n\n type $$Props = SimpleTableSvelteProps;\n\n export let rows: $$Props[\"rows\"];\n export let defaultHeaders: $$Props[\"defaultHeaders\"];\n\n // All remaining optional props — spread via $$restProps\n let container: HTMLDivElement;\n let instance: TableInstance | null = null;\n\n onMount(() => {\n instance = new SimpleTableVanilla(\n container,\n buildVanillaConfig({ rows, defaultHeaders, ...$$restProps } as SimpleTableSvelteProps)\n ) as unknown as TableInstance;\n instance.mount();\n });\n\n onDestroy(() => {\n instance?.destroy();\n instance = null;\n });\n\n // Reactive update: re-run whenever any prop changes.\n $: if (instance) {\n instance.update(\n buildVanillaConfig({ rows, defaultHeaders, ...$$restProps } as SimpleTableSvelteProps)\n );\n }\n\n /** Expose the TableAPI for consumers using bind:this. */\n export function getAPI(): TableAPI | null {\n return instance?.getAPI() ?? null;\n }\n</script>\n\n<div bind:this={container}></div>\n"],"names":["div","root","$$value","$","set","container","get"],"mappings":"qzIA8CCA,EAAGC,uBAAHD,EAAGE,GAAAC,EAAAC,IAAYC,EAASH,GAAA,IAAAC,EAAAG,IAATD,eAAfL,qCAFO"}
package/dist/index.es.js CHANGED
@@ -1,2 +1,2 @@
1
- import"svelte/internal/disclose-version";import"svelte/internal/flags/legacy";import*as e from"svelte/internal/client";import{mount as t,onMount as r,onDestroy as n}from"svelte";import{SimpleTableVanilla as o}from"simple-table-core";export{asRows}from"simple-table-core";function s(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function d(e){return r=>{const n=document.createElement("div");return t(e,{target:n,props:r}),n}}function i(e,r={}){const n=document.createElement("div");return t(e,{target:n,props:r}),n.innerHTML}function a(e){return"function"==typeof e}function l(e){const{cellRenderer:t,headerRenderer:r,children:n,nestedTable:o}=e,i=s(e,["cellRenderer","headerRenderer","children","nestedTable"]),a=Object.assign({},i);if(t&&(a.cellRenderer="function"==typeof t&&t.length>=2?d(t):t),r&&(a.headerRenderer="function"==typeof r&&r.length>=2?d(r):r),n&&(a.children=n.map(l)),o){const e=Object.assign(Object.assign({},o),{rows:[]});a.nestedTable=c(e)}return a}function c(e){const{defaultHeaders:t,rows:r,footerRenderer:n,emptyStateRenderer:o,errorStateRenderer:c,loadingStateRenderer:u,headerDropdown:f,columnEditorConfig:p,icons:g}=e,m=s(e,["defaultHeaders","rows","footerRenderer","emptyStateRenderer","errorStateRenderer","loadingStateRenderer","headerDropdown","columnEditorConfig","icons"]),v=Object.assign(Object.assign({},m),{rows:r,defaultHeaders:t.map(l)});return void 0!==n&&(v.footerRenderer="function"==typeof n&&n.length>=2?d(n):n),void 0!==o&&(v.emptyStateRenderer="function"==typeof o&&o.length>=2?d(o):o),void 0!==c&&(v.errorStateRenderer="function"==typeof c&&c.length>=2?d(c):c),void 0!==u&&(v.loadingStateRenderer="function"==typeof u&&u.length>=2?d(u):u),void 0!==f&&(v.headerDropdown=d(f)),void 0!==p&&(v.columnEditorConfig=function(e){const{rowRenderer:t,customRenderer:r}=e,n=s(e,["rowRenderer","customRenderer"]);return Object.assign(Object.assign(Object.assign({},n),t?{rowRenderer:d(t)}:{}),r?{customRenderer:d(r)}:{})}(p)),void 0!==g&&(v.icons=function(e){const t={};for(const[r,n]of Object.entries(e))null!=n&&("string"==typeof n||n instanceof HTMLElement||n instanceof SVGElement?t[r]=n:a(n)&&(t[r]=i(n,{})));return t}(g)),v}"function"==typeof SuppressedError&&SuppressedError;var u=e.from_html("<div></div>");function f(t,s){const d=e.legacy_rest_props(s,["children","$$slots","$$events","$$legacy"]),i=e.legacy_rest_props(d,["getAPI","rows","defaultHeaders"]);e.push(s,!1);let a=e.prop(s,"rows",8),l=e.prop(s,"defaultHeaders",8),f=e.mutable_source(),p=e.mutable_source(null);function g(){var t;return null!==(t=null===e.get(p)||void 0===e.get(p)?void 0:e.get(p).getAPI())&&void 0!==t?t:null}r(()=>{e.set(p,new o(e.get(f),c(Object.assign({rows:a(),defaultHeaders:l()},i)))),e.get(p).mount()}),n(()=>{null===e.get(p)||void 0===e.get(p)||e.get(p).destroy(),e.set(p,null)}),e.legacy_pre_effect(()=>(e.get(p),e.deep_read_state(a()),e.deep_read_state(l()),e.deep_read_state(i)),()=>{e.get(p)&&e.get(p).update(c(Object.assign({rows:a(),defaultHeaders:l()},i)))}),e.legacy_pre_effect_reset();var m={getAPI:g};e.init();var v=u();return e.bind_this(v,t=>e.set(f,t),()=>e.get(f)),e.append(t,v),e.bind_prop(s,"getAPI",g),e.pop(m)}function p(e){return e}function g(e){return e}function m(e){return e}export{f as SimpleTable,p as defaultHeaderFromCore,g as defaultHeadersFromCore,m as mapToSvelteHeaderObjects};
1
+ import"svelte/internal/disclose-version";import"svelte/internal/flags/legacy";import*as e from"svelte/internal/client";import{mount as t,onMount as n,onDestroy as r}from"svelte";import{SimpleTableVanilla as o}from"simple-table-core";export{asRows}from"simple-table-core";function a(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function d(e){return n=>{const r=document.createElement("div");return t(e,{target:r,props:n}),r}}function s(e,n={}){const r=document.createElement("div");return t(e,{target:r,props:n}),r.innerHTML}function l(e){return"function"==typeof e}function i(e){const{cellRenderer:t,headerRenderer:n,children:r,nestedTable:o}=e,s=a(e,["cellRenderer","headerRenderer","children","nestedTable"]),l=Object.assign({},s);if(t&&(l.cellRenderer="function"==typeof t&&t.length>=2?d(t):t),n&&(l.headerRenderer="function"==typeof n&&n.length>=2?d(n):n),r&&(l.children=r.map(i)),o){const e=Object.assign(Object.assign({},o),{rows:[]});l.nestedTable=c(e)}return l}function c(e){const{defaultHeaders:n,rows:r,footerRenderer:o,emptyStateRenderer:c,errorStateRenderer:u,loadingStateRenderer:p,headerDropdown:f,columnEditorConfig:g,icons:m,tableEmptyStateRenderer:b,onColumnOrderChange:y,onColumnWidthChange:h,onHeaderEdit:v,onColumnSelect:R}=e,O=a(e,["defaultHeaders","rows","footerRenderer","emptyStateRenderer","errorStateRenderer","loadingStateRenderer","headerDropdown","columnEditorConfig","icons","tableEmptyStateRenderer","onColumnOrderChange","onColumnWidthChange","onHeaderEdit","onColumnSelect"]),S=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},O),{rows:r,defaultHeaders:n.map(i)}),y?{onColumnOrderChange:e=>y(e)}:{}),h?{onColumnWidthChange:e=>h(e)}:{}),v?{onHeaderEdit:(e,t)=>v(e,t)}:{}),R?{onColumnSelect:e=>R(e)}:{});return void 0!==b&&(null===b?S.tableEmptyStateRenderer=null:"string"==typeof b||b instanceof HTMLElement?S.tableEmptyStateRenderer=b:l(b)&&(S.tableEmptyStateRenderer=function(e){const n=document.createElement("div");return t(e,{target:n,props:{}}),n}(b))),void 0!==o&&(S.footerRenderer="function"==typeof o&&o.length>=2?d(o):o),void 0!==c&&(S.emptyStateRenderer="function"==typeof c&&c.length>=2?d(c):c),void 0!==u&&(S.errorStateRenderer="function"==typeof u&&u.length>=2?d(u):u),void 0!==p&&(S.loadingStateRenderer="function"==typeof p&&p.length>=2?d(p):p),void 0!==f&&(S.headerDropdown=d(f)),void 0!==g&&(S.columnEditorConfig=function(e){const{rowRenderer:t,customRenderer:n}=e,r=a(e,["rowRenderer","customRenderer"]);return Object.assign(Object.assign(Object.assign({},r),t?{rowRenderer:d(t)}:{}),n?{customRenderer:d(n)}:{})}(g)),void 0!==m&&(S.icons=function(e){const t={};for(const[n,r]of Object.entries(e))null!=r&&("string"==typeof r||r instanceof HTMLElement||r instanceof SVGElement?t[n]=r:l(r)&&(t[n]=s(r,{})));return t}(m)),S}"function"==typeof SuppressedError&&SuppressedError;var u=e.from_html("<div></div>");function p(t,a){const d=e.legacy_rest_props(a,["children","$$slots","$$events","$$legacy"]),s=e.legacy_rest_props(d,["getAPI","rows","defaultHeaders"]);e.push(a,!1);let l=e.prop(a,"rows",8),i=e.prop(a,"defaultHeaders",8),p=e.mutable_source(),f=e.mutable_source(null);function g(){var t;return null!==(t=null===e.get(f)||void 0===e.get(f)?void 0:e.get(f).getAPI())&&void 0!==t?t:null}n(()=>{e.set(f,new o(e.get(p),c(Object.assign({rows:l(),defaultHeaders:i()},s)))),e.get(f).mount()}),r(()=>{null===e.get(f)||void 0===e.get(f)||e.get(f).destroy(),e.set(f,null)}),e.legacy_pre_effect(()=>(e.get(f),e.deep_read_state(l()),e.deep_read_state(i()),e.deep_read_state(s)),()=>{e.get(f)&&e.get(f).update(c(Object.assign({rows:l(),defaultHeaders:i()},s)))}),e.legacy_pre_effect_reset();var m={getAPI:g};e.init();var b=u();return e.bind_this(b,t=>e.set(p,t),()=>e.get(p)),e.append(t,b),e.bind_prop(a,"getAPI",g),e.pop(m)}export{p as SimpleTable};
2
2
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/SimpleTable.svelte"],"sourcesContent":["<script lang=\"ts\">\n import { onMount, onDestroy } from \"svelte\";\n import { SimpleTableVanilla } from \"simple-table-core\";\n import type { TableAPI } from \"simple-table-core\";\n import { buildVanillaConfig } from \"./buildVanillaConfig\";\n import type { SimpleTableSvelteProps, TableInstance } from \"./types\";\n\n // SimpleTable — Svelte adapter for simple-table-core.\n // Accepts the same props as SimpleTableProps with Svelte component types for renderers.\n // Use bind:this={tableRef} to access the TableAPI: tableRef.getAPI()?.sort(...)\n\n type $$Props = SimpleTableSvelteProps;\n\n export let rows: $$Props[\"rows\"];\n export let defaultHeaders: $$Props[\"defaultHeaders\"];\n\n // All remaining optional props — spread via $$restProps\n let container: HTMLDivElement;\n let instance: TableInstance | null = null;\n\n onMount(() => {\n instance = new SimpleTableVanilla(\n container,\n buildVanillaConfig({ rows, defaultHeaders, ...$$restProps } as SimpleTableSvelteProps)\n ) as unknown as TableInstance;\n instance.mount();\n });\n\n onDestroy(() => {\n instance?.destroy();\n instance = null;\n });\n\n // Reactive update: re-run whenever any prop changes.\n $: if (instance) {\n instance.update(\n buildVanillaConfig({ rows, defaultHeaders, ...$$restProps } as SimpleTableSvelteProps)\n );\n }\n\n /** Expose the TableAPI for consumers using bind:this. */\n export function getAPI(): TableAPI | null {\n return instance?.getAPI() ?? null;\n }\n</script>\n\n<div bind:this={container}></div>\n"],"names":["div","root","$$value","$","set","container","get"],"mappings":"iwGA8CCA,EAAGC,uBAAHD,EAAGE,GAAAC,EAAAC,IAAYC,EAASH,GAAA,IAAAC,EAAAG,IAATD,eAAfL,qCAFO"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/SimpleTable.svelte"],"sourcesContent":["<script lang=\"ts\">\n import { onMount, onDestroy } from \"svelte\";\n import { SimpleTableVanilla } from \"simple-table-core\";\n import type { TableAPI } from \"simple-table-core\";\n import { buildVanillaConfig } from \"./buildVanillaConfig\";\n import type { SimpleTableSvelteProps, TableInstance } from \"./types\";\n\n // SimpleTable — Svelte adapter for simple-table-core.\n // Accepts the same props as SimpleTableProps with Svelte component types for renderers.\n // Use bind:this={tableRef} to access the TableAPI: tableRef.getAPI()?.sort(...)\n\n type $$Props = SimpleTableSvelteProps;\n\n export let rows: $$Props[\"rows\"];\n export let defaultHeaders: $$Props[\"defaultHeaders\"];\n\n // All remaining optional props — spread via $$restProps\n let container: HTMLDivElement;\n let instance: TableInstance | null = null;\n\n onMount(() => {\n instance = new SimpleTableVanilla(\n container,\n buildVanillaConfig({ rows, defaultHeaders, ...$$restProps } as SimpleTableSvelteProps)\n ) as unknown as TableInstance;\n instance.mount();\n });\n\n onDestroy(() => {\n instance?.destroy();\n instance = null;\n });\n\n // Reactive update: re-run whenever any prop changes.\n $: if (instance) {\n instance.update(\n buildVanillaConfig({ rows, defaultHeaders, ...$$restProps } as SimpleTableSvelteProps)\n );\n }\n\n /** Expose the TableAPI for consumers using bind:this. */\n export function getAPI(): TableAPI | null {\n return instance?.getAPI() ?? null;\n }\n</script>\n\n<div bind:this={container}></div>\n"],"names":["div","root","$$value","$","set","container","get"],"mappings":"w4HA8CCA,EAAGC,uBAAHD,EAAGE,GAAAC,EAAAC,IAAYC,EAASH,GAAA,IAAAC,EAAAG,IAATD,eAAfL,qCAFO"}
@@ -1,5 +1,4 @@
1
1
  export { default as SimpleTable } from "./SimpleTable.svelte";
2
2
  export { asRows } from "simple-table-core";
3
- export { defaultHeaderFromCore, defaultHeadersFromCore, mapToSvelteHeaderObjects, } from "./defaultHeadersFromCore";
4
3
  export type { SimpleTableSvelteProps, TableInstance, SvelteHeaderObject, SvelteIconsConfig, SvelteIconElement, SvelteColumnEditorConfig, SvelteCellRenderer, SvelteHeaderRenderer, SvelteFooterRenderer, SvelteHeaderDropdown, SvelteColumnEditorRowRenderer, SvelteColumnEditorCustomRenderer, SvelteLoadingStateRenderer, SvelteErrorStateRenderer, SvelteEmptyStateRenderer, } from "./types";
5
4
  export type { Accessor, AggregationConfig, AggregationType, BoundingBox, Cell, CellChangeProps, CellClickProps, CellRenderer, CellRendererProps, CellValue, ChartOptions, ColumnEditorConfig, ColumnEditorRowRenderer, ColumnEditorRowRendererComponents, ColumnEditorCustomRenderer, ColumnEditorCustomRendererProps, ColumnEditorRowRendererProps, ColumnEditorSearchFunction, ColumnType, ColumnVisibilityState, Comparator, ComparatorProps, CustomTheme, CustomThemeProps, DragHandlerProps, EmptyStateRenderer, EmptyStateRendererProps, EnumOption, ErrorStateRenderer, ErrorStateRendererProps, ExportToCSVProps, ExportValueGetter, ExportValueProps, FilterCondition, FooterRendererProps, GetRowId, GetRowIdParams, HeaderDropdown, HeaderDropdownProps, HeaderObject, HeaderRenderer, HeaderRendererComponents, HeaderRendererProps, IconsConfig, LoadingStateRenderer, LoadingStateRendererProps, OnRowGroupExpandProps, OnSortProps, QuickFilterConfig, QuickFilterGetter, QuickFilterGetterProps, QuickFilterMode, Row, RowButtonProps, RowId, RowSelectionChangeProps, RowState, SetHeaderRenameProps, SharedTableProps, ShowWhen, SimpleTableConfig, SimpleTableProps, SortColumn, TableAPI, TableFilterState, TableHeaderProps, TableRowProps, Theme, UpdateDataProps, ValueFormatter, ValueFormatterProps, ValueGetter, ValueGetterProps, } from "simple-table-core";
@@ -35,8 +35,7 @@ export interface SvelteColumnEditorConfig extends Omit<ColumnEditorConfig, "rowR
35
35
  }
36
36
  /**
37
37
  * Column definition for `defaultHeaders`: core column metadata with Svelte-only
38
- * renderer fields. For trees from `simple-table-core`, use `defaultHeadersFromCore` /
39
- * `mapToSvelteHeaderObjects`.
38
+ * renderer fields. `defaultHeaders` also accepts plain `HeaderObject[]` from shared configs.
40
39
  */
41
40
  export interface SvelteHeaderObject extends Omit<HeaderObject, "cellRenderer" | "headerRenderer" | "children" | "nestedTable"> {
42
41
  cellRenderer?: SvelteCellRenderer;
@@ -44,15 +43,20 @@ export interface SvelteHeaderObject extends Omit<HeaderObject, "cellRenderer" |
44
43
  children?: SvelteHeaderObject[];
45
44
  nestedTable?: Omit<SimpleTableSvelteProps, "rows" | "loadingStateRenderer" | "errorStateRenderer" | "emptyStateRenderer" | "tableEmptyStateRenderer">;
46
45
  }
47
- export interface SimpleTableSvelteProps extends Omit<SimpleTableProps, "rows" | "defaultHeaders" | "footerRenderer" | "emptyStateRenderer" | "errorStateRenderer" | "loadingStateRenderer" | "tableEmptyStateRenderer" | "headerDropdown" | "columnEditorConfig" | "icons"> {
48
- defaultHeaders: SvelteHeaderObject[];
46
+ export interface SimpleTableSvelteProps extends Omit<SimpleTableProps, "rows" | "defaultHeaders" | "footerRenderer" | "emptyStateRenderer" | "errorStateRenderer" | "loadingStateRenderer" | "tableEmptyStateRenderer" | "headerDropdown" | "columnEditorConfig" | "icons" | "onColumnOrderChange" | "onColumnWidthChange" | "onHeaderEdit" | "onColumnSelect"> {
47
+ defaultHeaders: ReadonlyArray<HeaderObject | SvelteHeaderObject>;
49
48
  /** Row data: domain objects or core `Row[]`; cast inside the adapter. */
50
49
  rows: ReadonlyArray<Row> | ReadonlyArray<object>;
50
+ onColumnOrderChange?: (newHeaders: SvelteHeaderObject[]) => void;
51
+ onColumnWidthChange?: (headers: SvelteHeaderObject[]) => void;
52
+ onHeaderEdit?: (header: SvelteHeaderObject, newLabel: string) => void;
53
+ onColumnSelect?: (header: SvelteHeaderObject) => void;
51
54
  footerRenderer?: SvelteFooterRenderer;
52
55
  loadingStateRenderer?: SvelteLoadingStateRenderer;
53
56
  errorStateRenderer?: SvelteErrorStateRenderer;
54
57
  emptyStateRenderer?: SvelteEmptyStateRenderer;
55
- tableEmptyStateRenderer?: HTMLElement | string | null;
58
+ /** Svelte component (no props) or plain markup — adapter mounts components for the vanilla table slot. */
59
+ tableEmptyStateRenderer?: Component | HTMLElement | string | null;
56
60
  headerDropdown?: SvelteHeaderDropdown;
57
61
  columnEditorConfig?: SvelteColumnEditorConfig;
58
62
  icons?: SvelteIconsConfig;
@@ -4,6 +4,8 @@ import type { Component } from "svelte";
4
4
  * matching the vanilla renderer contract expected by simple-table-core.
5
5
  */
6
6
  export declare function wrapSvelteRenderer<P extends Record<string, any>>(component: Component<P>): (props: P) => HTMLElement;
7
+ /** Mount a Svelte component into a div for vanilla-only slots (e.g. table empty state). */
8
+ export declare function wrapSvelteStatic(component: Component): HTMLElement;
7
9
  /**
8
10
  * Converts a rendered Svelte component to an HTML string.
9
11
  * Used for icon props where vanilla expects string | HTMLElement | SVGSVGElement.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simple-table/svelte",
3
- "version": "3.0.2",
3
+ "version": "3.0.5",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/index.es.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  "svelte": ">=4.0.0"
29
29
  },
30
30
  "dependencies": {
31
- "simple-table-core": "3.0.2"
31
+ "simple-table-core": "3.0.5"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@rollup/plugin-alias": "4.0.0",
@@ -1,5 +0,0 @@
1
- import type { HeaderObject } from "simple-table-core";
2
- import type { SvelteHeaderObject } from "./types";
3
- export declare function defaultHeaderFromCore(header: HeaderObject): SvelteHeaderObject;
4
- export declare function defaultHeadersFromCore(headers: readonly HeaderObject[]): SvelteHeaderObject[];
5
- export declare function mapToSvelteHeaderObjects(columns: readonly object[]): SvelteHeaderObject[];