@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.
- package/LICENSE +21 -0
- package/dist/controllers/autoHeightMeasurer.cjs +1 -0
- package/dist/controllers/autoHeightMeasurer.d.ts +30 -0
- package/dist/controllers/autoHeightMeasurer.js +74 -0
- package/dist/controllers/clipboardController.cjs +2 -0
- package/dist/controllers/clipboardController.d.ts +31 -0
- package/dist/controllers/clipboardController.js +88 -0
- package/dist/controllers/columnAutosizeRunner.cjs +1 -0
- package/dist/controllers/columnAutosizeRunner.d.ts +31 -0
- package/dist/controllers/columnAutosizeRunner.js +61 -0
- package/dist/controllers/columnHeaderDragController.cjs +1 -0
- package/dist/controllers/columnHeaderDragController.d.ts +44 -0
- package/dist/controllers/columnHeaderDragController.js +256 -0
- package/dist/controllers/columnMenuController.cjs +1 -0
- package/dist/controllers/columnMenuController.d.ts +49 -0
- package/dist/controllers/columnMenuController.js +110 -0
- package/dist/controllers/contextMenuController.cjs +1 -0
- package/dist/controllers/contextMenuController.d.ts +30 -0
- package/dist/controllers/contextMenuController.js +65 -0
- package/dist/controllers/debouncedValueStore.cjs +1 -0
- package/dist/controllers/debouncedValueStore.d.ts +11 -0
- package/dist/controllers/debouncedValueStore.js +22 -0
- package/dist/controllers/editController.cjs +1 -0
- package/dist/controllers/editController.d.ts +27 -0
- package/dist/controllers/editController.js +76 -0
- package/dist/controllers/filterPopoverController.cjs +1 -0
- package/dist/controllers/filterPopoverController.d.ts +53 -0
- package/dist/controllers/filterPopoverController.js +146 -0
- package/dist/controllers/globalFilteredOrder.cjs +1 -0
- package/dist/controllers/globalFilteredOrder.d.ts +38 -0
- package/dist/controllers/globalFilteredOrder.js +78 -0
- package/dist/controllers/historyController.cjs +1 -0
- package/dist/controllers/historyController.d.ts +28 -0
- package/dist/controllers/historyController.js +52 -0
- package/dist/controllers/keyboardController.cjs +1 -0
- package/dist/controllers/keyboardController.d.ts +36 -0
- package/dist/controllers/keyboardController.js +111 -0
- package/dist/controllers/panelHeaderDragController.cjs +1 -0
- package/dist/controllers/panelHeaderDragController.d.ts +21 -0
- package/dist/controllers/panelHeaderDragController.js +32 -0
- package/dist/controllers/pointerInteractionsController.cjs +1 -0
- package/dist/controllers/pointerInteractionsController.d.ts +74 -0
- package/dist/controllers/pointerInteractionsController.js +262 -0
- package/dist/controllers/popoverSupport.cjs +1 -0
- package/dist/controllers/popoverSupport.d.ts +18 -0
- package/dist/controllers/popoverSupport.js +25 -0
- package/dist/controllers/rowDragController.cjs +1 -0
- package/dist/controllers/rowDragController.d.ts +40 -0
- package/dist/controllers/rowDragController.js +192 -0
- package/dist/controllers/scrollSyncController.cjs +1 -0
- package/dist/controllers/scrollSyncController.d.ts +17 -0
- package/dist/controllers/scrollSyncController.js +51 -0
- package/dist/controllers/selectOptionsCollector.cjs +1 -0
- package/dist/controllers/selectOptionsCollector.d.ts +31 -0
- package/dist/controllers/selectOptionsCollector.js +88 -0
- package/dist/controllers/serverSideRowModel.cjs +1 -0
- package/dist/controllers/serverSideRowModel.d.ts +36 -0
- package/dist/controllers/serverSideRowModel.js +153 -0
- package/dist/controllers/systemColorSchemeStore.cjs +1 -0
- package/dist/controllers/systemColorSchemeStore.d.ts +5 -0
- package/dist/controllers/systemColorSchemeStore.js +18 -0
- package/dist/controllers/toolPanelController.cjs +1 -0
- package/dist/controllers/toolPanelController.d.ts +36 -0
- package/dist/controllers/toolPanelController.js +112 -0
- package/dist/controllers/tooltipController.cjs +1 -0
- package/dist/controllers/tooltipController.d.ts +6 -0
- package/dist/controllers/tooltipController.js +75 -0
- package/dist/controllers/viewportSyncController.cjs +1 -0
- package/dist/controllers/viewportSyncController.d.ts +30 -0
- package/dist/controllers/viewportSyncController.js +40 -0
- package/dist/engine/columnCommands.cjs +1 -0
- package/dist/engine/columnCommands.d.ts +56 -0
- package/dist/engine/columnCommands.js +199 -0
- package/dist/engine/columnLayout.cjs +1 -0
- package/dist/engine/columnLayout.d.ts +43 -0
- package/dist/engine/columnLayout.js +91 -0
- package/dist/engine/createGridEngine.cjs +1 -0
- package/dist/engine/createGridEngine.d.ts +46 -0
- package/dist/engine/createGridEngine.js +52 -0
- package/dist/engine/filterPopoverCommands.cjs +1 -0
- package/dist/engine/filterPopoverCommands.d.ts +56 -0
- package/dist/engine/filterPopoverCommands.js +303 -0
- package/dist/engine/gridApi.cjs +1 -0
- package/dist/engine/gridApi.d.ts +61 -0
- package/dist/engine/gridApi.js +389 -0
- package/dist/engine/memo.cjs +1 -0
- package/dist/engine/memo.d.ts +2 -0
- package/dist/engine/memo.js +18 -0
- package/dist/engine/notifiers.cjs +1 -0
- package/dist/engine/notifiers.d.ts +35 -0
- package/dist/engine/notifiers.js +34 -0
- package/dist/engine/rowPipeline.cjs +1 -0
- package/dist/engine/rowPipeline.d.ts +50 -0
- package/dist/engine/rowPipeline.js +84 -0
- package/dist/engine/rowSelectionCommands.cjs +1 -0
- package/dist/engine/rowSelectionCommands.d.ts +21 -0
- package/dist/engine/rowSelectionCommands.js +57 -0
- package/dist/engine/verticalLayout.cjs +1 -0
- package/dist/engine/verticalLayout.d.ts +52 -0
- package/dist/engine/verticalLayout.js +60 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +5 -0
- package/dist/logic/aggregation.cjs +1 -0
- package/dist/logic/aggregation.d.ts +13 -0
- package/dist/logic/aggregation.js +28 -0
- package/dist/logic/autoScrollGeometry.cjs +1 -0
- package/dist/logic/autoScrollGeometry.d.ts +27 -0
- package/dist/logic/autoScrollGeometry.js +19 -0
- package/dist/logic/autoSizeOnData.cjs +1 -0
- package/dist/logic/autoSizeOnData.d.ts +10 -0
- package/dist/logic/autoSizeOnData.js +19 -0
- package/dist/logic/cellOverflowTooltip.cjs +1 -0
- package/dist/logic/cellOverflowTooltip.d.ts +5 -0
- package/dist/logic/cellOverflowTooltip.js +4 -0
- package/dist/logic/checkboxEditor.cjs +1 -0
- package/dist/logic/checkboxEditor.d.ts +12 -0
- package/dist/logic/checkboxEditor.js +17 -0
- package/dist/logic/chunkedLoop.cjs +1 -0
- package/dist/logic/chunkedLoop.d.ts +8 -0
- package/dist/logic/chunkedLoop.js +18 -0
- package/dist/logic/clearCells.cjs +1 -0
- package/dist/logic/clearCells.d.ts +31 -0
- package/dist/logic/clearCells.js +91 -0
- package/dist/logic/columnAutosize.cjs +1 -0
- package/dist/logic/columnAutosize.d.ts +18 -0
- package/dist/logic/columnAutosize.js +150 -0
- package/dist/logic/columnFlex.cjs +1 -0
- package/dist/logic/columnFlex.d.ts +4 -0
- package/dist/logic/columnFlex.js +60 -0
- package/dist/logic/columnReset.cjs +1 -0
- package/dist/logic/columnReset.d.ts +7 -0
- package/dist/logic/columnReset.js +25 -0
- package/dist/logic/contextMenuTarget.cjs +1 -0
- package/dist/logic/contextMenuTarget.d.ts +4 -0
- package/dist/logic/contextMenuTarget.js +18 -0
- package/dist/logic/cx.cjs +1 -0
- package/dist/logic/cx.d.ts +1 -0
- package/dist/logic/cx.js +6 -0
- package/dist/logic/dateFilterCondition.cjs +1 -0
- package/dist/logic/dateFilterCondition.d.ts +26 -0
- package/dist/logic/dateFilterCondition.js +110 -0
- package/dist/logic/dateFilterPresets.cjs +1 -0
- package/dist/logic/dateFilterPresets.d.ts +13 -0
- package/dist/logic/dateFilterPresets.js +30 -0
- package/dist/logic/dateFilterTree.cjs +1 -0
- package/dist/logic/dateFilterTree.d.ts +17 -0
- package/dist/logic/dateFilterTree.js +75 -0
- package/dist/logic/datePickerCalendar.cjs +1 -0
- package/dist/logic/datePickerCalendar.d.ts +12 -0
- package/dist/logic/datePickerCalendar.js +41 -0
- package/dist/logic/detailRow.cjs +1 -0
- package/dist/logic/detailRow.d.ts +38 -0
- package/dist/logic/detailRow.js +78 -0
- package/dist/logic/domGuards.cjs +1 -0
- package/dist/logic/domGuards.d.ts +7 -0
- package/dist/logic/domGuards.js +4 -0
- package/dist/logic/editorValues.cjs +1 -0
- package/dist/logic/editorValues.d.ts +5 -0
- package/dist/logic/editorValues.js +32 -0
- package/dist/logic/exportCsv.cjs +3 -0
- package/dist/logic/exportCsv.d.ts +12 -0
- package/dist/logic/exportCsv.js +19 -0
- package/dist/logic/exportData.cjs +1 -0
- package/dist/logic/exportData.d.ts +9 -0
- package/dist/logic/exportData.js +24 -0
- package/dist/logic/exportScope.cjs +1 -0
- package/dist/logic/exportScope.d.ts +3 -0
- package/dist/logic/exportScope.js +4 -0
- package/dist/logic/filterPopoverLayout.cjs +1 -0
- package/dist/logic/filterPopoverLayout.d.ts +17 -0
- package/dist/logic/filterPopoverLayout.js +13 -0
- package/dist/logic/filterPopoverOutsideClick.cjs +1 -0
- package/dist/logic/filterPopoverOutsideClick.d.ts +2 -0
- package/dist/logic/filterPopoverOutsideClick.js +4 -0
- package/dist/logic/filterSummary.cjs +1 -0
- package/dist/logic/filterSummary.d.ts +3 -0
- package/dist/logic/filterSummary.js +22 -0
- package/dist/logic/filtering.cjs +1 -0
- package/dist/logic/filtering.d.ts +33 -0
- package/dist/logic/filtering.js +313 -0
- package/dist/logic/geometry.cjs +1 -0
- package/dist/logic/geometry.d.ts +72 -0
- package/dist/logic/geometry.js +161 -0
- package/dist/logic/gridState.cjs +1 -0
- package/dist/logic/gridState.d.ts +13 -0
- package/dist/logic/gridState.js +165 -0
- package/dist/logic/grouping.cjs +1 -0
- package/dist/logic/grouping.d.ts +34 -0
- package/dist/logic/grouping.js +93 -0
- package/dist/logic/history.cjs +1 -0
- package/dist/logic/history.d.ts +16 -0
- package/dist/logic/history.js +34 -0
- package/dist/logic/inferFilterType.cjs +1 -0
- package/dist/logic/inferFilterType.d.ts +19 -0
- package/dist/logic/inferFilterType.js +54 -0
- package/dist/logic/numberFilterCondition.cjs +1 -0
- package/dist/logic/numberFilterCondition.d.ts +21 -0
- package/dist/logic/numberFilterCondition.js +130 -0
- package/dist/logic/panelDragGeometry.cjs +1 -0
- package/dist/logic/panelDragGeometry.d.ts +13 -0
- package/dist/logic/panelDragGeometry.js +10 -0
- package/dist/logic/rowHeightStore.cjs +1 -0
- package/dist/logic/rowHeightStore.d.ts +13 -0
- package/dist/logic/rowHeightStore.js +41 -0
- package/dist/logic/rowReorder.cjs +1 -0
- package/dist/logic/rowReorder.d.ts +18 -0
- package/dist/logic/rowReorder.js +22 -0
- package/dist/logic/rowSelection.cjs +1 -0
- package/dist/logic/rowSelection.d.ts +16 -0
- package/dist/logic/rowSelection.js +49 -0
- package/dist/logic/scrollHint.cjs +1 -0
- package/dist/logic/scrollHint.d.ts +41 -0
- package/dist/logic/scrollHint.js +66 -0
- package/dist/logic/scrollTargets.cjs +1 -0
- package/dist/logic/scrollTargets.d.ts +22 -0
- package/dist/logic/scrollTargets.js +24 -0
- package/dist/logic/selectEditorState.cjs +1 -0
- package/dist/logic/selectEditorState.d.ts +28 -0
- package/dist/logic/selectEditorState.js +31 -0
- package/dist/logic/selectOptions.cjs +1 -0
- package/dist/logic/selectOptions.d.ts +9 -0
- package/dist/logic/selectOptions.js +23 -0
- package/dist/logic/serverSideBlocks.cjs +1 -0
- package/dist/logic/serverSideBlocks.d.ts +2 -0
- package/dist/logic/serverSideBlocks.js +14 -0
- package/dist/logic/serverSideCache.cjs +1 -0
- package/dist/logic/serverSideCache.d.ts +14 -0
- package/dist/logic/serverSideCache.js +42 -0
- package/dist/logic/serverSideEdits.cjs +1 -0
- package/dist/logic/serverSideEdits.d.ts +16 -0
- package/dist/logic/serverSideEdits.js +47 -0
- package/dist/logic/serverSideQuery.cjs +1 -0
- package/dist/logic/serverSideQuery.d.ts +7 -0
- package/dist/logic/serverSideQuery.js +21 -0
- package/dist/logic/setFilterSearch.cjs +1 -0
- package/dist/logic/setFilterSearch.d.ts +14 -0
- package/dist/logic/setFilterSearch.js +14 -0
- package/dist/logic/setFilterSelection.cjs +1 -0
- package/dist/logic/setFilterSelection.d.ts +5 -0
- package/dist/logic/setFilterSelection.js +4 -0
- package/dist/logic/slotDom.cjs +1 -0
- package/dist/logic/slotDom.d.ts +8 -0
- package/dist/logic/slotDom.js +22 -0
- package/dist/logic/slotProps.cjs +1 -0
- package/dist/logic/slotProps.d.ts +18 -0
- package/dist/logic/slotProps.js +63 -0
- package/dist/logic/sorting.cjs +1 -0
- package/dist/logic/sorting.d.ts +11 -0
- package/dist/logic/sorting.js +96 -0
- package/dist/logic/textFilterCondition.cjs +1 -0
- package/dist/logic/textFilterCondition.d.ts +18 -0
- package/dist/logic/textFilterCondition.js +55 -0
- package/dist/logic/theme.cjs +1 -0
- package/dist/logic/theme.d.ts +3 -0
- package/dist/logic/theme.js +4 -0
- package/dist/logic/tooltipGeometry.cjs +1 -0
- package/dist/logic/tooltipGeometry.d.ts +19 -0
- package/dist/logic/tooltipGeometry.js +16 -0
- package/dist/logic/validation.cjs +1 -0
- package/dist/logic/validation.d.ts +14 -0
- package/dist/logic/validation.js +47 -0
- package/dist/logic/valueFormatters.cjs +1 -0
- package/dist/logic/valueFormatters.d.ts +9 -0
- package/dist/logic/valueFormatters.js +17 -0
- package/dist/logic/valueStore.cjs +1 -0
- package/dist/logic/valueStore.d.ts +6 -0
- package/dist/logic/valueStore.js +18 -0
- package/dist/logic/verticalGeometry.cjs +1 -0
- package/dist/logic/verticalGeometry.d.ts +58 -0
- package/dist/logic/verticalGeometry.js +90 -0
- package/dist/model/gridActions.cjs +1 -0
- package/dist/model/gridActions.d.ts +125 -0
- package/dist/model/gridActions.js +114 -0
- package/dist/model/gridReducer.cjs +1 -0
- package/dist/model/gridReducer.d.ts +4 -0
- package/dist/model/gridReducer.js +247 -0
- package/dist/model/gridSelectors.cjs +1 -0
- package/dist/model/gridSelectors.d.ts +40 -0
- package/dist/model/gridSelectors.js +68 -0
- package/dist/model/gridStore.cjs +1 -0
- package/dist/model/gridStore.d.ts +24 -0
- package/dist/model/gridStore.js +38 -0
- package/dist/model/gridTypes.core.cjs +1 -0
- package/dist/model/gridTypes.core.d.ts +797 -0
- package/dist/model/gridTypes.core.js +0 -0
- package/dist/model/gridTypes.unbound.cjs +1 -0
- package/dist/model/gridTypes.unbound.d.ts +31 -0
- package/dist/model/gridTypes.unbound.js +0 -0
- package/dist/testing/index.cjs +1 -0
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.js +51 -0
- package/dist/utils/clipboard.cjs +7 -0
- package/dist/utils/clipboard.d.ts +29 -0
- package/dist/utils/clipboard.js +110 -0
- package/dist/utils/excelColumnName.cjs +1 -0
- package/dist/utils/excelColumnName.d.ts +1 -0
- package/dist/utils/excelColumnName.js +9 -0
- package/dist/utils/permissions.cjs +1 -0
- package/dist/utils/permissions.d.ts +4 -0
- package/dist/utils/permissions.js +7 -0
- package/dist/utils/scheduler.cjs +1 -0
- package/dist/utils/scheduler.d.ts +1 -0
- package/dist/utils/scheduler.js +13 -0
- 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 @@
|
|
|
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,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 @@
|
|
|
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,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;
|