handsontable 16.1.1 → 16.2.0-next-90d1117-20251117

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 (296) hide show
  1. package/3rdparty/walkontable/src/overlays.js +1 -1
  2. package/3rdparty/walkontable/src/overlays.mjs +1 -1
  3. package/3rdparty/walkontable/src/selection/border/border.js +19 -3
  4. package/3rdparty/walkontable/src/selection/border/border.mjs +19 -3
  5. package/CHANGELOG.md +39 -0
  6. package/base.js +2 -2
  7. package/base.mjs +2 -2
  8. package/core/coordsMapper/index.js +11 -0
  9. package/core/coordsMapper/index.mjs +1 -0
  10. package/core/hooks/bucket.js +7 -1
  11. package/core/hooks/bucket.mjs +7 -1
  12. package/core/hooks/constants.js +54 -0
  13. package/core/hooks/constants.mjs +54 -0
  14. package/core/hooks/index.d.ts +6 -0
  15. package/core/index.js +10 -4
  16. package/core/index.mjs +2 -1
  17. package/core.d.ts +3 -2
  18. package/core.js +67 -26
  19. package/core.mjs +56 -15
  20. package/dataMap/metaManager/metaSchema.js +197 -20
  21. package/dataMap/metaManager/metaSchema.mjs +197 -20
  22. package/dist/handsontable.css +175 -3
  23. package/dist/handsontable.full.css +175 -3
  24. package/dist/handsontable.full.js +10864 -8426
  25. package/dist/handsontable.full.min.css +5 -4
  26. package/dist/handsontable.full.min.js +194 -193
  27. package/dist/handsontable.js +7126 -4827
  28. package/dist/handsontable.min.css +4 -4
  29. package/dist/handsontable.min.js +43 -42
  30. package/dist/languages/all.js +168 -21
  31. package/dist/languages/all.min.js +1 -1
  32. package/dist/languages/ar-AR.js +8 -1
  33. package/dist/languages/ar-AR.min.js +1 -1
  34. package/dist/languages/cs-CZ.js +8 -1
  35. package/dist/languages/cs-CZ.min.js +1 -1
  36. package/dist/languages/de-CH.js +8 -1
  37. package/dist/languages/de-CH.min.js +1 -1
  38. package/dist/languages/de-DE.js +8 -1
  39. package/dist/languages/de-DE.min.js +1 -1
  40. package/dist/languages/en-US.js +8 -1
  41. package/dist/languages/en-US.min.js +1 -1
  42. package/dist/languages/es-MX.js +8 -1
  43. package/dist/languages/es-MX.min.js +1 -1
  44. package/dist/languages/fa-IR.js +8 -1
  45. package/dist/languages/fa-IR.min.js +1 -1
  46. package/dist/languages/fr-FR.js +8 -1
  47. package/dist/languages/fr-FR.min.js +1 -1
  48. package/dist/languages/hr-HR.js +8 -1
  49. package/dist/languages/hr-HR.min.js +1 -1
  50. package/dist/languages/it-IT.js +8 -1
  51. package/dist/languages/it-IT.min.js +1 -1
  52. package/dist/languages/ja-JP.js +8 -1
  53. package/dist/languages/ja-JP.min.js +1 -1
  54. package/dist/languages/ko-KR.js +8 -1
  55. package/dist/languages/ko-KR.min.js +1 -1
  56. package/dist/languages/lv-LV.js +8 -1
  57. package/dist/languages/lv-LV.min.js +1 -1
  58. package/dist/languages/nb-NO.js +8 -1
  59. package/dist/languages/nb-NO.min.js +1 -1
  60. package/dist/languages/nl-NL.js +8 -1
  61. package/dist/languages/nl-NL.min.js +1 -1
  62. package/dist/languages/pl-PL.js +8 -1
  63. package/dist/languages/pl-PL.min.js +1 -1
  64. package/dist/languages/pt-BR.js +8 -1
  65. package/dist/languages/pt-BR.min.js +1 -1
  66. package/dist/languages/ru-RU.js +8 -1
  67. package/dist/languages/ru-RU.min.js +1 -1
  68. package/dist/languages/sr-SP.js +8 -1
  69. package/dist/languages/sr-SP.min.js +1 -1
  70. package/dist/languages/zh-CN.js +8 -1
  71. package/dist/languages/zh-CN.min.js +1 -1
  72. package/dist/languages/zh-TW.js +8 -1
  73. package/dist/languages/zh-TW.min.js +1 -1
  74. package/editors/autocompleteEditor/autocompleteEditor.js +21 -1
  75. package/editors/autocompleteEditor/autocompleteEditor.mjs +22 -2
  76. package/focusManager/constants.js +25 -0
  77. package/focusManager/constants.mjs +22 -0
  78. package/focusManager/eventListener.js +107 -0
  79. package/focusManager/eventListener.mjs +103 -0
  80. package/{focusManager.d.ts → focusManager/grid.d.ts} +1 -1
  81. package/{focusManager.js → focusManager/grid.js} +48 -17
  82. package/{focusManager.mjs → focusManager/grid.mjs} +47 -16
  83. package/focusManager/index.d.ts +2 -0
  84. package/focusManager/index.js +20 -0
  85. package/focusManager/index.mjs +20 -0
  86. package/focusManager/scope.js +133 -0
  87. package/focusManager/scope.mjs +129 -0
  88. package/focusManager/scopeManager.d.ts +19 -0
  89. package/focusManager/scopeManager.js +268 -0
  90. package/focusManager/scopeManager.mjs +263 -0
  91. package/focusManager/scopes/grid.js +120 -0
  92. package/focusManager/scopes/grid.mjs +116 -0
  93. package/focusManager/scopes/index.js +13 -0
  94. package/focusManager/scopes/index.mjs +9 -0
  95. package/{utils → focusManager/utils}/focusDetector.js +21 -31
  96. package/{utils → focusManager/utils}/focusDetector.mjs +21 -31
  97. package/focusManager/utils/utils.js +95 -0
  98. package/focusManager/utils/utils.mjs +89 -0
  99. package/helpers/dom/element.js +1 -1
  100. package/helpers/dom/element.mjs +2 -2
  101. package/helpers/dom/event.js +1 -1
  102. package/helpers/dom/event.mjs +1 -1
  103. package/helpers/mixed.js +2 -65
  104. package/helpers/mixed.mjs +2 -63
  105. package/i18n/constants.js +10 -1
  106. package/i18n/constants.mjs +10 -1
  107. package/i18n/languages/ar-AR.js +8 -1
  108. package/i18n/languages/ar-AR.mjs +8 -1
  109. package/i18n/languages/cs-CZ.js +8 -1
  110. package/i18n/languages/cs-CZ.mjs +8 -1
  111. package/i18n/languages/de-CH.js +8 -1
  112. package/i18n/languages/de-CH.mjs +8 -1
  113. package/i18n/languages/de-DE.js +8 -1
  114. package/i18n/languages/de-DE.mjs +8 -1
  115. package/i18n/languages/en-US.js +8 -1
  116. package/i18n/languages/en-US.mjs +8 -1
  117. package/i18n/languages/es-MX.js +8 -1
  118. package/i18n/languages/es-MX.mjs +8 -1
  119. package/i18n/languages/fa-IR.js +8 -1
  120. package/i18n/languages/fa-IR.mjs +8 -1
  121. package/i18n/languages/fr-FR.js +8 -1
  122. package/i18n/languages/fr-FR.mjs +8 -1
  123. package/i18n/languages/hr-HR.js +8 -1
  124. package/i18n/languages/hr-HR.mjs +8 -1
  125. package/i18n/languages/it-IT.js +8 -1
  126. package/i18n/languages/it-IT.mjs +8 -1
  127. package/i18n/languages/ja-JP.js +8 -1
  128. package/i18n/languages/ja-JP.mjs +8 -1
  129. package/i18n/languages/ko-KR.js +8 -1
  130. package/i18n/languages/ko-KR.mjs +8 -1
  131. package/i18n/languages/lv-LV.js +8 -1
  132. package/i18n/languages/lv-LV.mjs +8 -1
  133. package/i18n/languages/nb-NO.js +8 -1
  134. package/i18n/languages/nb-NO.mjs +8 -1
  135. package/i18n/languages/nl-NL.js +8 -1
  136. package/i18n/languages/nl-NL.mjs +8 -1
  137. package/i18n/languages/pl-PL.js +8 -1
  138. package/i18n/languages/pl-PL.mjs +8 -1
  139. package/i18n/languages/pt-BR.js +8 -1
  140. package/i18n/languages/pt-BR.mjs +8 -1
  141. package/i18n/languages/ru-RU.js +8 -1
  142. package/i18n/languages/ru-RU.mjs +8 -1
  143. package/i18n/languages/sr-SP.js +8 -1
  144. package/i18n/languages/sr-SP.mjs +8 -1
  145. package/i18n/languages/zh-CN.js +8 -1
  146. package/i18n/languages/zh-CN.mjs +8 -1
  147. package/i18n/languages/zh-TW.js +8 -1
  148. package/i18n/languages/zh-TW.mjs +8 -1
  149. package/index.d.ts +9 -0
  150. package/languages/all.js +168 -21
  151. package/languages/ar-AR.js +8 -1
  152. package/languages/ar-AR.mjs +8 -1
  153. package/languages/cs-CZ.js +8 -1
  154. package/languages/cs-CZ.mjs +8 -1
  155. package/languages/de-CH.js +8 -1
  156. package/languages/de-CH.mjs +8 -1
  157. package/languages/de-DE.js +8 -1
  158. package/languages/de-DE.mjs +8 -1
  159. package/languages/en-US.js +8 -1
  160. package/languages/en-US.mjs +8 -1
  161. package/languages/es-MX.js +8 -1
  162. package/languages/es-MX.mjs +8 -1
  163. package/languages/fa-IR.js +8 -1
  164. package/languages/fa-IR.mjs +8 -1
  165. package/languages/fr-FR.js +8 -1
  166. package/languages/fr-FR.mjs +8 -1
  167. package/languages/hr-HR.js +8 -1
  168. package/languages/hr-HR.mjs +8 -1
  169. package/languages/index.js +168 -21
  170. package/languages/it-IT.js +8 -1
  171. package/languages/it-IT.mjs +8 -1
  172. package/languages/ja-JP.js +8 -1
  173. package/languages/ja-JP.mjs +8 -1
  174. package/languages/ko-KR.js +8 -1
  175. package/languages/ko-KR.mjs +8 -1
  176. package/languages/lv-LV.js +8 -1
  177. package/languages/lv-LV.mjs +8 -1
  178. package/languages/nb-NO.js +8 -1
  179. package/languages/nb-NO.mjs +8 -1
  180. package/languages/nl-NL.js +8 -1
  181. package/languages/nl-NL.mjs +8 -1
  182. package/languages/pl-PL.js +8 -1
  183. package/languages/pl-PL.mjs +8 -1
  184. package/languages/pt-BR.js +8 -1
  185. package/languages/pt-BR.mjs +8 -1
  186. package/languages/ru-RU.js +8 -1
  187. package/languages/ru-RU.mjs +8 -1
  188. package/languages/sr-SP.js +8 -1
  189. package/languages/sr-SP.mjs +8 -1
  190. package/languages/zh-CN.js +8 -1
  191. package/languages/zh-CN.mjs +8 -1
  192. package/languages/zh-TW.js +8 -1
  193. package/languages/zh-TW.mjs +8 -1
  194. package/package.json +25 -7
  195. package/plugins/autoRowSize/autoRowSize.js +8 -1
  196. package/plugins/autoRowSize/autoRowSize.mjs +8 -1
  197. package/plugins/base/base.js +36 -10
  198. package/plugins/base/base.mjs +36 -10
  199. package/plugins/columnSummary/endpoints.js +13 -3
  200. package/plugins/columnSummary/endpoints.mjs +13 -3
  201. package/plugins/customBorders/customBorders.d.ts +1 -0
  202. package/plugins/customBorders/customBorders.js +32 -2
  203. package/plugins/customBorders/customBorders.mjs +32 -2
  204. package/plugins/dialog/constants.js +7 -0
  205. package/plugins/dialog/constants.mjs +4 -0
  206. package/plugins/dialog/dialog.d.ts +22 -2
  207. package/plugins/dialog/dialog.js +197 -81
  208. package/plugins/dialog/dialog.mjs +196 -81
  209. package/plugins/dialog/templates/base.js +60 -0
  210. package/plugins/dialog/templates/base.mjs +56 -0
  211. package/plugins/dialog/templates/confirm.js +106 -0
  212. package/plugins/dialog/templates/confirm.mjs +102 -0
  213. package/plugins/dialog/templates/index.js +6 -0
  214. package/plugins/dialog/templates/index.mjs +4 -0
  215. package/plugins/dialog/ui.js +125 -41
  216. package/plugins/dialog/ui.mjs +119 -35
  217. package/plugins/emptyDataState/emptyDataState.d.ts +24 -0
  218. package/plugins/emptyDataState/emptyDataState.js +526 -0
  219. package/plugins/emptyDataState/emptyDataState.mjs +521 -0
  220. package/plugins/emptyDataState/index.d.ts +1 -0
  221. package/plugins/emptyDataState/index.js +7 -0
  222. package/plugins/emptyDataState/index.mjs +1 -0
  223. package/plugins/emptyDataState/ui.js +282 -0
  224. package/plugins/emptyDataState/ui.mjs +278 -0
  225. package/plugins/filters/component/value.js +16 -1
  226. package/plugins/filters/component/value.mjs +16 -1
  227. package/plugins/filters/filters.d.ts +5 -1
  228. package/plugins/filters/filters.js +22 -1
  229. package/plugins/filters/filters.mjs +22 -1
  230. package/plugins/filters/ui/multipleSelect.js +90 -79
  231. package/plugins/filters/ui/multipleSelect.mjs +90 -79
  232. package/plugins/index.d.ts +3 -0
  233. package/plugins/index.js +3 -0
  234. package/plugins/index.mjs +3 -1
  235. package/plugins/mergeCells/utils.js +1 -5
  236. package/plugins/mergeCells/utils.mjs +1 -5
  237. package/plugins/pagination/pagination.js +37 -175
  238. package/plugins/pagination/pagination.mjs +37 -175
  239. package/plugins/pagination/strategies/autoPageSize.js +2 -2
  240. package/plugins/pagination/strategies/autoPageSize.mjs +2 -2
  241. package/plugins/pagination/ui.js +6 -10
  242. package/plugins/pagination/ui.mjs +7 -11
  243. package/plugins/stretchColumns/calculator.js +3 -1
  244. package/plugins/stretchColumns/calculator.mjs +3 -1
  245. package/plugins/undoRedo/undoRedo.js +16 -6
  246. package/plugins/undoRedo/undoRedo.mjs +16 -5
  247. package/renderers/checkboxRenderer/checkboxRenderer.js +12 -15
  248. package/renderers/checkboxRenderer/checkboxRenderer.mjs +12 -15
  249. package/selection/selection.js +1 -1
  250. package/selection/selection.mjs +1 -1
  251. package/settings.d.ts +3 -0
  252. package/shortcutContexts/commands/index.js +2 -1
  253. package/shortcutContexts/commands/index.mjs +2 -1
  254. package/shortcutContexts/commands/tabNavigation.js +51 -0
  255. package/shortcutContexts/commands/tabNavigation.mjs +48 -0
  256. package/shortcutContexts/constants.js +16 -1
  257. package/shortcutContexts/constants.mjs +16 -1
  258. package/shortcutContexts/editor.js +2 -2
  259. package/shortcutContexts/editor.mjs +3 -3
  260. package/shortcutContexts/grid.js +19 -3
  261. package/shortcutContexts/grid.mjs +20 -4
  262. package/shortcuts/manager.d.ts +1 -0
  263. package/shortcuts/manager.js +17 -2
  264. package/shortcuts/manager.mjs +17 -2
  265. package/styles/handsontable.css +192 -35
  266. package/styles/handsontable.min.css +3 -3
  267. package/styles/ht-icons-horizon.css +233 -0
  268. package/styles/ht-icons-horizon.min.css +30 -0
  269. package/styles/ht-icons-main.css +233 -0
  270. package/styles/ht-icons-main.min.css +30 -0
  271. package/styles/ht-theme-classic-no-icons.css +399 -0
  272. package/styles/ht-theme-classic-no-icons.min.css +30 -0
  273. package/styles/ht-theme-classic.css +308 -556
  274. package/styles/ht-theme-classic.min.css +3 -3
  275. package/styles/ht-theme-horizon-no-icons.css +405 -0
  276. package/styles/ht-theme-horizon-no-icons.min.css +30 -0
  277. package/styles/ht-theme-horizon.css +312 -556
  278. package/styles/ht-theme-horizon.min.css +3 -3
  279. package/styles/ht-theme-main-no-icons.css +396 -0
  280. package/styles/ht-theme-main-no-icons.min.css +30 -0
  281. package/styles/ht-theme-main.css +303 -556
  282. package/styles/ht-theme-main.min.css +3 -3
  283. package/tableView.js +23 -5
  284. package/tableView.mjs +23 -5
  285. package/utils/dataStructures/uniqueMap.js +10 -0
  286. package/utils/dataStructures/uniqueMap.mjs +10 -0
  287. package/utils/ghostTable.js +0 -3
  288. package/utils/ghostTable.mjs +0 -3
  289. package/utils/stylesHandler.js +19 -4
  290. package/utils/stylesHandler.mjs +19 -4
  291. package/core/focusCatcher/index.js +0 -131
  292. package/core/focusCatcher/index.mjs +0 -127
  293. package/core/focusCatcher/utils.js +0 -31
  294. package/core/focusCatcher/utils.mjs +0 -27
  295. package/plugins/pagination/focusController.js +0 -27
  296. package/plugins/pagination/focusController.mjs +0 -23
@@ -1420,14 +1420,14 @@ var _default = () => {
1420
1420
  * set the `customBorders` option to an array of objects.
1421
1421
  * Each object represents a border configuration for one cell, and has the following properties:
1422
1422
  *
1423
- * | Property | Sub-properties | Types | Description |
1424
- * | -------- | ------------------ | ---------------------------------- | ----------------------------------------------------------------- |
1425
- * | `row` | - | `row`: Number | The cell's row coordinate. |
1426
- * | `col` | - | `col`: Number | The cell's column coordinate. |
1427
- * | `start` | `width`<br>`color` | `width`: Number<br>`color`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `start` sets the width (`width`) and color (`color`) of the left-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `start` sets the width (`width`) and color (`color`) of the right-hand border. |
1428
- * | `end` | `width`<br>`color` | `width`: Number<br>`color`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `end` sets the width (`width`) and color (`color`) of the right-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `end` sets the width (`width`) and color (`color`) of the left-hand border. |
1429
- * | `top` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the top border. |
1430
- * | `bottom` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the bottom border. |
1423
+ * | Property | Sub-properties | Types | Description |
1424
+ * | -------- | ----------------------------- | ----------------------------------------------------- | ----------------------------------------------------------------- |
1425
+ * | `row` | - | `row`: Number | The cell's row coordinate. |
1426
+ * | `col` | - | `col`: Number | The cell's column coordinate. |
1427
+ * | `start` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `start` sets the width (`width`), color (`color`) and style (`style`) of the left-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `start` sets the width (`width`), color (`color`) and style (`style`) of the right-hand border. |
1428
+ * | `end` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `end` sets the width (`width`), color (`color`) and style (`style`) of the right-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `end` sets the width (`width`), color (`color`) and style (`style`) of the left-hand border. |
1429
+ * | `top` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | Sets the width (`width`), color (`color`) and style (`style`) of the top border. |
1430
+ * | `bottom` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | Sets the width (`width`), color (`color`) and style (`style`) of the bottom border. |
1431
1431
  *
1432
1432
  * To enable the [`CustomBorders`](@/api/customBorders.md) plugin
1433
1433
  * and add a predefined border around a range of cells,
@@ -1437,10 +1437,10 @@ var _default = () => {
1437
1437
  * | Property | Sub-properties | Types | Description |
1438
1438
  * | -------- | -------------------------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
1439
1439
  * | `range` | `from` {`row`, `col`}<br>`to` {`row`, `col`} | `from`: Object<br>`to`: Object<br>`row`: Number<br>`col`: Number | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default):<br>- `from` selects the range's top-left corner.<br>- `to` selects the range's bottom-right corner.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: <br>- `from` selects the range's top-right corner.<br>- `to` selects the range's bottom-left corner. |
1440
- * | `start` | `width`<br>`color` | `width`: Number<br>`color`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `start` sets the width (`width`) and color (`color`) of the left-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `start` sets the width (`width`) and color (`color`) of the right-hand border. |
1441
- * | `end` | `width`<br>`color` | `width`: Number<br>`color`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `end` sets the width (`width`) and color (`color`) of the right-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `end` sets the width (`width`) and color (`color`) of the left-hand border. |
1442
- * | `top` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the top border. |
1443
- * | `bottom` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the bottom border. |
1440
+ * | `start` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `start` sets the width (`width`), color (`color`) and style (`style`) of the left-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `start` sets the width (`width`), color (`color`) and style (`style`) of the right-hand border. |
1441
+ * | `end` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `end` sets the width (`width`), color (`color`) and style (`style`) of the right-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `end` sets the width (`width`), color (`color`) and style (`style`) of the left-hand border. |
1442
+ * | `top` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | Sets the width (`width`), color (`color`) and style (`style`) of the top border. |
1443
+ * | `bottom` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | Sets the width (`width`), color (`color`) and style (`style`) of the bottom border. |
1444
1444
  *
1445
1445
  * Read more:
1446
1446
  * - [Formatting cells: Custom cell borders](@/guides/cell-features/formatting-cells/formatting-cells.md#custom-cell-borders)
@@ -1473,10 +1473,11 @@ var _default = () => {
1473
1473
  * width: 2,
1474
1474
  * color: 'red'
1475
1475
  * },
1476
- * // set the right/left border's width and color
1476
+ * // set the right/left border's width, color and style
1477
1477
  * end: {
1478
1478
  * width: 1,
1479
- * color: 'green'
1479
+ * color: 'green',
1480
+ * style: 'dashed'
1480
1481
  * },
1481
1482
  * // set the top border's width and color
1482
1483
  * top: '',
@@ -1503,10 +1504,11 @@ var _default = () => {
1503
1504
  * col: 4
1504
1505
  * }
1505
1506
  * },
1506
- * // set the left/right border's width and color
1507
+ * // set the left/right border's width, color and style
1507
1508
  * start: {
1508
1509
  * width: 2,
1509
- * color: 'red'
1510
+ * color: 'red',
1511
+ * style: 'dashed'
1510
1512
  * },
1511
1513
  * // set the right/left border's width and color
1512
1514
  * end: {},
@@ -1812,6 +1814,14 @@ var _default = () => {
1812
1814
  *
1813
1815
  * | Option | Possible settings | Description |
1814
1816
  * | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------|
1817
+ * | `template` | Object with the template configuration (default: `null`). | The template of the dialog allows to use prebuild templates |
1818
+ * | `template.type` | The type of the template ('confirm') | The type of the template |
1819
+ * | `template.title` | The title of the template | The title of the template |
1820
+ * | `template.description` | The description of the template | The description of the template |
1821
+ * | `template.buttons` | Array of objects with the buttons configuration (default: `[]`) | The buttons of the template |
1822
+ * | `template.buttons.text` | The text of the button | The text of the button |
1823
+ * | `template.buttons.type` | The type of the button ('primary' | 'secondary') | The type of the button |
1824
+ * | `template.buttons.callback` | The callback function to trigger when the button is clicked | The callback function to trigger when the button is clicked |
1815
1825
  * | `content` | A string, HTMLElement or DocumentFragment (default: `''`) | The content of the dialog |
1816
1826
  * | `customClassName` | A string (default: `''`) | The custom class name of the dialog |
1817
1827
  * | `background` | One of the options: `'solid'` or `'semi-transparent'` (default: `'solid'`) | The background of the dialog |
@@ -1819,6 +1829,10 @@ var _default = () => {
1819
1829
  * | `animation` | Boolean (default: `true`) | Whether to show the animation |
1820
1830
  * | `closable` | Boolean (default: `false`) | Whether to make the dialog closable |
1821
1831
  * | `a11y` | Object with accessibility options (default: `{ role: 'dialog', ariaLabel: 'Dialog', ariaLabelledby: '', ariaDescribedby: '' }`) | Accessibility options for the dialog |
1832
+ * | `a11y.role` | The role of the dialog ('dialog' | 'alertdialog') | The role of the dialog |
1833
+ * | `a11y.ariaLabel` | The label of the dialog | The label of the dialog |
1834
+ * | `a11y.ariaLabelledby` | The ID of the element that labels the dialog | The ID of the element that labels the dialog |
1835
+ * | `a11y.ariaDescribedby` | The ID of the element that describes the dialog | The ID of the element that describes the dialog |
1822
1836
  *
1823
1837
  * Read more:
1824
1838
  * - [Plugins: `Dialog`](@/api/dialog.md)
@@ -1850,6 +1864,24 @@ var _default = () => {
1850
1864
  * ariaDescribedby: 'descriptionID',
1851
1865
  * }
1852
1866
  * }
1867
+ *
1868
+ * // enable the Dialog plugin using a template
1869
+ * dialog: {
1870
+ * template: {
1871
+ * type: 'confirm',
1872
+ * title: 'Confirm',
1873
+ * description: 'Do you want change the value?',
1874
+ * buttons: [
1875
+ * {
1876
+ * text: 'Ok',
1877
+ * type: 'primary',
1878
+ * callback: () => {
1879
+ * console.log('Ok');
1880
+ * }
1881
+ * },
1882
+ * ],
1883
+ * },
1884
+ * }
1853
1885
  * ```
1854
1886
  * :::
1855
1887
  *
@@ -1878,6 +1910,17 @@ var _default = () => {
1878
1910
  * }
1879
1911
  * }}
1880
1912
  * />
1913
+ *
1914
+ * // enable the Dialog plugin using a template
1915
+ * <HotTable
1916
+ * dialog={{
1917
+ * template: {
1918
+ * type: 'confirm',
1919
+ * title: 'Confirm',
1920
+ * description: 'Do you want change the value?',
1921
+ * }
1922
+ * }}
1923
+ * />
1881
1924
  * ```
1882
1925
  * :::
1883
1926
  *
@@ -1899,6 +1942,17 @@ var _default = () => {
1899
1942
  * }
1900
1943
  * }
1901
1944
  * };
1945
+ *
1946
+ * // enable the Dialog plugin using a template
1947
+ * settings = {
1948
+ * dialog: {
1949
+ * template: {
1950
+ * type: 'confirm',
1951
+ * title: 'Confirm',
1952
+ * description: 'Do you want change the value?',
1953
+ * }
1954
+ * }
1955
+ * };
1902
1956
  * ```
1903
1957
  *
1904
1958
  * ```html
@@ -2050,6 +2104,89 @@ var _default = () => {
2050
2104
  * ```
2051
2105
  */
2052
2106
  editor: undefined,
2107
+ /**
2108
+ * @description
2109
+ * The `emptyDataState` option configures the [`EmptyDataState`](@/api/emptyDataState.md) plugin.
2110
+ *
2111
+ * You can set the `emptyDataState` option to one of the following:
2112
+ *
2113
+ * | Setting | Description |
2114
+ * | --------- | ---------------------------------------------------------------------------------- |
2115
+ * | `false` | Disable the [`EmptyDataState`](@/api/emptyDataState.md) plugin |
2116
+ * | `true` | Enable the [`EmptyDataState`](@/api/emptyDataState.md) plugin |
2117
+ * | An object | Enable the [`EmptyDataState`](@/api/emptyDataState.md) plugin with custom settings |
2118
+ *
2119
+ * If you set the `emptyDataState` option to an object, you can configure the following settings:
2120
+ *
2121
+ * | Property | Possible values | Description |
2122
+ * | -------- | ---------------------------------- | --------------------------------------------------- |
2123
+ * | `message` | `string` \| `object` \| `function` | Message to display in the empty data state overlay. |
2124
+ *
2125
+ * If you set the `message` option to an object, it have following properties:
2126
+ *
2127
+ * | Property | Possible values | Description |
2128
+ * | ------------- | --------------- | ------------------------------------------------------- |
2129
+ * | `title` | `string` | Title to display in the empty data state overlay. |
2130
+ * | `description` | `string` | Description to display in the empty data state overlay. |
2131
+ * | `buttons` | `array` | Buttons to display in the empty data state overlay. |
2132
+ *
2133
+ * If you set the `buttons` option to an array, each item requires following properties:
2134
+ *
2135
+ * | Property | Possible values | Description |
2136
+ * | ---------- | ------------------------ | ------------------------------------------------------------ |
2137
+ * | `text` | `string` | Text to display in the button. |
2138
+ * | `type` | 'primary' \| 'secondary' | Type of the button. |
2139
+ * | `callback` | `function` | Callback function to call when the button is clicked. |
2140
+ *
2141
+ * Read more:
2142
+ * - [Plugins: `EmptyDataState`](@/api/emptyDataState.md)
2143
+ *
2144
+ * @since 16.2.0
2145
+ * @memberof Options#
2146
+ * @type {boolean|object}
2147
+ * @default false
2148
+ * @category EmptyDataState
2149
+ *
2150
+ * @example
2151
+ * ```js
2152
+ * // Enable empty data state plugin with default messages
2153
+ * emptyDataState: true,
2154
+ *
2155
+ * // Enable empty data state plugin with custom message
2156
+ * emptyDataState: {
2157
+ * message: 'No data available',
2158
+ * },
2159
+ *
2160
+ * // Enable empty data state plugin with custom message and buttons for any source
2161
+ * emptyDataState: {
2162
+ * message: {
2163
+ * title: 'No data available',
2164
+ * description: 'There’s nothing to display yet.',
2165
+ * buttons: [{ text: 'Reset filters', type: 'secondary', callback: () => {} }],
2166
+ * },
2167
+ * },
2168
+ *
2169
+ * // Enable empty data state plugin with custom message and buttons for specific source
2170
+ * emptyDataState: {
2171
+ * message: (source) => {
2172
+ * switch (source) {
2173
+ * case "filters":
2174
+ * return {
2175
+ * title: 'No data available',
2176
+ * description: 'There’s nothing to display yet.',
2177
+ * buttons: [{ text: 'Reset filters', type: 'secondary', callback: () => {} }],
2178
+ * };
2179
+ * default:
2180
+ * return {
2181
+ * title: 'No data available',
2182
+ * description: 'There’s nothing to display yet.',
2183
+ * };
2184
+ * }
2185
+ * },
2186
+ * },
2187
+ * ```
2188
+ */
2189
+ emptyDataState: false,
2053
2190
  /**
2054
2191
  * The `enterBeginsEditing` option configures the action of the <kbd>**Enter**</kbd> key.
2055
2192
  *
@@ -2256,10 +2393,19 @@ var _default = () => {
2256
2393
  *
2257
2394
  * You can set the `filters` option to one of the following:
2258
2395
  *
2259
- * | Setting | Description |
2260
- * | ------- | ------------------------------------------------ |
2261
- * | `false` | Disable the [`Filters`](@/api/filters.md) plugin |
2262
- * | `true` | Enable the [`Filters`](@/api/filters.md) plugin |
2396
+ * | Setting | Description |
2397
+ * | --------- | -------------------------------------------------------------------- |
2398
+ * | `false` | Disable the [`Filters`](@/api/filters.md) plugin |
2399
+ * | `true` | Enable the [`Filters`](@/api/filters.md) plugin |
2400
+ * | An object | Enable the [`Filters`](@/api/filters.md) plugin with custom settings |
2401
+ *
2402
+ * If you set the `filters` option to an object, you can configure the following settings:
2403
+ *
2404
+ * | Property | Possible values | Description |
2405
+ * | ------------------------ | ----------------- | -------------------------------------- |
2406
+ * | `searchMode` | `'show'` \| `'apply'` | Enable filtering only visible elements |
2407
+ *
2408
+ * If filers is set to `true`, the `searchMode` option is set to `'show'` by default.
2263
2409
  *
2264
2410
  * Read more:
2265
2411
  * - [Column filter](@/guides/columns/column-filter/column-filter.md)
@@ -3282,6 +3428,37 @@ var _default = () => {
3282
3428
  * ```
3283
3429
  */
3284
3430
  minCols: 0,
3431
+ /**
3432
+ * Alias for the [`rowHeights`](#rowHeights) option.
3433
+ *
3434
+ * See the [`rowHeights`](#rowHeights) option description for more information.
3435
+ *
3436
+ * @since 16.2.0
3437
+ * @memberof Options#
3438
+ * @type {number|number[]|string|string[]|Array<undefined>|Function}
3439
+ * @default undefined
3440
+ * @category Core
3441
+ *
3442
+ * @example
3443
+ * ```js
3444
+ * // set every row's minimum height to 100px
3445
+ * minRowHeights: 100,
3446
+ *
3447
+ * // set every row's minimum height to 100px
3448
+ * minRowHeights: '100px',
3449
+ *
3450
+ * // set the first (by visual index) row's minimum height to 100
3451
+ * // set the second (by visual index) row's minimum height to 120
3452
+ * // set any other row's minimum height to the default height value
3453
+ * minRowHeights: [100, 120],
3454
+ *
3455
+ * // set each row's minimum height individually, using a function
3456
+ * minRowHeights(visualRowIndex) {
3457
+ * return visualRowIndex * 10;
3458
+ * },
3459
+ * ```
3460
+ */
3461
+ minRowHeights: undefined,
3285
3462
  /**
3286
3463
  * The `minRows` option sets a minimum number of rows.
3287
3464
  *
@@ -1417,14 +1417,14 @@ export default () => {
1417
1417
  * set the `customBorders` option to an array of objects.
1418
1418
  * Each object represents a border configuration for one cell, and has the following properties:
1419
1419
  *
1420
- * | Property | Sub-properties | Types | Description |
1421
- * | -------- | ------------------ | ---------------------------------- | ----------------------------------------------------------------- |
1422
- * | `row` | - | `row`: Number | The cell's row coordinate. |
1423
- * | `col` | - | `col`: Number | The cell's column coordinate. |
1424
- * | `start` | `width`<br>`color` | `width`: Number<br>`color`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `start` sets the width (`width`) and color (`color`) of the left-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `start` sets the width (`width`) and color (`color`) of the right-hand border. |
1425
- * | `end` | `width`<br>`color` | `width`: Number<br>`color`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `end` sets the width (`width`) and color (`color`) of the right-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `end` sets the width (`width`) and color (`color`) of the left-hand border. |
1426
- * | `top` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the top border. |
1427
- * | `bottom` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the bottom border. |
1420
+ * | Property | Sub-properties | Types | Description |
1421
+ * | -------- | ----------------------------- | ----------------------------------------------------- | ----------------------------------------------------------------- |
1422
+ * | `row` | - | `row`: Number | The cell's row coordinate. |
1423
+ * | `col` | - | `col`: Number | The cell's column coordinate. |
1424
+ * | `start` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `start` sets the width (`width`), color (`color`) and style (`style`) of the left-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `start` sets the width (`width`), color (`color`) and style (`style`) of the right-hand border. |
1425
+ * | `end` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `end` sets the width (`width`), color (`color`) and style (`style`) of the right-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `end` sets the width (`width`), color (`color`) and style (`style`) of the left-hand border. |
1426
+ * | `top` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | Sets the width (`width`), color (`color`) and style (`style`) of the top border. |
1427
+ * | `bottom` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | Sets the width (`width`), color (`color`) and style (`style`) of the bottom border. |
1428
1428
  *
1429
1429
  * To enable the [`CustomBorders`](@/api/customBorders.md) plugin
1430
1430
  * and add a predefined border around a range of cells,
@@ -1434,10 +1434,10 @@ export default () => {
1434
1434
  * | Property | Sub-properties | Types | Description |
1435
1435
  * | -------- | -------------------------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
1436
1436
  * | `range` | `from` {`row`, `col`}<br>`to` {`row`, `col`} | `from`: Object<br>`to`: Object<br>`row`: Number<br>`col`: Number | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default):<br>- `from` selects the range's top-left corner.<br>- `to` selects the range's bottom-right corner.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: <br>- `from` selects the range's top-right corner.<br>- `to` selects the range's bottom-left corner. |
1437
- * | `start` | `width`<br>`color` | `width`: Number<br>`color`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `start` sets the width (`width`) and color (`color`) of the left-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `start` sets the width (`width`) and color (`color`) of the right-hand border. |
1438
- * | `end` | `width`<br>`color` | `width`: Number<br>`color`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `end` sets the width (`width`) and color (`color`) of the right-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `end` sets the width (`width`) and color (`color`) of the left-hand border. |
1439
- * | `top` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the top border. |
1440
- * | `bottom` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the bottom border. |
1437
+ * | `start` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `start` sets the width (`width`), color (`color`) and style (`style`) of the left-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `start` sets the width (`width`), color (`color`) and style (`style`) of the right-hand border. |
1438
+ * | `end` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is LTR (default): `end` sets the width (`width`), color (`color`) and style (`style`) of the right-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction/layout-direction.md) is RTL: `end` sets the width (`width`), color (`color`) and style (`style`) of the left-hand border. |
1439
+ * | `top` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | Sets the width (`width`), color (`color`) and style (`style`) of the top border. |
1440
+ * | `bottom` | `width`<br>`color`<br>`style` | `width`: Number<br>`color`: String<br>`style`: String | Sets the width (`width`), color (`color`) and style (`style`) of the bottom border. |
1441
1441
  *
1442
1442
  * Read more:
1443
1443
  * - [Formatting cells: Custom cell borders](@/guides/cell-features/formatting-cells/formatting-cells.md#custom-cell-borders)
@@ -1470,10 +1470,11 @@ export default () => {
1470
1470
  * width: 2,
1471
1471
  * color: 'red'
1472
1472
  * },
1473
- * // set the right/left border's width and color
1473
+ * // set the right/left border's width, color and style
1474
1474
  * end: {
1475
1475
  * width: 1,
1476
- * color: 'green'
1476
+ * color: 'green',
1477
+ * style: 'dashed'
1477
1478
  * },
1478
1479
  * // set the top border's width and color
1479
1480
  * top: '',
@@ -1500,10 +1501,11 @@ export default () => {
1500
1501
  * col: 4
1501
1502
  * }
1502
1503
  * },
1503
- * // set the left/right border's width and color
1504
+ * // set the left/right border's width, color and style
1504
1505
  * start: {
1505
1506
  * width: 2,
1506
- * color: 'red'
1507
+ * color: 'red',
1508
+ * style: 'dashed'
1507
1509
  * },
1508
1510
  * // set the right/left border's width and color
1509
1511
  * end: {},
@@ -1809,6 +1811,14 @@ export default () => {
1809
1811
  *
1810
1812
  * | Option | Possible settings | Description |
1811
1813
  * | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------|
1814
+ * | `template` | Object with the template configuration (default: `null`). | The template of the dialog allows to use prebuild templates |
1815
+ * | `template.type` | The type of the template ('confirm') | The type of the template |
1816
+ * | `template.title` | The title of the template | The title of the template |
1817
+ * | `template.description` | The description of the template | The description of the template |
1818
+ * | `template.buttons` | Array of objects with the buttons configuration (default: `[]`) | The buttons of the template |
1819
+ * | `template.buttons.text` | The text of the button | The text of the button |
1820
+ * | `template.buttons.type` | The type of the button ('primary' | 'secondary') | The type of the button |
1821
+ * | `template.buttons.callback` | The callback function to trigger when the button is clicked | The callback function to trigger when the button is clicked |
1812
1822
  * | `content` | A string, HTMLElement or DocumentFragment (default: `''`) | The content of the dialog |
1813
1823
  * | `customClassName` | A string (default: `''`) | The custom class name of the dialog |
1814
1824
  * | `background` | One of the options: `'solid'` or `'semi-transparent'` (default: `'solid'`) | The background of the dialog |
@@ -1816,6 +1826,10 @@ export default () => {
1816
1826
  * | `animation` | Boolean (default: `true`) | Whether to show the animation |
1817
1827
  * | `closable` | Boolean (default: `false`) | Whether to make the dialog closable |
1818
1828
  * | `a11y` | Object with accessibility options (default: `{ role: 'dialog', ariaLabel: 'Dialog', ariaLabelledby: '', ariaDescribedby: '' }`) | Accessibility options for the dialog |
1829
+ * | `a11y.role` | The role of the dialog ('dialog' | 'alertdialog') | The role of the dialog |
1830
+ * | `a11y.ariaLabel` | The label of the dialog | The label of the dialog |
1831
+ * | `a11y.ariaLabelledby` | The ID of the element that labels the dialog | The ID of the element that labels the dialog |
1832
+ * | `a11y.ariaDescribedby` | The ID of the element that describes the dialog | The ID of the element that describes the dialog |
1819
1833
  *
1820
1834
  * Read more:
1821
1835
  * - [Plugins: `Dialog`](@/api/dialog.md)
@@ -1847,6 +1861,24 @@ export default () => {
1847
1861
  * ariaDescribedby: 'descriptionID',
1848
1862
  * }
1849
1863
  * }
1864
+ *
1865
+ * // enable the Dialog plugin using a template
1866
+ * dialog: {
1867
+ * template: {
1868
+ * type: 'confirm',
1869
+ * title: 'Confirm',
1870
+ * description: 'Do you want change the value?',
1871
+ * buttons: [
1872
+ * {
1873
+ * text: 'Ok',
1874
+ * type: 'primary',
1875
+ * callback: () => {
1876
+ * console.log('Ok');
1877
+ * }
1878
+ * },
1879
+ * ],
1880
+ * },
1881
+ * }
1850
1882
  * ```
1851
1883
  * :::
1852
1884
  *
@@ -1875,6 +1907,17 @@ export default () => {
1875
1907
  * }
1876
1908
  * }}
1877
1909
  * />
1910
+ *
1911
+ * // enable the Dialog plugin using a template
1912
+ * <HotTable
1913
+ * dialog={{
1914
+ * template: {
1915
+ * type: 'confirm',
1916
+ * title: 'Confirm',
1917
+ * description: 'Do you want change the value?',
1918
+ * }
1919
+ * }}
1920
+ * />
1878
1921
  * ```
1879
1922
  * :::
1880
1923
  *
@@ -1896,6 +1939,17 @@ export default () => {
1896
1939
  * }
1897
1940
  * }
1898
1941
  * };
1942
+ *
1943
+ * // enable the Dialog plugin using a template
1944
+ * settings = {
1945
+ * dialog: {
1946
+ * template: {
1947
+ * type: 'confirm',
1948
+ * title: 'Confirm',
1949
+ * description: 'Do you want change the value?',
1950
+ * }
1951
+ * }
1952
+ * };
1899
1953
  * ```
1900
1954
  *
1901
1955
  * ```html
@@ -2047,6 +2101,89 @@ export default () => {
2047
2101
  * ```
2048
2102
  */
2049
2103
  editor: undefined,
2104
+ /**
2105
+ * @description
2106
+ * The `emptyDataState` option configures the [`EmptyDataState`](@/api/emptyDataState.md) plugin.
2107
+ *
2108
+ * You can set the `emptyDataState` option to one of the following:
2109
+ *
2110
+ * | Setting | Description |
2111
+ * | --------- | ---------------------------------------------------------------------------------- |
2112
+ * | `false` | Disable the [`EmptyDataState`](@/api/emptyDataState.md) plugin |
2113
+ * | `true` | Enable the [`EmptyDataState`](@/api/emptyDataState.md) plugin |
2114
+ * | An object | Enable the [`EmptyDataState`](@/api/emptyDataState.md) plugin with custom settings |
2115
+ *
2116
+ * If you set the `emptyDataState` option to an object, you can configure the following settings:
2117
+ *
2118
+ * | Property | Possible values | Description |
2119
+ * | -------- | ---------------------------------- | --------------------------------------------------- |
2120
+ * | `message` | `string` \| `object` \| `function` | Message to display in the empty data state overlay. |
2121
+ *
2122
+ * If you set the `message` option to an object, it have following properties:
2123
+ *
2124
+ * | Property | Possible values | Description |
2125
+ * | ------------- | --------------- | ------------------------------------------------------- |
2126
+ * | `title` | `string` | Title to display in the empty data state overlay. |
2127
+ * | `description` | `string` | Description to display in the empty data state overlay. |
2128
+ * | `buttons` | `array` | Buttons to display in the empty data state overlay. |
2129
+ *
2130
+ * If you set the `buttons` option to an array, each item requires following properties:
2131
+ *
2132
+ * | Property | Possible values | Description |
2133
+ * | ---------- | ------------------------ | ------------------------------------------------------------ |
2134
+ * | `text` | `string` | Text to display in the button. |
2135
+ * | `type` | 'primary' \| 'secondary' | Type of the button. |
2136
+ * | `callback` | `function` | Callback function to call when the button is clicked. |
2137
+ *
2138
+ * Read more:
2139
+ * - [Plugins: `EmptyDataState`](@/api/emptyDataState.md)
2140
+ *
2141
+ * @since 16.2.0
2142
+ * @memberof Options#
2143
+ * @type {boolean|object}
2144
+ * @default false
2145
+ * @category EmptyDataState
2146
+ *
2147
+ * @example
2148
+ * ```js
2149
+ * // Enable empty data state plugin with default messages
2150
+ * emptyDataState: true,
2151
+ *
2152
+ * // Enable empty data state plugin with custom message
2153
+ * emptyDataState: {
2154
+ * message: 'No data available',
2155
+ * },
2156
+ *
2157
+ * // Enable empty data state plugin with custom message and buttons for any source
2158
+ * emptyDataState: {
2159
+ * message: {
2160
+ * title: 'No data available',
2161
+ * description: 'There’s nothing to display yet.',
2162
+ * buttons: [{ text: 'Reset filters', type: 'secondary', callback: () => {} }],
2163
+ * },
2164
+ * },
2165
+ *
2166
+ * // Enable empty data state plugin with custom message and buttons for specific source
2167
+ * emptyDataState: {
2168
+ * message: (source) => {
2169
+ * switch (source) {
2170
+ * case "filters":
2171
+ * return {
2172
+ * title: 'No data available',
2173
+ * description: 'There’s nothing to display yet.',
2174
+ * buttons: [{ text: 'Reset filters', type: 'secondary', callback: () => {} }],
2175
+ * };
2176
+ * default:
2177
+ * return {
2178
+ * title: 'No data available',
2179
+ * description: 'There’s nothing to display yet.',
2180
+ * };
2181
+ * }
2182
+ * },
2183
+ * },
2184
+ * ```
2185
+ */
2186
+ emptyDataState: false,
2050
2187
  /**
2051
2188
  * The `enterBeginsEditing` option configures the action of the <kbd>**Enter**</kbd> key.
2052
2189
  *
@@ -2253,10 +2390,19 @@ export default () => {
2253
2390
  *
2254
2391
  * You can set the `filters` option to one of the following:
2255
2392
  *
2256
- * | Setting | Description |
2257
- * | ------- | ------------------------------------------------ |
2258
- * | `false` | Disable the [`Filters`](@/api/filters.md) plugin |
2259
- * | `true` | Enable the [`Filters`](@/api/filters.md) plugin |
2393
+ * | Setting | Description |
2394
+ * | --------- | -------------------------------------------------------------------- |
2395
+ * | `false` | Disable the [`Filters`](@/api/filters.md) plugin |
2396
+ * | `true` | Enable the [`Filters`](@/api/filters.md) plugin |
2397
+ * | An object | Enable the [`Filters`](@/api/filters.md) plugin with custom settings |
2398
+ *
2399
+ * If you set the `filters` option to an object, you can configure the following settings:
2400
+ *
2401
+ * | Property | Possible values | Description |
2402
+ * | ------------------------ | ----------------- | -------------------------------------- |
2403
+ * | `searchMode` | `'show'` \| `'apply'` | Enable filtering only visible elements |
2404
+ *
2405
+ * If filers is set to `true`, the `searchMode` option is set to `'show'` by default.
2260
2406
  *
2261
2407
  * Read more:
2262
2408
  * - [Column filter](@/guides/columns/column-filter/column-filter.md)
@@ -3279,6 +3425,37 @@ export default () => {
3279
3425
  * ```
3280
3426
  */
3281
3427
  minCols: 0,
3428
+ /**
3429
+ * Alias for the [`rowHeights`](#rowHeights) option.
3430
+ *
3431
+ * See the [`rowHeights`](#rowHeights) option description for more information.
3432
+ *
3433
+ * @since 16.2.0
3434
+ * @memberof Options#
3435
+ * @type {number|number[]|string|string[]|Array<undefined>|Function}
3436
+ * @default undefined
3437
+ * @category Core
3438
+ *
3439
+ * @example
3440
+ * ```js
3441
+ * // set every row's minimum height to 100px
3442
+ * minRowHeights: 100,
3443
+ *
3444
+ * // set every row's minimum height to 100px
3445
+ * minRowHeights: '100px',
3446
+ *
3447
+ * // set the first (by visual index) row's minimum height to 100
3448
+ * // set the second (by visual index) row's minimum height to 120
3449
+ * // set any other row's minimum height to the default height value
3450
+ * minRowHeights: [100, 120],
3451
+ *
3452
+ * // set each row's minimum height individually, using a function
3453
+ * minRowHeights(visualRowIndex) {
3454
+ * return visualRowIndex * 10;
3455
+ * },
3456
+ * ```
3457
+ */
3458
+ minRowHeights: undefined,
3282
3459
  /**
3283
3460
  * The `minRows` option sets a minimum number of rows.
3284
3461
  *