@qrvey/utils 1.15.0-9 → 1.15.0

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 (139) hide show
  1. package/dist/cjs/columns/constants/COLUMN_ICON.js +32 -32
  2. package/dist/cjs/columns/helpers/index.d.ts +1 -0
  3. package/dist/cjs/columns/helpers/index.js +1 -0
  4. package/dist/cjs/columns/helpers/isNumericalColumn.d.ts +1 -1
  5. package/dist/cjs/columns/helpers/isNumericalColumn.js +1 -1
  6. package/dist/cjs/columns/helpers/isStringColumn.d.ts +7 -0
  7. package/dist/cjs/columns/helpers/isStringColumn.js +19 -0
  8. package/dist/cjs/dates/relative/RelativeStatementAdapter.js +2 -1
  9. package/dist/cjs/elements/helpers/fixed.d.ts +96 -0
  10. package/dist/cjs/elements/helpers/fixed.js +248 -0
  11. package/dist/cjs/elements/helpers/gridStrategy.d.ts +29 -0
  12. package/dist/cjs/elements/helpers/gridStrategy.js +83 -0
  13. package/dist/cjs/elements/helpers/index.d.ts +3 -0
  14. package/dist/cjs/elements/helpers/index.js +22 -0
  15. package/dist/cjs/elements/helpers/responsive.d.ts +87 -0
  16. package/dist/cjs/elements/helpers/responsive.js +166 -0
  17. package/dist/cjs/elements/index.d.ts +2 -0
  18. package/dist/cjs/elements/index.js +18 -0
  19. package/dist/cjs/elements/interfaces/ICanvasGrid.d.ts +5 -0
  20. package/dist/cjs/elements/interfaces/ICanvasGrid.js +9 -0
  21. package/dist/cjs/elements/interfaces/IFixedPosition.d.ts +5 -0
  22. package/dist/cjs/elements/interfaces/IFixedPosition.js +2 -0
  23. package/dist/cjs/elements/interfaces/IVemCore.d.ts +29 -0
  24. package/dist/cjs/elements/interfaces/IVemCore.js +3 -0
  25. package/dist/cjs/elements/interfaces/IVemPosition.d.ts +44 -0
  26. package/dist/cjs/elements/interfaces/IVemPosition.js +8 -0
  27. package/dist/cjs/elements/interfaces/index.d.ts +4 -0
  28. package/dist/cjs/elements/interfaces/index.js +20 -0
  29. package/dist/cjs/elements/utils/element.d.ts +4 -0
  30. package/dist/cjs/elements/utils/element.js +28 -0
  31. package/dist/cjs/elements/utils/fixed.position.d.ts +12 -0
  32. package/dist/cjs/elements/utils/fixed.position.js +86 -0
  33. package/dist/cjs/elements/utils/general.d.ts +15 -0
  34. package/dist/cjs/elements/utils/general.js +20 -0
  35. package/dist/cjs/elements/utils/overlap.d.ts +63 -0
  36. package/dist/cjs/elements/utils/overlap.js +99 -0
  37. package/dist/cjs/elements/utils/position.d.ts +4 -0
  38. package/dist/cjs/elements/utils/position.js +5 -0
  39. package/dist/cjs/filters/adapters/FDToLogic.js +2 -1
  40. package/dist/cjs/filters/helpers/backend/buildExpression.js +1 -0
  41. package/dist/cjs/filters/helpers/backend/buildFilters.d.ts +5 -0
  42. package/dist/cjs/filters/helpers/backend/buildFilters.js +23 -1
  43. package/dist/cjs/filters/helpers/backend/getBackendValues.js +4 -1
  44. package/dist/cjs/filters/helpers/getAvailableScopesIDsByConfig.js +1 -0
  45. package/dist/cjs/filters/interfaces/backend/IFBExpression.js +0 -1
  46. package/dist/cjs/general/array/getUniqueSimpleArray.d.ts +6 -0
  47. package/dist/cjs/general/array/getUniqueSimpleArray.js +14 -0
  48. package/dist/cjs/general/array/index.d.ts +1 -0
  49. package/dist/cjs/general/array/index.js +1 -0
  50. package/dist/cjs/general/string/index.d.ts +4 -0
  51. package/dist/cjs/general/string/index.js +4 -0
  52. package/dist/cjs/general/string/secureHTML.d.ts +8 -0
  53. package/dist/cjs/general/string/secureHTML.js +13 -0
  54. package/dist/cjs/general/string/strategies/XSSEstrictedSanitizer.d.ts +8 -0
  55. package/dist/cjs/general/string/strategies/XSSEstrictedSanitizer.js +23 -0
  56. package/dist/cjs/general/string/strategies/XSSSanitizer.d.ts +8 -0
  57. package/dist/cjs/general/string/strategies/XSSSanitizer.js +19 -0
  58. package/dist/cjs/general/string/urlValidator.d.ts +10 -0
  59. package/dist/cjs/general/string/urlValidator.js +38 -0
  60. package/dist/cjs/globalization/interfaces/chart_builder/II18nChartBuilderSorting.d.ts +2 -0
  61. package/dist/cjs/globalization/interfaces/export/II18nExportingModal.d.ts +6 -0
  62. package/dist/cjs/globalization/interfaces/export/II18nExportingModalApplyButtonLabel.d.ts +1 -0
  63. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_GENERAL_OPTIONS.js +2 -0
  64. package/dist/cjs/globalization/labels/export/I18N_EXPORT_MODAL.js +10 -1
  65. package/dist/cjs/index.d.ts +1 -0
  66. package/dist/cjs/index.js +1 -0
  67. package/dist/cjs/interfaces/SatinizerStrategy.d.ts +3 -0
  68. package/dist/cjs/interfaces/SatinizerStrategy.js +2 -0
  69. package/dist/cjs/themes/constants/AUTOMATIC_GLOBAL_CSS_VARIABLES_FOR_LIGHT.js +3 -3
  70. package/dist/columns/constants/COLUMN_ICON.js +32 -32
  71. package/dist/columns/helpers/index.d.ts +1 -0
  72. package/dist/columns/helpers/index.js +1 -0
  73. package/dist/columns/helpers/isNumericalColumn.d.ts +1 -1
  74. package/dist/columns/helpers/isNumericalColumn.js +1 -1
  75. package/dist/columns/helpers/isStringColumn.d.ts +7 -0
  76. package/dist/columns/helpers/isStringColumn.js +15 -0
  77. package/dist/dates/relative/RelativeStatementAdapter.js +2 -1
  78. package/dist/elements/helpers/fixed.d.ts +96 -0
  79. package/dist/elements/helpers/fixed.js +236 -0
  80. package/dist/elements/helpers/gridStrategy.d.ts +29 -0
  81. package/dist/elements/helpers/gridStrategy.js +78 -0
  82. package/dist/elements/helpers/index.d.ts +3 -0
  83. package/dist/elements/helpers/index.js +3 -0
  84. package/dist/elements/helpers/responsive.d.ts +87 -0
  85. package/dist/elements/helpers/responsive.js +155 -0
  86. package/dist/elements/index.d.ts +2 -0
  87. package/dist/elements/index.js +2 -0
  88. package/dist/elements/interfaces/ICanvasGrid.d.ts +5 -0
  89. package/dist/elements/interfaces/ICanvasGrid.js +6 -0
  90. package/dist/elements/interfaces/IFixedPosition.d.ts +5 -0
  91. package/dist/elements/interfaces/IFixedPosition.js +1 -0
  92. package/dist/elements/interfaces/IVemCore.d.ts +29 -0
  93. package/dist/elements/interfaces/IVemCore.js +1 -0
  94. package/dist/elements/interfaces/IVemPosition.d.ts +44 -0
  95. package/dist/elements/interfaces/IVemPosition.js +5 -0
  96. package/dist/elements/interfaces/index.d.ts +4 -0
  97. package/dist/elements/interfaces/index.js +4 -0
  98. package/dist/elements/utils/element.d.ts +4 -0
  99. package/dist/elements/utils/element.js +24 -0
  100. package/dist/elements/utils/fixed.position.d.ts +12 -0
  101. package/dist/elements/utils/fixed.position.js +72 -0
  102. package/dist/elements/utils/general.d.ts +15 -0
  103. package/dist/elements/utils/general.js +16 -0
  104. package/dist/elements/utils/overlap.d.ts +63 -0
  105. package/dist/elements/utils/overlap.js +95 -0
  106. package/dist/elements/utils/position.d.ts +4 -0
  107. package/dist/elements/utils/position.js +1 -0
  108. package/dist/filters/adapters/FDToLogic.js +2 -1
  109. package/dist/filters/helpers/backend/buildExpression.js +1 -0
  110. package/dist/filters/helpers/backend/buildFilters.d.ts +5 -0
  111. package/dist/filters/helpers/backend/buildFilters.js +23 -1
  112. package/dist/filters/helpers/backend/getBackendValues.js +4 -1
  113. package/dist/filters/helpers/getAvailableScopesIDsByConfig.js +1 -0
  114. package/dist/filters/interfaces/backend/IFBExpression.js +0 -1
  115. package/dist/general/array/getUniqueSimpleArray.d.ts +6 -0
  116. package/dist/general/array/getUniqueSimpleArray.js +10 -0
  117. package/dist/general/array/index.d.ts +1 -0
  118. package/dist/general/array/index.js +1 -0
  119. package/dist/general/string/index.d.ts +4 -0
  120. package/dist/general/string/index.js +4 -0
  121. package/dist/general/string/secureHTML.d.ts +8 -0
  122. package/dist/general/string/secureHTML.js +9 -0
  123. package/dist/general/string/strategies/XSSEstrictedSanitizer.d.ts +8 -0
  124. package/dist/general/string/strategies/XSSEstrictedSanitizer.js +19 -0
  125. package/dist/general/string/strategies/XSSSanitizer.d.ts +8 -0
  126. package/dist/general/string/strategies/XSSSanitizer.js +15 -0
  127. package/dist/general/string/urlValidator.d.ts +10 -0
  128. package/dist/general/string/urlValidator.js +34 -0
  129. package/dist/globalization/interfaces/chart_builder/II18nChartBuilderSorting.d.ts +2 -0
  130. package/dist/globalization/interfaces/export/II18nExportingModal.d.ts +6 -0
  131. package/dist/globalization/interfaces/export/II18nExportingModalApplyButtonLabel.d.ts +1 -0
  132. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_GENERAL_OPTIONS.js +2 -0
  133. package/dist/globalization/labels/export/I18N_EXPORT_MODAL.js +10 -1
  134. package/dist/index.d.ts +1 -0
  135. package/dist/index.js +1 -0
  136. package/dist/interfaces/SatinizerStrategy.d.ts +3 -0
  137. package/dist/interfaces/SatinizerStrategy.js +1 -0
  138. package/dist/themes/constants/AUTOMATIC_GLOBAL_CSS_VARIABLES_FOR_LIGHT.js +3 -3
  139. package/package.json +3 -2
@@ -6,36 +6,36 @@ const COMPLEX_COLUMN_1 = require("./COMPLEX_COLUMN");
6
6
  const COMPOUND_COLUMN_1 = require("./COMPOUND_COLUMN");
7
7
  const NUMERICAL_COLUMN_1 = require("./NUMERICAL_COLUMN");
8
8
  exports.COLUMN_ICON = {
9
- [NUMERICAL_COLUMN_1.NUMERICAL_COLUMN.RATING]: "q-icon-star",
10
- [COMPLEX_COLUMN_1.COMPLEX_COLUMN.TEXTFIELD]: "q-icon-short-text",
11
- [COMPLEX_COLUMN_1.COMPLEX_COLUMN.LONGTEXT]: "q-icon-long-text",
12
- [COLUMN_1.COLUMN.TEXT_LABEL]: "q-icon-text-left",
13
- [COLUMN_1.COLUMN.TEXT_CATEGORY]: "q-icon-text-left",
14
- [COLUMN_1.COLUMN.YES_NO]: "q-icon-yes-no",
15
- [COLUMN_1.COLUMN.RANKING]: "q-icon-ranking",
16
- [COLUMN_1.COLUMN.DATE]: "q-icon-date",
17
- [COLUMN_1.COLUMN.TIME]: "q-icon-time",
18
- [NUMERICAL_COLUMN_1.NUMERICAL_COLUMN.SLIDEBAR]: "q-icon-slidebar",
19
- [COMPLEX_COLUMN_1.COMPLEX_COLUMN.IMAGEUPLOAD]: "q-icon-image-upload",
20
- [COLUMN_1.COLUMN.SIGNATURE]: "q-icon-signature",
21
- [COMPLEX_COLUMN_1.COMPLEX_COLUMN.EXPRESSION]: "q-icon-expression",
22
- [NUMERICAL_COLUMN_1.NUMERICAL_COLUMN.NUMERIC]: "q-icon-numeric",
23
- [COLUMN_1.COLUMN.IMAGE]: "q-icon-image",
24
- [COMPOUND_COLUMN_1.COMPOUND_COLUMN.NAME]: "q-icon-name",
25
- [COLUMN_1.COLUMN.EMAIL_FORM]: "q-icon-email",
26
- [COLUMN_1.COLUMN.PHONE]: "q-icon-phone",
27
- [COMPOUND_COLUMN_1.COMPOUND_COLUMN.USADDRESS]: "q-icon-us-address",
28
- [COMPOUND_COLUMN_1.COMPOUND_COLUMN.ADDRESS]: "q-icon-address",
29
- [COLUMN_1.COLUMN.PASSWORD]: "q-icon-password",
30
- [COLUMN_1.COLUMN.DROPDOWN]: "q-icon-dropdown",
31
- [COLUMN_1.COLUMN.LOOKUP]: "q-icon-Lookup",
32
- [COLUMN_1.COLUMN.SINGLE_CHOICE]: "q-icon-multiple-choice",
33
- [COLUMN_1.COLUMN.MULTIPLE_CHOICE]: "q-icon-multiple-choice",
34
- [COLUMN_1.COLUMN.BUCKET]: "q-icon-bucket",
35
- [COLUMN_1.COLUMN.FORMULA]: "q-icon-formula",
36
- [COLUMN_1.COLUMN.TEXT_FORMULA]: "q-icon-formula",
37
- [COLUMN_1.COLUMN.DATE_FORMULA]: "q-icon-formula",
38
- [COLUMN_1.COLUMN.NUMERIC_FORMULA]: "q-icon-formula",
39
- [COMPLEX_COLUMN_1.COMPLEX_COLUMN.FILEUPLOAD]: "q-icon-file_upload",
40
- [COLUMN_1.COLUMN.AGGREGATED_FORMULA]: "q-icon-an-aggcb",
9
+ [NUMERICAL_COLUMN_1.NUMERICAL_COLUMN.RATING]: "new-q-icon-wf-rating",
10
+ [COMPLEX_COLUMN_1.COMPLEX_COLUMN.TEXTFIELD]: "new-q-icon-wf-short-text",
11
+ [COMPLEX_COLUMN_1.COMPLEX_COLUMN.LONGTEXT]: "new-q-icon-wf-long-text",
12
+ [COLUMN_1.COLUMN.TEXT_LABEL]: "new-q-icon-qv-justify-left",
13
+ [COLUMN_1.COLUMN.TEXT_CATEGORY]: "new-q-icon-qv-justify-left",
14
+ [COLUMN_1.COLUMN.YES_NO]: "new-q-icon-wf-yes-no",
15
+ [COLUMN_1.COLUMN.RANKING]: "new-q-icon-wf-ranking",
16
+ [COLUMN_1.COLUMN.DATE]: "new-q-icon-wf-date",
17
+ [COLUMN_1.COLUMN.TIME]: "new-q-icon-wf-dt-time",
18
+ [NUMERICAL_COLUMN_1.NUMERICAL_COLUMN.SLIDEBAR]: "new-q-icon-wf-slide-bar",
19
+ [COMPLEX_COLUMN_1.COMPLEX_COLUMN.IMAGEUPLOAD]: "new-q-icon-wf-image-upload",
20
+ [COLUMN_1.COLUMN.SIGNATURE]: "new-q-icon-wf-signature",
21
+ [COMPLEX_COLUMN_1.COMPLEX_COLUMN.EXPRESSION]: "new-q-icon-wf-expression",
22
+ [NUMERICAL_COLUMN_1.NUMERICAL_COLUMN.NUMERIC]: "new-q-icon-wf-numeric",
23
+ [COLUMN_1.COLUMN.IMAGE]: "new-q-icon-wf-image",
24
+ [COMPOUND_COLUMN_1.COMPOUND_COLUMN.NAME]: "new-q-icon-wf-name",
25
+ [COLUMN_1.COLUMN.EMAIL_FORM]: "new-q-icon-wf-email",
26
+ [COLUMN_1.COLUMN.PHONE]: "new-q-icon-wf-phone-number",
27
+ [COMPOUND_COLUMN_1.COMPOUND_COLUMN.USADDRESS]: "new-q-icon-wf-us-address",
28
+ [COMPOUND_COLUMN_1.COMPOUND_COLUMN.ADDRESS]: "new-q-icon-wf-address",
29
+ [COLUMN_1.COLUMN.PASSWORD]: "new-q-icon-wf-password",
30
+ [COLUMN_1.COLUMN.DROPDOWN]: "new-q-icon-wf-dropdown",
31
+ [COLUMN_1.COLUMN.LOOKUP]: "new-q-icon-wf-lookup",
32
+ [COLUMN_1.COLUMN.SINGLE_CHOICE]: "new-q-icon-wf-multiple-choice",
33
+ [COLUMN_1.COLUMN.MULTIPLE_CHOICE]: "new-q-icon-wf-multiple-choice",
34
+ [COLUMN_1.COLUMN.BUCKET]: "new-q-icon-an-buckets",
35
+ [COLUMN_1.COLUMN.FORMULA]: "new-q-icon-an-formula",
36
+ [COLUMN_1.COLUMN.TEXT_FORMULA]: "new-q-icon-an-formula",
37
+ [COLUMN_1.COLUMN.DATE_FORMULA]: "new-q-icon-an-formula",
38
+ [COLUMN_1.COLUMN.NUMERIC_FORMULA]: "new-q-icon-an-formula",
39
+ [COMPLEX_COLUMN_1.COMPLEX_COLUMN.FILEUPLOAD]: "new-q-icon-wf-file-upload",
40
+ [COLUMN_1.COLUMN.AGGREGATED_FORMULA]: "new-q-icon-wf-dt-array-aggregate",
41
41
  };
@@ -6,3 +6,4 @@ export * from "./isComplexColumn";
6
6
  export * from "./isCompoundColumn";
7
7
  export * from "./isDateColumn";
8
8
  export * from "./isNumericalColumn";
9
+ export * from "./isStringColumn";
@@ -22,3 +22,4 @@ __exportStar(require("./isComplexColumn"), exports);
22
22
  __exportStar(require("./isCompoundColumn"), exports);
23
23
  __exportStar(require("./isDateColumn"), exports);
24
24
  __exportStar(require("./isNumericalColumn"), exports);
25
+ __exportStar(require("./isStringColumn"), exports);
@@ -1,7 +1,7 @@
1
1
  import { IColumn } from "../interfaces/IColumn";
2
2
  /**
3
3
  * Validates if the given column is numerical type
4
- * @param {IColumn} column the column info
4
+ * @param column the column info
5
5
  * @returns true: the column is numerical type
6
6
  */
7
7
  export declare const isNumericalColumn: (column: IColumn) => boolean;
@@ -8,7 +8,7 @@ const COLUMN_1 = require("../constants/COLUMN");
8
8
  const NUMERICAL_COLUMNS_1 = require("../constants/NUMERICAL_COLUMNS");
9
9
  /**
10
10
  * Validates if the given column is numerical type
11
- * @param {IColumn} column the column info
11
+ * @param column the column info
12
12
  * @returns true: the column is numerical type
13
13
  */
14
14
  const isNumericalColumn = (column) => !(0, isEmpty_1.isEmpty)(column) &&
@@ -0,0 +1,7 @@
1
+ import { IColumn } from "../interfaces/IColumn";
2
+ /**
3
+ * Validates if the given column is text type
4
+ * @param column the column info
5
+ * @returns true: the column is numerical type
6
+ */
7
+ export declare const isStringColumn: (column: IColumn) => boolean;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isStringColumn = void 0;
4
+ const FORMULA_1 = require("../../formulas/constants/FORMULA");
5
+ const isEmpty_1 = require("../../general/mix/isEmpty");
6
+ const isObject_1 = require("../../general/object/isObject");
7
+ const COLUMN_1 = require("../constants/COLUMN");
8
+ /**
9
+ * Validates if the given column is text type
10
+ * @param column the column info
11
+ * @returns true: the column is numerical type
12
+ */
13
+ const isStringColumn = (column) => !(0, isEmpty_1.isEmpty)(column) &&
14
+ (0, isObject_1.isObject)(column) &&
15
+ ([COLUMN_1.COLUMN.TEXT_LABEL, COLUMN_1.COLUMN.LONGTEXT, COLUMN_1.COLUMN.TEXT_FORMULA].includes(column.type) ||
16
+ (column.type === COLUMN_1.COLUMN.FORMULA && column.formulaType === FORMULA_1.FORMULA.TEXT) ||
17
+ (column.type === COLUMN_1.COLUMN.AGGREGATED_FORMULA &&
18
+ column.formulaType === FORMULA_1.FORMULA.TEXT));
19
+ exports.isStringColumn = isStringColumn;
@@ -9,6 +9,7 @@ const getStatementCase_1 = require("./helpers/getStatementCase");
9
9
  const DATE_GROUPING_PROPERTY_1 = require("../constants/DATE_GROUPING_PROPERTY");
10
10
  const parseDate_1 = require("./helpers/parseDate");
11
11
  const DATE_FORMATS_1 = require("./constants/DATE_FORMATS");
12
+ const general_1 = require("../../general");
12
13
  class RelativeStatementAdapter {
13
14
  constructor(statement, now = new Date()) {
14
15
  this.statement =
@@ -22,7 +23,7 @@ class RelativeStatementAdapter {
22
23
  return this.get("unit");
23
24
  }
24
25
  get anchor() {
25
- return this.get("anchor");
26
+ return (0, general_1.isEmpty)(this.get("anchor")) ? undefined : this.get("anchor");
26
27
  }
27
28
  get number() {
28
29
  return this.get("number");
@@ -0,0 +1,96 @@
1
+ import { CanvasDevice } from "../interfaces/ICanvasGrid";
2
+ import { FindAvailablePositionOptions } from "../interfaces/IFixedPosition";
3
+ import { VemFixed } from "../interfaces/IVemCore";
4
+ import { VemPositionFixed } from "../interfaces/IVemPosition";
5
+ /**
6
+ * update the position for a specific device
7
+ * @param element element to be updated
8
+ * @param newDevicePosition new position attributes for the element
9
+ * @param device device for the update
10
+ * @returns new element with its position updated
11
+ */
12
+ export declare function updateFixedPosition(element: VemFixed, newDevicePosition: Partial<VemPositionFixed>, device: CanvasDevice): VemFixed;
13
+ /**
14
+ * Finds the first available position within a canvas where a new element can be placed without overlapping existing elements.
15
+ * @param canvasWidth - The width of the canvas in pixels.
16
+ * @param newElement - The new element to be placed, with fixed position properties.
17
+ * @param elements - The list of existing elements on the canvas.
18
+ * @param device - The device type (e.g., desktop, tablet, mobile) for determining element positions.
19
+ * @param [options] - Additional options for position finding.
20
+ * @param [options.canvasHeight] - The maximum height of the canvas in pixels. Defaults to `Infinity`.
21
+ * @param [options.findRightToLeft] - Whether to search for positions from right to left. Defaults to `false`.
22
+ * @param [options.initialY] - The initial Y-coordinate to start the search. Defaults to `0`.
23
+ * @returns - The x and y coordinates of the first available position.
24
+ * @throws {Error} - Throws an error if no valid position is found and `canvasHeight` is not specified.
25
+ */
26
+ export declare function findAvailablePosition(canvasWidth: number, newElement: VemFixed, elements: VemFixed[], device: CanvasDevice, options?: FindAvailablePositionOptions): {
27
+ x: number;
28
+ y: number;
29
+ };
30
+ export declare const getFixedPositionByDevice: (item: VemFixed, device: CanvasDevice) => VemPositionFixed | undefined;
31
+ /**
32
+ * Finds available positions for multiple new elements within a canvas, ensuring they do not overlap with existing elements.
33
+ * @param canvasWidth - The width of the canvas in pixels.
34
+ * @param newElements - The list of new elements to be positioned, each with fixed position properties.
35
+ * @param elements - The list of existing elements on the canvas.
36
+ * @param device - The device type (e.g., desktop, tablet, mobile) for determining element positions.
37
+ * @param [startWithPositionY] - Whether to start the position search for each new element based on its initial Y-coordinate. Defaults to `false`.
38
+ * @param [findRightToLeft] - Whether to search for positions from right to left. Defaults to `false`.
39
+ * @param [canvasHeight] - The maximum height of the canvas in pixels. If not provided, the search height is unlimited.
40
+ * @returns List of elements with their recalculated positions.
41
+ */
42
+ export declare function findFixedAvailablePositions(canvasWidth: number, newElements: VemFixed[], elements: VemFixed[], device: CanvasDevice, startWithPositionY?: boolean, findRightToLeft?: boolean, canvasHeight?: number): VemFixed[];
43
+ /**
44
+ * Recalculates the positions of elements on the canvas, preserving the position of those
45
+ * that meet certain conditions (no overflow or overlap). Elements that do not meet these
46
+ * conditions are recalculated to find a new valid position.
47
+ * @param elements - List of elements to recalculate.
48
+ * @param device - The device on which the canvas is being rendered.
49
+ * @param resolution - The resolution of the canvas.
50
+ * @param [canvasHeight] - Optional height of the canvas.
51
+ * @returns - List of elements with their recalculated positions.
52
+ */
53
+ export declare const recalculatePreservingPositions: (elements: VemFixed[], device: CanvasDevice, resolution: number, canvasHeight?: number) => VemFixed[];
54
+ /**
55
+ * Adjusts the `width` of a fixed element to fit within the specified canvas width and updates its position.
56
+ * @param element - The fixed element to adjust.
57
+ * @param canvasWidth - The width of the canvas in grid columns.
58
+ * @param canvasDevice - The target device type (e.g., desktop, tablet, mobile).
59
+ * @returns - The updated responsive element with an adjusted `width`.
60
+ */
61
+ export declare function updateFixedElementWidth(element: VemFixed, canvasWidth: number, canvasDevice: CanvasDevice): VemFixed;
62
+ /**
63
+ * @param elements elements to calculate
64
+ * @param device current device
65
+ * @returns height
66
+ */
67
+ export declare const getFixedGridElementsBottomLimit: (elements: VemFixed[], device: CanvasDevice) => number;
68
+ /**
69
+ * Calculates distances of elements from a given reference point on the canvas device.
70
+ * @param elements - Array of `VemFixed` elements to calculate distances for.
71
+ * @param device - Canvas device providing the coordinates of the elements.
72
+ * @param referencePoint - The reference point to calculate distances from.
73
+ * @param referencePoint.x
74
+ * @param referencePoint.y
75
+ * @returns An array of objects containing the original elements and their calculated distances from the reference point.
76
+ */
77
+ export declare const calculateDistancesToReferencePoint: (elements: VemFixed[], device: CanvasDevice, referencePoint: {
78
+ x: number;
79
+ y: number;
80
+ }) => {
81
+ distance: number;
82
+ element: VemFixed;
83
+ }[];
84
+ /**
85
+ * Sorts elements based on their distance from a reference point on the canvas.
86
+ * @param elements - Array of `VemFixed` elements to be sorted.
87
+ * @param device - Canvas device providing the coordinates of the elements.
88
+ * @param referencePoint - The reference point to calculate distances from.
89
+ * @param referencePoint.x
90
+ * @param referencePoint.y
91
+ * @returns An array of `VemFixed` elements sorted by their distance from the reference point (0, 0).
92
+ */
93
+ export declare const sortElementsFromReferencePoint: (elements: VemFixed<unknown>[], device: CanvasDevice, referencePoint: {
94
+ x: number;
95
+ y: number;
96
+ }) => VemFixed<unknown>[];
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sortElementsFromReferencePoint = exports.calculateDistancesToReferencePoint = exports.getFixedGridElementsBottomLimit = exports.updateFixedElementWidth = exports.recalculatePreservingPositions = exports.findFixedAvailablePositions = exports.getFixedPositionByDevice = exports.findAvailablePosition = exports.updateFixedPosition = void 0;
4
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */
5
+ const ICanvasGrid_1 = require("../interfaces/ICanvasGrid");
6
+ const IVemPosition_1 = require("../interfaces/IVemPosition");
7
+ const fixed_position_1 = require("../utils/fixed.position");
8
+ const general_1 = require("../utils/general");
9
+ const overlap_1 = require("../utils/overlap");
10
+ const position_1 = require("../utils/position");
11
+ const SPACE_DELTA = 10;
12
+ /**
13
+ * update the position for a specific device
14
+ * @param element element to be updated
15
+ * @param newDevicePosition new position attributes for the element
16
+ * @param device device for the update
17
+ * @returns new element with its position updated
18
+ */
19
+ function updateFixedPosition(element, newDevicePosition, device) {
20
+ var _a;
21
+ return Object.assign(Object.assign({}, element), { position: Object.assign(Object.assign({}, element.position), { fixed: Object.assign(Object.assign({}, element.position.fixed), { [device]: Object.assign(Object.assign({}, (_a = element.position.fixed) === null || _a === void 0 ? void 0 : _a[device]), newDevicePosition) }) }) });
22
+ }
23
+ exports.updateFixedPosition = updateFixedPosition;
24
+ /**
25
+ * Finds the first available position within a canvas where a new element can be placed without overlapping existing elements.
26
+ * @param canvasWidth - The width of the canvas in pixels.
27
+ * @param newElement - The new element to be placed, with fixed position properties.
28
+ * @param elements - The list of existing elements on the canvas.
29
+ * @param device - The device type (e.g., desktop, tablet, mobile) for determining element positions.
30
+ * @param [options] - Additional options for position finding.
31
+ * @param [options.canvasHeight] - The maximum height of the canvas in pixels. Defaults to `Infinity`.
32
+ * @param [options.findRightToLeft] - Whether to search for positions from right to left. Defaults to `false`.
33
+ * @param [options.initialY] - The initial Y-coordinate to start the search. Defaults to `0`.
34
+ * @returns - The x and y coordinates of the first available position.
35
+ * @throws {Error} - Throws an error if no valid position is found and `canvasHeight` is not specified.
36
+ */
37
+ function findAvailablePosition(canvasWidth, newElement, elements, device, options = {}) {
38
+ var _a, _b;
39
+ const { width: newWidth, height: newHeight } = (0, exports.getFixedPositionByDevice)(newElement, device);
40
+ const canvasHeight = (_a = options.canvasHeight) !== null && _a !== void 0 ? _a : Infinity;
41
+ const sortedElements = options.findRightToLeft
42
+ ? elements
43
+ .slice()
44
+ .sort((b, a) => b.position.fixed[device].x - a.position.fixed[device].x)
45
+ : elements
46
+ .slice()
47
+ .sort((a, b) => a.position.fixed[device].y - b.position.fixed[device].y);
48
+ const intervalTree = new overlap_1.OverlapIntervalTree();
49
+ for (const element of sortedElements) {
50
+ const elemPosition = element.position.fixed[device];
51
+ intervalTree.insert(elemPosition.x, elemPosition.x + elemPosition.width, elemPosition.y, elemPosition.y + elemPosition.height);
52
+ }
53
+ let startX = options.findRightToLeft ? canvasWidth - newWidth : 0;
54
+ const initialY = (_b = options.initialY) !== null && _b !== void 0 ? _b : 0;
55
+ let increment = options.findRightToLeft ? -SPACE_DELTA : SPACE_DELTA;
56
+ for (let y = initialY; y <= canvasHeight - newHeight; y += SPACE_DELTA) {
57
+ let x = startX;
58
+ while (x >= 0 && x <= canvasWidth - newWidth) {
59
+ if (!intervalTree.overlaps(x, x + newWidth, y, y + newHeight)) {
60
+ return { x, y };
61
+ }
62
+ x += increment;
63
+ }
64
+ if (options.findRightToLeft) {
65
+ startX = 0;
66
+ increment = SPACE_DELTA;
67
+ }
68
+ }
69
+ if (options.canvasHeight)
70
+ return { x: 0, y: 0 };
71
+ throw new Error("No valid position found");
72
+ }
73
+ exports.findAvailablePosition = findAvailablePosition;
74
+ const getFixedPositionByDevice = (item, device) => {
75
+ const fixedPosition = item.position.fixed;
76
+ const devicePosition = fixedPosition[device];
77
+ return isValidPosition(devicePosition) ? devicePosition : undefined;
78
+ };
79
+ exports.getFixedPositionByDevice = getFixedPositionByDevice;
80
+ const isValidPosition = (position) => {
81
+ return ((position === null || position === void 0 ? void 0 : position.y) !== undefined &&
82
+ position.x !== undefined &&
83
+ position.z !== undefined &&
84
+ position.height !== undefined &&
85
+ position.width !== undefined);
86
+ };
87
+ /**
88
+ * Finds available positions for multiple new elements within a canvas, ensuring they do not overlap with existing elements.
89
+ * @param canvasWidth - The width of the canvas in pixels.
90
+ * @param newElements - The list of new elements to be positioned, each with fixed position properties.
91
+ * @param elements - The list of existing elements on the canvas.
92
+ * @param device - The device type (e.g., desktop, tablet, mobile) for determining element positions.
93
+ * @param [startWithPositionY] - Whether to start the position search for each new element based on its initial Y-coordinate. Defaults to `false`.
94
+ * @param [findRightToLeft] - Whether to search for positions from right to left. Defaults to `false`.
95
+ * @param [canvasHeight] - The maximum height of the canvas in pixels. If not provided, the search height is unlimited.
96
+ * @returns List of elements with their recalculated positions.
97
+ */
98
+ function findFixedAvailablePositions(canvasWidth, newElements, elements, device, startWithPositionY = false, findRightToLeft = false, canvasHeight) {
99
+ const processedElements = elements.slice();
100
+ const resultElems = [];
101
+ newElements.forEach((nElement) => {
102
+ const initialY = startWithPositionY
103
+ ? nElement.position.fixed[device].y
104
+ : 0;
105
+ const newElement = updateFixedElementWidth(nElement, canvasWidth, device);
106
+ const availablePosition = findAvailablePosition(canvasWidth, newElement, processedElements, device, { initialY, findRightToLeft, canvasHeight });
107
+ const newElemWithPosition = updateFixedPosition(newElement, availablePosition, device);
108
+ resultElems.push(newElemWithPosition);
109
+ processedElements.push(newElemWithPosition);
110
+ });
111
+ return resultElems;
112
+ }
113
+ exports.findFixedAvailablePositions = findFixedAvailablePositions;
114
+ /**
115
+ * Recalculates the positions of elements on the canvas, preserving the position of those
116
+ * that meet certain conditions (no overflow or overlap). Elements that do not meet these
117
+ * conditions are recalculated to find a new valid position.
118
+ * @param elements - List of elements to recalculate.
119
+ * @param device - The device on which the canvas is being rendered.
120
+ * @param resolution - The resolution of the canvas.
121
+ * @param [canvasHeight] - Optional height of the canvas.
122
+ * @returns - List of elements with their recalculated positions.
123
+ */
124
+ const recalculatePreservingPositions = (elements, device, resolution, canvasHeight) => {
125
+ const keepElementPositions = getElementsWithKeepPosition([...elements], device, resolution, canvasHeight);
126
+ const elementIds = keepElementPositions.map((element) => element.elementId);
127
+ const elementsToCalculate = elements.filter((cElement) => !elementIds.includes(cElement.elementId));
128
+ const defaultElements = keepElementPositions.length
129
+ ? keepElementPositions
130
+ : [];
131
+ const currentElements = canvasHeight ? defaultElements : elements;
132
+ const newElements = findFixedAvailablePositions(resolution, elementsToCalculate, currentElements, device, false, false, canvasHeight);
133
+ return [...keepElementPositions, ...newElements];
134
+ };
135
+ exports.recalculatePreservingPositions = recalculatePreservingPositions;
136
+ /**
137
+ * Filters elements that should retain their current position on the canvas by checking
138
+ * that they do not have overflow (spilling outside the canvas) or overlap (colliding with other elements).
139
+ * @param elements - List of elements to check.
140
+ * @param device - The device on which the canvas is being rendered.
141
+ * @param resolution - The resolution of the canvas.
142
+ * @param [canvasHeight] - Optional height of the canvas.
143
+ * @returns - List of elements that can retain their current position.
144
+ */
145
+ const getElementsWithKeepPosition = (elements, device, resolution, canvasHeight) => {
146
+ const calculatedElements = elements.map((mElement) => {
147
+ const desktopPosition = (0, fixed_position_1.dxGetFixedGridItemDevice)(mElement, ICanvasGrid_1.CanvasDevice.DESKTOP);
148
+ return updateFixedPosition(mElement, desktopPosition, device);
149
+ });
150
+ return calculatedElements.filter((cElement) => {
151
+ const currentElements = calculatedElements.filter((fElement) => fElement.elementId !== cElement.elementId);
152
+ const overflow = (0, fixed_position_1.hasOverflow)(cElement, device, resolution, canvasHeight);
153
+ const overlap = (0, fixed_position_1.hasOverlap)(cElement, currentElements, device);
154
+ return !overflow && !overlap;
155
+ });
156
+ };
157
+ /**
158
+ * Adjusts the `width` of a fixed element to fit within the specified canvas width and updates its position.
159
+ * @param element - The fixed element to adjust.
160
+ * @param canvasWidth - The width of the canvas in grid columns.
161
+ * @param canvasDevice - The target device type (e.g., desktop, tablet, mobile).
162
+ * @returns - The updated responsive element with an adjusted `width`.
163
+ */
164
+ function updateFixedElementWidth(element, canvasWidth, canvasDevice) {
165
+ const currentPosition = element.position.fixed[canvasDevice];
166
+ const fixedWidth = Math.min(currentPosition === null || currentPosition === void 0 ? void 0 : currentPosition.width, canvasWidth);
167
+ const position = Object.assign(Object.assign({}, currentPosition), { width: fixedWidth });
168
+ return (0, position_1.setElementPosition)(element, IVemPosition_1.VemPositionType.FIXED, canvasDevice, position);
169
+ }
170
+ exports.updateFixedElementWidth = updateFixedElementWidth;
171
+ /**
172
+ * Retrieves the Y-coordinate of a fixed grid element for a specific device.
173
+ * If `allowNegative` is false (default), the function ensures the Y-coordinate is non-negative.
174
+ * @param element - The element to retrieve the Y-coordinate from.
175
+ * @param device - The device for which the Y-coordinate is calculated.
176
+ * @param [allowNegative] - Whether to allow negative Y-coordinates.
177
+ * @returns - The Y-coordinate of the element.
178
+ */
179
+ const getFixedGridElementY = (element, device, allowNegative = false) => {
180
+ var _a;
181
+ const position = element.position.fixed[device];
182
+ const itemY = (_a = position === null || position === void 0 ? void 0 : position.y) !== null && _a !== void 0 ? _a : 0;
183
+ if (!allowNegative) {
184
+ return itemY >= 0 ? itemY : 0;
185
+ }
186
+ return itemY;
187
+ };
188
+ /**
189
+ * Retrieves the height of a fixed grid element for a specific device.
190
+ * @param element - The element to retrieve the height from.
191
+ * @param device - The device for which the height is calculated.
192
+ * @returns - The height of the element, or undefined if not defined.
193
+ */
194
+ const getFixedGridElementHeight = (element, device) => {
195
+ const position = element.position.fixed[device];
196
+ return position === null || position === void 0 ? void 0 : position.height;
197
+ };
198
+ /**
199
+ * @param elements elements to calculate
200
+ * @param device current device
201
+ * @returns height
202
+ */
203
+ const getFixedGridElementsBottomLimit = (elements, device) => {
204
+ if (!elements.length)
205
+ return 0;
206
+ return Math.max(...elements.map((element) => getFixedGridElementY(element, device) +
207
+ getFixedGridElementHeight(element, device)));
208
+ };
209
+ exports.getFixedGridElementsBottomLimit = getFixedGridElementsBottomLimit;
210
+ /**
211
+ * Calculates distances of elements from a given reference point on the canvas device.
212
+ * @param elements - Array of `VemFixed` elements to calculate distances for.
213
+ * @param device - Canvas device providing the coordinates of the elements.
214
+ * @param referencePoint - The reference point to calculate distances from.
215
+ * @param referencePoint.x
216
+ * @param referencePoint.y
217
+ * @returns An array of objects containing the original elements and their calculated distances from the reference point.
218
+ */
219
+ const calculateDistancesToReferencePoint = (elements, device, referencePoint) => {
220
+ return elements.map((element) => {
221
+ const elementPosition = (0, exports.getFixedPositionByDevice)(element, device);
222
+ if (!elementPosition) {
223
+ throw new Error(`Position for device ${device} is undefined for element with Id ${element.elementId}.`);
224
+ }
225
+ const distance = Math.pow(referencePoint.x - elementPosition.x, 2) +
226
+ Math.pow(referencePoint.y - elementPosition.y, 2);
227
+ return {
228
+ distance,
229
+ element,
230
+ };
231
+ });
232
+ };
233
+ exports.calculateDistancesToReferencePoint = calculateDistancesToReferencePoint;
234
+ /**
235
+ * Sorts elements based on their distance from a reference point on the canvas.
236
+ * @param elements - Array of `VemFixed` elements to be sorted.
237
+ * @param device - Canvas device providing the coordinates of the elements.
238
+ * @param referencePoint - The reference point to calculate distances from.
239
+ * @param referencePoint.x
240
+ * @param referencePoint.y
241
+ * @returns An array of `VemFixed` elements sorted by their distance from the reference point (0, 0).
242
+ */
243
+ const sortElementsFromReferencePoint = (elements, device, referencePoint) => {
244
+ const calculatedElements = (0, exports.calculateDistancesToReferencePoint)(elements, device, referencePoint);
245
+ const sortedElements = [...calculatedElements].sort(general_1.sortByDistanceFunction);
246
+ return sortedElements.map((element) => element.element);
247
+ };
248
+ exports.sortElementsFromReferencePoint = sortElementsFromReferencePoint;
@@ -0,0 +1,29 @@
1
+ import { CanvasDevice, Vem } from "../interfaces";
2
+ interface RecalculateOptions {
3
+ canvasHeight?: number;
4
+ sort?: CanvasDevice;
5
+ allowCopy?: boolean;
6
+ keepPosition?: boolean;
7
+ }
8
+ /**
9
+ * Recalculates the positions of elements on a canvas based on the canvas type.
10
+ * @param newElements - The list of elements to be recalculated. Each element has properties based on its type.
11
+ * @param currentElements - The list of elements to be recalculated. Each element has properties based on its type.
12
+ * @param canvasWidth - The width of the canvas in pixels.
13
+ * @param canvasType - The type of canvas (e.g., "fixed") that determines how positions are recalculated.
14
+ * @param device - The device type (e.g., desktop, tablet, mobile) for determining element positions.
15
+ * @param canvasHeight - variable for the canvas with header component
16
+ * @param options
17
+ * @returns - A list of elements with updated positions if the canvas type is "fixed" or "responsive".
18
+ */
19
+ export declare function recalculateElements(newElements: Vem[], currentElements: Vem[], canvasWidth: number, canvasType: string, device: CanvasDevice, options?: RecalculateOptions): Vem[];
20
+ /**
21
+ * The calculation is delegated to a specific strategy based on the `canvasType`.
22
+ * @param elements - The list of elements in the canvas.
23
+ * @param canvasType - The type of canvas (e.g., "fixed", "responsive").
24
+ * @param device - The target device type (e.g., desktop, tablet, mobile).
25
+ * @param [rowGap] - The optional gap (in pixels) between rows in the canvas.
26
+ * @returns - The calculated canvas height based on the selected strategy. Returns an empty array if no strategy is found.
27
+ */
28
+ export declare function calculateCanvasHeight(elements: Vem[], canvasType: string, device: CanvasDevice, rowGap?: number): number;
29
+ export {};
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateCanvasHeight = exports.recalculateElements = void 0;
4
+ const fixed_1 = require("./fixed");
5
+ const responsive_1 = require("./responsive");
6
+ const interfaces_1 = require("../interfaces");
7
+ const element_1 = require("../utils/element");
8
+ const recalculateStrategies = {
9
+ fixed: (elements, currentElements, canvasWidth, device, options) => {
10
+ const isSorted = !currentElements.length;
11
+ const changedElements = (options.allowCopy
12
+ ? (0, element_1.copyDesktopPositionToDevice)(elements, device, interfaces_1.VemPositionType.FIXED)
13
+ : elements);
14
+ // sort elements
15
+ const orderedElements = isSorted
16
+ ? (0, fixed_1.sortElementsFromReferencePoint)(changedElements, options.sort, {
17
+ x: 0,
18
+ y: 0,
19
+ })
20
+ : changedElements;
21
+ return options.canvasHeight
22
+ ? (0, fixed_1.recalculatePreservingPositions)(orderedElements, device, canvasWidth, options.canvasHeight)
23
+ : (0, fixed_1.findFixedAvailablePositions)(canvasWidth, orderedElements, currentElements, device, false, false, options === null || options === void 0 ? void 0 : options.canvasHeight);
24
+ },
25
+ responsive: (elements, currentElements, canvasWidth, device, options) => {
26
+ const isSorted = !currentElements.length;
27
+ const changedElements = (options.allowCopy
28
+ ? (0, element_1.copyDesktopPositionToDevice)(elements, device, interfaces_1.VemPositionType.RESPONSIVE)
29
+ : elements);
30
+ const orderedElements = isSorted
31
+ ? (0, responsive_1.sortResponsiveElements)(changedElements, options.sort)
32
+ : changedElements;
33
+ return (0, responsive_1.findResponsiveAvailablePositions)(canvasWidth, orderedElements, currentElements, device);
34
+ },
35
+ };
36
+ const calculateCanvasHeightStrategies = {
37
+ fixed: (elements, device) => {
38
+ return (0, fixed_1.getFixedGridElementsBottomLimit)(elements, device);
39
+ },
40
+ responsive: (elements, device, rowGap) => {
41
+ return (0, responsive_1.getResponsiveGridElementsBottomLimit)(elements, device, rowGap);
42
+ },
43
+ };
44
+ /**
45
+ * Recalculates the positions of elements on a canvas based on the canvas type.
46
+ * @param newElements - The list of elements to be recalculated. Each element has properties based on its type.
47
+ * @param currentElements - The list of elements to be recalculated. Each element has properties based on its type.
48
+ * @param canvasWidth - The width of the canvas in pixels.
49
+ * @param canvasType - The type of canvas (e.g., "fixed") that determines how positions are recalculated.
50
+ * @param device - The device type (e.g., desktop, tablet, mobile) for determining element positions.
51
+ * @param canvasHeight - variable for the canvas with header component
52
+ * @param options
53
+ * @returns - A list of elements with updated positions if the canvas type is "fixed" or "responsive".
54
+ */
55
+ function recalculateElements(newElements, currentElements, canvasWidth, canvasType, device, options) {
56
+ const strategy = recalculateStrategies[canvasType];
57
+ if (!strategy) {
58
+ return [];
59
+ }
60
+ const defaultOptions = {
61
+ sort: interfaces_1.CanvasDevice.DESKTOP,
62
+ allowCopy: true,
63
+ };
64
+ const calculatedOptions = Object.assign(Object.assign({}, defaultOptions), options);
65
+ return strategy(newElements, currentElements, canvasWidth, device, calculatedOptions);
66
+ }
67
+ exports.recalculateElements = recalculateElements;
68
+ /**
69
+ * The calculation is delegated to a specific strategy based on the `canvasType`.
70
+ * @param elements - The list of elements in the canvas.
71
+ * @param canvasType - The type of canvas (e.g., "fixed", "responsive").
72
+ * @param device - The target device type (e.g., desktop, tablet, mobile).
73
+ * @param [rowGap] - The optional gap (in pixels) between rows in the canvas.
74
+ * @returns - The calculated canvas height based on the selected strategy. Returns an empty array if no strategy is found.
75
+ */
76
+ function calculateCanvasHeight(elements, canvasType, device, rowGap) {
77
+ const strategy = calculateCanvasHeightStrategies[canvasType];
78
+ if (!strategy) {
79
+ return 0;
80
+ }
81
+ return strategy(elements, device, rowGap);
82
+ }
83
+ exports.calculateCanvasHeight = calculateCanvasHeight;
@@ -0,0 +1,3 @@
1
+ export * from "./gridStrategy";
2
+ export { updateFixedElementWidth } from "./fixed";
3
+ export { updateResponsiveElementColSpan } from "./responsive";
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.updateResponsiveElementColSpan = exports.updateFixedElementWidth = void 0;
18
+ __exportStar(require("./gridStrategy"), exports);
19
+ var fixed_1 = require("./fixed");
20
+ Object.defineProperty(exports, "updateFixedElementWidth", { enumerable: true, get: function () { return fixed_1.updateFixedElementWidth; } });
21
+ var responsive_1 = require("./responsive");
22
+ Object.defineProperty(exports, "updateResponsiveElementColSpan", { enumerable: true, get: function () { return responsive_1.updateResponsiveElementColSpan; } });