@ishibashi0112/spreadsheet-grid-core 0.39.0

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 (305) hide show
  1. package/LICENSE +21 -0
  2. package/dist/controllers/autoHeightMeasurer.cjs +1 -0
  3. package/dist/controllers/autoHeightMeasurer.d.ts +30 -0
  4. package/dist/controllers/autoHeightMeasurer.js +74 -0
  5. package/dist/controllers/clipboardController.cjs +2 -0
  6. package/dist/controllers/clipboardController.d.ts +31 -0
  7. package/dist/controllers/clipboardController.js +88 -0
  8. package/dist/controllers/columnAutosizeRunner.cjs +1 -0
  9. package/dist/controllers/columnAutosizeRunner.d.ts +31 -0
  10. package/dist/controllers/columnAutosizeRunner.js +61 -0
  11. package/dist/controllers/columnHeaderDragController.cjs +1 -0
  12. package/dist/controllers/columnHeaderDragController.d.ts +44 -0
  13. package/dist/controllers/columnHeaderDragController.js +256 -0
  14. package/dist/controllers/columnMenuController.cjs +1 -0
  15. package/dist/controllers/columnMenuController.d.ts +49 -0
  16. package/dist/controllers/columnMenuController.js +110 -0
  17. package/dist/controllers/contextMenuController.cjs +1 -0
  18. package/dist/controllers/contextMenuController.d.ts +30 -0
  19. package/dist/controllers/contextMenuController.js +65 -0
  20. package/dist/controllers/debouncedValueStore.cjs +1 -0
  21. package/dist/controllers/debouncedValueStore.d.ts +11 -0
  22. package/dist/controllers/debouncedValueStore.js +22 -0
  23. package/dist/controllers/editController.cjs +1 -0
  24. package/dist/controllers/editController.d.ts +27 -0
  25. package/dist/controllers/editController.js +76 -0
  26. package/dist/controllers/filterPopoverController.cjs +1 -0
  27. package/dist/controllers/filterPopoverController.d.ts +53 -0
  28. package/dist/controllers/filterPopoverController.js +146 -0
  29. package/dist/controllers/globalFilteredOrder.cjs +1 -0
  30. package/dist/controllers/globalFilteredOrder.d.ts +38 -0
  31. package/dist/controllers/globalFilteredOrder.js +78 -0
  32. package/dist/controllers/historyController.cjs +1 -0
  33. package/dist/controllers/historyController.d.ts +28 -0
  34. package/dist/controllers/historyController.js +52 -0
  35. package/dist/controllers/keyboardController.cjs +1 -0
  36. package/dist/controllers/keyboardController.d.ts +36 -0
  37. package/dist/controllers/keyboardController.js +111 -0
  38. package/dist/controllers/panelHeaderDragController.cjs +1 -0
  39. package/dist/controllers/panelHeaderDragController.d.ts +21 -0
  40. package/dist/controllers/panelHeaderDragController.js +32 -0
  41. package/dist/controllers/pointerInteractionsController.cjs +1 -0
  42. package/dist/controllers/pointerInteractionsController.d.ts +74 -0
  43. package/dist/controllers/pointerInteractionsController.js +262 -0
  44. package/dist/controllers/popoverSupport.cjs +1 -0
  45. package/dist/controllers/popoverSupport.d.ts +18 -0
  46. package/dist/controllers/popoverSupport.js +25 -0
  47. package/dist/controllers/rowDragController.cjs +1 -0
  48. package/dist/controllers/rowDragController.d.ts +40 -0
  49. package/dist/controllers/rowDragController.js +192 -0
  50. package/dist/controllers/scrollSyncController.cjs +1 -0
  51. package/dist/controllers/scrollSyncController.d.ts +17 -0
  52. package/dist/controllers/scrollSyncController.js +51 -0
  53. package/dist/controllers/selectOptionsCollector.cjs +1 -0
  54. package/dist/controllers/selectOptionsCollector.d.ts +31 -0
  55. package/dist/controllers/selectOptionsCollector.js +88 -0
  56. package/dist/controllers/serverSideRowModel.cjs +1 -0
  57. package/dist/controllers/serverSideRowModel.d.ts +36 -0
  58. package/dist/controllers/serverSideRowModel.js +153 -0
  59. package/dist/controllers/systemColorSchemeStore.cjs +1 -0
  60. package/dist/controllers/systemColorSchemeStore.d.ts +5 -0
  61. package/dist/controllers/systemColorSchemeStore.js +18 -0
  62. package/dist/controllers/toolPanelController.cjs +1 -0
  63. package/dist/controllers/toolPanelController.d.ts +36 -0
  64. package/dist/controllers/toolPanelController.js +112 -0
  65. package/dist/controllers/tooltipController.cjs +1 -0
  66. package/dist/controllers/tooltipController.d.ts +6 -0
  67. package/dist/controllers/tooltipController.js +75 -0
  68. package/dist/controllers/viewportSyncController.cjs +1 -0
  69. package/dist/controllers/viewportSyncController.d.ts +30 -0
  70. package/dist/controllers/viewportSyncController.js +40 -0
  71. package/dist/engine/columnCommands.cjs +1 -0
  72. package/dist/engine/columnCommands.d.ts +56 -0
  73. package/dist/engine/columnCommands.js +199 -0
  74. package/dist/engine/columnLayout.cjs +1 -0
  75. package/dist/engine/columnLayout.d.ts +43 -0
  76. package/dist/engine/columnLayout.js +91 -0
  77. package/dist/engine/createGridEngine.cjs +1 -0
  78. package/dist/engine/createGridEngine.d.ts +46 -0
  79. package/dist/engine/createGridEngine.js +52 -0
  80. package/dist/engine/filterPopoverCommands.cjs +1 -0
  81. package/dist/engine/filterPopoverCommands.d.ts +56 -0
  82. package/dist/engine/filterPopoverCommands.js +303 -0
  83. package/dist/engine/gridApi.cjs +1 -0
  84. package/dist/engine/gridApi.d.ts +61 -0
  85. package/dist/engine/gridApi.js +389 -0
  86. package/dist/engine/memo.cjs +1 -0
  87. package/dist/engine/memo.d.ts +2 -0
  88. package/dist/engine/memo.js +18 -0
  89. package/dist/engine/notifiers.cjs +1 -0
  90. package/dist/engine/notifiers.d.ts +35 -0
  91. package/dist/engine/notifiers.js +34 -0
  92. package/dist/engine/rowPipeline.cjs +1 -0
  93. package/dist/engine/rowPipeline.d.ts +50 -0
  94. package/dist/engine/rowPipeline.js +84 -0
  95. package/dist/engine/rowSelectionCommands.cjs +1 -0
  96. package/dist/engine/rowSelectionCommands.d.ts +21 -0
  97. package/dist/engine/rowSelectionCommands.js +57 -0
  98. package/dist/engine/verticalLayout.cjs +1 -0
  99. package/dist/engine/verticalLayout.d.ts +52 -0
  100. package/dist/engine/verticalLayout.js +60 -0
  101. package/dist/index.cjs +1 -0
  102. package/dist/index.d.ts +8 -0
  103. package/dist/index.js +5 -0
  104. package/dist/logic/aggregation.cjs +1 -0
  105. package/dist/logic/aggregation.d.ts +13 -0
  106. package/dist/logic/aggregation.js +28 -0
  107. package/dist/logic/autoScrollGeometry.cjs +1 -0
  108. package/dist/logic/autoScrollGeometry.d.ts +27 -0
  109. package/dist/logic/autoScrollGeometry.js +19 -0
  110. package/dist/logic/autoSizeOnData.cjs +1 -0
  111. package/dist/logic/autoSizeOnData.d.ts +10 -0
  112. package/dist/logic/autoSizeOnData.js +19 -0
  113. package/dist/logic/cellOverflowTooltip.cjs +1 -0
  114. package/dist/logic/cellOverflowTooltip.d.ts +5 -0
  115. package/dist/logic/cellOverflowTooltip.js +4 -0
  116. package/dist/logic/checkboxEditor.cjs +1 -0
  117. package/dist/logic/checkboxEditor.d.ts +12 -0
  118. package/dist/logic/checkboxEditor.js +17 -0
  119. package/dist/logic/chunkedLoop.cjs +1 -0
  120. package/dist/logic/chunkedLoop.d.ts +8 -0
  121. package/dist/logic/chunkedLoop.js +18 -0
  122. package/dist/logic/clearCells.cjs +1 -0
  123. package/dist/logic/clearCells.d.ts +31 -0
  124. package/dist/logic/clearCells.js +91 -0
  125. package/dist/logic/columnAutosize.cjs +1 -0
  126. package/dist/logic/columnAutosize.d.ts +18 -0
  127. package/dist/logic/columnAutosize.js +150 -0
  128. package/dist/logic/columnFlex.cjs +1 -0
  129. package/dist/logic/columnFlex.d.ts +4 -0
  130. package/dist/logic/columnFlex.js +60 -0
  131. package/dist/logic/columnReset.cjs +1 -0
  132. package/dist/logic/columnReset.d.ts +7 -0
  133. package/dist/logic/columnReset.js +25 -0
  134. package/dist/logic/contextMenuTarget.cjs +1 -0
  135. package/dist/logic/contextMenuTarget.d.ts +4 -0
  136. package/dist/logic/contextMenuTarget.js +18 -0
  137. package/dist/logic/cx.cjs +1 -0
  138. package/dist/logic/cx.d.ts +1 -0
  139. package/dist/logic/cx.js +6 -0
  140. package/dist/logic/dateFilterCondition.cjs +1 -0
  141. package/dist/logic/dateFilterCondition.d.ts +26 -0
  142. package/dist/logic/dateFilterCondition.js +110 -0
  143. package/dist/logic/dateFilterPresets.cjs +1 -0
  144. package/dist/logic/dateFilterPresets.d.ts +13 -0
  145. package/dist/logic/dateFilterPresets.js +30 -0
  146. package/dist/logic/dateFilterTree.cjs +1 -0
  147. package/dist/logic/dateFilterTree.d.ts +17 -0
  148. package/dist/logic/dateFilterTree.js +75 -0
  149. package/dist/logic/datePickerCalendar.cjs +1 -0
  150. package/dist/logic/datePickerCalendar.d.ts +12 -0
  151. package/dist/logic/datePickerCalendar.js +41 -0
  152. package/dist/logic/detailRow.cjs +1 -0
  153. package/dist/logic/detailRow.d.ts +38 -0
  154. package/dist/logic/detailRow.js +78 -0
  155. package/dist/logic/domGuards.cjs +1 -0
  156. package/dist/logic/domGuards.d.ts +7 -0
  157. package/dist/logic/domGuards.js +4 -0
  158. package/dist/logic/editorValues.cjs +1 -0
  159. package/dist/logic/editorValues.d.ts +5 -0
  160. package/dist/logic/editorValues.js +32 -0
  161. package/dist/logic/exportCsv.cjs +3 -0
  162. package/dist/logic/exportCsv.d.ts +12 -0
  163. package/dist/logic/exportCsv.js +19 -0
  164. package/dist/logic/exportData.cjs +1 -0
  165. package/dist/logic/exportData.d.ts +9 -0
  166. package/dist/logic/exportData.js +24 -0
  167. package/dist/logic/exportScope.cjs +1 -0
  168. package/dist/logic/exportScope.d.ts +3 -0
  169. package/dist/logic/exportScope.js +4 -0
  170. package/dist/logic/filterPopoverLayout.cjs +1 -0
  171. package/dist/logic/filterPopoverLayout.d.ts +17 -0
  172. package/dist/logic/filterPopoverLayout.js +13 -0
  173. package/dist/logic/filterPopoverOutsideClick.cjs +1 -0
  174. package/dist/logic/filterPopoverOutsideClick.d.ts +2 -0
  175. package/dist/logic/filterPopoverOutsideClick.js +4 -0
  176. package/dist/logic/filterSummary.cjs +1 -0
  177. package/dist/logic/filterSummary.d.ts +3 -0
  178. package/dist/logic/filterSummary.js +22 -0
  179. package/dist/logic/filtering.cjs +1 -0
  180. package/dist/logic/filtering.d.ts +33 -0
  181. package/dist/logic/filtering.js +313 -0
  182. package/dist/logic/geometry.cjs +1 -0
  183. package/dist/logic/geometry.d.ts +72 -0
  184. package/dist/logic/geometry.js +161 -0
  185. package/dist/logic/gridState.cjs +1 -0
  186. package/dist/logic/gridState.d.ts +13 -0
  187. package/dist/logic/gridState.js +165 -0
  188. package/dist/logic/grouping.cjs +1 -0
  189. package/dist/logic/grouping.d.ts +34 -0
  190. package/dist/logic/grouping.js +93 -0
  191. package/dist/logic/history.cjs +1 -0
  192. package/dist/logic/history.d.ts +16 -0
  193. package/dist/logic/history.js +34 -0
  194. package/dist/logic/inferFilterType.cjs +1 -0
  195. package/dist/logic/inferFilterType.d.ts +19 -0
  196. package/dist/logic/inferFilterType.js +54 -0
  197. package/dist/logic/numberFilterCondition.cjs +1 -0
  198. package/dist/logic/numberFilterCondition.d.ts +21 -0
  199. package/dist/logic/numberFilterCondition.js +130 -0
  200. package/dist/logic/panelDragGeometry.cjs +1 -0
  201. package/dist/logic/panelDragGeometry.d.ts +13 -0
  202. package/dist/logic/panelDragGeometry.js +10 -0
  203. package/dist/logic/rowHeightStore.cjs +1 -0
  204. package/dist/logic/rowHeightStore.d.ts +13 -0
  205. package/dist/logic/rowHeightStore.js +41 -0
  206. package/dist/logic/rowReorder.cjs +1 -0
  207. package/dist/logic/rowReorder.d.ts +18 -0
  208. package/dist/logic/rowReorder.js +22 -0
  209. package/dist/logic/rowSelection.cjs +1 -0
  210. package/dist/logic/rowSelection.d.ts +16 -0
  211. package/dist/logic/rowSelection.js +49 -0
  212. package/dist/logic/scrollHint.cjs +1 -0
  213. package/dist/logic/scrollHint.d.ts +41 -0
  214. package/dist/logic/scrollHint.js +66 -0
  215. package/dist/logic/scrollTargets.cjs +1 -0
  216. package/dist/logic/scrollTargets.d.ts +22 -0
  217. package/dist/logic/scrollTargets.js +24 -0
  218. package/dist/logic/selectEditorState.cjs +1 -0
  219. package/dist/logic/selectEditorState.d.ts +28 -0
  220. package/dist/logic/selectEditorState.js +31 -0
  221. package/dist/logic/selectOptions.cjs +1 -0
  222. package/dist/logic/selectOptions.d.ts +9 -0
  223. package/dist/logic/selectOptions.js +23 -0
  224. package/dist/logic/serverSideBlocks.cjs +1 -0
  225. package/dist/logic/serverSideBlocks.d.ts +2 -0
  226. package/dist/logic/serverSideBlocks.js +14 -0
  227. package/dist/logic/serverSideCache.cjs +1 -0
  228. package/dist/logic/serverSideCache.d.ts +14 -0
  229. package/dist/logic/serverSideCache.js +42 -0
  230. package/dist/logic/serverSideEdits.cjs +1 -0
  231. package/dist/logic/serverSideEdits.d.ts +16 -0
  232. package/dist/logic/serverSideEdits.js +47 -0
  233. package/dist/logic/serverSideQuery.cjs +1 -0
  234. package/dist/logic/serverSideQuery.d.ts +7 -0
  235. package/dist/logic/serverSideQuery.js +21 -0
  236. package/dist/logic/setFilterSearch.cjs +1 -0
  237. package/dist/logic/setFilterSearch.d.ts +14 -0
  238. package/dist/logic/setFilterSearch.js +14 -0
  239. package/dist/logic/setFilterSelection.cjs +1 -0
  240. package/dist/logic/setFilterSelection.d.ts +5 -0
  241. package/dist/logic/setFilterSelection.js +4 -0
  242. package/dist/logic/slotDom.cjs +1 -0
  243. package/dist/logic/slotDom.d.ts +8 -0
  244. package/dist/logic/slotDom.js +22 -0
  245. package/dist/logic/slotProps.cjs +1 -0
  246. package/dist/logic/slotProps.d.ts +18 -0
  247. package/dist/logic/slotProps.js +63 -0
  248. package/dist/logic/sorting.cjs +1 -0
  249. package/dist/logic/sorting.d.ts +11 -0
  250. package/dist/logic/sorting.js +96 -0
  251. package/dist/logic/textFilterCondition.cjs +1 -0
  252. package/dist/logic/textFilterCondition.d.ts +18 -0
  253. package/dist/logic/textFilterCondition.js +55 -0
  254. package/dist/logic/theme.cjs +1 -0
  255. package/dist/logic/theme.d.ts +3 -0
  256. package/dist/logic/theme.js +4 -0
  257. package/dist/logic/tooltipGeometry.cjs +1 -0
  258. package/dist/logic/tooltipGeometry.d.ts +19 -0
  259. package/dist/logic/tooltipGeometry.js +16 -0
  260. package/dist/logic/validation.cjs +1 -0
  261. package/dist/logic/validation.d.ts +14 -0
  262. package/dist/logic/validation.js +47 -0
  263. package/dist/logic/valueFormatters.cjs +1 -0
  264. package/dist/logic/valueFormatters.d.ts +9 -0
  265. package/dist/logic/valueFormatters.js +17 -0
  266. package/dist/logic/valueStore.cjs +1 -0
  267. package/dist/logic/valueStore.d.ts +6 -0
  268. package/dist/logic/valueStore.js +18 -0
  269. package/dist/logic/verticalGeometry.cjs +1 -0
  270. package/dist/logic/verticalGeometry.d.ts +58 -0
  271. package/dist/logic/verticalGeometry.js +90 -0
  272. package/dist/model/gridActions.cjs +1 -0
  273. package/dist/model/gridActions.d.ts +125 -0
  274. package/dist/model/gridActions.js +114 -0
  275. package/dist/model/gridReducer.cjs +1 -0
  276. package/dist/model/gridReducer.d.ts +4 -0
  277. package/dist/model/gridReducer.js +247 -0
  278. package/dist/model/gridSelectors.cjs +1 -0
  279. package/dist/model/gridSelectors.d.ts +40 -0
  280. package/dist/model/gridSelectors.js +68 -0
  281. package/dist/model/gridStore.cjs +1 -0
  282. package/dist/model/gridStore.d.ts +24 -0
  283. package/dist/model/gridStore.js +38 -0
  284. package/dist/model/gridTypes.core.cjs +1 -0
  285. package/dist/model/gridTypes.core.d.ts +797 -0
  286. package/dist/model/gridTypes.core.js +0 -0
  287. package/dist/model/gridTypes.unbound.cjs +1 -0
  288. package/dist/model/gridTypes.unbound.d.ts +31 -0
  289. package/dist/model/gridTypes.unbound.js +0 -0
  290. package/dist/testing/index.cjs +1 -0
  291. package/dist/testing/index.d.ts +5 -0
  292. package/dist/testing/index.js +51 -0
  293. package/dist/utils/clipboard.cjs +7 -0
  294. package/dist/utils/clipboard.d.ts +29 -0
  295. package/dist/utils/clipboard.js +110 -0
  296. package/dist/utils/excelColumnName.cjs +1 -0
  297. package/dist/utils/excelColumnName.d.ts +1 -0
  298. package/dist/utils/excelColumnName.js +9 -0
  299. package/dist/utils/permissions.cjs +1 -0
  300. package/dist/utils/permissions.d.ts +4 -0
  301. package/dist/utils/permissions.js +7 -0
  302. package/dist/utils/scheduler.cjs +1 -0
  303. package/dist/utils/scheduler.d.ts +1 -0
  304. package/dist/utils/scheduler.js +13 -0
  305. package/package.json +58 -0
@@ -0,0 +1,14 @@
1
+ //#region src/logic/setFilterSearch.ts
2
+ var e = (e, t) => {
3
+ let n = t.trim().toLowerCase();
4
+ return n ? e.filter((e) => e.label.toLowerCase().includes(n)) : e;
5
+ }, t = (t, n) => {
6
+ if (!n.trim()) return { kind: "close" };
7
+ let r = e(t, n);
8
+ return r.length === 0 ? { kind: "none" } : {
9
+ kind: "replace",
10
+ values: r.map((e) => e.value)
11
+ };
12
+ };
13
+ //#endregion
14
+ export { e as filterSetOptionsBySearch, t as resolveSetFilterEnterAction };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t)=>e===null?!0:e.mode===`include`?e.values.has(t):!e.values.has(t);exports.isSetValueSelected=e;
@@ -0,0 +1,5 @@
1
+ export type ColumnFilterSetSelection = {
2
+ mode: 'include' | 'exclude';
3
+ values: ReadonlySet<string>;
4
+ };
5
+ export declare const isSetValueSelected: (selection: ColumnFilterSetSelection | null, value: string) => boolean;
@@ -0,0 +1,4 @@
1
+ //#region src/logic/setFilterSelection.ts
2
+ var e = (e, t) => e === null ? !0 : e.mode === "include" ? e.values.has(t) : !e.values.has(t);
3
+ //#endregion
4
+ export { e as isSetValueSelected };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=e=>e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`);function t(t,n,r){if(r){for(let e of r.classNames)t.classList.remove(e);for(let e of r.styleKeys)t.style.removeProperty(e)}let i=n?.className?n.className.split(/\s+/).filter(Boolean):[];i.length>0&&t.classList.add(...i);let a=[];if(n?.style)for(let[r,i]of Object.entries(n.style)){if(i==null)continue;let n=r.startsWith(`--`)?r:e(r);t.style.setProperty(n,String(i)),a.push(n)}return{classNames:i,styleKeys:a}}exports.applySlotToElement=t;
@@ -0,0 +1,8 @@
1
+ export type AppliedSlot = {
2
+ classNames: string[];
3
+ styleKeys: string[];
4
+ };
5
+ export declare function applySlotToElement(el: HTMLElement, slot: {
6
+ className?: string;
7
+ style?: object;
8
+ } | undefined, previous?: AppliedSlot): AppliedSlot;
@@ -0,0 +1,22 @@
1
+ //#region src/logic/slotDom.ts
2
+ var e = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`);
3
+ function t(t, n, r) {
4
+ if (r) {
5
+ for (let e of r.classNames) t.classList.remove(e);
6
+ for (let e of r.styleKeys) t.style.removeProperty(e);
7
+ }
8
+ let i = n?.className ? n.className.split(/\s+/).filter(Boolean) : [];
9
+ i.length > 0 && t.classList.add(...i);
10
+ let a = [];
11
+ if (n?.style) for (let [r, i] of Object.entries(n.style)) {
12
+ if (i == null) continue;
13
+ let n = r.startsWith("--") ? r : e(r);
14
+ t.style.setProperty(n, String(i)), a.push(n);
15
+ }
16
+ return {
17
+ classNames: i,
18
+ styleKeys: a
19
+ };
20
+ }
21
+ //#endregion
22
+ export { t as applySlotToElement };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.freeze({});function t(t){if(!t)return e;if(typeof t==`string`)return{className:t};let n=t.className||void 0,r=t.style??void 0;return n===void 0&&r===void 0?e:{className:n,style:r}}function n(e){return t(e).className}function r(e){return t(e).style}function i(...e){let t;for(let n of e)n&&(t=t===void 0?{...n}:Object.assign(t,n));return t}function a(e,t){if(e===t)return!0;if(!e||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;let i=e,a=t;for(let e of n)if(!Object.is(i[e],a[e]))return!1;return!0}function o(e,t,n){let r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;for(let r of i){if(!Object.prototype.hasOwnProperty.call(e,r))return!1;let i=e[r],o=t[r];if(n.has(r)){if(!a(i,o))return!1}else if(!Object.is(i,o))return!1}return!0}function s(e){let n={};if(!e)return n;for(let r of Object.keys(e)){let i=t(e[r]);(i.className!==void 0||i.style!==void 0)&&(n[r]=i)}return n}function c(e){return JSON.stringify(e??null)}function l(e){return s(JSON.parse(e))}function u(e){return t(JSON.parse(e))}exports.arePropsEqualWithStyleKeys=o,exports.mergeStyles=i,exports.resolveSlotFromSignature=u,exports.resolveSlotMap=s,exports.resolveSlotMapFromSignature=l,exports.resolveSlotProps=t,exports.serializeSlotValue=c,exports.shallowEqualStyle=a,exports.slotClassName=n,exports.slotStyle=r;
@@ -0,0 +1,18 @@
1
+ export type SlotPropsLike<S> = string | {
2
+ className?: string;
3
+ style?: S;
4
+ };
5
+ export type ResolvedSlotProps<S> = {
6
+ className?: string;
7
+ style?: S;
8
+ };
9
+ export declare function resolveSlotProps<S>(slot: SlotPropsLike<S> | null | undefined | false): ResolvedSlotProps<S>;
10
+ export declare function slotClassName<S>(slot: SlotPropsLike<S> | null | undefined | false): string | undefined;
11
+ export declare function slotStyle<S>(slot: SlotPropsLike<S> | null | undefined | false): S | undefined;
12
+ export declare function mergeStyles<S extends object>(...styles: Array<S | undefined | null | false>): S | undefined;
13
+ export declare function shallowEqualStyle<S extends object>(a: S | undefined, b: S | undefined): boolean;
14
+ export declare function arePropsEqualWithStyleKeys<P extends object>(prev: P, next: P, styleKeys: ReadonlySet<keyof P>): boolean;
15
+ export declare function resolveSlotMap<K extends string, S>(map: Partial<Record<K, SlotPropsLike<S> | undefined>> | null | undefined): Partial<Record<K, ResolvedSlotProps<S>>>;
16
+ export declare function serializeSlotValue(value: unknown): string;
17
+ export declare function resolveSlotMapFromSignature<K extends string, S>(signature: string): Partial<Record<K, ResolvedSlotProps<S>>>;
18
+ export declare function resolveSlotFromSignature<S>(signature: string): ResolvedSlotProps<S>;
@@ -0,0 +1,63 @@
1
+ //#region src/logic/slotProps.ts
2
+ var e = Object.freeze({});
3
+ function t(t) {
4
+ if (!t) return e;
5
+ if (typeof t == "string") return { className: t };
6
+ let n = t.className || void 0, r = t.style ?? void 0;
7
+ return n === void 0 && r === void 0 ? e : {
8
+ className: n,
9
+ style: r
10
+ };
11
+ }
12
+ function n(e) {
13
+ return t(e).className;
14
+ }
15
+ function r(e) {
16
+ return t(e).style;
17
+ }
18
+ function i(...e) {
19
+ let t;
20
+ for (let n of e) n && (t = t === void 0 ? { ...n } : Object.assign(t, n));
21
+ return t;
22
+ }
23
+ function a(e, t) {
24
+ if (e === t) return !0;
25
+ if (!e || !t) return !1;
26
+ let n = Object.keys(e), r = Object.keys(t);
27
+ if (n.length !== r.length) return !1;
28
+ let i = e, a = t;
29
+ for (let e of n) if (!Object.is(i[e], a[e])) return !1;
30
+ return !0;
31
+ }
32
+ function o(e, t, n) {
33
+ let r = Object.keys(e), i = Object.keys(t);
34
+ if (r.length !== i.length) return !1;
35
+ for (let r of i) {
36
+ if (!Object.prototype.hasOwnProperty.call(e, r)) return !1;
37
+ let i = e[r], o = t[r];
38
+ if (n.has(r)) {
39
+ if (!a(i, o)) return !1;
40
+ } else if (!Object.is(i, o)) return !1;
41
+ }
42
+ return !0;
43
+ }
44
+ function s(e) {
45
+ let n = {};
46
+ if (!e) return n;
47
+ for (let r of Object.keys(e)) {
48
+ let i = t(e[r]);
49
+ (i.className !== void 0 || i.style !== void 0) && (n[r] = i);
50
+ }
51
+ return n;
52
+ }
53
+ function c(e) {
54
+ return JSON.stringify(e ?? null);
55
+ }
56
+ function l(e) {
57
+ return s(JSON.parse(e));
58
+ }
59
+ function u(e) {
60
+ return t(JSON.parse(e));
61
+ }
62
+ //#endregion
63
+ export { o as arePropsEqualWithStyleKeys, i as mergeStyles, u as resolveSlotFromSignature, s as resolveSlotMap, l as resolveSlotMapFromSignature, t as resolveSlotProps, c as serializeSlotValue, a as shallowEqualStyle, n as slotClassName, r as slotStyle };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils/permissions.cjs");var t=new Intl.Collator(`ja`,{numeric:!0,sensitivity:`base`}),n=(e,n)=>{let r=Number(e),i=Number(n);return Number.isFinite(r)&&Number.isFinite(i)?r-i:t.compare(String(e??``),String(n??``))},r=(e,t,n,r)=>{if(!r)return e.length===1&&e[0].columnKey===t&&e[0].direction===n?[]:[{columnKey:t,direction:n}];let i=e.findIndex(e=>e.columnKey===t);return i===-1?[...e,{columnKey:t,direction:n}]:e[i].direction===n?e.filter((e,t)=>t!==i):e.map((e,r)=>r===i?{columnKey:t,direction:n}:e)},i=(e,t,n)=>e.some(e=>e.columnKey===t)?e:[...e,{columnKey:t,direction:n}],a=(e,t,n)=>t<0||t>=e.length||e[t].direction===n?e:e.map((e,r)=>r===t?{...e,direction:n}:e),o=(e,t,n)=>t<0||t>=e.length||e[t].columnKey===n?e:e.map((e,r)=>r===t?{...e,columnKey:n}:e).filter((e,r)=>r===t||e.columnKey!==n),s=(e,t)=>t<0||t>=e.length?e:e.filter((e,n)=>n!==t),c=(e,t,n)=>{if(t<0||t>=e.length||n<0||n>=e.length||t===n)return e;let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r},l=(t,r,i,a)=>{if(a.length===0)return r;let o=a.map(e=>{let t=i.find(t=>t.key===e.columnKey);return t?{column:t,multiplier:e.direction===`asc`?1:-1}:null}).filter(e=>e!==null);if(o.length===0)return r;let s=r.length,c=o.length,l=o.map(e=>e.multiplier),u=Array(c),d=!0;for(let n=0;n<c;n+=1){let i=o[n].column,a=new Float64Array(s),c=!0;for(let n=0;n<s;n+=1){let o=Number(e.getCellValue(t[r[n]],i));if(!Number.isFinite(o)){c=!1;break}a[n]=o}if(!c){d=!1;break}u[n]=a}let f=Array(s);for(let e=0;e<s;e+=1)f[e]=e;if(d)if(c===1){let e=u[0],t=l[0];f.sort((n,i)=>{let a=e[n]-e[i];return a===0?r[n]-r[i]:a*t})}else f.sort((e,t)=>{for(let n=0;n<c;n+=1){let r=u[n][e]-u[n][t];if(r!==0)return r*l[n]}return r[e]-r[t]});else{let i=o.map(({column:n})=>{let i=Array(s);for(let a=0;a<s;a+=1)i[a]=e.getCellValue(t[r[a]],n);return i});f.sort((e,t)=>{for(let r=0;r<c;r+=1){let a=n(i[r][e],i[r][t]);if(a!==0)return a*l[r]}return r[e]-r[t]})}let p=new Int32Array(s);for(let e=0;e<s;e+=1)p[e]=r[f[e]];return p};exports.STRING_COLLATOR=t,exports.addSortEntry=i,exports.compareUnknownValues=n,exports.moveSortEntry=c,exports.nextSortEntries=r,exports.removeSortEntryAt=s,exports.setSortEntryColumn=o,exports.setSortEntryDirection=a,exports.sortOrder=l;
@@ -0,0 +1,11 @@
1
+ import type { GridColumn, GridSortState } from '../model/gridTypes.unbound';
2
+ import type { RowOrder } from './filtering';
3
+ export declare const STRING_COLLATOR: Intl.Collator;
4
+ export declare const compareUnknownValues: (left: unknown, right: unknown) => number;
5
+ export declare const nextSortEntries: (current: GridSortState, columnKey: string, direction: "asc" | "desc", additive: boolean) => GridSortState;
6
+ export declare const addSortEntry: (current: GridSortState, columnKey: string, direction: "asc" | "desc") => GridSortState;
7
+ export declare const setSortEntryDirection: (current: GridSortState, index: number, direction: "asc" | "desc") => GridSortState;
8
+ export declare const setSortEntryColumn: (current: GridSortState, index: number, columnKey: string) => GridSortState;
9
+ export declare const removeSortEntryAt: (current: GridSortState, index: number) => GridSortState;
10
+ export declare const moveSortEntry: (current: GridSortState, from: number, to: number) => GridSortState;
11
+ export declare const sortOrder: <T>(rows: T[], order: RowOrder, columns: GridColumn<T>[], sort: GridSortState) => RowOrder;
@@ -0,0 +1,96 @@
1
+ import { getCellValue as e } from "../utils/permissions.js";
2
+ //#region src/logic/sorting.ts
3
+ var t = new Intl.Collator("ja", {
4
+ numeric: !0,
5
+ sensitivity: "base"
6
+ }), n = (e, n) => {
7
+ let r = Number(e), i = Number(n);
8
+ return Number.isFinite(r) && Number.isFinite(i) ? r - i : t.compare(String(e ?? ""), String(n ?? ""));
9
+ }, r = (e, t, n, r) => {
10
+ if (!r) return e.length === 1 && e[0].columnKey === t && e[0].direction === n ? [] : [{
11
+ columnKey: t,
12
+ direction: n
13
+ }];
14
+ let i = e.findIndex((e) => e.columnKey === t);
15
+ return i === -1 ? [...e, {
16
+ columnKey: t,
17
+ direction: n
18
+ }] : e[i].direction === n ? e.filter((e, t) => t !== i) : e.map((e, r) => r === i ? {
19
+ columnKey: t,
20
+ direction: n
21
+ } : e);
22
+ }, i = (e, t, n) => e.some((e) => e.columnKey === t) ? e : [...e, {
23
+ columnKey: t,
24
+ direction: n
25
+ }], a = (e, t, n) => t < 0 || t >= e.length || e[t].direction === n ? e : e.map((e, r) => r === t ? {
26
+ ...e,
27
+ direction: n
28
+ } : e), o = (e, t, n) => t < 0 || t >= e.length || e[t].columnKey === n ? e : e.map((e, r) => r === t ? {
29
+ ...e,
30
+ columnKey: n
31
+ } : e).filter((e, r) => r === t || e.columnKey !== n), s = (e, t) => t < 0 || t >= e.length ? e : e.filter((e, n) => n !== t), c = (e, t, n) => {
32
+ if (t < 0 || t >= e.length || n < 0 || n >= e.length || t === n) return e;
33
+ let r = [...e], [i] = r.splice(t, 1);
34
+ return r.splice(n, 0, i), r;
35
+ }, l = (t, r, i, a) => {
36
+ if (a.length === 0) return r;
37
+ let o = a.map((e) => {
38
+ let t = i.find((t) => t.key === e.columnKey);
39
+ return t ? {
40
+ column: t,
41
+ multiplier: e.direction === "asc" ? 1 : -1
42
+ } : null;
43
+ }).filter((e) => e !== null);
44
+ if (o.length === 0) return r;
45
+ let s = r.length, c = o.length, l = o.map((e) => e.multiplier), u = Array(c), d = !0;
46
+ for (let n = 0; n < c; n += 1) {
47
+ let i = o[n].column, a = new Float64Array(s), c = !0;
48
+ for (let n = 0; n < s; n += 1) {
49
+ let o = Number(e(t[r[n]], i));
50
+ if (!Number.isFinite(o)) {
51
+ c = !1;
52
+ break;
53
+ }
54
+ a[n] = o;
55
+ }
56
+ if (!c) {
57
+ d = !1;
58
+ break;
59
+ }
60
+ u[n] = a;
61
+ }
62
+ let f = Array(s);
63
+ for (let e = 0; e < s; e += 1) f[e] = e;
64
+ if (d) if (c === 1) {
65
+ let e = u[0], t = l[0];
66
+ f.sort((n, i) => {
67
+ let a = e[n] - e[i];
68
+ return a === 0 ? r[n] - r[i] : a * t;
69
+ });
70
+ } else f.sort((e, t) => {
71
+ for (let n = 0; n < c; n += 1) {
72
+ let r = u[n][e] - u[n][t];
73
+ if (r !== 0) return r * l[n];
74
+ }
75
+ return r[e] - r[t];
76
+ });
77
+ else {
78
+ let i = o.map(({ column: n }) => {
79
+ let i = Array(s);
80
+ for (let a = 0; a < s; a += 1) i[a] = e(t[r[a]], n);
81
+ return i;
82
+ });
83
+ f.sort((e, t) => {
84
+ for (let r = 0; r < c; r += 1) {
85
+ let a = n(i[r][e], i[r][t]);
86
+ if (a !== 0) return a * l[r];
87
+ }
88
+ return r[e] - r[t];
89
+ });
90
+ }
91
+ let p = new Int32Array(s);
92
+ for (let e = 0; e < s; e += 1) p[e] = r[f[e]];
93
+ return p;
94
+ };
95
+ //#endregion
96
+ export { t as STRING_COLLATOR, i as addSortEntry, n as compareUnknownValues, c as moveSortEntry, r as nextSortEntries, s as removeSortEntryAt, o as setSortEntryColumn, a as setSortEntryDirection, l as sortOrder };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./filtering.cjs");var t={operator:`contains`,value:``},n=[{value:`contains`,label:`を含む`},{value:`equals`,label:`に等しい`},{value:`startsWith`,label:`で始まる`},{value:`endsWith`,label:`で終わる`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`空白でない`}],r=e=>e===`blank`||e===`notBlank`?0:1,i=e=>{if(e.operator===`blank`||e.operator===`notBlank`)return{mode:e.operator};let t=e.value.trim();return t?{mode:e.operator,value:t}:null},a=e=>{switch(e.mode){case`contains`:return`"${e.value}" を含む`;case`equals`:return`"${e.value}" に等しい`;case`startsWith`:return`"${e.value}" で始まる`;case`endsWith`:return`"${e.value}" で終わる`;case`blank`:return`(空白)`;case`notBlank`:return`(空白でない)`}},o=e=>e?e.mode===`blank`||e.mode===`notBlank`?{operator:e.mode,value:``}:{operator:e.mode,value:e.value}:t,s=(t,n)=>n?t.filter(t=>e.matchesParsedTextFilter(n,t.value)):t;exports.DEFAULT_TEXT_FILTER_DRAFT=t,exports.TEXT_FILTER_OPERATOR_OPTIONS=n,exports.buildParsedTextFilterFromDraft=i,exports.filterOptionsByTextCondition=s,exports.formatParsedTextFilter=a,exports.parsedTextFilterToConditionDraft=o,exports.textFilterOperandCount=r;
@@ -0,0 +1,18 @@
1
+ import type { ParsedTextFilter } from '../model/gridTypes.unbound';
2
+ export type TextFilterOperator = 'contains' | 'equals' | 'startsWith' | 'endsWith' | 'blank' | 'notBlank';
3
+ export type TextFilterConditionDraft = {
4
+ operator: TextFilterOperator;
5
+ value: string;
6
+ };
7
+ export declare const DEFAULT_TEXT_FILTER_DRAFT: TextFilterConditionDraft;
8
+ export declare const TEXT_FILTER_OPERATOR_OPTIONS: ReadonlyArray<{
9
+ value: TextFilterOperator;
10
+ label: string;
11
+ }>;
12
+ export declare const textFilterOperandCount: (operator: TextFilterOperator) => 0 | 1;
13
+ export declare const buildParsedTextFilterFromDraft: (draft: TextFilterConditionDraft) => ParsedTextFilter | null;
14
+ export declare const formatParsedTextFilter: (parsed: ParsedTextFilter) => string;
15
+ export declare const parsedTextFilterToConditionDraft: (parsed: ParsedTextFilter | null | undefined) => TextFilterConditionDraft;
16
+ export declare const filterOptionsByTextCondition: <O extends {
17
+ value: string;
18
+ }>(options: O[], condition: ParsedTextFilter | null) => O[];
@@ -0,0 +1,55 @@
1
+ import { matchesParsedTextFilter as e } from "./filtering.js";
2
+ //#region src/logic/textFilterCondition.ts
3
+ var t = {
4
+ operator: "contains",
5
+ value: ""
6
+ }, n = [
7
+ {
8
+ value: "contains",
9
+ label: "を含む"
10
+ },
11
+ {
12
+ value: "equals",
13
+ label: "に等しい"
14
+ },
15
+ {
16
+ value: "startsWith",
17
+ label: "で始まる"
18
+ },
19
+ {
20
+ value: "endsWith",
21
+ label: "で終わる"
22
+ },
23
+ {
24
+ value: "blank",
25
+ label: "空白"
26
+ },
27
+ {
28
+ value: "notBlank",
29
+ label: "空白でない"
30
+ }
31
+ ], r = (e) => e === "blank" || e === "notBlank" ? 0 : 1, i = (e) => {
32
+ if (e.operator === "blank" || e.operator === "notBlank") return { mode: e.operator };
33
+ let t = e.value.trim();
34
+ return t ? {
35
+ mode: e.operator,
36
+ value: t
37
+ } : null;
38
+ }, a = (e) => {
39
+ switch (e.mode) {
40
+ case "contains": return `"${e.value}" を含む`;
41
+ case "equals": return `"${e.value}" に等しい`;
42
+ case "startsWith": return `"${e.value}" で始まる`;
43
+ case "endsWith": return `"${e.value}" で終わる`;
44
+ case "blank": return "(空白)";
45
+ case "notBlank": return "(空白でない)";
46
+ }
47
+ }, o = (e) => e ? e.mode === "blank" || e.mode === "notBlank" ? {
48
+ operator: e.mode,
49
+ value: ""
50
+ } : {
51
+ operator: e.mode,
52
+ value: e.value
53
+ } : t, s = (t, n) => n ? t.filter((t) => e(n, t.value)) : t;
54
+ //#endregion
55
+ export { t as DEFAULT_TEXT_FILTER_DRAFT, n as TEXT_FILTER_OPERATOR_OPTIONS, i as buildParsedTextFilterFromDraft, s as filterOptionsByTextCondition, a as formatParsedTextFilter, o as parsedTextFilterToConditionDraft, r as textFilterOperandCount };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t)=>e===`dark`||e===`auto`&&t?`dark`:`light`;exports.resolveGridTheme=e;
@@ -0,0 +1,3 @@
1
+ import type { GridTheme } from '../model/gridTypes.unbound';
2
+ export type ResolvedGridTheme = 'light' | 'dark';
3
+ export declare const resolveGridTheme: (theme: GridTheme, systemPrefersDark: boolean) => ResolvedGridTheme;
@@ -0,0 +1,4 @@
1
+ //#region src/logic/theme.ts
2
+ var e = (e, t) => e === "dark" || e === "auto" && t ? "dark" : "light";
3
+ //#endregion
4
+ export { e as resolveGridTheme };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=7,t=8;function n(e){let{targetRect:t,tipWidth:n,tipHeight:r,viewportWidth:i}=e,a=t.left+t.width/2,o=Math.max(8,Math.min(Math.round(a-n/2),i-n-8)),s=Math.round(t.top-r-7);return s<8?{top:Math.round(t.bottom+7),left:o,below:!0}:{top:s,left:o,below:!1}}exports.TOOLTIP_GAP_PX=e,exports.TOOLTIP_VIEWPORT_MARGIN_PX=t,exports.computeTooltipPlacement=n;
@@ -0,0 +1,19 @@
1
+ export declare const TOOLTIP_GAP_PX = 7;
2
+ export declare const TOOLTIP_VIEWPORT_MARGIN_PX = 8;
3
+ export type TooltipPlacementArgs = {
4
+ targetRect: {
5
+ top: number;
6
+ left: number;
7
+ width: number;
8
+ bottom: number;
9
+ };
10
+ tipWidth: number;
11
+ tipHeight: number;
12
+ viewportWidth: number;
13
+ };
14
+ export type TooltipPlacement = {
15
+ top: number;
16
+ left: number;
17
+ below: boolean;
18
+ };
19
+ export declare function computeTooltipPlacement(args: TooltipPlacementArgs): TooltipPlacement;
@@ -0,0 +1,16 @@
1
+ //#region src/logic/tooltipGeometry.ts
2
+ var e = 7, t = 8;
3
+ function n(e) {
4
+ let { targetRect: t, tipWidth: n, tipHeight: r, viewportWidth: i } = e, a = t.left + t.width / 2, o = Math.max(8, Math.min(Math.round(a - n / 2), i - n - 8)), s = Math.round(t.top - r - 7);
5
+ return s < 8 ? {
6
+ top: Math.round(t.bottom + 7),
7
+ left: o,
8
+ below: !0
9
+ } : {
10
+ top: s,
11
+ left: o,
12
+ below: !1
13
+ };
14
+ }
15
+ //#endregion
16
+ export { e as TOOLTIP_GAP_PX, t as TOOLTIP_VIEWPORT_MARGIN_PX, n as computeTooltipPlacement };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../utils/permissions.cjs");var t=`入力値が不正です`,n=e=>e===!0?{valid:!0,message:``}:e===!1?{valid:!1,message:t}:typeof e==`string`?{valid:!1,message:e||`入力値が不正です`}:{valid:!1,message:e.message||`入力値が不正です`},r=(e,t,r)=>{if(!e.validate)return null;let i=n(e.validate({value:r,row:t,column:e}));return i.valid?null:i.message},i=(e,t,n)=>{if((e.validationMode??`mark`)!==`reject`)return{action:`write`};let i=r(e,t,n);return i===null?{action:`write`}:{action:`reject`,message:i}},a=(t,n,i)=>{let a=n.filter(e=>e.validate);if(a.length===0)return[];let o=[];return t.forEach((t,n)=>{for(let s of a){let a=r(s,t,e.getCellValue(t,s));a!==null&&o.push({rowKey:i(t,n)??n,sourceRowIndex:n,columnKey:s.key,message:a})}}),o};exports.DEFAULT_INVALID_MESSAGE=t,exports.decideCellWrite=i,exports.getInvalidMessage=r,exports.normalizeValidationResult=n,exports.scanInvalidCells=a;
@@ -0,0 +1,14 @@
1
+ import type { CellValidationResult, GridColumn, GridInvalidCell, GridRowKey } from '../model/gridTypes.unbound';
2
+ export declare const DEFAULT_INVALID_MESSAGE = "\u5165\u529B\u5024\u304C\u4E0D\u6B63\u3067\u3059";
3
+ export declare const normalizeValidationResult: (result: CellValidationResult) => {
4
+ valid: boolean;
5
+ message: string;
6
+ };
7
+ export declare const getInvalidMessage: <T>(column: GridColumn<T>, row: T, value: unknown) => string | null;
8
+ export declare const decideCellWrite: <T>(column: GridColumn<T>, row: T, value: unknown) => {
9
+ action: "write";
10
+ } | {
11
+ action: "reject";
12
+ message: string;
13
+ };
14
+ export declare const scanInvalidCells: <T>(rows: T[], columns: GridColumn<T>[], getRowKey: (row: T, sourceRowIndex: number) => GridRowKey | undefined) => GridInvalidCell[];
@@ -0,0 +1,47 @@
1
+ import { getCellValue as e } from "../utils/permissions.js";
2
+ //#region src/logic/validation.ts
3
+ var t = "入力値が不正です", n = (e) => e === !0 ? {
4
+ valid: !0,
5
+ message: ""
6
+ } : e === !1 ? {
7
+ valid: !1,
8
+ message: t
9
+ } : typeof e == "string" ? {
10
+ valid: !1,
11
+ message: e || "入力値が不正です"
12
+ } : {
13
+ valid: !1,
14
+ message: e.message || "入力値が不正です"
15
+ }, r = (e, t, r) => {
16
+ if (!e.validate) return null;
17
+ let i = n(e.validate({
18
+ value: r,
19
+ row: t,
20
+ column: e
21
+ }));
22
+ return i.valid ? null : i.message;
23
+ }, i = (e, t, n) => {
24
+ if ((e.validationMode ?? "mark") !== "reject") return { action: "write" };
25
+ let i = r(e, t, n);
26
+ return i === null ? { action: "write" } : {
27
+ action: "reject",
28
+ message: i
29
+ };
30
+ }, a = (t, n, i) => {
31
+ let a = n.filter((e) => e.validate);
32
+ if (a.length === 0) return [];
33
+ let o = [];
34
+ return t.forEach((t, n) => {
35
+ for (let s of a) {
36
+ let a = r(s, t, e(t, s));
37
+ a !== null && o.push({
38
+ rowKey: i(t, n) ?? n,
39
+ sourceRowIndex: n,
40
+ columnKey: s.key,
41
+ message: a
42
+ });
43
+ }
44
+ }), o;
45
+ };
46
+ //#endregion
47
+ export { t as DEFAULT_INVALID_MESSAGE, i as decideCellWrite, r as getInvalidMessage, n as normalizeValidationResult, a as scanInvalidCells };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e={}){let{locale:t,useGrouping:n=!0,minimumFractionDigits:r,maximumFractionDigits:i,emptyText:a=``}=e;return({value:e})=>{if(e==null||e===``)return a;let o=typeof e==`number`?e:Number(e);if(!Number.isFinite(o))return String(e);let s=Math.abs(o).toString(),c=s.indexOf(`.`),l=c===-1?0:s.length-c-1,u=r??0,d=Math.max(u,i??Math.min(l,20));return new Intl.NumberFormat(t,{useGrouping:n,minimumFractionDigits:u,maximumFractionDigits:d}).format(o)}}exports.numberFormatter=e;
@@ -0,0 +1,9 @@
1
+ import type { CellValueFormatter } from '../model/gridTypes.unbound';
2
+ export type NumberFormatterOptions = {
3
+ locale?: string;
4
+ useGrouping?: boolean;
5
+ minimumFractionDigits?: number;
6
+ maximumFractionDigits?: number;
7
+ emptyText?: string;
8
+ };
9
+ export declare function numberFormatter<T>(options?: NumberFormatterOptions): CellValueFormatter<T>;
@@ -0,0 +1,17 @@
1
+ //#region src/logic/valueFormatters.ts
2
+ function e(e = {}) {
3
+ let { locale: t, useGrouping: n = !0, minimumFractionDigits: r, maximumFractionDigits: i, emptyText: a = "" } = e;
4
+ return ({ value: e }) => {
5
+ if (e == null || e === "") return a;
6
+ let o = typeof e == "number" ? e : Number(e);
7
+ if (!Number.isFinite(o)) return String(e);
8
+ let s = Math.abs(o).toString(), c = s.indexOf("."), l = c === -1 ? 0 : s.length - c - 1, u = r ?? 0, d = Math.max(u, i ?? Math.min(l, 20));
9
+ return new Intl.NumberFormat(t, {
10
+ useGrouping: n,
11
+ minimumFractionDigits: u,
12
+ maximumFractionDigits: d
13
+ }).format(o);
14
+ };
15
+ }
16
+ //#endregion
17
+ export { e as numberFormatter };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=e=>{let t=e,n=new Set;return{getSnapshot:()=>t,setSnapshot:e=>{if(!Object.is(e,t)){t=e;for(let e of Array.from(n))e()}},subscribe:e=>(n.add(e),()=>{n.delete(e)})}};exports.createValueStore=e;
@@ -0,0 +1,6 @@
1
+ export type ValueStore<S> = {
2
+ getSnapshot: () => S;
3
+ setSnapshot: (next: S) => void;
4
+ subscribe: (listener: () => void) => () => void;
5
+ };
6
+ export declare const createValueStore: <S>(initial: S) => ValueStore<S>;
@@ -0,0 +1,18 @@
1
+ //#region src/logic/valueStore.ts
2
+ var e = (e) => {
3
+ let t = e, n = /* @__PURE__ */ new Set();
4
+ return {
5
+ getSnapshot: () => t,
6
+ setSnapshot: (e) => {
7
+ if (!Object.is(e, t)) {
8
+ t = e;
9
+ for (let e of Array.from(n)) e();
10
+ }
11
+ },
12
+ subscribe: (e) => (n.add(e), () => {
13
+ n.delete(e);
14
+ })
15
+ };
16
+ };
17
+ //#endregion
18
+ export { e as createValueStore };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=15e6,t=5e4,n=(e,t,n,r)=>e&&t&&n>0&&n<=r,r=1<<20,i=(e,t)=>({rowCount:e,rowTop:e=>e*t,rowsHeight:(e,n)=>(n-e+1)*t,totalBodyHeight:e*t,rowAtContentY:n=>Math.min(Math.max(Math.floor(n/t),0),Math.max(e-1,0)),cellHeight:()=>t,detailHeight:()=>0}),a=(e,t)=>{let n=t.filter(t=>t.height>0&&t.index>=0&&t.index<e.rowCount).sort((e,t)=>e.index-t.index),r=n.length,i=new Float64Array(r),a=new Float64Array(r+1);for(let e=0;e<r;e+=1)i[e]=n[e].index,a[e+1]=a[e]+n[e].height;let o=a[r],{rowCount:s}=e,c=e=>{let t=0,n=r;for(;t<n;){let r=t+n>>>1;i[r]<e?t=r+1:n=r}return t},l=t=>{let n=Math.min(Math.max(t,0),s);return(n===s?e.totalBodyHeight:e.rowTop(n))+a[c(n)]};return{rowCount:s,rowTop:l,rowsHeight:(e,t)=>l(t+1)-l(e),totalBodyHeight:e.totalBodyHeight+o,rowAtContentY:e=>{if(s<=0||e<=0)return 0;let t=0,n=s-1;for(;t<n;){let r=t+n+1>>>1;l(r)<=e?t=r:n=r-1}return t},cellHeight:t=>e.cellHeight(t),detailHeight:e=>{let t=c(e);return t<r&&i[t]===e?a[t+1]-a[t]:0}}},o=(e,t,n,r)=>{if(r<n)return null;let i=Math.max(e,n),a=Math.min(t,r);return i>a?null:{start:i,end:a}},s=(e,t)=>e*t,c=(e,t)=>t===1?e:e/t,l=(e,t,n,r)=>{let i=t*(1-n);return r.rowAtContentY(e-i)},u=({rowCount:e,rowHeight:t,headerHeight:n,viewportHeight:i,scrollTop:a,overscan:o,maxBodyPx:s})=>{let c=e*t,l=Math.min(c,s),u=Math.max(n+c-i,0),d=Math.max(n+l-i,0),f=d>0&&c>l?u/d:1,p=Math.min(Math.max(a,0),d),m=p*f,h=Math.ceil(i/t)+1,g=Math.floor(m/t),_=Math.max(g-o,0),v=Math.min(g+h+o,e),y=f===1?0:Math.floor(_*t/r)*r,b=p-m+y,x=[],S=new Set;for(let e=_;e<v;e+=1)x.push({index:e,start:n+e*t-y}),S.add(e);return{physicalBodyHeight:l,logicalBodyHeight:c,scaleFactor:f,translateY:b,windowBaseOffsetPx:y,rows:x,rowIndexSet:S}},d=({headerHeight:e,viewportHeight:t,scrollTop:n,overscan:r},i)=>{let a=i.rowCount,o=i.totalBodyHeight,s=o,c=Math.max(e+o-t,0),l=Math.min(Math.max(n,0),c),u=i.rowAtContentY(l),d=i.rowAtContentY(l+t),f=Math.max(u-r,0),p=Math.min(d+r+1,a),m=[],h=new Set;for(let t=f;t<p;t+=1){let n={index:t,start:e+i.rowTop(t),size:i.cellHeight(t)},r=i.detailHeight(t);r>0&&(n.detailSize=r),m.push(n),h.add(t)}return{physicalBodyHeight:s,logicalBodyHeight:o,scaleFactor:1,translateY:0,windowBaseOffsetPx:0,rows:m,rowIndexSet:h}};exports.AUTO_HEIGHT_MAX_ROWS=t,exports.MAX_BODY_PX=e,exports.WINDOW_BASE_CHUNK_PX=r,exports.clientYToRowIndex=l,exports.clipRowRangeToWindow=o,exports.computeAutoHeightVerticalGeometry=d,exports.computeVerticalGeometry=u,exports.createDetailRowMetrics=a,exports.createUniformRowMetrics=i,exports.logicalToPhysicalScrollTop=c,exports.physicalToLogicalScrollTop=s,exports.shouldUseAutoHeight=n;
@@ -0,0 +1,58 @@
1
+ export declare const MAX_BODY_PX = 15000000;
2
+ export declare const AUTO_HEIGHT_MAX_ROWS = 50000;
3
+ export declare const shouldUseAutoHeight: (autoHeightEnabled: boolean, hasAutoHeightColumn: boolean, viewRowCount: number, maxRows: number) => boolean;
4
+ export declare const WINDOW_BASE_CHUNK_PX: number;
5
+ export type VerticalRow = {
6
+ index: number;
7
+ start: number;
8
+ size?: number;
9
+ detailSize?: number;
10
+ };
11
+ export type VerticalGeometry = {
12
+ physicalBodyHeight: number;
13
+ logicalBodyHeight: number;
14
+ scaleFactor: number;
15
+ translateY: number;
16
+ windowBaseOffsetPx: number;
17
+ rows: VerticalRow[];
18
+ rowIndexSet: Set<number>;
19
+ };
20
+ export type ComputeVerticalGeometryArgs = {
21
+ rowCount: number;
22
+ rowHeight: number;
23
+ headerHeight: number;
24
+ viewportHeight: number;
25
+ scrollTop: number;
26
+ overscan: number;
27
+ maxBodyPx: number;
28
+ };
29
+ export type RowMetrics = {
30
+ rowCount: number;
31
+ rowTop(index: number): number;
32
+ rowsHeight(startInclusive: number, endInclusive: number): number;
33
+ totalBodyHeight: number;
34
+ rowAtContentY(y: number): number;
35
+ cellHeight(index: number): number;
36
+ detailHeight(index: number): number;
37
+ };
38
+ export declare const createUniformRowMetrics: (rowCount: number, rowHeight: number) => RowMetrics;
39
+ export type DetailRowExtra = {
40
+ index: number;
41
+ height: number;
42
+ };
43
+ export declare const createDetailRowMetrics: (base: RowMetrics, extras: readonly DetailRowExtra[]) => RowMetrics;
44
+ export declare const clipRowRangeToWindow: (selStartRow: number, selEndRow: number, windowFirstRow: number, windowLastRow: number) => {
45
+ start: number;
46
+ end: number;
47
+ } | null;
48
+ export declare const physicalToLogicalScrollTop: (physical: number, scaleFactor: number) => number;
49
+ export declare const logicalToPhysicalScrollTop: (logical: number, scaleFactor: number) => number;
50
+ export declare const clientYToRowIndex: (yRelativeToBodyTop: number, scrollTop: number, scaleFactor: number, rowMetrics: RowMetrics) => number;
51
+ export declare const computeVerticalGeometry: ({ rowCount, rowHeight, headerHeight, viewportHeight, scrollTop, overscan, maxBodyPx, }: ComputeVerticalGeometryArgs) => VerticalGeometry;
52
+ export type ComputeAutoHeightVerticalGeometryArgs = {
53
+ headerHeight: number;
54
+ viewportHeight: number;
55
+ scrollTop: number;
56
+ overscan: number;
57
+ };
58
+ export declare const computeAutoHeightVerticalGeometry: ({ headerHeight, viewportHeight, scrollTop, overscan, }: ComputeAutoHeightVerticalGeometryArgs, rowMetrics: RowMetrics) => VerticalGeometry;