@rowsncolumns/spreadsheet 10.6.0 → 10.6.5

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 (186) hide show
  1. package/dist/cjs/api/cf-data-bar.d.ts +73 -0
  2. package/dist/cjs/api/cf-data-bar.d.ts.map +1 -0
  3. package/dist/cjs/api/cf-data-bar.js +182 -0
  4. package/dist/cjs/api/cf-icons.d.ts +73 -0
  5. package/dist/cjs/api/cf-icons.d.ts.map +1 -0
  6. package/dist/cjs/api/cf-icons.js +322 -0
  7. package/dist/cjs/api/cf-overlays.d.ts +89 -3
  8. package/dist/cjs/api/cf-overlays.d.ts.map +1 -1
  9. package/dist/cjs/api/cf-overlays.js +256 -80
  10. package/dist/cjs/api/cf-priority.d.ts +34 -0
  11. package/dist/cjs/api/cf-priority.d.ts.map +1 -0
  12. package/dist/cjs/api/cf-priority.js +94 -0
  13. package/dist/cjs/api/heatmap.d.ts +7 -1
  14. package/dist/cjs/api/heatmap.d.ts.map +1 -1
  15. package/dist/cjs/api/heatmap.js +27 -11
  16. package/dist/cjs/api/selections.d.ts +2 -2
  17. package/dist/cjs/api/validation.d.ts +6 -0
  18. package/dist/cjs/api/validation.d.ts.map +1 -1
  19. package/dist/cjs/api/validation.js +10 -1
  20. package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
  21. package/dist/cjs/components/canvas-grid/index.js +194 -51
  22. package/dist/cjs/components/canvas-grid/overflow.d.ts +37 -0
  23. package/dist/cjs/components/canvas-grid/overflow.d.ts.map +1 -0
  24. package/dist/cjs/components/canvas-grid/overflow.js +49 -0
  25. package/dist/cjs/components/canvas-grid/page-breaks.d.ts +15 -0
  26. package/dist/cjs/components/canvas-grid/page-breaks.d.ts.map +1 -0
  27. package/dist/cjs/components/canvas-grid/page-breaks.js +77 -0
  28. package/dist/cjs/components/canvas-grid/typings.d.ts +25 -0
  29. package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
  30. package/dist/cjs/components/cell/alignment.d.ts +83 -1
  31. package/dist/cjs/components/cell/alignment.d.ts.map +1 -1
  32. package/dist/cjs/components/cell/alignment.js +182 -1
  33. package/dist/cjs/components/cell/cell-background.d.ts +18 -0
  34. package/dist/cjs/components/cell/cell-background.d.ts.map +1 -1
  35. package/dist/cjs/components/cell/cell-background.js +145 -59
  36. package/dist/cjs/components/cell/cell-backgrounds.d.ts.map +1 -1
  37. package/dist/cjs/components/cell/cell-backgrounds.js +5 -1
  38. package/dist/cjs/components/cell/cell-text-runs.d.ts +12 -5
  39. package/dist/cjs/components/cell/cell-text-runs.d.ts.map +1 -1
  40. package/dist/cjs/components/cell/cell-text-runs.js +19 -21
  41. package/dist/cjs/components/cell/index.d.ts.map +1 -1
  42. package/dist/cjs/components/cell/index.js +392 -45
  43. package/dist/cjs/components/cell/number-format-layout.d.ts +35 -0
  44. package/dist/cjs/components/cell/number-format-layout.d.ts.map +1 -0
  45. package/dist/cjs/components/cell/number-format-layout.js +106 -0
  46. package/dist/cjs/components/cell/typings.d.ts +22 -0
  47. package/dist/cjs/components/cell/typings.d.ts.map +1 -1
  48. package/dist/cjs/components/cell-editor/index.js +2 -2
  49. package/dist/cjs/components/cell-filter/index.d.ts.map +1 -1
  50. package/dist/cjs/components/cell-filter/index.js +3 -3
  51. package/dist/cjs/components/cell-overlay/index.d.ts +20 -0
  52. package/dist/cjs/components/cell-overlay/index.d.ts.map +1 -1
  53. package/dist/cjs/components/cell-overlay/index.js +155 -28
  54. package/dist/cjs/components/cf-icon-preview/index.d.ts +16 -0
  55. package/dist/cjs/components/cf-icon-preview/index.d.ts.map +1 -0
  56. package/dist/cjs/components/cf-icon-preview/index.js +48 -0
  57. package/dist/cjs/components/embeds/embed-component.d.ts.map +1 -1
  58. package/dist/cjs/components/embeds/embed-component.js +3 -2
  59. package/dist/cjs/components/hidden-markers/index.d.ts.map +1 -1
  60. package/dist/cjs/components/hidden-markers/index.js +8 -7
  61. package/dist/cjs/components/hidden-markers/style.d.ts +7 -0
  62. package/dist/cjs/components/hidden-markers/style.d.ts.map +1 -1
  63. package/dist/cjs/components/hidden-markers/style.js +13 -2
  64. package/dist/cjs/components/protect-sheet-dialog/index.d.ts +67 -0
  65. package/dist/cjs/components/protect-sheet-dialog/index.d.ts.map +1 -0
  66. package/dist/cjs/components/protect-sheet-dialog/index.js +196 -0
  67. package/dist/cjs/components/toolbar/types.d.ts +1 -1
  68. package/dist/cjs/components/toolbar/types.d.ts.map +1 -1
  69. package/dist/cjs/config.d.ts +13 -1
  70. package/dist/cjs/config.d.ts.map +1 -1
  71. package/dist/cjs/config.js +15 -3
  72. package/dist/cjs/helpers.d.ts +15 -5
  73. package/dist/cjs/helpers.d.ts.map +1 -1
  74. package/dist/cjs/helpers.js +51 -35
  75. package/dist/cjs/hooks/use-border-styles.d.ts.map +1 -1
  76. package/dist/cjs/hooks/use-border-styles.js +5 -28
  77. package/dist/cjs/hooks/use-cell-renderer.d.ts +35 -3
  78. package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
  79. package/dist/cjs/hooks/use-cell-renderer.js +85 -47
  80. package/dist/cjs/hooks/use-conditional-formatting.d.ts +13 -1
  81. package/dist/cjs/hooks/use-conditional-formatting.d.ts.map +1 -1
  82. package/dist/cjs/hooks/use-conditional-formatting.js +281 -230
  83. package/dist/cjs/index.d.ts +5 -0
  84. package/dist/cjs/index.d.ts.map +1 -1
  85. package/dist/cjs/index.js +5 -0
  86. package/dist/cjs/release-date.js +1 -1
  87. package/dist/cjs/themes.d.ts +8 -0
  88. package/dist/cjs/themes.d.ts.map +1 -1
  89. package/dist/cjs/themes.js +21 -3
  90. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  91. package/dist/cjs/types.d.ts +81 -4
  92. package/dist/cjs/types.d.ts.map +1 -1
  93. package/dist/esm/api/cf-data-bar.d.ts +73 -0
  94. package/dist/esm/api/cf-data-bar.d.ts.map +1 -0
  95. package/dist/esm/api/cf-data-bar.js +178 -0
  96. package/dist/esm/api/cf-icons.d.ts +73 -0
  97. package/dist/esm/api/cf-icons.d.ts.map +1 -0
  98. package/dist/esm/api/cf-icons.js +306 -0
  99. package/dist/esm/api/cf-overlays.d.ts +89 -3
  100. package/dist/esm/api/cf-overlays.d.ts.map +1 -1
  101. package/dist/esm/api/cf-overlays.js +223 -67
  102. package/dist/esm/api/cf-priority.d.ts +34 -0
  103. package/dist/esm/api/cf-priority.d.ts.map +1 -0
  104. package/dist/esm/api/cf-priority.js +61 -0
  105. package/dist/esm/api/heatmap.d.ts +7 -1
  106. package/dist/esm/api/heatmap.d.ts.map +1 -1
  107. package/dist/esm/api/heatmap.js +24 -9
  108. package/dist/esm/api/selections.d.ts +2 -2
  109. package/dist/esm/api/validation.d.ts +6 -0
  110. package/dist/esm/api/validation.d.ts.map +1 -1
  111. package/dist/esm/api/validation.js +6 -0
  112. package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
  113. package/dist/esm/components/canvas-grid/index.js +163 -47
  114. package/dist/esm/components/canvas-grid/overflow.d.ts +37 -0
  115. package/dist/esm/components/canvas-grid/overflow.d.ts.map +1 -0
  116. package/dist/esm/components/canvas-grid/overflow.js +39 -0
  117. package/dist/esm/components/canvas-grid/page-breaks.d.ts +15 -0
  118. package/dist/esm/components/canvas-grid/page-breaks.d.ts.map +1 -0
  119. package/dist/esm/components/canvas-grid/page-breaks.js +50 -0
  120. package/dist/esm/components/canvas-grid/typings.d.ts +25 -0
  121. package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
  122. package/dist/esm/components/cell/alignment.d.ts +83 -1
  123. package/dist/esm/components/cell/alignment.d.ts.map +1 -1
  124. package/dist/esm/components/cell/alignment.js +143 -1
  125. package/dist/esm/components/cell/cell-background.d.ts +18 -0
  126. package/dist/esm/components/cell/cell-background.d.ts.map +1 -1
  127. package/dist/esm/components/cell/cell-background.js +110 -41
  128. package/dist/esm/components/cell/cell-backgrounds.d.ts.map +1 -1
  129. package/dist/esm/components/cell/cell-backgrounds.js +5 -1
  130. package/dist/esm/components/cell/cell-text-runs.d.ts +12 -5
  131. package/dist/esm/components/cell/cell-text-runs.d.ts.map +1 -1
  132. package/dist/esm/components/cell/cell-text-runs.js +19 -24
  133. package/dist/esm/components/cell/index.d.ts.map +1 -1
  134. package/dist/esm/components/cell/index.js +352 -46
  135. package/dist/esm/components/cell/number-format-layout.d.ts +35 -0
  136. package/dist/esm/components/cell/number-format-layout.d.ts.map +1 -0
  137. package/dist/esm/components/cell/number-format-layout.js +99 -0
  138. package/dist/esm/components/cell/typings.d.ts +22 -0
  139. package/dist/esm/components/cell/typings.d.ts.map +1 -1
  140. package/dist/esm/components/cell-editor/index.js +2 -2
  141. package/dist/esm/components/cell-filter/index.d.ts.map +1 -1
  142. package/dist/esm/components/cell-filter/index.js +4 -4
  143. package/dist/esm/components/cell-overlay/index.d.ts +20 -0
  144. package/dist/esm/components/cell-overlay/index.d.ts.map +1 -1
  145. package/dist/esm/components/cell-overlay/index.js +111 -25
  146. package/dist/esm/components/cf-icon-preview/index.d.ts +16 -0
  147. package/dist/esm/components/cf-icon-preview/index.d.ts.map +1 -0
  148. package/dist/esm/components/cf-icon-preview/index.js +41 -0
  149. package/dist/esm/components/embeds/embed-component.d.ts.map +1 -1
  150. package/dist/esm/components/embeds/embed-component.js +4 -3
  151. package/dist/esm/components/hidden-markers/index.d.ts.map +1 -1
  152. package/dist/esm/components/hidden-markers/index.js +9 -8
  153. package/dist/esm/components/hidden-markers/style.d.ts +7 -0
  154. package/dist/esm/components/hidden-markers/style.d.ts.map +1 -1
  155. package/dist/esm/components/hidden-markers/style.js +8 -1
  156. package/dist/esm/components/protect-sheet-dialog/index.d.ts +67 -0
  157. package/dist/esm/components/protect-sheet-dialog/index.d.ts.map +1 -0
  158. package/dist/esm/components/protect-sheet-dialog/index.js +154 -0
  159. package/dist/esm/components/toolbar/types.d.ts +1 -1
  160. package/dist/esm/components/toolbar/types.d.ts.map +1 -1
  161. package/dist/esm/config.d.ts +13 -1
  162. package/dist/esm/config.d.ts.map +1 -1
  163. package/dist/esm/config.js +13 -1
  164. package/dist/esm/helpers.d.ts +15 -5
  165. package/dist/esm/helpers.d.ts.map +1 -1
  166. package/dist/esm/helpers.js +48 -32
  167. package/dist/esm/hooks/use-border-styles.d.ts.map +1 -1
  168. package/dist/esm/hooks/use-border-styles.js +5 -26
  169. package/dist/esm/hooks/use-cell-renderer.d.ts +35 -3
  170. package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
  171. package/dist/esm/hooks/use-cell-renderer.js +83 -42
  172. package/dist/esm/hooks/use-conditional-formatting.d.ts +13 -1
  173. package/dist/esm/hooks/use-conditional-formatting.d.ts.map +1 -1
  174. package/dist/esm/hooks/use-conditional-formatting.js +215 -120
  175. package/dist/esm/index.d.ts +5 -0
  176. package/dist/esm/index.d.ts.map +1 -1
  177. package/dist/esm/index.js +5 -0
  178. package/dist/esm/release-date.js +1 -1
  179. package/dist/esm/themes.d.ts +8 -0
  180. package/dist/esm/themes.d.ts.map +1 -1
  181. package/dist/esm/themes.js +20 -3
  182. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  183. package/dist/esm/types.d.ts +81 -4
  184. package/dist/esm/types.d.ts.map +1 -1
  185. package/dist/spreadsheet.min.css +1 -1
  186. package/package.json +4 -4
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
5
5
  var react_1 = tslib_1.__importStar(require("react"));
6
6
  var react_konva_1 = require("react-konva");
7
7
  var themes_1 = require("../../themes");
8
+ var alignment_1 = require("./alignment");
8
9
  var line_height_1 = require("./line-height");
9
10
  var rich_text_1 = require("./rich-text");
10
11
  var BASELINE_OFFSET_FONT_SCALE = 0.58;
@@ -45,13 +46,12 @@ var buildFontString = function (r) {
45
46
  * merged style carries a `baselineOffset` (own or inherited from the
46
47
  * base) the sup/sub font scale is applied here, exactly once.
47
48
  */
48
- var resolveSegmentStyle = function (seg, base, theme) {
49
+ var resolveSegmentStyle = function (seg, base, theme, fontScale) {
49
50
  var _a, _b, _c, _d, _e, _f;
51
+ if (fontScale === void 0) { fontScale = 1; }
50
52
  var f = seg.format;
51
53
  var baselineOffset = (_a = f.baselineOffset) !== null && _a !== void 0 ? _a : base.baselineOffset;
52
- var fontSize = typeof f.fontSize === "number"
53
- ? (f.fontSize / pointFromPx(base.fontSize)) * base.fontSize
54
- : base.fontSize;
54
+ var fontSize = typeof f.fontSize === "number" ? f.fontSize * PT_TO_PX * fontScale : base.fontSize;
55
55
  return {
56
56
  bold: (_b = f.bold) !== null && _b !== void 0 ? _b : base.bold,
57
57
  italic: (_c = f.italic) !== null && _c !== void 0 ? _c : base.italic,
@@ -60,7 +60,7 @@ var resolveSegmentStyle = function (seg, base, theme) {
60
60
  color: f.color != null
61
61
  ? (0, themes_1.getStringifiedColor)(f.color, theme) || base.color
62
62
  : base.color,
63
- fontFamily: (_f = f.fontFamily) !== null && _f !== void 0 ? _f : base.fontFamily,
63
+ fontFamily: (_f = (0, themes_1.resolveThemeFontFamily)(f.fontFamily, theme)) !== null && _f !== void 0 ? _f : base.fontFamily,
64
64
  // f.fontSize is in points to mirror the editor's TextFormat type,
65
65
  // but at this paint layer everything is in pixels — scale ratio is
66
66
  // applied by the caller via baseFontSize. For per-segment override
@@ -72,8 +72,8 @@ var resolveSegmentStyle = function (seg, base, theme) {
72
72
  };
73
73
  };
74
74
  exports.resolveSegmentStyle = resolveSegmentStyle;
75
- /** Inverse of pointToPixel — used only when computing a per-segment scale. */
76
- var pointFromPx = function (px) { return px / 1.3333; };
75
+ /** CSS pixels per point (96 / 72), as `pointToPixel`. */
76
+ var PT_TO_PX = 96 / 72;
77
77
  /**
78
78
  * Fraction of the em box above the alphabetic baseline for typical
79
79
  * Latin fonts. Used to baseline-align mixed-size runs on one line:
@@ -108,18 +108,15 @@ var computeLineMetrics = function (resolvedLines, base, advanceOf) {
108
108
  exports.computeLineMetrics = computeLineMetrics;
109
109
  /**
110
110
  * Vertical draw position (textBaseline="top") for one segment within
111
- * its line box. Normal runs share the line's alphabetic baseline
112
- * (smaller runs shift down), superscript hugs the line top, subscript
113
- * hugs the line bottom. All three reduce to `lineTop` when the run's
114
- * size equals the line's. Exported for unit tests.
111
+ * its line box. Every run shares the line's alphabetic baseline (smaller
112
+ * runs shift down); superscript / subscript runs then move that baseline
113
+ * up / down by Excel's shift ({@link getScriptBaselineShift}). Exported
114
+ * for unit tests.
115
115
  */
116
116
  var computeSegmentTop = function (lineTop, lineFontSize, segFontSize, baselineOffset) {
117
- if (baselineOffset === "superscript")
118
- return lineTop;
119
- if (baselineOffset === "subscript") {
120
- return lineTop + (lineFontSize - segFontSize);
121
- }
122
- return lineTop + (lineFontSize - segFontSize) * ALPHABETIC_BASELINE_RATIO;
117
+ return lineTop +
118
+ (lineFontSize - segFontSize) * ALPHABETIC_BASELINE_RATIO +
119
+ (0, alignment_1.getScriptBaselineShift)(baselineOffset, lineFontSize);
123
120
  };
124
121
  exports.computeSegmentTop = computeSegmentTop;
125
122
  /**
@@ -256,7 +253,7 @@ var atomsToSegments = function (atoms) {
256
253
  * - Mention runs render as their inline label only (no chrome).
257
254
  */
258
255
  exports.CellTextRuns = react_1.default.memo(function (props) {
259
- var x = props.x, y = props.y, width = props.width, height = props.height, padding = props.padding, value = props.value, runs = props.runs, baseColor = props.baseColor, baseFontFamily = props.baseFontFamily, baseFontSize = props.baseFontSize, baseBold = props.baseBold, baseItalic = props.baseItalic, baseUnderline = props.baseUnderline, baseStrikethrough = props.baseStrikethrough, baseBaselineOffset = props.baseBaselineOffset, horizontalAlign = props.horizontalAlign, verticalAlign = props.verticalAlign, lineHeight = props.lineHeight, lineHeightMode = props.lineHeightMode, scale = props.scale, wrap = props.wrap, theme = props.theme;
256
+ var x = props.x, y = props.y, width = props.width, height = props.height, padding = props.padding, value = props.value, runs = props.runs, baseColor = props.baseColor, baseFontFamily = props.baseFontFamily, baseFontSize = props.baseFontSize, baseBold = props.baseBold, baseItalic = props.baseItalic, baseUnderline = props.baseUnderline, baseStrikethrough = props.baseStrikethrough, baseBaselineOffset = props.baseBaselineOffset, horizontalAlign = props.horizontalAlign, verticalAlign = props.verticalAlign, lineHeight = props.lineHeight, lineHeightMode = props.lineHeightMode, scale = props.scale, wrap = props.wrap, theme = props.theme, _a = props.fontScale, fontScale = _a === void 0 ? 1 : _a, rotation = props.rotation;
260
257
  var sceneFunc = (0, react_1.useCallback)(function (context, _shape) {
261
258
  var e_3, _a, e_4, _b, e_5, _c, e_6, _d, e_7, _e;
262
259
  var baseResolved = {
@@ -281,7 +278,7 @@ exports.CellTextRuns = react_1.default.memo(function (props) {
281
278
  // it walks; the per-segment paint loop below sets it again per
282
279
  // segment so the mutation here is safe.
283
280
  var measureAtom = function (atom) {
284
- var r = (0, exports.resolveSegmentStyle)({ text: atom.text, format: atom.format }, baseResolved, theme);
281
+ var r = (0, exports.resolveSegmentStyle)({ text: atom.text, format: atom.format }, baseResolved, theme, fontScale);
285
282
  context.setAttr("font", buildFontString(r));
286
283
  return context.measureText(atom.text).width;
287
284
  };
@@ -365,7 +362,7 @@ exports.CellTextRuns = react_1.default.memo(function (props) {
365
362
  var resolvedLines = lines.map(function (lineSegments) {
366
363
  return lineSegments.map(function (seg) { return ({
367
364
  seg: seg,
368
- r: (0, exports.resolveSegmentStyle)(seg, baseResolved, theme),
365
+ r: (0, exports.resolveSegmentStyle)(seg, baseResolved, theme, fontScale),
369
366
  }); });
370
367
  });
371
368
  var _h = (0, exports.computeLineMetrics)(resolvedLines, baseResolved, function (r) {
@@ -476,7 +473,8 @@ exports.CellTextRuns = react_1.default.memo(function (props) {
476
473
  height,
477
474
  padding,
478
475
  theme,
476
+ fontScale,
479
477
  ]);
480
- return (react_1.default.createElement(react_konva_1.Shape, { x: x, y: y, width: width, height: height, sceneFunc: sceneFunc, listening: false, perfectDrawEnabled: false }));
478
+ return (react_1.default.createElement(react_konva_1.Shape, { x: x, y: y, width: width, height: height, rotation: rotation, sceneFunc: sceneFunc, listening: false, perfectDrawEnabled: false }));
481
479
  });
482
480
  exports.CellTextRuns.displayName = "CellTextRuns";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/cell/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAA4B,MAAM,OAAO,CAAC;AA4CjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAU3C,eAAO,MAAM,IAAI,oCAAgB,SAAS,uBA0oBxC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/cell/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAuDjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAO3C,eAAO,MAAM,IAAI,oCAAgB,SAAS,uBAoiCxC,CAAC"}