@sme.up/doc-alchemist 1.4.0-SNAPSHOT-20251010134428 → 1.4.0-SNAPSHOT-20251015140329

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 (90) hide show
  1. package/dist/assets/gfx-data.js +4 -1
  2. package/dist/assets/gfx-data.js.map +1 -1
  3. package/dist/converters/excel/commons.d.ts +2 -2
  4. package/dist/converters/excel/commons.js +49 -33
  5. package/dist/converters/excel/commons.js.map +1 -1
  6. package/dist/converters/excel/excel-converter.types.js +14 -11
  7. package/dist/converters/excel/excel-converter.types.js.map +1 -1
  8. package/dist/converters/excel/matrix-converter.d.ts +3 -3
  9. package/dist/converters/excel/matrix-converter.js +46 -36
  10. package/dist/converters/excel/matrix-converter.js.map +1 -1
  11. package/dist/converters/excel/tree-converter.d.ts +2 -2
  12. package/dist/converters/excel/tree-converter.js +33 -25
  13. package/dist/converters/excel/tree-converter.js.map +1 -1
  14. package/dist/converters/excel-converter.d.ts +3 -3
  15. package/dist/converters/excel-converter.js +18 -13
  16. package/dist/converters/excel-converter.js.map +1 -1
  17. package/dist/converters/images/charts-generator.d.ts +2 -2
  18. package/dist/converters/images/charts-generator.js +41 -4
  19. package/dist/converters/images/charts-generator.js.map +1 -1
  20. package/dist/converters/pdf/autotable-renderer.d.ts +2 -2
  21. package/dist/converters/pdf/autotable-renderer.js +7 -3
  22. package/dist/converters/pdf/autotable-renderer.js.map +1 -1
  23. package/dist/converters/pdf/cover-renderer.js +41 -4
  24. package/dist/converters/pdf/cover-renderer.js.map +1 -1
  25. package/dist/converters/pdf/formulas-helper.d.ts +2 -2
  26. package/dist/converters/pdf/formulas-helper.js +37 -28
  27. package/dist/converters/pdf/formulas-helper.js.map +1 -1
  28. package/dist/converters/pdf/matrix-converter.d.ts +2 -2
  29. package/dist/converters/pdf/matrix-converter.js +52 -12
  30. package/dist/converters/pdf/matrix-converter.js.map +1 -1
  31. package/dist/converters/pdf/pdf-converter.types.js +2 -1
  32. package/dist/converters/pdf/pdf-converter.types.js.map +1 -1
  33. package/dist/converters/pdf/sch-converter.d.ts +1 -1
  34. package/dist/converters/pdf/sch-converter.js +43 -6
  35. package/dist/converters/pdf/sch-converter.js.map +1 -1
  36. package/dist/converters/pdf-converter.d.ts +3 -3
  37. package/dist/converters/pdf-converter.js +23 -18
  38. package/dist/converters/pdf-converter.js.map +1 -1
  39. package/dist/index.d.ts +7 -7
  40. package/dist/index.js +13 -4
  41. package/dist/index.js.map +1 -1
  42. package/dist/types/component-props.js +5 -2
  43. package/dist/types/component-props.js.map +1 -1
  44. package/dist/types/component.js +7 -4
  45. package/dist/types/component.js.map +1 -1
  46. package/dist/types/converter.js +2 -1
  47. package/dist/types/converter.js.map +1 -1
  48. package/dist/types/data-structures/smeupDataStructure.d.ts +4 -4
  49. package/dist/types/data-structures/smeupDataStructure.js +16 -12
  50. package/dist/types/data-structures/smeupDataStructure.js.map +1 -1
  51. package/dist/types/data-structures/smeupDataTable.d.ts +1 -1
  52. package/dist/types/data-structures/smeupDataTable.js +4 -1
  53. package/dist/types/data-structures/smeupDataTable.js.map +1 -1
  54. package/dist/types/data-structures/smeupDataTree.d.ts +2 -2
  55. package/dist/types/data-structures/smeupDataTree.js +2 -1
  56. package/dist/types/data-structures/smeupDataTree.js.map +1 -1
  57. package/dist/types/data-structures/smeupSch.d.ts +6 -6
  58. package/dist/types/data-structures/smeupSch.js +5 -2
  59. package/dist/types/data-structures/smeupSch.js.map +1 -1
  60. package/dist/types/dynamism.d.ts +1 -1
  61. package/dist/types/dynamism.js +7 -4
  62. package/dist/types/dynamism.js.map +1 -1
  63. package/dist/types/general.js +7 -2
  64. package/dist/types/general.js.map +1 -1
  65. package/dist/types/helpers.js +5 -2
  66. package/dist/types/helpers.js.map +1 -1
  67. package/dist/types/index.d.ts +2 -2
  68. package/dist/types/index.js +7 -4
  69. package/dist/types/index.js.map +1 -1
  70. package/dist/utils/commons-utility.d.ts +3 -3
  71. package/dist/utils/commons-utility.js +44 -30
  72. package/dist/utils/commons-utility.js.map +1 -1
  73. package/dist/utils/datastructure-utility.d.ts +1 -1
  74. package/dist/utils/datastructure-utility.js +5 -1
  75. package/dist/utils/datastructure-utility.js.map +1 -1
  76. package/dist/utils/dates-utility.js +37 -27
  77. package/dist/utils/dates-utility.js.map +1 -1
  78. package/dist/utils/formatter-utility.d.ts +1 -1
  79. package/dist/utils/formatter-utility.js +9 -3
  80. package/dist/utils/formatter-utility.js.map +1 -1
  81. package/dist/utils/image-utils.js +10 -3
  82. package/dist/utils/image-utils.js.map +1 -1
  83. package/dist/utils/math-utility.js +46 -29
  84. package/dist/utils/math-utility.js.map +1 -1
  85. package/dist/utils/objects-utility.d.ts +1 -1
  86. package/dist/utils/objects-utility.js +9 -3
  87. package/dist/utils/objects-utility.js.map +1 -1
  88. package/dist/utils/regex-utility.js +4 -1
  89. package/dist/utils/regex-utility.js.map +1 -1
  90. package/package.json +1 -2
@@ -1 +1 @@
1
- {"version":3,"file":"smeupSch.js","sourceRoot":"","sources":["../../../src/types/data-structures/smeupSch.ts"],"names":[],"mappings":"AA0EA,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,2BAAW,CAAA;IACX,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,6BAAa,CAAA;AACf,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB","sourcesContent":["import {\n SmeupDataStructure,\n SmeupDataStructureType,\n SmeupSetupBase,\n SmeupVariable,\n} from \"./smeupDataStructure.js\";\nimport { SmeupDataTable } from \"./smeupDataTable.js\";\nimport { SmeupDataTree, SmeupDataNode } from \"./smeupDataTree.js\";\nimport { Shapes, ToolbarState } from \"../component.js\";\nimport { YesNo } from \"../helpers.js\";\nimport { RawDynamism } from \"../dynamism.js\";\n\nexport interface SmeupSch extends SmeupDataStructure {\n type: SmeupDataStructureType.SmeupScheda;\n title: string;\n sections: SmeupSchSection[];\n info?: string;\n id?: string;\n styles?: SmeupStyle[];\n layout?: string;\n /** other setup: for example \"Menu\", left menù */\n laySetup?: unknown;\n dynamisms?: RawDynamism[];\n}\n\nexport interface SmeupSchSection {\n id: string;\n layout: string;\n dim?: string;\n variables?: SmeupVariable[];\n sections?: SmeupSchSection[];\n components?: SmeupSchComponent[];\n type?: SectionTypes;\n}\n\nexport interface SmeupSchComponent {\n type: Shapes;\n title: string;\n load?: boolean;\n subNote?: string;\n id?: string;\n fun?: string;\n data?: SmeupDataTree | SmeupDataTable;\n dynamisms?: RawDynamism[];\n variables?: {\n [key: string]: SmeupVariable;\n };\n options?: SmeupSetupBase;\n icon?: string;\n buttons?: SmeupDataNode[];\n toolbarState?: ToolbarState;\n context?: string;\n}\n\nexport interface SmeupStyle {\n name: string;\n value: SmeupStyleOptions;\n}\n\nexport interface SmeupStyleOptions {\n Align?: string;\n FontBold?: YesNo;\n FontItalic?: YesNo;\n FontName?: string;\n FontSize?: string;\n FontULine?: YesNo;\n FontUnder?: YesNo;\n FontColor?: string;\n BackColor?: string;\n Padding?: string;\n Border?: string;\n TxtOri?: string;\n}\n\nexport enum SectionTypes {\n Acc = \"Acc\",\n Tab = \"Tab\",\n TabVer = \"TabVer\",\n Radio = \"Radio\",\n Combo = \"Combo\",\n OneBut = \"OneBut\",\n Menu = \"Menu\",\n}\n"]}
1
+ {"version":3,"file":"smeupSch.js","sourceRoot":"","sources":["../../../src/types/data-structures/smeupSch.ts"],"names":[],"mappings":";;;AA0EA,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,2BAAW,CAAA;IACX,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,6BAAa,CAAA;AACf,CAAC,EARW,YAAY,4BAAZ,YAAY,QAQvB","sourcesContent":["import {\n SmeupDataStructure,\n SmeupDataStructureType,\n SmeupSetupBase,\n SmeupVariable,\n} from \"./smeupDataStructure\";\nimport { SmeupDataTable } from \"./smeupDataTable\";\nimport { SmeupDataTree, SmeupDataNode } from \"./smeupDataTree\";\nimport { Shapes, ToolbarState } from \"../component\";\nimport { YesNo } from \"../helpers\";\nimport { RawDynamism } from \"../dynamism\";\n\nexport interface SmeupSch extends SmeupDataStructure {\n type: SmeupDataStructureType.SmeupScheda;\n title: string;\n sections: SmeupSchSection[];\n info?: string;\n id?: string;\n styles?: SmeupStyle[];\n layout?: string;\n /** other setup: for example \"Menu\", left menù */\n laySetup?: unknown;\n dynamisms?: RawDynamism[];\n}\n\nexport interface SmeupSchSection {\n id: string;\n layout: string;\n dim?: string;\n variables?: SmeupVariable[];\n sections?: SmeupSchSection[];\n components?: SmeupSchComponent[];\n type?: SectionTypes;\n}\n\nexport interface SmeupSchComponent {\n type: Shapes;\n title: string;\n load?: boolean;\n subNote?: string;\n id?: string;\n fun?: string;\n data?: SmeupDataTree | SmeupDataTable;\n dynamisms?: RawDynamism[];\n variables?: {\n [key: string]: SmeupVariable;\n };\n options?: SmeupSetupBase;\n icon?: string;\n buttons?: SmeupDataNode[];\n toolbarState?: ToolbarState;\n context?: string;\n}\n\nexport interface SmeupStyle {\n name: string;\n value: SmeupStyleOptions;\n}\n\nexport interface SmeupStyleOptions {\n Align?: string;\n FontBold?: YesNo;\n FontItalic?: YesNo;\n FontName?: string;\n FontSize?: string;\n FontULine?: YesNo;\n FontUnder?: YesNo;\n FontColor?: string;\n BackColor?: string;\n Padding?: string;\n Border?: string;\n TxtOri?: string;\n}\n\nexport enum SectionTypes {\n Acc = \"Acc\",\n Tab = \"Tab\",\n TabVer = \"TabVer\",\n Radio = \"Radio\",\n Combo = \"Combo\",\n OneBut = \"OneBut\",\n Menu = \"Menu\",\n}\n\n"]}
@@ -1,4 +1,4 @@
1
- import { SmeupVariable } from "./data-structures/smeupDataStructure.js";
1
+ import { SmeupVariable } from "./data-structures/smeupDataStructure";
2
2
  /**
3
3
  * Raw Dynamism
4
4
  */
@@ -1,7 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoadType = exports.DynamismEvents = void 0;
1
4
  /**
2
5
  * Dynamism Event
3
6
  */
4
- export var DynamismEvents;
7
+ var DynamismEvents;
5
8
  (function (DynamismEvents) {
6
9
  DynamismEvents["ALL"] = "*all";
7
10
  DynamismEvents["BTN_CLICK"] = "btnclick";
@@ -22,9 +25,9 @@ export var DynamismEvents;
22
25
  DynamismEvents["INIT"] = "init";
23
26
  DynamismEvents["CLOSE"] = "close";
24
27
  DynamismEvents["UNMOUNT"] = "unmount";
25
- })(DynamismEvents || (DynamismEvents = {}));
26
- export var LoadType;
28
+ })(DynamismEvents || (exports.DynamismEvents = DynamismEvents = {}));
29
+ var LoadType;
27
30
  (function (LoadType) {
28
31
  LoadType["D"] = "D";
29
- })(LoadType || (LoadType = {}));
32
+ })(LoadType || (exports.LoadType = LoadType = {}));
30
33
  //# sourceMappingURL=dynamism.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamism.js","sourceRoot":"","sources":["../../src/types/dynamism.ts"],"names":[],"mappings":"AAoBA;;GAEG;AACH,MAAM,CAAN,IAAY,cAoBX;AApBD,WAAY,cAAc;IACxB,8BAAY,CAAA;IACZ,wCAAsB,CAAA;IACtB,mCAAiB,CAAA;IACjB,8CAA4B,CAAA;IAC5B,0CAAwB,CAAA;IACxB,0CAAwB,CAAA;IACxB,iCAAe,CAAA;IACf,uCAAqB,CAAA;IACrB,8CAA4B,CAAA;IAC5B,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,2CAAyB,CAAA;IACzB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,iCAAe,CAAA;IACf,qCAAmB,CAAA;AACrB,CAAC,EApBW,cAAc,KAAd,cAAc,QAoBzB;AAED,MAAM,CAAN,IAAY,QAEX;AAFD,WAAY,QAAQ;IAClB,mBAAO,CAAA;AACT,CAAC,EAFW,QAAQ,KAAR,QAAQ,QAEnB","sourcesContent":["import { SmeupVariable } from \"./data-structures/smeupDataStructure.js\";\n\n/**\n * Raw Dynamism\n */\nexport interface RawDynamism {\n /** Event type */\n event: string;\n /** Fun or Action */\n exec?: string;\n /** Component ids */\n targets?: string[];\n /** Declared variables */\n variables?: SmeupVariable[];\n /** Enable conditions */\n enabled?: string;\n /** Load method */\n Load?: LoadType;\n}\n\n/**\n * Dynamism Event\n */\nexport enum DynamismEvents {\n ALL = \"*all\",\n BTN_CLICK = \"btnclick\",\n CHANGE = \"change\",\n CHANGE_MONTH = \"changemonth\",\n CHANGE_ROW = \"changerow\",\n CHANGE_VAL = \"changeval\",\n CLICK = \"click\",\n DBLCLICK = \"dblclick\",\n DETAIL_CLICK = \"detailclick\",\n EXPAND = \"expand\",\n RESIZE = \"resize\",\n DATESELECT = \"dateselect\",\n DROP = \"drop\",\n SELECT = \"select\",\n UPDATE = \"update\",\n CHECK = \"check\",\n INIT = \"init\",\n CLOSE = \"close\",\n UNMOUNT = \"unmount\",\n}\n\nexport enum LoadType {\n D = \"D\",\n}\n"]}
1
+ {"version":3,"file":"dynamism.js","sourceRoot":"","sources":["../../src/types/dynamism.ts"],"names":[],"mappings":";;;AAoBA;;GAEG;AACH,IAAY,cAoBX;AApBD,WAAY,cAAc;IACxB,8BAAY,CAAA;IACZ,wCAAsB,CAAA;IACtB,mCAAiB,CAAA;IACjB,8CAA4B,CAAA;IAC5B,0CAAwB,CAAA;IACxB,0CAAwB,CAAA;IACxB,iCAAe,CAAA;IACf,uCAAqB,CAAA;IACrB,8CAA4B,CAAA;IAC5B,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,2CAAyB,CAAA;IACzB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,iCAAe,CAAA;IACf,qCAAmB,CAAA;AACrB,CAAC,EApBW,cAAc,8BAAd,cAAc,QAoBzB;AAED,IAAY,QAEX;AAFD,WAAY,QAAQ;IAClB,mBAAO,CAAA;AACT,CAAC,EAFW,QAAQ,wBAAR,QAAQ,QAEnB","sourcesContent":["import { SmeupVariable } from \"./data-structures/smeupDataStructure\";\n\n/**\n * Raw Dynamism\n */\nexport interface RawDynamism {\n /** Event type */\n event: string;\n /** Fun or Action */\n exec?: string;\n /** Component ids */\n targets?: string[];\n /** Declared variables */\n variables?: SmeupVariable[];\n /** Enable conditions */\n enabled?: string;\n /** Load method */\n Load?: LoadType;\n}\n\n/**\n * Dynamism Event\n */\nexport enum DynamismEvents {\n ALL = \"*all\",\n BTN_CLICK = \"btnclick\",\n CHANGE = \"change\",\n CHANGE_MONTH = \"changemonth\",\n CHANGE_ROW = \"changerow\",\n CHANGE_VAL = \"changeval\",\n CLICK = \"click\",\n DBLCLICK = \"dblclick\",\n DETAIL_CLICK = \"detailclick\",\n EXPAND = \"expand\",\n RESIZE = \"resize\",\n DATESELECT = \"dateselect\",\n DROP = \"drop\",\n SELECT = \"select\",\n UPDATE = \"update\",\n CHECK = \"check\",\n INIT = \"init\",\n CLOSE = \"close\",\n UNMOUNT = \"unmount\",\n}\n\nexport enum LoadType {\n D = \"D\",\n}\n\n"]}
@@ -1,12 +1,16 @@
1
- export class FunObject {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Fun = exports.FunObject = void 0;
4
+ class FunObject {
2
5
  t;
3
6
  p;
4
7
  k;
5
8
  }
9
+ exports.FunObject = FunObject;
6
10
  /**
7
11
  * Fun
8
12
  */
9
- export class Fun {
13
+ class Fun {
10
14
  component;
11
15
  service;
12
16
  function;
@@ -21,4 +25,5 @@ export class Fun {
21
25
  // The implementation of java FunDTO expects SS to be uppercased
22
26
  SS;
23
27
  }
28
+ exports.Fun = Fun;
24
29
  //# sourceMappingURL=general.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/types/general.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;IACpB,CAAC,CAAU;IAEX,CAAC,CAAU;IAEX,CAAC,CAAU;CACZ;AAED;;GAEG;AACH,MAAM,OAAO,GAAG;IACd,SAAS,CAAU;IACnB,OAAO,CAAU;IACjB,QAAQ,CAAU;IAElB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IAEjB,CAAC,CAAU;IACX,KAAK,CAAU;IAEf,gEAAgE;IAChE,EAAE,CAAU;CACb","sourcesContent":["export class FunObject {\n t!: string;\n\n p!: string;\n\n k!: string;\n}\n\n/**\n * Fun\n */\nexport class Fun {\n component!: string;\n service!: string;\n function!: string;\n\n obj1?: FunObject;\n obj2?: FunObject;\n obj3?: FunObject;\n obj4?: FunObject;\n obj5?: FunObject;\n obj6?: FunObject;\n\n P?: string;\n INPUT?: string;\n\n // The implementation of java FunDTO expects SS to be uppercased\n SS?: string;\n}\n"]}
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/types/general.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAS;IACpB,CAAC,CAAU;IAEX,CAAC,CAAU;IAEX,CAAC,CAAU;CACZ;AAND,8BAMC;AAED;;GAEG;AACH,MAAa,GAAG;IACd,SAAS,CAAU;IACnB,OAAO,CAAU;IACjB,QAAQ,CAAU;IAElB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IAEjB,CAAC,CAAU;IACX,KAAK,CAAU;IAEf,gEAAgE;IAChE,EAAE,CAAU;CACb;AAjBD,kBAiBC","sourcesContent":["export class FunObject {\n t!: string;\n\n p!: string;\n\n k!: string;\n}\n\n/**\n * Fun\n */\nexport class Fun {\n component!: string;\n service!: string;\n function!: string;\n\n obj1?: FunObject;\n obj2?: FunObject;\n obj3?: FunObject;\n obj4?: FunObject;\n obj5?: FunObject;\n obj6?: FunObject;\n\n P?: string;\n INPUT?: string;\n\n // The implementation of java FunDTO expects SS to be uppercased\n SS?: string;\n}\n\n"]}
@@ -1,6 +1,9 @@
1
- export var YesNo;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.YesNo = void 0;
4
+ var YesNo;
2
5
  (function (YesNo) {
3
6
  YesNo["Yes"] = "Yes";
4
7
  YesNo["No"] = "No";
5
- })(YesNo || (YesNo = {}));
8
+ })(YesNo || (exports.YesNo = YesNo = {}));
6
9
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/types/helpers.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,oBAAW,CAAA;IACX,kBAAS,CAAA;AACX,CAAC,EAHW,KAAK,KAAL,KAAK,QAGhB","sourcesContent":["export enum YesNo {\n Yes = \"Yes\",\n No = \"No\",\n}\n"]}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/types/helpers.ts"],"names":[],"mappings":";;;AAAA,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,oBAAW,CAAA;IACX,kBAAS,CAAA;AACX,CAAC,EAHW,KAAK,qBAAL,KAAK,QAGhB","sourcesContent":["export enum YesNo {\n Yes = \"Yes\",\n No = \"No\",\n}\n\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { Properties as CSSProperties } from "csstype";
2
- import { ComponentOptions } from "./component.js";
3
- import { SmeupDataCell } from "./data-structures/smeupDataTable.js";
2
+ import { ComponentOptions } from "./component";
3
+ import { SmeupDataCell } from "./data-structures/smeupDataTable";
4
4
  export interface SmeupDataObj {
5
5
  t: string;
6
6
  p: string;
@@ -1,11 +1,14 @@
1
- export var DatesFormats;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SupportedExportFormats = exports.DatesFormats = void 0;
4
+ var DatesFormats;
2
5
  (function (DatesFormats) {
3
6
  DatesFormats["ISO_DATE"] = "YYYY-MM-DD";
4
7
  DatesFormats["ISO_DATE_TIME"] = "YYYY-MM-DD HH:mm:ss";
5
8
  DatesFormats["ISO_TIME"] = "HH:mm:ss";
6
9
  DatesFormats["ISO_TIME_WITHOUT_SECONDS"] = "HH:mm";
7
- })(DatesFormats || (DatesFormats = {}));
8
- export var SupportedExportFormats;
10
+ })(DatesFormats || (exports.DatesFormats = DatesFormats = {}));
11
+ var SupportedExportFormats;
9
12
  (function (SupportedExportFormats) {
10
13
  SupportedExportFormats["XLSX"] = "xlsx";
11
14
  SupportedExportFormats["CSV"] = "csv";
@@ -13,5 +16,5 @@ export var SupportedExportFormats;
13
16
  SupportedExportFormats["FILE"] = "file";
14
17
  SupportedExportFormats["PDF_SCHEDA"] = "pdf_scheda";
15
18
  SupportedExportFormats["PDF"] = "pdf";
16
- })(SupportedExportFormats || (SupportedExportFormats = {}));
19
+ })(SupportedExportFormats || (exports.SupportedExportFormats = SupportedExportFormats = {}));
17
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,uCAAuB,CAAA;IACvB,qDAAqC,CAAA;IACrC,qCAAqB,CAAA;IACrB,kDAAkC,CAAA;AACpC,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAwBD,MAAM,CAAN,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,qCAAW,CAAA;IACX,qCAAW,CAAA;IACX,uCAAa,CAAA;IACb,mDAAyB,CAAA;IACzB,qCAAW,CAAA;AACb,CAAC,EAPW,sBAAsB,KAAtB,sBAAsB,QAOjC","sourcesContent":["import type { Properties as CSSProperties } from \"csstype\";\nimport { ComponentOptions } from \"./component.js\";\nimport { SmeupDataCell } from \"./data-structures/smeupDataTable.js\";\n\nexport interface SmeupDataObj {\n t: string;\n p: string;\n k: string;\n}\n\nexport enum DatesFormats {\n ISO_DATE = \"YYYY-MM-DD\",\n ISO_DATE_TIME = \"YYYY-MM-DD HH:mm:ss\",\n ISO_TIME = \"HH:mm:ss\",\n ISO_TIME_WITHOUT_SECONDS = \"HH:mm\",\n}\n\nexport interface GenericObject {\n [index: string]: unknown;\n}\n\nexport interface WebupManagerData {\n mathLocale: string;\n datesLocale: string;\n themeBackground: string;\n}\n\n/**\n * Applies dataTable filters to the excel table rows\n */\nexport type ColumnFilter = {\n checkBoxes?: { value: string }[];\n textField?: string;\n};\n\nexport interface SmeupDataCellStyled extends SmeupDataCell {\n style?: CSSProperties;\n}\n\nexport enum SupportedExportFormats {\n XLSX = \"xlsx\",\n CSV = \"csv\",\n TXT = \"txt\",\n FILE = \"file\",\n PDF_SCHEDA = \"pdf_scheda\",\n PDF = \"pdf\",\n}\n\nexport interface ChartOptions extends ComponentOptions {\n Width: string;\n Height: string;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAUA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,uCAAuB,CAAA;IACvB,qDAAqC,CAAA;IACrC,qCAAqB,CAAA;IACrB,kDAAkC,CAAA;AACpC,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAwBD,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,qCAAW,CAAA;IACX,qCAAW,CAAA;IACX,uCAAa,CAAA;IACb,mDAAyB,CAAA;IACzB,qCAAW,CAAA;AACb,CAAC,EAPW,sBAAsB,sCAAtB,sBAAsB,QAOjC","sourcesContent":["import type { Properties as CSSProperties } from \"csstype\";\nimport { ComponentOptions } from \"./component\";\nimport { SmeupDataCell } from \"./data-structures/smeupDataTable\";\n\nexport interface SmeupDataObj {\n t: string;\n p: string;\n k: string;\n}\n\nexport enum DatesFormats {\n ISO_DATE = \"YYYY-MM-DD\",\n ISO_DATE_TIME = \"YYYY-MM-DD HH:mm:ss\",\n ISO_TIME = \"HH:mm:ss\",\n ISO_TIME_WITHOUT_SECONDS = \"HH:mm\",\n}\n\nexport interface GenericObject {\n [index: string]: unknown;\n}\n\nexport interface WebupManagerData {\n mathLocale: string;\n datesLocale: string;\n themeBackground: string;\n}\n\n/**\n * Applies dataTable filters to the excel table rows\n */\nexport type ColumnFilter = {\n checkBoxes?: { value: string }[];\n textField?: string;\n};\n\nexport interface SmeupDataCellStyled extends SmeupDataCell {\n style?: CSSProperties;\n}\n\nexport enum SupportedExportFormats {\n XLSX = \"xlsx\",\n CSV = \"csv\",\n TXT = \"txt\",\n FILE = \"file\",\n PDF_SCHEDA = \"pdf_scheda\",\n PDF = \"pdf\",\n}\n\nexport interface ChartOptions extends ComponentOptions {\n Width: string;\n Height: string;\n}\n\n"]}
@@ -1,6 +1,6 @@
1
- import { SortObject } from "../types/component-props.js";
2
- import { SmeupDataColumn, SmeupDataTable, SmeupDataCell, SmeupDataRow } from "../types/data-structures/smeupDataTable.js";
3
- import { ColumnFilter, WebupManagerData, SupportedExportFormats, GenericObject } from "../types/index.js";
1
+ import { SortObject } from "../types/component-props";
2
+ import { SmeupDataColumn, SmeupDataTable, SmeupDataCell, SmeupDataRow } from "../types/data-structures/smeupDataTable";
3
+ import { ColumnFilter, WebupManagerData, SupportedExportFormats, GenericObject } from "../types/index";
4
4
  export declare const getFilteredColumns: (columns: SmeupDataColumn[], props: GenericObject, groupsArray?: {
5
5
  column: string;
6
6
  visible: boolean;
@@ -1,10 +1,13 @@
1
- import { exportTypeSupportsFormatting } from "../converters/excel/excel-converter.types.js";
2
- import { SortMode } from "../types/component-props.js";
3
- import { datesIsIsoDate, datesToDate, datesFormat } from "./dates-utility.js";
4
- import { sanitizeString } from "./formatter-utility.js";
5
- import { mathNumberStringToFormattedString, mathCountDecimals, } from "./math-utility.js";
6
- import { objectsIsVoCodVer, objectsIsDate, objectsIsNumber, } from "./objects-utility.js";
7
- export const getFilteredColumns = (columns, props, groupsArray = []) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertColorToRgb = exports.loadImageAsBase64 = exports.convertToBuffer = exports.hexToArgb = exports.calculateValue = exports.calculateCellValue = exports.sortRows = exports.isFilterMatchValue = exports.filterRows = exports.updateMaxValueLength = exports.getFilteredColumns = void 0;
4
+ const excel_converter_types_1 = require("../converters/excel/excel-converter.types");
5
+ const component_props_1 = require("../types/component-props");
6
+ const dates_utility_1 = require("./dates-utility");
7
+ const formatter_utility_1 = require("./formatter-utility");
8
+ const math_utility_1 = require("./math-utility");
9
+ const objects_utility_1 = require("./objects-utility");
10
+ const getFilteredColumns = (columns, props, groupsArray = []) => {
8
11
  if (!columns)
9
12
  return [];
10
13
  const mutableColumns = JSON.parse(JSON.stringify(columns));
@@ -34,9 +37,10 @@ export const getFilteredColumns = (columns, props, groupsArray = []) => {
34
37
  ...column.obj,
35
38
  k: "",
36
39
  };
37
- return column.obj?.t !== "J4" && !objectsIsVoCodVer(dataObject);
40
+ return column.obj?.t !== "J4" && !(0, objects_utility_1.objectsIsVoCodVer)(dataObject);
38
41
  });
39
42
  };
43
+ exports.getFilteredColumns = getFilteredColumns;
40
44
  /**
41
45
  * By passing the map, length value and column name
42
46
  * creates or updates a map record with
@@ -44,7 +48,7 @@ export const getFilteredColumns = (columns, props, groupsArray = []) => {
44
48
  * @param text The text to use in length calculation
45
49
  * @param colName The column to check
46
50
  */
47
- export const updateMaxValueLength = (map, text, colName) => {
51
+ const updateMaxValueLength = (map, text, colName) => {
48
52
  if (!map || !text || !colName)
49
53
  return;
50
54
  const value = Math.max(...text.split("\n").map(line => line.length));
@@ -57,7 +61,8 @@ export const updateMaxValueLength = (map, text, colName) => {
57
61
  map[colName] = value;
58
62
  }
59
63
  };
60
- export const filterRows = (smeupDataTable, filteredColumns, filters) => {
64
+ exports.updateMaxValueLength = updateMaxValueLength;
65
+ const filterRows = (smeupDataTable, filteredColumns, filters) => {
61
66
  if (filters) {
62
67
  return smeupDataTable.rows.filter(row => {
63
68
  return smeupDataTable.columns.every(col => {
@@ -69,7 +74,7 @@ export const filterRows = (smeupDataTable, filteredColumns, filters) => {
69
74
  }
70
75
  if (columnFilter?.textField) {
71
76
  return (typeof cellValue === "string" &&
72
- isFilterMatchValue(cellValue, columnFilter.textField));
77
+ (0, exports.isFilterMatchValue)(cellValue, columnFilter.textField));
73
78
  }
74
79
  return true;
75
80
  });
@@ -79,7 +84,8 @@ export const filterRows = (smeupDataTable, filteredColumns, filters) => {
79
84
  return smeupDataTable.rows;
80
85
  }
81
86
  };
82
- export const isFilterMatchValue = (value, filter) => {
87
+ exports.filterRows = filterRows;
88
+ const isFilterMatchValue = (value, filter) => {
83
89
  if (value == null)
84
90
  value = "";
85
91
  if (filter == null)
@@ -152,7 +158,8 @@ export const isFilterMatchValue = (value, filter) => {
152
158
  // Fallback: inclusion
153
159
  return value.includes(filterText);
154
160
  };
155
- export const sortRows = (rows, sortObject, activeGroups) => {
161
+ exports.isFilterMatchValue = isFilterMatchValue;
162
+ const sortRows = (rows, sortObject, activeGroups) => {
156
163
  const sort = sortObject?.[0];
157
164
  if (!sort && !activeGroups) {
158
165
  return;
@@ -175,12 +182,12 @@ export const sortRows = (rows, sortObject, activeGroups) => {
175
182
  const valA = a.cells?.[sort.column]?.value ?? "";
176
183
  const valB = b.cells?.[sort.column]?.value ?? "";
177
184
  switch (sort.sortMode) {
178
- case SortMode.A:
185
+ case component_props_1.SortMode.A:
179
186
  if (valA !== valB) {
180
187
  return valA.localeCompare(valB);
181
188
  }
182
189
  return 0;
183
- case SortMode.D:
190
+ case component_props_1.SortMode.D:
184
191
  if (valA !== valB) {
185
192
  return valB.localeCompare(valA);
186
193
  }
@@ -189,6 +196,7 @@ export const sortRows = (rows, sortObject, activeGroups) => {
189
196
  });
190
197
  });
191
198
  };
199
+ exports.sortRows = sortRows;
192
200
  /**
193
201
  * Returns a converted and formatted cell value (string, date, number)
194
202
  * @param cell - SmeupDataCell
@@ -196,9 +204,10 @@ export const sortRows = (rows, sortObject, activeGroups) => {
196
204
  * @param webupManagerData - WebupManagerData
197
205
  * @returns
198
206
  */
199
- export const calculateCellValue = (cell, bookType, webupManagerData) => {
200
- return calculateValue(cell.value, cell.obj ?? { t: "", p: "", k: "" }, bookType, webupManagerData);
207
+ const calculateCellValue = (cell, bookType, webupManagerData) => {
208
+ return (0, exports.calculateValue)(cell.value, cell.obj ?? { t: "", p: "", k: "" }, bookType, webupManagerData);
201
209
  };
210
+ exports.calculateCellValue = calculateCellValue;
202
211
  /**
203
212
  * Calculates and formats a value based on its type and export format.
204
213
  *
@@ -214,29 +223,30 @@ export const calculateCellValue = (cell, bookType, webupManagerData) => {
214
223
  * @param obj - Optional object describing the type of the value.
215
224
  * @returns The formatted value, a Date object, a number, or the original value as a string.
216
225
  */
217
- export const calculateValue = (value, obj, bookType, webupManagerData) => {
218
- if (obj && objectsIsDate(obj) && datesIsIsoDate(value)) {
219
- return exportTypeSupportsFormatting[bookType]
220
- ? new Date(datesToDate(value, webupManagerData.datesLocale))
221
- : datesFormat(value, webupManagerData.datesLocale);
226
+ const calculateValue = (value, obj, bookType, webupManagerData) => {
227
+ if (obj && (0, objects_utility_1.objectsIsDate)(obj) && (0, dates_utility_1.datesIsIsoDate)(value)) {
228
+ return excel_converter_types_1.exportTypeSupportsFormatting[bookType]
229
+ ? new Date((0, dates_utility_1.datesToDate)(value, webupManagerData.datesLocale))
230
+ : (0, dates_utility_1.datesFormat)(value, webupManagerData.datesLocale);
222
231
  }
223
- if (obj && objectsIsNumber(obj)) {
224
- if (!exportTypeSupportsFormatting[bookType]) {
225
- return (mathNumberStringToFormattedString(value, mathCountDecimals(Number(value) || 0), "", webupManagerData.mathLocale) || "");
232
+ if (obj && (0, objects_utility_1.objectsIsNumber)(obj)) {
233
+ if (!excel_converter_types_1.exportTypeSupportsFormatting[bookType]) {
234
+ return ((0, math_utility_1.mathNumberStringToFormattedString)(value, (0, math_utility_1.mathCountDecimals)(Number(value) || 0), "", webupManagerData.mathLocale) || "");
226
235
  }
227
236
  const numValue = Number(value);
228
237
  return !isNaN(numValue) && !(Math.abs(numValue) === Infinity)
229
238
  ? numValue
230
239
  : "";
231
240
  }
232
- return sanitizeString(value) ?? "";
241
+ return (0, formatter_utility_1.sanitizeString)(value) ?? "";
233
242
  };
243
+ exports.calculateValue = calculateValue;
234
244
  /**
235
245
  * Conversion from Hexadecimal color to an AlphaRGB
236
246
  * @param hex string - Hexadecimal value, it can bot have and don't have the # prefix
237
247
  * @returns ARGB string code
238
248
  */
239
- export const hexToArgb = (hex) => {
249
+ const hexToArgb = (hex) => {
240
250
  // Hex validation
241
251
  if (hex.startsWith("#"))
242
252
  hex = hex.slice(1);
@@ -250,6 +260,7 @@ export const hexToArgb = (hex) => {
250
260
  .toString(16)
251
261
  .padStart(2, "0")}${blue.toString(16).padStart(2, "0")}`;
252
262
  };
263
+ exports.hexToArgb = hexToArgb;
253
264
  // Utility function to detect if Buffer is available
254
265
  const isBufferAvailable = () => {
255
266
  try {
@@ -260,7 +271,7 @@ const isBufferAvailable = () => {
260
271
  }
261
272
  };
262
273
  // Utility function to convert ArrayBuffer to Buffer or Uint8Array
263
- export const convertToBuffer = (arrayBuffer) => {
274
+ const convertToBuffer = (arrayBuffer) => {
264
275
  if (arrayBuffer instanceof Uint8Array) {
265
276
  return arrayBuffer;
266
277
  }
@@ -271,8 +282,9 @@ export const convertToBuffer = (arrayBuffer) => {
271
282
  return new Uint8Array(arrayBuffer);
272
283
  }
273
284
  };
285
+ exports.convertToBuffer = convertToBuffer;
274
286
  // Function to load an image as base64 (browser version, async)
275
- export const loadImageAsBase64 = async (imageUrl) => {
287
+ const loadImageAsBase64 = async (imageUrl) => {
276
288
  try {
277
289
  const response = await fetch(imageUrl);
278
290
  if (!response.ok)
@@ -292,13 +304,15 @@ export const loadImageAsBase64 = async (imageUrl) => {
292
304
  return null;
293
305
  }
294
306
  };
307
+ exports.loadImageAsBase64 = loadImageAsBase64;
295
308
  /**
296
309
  * Converts a hexadecimal color string (e.g., "#RRGGBB" or "0xRRGGBB") to an RGB tuple.
297
310
  */
298
- export const convertColorToRgb = (color) => {
311
+ const convertColorToRgb = (color) => {
299
312
  const r = parseInt(color.substring(2, 4), 16);
300
313
  const g = parseInt(color.substring(4, 6), 16);
301
314
  const b = parseInt(color.substring(6, 8), 16);
302
315
  return [r, g, b];
303
316
  };
317
+ exports.convertColorToRgb = convertColorToRgb;
304
318
  //# sourceMappingURL=commons-utility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commons-utility.js","sourceRoot":"","sources":["../../src/utils/commons-utility.ts"],"names":[],"mappings":"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","sourcesContent":["import { exportTypeSupportsFormatting } from \"../converters/excel/excel-converter.types.js\";\nimport { SortMode, SortObject } from \"../types/component-props.js\";\nimport {\n SmeupDataColumn,\n SmeupDataTable,\n SmeupDataCell,\n SmeupDataRow,\n} from \"../types/data-structures/smeupDataTable.js\";\nimport {\n SmeupDataObj,\n ColumnFilter,\n WebupManagerData,\n SupportedExportFormats,\n GenericObject,\n} from \"../types/index.js\";\nimport { datesIsIsoDate, datesToDate, datesFormat } from \"./dates-utility.js\";\nimport { sanitizeString } from \"./formatter-utility.js\";\nimport {\n mathNumberStringToFormattedString,\n mathCountDecimals,\n} from \"./math-utility.js\";\nimport {\n objectsIsVoCodVer,\n objectsIsDate,\n objectsIsNumber,\n} from \"./objects-utility.js\";\n\nexport const getFilteredColumns = (\n columns: SmeupDataColumn[],\n props: GenericObject,\n groupsArray: { column: string; visible: boolean }[] = [],\n) => {\n if (!columns) return [];\n\n const mutableColumns = JSON.parse(\n JSON.stringify(columns),\n ) as SmeupDataColumn[];\n\n const filteredColumns: SmeupDataColumn[] = [];\n\n if (props.visibleColumns && (props.visibleColumns as string[]).length > 0) {\n (props.visibleColumns as string[]).forEach((col: string) => {\n const foundColumn = mutableColumns.find(c => c.name === col);\n if (foundColumn) {\n filteredColumns.push({ ...foundColumn });\n }\n });\n } else {\n filteredColumns.push(...mutableColumns);\n }\n\n // Set the visibility of columns based on groups and props\n filteredColumns.forEach((col: SmeupDataColumn) => {\n const isGroupedColumn = groupsArray.filter(g => g.column === col.name);\n col.visible = props.visibleColumns\n ? (props.visibleColumns as string[]).includes(col.name)\n : col.visible;\n col.visible =\n isGroupedColumn.length > 0 ? isGroupedColumn[0].visible : col.visible;\n });\n\n return filteredColumns.filter(column => {\n const dataObject = {\n ...column.obj,\n k: \"\",\n } as SmeupDataObj;\n return column.obj?.t !== \"J4\" && !objectsIsVoCodVer(dataObject);\n });\n};\n\n/**\n * By passing the map, length value and column name\n * creates or updates a map record with\n * @param map Contains columnNames and their longest cell's length\n * @param text The text to use in length calculation\n * @param colName The column to check\n */\nexport const updateMaxValueLength = (\n map: { [key: string]: number },\n text: string | undefined | null,\n colName: string,\n) => {\n if (!map || !text || !colName) return;\n\n const value = Math.max(...text.split(\"\\n\").map(line => line.length));\n if (map[colName]) {\n if (map[colName] < value) {\n map[colName] = value;\n }\n } else {\n map[colName] = value;\n }\n};\n\nexport const filterRows = (\n smeupDataTable: SmeupDataTable,\n filteredColumns: SmeupDataColumn[],\n filters: { [key: string]: ColumnFilter },\n) => {\n if (filters) {\n return smeupDataTable.rows.filter(row => {\n return smeupDataTable.columns.every(col => {\n const cellValue = row.cells?.[col.name]?.value;\n const columnFilter = filters[col.name];\n if (columnFilter?.checkBoxes?.length) {\n const allowedValues = columnFilter.checkBoxes.map(item => item.value);\n return (\n typeof cellValue === \"string\" && allowedValues.includes(cellValue)\n );\n }\n if (columnFilter?.textField) {\n return (\n typeof cellValue === \"string\" &&\n isFilterMatchValue(cellValue, columnFilter.textField)\n );\n }\n return true;\n });\n });\n } else {\n return smeupDataTable.rows;\n }\n};\n\nexport const isFilterMatchValue = (value: string, filter: string): boolean => {\n if (value == null) value = \"\";\n if (filter == null) filter = \"\";\n\n value = value.trim();\n filter = filter.trim();\n\n // Regex for operators and filter\n // Examples: !'text', >'aa', >= 'ab', <'cza', <= 'asd', 'text', 'text%', '%text', '%text%'\n const regex = /^([!><]=?|)(?:'(%?)(.*?)(%?)')?$/;\n const match = filter.match(regex);\n if (!match) {\n // fallback: inclusion\n return value.includes(filter);\n }\n\n const operator = match[1];\n const startWildcard = match[2] === \"%\";\n const filterText = match[3] ?? \"\";\n const endWildcard = match[4] === \"%\";\n\n // Handle '' (void)\n if (filterText === \"\" && match[0].includes(\"''\")) {\n if (operator === \"!\") {\n return value !== \"\";\n }\n return value === \"\";\n }\n\n // Handle operators of comparison\n if ([\">\", \">=\", \"<\", \"<=\"].includes(operator)) {\n if (operator === \">\") {\n return value > filterText;\n }\n if (operator === \">=\") {\n return value >= filterText;\n }\n if (operator === \"<\") {\n return value < filterText;\n }\n if (operator === \"<=\") {\n return value <= filterText;\n }\n }\n\n // Negation\n if (operator === \"!\") {\n // Match negation\n if (startWildcard && endWildcard) {\n return !value.includes(filterText);\n }\n if (startWildcard) {\n return !value.endsWith(filterText);\n }\n if (endWildcard) {\n return !value.startsWith(filterText);\n }\n // Exact match negation\n return value !== filterText;\n }\n\n // Wildcard\n if (startWildcard && endWildcard) {\n return value.includes(filterText);\n }\n if (startWildcard) {\n return value.endsWith(filterText);\n }\n if (endWildcard) {\n return value.startsWith(filterText);\n }\n\n // Exact match between quotes\n if (filter.startsWith(\"'\") && filter.endsWith(\"'\")) {\n return value === filterText;\n }\n\n // Fallback: inclusion\n return value.includes(filterText);\n};\n\nexport const sortRows = (\n rows: SmeupDataRow[],\n sortObject: SortObject[],\n activeGroups?: string[],\n) => {\n const sort = sortObject?.[0];\n\n if (!sort && !activeGroups) {\n return;\n }\n\n if (!sort && activeGroups) {\n rows.sort((a, b) => {\n for (const group of activeGroups) {\n const valA = a.cells?.[group]?.value ?? \"\";\n const valB = b.cells?.[group]?.value ?? \"\";\n\n if (valA !== valB) {\n return valA.localeCompare(valB);\n }\n }\n return 0;\n });\n return;\n }\n\n sortObject?.forEach(sort => {\n rows.sort((a, b) => {\n const valA = a.cells?.[sort.column]?.value ?? \"\";\n const valB = b.cells?.[sort.column]?.value ?? \"\";\n\n switch (sort.sortMode) {\n case SortMode.A:\n if (valA !== valB) {\n return valA.localeCompare(valB);\n }\n return 0;\n case SortMode.D:\n if (valA !== valB) {\n return valB.localeCompare(valA);\n }\n return 0;\n }\n });\n });\n};\n\n/**\n * Returns a converted and formatted cell value (string, date, number)\n * @param cell - SmeupDataCell\n * @param bookType - SupportedExportFormats\n * @param webupManagerData - WebupManagerData\n * @returns\n */\nexport const calculateCellValue = (\n cell: SmeupDataCell,\n bookType: SupportedExportFormats,\n webupManagerData: WebupManagerData,\n) => {\n return calculateValue(\n cell.value,\n cell.obj ?? ({ t: \"\", p: \"\", k: \"\" } as SmeupDataObj),\n bookType,\n webupManagerData,\n );\n};\n\n/**\n * Calculates and formats a value based on its type and export format.\n *\n * - If the value is a date and the object indicates a date type, it returns a formatted date string or a Date object,\n * depending on the export format.\n * - If the value is a number and the object indicates a number type, it returns a formatted number string or a numeric value,\n * depending on the export format.\n * - Otherwise, it returns the original value or an empty string if the value is null or undefined.\n *\n * @param bookType - The export format type.\n * @param webupManagerData - Data containing locale and formatting information.\n * @param value - The value to be calculated and formatted.\n * @param obj - Optional object describing the type of the value.\n * @returns The formatted value, a Date object, a number, or the original value as a string.\n */\nexport const calculateValue = (\n value: string,\n obj: {\n t: string;\n p: string;\n k: string;\n },\n bookType: SupportedExportFormats,\n webupManagerData: WebupManagerData,\n) => {\n if (obj && objectsIsDate(obj) && datesIsIsoDate(value)) {\n return exportTypeSupportsFormatting[bookType]\n ? new Date(datesToDate(value, webupManagerData.datesLocale))\n : datesFormat(value, webupManagerData.datesLocale);\n }\n\n if (obj && objectsIsNumber(obj)) {\n if (!exportTypeSupportsFormatting[bookType]) {\n return (\n mathNumberStringToFormattedString(\n value,\n mathCountDecimals(Number(value) || 0),\n \"\",\n webupManagerData.mathLocale,\n ) || \"\"\n );\n }\n\n const numValue = Number(value);\n return !isNaN(numValue) && !(Math.abs(numValue) === Infinity)\n ? numValue\n : \"\";\n }\n\n return sanitizeString(value) ?? \"\";\n};\n\n/**\n * Conversion from Hexadecimal color to an AlphaRGB\n * @param hex string - Hexadecimal value, it can bot have and don't have the # prefix\n * @returns ARGB string code\n */\nexport const hexToArgb = (hex: string): string => {\n // Hex validation\n if (hex.startsWith(\"#\")) hex = hex.slice(1);\n if (hex.length !== 6) return \"\";\n\n // Value Parse and return\n const red = parseInt(hex.slice(0, 2), 16);\n const green = parseInt(hex.slice(2, 4), 16);\n const blue = parseInt(hex.slice(4, 6), 16);\n return `FF${red.toString(16).padStart(2, \"0\")}${green\n .toString(16)\n .padStart(2, \"0\")}${blue.toString(16).padStart(2, \"0\")}`;\n};\n\n// Utility function to detect if Buffer is available\nconst isBufferAvailable = (): boolean => {\n try {\n return typeof Buffer !== \"undefined\" && typeof Buffer.from === \"function\";\n } catch {\n return false;\n }\n};\n\n// Utility function to convert ArrayBuffer to Buffer or Uint8Array\nexport const convertToBuffer = (\n arrayBuffer: ArrayBuffer | Uint8Array,\n): Buffer | Uint8Array => {\n if (arrayBuffer instanceof Uint8Array) {\n return arrayBuffer;\n }\n if (isBufferAvailable()) {\n return Buffer.from(arrayBuffer);\n } else {\n return new Uint8Array(arrayBuffer);\n }\n};\n\n// Function to load an image as base64 (browser version, async)\nexport const loadImageAsBase64 = async (\n imageUrl: string,\n): Promise<string | null> => {\n try {\n const response = await fetch(imageUrl);\n if (!response.ok) return null;\n const blob = await response.blob();\n return await new Promise<string | null>((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n resolve(reader.result as string);\n };\n reader.onerror = () => reject(null);\n reader.readAsDataURL(blob);\n });\n } catch (error) {\n console.warn(\"Unable to load asset image:\", error);\n return null;\n }\n};\n\n/**\n * Converts a hexadecimal color string (e.g., \"#RRGGBB\" or \"0xRRGGBB\") to an RGB tuple.\n */\nexport const convertColorToRgb = (color: string): [number, number, number] => {\n const r = parseInt(color.substring(2, 4), 16);\n const g = parseInt(color.substring(4, 6), 16);\n const b = parseInt(color.substring(6, 8), 16);\n return [r, g, b];\n};\n"]}
1
+ {"version":3,"file":"commons-utility.js","sourceRoot":"","sources":["../../src/utils/commons-utility.ts"],"names":[],"mappings":"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","sourcesContent":["import { exportTypeSupportsFormatting } from \"../converters/excel/excel-converter.types\";\nimport { SortMode, SortObject } from \"../types/component-props\";\nimport {\n SmeupDataColumn,\n SmeupDataTable,\n SmeupDataCell,\n SmeupDataRow,\n} from \"../types/data-structures/smeupDataTable\";\nimport {\n SmeupDataObj,\n ColumnFilter,\n WebupManagerData,\n SupportedExportFormats,\n GenericObject,\n} from \"../types/index\";\nimport { datesIsIsoDate, datesToDate, datesFormat } from \"./dates-utility\";\nimport { sanitizeString } from \"./formatter-utility\";\nimport {\n mathNumberStringToFormattedString,\n mathCountDecimals,\n} from \"./math-utility\";\nimport {\n objectsIsVoCodVer,\n objectsIsDate,\n objectsIsNumber,\n} from \"./objects-utility\";\n\nexport const getFilteredColumns = (\n columns: SmeupDataColumn[],\n props: GenericObject,\n groupsArray: { column: string; visible: boolean }[] = [],\n) => {\n if (!columns) return [];\n\n const mutableColumns = JSON.parse(\n JSON.stringify(columns),\n ) as SmeupDataColumn[];\n\n const filteredColumns: SmeupDataColumn[] = [];\n\n if (props.visibleColumns && (props.visibleColumns as string[]).length > 0) {\n (props.visibleColumns as string[]).forEach((col: string) => {\n const foundColumn = mutableColumns.find(c => c.name === col);\n if (foundColumn) {\n filteredColumns.push({ ...foundColumn });\n }\n });\n } else {\n filteredColumns.push(...mutableColumns);\n }\n\n // Set the visibility of columns based on groups and props\n filteredColumns.forEach((col: SmeupDataColumn) => {\n const isGroupedColumn = groupsArray.filter(g => g.column === col.name);\n col.visible = props.visibleColumns\n ? (props.visibleColumns as string[]).includes(col.name)\n : col.visible;\n col.visible =\n isGroupedColumn.length > 0 ? isGroupedColumn[0].visible : col.visible;\n });\n\n return filteredColumns.filter(column => {\n const dataObject = {\n ...column.obj,\n k: \"\",\n } as SmeupDataObj;\n return column.obj?.t !== \"J4\" && !objectsIsVoCodVer(dataObject);\n });\n};\n\n/**\n * By passing the map, length value and column name\n * creates or updates a map record with\n * @param map Contains columnNames and their longest cell's length\n * @param text The text to use in length calculation\n * @param colName The column to check\n */\nexport const updateMaxValueLength = (\n map: { [key: string]: number },\n text: string | undefined | null,\n colName: string,\n) => {\n if (!map || !text || !colName) return;\n\n const value = Math.max(...text.split(\"\\n\").map(line => line.length));\n if (map[colName]) {\n if (map[colName] < value) {\n map[colName] = value;\n }\n } else {\n map[colName] = value;\n }\n};\n\nexport const filterRows = (\n smeupDataTable: SmeupDataTable,\n filteredColumns: SmeupDataColumn[],\n filters: { [key: string]: ColumnFilter },\n) => {\n if (filters) {\n return smeupDataTable.rows.filter(row => {\n return smeupDataTable.columns.every(col => {\n const cellValue = row.cells?.[col.name]?.value;\n const columnFilter = filters[col.name];\n if (columnFilter?.checkBoxes?.length) {\n const allowedValues = columnFilter.checkBoxes.map(item => item.value);\n return (\n typeof cellValue === \"string\" && allowedValues.includes(cellValue)\n );\n }\n if (columnFilter?.textField) {\n return (\n typeof cellValue === \"string\" &&\n isFilterMatchValue(cellValue, columnFilter.textField)\n );\n }\n return true;\n });\n });\n } else {\n return smeupDataTable.rows;\n }\n};\n\nexport const isFilterMatchValue = (value: string, filter: string): boolean => {\n if (value == null) value = \"\";\n if (filter == null) filter = \"\";\n\n value = value.trim();\n filter = filter.trim();\n\n // Regex for operators and filter\n // Examples: !'text', >'aa', >= 'ab', <'cza', <= 'asd', 'text', 'text%', '%text', '%text%'\n const regex = /^([!><]=?|)(?:'(%?)(.*?)(%?)')?$/;\n const match = filter.match(regex);\n if (!match) {\n // fallback: inclusion\n return value.includes(filter);\n }\n\n const operator = match[1];\n const startWildcard = match[2] === \"%\";\n const filterText = match[3] ?? \"\";\n const endWildcard = match[4] === \"%\";\n\n // Handle '' (void)\n if (filterText === \"\" && match[0].includes(\"''\")) {\n if (operator === \"!\") {\n return value !== \"\";\n }\n return value === \"\";\n }\n\n // Handle operators of comparison\n if ([\">\", \">=\", \"<\", \"<=\"].includes(operator)) {\n if (operator === \">\") {\n return value > filterText;\n }\n if (operator === \">=\") {\n return value >= filterText;\n }\n if (operator === \"<\") {\n return value < filterText;\n }\n if (operator === \"<=\") {\n return value <= filterText;\n }\n }\n\n // Negation\n if (operator === \"!\") {\n // Match negation\n if (startWildcard && endWildcard) {\n return !value.includes(filterText);\n }\n if (startWildcard) {\n return !value.endsWith(filterText);\n }\n if (endWildcard) {\n return !value.startsWith(filterText);\n }\n // Exact match negation\n return value !== filterText;\n }\n\n // Wildcard\n if (startWildcard && endWildcard) {\n return value.includes(filterText);\n }\n if (startWildcard) {\n return value.endsWith(filterText);\n }\n if (endWildcard) {\n return value.startsWith(filterText);\n }\n\n // Exact match between quotes\n if (filter.startsWith(\"'\") && filter.endsWith(\"'\")) {\n return value === filterText;\n }\n\n // Fallback: inclusion\n return value.includes(filterText);\n};\n\nexport const sortRows = (\n rows: SmeupDataRow[],\n sortObject: SortObject[],\n activeGroups?: string[],\n) => {\n const sort = sortObject?.[0];\n\n if (!sort && !activeGroups) {\n return;\n }\n\n if (!sort && activeGroups) {\n rows.sort((a, b) => {\n for (const group of activeGroups) {\n const valA = a.cells?.[group]?.value ?? \"\";\n const valB = b.cells?.[group]?.value ?? \"\";\n\n if (valA !== valB) {\n return valA.localeCompare(valB);\n }\n }\n return 0;\n });\n return;\n }\n\n sortObject?.forEach(sort => {\n rows.sort((a, b) => {\n const valA = a.cells?.[sort.column]?.value ?? \"\";\n const valB = b.cells?.[sort.column]?.value ?? \"\";\n\n switch (sort.sortMode) {\n case SortMode.A:\n if (valA !== valB) {\n return valA.localeCompare(valB);\n }\n return 0;\n case SortMode.D:\n if (valA !== valB) {\n return valB.localeCompare(valA);\n }\n return 0;\n }\n });\n });\n};\n\n/**\n * Returns a converted and formatted cell value (string, date, number)\n * @param cell - SmeupDataCell\n * @param bookType - SupportedExportFormats\n * @param webupManagerData - WebupManagerData\n * @returns\n */\nexport const calculateCellValue = (\n cell: SmeupDataCell,\n bookType: SupportedExportFormats,\n webupManagerData: WebupManagerData,\n) => {\n return calculateValue(\n cell.value,\n cell.obj ?? ({ t: \"\", p: \"\", k: \"\" } as SmeupDataObj),\n bookType,\n webupManagerData,\n );\n};\n\n/**\n * Calculates and formats a value based on its type and export format.\n *\n * - If the value is a date and the object indicates a date type, it returns a formatted date string or a Date object,\n * depending on the export format.\n * - If the value is a number and the object indicates a number type, it returns a formatted number string or a numeric value,\n * depending on the export format.\n * - Otherwise, it returns the original value or an empty string if the value is null or undefined.\n *\n * @param bookType - The export format type.\n * @param webupManagerData - Data containing locale and formatting information.\n * @param value - The value to be calculated and formatted.\n * @param obj - Optional object describing the type of the value.\n * @returns The formatted value, a Date object, a number, or the original value as a string.\n */\nexport const calculateValue = (\n value: string,\n obj: {\n t: string;\n p: string;\n k: string;\n },\n bookType: SupportedExportFormats,\n webupManagerData: WebupManagerData,\n) => {\n if (obj && objectsIsDate(obj) && datesIsIsoDate(value)) {\n return exportTypeSupportsFormatting[bookType]\n ? new Date(datesToDate(value, webupManagerData.datesLocale))\n : datesFormat(value, webupManagerData.datesLocale);\n }\n\n if (obj && objectsIsNumber(obj)) {\n if (!exportTypeSupportsFormatting[bookType]) {\n return (\n mathNumberStringToFormattedString(\n value,\n mathCountDecimals(Number(value) || 0),\n \"\",\n webupManagerData.mathLocale,\n ) || \"\"\n );\n }\n\n const numValue = Number(value);\n return !isNaN(numValue) && !(Math.abs(numValue) === Infinity)\n ? numValue\n : \"\";\n }\n\n return sanitizeString(value) ?? \"\";\n};\n\n/**\n * Conversion from Hexadecimal color to an AlphaRGB\n * @param hex string - Hexadecimal value, it can bot have and don't have the # prefix\n * @returns ARGB string code\n */\nexport const hexToArgb = (hex: string): string => {\n // Hex validation\n if (hex.startsWith(\"#\")) hex = hex.slice(1);\n if (hex.length !== 6) return \"\";\n\n // Value Parse and return\n const red = parseInt(hex.slice(0, 2), 16);\n const green = parseInt(hex.slice(2, 4), 16);\n const blue = parseInt(hex.slice(4, 6), 16);\n return `FF${red.toString(16).padStart(2, \"0\")}${green\n .toString(16)\n .padStart(2, \"0\")}${blue.toString(16).padStart(2, \"0\")}`;\n};\n\n// Utility function to detect if Buffer is available\nconst isBufferAvailable = (): boolean => {\n try {\n return typeof Buffer !== \"undefined\" && typeof Buffer.from === \"function\";\n } catch {\n return false;\n }\n};\n\n// Utility function to convert ArrayBuffer to Buffer or Uint8Array\nexport const convertToBuffer = (\n arrayBuffer: ArrayBuffer | Uint8Array,\n): Buffer | Uint8Array => {\n if (arrayBuffer instanceof Uint8Array) {\n return arrayBuffer;\n }\n if (isBufferAvailable()) {\n return Buffer.from(arrayBuffer);\n } else {\n return new Uint8Array(arrayBuffer);\n }\n};\n\n// Function to load an image as base64 (browser version, async)\nexport const loadImageAsBase64 = async (\n imageUrl: string,\n): Promise<string | null> => {\n try {\n const response = await fetch(imageUrl);\n if (!response.ok) return null;\n const blob = await response.blob();\n return await new Promise<string | null>((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n resolve(reader.result as string);\n };\n reader.onerror = () => reject(null);\n reader.readAsDataURL(blob);\n });\n } catch (error) {\n console.warn(\"Unable to load asset image:\", error);\n return null;\n }\n};\n\n/**\n * Converts a hexadecimal color string (e.g., \"#RRGGBB\" or \"0xRRGGBB\") to an RGB tuple.\n */\nexport const convertColorToRgb = (color: string): [number, number, number] => {\n const r = parseInt(color.substring(2, 4), 16);\n const g = parseInt(color.substring(4, 6), 16);\n const b = parseInt(color.substring(6, 8), 16);\n return [r, g, b];\n};\n\n"]}
@@ -1,2 +1,2 @@
1
- import { SmeupDataColumn } from "../types/data-structures/smeupDataTable.js";
1
+ import { SmeupDataColumn } from "../types/data-structures/smeupDataTable";
2
2
  export declare const isColumnHidden: (column: SmeupDataColumn) => boolean;
@@ -1,5 +1,9 @@
1
- export const isColumnHidden = (column) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isColumnHidden = void 0;
4
+ const isColumnHidden = (column) => {
2
5
  return (Object.prototype.hasOwnProperty.call(column, "visible") &&
3
6
  column.visible === false);
4
7
  };
8
+ exports.isColumnHidden = isColumnHidden;
5
9
  //# sourceMappingURL=datastructure-utility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datastructure-utility.js","sourceRoot":"","sources":["../../src/utils/datastructure-utility.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAuB,EAAW,EAAE;IACjE,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;QACvD,MAAM,CAAC,OAAO,KAAK,KAAK,CACzB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { SmeupDataColumn } from \"../types/data-structures/smeupDataTable.js\";\n\nexport const isColumnHidden = (column: SmeupDataColumn): boolean => {\n return (\n Object.prototype.hasOwnProperty.call(column, \"visible\") &&\n column.visible === false\n );\n};\n"]}
1
+ {"version":3,"file":"datastructure-utility.js","sourceRoot":"","sources":["../../src/utils/datastructure-utility.ts"],"names":[],"mappings":";;;AAEO,MAAM,cAAc,GAAG,CAAC,MAAuB,EAAW,EAAE;IACjE,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;QACvD,MAAM,CAAC,OAAO,KAAK,KAAK,CACzB,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,cAAc,kBAKzB","sourcesContent":["import { SmeupDataColumn } from \"../types/data-structures/smeupDataTable\";\n\nexport const isColumnHidden = (column: SmeupDataColumn): boolean => {\n return (\n Object.prototype.hasOwnProperty.call(column, \"visible\") &&\n column.visible === false\n );\n};\n\n"]}
@@ -1,32 +1,40 @@
1
- import dayjs from "dayjs";
2
- import utc from "dayjs/plugin/utc.js";
3
- import customParseFormat from "dayjs/plugin/customParseFormat.js";
4
- import localizedFormat from "dayjs/plugin/localizedFormat.js";
5
- import minMax from "dayjs/plugin/minMax.js";
6
- import "dayjs/locale/es.js";
7
- import "dayjs/locale/fr.js";
8
- import "dayjs/locale/it.js";
9
- import "dayjs/locale/pl.js";
10
- import "dayjs/locale/ru.js";
11
- import "dayjs/locale/zh.js";
12
- import { DatesFormats } from "../types/index.js";
13
- import ExcelJS from "exceljs";
14
- dayjs.extend(utc);
15
- dayjs.extend(customParseFormat);
16
- dayjs.extend(localizedFormat);
17
- dayjs.extend(minMax);
18
- export const datesFormat = (input, locale, format) => {
19
- const _dayjs = dayjs;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.datesToDate = exports.datesIsIsoDate = exports.datesFormat = void 0;
7
+ exports.areAllValuesDates = areAllValuesDates;
8
+ const dayjs_1 = __importDefault(require("dayjs"));
9
+ const utc_js_1 = __importDefault(require("dayjs/plugin/utc.js"));
10
+ const customParseFormat_js_1 = __importDefault(require("dayjs/plugin/customParseFormat.js"));
11
+ const localizedFormat_js_1 = __importDefault(require("dayjs/plugin/localizedFormat.js"));
12
+ const minMax_js_1 = __importDefault(require("dayjs/plugin/minMax.js"));
13
+ require("dayjs/locale/es.js");
14
+ require("dayjs/locale/fr.js");
15
+ require("dayjs/locale/it.js");
16
+ require("dayjs/locale/pl.js");
17
+ require("dayjs/locale/ru.js");
18
+ require("dayjs/locale/zh.js");
19
+ const index_1 = require("../types/index");
20
+ const exceljs_1 = __importDefault(require("exceljs"));
21
+ dayjs_1.default.extend(utc_js_1.default);
22
+ dayjs_1.default.extend(customParseFormat_js_1.default);
23
+ dayjs_1.default.extend(localizedFormat_js_1.default);
24
+ dayjs_1.default.extend(minMax_js_1.default);
25
+ const datesFormat = (input, locale, format) => {
26
+ const _dayjs = dayjs_1.default;
20
27
  _dayjs.locale(locale);
21
28
  if (!format) {
22
29
  format = "L"; // MM/DD/YYYY, DD/MM/YYYY depending on locale
23
30
  }
24
31
  return _dayjs.utc(input).format(format);
25
32
  };
26
- export const datesIsIsoDate = (dateString) => {
27
- const isoDate = dayjs(dateString, [
28
- DatesFormats.ISO_DATE,
29
- DatesFormats.ISO_DATE_TIME,
33
+ exports.datesFormat = datesFormat;
34
+ const datesIsIsoDate = (dateString) => {
35
+ const isoDate = (0, dayjs_1.default)(dateString, [
36
+ index_1.DatesFormats.ISO_DATE,
37
+ index_1.DatesFormats.ISO_DATE_TIME,
30
38
  "YYYY-MM-DDTHH:mm:ss.SSSZ",
31
39
  ]);
32
40
  if (!isoDate.isValid()) {
@@ -43,8 +51,9 @@ export const datesIsIsoDate = (dateString) => {
43
51
  }
44
52
  return true;
45
53
  };
46
- export const datesToDate = (input, locale, format) => {
47
- const _dayjs = dayjs;
54
+ exports.datesIsIsoDate = datesIsIsoDate;
55
+ const datesToDate = (input, locale, format) => {
56
+ const _dayjs = dayjs_1.default;
48
57
  _dayjs.locale(locale);
49
58
  if (format && format != null) {
50
59
  return _dayjs.utc(input, format).toDate();
@@ -53,6 +62,7 @@ export const datesToDate = (input, locale, format) => {
53
62
  return _dayjs.utc(input).toDate();
54
63
  }
55
64
  };
65
+ exports.datesToDate = datesToDate;
56
66
  /**
57
67
  * Checks if all ExcelJS.Cell values in the array are dates (ExcelJS.ValueType.Date).
58
68
  * Accepts an array of ExcelJS.Cell and returns true if all are dates.
@@ -60,14 +70,14 @@ export const datesToDate = (input, locale, format) => {
60
70
  * @param values - Array of ExcelJS.Cell
61
71
  * @returns true if all values are dates, false otherwise
62
72
  */
63
- export function areAllValuesDates(values) {
73
+ function areAllValuesDates(values) {
64
74
  const filteredValues = values.filter(cell => cell && cell.type && cell.value);
65
75
  if (!Array.isArray(filteredValues) || filteredValues.length === 0)
66
76
  return false;
67
77
  return filteredValues.every(cell => {
68
78
  if (!cell || typeof cell !== "object")
69
79
  return false;
70
- return cell.type === ExcelJS.ValueType.Date;
80
+ return cell.type === exceljs_1.default.ValueType.Date;
71
81
  });
72
82
  }
73
83
  //# sourceMappingURL=dates-utility.js.map