@odoo/o-spreadsheet 19.5.0-alpha.11 → 19.5.0-alpha.13

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 (56) hide show
  1. package/dist/material_symbols_outlined.css +9 -0
  2. package/dist/o_spreadsheet.cjs +2578 -900
  3. package/dist/o_spreadsheet.css +182 -41
  4. package/dist/o_spreadsheet.esm.js +2570 -892
  5. package/dist/o_spreadsheet.iife.js +2578 -900
  6. package/dist/o_spreadsheet.min.iife.js +344 -344
  7. package/dist/o_spreadsheet.xml +238 -150
  8. package/dist/types/actions/data_actions.d.ts +1 -0
  9. package/dist/types/components/bottom_bar/bottom_bar_statistic/bottom_bar_statistic.d.ts +3 -0
  10. package/dist/types/components/dashboard/clickable_cell_sort_icon/clickable_cell_sort_icon.d.ts +1 -1
  11. package/dist/types/components/figures/figure/figure.d.ts +1 -0
  12. package/dist/types/components/figures/figure_carousel/figure_carousel.d.ts +10 -0
  13. package/dist/types/components/figures/figure_container/figure_container.d.ts +1 -2
  14. package/dist/types/components/grid/grid.d.ts +1 -0
  15. package/dist/types/components/helpers/chart_drag_and_drop.d.ts +15 -0
  16. package/dist/types/components/helpers/dom_helpers.d.ts +3 -2
  17. package/dist/types/components/link/link_editor/link_editor.d.ts +1 -1
  18. package/dist/types/components/side_panel/carousel_panel/carousel_panel.d.ts +1 -1
  19. package/dist/types/components/side_panel/chart/building_blocks/color_scale/color_scale_picker.d.ts +1 -1
  20. package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_config_panel.d.ts +6 -10
  21. package/dist/types/components/side_panel/data_analysis/chart_suggestion_preview.d.ts +19 -0
  22. package/dist/types/components/side_panel/data_analysis/data_analysis_panel.d.ts +17 -0
  23. package/dist/types/components/side_panel/data_analysis/data_analysis_store.d.ts +15 -0
  24. package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_layout_configurator.d.ts +1 -6
  25. package/dist/types/components/side_panel/side_panel/side_panel_store.d.ts +2 -1
  26. package/dist/types/components/standalone_grid_canvas/carousel_data_view_print.d.ts +32 -0
  27. package/dist/types/components/standalone_grid_canvas/standalone_grid_canvas.d.ts +6 -0
  28. package/dist/types/components/standalone_viewport/standalone_viewport.d.ts +6 -3
  29. package/dist/types/components/standalone_viewport/standalone_viewport_store.d.ts +2 -1
  30. package/dist/types/components/tables/hovered_table_store.d.ts +6 -7
  31. package/dist/types/constants.d.ts +13 -1
  32. package/dist/types/functions/helpers.d.ts +4 -0
  33. package/dist/types/functions/module_operators.d.ts +1 -1
  34. package/dist/types/functions/module_text.d.ts +11 -11
  35. package/dist/types/functions/module_web.d.ts +1 -1
  36. package/dist/types/helpers/carousel_helpers.d.ts +8 -1
  37. package/dist/types/helpers/data_analysis.d.ts +16 -0
  38. package/dist/types/helpers/figures/chart.d.ts +1 -1
  39. package/dist/types/helpers/figures/charts/chart_data_source_helpers.d.ts +10 -0
  40. package/dist/types/helpers/figures/charts/chart_suggestion_engine.d.ts +8 -0
  41. package/dist/types/helpers/figures/charts/chart_ui_common.d.ts +8 -1
  42. package/dist/types/helpers/figures/charts/charts_suggestions_constants.d.ts +37 -0
  43. package/dist/types/helpers/figures/charts/gauge_chart_rendering.d.ts +6 -2
  44. package/dist/types/helpers/text_helper.d.ts +1 -1
  45. package/dist/types/index.d.ts +3 -1
  46. package/dist/types/registries/figures_registry.d.ts +1 -0
  47. package/dist/types/stores/cell_hover_overlay_store.d.ts +15 -0
  48. package/dist/types/stores/chart_drag_store.d.ts +10 -0
  49. package/dist/types/stores/grid_renderer_store.d.ts +3 -2
  50. package/dist/types/stores/main_viewport_store.d.ts +3 -0
  51. package/dist/types/stores/viewports_store.d.ts +0 -1
  52. package/dist/types/types/chart/chart.d.ts +3 -1
  53. package/dist/types/types/chart/chart_suggestion.d.ts +136 -0
  54. package/dist/types/types/chart/scorecard_chart.d.ts +3 -4
  55. package/dist/types/types/commands.d.ts +16 -11
  56. package/package.json +6 -5
@@ -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.5.0-alpha.11
6
- * @date 2026-08-12T09:17:26.024Z
7
- * @hash bc056d7
5
+ * @version 19.5.0-alpha.13
6
+ * @date 2026-08-21T15:33:45.937Z
7
+ * @hash a73559e
8
8
  */
9
9
  :root {
10
10
  --os-gray-100: light-dark(#f9fafb, #1b1d26);
@@ -138,6 +138,8 @@
138
138
  --os-components-importance-figure-anchor: 1000;
139
139
  --os-components-importance-figure-snap-line: 1001;
140
140
  --os-components-importance-figure-tooltip: 1002;
141
+
142
+ --os-icon-font-size: 14px;
141
143
  }
142
144
 
143
145
  /* Originates from src/components/validation_messages/validation_messages.css */
@@ -182,13 +184,6 @@
182
184
  }
183
185
  }
184
186
 
185
- @media (max-width: 768px) {
186
- .topbar-banner span {
187
- overflow: auto;
188
- align-items: normal !important;
189
- }
190
- }
191
-
192
187
  .tool-container {
193
188
  display: flex;
194
189
  justify-content: center;
@@ -230,7 +225,11 @@
230
225
  }
231
226
 
232
227
  .topbar-banner {
233
- height: var(--os-desktop-topbar-toolbar-height);
228
+ min-height: var(--os-desktop-topbar-toolbar-height);
229
+
230
+ .alert {
231
+ border: none; /* Remove default bootstrap border */
232
+ }
234
233
 
235
234
  .alert-info {
236
235
  border-left: 3px solid var(--os-alert-info-border);
@@ -311,6 +310,7 @@
311
310
  .os-input {
312
311
  border-width: 0 0 1px 0;
313
312
  border-color: transparent;
313
+ border-style: solid;
314
314
  outline: none;
315
315
  text-overflow: ellipsis;
316
316
  color: var(--os-text-body);
@@ -676,6 +676,7 @@
676
676
  width: 100%;
677
677
  outline: none;
678
678
  border-color: var(--os-border-color);
679
+ border-style: solid;
679
680
  color: var(--os-gray-900);
680
681
 
681
682
  &::placeholder {
@@ -853,6 +854,8 @@
853
854
  filter: var(--os-dark-mode-filter);
854
855
  }
855
856
  }
857
+
858
+ --oi-font-size: var(--os-icon-font-size);
856
859
  }
857
860
 
858
861
  /* Originates from src/components/small_bottom_bar/small_bottom_bar.css */
@@ -1347,6 +1350,52 @@
1347
1350
  }
1348
1351
  }
1349
1352
 
1353
+ /* Originates from src/components/side_panel/data_analysis/data_analysis_panel.css */
1354
+ .o-spreadsheet {
1355
+ .o-chart-suggestions-grid {
1356
+ display: grid;
1357
+ grid-template-columns: 1fr 1fr;
1358
+ gap: 6px;
1359
+ }
1360
+
1361
+ .o-chart-drag-preview {
1362
+ box-sizing: content-box;
1363
+ z-index: 9999;
1364
+ }
1365
+ }
1366
+
1367
+ /* Originates from src/components/side_panel/data_analysis/chart_suggestion_preview.css */
1368
+ .o-spreadsheet {
1369
+ .o-suggestion-canvas-wrap {
1370
+ cursor: grab;
1371
+ height: 120px;
1372
+ }
1373
+ .o-suggestion-canvas-wrap:hover {
1374
+ border-color: var(--o-action-color, #3d9be9);
1375
+ }
1376
+ .o-suggestion-canvas-wrap:active {
1377
+ cursor: grabbing;
1378
+ }
1379
+
1380
+ .o-suggestion-insert-icon {
1381
+ position: absolute;
1382
+ inset: 0;
1383
+ background: rgba(0, 0, 0, 0.35);
1384
+ opacity: 0;
1385
+ pointer-events: none;
1386
+ transition: opacity 0.1s;
1387
+
1388
+ .o-icon {
1389
+ width: 32px;
1390
+ height: 32px;
1391
+ color: white;
1392
+ }
1393
+ }
1394
+ .o-suggestion-canvas-wrap:hover .o-suggestion-insert-icon {
1395
+ opacity: 1;
1396
+ }
1397
+ }
1398
+
1350
1399
  /* Originates from src/components/side_panel/criterion_form/top_10_criterion/top_10_criterion.css */
1351
1400
  .o-spreadsheet {
1352
1401
  .o-top-10-criterion {
@@ -1576,7 +1625,7 @@
1576
1625
  .o_side_panel_collapsible_title {
1577
1626
  font-size: 16px;
1578
1627
  cursor: pointer;
1579
- padding: 6px 0px 6px 6px !important;
1628
+ padding: 6px 6px 6px 6px !important;
1580
1629
  .collapsor-arrow {
1581
1630
  transform: rotate(-90deg);
1582
1631
  display: inline-block;
@@ -2097,6 +2146,11 @@
2097
2146
  line-height: calc(
2098
2147
  var(--os-desktop-menu-item-height) - 2 * var(--os-menu-item-padding-vertical)
2099
2148
  );
2149
+ display: inline-block;
2150
+ margin: 0px 8px 0px 0px;
2151
+ .oi {
2152
+ --os-icon-font-size: calc(var(--os-icon-edge-length) - 1px);
2153
+ }
2100
2154
  }
2101
2155
  & {
2102
2156
  &.o-menu-item-active {
@@ -2116,10 +2170,6 @@
2116
2170
  .o-menu-item-name {
2117
2171
  min-width: 40%;
2118
2172
  }
2119
- .o-menu-item-icon {
2120
- display: inline-block;
2121
- margin: 0px 8px 0px 0px;
2122
- }
2123
2173
  }
2124
2174
  }
2125
2175
  &.o-spreadsheet-mobile {
@@ -2246,6 +2296,7 @@
2246
2296
  width: var(--os-icon-edge-length);
2247
2297
  height: var(--os-icon-edge-length);
2248
2298
  font-size: var(--os-icon-edge-length);
2299
+ --os-icon-font-size: var(--os-icon-edge-length);
2249
2300
  .small-text {
2250
2301
  font: bold 9px sans-serif;
2251
2302
  }
@@ -2253,13 +2304,63 @@
2253
2304
  font: bold 16px sans-serif;
2254
2305
  }
2255
2306
  }
2256
- .fa-small {
2257
- font-size: 14px;
2258
- }
2259
2307
 
2260
2308
  .o-icon.fx-icon {
2261
2309
  color: var(--os-composer-placeholder-color);
2262
2310
  }
2311
+
2312
+ /*
2313
+ * Odoo UI Icon (oi): render Material Symbols through the data-icon attribute.
2314
+ * Mirrors web/static/src/webclient/icons.scss `material-icon-base`, adapted to
2315
+ * the `material-symbols` package whose variable font exposes a FILL axis.
2316
+ */
2317
+ .oi {
2318
+ display: inline-block;
2319
+ font-family: var(--icon-font-family, "Material Symbols Outlined");
2320
+ font-style: normal;
2321
+ font-size: var(--os-icon-font-size, 1em);
2322
+ font-weight: 400 !important;
2323
+ line-height: inherit; /* override of Odoo, we want to keep the line height consistent with the surrounding text */
2324
+ letter-spacing: normal;
2325
+ text-transform: none;
2326
+ white-space: nowrap;
2327
+ word-wrap: normal;
2328
+ direction: ltr;
2329
+ -webkit-font-smoothing: antialiased;
2330
+ -moz-osx-font-smoothing: grayscale;
2331
+ }
2332
+
2333
+ .oi:before {
2334
+ display: inline-block;
2335
+ content: attr(data-icon);
2336
+ text-rendering: geometricPrecision;
2337
+ }
2338
+
2339
+ .oi-filled {
2340
+ -webkit-font-variation-settings: "FILL" 1;
2341
+ font-variation-settings: "FILL" 1;
2342
+ }
2343
+
2344
+ /* Overlap several icons (e.g. a glyph over a background disc).
2345
+ FIXME: this is kept as a compatibility layer, we should try to remove it in the future. */
2346
+ .oi-stack {
2347
+ position: relative;
2348
+ display: inline-block;
2349
+ width: 2em;
2350
+ height: 2em;
2351
+ line-height: 2em;
2352
+ vertical-align: middle;
2353
+ }
2354
+ .oi-stack-1x,
2355
+ .oi-stack-2x {
2356
+ position: absolute;
2357
+ left: 0;
2358
+ width: 100%;
2359
+ text-align: center;
2360
+ }
2361
+ .oi-stack-2x {
2362
+ font-size: 2em;
2363
+ }
2263
2364
  }
2264
2365
 
2265
2366
  /* Originates from src/components/icon_picker/icon_picker.css */
@@ -2541,7 +2642,7 @@
2541
2642
  .o-spreadsheet .o-filter-menu {
2542
2643
  .o-search-icon {
2543
2644
  right: 5px;
2544
- top: 3px;
2645
+ top: 8px;
2545
2646
  opacity: 0.4;
2546
2647
 
2547
2648
  svg {
@@ -2622,6 +2723,23 @@
2622
2723
  }
2623
2724
  }
2624
2725
 
2726
+ /* Originates from src/components/figures/figure_image/figure_image.css */
2727
+ .o-spreadsheet {
2728
+ .o-figure-menu-item {
2729
+ cursor: pointer;
2730
+ color: var(--os-gray-900) !important;
2731
+ height: 20px;
2732
+ width: 20px;
2733
+ --os-icon-edge-length: 14px;
2734
+ &.active,
2735
+ &:hover,
2736
+ &:target {
2737
+ cursor: pointer;
2738
+ background-color: var(--os-background-gray-color-hover);
2739
+ }
2740
+ }
2741
+ }
2742
+
2625
2743
  /* Originates from src/components/figures/figure_container/figure_container.css */
2626
2744
  .o-spreadsheet {
2627
2745
  .o-figure-snap-line {
@@ -2675,8 +2793,8 @@
2675
2793
 
2676
2794
  /* Originates from src/components/figures/figure_carousel/figure_carousel.css */
2677
2795
  .o-spreadsheet {
2678
- .o-carousel-content {
2679
- height: 0; /* To make flex-fill work */
2796
+ .o-carousel-separator {
2797
+ background-color: var(--os-gray-400);
2680
2798
  }
2681
2799
 
2682
2800
  .o-carousel-empty {
@@ -2705,18 +2823,15 @@
2705
2823
 
2706
2824
  .o-carousel-button {
2707
2825
  cursor: pointer;
2708
-
2709
- &.o-carousel-tabs-dropdown {
2710
- font-size: 16px;
2711
- line-height: 16px;
2712
- }
2826
+ --os-icon-edge-length: 14px;
2713
2827
 
2714
2828
  &.o-carousel-full-screen-button {
2715
2829
  margin: 1px;
2716
2830
  }
2717
2831
 
2718
- &.o-carousel-menu-button {
2719
- padding: 3px 5px;
2832
+ &.o-carousel-menu-button,
2833
+ &.o-carousel-tabs-dropdown {
2834
+ padding: 3px 2px;
2720
2835
  }
2721
2836
 
2722
2837
  &.active,
@@ -2852,6 +2967,7 @@
2852
2967
  color: var(--os-gray-900) !important;
2853
2968
  height: 20px;
2854
2969
  width: 20px;
2970
+ border-color: transparent;
2855
2971
  &.active,
2856
2972
  &:hover,
2857
2973
  &:target {
@@ -2860,9 +2976,7 @@
2860
2976
  }
2861
2977
 
2862
2978
  .o-icon {
2863
- width: 14px;
2864
- height: 14px;
2865
- font-size: 14px !important;
2979
+ --os-icon-edge-length: 14px;
2866
2980
  }
2867
2981
 
2868
2982
  .o-chart-preview {
@@ -3130,18 +3244,22 @@
3130
3244
  pointer-events: none;
3131
3245
  }
3132
3246
 
3133
- .fa-stack {
3247
+ .oi-stack {
3134
3248
  /* reset stack size which is doubled by default */
3135
3249
  width: 18px;
3136
3250
  height: 18px;
3137
3251
  line-height: 18px;
3138
3252
  }
3139
3253
 
3254
+ .o-composer-assistant-icon-bg {
3255
+ color: white;
3256
+ }
3257
+
3140
3258
  .force-open-assistant {
3141
3259
  left: -1px;
3142
3260
  top: -1px;
3143
3261
 
3144
- .fa-question-circle {
3262
+ [data-icon="help_f"] {
3145
3263
  color: var(--os-primary-button-bg);
3146
3264
  }
3147
3265
  }
@@ -3158,7 +3276,7 @@
3158
3276
  }
3159
3277
 
3160
3278
  .o-composer-assistant-container {
3161
- .fa-times-circle {
3279
+ [data-icon="cancel_f"] {
3162
3280
  color: var(--os-primary-button-bg);
3163
3281
  }
3164
3282
  }
@@ -3471,12 +3589,31 @@
3471
3589
 
3472
3590
  /* Originates from src/components/bottom_bar/bottom_bar_statistic/bottom_bar_statistic.css */
3473
3591
  .o-spreadsheet {
3474
- .o-selection-statistic {
3475
- margin-right: 20px;
3476
- padding: 4px 4px 4px 8px;
3477
- cursor: pointer;
3478
- &:hover {
3479
- background-color: var(--os-background-gray-color-hover) !important;
3592
+ .o-bottom-bar-statistic {
3593
+ .o-selection-statistic {
3594
+ margin-right: 10px;
3595
+ padding: 0px 4px 0px 8px;
3596
+ cursor: pointer;
3597
+ &:hover {
3598
+ background-color: var(--os-background-gray-color-hover) !important;
3599
+ }
3600
+ }
3601
+ .o-data-analysis-button {
3602
+ cursor: pointer;
3603
+ &:hover {
3604
+ background-color: var(--os-background-gray-color-hover);
3605
+ }
3606
+ &.active {
3607
+ background-color: var(--os-button-active-bg);
3608
+ .o-icon {
3609
+ color: var(--os-button-active-text-color);
3610
+ }
3611
+ }
3612
+ .o-icon {
3613
+ width: 30px;
3614
+ height: 30px;
3615
+ padding: 4px;
3616
+ }
3480
3617
  }
3481
3618
  }
3482
3619
  }
@@ -3527,6 +3664,10 @@
3527
3664
  z-index: 1;
3528
3665
  width: calc(100% - 1px);
3529
3666
  }
3667
+
3668
+ .lock-icon {
3669
+ --os-icon-edge-length: 14px;
3670
+ }
3530
3671
  }
3531
3672
 
3532
3673
  .o-spreadshet-mobile .o-sheet {