@dreamcommerce/aurora 2.4.11 → 2.5.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 (112) hide show
  1. package/build/cjs/packages/aurora/src/components/controls/hoc/control_cell_selector/index.js +2 -2
  2. package/build/cjs/packages/aurora/src/components/controls/hoc/control_checkbox/index.js +2 -2
  3. package/build/cjs/packages/aurora/src/components/controls/hoc/control_checkbox_switch/index.js +2 -2
  4. package/build/cjs/packages/aurora/src/components/controls/hoc/control_color_picker/index.js +3 -3
  5. package/build/cjs/packages/aurora/src/components/controls/hoc/control_date_picker/index.js +4 -4
  6. package/build/cjs/packages/aurora/src/components/controls/hoc/control_file_picker/index.js +2 -2
  7. package/build/cjs/packages/aurora/src/components/controls/hoc/control_input/index.js +2 -2
  8. package/build/cjs/packages/aurora/src/components/controls/hoc/control_multi_select/index.js +2 -2
  9. package/build/cjs/packages/aurora/src/components/controls/hoc/control_radio/index.js +2 -2
  10. package/build/cjs/packages/aurora/src/components/controls/hoc/control_radio_group/index.js +2 -2
  11. package/build/cjs/packages/aurora/src/components/controls/hoc/control_range/index.js +2 -2
  12. package/build/cjs/packages/aurora/src/components/controls/hoc/control_select/index.js +2 -2
  13. package/build/cjs/packages/aurora/src/components/controls/hoc/control_tags_selector/index.js +2 -2
  14. package/build/cjs/packages/aurora/src/components/controls/hoc/control_textarea/index.js +2 -2
  15. package/build/cjs/packages/aurora/src/components/date_picker/components/common_ranges.js +1 -1
  16. package/build/cjs/packages/aurora/src/components/date_picker/components/days_grid.js +1 -1
  17. package/build/cjs/packages/aurora/src/components/date_picker/components/label.js +2 -2
  18. package/build/cjs/packages/aurora/src/components/date_picker/components/month_controller.js +3 -3
  19. package/build/cjs/packages/aurora/src/components/date_picker/components/month_year_picker/components/month_view.js +2 -2
  20. package/build/cjs/packages/aurora/src/components/date_picker/components/month_year_picker/components/month_year_controller.js +1 -1
  21. package/build/cjs/packages/aurora/src/components/date_picker/components/month_year_picker/components/month_year_picker_context_manager.js +1 -1
  22. package/build/cjs/packages/aurora/src/components/date_picker/components/month_year_picker/components/years_view.js +2 -2
  23. package/build/cjs/packages/aurora/src/components/date_picker/components/pure_date_picker.js +2 -2
  24. package/build/cjs/packages/aurora/src/components/date_picker/components/single_day.js +2 -2
  25. package/build/cjs/packages/aurora/src/components/date_picker/hoc/range_picker.js +2 -2
  26. package/build/cjs/packages/aurora/src/components/date_picker/hoc/single_date_picker.js +1 -1
  27. package/build/cjs/packages/aurora/src/components/date_picker/index.js +1 -1
  28. package/build/cjs/packages/aurora/src/components/dropdown/components/content.js +30 -75
  29. package/build/cjs/packages/aurora/src/components/dropdown/components/content.js.map +1 -1
  30. package/build/cjs/packages/aurora/src/components/dropdown/components/option_multiple.js +1 -1
  31. package/build/cjs/packages/aurora/src/components/dropdown/components/select.js +1 -1
  32. package/build/cjs/packages/aurora/src/components/dropdown/css_classes.js +2 -6
  33. package/build/cjs/packages/aurora/src/components/dropdown/css_classes.js.map +1 -1
  34. package/build/cjs/packages/aurora/src/components/dropdown/utilities.js +1 -5
  35. package/build/cjs/packages/aurora/src/components/dropdown/utilities.js.map +1 -1
  36. package/build/cjs/packages/aurora/src/components/hint/index.js +15 -19
  37. package/build/cjs/packages/aurora/src/components/hint/index.js.map +1 -1
  38. package/build/cjs/packages/aurora/src/components/tooltip/index.js +14 -18
  39. package/build/cjs/packages/aurora/src/components/tooltip/index.js.map +1 -1
  40. package/build/cjs/packages/aurora/src/css/date_picker/main.module.less.js +2 -2
  41. package/build/cjs/packages/aurora/src/css/dropdown/main.module.less.js +2 -2
  42. package/build/cjs/packages/aurora/src/css/hint/main.module.less.js +3 -3
  43. package/build/cjs/packages/aurora/src/css/modal/main.module.less.js +1 -1
  44. package/build/cjs/packages/aurora/src/css/slide/main.module.less.js +1 -1
  45. package/build/cjs/packages/aurora/src/css/tooltip/main.module.less.js +2 -2
  46. package/build/cjs/packages/aurora/src/hooks/use_fixed_child_position.js +40 -0
  47. package/build/cjs/packages/aurora/src/hooks/use_fixed_child_position.js.map +1 -0
  48. package/build/cjs/packages/aurora/src/index.js +10 -10
  49. package/build/esm/packages/aurora/src/components/controls/hoc/control_cell_selector/index.js +2 -2
  50. package/build/esm/packages/aurora/src/components/controls/hoc/control_checkbox/index.js +2 -2
  51. package/build/esm/packages/aurora/src/components/controls/hoc/control_checkbox_switch/index.js +2 -2
  52. package/build/esm/packages/aurora/src/components/controls/hoc/control_color_picker/index.js +3 -3
  53. package/build/esm/packages/aurora/src/components/controls/hoc/control_date_picker/index.js +4 -4
  54. package/build/esm/packages/aurora/src/components/controls/hoc/control_file_picker/index.js +2 -2
  55. package/build/esm/packages/aurora/src/components/controls/hoc/control_input/index.js +2 -2
  56. package/build/esm/packages/aurora/src/components/controls/hoc/control_multi_select/index.js +2 -2
  57. package/build/esm/packages/aurora/src/components/controls/hoc/control_radio/index.js +2 -2
  58. package/build/esm/packages/aurora/src/components/controls/hoc/control_radio_group/index.js +2 -2
  59. package/build/esm/packages/aurora/src/components/controls/hoc/control_range/index.js +2 -2
  60. package/build/esm/packages/aurora/src/components/controls/hoc/control_select/index.js +2 -2
  61. package/build/esm/packages/aurora/src/components/controls/hoc/control_tags_selector/index.js +2 -2
  62. package/build/esm/packages/aurora/src/components/controls/hoc/control_textarea/index.js +2 -2
  63. package/build/esm/packages/aurora/src/components/controls/types.d.ts +7 -3
  64. package/build/esm/packages/aurora/src/components/controls/types.js +1 -1
  65. package/build/esm/packages/aurora/src/components/controls/types.js.map +1 -1
  66. package/build/esm/packages/aurora/src/components/date_picker/components/common_ranges.js +2 -2
  67. package/build/esm/packages/aurora/src/components/date_picker/components/days_grid.js +4 -4
  68. package/build/esm/packages/aurora/src/components/date_picker/components/label.js +3 -3
  69. package/build/esm/packages/aurora/src/components/date_picker/components/month_controller.js +7 -7
  70. package/build/esm/packages/aurora/src/components/date_picker/components/month_year_picker/components/month_view.js +3 -3
  71. package/build/esm/packages/aurora/src/components/date_picker/components/month_year_picker/components/month_year_controller.js +5 -5
  72. package/build/esm/packages/aurora/src/components/date_picker/components/month_year_picker/components/month_year_picker_context_manager.js +1 -1
  73. package/build/esm/packages/aurora/src/components/date_picker/components/month_year_picker/components/years_view.js +3 -3
  74. package/build/esm/packages/aurora/src/components/date_picker/components/pure_date_picker.js +4 -4
  75. package/build/esm/packages/aurora/src/components/date_picker/components/single_day.js +4 -4
  76. package/build/esm/packages/aurora/src/components/date_picker/hoc/range_picker.js +4 -4
  77. package/build/esm/packages/aurora/src/components/date_picker/hoc/single_date_picker.js +2 -2
  78. package/build/esm/packages/aurora/src/components/date_picker/index.js +1 -1
  79. package/build/esm/packages/aurora/src/components/dropdown/components/content.js +32 -76
  80. package/build/esm/packages/aurora/src/components/dropdown/components/content.js.map +1 -1
  81. package/build/esm/packages/aurora/src/components/dropdown/components/option_multiple.js +1 -1
  82. package/build/esm/packages/aurora/src/components/dropdown/components/select.js +1 -1
  83. package/build/esm/packages/aurora/src/components/dropdown/css_classes.d.ts +0 -2
  84. package/build/esm/packages/aurora/src/components/dropdown/css_classes.js +3 -5
  85. package/build/esm/packages/aurora/src/components/dropdown/css_classes.js.map +1 -1
  86. package/build/esm/packages/aurora/src/components/dropdown/types.d.ts +0 -3
  87. package/build/esm/packages/aurora/src/components/dropdown/utilities.d.ts +1 -2
  88. package/build/esm/packages/aurora/src/components/dropdown/utilities.js +2 -5
  89. package/build/esm/packages/aurora/src/components/dropdown/utilities.js.map +1 -1
  90. package/build/esm/packages/aurora/src/components/hint/index.d.ts +3 -3
  91. package/build/esm/packages/aurora/src/components/hint/index.js +17 -21
  92. package/build/esm/packages/aurora/src/components/hint/index.js.map +1 -1
  93. package/build/esm/packages/aurora/src/components/tooltip/index.js +14 -18
  94. package/build/esm/packages/aurora/src/components/tooltip/index.js.map +1 -1
  95. package/build/esm/packages/aurora/src/components/tooltip/tooltip_types.d.ts +3 -3
  96. package/build/esm/packages/aurora/src/components/tooltip/tooltip_types.js +0 -1
  97. package/build/esm/packages/aurora/src/components/tooltip/tooltip_types.js.map +1 -1
  98. package/build/esm/packages/aurora/src/css/date_picker/main.module.less.js +2 -2
  99. package/build/esm/packages/aurora/src/css/dropdown/main.module.less.js +2 -2
  100. package/build/esm/packages/aurora/src/css/hint/main.module.less.js +3 -3
  101. package/build/esm/packages/aurora/src/css/modal/main.module.less.js +1 -1
  102. package/build/esm/packages/aurora/src/css/slide/main.module.less.js +1 -1
  103. package/build/esm/packages/aurora/src/css/tooltip/main.module.less.js +2 -2
  104. package/build/esm/packages/aurora/src/hooks/use_fixed_child_position.js +34 -31
  105. package/build/esm/packages/aurora/src/hooks/use_fixed_child_position.js.map +1 -1
  106. package/build/esm/packages/aurora/src/index.js +5 -5
  107. package/package.json +1 -1
  108. package/build/cjs/packages/aurora/src/components/tooltip/css_classes.js +0 -10
  109. package/build/cjs/packages/aurora/src/components/tooltip/css_classes.js.map +0 -1
  110. package/build/esm/packages/aurora/src/components/tooltip/css_classes.d.ts +0 -2
  111. package/build/esm/packages/aurora/src/components/tooltip/css_classes.js +0 -5
  112. package/build/esm/packages/aurora/src/components/tooltip/css_classes.js.map +0 -1
@@ -11,11 +11,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
 
12
12
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
13
 
14
- const ControlCellSelector = ({ label, isRequired, id, name, errors, onChange, cols, initialSelected, rows, withValueOffset, className, hint, labelAdditionalInfo }) => {
14
+ const ControlCellSelector = ({ label, isRequired, id, name, errors, onChange, cols, initialSelected, rows, withValueOffset, className, hint, hintOptions = { isFixed: true }, labelAdditionalInfo }) => {
15
15
  return (React__default['default'].createElement(index['default'], { errors: errors, name: name, id: id },
16
16
  (label || hint) && (React__default['default'].createElement(index['default'].Label, { id: id, isRequired: isRequired, additionalInfo: labelAdditionalInfo },
17
17
  label,
18
- hint && React__default['default'].createElement(index$1['default'], { spacingLeft: true, hint: hint }))),
18
+ hint && React__default['default'].createElement(index$1['default'], { fixed: hintOptions.isFixed, spacingLeft: true, hint: hint }))),
19
19
  React__default['default'].createElement(index['default'].Content, null,
20
20
  React__default['default'].createElement(index['default'].Element, null,
21
21
  React__default['default'].createElement(cell_selector['default'], { name: name, onChange: onChange, cols: cols, initialSelected: initialSelected, rows: rows, withValueOffset: withValueOffset, className: className }))),
@@ -23,7 +23,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
23
  * />
24
24
  * )
25
25
  */
26
- const ControlCheckbox = ({ id, hint, labelAdditionalInfo, label, name, value, initiallyChecked, disabled, onChange, isRequired, errors }) => {
26
+ const ControlCheckbox = ({ id, hint, hintOptions = { isFixed: true }, labelAdditionalInfo, label, name, value, initiallyChecked, disabled, onChange, isRequired, errors }) => {
27
27
  return (React__default['default'].createElement(index['default'], { errors: errors, name: name, id: id },
28
28
  React__default['default'].createElement(index['default'].Content, null,
29
29
  React__default['default'].createElement(index['default'].Element, { type: "checkbox" },
@@ -31,7 +31,7 @@ const ControlCheckbox = ({ id, hint, labelAdditionalInfo, label, name, value, in
31
31
  React__default['default'].createElement(index$1['default'], { isRequired: isRequired, htmlFor: id, additionalInfo: labelAdditionalInfo },
32
32
  label,
33
33
  " ",
34
- hint && React__default['default'].createElement(index$2['default'], { hint: hint, spacingLeft: true })))),
34
+ hint && React__default['default'].createElement(index$2['default'], { fixed: hintOptions.isFixed, hint: hint, spacingLeft: true })))),
35
35
  React__default['default'].createElement(index['default'].Errors, null)));
36
36
  };
37
37
 
@@ -23,14 +23,14 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
23
  * />
24
24
  * )
25
25
  */
26
- const ControlCheckboxSwitch = ({ id, label, name, hint, value, initiallyChecked, disabled, onChange, errors, labelAdditionalInfo }) => {
26
+ const ControlCheckboxSwitch = ({ id, label, name, hint, hintOptions = { isFixed: true }, value, initiallyChecked, disabled, onChange, errors, labelAdditionalInfo }) => {
27
27
  return (React__default['default'].createElement(index['default'], { errors: errors, name: name, id: id },
28
28
  React__default['default'].createElement(index['default'].Content, null,
29
29
  React__default['default'].createElement(index['default'].Element, { type: "checkbox" },
30
30
  React__default['default'].createElement(index['default'].CheckboxSwitch, { id: id, name: name, value: value, initiallyChecked: initiallyChecked, disabled: disabled, onChange: onChange }),
31
31
  React__default['default'].createElement(index$1['default'], { htmlFor: id, additionalInfo: labelAdditionalInfo },
32
32
  label,
33
- hint && React__default['default'].createElement(index$2['default'], { hint: hint, spacingLeft: true })))),
33
+ hint && React__default['default'].createElement(index$2['default'], { fixed: hintOptions.isFixed, hint: hint, spacingLeft: true })))),
34
34
  React__default['default'].createElement(index['default'].Errors, null)));
35
35
  };
36
36
 
@@ -8,9 +8,9 @@ var use_color_picker = require('../../../color_picker/use_color_picker.js');
8
8
  var with_translation = require('../../../../utilities/translation/with_translation.js');
9
9
  var index$4 = require('../../../color_picker/index.js');
10
10
  var index$2 = require('../../index.js');
11
- var index$1 = require('../../../dropdown/index.js');
12
11
  var index$3 = require('../../../hint/index.js');
13
12
  var label = require('../../../color_picker/components/label.js');
13
+ var index$1 = require('../../../dropdown/index.js');
14
14
 
15
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
16
 
@@ -28,7 +28,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
28
28
  * />
29
29
  * )
30
30
  */
31
- const ControlColorPicker = ({ initialColor = '#FFFFFF', name, isRequired, label: label$1, id, onChange, hideChooseCancelButtons, errors, hint, labelAdditionalInfo }) => {
31
+ const ControlColorPicker = ({ initialColor = '#FFFFFF', name, isRequired, label: label$1, id, onChange, hideChooseCancelButtons, errors, hint, hintOptions = { isFixed: true }, labelAdditionalInfo }) => {
32
32
  const colorPickerContext = use_color_picker.useColorPicker({ initialColorHex: initialColor, onChange });
33
33
  return (React__default['default'].createElement(context.ColorPickerContext.Provider, { value: colorPickerContext },
34
34
  React__default['default'].createElement(index$1['default'], null,
@@ -36,7 +36,7 @@ const ControlColorPicker = ({ initialColor = '#FFFFFF', name, isRequired, label:
36
36
  React__default['default'].createElement(index$2['default'], { errors: errors, name: name, id: id },
37
37
  (label$1 || hint) && (React__default['default'].createElement(index$2['default'].Label, { id: id, isRequired: isRequired, additionalInfo: labelAdditionalInfo },
38
38
  label$1,
39
- hint && React__default['default'].createElement(index$3['default'], { hint: hint, spacingLeft: true }))),
39
+ hint && React__default['default'].createElement(index$3['default'], { fixed: hintOptions.isFixed, spacingLeft: true, hint: hint }))),
40
40
  React__default['default'].createElement(index$2['default'].Content, null,
41
41
  React__default['default'].createElement(index$2['default'].Element, null,
42
42
  React__default['default'].createElement(label['default'], { name: name || '', isRequired: isRequired, id: id, label: label$1 }))),
@@ -5,13 +5,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var with_translation = require('../../../../utilities/translation/with_translation.js');
7
7
  var index$2 = require('../../index.js');
8
- var index$1 = require('../../../dropdown/index.js');
9
8
  var index$3 = require('../../../hint/index.js');
10
- var use_value_controller = require('../../../date_picker/hooks/use_value_controller.js');
9
+ var index$1 = require('../../../dropdown/index.js');
11
10
  var value_controller_context = require('../../../date_picker/context/value_controller_context.js');
11
+ var label = require('../../../date_picker/components/label.js');
12
+ var use_value_controller = require('../../../date_picker/hooks/use_value_controller.js');
12
13
  var range_picker = require('../../../date_picker/hoc/range_picker.js');
13
14
  var single_date_picker = require('../../../date_picker/hoc/single_date_picker.js');
14
- var label = require('../../../date_picker/components/label.js');
15
15
 
16
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
17
 
@@ -54,7 +54,7 @@ const ControlDatepicker = ({ onChange, label: label$1, name, isRequired, id = 'd
54
54
  React__default['default'].createElement(index$2['default'], { errors: errors, name: name, id: id },
55
55
  (label$1 || hint) && (React__default['default'].createElement(index$2['default'].Label, { id: id, isRequired: isRequired, additionalInfo: labelAdditionalInfo },
56
56
  label$1,
57
- hint && React__default['default'].createElement(index$3['default'], { hint: hint, spacingLeft: true }))),
57
+ hint && React__default['default'].createElement(index$3['default'], { fixed: true, spacingLeft: true, hint: hint }))),
58
58
  React__default['default'].createElement(index$2['default'].Content, null,
59
59
  React__default['default'].createElement(index$2['default'].Element, null,
60
60
  React__default['default'].createElement(label['default'], { name: name, id: id }))),
@@ -11,11 +11,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
 
12
12
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
13
 
14
- const ControlFilePicker = ({ label, isRequired, id, name, onChange, allowedExtensions, initialFile, className, errors, hint, labelAdditionalInfo }) => {
14
+ const ControlFilePicker = ({ label, isRequired, id, name, onChange, allowedExtensions, initialFile, className, errors, hint, hintOptions = { isFixed: true }, labelAdditionalInfo }) => {
15
15
  return (React__default['default'].createElement(index['default'], { errors: errors, name: name, id: id },
16
16
  (label || hint) && (React__default['default'].createElement(index['default'].Label, { id: id, isRequired: isRequired, additionalInfo: labelAdditionalInfo },
17
17
  label,
18
- hint && React__default['default'].createElement(index$1['default'], { hint: hint, spacingLeft: true }))),
18
+ hint && React__default['default'].createElement(index$1['default'], { fixed: hintOptions.isFixed, spacingLeft: true, hint: hint }))),
19
19
  React__default['default'].createElement(index['default'].Content, null,
20
20
  React__default['default'].createElement(index['default'].Element, null,
21
21
  React__default['default'].createElement(index$2['default'], { id: id, name: name, onChange: onChange, allowedExtensions: allowedExtensions, initialFile: initialFile, className: className }))),
@@ -25,11 +25,11 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
25
  * />
26
26
  * )
27
27
  */
28
- const ControlInput = ({ label, isRequired, id, name, value, placeholder, prefix, postfix, disabled, onChange, onKeyPress, onKeyUp, hint, errors, labelAdditionalInfo, additionalInfo, ...props }) => {
28
+ const ControlInput = ({ label, isRequired, id, name, value, placeholder, prefix, postfix, disabled, onChange, onKeyPress, onKeyUp, hint, hintOptions = { isFixed: true }, errors, labelAdditionalInfo, additionalInfo, ...props }) => {
29
29
  return (React__default['default'].createElement(index['default'], { errors: errors, name: name, id: id },
30
30
  (label || hint) && (React__default['default'].createElement(index['default'].Label, { id: id, isRequired: isRequired, additionalInfo: labelAdditionalInfo },
31
31
  label,
32
- hint && React__default['default'].createElement(index$1['default'], { hint: hint, spacingLeft: true }))),
32
+ hint && React__default['default'].createElement(index$1['default'], { fixed: hintOptions.isFixed, spacingLeft: true, hint: hint }))),
33
33
  React__default['default'].createElement(index['default'].Content, null,
34
34
  React__default['default'].createElement(index['default'].Element, { prefix: prefix, postfix: postfix },
35
35
  React__default['default'].createElement(index['default'].Input, { id: id, name: name, value: value, placeholder: placeholder, disabled: disabled, onChange: onChange, onKeyPress: onKeyPress, onKeyUp: onKeyUp, ...props }))),
@@ -11,11 +11,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
 
12
12
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
13
 
14
- const ControlMultiSelect = ({ label, isRequired, id, name, defaultValues, options, isWithGroups, isWithSearch, defaultIsOpen, defaultCloseOnClick, isReadonly, isDisabled, onChange, onToggle, errors, hint, hasCloseIcon, labelAdditionalInfo }) => {
14
+ const ControlMultiSelect = ({ label, isRequired, id, name, defaultValues, options, isWithGroups, isWithSearch, defaultIsOpen, defaultCloseOnClick, isReadonly, isDisabled, onChange, onToggle, errors, hint, hintOptions = { isFixed: true }, hasCloseIcon, labelAdditionalInfo }) => {
15
15
  return (React__default['default'].createElement(index['default'], { errors: errors, name: name, id: id },
16
16
  (label || hint) && (React__default['default'].createElement(index['default'].Label, { id: id, isRequired: isRequired, additionalInfo: labelAdditionalInfo },
17
17
  label,
18
- hint && React__default['default'].createElement(index$1['default'], { hint: hint, spacingLeft: true }))),
18
+ hint && React__default['default'].createElement(index$1['default'], { fixed: hintOptions.isFixed, spacingLeft: true, hint: hint }))),
19
19
  React__default['default'].createElement(index['default'].Content, null,
20
20
  React__default['default'].createElement(index['default'].Element, null,
21
21
  React__default['default'].createElement(index$2['default'], { key: name, name: name, options: options, defaultValues: defaultValues, isWithGroups: isWithGroups, isWithSearch: isWithSearch, defaultIsOpen: defaultIsOpen, defaultCloseOnClick: defaultCloseOnClick, isReadonly: isReadonly, isDisabled: isDisabled, onChange: onChange, onToggle: onToggle, hasCloseIcon: hasCloseIcon }))),
@@ -24,7 +24,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
24
  * />
25
25
  * )
26
26
  */
27
- const ControlRadio = ({ id, label, hint, name, value, defaultChecked, checked, disabled, onClick, errors, labelAdditionalInfo }) => {
27
+ const ControlRadio = ({ id, label, hint, hintOptions = { isFixed: true }, name, value, defaultChecked, checked, disabled, onClick, errors, labelAdditionalInfo }) => {
28
28
  return (React__default['default'].createElement(index['default'], { errors: errors, name: name, id: id },
29
29
  React__default['default'].createElement(index['default'].Content, null,
30
30
  React__default['default'].createElement(index['default'].Element, { type: "radio", verticalPosition: labelAdditionalInfo ? positions.VERTICAL_POSITION.top : undefined },
@@ -32,7 +32,7 @@ const ControlRadio = ({ id, label, hint, name, value, defaultChecked, checked, d
32
32
  React__default['default'].createElement(index$1['default'], { additionalInfo: labelAdditionalInfo, htmlFor: id },
33
33
  label,
34
34
  " ",
35
- hint && React__default['default'].createElement(index$2['default'], { hint: hint, spacingLeft: true })))),
35
+ hint && React__default['default'].createElement(index$2['default'], { fixed: hintOptions.isFixed, hint: hint, spacingLeft: true })))),
36
36
  React__default['default'].createElement(index['default'].Errors, null)));
37
37
  };
38
38
 
@@ -11,11 +11,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
 
12
12
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
13
 
14
- const ControlRadioGroup = ({ id, name, onClick, checkedValue, defaultCheckedValue, label, hint, options, errors, isRequired, labelAdditionalInfo }) => {
14
+ const ControlRadioGroup = ({ id, name, onClick, checkedValue, defaultCheckedValue, label, hint, hintOptions = { isFixed: true }, options, errors, isRequired, labelAdditionalInfo }) => {
15
15
  return (React__default['default'].createElement(index['default'], { errors: errors, name: name, id: id },
16
16
  (label || hint) && (React__default['default'].createElement(index['default'].Label, { id: id, isRequired: isRequired, additionalInfo: labelAdditionalInfo },
17
17
  label,
18
- hint && React__default['default'].createElement(index$1['default'], { hint: hint, spacingLeft: true }))),
18
+ hint && React__default['default'].createElement(index$1['default'], { fixed: hintOptions.isFixed, spacingLeft: true, hint: hint }))),
19
19
  options.map(({ value, label, hint, disabled }) => (React__default['default'].createElement(index$2['default'], { key: `RadioGroup${id}-RadioElement-${value}`, label: label, id: `RadioGroup${id}-Radio-${value}`, value: value, hint: hint, disabled: disabled, name: name, defaultChecked: defaultCheckedValue ? defaultCheckedValue === value : undefined, checked: checkedValue ? checkedValue === value : undefined, onClick: onClick }))),
20
20
  React__default['default'].createElement(index['default'].Errors, null)));
21
21
  };
@@ -11,11 +11,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
 
12
12
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
13
 
14
- const ControlRange = ({ label, hint, isRequired, id, name, isDisabled, onChange, initialValue, step, max, min, errors, labelAdditionalInfo }) => {
14
+ const ControlRange = ({ label, hint, hintOptions = { isFixed: true }, isRequired, id, name, isDisabled, onChange, initialValue, step, max, min, errors, labelAdditionalInfo }) => {
15
15
  return (React__default['default'].createElement(index['default'], { errors: errors, name: name, id: id },
16
16
  (label || hint) && (React__default['default'].createElement(index['default'].Label, { id: id, isRequired: isRequired, additionalInfo: labelAdditionalInfo },
17
17
  label,
18
- hint && React__default['default'].createElement(index$1['default'], { hint: hint, spacingLeft: true }))),
18
+ hint && React__default['default'].createElement(index$1['default'], { fixed: hintOptions.isFixed, spacingLeft: true, hint: hint }))),
19
19
  React__default['default'].createElement(index['default'].Content, null,
20
20
  React__default['default'].createElement(index['default'].Element, null,
21
21
  React__default['default'].createElement(index$2['default'], { initialValue: initialValue, key: name, name: name, isDisabled: isDisabled, onChange: onChange, max: max, min: min, step: step }))),
@@ -26,11 +26,11 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
26
26
  * />
27
27
  * )
28
28
  */
29
- const ControlSelect = ({ label, isRequired, id, name, defaultValues, options, isWithGroups, isWithSearch, defaultIsOpen, defaultCloseOnClick, isReadonly, isDisabled, onChange, onToggle, errors, hint, placeholder, additionalInfo, onScroll, innerAdditionalContent, hasCloseIcon, labelAdditionalInfo }) => {
29
+ const ControlSelect = ({ label, isRequired, id, name, defaultValues, options, isWithGroups, isWithSearch, defaultIsOpen, defaultCloseOnClick, isReadonly, isDisabled, onChange, onToggle, errors, hint, hintOptions = { isFixed: true }, placeholder, additionalInfo, onScroll, innerAdditionalContent, hasCloseIcon, labelAdditionalInfo }) => {
30
30
  return (React__default['default'].createElement(index['default'], { errors: errors, name: name, id: id },
31
31
  (label || hint) && (React__default['default'].createElement(index['default'].Label, { id: id, isRequired: isRequired, additionalInfo: labelAdditionalInfo },
32
32
  label,
33
- hint && React__default['default'].createElement(index$1['default'], { hint: hint, spacingLeft: true }))),
33
+ hint && React__default['default'].createElement(index$1['default'], { fixed: hintOptions.isFixed, spacingLeft: true, hint: hint }))),
34
34
  React__default['default'].createElement(index['default'].Content, null,
35
35
  React__default['default'].createElement(index['default'].Element, null,
36
36
  React__default['default'].createElement(index$2['default'], { key: name, name: name, options: options, defaultValues: defaultValues, isWithGroups: isWithGroups, isWithSearch: isWithSearch, defaultIsOpen: defaultIsOpen, defaultCloseOnClick: defaultCloseOnClick, isReadonly: isReadonly, isDisabled: isDisabled, placeholder: placeholder, onChange: onChange, onToggle: onToggle, onScroll: onScroll, innerAdditionalContent: innerAdditionalContent, hasCloseIcon: hasCloseIcon }))),
@@ -11,11 +11,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
 
12
12
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
13
 
14
- const ControlTagsSelector = ({ id, name, label, isRequired, placeholder, minTagLength, withList, defaultTags, defaultListTags, onChange, onListItemClick, errors, hint, labelAdditionalInfo }) => {
14
+ const ControlTagsSelector = ({ id, name, label, isRequired, placeholder, minTagLength, withList, defaultTags, defaultListTags, onChange, onListItemClick, errors, hint, hintOptions = { isFixed: true }, labelAdditionalInfo }) => {
15
15
  return (React__default['default'].createElement(index['default'], { errors: errors, name: name, id: id },
16
16
  (label || hint) && (React__default['default'].createElement(index['default'].Label, { id: id, isRequired: isRequired, additionalInfo: labelAdditionalInfo },
17
17
  label,
18
- hint && React__default['default'].createElement(index$1['default'], { hint: hint, spacingLeft: true }))),
18
+ hint && React__default['default'].createElement(index$1['default'], { fixed: hintOptions.isFixed, spacingLeft: true, hint: hint }))),
19
19
  React__default['default'].createElement(index['default'].Content, null,
20
20
  React__default['default'].createElement(index['default'].Element, null,
21
21
  React__default['default'].createElement(index$2['default'], { id: id, name: name, placeholder: placeholder, minTagLength: minTagLength, withList: withList, defaultTags: defaultTags, tagsListValue: defaultListTags, onChange: onChange, onListItemClick: onListItemClick }))),
@@ -25,11 +25,11 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
25
  * />
26
26
  * )
27
27
  */
28
- const ControlTextarea = React__default['default'].forwardRef(({ label, isRequired, id, name, value, defaultValue, placeholder, disabled, readOnly, onChange, onFocus, onBlur, onKeyPress, errors, hint, labelAdditionalInfo }, ref) => {
28
+ const ControlTextarea = React__default['default'].forwardRef(({ label, isRequired, id, name, value, defaultValue, placeholder, disabled, readOnly, onChange, onFocus, onBlur, onKeyPress, errors, hint, hintOptions = { isFixed: true }, labelAdditionalInfo }, ref) => {
29
29
  return (React__default['default'].createElement(index['default'], { errors: errors, name: name, id: id },
30
30
  (label || hint) && (React__default['default'].createElement(index['default'].Label, { id: id, isRequired: isRequired, additionalInfo: labelAdditionalInfo },
31
31
  label,
32
- hint && React__default['default'].createElement(index$1['default'], { hint: hint, spacingLeft: true }))),
32
+ hint && React__default['default'].createElement(index$1['default'], { fixed: hintOptions.isFixed, spacingLeft: true, hint: hint }))),
33
33
  React__default['default'].createElement(index['default'].Content, null,
34
34
  React__default['default'].createElement(index['default'].Element, null,
35
35
  React__default['default'].createElement(index['default'].Textarea, { id: id, name: name, value: value, defaultValue: defaultValue, placeholder: placeholder, disabled: disabled, readOnly: readOnly, onChange: onChange, onFocus: onFocus, onBlur: onBlur, onKeyPress: onKeyPress, ref: ref }))),
@@ -5,8 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var useTranslation = require('../../../../../../external/react-i18next/dist/es/useTranslation.js');
7
7
  var value_controller_context = require('../context/value_controller_context.js');
8
- var main_module = require('../../../css/date_picker/main.module.less.js');
9
8
  var css_classes = require('../css_classes.js');
9
+ var main_module = require('../../../css/date_picker/main.module.less.js');
10
10
  var index = require('../../dropdown/hoc/select/index.js');
11
11
  var utilities = require('../utilities.js');
12
12
 
@@ -5,8 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var value_controller_context = require('../context/value_controller_context.js');
7
7
  var month_year_navigation_context = require('../context/month_year_navigation_context.js');
8
- var main_module = require('../../../css/date_picker/main.module.less.js');
9
8
  var css_classes = require('../css_classes.js');
9
+ var main_module = require('../../../css/date_picker/main.module.less.js');
10
10
  var single_day = require('./single_day.js');
11
11
  var use_date_names = require('../hooks/use_date_names.js');
12
12
 
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var input_wrapper = require('../../controls/components/input_wrapper.js');
7
7
  var value_controller_context = require('../context/value_controller_context.js');
8
- var main_module = require('../../../css/date_picker/main.module.less.js');
9
- var css_classes = require('../css_classes.js');
10
8
  var icon_calendar = require('../../../assets/icon_calendar.js');
9
+ var css_classes = require('../css_classes.js');
10
+ var main_module = require('../../../css/date_picker/main.module.less.js');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
@@ -4,11 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var index = require('../../dropdown/index.js');
7
- var constants = require('../constants.js');
8
7
  var month_year_navigation_context = require('../context/month_year_navigation_context.js');
9
- var use_keyboard_navigation = require('../hooks/use_keyboard_navigation.js');
10
- var main_module = require('../../../css/date_picker/main.module.less.js');
11
8
  var css_classes = require('../css_classes.js');
9
+ var main_module = require('../../../css/date_picker/main.module.less.js');
10
+ var constants = require('../constants.js');
11
+ var use_keyboard_navigation = require('../hooks/use_keyboard_navigation.js');
12
12
  var use_date_names = require('../hooks/use_date_names.js');
13
13
  var index$1 = require('./month_year_picker/index.js');
14
14
 
@@ -4,10 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var index = require('../../../../dropdown/context/index.js');
7
- var constants = require('../../../constants.js');
8
7
  var month_year_navigation_context = require('../../../context/month_year_navigation_context.js');
9
- var main_module = require('../../../../../css/date_picker/main.module.less.js');
10
8
  var css_classes = require('../../../css_classes.js');
9
+ var main_module = require('../../../../../css/date_picker/main.module.less.js');
10
+ var constants = require('../../../constants.js');
11
11
  var use_date_names = require('../../../hooks/use_date_names.js');
12
12
 
13
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var main_module = require('../../../../../css/date_picker/main.module.less.js');
7
6
  var css_classes = require('../../../css_classes.js');
7
+ var main_module = require('../../../../../css/date_picker/main.module.less.js');
8
8
  var context = require('../context.js');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var constants$1 = require('../../../constants.js');
7
6
  var month_year_navigation_context = require('../../../context/month_year_navigation_context.js');
7
+ var constants$1 = require('../../../constants.js');
8
8
  var context = require('../context.js');
9
9
  var constants = require('../constants.js');
10
10
 
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var constants = require('../../../constants.js');
7
6
  var month_year_navigation_context = require('../../../context/month_year_navigation_context.js');
8
- var main_module = require('../../../../../css/date_picker/main.module.less.js');
9
7
  var css_classes = require('../../../css_classes.js');
8
+ var main_module = require('../../../../../css/date_picker/main.module.less.js');
9
+ var constants = require('../../../constants.js');
10
10
  var context = require('../context.js');
11
11
  var constants$1 = require('../constants.js');
12
12
 
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var constants = require('../constants.js');
7
6
  var month_year_navigation_context = require('../context/month_year_navigation_context.js');
7
+ var css_classes = require('../css_classes.js');
8
8
  var main_module = require('../../../css/date_picker/main.module.less.js');
9
+ var constants = require('../constants.js');
9
10
  var use_animation = require('../hooks/use_animation.js');
10
- var css_classes = require('../css_classes.js');
11
11
  var days_grid = require('./days_grid.js');
12
12
  var month_controller = require('./month_controller.js');
13
13
 
@@ -4,10 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var classNames = require('../../../utilities/styles/classNames.js');
7
- var constants = require('../constants.js');
8
7
  var value_controller_context = require('../context/value_controller_context.js');
9
- var main_module = require('../../../css/date_picker/main.module.less.js');
10
8
  var css_classes = require('../css_classes.js');
9
+ var main_module = require('../../../css/date_picker/main.module.less.js');
10
+ var constants = require('../constants.js');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var value_controller_context = require('../context/value_controller_context.js');
7
- var use_keyboard_navigation = require('../hooks/use_keyboard_navigation.js');
8
- var main_module = require('../../../css/date_picker/main.module.less.js');
9
7
  var css_classes = require('../css_classes.js');
8
+ var main_module = require('../../../css/date_picker/main.module.less.js');
9
+ var use_keyboard_navigation = require('../hooks/use_keyboard_navigation.js');
10
10
  var pure_date_picker = require('../components/pure_date_picker.js');
11
11
  var common_ranges = require('../components/common_ranges.js');
12
12
  var buttons = require('../components/buttons.js');
@@ -4,8 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var value_controller_context = require('../context/value_controller_context.js');
7
- var main_module = require('../../../css/date_picker/main.module.less.js');
8
7
  var css_classes = require('../css_classes.js');
8
+ var main_module = require('../../../css/date_picker/main.module.less.js');
9
9
  var pure_date_picker = require('../components/pure_date_picker.js');
10
10
  var buttons = require('../components/buttons.js');
11
11
 
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var use_value_controller = require('./hooks/use_value_controller.js');
7
6
  var value_controller_context = require('./context/value_controller_context.js');
7
+ var use_value_controller = require('./hooks/use_value_controller.js');
8
8
  var range_picker = require('./hoc/range_picker.js');
9
9
  var single_date_picker = require('./hoc/single_date_picker.js');
10
10
 
@@ -5,12 +5,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var useTranslation = require('../../../../../../external/react-i18next/dist/es/useTranslation.js');
7
7
  var reactDom = require('react-dom');
8
- var main_module$3 = require('../../../css/icons/main.module.less.js');
9
- var classnames = require('classnames');
8
+ var main_module$1 = require('../../../css/icons/main.module.less.js');
10
9
  var index = require('../context/index.js');
11
10
  var responsive_breakpoints = require('../../../constants/responsive_breakpoints.js');
12
11
  var use_screen_detect = require('../../../hooks/use_screen_detect.js');
13
12
  var with_translation = require('../../../utilities/translation/with_translation.js');
13
+ var classNames = require('../../../utilities/styles/classNames.js');
14
14
  var reactTransitionGroup = require('react-transition-group');
15
15
  var constants = require('../constants.js');
16
16
  var css_classes = require('../css_classes.js');
@@ -19,13 +19,10 @@ var utilities = require('../utilities.js');
19
19
  var use_click_outside = require('../../../hooks/use_click_outside.js');
20
20
  var icon_arrow = require('../../../assets/icon_arrow.js');
21
21
  var utilities$1 = require('@dreamcommerce/utilities');
22
- var main_module$1 = require('../../../css/hint/main.module.less.js');
23
- var main_module$2 = require('../../../css/tooltip/main.module.less.js');
24
22
 
25
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
24
 
27
25
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
28
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
29
26
 
30
27
  /**
31
28
  * Dropdown.Content component. This togglable part of dropdown.
@@ -33,36 +30,27 @@ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
33
30
  * @example
34
31
  * <Dropdown.Content> ... </Dropdown.Content>
35
32
  */
36
- const Content = ({ headerComponent, headerGoBackText, headerGoBackIcon, children, arrowSide = 'left', horizontalPosition = 'left', verticalPosition = 'bottom', cssClass, portalContainer }) => {
33
+ const Content = ({ headerComponent, headerGoBackText, headerGoBackIcon, children, arrowSide = 'left', portalContainer }) => {
37
34
  const [t] = useTranslation.useTranslation();
38
35
  const contentRef = React.useRef(null);
39
- const { wrapperRef, toggleDropdown, isOpen } = index.useDropdownContext();
36
+ const { wrapperRef, toggleDropdown, isOpen, closeDropdown } = index.useDropdownContext();
40
37
  const [styles, setStyles] = React.useState({
38
+ left: '0px',
41
39
  top: '0px',
42
40
  bottom: '0px',
43
- left: '0px',
44
41
  zIndex: constants.DROPDOWN_Z_INDEX
45
42
  });
46
- const windowYScroll = window.scrollY;
47
- const windowHeightMinusYOffset = window.innerHeight - windowYScroll;
48
- const checkIfIsOutsideTopViewport = () => {
49
- if (!contentRef.current)
50
- return;
51
- const bounding = utilities.getBounding(contentRef.current);
52
- return bounding.top <= 0;
53
- };
54
- const checkIfIsOutsideBottomViewport = () => {
55
- if (!contentRef.current)
56
- return;
57
- const element = contentRef.current;
58
- const elementHeight = utilities.getBounding(element).height;
59
- return elementHeight + element.offsetTop > window.innerHeight + windowYScroll;
43
+ const windowHeightMinusYOffset = window.innerHeight - window.pageYOffset;
44
+ const checkIfIsOutsideBottomViewport = (elem) => {
45
+ const bounding = elem.getBoundingClientRect();
46
+ return bounding.bottom > windowHeightMinusYOffset;
60
47
  };
61
- const dropdownIsOutsideTopViewport = checkIfIsOutsideTopViewport();
62
- const dropdownIsOutsideBottomViewport = checkIfIsOutsideBottomViewport();
63
- const contentShouldAppearOnTop = dropdownIsOutsideBottomViewport || (verticalPosition === 'top' && !dropdownIsOutsideTopViewport);
64
- const contentShouldAppearOnBottom = dropdownIsOutsideTopViewport || (verticalPosition === 'bottom' && !dropdownIsOutsideBottomViewport);
65
- const contentClassName = classnames__default['default'](main_module['default'][css_classes.cssDropdownContent], contentShouldAppearOnTop && `${main_module$1['default'][css_classes.cssDropdownContentOnTop]} ${main_module$2['default'][css_classes.cssDropdownContentOnTop]}`, contentShouldAppearOnBottom && `${main_module$1['default'][css_classes.cssDropdownContentOnBottom]} ${main_module$2['default'][css_classes.cssDropdownContentOnBottom]}`, arrowSide === 'right' && main_module['default'][css_classes.cssDropdownArrowHorizontalDirectionRight], contentShouldAppearOnTop && main_module['default'][css_classes.cssDropdownArrowVerticalDirectionBottom], cssClass);
48
+ const dropdownIsOutsideBottomViewport = contentRef.current && checkIfIsOutsideBottomViewport(contentRef.current);
49
+ const contentClassName = classNames.classNames([
50
+ css_classes.cssDropdownContent,
51
+ arrowSide === 'right' && css_classes.cssDropdownArrowHorizontalDirectionRight,
52
+ dropdownIsOutsideBottomViewport && css_classes.cssDropdownArrowVerticalDirectionBottom
53
+ ], main_module['default']);
66
54
  const screenWidthName = use_screen_detect.useScreenDetect();
67
55
  const refs = [contentRef];
68
56
  if (wrapperRef) {
@@ -74,63 +62,30 @@ const Content = ({ headerComponent, headerGoBackText, headerGoBackIcon, children
74
62
  }
75
63
  });
76
64
  React.useEffect(() => {
77
- if ((wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current) && contentRef.current) {
78
- const { x: wrapperXPosition, y: wrapperYPosition, width: wrapperWidth, height: wrapperHeight } = utilities.getBounding(wrapperRef.current);
79
- const { width: contentWidth } = utilities.getBounding(contentRef.current);
80
- const { xModifier, yModifier } = utilities.getXYModifiersForNestedDropdowns(portalContainer === null || portalContainer === void 0 ? void 0 : portalContainer.current);
65
+ if (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current) {
66
+ const { x, y, height } = wrapperRef.current.getBoundingClientRect();
81
67
  const yOffset = 10;
68
+ const { xModifier, yModifier } = utilities.getXYModifiersForNestedDropdowns(portalContainer === null || portalContainer === void 0 ? void 0 : portalContainer.current);
69
+ const positionTop = height + y + yOffset - yModifier;
70
+ const positionBottom = windowHeightMinusYOffset - y + yOffset;
71
+ const positionLeft = x - xModifier;
82
72
  const isInModal = utilities.isChildOfModal(wrapperRef);
83
73
  const zIndex = isInModal ? constants.DROPDOWN_ON_MODAL_Z_INDEX : constants.DROPDOWN_Z_INDEX;
84
- const positionTop = wrapperHeight + wrapperYPosition + windowYScroll + yOffset - yModifier;
85
- const positionBottom = windowHeightMinusYOffset - wrapperYPosition + yOffset;
86
- const positionLeft = wrapperXPosition - xModifier;
87
- let topPositionValue = '';
88
- let bottomPositionValue = '';
89
- let leftPositionValue = '';
90
- const leftPositionStickedToRightBorderValue = wrapperXPosition + wrapperWidth - contentWidth;
91
- const setTopPosition = () => {
92
- topPositionValue = 'auto';
93
- bottomPositionValue = `${positionBottom}px`;
94
- };
95
- const setBottomPosition = () => {
96
- topPositionValue = `${positionTop}px`;
97
- bottomPositionValue = 'auto';
98
- };
99
- horizontalPosition === 'left'
100
- ? (leftPositionValue = `${positionLeft}px`)
101
- : (leftPositionValue = `${leftPositionStickedToRightBorderValue}px`);
102
- if (verticalPosition === 'top') {
103
- setTopPosition();
104
- if (dropdownIsOutsideTopViewport)
105
- setBottomPosition();
106
- }
107
- if (verticalPosition === 'bottom') {
108
- setBottomPosition();
109
- if (dropdownIsOutsideBottomViewport)
110
- setTopPosition();
111
- }
74
+ const topPositionValue = !dropdownIsOutsideBottomViewport ? `${positionTop}px` : 'auto';
75
+ const bottomPositionValue = dropdownIsOutsideBottomViewport ? `${positionBottom}px` : 'auto';
112
76
  screenWidthName === responsive_breakpoints.SCREEN_XS
113
- ? setStyles({ top: `0px`, bottom: 'auto', left: `0px`, zIndex })
114
- : setStyles({ top: topPositionValue, bottom: bottomPositionValue, left: leftPositionValue, zIndex });
77
+ ? setStyles({ left: `0px`, top: `0px`, bottom: 'auto', zIndex })
78
+ : setStyles({ left: `${positionLeft}px`, top: topPositionValue, bottom: bottomPositionValue, zIndex });
115
79
  }
116
- }, [
117
- portalContainer,
118
- screenWidthName,
119
- wrapperRef,
120
- isOpen,
121
- dropdownIsOutsideTopViewport,
122
- dropdownIsOutsideBottomViewport,
123
- windowYScroll,
124
- windowHeightMinusYOffset
125
- ]);
80
+ }, [portalContainer, screenWidthName, wrapperRef, isOpen, dropdownIsOutsideBottomViewport]);
126
81
  React.useEffect(() => {
127
82
  var _a;
128
83
  if (!(wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current) || !isOpen)
129
84
  return;
130
85
  const scrollableParent = (_a = utilities$1.UiDomUtils.getFirstScrollableParent(wrapperRef.current)) !== null && _a !== void 0 ? _a : document.body;
131
86
  const handleWindowScroll = () => {
132
- if (typeof toggleDropdown === 'function') {
133
- toggleDropdown();
87
+ if (typeof closeDropdown === 'function') {
88
+ closeDropdown();
134
89
  }
135
90
  };
136
91
  scrollableParent.addEventListener('scroll', handleWindowScroll, { once: true });
@@ -139,12 +94,12 @@ const Content = ({ headerComponent, headerGoBackText, headerGoBackIcon, children
139
94
  enter: main_module['default']['dropdown-enter'],
140
95
  enterActive: main_module['default']['dropdown-enter-active'],
141
96
  exit: main_module['default']['dropdown-exit'],
142
- exitActive: verticalPosition === 'top' ? main_module['default']['dropdown-exit-active'] : main_module['default']['dropdown-exit-active-reversed']
97
+ exitActive: main_module['default']['dropdown-exit-active']
143
98
  } },
144
99
  React__default['default'].createElement("div", { ref: contentRef, style: styles, className: contentClassName },
145
100
  React__default['default'].createElement("div", { className: main_module['default'][css_classes.cssDropdownHeader] },
146
101
  React__default['default'].createElement("div", { onClick: () => typeof toggleDropdown === 'function' && toggleDropdown() }, headerComponent !== null && headerComponent !== void 0 ? headerComponent : (React__default['default'].createElement("div", { className: main_module['default'][css_classes.cssDropdownHeaderContent] },
147
- headerGoBackIcon || React__default['default'].createElement(icon_arrow['default'], { className: main_module$3['default']['icon_rotate-180'] }),
102
+ headerGoBackIcon || React__default['default'].createElement(icon_arrow['default'], { className: main_module$1['default']['icon_rotate-180'] }),
148
103
  React__default['default'].createElement("span", { className: main_module['default'][css_classes.cssDropdownHeaderTitle] }, headerGoBackText !== null && headerGoBackText !== void 0 ? headerGoBackText : t('Go back')))))),
149
104
  children))) : null), (portalContainer === null || portalContainer === void 0 ? void 0 : portalContainer.current) || document.body);
150
105
  };