@odoo/o-spreadsheet 19.4.2 → 19.4.3

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.
@@ -2,13 +2,13 @@
2
2
  /**
3
3
  * This file is generated by o-spreadsheet build tools. Do not edit it.
4
4
  * @see https://github.com/odoo/o-spreadsheet
5
- * @version 19.4.2
6
- * @date 2026-07-13T06:26:39.071Z
7
- * @hash c83d4aa
5
+ * @version 19.4.3
6
+ * @date 2026-07-20T11:02:36.941Z
7
+ * @hash d32e61b
8
8
  */
9
9
 
10
10
  import * as owl from "@odoo/owl";
11
- import { App, blockDom, markRaw, onMounted, onPatched, onWillPatch, onWillStart, onWillUnmount, onWillUpdateProps, props, proxy, signal, status, toRaw, types, useEffect, useListener, whenReady, xml } from "@odoo/owl";
11
+ import { App, blockDom, markRaw, onMounted, onPatched, onWillPatch, onWillStart, onWillUnmount, onWillUpdateProps, proxy, signal, status, toRaw, types, useEffect, useListener, useProps, whenReady, xml } from "@odoo/owl";
12
12
 
13
13
  //#region \0rolldown/runtime.js
14
14
  var __create = Object.create;
@@ -1246,6 +1246,12 @@ function defaultDict(def) {
1246
1246
  }
1247
1247
  };
1248
1248
  }
1249
+ function repeat(array, times) {
1250
+ const len = array.length;
1251
+ const result = new Array(len * times);
1252
+ for (let t = 0; t < times; t++) for (let i = 0; i < len; i++) result[t * len + i] = array[i];
1253
+ return result;
1254
+ }
1249
1255
 
1250
1256
  //#endregion
1251
1257
  //#region src/helpers/coordinates.ts
@@ -2599,7 +2605,7 @@ function unregisterChartJsExtensions() {
2599
2605
  *
2600
2606
  * The end goal is to eliminate all compatibility shims.
2601
2607
  */
2602
- const { __ODOO_COMPATIBILITY_LAYER_ADDED__, blockDom: blockDom$1, config, onMounted: onMounted$1, onPatched: onPatched$1, onWillUnmount: onWillUnmount$1, App: OwlApp, Component: OwlComponent, EnvPlugin: OwlEnvPlugin, useChildEnv: OwlUseChildEnv, useChildSubEnv: OwlUseChildSubEnv, useComponent: OwlUseComponent, useEnv: OwlUseEnv, useExternalListener: OwlUseExternalListener, useLayoutEffect: OwlUseLayoutEffect, useSubEnv: OwlUseSubEnv, Plugin, plugin, props: props$1, providePlugins, useScope, xml: xml$1 } = owl;
2608
+ const { __ODOO_COMPATIBILITY_LAYER_ADDED__, blockDom: blockDom$1, config, onMounted: onMounted$1, onPatched: onPatched$1, onWillUnmount: onWillUnmount$1, App: OwlApp, Component: OwlComponent, EnvPlugin: OwlEnvPlugin, useChildEnv: OwlUseChildEnv, useChildSubEnv: OwlUseChildSubEnv, useComponent: OwlUseComponent, useEnv: OwlUseEnv, useExternalListener: OwlUseExternalListener, useLayoutEffect: OwlUseLayoutEffect, useSubEnv: OwlUseSubEnv, Plugin, usePlugin, useProps: useProps$1, providePlugins, useScope, xml: xml$1 } = owl;
2603
2609
  const isOdooCompatLoaded = __ODOO_COMPATIBILITY_LAYER_ADDED__ === true;
2604
2610
  var _Component = class extends OwlComponent {
2605
2611
  static template = "";
@@ -2680,7 +2686,7 @@ function _useChildSubEnv(extension) {
2680
2686
  extendEnv(extension);
2681
2687
  }
2682
2688
  function _useChildEnv() {
2683
- return plugin(_EnvPlugin).env;
2689
+ return usePlugin(_EnvPlugin).env;
2684
2690
  }
2685
2691
  var VPortal = class extends blockDom$1.text("").constructor {
2686
2692
  /**
@@ -2729,7 +2735,7 @@ var Portal = class extends OwlComponent {
2729
2735
  static template = xml$1`<t t-call-slot="default"/>`;
2730
2736
  constructor(node) {
2731
2737
  super(node);
2732
- this.props = props$1();
2738
+ this.props = useProps$1();
2733
2739
  this.__owl__ = node;
2734
2740
  }
2735
2741
  setup() {
@@ -6765,7 +6771,7 @@ function getRangeString(range, forSheetId, getSheetName, options = {
6765
6771
  if (prefixSheet && !sheetName) return CellErrorType.InvalidReference;
6766
6772
  let rangeString = getRangePartString(range, 0, options);
6767
6773
  if (range.parts && range.parts.length === 2) {
6768
- if (range.zone.top !== range.zone.bottom || range.zone.left !== range.zone.right || range.parts[0].rowFixed || range.parts[0].colFixed || range.parts[1].rowFixed || range.parts[1].colFixed) {
6774
+ if (range.zone.top !== range.zone.bottom || range.zone.left !== range.zone.right || range.parts[0].rowFixed || range.parts[0].colFixed || range.parts[1].rowFixed || range.parts[1].colFixed || options.doNotSimplifyRange) {
6769
6775
  rangeString += ":";
6770
6776
  rangeString += getRangePartString(range, 1, options);
6771
6777
  }
@@ -7517,6 +7523,11 @@ var CompiledFormula = class CompiledFormula {
7517
7523
  const params = compileTokens(rangeTokenize(formula));
7518
7524
  return new CompiledFormula(sheetId, params.tokens, params.literalValues, params.symbols, params.dependencies.map((xc) => getters.getRangeFromSheetXC(sheetId, xc)), params.isBadExpression, params.normalizedFormula, params.execute);
7519
7525
  }
7526
+ areRangeShapesInLineWithNormalizedFormula() {
7527
+ return Array.from(this.normalizedFormula.matchAll(/\|C\||\|R\|/g)).every((value, index) => {
7528
+ return this.rangeDependencies[index].parts.length === 1 && value[0] === "|C|" || this.rangeDependencies[index].parts.length === 2 && value[0] === "|R|" || this.rangeDependencies[index].invalidXc || this.rangeDependencies[index].invalidSheetName;
7529
+ });
7530
+ }
7520
7531
  };
7521
7532
  function compileTokens(tokens) {
7522
7533
  try {
@@ -11712,7 +11723,7 @@ chartJsExtensionRegistry.add("chartBackgroundPlugin", {
11712
11723
  });
11713
11724
  var ChartJsComponent = class extends Component {
11714
11725
  static template = "o-spreadsheet-ChartJsComponent";
11715
- props = props({
11726
+ props = useProps({
11716
11727
  chartId: types$1.string(),
11717
11728
  isFullScreen: types$1.boolean().optional()
11718
11729
  });
@@ -12415,7 +12426,7 @@ function getZoomTargetPosition(ev, zoom) {
12415
12426
  //#region src/components/figures/chart/scorecard/chart_scorecard.ts
12416
12427
  var ScorecardChart = class extends Component {
12417
12428
  static template = "o-spreadsheet-ScorecardChart";
12418
- props = props({
12429
+ props = useProps({
12419
12430
  chartId: types$1.string(),
12420
12431
  isFullScreen: types$1.boolean().optional()
12421
12432
  });
@@ -14155,7 +14166,7 @@ function hasIconLayoutChange(newBox, oldBox) {
14155
14166
  const ANIMATION_DURATION = 1e3;
14156
14167
  var GaugeChartComponent = class extends Component {
14157
14168
  static template = "o-spreadsheet-GaugeChartComponent";
14158
- props = props({
14169
+ props = useProps({
14159
14170
  chartId: types$1.string(),
14160
14171
  isFullScreen: types$1.boolean().optional()
14161
14172
  });
@@ -14381,7 +14392,7 @@ function useTimeOut() {
14381
14392
  var Menu = class extends Component {
14382
14393
  static template = "o-spreadsheet-Menu";
14383
14394
  static components = {};
14384
- props = props({
14395
+ props = useProps({
14385
14396
  menuItems: types$1.ArrayOf(),
14386
14397
  onClose: types$1.function(),
14387
14398
  onClickMenu: types$1.function().optional(),
@@ -14534,7 +14545,7 @@ function usePopoverContainer() {
14534
14545
  //#region src/components/popover/popover.ts
14535
14546
  var Popover = class extends Component {
14536
14547
  static template = "o-spreadsheet-Popover";
14537
- props = props({
14548
+ props = useProps({
14538
14549
  anchorRect: types$1.Rect(),
14539
14550
  containerRect: types$1.object({}).optional(),
14540
14551
  positioning: types$1.or([types$1.literal("top-right"), types$1.literal("bottom-left")]).optional("bottom-left"),
@@ -14713,7 +14724,7 @@ var MenuPopover = class MenuPopover extends Component {
14713
14724
  Menu,
14714
14725
  Popover
14715
14726
  };
14716
- props = props({
14727
+ props = useProps({
14717
14728
  anchorRect: types$1.Rect(),
14718
14729
  popoverPositioning: types$1.or([types$1.literal("top-right"), types$1.literal("bottom-left")]).optional("top-right"),
14719
14730
  menuItems: types$1.ArrayOf(),
@@ -14968,7 +14979,7 @@ var MenuPopover = class MenuPopover extends Component {
14968
14979
  var Select = class extends Component {
14969
14980
  static template = "o-spreadsheet-Select";
14970
14981
  static components = { Popover };
14971
- props = props({
14982
+ props = useProps({
14972
14983
  onChange: types$1.function(),
14973
14984
  values: types$1.array(),
14974
14985
  selectedValue: types$1.string().optional(),
@@ -15078,7 +15089,7 @@ var Select = class extends Component {
15078
15089
  //#region src/components/info_popover/info_popover.ts
15079
15090
  var InfoPopover = class extends Component {
15080
15091
  static template = "o-spreadsheet-Info-Popover";
15081
- props = props({
15092
+ props = useProps({
15082
15093
  anchorRect: types$1.Rect(),
15083
15094
  onClose: types$1.function(),
15084
15095
  annotationText: types$1.string().optional(),
@@ -15118,7 +15129,7 @@ var ChartMenu = class extends Component {
15118
15129
  InfoPopover,
15119
15130
  Select
15120
15131
  };
15121
- props = props({
15132
+ props = useProps({
15122
15133
  chartId: types$1.UID(),
15123
15134
  hasFullScreenButton: types$1.boolean().optional(true),
15124
15135
  displayEllipsisButton: types$1.boolean().optional(true)
@@ -15226,7 +15237,7 @@ var CarouselFigure = class extends Component {
15226
15237
  ChartMenu,
15227
15238
  MenuPopover
15228
15239
  };
15229
- props = props({
15240
+ props = useProps({
15230
15241
  figureUI: types$1.FigureUI(),
15231
15242
  editFigureStyle: types$1.function().optional(),
15232
15243
  isFullScreen: types$1.boolean().optional(),
@@ -15372,7 +15383,7 @@ var CarouselFigure = class extends Component {
15372
15383
  var ChartFigure = class extends Component {
15373
15384
  static template = "o-spreadsheet-ChartFigure";
15374
15385
  static components = { ChartMenu };
15375
- props = props({
15386
+ props = useProps({
15376
15387
  figureUI: types$1.FigureUI(),
15377
15388
  editFigureStyle: types$1.function().optional(),
15378
15389
  isFullScreen: types$1.boolean().optional(),
@@ -15402,7 +15413,7 @@ var ChartFigure = class extends Component {
15402
15413
  //#region src/components/figures/figure_image/figure_image.ts
15403
15414
  var ImageFigure = class extends Component {
15404
15415
  static template = "o-spreadsheet-ImageFigure";
15405
- props = props({
15416
+ props = useProps({
15406
15417
  figureUI: types$1.FigureUI(),
15407
15418
  editFigureStyle: types$1.function().optional(),
15408
15419
  openContextMenu: types$1.function()
@@ -15454,7 +15465,7 @@ const ACTIVE_BORDER_WIDTH = 2;
15454
15465
  var FigureComponent = class extends Component {
15455
15466
  static template = "o-spreadsheet-FigureComponent";
15456
15467
  static components = { MenuPopover };
15457
- props = props({
15468
+ props = useProps({
15458
15469
  figureUI: types$1.FigureUI(),
15459
15470
  style: types$1.string(),
15460
15471
  class: types$1.string(),
@@ -24592,7 +24603,7 @@ const genericInputPropsDefinition = {
24592
24603
  resetOnBlur: types$1.boolean().optional()
24593
24604
  };
24594
24605
  var GenericInput = class extends Component {
24595
- props = props(genericInputPropsDefinition);
24606
+ props = useProps(genericInputPropsDefinition);
24596
24607
  genericInputRef = signal.ref(HTMLInputElement);
24597
24608
  lastOnChangeValue = this.props.value.toString();
24598
24609
  setup() {
@@ -24675,7 +24686,7 @@ var GenericInput = class extends Component {
24675
24686
  var TextInput = class extends GenericInput {
24676
24687
  static template = "o-spreadsheet-TextInput";
24677
24688
  static components = {};
24678
- props = props({
24689
+ props = useProps({
24679
24690
  ...genericInputPropsDefinition,
24680
24691
  value: types$1.string(),
24681
24692
  errorMessage: types$1.string().optional(),
@@ -24695,7 +24706,7 @@ var TextInput = class extends GenericInput {
24695
24706
  //#region src/components/action_button/action_button.ts
24696
24707
  var ActionButton = class extends Component {
24697
24708
  static template = "o-spreadsheet-ActionButton";
24698
- props = props({
24709
+ props = useProps({
24699
24710
  action: types$1.ActionSpec(),
24700
24711
  hasTriangleDownIcon: types$1.boolean().optional(),
24701
24712
  selectedColor: types$1.string().optional(),
@@ -24751,7 +24762,7 @@ const INNER_GRADIENT_HEIGHT = CONTENT_WIDTH - 30 - 2 * ITEM_BORDER_WIDTH;
24751
24762
  var ColorPicker = class extends Component {
24752
24763
  static template = "o-spreadsheet-ColorPicker";
24753
24764
  static components = { Popover };
24754
- props = props({
24765
+ props = useProps({
24755
24766
  onColorPicked: types$1.function(),
24756
24767
  currentColor: types$1.string().optional(""),
24757
24768
  maxHeight: types$1.Pixel().optional(),
@@ -24914,7 +24925,7 @@ var ColorPicker = class extends Component {
24914
24925
  var ColorPickerWidget = class extends Component {
24915
24926
  static template = "o-spreadsheet-ColorPickerWidget";
24916
24927
  static components = { ColorPicker };
24917
- props = props({
24928
+ props = useProps({
24918
24929
  currentColor: types$1.string().optional(),
24919
24930
  toggleColorPicker: types$1.function(),
24920
24931
  showColorPicker: types$1.boolean(),
@@ -24939,7 +24950,7 @@ var ColorPickerWidget = class extends Component {
24939
24950
  var NumberEditor = class extends Component {
24940
24951
  static template = "o-spreadsheet-NumberEditor";
24941
24952
  static components = { Popover };
24942
- props = props({
24953
+ props = useProps({
24943
24954
  currentValue: types$1.number(),
24944
24955
  onValueChange: types$1.function(),
24945
24956
  onToggle: types$1.function().optional(),
@@ -25029,7 +25040,7 @@ var NumberEditor = class extends Component {
25029
25040
  var FontSizeEditor = class extends Component {
25030
25041
  static template = "o-spreadsheet-FontSizeEditor";
25031
25042
  static components = { NumberEditor };
25032
- props = props({
25043
+ props = useProps({
25033
25044
  currentFontSize: types$1.number(),
25034
25045
  onFontSizeChanged: types$1.function(),
25035
25046
  onToggle: types$1.function().optional(),
@@ -25048,7 +25059,7 @@ var TextStyler = class extends Component {
25048
25059
  ActionButton,
25049
25060
  FontSizeEditor
25050
25061
  };
25051
- props = props({
25062
+ props = useProps({
25052
25063
  style: types$1.ChartStyle(),
25053
25064
  updateStyle: types$1.function(),
25054
25065
  defaultStyle: types$1.object().optional(),
@@ -25238,7 +25249,7 @@ var TextStyler = class extends Component {
25238
25249
  var CogWheelMenu = class extends Component {
25239
25250
  static template = "o-spreadsheet-CogWheelMenu";
25240
25251
  static components = { MenuPopover };
25241
- props = props({ items: types$1.array(types$1.ActionSpec()) });
25252
+ props = useProps({ items: types$1.array(types$1.ActionSpec()) });
25242
25253
  buttonRef = signal(null);
25243
25254
  menuState = proxy({
25244
25255
  isOpen: false,
@@ -25258,7 +25269,7 @@ var CogWheelMenu = class extends Component {
25258
25269
  //#region src/components/side_panel/components/section/section.ts
25259
25270
  var Section = class extends Component {
25260
25271
  static template = "o_spreadsheet.Section";
25261
- props = props({
25272
+ props = useProps({
25262
25273
  class: types$1.string().optional(),
25263
25274
  title: types$1.string().optional(),
25264
25275
  slots: types$1.object()
@@ -25275,7 +25286,7 @@ var CarouselPanel = class extends Component {
25275
25286
  TextStyler,
25276
25287
  CogWheelMenu
25277
25288
  };
25278
- props = props({
25289
+ props = useProps({
25279
25290
  onCloseSidePanel: types$1.function(),
25280
25291
  figureId: types$1.UID()
25281
25292
  });
@@ -25485,7 +25496,7 @@ const chartDataSourceSidePanelComponentRegistry = new Registry();
25485
25496
  //#region src/components/side_panel/components/checkbox/checkbox.ts
25486
25497
  var Checkbox = class extends Component {
25487
25498
  static template = "o-spreadsheet.Checkbox";
25488
- props = props({
25499
+ props = useProps({
25489
25500
  label: types$1.string().optional(),
25490
25501
  value: types$1.boolean().optional(false),
25491
25502
  className: types$1.string().optional(),
@@ -25994,7 +26005,7 @@ var SelectionInputStore = class extends SpreadsheetStore {
25994
26005
  */
25995
26006
  var SelectionInput = class extends Component {
25996
26007
  static template = "o-spreadsheet-SelectionInput";
25997
- props = props({
26008
+ props = useProps({
25998
26009
  ranges: types$1.array(types$1.string()),
25999
26010
  hasSingleRange: types$1.boolean().optional(),
26000
26011
  required: types$1.boolean().optional(),
@@ -26173,7 +26184,7 @@ var ChartDataSeries = class extends Component {
26173
26184
  SelectionInput,
26174
26185
  Section
26175
26186
  };
26176
- props = props({
26187
+ props = useProps({
26177
26188
  ranges: types$1.ArrayOf(),
26178
26189
  dataSetStyles: types$1.DataSetStyle().optional(),
26179
26190
  hasSingleRange: types$1.boolean().optional(),
@@ -26214,7 +26225,7 @@ var ChartLabelRange = class extends Component {
26214
26225
  Checkbox,
26215
26226
  Section
26216
26227
  };
26217
- props = props({
26228
+ props = useProps({
26218
26229
  title: types$1.string().optional(_t("Categories / Labels")),
26219
26230
  range: types$1.string(),
26220
26231
  class: types$1.string().optional(),
@@ -26236,7 +26247,7 @@ var ChartDataSourceComponent = class extends Component {
26236
26247
  ChartDataSeries,
26237
26248
  ChartLabelRange
26238
26249
  };
26239
- props = props({
26250
+ props = useProps({
26240
26251
  chartId: types$1.UID(),
26241
26252
  definition: types$1.ChartDefinitionWithDataSource(),
26242
26253
  updateChart: types$1.function(),
@@ -26255,7 +26266,7 @@ var ChartDataSourceComponent = class extends Component {
26255
26266
  //#region src/components/validation_messages/validation_messages.ts
26256
26267
  var ValidationMessages = class extends Component {
26257
26268
  static template = "o-spreadsheet-ValidationMessages";
26258
- props = props({
26269
+ props = useProps({
26259
26270
  messages: types$1.array(types$1.string()).optional(),
26260
26271
  msgType: types$1.or([
26261
26272
  types$1.literal("warning"),
@@ -26279,7 +26290,7 @@ var ChartErrorSection = class extends Component {
26279
26290
  Section,
26280
26291
  ValidationMessages
26281
26292
  };
26282
- props = props({ messages: types$1.array(types$1.string()) });
26293
+ props = useProps({ messages: types$1.array(types$1.string()) });
26283
26294
  };
26284
26295
 
26285
26296
  //#endregion
@@ -26292,7 +26303,7 @@ var GenericChartConfigPanel = class extends Component {
26292
26303
  Checkbox,
26293
26304
  ChartErrorSection
26294
26305
  };
26295
- props = props(chartSidePanelPropsDefinition);
26306
+ props = useProps(chartSidePanelPropsDefinition);
26296
26307
  chartTerms = ChartTerms;
26297
26308
  state = proxy({ errorMessages: [] });
26298
26309
  onErrorMessagesChanged(errorMessages) {
@@ -26339,7 +26350,7 @@ var BarConfigPanel = class extends GenericChartConfigPanel {
26339
26350
  //#region src/components/side_panel/components/collapse/collapse.ts
26340
26351
  var Collapse = class extends Component {
26341
26352
  static template = "o-spreadsheet-Collapse";
26342
- props = props({ isCollapsed: types$1.boolean() });
26353
+ props = useProps({ isCollapsed: types$1.boolean() });
26343
26354
  contentRef = signal(null);
26344
26355
  setup() {
26345
26356
  onMounted(() => {
@@ -26372,7 +26383,7 @@ var Collapse = class extends Component {
26372
26383
  var SidePanelCollapsible = class extends Component {
26373
26384
  static template = "o-spreadsheet-SidePanelCollapsible";
26374
26385
  static components = { Collapse };
26375
- props = props({
26386
+ props = useProps({
26376
26387
  title: types$1.string().optional(),
26377
26388
  isInitiallyCollapsed: types$1.boolean().optional(),
26378
26389
  class: types$1.string().optional()
@@ -26392,7 +26403,7 @@ var ChartAnnotation = class extends Component {
26392
26403
  Section,
26393
26404
  TextInput
26394
26405
  };
26395
- props = props(chartSidePanelPropsDefinition);
26406
+ props = useProps(chartSidePanelPropsDefinition);
26396
26407
  editorRef = signal(null);
26397
26408
  state = proxy({
26398
26409
  annotationTextInput: this.props.definition.annotationText || "",
@@ -26449,7 +26460,7 @@ var ChartAnnotation = class extends Component {
26449
26460
  var NumberInput = class extends GenericInput {
26450
26461
  static template = "o-spreadsheet-NumberInput";
26451
26462
  static components = {};
26452
- props = props({
26463
+ props = useProps({
26453
26464
  ...genericInputPropsDefinition,
26454
26465
  min: types$1.number().optional(),
26455
26466
  max: types$1.number().optional()
@@ -26474,7 +26485,7 @@ var DateInput = class extends NumberInput {
26474
26485
  //#region src/components/side_panel/components/badge_selection/badge_selection.ts
26475
26486
  var BadgeSelection = class extends Component {
26476
26487
  static template = "o-spreadsheet.BadgeSelection";
26477
- props = props({
26488
+ props = useProps({
26478
26489
  choices: types$1.ArrayOf(),
26479
26490
  onChange: types$1.function(),
26480
26491
  selectedValue: types$1.string()
@@ -26490,7 +26501,7 @@ var ChartTitle = class extends Component {
26490
26501
  TextStyler,
26491
26502
  TextInput
26492
26503
  };
26493
- props = props({
26504
+ props = useProps({
26494
26505
  title: types$1.string().optional(""),
26495
26506
  placeholder: types$1.string().optional(""),
26496
26507
  updateTitle: types$1.function(),
@@ -26516,7 +26527,7 @@ var AxisDesignEditor = class extends Component {
26516
26527
  NumberInput,
26517
26528
  DateInput
26518
26529
  };
26519
- props = props({
26530
+ props = useProps({
26520
26531
  chartId: types$1.UID(),
26521
26532
  definition: types$1.ChartWithAxisDefinition(),
26522
26533
  updateChart: types$1.function(),
@@ -26691,7 +26702,7 @@ var AxisDesignEditor = class extends Component {
26691
26702
  //#region src/components/side_panel/components/radio_selection/radio_selection.ts
26692
26703
  var RadioSelection = class extends Component {
26693
26704
  static template = "o-spreadsheet.RadioSelection";
26694
- props = props({
26705
+ props = useProps({
26695
26706
  choices: types$1.ArrayOf(),
26696
26707
  onChange: types$1.function(),
26697
26708
  selectedValue: types$1.string(),
@@ -26708,7 +26719,7 @@ var RoundColorPicker = class extends Component {
26708
26719
  Section,
26709
26720
  ColorPicker
26710
26721
  };
26711
- props = props({
26722
+ props = useProps({
26712
26723
  currentColor: types$1.string().optional(),
26713
26724
  title: types$1.string().optional(),
26714
26725
  onColorPicked: types$1.function(),
@@ -26749,7 +26760,7 @@ var GeneralDesignEditor = class extends Component {
26749
26760
  SidePanelCollapsible,
26750
26761
  RadioSelection
26751
26762
  };
26752
- props = props({
26763
+ props = useProps({
26753
26764
  chartId: types$1.UID(),
26754
26765
  definition: types$1.ChartDefinition(),
26755
26766
  canUpdateChart: types$1.function(),
@@ -26792,7 +26803,7 @@ var GeneralDesignEditor = class extends Component {
26792
26803
  var ChartHumanizeNumbers = class extends Component {
26793
26804
  static template = "o-spreadsheet-ChartHumanizeNumbers";
26794
26805
  static components = { Checkbox };
26795
- props = props(chartSidePanelPropsDefinition);
26806
+ props = useProps(chartSidePanelPropsDefinition);
26796
26807
  get title() {
26797
26808
  const locale = this.env.model.getters.getLocale();
26798
26809
  return _t("E.g. 1234567 -> %(value)s", { value: formatValue(1234567, {
@@ -26810,7 +26821,7 @@ var ChartLegend = class extends Component {
26810
26821
  Section,
26811
26822
  Select
26812
26823
  };
26813
- props = props({
26824
+ props = useProps({
26814
26825
  chartId: types$1.string(),
26815
26826
  definition: types$1.ChartDefinitionWithDataSource(),
26816
26827
  canUpdateChart: types$1.function(),
@@ -26856,7 +26867,7 @@ var SeriesDesignEditor = class extends Component {
26856
26867
  RoundColorPicker,
26857
26868
  Select
26858
26869
  };
26859
- props = props({
26870
+ props = useProps({
26860
26871
  chartId: types$1.UID(),
26861
26872
  definition: types$1.ChartDefinitionWithDataSource(),
26862
26873
  updateChart: types$1.function(),
@@ -26921,7 +26932,7 @@ var SeriesWithAxisDesignEditor = class extends Component {
26921
26932
  NumberInput,
26922
26933
  Select
26923
26934
  };
26924
- props = props({
26935
+ props = useProps({
26925
26936
  chartId: types$1.UID(),
26926
26937
  definition: types$1.ChartDefinitionWithDataSource(),
26927
26938
  updateChart: types$1.function(),
@@ -27061,7 +27072,7 @@ var SeriesWithAxisDesignEditor = class extends Component {
27061
27072
  var ChartShowValues = class extends Component {
27062
27073
  static template = "o-spreadsheet-ChartShowValues";
27063
27074
  static components = { Checkbox };
27064
- props = props({
27075
+ props = useProps({
27065
27076
  chartId: types$1.UID(),
27066
27077
  definition: types$1.ChartDefinitionWithDataSource(),
27067
27078
  canUpdateChart: types$1.function(),
@@ -27085,7 +27096,7 @@ var ChartWithAxisDesignPanel = class extends Component {
27085
27096
  ChartShowValues,
27086
27097
  ChartHumanizeNumbers
27087
27098
  };
27088
- props = props(chartSidePanelPropsDefinition);
27099
+ props = useProps(chartSidePanelPropsDefinition);
27089
27100
  get axesList() {
27090
27101
  const { useLeftAxis, useRightAxis } = getDefinedAxis(this.props.definition);
27091
27102
  const axes = [{
@@ -27135,7 +27146,7 @@ var BubbleChartConfigPanel = class extends Component {
27135
27146
  ChartLabelRange,
27136
27147
  ChartErrorSection
27137
27148
  };
27138
- props = props(chartSidePanelPropsDefinition);
27149
+ props = useProps(chartSidePanelPropsDefinition);
27139
27150
  state = proxy({
27140
27151
  datasetDispatchResult: void 0,
27141
27152
  labelsDispatchResult: void 0,
@@ -27272,7 +27283,7 @@ var BubbleChartDesignPanel = class extends Component {
27272
27283
  Checkbox,
27273
27284
  ChartAnnotation
27274
27285
  };
27275
- props = props(chartSidePanelPropsDefinition);
27286
+ props = useProps(chartSidePanelPropsDefinition);
27276
27287
  get axesList() {
27277
27288
  return [{
27278
27289
  id: "x",
@@ -29727,7 +29738,7 @@ var ChartRangeDataSourceComponent = class extends Component {
29727
29738
  ChartDataSeries,
29728
29739
  ChartLabelRange
29729
29740
  };
29730
- props = props({
29741
+ props = useProps({
29731
29742
  chartId: types$1.UID(),
29732
29743
  definition: types$1.ChartDefinitionWithDataSource(),
29733
29744
  dataSource: types$1.ChartRangeDataSource(),
@@ -30590,7 +30601,7 @@ var ColorScalePicker = class extends Component {
30590
30601
  RoundColorPicker,
30591
30602
  Popover
30592
30603
  };
30593
- props = props({
30604
+ props = useProps({
30594
30605
  definition: types$1.object({ colorScale: types$1.ChartColorScale().optional() }),
30595
30606
  onUpdateColorScale: types$1.function()
30596
30607
  });
@@ -30685,7 +30696,7 @@ var CalendarChartDesignPanel = class extends Component {
30685
30696
  RoundColorPicker,
30686
30697
  Select
30687
30698
  };
30688
- props = props(chartSidePanelPropsDefinition);
30699
+ props = useProps(chartSidePanelPropsDefinition);
30689
30700
  get axesList() {
30690
30701
  return [{
30691
30702
  id: "x",
@@ -30730,7 +30741,7 @@ var CalendarChartDesignPanel = class extends Component {
30730
30741
  var ChartShowDataMarkers = class extends Component {
30731
30742
  static template = "o-spreadsheet-ChartShowDataMarkers";
30732
30743
  static components = { Checkbox };
30733
- props = props(chartSidePanelPropsDefinition);
30744
+ props = useProps(chartSidePanelPropsDefinition);
30734
30745
  };
30735
30746
 
30736
30747
  //#endregion
@@ -30795,7 +30806,7 @@ var FunnelChartDesignPanel = class extends Component {
30795
30806
  Section,
30796
30807
  ChartHumanizeNumbers
30797
30808
  };
30798
- props = props({
30809
+ props = useProps({
30799
30810
  ...chartSidePanelPropsDefinition,
30800
30811
  definition: types$1.FunnelChartDefinition()
30801
30812
  });
@@ -30821,7 +30832,7 @@ var GaugeChartConfigPanel = class extends Component {
30821
30832
  ChartErrorSection,
30822
30833
  ChartDataSeries
30823
30834
  };
30824
- props = props(chartSidePanelPropsDefinition);
30835
+ props = useProps(chartSidePanelPropsDefinition);
30825
30836
  state = proxy({ dataRangeDispatchResult: void 0 });
30826
30837
  dataRange = this.props.definition.dataRange;
30827
30838
  get configurationErrorMessages() {
@@ -30846,7 +30857,7 @@ var GaugeChartConfigPanel = class extends Component {
30846
30857
  //#region src/components/composer/autocomplete_dropdown/autocomplete_dropdown.ts
30847
30858
  var TextValueProvider = class extends Component {
30848
30859
  static template = "o-spreadsheet-TextValueProvider";
30849
- props = props({
30860
+ props = useProps({
30850
30861
  proposals: types$1.array(types$1.AutoCompleteProposal()),
30851
30862
  selectedIndex: types$1.number().optional(),
30852
30863
  onValueSelected: types$1.function(),
@@ -31069,7 +31080,7 @@ function isEmptyParagraph(node) {
31069
31080
  var FunctionDescriptionProvider = class extends Component {
31070
31081
  static template = "o-spreadsheet-FunctionDescriptionProvider";
31071
31082
  static components = { Collapse };
31072
- props = props({
31083
+ props = useProps({
31073
31084
  functionDescription: types$1.FunctionDescription(),
31074
31085
  argsToFocus: types$1.array(types$1.number()),
31075
31086
  repeatingArgGroupIndex: types$1.number().optional()
@@ -31138,7 +31149,7 @@ const BUBBLE_ARROW_SIZE = 7;
31138
31149
  var SpeechBubble = class extends Component {
31139
31150
  static template = "o-spreadsheet-SpeechBubble";
31140
31151
  static components = {};
31141
- props = props({
31152
+ props = useProps({
31142
31153
  content: types$1.string(),
31143
31154
  anchorRect: types$1.Rect()
31144
31155
  });
@@ -31173,7 +31184,7 @@ var Composer = class extends Component {
31173
31184
  FunctionDescriptionProvider,
31174
31185
  SpeechBubble
31175
31186
  };
31176
- props = props({
31187
+ props = useProps({
31177
31188
  focus: types$1.ComposerFocusType(),
31178
31189
  inputStyle: types$1.string().optional(""),
31179
31190
  rect: types$1.Rect().optional(),
@@ -32761,7 +32772,7 @@ var StandaloneComposerStore = class extends AbstractComposerStore {
32761
32772
  var StandaloneComposer = class extends Component {
32762
32773
  static template = "o-spreadsheet-StandaloneComposer";
32763
32774
  static components = { Composer };
32764
- props = props({
32775
+ props = useProps({
32765
32776
  onConfirm: types$1.function(),
32766
32777
  composerContent: types$1.string().optional(""),
32767
32778
  defaultRangeSheetId: types$1.UID(),
@@ -32838,7 +32849,7 @@ var GaugeChartDesignPanel = class extends Component {
32838
32849
  ChartHumanizeNumbers,
32839
32850
  Select
32840
32851
  };
32841
- props = props(chartSidePanelPropsDefinition);
32852
+ props = useProps(chartSidePanelPropsDefinition);
32842
32853
  state;
32843
32854
  setup() {
32844
32855
  this.state = proxy({
@@ -32969,7 +32980,7 @@ var GeoChartRegionSelectSection = class extends Component {
32969
32980
  Section,
32970
32981
  Select
32971
32982
  };
32972
- props = props({
32983
+ props = useProps({
32973
32984
  chartId: types$1.UID(),
32974
32985
  definition: types$1.GeoChartDefinition(),
32975
32986
  updateChart: types$1.function()
@@ -33123,7 +33134,7 @@ var PieHoleSize = class extends Component {
33123
33134
  Section,
33124
33135
  NumberInput
33125
33136
  };
33126
- props = props({
33137
+ props = useProps({
33127
33138
  onValueChange: types$1.function(),
33128
33139
  value: types$1.number()
33129
33140
  });
@@ -33149,7 +33160,7 @@ var PieChartDesignPanel = class extends Component {
33149
33160
  RoundColorPicker,
33150
33161
  Select
33151
33162
  };
33152
- props = props(chartSidePanelPropsDefinition);
33163
+ props = useProps(chartSidePanelPropsDefinition);
33153
33164
  state = proxy({ index: 0 });
33154
33165
  get runtime() {
33155
33166
  return this.env.model.getters.getChartRuntime(this.props.chartId);
@@ -33210,7 +33221,7 @@ var RadarChartDesignPanel = class extends Component {
33210
33221
  Checkbox,
33211
33222
  ChartHumanizeNumbers
33212
33223
  };
33213
- props = props(chartSidePanelPropsDefinition);
33224
+ props = useProps(chartSidePanelPropsDefinition);
33214
33225
  };
33215
33226
 
33216
33227
  //#endregion
@@ -33260,7 +33271,7 @@ var ScorecardChartConfigPanel = class extends Component {
33260
33271
  Section,
33261
33272
  Select
33262
33273
  };
33263
- props = props(chartSidePanelPropsDefinition);
33274
+ props = useProps(chartSidePanelPropsDefinition);
33264
33275
  state = proxy({
33265
33276
  keyValueDispatchResult: void 0,
33266
33277
  baselineDispatchResult: void 0
@@ -33274,7 +33285,7 @@ var ScorecardChartConfigPanel = class extends Component {
33274
33285
  return !!this.state.keyValueDispatchResult?.isCancelledBecause("InvalidScorecardKeyValue");
33275
33286
  }
33276
33287
  get isBaselineInvalid() {
33277
- return !!this.state.keyValueDispatchResult?.isCancelledBecause("InvalidScorecardBaseline");
33288
+ return !!this.state.baselineDispatchResult?.isCancelledBecause("InvalidScorecardBaseline");
33278
33289
  }
33279
33290
  onKeyValueRangeChanged(ranges) {
33280
33291
  this.keyValue = ranges[0];
@@ -33335,7 +33346,7 @@ var ScorecardChartDesignPanel = class extends Component {
33335
33346
  ChartTitle,
33336
33347
  ChartHumanizeNumbers
33337
33348
  };
33338
- props = props(chartSidePanelPropsDefinition);
33349
+ props = useProps(chartSidePanelPropsDefinition);
33339
33350
  get colorsSectionTitle() {
33340
33351
  return this.props.definition.baselineMode === "progress" ? _t("Progress bar colors") : _t("Baseline colors");
33341
33352
  }
@@ -33417,7 +33428,7 @@ var SunburstChartDesignPanel = class extends Component {
33417
33428
  PieHoleSize,
33418
33429
  ChartHumanizeNumbers
33419
33430
  };
33420
- props = props(chartSidePanelPropsDefinition);
33431
+ props = useProps(chartSidePanelPropsDefinition);
33421
33432
  defaults = SunburstChartDefaults;
33422
33433
  get showValues() {
33423
33434
  return this.props.definition.showValues ?? SunburstChartDefaults.showValues;
@@ -33450,7 +33461,7 @@ var TreeMapCategoryColors = class extends Component {
33450
33461
  Checkbox,
33451
33462
  RoundColorPicker
33452
33463
  };
33453
- props = props({
33464
+ props = useProps({
33454
33465
  chartId: types$1.UID(),
33455
33466
  definition: types$1.TreeMapChartDefinition(),
33456
33467
  onColorChanged: types$1.function()
@@ -33482,7 +33493,7 @@ var TreeMapCategoryColors = class extends Component {
33482
33493
  var TreeMapColorScale = class extends Component {
33483
33494
  static template = "o-spreadsheet-TreeMapColorScale";
33484
33495
  static components = { RoundColorPicker };
33485
- props = props({
33496
+ props = useProps({
33486
33497
  chartId: types$1.UID(),
33487
33498
  definition: types$1.TreeMapChartDefinition(),
33488
33499
  onColorChanged: types$1.function()
@@ -33529,7 +33540,7 @@ var TreeMapChartDesignPanel = class extends Component {
33529
33540
  TreeMapColorScale,
33530
33541
  ChartHumanizeNumbers
33531
33542
  };
33532
- props = props(chartSidePanelPropsDefinition);
33543
+ props = useProps(chartSidePanelPropsDefinition);
33533
33544
  savedColors = {
33534
33545
  categoryColors: DEFAULT_SOLID_COLOR,
33535
33546
  colorScale: DEFAULT_COLOR_SCALE
@@ -33587,7 +33598,7 @@ var WaterfallChartDesignPanel = class extends Component {
33587
33598
  ChartLegend,
33588
33599
  ChartHumanizeNumbers
33589
33600
  };
33590
- props = props(chartSidePanelPropsDefinition);
33601
+ props = useProps(chartSidePanelPropsDefinition);
33591
33602
  axisChoices = CHART_AXIS_CHOICES;
33592
33603
  onUpdateShowSubTotals(showSubTotals) {
33593
33604
  this.props.updateChart(this.props.chartId, { showSubTotals });
@@ -33701,7 +33712,7 @@ var ChartTypePicker = class extends Component {
33701
33712
  Section,
33702
33713
  Popover
33703
33714
  };
33704
- props = props({
33715
+ props = useProps({
33705
33716
  chartId: types$1.UID(),
33706
33717
  chartPanelStore: types$1.Store()
33707
33718
  });
@@ -33879,7 +33890,7 @@ var ChartPanel = class extends Component {
33879
33890
  Section,
33880
33891
  ChartTypePicker
33881
33892
  };
33882
- props = props({
33893
+ props = useProps({
33883
33894
  onCloseSidePanel: types$1.function(),
33884
33895
  chartId: types$1.UID()
33885
33896
  });
@@ -34286,7 +34297,7 @@ var ColumnStatsPanel = class extends Component {
34286
34297
  BadgeSelection,
34287
34298
  Section
34288
34299
  };
34289
- props = props({ onCloseSidePanel: types$1.function() });
34300
+ props = useProps({ onCloseSidePanel: types$1.function() });
34290
34301
  state = proxy({
34291
34302
  currentChart: "count",
34292
34303
  currentFrequencyOrder: "descending",
@@ -34529,7 +34540,7 @@ var CellIsRuleEditor = class extends Component {
34529
34540
  ColorPickerWidget,
34530
34541
  Select
34531
34542
  };
34532
- props = props({ store: types$1.Store() });
34543
+ props = useProps({ store: types$1.Store() });
34533
34544
  getTextDecoration = getTextDecoration;
34534
34545
  get rule() {
34535
34546
  return this.props.store.state.rules.cellIs;
@@ -34539,7 +34550,7 @@ var CellIsRuleEditor = class extends Component {
34539
34550
  //#endregion
34540
34551
  //#region src/components/side_panel/criterion_form/criterion_form.ts
34541
34552
  var CriterionForm = class extends Component {
34542
- props = props({
34553
+ props = useProps({
34543
34554
  criterion: types$1.object(),
34544
34555
  onCriterionChanged: types$1.function(),
34545
34556
  disableFormulas: types$1.boolean().optional(),
@@ -35144,7 +35155,7 @@ function getOccurrencesInRanges(criterionRanges, getters) {
35144
35155
  var CriterionInput = class extends Component {
35145
35156
  static template = "o-spreadsheet-CriterionInput";
35146
35157
  static components = { StandaloneComposer };
35147
- props = props({
35158
+ props = useProps({
35148
35159
  value: types$1.string().optional(""),
35149
35160
  criterionType: types$1.DataValidationCriterionType(),
35150
35161
  onValueChanged: types$1.function(),
@@ -35992,7 +36003,7 @@ var ColorScaleRuleEditorThreshold = class extends Component {
35992
36003
  StandaloneComposer,
35993
36004
  Select
35994
36005
  };
35995
- props = props({
36006
+ props = useProps({
35996
36007
  store: types$1.Store(),
35997
36008
  thresholdType: types$1.or([
35998
36009
  types$1.literal("minimum"),
@@ -36074,7 +36085,7 @@ var ColorScaleRuleEditorThreshold = class extends Component {
36074
36085
  var ColorScaleRuleEditor = class extends Component {
36075
36086
  static template = "o-spreadsheet-ColorScaleRuleEditor";
36076
36087
  static components = { ColorScaleRuleEditorThreshold };
36077
- props = props({ store: types$1.Store() });
36088
+ props = useProps({ store: types$1.Store() });
36078
36089
  };
36079
36090
 
36080
36091
  //#endregion
@@ -36085,7 +36096,7 @@ var DataBarRuleEditor = class extends Component {
36085
36096
  SelectionInput,
36086
36097
  RoundColorPicker
36087
36098
  };
36088
- props = props({ store: types$1.Store() });
36099
+ props = useProps({ store: types$1.Store() });
36089
36100
  get rule() {
36090
36101
  return this.props.store.state.rules.dataBar;
36091
36102
  }
@@ -36096,7 +36107,7 @@ var DataBarRuleEditor = class extends Component {
36096
36107
  //#region src/components/icon_picker/icon_picker.ts
36097
36108
  var IconPicker = class extends Component {
36098
36109
  static template = "o-spreadsheet-IconPicker";
36099
- props = props({ onIconPicked: types$1.function() });
36110
+ props = useProps({ onIconPicked: types$1.function() });
36100
36111
  onIconClick(icon) {
36101
36112
  if (icon) this.props.onIconPicked(icon);
36102
36113
  }
@@ -36117,7 +36128,7 @@ var IconSetRuleEditor = class extends Component {
36117
36128
  StandaloneComposer,
36118
36129
  Select
36119
36130
  };
36120
- props = props({ store: types$1.Store() });
36131
+ props = useProps({ store: types$1.Store() });
36121
36132
  get rule() {
36122
36133
  return this.props.store.state.rules.iconSet;
36123
36134
  }
@@ -36200,7 +36211,7 @@ var ConditionalFormattingEditor = class extends Component {
36200
36211
  IconSetRuleEditor,
36201
36212
  DataBarRuleEditor
36202
36213
  };
36203
- props = props({
36214
+ props = useProps({
36204
36215
  cf: types$1.ConditionalFormat(),
36205
36216
  isNewCf: types$1.boolean(),
36206
36217
  onCloseSidePanel: types$1.function()
@@ -36260,7 +36271,7 @@ var ConditionalFormattingEditor = class extends Component {
36260
36271
  //#region src/components/side_panel/conditional_formatting/cf_preview/cf_preview.ts
36261
36272
  var ConditionalFormatPreview = class extends Component {
36262
36273
  static template = "o-spreadsheet-ConditionalFormatPreview";
36263
- props = props({
36274
+ props = useProps({
36264
36275
  conditionalFormat: types$1.ConditionalFormat(),
36265
36276
  onMouseDown: types$1.function(),
36266
36277
  class: types$1.string()
@@ -36321,7 +36332,7 @@ var ConditionalFormatPreview = class extends Component {
36321
36332
  var ConditionalFormatPreviewList = class extends Component {
36322
36333
  static template = "o-spreadsheet-ConditionalFormatPreviewList";
36323
36334
  static components = { ConditionalFormatPreview };
36324
- props = props({ onCloseSidePanel: types$1.function() });
36335
+ props = useProps({ onCloseSidePanel: types$1.function() });
36325
36336
  dragAndDrop = useDragAndDropListItems();
36326
36337
  cfListRef = signal(null);
36327
36338
  get conditionalFormats() {
@@ -36387,7 +36398,7 @@ var ConditionalFormatPreviewList = class extends Component {
36387
36398
  //#region src/components/side_panel/data_validation/dv_preview/dv_preview.ts
36388
36399
  var DataValidationPreview = class extends Component {
36389
36400
  static template = "o-spreadsheet-DataValidationPreview";
36390
- props = props({ rule: types$1.DataValidationRule() });
36401
+ props = useProps({ rule: types$1.DataValidationRule() });
36391
36402
  dvPreviewRef = signal(null);
36392
36403
  setup() {
36393
36404
  useHighlightsOnHover(this.dvPreviewRef, this);
@@ -36423,7 +36434,7 @@ var DataValidationPreview = class extends Component {
36423
36434
  var DataValidationPanel = class extends Component {
36424
36435
  static template = "o-spreadsheet-DataValidationPanel";
36425
36436
  static components = { DataValidationPreview };
36426
- props = props({ onCloseSidePanel: types$1.function() });
36437
+ props = useProps({ onCloseSidePanel: types$1.function() });
36427
36438
  addDataValidationRule() {
36428
36439
  this.env.replaceSidePanel("DataValidationEditor", "DataValidation", { ruleId: UuidGenerator.smallUuid() });
36429
36440
  }
@@ -36473,7 +36484,7 @@ var DataValidationEditor = class extends Component {
36473
36484
  Section,
36474
36485
  ValidationMessages
36475
36486
  };
36476
- props = props({
36487
+ props = useProps({
36477
36488
  ruleId: types$1.UID(),
36478
36489
  onCancel: types$1.function().optional(),
36479
36490
  onCloseSidePanel: types$1.function()
@@ -36962,7 +36973,7 @@ var FindAndReplacePanel = class extends Component {
36962
36973
  ValidationMessages,
36963
36974
  Select
36964
36975
  };
36965
- props = props({ onCloseSidePanel: types$1.function() });
36976
+ props = useProps({ onCloseSidePanel: types$1.function() });
36966
36977
  searchInputRef = signal.ref(HTMLInputElement);
36967
36978
  store;
36968
36979
  state;
@@ -37817,7 +37828,7 @@ var MoreFormatsPanel = class extends Component {
37817
37828
  Checkbox,
37818
37829
  Select
37819
37830
  };
37820
- props = props({
37831
+ props = useProps({
37821
37832
  onCloseSidePanel: types$1.function(),
37822
37833
  category: types$1.or([
37823
37834
  types$1.literal("number"),
@@ -37884,7 +37895,7 @@ var NamedRangePreview = class extends Component {
37884
37895
  SelectionInput,
37885
37896
  TextInput
37886
37897
  };
37887
- props = props({ namedRange: types$1.NamedRange() });
37898
+ props = useProps({ namedRange: types$1.NamedRange() });
37888
37899
  state = proxy({});
37889
37900
  namedRangePreviewRef = signal(null);
37890
37901
  setup() {
@@ -37941,7 +37952,7 @@ var NamedRangesPanel = class extends Component {
37941
37952
  SelectionInput,
37942
37953
  TextInput
37943
37954
  };
37944
- props = props({ onCloseSidePanel: types$1.function() });
37955
+ props = useProps({ onCloseSidePanel: types$1.function() });
37945
37956
  get namedRanges() {
37946
37957
  return this.env.model.getters.getNamedRanges();
37947
37958
  }
@@ -37962,7 +37973,7 @@ const HIGHLIGHT_COLOR = "#e28f08";
37962
37973
  var PerfProfilePanel = class extends Component {
37963
37974
  static template = "o-spreadsheet-PerfProfilePanel";
37964
37975
  static components = { Section };
37965
- props = props({ onCloseSidePanel: types$1.function() });
37976
+ props = useProps({ onCloseSidePanel: types$1.function() });
37966
37977
  state = proxy({
37967
37978
  selectedIndex: void 0,
37968
37979
  lastProfiledTime: 0
@@ -38178,7 +38189,7 @@ var PivotMeasureDisplayPanelStore = class extends SpreadsheetStore {
38178
38189
  //#region src/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel.ts
38179
38190
  var PivotMeasureDisplayPanel = class extends Component {
38180
38191
  static template = "o-spreadsheet-PivotMeasureDisplayPanel";
38181
- props = props({
38192
+ props = useProps({
38182
38193
  onCloseSidePanel: types$1.function(),
38183
38194
  pivotId: types$1.UID(),
38184
38195
  measure: types$1.PivotCoreMeasure()
@@ -38244,7 +38255,7 @@ function getVisiblePivotCellPositions(getters, pivotId) {
38244
38255
  //#region src/components/side_panel/pivot/pivot_defer_update/pivot_defer_update.ts
38245
38256
  var PivotDeferUpdate = class extends Component {
38246
38257
  static template = "o-spreadsheet-PivotDeferUpdate";
38247
- props = props({
38258
+ props = useProps({
38248
38259
  deferUpdate: types$1.boolean(),
38249
38260
  isDirty: types$1.boolean(),
38250
38261
  toggleDeferUpdate: types$1.function(),
@@ -38473,7 +38484,7 @@ const filterDateCriterionOperators = [
38473
38484
  var FilterMenuCriterion = class extends Component {
38474
38485
  static template = "o-spreadsheet-FilterMenuCriterion";
38475
38486
  static components = { Select };
38476
- props = props({
38487
+ props = useProps({
38477
38488
  criterion: types$1.CriterionFilter(),
38478
38489
  criterionOperators: types$1.array(types$1.GenericCriterionType()),
38479
38490
  onCriterionChanged: types$1.function()
@@ -38510,7 +38521,7 @@ var FilterMenuCriterion = class extends Component {
38510
38521
  var FilterMenuValueItem = class extends Component {
38511
38522
  static template = "o-spreadsheet-FilterMenuValueItem";
38512
38523
  static components = { Checkbox };
38513
- props = props({
38524
+ props = useProps({
38514
38525
  value: types$1.string(),
38515
38526
  isChecked: types$1.boolean(),
38516
38527
  isSelected: types$1.boolean(),
@@ -38536,7 +38547,7 @@ var FilterMenuValueItem = class extends Component {
38536
38547
  var FilterMenuValueList = class extends Component {
38537
38548
  static template = "o-spreadsheet-FilterMenuValueList";
38538
38549
  static components = { FilterMenuValueItem };
38539
- props = props({
38550
+ props = useProps({
38540
38551
  values: types$1.array(types$1.object({
38541
38552
  checked: types$1.boolean(),
38542
38553
  string: types$1.string(),
@@ -38651,7 +38662,7 @@ var PivotFilterMenu = class extends Component {
38651
38662
  };
38652
38663
  criterionCategory = "char";
38653
38664
  updatedCriterionValue;
38654
- props = props({
38665
+ props = useProps({
38655
38666
  pivotId: types$1.UID(),
38656
38667
  definition: types$1.instanceOf(SpreadsheetPivotRuntimeDefinition),
38657
38668
  filter: types$1.PivotFilter(),
@@ -38714,7 +38725,7 @@ var PivotFilterMenu = class extends Component {
38714
38725
  //#region src/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension/pivot_dimension.ts
38715
38726
  var PivotDimension = class extends Component {
38716
38727
  static template = "o-spreadsheet-PivotDimension";
38717
- props = props({
38728
+ props = useProps({
38718
38729
  dimension: types$1.or([
38719
38730
  types$1.PivotDimension(),
38720
38731
  types$1.PivotMeasure(),
@@ -38751,7 +38762,7 @@ var PivotFilterEditor = class extends Component {
38751
38762
  Popover,
38752
38763
  PivotFilterMenu
38753
38764
  };
38754
- props = props({
38765
+ props = useProps({
38755
38766
  pivotId: types$1.UID(),
38756
38767
  definition: types$1.instanceOf(SpreadsheetPivotRuntimeDefinition),
38757
38768
  filter: types$1.PivotFilter(),
@@ -38883,7 +38894,7 @@ var AddDimensionButton = class extends Component {
38883
38894
  Popover,
38884
38895
  TextValueProvider
38885
38896
  };
38886
- props = props({
38897
+ props = useProps({
38887
38898
  onFieldPicked: types$1.function(),
38888
38899
  fields: types$1.array()
38889
38900
  });
@@ -38978,7 +38989,7 @@ var AddDimensionButton = class extends Component {
38978
38989
  //#region src/components/side_panel/pivot/pivot_custom_groups_collapsible/pivot_custom_groups_collapsible.ts
38979
38990
  var PivotCustomGroupsCollapsible = class extends Component {
38980
38991
  static template = "o-spreadsheet-PivotCustomGroupsCollapsible";
38981
- props = props({
38992
+ props = useProps({
38982
38993
  pivotId: types$1.UID(),
38983
38994
  customField: types$1.PivotCustomGroupedField(),
38984
38995
  onCustomFieldUpdated: types$1.function()
@@ -39042,7 +39053,7 @@ var PivotCustomGroupsCollapsible = class extends Component {
39042
39053
  //#region src/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension_granularity/pivot_dimension_granularity.ts
39043
39054
  var PivotDimensionGranularity = class extends Component {
39044
39055
  static template = "o-spreadsheet-PivotDimensionGranularity";
39045
- props = props({
39056
+ props = useProps({
39046
39057
  dimension: types$1.PivotDimension(),
39047
39058
  onUpdated: types$1.function(),
39048
39059
  availableGranularities: types$1.SetOf(),
@@ -39063,7 +39074,7 @@ var PivotDimensionGranularity = class extends Component {
39063
39074
  //#region src/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension_order/pivot_dimension_order.ts
39064
39075
  var PivotDimensionOrder = class extends Component {
39065
39076
  static template = "o-spreadsheet-PivotDimensionOrder";
39066
- props = props({
39077
+ props = useProps({
39067
39078
  dimension: types$1.PivotDimension(),
39068
39079
  onUpdated: types$1.function(),
39069
39080
  isMeasureSorted: types$1.boolean().optional()
@@ -39145,7 +39156,7 @@ var PivotMeasureEditor = class extends Component {
39145
39156
  StandaloneComposer,
39146
39157
  Select
39147
39158
  };
39148
- props = props({
39159
+ props = useProps({
39149
39160
  pivotId: types$1.string(),
39150
39161
  definition: types$1.PivotRuntimeDefinition(),
39151
39162
  measure: types$1.PivotMeasure(),
@@ -39233,7 +39244,7 @@ var PivotMeasureEditor = class extends Component {
39233
39244
  var PivotSortSection = class extends Component {
39234
39245
  static template = "o-spreadsheet-PivotSortSection";
39235
39246
  static components = { Section };
39236
- props = props({
39247
+ props = useProps({
39237
39248
  definition: types$1.PivotRuntimeDefinition(),
39238
39249
  pivotId: types$1.UID()
39239
39250
  });
@@ -39288,7 +39299,7 @@ var PivotLayoutConfigurator = class extends Component {
39288
39299
  PivotCustomGroupsCollapsible,
39289
39300
  SidePanelCollapsible
39290
39301
  };
39291
- props = props({
39302
+ props = useProps({
39292
39303
  definition: types$1.instanceOf(PivotRuntimeDefinition),
39293
39304
  onDimensionsUpdated: types$1.function(),
39294
39305
  onFiltersUpdated: types$1.function(),
@@ -39518,7 +39529,7 @@ var PivotTitleSection = class extends Component {
39518
39529
  Section,
39519
39530
  TextInput
39520
39531
  };
39521
- props = props({
39532
+ props = useProps({
39522
39533
  pivotId: types$1.UID(),
39523
39534
  flipAxis: types$1.function()
39524
39535
  });
@@ -41154,7 +41165,7 @@ var PivotSpreadsheetSidePanel = class extends Component {
41154
41165
  AddDimensionButton,
41155
41166
  PivotFilterEditor
41156
41167
  };
41157
- props = props({
41168
+ props = useProps({
41158
41169
  pivotId: types$1.UID(),
41159
41170
  onCloseSidePanel: types$1.function()
41160
41171
  });
@@ -42392,7 +42403,7 @@ function drawTexts(ctx, tableStyle, params) {
42392
42403
  var TableStylePreview = class extends Component {
42393
42404
  static template = "o-spreadsheet-TableStylePreview";
42394
42405
  static components = { MenuPopover };
42395
- props = props({
42406
+ props = useProps({
42396
42407
  tableConfig: types$1.TableConfig(),
42397
42408
  tableStyle: types$1.TableStyle(),
42398
42409
  type: types$1.or([types$1.literal("table"), types$1.literal("pivot")]),
@@ -42485,7 +42496,7 @@ var TableStylesPopover = class extends Component {
42485
42496
  Popover,
42486
42497
  TableStylePreview
42487
42498
  };
42488
- props = props({
42499
+ props = useProps({
42489
42500
  tableConfig: types$1.object(),
42490
42501
  popoverProps: types$1.object().optional(),
42491
42502
  closePopover: types$1.function(),
@@ -42533,7 +42544,7 @@ var TableStylePicker = class extends Component {
42533
42544
  TableStylesPopover,
42534
42545
  TableStylePreview
42535
42546
  };
42536
- props = props({
42547
+ props = useProps({
42537
42548
  tableConfig: types$1.TableConfig(),
42538
42549
  onStylePicked: types$1.function(),
42539
42550
  tableStyles: types$1.RecordOf(),
@@ -42585,7 +42596,7 @@ var PivotDesignPanel = class extends Component {
42585
42596
  NumberInput,
42586
42597
  TableStylePicker
42587
42598
  };
42588
- props = props({ pivotId: types$1.UID() });
42599
+ props = useProps({ pivotId: types$1.UID() });
42589
42600
  store;
42590
42601
  setup() {
42591
42602
  this.store = useLocalStore(PivotSidePanelStore, this.props.pivotId, "neverDefer");
@@ -42639,7 +42650,7 @@ var PivotSidePanel = class extends Component {
42639
42650
  Section,
42640
42651
  PivotDesignPanel
42641
42652
  };
42642
- props = props({
42653
+ props = useProps({
42643
42654
  pivotId: types$1.UID(),
42644
42655
  onCloseSidePanel: types$1.function(),
42645
42656
  openTab: types$1.or([types$1.literal("configuration"), types$1.literal("design")]).optional("configuration")
@@ -42673,7 +42684,7 @@ var RemoveDuplicatesPanel = class extends Component {
42673
42684
  Section,
42674
42685
  Checkbox
42675
42686
  };
42676
- props = props({ onCloseSidePanel: types$1.function() });
42687
+ props = useProps({ onCloseSidePanel: types$1.function() });
42677
42688
  state = proxy({
42678
42689
  hasHeader: false,
42679
42690
  columns: {}
@@ -42757,7 +42768,7 @@ var SettingsPanel = class extends Component {
42757
42768
  BadgeSelection,
42758
42769
  Select
42759
42770
  };
42760
- props = props({ onCloseSidePanel: types$1.function() });
42771
+ props = useProps({ onCloseSidePanel: types$1.function() });
42761
42772
  loadedLocales = [];
42762
42773
  setup() {
42763
42774
  onWillStart(() => this.loadLocales());
@@ -42875,7 +42886,7 @@ var SplitIntoColumnsPanel = class extends Component {
42875
42886
  Checkbox,
42876
42887
  Select
42877
42888
  };
42878
- props = props({ onCloseSidePanel: types$1.function() });
42889
+ props = useProps({ onCloseSidePanel: types$1.function() });
42879
42890
  state = proxy({
42880
42891
  separatorValue: "auto",
42881
42892
  addNewColumns: false,
@@ -42951,7 +42962,7 @@ var TablePanel = class extends Component {
42951
42962
  Section,
42952
42963
  NumberInput
42953
42964
  };
42954
- props = props({
42965
+ props = useProps({
42955
42966
  onCloseSidePanel: types$1.function(),
42956
42967
  table: types$1.CoreTable()
42957
42968
  });
@@ -43111,7 +43122,7 @@ var TableStyleEditorPanel = class extends Component {
43111
43122
  RoundColorPicker,
43112
43123
  TableStylePreview
43113
43124
  };
43114
- props = props({
43125
+ props = useProps({
43115
43126
  onCloseSidePanel: types$1.function(),
43116
43127
  onStylePicked: types$1.function().optional(),
43117
43128
  styleId: types$1.string().optional()
@@ -45458,7 +45469,7 @@ function adjustIndexWithinBounds(index, position, max) {
45458
45469
  //#region src/components/autofill/autofill.ts
45459
45470
  var Autofill = class extends Component {
45460
45471
  static template = "o-spreadsheet-Autofill";
45461
- props = props({
45472
+ props = useProps({
45462
45473
  position: types$1.DOMCoordinates(),
45463
45474
  isVisible: types$1.boolean()
45464
45475
  });
@@ -45536,7 +45547,7 @@ var Autofill = class extends Component {
45536
45547
  }
45537
45548
  };
45538
45549
  var TooltipComponent = class extends Component {
45539
- props = props({ content: types$1.string() });
45550
+ props = useProps({ content: types$1.string() });
45540
45551
  static template = xml`
45541
45552
  <div t-out="this.props.content"/>
45542
45553
  `;
@@ -45546,7 +45557,7 @@ var TooltipComponent = class extends Component {
45546
45557
  //#region src/components/collaborative_client_tag/collaborative_client_tag.ts
45547
45558
  var ClientTag = class extends Component {
45548
45559
  static template = "o-spreadsheet-ClientTag";
45549
- props = props({
45560
+ props = useProps({
45550
45561
  active: types$1.boolean(),
45551
45562
  name: types$1.string(),
45552
45563
  color: types$1.Color(),
@@ -46133,7 +46144,7 @@ const GRID_CELL_REFERENCE_TOP_OFFSET = 28;
46133
46144
  var GridComposer = class extends Component {
46134
46145
  static template = "o-spreadsheet-GridComposer";
46135
46146
  static components = { Composer };
46136
- props = props({
46147
+ props = useProps({
46137
46148
  gridDims: types$1.DOMDimension(),
46138
46149
  onInputContextMenu: types$1.function()
46139
46150
  });
@@ -47260,7 +47271,7 @@ var GridOverlay = class extends Component {
47260
47271
  FiguresContainer,
47261
47272
  GridAddRowsFooter
47262
47273
  };
47263
- props = props({
47274
+ props = useProps({
47264
47275
  onCellDoubleClicked: types$1.function().optional(() => () => {}),
47265
47276
  onCellClicked: types$1.function().optional(() => () => {}),
47266
47277
  onCellRightClicked: types$1.function().optional(() => () => {}),
@@ -47377,7 +47388,7 @@ var GridOverlay = class extends Component {
47377
47388
  var GridPopover = class extends Component {
47378
47389
  static template = "o-spreadsheet-GridPopover";
47379
47390
  static components = { Popover };
47380
- props = props({
47391
+ props = useProps({
47381
47392
  onClosePopover: types$1.function(),
47382
47393
  onMouseWheel: types$1.function(),
47383
47394
  gridRect: types$1.Rect()
@@ -47405,7 +47416,7 @@ var GridPopover = class extends Component {
47405
47416
  //#region src/components/headers_overlay/unhide_headers.ts
47406
47417
  var UnhideRowHeaders = class extends Component {
47407
47418
  static template = "o-spreadsheet-UnhideRowHeaders";
47408
- props = props({
47419
+ props = useProps({
47409
47420
  headersGroups: types$1.array(),
47410
47421
  headerRange: types$1.object({
47411
47422
  start: types$1.HeaderIndex(),
@@ -47448,7 +47459,7 @@ var UnhideRowHeaders = class extends Component {
47448
47459
  };
47449
47460
  var UnhideColumnHeaders = class extends Component {
47450
47461
  static template = "o-spreadsheet-UnhideColumnHeaders";
47451
- props = props({
47462
+ props = useProps({
47452
47463
  headersGroups: types$1.array(),
47453
47464
  headerRange: types$1.object({
47454
47465
  start: types$1.HeaderIndex(),
@@ -47488,7 +47499,7 @@ var UnhideColumnHeaders = class extends Component {
47488
47499
  //#region src/components/headers_overlay/headers_overlay.ts
47489
47500
  const resizerPropsDefinition = { onOpenContextMenu: types$1.function() };
47490
47501
  var AbstractResizer = class extends Component {
47491
- props = props(resizerPropsDefinition);
47502
+ props = useProps(resizerPropsDefinition);
47492
47503
  composerFocusStore;
47493
47504
  PADDING = 0;
47494
47505
  MAX_SIZE_MARGIN = 0;
@@ -47951,7 +47962,7 @@ var RowResizer = class extends AbstractResizer {
47951
47962
  };
47952
47963
  var HeadersOverlay = class extends Component {
47953
47964
  static template = "o-spreadsheet-HeadersOverlay";
47954
- props = props(resizerPropsDefinition);
47965
+ props = useProps(resizerPropsDefinition);
47955
47966
  static components = {
47956
47967
  ColResizer,
47957
47968
  RowResizer
@@ -48947,7 +48958,7 @@ function useWheelHandler(handler) {
48947
48958
  //#region src/components/highlight/border/border.ts
48948
48959
  var Border = class extends Component {
48949
48960
  static template = "o-spreadsheet-Border";
48950
- props = props({
48961
+ props = useProps({
48951
48962
  zone: types$1.Zone(),
48952
48963
  orientation: types$1.or([
48953
48964
  types$1.literal("n"),
@@ -49000,7 +49011,7 @@ var Border = class extends Component {
49000
49011
  const MOBILE_HANDLER_WIDTH = 40;
49001
49012
  var Corner = class extends Component {
49002
49013
  static template = "o-spreadsheet-Corner";
49003
- props = props({
49014
+ props = useProps({
49004
49015
  zone: types$1.Zone(),
49005
49016
  color: types$1.Color(),
49006
49017
  orientation: types$1.or([
@@ -49074,7 +49085,7 @@ var Highlight = class extends Component {
49074
49085
  Corner,
49075
49086
  Border
49076
49087
  };
49077
- props = props({
49088
+ props = useProps({
49078
49089
  range: types$1.Range(),
49079
49090
  color: types$1.Color()
49080
49091
  });
@@ -49218,7 +49229,7 @@ var ScrollBar = class extends Component {
49218
49229
  <div t-att-style="this.sizeCss"/>
49219
49230
  </div>
49220
49231
  `;
49221
- props = props({
49232
+ props = useProps({
49222
49233
  width: types$1.Pixel().optional(1),
49223
49234
  height: types$1.Pixel().optional(1),
49224
49235
  direction: types$1.customValidator(types$1.string(), (direction) => ["horizontal", "vertical"].includes(direction)),
@@ -49264,7 +49275,7 @@ var HorizontalScrollBar = class extends Component {
49264
49275
  direction="'horizontal'"
49265
49276
  onScroll.bind="this.onScroll"
49266
49277
  />`;
49267
- props = props({ leftOffset: types$1.number().optional(0) });
49278
+ props = useProps({ leftOffset: types$1.number().optional(0) });
49268
49279
  get offset() {
49269
49280
  return this.env.model.getters.getActiveSheetScrollInfo().scrollX;
49270
49281
  }
@@ -49307,7 +49318,7 @@ var VerticalScrollBar = class extends Component {
49307
49318
  direction="'vertical'"
49308
49319
  onScroll.bind="(offset) => this.onScroll(offset)"
49309
49320
  />`;
49310
- props = props({ topOffset: types$1.number().optional(0) });
49321
+ props = useProps({ topOffset: types$1.number().optional(0) });
49311
49322
  get offset() {
49312
49323
  return this.env.model.getters.getActiveSheetScrollInfo().scrollY;
49313
49324
  }
@@ -49358,7 +49369,7 @@ const SIZE = 3;
49358
49369
  const COLOR = "#777";
49359
49370
  var TableResizer = class extends Component {
49360
49371
  static template = "o-spreadsheet-TableResizer";
49361
- props = props({ table: types$1.Table() });
49372
+ props = useProps({ table: types$1.Table() });
49362
49373
  state = proxy({ highlightZone: void 0 });
49363
49374
  dragNDropGrid = useDragAndDropBeyondTheViewport(this.env);
49364
49375
  setup() {
@@ -49446,7 +49457,7 @@ var Grid = class extends Component {
49446
49457
  TableResizer,
49447
49458
  Selection
49448
49459
  };
49449
- props = props({
49460
+ props = useProps({
49450
49461
  exposeFocus: types$1.function(),
49451
49462
  getGridSize: types$1.function()
49452
49463
  });
@@ -50090,7 +50101,7 @@ supportedPivotPositionalFormulaRegistry.add("SPREADSHEET", false);
50090
50101
  //#region src/components/dashboard/clickable_cell_sort_icon/clickable_cell_sort_icon.ts
50091
50102
  var ClickableCellSortIcon = class extends Component {
50092
50103
  static template = "o-spreadsheet-ClickableCellSortIcon";
50093
- props = props({
50104
+ props = useProps({
50094
50105
  position: types$1.CellPosition(),
50095
50106
  sortDirection: types$1.or([types$1.SortDirection, types$1.literal("none")])
50096
50107
  });
@@ -50165,7 +50176,7 @@ var FullScreenFigure = class extends Component {
50165
50176
  var PivotHTMLRenderer = class extends Component {
50166
50177
  static template = "o_spreadsheet.PivotHTMLRenderer";
50167
50178
  static components = { Checkbox };
50168
- props = props({
50179
+ props = useProps({
50169
50180
  pivotId: types$1.UID(),
50170
50181
  onCellClicked: types$1.function()
50171
50182
  });
@@ -51038,6 +51049,7 @@ var Squisher = class {
51038
51049
  alreadyAppliedNumberOffsets = [];
51039
51050
  previousStrings = [];
51040
51051
  baseFormulaWasTransformed = false;
51052
+ rangeToStringOptions = { doNotSimplifyRange: true };
51041
51053
  baseNumber = void 0;
51042
51054
  constructor(getters) {
51043
51055
  this.getters = getters;
@@ -51093,9 +51105,9 @@ var Squisher = class {
51093
51105
  let references = [];
51094
51106
  if (!this.baseFormula || this.baseFormula.normalizedFormula !== cell.compiledFormula.normalizedFormula) {
51095
51107
  this.resetBaseTo(cell.compiledFormula);
51096
- return cell.compiledFormula.toFormulaString(this.getters);
51108
+ return cell.compiledFormula.toFormulaString(this.getters, this.rangeToStringOptions);
51097
51109
  } else {
51098
- if (!this.baseFormulaWasTransformed && deepEquals(cell.compiledFormula.literalValues, this.baseFormula.literalValues) && deepEquals(cell.compiledFormula.rangeDependencies, this.baseFormula.rangeDependencies)) return cell.compiledFormula.toFormulaString(this.getters);
51110
+ if (!this.baseFormulaWasTransformed && deepEquals(cell.compiledFormula.literalValues, this.baseFormula.literalValues) && deepEquals(cell.compiledFormula.rangeDependencies, this.baseFormula.rangeDependencies)) return cell.compiledFormula.toFormulaString(this.getters, this.rangeToStringOptions);
51099
51111
  numbers = this.squishNumbers(cell.compiledFormula.literalValues.numbers);
51100
51112
  strings = this.squishStrings(cell.compiledFormula.literalValues.strings);
51101
51113
  references = this.squishReferences(cell.compiledFormula.rangeDependencies, forSheetId);
@@ -51172,23 +51184,23 @@ var Squisher = class {
51172
51184
  squishOneReference(reference, previousReferences, index, forSheetId) {
51173
51185
  const previousReference = previousReferences[index];
51174
51186
  if (deepEquals(previousReference, reference)) return "=";
51175
- if (previousReference.sheetId !== reference.sheetId || previousReference.prefixSheet !== reference.prefixSheet || previousReference.invalidSheetName !== reference.invalidSheetName || previousReference.invalidXc !== reference.invalidXc) {
51187
+ if (previousReference.sheetId !== reference.sheetId || previousReference.prefixSheet !== reference.prefixSheet || previousReference.invalidSheetName !== reference.invalidSheetName || previousReference.invalidXc !== reference.invalidXc || previousReference.parts.length !== reference.parts.length) {
51176
51188
  previousReferences[index] = deepCopy(reference);
51177
- return getRangeString(reference, forSheetId, this.getters.getSheetName);
51189
+ return getRangeString(reference, forSheetId, this.getters.getSheetName, this.rangeToStringOptions);
51178
51190
  }
51179
51191
  if (previousReference.unboundedZone.bottom === void 0 || previousReference.unboundedZone.right === void 0 || reference.unboundedZone.bottom === void 0 || reference.unboundedZone.right === void 0) {
51180
51192
  previousReferences[index] = deepCopy(reference);
51181
- return getRangeString(reference, forSheetId, this.getters.getSheetName);
51193
+ return getRangeString(reference, forSheetId, this.getters.getSheetName, this.rangeToStringOptions);
51182
51194
  }
51183
51195
  for (let i = 0; i < reference.parts.length; i++) if (previousReference.parts[i].colFixed !== reference.parts[i].colFixed || previousReference.parts[i].rowFixed !== reference.parts[i].rowFixed) {
51184
51196
  previousReferences[index] = deepCopy(reference);
51185
- return getRangeString(reference, forSheetId, this.getters.getSheetName);
51197
+ return getRangeString(reference, forSheetId, this.getters.getSheetName, this.rangeToStringOptions);
51186
51198
  }
51187
51199
  const currentZone = reference.zone;
51188
51200
  const previousZone = previousReference.zone;
51189
51201
  if (currentZone.top !== currentZone.bottom || currentZone.left !== currentZone.right || previousZone.top !== previousZone.bottom || previousZone.left !== previousZone.right) {
51190
51202
  previousReferences[index] = deepCopy(reference);
51191
- return getRangeString(reference, forSheetId, this.getters.getSheetName);
51203
+ return getRangeString(reference, forSheetId, this.getters.getSheetName, this.rangeToStringOptions);
51192
51204
  }
51193
51205
  const diffCol = reference.zone.left - previousReference.zone.left;
51194
51206
  const diffRow = reference.zone.top - previousReference.zone.top;
@@ -51196,7 +51208,7 @@ var Squisher = class {
51196
51208
  previousReference.unboundedZone = deepCopy(reference.unboundedZone);
51197
51209
  if (diffCol !== 0 && diffRow === 0) return `${diffCol > 0 ? "+" : "-"}C${Math.abs(diffCol)}`;
51198
51210
  else if (diffRow !== 0 && diffCol === 0) return `${diffRow > 0 ? "+" : "-"}R${Math.abs(diffRow)}`;
51199
- return getRangeString(reference, forSheetId, this.getters.getSheetName);
51211
+ return getRangeString(reference, forSheetId, this.getters.getSheetName, this.rangeToStringOptions);
51200
51212
  }
51201
51213
  /**
51202
51214
  * Squish the number parameters. Result for each parameter should be compared the previous formula.
@@ -51405,10 +51417,19 @@ var Unsquisher = class {
51405
51417
  case "FIRST_OFFSET": {
51406
51418
  const currentOffset = current;
51407
51419
  this.previousOffset = currentOffset;
51408
- for (const position of targetPositions) yield {
51409
- position,
51410
- compiled: this.unsquishFormula(currentOffset, sheetId, getters)
51411
- };
51420
+ for (const position of targetPositions) {
51421
+ const result = this.unsquishFormula(currentOffset, sheetId, getters);
51422
+ if (!result.areRangeShapesInLineWithNormalizedFormula()) {
51423
+ const formulaString = result.toFormulaString(getters);
51424
+ yield {
51425
+ position,
51426
+ compiled: CompiledFormula.Compile(formulaString, sheetId, getters)
51427
+ };
51428
+ } else yield {
51429
+ position,
51430
+ compiled: result
51431
+ };
51432
+ }
51412
51433
  break;
51413
51434
  }
51414
51435
  case "COMBINE_OFFSET": {
@@ -51417,10 +51438,19 @@ var Unsquisher = class {
51417
51438
  this.previousOffset.N = currentOffset.N ?? this.previousOffset.N;
51418
51439
  this.previousOffset.S = currentOffset.S ?? this.previousOffset.S;
51419
51440
  this.previousOffset.R = currentOffset.R ?? this.previousOffset.R;
51420
- for (const position of targetPositions) yield {
51421
- position,
51422
- compiled: this.unsquishFormula(this.previousOffset, sheetId, getters)
51423
- };
51441
+ for (const position of targetPositions) {
51442
+ const result = this.unsquishFormula(this.previousOffset, sheetId, getters);
51443
+ if (!result.areRangeShapesInLineWithNormalizedFormula()) {
51444
+ const formulaString = result.toFormulaString(getters);
51445
+ yield {
51446
+ position,
51447
+ compiled: CompiledFormula.Compile(formulaString, sheetId, getters)
51448
+ };
51449
+ } else yield {
51450
+ position,
51451
+ compiled: result
51452
+ };
51453
+ }
51424
51454
  break;
51425
51455
  }
51426
51456
  case "NEW_NUMBER":
@@ -53025,11 +53055,16 @@ var DefaultPlugin = class extends CorePlugin {
53025
53055
  const deltaStyle = {};
53026
53056
  let hasDelta = false;
53027
53057
  const styleSheet = this.style[position.sheetId];
53028
- if (!styleSheet) continue;
53029
53058
  for (const key in newDefaultStyle) {
53030
53059
  if (key in cellStyle) continue;
53031
- const defaults = styleSheet[key];
53032
- if (!defaults) continue;
53060
+ const defaults = styleSheet?.[key];
53061
+ if (!defaults) {
53062
+ if (newDefaultStyle[key] !== DEFAULT_STYLE[key]) {
53063
+ deltaStyle[key] = DEFAULT_STYLE[key];
53064
+ hasDelta = true;
53065
+ }
53066
+ continue;
53067
+ }
53033
53068
  const rowDefault = defaults.rowDefault?.[position.row];
53034
53069
  if (rowDefault !== void 0) {
53035
53070
  if (priorities.shouldUseDefaultRow) {
@@ -53071,7 +53106,8 @@ var DefaultPlugin = class extends CorePlugin {
53071
53106
  for (const key in styleSheet) if (!(key in style)) {
53072
53107
  const defaults = styleSheet[key];
53073
53108
  if (!defaults) continue;
53074
- style[key] = defaults.rowDefault?.[position.row] ?? defaults.colDefault?.[position.col] ?? defaults.sheetDefault;
53109
+ const styleValue = defaults.rowDefault?.[position.row] ?? defaults.colDefault?.[position.col] ?? defaults.sheetDefault;
53110
+ if (styleValue !== void 0) style[key] = styleValue;
53075
53111
  }
53076
53112
  return style;
53077
53113
  }
@@ -61075,7 +61111,12 @@ var TableComputedStylePlugin = class extends UIPlugin {
61075
61111
  computeTableStyle(sheetId, table) {
61076
61112
  return lazy(() => {
61077
61113
  const style = this.getters.getTableStyle(table.config.styleId);
61078
- const { tableMetaData, config } = this.getTableMetaData(sheetId, table);
61114
+ const tableMetaDataAndConfig = this.getTableMetaData(sheetId, table);
61115
+ if (!tableMetaDataAndConfig) return {
61116
+ borders: {},
61117
+ styles: {}
61118
+ };
61119
+ const { tableMetaData, config } = tableMetaDataAndConfig;
61079
61120
  const relativeTableStyle = getComputedTableStyle(config, style, tableMetaData);
61080
61121
  const mapping = this.getTableMapping(sheetId, table);
61081
61122
  const absoluteTableStyle = {
@@ -61113,6 +61154,7 @@ var TableComputedStylePlugin = class extends UIPlugin {
61113
61154
  const pivotInfo = this.getters.getPivotStyleAtPosition(mainPosition);
61114
61155
  if (!pivotInfo) throw new Error("No dynamic pivot info found at pivot table position");
61115
61156
  const pivot = this.getters.getPivot(pivotInfo.pivotId);
61157
+ if (!pivot.isValid()) return;
61116
61158
  const pivotStyle = pivotInfo.pivotStyle;
61117
61159
  const maxRowDepth = pivot.getExpandedTableStructure().getNumberOfRowGroupBys();
61118
61160
  const pivotTable = pivot.getCollapsedTableStructure();
@@ -68461,7 +68503,7 @@ const RIPPLE_KEY_FRAMES = [
68461
68503
  ];
68462
68504
  var RippleEffect = class extends Component {
68463
68505
  static template = "o-spreadsheet-RippleEffect";
68464
- props = props({
68506
+ props = useProps({
68465
68507
  x: types$1.string(),
68466
68508
  y: types$1.string(),
68467
68509
  color: types$1.string(),
@@ -68514,7 +68556,7 @@ var RippleEffect = class extends Component {
68514
68556
  var Ripple = class extends Component {
68515
68557
  static template = "o-spreadsheet-Ripple";
68516
68558
  static components = { RippleEffect };
68517
- props = props({
68559
+ props = useProps({
68518
68560
  color: types$1.string().optional("#aaaaaa"),
68519
68561
  opacity: types$1.number().optional(.4),
68520
68562
  duration: types$1.number().optional(800),
@@ -68792,7 +68834,7 @@ var BottomBarSheet = class extends Component {
68792
68834
  Ripple,
68793
68835
  ColorPicker
68794
68836
  };
68795
- props = props({
68837
+ props = useProps({
68796
68838
  sheetId: types$1.string(),
68797
68839
  openContextMenu: types$1.function(),
68798
68840
  style: types$1.string().optional(""),
@@ -69082,7 +69124,7 @@ var AggregateStatisticsStore = class extends SpreadsheetStore {
69082
69124
  var BottomBarStatistic = class extends Component {
69083
69125
  static template = "o-spreadsheet-BottomBarStatistic";
69084
69126
  static components = { Ripple };
69085
- props = props({
69127
+ props = useProps({
69086
69128
  openContextMenu: types$1.function(),
69087
69129
  closeContextMenu: types$1.function()
69088
69130
  });
@@ -69136,7 +69178,7 @@ var BottomBarStatistic = class extends Component {
69136
69178
  const SHEET_LIST_MENU_MAX_HEIGHT = 250;
69137
69179
  var BottomBar = class extends Component {
69138
69180
  static template = "o-spreadsheet-BottomBar";
69139
- props = props({ onClick: types$1.function() });
69181
+ props = useProps({ onClick: types$1.function() });
69140
69182
  static components = {
69141
69183
  MenuPopover,
69142
69184
  Ripple,
@@ -69419,7 +69461,7 @@ var SpreadsheetDashboard = class extends Component {
69419
69461
  VerticalScrollBar,
69420
69462
  HorizontalScrollBar
69421
69463
  };
69422
- props = props({ getGridSize: types$1.function() });
69464
+ props = useProps({ getGridSize: types$1.function() });
69423
69465
  cellPopovers;
69424
69466
  onMouseWheel;
69425
69467
  canvasPosition;
@@ -69538,7 +69580,7 @@ var SpreadsheetDashboard = class extends Component {
69538
69580
  //#region src/components/header_group/header_group.ts
69539
69581
  var AbstractHeaderGroup = class extends Component {
69540
69582
  static template = "o-spreadsheet-HeaderGroup";
69541
- props = props({
69583
+ props = useProps({
69542
69584
  group: types$1.HeaderGroup(),
69543
69585
  layerOffset: types$1.number(),
69544
69586
  openContextMenu: types$1.function()
@@ -69692,7 +69734,7 @@ var HeaderGroupContainer = class extends Component {
69692
69734
  ColGroup,
69693
69735
  MenuPopover
69694
69736
  };
69695
- props = props({
69737
+ props = useProps({
69696
69738
  dimension: types$1.Dimension(),
69697
69739
  layers: types$1.array()
69698
69740
  });
@@ -69768,7 +69810,7 @@ function useScreenWidth() {
69768
69810
  //#region src/components/side_panel/side_panel/side_panel.ts
69769
69811
  var SidePanel = class extends Component {
69770
69812
  static template = "o-spreadsheet-SidePanel";
69771
- props = props({
69813
+ props = useProps({
69772
69814
  panelContent: types$1.SidePanelContent(),
69773
69815
  panelProps: types$1.SidePanelComponentProps(),
69774
69816
  onCloseSidePanel: types$1.function(),
@@ -69862,7 +69904,7 @@ var SidePanels = class extends Component {
69862
69904
  var RibbonMenu = class extends Component {
69863
69905
  static template = "o-spreadsheet-RibbonMenu";
69864
69906
  static components = { Menu };
69865
- props = props({ onClose: types$1.function() });
69907
+ props = useProps({ onClose: types$1.function() });
69866
69908
  rootItems = topbarMenuRegistry.getMenuItems();
69867
69909
  menuRef = signal(null);
69868
69910
  containerRef = signal(null);
@@ -69933,7 +69975,7 @@ var SmallBottomBar = class extends Component {
69933
69975
  RibbonMenu
69934
69976
  };
69935
69977
  static template = "o-spreadsheet-SmallBottomBar";
69936
- props = props({ onClick: types$1.function() });
69978
+ props = useProps({ onClick: types$1.function() });
69937
69979
  composerFocusStore;
69938
69980
  composerStore;
69939
69981
  composerInterface;
@@ -70134,7 +70176,7 @@ var FigureRendererStore = class extends DisposableStore {
70134
70176
  //#region src/components/standalone_grid_canvas/standalone_grid_canvas.ts
70135
70177
  var StandaloneGridCanvas = class extends Component {
70136
70178
  static template = "o-spreadsheet-StandaloneGridCanvas";
70137
- props = props({
70179
+ props = useProps({
70138
70180
  sheetId: types$1.UID(),
70139
70181
  zone: types$1.Zone(),
70140
70182
  renderingCtx: types$1.object()
@@ -70459,7 +70501,7 @@ var SpreadsheetPrintStore = class extends SpreadsheetStore {
70459
70501
  //#region src/components/spreadsheet_print/spreadsheet_print.ts
70460
70502
  var SpreadsheetPrint = class extends Component {
70461
70503
  static template = "o-spreadsheet-SpreadsheetPrint";
70462
- props = props({ onExitPrintMode: types$1.function() });
70504
+ props = useProps({ onExitPrintMode: types$1.function() });
70463
70505
  static components = {
70464
70506
  StandaloneGridCanvas,
70465
70507
  Section,
@@ -70801,7 +70843,7 @@ var BorderEditor = class extends Component {
70801
70843
  ColorPickerWidget,
70802
70844
  Popover
70803
70845
  };
70804
- props = props({
70846
+ props = useProps({
70805
70847
  class: types$1.string().optional(),
70806
70848
  currentBorderColor: types$1.Color(),
70807
70849
  currentBorderStyle: types$1.BorderStyle(),
@@ -70873,7 +70915,7 @@ var BorderEditor = class extends Component {
70873
70915
  var BorderEditorWidget = class extends Component {
70874
70916
  static template = "o-spreadsheet-BorderEditorWidget";
70875
70917
  static components = { BorderEditor };
70876
- props = props({
70918
+ props = useProps({
70877
70919
  disabled: types$1.boolean().optional(),
70878
70920
  dropdownMaxHeight: types$1.Pixel().optional(),
70879
70921
  class: types$1.string().optional()
@@ -70934,7 +70976,7 @@ var BorderEditorWidget = class extends Component {
70934
70976
  //#region src/components/paint_format_button/paint_format_button.ts
70935
70977
  var PaintFormatButton = class extends Component {
70936
70978
  static template = "o-spreadsheet-PaintFormatButton";
70937
- props = props({ class: types$1.string().optional() });
70979
+ props = useProps({ class: types$1.string().optional() });
70938
70980
  paintFormatStore;
70939
70981
  setup() {
70940
70982
  this.paintFormatStore = useStore(PaintFormatStore);
@@ -70959,7 +71001,7 @@ var TableDropdownButton = class extends Component {
70959
71001
  TableStylesPopover,
70960
71002
  ActionButton
70961
71003
  };
70962
- props = props({ class: types$1.string().optional() });
71004
+ props = useProps({ class: types$1.string().optional() });
70963
71005
  topBarToolStore;
70964
71006
  state = proxy({ popoverProps: void 0 });
70965
71007
  setup() {
@@ -71053,7 +71095,7 @@ var TableDropdownButton = class extends Component {
71053
71095
  var TopBarColorEditor = class extends Component {
71054
71096
  static components = { ColorPickerWidget };
71055
71097
  static template = "o-spreadsheet-ColorEditor";
71056
- props = props({
71098
+ props = useProps({
71057
71099
  class: types$1.string(),
71058
71100
  style: types$1.or([types$1.literal("textColor"), types$1.literal("fillColor")]),
71059
71101
  icon: types$1.string(),
@@ -71101,7 +71143,7 @@ var DropdownAction = class extends Component {
71101
71143
  ActionButton,
71102
71144
  Popover
71103
71145
  };
71104
- props = props({
71146
+ props = useProps({
71105
71147
  parentAction: types$1.ActionSpec(),
71106
71148
  childActions: types$1.array(types$1.ActionSpec()),
71107
71149
  class: types$1.string(),
@@ -71134,7 +71176,7 @@ var DropdownAction = class extends Component {
71134
71176
  var TopBarFontSizeEditor = class extends Component {
71135
71177
  static components = { FontSizeEditor };
71136
71178
  static template = "o-spreadsheet-TopBarFontSizeEditor";
71137
- props = props({ class: types$1.string() });
71179
+ props = useProps({ class: types$1.string() });
71138
71180
  topBarToolStore;
71139
71181
  setup() {
71140
71182
  this.topBarToolStore = useToolBarDropdownStore();
@@ -71168,7 +71210,7 @@ var NumberFormatsTool = class extends Component {
71168
71210
  MenuPopover,
71169
71211
  ActionButton
71170
71212
  };
71171
- props = props({ class: types$1.string() });
71213
+ props = useProps({ class: types$1.string() });
71172
71214
  formatNumberMenuItemSpec = formatNumberMenuItemSpec;
71173
71215
  topBarToolStore;
71174
71216
  buttonRef = signal(null);
@@ -71203,7 +71245,7 @@ var NumberFormatsTool = class extends Component {
71203
71245
  var ToolBarZoom = class extends Component {
71204
71246
  static template = "o-spreadsheet-TopBarZoom";
71205
71247
  static components = { NumberEditor };
71206
- props = props({ class: types$1.string() });
71248
+ props = useProps({ class: types$1.string() });
71207
71249
  topBarToolStore;
71208
71250
  valueList = ZOOM_VALUES;
71209
71251
  setup() {
@@ -71429,7 +71471,7 @@ topBarToolBarRegistry.add("edit").addChild("edit", {
71429
71471
  //#region src/components/top_bar/top_bar.ts
71430
71472
  var TopBar = class extends Component {
71431
71473
  static template = "o-spreadsheet-TopBar";
71432
- props = props({
71474
+ props = useProps({
71433
71475
  onClick: types$1.function(),
71434
71476
  dropdownMaxHeight: types$1.Pixel()
71435
71477
  });
@@ -71707,7 +71749,7 @@ var WebClipboardWrapper = class {
71707
71749
  //#region src/components/spreadsheet/spreadsheet.ts
71708
71750
  var Spreadsheet = class extends Component {
71709
71751
  static template = "o-spreadsheet-Spreadsheet";
71710
- props = props({
71752
+ props = useProps({
71711
71753
  model: types$1.Model(),
71712
71754
  notifyUser: types$1.function().optional(),
71713
71755
  raiseError: types$1.function().optional(),
@@ -77009,8 +77051,8 @@ var DefaultClipboardHandler = class extends AbstractCellClipboardHandler {
77009
77051
  for (const key in DEFAULT_STYLE) {
77010
77052
  content.style[key] = {
77011
77053
  sheetDefault: this.getters.getDefaultStyle(data.sheetId, key, "SHEET", void 0) ?? DEFAULT_STYLE[key],
77012
- colDefault: {},
77013
- rowDefault: {}
77054
+ colDefault: [],
77055
+ rowDefault: []
77014
77056
  };
77015
77057
  let colIndex = 0;
77016
77058
  for (const col of data.columnsIndexes) {
@@ -77027,20 +77069,41 @@ var DefaultClipboardHandler = class extends AbstractCellClipboardHandler {
77027
77069
  }
77028
77070
  return content;
77029
77071
  }
77030
- clearStyleFormat(sheetId, zone) {
77031
- this.dispatch("SET_FORMATTING", {
77032
- sheetId,
77033
- target: [zone],
77034
- format: ""
77035
- });
77072
+ adaptContentToZone(zone, content) {
77073
+ const colRepetition = Math.max(Math.floor((zone.right - zone.left + 1) / content.width), 1);
77074
+ const rowRepetition = Math.max(Math.floor((zone.bottom - zone.top + 1) / content.height), 1);
77075
+ if (colRepetition === 1 && rowRepetition === 1) return content;
77076
+ const newContent = deepCopy(content);
77077
+ newContent.height *= rowRepetition;
77078
+ newContent.width *= colRepetition;
77079
+ if (rowRepetition > 1 && newContent.format.rowDefault) {
77080
+ newContent.format.rowDefault.length = content.height;
77081
+ newContent.format.rowDefault = repeat(newContent.format.rowDefault, rowRepetition);
77082
+ }
77083
+ if (colRepetition > 1 && newContent.format.colDefault) {
77084
+ newContent.format.colDefault.length = content.width;
77085
+ newContent.format.colDefault = repeat(newContent.format.colDefault, colRepetition);
77086
+ }
77087
+ for (const key in content.style) {
77088
+ if (rowRepetition > 1 && newContent.style[key].rowDefault) {
77089
+ newContent.style[key].rowDefault.length = content.height;
77090
+ newContent.style[key].rowDefault = repeat(newContent.style[key].rowDefault, rowRepetition);
77091
+ }
77092
+ if (colRepetition > 1 && newContent.style[key].colDefault) {
77093
+ newContent.style[key].colDefault.length = content.width;
77094
+ newContent.style[key].colDefault = repeat(newContent.style[key].colDefault, colRepetition);
77095
+ }
77096
+ }
77097
+ return newContent;
77036
77098
  }
77037
77099
  paste(target, content, options) {
77038
77100
  const sheetId = target.sheetId;
77039
77101
  if (options.pasteOption === "asValue") return;
77040
77102
  const zones = target.zones;
77041
- if (!options.isCutOperation) for (const zone of zones) for (const pasteZone of splitZoneForPaste(zone, content.width, content.height)) {
77042
- this.pasteStyle(sheetId, pasteZone.left, pasteZone.top, content.width, content.height, content.style);
77043
- this.pasteFormat(sheetId, pasteZone.left, pasteZone.top, content.width, content.height, content.format);
77103
+ if (!options.isCutOperation) for (const zone of zones) {
77104
+ const newContent = this.adaptContentToZone(zone, content);
77105
+ this.pasteStyle(sheetId, zone.left, zone.top, newContent.width, newContent.height, newContent.style);
77106
+ this.pasteFormat(sheetId, zone.left, zone.top, newContent.width, newContent.height, newContent.format);
77044
77107
  }
77045
77108
  else {
77046
77109
  this.clearClippedZones(content);
@@ -77153,7 +77216,7 @@ var DefaultClipboardHandler = class extends AbstractCellClipboardHandler {
77153
77216
  const commands = [];
77154
77217
  for (const [zoneStr, [zone, priority]] of Object.entries(zones)) {
77155
77218
  const format = updateCells[zoneStr];
77156
- commands.push([
77219
+ if (format !== void 0) commands.push([
77157
77220
  priority,
77158
77221
  zone,
77159
77222
  format
@@ -77503,7 +77566,7 @@ const ERROR_TOOLTIP_MAX_HEIGHT = 80;
77503
77566
  var ErrorToolTip = class extends Component {
77504
77567
  static maxSize = { maxHeight: ERROR_TOOLTIP_MAX_HEIGHT };
77505
77568
  static template = "o-spreadsheet-ErrorToolTip";
77506
- props = props({
77569
+ props = useProps({
77507
77570
  cellPosition: types$1.CellPosition(),
77508
77571
  onClosed: types$1.function().optional()
77509
77572
  });
@@ -77587,7 +77650,7 @@ var FilterMenu = class extends Component {
77587
77650
  SidePanelCollapsible,
77588
77651
  FilterMenuCriterion
77589
77652
  };
77590
- props = props({
77653
+ props = useProps({
77591
77654
  filterPosition: types$1.Position(),
77592
77655
  onClosed: types$1.function().optional()
77593
77656
  });
@@ -77767,7 +77830,7 @@ const FilterMenuPopoverBuilder = { onOpen: (position, getters) => {
77767
77830
  //#region src/components/link/link_display/link_display.ts
77768
77831
  var LinkDisplay = class extends Component {
77769
77832
  static template = "o-spreadsheet-LinkDisplay";
77770
- props = props({
77833
+ props = useProps({
77771
77834
  cellPosition: types$1.CellPosition(),
77772
77835
  onClosed: types$1.function().optional()
77773
77836
  });
@@ -77841,7 +77904,7 @@ const LinkCellPopoverBuilder = { onHover: (position, getters) => {
77841
77904
  var LinkEditor = class extends Component {
77842
77905
  static template = "o-spreadsheet-LinkEditor";
77843
77906
  static components = { MenuPopover };
77844
- props = props({
77907
+ props = useProps({
77845
77908
  cellPosition: types$1.CellPosition(),
77846
77909
  onClosed: types$1.function().optional()
77847
77910
  });
@@ -87485,6 +87548,6 @@ const chartHelpers = {
87485
87548
  //#endregion
87486
87549
  export { AbstractCellClipboardHandler, AbstractChart, AbstractFigureClipboardHandler, BadExpressionError, CHART_TYPES, CellErrorType, CellValueType, CircularDependencyError, ClientDisconnectedError, ClipboardMIMEType, CommandResult, CompiledFormula, CorePlugin, CoreViewPlugin, DEFAULT_LOCALE, DEFAULT_LOCALES, DEFAULT_LOCALE_DIGIT_GROUPING, DIRECTION, DispatchResult, DivisionByZeroError, EvaluationError, InvalidReferenceError, LocalTransportService, Model, NEXT_VALUE, NotAvailableError, NumberTooLargeError, OrderedLayers, PREVIOUS_VALUE, PivotRuntimeDefinition, Registry, Revision, SPREADSHEET_DIMENSIONS, SplillBlockedError, Spreadsheet, SpreadsheetPivotTable, UIPlugin, UnknownFunctionError, __info__, addFunction, addRenderingLayer, astToFormula, availableConditionalFormatOperators, availableDataValidationOperators, availableFiltersOperators, borderPositions, borderStyles, canExecuteInReadonly, categories, chartHelpers, compatibility, components, composerFocusTypes, constants, convertAstNodes, coreTypes, createAutocompleteArgumentsProvider, errorTypes, filterDateCriterionOperators, filterNumberCriterionOperators, filterTextCriterionOperators, findCellInNewZone, functionCache, getCaretDownSvg, getCaretUpSvg, helpers, hooks, invalidSubtotalFormulasCommands, invalidateBordersCommands, invalidateCFEvaluationCommands, invalidateChartEvaluationCommands, invalidateDependenciesCommands, invalidateEvaluationCommands, isCoreCommand, isHeadersDependant, isMatrix, isPositionDependent, isRangeDependant, isSheetDependent, isTargetDependent, isZoneDependent, iterateAstNodes, links, load, lockedSheetAllowedCommands, parse, parseTokens, readonlyAllowedCommands, registries, schemeToColorScale, setDefaultSheetViewSize, setTranslationMethod, stores, tokenColors, tokenize };
87487
87550
 
87488
- __info__.version = "19.4.2";
87489
- __info__.date = "2026-07-13T06:26:39.071Z";
87490
- __info__.hash = "c83d4aa";
87551
+ __info__.version = "19.4.3";
87552
+ __info__.date = "2026-07-20T11:02:36.941Z";
87553
+ __info__.hash = "d32e61b";