@odoo/o-spreadsheet 19.4.0-alpha.12 → 19.4.0-alpha.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/o_spreadsheet.cjs +818 -840
  2. package/dist/o_spreadsheet.css +29 -6
  3. package/dist/o_spreadsheet.esm.js +426 -448
  4. package/dist/o_spreadsheet.iife.js +818 -840
  5. package/dist/o_spreadsheet.min.iife.js +78 -78
  6. package/dist/o_spreadsheet.xml +19 -12
  7. package/dist/types/components/action_button/action_button.d.ts +1 -1
  8. package/dist/types/components/animation/ripple.d.ts +3 -3
  9. package/dist/types/components/border_editor/border_editor.d.ts +2 -2
  10. package/dist/types/components/bottom_bar/bottom_bar.d.ts +1 -1
  11. package/dist/types/components/color_picker/color_picker.d.ts +2 -0
  12. package/dist/types/components/figures/figure_carousel/figure_carousel.d.ts +2 -1
  13. package/dist/types/components/figures/figure_chart/figure_chart.d.ts +1 -1
  14. package/dist/types/components/figures/figure_image/figure_image.d.ts +1 -1
  15. package/dist/types/components/filters/filter_menu_item/filter_menu_value_item.d.ts +2 -2
  16. package/dist/types/components/grid_overlay/grid_overlay.d.ts +2 -3
  17. package/dist/types/components/helpers/dom_helpers.d.ts +0 -4
  18. package/dist/types/components/menu/menu.d.ts +1 -1
  19. package/dist/types/components/menu_popover/menu_popover.d.ts +1 -1
  20. package/dist/types/components/props_validation.d.ts +2 -6
  21. package/dist/types/components/side_panel/chart/building_blocks/axis_design/axis_design_editor.d.ts +5 -6
  22. package/dist/types/components/side_panel/chart/building_blocks/data_source/data_source.d.ts +5 -4
  23. package/dist/types/components/side_panel/chart/building_blocks/general_design/general_design_editor.d.ts +7 -7
  24. package/dist/types/components/side_panel/chart/building_blocks/legend/legend.d.ts +3 -2
  25. package/dist/types/components/side_panel/chart/building_blocks/range_data_source/range_data_source.d.ts +3 -2
  26. package/dist/types/components/side_panel/chart/building_blocks/series_design/series_design_editor.d.ts +5 -5
  27. package/dist/types/components/side_panel/chart/building_blocks/series_design/series_with_axis_design_editor.d.ts +3 -3
  28. package/dist/types/components/side_panel/chart/building_blocks/show_values/show_values.d.ts +7 -4
  29. package/dist/types/components/side_panel/chart/common.d.ts +3 -2
  30. package/dist/types/components/side_panel/chart/geo_chart_panel/geo_chart_region_select_section.d.ts +4 -4
  31. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension/pivot_dimension.d.ts +2 -2
  32. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_measure/pivot_measure.d.ts +1 -1
  33. package/dist/types/components/top_bar/font_size_editor/font_size_editor.d.ts +1 -1
  34. package/package.json +1 -1
@@ -2,9 +2,9 @@
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.0-alpha.12
6
- * @date 2026-06-06T06:24:48.209Z
7
- * @hash a71f829
5
+ * @version 19.4.0-alpha.14
6
+ * @date 2026-06-12T09:49:11.281Z
7
+ * @hash f92f5e0
8
8
  */
9
9
 
10
10
  import { App, Component, EnvPlugin, Plugin, __ODOO_COMPATIBILITY_LAYER_ADDED__, blockDom, config, markRaw, onMounted, onPatched, onWillPatch, onWillStart, onWillUnmount, onWillUpdateProps, plugin, props, providePlugins, proxy, signal, status, toRaw, types, useChildEnv, useChildSubEnv, useComponent, useEffect, useEnv, useExternalListener, useLayoutEffect, useListener, useScope, useSubEnv, whenReady, xml } from "@odoo/owl";
@@ -331,12 +331,6 @@ function downloadFile(dataUrl, fileName) {
331
331
  a.click();
332
332
  document.body.removeChild(a);
333
333
  }
334
- /**
335
- * Detects if the current browser is Firefox
336
- */
337
- function isBrowserFirefox() {
338
- return /Firefox/i.test(navigator.userAgent);
339
- }
340
334
  function maxTouchPoints() {
341
335
  return navigator.maxTouchPoints || 1;
342
336
  }
@@ -3008,6 +3002,187 @@ function getDependencyContainer(env) {
3008
3002
  return container;
3009
3003
  }
3010
3004
 
3005
+ //#endregion
3006
+ //#region src/components/props_validation.ts
3007
+ /**
3008
+ * Validate that a prop is a number, but with a more specific type than just `number` (e.g. `Pixel`).
3009
+ */
3010
+ function validateNumber() {
3011
+ return types.number();
3012
+ }
3013
+ /**
3014
+ * Validate that a prop is a string, but with a more specific type than just `string` (e.g. `Color`).
3015
+ */
3016
+ function validateString() {
3017
+ return types.string();
3018
+ }
3019
+ /**
3020
+ * Validate that a prop is an object, but with a more specific type than just `object` (e.g. `ActionSpec`).
3021
+ */
3022
+ function validateObject() {
3023
+ return types.object();
3024
+ }
3025
+ /**
3026
+ * Validate that a prop is an array, but with a more specific element type than `any[]`.
3027
+ */
3028
+ function validateArrayOf() {
3029
+ return types.array();
3030
+ }
3031
+ /**
3032
+ * Validate that a prop is a record (string-keyed dictionary), but with a more
3033
+ * specific value type than `any`.
3034
+ */
3035
+ function validateRecordOf() {
3036
+ return types.record();
3037
+ }
3038
+ /**
3039
+ * Validate that a prop is a `Set`, typed with a specific element type.
3040
+ */
3041
+ function validateSetOf() {
3042
+ return types.instanceOf(Set);
3043
+ }
3044
+ function validateRect() {
3045
+ return types.object({
3046
+ x: types.number(),
3047
+ y: types.number(),
3048
+ width: types.number(),
3049
+ height: types.number()
3050
+ });
3051
+ }
3052
+ function validateBorderPosition() {
3053
+ return types.customValidator(validateString(), (position) => borderPositions.includes(position));
3054
+ }
3055
+ function validateBorderStyle() {
3056
+ return types.customValidator(validateString(), (style) => borderStyles.includes(style));
3057
+ }
3058
+ function validateDOMCoordinates() {
3059
+ return types.object({
3060
+ x: types.number(),
3061
+ y: types.number()
3062
+ });
3063
+ }
3064
+ function validateDOMDimension() {
3065
+ return types.object({
3066
+ width: types.number(),
3067
+ height: types.number()
3068
+ });
3069
+ }
3070
+ function validateSortDirection() {
3071
+ return types.customValidator(validateString(), (direction) => ["asc", "desc"].includes(direction));
3072
+ }
3073
+ function validateResizeDirection() {
3074
+ return types.customValidator(validateNumber(), (direction) => [
3075
+ -1,
3076
+ 0,
3077
+ 1
3078
+ ].includes(direction));
3079
+ }
3080
+ function validateComposerFocusType() {
3081
+ return types.customValidator(validateString(), (value) => composerFocusTypes.includes(value));
3082
+ }
3083
+ function validateDimension() {
3084
+ return types.customValidator(validateString(), (value) => ["COL", "ROW"].includes(value));
3085
+ }
3086
+ function validateContextMenuType() {
3087
+ return types.customValidator(validateString(), (value) => [
3088
+ "ROW",
3089
+ "COL",
3090
+ "CELL",
3091
+ "FILTER",
3092
+ "GROUP_HEADERS",
3093
+ "UNGROUP_HEADERS"
3094
+ ].includes(value));
3095
+ }
3096
+ /**
3097
+ * Validate that a prop is a store. Typed as the CQS-wrapped `Store<T>` to
3098
+ * match what `useStore(...)` returns at the call site.
3099
+ */
3100
+ function validateStore() {
3101
+ return types.object();
3102
+ }
3103
+ function validateFunction() {
3104
+ return types.function();
3105
+ }
3106
+ const types$1 = {
3107
+ ...types,
3108
+ function: validateFunction,
3109
+ ArrayOf: validateArrayOf,
3110
+ RecordOf: validateRecordOf,
3111
+ SetOf: validateSetOf,
3112
+ GenericCriterionType: validateString,
3113
+ UID: validateString,
3114
+ CriterionFilter: validateObject,
3115
+ CSSProperties: validateObject,
3116
+ ResizeDirection: validateResizeDirection,
3117
+ FigureUI: validateObject,
3118
+ Token: validateObject,
3119
+ CellPosition: validateObject,
3120
+ AutoCompleteProviderDefinition: validateObject,
3121
+ AutoCompleteProposal: validateObject,
3122
+ FunctionDescription: validateObject,
3123
+ Rect: validateRect,
3124
+ Pixel: validateNumber,
3125
+ HeaderIndex: validateNumber,
3126
+ BorderPosition: validateBorderPosition,
3127
+ BorderStyle: validateBorderStyle,
3128
+ Color: validateString,
3129
+ ActionSpec: validateObject,
3130
+ DOMCoordinates: validateDOMCoordinates,
3131
+ DOMDimension: validateDOMDimension,
3132
+ ComposerFocusType: validateComposerFocusType,
3133
+ SortDirection: validateSortDirection,
3134
+ Store: validateStore,
3135
+ Position: validateObject,
3136
+ PivotCoreDefinition: validateObject,
3137
+ PivotField: validateObject,
3138
+ PivotDimension: validateObject,
3139
+ PivotMeasure: validateObject,
3140
+ PivotCoreMeasure: validateObject,
3141
+ PivotCustomGroupedField: validateObject,
3142
+ PivotRuntimeDefinition: validateObject,
3143
+ PivotFilter: validateObject,
3144
+ DataFilterValue: validateObject,
3145
+ SpreadsheetPivotCoreDefinition: validateObject,
3146
+ ComposerSelection: validateObject,
3147
+ Action: validateObject,
3148
+ MenuItemOrSeparator: validateObject,
3149
+ Model: validateObject,
3150
+ DispatchResult: validateObject,
3151
+ Zone: validateObject,
3152
+ Range: validateObject,
3153
+ HeaderGroup: validateObject,
3154
+ GridClickModifiers: validateObject,
3155
+ ZoomedMouseEvent: validateObject,
3156
+ ConditionalFormat: validateObject,
3157
+ ColorScaleThreshold: validateObject,
3158
+ Table: validateObject,
3159
+ CoreTable: validateObject,
3160
+ TableConfig: validateObject,
3161
+ TableStyle: validateObject,
3162
+ TitleDesign: validateObject,
3163
+ ChartDefinition: validateObject,
3164
+ ChartDefinitionWithDataSource: validateObject,
3165
+ ChartWithAxisDefinition: validateObject,
3166
+ ChartStyle: validateObject,
3167
+ ChartColorScale: validateObject,
3168
+ ChartRangeDataSource: validateObject,
3169
+ DataSetStyle: validateObject,
3170
+ GeoChartDefinition: validateObject,
3171
+ FunnelChartDefinition: validateObject,
3172
+ TreeMapChartDefinition: validateObject,
3173
+ TreeMapCategoryColorOptions: validateObject,
3174
+ TreeMapColorScaleOptions: validateObject,
3175
+ NamedRange: validateObject,
3176
+ DataValidationRule: validateObject,
3177
+ InformationNotification: validateObject,
3178
+ NotificationStoreMethods: validateObject,
3179
+ SidePanelContent: validateObject,
3180
+ SidePanelComponentProps: validateObject,
3181
+ DataValidationCriterionType: validateString,
3182
+ Dimension: validateDimension,
3183
+ ContextMenuType: validateContextMenuType
3184
+ };
3185
+
3011
3186
  //#endregion
3012
3187
  //#region src/components/figures/chart/chartJs/chartjs_animation_store.ts
3013
3188
  var ChartAnimationStore = class extends SpreadsheetStore {
@@ -10557,7 +10732,7 @@ function getFunnelChartScales(definition, args) {
10557
10732
  };
10558
10733
  }
10559
10734
  function getGeoChartProjection(projection) {
10560
- if (projection === "conicConformal") return globalThis.ChartGeo.geoConicConformal().rotate([100, 0]);
10735
+ if (globalThis.ChartGeo && projection === "conicConformal") return globalThis.ChartGeo.geoConicConformal().rotate([100, 0]);
10561
10736
  return projection;
10562
10737
  }
10563
10738
  function getChartAxisTitleRuntime(design) {
@@ -11523,8 +11698,8 @@ chartJsExtensionRegistry.add("chartBackgroundPlugin", {
11523
11698
  var ChartJsComponent = class extends Component$1 {
11524
11699
  static template = "o-spreadsheet-ChartJsComponent";
11525
11700
  props = props({
11526
- chartId: types.string(),
11527
- "isFullScreen?": types.boolean()
11701
+ chartId: types$1.string(),
11702
+ "isFullScreen?": types$1.boolean()
11528
11703
  });
11529
11704
  canvas = signal(null);
11530
11705
  chart;
@@ -12222,8 +12397,8 @@ function getZoomTargetPosition(ev, zoom) {
12222
12397
  var ScorecardChart = class extends Component$1 {
12223
12398
  static template = "o-spreadsheet-ScorecardChart";
12224
12399
  props = props({
12225
- chartId: types.string(),
12226
- "isFullScreen?": types.boolean()
12400
+ chartId: types$1.string(),
12401
+ "isFullScreen?": types$1.boolean()
12227
12402
  });
12228
12403
  canvas = signal(null);
12229
12404
  get runtime() {
@@ -13911,8 +14086,8 @@ const ANIMATION_DURATION = 1e3;
13911
14086
  var GaugeChartComponent = class extends Component$1 {
13912
14087
  static template = "o-spreadsheet-GaugeChartComponent";
13913
14088
  props = props({
13914
- chartId: types.string(),
13915
- "isFullScreen?": types.boolean()
14089
+ chartId: types$1.string(),
14090
+ "isFullScreen?": types$1.boolean()
13916
14091
  });
13917
14092
  canvas = signal(null);
13918
14093
  animationStore;
@@ -14184,183 +14359,6 @@ function useTimeOut() {
14184
14359
  };
14185
14360
  }
14186
14361
 
14187
- //#endregion
14188
- //#region src/components/props_validation.ts
14189
- /**
14190
- * Validate that a prop is a number, but with a more specific type than just `number` (e.g. `Pixel`).
14191
- */
14192
- function validateNumber() {
14193
- return types.number();
14194
- }
14195
- /**
14196
- * Validate that a prop is a string, but with a more specific type than just `string` (e.g. `Color`).
14197
- */
14198
- function validateString() {
14199
- return types.string();
14200
- }
14201
- /**
14202
- * Validate that a prop is an object, but with a more specific type than just `object` (e.g. `ActionSpec`).
14203
- */
14204
- function validateObject() {
14205
- return types.object();
14206
- }
14207
- /**
14208
- * Validate that a prop is an array, but with a more specific element type than `any[]`.
14209
- */
14210
- function validateArrayOf() {
14211
- return types.array();
14212
- }
14213
- /**
14214
- * Validate that a prop is a record (string-keyed dictionary), but with a more
14215
- * specific value type than `any`.
14216
- */
14217
- function validateRecordOf() {
14218
- return types.record();
14219
- }
14220
- /**
14221
- * Validate that a prop is a `Set`, typed with a specific element type.
14222
- */
14223
- function validateSetOf() {
14224
- return types.instanceOf(Set);
14225
- }
14226
- function validateRect() {
14227
- return types.object({
14228
- x: types.number(),
14229
- y: types.number(),
14230
- width: types.number(),
14231
- height: types.number()
14232
- });
14233
- }
14234
- function validateBorderPosition() {
14235
- return types.customValidator(validateString(), (position) => borderPositions.includes(position));
14236
- }
14237
- function validateBorderStyle() {
14238
- return types.customValidator(validateString(), (style) => borderStyles.includes(style));
14239
- }
14240
- function validateDOMCoordinates() {
14241
- return types.object({
14242
- x: types.number(),
14243
- y: types.number()
14244
- });
14245
- }
14246
- function validateDOMDimension() {
14247
- return types.object({
14248
- width: types.number(),
14249
- height: types.number()
14250
- });
14251
- }
14252
- function validateSortDirection() {
14253
- return types.customValidator(validateString(), (direction) => ["asc", "desc"].includes(direction));
14254
- }
14255
- function validateResizeDirection() {
14256
- return types.customValidator(validateNumber(), (direction) => [
14257
- -1,
14258
- 0,
14259
- 1
14260
- ].includes(direction));
14261
- }
14262
- function validateComposerFocusType() {
14263
- return types.customValidator(validateString(), (value) => composerFocusTypes.includes(value));
14264
- }
14265
- function validateDimension() {
14266
- return types.customValidator(validateString(), (value) => ["COL", "ROW"].includes(value));
14267
- }
14268
- function validateContextMenuType() {
14269
- return types.customValidator(validateString(), (value) => [
14270
- "ROW",
14271
- "COL",
14272
- "CELL",
14273
- "FILTER",
14274
- "GROUP_HEADERS",
14275
- "UNGROUP_HEADERS"
14276
- ].includes(value));
14277
- }
14278
- /**
14279
- * Validate that a prop is a store. Typed as the CQS-wrapped `Store<T>` to
14280
- * match what `useStore(...)` returns at the call site.
14281
- */
14282
- function validateStore() {
14283
- return types.object();
14284
- }
14285
- const types$1 = {
14286
- ...types,
14287
- ArrayOf: validateArrayOf,
14288
- RecordOf: validateRecordOf,
14289
- SetOf: validateSetOf,
14290
- GenericCriterionType: validateString,
14291
- UID: validateString,
14292
- CriterionFilter: validateObject,
14293
- CSSProperties: validateObject,
14294
- ResizeDirection: validateResizeDirection,
14295
- FigureUI: validateObject,
14296
- Token: validateObject,
14297
- CellPosition: validateObject,
14298
- AutoCompleteProviderDefinition: validateObject,
14299
- AutoCompleteProposal: validateObject,
14300
- FunctionDescription: validateObject,
14301
- Rect: validateRect,
14302
- Pixel: validateNumber,
14303
- HeaderIndex: validateNumber,
14304
- BorderPosition: validateBorderPosition,
14305
- BorderStyle: validateBorderStyle,
14306
- Color: validateString,
14307
- ActionSpec: validateObject,
14308
- DOMCoordinates: validateDOMCoordinates,
14309
- DOMDimension: validateDOMDimension,
14310
- ComposerFocusType: validateComposerFocusType,
14311
- SortDirection: validateSortDirection,
14312
- Store: validateStore,
14313
- Position: validateObject,
14314
- PivotCoreDefinition: validateObject,
14315
- PivotField: validateObject,
14316
- PivotDimension: validateObject,
14317
- PivotMeasure: validateObject,
14318
- PivotCoreMeasure: validateObject,
14319
- PivotCustomGroupedField: validateObject,
14320
- PivotRuntimeDefinition: validateObject,
14321
- PivotFilter: validateObject,
14322
- DataFilterValue: validateObject,
14323
- SpreadsheetPivotCoreDefinition: validateObject,
14324
- ComposerSelection: validateObject,
14325
- Action: validateObject,
14326
- MenuItemOrSeparator: validateObject,
14327
- Model: validateObject,
14328
- DispatchResult: validateObject,
14329
- Zone: validateObject,
14330
- Range: validateObject,
14331
- HeaderGroup: validateObject,
14332
- GridClickModifiers: validateObject,
14333
- ZoomedMouseEvent: validateObject,
14334
- ConditionalFormat: validateObject,
14335
- ColorScaleThreshold: validateObject,
14336
- Table: validateObject,
14337
- CoreTable: validateObject,
14338
- TableConfig: validateObject,
14339
- TableStyle: validateObject,
14340
- TitleDesign: validateObject,
14341
- ChartDefinition: validateObject,
14342
- ChartDefinitionWithDataSource: validateObject,
14343
- ChartWithAxisDefinition: validateObject,
14344
- ChartStyle: validateObject,
14345
- ChartColorScale: validateObject,
14346
- ChartRangeDataSource: validateObject,
14347
- DataSetStyle: validateObject,
14348
- GeoChartDefinition: validateObject,
14349
- FunnelChartDefinition: validateObject,
14350
- TreeMapChartDefinition: validateObject,
14351
- TreeMapCategoryColorOptions: validateObject,
14352
- TreeMapColorScaleOptions: validateObject,
14353
- NamedRange: validateObject,
14354
- DataValidationRule: validateObject,
14355
- InformationNotification: validateObject,
14356
- NotificationStoreMethods: validateObject,
14357
- SidePanelContent: validateObject,
14358
- SidePanelComponentProps: validateObject,
14359
- DataValidationCriterionType: validateString,
14360
- Dimension: validateDimension,
14361
- ContextMenuType: validateContextMenuType
14362
- };
14363
-
14364
14362
  //#endregion
14365
14363
  //#region src/components/menu/menu.ts
14366
14364
  var Menu = class extends Component$1 {
@@ -14368,15 +14366,15 @@ var Menu = class extends Component$1 {
14368
14366
  static components = {};
14369
14367
  props = props({
14370
14368
  menuItems: types$1.ArrayOf(),
14371
- onClose: types$1.function([]),
14372
- "onClickMenu?": types$1.function([types$1.Action(), types$1.instanceOf(PointerEvent)]),
14373
- "onMouseEnter?": types$1.function([types$1.Action(), types$1.instanceOf(PointerEvent)]),
14374
- "onMouseLeave?": types$1.function([types$1.Action(), types$1.instanceOf(PointerEvent)]),
14369
+ onClose: types$1.function(),
14370
+ "onClickMenu?": types$1.function(),
14371
+ "onMouseEnter?": types$1.function(),
14372
+ "onMouseLeave?": types$1.function(),
14375
14373
  "width?": types$1.number(),
14376
14374
  "hoveredMenuId?": types$1.string(),
14377
14375
  "isHoveredMenuFocused?": types$1.boolean(),
14378
- "onScroll?": types$1.function([types$1.instanceOf(CustomEvent)]),
14379
- "onKeyDown?": types$1.function([types$1.instanceOf(KeyboardEvent)]),
14376
+ "onScroll?": types$1.function(),
14377
+ "onKeyDown?": types$1.function(),
14380
14378
  "disableKeyboardNavigation?": types$1.boolean()
14381
14379
  });
14382
14380
  menuRef = signal(null);
@@ -14523,9 +14521,9 @@ var Popover = class extends Component$1 {
14523
14521
  "maxWidth?": types$1.Pixel(),
14524
14522
  "maxHeight?": types$1.Pixel(),
14525
14523
  "verticalOffset?": types$1.number(),
14526
- "onMouseWheel?": types$1.function([]),
14527
- "onPopoverHidden?": types$1.function([]),
14528
- "onPopoverMoved?": types$1.function([]),
14524
+ "onMouseWheel?": types$1.function(),
14525
+ "onPopoverHidden?": types$1.function(),
14526
+ "onPopoverMoved?": types$1.function(),
14529
14527
  "zIndex?": types$1.number(),
14530
14528
  "class?": types$1.string()
14531
14529
  }, {
@@ -14707,14 +14705,14 @@ var MenuPopover = class MenuPopover extends Component$1 {
14707
14705
  menuItems: types$1.ArrayOf(),
14708
14706
  "depth?": types$1.number(),
14709
14707
  "maxHeight?": types$1.Pixel(),
14710
- onClose: types$1.function([]),
14711
- "onMenuClicked?": types$1.function([types$1.instanceOf(CustomEvent)]),
14708
+ onClose: types$1.function(),
14709
+ "onMenuClicked?": types$1.function(),
14712
14710
  "menuId?": types$1.UID(),
14713
- "onMouseOver?": types$1.function([]),
14711
+ "onMouseOver?": types$1.function(),
14714
14712
  "width?": types$1.number(),
14715
14713
  "autoSelectFirstItem?": types$1.boolean(),
14716
14714
  "disableKeyboardNavigation?": types$1.boolean(),
14717
- "onKeyboardNavigation?": types$1.function([types$1.instanceOf(KeyboardEvent)])
14715
+ "onKeyboardNavigation?": types$1.function()
14718
14716
  }, {
14719
14717
  depth: 0,
14720
14718
  popoverPositioning: "top-right"
@@ -14960,7 +14958,7 @@ var Select = class extends Component$1 {
14960
14958
  static template = "o-spreadsheet-Select";
14961
14959
  static components = { Popover };
14962
14960
  props = props({
14963
- onChange: types$1.function([types$1.string()]),
14961
+ onChange: types$1.function(),
14964
14962
  values: types$1.array(),
14965
14963
  "selectedValue?": types$1.string(),
14966
14964
  "class?": types$1.string(),
@@ -15145,9 +15143,9 @@ var CarouselFigure = class extends Component$1 {
15145
15143
  };
15146
15144
  props = props({
15147
15145
  figureUI: types$1.FigureUI(),
15148
- "editFigureStyle?": types$1.function([types$1.CSSProperties()]),
15146
+ "editFigureStyle?": types$1.function(),
15149
15147
  "isFullScreen?": types$1.boolean(),
15150
- "openContextMenu?": types$1.function([types$1.Rect(), types$1.function([])])
15148
+ "openContextMenu?": types$1.function()
15151
15149
  });
15152
15150
  carouselTabsRef = signal(null);
15153
15151
  carouselTabsDropdownRef = signal(null);
@@ -15186,6 +15184,12 @@ var CarouselFigure = class extends Component$1 {
15186
15184
  this.env.model.dispatch("SELECT_FIGURE", { figureId: this.props.figureUI.id });
15187
15185
  this.env.openSidePanel("CarouselPanel", { figureId: this.props.figureUI.id });
15188
15186
  }
15187
+ onCarouselChartDoubleClick() {
15188
+ if (this.selectedCarouselItem?.type !== "chart") return;
15189
+ const chartId = this.selectedCarouselItem.chartId;
15190
+ this.env.model.dispatch("SELECT_FIGURE", { figureId: this.props.figureUI.id });
15191
+ this.env.openSidePanel("ChartPanel", { chartId });
15192
+ }
15189
15193
  isItemSelected(item) {
15190
15194
  const selectedItem = this.selectedCarouselItem;
15191
15195
  return deepEquals(selectedItem, item);
@@ -15286,9 +15290,9 @@ var ChartFigure = class extends Component$1 {
15286
15290
  static components = { ChartDashboardMenu };
15287
15291
  props = props({
15288
15292
  figureUI: types$1.FigureUI(),
15289
- "editFigureStyle?": types$1.function([types$1.CSSProperties()]),
15293
+ "editFigureStyle?": types$1.function(),
15290
15294
  "isFullScreen?": types$1.boolean(),
15291
- "openContextMenu?": types$1.function([types$1.Rect(), types$1.function([])])
15295
+ "openContextMenu?": types$1.function()
15292
15296
  });
15293
15297
  onDoubleClick() {
15294
15298
  this.env.model.dispatch("SELECT_FIGURE", { figureId: this.props.figureUI.id });
@@ -15317,8 +15321,8 @@ var ImageFigure = class extends Component$1 {
15317
15321
  static components = {};
15318
15322
  props = props({
15319
15323
  figureUI: types$1.FigureUI(),
15320
- "editFigureStyle?": types$1.function([types$1.CSSProperties()]),
15321
- "openContextMenu?": types$1.function([types$1.Rect(), types$1.function([])])
15324
+ "editFigureStyle?": types$1.function(),
15325
+ "openContextMenu?": types$1.function()
15322
15326
  });
15323
15327
  get figureId() {
15324
15328
  return this.props.figureUI.id;
@@ -15360,12 +15364,8 @@ var FigureComponent = class extends Component$1 {
15360
15364
  figureUI: types$1.FigureUI(),
15361
15365
  style: types$1.string(),
15362
15366
  class: types$1.string(),
15363
- "onMouseDown?": types$1.function([types$1.instanceOf(MouseEvent)]),
15364
- "onClickAnchor?": types$1.function([
15365
- types$1.ResizeDirection(),
15366
- types$1.ResizeDirection(),
15367
- types$1.instanceOf(MouseEvent)
15368
- ])
15367
+ "onMouseDown?": types$1.function(),
15368
+ "onClickAnchor?": types$1.function()
15369
15369
  }, {
15370
15370
  onMouseDown: () => {},
15371
15371
  onClickAnchor: () => {}
@@ -15429,7 +15429,7 @@ var FigureComponent = class extends Component$1 {
15429
15429
  * correctly (and render?) before focusing the element.
15430
15430
  */
15431
15431
  el?.focus({ preventScroll: true });
15432
- });
15432
+ }, () => [this.env.model.getters.getSelectedFigureIds(), this.props.figureUI.id]);
15433
15433
  }
15434
15434
  clickAnchor(dirX, dirY, ev) {
15435
15435
  this.props.onClickAnchor(dirX, dirY, ev);
@@ -24486,10 +24486,10 @@ function useAutofocus(ref) {
24486
24486
  //#region src/components/generic_input/generic_input.ts
24487
24487
  const genericInputPropsDefinition = {
24488
24488
  value: types$1.or([types$1.number(), types$1.string()]),
24489
- onChange: types$1.function([types$1.string()]),
24490
- "onFocused?": types$1.function([]),
24491
- "onBlur?": types$1.function([]),
24492
- "onInput?": types$1.function([types$1.string()]),
24489
+ onChange: types$1.function(),
24490
+ "onFocused?": types$1.function(),
24491
+ "onBlur?": types$1.function(),
24492
+ "onInput?": types$1.function(),
24493
24493
  "class?": types$1.string(),
24494
24494
  "id?": types$1.string(),
24495
24495
  "placeholder?": types$1.string(),
@@ -24661,7 +24661,7 @@ var ColorPicker = class extends Component$1 {
24661
24661
  static template = "o-spreadsheet-ColorPicker";
24662
24662
  static components = { Popover };
24663
24663
  props = props({
24664
- onColorPicked: types$1.function([types$1.string()]),
24664
+ onColorPicked: types$1.function(),
24665
24665
  "currentColor?": types$1.string(),
24666
24666
  "maxHeight?": types$1.Pixel(),
24667
24667
  anchorRect: types$1.Rect(),
@@ -24804,6 +24804,18 @@ var ColorPicker = class extends Component$1 {
24804
24804
  isSameColor(color1, color2) {
24805
24805
  return isSameColor(color1, color2);
24806
24806
  }
24807
+ get canUseEyeDropper() {
24808
+ return !!globalThis.EyeDropper && !this.env.model.getters.isDarkMode();
24809
+ }
24810
+ async activateEyedropper() {
24811
+ if (!globalThis.EyeDropper) return;
24812
+ try {
24813
+ const result = await new globalThis.EyeDropper().open();
24814
+ if (result && result.sRGBHex) this.props.onColorPicked(toHex(result.sRGBHex));
24815
+ } catch (error) {
24816
+ if (error.name !== "AbortError") throw error;
24817
+ }
24818
+ }
24807
24819
  };
24808
24820
 
24809
24821
  //#endregion
@@ -24813,9 +24825,9 @@ var ColorPickerWidget = class extends Component$1 {
24813
24825
  static components = { ColorPicker };
24814
24826
  props = props({
24815
24827
  "currentColor?": types$1.string(),
24816
- toggleColorPicker: types$1.function([]),
24828
+ toggleColorPicker: types$1.function(),
24817
24829
  showColorPicker: types$1.boolean(),
24818
- onColorPicked: types$1.function([types$1.string()]),
24830
+ onColorPicked: types$1.function(),
24819
24831
  icon: types$1.string(),
24820
24832
  "title?": types$1.string(),
24821
24833
  "disabled?": types$1.boolean(),
@@ -24838,9 +24850,9 @@ var NumberEditor = class extends Component$1 {
24838
24850
  static components = { Popover };
24839
24851
  props = props({
24840
24852
  currentValue: types$1.number(),
24841
- onValueChange: types$1.function([types$1.number()]),
24842
- "onToggle?": types$1.function([]),
24843
- "onFocusInput?": types$1.function([]),
24853
+ onValueChange: types$1.function(),
24854
+ "onToggle?": types$1.function(),
24855
+ "onFocusInput?": types$1.function(),
24844
24856
  class: types$1.string(),
24845
24857
  "valueIcon?": types$1.string(),
24846
24858
  min: types$1.number(),
@@ -24928,9 +24940,9 @@ var FontSizeEditor = class extends Component$1 {
24928
24940
  static components = { NumberEditor };
24929
24941
  props = props({
24930
24942
  currentFontSize: types$1.number(),
24931
- onFontSizeChanged: types$1.function([types$1.number()]),
24932
- "onToggle?": types$1.function([]),
24933
- "onFocusInput?": types$1.function([]),
24943
+ onFontSizeChanged: types$1.function(),
24944
+ "onToggle?": types$1.function(),
24945
+ "onFocusInput?": types$1.function(),
24934
24946
  class: types$1.string()
24935
24947
  }, { onFocusInput: () => {} });
24936
24948
  fontSizes = FONT_SIZES;
@@ -24947,7 +24959,7 @@ var TextStyler = class extends Component$1 {
24947
24959
  };
24948
24960
  props = props({
24949
24961
  style: types$1.ChartStyle(),
24950
- updateStyle: types$1.function([types$1.ChartStyle()]),
24962
+ updateStyle: types$1.function(),
24951
24963
  "defaultStyle?": types$1.object({}),
24952
24964
  "hasVerticalAlign?": types$1.boolean(),
24953
24965
  "hasHorizontalAlign?": types$1.boolean(),
@@ -25173,7 +25185,7 @@ var CarouselPanel = class extends Component$1 {
25173
25185
  CogWheelMenu
25174
25186
  };
25175
25187
  props = props({
25176
- onCloseSidePanel: types$1.function([]),
25188
+ onCloseSidePanel: types$1.function(),
25177
25189
  figureId: types$1.UID()
25178
25190
  });
25179
25191
  DEFAULT_CAROUSEL_TITLE_STYLE = DEFAULT_CAROUSEL_TITLE_STYLE;
@@ -25389,7 +25401,7 @@ var Checkbox = class extends Component$1 {
25389
25401
  "name?": types$1.string(),
25390
25402
  "title?": types$1.string(),
25391
25403
  "disabled?": types$1.boolean(),
25392
- onChange: types$1.function([types$1.boolean()])
25404
+ onChange: types$1.function()
25393
25405
  }, { value: false });
25394
25406
  onChange(ev) {
25395
25407
  const value = ev.target.checked;
@@ -25402,8 +25414,8 @@ var Checkbox = class extends Component$1 {
25402
25414
  const chartSidePanelPropsDefinition = {
25403
25415
  chartId: types$1.UID(),
25404
25416
  definition: types$1.object({}),
25405
- canUpdateChart: types$1.function([types$1.UID(), types$1.object({})], types$1.DispatchResult()),
25406
- updateChart: types$1.function([types$1.UID(), types$1.object({})], types$1.DispatchResult())
25417
+ canUpdateChart: types$1.function(),
25418
+ updateChart: types$1.function()
25407
25419
  };
25408
25420
 
25409
25421
  //#endregion
@@ -25898,11 +25910,11 @@ var SelectionInput = class extends Component$1 {
25898
25910
  "autofocus?": types$1.boolean(),
25899
25911
  "isInvalid?": types$1.boolean(),
25900
25912
  "class?": types$1.string(),
25901
- "onSelectionChanged?": types$1.function([types$1.array(types$1.string())]),
25902
- "onSelectionConfirmed?": types$1.function([]),
25903
- "onSelectionReordered?": types$1.function([types$1.array(types$1.number())]),
25904
- "onSelectionRemoved?": types$1.function([types$1.number()]),
25905
- "onInputFocused?": types$1.function([]),
25913
+ "onSelectionChanged?": types$1.function(),
25914
+ "onSelectionConfirmed?": types$1.function(),
25915
+ "onSelectionReordered?": types$1.function(),
25916
+ "onSelectionRemoved?": types$1.function(),
25917
+ "onInputFocused?": types$1.function(),
25906
25918
  "colors?": types$1.ArrayOf(),
25907
25919
  "disabledRanges?": types$1.array(types$1.boolean()),
25908
25920
  "disabledRangeTitle?": types$1.string()
@@ -26077,15 +26089,15 @@ var ChartDataSeries = class extends Component$1 {
26077
26089
  ranges: types$1.ArrayOf(),
26078
26090
  "dataSetStyles?": types$1.DataSetStyle(),
26079
26091
  "hasSingleRange?": types$1.boolean(),
26080
- onSelectionChanged: types$1.function([types$1.array(types$1.string())]),
26081
- "onSelectionReordered?": types$1.function([types$1.array(types$1.number())]),
26082
- "onSelectionRemoved?": types$1.function([types$1.number()]),
26083
- onSelectionConfirmed: types$1.function([]),
26092
+ onSelectionChanged: types$1.function(),
26093
+ "onSelectionReordered?": types$1.function(),
26094
+ "onSelectionRemoved?": types$1.function(),
26095
+ onSelectionConfirmed: types$1.function(),
26084
26096
  "maxNumberOfUsedRanges?": types$1.number(),
26085
26097
  "title?": types$1.string(),
26086
26098
  "datasetOrientation?": types$1.or([types$1.literal("rows"), types$1.literal("columns")]),
26087
26099
  "canChangeDatasetOrientation?": types$1.boolean(),
26088
- "onFlipAxis?": types$1.function([types$1.string()])
26100
+ "onFlipAxis?": types$1.function()
26089
26101
  });
26090
26102
  get ranges() {
26091
26103
  return this.props.ranges.map((r) => r.dataRange);
@@ -26119,8 +26131,8 @@ var ChartLabelRange = class extends Component$1 {
26119
26131
  range: types$1.string(),
26120
26132
  "class?": types$1.string(),
26121
26133
  isInvalid: types$1.boolean(),
26122
- onSelectionChanged: types$1.function([types$1.string()]),
26123
- onSelectionConfirmed: types$1.function([]),
26134
+ onSelectionChanged: types$1.function(),
26135
+ onSelectionConfirmed: types$1.function(),
26124
26136
  "options?": types$1.ArrayOf()
26125
26137
  }, {
26126
26138
  title: _t("Categories / Labels"),
@@ -26142,12 +26154,11 @@ var ChartDataSourceComponent = class extends Component$1 {
26142
26154
  props = props({
26143
26155
  chartId: types$1.UID(),
26144
26156
  definition: types$1.ChartDefinitionWithDataSource(),
26145
- updateChart: types$1.function([]),
26146
- canUpdateChart: types$1.function([]),
26147
- "onErrorMessagesChanged?": types$1.function([types$1.array(types$1.string())]),
26157
+ updateChart: types$1.function(),
26158
+ canUpdateChart: types$1.function(),
26148
26159
  "dataSeriesTitle?": types$1.string(),
26149
26160
  "labelRangeTitle?": types$1.string(),
26150
- "getLabelRangeOptions?": types$1.function([])
26161
+ "getLabelRangeOptions?": types$1.function
26151
26162
  });
26152
26163
  get DataSourceComponent() {
26153
26164
  const dataSourceType = this.props.definition.dataSource.type;
@@ -26322,7 +26333,7 @@ var BadgeSelection = class extends Component$1 {
26322
26333
  static template = "o-spreadsheet.BadgeSelection";
26323
26334
  props = props({
26324
26335
  choices: types$1.ArrayOf(),
26325
- onChange: types$1.function([types$1.string()]),
26336
+ onChange: types$1.function(),
26326
26337
  selectedValue: types$1.string()
26327
26338
  });
26328
26339
  };
@@ -26339,11 +26350,11 @@ var ChartTitle = class extends Component$1 {
26339
26350
  props = props({
26340
26351
  "title?": types$1.string(),
26341
26352
  "placeholder?": types$1.string(),
26342
- updateTitle: types$1.function([types$1.string()]),
26353
+ updateTitle: types$1.function(),
26343
26354
  "name?": types$1.string(),
26344
26355
  style: types$1.TitleDesign(),
26345
26356
  "defaultStyle?": types$1.object({}),
26346
- updateStyle: types$1.function([types$1.object({})])
26357
+ updateStyle: types$1.function()
26347
26358
  }, {
26348
26359
  title: "",
26349
26360
  placeholder: ""
@@ -26368,7 +26379,7 @@ var AxisDesignEditor = class extends Component$1 {
26368
26379
  props = props({
26369
26380
  chartId: types$1.UID(),
26370
26381
  definition: types$1.ChartWithAxisDefinition(),
26371
- updateChart: types$1.function([types$1.UID(), types$1.object({})], types$1.DispatchResult()),
26382
+ updateChart: types$1.function(),
26372
26383
  axesList: types$1.ArrayOf()
26373
26384
  });
26374
26385
  state = proxy({ currentAxis: "x" });
@@ -26542,7 +26553,7 @@ var RadioSelection = class extends Component$1 {
26542
26553
  static template = "o-spreadsheet.RadioSelection";
26543
26554
  props = props({
26544
26555
  choices: types$1.ArrayOf(),
26545
- onChange: types$1.function([types$1.any()]),
26556
+ onChange: types$1.function(),
26546
26557
  selectedValue: types$1.string(),
26547
26558
  name: types$1.string(),
26548
26559
  "direction?": types$1.or([types$1.literal("horizontal"), types$1.literal("vertical")])
@@ -26560,7 +26571,7 @@ var RoundColorPicker = class extends Component$1 {
26560
26571
  props = props({
26561
26572
  "currentColor?": types$1.string(),
26562
26573
  "title?": types$1.string(),
26563
- onColorPicked: types$1.function([types$1.string()]),
26574
+ onColorPicked: types$1.function(),
26564
26575
  "disableNoColor?": types$1.boolean()
26565
26576
  });
26566
26577
  colorPickerButtonRef = signal(null);
@@ -26601,8 +26612,8 @@ var GeneralDesignEditor = class extends Component$1 {
26601
26612
  props = props({
26602
26613
  chartId: types$1.UID(),
26603
26614
  definition: types$1.ChartDefinition(),
26604
- canUpdateChart: types$1.function([types$1.UID(), types$1.object({})], types$1.DispatchResult()),
26605
- updateChart: types$1.function([types$1.UID(), types$1.object({})], types$1.DispatchResult()),
26615
+ canUpdateChart: types$1.function(),
26616
+ updateChart: types$1.function(),
26606
26617
  "defaultChartTitleFontSize?": types$1.number()
26607
26618
  }, { defaultChartTitleFontSize: 16 });
26608
26619
  state;
@@ -26708,8 +26719,8 @@ var SeriesDesignEditor = class extends Component$1 {
26708
26719
  props = props({
26709
26720
  chartId: types$1.UID(),
26710
26721
  definition: types$1.ChartDefinitionWithDataSource(),
26711
- canUpdateChart: types$1.function([types$1.UID(), types$1.object({})], types$1.DispatchResult()),
26712
- updateChart: types$1.function([types$1.UID(), types$1.object({})], types$1.DispatchResult())
26722
+ updateChart: types$1.function(),
26723
+ canUpdateChart: types$1.function()
26713
26724
  });
26714
26725
  state = proxy({ dataSetId: this.getDataSeries()[0]?.dataSetId || "" });
26715
26726
  getRuntime() {
@@ -26773,8 +26784,8 @@ var SeriesWithAxisDesignEditor = class extends Component$1 {
26773
26784
  props = props({
26774
26785
  chartId: types$1.UID(),
26775
26786
  definition: types$1.ChartDefinitionWithDataSource(),
26776
- canUpdateChart: types$1.function([types$1.UID(), types$1.object({})], types$1.DispatchResult()),
26777
- updateChart: types$1.function([types$1.UID(), types$1.object({})], types$1.DispatchResult())
26787
+ updateChart: types$1.function(),
26788
+ canUpdateChart: types$1.function()
26778
26789
  });
26779
26790
  axisChoices = CHART_AXIS_CHOICES;
26780
26791
  updateDataSeriesAxis(dataSetId, axis) {
@@ -26913,8 +26924,8 @@ var ChartShowValues = class extends Component$1 {
26913
26924
  props = props({
26914
26925
  chartId: types$1.UID(),
26915
26926
  definition: types$1.ChartDefinitionWithDataSource(),
26916
- canUpdateChart: types$1.function([]),
26917
- updateChart: types$1.function([]),
26927
+ canUpdateChart: types$1.function(),
26928
+ updateChart: types$1.function(),
26918
26929
  "defaultValue?": types$1.boolean()
26919
26930
  });
26920
26931
  };
@@ -29552,12 +29563,12 @@ var ChartRangeDataSourceComponent = class extends Component$1 {
29552
29563
  chartId: types$1.UID(),
29553
29564
  definition: types$1.ChartDefinitionWithDataSource(),
29554
29565
  dataSource: types$1.ChartRangeDataSource(),
29555
- updateChart: types$1.function([types$1.UID(), types$1.object({})], types$1.DispatchResult()),
29556
- canUpdateChart: types$1.function([types$1.UID(), types$1.object({})], types$1.DispatchResult()),
29557
- "onErrorMessagesChanged?": types$1.function([types$1.array(types$1.string())]),
29566
+ updateChart: types$1.function(),
29567
+ canUpdateChart: types$1.function(),
29568
+ "onErrorMessagesChanged?": types$1.function(),
29558
29569
  "dataSeriesTitle?": types$1.string(),
29559
29570
  "labelRangeTitle?": types$1.string(),
29560
- "getLabelRangeOptions?": types$1.function([])
29571
+ "getLabelRangeOptions?": types$1.function
29561
29572
  });
29562
29573
  state = proxy({
29563
29574
  datasetDispatchResult: void 0,
@@ -30410,7 +30421,7 @@ var ColorScalePicker = class extends Component$1 {
30410
30421
  };
30411
30422
  props = props({
30412
30423
  definition: types$1.object({ "colorScale?": types$1.ChartColorScale() }),
30413
- onUpdateColorScale: types$1.function([types$1.ChartColorScale()])
30424
+ onUpdateColorScale: types$1.function()
30414
30425
  });
30415
30426
  colorScales = COLORSCALES.map((colorScale) => ({
30416
30427
  value: colorScale,
@@ -30664,8 +30675,8 @@ var TextValueProvider = class extends Component$1 {
30664
30675
  props = props({
30665
30676
  proposals: types$1.array(types$1.AutoCompleteProposal()),
30666
30677
  "selectedIndex?": types$1.number(),
30667
- onValueSelected: types$1.function([types$1.AutoCompleteProposal()]),
30668
- onValueHovered: types$1.function([types$1.string()])
30678
+ onValueSelected: types$1.function(),
30679
+ onValueHovered: types$1.function()
30669
30680
  });
30670
30681
  autoCompleteListRef = signal(null);
30671
30682
  setup() {
@@ -30993,10 +31004,10 @@ var Composer = class extends Component$1 {
30993
31004
  "inputStyle?": types$1.string(),
30994
31005
  "rect?": types$1.Rect(),
30995
31006
  "delimitation?": types$1.DOMDimension(),
30996
- "onComposerCellFocused?": types$1.function([types$1.string()]),
30997
- onComposerContentFocused: types$1.function([types$1.ComposerSelection()]),
31007
+ "onComposerCellFocused?": types$1.function(),
31008
+ onComposerContentFocused: types$1.function(),
30998
31009
  "isDefaultFocus?": types$1.boolean(),
30999
- "onInputContextMenu?": types$1.function([types$1.instanceOf(MouseEvent)]),
31010
+ "onInputContextMenu?": types$1.function(),
31000
31011
  composerStore: types$1.Store(),
31001
31012
  "placeholder?": types$1.string(),
31002
31013
  "inputMode?": types$1.string(),
@@ -32573,7 +32584,7 @@ var StandaloneComposer = class extends Component$1 {
32573
32584
  static template = "o-spreadsheet-StandaloneComposer";
32574
32585
  static components = { Composer };
32575
32586
  props = props({
32576
- onConfirm: types$1.function([types$1.string()]),
32587
+ onConfirm: types$1.function(),
32577
32588
  "composerContent?": types$1.string(),
32578
32589
  defaultRangeSheetId: types$1.UID(),
32579
32590
  "defaultStatic?": types$1.boolean(),
@@ -32583,7 +32594,7 @@ var StandaloneComposer = class extends Component$1 {
32583
32594
  "class?": types$1.string(),
32584
32595
  "invalid?": types$1.boolean(),
32585
32596
  "autofocus?": types$1.boolean(),
32586
- "getContextualColoredSymbolToken?": types$1.function([types$1.Token()], types$1.Color())
32597
+ "getContextualColoredSymbolToken?": types$1.function()
32587
32598
  }, {
32588
32599
  composerContent: "",
32589
32600
  defaultStatic: false
@@ -32785,7 +32796,7 @@ var GeoChartRegionSelectSection = class extends Component$1 {
32785
32796
  props = props({
32786
32797
  chartId: types$1.UID(),
32787
32798
  definition: types$1.GeoChartDefinition(),
32788
- updateChart: types$1.function([types$1.UID(), types$1.object({})], types$1.DispatchResult())
32799
+ updateChart: types$1.function()
32789
32800
  });
32790
32801
  updateSelectedRegion(value) {
32791
32802
  this.props.updateChart(this.props.chartId, { region: value });
@@ -32937,7 +32948,7 @@ var PieHoleSize = class extends Component$1 {
32937
32948
  NumberInput
32938
32949
  };
32939
32950
  props = props({
32940
- onValueChange: types$1.function([types$1.number()]),
32951
+ onValueChange: types$1.function(),
32941
32952
  value: types$1.number()
32942
32953
  });
32943
32954
  onChange(value) {
@@ -33262,7 +33273,7 @@ var TreeMapCategoryColors = class extends Component$1 {
33262
33273
  props = props({
33263
33274
  chartId: types$1.UID(),
33264
33275
  definition: types$1.TreeMapChartDefinition(),
33265
- onColorChanged: types$1.function([types$1.TreeMapCategoryColorOptions()], types$1.DispatchResult())
33276
+ onColorChanged: types$1.function()
33266
33277
  });
33267
33278
  get coloringOptions() {
33268
33279
  const coloringOptions = this.props.definition.coloringOptions ?? TreeMapChartDefaults.coloringOptions;
@@ -33294,7 +33305,7 @@ var TreeMapColorScale = class extends Component$1 {
33294
33305
  props = props({
33295
33306
  chartId: types$1.UID(),
33296
33307
  definition: types$1.TreeMapChartDefinition(),
33297
- onColorChanged: types$1.function([types$1.TreeMapColorScaleOptions()], types$1.DispatchResult())
33308
+ onColorChanged: types$1.function()
33298
33309
  });
33299
33310
  get coloringOptions() {
33300
33311
  const coloringOptions = this.props.definition.coloringOptions ?? TreeMapChartDefaults.coloringOptions;
@@ -33687,7 +33698,7 @@ var ChartPanel = class extends Component$1 {
33687
33698
  ChartTypePicker
33688
33699
  };
33689
33700
  props = props({
33690
- onCloseSidePanel: types$1.function([]),
33701
+ onCloseSidePanel: types$1.function(),
33691
33702
  chartId: types$1.UID()
33692
33703
  });
33693
33704
  store;
@@ -34086,7 +34097,7 @@ var ColumnStatsPanel = class extends Component$1 {
34086
34097
  BadgeSelection,
34087
34098
  Section
34088
34099
  };
34089
- props = props({ onCloseSidePanel: types$1.function([]) });
34100
+ props = props({ onCloseSidePanel: types$1.function() });
34090
34101
  state = proxy({
34091
34102
  currentChart: "count",
34092
34103
  currentFrequencyOrder: "descending",
@@ -34341,7 +34352,7 @@ var CellIsRuleEditor = class extends Component$1 {
34341
34352
  var CriterionForm = class extends Component$1 {
34342
34353
  props = props({
34343
34354
  criterion: types$1.object({}),
34344
- onCriterionChanged: types$1.function([types$1.object({})]),
34355
+ onCriterionChanged: types$1.function(),
34345
34356
  "disableFormulas?": types$1.boolean(),
34346
34357
  "autofocus?": types$1.boolean()
34347
34358
  });
@@ -34929,11 +34940,11 @@ var CriterionInput = class extends Component$1 {
34929
34940
  props = props({
34930
34941
  "value?": types$1.string(),
34931
34942
  criterionType: types$1.DataValidationCriterionType(),
34932
- onValueChanged: types$1.function([types$1.string()]),
34933
- "onKeyDown?": types$1.function([types$1.instanceOf(KeyboardEvent)]),
34943
+ onValueChanged: types$1.function(),
34944
+ "onKeyDown?": types$1.function(),
34934
34945
  "focused?": types$1.boolean(),
34935
- "onBlur?": types$1.function([]),
34936
- "onFocus?": types$1.function([]),
34946
+ "onBlur?": types$1.function(),
34947
+ "onFocus?": types$1.function(),
34937
34948
  "disableFormulas?": types$1.boolean()
34938
34949
  }, {
34939
34950
  value: "",
@@ -35867,7 +35878,7 @@ var DataBarRuleEditor = class extends Component$1 {
35867
35878
  //#region src/components/icon_picker/icon_picker.ts
35868
35879
  var IconPicker = class extends Component$1 {
35869
35880
  static template = "o-spreadsheet-IconPicker";
35870
- props = props({ onIconPicked: types$1.function([types$1.string()]) });
35881
+ props = props({ onIconPicked: types$1.function() });
35871
35882
  onIconClick(icon) {
35872
35883
  if (icon) this.props.onIconPicked(icon);
35873
35884
  }
@@ -35970,7 +35981,7 @@ var ConditionalFormattingEditor = class extends Component$1 {
35970
35981
  props = props({
35971
35982
  cf: types$1.ConditionalFormat(),
35972
35983
  isNewCf: types$1.boolean(),
35973
- onCloseSidePanel: types$1.function([])
35984
+ onCloseSidePanel: types$1.function()
35974
35985
  });
35975
35986
  activeSheetId;
35976
35987
  store;
@@ -36029,7 +36040,7 @@ var ConditionalFormatPreview = class extends Component$1 {
36029
36040
  static template = "o-spreadsheet-ConditionalFormatPreview";
36030
36041
  props = props({
36031
36042
  conditionalFormat: types$1.ConditionalFormat(),
36032
- onMouseDown: types$1.function([types$1.instanceOf(MouseEvent)]),
36043
+ onMouseDown: types$1.function(),
36033
36044
  class: types$1.string()
36034
36045
  });
36035
36046
  icons = ICONS;
@@ -36088,7 +36099,7 @@ var ConditionalFormatPreview = class extends Component$1 {
36088
36099
  var ConditionalFormatPreviewList = class extends Component$1 {
36089
36100
  static template = "o-spreadsheet-ConditionalFormatPreviewList";
36090
36101
  static components = { ConditionalFormatPreview };
36091
- props = props({ onCloseSidePanel: types$1.function([]) });
36102
+ props = props({ onCloseSidePanel: types$1.function() });
36092
36103
  dragAndDrop = useDragAndDropListItems();
36093
36104
  cfListRef = signal(null);
36094
36105
  get conditionalFormats() {
@@ -36193,7 +36204,7 @@ var DataValidationPreview = class extends Component$1 {
36193
36204
  var DataValidationPanel = class extends Component$1 {
36194
36205
  static template = "o-spreadsheet-DataValidationPanel";
36195
36206
  static components = { DataValidationPreview };
36196
- props = props({ onCloseSidePanel: types$1.function([]) });
36207
+ props = props({ onCloseSidePanel: types$1.function() });
36197
36208
  addDataValidationRule() {
36198
36209
  this.env.replaceSidePanel("DataValidationEditor", "DataValidation", { ruleId: UuidGenerator.smallUuid() });
36199
36210
  }
@@ -36249,8 +36260,8 @@ var DataValidationEditor = class extends Component$1 {
36249
36260
  };
36250
36261
  props = props({
36251
36262
  ruleId: types$1.UID(),
36252
- "onCancel?": types$1.function([]),
36253
- onCloseSidePanel: types$1.function([])
36263
+ "onCancel?": types$1.function(),
36264
+ onCloseSidePanel: types$1.function()
36254
36265
  });
36255
36266
  state = proxy({
36256
36267
  rule: this.defaultDataValidationRule,
@@ -36698,7 +36709,7 @@ var FindAndReplacePanel = class extends Component$1 {
36698
36709
  ValidationMessages,
36699
36710
  Select
36700
36711
  };
36701
- props = props({ onCloseSidePanel: types$1.function([]) });
36712
+ props = props({ onCloseSidePanel: types$1.function() });
36702
36713
  searchInputRef = signal(null);
36703
36714
  store;
36704
36715
  state;
@@ -37532,7 +37543,7 @@ var MoreFormatsPanel = class extends Component$1 {
37532
37543
  Select
37533
37544
  };
37534
37545
  props = props({
37535
- onCloseSidePanel: types$1.function([]),
37546
+ onCloseSidePanel: types$1.function(),
37536
37547
  "category?": types$1.or([
37537
37548
  types$1.literal("number"),
37538
37549
  types$1.literal("date"),
@@ -37655,7 +37666,7 @@ var NamedRangesPanel = class extends Component$1 {
37655
37666
  SelectionInput,
37656
37667
  TextInput
37657
37668
  };
37658
- props = props({ onCloseSidePanel: types$1.function([]) });
37669
+ props = props({ onCloseSidePanel: types$1.function() });
37659
37670
  get namedRanges() {
37660
37671
  return this.env.model.getters.getNamedRanges();
37661
37672
  }
@@ -37676,7 +37687,7 @@ const HIGHLIGHT_COLOR = "#e28f08";
37676
37687
  var PerfProfilePanel = class extends Component$1 {
37677
37688
  static template = "o-spreadsheet-PerfProfilePanel";
37678
37689
  static components = { Section };
37679
- props = props({ onCloseSidePanel: types$1.function([]) });
37690
+ props = props({ onCloseSidePanel: types$1.function() });
37680
37691
  state = proxy({
37681
37692
  selectedIndex: void 0,
37682
37693
  lastProfiledTime: 0
@@ -37893,7 +37904,7 @@ var PivotMeasureDisplayPanelStore = class extends SpreadsheetStore {
37893
37904
  var PivotMeasureDisplayPanel = class extends Component$1 {
37894
37905
  static template = "o-spreadsheet-PivotMeasureDisplayPanel";
37895
37906
  props = props({
37896
- onCloseSidePanel: types$1.function([]),
37907
+ onCloseSidePanel: types$1.function(),
37897
37908
  pivotId: types$1.UID(),
37898
37909
  measure: types$1.PivotCoreMeasure()
37899
37910
  });
@@ -37961,9 +37972,9 @@ var PivotDeferUpdate = class extends Component$1 {
37961
37972
  props = props({
37962
37973
  deferUpdate: types$1.boolean(),
37963
37974
  isDirty: types$1.boolean(),
37964
- toggleDeferUpdate: types$1.function([types$1.boolean()]),
37965
- discard: types$1.function([]),
37966
- apply: types$1.function([])
37975
+ toggleDeferUpdate: types$1.function(),
37976
+ discard: types$1.function(),
37977
+ apply: types$1.function()
37967
37978
  });
37968
37979
  static components = {
37969
37980
  Section,
@@ -38190,7 +38201,7 @@ var FilterMenuCriterion = class extends Component$1 {
38190
38201
  props = props({
38191
38202
  criterion: types$1.CriterionFilter(),
38192
38203
  criterionOperators: types$1.array(types$1.GenericCriterionType()),
38193
- onCriterionChanged: types$1.function([types$1.CriterionFilter()])
38204
+ onCriterionChanged: types$1.function()
38194
38205
  });
38195
38206
  state;
38196
38207
  setup() {
@@ -38225,12 +38236,12 @@ var FilterMenuValueItem = class extends Component$1 {
38225
38236
  static template = "o-spreadsheet-FilterMenuValueItem";
38226
38237
  static components = { Checkbox };
38227
38238
  props = props({
38228
- value: types.string(),
38229
- isChecked: types.boolean(),
38230
- isSelected: types.boolean(),
38231
- onMouseMove: types.function([]),
38232
- onClick: types.function([]),
38233
- "scrolledTo?": types.or([types.literal("top"), types.literal("bottom")])
38239
+ value: types$1.string(),
38240
+ isChecked: types$1.boolean(),
38241
+ isSelected: types$1.boolean(),
38242
+ onMouseMove: types$1.function(),
38243
+ onClick: types$1.function(),
38244
+ "scrolledTo?": types$1.or([types$1.literal("top"), types$1.literal("bottom")])
38234
38245
  });
38235
38246
  itemRef = signal(null);
38236
38247
  setup() {
@@ -38256,7 +38267,7 @@ var FilterMenuValueList = class extends Component$1 {
38256
38267
  string: types$1.string(),
38257
38268
  "scrolledTo?": types$1.or([types$1.literal("top"), types$1.literal("bottom")])
38258
38269
  })),
38259
- onUpdateHiddenValues: types$1.function([types$1.array(types$1.string())])
38270
+ onUpdateHiddenValues: types$1.function()
38260
38271
  });
38261
38272
  state = proxy({
38262
38273
  displayedValues: [],
@@ -38374,8 +38385,8 @@ var PivotFilterMenu = class extends Component$1 {
38374
38385
  string: types$1.string(),
38375
38386
  "scrolledTo?": types$1.or([types$1.literal("top"), types$1.literal("bottom")])
38376
38387
  })),
38377
- "onClosed?": types$1.function([]),
38378
- onConfirmed: types$1.function([types$1.DataFilterValue()])
38388
+ "onClosed?": types$1.function(),
38389
+ onConfirmed: types$1.function()
38379
38390
  });
38380
38391
  setup() {
38381
38392
  onWillUpdateProps((nextProps) => {
@@ -38434,16 +38445,8 @@ var PivotDimension = class extends Component$1 {
38434
38445
  types$1.PivotMeasure(),
38435
38446
  types$1.PivotFilter()
38436
38447
  ]),
38437
- "onRemoved?": types$1.function([types$1.or([
38438
- types$1.PivotDimension(),
38439
- types$1.PivotMeasure(),
38440
- types$1.PivotFilter()
38441
- ])]),
38442
- "onNameUpdated?": types$1.function([types$1.or([
38443
- types$1.PivotDimension(),
38444
- types$1.PivotMeasure(),
38445
- types$1.PivotFilter()
38446
- ]), types$1.string()]),
38448
+ "onRemoved?": types$1.function(),
38449
+ "onNameUpdated?": types$1.function(),
38447
38450
  "type?": types$1.or([
38448
38451
  types$1.literal("row"),
38449
38452
  types$1.literal("col"),
@@ -38477,7 +38480,7 @@ var PivotFilterEditor = class extends Component$1 {
38477
38480
  pivotId: types$1.UID(),
38478
38481
  definition: types$1.instanceOf(SpreadsheetPivotRuntimeDefinition),
38479
38482
  filter: types$1.PivotFilter(),
38480
- onFiltersUpdated: types$1.function([types$1.SpreadsheetPivotCoreDefinition()])
38483
+ onFiltersUpdated: types$1.function()
38481
38484
  });
38482
38485
  state;
38483
38486
  buttonFilter = signal(null);
@@ -38606,7 +38609,7 @@ var AddDimensionButton = class extends Component$1 {
38606
38609
  TextValueProvider
38607
38610
  };
38608
38611
  props = props({
38609
- onFieldPicked: types$1.function([types$1.string()]),
38612
+ onFieldPicked: types$1.function(),
38610
38613
  fields: types$1.array()
38611
38614
  });
38612
38615
  buttonRef = signal(null);
@@ -38703,7 +38706,7 @@ var PivotCustomGroupsCollapsible = class extends Component$1 {
38703
38706
  props = props({
38704
38707
  pivotId: types$1.UID(),
38705
38708
  customField: types$1.PivotCustomGroupedField(),
38706
- onCustomFieldUpdated: types$1.function([types$1.object({})])
38709
+ onCustomFieldUpdated: types$1.function()
38707
38710
  });
38708
38711
  static components = {
38709
38712
  SidePanelCollapsible,
@@ -38766,7 +38769,7 @@ var PivotDimensionGranularity = class extends Component$1 {
38766
38769
  static template = "o-spreadsheet-PivotDimensionGranularity";
38767
38770
  props = props({
38768
38771
  dimension: types$1.PivotDimension(),
38769
- onUpdated: types$1.function([types$1.PivotDimension(), types$1.instanceOf(InputEvent)]),
38772
+ onUpdated: types$1.function(),
38770
38773
  availableGranularities: types$1.SetOf(),
38771
38774
  allGranularities: types$1.array()
38772
38775
  });
@@ -38787,7 +38790,7 @@ var PivotDimensionOrder = class extends Component$1 {
38787
38790
  static template = "o-spreadsheet-PivotDimensionOrder";
38788
38791
  props = props({
38789
38792
  dimension: types$1.PivotDimension(),
38790
- onUpdated: types$1.function([types$1.PivotDimension(), types$1.instanceOf(InputEvent)]),
38793
+ onUpdated: types$1.function(),
38791
38794
  "isMeasureSorted?": types$1.boolean()
38792
38795
  });
38793
38796
  static components = { Select };
@@ -38871,9 +38874,9 @@ var PivotMeasureEditor = class extends Component$1 {
38871
38874
  pivotId: types$1.string(),
38872
38875
  definition: types$1.PivotRuntimeDefinition(),
38873
38876
  measure: types$1.PivotMeasure(),
38874
- onMeasureUpdated: types$1.function([types$1.PivotMeasure()]),
38875
- onRemoved: types$1.function([]),
38876
- generateMeasureId: types$1.function([types$1.string(), types$1.string()], types$1.string()),
38877
+ onMeasureUpdated: types$1.function(),
38878
+ onRemoved: types$1.function(),
38879
+ generateMeasureId: types$1.function(),
38877
38880
  aggregators: types$1.object({})
38878
38881
  });
38879
38882
  getMeasureAutocomplete() {
@@ -39012,14 +39015,14 @@ var PivotLayoutConfigurator = class extends Component$1 {
39012
39015
  };
39013
39016
  props = props({
39014
39017
  definition: types$1.instanceOf(PivotRuntimeDefinition),
39015
- onDimensionsUpdated: types$1.function([types$1.PivotCoreDefinition()]),
39016
- onFiltersUpdated: types$1.function([types$1.PivotCoreDefinition()]),
39018
+ onDimensionsUpdated: types$1.function(),
39019
+ onFiltersUpdated: types$1.function(),
39017
39020
  unusedGroupableFields: types$1.array(types$1.PivotField()),
39018
39021
  measureFields: types$1.array(types$1.PivotField()),
39019
39022
  unusedGranularities: types$1.RecordOf(),
39020
39023
  dateGranularities: types$1.array(types$1.string()),
39021
39024
  datetimeGranularities: types$1.array(types$1.string()),
39022
- "getScrollableContainerEl?": types$1.function([], types$1.instanceOf(HTMLElement)),
39025
+ "getScrollableContainerEl?": types$1.function(),
39023
39026
  pivotId: types$1.UID()
39024
39027
  });
39025
39028
  dimensionsRef = signal(null);
@@ -39242,7 +39245,7 @@ var PivotTitleSection = class extends Component$1 {
39242
39245
  };
39243
39246
  props = props({
39244
39247
  pivotId: types$1.UID(),
39245
- flipAxis: types$1.function([])
39248
+ flipAxis: types$1.function()
39246
39249
  });
39247
39250
  get cogWheelMenuItems() {
39248
39251
  return [
@@ -40872,7 +40875,7 @@ var PivotSpreadsheetSidePanel = class extends Component$1 {
40872
40875
  };
40873
40876
  props = props({
40874
40877
  pivotId: types$1.UID(),
40875
- onCloseSidePanel: types$1.function([])
40878
+ onCloseSidePanel: types$1.function()
40876
40879
  });
40877
40880
  store;
40878
40881
  state;
@@ -42114,7 +42117,7 @@ var TableStylePreview = class extends Component$1 {
42114
42117
  type: types$1.or([types$1.literal("table"), types$1.literal("pivot")]),
42115
42118
  "styleId?": types$1.string(),
42116
42119
  "selected?": types$1.boolean(),
42117
- "onClick?": types$1.function([])
42120
+ "onClick?": types$1.function()
42118
42121
  });
42119
42122
  canvasRef = signal(null);
42120
42123
  menu = proxy({
@@ -42204,8 +42207,8 @@ var TableStylesPopover = class extends Component$1 {
42204
42207
  props = props({
42205
42208
  tableConfig: types$1.object({}),
42206
42209
  "popoverProps?": types$1.object({}),
42207
- closePopover: types$1.function([]),
42208
- onStylePicked: types$1.function([types$1.string()]),
42210
+ closePopover: types$1.function(),
42211
+ onStylePicked: types$1.function(),
42209
42212
  "selectedStyleId?": types$1.string(),
42210
42213
  tableStyles: types$1.RecordOf(),
42211
42214
  type: types$1.or([types$1.literal("table"), types$1.literal("pivot")])
@@ -42251,7 +42254,7 @@ var TableStylePicker = class extends Component$1 {
42251
42254
  };
42252
42255
  props = props({
42253
42256
  tableConfig: types$1.TableConfig(),
42254
- onStylePicked: types$1.function([types$1.string()]),
42257
+ onStylePicked: types$1.function(),
42255
42258
  tableStyles: types$1.RecordOf(),
42256
42259
  type: types$1.or([types$1.literal("table"), types$1.literal("pivot")])
42257
42260
  });
@@ -42357,7 +42360,7 @@ var PivotSidePanel = class extends Component$1 {
42357
42360
  };
42358
42361
  props = props({
42359
42362
  pivotId: types$1.UID(),
42360
- onCloseSidePanel: types$1.function([]),
42363
+ onCloseSidePanel: types$1.function(),
42361
42364
  "openTab?": types$1.or([types$1.literal("configuration"), types$1.literal("design")])
42362
42365
  }, { openTab: "configuration" });
42363
42366
  state = proxy({ panel: this.props.openTab || "configuration" });
@@ -42389,7 +42392,7 @@ var RemoveDuplicatesPanel = class extends Component$1 {
42389
42392
  Section,
42390
42393
  Checkbox
42391
42394
  };
42392
- props = props({ onCloseSidePanel: types$1.function([]) });
42395
+ props = props({ onCloseSidePanel: types$1.function() });
42393
42396
  state = proxy({
42394
42397
  hasHeader: false,
42395
42398
  columns: {}
@@ -42473,7 +42476,7 @@ var SettingsPanel = class extends Component$1 {
42473
42476
  BadgeSelection,
42474
42477
  Select
42475
42478
  };
42476
- props = props({ onCloseSidePanel: types$1.function([]) });
42479
+ props = props({ onCloseSidePanel: types$1.function() });
42477
42480
  loadedLocales = [];
42478
42481
  setup() {
42479
42482
  onWillStart(() => this.loadLocales());
@@ -42591,7 +42594,7 @@ var SplitIntoColumnsPanel = class extends Component$1 {
42591
42594
  Checkbox,
42592
42595
  Select
42593
42596
  };
42594
- props = props({ onCloseSidePanel: types$1.function([]) });
42597
+ props = props({ onCloseSidePanel: types$1.function() });
42595
42598
  state = proxy({
42596
42599
  separatorValue: "auto",
42597
42600
  addNewColumns: false,
@@ -42668,7 +42671,7 @@ var TablePanel = class extends Component$1 {
42668
42671
  NumberInput
42669
42672
  };
42670
42673
  props = props({
42671
- onCloseSidePanel: types$1.function([]),
42674
+ onCloseSidePanel: types$1.function(),
42672
42675
  table: types$1.CoreTable()
42673
42676
  });
42674
42677
  state;
@@ -42828,8 +42831,8 @@ var TableStyleEditorPanel = class extends Component$1 {
42828
42831
  TableStylePreview
42829
42832
  };
42830
42833
  props = props({
42831
- onCloseSidePanel: types$1.function([]),
42832
- "onStylePicked?": types$1.function([types$1.string()]),
42834
+ onCloseSidePanel: types$1.function(),
42835
+ "onStylePicked?": types$1.function(),
42833
42836
  "styleId?": types$1.string()
42834
42837
  });
42835
42838
  state = proxy(this.getInitialState());
@@ -45832,7 +45835,7 @@ var GridComposer = class extends Component$1 {
45832
45835
  static components = { Composer };
45833
45836
  props = props({
45834
45837
  gridDims: types$1.DOMDimension(),
45835
- onInputContextMenu: types$1.function([types$1.instanceOf(MouseEvent)])
45838
+ onInputContextMenu: types$1.function()
45836
45839
  });
45837
45840
  rect = this.defaultRect;
45838
45841
  isEditing = false;
@@ -46955,20 +46958,10 @@ var GridOverlay = class extends Component$1 {
46955
46958
  GridAddRowsFooter
46956
46959
  };
46957
46960
  props = props({
46958
- "onCellDoubleClicked?": types$1.function([types$1.HeaderIndex(), types$1.HeaderIndex()]),
46959
- "onCellClicked?": types$1.function([
46960
- types$1.HeaderIndex(),
46961
- types$1.HeaderIndex(),
46962
- types$1.GridClickModifiers(),
46963
- types$1.ZoomedMouseEvent()
46964
- ]),
46965
- "onCellRightClicked?": types$1.function([
46966
- types$1.HeaderIndex(),
46967
- types$1.HeaderIndex(),
46968
- types$1.DOMCoordinates()
46969
- ]),
46970
- "onGridResized?": types$1.function([]),
46971
- onGridMoved: types$1.function([types$1.Pixel(), types$1.Pixel()]),
46961
+ "onCellDoubleClicked?": types$1.function(),
46962
+ "onCellClicked?": types$1.function(),
46963
+ "onCellRightClicked?": types$1.function(),
46964
+ "onGridResized?": types$1.function(),
46972
46965
  gridOverlayDimensions: types$1.string()
46973
46966
  }, {
46974
46967
  onCellDoubleClicked: () => {},
@@ -47087,8 +47080,8 @@ var GridPopover = class extends Component$1 {
47087
47080
  static template = "o-spreadsheet-GridPopover";
47088
47081
  static components = { Popover };
47089
47082
  props = props({
47090
- onClosePopover: types$1.function([]),
47091
- onMouseWheel: types$1.function([types$1.instanceOf(WheelEvent)]),
47083
+ onClosePopover: types$1.function(),
47084
+ onMouseWheel: types$1.function(),
47092
47085
  gridRect: types$1.Rect()
47093
47086
  });
47094
47087
  cellPopovers;
@@ -47195,11 +47188,7 @@ var UnhideColumnHeaders = class extends Component$1 {
47195
47188
 
47196
47189
  //#endregion
47197
47190
  //#region src/components/headers_overlay/headers_overlay.ts
47198
- const resizerPropsDefinition = { onOpenContextMenu: types$1.function([
47199
- types$1.ContextMenuType(),
47200
- types$1.Pixel(),
47201
- types$1.Pixel()
47202
- ]) };
47191
+ const resizerPropsDefinition = { onOpenContextMenu: types$1.function() };
47203
47192
  var AbstractResizer = class extends Component$1 {
47204
47193
  props = props(resizerPropsDefinition);
47205
47194
  composerFocusStore;
@@ -48661,7 +48650,7 @@ var Border = class extends Component$1 {
48661
48650
  types$1.literal("e")
48662
48651
  ]),
48663
48652
  isMoving: types$1.boolean(),
48664
- onMoveHighlight: types$1.function([types$1.instanceOf(PointerEvent)])
48653
+ onMoveHighlight: types$1.function()
48665
48654
  });
48666
48655
  get style() {
48667
48656
  const isTop = [
@@ -48719,11 +48708,7 @@ var Corner = class extends Component$1 {
48719
48708
  types$1.literal("w")
48720
48709
  ]),
48721
48710
  isResizing: types$1.boolean(),
48722
- onResizeHighlight: types$1.function([
48723
- types$1.instanceOf(PointerEvent),
48724
- types$1.ResizeDirection(),
48725
- types$1.ResizeDirection()
48726
- ])
48711
+ onResizeHighlight: types$1.function()
48727
48712
  });
48728
48713
  dirX;
48729
48714
  dirY;
@@ -48933,7 +48918,7 @@ var ScrollBar = class extends Component$1 {
48933
48918
  direction: types$1.customValidator(types$1.string(), (direction) => ["horizontal", "vertical"].includes(direction)),
48934
48919
  position: types$1.CSSProperties(),
48935
48920
  offset: types$1.Pixel(),
48936
- onScroll: types$1.function([types$1.Pixel()])
48921
+ onScroll: types$1.function()
48937
48922
  }, {
48938
48923
  width: 1,
48939
48924
  height: 1
@@ -48994,7 +48979,7 @@ var HorizontalScrollBar = class extends Component$1 {
48994
48979
  left: `${this.props.leftOffset + x}px`,
48995
48980
  bottom: "0px",
48996
48981
  height: `${scrollbarWidth}px`,
48997
- right: isBrowserFirefox() ? `${scrollbarWidth}px` : "0"
48982
+ right: `${scrollbarWidth}px`
48998
48983
  };
48999
48984
  }
49000
48985
  onScroll(offset) {
@@ -49037,7 +49022,7 @@ var VerticalScrollBar = class extends Component$1 {
49037
49022
  top: `${this.props.topOffset + y}px`,
49038
49023
  right: "0px",
49039
49024
  width: `${scrollbarWidth}px`,
49040
- bottom: isBrowserFirefox() ? `${scrollbarWidth}px` : "0"
49025
+ bottom: `${scrollbarWidth}px`
49041
49026
  };
49042
49027
  }
49043
49028
  onScroll(offset) {
@@ -49159,8 +49144,8 @@ var Grid = class extends Component$1 {
49159
49144
  Selection
49160
49145
  };
49161
49146
  props = props({
49162
- exposeFocus: types$1.function([types$1.function([])]),
49163
- getGridSize: types$1.function([], types$1.DOMDimension())
49147
+ exposeFocus: types$1.function(),
49148
+ getGridSize: types$1.function()
49164
49149
  });
49165
49150
  HEADER_HEIGHT = 26;
49166
49151
  HEADER_WIDTH = 48;
@@ -49878,7 +49863,7 @@ var PivotHTMLRenderer = class extends Component$1 {
49878
49863
  static components = { Checkbox };
49879
49864
  props = props({
49880
49865
  pivotId: types$1.UID(),
49881
- onCellClicked: types$1.function([types$1.string()])
49866
+ onCellClicked: types$1.function()
49882
49867
  });
49883
49868
  pivot = this.env.model.getters.getPivot(this.props.pivotId);
49884
49869
  data = {
@@ -62382,6 +62367,7 @@ var GeoFeaturePlugin = class extends UIPlugin {
62382
62367
  convertToGeoJson(json) {
62383
62368
  if (!json) return null;
62384
62369
  if (json.type === "Topology") {
62370
+ if (!globalThis.ChartGeo) return null;
62385
62371
  const features = globalThis.ChartGeo.topojson.feature(json, Object.values(json.objects)[0]);
62386
62372
  return features.type === "FeatureCollection" ? features.features : [features];
62387
62373
  } else if (json.type === "FeatureCollection") return json.features;
@@ -67578,20 +67564,20 @@ const RIPPLE_KEY_FRAMES = [
67578
67564
  var RippleEffect = class extends Component$1 {
67579
67565
  static template = "o-spreadsheet-RippleEffect";
67580
67566
  props = props({
67581
- x: types.string(),
67582
- y: types.string(),
67583
- color: types.string(),
67584
- opacity: types.number(),
67585
- duration: types.number(),
67567
+ x: types$1.string(),
67568
+ y: types$1.string(),
67569
+ color: types$1.string(),
67570
+ opacity: types$1.number(),
67571
+ duration: types$1.number(),
67586
67572
  /** Width of the ripple. Defaults to the width of the element the ripple is on (without margins). */
67587
- width: types.number(),
67573
+ width: types$1.number(),
67588
67574
  /** Height of the ripple. Defaults to the height of the element the ripple is on (without margins). */
67589
- height: types.number(),
67590
- offsetY: types.number(),
67591
- offsetX: types.number(),
67592
- allowOverflow: types.boolean(),
67593
- onAnimationEnd: types.function(),
67594
- style: types.string()
67575
+ height: types$1.number(),
67576
+ offsetY: types$1.number(),
67577
+ offsetX: types$1.number(),
67578
+ allowOverflow: types$1.boolean(),
67579
+ onAnimationEnd: types$1.function(),
67580
+ style: types$1.string()
67595
67581
  });
67596
67582
  rippleRef = signal(null);
67597
67583
  setup() {
@@ -67631,21 +67617,21 @@ var Ripple = class extends Component$1 {
67631
67617
  static template = "o-spreadsheet-Ripple";
67632
67618
  static components = { RippleEffect };
67633
67619
  props = props({
67634
- "color?": types.string(),
67635
- "opacity?": types.number(),
67636
- "duration?": types.number(),
67620
+ "color?": types$1.string(),
67621
+ "opacity?": types$1.number(),
67622
+ "duration?": types$1.number(),
67637
67623
  /** If true, the ripple will play from the element center instead of the position of the click */
67638
- "ignoreClickPosition?": types.boolean(),
67624
+ "ignoreClickPosition?": types$1.boolean(),
67639
67625
  /** Width of the ripple. Defaults to the width of the element the ripple is on (without margins). */
67640
- "width?": types.number(),
67626
+ "width?": types$1.number(),
67641
67627
  /** Height of the ripple. Defaults to the height of the element the ripple is on (without margins). */
67642
- "height?": types.number(),
67643
- "offsetY?": types.number(),
67644
- "offsetX?": types.number(),
67645
- "allowOverflow?": types.boolean(),
67646
- "enabled?": types.boolean(),
67647
- "onAnimationEnd?": types.function(),
67648
- "class?": types.string()
67628
+ "height?": types$1.number(),
67629
+ "offsetY?": types$1.number(),
67630
+ "offsetX?": types$1.number(),
67631
+ "allowOverflow?": types$1.boolean(),
67632
+ "enabled?": types$1.boolean(),
67633
+ "onAnimationEnd?": types$1.function(),
67634
+ "class?": types$1.string()
67649
67635
  }, {
67650
67636
  color: "#aaaaaa",
67651
67637
  opacity: .4,
@@ -67906,10 +67892,10 @@ var BottomBarSheet = class extends Component$1 {
67906
67892
  ColorPicker
67907
67893
  };
67908
67894
  props = props({
67909
- sheetId: types.string(),
67910
- openContextMenu: types.function([types.instanceOf(MenuItemRegistry), types.instanceOf(MouseEvent)]),
67911
- "style?": types.string(),
67912
- "onMouseDown?": types.function([types.instanceOf(PointerEvent)])
67895
+ sheetId: types$1.string(),
67896
+ openContextMenu: types$1.function(),
67897
+ "style?": types$1.string(),
67898
+ "onMouseDown?": types$1.function()
67913
67899
  }, {
67914
67900
  onMouseDown: () => {},
67915
67901
  style: ""
@@ -68176,12 +68162,8 @@ var BottomBarStatistic = class extends Component$1 {
68176
68162
  static template = "o-spreadsheet-BottomBarStatistic";
68177
68163
  static components = { Ripple };
68178
68164
  props = props({
68179
- openContextMenu: types.function([
68180
- types.number(),
68181
- types.number(),
68182
- types.instanceOf(MenuItemRegistry)
68183
- ]),
68184
- closeContextMenu: types.function([])
68165
+ openContextMenu: types$1.function(),
68166
+ closeContextMenu: types$1.function()
68185
68167
  });
68186
68168
  state = proxy({ selectedStatisticFn: "" });
68187
68169
  store;
@@ -68225,7 +68207,7 @@ var BottomBarStatistic = class extends Component$1 {
68225
68207
  const MENU_MAX_HEIGHT = 250;
68226
68208
  var BottomBar = class extends Component$1 {
68227
68209
  static template = "o-spreadsheet-BottomBar";
68228
- props = props({ onClick: types.function([]) });
68210
+ props = props({ onClick: types$1.function() });
68229
68211
  static components = {
68230
68212
  MenuPopover,
68231
68213
  Ripple,
@@ -68508,7 +68490,7 @@ var SpreadsheetDashboard = class extends Component$1 {
68508
68490
  VerticalScrollBar,
68509
68491
  HorizontalScrollBar
68510
68492
  };
68511
- props = props({ getGridSize: types$1.function([], types$1.DOMDimension()) });
68493
+ props = props({ getGridSize: types$1.function() });
68512
68494
  cellPopovers;
68513
68495
  onMouseWheel;
68514
68496
  canvasPosition;
@@ -68624,7 +68606,7 @@ var AbstractHeaderGroup = class extends Component$1 {
68624
68606
  props = props({
68625
68607
  group: types$1.HeaderGroup(),
68626
68608
  layerOffset: types$1.number(),
68627
- openContextMenu: types$1.function([types$1.DOMCoordinates(), types$1.ArrayOf()])
68609
+ openContextMenu: types$1.function()
68628
68610
  });
68629
68611
  toggleGroup() {
68630
68612
  const sheetId = this.env.model.getters.getActiveSheetId();
@@ -68854,12 +68836,12 @@ var SidePanel = class extends Component$1 {
68854
68836
  props = props({
68855
68837
  panelContent: types$1.SidePanelContent(),
68856
68838
  panelProps: types$1.SidePanelComponentProps(),
68857
- onCloseSidePanel: types$1.function([]),
68858
- onStartHandleDrag: types$1.function([types$1.instanceOf(MouseEvent)]),
68859
- onResetPanelSize: types$1.function([]),
68839
+ onCloseSidePanel: types$1.function(),
68840
+ onStartHandleDrag: types$1.function(),
68841
+ onResetPanelSize: types$1.function(),
68860
68842
  "isPinned?": types$1.boolean(),
68861
- "onTogglePinPanel?": types$1.function([]),
68862
- "onToggleCollapsePanel?": types$1.function([]),
68843
+ "onTogglePinPanel?": types$1.function(),
68844
+ "onToggleCollapsePanel?": types$1.function(),
68863
68845
  "isCollapsed?": types$1.boolean()
68864
68846
  });
68865
68847
  spreadsheetRect = useSpreadsheetRect();
@@ -68945,7 +68927,7 @@ var SidePanels = class extends Component$1 {
68945
68927
  var RibbonMenu = class extends Component$1 {
68946
68928
  static template = "o-spreadsheet-RibbonMenu";
68947
68929
  static components = { Menu };
68948
- props = props({ onClose: types$1.function([]) });
68930
+ props = props({ onClose: types$1.function() });
68949
68931
  rootItems = topbarMenuRegistry.getMenuItems();
68950
68932
  menuRef = signal(null);
68951
68933
  containerRef = signal(null);
@@ -69016,7 +68998,7 @@ var SmallBottomBar = class extends Component$1 {
69016
68998
  RibbonMenu
69017
68999
  };
69018
69000
  static template = "o-spreadsheet-SmallBottomBar";
69019
- props = props({ onClick: types$1.function([]) });
69001
+ props = props({ onClick: types$1.function() });
69020
69002
  composerFocusStore;
69021
69003
  composerStore;
69022
69004
  composerInterface;
@@ -69542,7 +69524,7 @@ var SpreadsheetPrintStore = class extends SpreadsheetStore {
69542
69524
  //#region src/components/spreadsheet_print/spreadsheet_print.ts
69543
69525
  var SpreadsheetPrint = class extends Component$1 {
69544
69526
  static template = "o-spreadsheet-SpreadsheetPrint";
69545
- props = props({ onExitPrintMode: types$1.function([]) });
69527
+ props = props({ onExitPrintMode: types$1.function() });
69546
69528
  static components = {
69547
69529
  StandaloneGridCanvas,
69548
69530
  Section,
@@ -69879,9 +69861,9 @@ var BorderEditor = class extends Component$1 {
69879
69861
  currentBorderColor: types$1.Color(),
69880
69862
  currentBorderStyle: types$1.BorderStyle(),
69881
69863
  "currentBorderPosition?": types$1.BorderPosition(),
69882
- onBorderColorPicked: types$1.function([types$1.Color()]),
69883
- onBorderStylePicked: types$1.function([types$1.BorderStyle()]),
69884
- onBorderPositionPicked: types$1.function([types$1.BorderPosition()]),
69864
+ onBorderColorPicked: types$1.function(),
69865
+ onBorderStylePicked: types$1.function(),
69866
+ onBorderPositionPicked: types$1.function(),
69885
69867
  "maxHeight?": types$1.Pixel(),
69886
69868
  anchorRect: types$1.Rect()
69887
69869
  });
@@ -70190,7 +70172,7 @@ var DropdownAction = class extends Component$1 {
70190
70172
  var TopBarFontSizeEditor = class extends Component$1 {
70191
70173
  static components = { FontSizeEditor };
70192
70174
  static template = "o-spreadsheet-TopBarFontSizeEditor";
70193
- props = props({ class: types.string() });
70175
+ props = props({ class: types$1.string() });
70194
70176
  topBarToolStore;
70195
70177
  setup() {
70196
70178
  this.topBarToolStore = useToolBarDropdownStore();
@@ -70486,7 +70468,7 @@ topBarToolBarRegistry.add("edit").addChild("edit", {
70486
70468
  var TopBar = class extends Component$1 {
70487
70469
  static template = "o-spreadsheet-TopBar";
70488
70470
  props = props({
70489
- onClick: types$1.function([]),
70471
+ onClick: types$1.function(),
70490
70472
  dropdownMaxHeight: types$1.Pixel()
70491
70473
  });
70492
70474
  static components = {
@@ -70765,13 +70747,9 @@ var Spreadsheet = class extends Component$1 {
70765
70747
  static template = "o-spreadsheet-Spreadsheet";
70766
70748
  props = props({
70767
70749
  model: types$1.Model(),
70768
- "notifyUser?": types$1.function([types$1.InformationNotification()]),
70769
- "raiseError?": types$1.function([types$1.string(), types$1.function([])]),
70770
- "askConfirmation?": types$1.function([
70771
- types$1.string(),
70772
- types$1.function([]),
70773
- types$1.function([])
70774
- ])
70750
+ "notifyUser?": types$1.function(),
70751
+ "raiseError?": types$1.function(),
70752
+ "askConfirmation?": types$1.function()
70775
70753
  });
70776
70754
  static components = {
70777
70755
  TopBar,
@@ -76351,7 +76329,7 @@ var ErrorToolTip = class extends Component$1 {
76351
76329
  static template = "o-spreadsheet-ErrorToolTip";
76352
76330
  props = props({
76353
76331
  cellPosition: types$1.CellPosition(),
76354
- "onClosed?": types$1.function([])
76332
+ "onClosed?": types$1.function()
76355
76333
  });
76356
76334
  get dataValidationErrorMessage() {
76357
76335
  return this.env.model.getters.getInvalidDataValidationMessage(this.props.cellPosition);
@@ -76435,7 +76413,7 @@ var FilterMenu = class extends Component$1 {
76435
76413
  };
76436
76414
  props = props({
76437
76415
  filterPosition: types$1.Position(),
76438
- "onClosed?": types$1.function([])
76416
+ "onClosed?": types$1.function()
76439
76417
  });
76440
76418
  state;
76441
76419
  criterionCategory = "text";
@@ -76615,7 +76593,7 @@ var LinkDisplay = class extends Component$1 {
76615
76593
  static template = "o-spreadsheet-LinkDisplay";
76616
76594
  props = props({
76617
76595
  cellPosition: types$1.CellPosition(),
76618
- "onClosed?": types$1.function([])
76596
+ "onClosed?": types$1.function()
76619
76597
  });
76620
76598
  cellPopovers;
76621
76599
  setup() {
@@ -76689,7 +76667,7 @@ var LinkEditor = class extends Component$1 {
76689
76667
  static components = { MenuPopover };
76690
76668
  props = props({
76691
76669
  cellPosition: types$1.CellPosition(),
76692
- "onClosed?": types$1.function([])
76670
+ "onClosed?": types$1.function()
76693
76671
  });
76694
76672
  static size = { maxHeight: 500 };
76695
76673
  urlInput = signal(null);
@@ -86285,6 +86263,6 @@ const chartHelpers = {
86285
86263
  //#endregion
86286
86264
  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 };
86287
86265
 
86288
- __info__.version = "19.4.0-alpha.12";
86289
- __info__.date = "2026-06-06T06:24:48.209Z";
86290
- __info__.hash = "a71f829";
86266
+ __info__.version = "19.4.0-alpha.14";
86267
+ __info__.date = "2026-06-12T09:49:11.281Z";
86268
+ __info__.hash = "f92f5e0";