@sheetxl/sdk 0.8.0-beta.15 → 0.8.0-beta.17

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 (195) hide show
  1. package/LICENSE.md +8 -7
  2. package/browser/esm/{DDQtExVGSoCzAf6-.mjs → B-Q1-7RgSnA75J32.mjs} +506 -502
  3. package/browser/esm/{Cl3jq6y4Idilod82.mjs → BI6NwRrdLCbPdz6f.mjs} +3 -3
  4. package/browser/esm/{Blo0Hwg2ojXt99Dl.mjs → BWNQcQyx8wt6huOq.mjs} +2 -2
  5. package/browser/esm/{Do8TQqQvnFXRlFu-.mjs → BY_-BTa5h6HnnZ1W.mjs} +3 -3
  6. package/browser/esm/{D4ZCoKyNCJvDQAkx.mjs → BlkstmZEklk6Y1QD.mjs} +23 -22
  7. package/browser/esm/{DpaqR081c-Q7WemN.mjs → BuKA3E-Ev8Dp5W2I.mjs} +2 -2
  8. package/browser/esm/{Bbrhl946_QbCz5WS.mjs → Byp_bvP9G-tN6hcz.mjs} +588 -587
  9. package/browser/esm/{CMSeF5rGzeuMUydM.mjs → C0o6WpBojS7XhV5m.mjs} +3 -3
  10. package/browser/esm/CAjITJT3eLst9Rhi.mjs +686 -0
  11. package/browser/esm/{CZ_ZPliIkoh8BViV.mjs → CFywn1iiD35nNNUP.mjs} +10 -10
  12. package/browser/esm/{DJNLo8Rd_5UQP0U5.mjs → CHByUyHFA3ESf7DX.mjs} +2 -2
  13. package/browser/esm/CLT3qGy_brDIwbYd.mjs +2017 -0
  14. package/browser/esm/{Blo0jHze0bQxnKh4.mjs → CVV4xqwD8gIjYj1E.mjs} +78 -78
  15. package/browser/esm/{FHp0QfwZMIfP0Sry.mjs → CWkaF7gYWCkW7vDA.mjs} +2 -2
  16. package/browser/esm/{CNM5d4p0Y7In0rTf.mjs → DCs7bk-yx0UhCvQ4.mjs} +3 -3
  17. package/browser/esm/{BsGN0Tk0jVc2n0hy.mjs → DDNerAeet8uDYKhf.mjs} +3 -3
  18. package/browser/esm/{D6OqcO9IWPaY211T.mjs → DGUOlgm1_WFmf_xO.mjs} +2 -2
  19. package/browser/esm/{Dp4OIVjjAVhpD815.mjs → DJTEQZiR9IFTuN_4.mjs} +3 -3
  20. package/browser/esm/{KgTozk3nvOZzEG27.mjs → DJrnSjYjFxJvpQiH.mjs} +2 -2
  21. package/browser/esm/{D0KMmRjGOQUs7Ls-.mjs → DTXsi--x2wgqgwtf.mjs} +3 -3
  22. package/browser/esm/{CPUobTehcKZllBDS.mjs → DUB6Oj_aiV3f8s5_.mjs} +51 -49
  23. package/browser/esm/{Bw66vzKThXKvXvPI.mjs → DW3kFc5t4Wnh5E9S.mjs} +2 -2
  24. package/browser/esm/{BzG0p8RdGDWHttVr.mjs → DkmqFp_-iUIy_l3D.mjs} +4 -4
  25. package/browser/esm/{zjEXdQiQruTkUyf5.mjs → Dlk1kRgkiBIpUxd9.mjs} +22 -22
  26. package/browser/esm/{tm7XJ-Zd_04xWKG6.mjs → DnMFW_oKYQxRjP1l.mjs} +2 -2
  27. package/browser/esm/{DA4S5eqog20pG7b2.mjs → DrmOaEx6CQ91zBsP.mjs} +29 -29
  28. package/browser/esm/{D8PxKK6OrmancpLT.mjs → DsWDvmky7CgzX_7W.mjs} +3 -3
  29. package/browser/esm/{DMbcmIZ-G2fbWn8v.mjs → Dx_dZ7jrw5Hxeoot.mjs} +2 -2
  30. package/browser/esm/{BN1MW1nuBndrzryn.mjs → Dy0TAi9WafVT8eke.mjs} +3 -3
  31. package/browser/esm/{L7SKr6r1tmMwFx6Q.mjs → JmmPE8Vsj85wdV8H.mjs} +2 -2
  32. package/browser/esm/{CIab4UYcHQQKTHeD.mjs → O970I8lbI7okqG7N.mjs} +404 -404
  33. package/browser/esm/{DwH4H_p6gTAcpQ17.mjs → WR3-xqcK1gF3ewAR.mjs} +4 -4
  34. package/browser/esm/XHhDDWrJiZJgWxPM.mjs +165 -0
  35. package/browser/esm/{KsfZhE6ocmYobGjY.mjs → YwDdO4YwcIE4OB0D.mjs} +2 -2
  36. package/browser/esm/aYpwVCDSwMUuz147.mjs +527 -0
  37. package/browser/esm/{BGPT-k25jo0UhtT5.mjs → gQzj95vSMXdKhpWf.mjs} +29032 -24101
  38. package/browser/esm/index.mjs +886 -578
  39. package/browser/esm/{CxhXbk-5XhaK8UNs.mjs → jotvQFBWO2jXAhWx.mjs} +2 -2
  40. package/browser/esm/{CWyzk_3eDCR9bKq6.mjs → mufbL88lyIKJEWyP.mjs} +1528 -1433
  41. package/browser/esm/{BVsG6Vpvb1ZzpURJ.mjs → qNv1x-Ny9TPbvZzj.mjs} +2 -2
  42. package/browser/esm/{XrasOsWQ-64jwMn1.mjs → taTjDyUIIxq2eClH.mjs} +4 -4
  43. package/browser/esm/{CqzKBrmmV-fWRoK7.mjs → yudASWe8CWXYcGt3.mjs} +22 -22
  44. package/licenses/dependencies.txt +69 -69
  45. package/node/esm/{CjwmkzMtjj6OMJbO.mjs → -q1xF3_2jmk3QHIY.mjs} +487 -483
  46. package/node/esm/{DDIiQZTdeY4vdK8_.mjs → 7ZwdVIsOdcziHpMD.mjs} +189 -189
  47. package/node/esm/{C7h7SvhWNwQ9TfGh.mjs → B6BQYUDRxbRnzca4.mjs} +4 -4
  48. package/node/esm/{DjsOfZn5vYpB7L6U.mjs → B8MYgBe4XICBSROW.mjs} +52 -50
  49. package/node/esm/{B8KEX44VZTFTTKb3.mjs → BBUVvO9Ma1RzbKux.mjs} +3 -3
  50. package/node/esm/{D9RwzPR5s2mWrbCQ.mjs → BQko-9y6mf2oQK7u.mjs} +2 -2
  51. package/node/esm/{BNiG1ISiMjs-G2mE.mjs → BSlFO0_8UZ38gfeE.mjs} +22 -22
  52. package/node/esm/{DUft-qpAS4MMANwG.mjs → Bgy7uWJVGwkN7AlD.mjs} +3 -3
  53. package/node/esm/{DyIASfKKPuNl5Xx-.mjs → BhosJbKOPgbJSZMY.mjs} +2 -2
  54. package/node/esm/BoLecFnIxhYKGor-.mjs +2040 -0
  55. package/node/esm/{WBHD7ECKG6HZ5UpY.mjs → BwyoLlHutolJw7OW.mjs} +2 -2
  56. package/node/esm/{Dh8o-woVpmUL50BD.mjs → CDgUHRW6vSASfqNr.mjs} +2 -2
  57. package/node/esm/{BZ0IRjh2hYuI86xW.mjs → CHS84ZGEoH6aeHsZ.mjs} +31 -30
  58. package/node/esm/{BRnNpoS8VpkAhdVk.mjs → CIlH2fSEpdYBZwUA.mjs} +2 -2
  59. package/node/esm/{BlzPuXtKvF3Qfr0p.mjs → CIxb44vA81H9lRip.mjs} +2 -2
  60. package/node/esm/{Cx9nQSsuyqhayyBS.mjs → Cb1-r2RCxcJZB6fM.mjs} +32675 -27215
  61. package/node/esm/{DKdFasYVvjAitASZ.mjs → CjCqcGyCYGkaMQI9.mjs} +2 -2
  62. package/node/esm/{D7ia4o3y5Wvl__9Y.mjs → ClJJC8tBpgsqHwdn.mjs} +2 -2
  63. package/node/esm/{C-JEySqMuKdpcKe0.mjs → Cle-_21jebWv_-D4.mjs} +3 -3
  64. package/node/esm/{j8DqCwPgfIPICFtf.mjs → D51xu0rubo34Ppeg.mjs} +1005 -1004
  65. package/node/esm/{Ddd1y3TP0kqnnSs7.mjs → DCSJKgcCQzOV-dMJ.mjs} +3 -3
  66. package/node/esm/{ZtF9EuipL7Z9Iwfs.mjs → DCaLNIs-_4Y6hJ8S.mjs} +2 -2
  67. package/node/esm/DTkV7IK2_ODMJAP5.mjs +115 -0
  68. package/node/esm/DfbVTAhNutxM74E8.mjs +169 -0
  69. package/node/esm/{DVejVdSBXzAFQbqo.mjs → DfrxGbxxowFmm3SF.mjs} +2 -2
  70. package/node/esm/{DW3u4bBJIUaHZ6m-.mjs → DgsBYF3xbjgx9Mzp.mjs} +2 -2
  71. package/node/esm/{CHBlLTJaoPUVxA2J.mjs → DxnBYzOueAKEqaQT.mjs} +22 -22
  72. package/node/esm/M3jahkTgfUxGyeZv.mjs +530 -0
  73. package/node/esm/{-afI0SRg_vgXtea7.mjs → NnrDjio_xwTBs05n.mjs} +3 -3
  74. package/node/esm/{BqvqbFsPQB0gEvwF.mjs → OCrS6pBT6lGRu82d.mjs} +1762 -1674
  75. package/node/esm/XhDjStxKy-dd3WKa.mjs +199 -0
  76. package/node/esm/{D9zb5xVRehABdbXL.mjs → Yo7_havHbr9VL8R4.mjs} +2 -2
  77. package/node/esm/{MtRwC1PMkOEb1Nty.mjs → btVWSwUwMjM0J5fS.mjs} +3 -3
  78. package/node/esm/{DQqXPS05dvF0F-gh.mjs → cRz94rkuvDrA8mr9.mjs} +2 -2
  79. package/node/esm/{BfXLtDqsXXYeZ6LX.mjs → fwfAgq8qIADcHmY4.mjs} +78 -78
  80. package/node/esm/index.mjs +913 -598
  81. package/node/esm/{OnkJkCGFDjamqIUQ.mjs → jqBKdf9DG54xqpaw.mjs} +3 -3
  82. package/node/esm/{C6b4rM62pIWIywlM.mjs → nxxwAZZF8NsdErJW.mjs} +2 -2
  83. package/node/esm/{B07QPde9GloqsW8e.mjs → oGGVbqahqfK45-Uz.mjs} +4 -4
  84. package/node/esm/{BlHlBRvKGt-4CS0A.mjs → zh6vcRzFqdV1aYh5.mjs} +2 -2
  85. package/package.json +7 -7
  86. package/resources/locales/de/model.msg.json +82 -1
  87. package/resources/locales/en/model.msg.json +80 -1
  88. package/types/scripting-api.json +9967 -9497
  89. package/types/scripting-enums.json +27 -0
  90. package/types/scripting.d.ts +2282 -166
  91. package/types/src/.generated/wasm/sdk.d.ts +332 -0
  92. package/types/src/calculation/Calculation.d.ts +8 -0
  93. package/types/src/calculation/ICalculation.d.ts +51 -0
  94. package/types/src/calculation/compiler/Types.d.ts +5 -0
  95. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +1 -1
  96. package/types/src/calculation/formula/FormulaBlock.d.ts +2 -0
  97. package/types/src/calculation/formula/IFormulaBlock.d.ts +18 -0
  98. package/types/src/calculation/grid/CalcGrid.d.ts +5 -1
  99. package/types/src/calculation/grid/CalcGridBackend.d.ts +36 -1
  100. package/types/src/calculation/grid/CalcGridProxy.d.ts +2 -0
  101. package/types/src/calculation/grid/CalcGridUtils.d.ts +4 -2
  102. package/types/src/calculation/grid/FormulaHost.d.ts +3 -1
  103. package/types/src/calculation/grid/ICalcGrid.d.ts +88 -0
  104. package/types/src/calculation/grid/_CalcRequest.d.ts +9 -0
  105. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +2 -0
  106. package/types/src/calculation/spatial/SpillEntry.d.ts +55 -4
  107. package/types/src/calculation/state/CalcNode.d.ts +6 -3
  108. package/types/src/calculation/state/CalculationContext.d.ts +4 -2
  109. package/types/src/calculation/state/_PivotView.d.ts +22 -0
  110. package/types/src/cell/ICell.d.ts +1 -21
  111. package/types/src/cellRange/ICellRange.d.ts +18 -2
  112. package/types/src/collections/MixedTypedArrayList.d.ts +16 -2
  113. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +10 -0
  114. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +3 -0
  115. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +3 -0
  116. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +3 -0
  117. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +3 -0
  118. package/types/src/condition/BuiltInOperators/MatchesOperator.d.ts +10 -0
  119. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
  120. package/types/src/condition/BuiltInOperators/index.d.ts +2 -0
  121. package/types/src/condition/Condition.d.ts +1 -0
  122. package/types/src/condition/ICondition.d.ts +15 -0
  123. package/types/src/condition/_ConditionUtils.d.ts +14 -0
  124. package/types/src/conditionalFormat/ConditionalFormat.d.ts +2 -1
  125. package/types/src/conditionalFormat/IConditionalFormat.d.ts +4 -3
  126. package/types/src/license/LicenseDetails.d.ts +27 -0
  127. package/types/src/license/LicenseManager.d.ts +24 -7
  128. package/types/src/license/_Utils.d.ts +34 -3
  129. package/types/src/license/index.d.ts +1 -0
  130. package/types/src/license/runtime.browser.d.ts +32 -4
  131. package/types/src/license/runtime.node.d.ts +8 -5
  132. package/types/src/license/summary.d.ts +18 -0
  133. package/types/src/pivot/IPivotTable.d.ts +1549 -13
  134. package/types/src/pivot/IPivotTableCollection.d.ts +70 -4
  135. package/types/src/pivot/PivotCache.d.ts +95 -11
  136. package/types/src/pivot/PivotDataField.d.ts +73 -0
  137. package/types/src/pivot/PivotField.d.ts +142 -0
  138. package/types/src/pivot/PivotTable.d.ts +548 -14
  139. package/types/src/pivot/PivotTableCollection.d.ts +18 -3
  140. package/types/src/pivot/_PivotAreas.d.ts +48 -0
  141. package/types/src/pivot/_PivotControls.d.ts +140 -0
  142. package/types/src/pivot/_PivotEngine.d.ts +9 -0
  143. package/types/src/pivot/_PivotGroups.d.ts +25 -0
  144. package/types/src/pivot/_PivotItems.d.ts +167 -0
  145. package/types/src/pivot/_PivotStructure.d.ts +237 -0
  146. package/types/src/pivot/_PivotStylePreview.d.ts +21 -0
  147. package/types/src/pivot/_PivotUtils.d.ts +37 -0
  148. package/types/src/pivot/engine/PivotAdd.d.ts +37 -0
  149. package/types/src/pivot/engine/PivotData.d.ts +65 -0
  150. package/types/src/pivot/engine/PivotEdit.d.ts +45 -0
  151. package/types/src/pivot/engine/PivotFilters.d.ts +50 -0
  152. package/types/src/pivot/engine/PivotFormulas.d.ts +72 -0
  153. package/types/src/pivot/engine/PivotLayout.d.ts +133 -0
  154. package/types/src/pivot/engine/PivotMove.d.ts +24 -0
  155. package/types/src/pivot/engine/PivotRefresh.d.ts +87 -0
  156. package/types/src/pivot/engine/PivotSort.d.ts +26 -0
  157. package/types/src/pivot/engine/PivotViewBuilder.d.ts +22 -0
  158. package/types/src/pivot/engine/index.d.ts +15 -0
  159. package/types/src/pivot/index.d.ts +4 -0
  160. package/types/src/pivot/kernel/KernelPivot.d.ts +63 -0
  161. package/types/src/pivot/kernel/_KernelLeaves.d.ts +100 -0
  162. package/types/src/pivot/kernel/_PivotAxisTree.d.ts +71 -0
  163. package/types/src/primitives/Range.d.ts +12 -1
  164. package/types/src/sheet/IWorksheet.d.ts +35 -0
  165. package/types/src/sheet/SheetCell.d.ts +21 -14
  166. package/types/src/sheet/SheetRange.d.ts +3 -0
  167. package/types/src/sheet/Worksheet.d.ts +175 -7
  168. package/types/src/sheet/_PivotFootprint.d.ts +42 -0
  169. package/types/src/sheet/_SheetAutoFitUtils.d.ts +12 -1
  170. package/types/src/sheet/_SheetMutations.d.ts +47 -0
  171. package/types/src/sheet/_SheetStateTypes.d.ts +11 -0
  172. package/types/src/sheet/style/SheetCellStyle.d.ts +6 -0
  173. package/types/src/sheet/style/SheetPivotStyle.d.ts +83 -0
  174. package/types/src/sheet/style/_IndentUnit.d.ts +14 -0
  175. package/types/src/sheetHeader/SheetCellHeader.d.ts +1 -1
  176. package/types/src/slicer/ISlicer.d.ts +114 -34
  177. package/types/src/slicer/ITimeline.d.ts +61 -0
  178. package/types/src/slicer/Slicer.d.ts +76 -3
  179. package/types/src/slicer/_PivotSlicer.d.ts +51 -0
  180. package/types/src/slicer/index.d.ts +1 -0
  181. package/types/src/table/AnchoredTable.d.ts +11 -1
  182. package/types/src/table/ITable.d.ts +5 -6
  183. package/types/src/table/ITableStyle.d.ts +50 -34
  184. package/types/src/table/_BuiltInPivotStyles.d.ts +8 -0
  185. package/types/src/table/_BuiltInTableStyles.d.ts +0 -1
  186. package/types/src/type/ITypes.d.ts +5 -1
  187. package/types/src/workbook/IWorkbook.d.ts +8 -2
  188. package/types/src/workbook/Workbook.d.ts +72 -6
  189. package/browser/esm/BrHplg4RuI5jOmmr.mjs +0 -357
  190. package/browser/esm/eImPONkfn5DstmS8.mjs +0 -184
  191. package/node/esm/03AYPvCda2x9EOlY.mjs +0 -360
  192. package/node/esm/BmVQRGAijOHzgHmz.mjs +0 -199
  193. package/node/esm/Dk4KLs5GoRRuD8J4.mjs +0 -115
  194. package/types/src/pivot/_PivotXml.d.ts +0 -24
  195. package/types/src/primitives/Grouping.d.ts +0 -65
@@ -0,0 +1,530 @@
1
+ /**
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.17
3
+ *
4
+ * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
+ * License: SheetXL EULA — https://www.sheetxl.com/eula
6
+ */
7
+ import { t } from "./CjCqcGyCYGkaMQI9.mjs";
8
+ import { an as e, br as s, gr as i, hr as n, in as o, nn as r, rn as a, vr as l, wa as h, wi as u, xi as c, yr as d } from "./Cb1-r2RCxcJZB6fM.mjs";
9
+ import { ExpectedError as g, messageKey as _, t as m } from "@sheetxl/utils";
10
+ var f = "SlicerStyleLight1", v = "ascending", p = "showItemsWithDataAtTop", b = _("op.setSlicerCaption"), S = _("op.setSlicerStyle"), C = _("op.setSlicerLayout"), k = _("op.setSlicerSort"), y = _("op.selectSlicerItems"), w = c.BuiltInSelectorNames.Display, I = Object.freeze({
11
+ selector: w,
12
+ scope: "column"
13
+ }), P = Object.freeze({ transactional: !1 }), T = class extends t {
14
+ constructor(t) {
15
+ const e = l(t.json?.source)?.column ?? t.json?.pivot?.sourceName ?? "";
16
+ let s = t.name;
17
+ !s && t.getMovable && (s = e || null), super({
18
+ ...t,
19
+ name: s
20
+ }), this._formula = null, this._wired = null, this._binding = null, this._lossPending = !1, this._pivotTables = null, this._pivotBinding = null, this._columnName = e;
21
+ const i = t.json;
22
+ i && this._updateState({ data: { ...i } }), i?.source && this._addWatch(i.source, (t) => {
23
+ this._formula = t.formula, this._wired ??= t.formula.getExpression(), this._checkSource(!1);
24
+ });
25
+ }
26
+ getType() {
27
+ return "slicer";
28
+ }
29
+ getTypeDescription() {
30
+ return "Slicer";
31
+ }
32
+ getDefaultAnchorType() {
33
+ return u.Type.Absolute;
34
+ }
35
+ getSourceName() {
36
+ return this._data()?.pivot?.sourceName ?? this._getColumnName();
37
+ }
38
+ getTable() {
39
+ return this._data()?.pivot ? this._getPivotTables()?.[0] ?? null : this._resolve()?.table ?? null;
40
+ }
41
+ getColumn() {
42
+ return this._resolve()?.column ?? null;
43
+ }
44
+ getPivotTables() {
45
+ return this._getPivotTables() ?? D;
46
+ }
47
+ getPivotField() {
48
+ const t = this._getPivotTables()?.[0];
49
+ if (!t) return null;
50
+ const s = e(t._getCache(), this.getSourceName());
51
+ return s < 0 ? null : t.getFields()[s] ?? null;
52
+ }
53
+ _getSource() {
54
+ const t = this._data()?.source ?? "", e = this._formula?.getExpression() ?? null;
55
+ return null === e || e === this._wired ? t : e;
56
+ }
57
+ setName(t) {
58
+ const e = this._getWorkbook();
59
+ if (e && s(e, t, this) !== t) throw new g(m("error.slicer.nameTaken", { name: t }));
60
+ return super.setName(t);
61
+ }
62
+ getCaption() {
63
+ return this._data()?.caption ?? this._getColumnName();
64
+ }
65
+ setCaption(t, e) {
66
+ return this._set({ caption: t ?? void 0 }, b, e);
67
+ }
68
+ isShowCaption() {
69
+ return !0 !== this._data()?.hiddenCaption;
70
+ }
71
+ setShowCaption(t, e) {
72
+ return this._set({ hiddenCaption: !t || void 0 }, b, e);
73
+ }
74
+ getCacheName() {
75
+ return this._data()?.cacheName || (d(this._getWorkbook()).get(this) ?? n(this._getColumnName()));
76
+ }
77
+ getStyle() {
78
+ return this._data()?.style ?? f;
79
+ }
80
+ setStyle(t, e) {
81
+ return this._set({ style: t && t !== f ? t : void 0 }, S, e);
82
+ }
83
+ getSortOrder() {
84
+ return this._data()?.sortOrder ?? v;
85
+ }
86
+ setSortOrder(t, e) {
87
+ if ("dataSource" === t && this._data()?.pivot) throw new g(m("error.slicer.pivotSortOrder"));
88
+ return this._set({ sortOrder: t !== v ? t : void 0 }, k, e);
89
+ }
90
+ getCrossFilter() {
91
+ return this._data()?.crossFilter ?? p;
92
+ }
93
+ setCrossFilter(t, e) {
94
+ return this._set({ crossFilter: t !== p ? t : void 0 }, k, e);
95
+ }
96
+ getColumnCount() {
97
+ return this._data()?.columnCount ?? 1;
98
+ }
99
+ setColumnCount(t, e) {
100
+ const s = Math.max(1, Math.trunc(t));
101
+ return this._set({ columnCount: 1 !== s ? s : void 0 }, C, e);
102
+ }
103
+ getRowHeight() {
104
+ return this._data()?.rowHeight ?? 27;
105
+ }
106
+ setRowHeight(t, e) {
107
+ const s = Math.max(1, t);
108
+ return this._set({ rowHeight: 27 !== s ? s : void 0 }, C, e);
109
+ }
110
+ isLockedPosition() {
111
+ return !0 === this._data()?.lockedPosition;
112
+ }
113
+ setLockedPosition(t, e) {
114
+ return this._set({ lockedPosition: t || void 0 }, C, e);
115
+ }
116
+ isFilterCleared() {
117
+ if (this.isITimeline) {
118
+ const t = this._timelineField();
119
+ return !t?.table._getModel()?.filters?.some((e) => e.field === t.field && void 0 === e.dataField);
120
+ }
121
+ return this._data()?.pivot ? this._getPivotItems()?.items.every((t) => t.isSelected) ?? !0 : !this.getColumn()?.getFilter()?.getCondition();
122
+ }
123
+ async getItems() {
124
+ const t = this._data()?.pivot;
125
+ if (t?.timeline) return N;
126
+ if (t) {
127
+ const e = this.getCrossFilter();
128
+ return (this._getPivotItems()?.items ?? R).flatMap((s) => {
129
+ if ("none" === e && !s.hasData || t.tabular?.hideMissing && s.missing) return [];
130
+ const { id: i, missing: n, ...o } = s;
131
+ return [o];
132
+ });
133
+ }
134
+ const e = this.getColumn()?.getFilter();
135
+ if (!e) return N;
136
+ const s = await e.getItems(I), i = e.getCondition(), n = i ? function(t, e) {
137
+ const s = t.toJSON();
138
+ if (s.operator !== c.BuiltInOperatorNames.InSet) return () => !1;
139
+ const i = s.param ?? {}, n = /* @__PURE__ */ new Set(), o = i.items ?? [];
140
+ for (let t = 0; t < o.length; t++) null !== o[t] && n.add(String(o[t]).toLowerCase());
141
+ const r = i.dateGroups ?? [], a = e.dates?.[e.dates.length - 1] ?? null;
142
+ return (t) => {
143
+ if (t < 0) return !0 === i.blank;
144
+ if (n.has(e.items[t].text.toLowerCase())) return !0;
145
+ if (!a || 0 === r.length) return !1;
146
+ let s = null;
147
+ for (let e = 0; e < a.runs.length && !s; e++) {
148
+ const i = a.runs[e];
149
+ i.min <= t && t <= i.max && (s = i.value ?? null);
150
+ }
151
+ if (!s) return !1;
152
+ for (let t = 0; t < r.length; t++) if (W(r[t], s)) return !0;
153
+ return !1;
154
+ };
155
+ }(i, s) : null, o = [];
156
+ for (let t = 0; t < s.items.length; t++) {
157
+ const e = s.items[t], i = !0 === e.passesOthers;
158
+ o.push({
159
+ item: {
160
+ key: e.text,
161
+ name: e.text,
162
+ value: e.value,
163
+ hasData: i,
164
+ isSelected: !n || (i ? e.checked : n(t))
165
+ },
166
+ firstRow: e.firstRow
167
+ });
168
+ }
169
+ const r = this.getSortOrder();
170
+ if ("dataSource" === r) o.sort((t, e) => t.firstRow - e.firstRow);
171
+ else {
172
+ const t = e.getRange().getWorksheet().getRuntime().getLocaleProfile(), s = "descending" === r ? -1 : 1;
173
+ o.sort((e, i) => s * (h.compare(e.item.value, i.item.value, t) || h.compare(e.item.key, i.item.key, t)));
174
+ }
175
+ let a = null;
176
+ if (s.hasBlanks) {
177
+ const t = !0 === s.blanksPassOthers;
178
+ a = {
179
+ key: F,
180
+ name: m("slicer.blankItem"),
181
+ value: null,
182
+ hasData: t,
183
+ isSelected: !n || (t ? s.blanksChecked : n(-1))
184
+ };
185
+ }
186
+ const l = [], u = this.getCrossFilter();
187
+ if ("showItemsWithNoData" === u) {
188
+ for (let t = 0; t < o.length; t++) l.push(o[t].item);
189
+ return a && l.push(a), l;
190
+ }
191
+ for (let t = 0; t < o.length; t++) o[t].item.hasData && l.push(o[t].item);
192
+ if (a?.hasData && l.push(a), "none" === u) return l;
193
+ for (let t = 0; t < o.length; t++) o[t].item.hasData || l.push(o[t].item);
194
+ return a && !a.hasData && l.push(a), l;
195
+ }
196
+ async getItem(t) {
197
+ const e = await this.getItems();
198
+ for (let s = 0; s < e.length; s++) if (e[s].key === t) return e[s];
199
+ return null;
200
+ }
201
+ async selectItems(t, e) {
202
+ if (this.isITimeline) return this;
203
+ if (this._data()?.pivot) {
204
+ const s = this._getPivotItems()?.items;
205
+ if (!s) return this;
206
+ const i = new Set(t), n = new Set(s.flatMap((t) => i.has(t.key) ? [t.id] : []));
207
+ return await this._showPivotItems(0 === n.size || n.size === s.length ? null : n, e), this;
208
+ }
209
+ const s = this.getColumn()?.getFilter();
210
+ if (!s) return this;
211
+ if (!t || 0 === t.length) return this.clearFilters(e);
212
+ const i = await s.getItems(I), n = new Set(t), o = i.dates?.[i.dates.length - 1] ?? null, r = o && o.runs.length > 0 ? o.runs[o.runs.length - 1].max : -1, a = [], l = [];
213
+ let h = !0, u = 0;
214
+ for (let t = 0; t < i.items.length; t++) {
215
+ if (!n.has(i.items[t].text)) {
216
+ h = !1;
217
+ continue;
218
+ }
219
+ if (t > r) {
220
+ a.push(i.items[t].text);
221
+ continue;
222
+ }
223
+ for (; o.runs[u].max < t;) u++;
224
+ const e = o.runs[u].value;
225
+ e && l[l.length - 1] !== e && l.push(e);
226
+ }
227
+ const d = i.hasBlanks && n.has(F);
228
+ if (i.hasBlanks && !d && (h = !1), h && !i.truncated) return this.clearFilters(e);
229
+ const g = { items: a };
230
+ return l.length > 0 && (g.dateGroups = l), d && (g.blank = !0), await s.setCondition({
231
+ selector: w,
232
+ operator: c.BuiltInOperatorNames.InSet,
233
+ param: g
234
+ }, !1, {
235
+ description: y,
236
+ ...e
237
+ }), this;
238
+ }
239
+ async clearFilters(t) {
240
+ return this.isITimeline ? this.setDateRange(null, t) : this._data()?.pivot ? (await this._showPivotItems(null, t), this) : (await this.getColumn()?.getFilter()?.delete(t), this);
241
+ }
242
+ addListeners(t, e) {
243
+ const s = super.addListeners(t, e);
244
+ if (this._data()?.pivot) return this._bindPivot(), s;
245
+ if (!this._binding) {
246
+ const t = this._resolve();
247
+ t && this._bind(t);
248
+ }
249
+ return s;
250
+ }
251
+ toJSON(t) {
252
+ const e = this._data();
253
+ if (!e) return null;
254
+ if (e.pivot) {
255
+ const t = this._getPivotTables();
256
+ if (!t) return e;
257
+ const s = {
258
+ ...e.pivot,
259
+ tables: t.map((t) => ({
260
+ sheet: t.getWorksheet().getName(),
261
+ name: t.getName()
262
+ }))
263
+ };
264
+ return s.tabular && t.length > 0 && (s.cacheId = t[0].getCacheId()), {
265
+ ...e,
266
+ pivot: s
267
+ };
268
+ }
269
+ const s = this._getSource();
270
+ return s ? {
271
+ ...e,
272
+ source: s
273
+ } : e;
274
+ }
275
+ get isISlicer() {
276
+ return !0;
277
+ }
278
+ get isITimeline() {
279
+ return void 0 !== this._data()?.pivot?.timeline;
280
+ }
281
+ getDateRange() {
282
+ const t = this._timelineField(), e = t?.table._getModel();
283
+ return e ? a(e, t.field) : null;
284
+ }
285
+ async setDateRange(t, s) {
286
+ const i = this.isITimeline ? this._getPivotTables() ?? [] : [], n = this._getWorkbook();
287
+ if (!n || 0 === i.length) return this;
288
+ const o = this.getSourceName();
289
+ return await n.doBatch(async () => {
290
+ for (const s of i) {
291
+ const i = e(s._getCache(), o);
292
+ i >= 0 && await s._setDateRange(i, o, t);
293
+ }
294
+ }, {
295
+ description: y,
296
+ ...s
297
+ }), this;
298
+ }
299
+ _getTimelineState() {
300
+ const t = this._data()?.pivot;
301
+ if (!t?.timeline || !t.tabular) return null;
302
+ const s = this._timelineField();
303
+ if (s) {
304
+ const t = s.table._getModel(), e = s.table._getCache();
305
+ return {
306
+ cacheId: s.table.getCacheId(),
307
+ range: t ? a(t, s.field) : null,
308
+ filtered: !!t?.filters?.some((t) => t.field === s.field && void 0 === t.dataField),
309
+ dates: r(e, s.field)
310
+ };
311
+ }
312
+ if (void 0 === t.cacheId) return null;
313
+ const i = this._getWorkbook()?._getPivotCache?.(t.cacheId)?.toJSON() ?? null, n = e(i, t.sourceName);
314
+ return {
315
+ cacheId: t.cacheId,
316
+ range: null,
317
+ filtered: !1,
318
+ dates: i && n >= 0 ? r(i, n) : null
319
+ };
320
+ }
321
+ _timelineField() {
322
+ if (!this.isITimeline) return null;
323
+ const t = this._getPivotTables()?.[0], s = t ? e(t._getCache(), this.getSourceName()) : -1;
324
+ return s >= 0 ? {
325
+ table: t,
326
+ field: s
327
+ } : null;
328
+ }
329
+ get [Symbol.toStringTag]() {
330
+ return "[Slicer]";
331
+ }
332
+ toString() {
333
+ return this.getTypeDescription();
334
+ }
335
+ _attach() {
336
+ this._checkSource(!0);
337
+ }
338
+ _getPivotTables() {
339
+ if (!this._data()?.pivot) return null;
340
+ if (!this._pivotTables) {
341
+ const t = this._getWorkbook();
342
+ if (!t) return null;
343
+ this._holdPivotTables((e, s) => t.getWorksheets().getByName(e)?.getPivotTables().getByName(s) ?? null);
344
+ }
345
+ return this._pivotTables.filter((t) => !t.isDeleted());
346
+ }
347
+ _holdPivotTables(t) {
348
+ const e = this._data()?.pivot;
349
+ if (!e) return;
350
+ const s = [];
351
+ for (let i = 0; i < e.tables.length; i++) {
352
+ const n = t(e.tables[i].sheet, e.tables[i].name);
353
+ n && !s.includes(n) && s.push(n);
354
+ }
355
+ this._pivotTables = s;
356
+ }
357
+ _getPivotItems() {
358
+ const t = this._data()?.pivot;
359
+ if (!t?.tabular || t.timeline) return null;
360
+ const s = this._getPivotTables()?.[0], i = s ? s.getCacheId() : t.cacheId;
361
+ if (void 0 === i) return null;
362
+ const n = this._getWorkbook(), r = s ? s._getModel() : {}, a = s ? s._getCache() : n?._getPivotCache?.(i)?.toJSON() ?? null, l = e(a, t.sourceName), h = (s?.getWorksheet() ?? this.getMovable()?.getRange().getWorksheet())?.getRuntime();
363
+ return !r || !a || l < 0 || !h ? null : {
364
+ cacheId: i,
365
+ items: o(r, a, l, this.getSortOrder(), this.getCrossFilter(), h.getLocaleProfile())
366
+ };
367
+ }
368
+ async _showPivotItems(t, s) {
369
+ const i = this._getPivotTables() ?? [], n = this._getWorkbook();
370
+ if (!n || 0 === i.length) return;
371
+ const o = this.getSourceName();
372
+ await n.doBatch(async () => {
373
+ for (const s of i) {
374
+ const i = e(s._getCache(), o);
375
+ i >= 0 && await s._showSlicerItems(i, t);
376
+ }
377
+ }, {
378
+ description: y,
379
+ ...s
380
+ });
381
+ }
382
+ _bindPivot() {
383
+ const t = this._getPivotTables() ?? [], e = this._pivotBinding;
384
+ if (e && e.tables.length === t.length && e.tables.every((e, s) => e === t[s])) return;
385
+ this._unbindPivot();
386
+ const s = () => {
387
+ this._notify("onSelectionChange"), this._notify("onItemsChange");
388
+ };
389
+ this._pivotBinding = {
390
+ tables: [...t],
391
+ removes: t.map((t) => t.addListeners({
392
+ onAnyChange: s,
393
+ onDelete: s
394
+ }, P))
395
+ };
396
+ }
397
+ _unbindPivot() {
398
+ const t = this._pivotBinding;
399
+ if (t) {
400
+ this._pivotBinding = null;
401
+ for (const e of t.removes) e();
402
+ }
403
+ }
404
+ _data() {
405
+ return this._getState()?.data ?? null;
406
+ }
407
+ _getWorkbook() {
408
+ try {
409
+ return this.getMovable()?.getRange().getWorksheet().getWorkbook() ?? null;
410
+ } catch {
411
+ return null;
412
+ }
413
+ }
414
+ _resolve() {
415
+ if (this._closed) return null;
416
+ const t = l(this._getSource());
417
+ if (!t) return null;
418
+ const e = i(this._getWorkbook(), t.table), s = e?.getColumnByName(t.column) ?? null;
419
+ return s ? (this._columnName = s.getName(), {
420
+ table: e,
421
+ column: s
422
+ }) : null;
423
+ }
424
+ _getColumnName() {
425
+ return this._resolve()?.column.getName() ?? this._columnName;
426
+ }
427
+ _checkSource(t) {
428
+ if (this._closed || this.isDeleted() || this._data()?.pivot) return;
429
+ const e = this._resolve();
430
+ if (e) return void this._bind(e);
431
+ const s = this._getTransactions();
432
+ s.isRestoring() || (s.isOpenTransaction() ? this.delete() : t && !this._lossPending && (this._lossPending = !0, queueMicrotask(() => {
433
+ if (this._lossPending = !1, this._closed || this.isDeleted() || s.isOpenTransaction() || s.isRestoring()) return;
434
+ const t = this._resolve();
435
+ t ? this._bind(t) : s.amend(s.getCurrentCommit(!1).getId(), () => {
436
+ this.delete();
437
+ });
438
+ })));
439
+ }
440
+ _bind(t) {
441
+ const e = t.table;
442
+ if (this._binding?.table !== e) {
443
+ this._unbind();
444
+ const t = () => {
445
+ this._checkSource(!0);
446
+ };
447
+ this._binding = {
448
+ table: e,
449
+ removeTable: e.addListeners({
450
+ onFilterChange: () => {
451
+ this._notify("onSelectionChange");
452
+ },
453
+ onAnyChange: () => {
454
+ this._checkSource(!0), this._bindRange(!0);
455
+ },
456
+ onAnchorCoordsChange: () => {
457
+ this._bindRange(!0);
458
+ },
459
+ onDelete: t
460
+ }, P),
461
+ coords: null,
462
+ removeRange: null
463
+ };
464
+ }
465
+ this._bindRange(!1);
466
+ }
467
+ _bindRange(t) {
468
+ const e = this._binding;
469
+ if (!e || this._closed) return;
470
+ const s = this.getColumn()?.getFilter()?.getRange() ?? null, i = s ? s.getCoords() : null;
471
+ (i && e.coords ? i.rowStart !== e.coords.rowStart || i.rowEnd !== e.coords.rowEnd || i.colStart !== e.coords.colStart || i.colEnd !== e.coords.colEnd : i !== e.coords) && (e.removeRange?.(), e.removeRange = s?.addListener(() => {
472
+ this._notify("onItemsChange");
473
+ }, {
474
+ ignoreAddressChanges: !0,
475
+ ...P
476
+ }) ?? null, e.coords = i, t && this._notify("onItemsChange"));
477
+ }
478
+ _unbind() {
479
+ const t = this._binding;
480
+ t && (this._binding = null, t.removeTable(), t.removeRange?.());
481
+ }
482
+ _notify(t) {
483
+ this._closed || this.isDeleted() || (this._emitter.notify(t), this._emitter.notify("onAnyChange"));
484
+ }
485
+ _set(t, e, s) {
486
+ this._protectionCheck(e);
487
+ const i = this._data();
488
+ if (!i) return this;
489
+ const n = {
490
+ ...i,
491
+ ...t
492
+ };
493
+ for (const e in t) void 0 === n[e] && delete n[e];
494
+ return this._updateState({ data: n }, {
495
+ ...s,
496
+ description: e
497
+ }, ["onAnyChange"]), this;
498
+ }
499
+ _processDelete() {
500
+ this._unbind(), this._unbindPivot();
501
+ const t = this._data()?.pivot?.tabular ? this._getPivotTables() ?? [] : [];
502
+ super._processDelete();
503
+ for (const e of t) e._relayForSlicers?.();
504
+ }
505
+ _processRestoreOrRevert(t, e) {
506
+ if (super._processRestoreOrRevert(t, e), this.isDeleted()) return void this._unbind();
507
+ const s = this._resolve();
508
+ s && this._bind(s);
509
+ }
510
+ close() {
511
+ this._unbind(), this._unbindPivot(), super.close();
512
+ }
513
+ }, N = Object.freeze([]), R = Object.freeze([]), D = Object.freeze([]), F = "";
514
+ var O = [
515
+ "year",
516
+ "month",
517
+ "day",
518
+ "hour",
519
+ "minute",
520
+ "second"
521
+ ];
522
+ function W(t, e) {
523
+ for (let s = 0; s < O.length; s++) {
524
+ const i = O[s];
525
+ if (t[i] !== e[i]) return !1;
526
+ if (i === t.group) return !0;
527
+ }
528
+ return !0;
529
+ }
530
+ export { T as Slicer };
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.15
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.17
3
3
  *
4
4
  * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
5
+ * License: SheetXL EULA — https://www.sheetxl.com/eula
6
6
  */
7
- import { t } from "./BlHlBRvKGt-4CS0A.mjs";
7
+ import { t } from "./zh6vcRzFqdV1aYh5.mjs";
8
8
  var c = 2 * Math.PI;
9
9
  function n(t, c) {
10
10
  const n = Math.cos(c), e = Math.sin(c), s = Math.cos(t.phi), y = Math.sin(t.phi);