@dreamcommerce/aurora 2.17.20 → 2.17.21-2
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.
- package/build/cjs/external/uuid/dist/esm-browser/regex.js +8 -0
- package/build/cjs/external/uuid/dist/esm-browser/regex.js.map +1 -0
- package/build/cjs/external/uuid/dist/esm-browser/rng.js +26 -0
- package/build/cjs/external/uuid/dist/esm-browser/rng.js.map +1 -0
- package/build/cjs/external/uuid/dist/esm-browser/stringify.js +36 -0
- package/build/cjs/external/uuid/dist/esm-browser/stringify.js.map +1 -0
- package/build/cjs/external/uuid/dist/esm-browser/v4.js +29 -0
- package/build/cjs/external/uuid/dist/esm-browser/v4.js.map +1 -0
- package/build/cjs/external/uuid/dist/esm-browser/validate.js +12 -0
- package/build/cjs/external/uuid/dist/esm-browser/validate.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/color_picker_new/components/pure-color-picker.js +7 -6
- package/build/cjs/packages/aurora/src/components/color_picker_new/components/pure-color-picker.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/controls/hoc/control_color_picker/index.js +9 -9
- package/build/cjs/packages/aurora/src/components/controls/hoc/control_date_picker/index.js +9 -9
- package/build/cjs/packages/aurora/src/components/date_picker/components/month_controller.js +5 -5
- package/build/cjs/packages/aurora/src/components/dropdown/components/content.js +33 -1
- package/build/cjs/packages/aurora/src/components/dropdown/components/content.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/dropdown/{index.js → components/dropdown.js} +22 -18
- package/build/cjs/packages/aurora/src/components/dropdown/components/dropdown.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/dropdown/context/dropdowns_manager.js +17 -0
- package/build/cjs/packages/aurora/src/components/dropdown/context/dropdowns_manager.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/dropdown/hoc/multiselect/index.js +6 -6
- package/build/cjs/packages/aurora/src/components/dropdown/hoc/select/index.js +7 -7
- package/build/cjs/packages/aurora/src/components/dropdown/hooks/use_dropdowns_manager_context.js +19 -0
- package/build/cjs/packages/aurora/src/components/dropdown/hooks/use_dropdowns_manager_context.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/dropdown/hooks/use_toggle.js +4 -1
- package/build/cjs/packages/aurora/src/components/dropdown/hooks/use_toggle.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/hint/index.js +2 -2
- package/build/cjs/packages/aurora/src/components/tooltip/index.js +2 -2
- package/build/cjs/packages/aurora/src/index.js +105 -105
- package/build/esm/external/uuid/dist/esm-browser/regex.js +4 -0
- package/build/esm/external/uuid/dist/esm-browser/regex.js.map +1 -0
- package/build/esm/external/uuid/dist/esm-browser/rng.js +22 -0
- package/build/esm/external/uuid/dist/esm-browser/rng.js.map +1 -0
- package/build/esm/external/uuid/dist/esm-browser/stringify.js +32 -0
- package/build/esm/external/uuid/dist/esm-browser/stringify.js.map +1 -0
- package/build/esm/external/uuid/dist/esm-browser/v4.js +25 -0
- package/build/esm/external/uuid/dist/esm-browser/v4.js.map +1 -0
- package/build/esm/external/uuid/dist/esm-browser/validate.js +8 -0
- package/build/esm/external/uuid/dist/esm-browser/validate.js.map +1 -0
- package/build/esm/packages/aurora/src/components/color_picker_new/components/pure-color-picker.js +3 -2
- package/build/esm/packages/aurora/src/components/color_picker_new/components/pure-color-picker.js.map +1 -1
- package/build/esm/packages/aurora/src/components/controls/hoc/control_color_picker/index.js +1 -1
- package/build/esm/packages/aurora/src/components/controls/hoc/control_date_picker/index.js +1 -1
- package/build/esm/packages/aurora/src/components/date_picker/components/month_controller.js +1 -1
- package/build/esm/packages/aurora/src/components/dropdown/components/content.js +33 -1
- package/build/esm/packages/aurora/src/components/dropdown/components/content.js.map +1 -1
- package/build/esm/packages/aurora/src/components/dropdown/components/dropdown.d.ts +23 -0
- package/build/esm/packages/aurora/src/components/dropdown/components/dropdown.js +92 -0
- package/build/{cjs/packages/aurora/src/components/dropdown/index.js.map → esm/packages/aurora/src/components/dropdown/components/dropdown.js.map} +1 -1
- package/build/esm/packages/aurora/src/components/dropdown/context/dropdowns_manager.d.ts +3 -0
- package/build/esm/packages/aurora/src/components/dropdown/context/dropdowns_manager.js +13 -0
- package/build/esm/packages/aurora/src/components/dropdown/context/dropdowns_manager.js.map +1 -0
- package/build/esm/packages/aurora/src/components/dropdown/context/types.d.ts +7 -0
- package/build/esm/packages/aurora/src/components/dropdown/context/types.js +1 -1
- package/build/esm/packages/aurora/src/components/dropdown/context/types.js.map +1 -1
- package/build/esm/packages/aurora/src/components/dropdown/hoc/multiselect/index.js +1 -1
- package/build/esm/packages/aurora/src/components/dropdown/hoc/select/index.js +1 -1
- package/build/esm/packages/aurora/src/components/dropdown/hooks/use_dropdowns_manager.d.ts +8 -0
- package/build/esm/packages/aurora/src/components/dropdown/hooks/use_dropdowns_manager.js +42 -0
- package/build/esm/packages/aurora/src/components/dropdown/hooks/use_dropdowns_manager.js.map +1 -0
- package/build/esm/packages/aurora/src/components/dropdown/hooks/use_dropdowns_manager_context.d.ts +2 -0
- package/build/esm/packages/aurora/src/components/dropdown/hooks/use_dropdowns_manager_context.js +15 -0
- package/build/esm/packages/aurora/src/components/dropdown/hooks/use_dropdowns_manager_context.js.map +1 -0
- package/build/esm/packages/aurora/src/components/dropdown/hooks/use_toggle.d.ts +2 -1
- package/build/esm/packages/aurora/src/components/dropdown/hooks/use_toggle.js +4 -1
- package/build/esm/packages/aurora/src/components/dropdown/hooks/use_toggle.js.map +1 -1
- package/build/esm/packages/aurora/src/components/dropdown/index.d.ts +6 -23
- package/build/esm/packages/aurora/src/components/dropdown/index.js +14 -87
- package/build/esm/packages/aurora/src/components/dropdown/index.js.map +1 -1
- package/build/esm/packages/aurora/src/components/dropdown/types.d.ts +5 -0
- package/build/esm/packages/aurora/src/components/hint/index.js +1 -1
- package/build/esm/packages/aurora/src/components/tooltip/index.js +1 -1
- package/build/esm/packages/aurora/src/index.d.ts +3 -3
- package/build/esm/packages/aurora/src/index.js +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import React, { useRef } from 'react';
|
|
2
|
+
import { slicedToArray as _slicedToArray } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
3
|
+
import { DropdownContext } from '../context/index.js';
|
|
4
|
+
import cssClasses from '../../../css/dropdown/main.module.less.js';
|
|
5
|
+
import { useDropdownsManagerContext } from '../hooks/use_dropdowns_manager_context.js';
|
|
6
|
+
import Content from './content.js';
|
|
7
|
+
import CustomLabel from './custom_label.js';
|
|
8
|
+
import Header from './header.js';
|
|
9
|
+
import Item from './item.js';
|
|
10
|
+
import ItemWithHover from './item_with_hover.js';
|
|
11
|
+
import Label from './label.js';
|
|
12
|
+
import Link from './link.js';
|
|
13
|
+
import List from './list.js';
|
|
14
|
+
import Option from './option.js';
|
|
15
|
+
import { useToggle } from '../hooks/use_toggle.js';
|
|
16
|
+
import OptionMultiple from './option_multiple.js';
|
|
17
|
+
import Search from './search.js';
|
|
18
|
+
import Select from './select.js';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Dropdown composition component. Provides several Dropdown dependant components which can be composed to create
|
|
22
|
+
* selects, multiselects or dropdowns.
|
|
23
|
+
*
|
|
24
|
+
* @component
|
|
25
|
+
* @example
|
|
26
|
+
* return (
|
|
27
|
+
* <Dropdown>
|
|
28
|
+
* <Dropdown.Label label="Wybierz link" />
|
|
29
|
+
* <Dropdown.Content>
|
|
30
|
+
* <Dropdown.List>
|
|
31
|
+
* <Dropdown.Link text="shoper.pl" href="https://shoper.pl" />
|
|
32
|
+
* <Dropdown.Link text="forum.shoper.pl" href="https://forum.shoper.pl" />
|
|
33
|
+
* <Dropdown.Link text="shoper.pl/help" href="https://shoper.pl/help" />
|
|
34
|
+
* </Dropdown.List>
|
|
35
|
+
* </Dropdown.Content>
|
|
36
|
+
* <Dropdown>
|
|
37
|
+
* )
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
var Dropdown = function Dropdown(_ref) {
|
|
41
|
+
var _ref$defaultIsOpen = _ref.defaultIsOpen,
|
|
42
|
+
defaultIsOpen = _ref$defaultIsOpen === void 0 ? false : _ref$defaultIsOpen,
|
|
43
|
+
onToggle = _ref.onToggle,
|
|
44
|
+
children = _ref.children;
|
|
45
|
+
var wrapperRef = useRef(null);
|
|
46
|
+
|
|
47
|
+
var _useDropdownsManagerC = useDropdownsManagerContext(),
|
|
48
|
+
closeAllDropdowns = _useDropdownsManagerC.closeAllDropdowns;
|
|
49
|
+
|
|
50
|
+
var _useToggle = useToggle(defaultIsOpen, onToggle, closeAllDropdowns),
|
|
51
|
+
_useToggle2 = _slicedToArray(_useToggle, 4),
|
|
52
|
+
isOpen = _useToggle2[0],
|
|
53
|
+
toggleDropdown = _useToggle2[1],
|
|
54
|
+
openDropdown = _useToggle2[2],
|
|
55
|
+
closeDropdown = _useToggle2[3];
|
|
56
|
+
/**
|
|
57
|
+
* context values, they may be used with useContext in any component which is part of Dropdown composition
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
var value = React.useMemo(function () {
|
|
62
|
+
return {
|
|
63
|
+
wrapperRef: wrapperRef,
|
|
64
|
+
isOpen: isOpen,
|
|
65
|
+
toggleDropdown: toggleDropdown,
|
|
66
|
+
openDropdown: openDropdown,
|
|
67
|
+
closeDropdown: closeDropdown
|
|
68
|
+
};
|
|
69
|
+
}, [isOpen, toggleDropdown, openDropdown, closeDropdown]);
|
|
70
|
+
return /*#__PURE__*/React.createElement(DropdownContext.Provider, {
|
|
71
|
+
value: value
|
|
72
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
73
|
+
ref: wrapperRef,
|
|
74
|
+
className: cssClasses.dropdown
|
|
75
|
+
}, children));
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
Dropdown.Select = Select;
|
|
79
|
+
Dropdown.Content = Content;
|
|
80
|
+
Dropdown.ItemWithHover = ItemWithHover;
|
|
81
|
+
Dropdown.Search = Search;
|
|
82
|
+
Dropdown.List = List;
|
|
83
|
+
Dropdown.Header = Header;
|
|
84
|
+
Dropdown.Option = Option;
|
|
85
|
+
Dropdown.OptionMultiple = OptionMultiple;
|
|
86
|
+
Dropdown.Link = Link;
|
|
87
|
+
Dropdown.Label = Label;
|
|
88
|
+
Dropdown.CustomLabel = CustomLabel;
|
|
89
|
+
Dropdown.Item = Item;
|
|
90
|
+
|
|
91
|
+
export default Dropdown;
|
|
92
|
+
//# sourceMappingURL=dropdown.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;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;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;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
|
|
3
|
+
var DropdownsManagerContext = /*#__PURE__*/createContext({
|
|
4
|
+
addDropdown: function addDropdown() {},
|
|
5
|
+
updateDropdown: function updateDropdown() {},
|
|
6
|
+
getDropdown: function getDropdown() {
|
|
7
|
+
return undefined;
|
|
8
|
+
},
|
|
9
|
+
closeAllDropdowns: function closeAllDropdowns() {}
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
export { DropdownsManagerContext };
|
|
13
|
+
//# sourceMappingURL=dropdowns_manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { IDropdown } from '../types';
|
|
2
3
|
export interface IDropdownContext {
|
|
3
4
|
wrapperRef?: React.RefObject<HTMLDivElement>;
|
|
4
5
|
isOpen?: boolean;
|
|
@@ -6,3 +7,9 @@ export interface IDropdownContext {
|
|
|
6
7
|
openDropdown?: () => void;
|
|
7
8
|
closeDropdown?: () => void;
|
|
8
9
|
}
|
|
10
|
+
export interface IDropdownsManagerContextProps {
|
|
11
|
+
addDropdown: (dropdown: IDropdown) => void;
|
|
12
|
+
updateDropdown: (dropdown: IDropdown) => void;
|
|
13
|
+
getDropdown: (dropdownId: string) => IDropdown | undefined;
|
|
14
|
+
closeAllDropdowns: () => void;
|
|
15
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import '../types';
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../../src/components/dropdown/context/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../../src/components/dropdown/context/types.ts"],"names":[],"mappings":"AAAA,OAA0B,UAAU,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { handleSearchKeyUp, isSelected, handleItemClick } from '../../utilities.
|
|
|
7
7
|
import { useValues } from '../../hooks/use_values.js';
|
|
8
8
|
import { useToggle } from '../../hooks/use_toggle.js';
|
|
9
9
|
import { useSetOptionsOnClose } from '../../hooks/use_set_options_on_close.js';
|
|
10
|
-
import Dropdown from '../../
|
|
10
|
+
import Dropdown from '../../components/dropdown.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* MultiSelect component. Build with Dropdown composed components.
|
|
@@ -7,7 +7,7 @@ import { handleSearchKeyUp, isSelected, handleItemClick } from '../../utilities.
|
|
|
7
7
|
import { useValue } from '../../hooks/use_value.js';
|
|
8
8
|
import { useToggle } from '../../hooks/use_toggle.js';
|
|
9
9
|
import { useSetOptionsOnClose } from '../../hooks/use_set_options_on_close.js';
|
|
10
|
-
import Dropdown from '../../
|
|
10
|
+
import Dropdown from '../../components/dropdown.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Select component. Build with Dropdown composed components.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IDropdown } from '../types';
|
|
2
|
+
declare const useDropdownsManager: () => {
|
|
3
|
+
addDropdown: (dropdown: IDropdown) => void;
|
|
4
|
+
updateDropdown: (dropdown: IDropdown) => void;
|
|
5
|
+
getDropdown: (dropdownId: string) => IDropdown | undefined;
|
|
6
|
+
closeAllDropdowns: () => void;
|
|
7
|
+
};
|
|
8
|
+
export default useDropdownsManager;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import '../types';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
const useDropdownsManager = () => {
|
|
4
|
+
const [dropdownsStack, setDropdownsStack] = useState([]);
|
|
5
|
+
const addDropdown = (dropdown) => {
|
|
6
|
+
setDropdownsStack((stack) => {
|
|
7
|
+
const dropdownIdAlreadyExist = stack.some((stackModal) => stackModal.id === dropdown.id);
|
|
8
|
+
if (dropdownIdAlreadyExist) {
|
|
9
|
+
return [...stack];
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
return [...stack, dropdown];
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
const updateDropdown = (dropdown) => {
|
|
17
|
+
setDropdownsStack((previousStack) => {
|
|
18
|
+
const updatedStack = previousStack.map((stackDropdown) => (stackDropdown.id === dropdown.id ? { ...dropdown } : stackDropdown));
|
|
19
|
+
return updatedStack;
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
const closeAllDropdowns = () => {
|
|
23
|
+
setDropdownsStack((previousStack) => {
|
|
24
|
+
const updatedStack = previousStack.map((stackDropdown) => {
|
|
25
|
+
stackDropdown.isOpen = false;
|
|
26
|
+
return stackDropdown;
|
|
27
|
+
});
|
|
28
|
+
return updatedStack;
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
const getDropdown = (dropdownId) => {
|
|
32
|
+
return dropdownsStack.find((stackModal) => stackModal.id === dropdownId);
|
|
33
|
+
};
|
|
34
|
+
return {
|
|
35
|
+
addDropdown,
|
|
36
|
+
updateDropdown,
|
|
37
|
+
getDropdown,
|
|
38
|
+
closeAllDropdowns
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export default useDropdownsManager;
|
|
42
|
+
//# sourceMappingURL=use_dropdowns_manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_dropdowns_manager.js","sourceRoot":"","sources":["../../../../../../../../src/components/dropdown/hooks/use_dropdowns_manager.ts"],"names":[],"mappings":"AAAA,OAA0B,UAAU,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAC7B,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IAEtE,MAAM,WAAW,GAAG,CAAC,QAAmB,EAAE,EAAE;QACxC,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,MAAM,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEzF,IAAI,sBAAsB,EAAE;gBACxB,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;aACrB;iBAAM;gBACH,OAAO,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC;aAC/B;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,QAAmB,EAAE,EAAE;QAC3C,iBAAiB,CAAC,CAAC,aAAa,EAAE,EAAE;YAChC,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAEhI,OAAO,YAAY,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC3B,iBAAiB,CAAC,CAAC,aAAa,EAAE,EAAE;YAChC,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;gBACrD,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;gBAC7B,OAAO,aAAa,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,OAAO,YAAY,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAyB,EAAE;QAC9D,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;IAC7E,CAAC,CAAC;IAEF,OAAO;QACH,WAAW;QACX,cAAc;QACd,WAAW;QACX,iBAAiB;KACpB,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
package/build/esm/packages/aurora/src/components/dropdown/hooks/use_dropdowns_manager_context.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { DropdownsManagerContext } from '../context/dropdowns_manager.js';
|
|
3
|
+
|
|
4
|
+
function useDropdownsManagerContext() {
|
|
5
|
+
var context = useContext(DropdownsManagerContext);
|
|
6
|
+
|
|
7
|
+
if (Object.keys(context).length === 0 && context.constructor === Object) {
|
|
8
|
+
throw new Error("Dropdown cannot be rendered outside the DropdownsManagerContext");
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return context;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { useDropdownsManagerContext };
|
|
15
|
+
//# sourceMappingURL=use_dropdowns_manager_context.js.map
|
package/build/esm/packages/aurora/src/components/dropdown/hooks/use_dropdowns_manager_context.js.map
ADDED
|
@@ -0,0 +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;"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Hook used for toggling dropdown
|
|
3
3
|
* @param defaultIsOpen should dropdown be opened at render
|
|
4
4
|
* @param onToggleCb callback onToggle
|
|
5
|
+
* @param closeAllDropdowns close all already opened dropdowns
|
|
5
6
|
* @returns {Array} tuple - open state and and method to change open state
|
|
6
7
|
*/
|
|
7
|
-
export declare function useToggle(defaultIsOpen?: boolean, onToggleCb?: (isOpen: boolean) => void): [boolean, () => void, () => void, () => void];
|
|
8
|
+
export declare function useToggle(defaultIsOpen?: boolean, onToggleCb?: (isOpen: boolean) => void, closeAllDropdowns?: () => void): [boolean, () => void, () => void, () => void];
|
|
@@ -6,12 +6,14 @@ import { useEffectAfterMount } from '../../../hooks/use_effect_after_mount.js';
|
|
|
6
6
|
* Hook used for toggling dropdown
|
|
7
7
|
* @param defaultIsOpen should dropdown be opened at render
|
|
8
8
|
* @param onToggleCb callback onToggle
|
|
9
|
+
* @param closeAllDropdowns close all already opened dropdowns
|
|
9
10
|
* @returns {Array} tuple - open state and and method to change open state
|
|
10
11
|
*/
|
|
11
12
|
|
|
12
13
|
function useToggle() {
|
|
13
14
|
var defaultIsOpen = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
14
15
|
var onToggleCb = arguments.length > 1 ? arguments[1] : undefined;
|
|
16
|
+
var closeAllDropdowns = arguments.length > 2 ? arguments[2] : undefined;
|
|
15
17
|
|
|
16
18
|
var _useState = useState(defaultIsOpen),
|
|
17
19
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -19,7 +21,8 @@ function useToggle() {
|
|
|
19
21
|
setIsOpen = _useState2[1];
|
|
20
22
|
|
|
21
23
|
var onToggle = useCallback(function () {
|
|
22
|
-
|
|
24
|
+
closeAllDropdowns && closeAllDropdowns();
|
|
25
|
+
setIsOpen(function (oldIsOpen) {
|
|
23
26
|
return !oldIsOpen;
|
|
24
27
|
});
|
|
25
28
|
}, []);
|
|
@@ -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;"}
|
|
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;"}
|
|
@@ -1,23 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* @component
|
|
8
|
-
* @example
|
|
9
|
-
* return (
|
|
10
|
-
* <Dropdown>
|
|
11
|
-
* <Dropdown.Label label="Wybierz link" />
|
|
12
|
-
* <Dropdown.Content>
|
|
13
|
-
* <Dropdown.List>
|
|
14
|
-
* <Dropdown.Link text="shoper.pl" href="https://shoper.pl" />
|
|
15
|
-
* <Dropdown.Link text="forum.shoper.pl" href="https://forum.shoper.pl" />
|
|
16
|
-
* <Dropdown.Link text="shoper.pl/help" href="https://shoper.pl/help" />
|
|
17
|
-
* </Dropdown.List>
|
|
18
|
-
* </Dropdown.Content>
|
|
19
|
-
* <Dropdown>
|
|
20
|
-
* )
|
|
21
|
-
*/
|
|
22
|
-
declare const Dropdown: React.FC<IDropdownProps> & IDropdownComposition;
|
|
23
|
-
export default Dropdown;
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
interface IDropdownsManagerContextProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
}
|
|
5
|
+
declare const DropdownsManager: React.FC<IDropdownsManagerContextProps>;
|
|
6
|
+
export default DropdownsManager;
|
|
@@ -1,88 +1,15 @@
|
|
|
1
|
-
import React, {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
import Option from './components/option.js';
|
|
14
|
-
import { useToggle } from './hooks/use_toggle.js';
|
|
15
|
-
import OptionMultiple from './components/option_multiple.js';
|
|
16
|
-
import Search from './components/search.js';
|
|
17
|
-
import Select from './components/select.js';
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Dropdown composition component. Provides several Dropdown dependant components which can be composed to create
|
|
21
|
-
* selects, multiselects or dropdowns.
|
|
22
|
-
*
|
|
23
|
-
* @component
|
|
24
|
-
* @example
|
|
25
|
-
* return (
|
|
26
|
-
* <Dropdown>
|
|
27
|
-
* <Dropdown.Label label="Wybierz link" />
|
|
28
|
-
* <Dropdown.Content>
|
|
29
|
-
* <Dropdown.List>
|
|
30
|
-
* <Dropdown.Link text="shoper.pl" href="https://shoper.pl" />
|
|
31
|
-
* <Dropdown.Link text="forum.shoper.pl" href="https://forum.shoper.pl" />
|
|
32
|
-
* <Dropdown.Link text="shoper.pl/help" href="https://shoper.pl/help" />
|
|
33
|
-
* </Dropdown.List>
|
|
34
|
-
* </Dropdown.Content>
|
|
35
|
-
* <Dropdown>
|
|
36
|
-
* )
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
var Dropdown = function Dropdown(_ref) {
|
|
40
|
-
var _ref$defaultIsOpen = _ref.defaultIsOpen,
|
|
41
|
-
defaultIsOpen = _ref$defaultIsOpen === void 0 ? false : _ref$defaultIsOpen,
|
|
42
|
-
onToggle = _ref.onToggle,
|
|
43
|
-
children = _ref.children;
|
|
44
|
-
var wrapperRef = useRef(null);
|
|
45
|
-
|
|
46
|
-
var _useToggle = useToggle(defaultIsOpen, onToggle),
|
|
47
|
-
_useToggle2 = _slicedToArray(_useToggle, 4),
|
|
48
|
-
isOpen = _useToggle2[0],
|
|
49
|
-
toggleDropdown = _useToggle2[1],
|
|
50
|
-
openDropdown = _useToggle2[2],
|
|
51
|
-
closeDropdown = _useToggle2[3];
|
|
52
|
-
/**
|
|
53
|
-
* context values, they may be used with useContext in any component which is part of Dropdown composition
|
|
54
|
-
*/
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
var value = React.useMemo(function () {
|
|
58
|
-
return {
|
|
59
|
-
wrapperRef: wrapperRef,
|
|
60
|
-
isOpen: isOpen,
|
|
61
|
-
toggleDropdown: toggleDropdown,
|
|
62
|
-
openDropdown: openDropdown,
|
|
63
|
-
closeDropdown: closeDropdown
|
|
64
|
-
};
|
|
65
|
-
}, [isOpen, toggleDropdown, openDropdown, closeDropdown]);
|
|
66
|
-
return /*#__PURE__*/React.createElement(DropdownContext.Provider, {
|
|
67
|
-
value: value
|
|
68
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
69
|
-
ref: wrapperRef,
|
|
70
|
-
className: cssClasses.dropdown
|
|
71
|
-
}, children));
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
|
+
import { DropdownsManagerContext } from './context/dropdowns_manager';
|
|
3
|
+
import useDropdownsManager from './hooks/use_dropdowns_manager';
|
|
4
|
+
const DropdownsManager = ({ children }) => {
|
|
5
|
+
const { addDropdown, updateDropdown, getDropdown, closeAllDropdowns } = useDropdownsManager();
|
|
6
|
+
const value = useMemo(() => ({
|
|
7
|
+
addDropdown,
|
|
8
|
+
updateDropdown,
|
|
9
|
+
getDropdown,
|
|
10
|
+
closeAllDropdowns
|
|
11
|
+
}), [addDropdown, updateDropdown, getDropdown, closeAllDropdowns]);
|
|
12
|
+
return React.createElement(DropdownsManagerContext.Provider, { value: value }, children);
|
|
72
13
|
};
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
Dropdown.Content = Content;
|
|
76
|
-
Dropdown.ItemWithHover = ItemWithHover;
|
|
77
|
-
Dropdown.Search = Search;
|
|
78
|
-
Dropdown.List = List;
|
|
79
|
-
Dropdown.Header = Header;
|
|
80
|
-
Dropdown.Option = Option;
|
|
81
|
-
Dropdown.OptionMultiple = OptionMultiple;
|
|
82
|
-
Dropdown.Link = Link;
|
|
83
|
-
Dropdown.Label = Label;
|
|
84
|
-
Dropdown.CustomLabel = CustomLabel;
|
|
85
|
-
Dropdown.Item = Item;
|
|
86
|
-
|
|
87
|
-
export default Dropdown;
|
|
88
|
-
//# sourceMappingURL=index.js.map
|
|
14
|
+
export default DropdownsManager;
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/components/dropdown/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,OAAO,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAMhE,MAAM,gBAAgB,GAA4C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/E,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAE9F,MAAM,KAAK,GAAG,OAAO,CACjB,GAAG,EAAE,CAAC,CAAC;QACH,WAAW;QACX,cAAc;QACd,WAAW;QACX,iBAAiB;KACpB,CAAC,EACF,CAAC,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAChE,CAAC;IAEF,OAAO,oBAAC,uBAAuB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAAoC,CAAC;AACzG,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -39,6 +39,10 @@ export interface IDropdownCustomLabelProps {
|
|
|
39
39
|
children: ReactNode;
|
|
40
40
|
disabled?: boolean;
|
|
41
41
|
}
|
|
42
|
+
export interface IDropdown {
|
|
43
|
+
id: string;
|
|
44
|
+
isOpen: boolean;
|
|
45
|
+
}
|
|
42
46
|
export interface IDropdownContentProps {
|
|
43
47
|
search?: ReactNode;
|
|
44
48
|
children?: ReactNode;
|
|
@@ -53,6 +57,7 @@ export interface IDropdownContentProps {
|
|
|
53
57
|
shouldCloseOnClickOutside?: boolean;
|
|
54
58
|
onClickOutside?: () => void;
|
|
55
59
|
shouldCloseOnScroll?: boolean;
|
|
60
|
+
shouldCloseOthersOnOpen?: boolean;
|
|
56
61
|
}
|
|
57
62
|
export interface IDropdownItemWithHover {
|
|
58
63
|
children?: ReactNode;
|
|
@@ -5,7 +5,7 @@ import cssClasses from '../../css/hint/main.module.less.js';
|
|
|
5
5
|
import { classNames } from '../../utilities/styles/classNames.js';
|
|
6
6
|
import IconHint from '../../assets/icon_hint.js';
|
|
7
7
|
import { useToggle } from '../dropdown/hooks/use_toggle.js';
|
|
8
|
-
import Dropdown from '../dropdown/
|
|
8
|
+
import Dropdown from '../dropdown/components/dropdown.js';
|
|
9
9
|
|
|
10
10
|
var Hint = function Hint(_ref) {
|
|
11
11
|
var hint = _ref.hint,
|
|
@@ -3,7 +3,7 @@ import { slicedToArray as _slicedToArray } from '../../../../../_virtual/_rollup
|
|
|
3
3
|
import { DropdownContext } from '../dropdown/context/index.js';
|
|
4
4
|
import cssClasses from '../../css/tooltip/main.module.less.js';
|
|
5
5
|
import { useToggle } from '../dropdown/hooks/use_toggle.js';
|
|
6
|
-
import Dropdown from '../dropdown/
|
|
6
|
+
import Dropdown from '../dropdown/components/dropdown.js';
|
|
7
7
|
import { cssTooltip, cssTooltipContainer } from './css_classes.js';
|
|
8
8
|
import { TOOLTIP_TIMEOUT_IN_MS } from './tooltip_constants.js';
|
|
9
9
|
|
|
@@ -35,7 +35,7 @@ import ControlTextarea from "./components/controls/hoc/control_textarea";
|
|
|
35
35
|
import ControlXhrImagePicker from "./components/controls/hoc/control_xhr_image_picker";
|
|
36
36
|
import DataTable from "./components/table/hoc/data-table";
|
|
37
37
|
import Datepicker from "./components/date_picker";
|
|
38
|
-
import Dropdown from "./components/dropdown";
|
|
38
|
+
import Dropdown from "./components/dropdown/components/dropdown";
|
|
39
39
|
/**
|
|
40
40
|
* import context for export
|
|
41
41
|
*/
|
|
@@ -115,7 +115,7 @@ import XhrImagePicker from "./components/xhr_image_picker";
|
|
|
115
115
|
import { useClickOutside } from "./hooks/use_click_outside";
|
|
116
116
|
import { useDropdownContext } from "./components/dropdown/context";
|
|
117
117
|
import { useFlashMessenger } from "./components/flash_messenger/context";
|
|
118
|
-
import
|
|
118
|
+
import { useModalsContext } from "./components/modal_new/hooks/use_modals_context";
|
|
119
119
|
import { useSearchList } from "./components/search_list/use_search_list";
|
|
120
120
|
import { useToggle } from "./components/dropdown/hooks";
|
|
121
121
|
/**
|
|
@@ -124,7 +124,7 @@ import { useToggle } from "./components/dropdown/hooks";
|
|
|
124
124
|
/**
|
|
125
125
|
* export components
|
|
126
126
|
*/
|
|
127
|
-
export { Accordion, Button, Tooltip, ButtonsGroup, Dropdown, Select, MultiSelect, Label, Stack, Control, ControlInput, ControlCheckbox, ControlCheckboxSwitch, ControlRadio, ControlSelect, ControlRange, ControlMultiSelect, ControlTextarea, Gallery, Datepicker, ColorPicker, ColorPickerNew, ControlColorPicker, ControlColorPickerNew, ControlDatepicker, ControlFilePicker, ControlXhrImagePicker, Heading, Typography, Modal, ModalNew, ModalsManager,
|
|
127
|
+
export { Accordion, Button, Tooltip, ButtonsGroup, Dropdown, Select, MultiSelect, Label, Stack, Control, ControlInput, ControlCheckbox, ControlCheckboxSwitch, ControlRadio, ControlSelect, ControlRange, ControlMultiSelect, ControlTextarea, Gallery, Datepicker, ColorPicker, ColorPickerNew, ControlColorPicker, ControlColorPickerNew, ControlDatepicker, ControlFilePicker, ControlXhrImagePicker, Heading, Typography, Modal, ModalNew, ModalsManager, useModalsContext, ModalProvider, AbsoluteModal, RelativeModal, TabsWrapper, Tabs, TabsItem, TabsItemList, TabsPanel, TabsPanelList, SearchList, SearchListInput, SearchListResults, Tag, TagsSelector, ControlTagsSelector, Table, DataTable, Grid, DropdownContext, ModalContext, IconCalendar, Spacing, IconArrow, IconTick, FilePicker, ImagePicker, ControlCellSelector, Hint, ControlRadioGroup, MessageBox, FlashMessenger, useFlashMessenger, Loader, WithLoader, useDropdownContext, FlashMessengerContext, FlashMessagesList, Link, IconTablet, IconMobile, IconLaptop, IconDesktop, IconWarning, useToggle, useSearchList, Slide, SlideWrapper, SlideHeader, SlideSubHeader, SlideContent, SlideFooter, XhrImagePicker, ValuesSyncer, Tree, TreeNode, ScrollSyncContainer, ScrollSync, useClickOutside, Breadcrumbs };
|
|
128
128
|
/**
|
|
129
129
|
* export types
|
|
130
130
|
*/
|
|
@@ -14,7 +14,7 @@ export { default as Control } from './components/controls/index.js';
|
|
|
14
14
|
export { useToggle } from './components/dropdown/hooks/use_toggle.js';
|
|
15
15
|
export { default as Hint } from './components/hint/index.js';
|
|
16
16
|
export { default as ControlCheckbox } from './components/controls/hoc/control_checkbox/index.js';
|
|
17
|
-
export { default as Dropdown } from './components/dropdown/
|
|
17
|
+
export { default as Dropdown } from './components/dropdown/components/dropdown.js';
|
|
18
18
|
export { default as ColorPickerNew } from './components/color_picker_new/index.js';
|
|
19
19
|
export { default as ControlCellSelector } from './components/controls/hoc/control_cell_selector/index.js';
|
|
20
20
|
export { default as ControlCheckboxSwitch } from './components/controls/hoc/control_checkbox_switch/index.js';
|
|
@@ -38,6 +38,7 @@ export { default as TagsSelector } from './components/tags_selector/index.js';
|
|
|
38
38
|
export { default as ControlTagsSelector } from './components/controls/hoc/control_tags_selector/index.js';
|
|
39
39
|
export { default as ControlTextarea } from './components/controls/hoc/control_textarea/index.js';
|
|
40
40
|
export { default as ImagePicker } from './components/image_picker/index.js';
|
|
41
|
+
export { useModalsContext } from './components/modal_new/hooks/use_modals_context.js';
|
|
41
42
|
export { ModalNew } from './components/modal_new/components/modal/modal.js';
|
|
42
43
|
export { default as XhrImagePicker } from './components/xhr_image_picker/index.js';
|
|
43
44
|
export { default as ControlXhrImagePicker } from './components/controls/hoc/control_xhr_image_picker/index.js';
|
|
@@ -61,7 +62,6 @@ export { default as Loader } from './components/loader/index.js';
|
|
|
61
62
|
export { default as Modal } from './components/modal/index.js';
|
|
62
63
|
export { ModalContext } from './components/modal/context/modal_context.js';
|
|
63
64
|
export { default as ModalProvider } from './components/modal/hoc/modal_provider.js';
|
|
64
|
-
export { default as useModals } from './components/modal_new/hooks/use_modals.js';
|
|
65
65
|
export { default as ModalsManager } from './components/modal_new/index.js';
|
|
66
66
|
export { default as RelativeModal } from './components/modal/hoc/relative_modal/index.js';
|
|
67
67
|
export { ScrollSync } from './components/scroll_sync/index.js';
|