oolib 2.57.2 → 2.57.3
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/dist/components/Dropdowns/DropdownMulti/index.d.ts +36 -0
- package/dist/components/Dropdowns/DropdownMulti/index.js +201 -0
- package/dist/components/Dropdowns/DropdownSingle/index.d.ts +37 -0
- package/dist/components/Dropdowns/DropdownSingle/index.js +183 -0
- package/dist/components/Dropdowns/comps/Caret/index.d.ts +6 -0
- package/dist/components/Dropdowns/comps/Caret/index.js +19 -0
- package/dist/components/Dropdowns/comps/Caret/styled.d.ts +2 -0
- package/dist/components/Dropdowns/comps/Caret/styled.js +14 -0
- package/dist/components/Dropdowns/comps/DisplayCompSingle/index.d.ts +5 -0
- package/dist/components/Dropdowns/comps/DisplayCompSingle/index.js +39 -0
- package/dist/components/Dropdowns/comps/NoOptionResultsComp/index.d.ts +3 -0
- package/dist/components/Dropdowns/comps/NoOptionResultsComp/index.js +15 -0
- package/dist/components/Dropdowns/comps/OptionContent/index.d.ts +6 -0
- package/dist/components/Dropdowns/comps/OptionContent/index.js +30 -0
- package/dist/components/Dropdowns/comps/OptionsMulti/index.d.ts +25 -0
- package/dist/components/Dropdowns/comps/OptionsMulti/index.js +173 -0
- package/dist/components/Dropdowns/comps/OptionsShell/index.d.ts +1 -0
- package/dist/components/Dropdowns/comps/OptionsShell/index.js +81 -0
- package/dist/components/Dropdowns/comps/OptionsShell/styled.d.ts +1 -0
- package/dist/components/Dropdowns/comps/OptionsShell/styled.js +17 -0
- package/dist/components/Dropdowns/comps/OptionsSingle/index.d.ts +24 -0
- package/dist/components/Dropdowns/comps/OptionsSingle/index.js +117 -0
- package/dist/components/Dropdowns/comps/OptionsSingle/styled.d.ts +2 -0
- package/dist/components/Dropdowns/comps/OptionsSingle/styled.js +71 -0
- package/dist/components/Dropdowns/comps/SelectDropdown/index.d.ts +14 -0
- package/dist/components/Dropdowns/comps/SelectDropdown/index.js +56 -0
- package/dist/components/Dropdowns/comps/SelectDropdown/styled.d.ts +1 -0
- package/dist/components/Dropdowns/comps/SelectDropdown/styled.js +61 -0
- package/dist/components/Dropdowns/comps/SelectTagsInput/index.d.ts +15 -0
- package/dist/components/Dropdowns/comps/SelectTagsInput/index.js +113 -0
- package/dist/components/Dropdowns/comps/SelectTagsInput/styled.d.ts +2 -0
- package/dist/components/Dropdowns/comps/SelectTagsInput/styled.js +54 -0
- package/dist/components/Dropdowns/handlers/index.d.ts +15 -0
- package/dist/components/Dropdowns/handlers/index.js +50 -0
- package/dist/components/Dropdowns/styled.d.ts +2 -0
- package/dist/components/Dropdowns/styled.js +39 -0
- package/dist/components/Dropdowns/utils/genIcon.d.ts +1 -0
- package/dist/components/Dropdowns/utils/genIcon.js +17 -0
- package/dist/components/Dropdowns/utils/genLinkOrText.d.ts +1 -0
- package/dist/components/Dropdowns/utils/genLinkOrText.js +48 -0
- package/dist/components/Dropdowns/utils/genProfileImg.d.ts +7 -0
- package/dist/components/Dropdowns/utils/genProfileImg.js +36 -0
- package/dist/components/Dropdowns/utils/genTagComp.d.ts +1 -0
- package/dist/components/Dropdowns/utils/genTagComp.js +27 -0
- package/dist/components/Dropdowns/utils/generateOptions.d.ts +5 -0
- package/dist/components/Dropdowns/utils/generateOptions.js +19 -0
- package/dist/components/Dropdowns/utils/getAllOptionsFns/genMonthsArray.d.ts +1 -0
- package/dist/components/Dropdowns/utils/getAllOptionsFns/genMonthsArray.js +40 -0
- package/dist/components/Dropdowns/utils/getAllOptionsFns/genYearsArray.d.ts +4 -0
- package/dist/components/Dropdowns/utils/getAllOptionsFns/genYearsArray.js +11 -0
- package/dist/components/Dropdowns/utils/getAllOptionsFns/getLanguagesArray.d.ts +4 -0
- package/dist/components/Dropdowns/utils/getAllOptionsFns/getLanguagesArray.js +62 -0
- package/dist/components/Dropdowns/utils/getAllOptionsFns/index.d.ts +1 -0
- package/dist/components/Dropdowns/utils/getAllOptionsFns/index.js +19 -0
- package/dist/components/Dropdowns/utils/getValue.d.ts +12 -0
- package/dist/components/Dropdowns/utils/getValue.js +29 -0
- package/dist/components/Dropdowns/utils/keywordSearchOptions.d.ts +6 -0
- package/dist/components/Dropdowns/utils/keywordSearchOptions.js +18 -0
- package/dist/components/Dropdowns/utils/setDropdownSelectText.d.ts +12 -0
- package/dist/components/Dropdowns/utils/setDropdownSelectText.js +19 -0
- package/dist/components/Dropdowns/utils/useCreateDropdownRefs.d.ts +5 -0
- package/dist/components/Dropdowns/utils/useCreateDropdownRefs.js +15 -0
- package/dist/components/Dropdowns/utils/useHideShowOptions.d.ts +5 -0
- package/dist/components/Dropdowns/utils/useHideShowOptions.js +20 -0
- package/dist/components/Dropdowns/utils/useKeyboardControl.d.ts +12 -0
- package/dist/components/Dropdowns/utils/useKeyboardControl.js +73 -0
- package/dist/components/Dropdowns/utils/useSearchString.d.ts +4 -0
- package/dist/components/Dropdowns/utils/useSearchString.js +20 -0
- package/dist/components/Dropdowns/utils/useSetYOrientation.d.ts +9 -0
- package/dist/components/Dropdowns/utils/useSetYOrientation.js +46 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +5 -1
- package/package.json +1 -1
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.OptionsMulti = void 0;
|
|
38
|
+
var react_1 = __importStar(require("react"));
|
|
39
|
+
var OptionsShell_1 = require("../OptionsShell");
|
|
40
|
+
var colors_1 = require("../../../../themes/colors");
|
|
41
|
+
var useSetYOrientation_1 = require("../../utils/useSetYOrientation");
|
|
42
|
+
var useKeyboardControl_1 = require("../../utils/useKeyboardControl");
|
|
43
|
+
var NoOptionResultsComp_1 = require("../NoOptionResultsComp");
|
|
44
|
+
var OptionContent_1 = require("../OptionContent");
|
|
45
|
+
var styled_1 = require("../OptionsSingle/styled");
|
|
46
|
+
var CheckboxButton_1 = require("../../../RadioAndCheckbox/comps/CheckboxList/comps/CheckboxButton");
|
|
47
|
+
var Divider_1 = require("../../../Divider");
|
|
48
|
+
var TextInputs_1 = require("../../../TextInputs");
|
|
49
|
+
var Typo_1 = require("../../../Typo");
|
|
50
|
+
var TextLoader_1 = require("../../../LoadersAndProgress/TextLoader");
|
|
51
|
+
var greyColor40 = colors_1.colors.greyColor40, white = colors_1.colors.white;
|
|
52
|
+
var CheckboxButtonShell = function (_a) {
|
|
53
|
+
var children = _a.children, isSelected = _a.isSelected, invert = _a.invert;
|
|
54
|
+
return (react_1.default.createElement("div", { style: {
|
|
55
|
+
display: "flex",
|
|
56
|
+
alignItems: "center",
|
|
57
|
+
position: "relative",
|
|
58
|
+
} },
|
|
59
|
+
react_1.default.createElement(react_1.Fragment, null,
|
|
60
|
+
react_1.default.createElement("div", { className: "OKE-Dropdown__checkboxClickArea" }),
|
|
61
|
+
react_1.default.createElement(CheckboxButton_1.CheckboxButton, { invert: invert, isSelected: isSelected, className: "OKE-Dropdown__checkboxClickArea-box" })),
|
|
62
|
+
children));
|
|
63
|
+
};
|
|
64
|
+
var OptionsMulti = function (_a) {
|
|
65
|
+
var
|
|
66
|
+
//from root
|
|
67
|
+
lightboxHeight = _a.lightboxHeight, lightboxStyle = _a.lightboxStyle, optionsAnchor = _a.optionsAnchor, value = _a.value, id = _a.id, optionsClassName = _a.optionsClassName,
|
|
68
|
+
//from Dropdown
|
|
69
|
+
relativeToRef = _a.relativeToRef, //the element that this lightbox is being rendered against. i.e top or bottom
|
|
70
|
+
showOptions = _a.showOptions, handleHideOptions = _a.handleHideOptions, handleSelect = _a.handleSelect, options = _a.options, isSearchable = _a.isSearchable, label = _a.label, optionsModalLabel = _a.optionsModalLabel, //label is just a fallback for optionsModalLabel. Don't know why both are needed
|
|
71
|
+
searchString = _a.searchString, setSearchString = _a.setSearchString, SelectComp = _a.SelectComp, // for mobile
|
|
72
|
+
isTagsStyle = _a.isTagsStyle, genCreateTagButton = _a.genCreateTagButton, invert = _a.invert, setFocusSelectTagsInput = _a.setFocusSelectTagsInput, popOutOfOverflowHiddenParent = _a.popOutOfOverflowHiddenParent, S = _a.S;
|
|
73
|
+
//INIT ORIENTATION STATE AND CUSTOM HOOK
|
|
74
|
+
var optionsRef = (0, react_1.useRef)(null);
|
|
75
|
+
var yOrientation = (0, useSetYOrientation_1.useSetYOrientation)({
|
|
76
|
+
showOptions: showOptions,
|
|
77
|
+
optionsRef: optionsRef,
|
|
78
|
+
relativeToRef: relativeToRef,
|
|
79
|
+
}).yOrientation;
|
|
80
|
+
//RESET SEARCHSTRING WHEN OPTIONS ARE CLOSED
|
|
81
|
+
(0, react_1.useEffect)(function () {
|
|
82
|
+
if (!showOptions && !!searchString === true)
|
|
83
|
+
setSearchString("");
|
|
84
|
+
}, [showOptions]);
|
|
85
|
+
var selectedOptions = (0, react_1.useMemo)(function () {
|
|
86
|
+
return value || [];
|
|
87
|
+
//we need this to update on optionsProp, cuz when tag is created inTagsInputMulti
|
|
88
|
+
//opsProp changes.
|
|
89
|
+
//if we use value as dep, then this will update on every onChange, which we dont want.
|
|
90
|
+
}, [
|
|
91
|
+
// showOptions,
|
|
92
|
+
JSON.stringify(options),
|
|
93
|
+
value,
|
|
94
|
+
]);
|
|
95
|
+
var _b = (0, useKeyboardControl_1.useKeyboardControl)({
|
|
96
|
+
showOptions: showOptions,
|
|
97
|
+
optionsWrapperRef: optionsRef,
|
|
98
|
+
handleHideOptions: handleHideOptions,
|
|
99
|
+
handleSelect: handleSelect,
|
|
100
|
+
options: options,
|
|
101
|
+
searchString: searchString,
|
|
102
|
+
id: id,
|
|
103
|
+
}), scrollFocussedOpIntoView = _b.scrollFocussedOpIntoView, focussedOp = _b.focussedOp;
|
|
104
|
+
var opIsSelected = function (thisOpData) {
|
|
105
|
+
return value === null || value === void 0 ? void 0 : value.some(function (d) { return d.value === thisOpData.value; });
|
|
106
|
+
};
|
|
107
|
+
var _c = (0, react_1.useState)(true), searchBarFocus = _c[0], setSearchBarFocus = _c[1];
|
|
108
|
+
(0, react_1.useEffect)(function () {
|
|
109
|
+
setSearchBarFocus(showOptions);
|
|
110
|
+
}, [showOptions]);
|
|
111
|
+
var createOption = function (d) {
|
|
112
|
+
return isTagsStyle ? (react_1.default.createElement(OptionContent_1.OptionContent, __assign({}, { option: d, optionsClassName: optionsClassName, invert: invert }))) : (react_1.default.createElement(CheckboxButtonShell, { invert: invert, isSelected: opIsSelected(d) },
|
|
113
|
+
react_1.default.createElement(OptionContent_1.OptionContent, __assign({}, { option: d, optionsClassName: optionsClassName, invert: invert, S: S }))));
|
|
114
|
+
};
|
|
115
|
+
var createSelectedOptions = function () {
|
|
116
|
+
return (selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions.length) > 0 && (react_1.default.createElement("div", { style: {
|
|
117
|
+
borderBottom: "1px solid ".concat(greyColor40),
|
|
118
|
+
} },
|
|
119
|
+
react_1.default.createElement(Typo_1.LABEL, { invert: invert, style: { padding: "2rem", paddingBottom: 0 }, color: colors_1.colors.greyColor70 }, "selected"),
|
|
120
|
+
selectedOptions.map(function (d) { return (react_1.default.createElement(styled_1.StyledOption, { invert: invert, key: d.value, isSelected: opIsSelected(d), className: "OKE-Dropdown__option", onClick: function (e) {
|
|
121
|
+
if (!d.loading) {
|
|
122
|
+
handleSelect(d);
|
|
123
|
+
setSearchString("");
|
|
124
|
+
setSearchBarFocus(true); //refocus on searchbar after select
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
//this is important cuz if we dont, then the option will have the light blue background of the 'selected' state
|
|
128
|
+
//is a bit hacky, but will do for now.
|
|
129
|
+
style: { backgroundColor: invert ? colors_1.colors.greyColor90 : white } }, createOption(d))); })));
|
|
130
|
+
};
|
|
131
|
+
var genSearchBar = function () { return (react_1.default.createElement("div", { style: {
|
|
132
|
+
position: "sticky",
|
|
133
|
+
top: 0,
|
|
134
|
+
zIndex: 1,
|
|
135
|
+
background: invert ? colors_1.colors.greyColor90 : colors_1.colors.white,
|
|
136
|
+
} },
|
|
137
|
+
react_1.default.createElement("div", { style: { padding: "1rem" }, onBlur: function () { return setSearchBarFocus(false); }, tabIndex: 0 },
|
|
138
|
+
react_1.default.createElement(TextInputs_1.TextInput, { forceFocus: searchBarFocus, invert: invert, type: "text", icon: "MagnifyingGlass", value: searchString, onChange: function (k, v) { return setSearchString(v); }, S: S })),
|
|
139
|
+
react_1.default.createElement(Divider_1.Divider, { invert: invert }))); };
|
|
140
|
+
return (react_1.default.createElement(OptionsShell_1.OptionsShell, __assign({ ref: optionsRef }, {
|
|
141
|
+
yOrientation: yOrientation,
|
|
142
|
+
lightboxHeight: lightboxHeight,
|
|
143
|
+
lightboxStyle: lightboxStyle,
|
|
144
|
+
options: options,
|
|
145
|
+
optionsAnchor: optionsAnchor,
|
|
146
|
+
showOptions: showOptions,
|
|
147
|
+
handleHideOptions: handleHideOptions,
|
|
148
|
+
SelectComp: SelectComp,
|
|
149
|
+
label: label,
|
|
150
|
+
optionsModalLabel: optionsModalLabel,
|
|
151
|
+
invert: invert,
|
|
152
|
+
showDoneButton: true,
|
|
153
|
+
popOutOfOverflowHiddenParent: popOutOfOverflowHiddenParent,
|
|
154
|
+
relativeToRef: relativeToRef,
|
|
155
|
+
S: S
|
|
156
|
+
}),
|
|
157
|
+
isSearchable && genSearchBar(),
|
|
158
|
+
!isTagsStyle && createSelectedOptions(),
|
|
159
|
+
options.length === 0 ? (react_1.default.createElement(NoOptionResultsComp_1.NoOptionResultsComp, { S: S })) : (options.map(function (d, i) {
|
|
160
|
+
return (react_1.default.createElement(styled_1.StyledOption, { key: d.value, invert: invert, isSelected: opIsSelected(d), isFocussed: focussedOp === i, className: "OKE-Dropdown__option", ref: function (el) {
|
|
161
|
+
return focussedOp === i && el && scrollFocussedOpIntoView(el);
|
|
162
|
+
}, onClick: function (e) {
|
|
163
|
+
if (!d.loading) {
|
|
164
|
+
handleSelect(d);
|
|
165
|
+
setSearchBarFocus(true);
|
|
166
|
+
setSearchString("");
|
|
167
|
+
setFocusSelectTagsInput && setFocusSelectTagsInput(true);
|
|
168
|
+
}
|
|
169
|
+
}, S: S }, d.loading ? (react_1.default.createElement(TextLoader_1.TextLoader, { style: { width: "8rem", height: "1.5rem" } })) : (createOption(d))));
|
|
170
|
+
})),
|
|
171
|
+
genCreateTagButton && genCreateTagButton(options)));
|
|
172
|
+
};
|
|
173
|
+
exports.OptionsMulti = OptionsMulti;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const OptionsShell: any;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.OptionsShell = void 0;
|
|
38
|
+
var framer_motion_1 = require("framer-motion");
|
|
39
|
+
var react_1 = __importStar(require("react"));
|
|
40
|
+
var styled_1 = require("../OptionsSingle/styled");
|
|
41
|
+
var usePopOutOfOverflowHiddenParent_1 = require("../../../../utils/usePopOutOfOverflowHiddenParent");
|
|
42
|
+
var ModalLarge_1 = require("../../../Modals/ModalLarge");
|
|
43
|
+
var mixins_1 = require("../../../../themes/mixins");
|
|
44
|
+
var themes_1 = require("../../../../themes");
|
|
45
|
+
var Buttons_1 = require("../../../Buttons");
|
|
46
|
+
var useScreenWidth_1 = require("../../../../utils/customHooks/useScreenWidth");
|
|
47
|
+
var styled_2 = require("./styled");
|
|
48
|
+
exports.OptionsShell = react_1.default.forwardRef(function (_a, ref) {
|
|
49
|
+
var _b;
|
|
50
|
+
var _c;
|
|
51
|
+
var yOrientation = _a.yOrientation, lightboxHeight = _a.lightboxHeight, lightboxStyle = _a.lightboxStyle, options = _a.options, optionsAnchor = _a.optionsAnchor, showOptions = _a.showOptions, handleHideOptions = _a.handleHideOptions, children = _a.children, SelectComp = _a.SelectComp, label = _a.label, optionsModalLabel = _a.optionsModalLabel, invert = _a.invert, showDoneButton = _a.showDoneButton, _d = _a.popOutOfOverflowHiddenParent, popOutOfOverflowHiddenParent = _d === void 0 ? false : _d, relativeToRef = _a.relativeToRef, S = _a.S;
|
|
52
|
+
var screenWidth = (0, useScreenWidth_1.useScreenWidth)();
|
|
53
|
+
var isDesktop = screenWidth >= (0, mixins_1.getBreakPoint)("sm");
|
|
54
|
+
var _e = (0, usePopOutOfOverflowHiddenParent_1.usePopOutOfOverflowHiddenParent)(popOutOfOverflowHiddenParent), fixPos = _e.fixPos, applyFixedPos = _e.applyFixedPos, removeFixedPos = _e.removeFixedPos, trackerRef = _e.trackerRef;
|
|
55
|
+
(0, react_1.useEffect)(function () {
|
|
56
|
+
if (popOutOfOverflowHiddenParent) {
|
|
57
|
+
if (showOptions)
|
|
58
|
+
applyFixedPos();
|
|
59
|
+
else
|
|
60
|
+
removeFixedPos();
|
|
61
|
+
}
|
|
62
|
+
}, [showOptions]);
|
|
63
|
+
var selectCompRect = (_c = relativeToRef === null || relativeToRef === void 0 ? void 0 : relativeToRef.current) === null || _c === void 0 ? void 0 : _c.getBoundingClientRect();
|
|
64
|
+
return isDesktop ? (react_1.default.createElement(react_1.Fragment, null,
|
|
65
|
+
popOutOfOverflowHiddenParent &&
|
|
66
|
+
react_1.default.createElement("div", { ref: trackerRef }),
|
|
67
|
+
react_1.default.createElement(styled_1.StyledOptionsWrapper, { id: 'StyledOptionsWrapper', ref: ref, invert: invert, lightboxHeight: lightboxHeight,
|
|
68
|
+
// className={className}
|
|
69
|
+
style: __assign(__assign(__assign({}, (lightboxStyle || {})), { display: showOptions ? "block" : "none" }), (fixPos
|
|
70
|
+
? __assign({ position: 'fixed', top: "".concat(fixPos.y - (yOrientation === 'top' ? ((selectCompRect === null || selectCompRect === void 0 ? void 0 : selectCompRect.height) || 0) : 0), "px"), left: "".concat(fixPos.x, "px"), width: "max-content" }, (yOrientation === 'top' ? { transform: "translateY(-100%)" } : {})) : __assign(__assign({ position: "absolute" }, (optionsAnchor ? (_b = {}, _b[optionsAnchor] = 0, _b) : { left: 0 })), (yOrientation === "bottom" ? { bottom: 0, transform: "translateY(100%)" } : { top: 0, transform: "translateY(-100%)" })))) }, children))) : (react_1.default.createElement(framer_motion_1.AnimatePresence, null, showOptions ? (react_1.default.createElement(ModalLarge_1.ModalLarge, { fitToContentHeight: true, title: optionsModalLabel || label, onClose: handleHideOptions, invert: invert, S: S },
|
|
71
|
+
SelectComp && SelectComp,
|
|
72
|
+
react_1.default.createElement(styled_2.StyledModalOptionsWrapper, { invert: invert, ref: ref }, children),
|
|
73
|
+
showDoneButton &&
|
|
74
|
+
react_1.default.createElement("div", { style: {
|
|
75
|
+
backgroundColor: invert ? themes_1.colors.greyColor90 : themes_1.colors.white,
|
|
76
|
+
padding: '1rem 2rem',
|
|
77
|
+
position: 'sticky',
|
|
78
|
+
bottom: '0'
|
|
79
|
+
} },
|
|
80
|
+
react_1.default.createElement(Buttons_1.ButtonPrimary, { children: 'Done', width: '100%', onClick: handleHideOptions, S: S })))) : null));
|
|
81
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const StyledModalOptionsWrapper: any;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.StyledModalOptionsWrapper = void 0;
|
|
11
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
12
|
+
var themes_1 = require("../../../../themes");
|
|
13
|
+
exports.StyledModalOptionsWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n padding-left: 0;\n cursor: pointer;\n background-color: ", ";\n width: 100%;\n min-width: max-content;\n min-width: -moz-max-content;\n overflow: auto;\n"], ["\n position: relative;\n padding-left: 0;\n cursor: pointer;\n background-color: ", ";\n width: 100%;\n min-width: max-content;\n min-width: -moz-max-content;\n overflow: auto;\n"])), function (_a) {
|
|
14
|
+
var invert = _a.invert;
|
|
15
|
+
return invert ? themes_1.colors.greyColor90 : themes_1.colors.white;
|
|
16
|
+
});
|
|
17
|
+
var templateObject_1;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export function OptionsSingle({ lightboxHeight, lightboxStyle, optionsAnchor, value, id, optionsClassName, relativeToRef, showOptions, handleHideOptions, handleSelect, options, isSearchable, label, optionsModalLabel, searchString, setSearchString, SelectComp, genCreateTagButton, invert, popOutOfOverflowHiddenParent, enableUseSetYOrientation, S }: {
|
|
2
|
+
lightboxHeight: any;
|
|
3
|
+
lightboxStyle: any;
|
|
4
|
+
optionsAnchor: any;
|
|
5
|
+
value: any;
|
|
6
|
+
id: any;
|
|
7
|
+
optionsClassName: any;
|
|
8
|
+
relativeToRef: any;
|
|
9
|
+
showOptions: any;
|
|
10
|
+
handleHideOptions: any;
|
|
11
|
+
handleSelect: any;
|
|
12
|
+
options: any;
|
|
13
|
+
isSearchable: any;
|
|
14
|
+
label: any;
|
|
15
|
+
optionsModalLabel: any;
|
|
16
|
+
searchString: any;
|
|
17
|
+
setSearchString: any;
|
|
18
|
+
SelectComp: any;
|
|
19
|
+
genCreateTagButton: any;
|
|
20
|
+
invert: any;
|
|
21
|
+
popOutOfOverflowHiddenParent: any;
|
|
22
|
+
enableUseSetYOrientation?: boolean;
|
|
23
|
+
S: any;
|
|
24
|
+
}): any;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.OptionsSingle = void 0;
|
|
38
|
+
var react_1 = __importStar(require("react"));
|
|
39
|
+
var NoOptionResultsComp_1 = require("../NoOptionResultsComp");
|
|
40
|
+
var OptionContent_1 = require("../OptionContent");
|
|
41
|
+
var OptionsShell_1 = require("../OptionsShell");
|
|
42
|
+
var styled_1 = require("./styled");
|
|
43
|
+
var themes_1 = require("../../../../themes");
|
|
44
|
+
var Divider_1 = require("../../../Divider");
|
|
45
|
+
var TextInputs_1 = require("../../../TextInputs");
|
|
46
|
+
var TextLoader_1 = require("../../../LoadersAndProgress/TextLoader");
|
|
47
|
+
var useKeyboardControl_1 = require("../../utils/useKeyboardControl");
|
|
48
|
+
var useSetYOrientation_1 = require("../../utils/useSetYOrientation");
|
|
49
|
+
/**
|
|
50
|
+
* if used independently, must be used inside a 'position: relative/absolute' div.
|
|
51
|
+
*/
|
|
52
|
+
var OptionsSingle = function (_a) {
|
|
53
|
+
var
|
|
54
|
+
//from root
|
|
55
|
+
lightboxHeight = _a.lightboxHeight, lightboxStyle = _a.lightboxStyle, optionsAnchor = _a.optionsAnchor, value = _a.value, id = _a.id, optionsClassName = _a.optionsClassName,
|
|
56
|
+
//from Dropdown
|
|
57
|
+
relativeToRef = _a.relativeToRef, //the element that this lightbox is being rendered against. i.e top or bottom
|
|
58
|
+
showOptions = _a.showOptions, handleHideOptions = _a.handleHideOptions, handleSelect = _a.handleSelect, options = _a.options, isSearchable = _a.isSearchable, label = _a.label, optionsModalLabel = _a.optionsModalLabel, //label is just a fallback for optionsModalLabel. Don't know why both are needed
|
|
59
|
+
searchString = _a.searchString, setSearchString = _a.setSearchString, SelectComp = _a.SelectComp, genCreateTagButton = _a.genCreateTagButton, invert = _a.invert, popOutOfOverflowHiddenParent = _a.popOutOfOverflowHiddenParent, _b = _a.enableUseSetYOrientation, enableUseSetYOrientation = _b === void 0 ? true : _b, // if using this component standalone, this should be set to false ( if relativeToRef is not being passed thru)
|
|
60
|
+
S = _a.S
|
|
61
|
+
//disabled only with this is being used for the RTEEmbedLightbox. Also this might be temp.
|
|
62
|
+
//ensure this is set to false, if you are not passing a 'relativeToRef'
|
|
63
|
+
;
|
|
64
|
+
//INIT ORIENTATION STATE AND CUSTOM HOOK
|
|
65
|
+
var optionsRef = (0, react_1.useRef)(null);
|
|
66
|
+
var yOrientation = (0, useSetYOrientation_1.useSetYOrientation)({
|
|
67
|
+
showOptions: showOptions,
|
|
68
|
+
optionsRef: optionsRef,
|
|
69
|
+
relativeToRef: relativeToRef,
|
|
70
|
+
enabled: enableUseSetYOrientation
|
|
71
|
+
}).yOrientation;
|
|
72
|
+
var _c = (0, useKeyboardControl_1.useKeyboardControl)({
|
|
73
|
+
showOptions: showOptions,
|
|
74
|
+
optionsWrapperRef: optionsRef,
|
|
75
|
+
handleHideOptions: handleHideOptions,
|
|
76
|
+
handleSelect: handleSelect,
|
|
77
|
+
options: options,
|
|
78
|
+
searchString: searchString,
|
|
79
|
+
id: id,
|
|
80
|
+
}), scrollFocussedOpIntoView = _c.scrollFocussedOpIntoView, focussedOp = _c.focussedOp;
|
|
81
|
+
var _d = (0, react_1.useState)(true), searchBarFocus = _d[0], setSearchBarFocus = _d[1];
|
|
82
|
+
(0, react_1.useEffect)(function () {
|
|
83
|
+
setSearchBarFocus(showOptions);
|
|
84
|
+
}, [showOptions]);
|
|
85
|
+
var genSearchBar = function () { return (react_1.default.createElement("div", { style: { position: 'sticky', top: 0, zIndex: 1, background: invert ? themes_1.colors.greyColor90 : themes_1.colors.white } },
|
|
86
|
+
react_1.default.createElement("div", { style: { padding: "1rem" } },
|
|
87
|
+
react_1.default.createElement(TextInputs_1.TextInput, { invert: invert, forceFocus: searchBarFocus, type: "text", icon: "MagnifyingGlass", value: searchString, onChange: function (k, v) { return setSearchString(v); }, S: S })),
|
|
88
|
+
react_1.default.createElement(Divider_1.Divider, { invert: invert }))); };
|
|
89
|
+
return (react_1.default.createElement(OptionsShell_1.OptionsShell, __assign({ ref: optionsRef }, {
|
|
90
|
+
yOrientation: yOrientation,
|
|
91
|
+
lightboxHeight: lightboxHeight,
|
|
92
|
+
lightboxStyle: lightboxStyle,
|
|
93
|
+
options: options,
|
|
94
|
+
optionsAnchor: optionsAnchor,
|
|
95
|
+
showOptions: showOptions,
|
|
96
|
+
SelectComp: SelectComp,
|
|
97
|
+
handleHideOptions: handleHideOptions,
|
|
98
|
+
label: label,
|
|
99
|
+
optionsModalLabel: optionsModalLabel,
|
|
100
|
+
invert: invert,
|
|
101
|
+
relativeToRef: relativeToRef,
|
|
102
|
+
popOutOfOverflowHiddenParent: popOutOfOverflowHiddenParent,
|
|
103
|
+
S: S
|
|
104
|
+
}),
|
|
105
|
+
isSearchable && genSearchBar(),
|
|
106
|
+
options.length === 0
|
|
107
|
+
? react_1.default.createElement(NoOptionResultsComp_1.NoOptionResultsComp, { S: S })
|
|
108
|
+
: options.map(function (d, i) {
|
|
109
|
+
return (react_1.default.createElement(styled_1.StyledOption, { key: d.value, invert: invert, isSelected: !d.loading && (value === null || value === void 0 ? void 0 : value.value) === d.value, isFocussed: focussedOp === i, className: 'OKE-Dropdown__option', ref: function (el) { return focussedOp === i && el && scrollFocussedOpIntoView(el); }, onClick: function (e) {
|
|
110
|
+
if (!d.loading)
|
|
111
|
+
handleSelect(d);
|
|
112
|
+
setSearchString && setSearchString('');
|
|
113
|
+
}, S: S }, d.loading ? (react_1.default.createElement(TextLoader_1.TextLoader, { style: { width: "8rem", height: "1.5rem" } })) : (react_1.default.createElement(OptionContent_1.OptionContent, __assign({}, { option: d, optionsClassName: optionsClassName, invert: invert, S: S })))));
|
|
114
|
+
}),
|
|
115
|
+
genCreateTagButton && genCreateTagButton(options)));
|
|
116
|
+
};
|
|
117
|
+
exports.OptionsSingle = OptionsSingle;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
+
if (mod && mod.__esModule) return mod;
|
|
24
|
+
var result = {};
|
|
25
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
+
__setModuleDefault(result, mod);
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.StyledOption = exports.StyledOptionsWrapper = void 0;
|
|
31
|
+
var styled_components_1 = __importStar(require("styled-components"));
|
|
32
|
+
var themes_1 = require("../../../../themes");
|
|
33
|
+
var mixins_1 = require("../../../../themes/mixins");
|
|
34
|
+
var utilsOolib_1 = require("../../../../utilsOolib");
|
|
35
|
+
exports.StyledOptionsWrapper = styled_components_1.default.ul(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n z-index: 100000;\n padding-left: 0; //cancel out the ul's padding left\n cursor: pointer;\n border: 1px solid ", ";\n border-bottom-right-radius: 2px;\n border-bottom-left-radius: 2px;\n ", ";\n width: 100%;\n min-width: max-content;\n min-width: -moz-max-content;\n max-width: 36rem;\n overflow: auto;\n background-color: ", ";\n /* border: ", "; */\n max-height: ", ";\n"], ["\n z-index: 100000;\n padding-left: 0; //cancel out the ul's padding left\n cursor: pointer;\n border: 1px solid ", ";\n border-bottom-right-radius: 2px;\n border-bottom-left-radius: 2px;\n ", ";\n width: 100%;\n min-width: max-content;\n min-width: -moz-max-content;\n max-width: 36rem;\n overflow: auto;\n background-color: ", ";\n /* border: ", "; */\n max-height: ", ";\n"])), function (_a) {
|
|
36
|
+
var invert = _a.invert;
|
|
37
|
+
return (invert ? themes_1.colors.greyColor70 : themes_1.colors.greyColor5);
|
|
38
|
+
}, mixins_1.boxShadow1, function (_a) {
|
|
39
|
+
var invert = _a.invert;
|
|
40
|
+
return invert ? themes_1.colors.greyColor90 : themes_1.colors.white;
|
|
41
|
+
}, function (_a) {
|
|
42
|
+
var invert = _a.invert;
|
|
43
|
+
return invert && "1px solid ".concat(themes_1.colors.greyColor80);
|
|
44
|
+
}, function (_a) {
|
|
45
|
+
var lightboxHeight = _a.lightboxHeight;
|
|
46
|
+
switch (lightboxHeight) {
|
|
47
|
+
case 'large':
|
|
48
|
+
return '33rem';
|
|
49
|
+
case 'small':
|
|
50
|
+
return '20rem';
|
|
51
|
+
case 'medium':
|
|
52
|
+
default:
|
|
53
|
+
return '24rem';
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
exports.StyledOption = styled_components_1.default.li(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n padding: 0 2rem;\n ", "\n ", ";\n\n background-color: ", ";\n\n &:hover {\n background-color: ", ";\n }\n\n &:first-of-type {\n margin-top: 1rem;\n }\n\n &:last-of-type {\n margin-bottom: 1rem;\n }\n\n .OKE-Dropdown__optionDesc {\n @include kp-clamp-text(2);\n white-space: normal;\n }\n\n .OKE-Dropdown__optionImg {\n flex: 0 0 auto;\n }\n\n .OKE-Dropdown__checkboxClickArea {\n position: absolute;\n width: 2rem;\n height: 2rem;\n }\n .OKE-Dropdown__checkboxClickArea-box {\n margin-right: 2rem;\n flex-shrink: 0;\n }\n"], ["\n display: flex;\n align-items: center;\n padding: 0 2rem;\n ", "\n ", ";\n\n background-color: ", ";\n\n &:hover {\n background-color: ", ";\n }\n\n &:first-of-type {\n margin-top: 1rem;\n }\n\n &:last-of-type {\n margin-bottom: 1rem;\n }\n\n .OKE-Dropdown__optionDesc {\n @include kp-clamp-text(2);\n white-space: normal;\n }\n\n .OKE-Dropdown__optionImg {\n flex: 0 0 auto;\n }\n\n .OKE-Dropdown__checkboxClickArea {\n position: absolute;\n width: 2rem;\n height: 2rem;\n }\n .OKE-Dropdown__checkboxClickArea-box {\n margin-right: 2rem;\n flex-shrink: 0;\n }\n"])), function (_a) {
|
|
57
|
+
var S = _a.S;
|
|
58
|
+
return !S
|
|
59
|
+
? (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n \n min-height: 4rem;\n "], ["\n \n min-height: 4rem;\n "]))) : (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n height: 3rem;\n "], ["\n height: 3rem;\n "])));
|
|
60
|
+
}, (0, mixins_1.transition)('background-color'), function (_a) {
|
|
61
|
+
var isFocussed = _a.isFocussed, isSelected = _a.isSelected, theme = _a.theme, invert = _a.invert;
|
|
62
|
+
return isSelected
|
|
63
|
+
? (invert ? themes_1.colors.greyColor70 : (0, utilsOolib_1.getPrimaryColor10)(theme === null || theme === void 0 ? void 0 : theme.colors))
|
|
64
|
+
: isFocussed
|
|
65
|
+
? (invert ? themes_1.colors.greyColor80 : themes_1.colors.greyColor5)
|
|
66
|
+
: (invert ? themes_1.colors.greyColor90 : themes_1.colors.white);
|
|
67
|
+
}, function (_a) {
|
|
68
|
+
var invert = _a.invert;
|
|
69
|
+
return invert ? themes_1.colors.greyColor80 : themes_1.colors.greyColor5;
|
|
70
|
+
});
|
|
71
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function SelectDropdown({ invert, value, placeholder, caretColor, genCustomSelectComp, selectClassName, showOptions, disableSelectTextUpdate, selectConfig, selectStyleOverride, S, disabled, }: {
|
|
2
|
+
invert: any;
|
|
3
|
+
value: any;
|
|
4
|
+
placeholder: any;
|
|
5
|
+
caretColor: any;
|
|
6
|
+
genCustomSelectComp: any;
|
|
7
|
+
selectClassName: any;
|
|
8
|
+
showOptions: any;
|
|
9
|
+
disableSelectTextUpdate: any;
|
|
10
|
+
selectConfig?: string;
|
|
11
|
+
selectStyleOverride: any;
|
|
12
|
+
S: any;
|
|
13
|
+
disabled: any;
|
|
14
|
+
}): any;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.SelectDropdown = void 0;
|
|
18
|
+
var react_1 = __importDefault(require("react"));
|
|
19
|
+
var setDropdownSelectText_1 = require("../../utils/setDropdownSelectText");
|
|
20
|
+
var Caret_1 = require("../Caret");
|
|
21
|
+
var genIcon_1 = require("../../utils/genIcon");
|
|
22
|
+
var Typo_1 = require("../../../Typo");
|
|
23
|
+
var styled_1 = require("./styled");
|
|
24
|
+
var SelectDropdown = function (_a) {
|
|
25
|
+
var
|
|
26
|
+
//from root
|
|
27
|
+
invert = _a.invert, value = _a.value, placeholder = _a.placeholder, caretColor = _a.caretColor, genCustomSelectComp = _a.genCustomSelectComp, selectClassName = _a.selectClassName,
|
|
28
|
+
//from Dropdown
|
|
29
|
+
showOptions = _a.showOptions,
|
|
30
|
+
//used only for filters, where we dont remove the placeholder even when an option is selected, instead we sustain the blue underline
|
|
31
|
+
// && header where we dont update the menu title if one of its options is selected
|
|
32
|
+
disableSelectTextUpdate = _a.disableSelectTextUpdate, _b = _a.selectConfig, selectConfig = _b === void 0 ? "all" : _b, selectStyleOverride = _a.selectStyleOverride, //used curr only in access control table
|
|
33
|
+
S = _a.S, disabled = _a.disabled;
|
|
34
|
+
var dropdownSelectText = (0, setDropdownSelectText_1.setDropdownSelectText)({
|
|
35
|
+
placeholder: placeholder,
|
|
36
|
+
disableSelectTextUpdate: disableSelectTextUpdate,
|
|
37
|
+
value: value,
|
|
38
|
+
isTagsStyle: false,
|
|
39
|
+
});
|
|
40
|
+
var showElem = function (elem) {
|
|
41
|
+
if (selectConfig === "all")
|
|
42
|
+
return true;
|
|
43
|
+
//else
|
|
44
|
+
return selectConfig.indexOf(elem) !== -1 ? true : false;
|
|
45
|
+
};
|
|
46
|
+
var TypoComp = S ? Typo_1.SANS_2 : Typo_1.SANS_3;
|
|
47
|
+
var genSelectComp = function () { return (react_1.default.createElement(styled_1.StyledSelectWrapper, { invert: invert, S: S, disabled: disabled, style: selectStyleOverride },
|
|
48
|
+
react_1.default.createElement("div", null,
|
|
49
|
+
react_1.default.createElement("div", { style: { display: "flex", gap: "1rem", alignItems: "center" } },
|
|
50
|
+
showElem("icon") && (0, genIcon_1.genIcon)(value === null || value === void 0 ? void 0 : value.icon),
|
|
51
|
+
showElem("display") && (react_1.default.createElement(TypoComp, { semibold: dropdownSelectText.desc && showElem("desc") ? true : undefined, className: "".concat(selectClassName || "", " ").concat(!value && placeholder) }, dropdownSelectText.display))),
|
|
52
|
+
(dropdownSelectText === null || dropdownSelectText === void 0 ? void 0 : dropdownSelectText.desc) && showElem("desc") && (react_1.default.createElement(TypoComp, null, dropdownSelectText.desc))),
|
|
53
|
+
react_1.default.createElement(Caret_1.Caret, __assign({}, { caretColor: caretColor, showOptions: showOptions, invert: invert, disabled: disabled })))); };
|
|
54
|
+
return genCustomSelectComp ? genCustomSelectComp() : genSelectComp();
|
|
55
|
+
};
|
|
56
|
+
exports.SelectDropdown = SelectDropdown;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const StyledSelectWrapper: any;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
+
if (mod && mod.__esModule) return mod;
|
|
24
|
+
var result = {};
|
|
25
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
+
__setModuleDefault(result, mod);
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.StyledSelectWrapper = void 0;
|
|
31
|
+
var styled_components_1 = __importStar(require("styled-components"));
|
|
32
|
+
var themes_1 = require("../../../../themes");
|
|
33
|
+
var utilsOolib_1 = require("../../../../utilsOolib");
|
|
34
|
+
var mixins_1 = require("../../../../themes/mixins");
|
|
35
|
+
exports.StyledSelectWrapper = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n position: relative;\n border-radius: 2px;\n min-height: 4rem;\n padding: 0 2rem;\n background-color: ", ";\n color: ", "; \n ", "\n ", "\n ", "\n\n &::after{\n content: '';\n position: absolute;\n width: 0;\n height: 2px;\n bottom: 0;\n left: 0;\n background-color: ", ";\n ", "\n }\n \n\n &:hover {\n background-color: ", ";\n }\n\n &.focussed {\n background-color: ", ";\n &::after{\n width: 100%;\n }\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n position: relative;\n border-radius: 2px;\n min-height: 4rem;\n padding: 0 2rem;\n background-color: ", ";\n color: ", "; \n ", "\n ", "\n ", "\n\n &::after{\n content: '';\n position: absolute;\n width: 0;\n height: 2px;\n bottom: 0;\n left: 0;\n background-color: ", ";\n ", "\n }\n \n\n &:hover {\n background-color: ", ";\n }\n\n &.focussed {\n background-color: ", ";\n &::after{\n width: 100%;\n }\n }\n"])), function (_a) {
|
|
36
|
+
var invert = _a.invert;
|
|
37
|
+
return invert ? themes_1.colors.greyColor80 : themes_1.colors.greyColor5;
|
|
38
|
+
}, function (_a) {
|
|
39
|
+
var disabled = _a.disabled, invert = _a.invert;
|
|
40
|
+
return disabled
|
|
41
|
+
? themes_1.colors.greyColor40
|
|
42
|
+
: invert
|
|
43
|
+
? themes_1.colors.greyColor5
|
|
44
|
+
: themes_1.colors.greyColor100;
|
|
45
|
+
}, (0, mixins_1.transition)('background-color'), function (_a) {
|
|
46
|
+
var S = _a.S;
|
|
47
|
+
return S && (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n min-height: auto;\n height: 3rem;\n "], ["\n min-height: auto;\n height: 3rem;\n "])));
|
|
48
|
+
}, function (_a) {
|
|
49
|
+
var disabled = _a.disabled;
|
|
50
|
+
return disabled && (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n pointer-events: none;\n "], ["\n pointer-events: none;\n "])));
|
|
51
|
+
}, function (_a) {
|
|
52
|
+
var invert = _a.invert, theme = _a.theme;
|
|
53
|
+
return invert ? themes_1.colors.white : (0, utilsOolib_1.getPrimaryColor100)(theme === null || theme === void 0 ? void 0 : theme.colors);
|
|
54
|
+
}, (0, mixins_1.transition)('width'), function (_a) {
|
|
55
|
+
var invert = _a.invert;
|
|
56
|
+
return invert ? themes_1.colors.greyColor70 : themes_1.colors.greyColor10;
|
|
57
|
+
}, function (_a) {
|
|
58
|
+
var invert = _a.invert;
|
|
59
|
+
return invert ? themes_1.colors.greyColor70 : themes_1.colors.greyColor10;
|
|
60
|
+
});
|
|
61
|
+
var templateObject_1, templateObject_2, templateObject_3;
|