@app-studio/web 0.8.16 → 0.8.17
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/index.d.ts +1 -0
- package/dist/web.cjs.development.js +284 -251
- package/dist/web.cjs.development.js.map +1 -1
- package/dist/web.cjs.production.min.js +1 -1
- package/dist/web.cjs.production.min.js.map +1 -1
- package/dist/web.esm.js +284 -252
- package/dist/web.esm.js.map +1 -1
- package/dist/web.umd.development.js +284 -251
- package/dist/web.umd.development.js.map +1 -1
- package/dist/web.umd.production.min.js +1 -1
- package/dist/web.umd.production.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -4837,7 +4837,270 @@
|
|
|
4837
4837
|
*/
|
|
4838
4838
|
var Password = PasswordComponent;
|
|
4839
4839
|
|
|
4840
|
-
|
|
4840
|
+
// Defines the useComboBoxState hook with parameters for the list of items and optional placeholder texts.
|
|
4841
|
+
var useComboBoxState = (items, placeholder, searchPlaceholder) => {
|
|
4842
|
+
// State hook for filtered items with initial state set to the items passed to the hook.
|
|
4843
|
+
var [filteredItems, setFilteredItems] = React.useState(items);
|
|
4844
|
+
// State hook to track the selected item with an initial state based on the placeholder or the first item.
|
|
4845
|
+
var [selectedItem, setSelectedItem] = React.useState(placeholder ? {
|
|
4846
|
+
value: placeholder,
|
|
4847
|
+
label: placeholder
|
|
4848
|
+
} : items[0]);
|
|
4849
|
+
// State hook for highlighted index in the dropdown list, initialized to 0.
|
|
4850
|
+
var [highlightedIndex, setHighlightedIndex] = React.useState(0);
|
|
4851
|
+
// State hook for search query with an initial state based on the searchPlaceholder or empty string.
|
|
4852
|
+
var [searchQuery, setSearchQuery] = React.useState(searchPlaceholder != null ? searchPlaceholder : '');
|
|
4853
|
+
// State hook to manage dropdown visibility, starts as false (hidden).
|
|
4854
|
+
var [isDropdownVisible, setIsDropdownVisible] = React.useState(false);
|
|
4855
|
+
// Start of object returned by the useComboBoxState hook containing all state and state updater functions.
|
|
4856
|
+
return {
|
|
4857
|
+
filteredItems,
|
|
4858
|
+
setFilteredItems,
|
|
4859
|
+
selectedItem,
|
|
4860
|
+
setSelectedItem,
|
|
4861
|
+
highlightedIndex,
|
|
4862
|
+
setHighlightedIndex,
|
|
4863
|
+
searchQuery,
|
|
4864
|
+
setSearchQuery,
|
|
4865
|
+
isDropdownVisible,
|
|
4866
|
+
setIsDropdownVisible
|
|
4867
|
+
};
|
|
4868
|
+
};
|
|
4869
|
+
|
|
4870
|
+
var _excluded$z = ["size", "color"];
|
|
4871
|
+
var TickSvg = _ref => {
|
|
4872
|
+
var {
|
|
4873
|
+
size = 16,
|
|
4874
|
+
color = '#c0c0c0'
|
|
4875
|
+
} = _ref,
|
|
4876
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$z);
|
|
4877
|
+
return /*#__PURE__*/React__default.createElement(Center, {
|
|
4878
|
+
width: size + "px",
|
|
4879
|
+
height: size + "px"
|
|
4880
|
+
}, /*#__PURE__*/React__default.createElement("svg", Object.assign({
|
|
4881
|
+
width: size + "px",
|
|
4882
|
+
height: size + "px",
|
|
4883
|
+
viewBox: "0 -0.5 25 25",
|
|
4884
|
+
fill: "none",
|
|
4885
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
4886
|
+
}, props), /*#__PURE__*/React__default.createElement("g", {
|
|
4887
|
+
id: "SVGRepo_bgCarrier",
|
|
4888
|
+
strokeWidth: "0"
|
|
4889
|
+
}), /*#__PURE__*/React__default.createElement("g", {
|
|
4890
|
+
id: "SVGRepo_tracerCarrier",
|
|
4891
|
+
strokeLinecap: "round",
|
|
4892
|
+
strokeLinejoin: "round"
|
|
4893
|
+
}), /*#__PURE__*/React__default.createElement("g", {
|
|
4894
|
+
id: "SVGRepo_iconCarrier"
|
|
4895
|
+
}, ' ', /*#__PURE__*/React__default.createElement("path", {
|
|
4896
|
+
d: "M5.5 12.5L10.167 17L19.5 8",
|
|
4897
|
+
stroke: "#444444",
|
|
4898
|
+
strokeWidth: "1.5",
|
|
4899
|
+
strokeLinecap: "round",
|
|
4900
|
+
strokeLinejoin: "round"
|
|
4901
|
+
}), ' ')));
|
|
4902
|
+
};
|
|
4903
|
+
|
|
4904
|
+
var _excluded$A = ["size", "color"];
|
|
4905
|
+
var SearchLoopSvg = _ref => {
|
|
4906
|
+
var {
|
|
4907
|
+
size = 14,
|
|
4908
|
+
color = '#c0c0c0'
|
|
4909
|
+
} = _ref,
|
|
4910
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$A);
|
|
4911
|
+
return /*#__PURE__*/React__default.createElement(Center, {
|
|
4912
|
+
width: size + "px",
|
|
4913
|
+
height: size + "px"
|
|
4914
|
+
}, /*#__PURE__*/React__default.createElement("svg", Object.assign({
|
|
4915
|
+
fill: "#c0c0c0",
|
|
4916
|
+
width: size + "px",
|
|
4917
|
+
height: size + "px",
|
|
4918
|
+
version: "1.1",
|
|
4919
|
+
id: "Capa_1",
|
|
4920
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
4921
|
+
viewBox: "0 0 488.4 488.4",
|
|
4922
|
+
stroke: color
|
|
4923
|
+
}, props), /*#__PURE__*/React__default.createElement("g", {
|
|
4924
|
+
id: "SVGRepo_bgCarrier",
|
|
4925
|
+
strokeWidth: "9.279599999999999"
|
|
4926
|
+
}), /*#__PURE__*/React__default.createElement("g", {
|
|
4927
|
+
id: "SVGRepo_tracerCarrier",
|
|
4928
|
+
strokeLinecap: "round",
|
|
4929
|
+
strokeLinejoin: "round"
|
|
4930
|
+
}), /*#__PURE__*/React__default.createElement("g", {
|
|
4931
|
+
id: "SVGRepo_iconCarrier"
|
|
4932
|
+
}, /*#__PURE__*/React__default.createElement("g", null, /*#__PURE__*/React__default.createElement("g", null, /*#__PURE__*/React__default.createElement("path", {
|
|
4933
|
+
d: "M0,203.25c0,112.1,91.2,203.2,203.2,203.2c51.6,0,98.8-19.4,134.7-51.2l129.5,129.5c2.4,2.4,5.5,3.6,8.7,3.6 s6.3-1.2,8.7-3.6c4.8-4.8,4.8-12.5,0-17.3l-129.6-129.5c31.8-35.9,51.2-83,51.2-134.7c0-112.1-91.2-203.2-203.2-203.2 S0,91.15,0,203.25z M381.9,203.25c0,98.5-80.2,178.7-178.7,178.7s-178.7-80.2-178.7-178.7s80.2-178.7,178.7-178.7 S381.9,104.65,381.9,203.25z"
|
|
4934
|
+
}), ' ')))));
|
|
4935
|
+
};
|
|
4936
|
+
|
|
4937
|
+
var _excluded$B = ["placeholder", "items", "showTick", "onSelect", "searchEnabled", "left", "right", "label", "filteredItems", "setSelectedItem", "selectedItem", "highlightedIndex", "setHighlightedIndex", "searchQuery", "setSearchQuery", "setFilteredItems", "styles", "isDropdownVisible", "setIsDropdownVisible"];
|
|
4938
|
+
// Defines the functional component 'ComboBoxView' with destructured props.
|
|
4939
|
+
var ComboBoxView = _ref => {
|
|
4940
|
+
var {
|
|
4941
|
+
placeholder,
|
|
4942
|
+
items,
|
|
4943
|
+
showTick = true,
|
|
4944
|
+
onSelect,
|
|
4945
|
+
searchEnabled = true,
|
|
4946
|
+
left,
|
|
4947
|
+
right,
|
|
4948
|
+
label,
|
|
4949
|
+
filteredItems,
|
|
4950
|
+
setSelectedItem,
|
|
4951
|
+
selectedItem,
|
|
4952
|
+
highlightedIndex,
|
|
4953
|
+
setHighlightedIndex,
|
|
4954
|
+
searchQuery,
|
|
4955
|
+
setSearchQuery,
|
|
4956
|
+
setFilteredItems,
|
|
4957
|
+
styles,
|
|
4958
|
+
isDropdownVisible,
|
|
4959
|
+
setIsDropdownVisible
|
|
4960
|
+
// Collects all further props not destructured explicitly.
|
|
4961
|
+
} = _ref,
|
|
4962
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$B);
|
|
4963
|
+
// Sets up an effect to handle clicking outside the dropdown to close it.
|
|
4964
|
+
React.useEffect(() => {
|
|
4965
|
+
var handleClickOutside = event => {
|
|
4966
|
+
var path = event.composedPath();
|
|
4967
|
+
var isOutside = !path.some(element => (element == null ? void 0 : element.id) === 'combobox-dropdown');
|
|
4968
|
+
if (isOutside) {
|
|
4969
|
+
setIsDropdownVisible(false);
|
|
4970
|
+
}
|
|
4971
|
+
};
|
|
4972
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
4973
|
+
return () => document.removeEventListener('mousedown', handleClickOutside);
|
|
4974
|
+
}, []);
|
|
4975
|
+
// Defines 'handleSearch' to filter items based on the user's query.
|
|
4976
|
+
var handleSearch = query => {
|
|
4977
|
+
setSearchQuery(query);
|
|
4978
|
+
if (query === '') {
|
|
4979
|
+
setFilteredItems(items);
|
|
4980
|
+
} else {
|
|
4981
|
+
var filtered = items.filter(item => item.label.toLowerCase().includes(query.toLowerCase()));
|
|
4982
|
+
setFilteredItems(filtered);
|
|
4983
|
+
}
|
|
4984
|
+
setHighlightedIndex(0);
|
|
4985
|
+
};
|
|
4986
|
+
// Defines 'handleSelect' to handle item selection and close the dropdown.
|
|
4987
|
+
var handleSelect = item => {
|
|
4988
|
+
setSelectedItem(item);
|
|
4989
|
+
onSelect == null || onSelect(item);
|
|
4990
|
+
setIsDropdownVisible(false);
|
|
4991
|
+
};
|
|
4992
|
+
// Starts the JSX returned by the component representing the combobox.
|
|
4993
|
+
return /*#__PURE__*/React__default.createElement(Horizontal, Object.assign({
|
|
4994
|
+
role: "combobox",
|
|
4995
|
+
flexWrap: "nowrap",
|
|
4996
|
+
gap: 15,
|
|
4997
|
+
alignItems: "center",
|
|
4998
|
+
width: "100%"
|
|
4999
|
+
}, props), label && (/*#__PURE__*/React__default.createElement(Text, {
|
|
5000
|
+
styles: styles == null ? void 0 : styles.label,
|
|
5001
|
+
htmlFor: props.id
|
|
5002
|
+
}, label)), /*#__PURE__*/React__default.createElement(View, {
|
|
5003
|
+
position: "relative"
|
|
5004
|
+
}, /*#__PURE__*/React__default.createElement(Horizontal, Object.assign({
|
|
5005
|
+
cursor: "pointer",
|
|
5006
|
+
backgroundColor: "white",
|
|
5007
|
+
boxShadow: "rgba(0, 0, 0, 0.16) 0px 1px 4px",
|
|
5008
|
+
padding: "12px",
|
|
5009
|
+
display: "flex",
|
|
5010
|
+
alignItems: "center",
|
|
5011
|
+
borderRadius: "4px",
|
|
5012
|
+
justifyContent: "space-between",
|
|
5013
|
+
minWidth: 300,
|
|
5014
|
+
flexWrap: "nowrap"
|
|
5015
|
+
}, styles == null ? void 0 : styles.container), /*#__PURE__*/React__default.createElement(Horizontal, Object.assign({
|
|
5016
|
+
gap: 15,
|
|
5017
|
+
alignItems: "center",
|
|
5018
|
+
position: "relative",
|
|
5019
|
+
width: "100%",
|
|
5020
|
+
onClick: () => setIsDropdownVisible(!isDropdownVisible)
|
|
5021
|
+
}, styles == null ? void 0 : styles.labelContainer), left, /*#__PURE__*/React__default.createElement(Text, Object.assign({
|
|
5022
|
+
weight: "medium",
|
|
5023
|
+
flexGrow: 1
|
|
5024
|
+
}, styles == null ? void 0 : styles.label), selectedItem.label)), right, isDropdownVisible && (/*#__PURE__*/React__default.createElement(View, Object.assign({
|
|
5025
|
+
id: "combobox-dropdown",
|
|
5026
|
+
position: "absolute",
|
|
5027
|
+
backgroundColor: "white",
|
|
5028
|
+
boxShadow: "rgba(0, 0 ,0 ,0.16) 0px 1px 4px",
|
|
5029
|
+
width: "100%",
|
|
5030
|
+
overflowY: "auto",
|
|
5031
|
+
zIndex: 10000,
|
|
5032
|
+
bottom: -8,
|
|
5033
|
+
left: 0,
|
|
5034
|
+
transform: "translateY(100%)",
|
|
5035
|
+
marginTop: "4px",
|
|
5036
|
+
borderRadius: "4px"
|
|
5037
|
+
}, styles == null ? void 0 : styles.dropdown), searchEnabled && (/*#__PURE__*/React__default.createElement(TextFieldView, {
|
|
5038
|
+
id: props.id,
|
|
5039
|
+
name: props.name,
|
|
5040
|
+
width: "100%",
|
|
5041
|
+
type: "search",
|
|
5042
|
+
value: searchQuery,
|
|
5043
|
+
onChange: value => handleSearch(value),
|
|
5044
|
+
hint: placeholder,
|
|
5045
|
+
isClearable: false,
|
|
5046
|
+
leftChild: /*#__PURE__*/React__default.createElement(SearchLoopSvg, {
|
|
5047
|
+
size: 12
|
|
5048
|
+
}),
|
|
5049
|
+
styles: {
|
|
5050
|
+
box: Object.assign({
|
|
5051
|
+
width: '100%',
|
|
5052
|
+
padding: '6px 12px',
|
|
5053
|
+
borderBottom: filteredItems.length > 0 ? '1px solid #ccc' : '1px solid transparent'
|
|
5054
|
+
}, styles == null ? void 0 : styles.text)
|
|
5055
|
+
}
|
|
5056
|
+
})), filteredItems.length > 0 && (/*#__PURE__*/React__default.createElement(View, {
|
|
5057
|
+
margin: 0,
|
|
5058
|
+
padding: 4
|
|
5059
|
+
}, filteredItems.map((item, index) => (/*#__PURE__*/React__default.createElement(Horizontal, Object.assign({
|
|
5060
|
+
justifyContent: "space-between",
|
|
5061
|
+
key: item.value,
|
|
5062
|
+
padding: "12px",
|
|
5063
|
+
cursor: "pointer",
|
|
5064
|
+
borderRadius: 4,
|
|
5065
|
+
backgroundColor: index === highlightedIndex ? 'color.gray.100' : 'transparent',
|
|
5066
|
+
onMouseEnter: () => setHighlightedIndex(index),
|
|
5067
|
+
onClick: () => handleSelect(item)
|
|
5068
|
+
}, styles == null ? void 0 : styles.item), /*#__PURE__*/React__default.createElement(Text, null, item.label), /*#__PURE__*/React__default.createElement(React__default.Fragment, null, item.icon && item.icon, item.value === selectedItem.value && showTick && !item.icon && /*#__PURE__*/React__default.createElement(TickSvg, null))))))))))));
|
|
5069
|
+
};
|
|
5070
|
+
|
|
5071
|
+
var _excluded$C = ["id", "name", "items", "placeholder", "searchPlaceholder"];
|
|
5072
|
+
// Defines the ComboBoxComponent functional component with ComboBoxProps
|
|
5073
|
+
var ComboBoxComponent = _ref => {
|
|
5074
|
+
var {
|
|
5075
|
+
// Destructures 'id' from component props
|
|
5076
|
+
id,
|
|
5077
|
+
// Destructures 'name' from component props
|
|
5078
|
+
name,
|
|
5079
|
+
// Destructures 'items' from component props, used to populate combobox
|
|
5080
|
+
items,
|
|
5081
|
+
// Destructures 'placeholder' from component props, displayed when no item selected
|
|
5082
|
+
placeholder,
|
|
5083
|
+
// Destructures 'searchPlaceholder' from component props, used as the search field placeholder
|
|
5084
|
+
searchPlaceholder
|
|
5085
|
+
// Destructures the rest of the props not explicitly defined
|
|
5086
|
+
} = _ref,
|
|
5087
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$C);
|
|
5088
|
+
// Initializes ComboBox state using custom hook with items and placeholders
|
|
5089
|
+
var state = useComboBoxState(items, placeholder, searchPlaceholder);
|
|
5090
|
+
return (
|
|
5091
|
+
/*#__PURE__*/
|
|
5092
|
+
// Render ComboBoxView with passed and state props
|
|
5093
|
+
React__default.createElement(ComboBoxView, Object.assign({
|
|
5094
|
+
id: id,
|
|
5095
|
+
name: name,
|
|
5096
|
+
items: items
|
|
5097
|
+
}, state, props))
|
|
5098
|
+
);
|
|
5099
|
+
};
|
|
5100
|
+
// Exports the ComboBoxComponent as ComboBox
|
|
5101
|
+
var ComboBox = ComboBoxComponent;
|
|
5102
|
+
|
|
5103
|
+
var _excluded$D = ["children", "autoFocus", "initFocus", "onChange"];
|
|
4841
5104
|
var FocusContext = /*#__PURE__*/React.createContext({
|
|
4842
5105
|
active: false,
|
|
4843
5106
|
focusNextInput: () => {},
|
|
@@ -4853,7 +5116,7 @@
|
|
|
4853
5116
|
initFocus,
|
|
4854
5117
|
onChange = () => {}
|
|
4855
5118
|
} = _ref,
|
|
4856
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
5119
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$D);
|
|
4857
5120
|
var formik$1 = formik.useFormikContext();
|
|
4858
5121
|
React.useEffect(() => {
|
|
4859
5122
|
onChange(formik$1.values);
|
|
@@ -4901,7 +5164,7 @@
|
|
|
4901
5164
|
}, /*#__PURE__*/React__default.createElement(appStudio.Form, Object.assign({}, props), children));
|
|
4902
5165
|
};
|
|
4903
5166
|
|
|
4904
|
-
var _excluded$
|
|
5167
|
+
var _excluded$E = ["name", "type"];
|
|
4905
5168
|
var getInputTypeProps = type => {
|
|
4906
5169
|
switch (type) {
|
|
4907
5170
|
case 'email':
|
|
@@ -4940,7 +5203,7 @@
|
|
|
4940
5203
|
name,
|
|
4941
5204
|
type
|
|
4942
5205
|
} = _ref,
|
|
4943
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
5206
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$E);
|
|
4944
5207
|
var focus = useFormFocus();
|
|
4945
5208
|
var {
|
|
4946
5209
|
touched,
|
|
@@ -4984,13 +5247,13 @@
|
|
|
4984
5247
|
} : {});
|
|
4985
5248
|
};
|
|
4986
5249
|
|
|
4987
|
-
var _excluded$
|
|
5250
|
+
var _excluded$F = ["value"];
|
|
4988
5251
|
var CheckboxComponent$1 = props => {
|
|
4989
5252
|
var _useFormikInput = useFormikInput(props),
|
|
4990
5253
|
{
|
|
4991
5254
|
value
|
|
4992
5255
|
} = _useFormikInput,
|
|
4993
|
-
formProps = _objectWithoutPropertiesLoose(_useFormikInput, _excluded$
|
|
5256
|
+
formProps = _objectWithoutPropertiesLoose(_useFormikInput, _excluded$F);
|
|
4994
5257
|
formProps.isChecked = value;
|
|
4995
5258
|
var checkboxStates = useCheckboxState(props);
|
|
4996
5259
|
return /*#__PURE__*/React__default.createElement(CheckboxView, Object.assign({}, checkboxStates, formProps));
|
|
@@ -5048,11 +5311,11 @@
|
|
|
5048
5311
|
*/
|
|
5049
5312
|
var FormikTextArea = TextAreaComponent$1;
|
|
5050
5313
|
|
|
5051
|
-
var _excluded$
|
|
5314
|
+
var _excluded$G = ["value"];
|
|
5052
5315
|
var TextFieldComponent$1 = props => {
|
|
5053
5316
|
var formProps = useFormikInput(props);
|
|
5054
5317
|
var _useTextFieldState = useTextFieldState(props),
|
|
5055
|
-
textFieldStates = _objectWithoutPropertiesLoose(_useTextFieldState, _excluded$
|
|
5318
|
+
textFieldStates = _objectWithoutPropertiesLoose(_useTextFieldState, _excluded$G);
|
|
5056
5319
|
return /*#__PURE__*/React__default.createElement(TextFieldView, Object.assign({}, textFieldStates, formProps));
|
|
5057
5320
|
};
|
|
5058
5321
|
/**
|
|
@@ -5060,7 +5323,7 @@
|
|
|
5060
5323
|
*/
|
|
5061
5324
|
var FormikTextField = TextFieldComponent$1;
|
|
5062
5325
|
|
|
5063
|
-
var _excluded$
|
|
5326
|
+
var _excluded$H = ["visibleIcon", "hiddenIcon"],
|
|
5064
5327
|
_excluded2$5 = ["isVisible", "setIsVisible"];
|
|
5065
5328
|
var PasswordComponent$1 = _ref => {
|
|
5066
5329
|
var {
|
|
@@ -5071,7 +5334,7 @@
|
|
|
5071
5334
|
size: 14
|
|
5072
5335
|
})
|
|
5073
5336
|
} = _ref,
|
|
5074
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
5337
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$H);
|
|
5075
5338
|
var formProps = useFormikInput(props);
|
|
5076
5339
|
var _usePasswordState = usePasswordState(formProps),
|
|
5077
5340
|
{
|
|
@@ -5096,245 +5359,14 @@
|
|
|
5096
5359
|
*/
|
|
5097
5360
|
var FormikPassword = PasswordComponent$1;
|
|
5098
5361
|
|
|
5099
|
-
|
|
5100
|
-
var
|
|
5101
|
-
// State hook for filtered items with initial state set to the items passed to the hook.
|
|
5102
|
-
var [filteredItems, setFilteredItems] = React.useState(items);
|
|
5103
|
-
// State hook to track the selected item with an initial state based on the placeholder or the first item.
|
|
5104
|
-
var [selectedItem, setSelectedItem] = React.useState(placeholder ? {
|
|
5105
|
-
value: placeholder,
|
|
5106
|
-
label: placeholder
|
|
5107
|
-
} : items[0]);
|
|
5108
|
-
// State hook for highlighted index in the dropdown list, initialized to 0.
|
|
5109
|
-
var [highlightedIndex, setHighlightedIndex] = React.useState(0);
|
|
5110
|
-
// State hook for search query with an initial state based on the searchPlaceholder or empty string.
|
|
5111
|
-
var [searchQuery, setSearchQuery] = React.useState(searchPlaceholder != null ? searchPlaceholder : '');
|
|
5112
|
-
// State hook to manage dropdown visibility, starts as false (hidden).
|
|
5113
|
-
var [isDropdownVisible, setIsDropdownVisible] = React.useState(false);
|
|
5114
|
-
// Start of object returned by the useComboBoxState hook containing all state and state updater functions.
|
|
5115
|
-
return {
|
|
5116
|
-
filteredItems,
|
|
5117
|
-
setFilteredItems,
|
|
5118
|
-
selectedItem,
|
|
5119
|
-
setSelectedItem,
|
|
5120
|
-
highlightedIndex,
|
|
5121
|
-
setHighlightedIndex,
|
|
5122
|
-
searchQuery,
|
|
5123
|
-
setSearchQuery,
|
|
5124
|
-
isDropdownVisible,
|
|
5125
|
-
setIsDropdownVisible
|
|
5126
|
-
};
|
|
5127
|
-
};
|
|
5128
|
-
|
|
5129
|
-
var _excluded$E = ["size", "color"];
|
|
5130
|
-
var TickSvg = _ref => {
|
|
5131
|
-
var {
|
|
5132
|
-
size = 16,
|
|
5133
|
-
color = '#c0c0c0'
|
|
5134
|
-
} = _ref,
|
|
5135
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$E);
|
|
5136
|
-
return /*#__PURE__*/React__default.createElement(Center, {
|
|
5137
|
-
width: size + "px",
|
|
5138
|
-
height: size + "px"
|
|
5139
|
-
}, /*#__PURE__*/React__default.createElement("svg", Object.assign({
|
|
5140
|
-
width: size + "px",
|
|
5141
|
-
height: size + "px",
|
|
5142
|
-
viewBox: "0 -0.5 25 25",
|
|
5143
|
-
fill: "none",
|
|
5144
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
5145
|
-
}, props), /*#__PURE__*/React__default.createElement("g", {
|
|
5146
|
-
id: "SVGRepo_bgCarrier",
|
|
5147
|
-
strokeWidth: "0"
|
|
5148
|
-
}), /*#__PURE__*/React__default.createElement("g", {
|
|
5149
|
-
id: "SVGRepo_tracerCarrier",
|
|
5150
|
-
strokeLinecap: "round",
|
|
5151
|
-
strokeLinejoin: "round"
|
|
5152
|
-
}), /*#__PURE__*/React__default.createElement("g", {
|
|
5153
|
-
id: "SVGRepo_iconCarrier"
|
|
5154
|
-
}, ' ', /*#__PURE__*/React__default.createElement("path", {
|
|
5155
|
-
d: "M5.5 12.5L10.167 17L19.5 8",
|
|
5156
|
-
stroke: "#444444",
|
|
5157
|
-
strokeWidth: "1.5",
|
|
5158
|
-
strokeLinecap: "round",
|
|
5159
|
-
strokeLinejoin: "round"
|
|
5160
|
-
}), ' ')));
|
|
5161
|
-
};
|
|
5162
|
-
|
|
5163
|
-
var _excluded$F = ["size", "color"];
|
|
5164
|
-
var SearchLoopSvg = _ref => {
|
|
5165
|
-
var {
|
|
5166
|
-
size = 14,
|
|
5167
|
-
color = '#c0c0c0'
|
|
5168
|
-
} = _ref,
|
|
5169
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$F);
|
|
5170
|
-
return /*#__PURE__*/React__default.createElement(Center, {
|
|
5171
|
-
width: size + "px",
|
|
5172
|
-
height: size + "px"
|
|
5173
|
-
}, /*#__PURE__*/React__default.createElement("svg", Object.assign({
|
|
5174
|
-
fill: "#c0c0c0",
|
|
5175
|
-
width: size + "px",
|
|
5176
|
-
height: size + "px",
|
|
5177
|
-
version: "1.1",
|
|
5178
|
-
id: "Capa_1",
|
|
5179
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
5180
|
-
viewBox: "0 0 488.4 488.4",
|
|
5181
|
-
stroke: color
|
|
5182
|
-
}, props), /*#__PURE__*/React__default.createElement("g", {
|
|
5183
|
-
id: "SVGRepo_bgCarrier",
|
|
5184
|
-
strokeWidth: "9.279599999999999"
|
|
5185
|
-
}), /*#__PURE__*/React__default.createElement("g", {
|
|
5186
|
-
id: "SVGRepo_tracerCarrier",
|
|
5187
|
-
strokeLinecap: "round",
|
|
5188
|
-
strokeLinejoin: "round"
|
|
5189
|
-
}), /*#__PURE__*/React__default.createElement("g", {
|
|
5190
|
-
id: "SVGRepo_iconCarrier"
|
|
5191
|
-
}, /*#__PURE__*/React__default.createElement("g", null, /*#__PURE__*/React__default.createElement("g", null, /*#__PURE__*/React__default.createElement("path", {
|
|
5192
|
-
d: "M0,203.25c0,112.1,91.2,203.2,203.2,203.2c51.6,0,98.8-19.4,134.7-51.2l129.5,129.5c2.4,2.4,5.5,3.6,8.7,3.6 s6.3-1.2,8.7-3.6c4.8-4.8,4.8-12.5,0-17.3l-129.6-129.5c31.8-35.9,51.2-83,51.2-134.7c0-112.1-91.2-203.2-203.2-203.2 S0,91.15,0,203.25z M381.9,203.25c0,98.5-80.2,178.7-178.7,178.7s-178.7-80.2-178.7-178.7s80.2-178.7,178.7-178.7 S381.9,104.65,381.9,203.25z"
|
|
5193
|
-
}), ' ')))));
|
|
5194
|
-
};
|
|
5195
|
-
|
|
5196
|
-
var _excluded$G = ["placeholder", "items", "showTick", "onSelect", "searchEnabled", "left", "right", "label", "filteredItems", "setSelectedItem", "selectedItem", "highlightedIndex", "setHighlightedIndex", "searchQuery", "setSearchQuery", "setFilteredItems", "styles", "isDropdownVisible", "setIsDropdownVisible"];
|
|
5197
|
-
// Defines the functional component 'ComboBoxView' with destructured props.
|
|
5198
|
-
var ComboBoxView = _ref => {
|
|
5199
|
-
var {
|
|
5200
|
-
placeholder,
|
|
5201
|
-
items,
|
|
5202
|
-
showTick = true,
|
|
5203
|
-
onSelect,
|
|
5204
|
-
searchEnabled = true,
|
|
5205
|
-
left,
|
|
5206
|
-
right,
|
|
5207
|
-
label,
|
|
5208
|
-
filteredItems,
|
|
5209
|
-
setSelectedItem,
|
|
5210
|
-
selectedItem,
|
|
5211
|
-
highlightedIndex,
|
|
5212
|
-
setHighlightedIndex,
|
|
5213
|
-
searchQuery,
|
|
5214
|
-
setSearchQuery,
|
|
5215
|
-
setFilteredItems,
|
|
5216
|
-
styles,
|
|
5217
|
-
isDropdownVisible,
|
|
5218
|
-
setIsDropdownVisible
|
|
5219
|
-
// Collects all further props not destructured explicitly.
|
|
5220
|
-
} = _ref,
|
|
5221
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$G);
|
|
5222
|
-
// Sets up an effect to handle clicking outside the dropdown to close it.
|
|
5223
|
-
React.useEffect(() => {
|
|
5224
|
-
var handleClickOutside = event => {
|
|
5225
|
-
var path = event.composedPath();
|
|
5226
|
-
var isOutside = !path.some(element => (element == null ? void 0 : element.id) === 'combobox-dropdown');
|
|
5227
|
-
if (isOutside) {
|
|
5228
|
-
setIsDropdownVisible(false);
|
|
5229
|
-
}
|
|
5230
|
-
};
|
|
5231
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
5232
|
-
return () => document.removeEventListener('mousedown', handleClickOutside);
|
|
5233
|
-
}, []);
|
|
5234
|
-
// Defines 'handleSearch' to filter items based on the user's query.
|
|
5235
|
-
var handleSearch = query => {
|
|
5236
|
-
setSearchQuery(query);
|
|
5237
|
-
if (query === '') {
|
|
5238
|
-
setFilteredItems(items);
|
|
5239
|
-
} else {
|
|
5240
|
-
var filtered = items.filter(item => item.label.toLowerCase().includes(query.toLowerCase()));
|
|
5241
|
-
setFilteredItems(filtered);
|
|
5242
|
-
}
|
|
5243
|
-
setHighlightedIndex(0);
|
|
5244
|
-
};
|
|
5245
|
-
// Defines 'handleSelect' to handle item selection and close the dropdown.
|
|
5246
|
-
var handleSelect = item => {
|
|
5247
|
-
setSelectedItem(item);
|
|
5248
|
-
onSelect == null || onSelect(item);
|
|
5249
|
-
setIsDropdownVisible(false);
|
|
5250
|
-
};
|
|
5251
|
-
// Starts the JSX returned by the component representing the combobox.
|
|
5252
|
-
return /*#__PURE__*/React__default.createElement(Horizontal, Object.assign({
|
|
5253
|
-
role: "combobox",
|
|
5254
|
-
flexWrap: "nowrap",
|
|
5255
|
-
gap: 15,
|
|
5256
|
-
alignItems: "center",
|
|
5257
|
-
width: "100%"
|
|
5258
|
-
}, props), label && (/*#__PURE__*/React__default.createElement(Text, {
|
|
5259
|
-
styles: styles == null ? void 0 : styles.label,
|
|
5260
|
-
htmlFor: props.id
|
|
5261
|
-
}, label)), /*#__PURE__*/React__default.createElement(View, {
|
|
5262
|
-
position: "relative"
|
|
5263
|
-
}, /*#__PURE__*/React__default.createElement(Horizontal, Object.assign({
|
|
5264
|
-
cursor: "pointer",
|
|
5265
|
-
backgroundColor: "white",
|
|
5266
|
-
boxShadow: "rgba(0, 0, 0, 0.16) 0px 1px 4px",
|
|
5267
|
-
padding: "12px",
|
|
5268
|
-
display: "flex",
|
|
5269
|
-
alignItems: "center",
|
|
5270
|
-
borderRadius: "4px",
|
|
5271
|
-
justifyContent: "space-between",
|
|
5272
|
-
minWidth: 300,
|
|
5273
|
-
flexWrap: "nowrap"
|
|
5274
|
-
}, styles == null ? void 0 : styles.container), /*#__PURE__*/React__default.createElement(Horizontal, Object.assign({
|
|
5275
|
-
gap: 15,
|
|
5276
|
-
alignItems: "center",
|
|
5277
|
-
position: "relative",
|
|
5278
|
-
width: "100%",
|
|
5279
|
-
onClick: () => setIsDropdownVisible(!isDropdownVisible)
|
|
5280
|
-
}, styles == null ? void 0 : styles.labelContainer), left, /*#__PURE__*/React__default.createElement(Text, Object.assign({
|
|
5281
|
-
weight: "medium",
|
|
5282
|
-
flexGrow: 1
|
|
5283
|
-
}, styles == null ? void 0 : styles.label), selectedItem.label)), right, isDropdownVisible && (/*#__PURE__*/React__default.createElement(View, Object.assign({
|
|
5284
|
-
id: "combobox-dropdown",
|
|
5285
|
-
position: "absolute",
|
|
5286
|
-
backgroundColor: "white",
|
|
5287
|
-
boxShadow: "rgba(0, 0 ,0 ,0.16) 0px 1px 4px",
|
|
5288
|
-
width: "100%",
|
|
5289
|
-
overflowY: "auto",
|
|
5290
|
-
zIndex: 10000,
|
|
5291
|
-
bottom: -8,
|
|
5292
|
-
left: 0,
|
|
5293
|
-
transform: "translateY(100%)",
|
|
5294
|
-
marginTop: "4px",
|
|
5295
|
-
borderRadius: "4px"
|
|
5296
|
-
}, styles == null ? void 0 : styles.dropdown), searchEnabled && (/*#__PURE__*/React__default.createElement(TextFieldView, {
|
|
5297
|
-
id: props.id,
|
|
5298
|
-
name: props.name,
|
|
5299
|
-
width: "100%",
|
|
5300
|
-
type: "search",
|
|
5301
|
-
value: searchQuery,
|
|
5302
|
-
onChange: value => handleSearch(value),
|
|
5303
|
-
hint: placeholder,
|
|
5304
|
-
isClearable: false,
|
|
5305
|
-
leftChild: /*#__PURE__*/React__default.createElement(SearchLoopSvg, {
|
|
5306
|
-
size: 12
|
|
5307
|
-
}),
|
|
5308
|
-
styles: {
|
|
5309
|
-
box: Object.assign({
|
|
5310
|
-
width: '100%',
|
|
5311
|
-
padding: '6px 12px',
|
|
5312
|
-
borderBottom: filteredItems.length > 0 ? '1px solid #ccc' : '1px solid transparent'
|
|
5313
|
-
}, styles == null ? void 0 : styles.text)
|
|
5314
|
-
}
|
|
5315
|
-
})), filteredItems.length > 0 && (/*#__PURE__*/React__default.createElement(View, {
|
|
5316
|
-
margin: 0,
|
|
5317
|
-
padding: 4
|
|
5318
|
-
}, filteredItems.map((item, index) => (/*#__PURE__*/React__default.createElement(Horizontal, Object.assign({
|
|
5319
|
-
justifyContent: "space-between",
|
|
5320
|
-
key: item.value,
|
|
5321
|
-
padding: "12px",
|
|
5322
|
-
cursor: "pointer",
|
|
5323
|
-
borderRadius: 4,
|
|
5324
|
-
backgroundColor: index === highlightedIndex ? 'color.gray.100' : 'transparent',
|
|
5325
|
-
onMouseEnter: () => setHighlightedIndex(index),
|
|
5326
|
-
onClick: () => handleSelect(item)
|
|
5327
|
-
}, styles == null ? void 0 : styles.item), /*#__PURE__*/React__default.createElement(Text, null, item.label), /*#__PURE__*/React__default.createElement(React__default.Fragment, null, item.icon && item.icon, item.value === selectedItem.value && showTick && !item.icon && /*#__PURE__*/React__default.createElement(TickSvg, null))))))))))));
|
|
5328
|
-
};
|
|
5329
|
-
|
|
5330
|
-
var _excluded$H = ["items", "placeholder", "searchPlaceholder"];
|
|
5331
|
-
var ComboBoxComponent = _ref => {
|
|
5362
|
+
var _excluded$I = ["items", "placeholder", "searchPlaceholder"];
|
|
5363
|
+
var ComboBoxComponent$1 = _ref => {
|
|
5332
5364
|
var {
|
|
5333
5365
|
items,
|
|
5334
5366
|
placeholder,
|
|
5335
5367
|
searchPlaceholder
|
|
5336
5368
|
} = _ref,
|
|
5337
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
5369
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$I);
|
|
5338
5370
|
var formProps = useFormikInput(props);
|
|
5339
5371
|
var ComboBoxStates = useComboBoxState(items, placeholder, searchPlaceholder);
|
|
5340
5372
|
// Ensure the onChange function from formProps is being called when an item is selected
|
|
@@ -5348,7 +5380,7 @@
|
|
|
5348
5380
|
/**
|
|
5349
5381
|
* ComboBox allows users to select one or more options from a list of choices.
|
|
5350
5382
|
*/
|
|
5351
|
-
var FormikComboBox = ComboBoxComponent;
|
|
5383
|
+
var FormikComboBox = ComboBoxComponent$1;
|
|
5352
5384
|
|
|
5353
5385
|
// Create your store with the initial state and actions.
|
|
5354
5386
|
var useMessageStore = /*#__PURE__*/zustand.create(set => ({
|
|
@@ -5703,7 +5735,7 @@
|
|
|
5703
5735
|
xl: 28
|
|
5704
5736
|
};
|
|
5705
5737
|
|
|
5706
|
-
var _excluded$
|
|
5738
|
+
var _excluded$J = ["children", "blur", "isOpen", "isClosePrevented", "onClose", "position"],
|
|
5707
5739
|
_excluded2$6 = ["children", "shadow", "isFullScreen", "shape"],
|
|
5708
5740
|
_excluded3$3 = ["children", "buttonColor", "iconSize", "buttonPosition"],
|
|
5709
5741
|
_excluded4$2 = ["children"],
|
|
@@ -5717,7 +5749,7 @@
|
|
|
5717
5749
|
onClose = () => {},
|
|
5718
5750
|
position = 'center'
|
|
5719
5751
|
} = _ref,
|
|
5720
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
5752
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$J);
|
|
5721
5753
|
var handleClick = () => {
|
|
5722
5754
|
if (!isClosePrevented) onClose();
|
|
5723
5755
|
};
|
|
@@ -6106,7 +6138,7 @@
|
|
|
6106
6138
|
pillShaped: 24
|
|
6107
6139
|
};
|
|
6108
6140
|
|
|
6109
|
-
var _excluded$
|
|
6141
|
+
var _excluded$K = ["children", "shape", "colorScheme", "variant", "isHovered", "setIsHovered", "isDisabled", "isToggle", "setIsToggled", "onToggle"];
|
|
6110
6142
|
var ToggleView = _ref => {
|
|
6111
6143
|
var {
|
|
6112
6144
|
children,
|
|
@@ -6120,7 +6152,7 @@
|
|
|
6120
6152
|
setIsToggled,
|
|
6121
6153
|
onToggle
|
|
6122
6154
|
} = _ref,
|
|
6123
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
6155
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$K);
|
|
6124
6156
|
var toggleColor = !isDisabled ? colorScheme : 'theme.disabled';
|
|
6125
6157
|
var isActive = !!(isToggle || isHovered);
|
|
6126
6158
|
var ToggleVariants = {
|
|
@@ -6162,7 +6194,7 @@
|
|
|
6162
6194
|
}, ToggleVariants[variant], props), children);
|
|
6163
6195
|
};
|
|
6164
6196
|
|
|
6165
|
-
var _excluded$
|
|
6197
|
+
var _excluded$L = ["children", "shape", "colorScheme", "variant", "isDisabled", "isToggled", "onToggle"];
|
|
6166
6198
|
// Destructuring properties from ToggleProps to be used within the ToggleComponent.
|
|
6167
6199
|
var ToggleComponent = _ref => {
|
|
6168
6200
|
var {
|
|
@@ -6175,7 +6207,7 @@
|
|
|
6175
6207
|
isToggled = false,
|
|
6176
6208
|
onToggle
|
|
6177
6209
|
} = _ref,
|
|
6178
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
6210
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$L);
|
|
6179
6211
|
// Initializing toggle state and set state functions using the custom hook useToggleState.
|
|
6180
6212
|
var {
|
|
6181
6213
|
isHovered,
|
|
@@ -6298,6 +6330,7 @@
|
|
|
6298
6330
|
exports.Button = Button;
|
|
6299
6331
|
exports.Center = Center;
|
|
6300
6332
|
exports.Checkbox = Checkbox;
|
|
6333
|
+
exports.ComboBox = ComboBox;
|
|
6301
6334
|
exports.CountryPicker = CountryPicker;
|
|
6302
6335
|
exports.DatePicker = DatePicker;
|
|
6303
6336
|
exports.FileImage = FileImage;
|