@a3s-lab/office 0.25.0 → 0.26.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/dist/164.js CHANGED
@@ -3532,19 +3532,136 @@ function work_spreadsheet_page_setup_boundedNumber(value, minimum, maximum, fall
3532
3532
  }
3533
3533
  const MAX_XLSX_RICH_TEXT_CELL_CHARACTERS = 32767;
3534
3534
  const MAX_XLSX_RICH_TEXT_RUNS_PER_CELL = 512;
3535
- const MAX_XLSX_RICH_TEXT_CELLS = 10000;
3536
- const MAX_XLSX_RICH_TEXT_RUNS = 100000;
3535
+ const MAX_XLSX_RICH_TEXT_FONT_NAME_CHARACTERS = 128;
3536
+ const MAX_XLSX_RICH_TEXT_FONT_SIZE = 409;
3537
+ function normalizeXlsxRichTextEditSource(cell) {
3538
+ if (cell?.f) return null;
3539
+ if (cell) {
3540
+ const rich = normalizeXlsxRichTextCell(cell);
3541
+ if (rich) return rich;
3542
+ }
3543
+ const text = cell?.v;
3544
+ if (void 0 !== text && ('string' != typeof text || text.length > MAX_XLSX_RICH_TEXT_CELL_CHARACTERS || !validXlsxRichText(text))) return null;
3545
+ const value = text ?? '';
3546
+ return {
3547
+ runs: value ? [
3548
+ xlsxRichTextBaseRun(cell, value)
3549
+ ] : [],
3550
+ text: value
3551
+ };
3552
+ }
3553
+ function xlsxRichTextBaseRun(cell, text) {
3554
+ const run = {
3555
+ v: text
3556
+ };
3557
+ if (1 === Number(cell?.bl)) run.bl = 1;
3558
+ if (1 === Number(cell?.it)) run.it = 1;
3559
+ if (1 === Number(cell?.cl)) run.cl = 1;
3560
+ const underline = Number(cell?.un);
3561
+ if (Number.isSafeInteger(underline) && underline >= 1 && underline <= 4) run.un = underline;
3562
+ if ('string' == typeof cell?.ff && cell.ff.trim() && cell.ff.trim().length <= MAX_XLSX_RICH_TEXT_FONT_NAME_CHARACTERS) run.ff = cell.ff.trim();
3563
+ const size = Number(cell?.fs);
3564
+ if (Number.isFinite(size) && size >= 1 && size <= MAX_XLSX_RICH_TEXT_FONT_SIZE) run.fs = size;
3565
+ const color = normalizeXlsxRichTextColor(cell?.fc);
3566
+ if (color) {
3567
+ run.fc = color;
3568
+ const origin = normalizeXlsxSemanticColorOrigin(xlsxCellStyleOrigin(cell ?? {})?.fontColor);
3569
+ if (origin && xlsxSemanticColorMatchesValue(origin, color)) run.a3sXlsxColorOrigin = origin;
3570
+ }
3571
+ return run;
3572
+ }
3573
+ function normalizeXlsxRichTextCell(cell) {
3574
+ if (cell.f || cell.ct?.t !== 'inlineStr' || !Array.isArray(cell.ct.s)) return null;
3575
+ if (!cell.ct.s.length || cell.ct.s.length > MAX_XLSX_RICH_TEXT_RUNS_PER_CELL) return null;
3576
+ const runs = [];
3577
+ let characterCount = 0;
3578
+ for (const candidate of cell.ct.s){
3579
+ const run = normalizeXlsxRichTextRun(candidate);
3580
+ if (!run) return null;
3581
+ if (run.v) {
3582
+ characterCount += run.v.length;
3583
+ if (characterCount > MAX_XLSX_RICH_TEXT_CELL_CHARACTERS) return null;
3584
+ runs.push(run);
3585
+ }
3586
+ }
3587
+ const text = runs.map((run)=>run.v).join('');
3588
+ return runs.length && text ? {
3589
+ runs,
3590
+ text
3591
+ } : null;
3592
+ }
3593
+ function normalizeXlsxRichTextRun(value) {
3594
+ if (!work_xlsx_rich_text_model_isRecord(value) || 'string' != typeof value.v || !validXlsxRichText(value.v)) return null;
3595
+ const run = {
3596
+ v: value.v
3597
+ };
3598
+ copyToggle(value, run, 'bl');
3599
+ copyToggle(value, run, 'it');
3600
+ copyToggle(value, run, 'cl');
3601
+ if ('string' == typeof value.ff && value.ff.trim() && value.ff.trim().length <= MAX_XLSX_RICH_TEXT_FONT_NAME_CHARACTERS) run.ff = value.ff.trim();
3602
+ if ('number' == typeof value.fs && Number.isFinite(value.fs) && value.fs >= 1 && value.fs <= MAX_XLSX_RICH_TEXT_FONT_SIZE) run.fs = value.fs;
3603
+ const color = normalizeXlsxRichTextColor(value.fc);
3604
+ if (color) run.fc = color;
3605
+ const underline = Number(value.un);
3606
+ if (Number.isSafeInteger(underline) && underline >= 0 && underline <= 4 && void 0 !== value.un) run.un = underline;
3607
+ const colorOrigin = normalizeXlsxSemanticColorOrigin(value.a3sXlsxColorOrigin);
3608
+ if (colorOrigin) run.a3sXlsxColorOrigin = colorOrigin;
3609
+ return run;
3610
+ }
3611
+ function normalizeXlsxRichTextColor(value) {
3612
+ const rgb = xlsxRgbColor(value);
3613
+ return rgb ? `#${rgb.slice(-6).toLowerCase()}` : null;
3614
+ }
3615
+ function coalesceXlsxRichTextRuns(source) {
3616
+ const result = [];
3617
+ for (const run of source){
3618
+ if (!run.v) continue;
3619
+ const previous = result.at(-1);
3620
+ if (previous && sameXlsxRichTextRunStyle(previous, run)) previous.v += run.v;
3621
+ else result.push({
3622
+ ...run
3623
+ });
3624
+ }
3625
+ return result;
3626
+ }
3627
+ function sameXlsxRichTextRunStyle(left, right) {
3628
+ return left.bl === right.bl && left.cl === right.cl && left.fc === right.fc && left.ff === right.ff && left.fs === right.fs && left.it === right.it && left.un === right.un && JSON.stringify(left.a3sXlsxColorOrigin) === JSON.stringify(right.a3sXlsxColorOrigin);
3629
+ }
3630
+ function validXlsxRichText(value) {
3631
+ for(let index = 0; index < value.length; index += 1){
3632
+ const code = value.charCodeAt(index);
3633
+ if (0x09 !== code && 0x0a !== code && 0x0d !== code && (!(code >= 0x20) || !(code <= 0xd7ff)) && (!(code >= 0xe000) || !(code <= 0xfffd))) {
3634
+ if (isHighSurrogate(code) && index + 1 < value.length && isLowSurrogate(value.charCodeAt(index + 1))) {
3635
+ index += 1;
3636
+ continue;
3637
+ }
3638
+ return false;
3639
+ }
3640
+ }
3641
+ return true;
3642
+ }
3643
+ function isHighSurrogate(value) {
3644
+ return value >= 0xd800 && value <= 0xdbff;
3645
+ }
3646
+ function isLowSurrogate(value) {
3647
+ return value >= 0xdc00 && value <= 0xdfff;
3648
+ }
3649
+ function copyToggle(source, target, key) {
3650
+ if (1 === Number(source[key])) target[key] = 1;
3651
+ else if (0 === Number(source[key]) && void 0 !== source[key]) target[key] = 0;
3652
+ }
3653
+ function work_xlsx_rich_text_model_isRecord(value) {
3654
+ return 'object' == typeof value && null !== value && !Array.isArray(value);
3655
+ }
3537
3656
  const MAX_XLSX_SHARED_RICH_TEXT_ITEMS = 10000;
3538
- const MAX_XLSX_FONT_NAME_CHARACTERS = 128;
3539
- const MAX_XLSX_FONT_SIZE = 409;
3540
3657
  function createXlsxRichTextReadContext(options) {
3541
3658
  const colors = createXlsxColorResolver(options.styles, options.theme);
3542
3659
  const sharedStrings = readRichSharedStrings(options.sharedStrings, colors);
3543
3660
  return {
3544
3661
  colors,
3545
3662
  hasRichSharedStrings: sharedStrings.size > 0,
3546
- remainingCells: MAX_XLSX_RICH_TEXT_CELLS,
3547
- remainingRuns: MAX_XLSX_RICH_TEXT_RUNS,
3663
+ remainingCells: 10000,
3664
+ remainingRuns: 100000,
3548
3665
  sharedStrings
3549
3666
  };
3550
3667
  }
@@ -3573,7 +3690,7 @@ function readXlsxRichTextCells(worksheet, context) {
3573
3690
  ...run
3574
3691
  }));
3575
3692
  const text = runs.map((run)=>run.v).join('');
3576
- if (text && !(text.length > MAX_XLSX_RICH_TEXT_CELL_CHARACTERS)) {
3693
+ if (text && !(text.length > 32767)) {
3577
3694
  context.remainingCells -= 1;
3578
3695
  context.remainingRuns -= runs.length;
3579
3696
  result.push({
@@ -3604,8 +3721,8 @@ function applyImportedXlsxRichText(cell, richText) {
3604
3721
  function patchSpreadsheetRichTextFontRuns(cell, patch) {
3605
3722
  if (!fontPatchHasValues(patch) || cell.ct?.t !== 'inlineStr') return cell;
3606
3723
  const source = cell.ct.s;
3607
- if (!Array.isArray(source) || !source.length || source.some((run)=>!work_xlsx_rich_text_isRecord(run) || 'string' != typeof run.v || !validXmlText(run.v))) return cell;
3608
- const normalizedColor = void 0 === patch.fontColor ? void 0 : normalizedColorValue(patch.fontColor);
3724
+ if (!Array.isArray(source) || !source.length || source.some((run)=>!work_xlsx_rich_text_isRecord(run) || 'string' != typeof run.v || !validXlsxRichText(run.v))) return cell;
3725
+ const normalizedColor = void 0 === patch.fontColor ? void 0 : normalizeXlsxRichTextColor(patch.fontColor);
3609
3726
  const runs = source.map((run)=>{
3610
3727
  const next = {
3611
3728
  ...run
@@ -3631,15 +3748,15 @@ function patchSpreadsheetRichTextFontRuns(cell, patch) {
3631
3748
  };
3632
3749
  }
3633
3750
  function xlsxRichTextCellText(cell) {
3634
- return normalizeRichTextCell(cell)?.text ?? null;
3751
+ return normalizeXlsxRichTextCell(cell)?.text ?? null;
3635
3752
  }
3636
3753
  function sheetHasXlsxRichTextCells(sheet) {
3637
- for (const [, row] of spreadsheet_sparse_sparseArrayEntries(sheet.data))for (const [, cell] of spreadsheet_sparse_sparseArrayEntries(row))if (cell && normalizeRichTextCell(cell)) return true;
3754
+ for (const [, row] of spreadsheet_sparse_sparseArrayEntries(sheet.data))for (const [, cell] of spreadsheet_sparse_sparseArrayEntries(row))if (cell && normalizeXlsxRichTextCell(cell)) return true;
3638
3755
  return false;
3639
3756
  }
3640
3757
  function xlsxRichTextStyleOrigins(sheet) {
3641
3758
  const origins = [];
3642
- for (const [, row] of spreadsheet_sparse_sparseArrayEntries(sheet.data))for (const [, cell] of spreadsheet_sparse_sparseArrayEntries(row))if (cell) for (const run of normalizeRichTextCell(cell)?.runs ?? []){
3759
+ for (const [, row] of spreadsheet_sparse_sparseArrayEntries(sheet.data))for (const [, cell] of spreadsheet_sparse_sparseArrayEntries(row))if (cell) for (const run of normalizeXlsxRichTextCell(cell)?.runs ?? []){
3643
3760
  const fontColor = normalizeXlsxSemanticColorOrigin(run.a3sXlsxColorOrigin);
3644
3761
  if (fontColor && run.fc && xlsxSemanticColorMatchesValue(fontColor, run.fc)) origins.push({
3645
3762
  fontColor
@@ -3657,12 +3774,12 @@ function writeXlsxRichTextCells(worksheet, sheet, semanticPalette) {
3657
3774
  ]
3658
3775
  ] : [];
3659
3776
  }));
3660
- let remainingCells = MAX_XLSX_RICH_TEXT_CELLS;
3661
- let remainingRuns = MAX_XLSX_RICH_TEXT_RUNS;
3777
+ let remainingCells = 10000;
3778
+ let remainingRuns = 100000;
3662
3779
  for (const [row, values] of spreadsheet_sparse_sparseArrayEntries(sheet.data))for (const [column, cell] of spreadsheet_sparse_sparseArrayEntries(values)){
3663
3780
  if (remainingCells <= 0 || remainingRuns <= 0) return;
3664
3781
  if (!cell) continue;
3665
- const richText = normalizeRichTextCell(cell);
3782
+ const richText = normalizeXlsxRichTextCell(cell);
3666
3783
  if (!richText || richText.runs.length > remainingRuns) continue;
3667
3784
  const element = elements.get(xlsxCellAddress(row, column));
3668
3785
  if (element) {
@@ -3677,9 +3794,9 @@ function readRichSharedStrings(document, colors) {
3677
3794
  const result = new Map();
3678
3795
  let parsedRuns = 0;
3679
3796
  for (const [index, item] of directChildren(document.documentElement, 'si').entries()){
3680
- if (result.size >= MAX_XLSX_SHARED_RICH_TEXT_ITEMS || parsedRuns >= MAX_XLSX_RICH_TEXT_RUNS) break;
3797
+ if (result.size >= MAX_XLSX_SHARED_RICH_TEXT_ITEMS || parsedRuns >= 100000) break;
3681
3798
  const runs = readRichTextRuns(item, colors);
3682
- if (runs && !(parsedRuns + runs.length > MAX_XLSX_RICH_TEXT_RUNS)) {
3799
+ if (runs && !(parsedRuns + runs.length > 100000)) {
3683
3800
  result.set(index, runs);
3684
3801
  parsedRuns += runs.length;
3685
3802
  }
@@ -3688,7 +3805,7 @@ function readRichSharedStrings(document, colors) {
3688
3805
  }
3689
3806
  function readRichTextRuns(container, colors) {
3690
3807
  const elements = directChildren(container, 'r');
3691
- if (directChild(container, 't') || !elements.length || elements.length > MAX_XLSX_RICH_TEXT_RUNS_PER_CELL) return null;
3808
+ if (directChild(container, 't') || !elements.length || elements.length > 512) return null;
3692
3809
  const runs = [];
3693
3810
  let characterCount = 0;
3694
3811
  for (const element of elements){
@@ -3697,7 +3814,7 @@ function readRichTextRuns(container, colors) {
3697
3814
  const value = textElement.textContent ?? '';
3698
3815
  if (value) {
3699
3816
  characterCount += value.length;
3700
- if (characterCount > MAX_XLSX_RICH_TEXT_CELL_CHARACTERS || !validXmlText(value)) return null;
3817
+ if (characterCount > 32767 || !validXlsxRichText(value)) return null;
3701
3818
  runs.push(readRichTextRun(element, value, colors));
3702
3819
  }
3703
3820
  }
@@ -3713,12 +3830,12 @@ function readRichTextRun(element, value, colors) {
3713
3830
  };
3714
3831
  const font = directChild(properties, 'rFont') ?? directChild(properties, 'name');
3715
3832
  const fontName = attribute(font ?? properties, 'val')?.trim();
3716
- if (fontName && fontName.length <= MAX_XLSX_FONT_NAME_CHARACTERS) run.ff = fontName;
3833
+ if (fontName && fontName.length <= 128) run.ff = fontName;
3717
3834
  if (work_xlsx_rich_text_xlsxToggleEnabled(directChild(properties, 'b'))) run.bl = 1;
3718
3835
  if (work_xlsx_rich_text_xlsxToggleEnabled(directChild(properties, 'i'))) run.it = 1;
3719
3836
  if (work_xlsx_rich_text_xlsxToggleEnabled(directChild(properties, 'strike'))) run.cl = 1;
3720
3837
  const size = finiteNumber(attribute(directChild(properties, 'sz') ?? properties, 'val'));
3721
- if (null !== size && size >= 1 && size <= MAX_XLSX_FONT_SIZE) run.fs = size;
3838
+ if (null !== size && size >= 1 && size <= 409) run.fs = size;
3722
3839
  const underline = directChild(properties, 'u');
3723
3840
  if (underline) {
3724
3841
  const value = spreadsheetUnderlineCellValueFromXlsx(attribute(underline, 'val'));
@@ -3731,47 +3848,6 @@ function readRichTextRun(element, value, colors) {
3731
3848
  if (colorOrigin) run.a3sXlsxColorOrigin = colorOrigin;
3732
3849
  return run;
3733
3850
  }
3734
- function normalizeRichTextCell(cell) {
3735
- if (cell.f || cell.ct?.t !== 'inlineStr' || !Array.isArray(cell.ct.s)) return null;
3736
- if (!cell.ct.s.length || cell.ct.s.length > MAX_XLSX_RICH_TEXT_RUNS_PER_CELL) return null;
3737
- const runs = [];
3738
- let characterCount = 0;
3739
- for (const candidate of cell.ct.s){
3740
- const run = normalizeRichTextRun(candidate);
3741
- if (!run) return null;
3742
- if (run.v) {
3743
- characterCount += run.v.length;
3744
- if (characterCount > MAX_XLSX_RICH_TEXT_CELL_CHARACTERS) return null;
3745
- runs.push(run);
3746
- }
3747
- }
3748
- const text = runs.map((run)=>run.v).join('');
3749
- return runs.length && text ? {
3750
- runs,
3751
- text
3752
- } : null;
3753
- }
3754
- function normalizeRichTextRun(value) {
3755
- if (!work_xlsx_rich_text_isRecord(value) || 'string' != typeof value.v || !validXmlText(value.v)) return null;
3756
- const run = {
3757
- v: value.v
3758
- };
3759
- if (1 === Number(value.bl)) run.bl = 1;
3760
- else if (0 === Number(value.bl) && void 0 !== value.bl) run.bl = 0;
3761
- if (1 === Number(value.it)) run.it = 1;
3762
- else if (0 === Number(value.it) && void 0 !== value.it) run.it = 0;
3763
- if (1 === Number(value.cl)) run.cl = 1;
3764
- else if (0 === Number(value.cl) && void 0 !== value.cl) run.cl = 0;
3765
- if ('string' == typeof value.ff && value.ff.trim() && value.ff.trim().length <= MAX_XLSX_FONT_NAME_CHARACTERS) run.ff = value.ff.trim();
3766
- if ('number' == typeof value.fs && Number.isFinite(value.fs) && value.fs >= 1 && value.fs <= MAX_XLSX_FONT_SIZE) run.fs = value.fs;
3767
- const color = normalizedColorValue(value.fc);
3768
- if (color) run.fc = color;
3769
- const underline = Number(value.un);
3770
- if (Number.isSafeInteger(underline) && underline >= 0 && underline <= 4 && void 0 !== value.un) run.un = underline;
3771
- const colorOrigin = normalizeXlsxSemanticColorOrigin(value.a3sXlsxColorOrigin);
3772
- if (colorOrigin) run.a3sXlsxColorOrigin = colorOrigin;
3773
- return run;
3774
- }
3775
3851
  function writeRichTextCell(element, richText, semanticPalette) {
3776
3852
  for (const child of directChildren(element))if ('v' === child.localName || 'is' === child.localName) child.remove();
3777
3853
  element.setAttribute('t', 'inlineStr');
@@ -3825,10 +3901,6 @@ function writeRichTextRunProperties(document, run, semanticPalette) {
3825
3901
  function fontPatchHasValues(patch) {
3826
3902
  return void 0 !== patch.fontFamily || void 0 !== patch.fontSize || void 0 !== patch.fontColor || void 0 !== patch.bold || void 0 !== patch.italic || void 0 !== patch.underline || void 0 !== patch.strike;
3827
3903
  }
3828
- function normalizedColorValue(value) {
3829
- const rgb = xlsxRgbColor(value);
3830
- return rgb ? `#${rgb.slice(-6).toLowerCase()}` : null;
3831
- }
3832
3904
  function work_xlsx_rich_text_xlsxToggleEnabled(element) {
3833
3905
  if (!element) return false;
3834
3906
  const value = attribute(element, 'val')?.trim().toLowerCase();
@@ -3844,20 +3916,7 @@ function work_xlsx_rich_text_nonNegativeInteger(value) {
3844
3916
  const parsed = Number(value);
3845
3917
  return Number.isSafeInteger(parsed) ? parsed : null;
3846
3918
  }
3847
- function validXmlText(value) {
3848
- for(let index = 0; index < value.length; index += 1){
3849
- const code = value.charCodeAt(index);
3850
- if (0x09 !== code && 0x0a !== code && 0x0d !== code && (!(code >= 0x20) || !(code <= 0xd7ff)) && (!(code >= 0xe000) || !(code <= 0xfffd))) {
3851
- if (code >= 0xd800 && code <= 0xdbff && index + 1 < value.length && value.charCodeAt(index + 1) >= 0xdc00 && value.charCodeAt(index + 1) <= 0xdfff) {
3852
- index += 1;
3853
- continue;
3854
- }
3855
- return false;
3856
- }
3857
- }
3858
- return true;
3859
- }
3860
3919
  function work_xlsx_rich_text_isRecord(value) {
3861
3920
  return 'object' == typeof value && null !== value && !Array.isArray(value);
3862
3921
  }
3863
- export { DEFAULT_PROTECTION_HINT, SPREADSHEET_CONDITIONAL_COMPARISON_OPERATORS, SPREADSHEET_CONDITIONAL_ICON_SETS, activeXlsxSemanticColorOrigin, applyImportedXlsxRichText, applyXlsxSemanticColorOrigin, attachSpreadsheetShownCommentCells, createWorkOfficeSpreadsheetCollaborationBinding as createOfficeSpreadsheetCollaborationBinding, createXlsxColorResolver, createXlsxRichTextReadContext, defaultSpreadsheetColorScaleThresholds, defaultSpreadsheetConditionalIconThresholds, defaultSpreadsheetDataBarOptions, defaultXlsxBorder, defaultXlsxFill, directXlsxAlignment, directXlsxFontStyle, drawSpreadsheetConditionalIcon, editableRangeCellCount, editableRangeRequiresCredentials, effectiveSpreadsheetPageSetup, ensureXlsxStyleCollection, freezeImportedSpreadsheetCell, hasXlsxDirectFontStyle, importedSheetProtectionAuthority, initializeWorkOfficeSpreadsheetCollaboration as initializeOfficeSpreadsheetCollaboration, isSpreadsheetConditionalComparisonOperator, isSpreadsheetConditionalIconSetName, isSpreadsheetTextOrientationId, isSpreadsheetUnderlineStyle, normalizeSheetProtectionAuthority, normalizeSpreadsheetConditionalIconSetFormat, normalizeSpreadsheetConditionalVisualOptions, normalizeSpreadsheetDateValidationBoundary, normalizeSpreadsheetPaperSize, patchSpreadsheetRichTextFontRuns, prepareXlsxSemanticPalette, protectedSheetCount, readWorkOfficeSpreadsheetCollaboration as readOfficeSpreadsheetCollaboration, readXlsxRichTextCells, readXlsxSemanticColorOrigin, registerDerivedSpreadsheetMatrix, registerImportedSpreadsheetMatrix, replaceWorkOfficeSpreadsheetCollaboration as replaceOfficeSpreadsheetCollaboration, resolveXlsxColor, sameSpreadsheetHistoryValue, setXlsxBorderLine, setXlsxColorChild, setXlsxToggleChild, setXlsxUnderlineChild, setXlsxValueChild, sheetHasProtectionState, sheetHasXlsxRichTextCells, sheetProtectionAuthority, spreadsheetCellValueWithDiagonalBorder, spreadsheetConditionalComparisonNeedsUpperValue, spreadsheetConditionalIconForValue, spreadsheetConditionalIconSetCount, spreadsheetConditionalThresholdValue, spreadsheetConditionalThresholdsEqual, spreadsheetDateValidationFormula, spreadsheetDiagonalBorderFromCellValue, spreadsheetExplicitTextOrientationFromCell, spreadsheetMatrixProfile, spreadsheetProtectionKey, spreadsheetTextOrientationCellStyle, spreadsheetTextOrientationChoiceFromCell, spreadsheetTextOrientationFromAngle, spreadsheetTextOrientationFromCell, spreadsheetTextOrientationFromChoice, spreadsheetTextOrientationFromXlsx, spreadsheetUnderlineCellValue, spreadsheetUnderlineCellValueFromSheetJs, spreadsheetUnderlineCellValueFromXlsx, spreadsheetUnderlineStyle, spreadsheetVisibleTextRotationFromCell, unlockedCellCount, withEditableRange, withSheetProtection, withSheetSelectionPermissions, withXlsxCellStyleOrigin, withoutEditableRange, work_xlsx_cell_style_values_xlsxBooleanAttribute, writeXlsxAlignment, writeXlsxRichTextCells, xlsxAlignmentMatches, xlsxBorderLineMatches, xlsxCellStyleOrigin, xlsxColorElementMatchesOrigin, xlsxColorMatches, xlsxRgbColor, xlsxRichTextCellText, xlsxRichTextStyleOrigins, xlsxSemanticColorOriginKey, xlsxStyleCollectionIndex, xlsxToggleEnabled, xlsxUnderlineStyle, xlsxWorksheetCellEntries };
3922
+ export { DEFAULT_PROTECTION_HINT, SPREADSHEET_CONDITIONAL_COMPARISON_OPERATORS, SPREADSHEET_CONDITIONAL_ICON_SETS, activeXlsxSemanticColorOrigin, applyImportedXlsxRichText, applyXlsxSemanticColorOrigin, attachSpreadsheetShownCommentCells, coalesceXlsxRichTextRuns, createWorkOfficeSpreadsheetCollaborationBinding as createOfficeSpreadsheetCollaborationBinding, createXlsxColorResolver, createXlsxRichTextReadContext, defaultSpreadsheetColorScaleThresholds, defaultSpreadsheetConditionalIconThresholds, defaultSpreadsheetDataBarOptions, defaultXlsxBorder, defaultXlsxFill, directXlsxAlignment, directXlsxFontStyle, drawSpreadsheetConditionalIcon, editableRangeCellCount, editableRangeRequiresCredentials, effectiveSpreadsheetPageSetup, ensureXlsxStyleCollection, freezeImportedSpreadsheetCell, hasXlsxDirectFontStyle, importedSheetProtectionAuthority, initializeWorkOfficeSpreadsheetCollaboration as initializeOfficeSpreadsheetCollaboration, isHighSurrogate, isLowSurrogate, isSpreadsheetConditionalComparisonOperator, isSpreadsheetConditionalIconSetName, isSpreadsheetTextOrientationId, isSpreadsheetUnderlineStyle, normalizeSheetProtectionAuthority, normalizeSpreadsheetConditionalIconSetFormat, normalizeSpreadsheetConditionalVisualOptions, normalizeSpreadsheetDateValidationBoundary, normalizeSpreadsheetPaperSize, normalizeXlsxRichTextCell, normalizeXlsxRichTextColor, normalizeXlsxRichTextEditSource, normalizeXlsxRichTextRun, normalizeXlsxSemanticColorOrigin, patchSpreadsheetRichTextFontRuns, prepareXlsxSemanticPalette, protectedSheetCount, readWorkOfficeSpreadsheetCollaboration as readOfficeSpreadsheetCollaboration, readXlsxRichTextCells, readXlsxSemanticColorOrigin, registerDerivedSpreadsheetMatrix, registerImportedSpreadsheetMatrix, replaceWorkOfficeSpreadsheetCollaboration as replaceOfficeSpreadsheetCollaboration, resolveXlsxColor, sameSpreadsheetHistoryValue, sameXlsxRichTextRunStyle, setXlsxBorderLine, setXlsxColorChild, setXlsxToggleChild, setXlsxUnderlineChild, setXlsxValueChild, sheetHasProtectionState, sheetHasXlsxRichTextCells, sheetProtectionAuthority, spreadsheetCellValueWithDiagonalBorder, spreadsheetConditionalComparisonNeedsUpperValue, spreadsheetConditionalIconForValue, spreadsheetConditionalIconSetCount, spreadsheetConditionalThresholdValue, spreadsheetConditionalThresholdsEqual, spreadsheetDateValidationFormula, spreadsheetDiagonalBorderFromCellValue, spreadsheetExplicitTextOrientationFromCell, spreadsheetMatrixProfile, spreadsheetProtectionKey, spreadsheetTextOrientationCellStyle, spreadsheetTextOrientationChoiceFromCell, spreadsheetTextOrientationFromAngle, spreadsheetTextOrientationFromCell, spreadsheetTextOrientationFromChoice, spreadsheetTextOrientationFromXlsx, spreadsheetUnderlineCellValue, spreadsheetUnderlineCellValueFromSheetJs, spreadsheetUnderlineCellValueFromXlsx, spreadsheetUnderlineStyle, spreadsheetVisibleTextRotationFromCell, unlockedCellCount, validXlsxRichText, withEditableRange, withSheetProtection, withSheetSelectionPermissions, withXlsxCellStyleOrigin, withoutEditableRange, work_xlsx_cell_style_values_xlsxBooleanAttribute, writeXlsxAlignment, writeXlsxRichTextCells, xlsxAlignmentMatches, xlsxBorderLineMatches, xlsxCellStyleOrigin, xlsxColorElementMatchesOrigin, xlsxColorMatches, xlsxRgbColor, xlsxRichTextCellText, xlsxRichTextStyleOrigins, xlsxSemanticColorMatchesValue, xlsxSemanticColorOriginKey, xlsxStyleCollectionIndex, xlsxToggleEnabled, xlsxUnderlineStyle, xlsxWorksheetCellEntries };