@simple-table/solid 4.0.1 → 4.0.3

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 (193) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/index.es.js +1 -1
  3. package/dist/types/{solid/src/MountRegistry.d.ts → MountRegistry.d.ts} +15 -15
  4. package/dist/types/{solid/src/SimpleTable.d.ts → SimpleTable.d.ts} +19 -19
  5. package/dist/types/buildVanillaConfig.d.ts +6 -0
  6. package/dist/types/index.d.ts +5 -0
  7. package/dist/types/{solid/src/types.d.ts → types.d.ts} +77 -68
  8. package/dist/types/{solid/src/utils → utils}/wrapSolidRenderer.d.ts +28 -28
  9. package/package.json +13 -7
  10. package/styles.css.d.ts +1 -0
  11. package/dist/types/core/src/consts/column-constraints.d.ts +0 -58
  12. package/dist/types/core/src/consts/general-consts.d.ts +0 -32
  13. package/dist/types/core/src/core/SimpleTableVanilla.d.ts +0 -369
  14. package/dist/types/core/src/core/api/TableAPIImpl.d.ts +0 -78
  15. package/dist/types/core/src/core/dom/DOMManager.d.ts +0 -52
  16. package/dist/types/core/src/core/initialization/TableInitializer.d.ts +0 -34
  17. package/dist/types/core/src/core/rendering/RenderOrchestrator.d.ts +0 -172
  18. package/dist/types/core/src/core/rendering/SectionRenderer.d.ts +0 -119
  19. package/dist/types/core/src/core/rendering/TableRenderer.d.ts +0 -120
  20. package/dist/types/core/src/hooks/ariaAnnouncements.d.ts +0 -37
  21. package/dist/types/core/src/hooks/contentHeight.d.ts +0 -29
  22. package/dist/types/core/src/hooks/expandedDepths.d.ts +0 -69
  23. package/dist/types/core/src/hooks/handleOutsideClick.d.ts +0 -50
  24. package/dist/types/core/src/hooks/previousValue.d.ts +0 -30
  25. package/dist/types/core/src/hooks/scrollbarVisibility.d.ts +0 -65
  26. package/dist/types/core/src/hooks/scrollbarWidth.d.ts +0 -52
  27. package/dist/types/core/src/hooks/useAggregatedRows.d.ts +0 -14
  28. package/dist/types/core/src/hooks/useQuickFilter.d.ts +0 -14
  29. package/dist/types/core/src/hooks/windowResize.d.ts +0 -31
  30. package/dist/types/core/src/icons/AngleDownIcon.d.ts +0 -1
  31. package/dist/types/core/src/icons/AngleLeftIcon.d.ts +0 -1
  32. package/dist/types/core/src/icons/AngleRightIcon.d.ts +0 -1
  33. package/dist/types/core/src/icons/AngleUpIcon.d.ts +0 -1
  34. package/dist/types/core/src/icons/AscIcon.d.ts +0 -1
  35. package/dist/types/core/src/icons/CheckIcon.d.ts +0 -1
  36. package/dist/types/core/src/icons/DescIcon.d.ts +0 -1
  37. package/dist/types/core/src/icons/DragIcon.d.ts +0 -1
  38. package/dist/types/core/src/icons/FilterIcon.d.ts +0 -1
  39. package/dist/types/core/src/icons/SelectIcon.d.ts +0 -1
  40. package/dist/types/core/src/icons/index.d.ts +0 -14
  41. package/dist/types/core/src/index.d.ts +0 -58
  42. package/dist/types/core/src/managers/AnimationCoordinator.d.ts +0 -356
  43. package/dist/types/core/src/managers/AutoScaleManager.d.ts +0 -33
  44. package/dist/types/core/src/managers/DimensionManager.d.ts +0 -84
  45. package/dist/types/core/src/managers/DragHandlerManager.d.ts +0 -44
  46. package/dist/types/core/src/managers/FilterManager.d.ts +0 -36
  47. package/dist/types/core/src/managers/PivotManager.d.ts +0 -35
  48. package/dist/types/core/src/managers/RowManager.d.ts +0 -56
  49. package/dist/types/core/src/managers/RowSelectionManager.d.ts +0 -72
  50. package/dist/types/core/src/managers/ScrollManager.d.ts +0 -38
  51. package/dist/types/core/src/managers/SectionScrollController.d.ts +0 -74
  52. package/dist/types/core/src/managers/SelectionManager/SelectionManager.d.ts +0 -251
  53. package/dist/types/core/src/managers/SelectionManager/index.d.ts +0 -2
  54. package/dist/types/core/src/managers/SelectionManager/keyboardUtils.d.ts +0 -7
  55. package/dist/types/core/src/managers/SelectionManager/mouseUtils.d.ts +0 -16
  56. package/dist/types/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +0 -7
  57. package/dist/types/core/src/managers/SelectionManager/types.d.ts +0 -28
  58. package/dist/types/core/src/managers/SortManager.d.ts +0 -42
  59. package/dist/types/core/src/types/AggregationTypes.d.ts +0 -8
  60. package/dist/types/core/src/types/AnimationsConfig.d.ts +0 -16
  61. package/dist/types/core/src/types/BoundingBox.d.ts +0 -11
  62. package/dist/types/core/src/types/Cell.d.ts +0 -7
  63. package/dist/types/core/src/types/CellChangeProps.d.ts +0 -9
  64. package/dist/types/core/src/types/CellClickProps.d.ts +0 -11
  65. package/dist/types/core/src/types/CellRendererProps.d.ts +0 -32
  66. package/dist/types/core/src/types/CellValue.d.ts +0 -2
  67. package/dist/types/core/src/types/ColumnEditorConfig.d.ts +0 -42
  68. package/dist/types/core/src/types/ColumnEditorCustomRendererProps.d.ts +0 -14
  69. package/dist/types/core/src/types/ColumnEditorRowRendererProps.d.ts +0 -39
  70. package/dist/types/core/src/types/ColumnVisibilityTypes.d.ts +0 -4
  71. package/dist/types/core/src/types/CustomTheme.d.ts +0 -28
  72. package/dist/types/core/src/types/DragHandlerProps.d.ts +0 -14
  73. package/dist/types/core/src/types/EnumOption.d.ts +0 -5
  74. package/dist/types/core/src/types/FilterTypes.d.ts +0 -31
  75. package/dist/types/core/src/types/FlattenedHeader.d.ts +0 -10
  76. package/dist/types/core/src/types/FooterPosition.d.ts +0 -3
  77. package/dist/types/core/src/types/FooterRendererProps.d.ts +0 -17
  78. package/dist/types/core/src/types/GenerateRowIdParams.d.ts +0 -11
  79. package/dist/types/core/src/types/GetRowId.d.ts +0 -16
  80. package/dist/types/core/src/types/HandleResizeStartProps.d.ts +0 -25
  81. package/dist/types/core/src/types/HeaderDropdownProps.d.ts +0 -14
  82. package/dist/types/core/src/types/HeaderObject.d.ts +0 -133
  83. package/dist/types/core/src/types/HeaderRendererProps.d.ts +0 -17
  84. package/dist/types/core/src/types/IconsConfig.d.ts +0 -19
  85. package/dist/types/core/src/types/OnNextPage.d.ts +0 -2
  86. package/dist/types/core/src/types/OnRowGroupExpandProps.d.ts +0 -16
  87. package/dist/types/core/src/types/OnSortProps.d.ts +0 -3
  88. package/dist/types/core/src/types/PanelSection.d.ts +0 -1
  89. package/dist/types/core/src/types/Pinned.d.ts +0 -1
  90. package/dist/types/core/src/types/PinnedSectionsState.d.ts +0 -6
  91. package/dist/types/core/src/types/PivotTypes.d.ts +0 -37
  92. package/dist/types/core/src/types/QuickFilterTypes.d.ts +0 -21
  93. package/dist/types/core/src/types/Row.d.ts +0 -3
  94. package/dist/types/core/src/types/RowButton.d.ts +0 -6
  95. package/dist/types/core/src/types/RowId.d.ts +0 -1
  96. package/dist/types/core/src/types/RowSelectionChangeProps.d.ts +0 -7
  97. package/dist/types/core/src/types/RowSelectionMode.d.ts +0 -8
  98. package/dist/types/core/src/types/RowState.d.ts +0 -12
  99. package/dist/types/core/src/types/RowStateRendererProps.d.ts +0 -18
  100. package/dist/types/core/src/types/SharedTableProps.d.ts +0 -24
  101. package/dist/types/core/src/types/SimpleTableConfig.d.ts +0 -124
  102. package/dist/types/core/src/types/SimpleTableProps.d.ts +0 -125
  103. package/dist/types/core/src/types/SortColumn.d.ts +0 -8
  104. package/dist/types/core/src/types/TableAPI.d.ts +0 -82
  105. package/dist/types/core/src/types/TableHeaderProps.d.ts +0 -17
  106. package/dist/types/core/src/types/TableRow.d.ts +0 -39
  107. package/dist/types/core/src/types/TableRowProps.d.ts +0 -29
  108. package/dist/types/core/src/types/Theme.d.ts +0 -2
  109. package/dist/types/core/src/types/UpdateCellProps.d.ts +0 -8
  110. package/dist/types/core/src/utils/accordionAnimation.d.ts +0 -25
  111. package/dist/types/core/src/utils/aggregationUtils.d.ts +0 -7
  112. package/dist/types/core/src/utils/ariaRowOwnership.d.ts +0 -37
  113. package/dist/types/core/src/utils/asRows.d.ts +0 -7
  114. package/dist/types/core/src/utils/bodyCell/cellLiveRef.d.ts +0 -9
  115. package/dist/types/core/src/utils/bodyCell/content.d.ts +0 -5
  116. package/dist/types/core/src/utils/bodyCell/editing.d.ts +0 -4
  117. package/dist/types/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +0 -2
  118. package/dist/types/core/src/utils/bodyCell/editors/datePicker.d.ts +0 -2
  119. package/dist/types/core/src/utils/bodyCell/editors/dropdown.d.ts +0 -18
  120. package/dist/types/core/src/utils/bodyCell/editors/enumDropdown.d.ts +0 -2
  121. package/dist/types/core/src/utils/bodyCell/eventTracking.d.ts +0 -3
  122. package/dist/types/core/src/utils/bodyCell/expansion.d.ts +0 -12
  123. package/dist/types/core/src/utils/bodyCell/selection.d.ts +0 -7
  124. package/dist/types/core/src/utils/bodyCell/styling.d.ts +0 -11
  125. package/dist/types/core/src/utils/bodyCell/types.d.ts +0 -170
  126. package/dist/types/core/src/utils/bodyCellRenderer.d.ts +0 -6
  127. package/dist/types/core/src/utils/cellClipboardUtils.d.ts +0 -25
  128. package/dist/types/core/src/utils/cellScrollUtils.d.ts +0 -10
  129. package/dist/types/core/src/utils/cellUtils.d.ts +0 -18
  130. package/dist/types/core/src/utils/charts/createBarChart.d.ts +0 -20
  131. package/dist/types/core/src/utils/charts/createLineAreaChart.d.ts +0 -25
  132. package/dist/types/core/src/utils/collapseUtils.d.ts +0 -31
  133. package/dist/types/core/src/utils/columnEditor/columnEditorUtils.d.ts +0 -27
  134. package/dist/types/core/src/utils/columnEditor/createCheckbox.d.ts +0 -21
  135. package/dist/types/core/src/utils/columnEditor/createColumnEditor.d.ts +0 -26
  136. package/dist/types/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +0 -23
  137. package/dist/types/core/src/utils/columnEditor/createColumnEditorRow.d.ts +0 -41
  138. package/dist/types/core/src/utils/csvExportUtils.d.ts +0 -14
  139. package/dist/types/core/src/utils/dateUtils.d.ts +0 -18
  140. package/dist/types/core/src/utils/externalScroll.d.ts +0 -58
  141. package/dist/types/core/src/utils/filterUtils.d.ts +0 -5
  142. package/dist/types/core/src/utils/filters/createBooleanFilter.d.ts +0 -15
  143. package/dist/types/core/src/utils/filters/createCustomSelect.d.ts +0 -20
  144. package/dist/types/core/src/utils/filters/createDateFilter.d.ts +0 -15
  145. package/dist/types/core/src/utils/filters/createDatePicker.d.ts +0 -10
  146. package/dist/types/core/src/utils/filters/createDropdown.d.ts +0 -33
  147. package/dist/types/core/src/utils/filters/createEnumFilter.d.ts +0 -15
  148. package/dist/types/core/src/utils/filters/createFilterActions.d.ts +0 -12
  149. package/dist/types/core/src/utils/filters/createFilterDropdown.d.ts +0 -15
  150. package/dist/types/core/src/utils/filters/createFilterInput.d.ts +0 -16
  151. package/dist/types/core/src/utils/filters/createNumberFilter.d.ts +0 -15
  152. package/dist/types/core/src/utils/filters/createStringFilter.d.ts +0 -15
  153. package/dist/types/core/src/utils/footer/createTableFooter.d.ts +0 -21
  154. package/dist/types/core/src/utils/formatters.d.ts +0 -3
  155. package/dist/types/core/src/utils/generalUtils.d.ts +0 -4
  156. package/dist/types/core/src/utils/headerCell/collapsing.d.ts +0 -6
  157. package/dist/types/core/src/utils/headerCell/dragging.d.ts +0 -5
  158. package/dist/types/core/src/utils/headerCell/editing.d.ts +0 -4
  159. package/dist/types/core/src/utils/headerCell/eventTracking.d.ts +0 -28
  160. package/dist/types/core/src/utils/headerCell/filtering.d.ts +0 -3
  161. package/dist/types/core/src/utils/headerCell/resizing.d.ts +0 -3
  162. package/dist/types/core/src/utils/headerCell/selection.d.ts +0 -10
  163. package/dist/types/core/src/utils/headerCell/sorting.d.ts +0 -3
  164. package/dist/types/core/src/utils/headerCell/styling.d.ts +0 -7
  165. package/dist/types/core/src/utils/headerCell/types.d.ts +0 -110
  166. package/dist/types/core/src/utils/headerCellRenderer.d.ts +0 -4
  167. package/dist/types/core/src/utils/headerUtils.d.ts +0 -41
  168. package/dist/types/core/src/utils/headerWidthUtils.d.ts +0 -121
  169. package/dist/types/core/src/utils/horizontalScrollbarRenderer.d.ts +0 -27
  170. package/dist/types/core/src/utils/infiniteScrollUtils.d.ts +0 -145
  171. package/dist/types/core/src/utils/loadingPlaceholderUtils.d.ts +0 -11
  172. package/dist/types/core/src/utils/nestedGridRowRenderer.d.ts +0 -50
  173. package/dist/types/core/src/utils/pinnedColumnUtils.d.ts +0 -29
  174. package/dist/types/core/src/utils/pivot/pivotRows.d.ts +0 -16
  175. package/dist/types/core/src/utils/propSyncEqual.d.ts +0 -60
  176. package/dist/types/core/src/utils/quickFilterUtils.d.ts +0 -14
  177. package/dist/types/core/src/utils/resizeUtils/autoExpandResize.d.ts +0 -32
  178. package/dist/types/core/src/utils/resizeUtils/compensation.d.ts +0 -17
  179. package/dist/types/core/src/utils/resizeUtils/domUpdates.d.ts +0 -15
  180. package/dist/types/core/src/utils/resizeUtils/index.d.ts +0 -26
  181. package/dist/types/core/src/utils/resizeUtils/maxWidth.d.ts +0 -9
  182. package/dist/types/core/src/utils/resizeUtils/parentHeaderResize.d.ts +0 -11
  183. package/dist/types/core/src/utils/resizeUtils/sectionWidths.d.ts +0 -36
  184. package/dist/types/core/src/utils/rowFlattening.d.ts +0 -30
  185. package/dist/types/core/src/utils/rowProcessing.d.ts +0 -65
  186. package/dist/types/core/src/utils/rowSelectionUtils.d.ts +0 -62
  187. package/dist/types/core/src/utils/rowSeparatorRenderer.d.ts +0 -16
  188. package/dist/types/core/src/utils/rowUtils.d.ts +0 -187
  189. package/dist/types/core/src/utils/sortUtils.d.ts +0 -8
  190. package/dist/types/core/src/utils/stateRowRenderer.d.ts +0 -15
  191. package/dist/types/core/src/utils/stickyParentsRenderer.d.ts +0 -53
  192. package/dist/types/solid/src/buildVanillaConfig.d.ts +0 -4
  193. package/dist/types/solid/src/index.d.ts +0 -5
package/dist/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("solid-js/web"),r=require("solid-js"),t=require("simple-table-core");function n(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)r.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(t[n[o]]=e[n[o]])}return t}function o(r,t){return n=>{const o=document.createElement("div"),s=e.render(()=>e.createComponent(t,n),o);return r.register(o,s),o}}function s(r,t,n,o){const s="cell"===n?r.cellRendererCache:r.headerRendererCache,c=s.get(t);if(c)return c.component=o,c.wrapped;const i={component:o,wrapped:null},d=t=>{const n=document.createElement("div"),o=e.render(()=>e.createComponent(i.component,t),n);return r.register(n,o),n};return i.wrapped=d,s.set(t,i),d}function c(r,t){const n=document.createElement("div"),o=e.render(()=>t,n);return r.register(n,o),n}function i(r){const t=document.createElement("div"),n=e.render(()=>r,t),o=t.innerHTML;return n(),o}function d(e){return"function"==typeof e}function a(e,r){const{cellRenderer:t,headerRenderer:o,children:c,nestedTable:i}=e,d=n(e,["cellRenderer","headerRenderer","children","nestedTable"]),u=String(e.accessor),f=Object.assign({},d);if(t&&(f.cellRenderer=s(r,u,"cell",t)),o&&(f.headerRenderer=s(r,u,"header",o)),c&&(f.children=c.map(e=>a(e,r))),i){const e=Object.assign(Object.assign({},i),{rows:[]});f.nestedTable=l(e,r)}return f}function l(e,r){const{defaultHeaders:s,rows:l,footerRenderer:u,emptyStateRenderer:f,errorStateRenderer:p,loadingStateRenderer:h,tableEmptyStateRenderer:m,headerDropdown:b,columnEditorConfig:R,icons:g,rowButtons:O,onColumnOrderChange:C,onColumnWidthChange:w,onHeaderEdit:y,onColumnSelect:S}=e,E=n(e,["defaultHeaders","rows","footerRenderer","emptyStateRenderer","errorStateRenderer","loadingStateRenderer","tableEmptyStateRenderer","headerDropdown","columnEditorConfig","icons","rowButtons","ref","onColumnOrderChange","onColumnWidthChange","onHeaderEdit","onColumnSelect"]);r.pruneRendererCaches(t.collectHeaderAccessors(s));const v=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},E),{rows:l,defaultHeaders:s.map(e=>a(e,r)),onRendererHostDiscard:r.disposeHost}),C?{onColumnOrderChange:e=>C(e)}:{}),w?{onColumnWidthChange:e=>w(e)}:{}),y?{onHeaderEdit:(e,r)=>y(e,r)}:{}),S?{onColumnSelect:e=>S(e)}:{});if(void 0!==u&&(v.footerRenderer=o(r,u)),void 0!==f)if(d(f))v.emptyStateRenderer=o(r,f);else{const e=f;v.emptyStateRenderer=()=>c(r,e)}if(void 0!==p)if(d(p))v.errorStateRenderer=o(r,p);else{const e=p;v.errorStateRenderer=()=>c(r,e)}if(void 0!==h)if(d(h))v.loadingStateRenderer=o(r,h);else{const e=h;v.loadingStateRenderer=()=>c(r,e)}return void 0!==m&&(v.tableEmptyStateRenderer=null===m?null:c(r,m)),void 0!==b&&(v.headerDropdown=o(r,b)),void 0!==R&&(v.columnEditorConfig=function(e,r){const{rowRenderer:t,customRenderer:s}=e,c=n(e,["rowRenderer","customRenderer"]);return Object.assign(Object.assign(Object.assign({},c),t?{rowRenderer:o(r,t)}:{}),s?{customRenderer:o(r,s)}:{})}(R,r)),void 0!==g&&(v.icons=function(e){const r={};for(const[t,n]of Object.entries(e))null!=n&&(r[t]="string"==typeof n||n instanceof HTMLElement||n instanceof SVGElement?n:i(n));return r}(g)),void 0!==O&&(v.rowButtons=O.map(e=>o(r,e))),v}"function"==typeof SuppressedError&&SuppressedError;const u="data-st-mount-id";class f{constructor(){this.entries=new Map,this.nextId=0,this.cellRendererCache=new Map,this.headerRendererCache=new Map,this.disposeHost=e=>{if("function"!=typeof e.getAttribute)return;const r=[],t=e.getAttribute(u);null!==t&&r.push(t),e.querySelectorAll(`[${u}]`).forEach(e=>{const t=e.getAttribute(u);null!==t&&r.push(t)});for(const e of r){const r=this.entries.get(e);r&&(this.entries.delete(e),r())}}}register(e,r){const t="st-mount-"+this.nextId++;e.setAttribute(u,t),this.entries.set(t,r)}clear(){this.cellRendererCache.clear(),this.headerRendererCache.clear();for(const e of this.entries.values())e();this.entries.clear()}pruneRendererCaches(e){for(const r of this.cellRendererCache.keys())e.has(r)||this.cellRendererCache.delete(r);for(const r of this.headerRendererCache.keys())e.has(r)||this.headerRendererCache.delete(r)}get size(){return this.entries.size}}var p=e.template("<div>");Object.defineProperty(exports,"PIVOT_ACCESSOR_PREFIX",{enumerable:!0,get:function(){return t.PIVOT_ACCESSOR_PREFIX}}),Object.defineProperty(exports,"PIVOT_BLANK_LABEL",{enumerable:!0,get:function(){return t.PIVOT_BLANK_LABEL}}),Object.defineProperty(exports,"PIVOT_CHILDREN_KEY",{enumerable:!0,get:function(){return t.PIVOT_CHILDREN_KEY}}),Object.defineProperty(exports,"PIVOT_IS_TOTAL_KEY",{enumerable:!0,get:function(){return t.PIVOT_IS_TOTAL_KEY}}),Object.defineProperty(exports,"asRows",{enumerable:!0,get:function(){return t.asRows}}),Object.defineProperty(exports,"buildPivotAccessor",{enumerable:!0,get:function(){return t.buildPivotAccessor}}),Object.defineProperty(exports,"buildPivotRowTotalAccessor",{enumerable:!0,get:function(){return t.buildPivotRowTotalAccessor}}),Object.defineProperty(exports,"pivotRows",{enumerable:!0,get:function(){return t.pivotRows}}),exports.SimpleTable=function(n){let o,s=null;const c=new f;let i,d;return r.onMount(()=>{s=new t.SimpleTableVanilla(o,l(n,c)),s.mount(),i=n.defaultHeaders,d=n.rows,n.ref&&n.ref(s.getAPI())}),r.createEffect(()=>{if(!s)return;const e=l(n,c),r=Object.assign({},e),o=t.headersStructurallyEqual(i,n.defaultHeaders);i=n.defaultHeaders,o&&delete r.defaultHeaders;const a=t.rowsShallowUnchanged(d,n.rows,n.getRowId);d=n.rows,a&&delete r.rows,s.update(r)}),r.onCleanup(()=>{null==s||s.destroy(),s=null,i=void 0,d=void 0,c.clear()}),a=p(),"function"==typeof o?e.use(o,a):o=a,a;var a};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("solid-js/web"),n=require("solid-js"),r=require("simple-table-core");function t(e,n){var r={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(r[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(t=Object.getOwnPropertySymbols(e);o<t.length;o++)n.indexOf(t[o])<0&&Object.prototype.propertyIsEnumerable.call(e,t[o])&&(r[t[o]]=e[t[o]])}return r}function o(n,r){return t=>{const o=document.createElement("div"),d=e.render(()=>e.createComponent(r,t),o);return n.register(o,d),o}}function d(n,r,t,o){const d="cell"===t?n.cellRendererCache:n.headerRendererCache,s=d.get(r);if(s)return s.component=o,s.wrapped;const i={component:o,wrapped:null},a=r=>{const t=document.createElement("div"),o=e.render(()=>e.createComponent(i.component,r),t);return n.register(t,o),t};return i.wrapped=a,d.set(r,i),a}function s(n,r){const t=document.createElement("div"),o=e.render(()=>r,t);return n.register(t,o),t}function i(n){const r=document.createElement("div"),t=e.render(()=>n,r),o=r.innerHTML;return t(),o}function a(e){return"function"==typeof e}function l(e,n){const{cellRenderer:r,headerRenderer:o,children:s,nestedTable:i}=e,a=t(e,["cellRenderer","headerRenderer","children","nestedTable"]),c=String(e.accessor),f=Object.assign({},a);if(r&&(f.cellRenderer=d(n,c,"cell",r)),o&&(f.headerRenderer=d(n,c,"header",o)),s&&(f.children=s.map(e=>l(e,n))),i){const e=Object.assign(Object.assign({},i),{rows:[]});f.nestedTable=u(e,n)}return f}function c(e){var n;const r=null!==(n=e.columns)&&void 0!==n?n:e.defaultHeaders;if(!r)throw new Error("SimpleTable requires `columns` or `defaultHeaders`");return r}function u(e,n){const{rows:d,footerRenderer:u,emptyStateRenderer:f,errorStateRenderer:p,loadingStateRenderer:m,tableEmptyStateRenderer:g,headerDropdown:R,columnEditorConfig:h,icons:b,rowButtons:O,onColumnOrderChange:C,onColumnWidthChange:w,onHeaderEdit:E,onColumnSelect:v,enableColumnEditor:y,editColumns:S,enableColumnEditorInitOpen:P,editColumnsInitOpen:j,enablePagination:I,shouldPaginate:T,onTableReady:B,onGridReady:_,hoverRowBackground:A,useHoverRowBackground:H,oddColumnBackground:k,useOddColumnBackground:x,oddEvenRowBackground:L,useOddEvenRowBackground:V}=e,M=t(e,["defaultHeaders","columns","rows","footerRenderer","emptyStateRenderer","errorStateRenderer","loadingStateRenderer","tableEmptyStateRenderer","headerDropdown","columnEditorConfig","icons","rowButtons","ref","onColumnOrderChange","onColumnWidthChange","onHeaderEdit","onColumnSelect","enableColumnEditor","editColumns","enableColumnEditorInitOpen","editColumnsInitOpen","enablePagination","shouldPaginate","onTableReady","onGridReady","hoverRowBackground","useHoverRowBackground","oddColumnBackground","useOddColumnBackground","oddEvenRowBackground","useOddEvenRowBackground"]),q=c(e);n.pruneRendererCaches(r.collectHeaderAccessors(q));const D=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},M),{rows:d,defaultHeaders:q.map(e=>l(e,n)),editColumns:null!=y?y:S,editColumnsInitOpen:null!=P?P:j,shouldPaginate:null!=I?I:T,onGridReady:null!=B?B:_,useHoverRowBackground:null!=A?A:H,useOddColumnBackground:null!=k?k:x,useOddEvenRowBackground:null!=L?L:V,onRendererHostDiscard:n.disposeHost}),C?{onColumnOrderChange:e=>C(e)}:{}),w?{onColumnWidthChange:e=>w(e)}:{}),E?{onHeaderEdit:(e,n)=>E(e,n)}:{}),v?{onColumnSelect:e=>v(e)}:{});if(void 0!==u&&(D.footerRenderer=o(n,u)),void 0!==f)if(a(f))D.emptyStateRenderer=o(n,f);else{const e=f;D.emptyStateRenderer=()=>s(n,e)}if(void 0!==p)if(a(p))D.errorStateRenderer=o(n,p);else{const e=p;D.errorStateRenderer=()=>s(n,e)}if(void 0!==m)if(a(m))D.loadingStateRenderer=o(n,m);else{const e=m;D.loadingStateRenderer=()=>s(n,e)}return void 0!==g&&(D.tableEmptyStateRenderer=null===g?null:s(n,g)),void 0!==R&&(D.headerDropdown=o(n,R)),void 0!==h&&(D.columnEditorConfig=function(e,n){const{rowRenderer:r,customRenderer:d}=e,s=t(e,["rowRenderer","customRenderer"]);return Object.assign(Object.assign(Object.assign({},s),r?{rowRenderer:o(n,r)}:{}),d?{customRenderer:o(n,d)}:{})}(h,n)),void 0!==b&&(D.icons=function(e){const n={};for(const[r,t]of Object.entries(e))null!=t&&(n[r]="string"==typeof t||t instanceof HTMLElement||t instanceof SVGElement?t:i(t));return n}(b)),void 0!==O&&(D.rowButtons=O.map(e=>o(n,e))),D}"function"==typeof SuppressedError&&SuppressedError;const f="data-st-mount-id";class p{constructor(){this.entries=new Map,this.nextId=0,this.cellRendererCache=new Map,this.headerRendererCache=new Map,this.disposeHost=e=>{if("function"!=typeof e.getAttribute)return;const n=[],r=e.getAttribute(f);null!==r&&n.push(r),e.querySelectorAll(`[${f}]`).forEach(e=>{const r=e.getAttribute(f);null!==r&&n.push(r)});for(const e of n){const n=this.entries.get(e);n&&(this.entries.delete(e),n())}}}register(e,n){const r="st-mount-"+this.nextId++;e.setAttribute(f,r),this.entries.set(r,n)}clear(){this.cellRendererCache.clear(),this.headerRendererCache.clear();for(const e of this.entries.values())e();this.entries.clear()}pruneRendererCaches(e){for(const n of this.cellRendererCache.keys())e.has(n)||this.cellRendererCache.delete(n);for(const n of this.headerRendererCache.keys())e.has(n)||this.headerRendererCache.delete(n)}get size(){return this.entries.size}}var m=e.template("<div>");Object.defineProperty(exports,"PIVOT_ACCESSOR_PREFIX",{enumerable:!0,get:function(){return r.PIVOT_ACCESSOR_PREFIX}}),Object.defineProperty(exports,"PIVOT_BLANK_LABEL",{enumerable:!0,get:function(){return r.PIVOT_BLANK_LABEL}}),Object.defineProperty(exports,"PIVOT_CHILDREN_KEY",{enumerable:!0,get:function(){return r.PIVOT_CHILDREN_KEY}}),Object.defineProperty(exports,"PIVOT_IS_TOTAL_KEY",{enumerable:!0,get:function(){return r.PIVOT_IS_TOTAL_KEY}}),Object.defineProperty(exports,"asRows",{enumerable:!0,get:function(){return r.asRows}}),Object.defineProperty(exports,"buildPivotAccessor",{enumerable:!0,get:function(){return r.buildPivotAccessor}}),Object.defineProperty(exports,"buildPivotRowTotalAccessor",{enumerable:!0,get:function(){return r.buildPivotRowTotalAccessor}}),Object.defineProperty(exports,"pivotRows",{enumerable:!0,get:function(){return r.pivotRows}}),exports.SimpleTable=function(t){let o,d=null;const s=new p;let i,a;return n.onMount(()=>{d=new r.SimpleTableVanilla(o,u(t,s)),d.mount(),i=c(t),a=t.rows,t.ref&&t.ref(d.getAPI())}),n.createEffect(()=>{if(!d)return;const e=u(t,s),n=Object.assign({},e),o=c(t),l=r.headersStructurallyEqual(i,o);i=o,l&&delete n.defaultHeaders;const f=r.rowsShallowUnchanged(a,t.rows,t.getRowId);a=t.rows,f&&delete n.rows,d.update(n)}),n.onCleanup(()=>{null==d||d.destroy(),d=null,i=void 0,a=void 0,s.clear()}),l=m(),"function"==typeof o?e.use(o,l):o=l,l;var l};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.es.js CHANGED
@@ -1,2 +1,2 @@
1
- import{render as e,createComponent as r,use as t,template as n}from"solid-js/web";import{onMount as o,createEffect as s,onCleanup as d}from"solid-js";import{collectHeaderAccessors as i,SimpleTableVanilla as c,headersStructurallyEqual as a,rowsShallowUnchanged as l}from"simple-table-core";export{PIVOT_ACCESSOR_PREFIX,PIVOT_BLANK_LABEL,PIVOT_CHILDREN_KEY,PIVOT_IS_TOTAL_KEY,asRows,buildPivotAccessor,buildPivotRowTotalAccessor,pivotRows}from"simple-table-core";function u(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)r.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(t[n[o]]=e[n[o]])}return t}function f(t,n){return o=>{const s=document.createElement("div"),d=e(()=>r(n,o),s);return t.register(s,d),s}}function h(t,n,o,s){const d="cell"===o?t.cellRendererCache:t.headerRendererCache,i=d.get(n);if(i)return i.component=s,i.wrapped;const c={component:s,wrapped:null},a=n=>{const o=document.createElement("div"),s=e(()=>r(c.component,n),o);return t.register(o,s),o};return c.wrapped=a,d.set(n,c),a}function p(r,t){const n=document.createElement("div"),o=e(()=>t,n);return r.register(n,o),n}function m(r){const t=document.createElement("div"),n=e(()=>r,t),o=t.innerHTML;return n(),o}function R(e){return"function"==typeof e}function g(e,r){const{cellRenderer:t,headerRenderer:n,children:o,nestedTable:s}=e,d=u(e,["cellRenderer","headerRenderer","children","nestedTable"]),i=String(e.accessor),c=Object.assign({},d);if(t&&(c.cellRenderer=h(r,i,"cell",t)),n&&(c.headerRenderer=h(r,i,"header",n)),o&&(c.children=o.map(e=>g(e,r))),s){const e=Object.assign(Object.assign({},s),{rows:[]});c.nestedTable=b(e,r)}return c}function b(e,r){const{defaultHeaders:t,rows:n,footerRenderer:o,emptyStateRenderer:s,errorStateRenderer:d,loadingStateRenderer:c,tableEmptyStateRenderer:a,headerDropdown:l,columnEditorConfig:h,icons:b,rowButtons:w,onColumnOrderChange:C,onColumnWidthChange:O,onHeaderEdit:S,onColumnSelect:v}=e,y=u(e,["defaultHeaders","rows","footerRenderer","emptyStateRenderer","errorStateRenderer","loadingStateRenderer","tableEmptyStateRenderer","headerDropdown","columnEditorConfig","icons","rowButtons","ref","onColumnOrderChange","onColumnWidthChange","onHeaderEdit","onColumnSelect"]);r.pruneRendererCaches(i(t));const E=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},y),{rows:n,defaultHeaders:t.map(e=>g(e,r)),onRendererHostDiscard:r.disposeHost}),C?{onColumnOrderChange:e=>C(e)}:{}),O?{onColumnWidthChange:e=>O(e)}:{}),S?{onHeaderEdit:(e,r)=>S(e,r)}:{}),v?{onColumnSelect:e=>v(e)}:{});if(void 0!==o&&(E.footerRenderer=f(r,o)),void 0!==s)if(R(s))E.emptyStateRenderer=f(r,s);else{const e=s;E.emptyStateRenderer=()=>p(r,e)}if(void 0!==d)if(R(d))E.errorStateRenderer=f(r,d);else{const e=d;E.errorStateRenderer=()=>p(r,e)}if(void 0!==c)if(R(c))E.loadingStateRenderer=f(r,c);else{const e=c;E.loadingStateRenderer=()=>p(r,e)}return void 0!==a&&(E.tableEmptyStateRenderer=null===a?null:p(r,a)),void 0!==l&&(E.headerDropdown=f(r,l)),void 0!==h&&(E.columnEditorConfig=function(e,r){const{rowRenderer:t,customRenderer:n}=e,o=u(e,["rowRenderer","customRenderer"]);return Object.assign(Object.assign(Object.assign({},o),t?{rowRenderer:f(r,t)}:{}),n?{customRenderer:f(r,n)}:{})}(h,r)),void 0!==b&&(E.icons=function(e){const r={};for(const[t,n]of Object.entries(e))null!=n&&(r[t]="string"==typeof n||n instanceof HTMLElement||n instanceof SVGElement?n:m(n));return r}(b)),void 0!==w&&(E.rowButtons=w.map(e=>f(r,e))),E}"function"==typeof SuppressedError&&SuppressedError;const w="data-st-mount-id";class C{constructor(){this.entries=new Map,this.nextId=0,this.cellRendererCache=new Map,this.headerRendererCache=new Map,this.disposeHost=e=>{if("function"!=typeof e.getAttribute)return;const r=[],t=e.getAttribute(w);null!==t&&r.push(t),e.querySelectorAll(`[${w}]`).forEach(e=>{const t=e.getAttribute(w);null!==t&&r.push(t)});for(const e of r){const r=this.entries.get(e);r&&(this.entries.delete(e),r())}}}register(e,r){const t="st-mount-"+this.nextId++;e.setAttribute(w,t),this.entries.set(t,r)}clear(){this.cellRendererCache.clear(),this.headerRendererCache.clear();for(const e of this.entries.values())e();this.entries.clear()}pruneRendererCaches(e){for(const r of this.cellRendererCache.keys())e.has(r)||this.cellRendererCache.delete(r);for(const r of this.headerRendererCache.keys())e.has(r)||this.headerRendererCache.delete(r)}get size(){return this.entries.size}}var O=n("<div>");function S(e){let r,n=null;const i=new C;let u,f;return o(()=>{n=new c(r,b(e,i)),n.mount(),u=e.defaultHeaders,f=e.rows,e.ref&&e.ref(n.getAPI())}),s(()=>{if(!n)return;const r=b(e,i),t=Object.assign({},r),o=a(u,e.defaultHeaders);u=e.defaultHeaders,o&&delete t.defaultHeaders;const s=l(f,e.rows,e.getRowId);f=e.rows,s&&delete t.rows,n.update(t)}),d(()=>{null==n||n.destroy(),n=null,u=void 0,f=void 0,i.clear()}),h=O(),"function"==typeof r?t(r,h):r=h,h;var h}export{S as SimpleTable};
1
+ import{render as e,createComponent as n,use as r,template as t}from"solid-js/web";import{onMount as o,createEffect as d,onCleanup as s}from"solid-js";import{collectHeaderAccessors as i,SimpleTableVanilla as a,headersStructurallyEqual as l,rowsShallowUnchanged as c}from"simple-table-core";export{PIVOT_ACCESSOR_PREFIX,PIVOT_BLANK_LABEL,PIVOT_CHILDREN_KEY,PIVOT_IS_TOTAL_KEY,asRows,buildPivotAccessor,buildPivotRowTotalAccessor,pivotRows}from"simple-table-core";function u(e,n){var r={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(r[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(t=Object.getOwnPropertySymbols(e);o<t.length;o++)n.indexOf(t[o])<0&&Object.prototype.propertyIsEnumerable.call(e,t[o])&&(r[t[o]]=e[t[o]])}return r}function m(r,t){return o=>{const d=document.createElement("div"),s=e(()=>n(t,o),d);return r.register(d,s),d}}function f(r,t,o,d){const s="cell"===o?r.cellRendererCache:r.headerRendererCache,i=s.get(t);if(i)return i.component=d,i.wrapped;const a={component:d,wrapped:null},l=t=>{const o=document.createElement("div"),d=e(()=>n(a.component,t),o);return r.register(o,d),o};return a.wrapped=l,s.set(t,a),l}function h(n,r){const t=document.createElement("div"),o=e(()=>r,t);return n.register(t,o),t}function p(n){const r=document.createElement("div"),t=e(()=>n,r),o=r.innerHTML;return t(),o}function R(e){return"function"==typeof e}function g(e,n){const{cellRenderer:r,headerRenderer:t,children:o,nestedTable:d}=e,s=u(e,["cellRenderer","headerRenderer","children","nestedTable"]),i=String(e.accessor),a=Object.assign({},s);if(r&&(a.cellRenderer=f(n,i,"cell",r)),t&&(a.headerRenderer=f(n,i,"header",t)),o&&(a.children=o.map(e=>g(e,n))),d){const e=Object.assign(Object.assign({},d),{rows:[]});a.nestedTable=b(e,n)}return a}function C(e){var n;const r=null!==(n=e.columns)&&void 0!==n?n:e.defaultHeaders;if(!r)throw new Error("SimpleTable requires `columns` or `defaultHeaders`");return r}function b(e,n){const{rows:r,footerRenderer:t,emptyStateRenderer:o,errorStateRenderer:d,loadingStateRenderer:s,tableEmptyStateRenderer:a,headerDropdown:l,columnEditorConfig:c,icons:f,rowButtons:b,onColumnOrderChange:w,onColumnWidthChange:O,onHeaderEdit:v,onColumnSelect:E,enableColumnEditor:y,editColumns:S,enableColumnEditorInitOpen:j,editColumnsInitOpen:B,enablePagination:k,shouldPaginate:H,onTableReady:I,onGridReady:P,hoverRowBackground:T,useHoverRowBackground:A,oddColumnBackground:_,useOddColumnBackground:L,oddEvenRowBackground:x,useOddEvenRowBackground:D}=e,M=u(e,["defaultHeaders","columns","rows","footerRenderer","emptyStateRenderer","errorStateRenderer","loadingStateRenderer","tableEmptyStateRenderer","headerDropdown","columnEditorConfig","icons","rowButtons","ref","onColumnOrderChange","onColumnWidthChange","onHeaderEdit","onColumnSelect","enableColumnEditor","editColumns","enableColumnEditorInitOpen","editColumnsInitOpen","enablePagination","shouldPaginate","onTableReady","onGridReady","hoverRowBackground","useHoverRowBackground","oddColumnBackground","useOddColumnBackground","oddEvenRowBackground","useOddEvenRowBackground"]),V=C(e);n.pruneRendererCaches(i(V));const G=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},M),{rows:r,defaultHeaders:V.map(e=>g(e,n)),editColumns:null!=y?y:S,editColumnsInitOpen:null!=j?j:B,shouldPaginate:null!=k?k:H,onGridReady:null!=I?I:P,useHoverRowBackground:null!=T?T:A,useOddColumnBackground:null!=_?_:L,useOddEvenRowBackground:null!=x?x:D,onRendererHostDiscard:n.disposeHost}),w?{onColumnOrderChange:e=>w(e)}:{}),O?{onColumnWidthChange:e=>O(e)}:{}),v?{onHeaderEdit:(e,n)=>v(e,n)}:{}),E?{onColumnSelect:e=>E(e)}:{});if(void 0!==t&&(G.footerRenderer=m(n,t)),void 0!==o)if(R(o))G.emptyStateRenderer=m(n,o);else{const e=o;G.emptyStateRenderer=()=>h(n,e)}if(void 0!==d)if(R(d))G.errorStateRenderer=m(n,d);else{const e=d;G.errorStateRenderer=()=>h(n,e)}if(void 0!==s)if(R(s))G.loadingStateRenderer=m(n,s);else{const e=s;G.loadingStateRenderer=()=>h(n,e)}return void 0!==a&&(G.tableEmptyStateRenderer=null===a?null:h(n,a)),void 0!==l&&(G.headerDropdown=m(n,l)),void 0!==c&&(G.columnEditorConfig=function(e,n){const{rowRenderer:r,customRenderer:t}=e,o=u(e,["rowRenderer","customRenderer"]);return Object.assign(Object.assign(Object.assign({},o),r?{rowRenderer:m(n,r)}:{}),t?{customRenderer:m(n,t)}:{})}(c,n)),void 0!==f&&(G.icons=function(e){const n={};for(const[r,t]of Object.entries(e))null!=t&&(n[r]="string"==typeof t||t instanceof HTMLElement||t instanceof SVGElement?t:p(t));return n}(f)),void 0!==b&&(G.rowButtons=b.map(e=>m(n,e))),G}"function"==typeof SuppressedError&&SuppressedError;const w="data-st-mount-id";class O{constructor(){this.entries=new Map,this.nextId=0,this.cellRendererCache=new Map,this.headerRendererCache=new Map,this.disposeHost=e=>{if("function"!=typeof e.getAttribute)return;const n=[],r=e.getAttribute(w);null!==r&&n.push(r),e.querySelectorAll(`[${w}]`).forEach(e=>{const r=e.getAttribute(w);null!==r&&n.push(r)});for(const e of n){const n=this.entries.get(e);n&&(this.entries.delete(e),n())}}}register(e,n){const r="st-mount-"+this.nextId++;e.setAttribute(w,r),this.entries.set(r,n)}clear(){this.cellRendererCache.clear(),this.headerRendererCache.clear();for(const e of this.entries.values())e();this.entries.clear()}pruneRendererCaches(e){for(const n of this.cellRendererCache.keys())e.has(n)||this.cellRendererCache.delete(n);for(const n of this.headerRendererCache.keys())e.has(n)||this.headerRendererCache.delete(n)}get size(){return this.entries.size}}var v=t("<div>");function E(e){let n,t=null;const i=new O;let u,m;return o(()=>{t=new a(n,b(e,i)),t.mount(),u=C(e),m=e.rows,e.ref&&e.ref(t.getAPI())}),d(()=>{if(!t)return;const n=b(e,i),r=Object.assign({},n),o=C(e),d=l(u,o);u=o,d&&delete r.defaultHeaders;const s=c(m,e.rows,e.getRowId);m=e.rows,s&&delete r.rows,t.update(r)}),s(()=>{null==t||t.destroy(),t=null,u=void 0,m=void 0,i.clear()}),f=v(),"function"==typeof n?r(n,f):n=f,f;var f}export{E as SimpleTable};
2
2
  //# sourceMappingURL=index.es.js.map
@@ -1,15 +1,15 @@
1
- export type CachedRendererSlot<T = unknown> = {
2
- component: T;
3
- wrapped: unknown;
4
- };
5
- export declare class MountRegistry {
6
- private entries;
7
- private nextId;
8
- readonly cellRendererCache: Map<string, CachedRendererSlot<unknown>>;
9
- readonly headerRendererCache: Map<string, CachedRendererSlot<unknown>>;
10
- register(container: HTMLElement, dispose: () => void): void;
11
- disposeHost: (host: HTMLElement) => void;
12
- clear(): void;
13
- pruneRendererCaches(liveAccessors: ReadonlySet<string>): void;
14
- get size(): number;
15
- }
1
+ export type CachedRendererSlot<T = unknown> = {
2
+ component: T;
3
+ wrapped: unknown;
4
+ };
5
+ export declare class MountRegistry {
6
+ private entries;
7
+ private nextId;
8
+ readonly cellRendererCache: Map<string, CachedRendererSlot<unknown>>;
9
+ readonly headerRendererCache: Map<string, CachedRendererSlot<unknown>>;
10
+ register(container: HTMLElement, dispose: () => void): void;
11
+ disposeHost: (host: HTMLElement) => void;
12
+ clear(): void;
13
+ pruneRendererCaches(liveAccessors: ReadonlySet<string>): void;
14
+ get size(): number;
15
+ }
@@ -1,19 +1,19 @@
1
- import type { SimpleTableSolidProps } from "./types";
2
- /**
3
- * SimpleTable — Solid.js adapter for simple-table-core.
4
- *
5
- * Accepts the same props as SimpleTableProps (the vanilla user-facing API) but
6
- * with Solid component types for all renderer props.
7
- *
8
- * Pass a callback `ref` prop to receive the full TableAPI imperative interface:
9
- *
10
- * @example
11
- * let tableApi: TableAPI | undefined;
12
- *
13
- * <SimpleTable
14
- * ref={(api) => (tableApi = api)}
15
- * rows={rows()}
16
- * defaultHeaders={headers}
17
- * />
18
- */
19
- export declare function SimpleTable(props: SimpleTableSolidProps): import("solid-js").JSX.Element;
1
+ import type { SimpleTableSolidProps } from "./types";
2
+ /**
3
+ * SimpleTable — Solid.js adapter for simple-table-core.
4
+ *
5
+ * Accepts the same props as SimpleTableProps (the vanilla user-facing API) but
6
+ * with Solid component types for all renderer props.
7
+ *
8
+ * Pass a callback `ref` prop to receive the full TableAPI imperative interface:
9
+ *
10
+ * @example
11
+ * let tableApi: TableAPI | undefined;
12
+ *
13
+ * <SimpleTable
14
+ * ref={(api) => (tableApi = api)}
15
+ * rows={rows()}
16
+ * columns={headers}
17
+ * />
18
+ */
19
+ export declare function SimpleTable(props: SimpleTableSolidProps): import("solid-js").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import type { SimpleTableConfig, HeaderObject } from "simple-table-core";
2
+ import type { SimpleTableSolidProps, SolidHeaderObject } from "./types";
3
+ import type { MountRegistry } from "./MountRegistry";
4
+ /** Resolve preferred `columns` or legacy `defaultHeaders`. */
5
+ export declare function resolveSolidColumns(config: Pick<SimpleTableSolidProps, "columns" | "defaultHeaders">): ReadonlyArray<HeaderObject | SolidHeaderObject>;
6
+ export declare function buildVanillaConfig(config: SimpleTableSolidProps, registry: MountRegistry): SimpleTableConfig;
@@ -0,0 +1,5 @@
1
+ export { SimpleTable } from "./SimpleTable";
2
+ export { asRows } from "simple-table-core";
3
+ export type { SimpleTableSolidProps, TableInstance, SolidHeaderObject, SolidColumnDef, SolidColumnEditorConfig, SolidIconsConfig, SolidIconElement, SolidCellRenderer, SolidHeaderRenderer, SolidFooterRenderer, SolidHeaderDropdown, SolidColumnEditorRowRenderer, SolidColumnEditorCustomRenderer, SolidRowButton, SolidLoadingStateRenderer, SolidErrorStateRenderer, SolidEmptyStateRenderer, } from "./types";
4
+ export type { Accessor, AggregationConfig, AggregationType, AnimationsConfig, AutoSizeMode, ColumnDef, Cell, CellChangeProps, CellClickProps, CellRenderer, CellRendererProps, CellValue, ChartOptions, ColumnEditorConfig, ColumnEditorRowRenderer, ColumnEditorRowRendererComponents, ColumnEditorCustomRenderer, ColumnEditorCustomRendererProps, ColumnEditorRowRendererProps, ColumnEditorSearchFunction, ColumnType, ColumnVisibilityState, Comparator, ComparatorProps, CustomTheme, CustomThemeProps, EmptyStateRenderer, EmptyStateRendererProps, EnumOption, ErrorStateRenderer, ErrorStateRendererProps, ExportToCSVProps, ExportValueGetter, ExportValueProps, FilterCondition, FilterOperator, StringFilterOperator, NumberFilterOperator, BooleanFilterOperator, DateFilterOperator, EnumFilterOperator, FooterRendererProps, FooterPosition, GetRowId, GetRowIdParams, HeaderDropdown, HeaderDropdownProps, HeaderObject, HeaderRenderer, HeaderRendererComponents, HeaderRendererProps, IconsConfig, LoadingStateRenderer, LoadingStateRendererProps, OnRowGroupExpandProps, Pinned, PinnedSectionsState, PivotConfig, PivotValueConfig, PivotResult, QuickFilterConfig, QuickFilterGetter, QuickFilterGetterProps, QuickFilterMode, Row, RowButtonProps, RowId, RowSelectionChangeProps, RowSelectionMode, RowState, SetHeaderRenameProps, ShowWhen, SimpleTableConfig, SimpleTableProps, SortColumn, TableAPI, TableFilterState, TableRow, Theme, UpdateDataProps, ValueFormatter, ValueFormatterProps, ValueGetter, ValueGetterProps, } from "simple-table-core";
5
+ export { pivotRows, buildPivotAccessor, buildPivotRowTotalAccessor, PIVOT_CHILDREN_KEY, PIVOT_IS_TOTAL_KEY, PIVOT_ACCESSOR_PREFIX, PIVOT_BLANK_LABEL, } from "simple-table-core";
@@ -1,68 +1,77 @@
1
- import type { Component, JSX } from "solid-js";
2
- import type { SimpleTableProps, SimpleTableConfig, HeaderObject, Row, TableAPI, CellRendererProps, HeaderRendererProps, FooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps, ColumnEditorRowRendererProps, ColumnEditorCustomRendererProps, ColumnEditorConfig, RowButtonProps } from "simple-table-core";
3
- export interface TableInstance {
4
- mount(): void;
5
- update(config: Partial<SimpleTableConfig>): void;
6
- destroy(): void;
7
- getAPI(): TableAPI;
8
- }
9
- export type SolidIconElement = JSX.Element;
10
- export interface SolidIconsConfig {
11
- drag?: SolidIconElement;
12
- expand?: SolidIconElement;
13
- filter?: SolidIconElement;
14
- headerCollapse?: SolidIconElement;
15
- headerExpand?: SolidIconElement;
16
- next?: SolidIconElement;
17
- prev?: SolidIconElement;
18
- sortDown?: SolidIconElement;
19
- sortUp?: SolidIconElement;
20
- pinnedLeftIcon?: SolidIconElement;
21
- pinnedRightIcon?: SolidIconElement;
22
- }
23
- export type SolidCellRenderer = Component<CellRendererProps>;
24
- export type SolidHeaderRenderer = Component<HeaderRendererProps>;
25
- export type SolidFooterRenderer = Component<FooterRendererProps>;
26
- export type SolidHeaderDropdown = Component<HeaderDropdownProps>;
27
- export type SolidColumnEditorRowRenderer = Component<ColumnEditorRowRendererProps>;
28
- export type SolidColumnEditorCustomRenderer = Component<ColumnEditorCustomRendererProps>;
29
- export type SolidRowButton = Component<RowButtonProps>;
30
- export type SolidLoadingStateRenderer = Component<LoadingStateRendererProps> | JSX.Element;
31
- export type SolidErrorStateRenderer = Component<ErrorStateRendererProps> | JSX.Element;
32
- export type SolidEmptyStateRenderer = Component<EmptyStateRendererProps> | JSX.Element;
33
- export interface SolidColumnEditorConfig extends Omit<ColumnEditorConfig, "rowRenderer" | "customRenderer"> {
34
- rowRenderer?: SolidColumnEditorRowRenderer;
35
- customRenderer?: SolidColumnEditorCustomRenderer;
36
- }
37
- /**
38
- * Column definition for `defaultHeaders`: core column metadata with Solid-only
39
- * renderer fields. `defaultHeaders` also accepts plain `HeaderObject[]` from shared configs.
40
- */
41
- export interface SolidHeaderObject extends Omit<HeaderObject, "cellRenderer" | "headerRenderer" | "children" | "nestedTable"> {
42
- cellRenderer?: SolidCellRenderer;
43
- headerRenderer?: SolidHeaderRenderer;
44
- children?: SolidHeaderObject[];
45
- nestedTable?: Omit<SimpleTableSolidProps, "rows" | "loadingStateRenderer" | "errorStateRenderer" | "emptyStateRenderer" | "tableEmptyStateRenderer">;
46
- }
47
- export interface SimpleTableSolidProps extends Omit<SimpleTableProps, "rows" | "defaultHeaders" | "footerRenderer" | "emptyStateRenderer" | "errorStateRenderer" | "loadingStateRenderer" | "tableEmptyStateRenderer" | "headerDropdown" | "columnEditorConfig" | "icons" | "rowButtons" | "onColumnOrderChange" | "onColumnWidthChange" | "onHeaderEdit" | "onColumnSelect"> {
48
- defaultHeaders: ReadonlyArray<HeaderObject | SolidHeaderObject>;
49
- /** Row data: domain objects or core `Row[]`; cast inside the adapter. */
50
- rows: ReadonlyArray<Row> | ReadonlyArray<object>;
51
- onColumnOrderChange?: (newHeaders: SolidHeaderObject[]) => void;
52
- onColumnWidthChange?: (headers: SolidHeaderObject[]) => void;
53
- onHeaderEdit?: (header: SolidHeaderObject, newLabel: string) => void;
54
- onColumnSelect?: (header: SolidHeaderObject) => void;
55
- footerRenderer?: SolidFooterRenderer;
56
- loadingStateRenderer?: SolidLoadingStateRenderer;
57
- errorStateRenderer?: SolidErrorStateRenderer;
58
- emptyStateRenderer?: SolidEmptyStateRenderer;
59
- tableEmptyStateRenderer?: JSX.Element;
60
- headerDropdown?: SolidHeaderDropdown;
61
- columnEditorConfig?: SolidColumnEditorConfig;
62
- icons?: SolidIconsConfig;
63
- /** Per-row action buttons; each entry is a Solid component rendered into the row's selection column. */
64
- rowButtons?: SolidRowButton[];
65
- /** Callback ref — receives the TableAPI once the table is mounted. */
66
- ref?: (api: TableAPI) => void;
67
- }
68
- export type { CellRendererProps, HeaderRendererProps, FooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps, ColumnEditorRowRendererProps, ColumnEditorCustomRendererProps, };
1
+ import type { Component, JSX } from "solid-js";
2
+ import type { SimpleTableProps, SimpleTableConfig, HeaderObject, Row, TableAPI, CellRendererProps, HeaderRendererProps, FooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps, ColumnEditorRowRendererProps, ColumnEditorCustomRendererProps, ColumnEditorConfig, RowButtonProps } from "simple-table-core";
3
+ export interface TableInstance {
4
+ mount(): void;
5
+ update(config: Partial<SimpleTableConfig>): void;
6
+ destroy(): void;
7
+ getAPI(): TableAPI;
8
+ }
9
+ export type SolidIconElement = JSX.Element;
10
+ export interface SolidIconsConfig {
11
+ drag?: SolidIconElement;
12
+ expand?: SolidIconElement;
13
+ filter?: SolidIconElement;
14
+ headerCollapse?: SolidIconElement;
15
+ headerExpand?: SolidIconElement;
16
+ next?: SolidIconElement;
17
+ prev?: SolidIconElement;
18
+ sortDown?: SolidIconElement;
19
+ sortUp?: SolidIconElement;
20
+ pinnedLeftIcon?: SolidIconElement;
21
+ pinnedRightIcon?: SolidIconElement;
22
+ }
23
+ export type SolidCellRenderer = Component<CellRendererProps>;
24
+ export type SolidHeaderRenderer = Component<HeaderRendererProps>;
25
+ export type SolidFooterRenderer = Component<FooterRendererProps>;
26
+ export type SolidHeaderDropdown = Component<HeaderDropdownProps>;
27
+ export type SolidColumnEditorRowRenderer = Component<ColumnEditorRowRendererProps>;
28
+ export type SolidColumnEditorCustomRenderer = Component<ColumnEditorCustomRendererProps>;
29
+ export type SolidRowButton = Component<RowButtonProps>;
30
+ export type SolidLoadingStateRenderer = Component<LoadingStateRendererProps> | JSX.Element;
31
+ export type SolidErrorStateRenderer = Component<ErrorStateRendererProps> | JSX.Element;
32
+ export type SolidEmptyStateRenderer = Component<EmptyStateRendererProps> | JSX.Element;
33
+ export interface SolidColumnEditorConfig extends Omit<ColumnEditorConfig, "rowRenderer" | "customRenderer"> {
34
+ rowRenderer?: SolidColumnEditorRowRenderer;
35
+ customRenderer?: SolidColumnEditorCustomRenderer;
36
+ }
37
+ /**
38
+ * Column definition for `columns` / `defaultHeaders`: core column metadata with
39
+ * Solid-only renderer fields. `columns` / `defaultHeaders` also accept plain
40
+ * `HeaderObject[]` from shared configs.
41
+ */
42
+ export interface SolidHeaderObject extends Omit<HeaderObject, "cellRenderer" | "headerRenderer" | "children" | "nestedTable"> {
43
+ cellRenderer?: SolidCellRenderer;
44
+ headerRenderer?: SolidHeaderRenderer;
45
+ children?: SolidHeaderObject[];
46
+ nestedTable?: Omit<SimpleTableSolidProps, "rows" | "loadingStateRenderer" | "errorStateRenderer" | "emptyStateRenderer" | "tableEmptyStateRenderer">;
47
+ }
48
+ /** Preferred name for Solid column definitions. Alias of {@link SolidHeaderObject}. */
49
+ export type SolidColumnDef = SolidHeaderObject;
50
+ export interface SimpleTableSolidProps extends Omit<SimpleTableProps, "rows" | "defaultHeaders" | "columns" | "footerRenderer" | "emptyStateRenderer" | "errorStateRenderer" | "loadingStateRenderer" | "tableEmptyStateRenderer" | "headerDropdown" | "columnEditorConfig" | "icons" | "rowButtons" | "onColumnOrderChange" | "onColumnWidthChange" | "onHeaderEdit" | "onColumnSelect"> {
51
+ /**
52
+ * Column definitions.
53
+ * @deprecated Prefer {@link columns}
54
+ */
55
+ defaultHeaders?: ReadonlyArray<HeaderObject | SolidHeaderObject>;
56
+ /** Column definitions. Preferred over `defaultHeaders`. */
57
+ columns?: ReadonlyArray<HeaderObject | SolidHeaderObject>;
58
+ /** Row data: domain objects or core `Row[]`; cast inside the adapter. */
59
+ rows: ReadonlyArray<Row> | ReadonlyArray<object>;
60
+ onColumnOrderChange?: (newHeaders: SolidHeaderObject[]) => void;
61
+ onColumnWidthChange?: (headers: SolidHeaderObject[]) => void;
62
+ onHeaderEdit?: (header: SolidHeaderObject, newLabel: string) => void;
63
+ onColumnSelect?: (header: SolidHeaderObject) => void;
64
+ footerRenderer?: SolidFooterRenderer;
65
+ loadingStateRenderer?: SolidLoadingStateRenderer;
66
+ errorStateRenderer?: SolidErrorStateRenderer;
67
+ emptyStateRenderer?: SolidEmptyStateRenderer;
68
+ tableEmptyStateRenderer?: JSX.Element;
69
+ headerDropdown?: SolidHeaderDropdown;
70
+ columnEditorConfig?: SolidColumnEditorConfig;
71
+ icons?: SolidIconsConfig;
72
+ /** Per-row action buttons; each entry is a Solid component rendered into the row's selection column. */
73
+ rowButtons?: SolidRowButton[];
74
+ /** Callback ref — receives the TableAPI once the table is mounted. */
75
+ ref?: (api: TableAPI) => void;
76
+ }
77
+ export type { CellRendererProps, HeaderRendererProps, FooterRendererProps, LoadingStateRendererProps, ErrorStateRendererProps, EmptyStateRendererProps, HeaderDropdownProps, ColumnEditorRowRendererProps, ColumnEditorCustomRendererProps, };
@@ -1,28 +1,28 @@
1
- import type { Component } from "solid-js";
2
- import type { MountRegistry } from "../MountRegistry";
3
- /**
4
- * Wraps a Solid component into a function that returns an HTMLElement, matching
5
- * the vanilla renderer contract expected by simple-table-core.
6
- *
7
- * Solid's render() is synchronous, so no flushSync equivalent is needed.
8
- * The dispose handle is registered so core's `onRendererHostDiscard` can tear
9
- * down the reactive tree (and any portal / floating UI) when the host is discarded.
10
- */
11
- export declare function wrapSolidRenderer<P extends object>(registry: MountRegistry, component: Component<P>): (props: P) => HTMLElement;
12
- /**
13
- * Like {@link wrapSolidRenderer}, but reuses one wrapper per accessor so
14
- * unstable column rebuilds keep a stable function identity on HeaderObject.
15
- */
16
- export declare function wrapCachedSolidRenderer<P extends object>(registry: MountRegistry, accessor: string, kind: "cell" | "header", component: Component<P>): (props: P) => HTMLElement;
17
- /**
18
- * Renders a static Solid JSX node (already evaluated) into an HTMLElement.
19
- * Used for props like tableEmptyStateRenderer that are not called with arguments.
20
- */
21
- export declare function wrapSolidNode(registry: MountRegistry, node: any): HTMLElement;
22
- /**
23
- * Converts a Solid node to an HTML string.
24
- * Used for icon props where vanilla expects string | HTMLElement | SVGSVGElement.
25
- */
26
- export declare function solidNodeToHtmlString(node: any): string;
27
- /** Returns true if the value is a Solid component (a function). */
28
- export declare function isSolidComponent(value: unknown): value is Component<any>;
1
+ import type { Component } from "solid-js";
2
+ import type { MountRegistry } from "../MountRegistry";
3
+ /**
4
+ * Wraps a Solid component into a function that returns an HTMLElement, matching
5
+ * the vanilla renderer contract expected by simple-table-core.
6
+ *
7
+ * Solid's render() is synchronous, so no flushSync equivalent is needed.
8
+ * The dispose handle is registered so core's `onRendererHostDiscard` can tear
9
+ * down the reactive tree (and any portal / floating UI) when the host is discarded.
10
+ */
11
+ export declare function wrapSolidRenderer<P extends object>(registry: MountRegistry, component: Component<P>): (props: P) => HTMLElement;
12
+ /**
13
+ * Like {@link wrapSolidRenderer}, but reuses one wrapper per accessor so
14
+ * unstable column rebuilds keep a stable function identity on HeaderObject.
15
+ */
16
+ export declare function wrapCachedSolidRenderer<P extends object>(registry: MountRegistry, accessor: string, kind: "cell" | "header", component: Component<P>): (props: P) => HTMLElement;
17
+ /**
18
+ * Renders a static Solid JSX node (already evaluated) into an HTMLElement.
19
+ * Used for props like tableEmptyStateRenderer that are not called with arguments.
20
+ */
21
+ export declare function wrapSolidNode(registry: MountRegistry, node: any): HTMLElement;
22
+ /**
23
+ * Converts a Solid node to an HTML string.
24
+ * Used for icon props where vanilla expects string | HTMLElement | SVGSVGElement.
25
+ */
26
+ export declare function solidNodeToHtmlString(node: any): string;
27
+ /** Returns true if the value is a Solid component (a function). */
28
+ export declare function isSolidComponent(value: unknown): value is Component<any>;
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@simple-table/solid",
3
- "version": "4.0.1",
3
+ "version": "4.0.3",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/index.es.js",
6
- "types": "dist/types/solid/src/index.d.ts",
6
+ "types": "dist/types/index.d.ts",
7
7
  "sideEffects": [
8
8
  "*.css",
9
9
  "**/*.css"
@@ -12,9 +12,12 @@
12
12
  ".": {
13
13
  "import": "./dist/index.es.js",
14
14
  "require": "./dist/cjs/index.js",
15
- "types": "./dist/types/solid/src/index.d.ts"
15
+ "types": "./dist/types/index.d.ts"
16
16
  },
17
- "./styles.css": "./dist/styles.css"
17
+ "./styles.css": {
18
+ "types": "./styles.css.d.ts",
19
+ "default": "./dist/styles.css"
20
+ }
18
21
  },
19
22
  "license": "Community",
20
23
  "publishConfig": {
@@ -22,13 +25,14 @@
22
25
  },
23
26
  "files": [
24
27
  "dist",
25
- "LICENSE"
28
+ "LICENSE",
29
+ "styles.css.d.ts"
26
30
  ],
27
31
  "peerDependencies": {
28
32
  "solid-js": ">=1.0.0"
29
33
  },
30
34
  "dependencies": {
31
- "simple-table-core": "4.0.1"
35
+ "simple-table-core": "4.0.3"
32
36
  },
33
37
  "devDependencies": {
34
38
  "@babel/preset-typescript": "^7.28.5",
@@ -43,7 +47,8 @@
43
47
  "rollup-plugin-terser": "^7.0.2",
44
48
  "rollup-plugin-typescript2": "^0.37.0",
45
49
  "solid-js": "^1.8.0",
46
- "typescript": "^4.9.5",
50
+ "tslib": "^2.8.1",
51
+ "typescript": "^5.0.0",
47
52
  "vitest": "^2.1.9"
48
53
  },
49
54
  "description": "Solid.js adapter for simple-table-core — use the Simple Table data grid with full Solid component support for renderers.",
@@ -90,6 +95,7 @@
90
95
  "scripts": {
91
96
  "build": "rollup -c",
92
97
  "preview": "rollup -c -w",
98
+ "typecheck": "tsc -p tsconfig.json --noEmit",
93
99
  "test": "vitest run",
94
100
  "version:patch": "npm version patch && git push && git push --tags",
95
101
  "version:minor": "npm version minor && git push && git push --tags",
@@ -0,0 +1 @@
1
+ export {};
@@ -1,58 +0,0 @@
1
- /**
2
- * Column width constraints for the table
3
- * These values control minimum and maximum widths for columns and sections
4
- */
5
- /**
6
- * MIN_COLUMN_WIDTH
7
- * The minimum width in pixels that any column can have.
8
- * This is used as:
9
- * - The default minimum width when header.minWidth is undefined
10
- * - The absolute minimum in autoExpandColumns mode to prevent columns from becoming too narrow
11
- */
12
- export declare const MIN_COLUMN_WIDTH = 40;
13
- /**
14
- * MAX_SINGLE_PINNED_SECTION_PERCENT
15
- * Maximum percentage of container width that a single pinned section can occupy.
16
- * When only one section (left OR right) is pinned, it can take up to 60% of the width.
17
- * This ensures the main section always has at least 40% of the space.
18
- */
19
- export declare const MAX_SINGLE_PINNED_SECTION_PERCENT = 0.6;
20
- /**
21
- * MAX_DUAL_PINNED_SECTION_PERCENT
22
- * Maximum percentage of container width that each pinned section can occupy
23
- * when BOTH left and right sections are pinned.
24
- * With both sections at 40%, the main section is guaranteed at least 20% of the space.
25
- */
26
- export declare const MAX_DUAL_PINNED_SECTION_PERCENT = 0.4;
27
- /**
28
- * Mobile breakpoints for responsive pinned section constraints
29
- */
30
- export declare const MOBILE_BREAKPOINT_SMALL = 480;
31
- export declare const MOBILE_BREAKPOINT_MEDIUM = 768;
32
- /**
33
- * Get the maximum allowed width percentage for a single pinned section based on container width.
34
- * This is used when only ONE section (left OR right) is pinned.
35
- *
36
- * @param containerWidth - The table container width in pixels (st-body-container)
37
- * @returns The maximum percentage (0-1) of container width that the pinned section can occupy
38
- */
39
- export declare const getMaxSinglePinnedPercent: (containerWidth: number) => number;
40
- /**
41
- * Get the maximum allowed width percentage for pinned sections based on container width
42
- * and the number of pinned sections.
43
- *
44
- * @param containerWidth - The table container width in pixels (st-body-container)
45
- * @param hasPinnedLeft - Whether there is a pinned left section
46
- * @param hasPinnedRight - Whether there is a pinned right section
47
- * @returns The maximum percentage (0-1) of container width that each pinned section can occupy
48
- */
49
- export declare const getMaxPinnedSectionPercent: (containerWidth: number, hasPinnedLeft: boolean, hasPinnedRight: boolean) => number;
50
- /**
51
- * Calculate the maximum width in pixels for a pinned section
52
- *
53
- * @param containerWidth - The table container width in pixels (st-body-container)
54
- * @param hasPinnedLeft - Whether there is a pinned left section
55
- * @param hasPinnedRight - Whether there is a pinned right section
56
- * @returns The maximum width in pixels for a pinned section
57
- */
58
- export declare const getMaxPinnedSectionWidth: (containerWidth: number, hasPinnedLeft: boolean, hasPinnedRight: boolean) => number;
@@ -1,32 +0,0 @@
1
- export declare const DRAG_THROTTLE_LIMIT = 50;
2
- export declare const ROW_SEPARATOR_WIDTH = 1;
3
- export declare const PAGE_SIZE = 20;
4
- export declare const CSS_VAR_BORDER_WIDTH = "--st-border-width";
5
- export declare const DEFAULT_BORDER_WIDTH = 1;
6
- export declare const VIRTUALIZATION_THRESHOLD = 20;
7
- export declare const UNVIRTUALIZED_ROW_WARNING_THRESHOLD = 500;
8
- export declare const OVERSCAN_PIXELS = 800;
9
- export declare const calculateBufferRowCount: (rowHeight: number) => number;
10
- export declare const COLUMN_EDIT_WIDTH = 29.5;
11
- /**
12
- * Horizontal space reserved for the built-in column-editor toggle strip.
13
- * Returns 0 when editing is off or the strip is hidden via `showToggle: false`.
14
- */
15
- export declare const getColumnEditorStripWidth: (editColumns: boolean | undefined, showToggle?: boolean) => number;
16
- /**
17
- * Whether the built-in column-editor toggle strip is visible and takes layout space.
18
- */
19
- export declare const isColumnEditorStripVisible: (editColumns: boolean | undefined, showToggle?: boolean) => boolean;
20
- export declare const TABLE_HEADER_CELL_WIDTH_DEFAULT = 150;
21
- export declare const PINNED_BORDER_WIDTH = 1;
22
- export declare const CHART_COLUMN_TYPES: string[];
23
- export declare const OPTIMAL_CHART_COLUMN_WIDTH = 150;
24
- export declare const AUTO_SIZE_HEAD_SAMPLE_SIZE = 25;
25
- export declare const AUTO_SIZE_STRIDED_SAMPLE_SIZE = 75;
26
- export declare const AUTO_SIZE_MAX_WIDTH = 500;
27
- export declare const AUTO_SIZE_OUTLIER_PERCENTILE = 95;
28
- export declare const AUTO_SIZE_OUTLIER_THRESHOLD = 0.5;
29
- export declare const AUTO_SIZE_MIN_SAMPLE_FOR_CLIP = 20;
30
- export declare const AUTO_SIZE_WIDTH_BUFFER = 2;
31
- /** Extra padding reserved around header icons (sort / collapse) during auto-size. */
32
- export declare const AUTO_SIZE_HEADER_ICON_PADDING = 4;