@shoper/phoenix_design_system 1.8.0 → 1.9.0-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 (37) hide show
  1. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js +1 -1
  2. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option_mapper.js +5 -5
  3. package/build/cjs/packages/phoenix/src/components/form/select/select.js +58 -30
  4. package/build/cjs/packages/phoenix/src/components/form/select/select.js.map +1 -1
  5. package/build/cjs/packages/phoenix/src/components/messages/base_message.js +1 -2
  6. package/build/cjs/packages/phoenix/src/components/messages/base_message.js.map +1 -1
  7. package/build/cjs/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller.js +2 -2
  8. package/build/cjs/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller_constants.js +0 -43
  9. package/build/cjs/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller_constants.js.map +1 -1
  10. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +2 -2
  11. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_types.d.ts +1 -1
  12. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_types.js +1 -1
  13. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_types.js.map +1 -1
  14. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_mapper.js +5 -5
  15. package/build/esm/packages/phoenix/src/components/form/select/select.d.ts +6 -0
  16. package/build/esm/packages/phoenix/src/components/form/select/select.js +57 -29
  17. package/build/esm/packages/phoenix/src/components/form/select/select.js.map +1 -1
  18. package/build/esm/packages/phoenix/src/components/messages/base_message.d.ts +1 -1
  19. package/build/esm/packages/phoenix/src/components/messages/base_message.js +1 -2
  20. package/build/esm/packages/phoenix/src/components/messages/base_message.js.map +1 -1
  21. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller.d.ts +2 -1
  22. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller.js +2 -2
  23. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller_constants.d.ts +0 -55
  24. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller_constants.js +1 -39
  25. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller_constants.js.map +1 -1
  26. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller_types.d.ts +2 -12
  27. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller_types.js +1 -1
  28. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller_types.js.map +1 -1
  29. package/package.json +2 -2
  30. package/build/cjs/packages/phoenix/src/controllers/relative_position_controller/relative_position_calculator.js +0 -229
  31. package/build/cjs/packages/phoenix/src/controllers/relative_position_controller/relative_position_calculator.js.map +0 -1
  32. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_calculator.d.ts +0 -24
  33. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_calculator.js +0 -225
  34. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_calculator.js.map +0 -1
  35. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_calculator_types.d.ts +0 -44
  36. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_calculator_types.js +0 -4
  37. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_calculator_types.js.map +0 -1
@@ -1,58 +1,3 @@
1
- export declare const VERTICAL_DIRECTIONS: {
2
- readonly bottomLeft: "bottom-left";
3
- readonly bottomRight: "bottom-right";
4
- readonly bottomCenter: "bottom-center";
5
- readonly topLeft: "top-left";
6
- readonly topRight: "top-right";
7
- readonly topCenter: "top-center";
8
- };
9
- export declare const HORIZONTAL_DIRECTIONS: {
10
- readonly rightTop: "right-top";
11
- readonly rightCenter: "right-center";
12
- readonly rightBottom: "right-bottom";
13
- readonly leftTop: "left-top";
14
- readonly leftCenter: "left-center";
15
- readonly leftBottom: "left-bottom";
16
- };
17
- export declare const CENTER_DIRECTIONS: {
18
- readonly centerTop: "center-top";
19
- readonly centerRight: "center-right";
20
- readonly centerBottom: "center-bottom";
21
- readonly centerLeft: "center-left";
22
- readonly top: "top";
23
- readonly right: "right";
24
- readonly bottom: "bottom";
25
- readonly left: "left";
26
- };
27
- export declare const DIRECTIONS: {
28
- readonly centerTop: "center-top";
29
- readonly centerRight: "center-right";
30
- readonly centerBottom: "center-bottom";
31
- readonly centerLeft: "center-left";
32
- readonly top: "top";
33
- readonly right: "right";
34
- readonly bottom: "bottom";
35
- readonly left: "left";
36
- readonly bottomLeft: "bottom-left";
37
- readonly bottomRight: "bottom-right";
38
- readonly bottomCenter: "bottom-center";
39
- readonly topLeft: "top-left";
40
- readonly topRight: "top-right";
41
- readonly topCenter: "top-center";
42
- readonly rightTop: "right-top";
43
- readonly rightCenter: "right-center";
44
- readonly rightBottom: "right-bottom";
45
- readonly leftTop: "left-top";
46
- readonly leftCenter: "left-center";
47
- readonly leftBottom: "left-bottom";
48
- };
49
- export declare const CALCULATOR_DIRECTIONS: {
50
- readonly bottom: "bottom";
51
- readonly top: "top";
52
- readonly left: "left";
53
- readonly right: "right";
54
- readonly center: "center";
55
- };
56
1
  export declare const NON_STATIC_POSITIONS: string[];
57
2
  export declare const OVERFLOW_SCROLL = "scroll";
58
3
  export declare const OVERFLOW_AUTO = "auto";
@@ -1,41 +1,3 @@
1
- const VERTICAL_DIRECTIONS = {
2
- bottomLeft: 'bottom-left',
3
- bottomRight: 'bottom-right',
4
- bottomCenter: 'bottom-center',
5
- topLeft: 'top-left',
6
- topRight: 'top-right',
7
- topCenter: 'top-center'
8
- };
9
- const HORIZONTAL_DIRECTIONS = {
10
- rightTop: 'right-top',
11
- rightCenter: 'right-center',
12
- rightBottom: 'right-bottom',
13
- leftTop: 'left-top',
14
- leftCenter: 'left-center',
15
- leftBottom: 'left-bottom'
16
- };
17
- const CENTER_DIRECTIONS = {
18
- centerTop: 'center-top',
19
- centerRight: 'center-right',
20
- centerBottom: 'center-bottom',
21
- centerLeft: 'center-left',
22
- top: 'top',
23
- right: 'right',
24
- bottom: 'bottom',
25
- left: 'left'
26
- };
27
- const DIRECTIONS = {
28
- ...HORIZONTAL_DIRECTIONS,
29
- ...VERTICAL_DIRECTIONS,
30
- ...CENTER_DIRECTIONS
31
- };
32
- const CALCULATOR_DIRECTIONS = {
33
- bottom: 'bottom',
34
- top: 'top',
35
- left: 'left',
36
- right: 'right',
37
- center: 'center'
38
- };
39
1
  const NON_STATIC_POSITIONS = ['relative', 'absolute', 'fixed', 'sticky'];
40
2
  const OVERFLOW_SCROLL = 'scroll';
41
3
  const OVERFLOW_AUTO = 'auto';
@@ -53,5 +15,5 @@ const MOBILE_ELEMENT_POSITIONS = {
53
15
  right: 'right'
54
16
  };
55
17
 
56
- export { CALCULATOR_DIRECTIONS, CENTER_DIRECTIONS, DEFAULT_SCROLL_THROTTLE_WAIT_TIME, DEFAULT_THROTTLE_WAIT_TIME, DIRECTIONS, HORIZONTAL_DIRECTIONS, MOBILE_ELEMENT_POSITIONS, NON_STATIC_POSITIONS, OVERFLOW_AUTO, OVERFLOW_SCROLL, RELATIVE_POSITION_CONTROLLER_EVENTS, SHRINK_MODE_BOTTOM_MARGIN, SHRINK_MODE_MIN_HEIGHT, VERTICAL_DIRECTIONS };
18
+ export { DEFAULT_SCROLL_THROTTLE_WAIT_TIME, DEFAULT_THROTTLE_WAIT_TIME, MOBILE_ELEMENT_POSITIONS, NON_STATIC_POSITIONS, OVERFLOW_AUTO, OVERFLOW_SCROLL, RELATIVE_POSITION_CONTROLLER_EVENTS, SHRINK_MODE_BOTTOM_MARGIN, SHRINK_MODE_MIN_HEIGHT };
57
19
  //# sourceMappingURL=relative_position_controller_constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -1,8 +1,7 @@
1
- import { DIRECTIONS, MOBILE_ELEMENT_POSITIONS } from "./relative_position_controller_constants";
1
+ import { MOBILE_ELEMENT_POSITIONS } from "./relative_position_controller_constants";
2
2
  import { ReactiveController, ReactiveControllerHost } from 'lit';
3
3
  import { Any } from 'ts-toolbelt';
4
- import { TCalculatorDirection } from './relative_position_calculator_types';
5
- export declare type TDirection = typeof DIRECTIONS[Any.Keys<typeof DIRECTIONS>];
4
+ import { TDirection } from '@dreamcommerce/utilities';
6
5
  export declare type TRelativePositionControllerConstructorOptions = {
7
6
  host: ReactiveControllerHost & HTMLElement;
8
7
  direction: TDirection;
@@ -17,13 +16,4 @@ export declare type TRelativePositionControllerConstructorOptions = {
17
16
  export interface IRelativePositionController extends ReactiveController {
18
17
  position(): void;
19
18
  }
20
- export declare type TRelativePositionControllerPositionData = {
21
- left: number;
22
- top: number;
23
- calculatedSide: TDirection;
24
- shrinkMode?: boolean;
25
- };
26
- export declare type TPartialPositionControllerPositionData = Omit<TRelativePositionControllerPositionData, 'calculatedSide'> & {
27
- calculatedSide: TCalculatorDirection;
28
- };
29
19
  export declare type TMobileElementPosition = typeof MOBILE_ELEMENT_POSITIONS[Any.Keys<typeof MOBILE_ELEMENT_POSITIONS>];
@@ -1,5 +1,5 @@
1
1
  import '@phoenixRoot/controllers/relative_position_controller/relative_position_controller_constants';
2
2
  import 'lit';
3
3
  import 'ts-toolbelt';
4
- import './relative_position_calculator_types';
4
+ import '@dreamcommerce/utilities';
5
5
  //# sourceMappingURL=relative_position_controller_types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relative_position_controller_types.js","sourceRoot":"","sources":["../../../../../../../src/controllers/relative_position_controller/relative_position_controller_types.ts"],"names":[],"mappings":"AAAA,OAGO,8FAA8F,CAAC;AACtG,OAA2D,KAAK,CAAC;AAEjE,OAAoB,aAAa,CAAC;AAClC,OAAqC,sCAAsC,CAAC"}
1
+ {"version":3,"file":"relative_position_controller_types.js","sourceRoot":"","sources":["../../../../../../../src/controllers/relative_position_controller/relative_position_controller_types.ts"],"names":[],"mappings":"AAAA,OAAyC,8FAA8F,CAAC;AACxI,OAA2D,KAAK,CAAC;AAEjE,OAAoB,aAAa,CAAC;AAClC,OAA2B,0BAA0B,CAAC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@shoper/phoenix_design_system",
3
3
  "packageManager": "yarn@3.2.0",
4
4
  "sideEffects": false,
5
- "version": "1.8.0",
5
+ "version": "1.9.0-0",
6
6
  "description": "phoenix design system",
7
7
  "author": "zefirek",
8
8
  "license": "MIT",
@@ -30,7 +30,7 @@
30
30
  "@splidejs/splide": "^4.0.7"
31
31
  },
32
32
  "devDependencies": {
33
- "@dreamcommerce/utilities": "^1.15.0",
33
+ "@dreamcommerce/utilities": "^1.16.0",
34
34
  "@shoper/jest_config": "^0.0.0",
35
35
  "@shoper/tsconfig": "^0.0.0",
36
36
  "@splidejs/splide": "4.0.7",
@@ -1,229 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib_es6 = require('../../../../../external/tslib/tslib.es6.js');
6
- var relative_position_controller_constants = require('./relative_position_controller_constants.js');
7
-
8
- var _PositionCalculator_direction, _PositionCalculator_relativeElementRect, _PositionCalculator_positionElementRect, _PositionCalculator_containerRect, _PositionCalculator_documentHeight, _PositionCalculator_documentWidth, _PositionCalculator_shouldNotReposition, _PositionCalculator_offset;
9
- class PositionCalculator {
10
- constructor({ direction, relativeElementRect, positionElementRect, container = document.body, offset = 0, shouldNotReposition }) {
11
- _PositionCalculator_direction.set(this, void 0);
12
- _PositionCalculator_relativeElementRect.set(this, void 0);
13
- _PositionCalculator_positionElementRect.set(this, void 0);
14
- _PositionCalculator_containerRect.set(this, void 0);
15
- _PositionCalculator_documentHeight.set(this, void 0);
16
- _PositionCalculator_documentWidth.set(this, void 0);
17
- _PositionCalculator_shouldNotReposition.set(this, void 0);
18
- _PositionCalculator_offset.set(this, void 0);
19
- tslib_es6.__classPrivateFieldSet(this, _PositionCalculator_direction, direction, "f");
20
- tslib_es6.__classPrivateFieldSet(this, _PositionCalculator_relativeElementRect, relativeElementRect, "f");
21
- tslib_es6.__classPrivateFieldSet(this, _PositionCalculator_positionElementRect, positionElementRect, "f");
22
- tslib_es6.__classPrivateFieldSet(this, _PositionCalculator_containerRect, container.getBoundingClientRect(), "f");
23
- tslib_es6.__classPrivateFieldSet(this, _PositionCalculator_shouldNotReposition, !!shouldNotReposition, "f");
24
- tslib_es6.__classPrivateFieldSet(this, _PositionCalculator_offset, offset, "f");
25
- const body = document.body;
26
- const documentElement = document.documentElement;
27
- tslib_es6.__classPrivateFieldSet(this, _PositionCalculator_documentHeight, Math.max(body.scrollHeight, body.offsetHeight, documentElement.clientHeight, documentElement.scrollHeight, documentElement.offsetHeight), "f");
28
- tslib_es6.__classPrivateFieldSet(this, _PositionCalculator_documentWidth, Math.max(body.scrollWidth, body.offsetWidth, documentElement.clientWidth, documentElement.scrollWidth, documentElement.offsetWidth), "f");
29
- }
30
- calculatePosition() {
31
- const [side, alignment = relative_position_controller_constants.CALCULATOR_DIRECTIONS.center] = tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_direction, "f").split('-');
32
- const sidePosition = this._calculateSidePosition(side, alignment);
33
- const alignmentPosition = this.calculateAlignmentPosition(alignment, side);
34
- return {
35
- ...sidePosition,
36
- ...alignmentPosition,
37
- calculatedSide: `${sidePosition.calculatedSide || ''}-${alignmentPosition.calculatedSide || ''}`
38
- };
39
- }
40
- _canFitTopSide() {
41
- const elementPositionTop = tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_relativeElementRect, "f").top - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").height - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f");
42
- return elementPositionTop > tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_containerRect, "f").top && elementPositionTop > 0;
43
- }
44
- _canFitBottomSide() {
45
- const elementPositionBottom = tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_relativeElementRect, "f").bottom + tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").height + tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f");
46
- return elementPositionBottom < tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_containerRect, "f").bottom && elementPositionBottom < tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_documentHeight, "f");
47
- }
48
- _canFitCenter(centerPosition) {
49
- return centerPosition + tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").height - window.scrollY < window.innerHeight && centerPosition - window.scrollY > 0;
50
- }
51
- _canFitLeftSide() {
52
- const positionElementLeftSide = tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_relativeElementRect, "f").left + window.scrollX - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").width - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f");
53
- return positionElementLeftSide >= tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_containerRect, "f").left && positionElementLeftSide > 0;
54
- }
55
- _canFitRightSide() {
56
- const positionElementRightSide = tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_relativeElementRect, "f").right + window.scrollX + tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").width + tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f");
57
- return positionElementRightSide <= tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_containerRect, "f").width && positionElementRightSide < tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_documentWidth, "f");
58
- }
59
- _calculateSidePosition(side, alignment) {
60
- const topSideOfRelativeElement = tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_relativeElementRect, "f").top + window.scrollY - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").height - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f");
61
- const bottomSideOfRelativeElement = tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_relativeElementRect, "f").bottom + window.scrollY + tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f");
62
- const leftSideOfRelativeElement = tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_relativeElementRect, "f").left + window.scrollX - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").width - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f");
63
- const rightSideOfRelativeElement = tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_relativeElementRect, "f").right + window.scrollX + tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f");
64
- const verticalCenterOfRelativeElement = (topSideOfRelativeElement + bottomSideOfRelativeElement) / 2;
65
- const horizontalCenterOfRelativeElement = (leftSideOfRelativeElement + rightSideOfRelativeElement) / 2;
66
- switch (side) {
67
- case relative_position_controller_constants.CALCULATOR_DIRECTIONS.top:
68
- return this._calculateTopSide({
69
- topSide: topSideOfRelativeElement,
70
- bottomSide: bottomSideOfRelativeElement,
71
- verticalCenter: verticalCenterOfRelativeElement
72
- });
73
- case relative_position_controller_constants.CALCULATOR_DIRECTIONS.bottom:
74
- return this._calculateBottomSide({
75
- topSide: topSideOfRelativeElement,
76
- bottomSide: bottomSideOfRelativeElement,
77
- verticalCenter: verticalCenterOfRelativeElement
78
- });
79
- case relative_position_controller_constants.CALCULATOR_DIRECTIONS.center:
80
- return this._calculateCenterSide({
81
- verticalCenter: verticalCenterOfRelativeElement,
82
- horizontalCenter: horizontalCenterOfRelativeElement,
83
- alignment
84
- });
85
- case relative_position_controller_constants.CALCULATOR_DIRECTIONS.left:
86
- return this._calculateLeftSide({
87
- leftSide: leftSideOfRelativeElement,
88
- rightSide: rightSideOfRelativeElement
89
- });
90
- case relative_position_controller_constants.CALCULATOR_DIRECTIONS.right:
91
- return this._calculateRightSide({
92
- leftSide: leftSideOfRelativeElement,
93
- rightSide: rightSideOfRelativeElement
94
- });
95
- default:
96
- return { top: 0 };
97
- }
98
- }
99
- _calculateTopSide({ topSide, bottomSide, verticalCenter }) {
100
- if (tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_shouldNotReposition, "f"))
101
- return { top: topSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.top };
102
- if (!this._canFitTopSide() && !this._canFitBottomSide() && !this._canFitCenter(verticalCenter))
103
- return { top: bottomSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.bottom, shrinkMode: true };
104
- if (!this._canFitTopSide() && !this._canFitBottomSide())
105
- return { top: verticalCenter, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.center };
106
- if (!this._canFitTopSide())
107
- return { top: bottomSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.bottom };
108
- return { top: topSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.top };
109
- }
110
- _calculateBottomSide({ topSide, bottomSide, verticalCenter }) {
111
- if (tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_shouldNotReposition, "f"))
112
- return { top: bottomSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.bottom };
113
- if (!this._canFitTopSide() && !this._canFitBottomSide() && !this._canFitCenter(verticalCenter))
114
- return { top: bottomSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.bottom, shrinkMode: true };
115
- if (!this._canFitTopSide() && !this._canFitBottomSide())
116
- return { top: verticalCenter, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.center };
117
- if (!this._canFitBottomSide())
118
- return { top: topSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.top };
119
- return { top: bottomSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.bottom };
120
- }
121
- _calculateCenterSide({ verticalCenter, horizontalCenter, alignment }) {
122
- if (alignment === relative_position_controller_constants.CALCULATOR_DIRECTIONS.left || alignment === relative_position_controller_constants.CALCULATOR_DIRECTIONS.right)
123
- return { top: verticalCenter, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.center };
124
- return { left: horizontalCenter, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.center };
125
- }
126
- _calculateLeftSide({ leftSide, rightSide }) {
127
- if (tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_shouldNotReposition, "f"))
128
- return { left: leftSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.left };
129
- if (!this._canFitLeftSide() && !this._canFitRightSide())
130
- return { left: leftSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.left };
131
- if (!this._canFitLeftSide())
132
- return { left: rightSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.right };
133
- return { left: leftSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.left };
134
- }
135
- _calculateRightSide({ leftSide, rightSide }) {
136
- if (tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_shouldNotReposition, "f"))
137
- return { left: rightSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.right };
138
- if (!this._canFitRightSide() && !this._canFitLeftSide())
139
- return { left: rightSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.right };
140
- if (!this._canFitRightSide())
141
- return { left: leftSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.left };
142
- return { left: rightSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.right };
143
- }
144
- calculateAlignmentPosition(alignment, side) {
145
- const alignmentToLeftSide = tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_relativeElementRect, "f").left + window.scrollX;
146
- const alignmentToRightSide = tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_relativeElementRect, "f").right + window.scrollX - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").width;
147
- const alignmentToTopSide = tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_relativeElementRect, "f").top + window.scrollY;
148
- const alignmentToBottomSide = tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_relativeElementRect, "f").bottom + window.scrollY - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").height;
149
- const verticalCenterOfRelativeElement = (alignmentToTopSide + alignmentToBottomSide) / 2;
150
- const horizontalCenterOfRelativeElement = (alignmentToLeftSide + alignmentToRightSide) / 2;
151
- const isSideCenter = side === relative_position_controller_constants.CALCULATOR_DIRECTIONS.center;
152
- switch (alignment) {
153
- case relative_position_controller_constants.CALCULATOR_DIRECTIONS.top: {
154
- return this._calculateTopAlignment({ topAlignment: alignmentToTopSide, isSideCenter });
155
- }
156
- case relative_position_controller_constants.CALCULATOR_DIRECTIONS.bottom: {
157
- return this._calculateBottomAlignment({ bottomAlignment: alignmentToBottomSide, isSideCenter });
158
- }
159
- case relative_position_controller_constants.CALCULATOR_DIRECTIONS.left: {
160
- return this._calculateLeftAlignment({
161
- leftAlignment: alignmentToLeftSide,
162
- rightAlignment: alignmentToRightSide,
163
- isSideCenter
164
- });
165
- }
166
- case relative_position_controller_constants.CALCULATOR_DIRECTIONS.right: {
167
- return this._calculateRightAlignment({
168
- leftAlignment: alignmentToLeftSide,
169
- rightAlignment: alignmentToRightSide,
170
- isSideCenter
171
- });
172
- }
173
- case relative_position_controller_constants.CALCULATOR_DIRECTIONS.center:
174
- return this._calculateCenterAlignment({
175
- horizontalCenter: horizontalCenterOfRelativeElement,
176
- verticalCenter: verticalCenterOfRelativeElement,
177
- side
178
- });
179
- default:
180
- return { left: 0 };
181
- }
182
- }
183
- _calculateTopAlignment({ topAlignment, isSideCenter }) {
184
- const alignmentToTop = isSideCenter ? topAlignment - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").height - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f") : topAlignment;
185
- return {
186
- top: alignmentToTop,
187
- calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.top
188
- };
189
- }
190
- _calculateBottomAlignment({ bottomAlignment, isSideCenter }) {
191
- const alignmentToBottom = isSideCenter ? bottomAlignment + tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").height + tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f") : bottomAlignment;
192
- return { top: alignmentToBottom, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.bottom };
193
- }
194
- _calculateLeftAlignment({ leftAlignment, rightAlignment, isSideCenter }) {
195
- const alignmentToLeftSide = isSideCenter ? leftAlignment - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").width : leftAlignment;
196
- const alignmentToRightSide = rightAlignment + tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").width + tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f");
197
- if (!isSideCenter)
198
- return { left: alignmentToLeftSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.left };
199
- if (tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_shouldNotReposition, "f"))
200
- return { left: alignmentToLeftSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.left };
201
- if (!this._canFitLeftSide() && !this._canFitRightSide())
202
- return { left: alignmentToLeftSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.left };
203
- if (!this._canFitLeftSide())
204
- return { left: alignmentToRightSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.right };
205
- return { left: alignmentToLeftSide - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f"), calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.left };
206
- }
207
- _calculateRightAlignment({ leftAlignment, rightAlignment, isSideCenter }) {
208
- const alignmentToRightSide = isSideCenter ? rightAlignment + tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").width : rightAlignment;
209
- const alignmentToLeftSide = leftAlignment - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_positionElementRect, "f").width - tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f");
210
- if (!isSideCenter)
211
- return { left: alignmentToRightSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.right };
212
- if (tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_shouldNotReposition, "f"))
213
- return { left: alignmentToRightSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.right };
214
- if (!this._canFitLeftSide() && !this._canFitRightSide())
215
- return { left: alignmentToRightSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.right };
216
- if (!this._canFitRightSide())
217
- return { left: alignmentToLeftSide, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.left };
218
- return { left: alignmentToRightSide + tslib_es6.__classPrivateFieldGet(this, _PositionCalculator_offset, "f"), calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.right };
219
- }
220
- _calculateCenterAlignment({ horizontalCenter, verticalCenter, side }) {
221
- if (side === relative_position_controller_constants.CALCULATOR_DIRECTIONS.top || side === relative_position_controller_constants.CALCULATOR_DIRECTIONS.bottom)
222
- return { left: horizontalCenter, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.center };
223
- return { top: verticalCenter, calculatedSide: relative_position_controller_constants.CALCULATOR_DIRECTIONS.center };
224
- }
225
- }
226
- _PositionCalculator_direction = new WeakMap(), _PositionCalculator_relativeElementRect = new WeakMap(), _PositionCalculator_positionElementRect = new WeakMap(), _PositionCalculator_containerRect = new WeakMap(), _PositionCalculator_documentHeight = new WeakMap(), _PositionCalculator_documentWidth = new WeakMap(), _PositionCalculator_shouldNotReposition = new WeakMap(), _PositionCalculator_offset = new WeakMap();
227
-
228
- exports.PositionCalculator = PositionCalculator;
229
- //# sourceMappingURL=relative_position_calculator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -1,24 +0,0 @@
1
- import { TRelativePositionCalculatorConstructorOptions } from './relative_position_calculator_types';
2
- import { TRelativePositionControllerPositionData } from "./relative_position_controller_types";
3
- export declare class PositionCalculator {
4
- #private;
5
- constructor({ direction, relativeElementRect, positionElementRect, container, offset, shouldNotReposition }: TRelativePositionCalculatorConstructorOptions);
6
- calculatePosition(): TRelativePositionControllerPositionData;
7
- private _canFitTopSide;
8
- private _canFitBottomSide;
9
- private _canFitCenter;
10
- private _canFitLeftSide;
11
- private _canFitRightSide;
12
- private _calculateSidePosition;
13
- private _calculateTopSide;
14
- private _calculateBottomSide;
15
- private _calculateCenterSide;
16
- private _calculateLeftSide;
17
- private _calculateRightSide;
18
- private calculateAlignmentPosition;
19
- private _calculateTopAlignment;
20
- private _calculateBottomAlignment;
21
- private _calculateLeftAlignment;
22
- private _calculateRightAlignment;
23
- private _calculateCenterAlignment;
24
- }