@rowsncolumns/grid 13.2.37 → 13.2.38

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.
@@ -256,10 +256,22 @@ export declare const getFontLineMetrics: (font: FontLineMetricsFont, mode?: Line
256
256
  export declare const CELL_TEXT_PADDING = 2;
257
257
  /**
258
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).
259
+ * leading only between lines. The sizer fits a row to `getFittedTextHeight`
260
+ * of this block and the painter shows every line of it (#1182).
261
261
  */
262
262
  export declare const getTextBlockHeight: (lineCount: number, { box, leading }: Pick<FontLineMetrics, "box" | "leading">) => number;
263
+ /**
264
+ * Height of the row that holds a block of text `blockHeight` tall
265
+ * (`getTextBlockHeight`): the block plus one leading, half above the first
266
+ * line and half below the last. The leading is the only vertical spacing —
267
+ * that is Excel's row for `n` lines of a font, `n * (box + 2)`, and so its
268
+ * default row height for one line (Calibri 11 → 18 + 2 = 20px), and it is
269
+ * exactly Konva's text block of `n` lines (`n * advance`), which the painter
270
+ * shows whole in a row this tall (`getTextNodeBounds`). Padding on top of
271
+ * the leading grew every single-line row of the default font past the
272
+ * default row height (#1199).
273
+ */
274
+ export declare const getFittedTextHeight: (blockHeight: number, leading: number) => number;
263
275
  /**
264
276
  * Width a cell's text wraps at: the cell minus `padding` on both sides,
265
277
  * which is where Konva `Text` breaks its lines. The sizer wraps at the same
@@ -268,17 +280,17 @@ export declare const getTextBlockHeight: (lineCount: number, { box, leading }: P
268
280
  */
269
281
  export declare const getTextWrapWidth: (width: number, padding?: number) => number;
270
282
  /**
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) => {
283
+ * Bounds of the Konva `Text` node that shows exactly the lines the sizer
284
+ * fitted a cell `height` tall at `y` (`getFittedTextHeight`). Konva stacks
285
+ * lines `advance` apart with each glyph box centred in its advance, and it
286
+ * keeps a line only while `lines * advance <= height - 2 * padding`; the
287
+ * fitted row is `lines * advance` exactly, so the node is grown by the
288
+ * padding on both sides and its padding box is the cell itself (#1182,
289
+ * #1199). The glyph block then sits half a leading from the cell's top or
290
+ * bottom edge when aligned there, as Excel paints it; `padding` still
291
+ * insets the text horizontally (`getTextWrapWidth`).
292
+ */
293
+ export declare const getTextNodeBounds: (y: number, height: number, padding?: number) => {
282
294
  y: number;
283
295
  height: number;
284
296
  };
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
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;
3
+ exports.isNull = exports.autoSizerCanvas = exports.AutoSizerCanvas = exports.getTextNodeBounds = exports.getTextWrapWidth = exports.getFittedTextHeight = 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 = exports.isEqualCells = void 0;
5
5
  exports.throttle = throttle;
6
6
  exports.debounce = debounce;
7
7
  exports.rafThrottle = rafThrottle;
@@ -1044,14 +1044,27 @@ exports.getFontLineMetrics = getFontLineMetrics;
1044
1044
  exports.CELL_TEXT_PADDING = 2;
1045
1045
  /**
1046
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).
1047
+ * leading only between lines. The sizer fits a row to `getFittedTextHeight`
1048
+ * of this block and the painter shows every line of it (#1182).
1049
1049
  */
1050
1050
  var getTextBlockHeight = function (lineCount, _a) {
1051
1051
  var box = _a.box, leading = _a.leading;
1052
1052
  return lineCount > 0 ? lineCount * box + (lineCount - 1) * leading : 0;
1053
1053
  };
1054
1054
  exports.getTextBlockHeight = getTextBlockHeight;
1055
+ /**
1056
+ * Height of the row that holds a block of text `blockHeight` tall
1057
+ * (`getTextBlockHeight`): the block plus one leading, half above the first
1058
+ * line and half below the last. The leading is the only vertical spacing —
1059
+ * that is Excel's row for `n` lines of a font, `n * (box + 2)`, and so its
1060
+ * default row height for one line (Calibri 11 → 18 + 2 = 20px), and it is
1061
+ * exactly Konva's text block of `n` lines (`n * advance`), which the painter
1062
+ * shows whole in a row this tall (`getTextNodeBounds`). Padding on top of
1063
+ * the leading grew every single-line row of the default font past the
1064
+ * default row height (#1199).
1065
+ */
1066
+ var getFittedTextHeight = function (blockHeight, leading) { return (blockHeight > 0 ? blockHeight + leading : 0); };
1067
+ exports.getFittedTextHeight = getFittedTextHeight;
1055
1068
  /**
1056
1069
  * Width a cell's text wraps at: the cell minus `padding` on both sides,
1057
1070
  * which is where Konva `Text` breaks its lines. The sizer wraps at the same
@@ -1064,20 +1077,23 @@ var getTextWrapWidth = function (width, padding) {
1064
1077
  };
1065
1078
  exports.getTextWrapWidth = getTextWrapWidth;
1066
1079
  /**
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).
1080
+ * Bounds of the Konva `Text` node that shows exactly the lines the sizer
1081
+ * fitted a cell `height` tall at `y` (`getFittedTextHeight`). Konva stacks
1082
+ * lines `advance` apart with each glyph box centred in its advance, and it
1083
+ * keeps a line only while `lines * advance <= height - 2 * padding`; the
1084
+ * fitted row is `lines * advance` exactly, so the node is grown by the
1085
+ * padding on both sides and its padding box is the cell itself (#1182,
1086
+ * #1199). The glyph block then sits half a leading from the cell's top or
1087
+ * bottom edge when aligned there, as Excel paints it; `padding` still
1088
+ * insets the text horizontally (`getTextWrapWidth`).
1076
1089
  */
1077
- var getTextNodeBounds = function (y, height, leading) { return ({
1078
- y: y - leading / 2,
1079
- height: height + leading,
1080
- }); };
1090
+ var getTextNodeBounds = function (y, height, padding) {
1091
+ if (padding === void 0) { padding = exports.CELL_TEXT_PADDING; }
1092
+ return ({
1093
+ y: y - padding,
1094
+ height: height + 2 * padding,
1095
+ });
1096
+ };
1081
1097
  exports.getTextNodeBounds = getTextNodeBounds;
1082
1098
  var AutoSizerCanvas = function (defaults) {
1083
1099
  if (defaults === void 0) { defaults = {}; }
@@ -256,10 +256,22 @@ export declare const getFontLineMetrics: (font: FontLineMetricsFont, mode?: Line
256
256
  export declare const CELL_TEXT_PADDING = 2;
257
257
  /**
258
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).
259
+ * leading only between lines. The sizer fits a row to `getFittedTextHeight`
260
+ * of this block and the painter shows every line of it (#1182).
261
261
  */
262
262
  export declare const getTextBlockHeight: (lineCount: number, { box, leading }: Pick<FontLineMetrics, "box" | "leading">) => number;
263
+ /**
264
+ * Height of the row that holds a block of text `blockHeight` tall
265
+ * (`getTextBlockHeight`): the block plus one leading, half above the first
266
+ * line and half below the last. The leading is the only vertical spacing —
267
+ * that is Excel's row for `n` lines of a font, `n * (box + 2)`, and so its
268
+ * default row height for one line (Calibri 11 → 18 + 2 = 20px), and it is
269
+ * exactly Konva's text block of `n` lines (`n * advance`), which the painter
270
+ * shows whole in a row this tall (`getTextNodeBounds`). Padding on top of
271
+ * the leading grew every single-line row of the default font past the
272
+ * default row height (#1199).
273
+ */
274
+ export declare const getFittedTextHeight: (blockHeight: number, leading: number) => number;
263
275
  /**
264
276
  * Width a cell's text wraps at: the cell minus `padding` on both sides,
265
277
  * which is where Konva `Text` breaks its lines. The sizer wraps at the same
@@ -268,17 +280,17 @@ export declare const getTextBlockHeight: (lineCount: number, { box, leading }: P
268
280
  */
269
281
  export declare const getTextWrapWidth: (width: number, padding?: number) => number;
270
282
  /**
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) => {
283
+ * Bounds of the Konva `Text` node that shows exactly the lines the sizer
284
+ * fitted a cell `height` tall at `y` (`getFittedTextHeight`). Konva stacks
285
+ * lines `advance` apart with each glyph box centred in its advance, and it
286
+ * keeps a line only while `lines * advance <= height - 2 * padding`; the
287
+ * fitted row is `lines * advance` exactly, so the node is grown by the
288
+ * padding on both sides and its padding box is the cell itself (#1182,
289
+ * #1199). The glyph block then sits half a leading from the cell's top or
290
+ * bottom edge when aligned there, as Excel paints it; `padding` still
291
+ * insets the text horizontally (`getTextWrapWidth`).
292
+ */
293
+ export declare const getTextNodeBounds: (y: number, height: number, padding?: number) => {
282
294
  y: number;
283
295
  height: number;
284
296
  };
@@ -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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"}
@@ -947,10 +947,22 @@ export const getFontLineMetrics = (font, mode = "fontMetrics", scale = 1, contex
947
947
  export const CELL_TEXT_PADDING = 2;
948
948
  /**
949
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).
950
+ * leading only between lines. The sizer fits a row to `getFittedTextHeight`
951
+ * of this block and the painter shows every line of it (#1182).
952
952
  */
953
953
  export const getTextBlockHeight = (lineCount, { box, leading }) => lineCount > 0 ? lineCount * box + (lineCount - 1) * leading : 0;
954
+ /**
955
+ * Height of the row that holds a block of text `blockHeight` tall
956
+ * (`getTextBlockHeight`): the block plus one leading, half above the first
957
+ * line and half below the last. The leading is the only vertical spacing —
958
+ * that is Excel's row for `n` lines of a font, `n * (box + 2)`, and so its
959
+ * default row height for one line (Calibri 11 → 18 + 2 = 20px), and it is
960
+ * exactly Konva's text block of `n` lines (`n * advance`), which the painter
961
+ * shows whole in a row this tall (`getTextNodeBounds`). Padding on top of
962
+ * the leading grew every single-line row of the default font past the
963
+ * default row height (#1199).
964
+ */
965
+ export const getFittedTextHeight = (blockHeight, leading) => (blockHeight > 0 ? blockHeight + leading : 0);
954
966
  /**
955
967
  * Width a cell's text wraps at: the cell minus `padding` on both sides,
956
968
  * which is where Konva `Text` breaks its lines. The sizer wraps at the same
@@ -959,19 +971,19 @@ export const getTextBlockHeight = (lineCount, { box, leading }) => lineCount > 0
959
971
  */
960
972
  export const getTextWrapWidth = (width, padding = CELL_TEXT_PADDING) => Math.max(width - 2 * padding, 0);
961
973
  /**
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).
974
+ * Bounds of the Konva `Text` node that shows exactly the lines the sizer
975
+ * fitted a cell `height` tall at `y` (`getFittedTextHeight`). Konva stacks
976
+ * lines `advance` apart with each glyph box centred in its advance, and it
977
+ * keeps a line only while `lines * advance <= height - 2 * padding`; the
978
+ * fitted row is `lines * advance` exactly, so the node is grown by the
979
+ * padding on both sides and its padding box is the cell itself (#1182,
980
+ * #1199). The glyph block then sits half a leading from the cell's top or
981
+ * bottom edge when aligned there, as Excel paints it; `padding` still
982
+ * insets the text horizontally (`getTextWrapWidth`).
971
983
  */
972
- export const getTextNodeBounds = (y, height, leading) => ({
973
- y: y - leading / 2,
974
- height: height + leading,
984
+ export const getTextNodeBounds = (y, height, padding = CELL_TEXT_PADDING) => ({
985
+ y: y - padding,
986
+ height: height + 2 * padding,
975
987
  });
976
988
  export const AutoSizerCanvas = (defaults = {}) => {
977
989
  const { fontFamily = "Arial", fontSize = 12, fontWeight = "", fontStyle = "", lineHeight = 16, scale = 1, lineHeightMode = "fontMetrics", } = defaults;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rowsncolumns/grid",
3
3
  "description": "Declarative React Canvas Grid primitive for Data table, Pivot table, Excel Worksheets",
4
- "version": "13.2.37",
4
+ "version": "13.2.38",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "files": [
7
7
  "dist"