@rowsncolumns/grid 13.2.36 → 13.2.37
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/dist/cjs/helpers.d.ts +35 -1
- package/dist/cjs/helpers.d.ts.map +1 -1
- package/dist/cjs/helpers.js +50 -4
- package/dist/esm/helpers.d.ts +35 -1
- package/dist/esm/helpers.d.ts.map +1 -1
- package/dist/esm/helpers.js +39 -2
- package/package.json +1 -1
package/dist/cjs/helpers.d.ts
CHANGED
|
@@ -245,9 +245,43 @@ export declare const clearFontLineMetricsCache: () => void;
|
|
|
245
245
|
* `FONT_LINE_LEADING * scale`; when the context cannot report font metrics
|
|
246
246
|
* (jsdom, node-canvas, older engines) or under `fixed`, the box is
|
|
247
247
|
* `fontSize * DEFAULT_LINE_HEIGHT_RATIO` with no leading — the pre-#1141
|
|
248
|
-
* line box. A block of `n` lines is `
|
|
248
|
+
* line box. A block of `n` lines is `getTextBlockHeight(n, metrics)` tall.
|
|
249
249
|
*/
|
|
250
250
|
export declare const getFontLineMetrics: (font: FontLineMetricsFont, mode?: LineHeightMode, scale?: number, context?: MeasureContext | null) => FontLineMetrics;
|
|
251
|
+
/**
|
|
252
|
+
* Inner padding of a cell's Konva `Text` node, in CSS pixels on every side
|
|
253
|
+
* at any zoom. The sizer wraps at the width it leaves (`getTextWrapWidth`)
|
|
254
|
+
* and fits a row to the block it holds (`getTextBlockHeight`).
|
|
255
|
+
*/
|
|
256
|
+
export declare const CELL_TEXT_PADDING = 2;
|
|
257
|
+
/**
|
|
258
|
+
* Height of a block of `lineCount` lines of text: one line box per line, the
|
|
259
|
+
* leading only between lines. The sizer fits a wrapped row to this block and
|
|
260
|
+
* the painter shows every line of it (#1182).
|
|
261
|
+
*/
|
|
262
|
+
export declare const getTextBlockHeight: (lineCount: number, { box, leading }: Pick<FontLineMetrics, "box" | "leading">) => number;
|
|
263
|
+
/**
|
|
264
|
+
* Width a cell's text wraps at: the cell minus `padding` on both sides,
|
|
265
|
+
* which is where Konva `Text` breaks its lines. The sizer wraps at the same
|
|
266
|
+
* width or it fits a row for a line the painter never paints (#1182).
|
|
267
|
+
* `width` is in painted pixels (zoom applied); the padding is not scaled.
|
|
268
|
+
*/
|
|
269
|
+
export declare const getTextWrapWidth: (width: number, padding?: number) => number;
|
|
270
|
+
/**
|
|
271
|
+
* Bounds of the Konva `Text` node that shows exactly the lines
|
|
272
|
+
* `getTextBlockHeight` fitted into a cell `height` tall at `y`. Konva stacks
|
|
273
|
+
* lines `advance` apart with each glyph box centred in its advance, so its
|
|
274
|
+
* block carries half a leading above the first line and half below the
|
|
275
|
+
* last, and it keeps a line only while `lines * advance <= height - 2 *
|
|
276
|
+
* padding`. Growing the node by one leading, half above and half below the
|
|
277
|
+
* cell, puts those margins outside the cell's padding box: the padding box
|
|
278
|
+
* then holds `lines * box + (lines - 1) * leading` — the fitted block — and
|
|
279
|
+
* vertical alignment lands the glyph boxes flush to the padding (#1182).
|
|
280
|
+
*/
|
|
281
|
+
export declare const getTextNodeBounds: (y: number, height: number, leading: number) => {
|
|
282
|
+
y: number;
|
|
283
|
+
height: number;
|
|
284
|
+
};
|
|
251
285
|
/**
|
|
252
286
|
* Simple Canvas element to measure text size
|
|
253
287
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/helpers.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.getPreviousCellInDirection = exports.getDevicePixelRatio = exports.useCallbackRef = exports.useIsomorphicLayoutEffect = exports.getScrollIncrement = exports.isArrowKey = exports.castToString = exports.findNextCellInDataRegion = void 0;
|
|
3
|
+
exports.isEqualCells = exports.isNull = exports.autoSizerCanvas = exports.AutoSizerCanvas = exports.getTextNodeBounds = exports.getTextWrapWidth = exports.getTextBlockHeight = exports.CELL_TEXT_PADDING = exports.getFontLineMetrics = exports.clearFontLineMetricsCache = exports.toCanvasFont = exports.FONT_LINE_LEADING = exports.DEFAULT_LINE_HEIGHT_RATIO = exports.toCssFontFamily = exports.getOwnerWindow = exports.getOwnerDocument = exports.canUseDOM = exports.cellToArea = exports.cellRangeToBounds = exports.extendAreaToMergedCells = exports.isAreasEqual = exports.areaInsideArea = exports.areaIntersects = exports.findNextCellWithinBounds = exports.prepareClipboardData = exports.numberToAlphabet = exports.clampCellCoords = exports.newSelectionFromDrag = exports.selectionSpansCells = exports.selectionFromActiveCell = exports.getOffsetForRowAndAlignment = exports.getOffsetForColumnAndAlignment = exports.getOffsetForIndexAndAlignment = exports.scheduleIdlePriorityCallback = exports.cellIdentifier = exports.getEstimatedTotalWidth = exports.getEstimatedTotalHeight = exports.getItemMetadata = exports.getColumnWidth = exports.getRowHeight = exports.getColumnOffset = exports.getRowOffset = exports.itemKey = exports.getBoundedCells = exports.getColumnStopIndexForStartIndex = exports.getColumnStartIndexForOffset = exports.getRowStopIndexForStartIndex = exports.getRowStartIndexForOffset = exports.ItemType = exports.Align = void 0;
|
|
4
|
+
exports.getPreviousCellInDirection = exports.getDevicePixelRatio = exports.useCallbackRef = exports.useIsomorphicLayoutEffect = exports.getScrollIncrement = exports.isArrowKey = exports.castToString = exports.findNextCellInDataRegion = exports.findLastContentfulCell = exports.findNextContentfulCell = exports.clampIndex = exports.isCellWithinBounds = void 0;
|
|
5
5
|
exports.throttle = throttle;
|
|
6
6
|
exports.debounce = debounce;
|
|
7
7
|
exports.rafThrottle = rafThrottle;
|
|
@@ -1019,7 +1019,7 @@ var measureFontBox = function (font, context) {
|
|
|
1019
1019
|
* `FONT_LINE_LEADING * scale`; when the context cannot report font metrics
|
|
1020
1020
|
* (jsdom, node-canvas, older engines) or under `fixed`, the box is
|
|
1021
1021
|
* `fontSize * DEFAULT_LINE_HEIGHT_RATIO` with no leading — the pre-#1141
|
|
1022
|
-
* line box. A block of `n` lines is `
|
|
1022
|
+
* line box. A block of `n` lines is `getTextBlockHeight(n, metrics)` tall.
|
|
1023
1023
|
*/
|
|
1024
1024
|
var getFontLineMetrics = function (font, mode, scale, context) {
|
|
1025
1025
|
if (mode === void 0) { mode = "fontMetrics"; }
|
|
@@ -1036,6 +1036,49 @@ var getFontLineMetrics = function (font, mode, scale, context) {
|
|
|
1036
1036
|
return { box: box, leading: leading, advance: box + leading };
|
|
1037
1037
|
};
|
|
1038
1038
|
exports.getFontLineMetrics = getFontLineMetrics;
|
|
1039
|
+
/**
|
|
1040
|
+
* Inner padding of a cell's Konva `Text` node, in CSS pixels on every side
|
|
1041
|
+
* at any zoom. The sizer wraps at the width it leaves (`getTextWrapWidth`)
|
|
1042
|
+
* and fits a row to the block it holds (`getTextBlockHeight`).
|
|
1043
|
+
*/
|
|
1044
|
+
exports.CELL_TEXT_PADDING = 2;
|
|
1045
|
+
/**
|
|
1046
|
+
* Height of a block of `lineCount` lines of text: one line box per line, the
|
|
1047
|
+
* leading only between lines. The sizer fits a wrapped row to this block and
|
|
1048
|
+
* the painter shows every line of it (#1182).
|
|
1049
|
+
*/
|
|
1050
|
+
var getTextBlockHeight = function (lineCount, _a) {
|
|
1051
|
+
var box = _a.box, leading = _a.leading;
|
|
1052
|
+
return lineCount > 0 ? lineCount * box + (lineCount - 1) * leading : 0;
|
|
1053
|
+
};
|
|
1054
|
+
exports.getTextBlockHeight = getTextBlockHeight;
|
|
1055
|
+
/**
|
|
1056
|
+
* Width a cell's text wraps at: the cell minus `padding` on both sides,
|
|
1057
|
+
* which is where Konva `Text` breaks its lines. The sizer wraps at the same
|
|
1058
|
+
* width or it fits a row for a line the painter never paints (#1182).
|
|
1059
|
+
* `width` is in painted pixels (zoom applied); the padding is not scaled.
|
|
1060
|
+
*/
|
|
1061
|
+
var getTextWrapWidth = function (width, padding) {
|
|
1062
|
+
if (padding === void 0) { padding = exports.CELL_TEXT_PADDING; }
|
|
1063
|
+
return Math.max(width - 2 * padding, 0);
|
|
1064
|
+
};
|
|
1065
|
+
exports.getTextWrapWidth = getTextWrapWidth;
|
|
1066
|
+
/**
|
|
1067
|
+
* Bounds of the Konva `Text` node that shows exactly the lines
|
|
1068
|
+
* `getTextBlockHeight` fitted into a cell `height` tall at `y`. Konva stacks
|
|
1069
|
+
* lines `advance` apart with each glyph box centred in its advance, so its
|
|
1070
|
+
* block carries half a leading above the first line and half below the
|
|
1071
|
+
* last, and it keeps a line only while `lines * advance <= height - 2 *
|
|
1072
|
+
* padding`. Growing the node by one leading, half above and half below the
|
|
1073
|
+
* cell, puts those margins outside the cell's padding box: the padding box
|
|
1074
|
+
* then holds `lines * box + (lines - 1) * leading` — the fitted block — and
|
|
1075
|
+
* vertical alignment lands the glyph boxes flush to the padding (#1182).
|
|
1076
|
+
*/
|
|
1077
|
+
var getTextNodeBounds = function (y, height, leading) { return ({
|
|
1078
|
+
y: y - leading / 2,
|
|
1079
|
+
height: height + leading,
|
|
1080
|
+
}); };
|
|
1081
|
+
exports.getTextNodeBounds = getTextNodeBounds;
|
|
1039
1082
|
var AutoSizerCanvas = function (defaults) {
|
|
1040
1083
|
if (defaults === void 0) { defaults = {}; }
|
|
1041
1084
|
var _a = defaults.fontFamily, fontFamily = _a === void 0 ? "Arial" : _a, _b = defaults.fontSize, fontSize = _b === void 0 ? 12 : _b, _c = defaults.fontWeight, fontWeight = _c === void 0 ? "" : _c, _d = defaults.fontStyle, fontStyle = _d === void 0 ? "" : _d, _e = defaults.lineHeight, lineHeight = _e === void 0 ? 16 : _e, _f = defaults.scale, scale = _f === void 0 ? 1 : _f, _g = defaults.lineHeightMode, lineHeightMode = _g === void 0 ? "fontMetrics" : _g;
|
|
@@ -1235,7 +1278,10 @@ var AutoSizerCanvas = function (defaults) {
|
|
|
1235
1278
|
}
|
|
1236
1279
|
return {
|
|
1237
1280
|
width: textWidth,
|
|
1238
|
-
height:
|
|
1281
|
+
height: (0, exports.getTextBlockHeight)(lineCount, {
|
|
1282
|
+
box: lineBoxPx,
|
|
1283
|
+
leading: lineLeadingPx,
|
|
1284
|
+
}),
|
|
1239
1285
|
};
|
|
1240
1286
|
};
|
|
1241
1287
|
var measureText = function (text, shouldWrap, boundedWidth) { return getWidthOfLongestText((0, exports.castToString)(text), shouldWrap, boundedWidth); };
|
package/dist/esm/helpers.d.ts
CHANGED
|
@@ -245,9 +245,43 @@ export declare const clearFontLineMetricsCache: () => void;
|
|
|
245
245
|
* `FONT_LINE_LEADING * scale`; when the context cannot report font metrics
|
|
246
246
|
* (jsdom, node-canvas, older engines) or under `fixed`, the box is
|
|
247
247
|
* `fontSize * DEFAULT_LINE_HEIGHT_RATIO` with no leading — the pre-#1141
|
|
248
|
-
* line box. A block of `n` lines is `
|
|
248
|
+
* line box. A block of `n` lines is `getTextBlockHeight(n, metrics)` tall.
|
|
249
249
|
*/
|
|
250
250
|
export declare const getFontLineMetrics: (font: FontLineMetricsFont, mode?: LineHeightMode, scale?: number, context?: MeasureContext | null) => FontLineMetrics;
|
|
251
|
+
/**
|
|
252
|
+
* Inner padding of a cell's Konva `Text` node, in CSS pixels on every side
|
|
253
|
+
* at any zoom. The sizer wraps at the width it leaves (`getTextWrapWidth`)
|
|
254
|
+
* and fits a row to the block it holds (`getTextBlockHeight`).
|
|
255
|
+
*/
|
|
256
|
+
export declare const CELL_TEXT_PADDING = 2;
|
|
257
|
+
/**
|
|
258
|
+
* Height of a block of `lineCount` lines of text: one line box per line, the
|
|
259
|
+
* leading only between lines. The sizer fits a wrapped row to this block and
|
|
260
|
+
* the painter shows every line of it (#1182).
|
|
261
|
+
*/
|
|
262
|
+
export declare const getTextBlockHeight: (lineCount: number, { box, leading }: Pick<FontLineMetrics, "box" | "leading">) => number;
|
|
263
|
+
/**
|
|
264
|
+
* Width a cell's text wraps at: the cell minus `padding` on both sides,
|
|
265
|
+
* which is where Konva `Text` breaks its lines. The sizer wraps at the same
|
|
266
|
+
* width or it fits a row for a line the painter never paints (#1182).
|
|
267
|
+
* `width` is in painted pixels (zoom applied); the padding is not scaled.
|
|
268
|
+
*/
|
|
269
|
+
export declare const getTextWrapWidth: (width: number, padding?: number) => number;
|
|
270
|
+
/**
|
|
271
|
+
* Bounds of the Konva `Text` node that shows exactly the lines
|
|
272
|
+
* `getTextBlockHeight` fitted into a cell `height` tall at `y`. Konva stacks
|
|
273
|
+
* lines `advance` apart with each glyph box centred in its advance, so its
|
|
274
|
+
* block carries half a leading above the first line and half below the
|
|
275
|
+
* last, and it keeps a line only while `lines * advance <= height - 2 *
|
|
276
|
+
* padding`. Growing the node by one leading, half above and half below the
|
|
277
|
+
* cell, puts those margins outside the cell's padding box: the padding box
|
|
278
|
+
* then holds `lines * box + (lines - 1) * leading` — the fitted block — and
|
|
279
|
+
* vertical alignment lands the glyph boxes flush to the padding (#1182).
|
|
280
|
+
*/
|
|
281
|
+
export declare const getTextNodeBounds: (y: number, height: number, leading: number) => {
|
|
282
|
+
y: number;
|
|
283
|
+
height: number;
|
|
284
|
+
};
|
|
251
285
|
/**
|
|
252
286
|
* Simple Canvas element to measure text size
|
|
253
287
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/helpers.js
CHANGED
|
@@ -926,7 +926,7 @@ const measureFontBox = (font, context) => {
|
|
|
926
926
|
* `FONT_LINE_LEADING * scale`; when the context cannot report font metrics
|
|
927
927
|
* (jsdom, node-canvas, older engines) or under `fixed`, the box is
|
|
928
928
|
* `fontSize * DEFAULT_LINE_HEIGHT_RATIO` with no leading — the pre-#1141
|
|
929
|
-
* line box. A block of `n` lines is `
|
|
929
|
+
* line box. A block of `n` lines is `getTextBlockHeight(n, metrics)` tall.
|
|
930
930
|
*/
|
|
931
931
|
export const getFontLineMetrics = (font, mode = "fontMetrics", scale = 1, context = getFontBoxContext()) => {
|
|
932
932
|
const box = mode === "fontMetrics"
|
|
@@ -939,6 +939,40 @@ export const getFontLineMetrics = (font, mode = "fontMetrics", scale = 1, contex
|
|
|
939
939
|
const leading = FONT_LINE_LEADING * scale;
|
|
940
940
|
return { box, leading, advance: box + leading };
|
|
941
941
|
};
|
|
942
|
+
/**
|
|
943
|
+
* Inner padding of a cell's Konva `Text` node, in CSS pixels on every side
|
|
944
|
+
* at any zoom. The sizer wraps at the width it leaves (`getTextWrapWidth`)
|
|
945
|
+
* and fits a row to the block it holds (`getTextBlockHeight`).
|
|
946
|
+
*/
|
|
947
|
+
export const CELL_TEXT_PADDING = 2;
|
|
948
|
+
/**
|
|
949
|
+
* Height of a block of `lineCount` lines of text: one line box per line, the
|
|
950
|
+
* leading only between lines. The sizer fits a wrapped row to this block and
|
|
951
|
+
* the painter shows every line of it (#1182).
|
|
952
|
+
*/
|
|
953
|
+
export const getTextBlockHeight = (lineCount, { box, leading }) => lineCount > 0 ? lineCount * box + (lineCount - 1) * leading : 0;
|
|
954
|
+
/**
|
|
955
|
+
* Width a cell's text wraps at: the cell minus `padding` on both sides,
|
|
956
|
+
* which is where Konva `Text` breaks its lines. The sizer wraps at the same
|
|
957
|
+
* width or it fits a row for a line the painter never paints (#1182).
|
|
958
|
+
* `width` is in painted pixels (zoom applied); the padding is not scaled.
|
|
959
|
+
*/
|
|
960
|
+
export const getTextWrapWidth = (width, padding = CELL_TEXT_PADDING) => Math.max(width - 2 * padding, 0);
|
|
961
|
+
/**
|
|
962
|
+
* Bounds of the Konva `Text` node that shows exactly the lines
|
|
963
|
+
* `getTextBlockHeight` fitted into a cell `height` tall at `y`. Konva stacks
|
|
964
|
+
* lines `advance` apart with each glyph box centred in its advance, so its
|
|
965
|
+
* block carries half a leading above the first line and half below the
|
|
966
|
+
* last, and it keeps a line only while `lines * advance <= height - 2 *
|
|
967
|
+
* padding`. Growing the node by one leading, half above and half below the
|
|
968
|
+
* cell, puts those margins outside the cell's padding box: the padding box
|
|
969
|
+
* then holds `lines * box + (lines - 1) * leading` — the fitted block — and
|
|
970
|
+
* vertical alignment lands the glyph boxes flush to the padding (#1182).
|
|
971
|
+
*/
|
|
972
|
+
export const getTextNodeBounds = (y, height, leading) => ({
|
|
973
|
+
y: y - leading / 2,
|
|
974
|
+
height: height + leading,
|
|
975
|
+
});
|
|
942
976
|
export const AutoSizerCanvas = (defaults = {}) => {
|
|
943
977
|
const { fontFamily = "Arial", fontSize = 12, fontWeight = "", fontStyle = "", lineHeight = 16, scale = 1, lineHeightMode = "fontMetrics", } = defaults;
|
|
944
978
|
const o = {
|
|
@@ -1098,7 +1132,10 @@ export const AutoSizerCanvas = (defaults = {}) => {
|
|
|
1098
1132
|
}
|
|
1099
1133
|
return {
|
|
1100
1134
|
width: textWidth,
|
|
1101
|
-
height: lineCount
|
|
1135
|
+
height: getTextBlockHeight(lineCount, {
|
|
1136
|
+
box: lineBoxPx,
|
|
1137
|
+
leading: lineLeadingPx,
|
|
1138
|
+
}),
|
|
1102
1139
|
};
|
|
1103
1140
|
};
|
|
1104
1141
|
const measureText = (text, shouldWrap, boundedWidth) => getWidthOfLongestText(castToString(text), shouldWrap, boundedWidth);
|
package/package.json
CHANGED