contentoh-components-library 21.3.3 → 21.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/.env.development +2 -5
  2. package/.env.production +25 -25
  3. package/dist/components/atoms/GeneralButton/index.js +6 -2
  4. package/dist/components/atoms/Select/VersionSelect.js +2 -1
  5. package/dist/components/molecules/CustomSelect/CustomSelect.stories.js +22 -21
  6. package/dist/components/molecules/CustomSelect/SelectItem.js +1 -10
  7. package/dist/components/molecules/HeaderTop/index.js +5 -10
  8. package/dist/components/molecules/HeaderTop/styles.js +1 -1
  9. package/dist/components/organisms/CreateVersion/RenderChilds.js +11 -11
  10. package/dist/components/organisms/CreateVersion/index.js +30 -89
  11. package/dist/components/organisms/OrderDetail/OrderDetail.stories.js +1 -1
  12. package/dist/components/organisms/OrderDetail/index.js +20 -11
  13. package/dist/components/organisms/OrderDetail/styles.js +1 -1
  14. package/dist/components/organisms/OrderDetail/utils/Table/styles.js +1 -1
  15. package/dist/components/organisms/OrderDetail/utils/Table/utils.js +45 -15
  16. package/dist/components/organisms/VersionSelector/index.js +28 -2
  17. package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +69 -147
  18. package/dist/components/pages/ProviderProductEdition/index.js +19 -39
  19. package/dist/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +77 -67
  20. package/dist/components/pages/RetailerProductEdition/index.js +5 -24
  21. package/dist/global-files/fonts.css +3 -15
  22. package/dist/global-files/variables.js +0 -2
  23. package/dist/index.js +46 -267
  24. package/package.json +1 -12
  25. package/src/components/atoms/GeneralButton/index.js +4 -1
  26. package/src/components/atoms/Select/VersionSelect.js +4 -2
  27. package/src/components/molecules/CustomSelect/CustomSelect.stories.js +12 -20
  28. package/src/components/molecules/CustomSelect/SelectItem.js +0 -7
  29. package/src/components/molecules/HeaderTop/index.js +6 -11
  30. package/src/components/molecules/HeaderTop/styles.js +0 -4
  31. package/src/components/organisms/CreateVersion/RenderChilds.js +28 -34
  32. package/src/components/organisms/CreateVersion/index.js +16 -36
  33. package/src/components/organisms/OrderDetail/OrderDetail.stories.js +1 -1
  34. package/src/components/organisms/OrderDetail/index.js +19 -12
  35. package/src/components/organisms/OrderDetail/styles.js +1 -0
  36. package/src/components/organisms/OrderDetail/utils/Table/styles.js +26 -0
  37. package/src/components/organisms/OrderDetail/utils/Table/utils.js +30 -15
  38. package/src/components/organisms/VersionSelector/index.js +18 -3
  39. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +75 -166
  40. package/src/components/pages/ProviderProductEdition/index.js +3 -22
  41. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +79 -67
  42. package/src/components/pages/RetailerProductEdition/index.js +2 -14
  43. package/src/global-files/customHooks.js +2 -2
  44. package/src/global-files/fonts.css +3 -15
  45. package/src/global-files/variables.js +0 -2
  46. package/src/index.js +0 -17
  47. package/dist/assets/images/customSelect/starIcon.svg +0 -14
  48. package/dist/assets/images/defaultImages/Spinner.gif +0 -0
  49. package/dist/assets/images/defaultImages/notFound.svg +0 -124
  50. package/dist/components/atoms/ButtonFileChooser/ButtonFileChooser.stories.js +0 -72
  51. package/dist/components/atoms/ButtonFileChooser/index.js +0 -118
  52. package/dist/components/atoms/ButtonFileChooser/styles.js +0 -20
  53. package/dist/components/atoms/ButtonV2/ButtonV2.stories.js +0 -66
  54. package/dist/components/atoms/ButtonV2/index.js +0 -110
  55. package/dist/components/atoms/ButtonV2/styles.js +0 -53
  56. package/dist/components/atoms/CustomIcon/CustomIcon.stories.js +0 -50
  57. package/dist/components/atoms/CustomIcon/index.js +0 -40
  58. package/dist/components/atoms/CustomIcon/styles.js +0 -33
  59. package/dist/components/atoms/IconFile/IconFile.stories.js +0 -48
  60. package/dist/components/atoms/IconFile/index.js +0 -249
  61. package/dist/components/atoms/IconFile/styles.js +0 -23
  62. package/dist/components/atoms/Image/Image.stories.js +0 -73
  63. package/dist/components/atoms/Image/index.js +0 -76
  64. package/dist/components/atoms/Image/styles.js +0 -43
  65. package/dist/components/atoms/ImageLink/ImageLink.stories.js +0 -63
  66. package/dist/components/atoms/ImageLink/index.js +0 -77
  67. package/dist/components/atoms/ImageLink/styles.js +0 -40
  68. package/dist/components/atoms/ImagePreview/ImagePreview.stories.js +0 -70
  69. package/dist/components/atoms/ImagePreview/index.js +0 -222
  70. package/dist/components/atoms/ImagePreview/styles.js +0 -44
  71. package/dist/components/atoms/InputText/InputText.stories.js +0 -60
  72. package/dist/components/atoms/InputText/index.js +0 -66
  73. package/dist/components/atoms/InputText/styles.js +0 -32
  74. package/dist/components/atoms/NotFound/NotFound.stories.js +0 -36
  75. package/dist/components/atoms/NotFound/index.js +0 -75
  76. package/dist/components/atoms/NotFound/styles.js +0 -20
  77. package/dist/components/atoms/SelectItemV2/SelectItemV2.stories.js +0 -45
  78. package/dist/components/atoms/SelectItemV2/index.js +0 -57
  79. package/dist/components/atoms/SelectItemV2/styles.js +0 -30
  80. package/dist/components/atoms/Tooltip/Tooltip.stories.js +0 -66
  81. package/dist/components/atoms/Tooltip/index.js +0 -72
  82. package/dist/components/atoms/Tooltip/styles.js +0 -20
  83. package/dist/components/molecules/ButtonDownloadFile/DownloadFile.stories.js +0 -66
  84. package/dist/components/molecules/ButtonDownloadFile/index.js +0 -179
  85. package/dist/components/molecules/ButtonDownloadFile/styles.js +0 -23
  86. package/dist/components/molecules/Dropdown/Dropdown.stories.js +0 -98
  87. package/dist/components/molecules/Dropdown/index.js +0 -150
  88. package/dist/components/molecules/Dropdown/styles.js +0 -26
  89. package/dist/components/molecules/ImageTooltip/ImageTooltip.stories.js +0 -82
  90. package/dist/components/molecules/ImageTooltip/index.js +0 -85
  91. package/dist/components/molecules/ImageTooltip/styles.js +0 -33
  92. package/dist/components/molecules/SelectV2/SelectV2.stories.js +0 -119
  93. package/dist/components/molecules/SelectV2/index.js +0 -306
  94. package/dist/components/molecules/SelectV2/styles.js +0 -42
  95. package/dist/components/molecules/SelectV2/test.js +0 -95
  96. package/dist/components/molecules/SelectV2/test.stories.js +0 -27
  97. package/dist/components/organisms/Chat/Chat.stories.js +0 -215
  98. package/dist/components/organisms/Chat/ChatLists/ChatLists.stories.js +0 -83
  99. package/dist/components/organisms/Chat/ChatLists/index.js +0 -160
  100. package/dist/components/organisms/Chat/ChatLists/styles.js +0 -29
  101. package/dist/components/organisms/Chat/ContainerItems/ContainerItems.stories.js +0 -176
  102. package/dist/components/organisms/Chat/ContainerItems/index.js +0 -569
  103. package/dist/components/organisms/Chat/ContainerItems/styles.js +0 -20
  104. package/dist/components/organisms/Chat/ContentChat/ContentChat.stories.js +0 -142
  105. package/dist/components/organisms/Chat/ContentChat/index.js +0 -1422
  106. package/dist/components/organisms/Chat/ContentChat/styles.js +0 -20
  107. package/dist/components/organisms/Chat/Footer/Footer.stories.js +0 -43
  108. package/dist/components/organisms/Chat/Footer/index.js +0 -984
  109. package/dist/components/organisms/Chat/Footer/styles.js +0 -32
  110. package/dist/components/organisms/Chat/Header/Header.stories.js +0 -96
  111. package/dist/components/organisms/Chat/Header/index.js +0 -84
  112. package/dist/components/organisms/Chat/Header/styles.js +0 -20
  113. package/dist/components/organisms/Chat/index.js +0 -327
  114. package/dist/components/organisms/Chat/styles.js +0 -29
  115. package/dist/components/organisms/Modal/Modal.stories.js +0 -66
  116. package/dist/components/organisms/Modal/index.js +0 -95
  117. package/dist/components/organisms/Modal/styles.js +0 -20
  118. package/dist/components/organisms/RangeCalendar/RangeCalendar.stories.js +0 -33
  119. package/dist/components/organisms/RangeCalendar/index.js +0 -148
  120. package/dist/components/organisms/RangeCalendar/styles.js +0 -27
  121. package/dist/global-files/handle_http.js +0 -383
  122. package/dist/global-files/utils.js +0 -484
  123. package/src/assets/images/customSelect/starIcon.svg +0 -14
  124. package/src/assets/images/defaultImages/Spinner.gif +0 -0
  125. package/src/assets/images/defaultImages/notFound.svg +0 -124
  126. package/src/components/atoms/ButtonFileChooser/ButtonFileChooser.stories.js +0 -47
  127. package/src/components/atoms/ButtonFileChooser/index.js +0 -69
  128. package/src/components/atoms/ButtonFileChooser/styles.js +0 -4
  129. package/src/components/atoms/ButtonV2/ButtonV2.stories.js +0 -53
  130. package/src/components/atoms/ButtonV2/index.js +0 -85
  131. package/src/components/atoms/ButtonV2/styles.js +0 -217
  132. package/src/components/atoms/CustomIcon/CustomIcon.stories.js +0 -36
  133. package/src/components/atoms/CustomIcon/index.js +0 -41
  134. package/src/components/atoms/CustomIcon/styles.js +0 -85
  135. package/src/components/atoms/IconFile/IconFile.stories.js +0 -35
  136. package/src/components/atoms/IconFile/index.js +0 -119
  137. package/src/components/atoms/IconFile/styles.js +0 -67
  138. package/src/components/atoms/Image/Image.stories.js +0 -51
  139. package/src/components/atoms/Image/index.js +0 -55
  140. package/src/components/atoms/Image/styles.js +0 -34
  141. package/src/components/atoms/ImageLink/ImageLink.stories.js +0 -43
  142. package/src/components/atoms/ImageLink/index.js +0 -57
  143. package/src/components/atoms/ImageLink/styles.js +0 -30
  144. package/src/components/atoms/ImagePreview/ImagePreview.stories.js +0 -52
  145. package/src/components/atoms/ImagePreview/index.js +0 -191
  146. package/src/components/atoms/ImagePreview/styles.js +0 -77
  147. package/src/components/atoms/InputText/InputText.stories.js +0 -39
  148. package/src/components/atoms/InputText/index.js +0 -61
  149. package/src/components/atoms/InputText/styles.js +0 -89
  150. package/src/components/atoms/NotFound/NotFound.stories.js +0 -19
  151. package/src/components/atoms/NotFound/index.js +0 -52
  152. package/src/components/atoms/NotFound/styles.js +0 -55
  153. package/src/components/atoms/SelectItemV2/SelectItemV2.stories.js +0 -26
  154. package/src/components/atoms/SelectItemV2/index.js +0 -61
  155. package/src/components/atoms/SelectItemV2/styles.js +0 -90
  156. package/src/components/atoms/Tooltip/Tooltip.stories.js +0 -51
  157. package/src/components/atoms/Tooltip/index.js +0 -59
  158. package/src/components/atoms/Tooltip/styles.js +0 -42
  159. package/src/components/molecules/ButtonDownloadFile/DownloadFile.stories.js +0 -54
  160. package/src/components/molecules/ButtonDownloadFile/index.js +0 -111
  161. package/src/components/molecules/ButtonDownloadFile/styles.js +0 -66
  162. package/src/components/molecules/Dropdown/Dropdown.stories.js +0 -103
  163. package/src/components/molecules/Dropdown/index.js +0 -150
  164. package/src/components/molecules/Dropdown/styles.js +0 -75
  165. package/src/components/molecules/ImageTooltip/ImageTooltip.stories.js +0 -68
  166. package/src/components/molecules/ImageTooltip/index.js +0 -63
  167. package/src/components/molecules/ImageTooltip/styles.js +0 -18
  168. package/src/components/molecules/SelectV2/SelectV2.stories.js +0 -114
  169. package/src/components/molecules/SelectV2/index.js +0 -350
  170. package/src/components/molecules/SelectV2/styles.js +0 -105
  171. package/src/components/molecules/SelectV2/test.js +0 -61
  172. package/src/components/molecules/SelectV2/test.stories.js +0 -10
  173. package/src/components/organisms/Chat/Chat.stories.js +0 -199
  174. package/src/components/organisms/Chat/ChatLists/ChatLists.stories.js +0 -65
  175. package/src/components/organisms/Chat/ChatLists/Rotoplas.jpeg +0 -0
  176. package/src/components/organisms/Chat/ChatLists/THD.png +0 -0
  177. package/src/components/organisms/Chat/ChatLists/index.js +0 -141
  178. package/src/components/organisms/Chat/ChatLists/styles.js +0 -162
  179. package/src/components/organisms/Chat/ContainerItems/ContainerItems.stories.js +0 -142
  180. package/src/components/organisms/Chat/ContainerItems/index.js +0 -549
  181. package/src/components/organisms/Chat/ContainerItems/styles.js +0 -328
  182. package/src/components/organisms/Chat/ContentChat/ContentChat.stories.js +0 -102
  183. package/src/components/organisms/Chat/ContentChat/Rotoplas.jpeg +0 -0
  184. package/src/components/organisms/Chat/ContentChat/THD.png +0 -0
  185. package/src/components/organisms/Chat/ContentChat/index.js +0 -900
  186. package/src/components/organisms/Chat/ContentChat/styles.js +0 -41
  187. package/src/components/organisms/Chat/Footer/Footer.stories.js +0 -22
  188. package/src/components/organisms/Chat/Footer/index.js +0 -669
  189. package/src/components/organisms/Chat/Footer/styles.js +0 -286
  190. package/src/components/organisms/Chat/Header/Header.stories.js +0 -66
  191. package/src/components/organisms/Chat/Header/index.js +0 -94
  192. package/src/components/organisms/Chat/Header/styles.js +0 -49
  193. package/src/components/organisms/Chat/index.js +0 -294
  194. package/src/components/organisms/Chat/styles.js +0 -42
  195. package/src/components/organisms/Modal/Modal.stories.js +0 -55
  196. package/src/components/organisms/Modal/index.js +0 -97
  197. package/src/components/organisms/Modal/styles.js +0 -103
  198. package/src/components/organisms/RangeCalendar/RangeCalendar.stories.js +0 -16
  199. package/src/components/organisms/RangeCalendar/index.js +0 -121
  200. package/src/components/organisms/RangeCalendar/styles.js +0 -883
  201. package/src/global-files/handle_http.js +0 -231
  202. package/src/global-files/utils.js +0 -309
@@ -1,350 +0,0 @@
1
- import { useEffect, useRef, useState } from "react";
2
- import {
3
- ClickAwayListener,
4
- Fade,
5
- Grow,
6
- Popper,
7
- Tooltip as TooltipMUI,
8
- Zoom,
9
- } from "@mui/material";
10
- import { Container, ContainerSelect } from "./styles";
11
- import React from "react";
12
- import { ButtonV2 } from "../../atoms/ButtonV2";
13
- import {
14
- faCaretDown as IconDownArrow,
15
- faSearch as IconSearch,
16
- } from "@fortawesome/free-solid-svg-icons";
17
- import {
18
- isArrayEmpty,
19
- isObject,
20
- isStringEmpty,
21
- } from "../../../global-files/utils";
22
- import { SelectItemV2 } from "../../atoms/SelectItemV2";
23
- import { InputText } from "../../atoms/InputText";
24
-
25
- export const SelectV2 = (props) => {
26
- const {
27
- items /* [
28
- {
29
- label: string,
30
- value: string | number,
31
- } ,
32
- ...
33
- ] */,
34
- initialSelectedItems, // { value: null , ... } -> value = string | number
35
- triggerType, // (string) "hover" | "click"
36
- selectButton /* {
37
- className: string,
38
- type: (string) tipos validos de ButtonV2,
39
- transparent: boolean,
40
- disabled: boolean,
41
- label: string ,
42
- size: number ,
43
- } */,
44
- defaultItem /* {
45
- label: string,
46
- itemType: (string) "checkbox" | "marginCheckbox" | "labelOnly"
47
- showLabelInSelect: boolean, cuando esta seleccionado ver label en el btnSelect??
48
- } */,
49
- inputSearch /* {
50
- className: string,
51
- defaultText: string ,
52
- } */,
53
- maxWidthSelect, // string
54
- maxWidthDropdown, // string
55
- maxHeightDropdown, // string
56
- maxWidthItems, // string
57
- alignmentItemsOverflow, // (string) "columns" | "rows" -> por default "rows"
58
- typeSelectItems, // (string) "checkbox" | "marginCheckbox" | "labelOnly"
59
- multiple, // (boolean) se permite multiple seleccion??
60
- borderType, // (string) "rectangle" | "oval" -> por default oval
61
- classNameSelect, // (string) clase del container select
62
- classNameDropdown, // (string) clase del contenedor tooltip
63
- positionDropdown, // (string) posicion del contenedor tooltip (values en object positions)
64
- onChange, // (selectedItems: {}) = {} obj con los values de los items seleccionados
65
- } = props;
66
- const positions = {
67
- topStart: "top-start",
68
- topEnd: "top-end",
69
- topCenter: "top",
70
-
71
- rightStart: "right-start",
72
- rightEnd: "right-end",
73
- rightCenter: "right",
74
-
75
- bottomStart: "bottom-start",
76
- bottomEnd: "bottom-end",
77
- bottomCenter: "bottom",
78
-
79
- leftStart: "left-start",
80
- leftEnd: "left-end",
81
- leftCenter: "left",
82
- };
83
- const [selectedItems, setSelectedItems] = useState(); // { .. }
84
- const [customItems, setCustomItems] = useState([]);
85
- const [showDropdown, setShowDropdown] = useState(false);
86
- const [labelSelect, setLabelSelect] = useState("Sin titulo");
87
- const [textInputSearch, setTextInputSearch] = useState("");
88
-
89
- const refInputTextSearch = useRef();
90
-
91
- // cada que cambie la lista de items
92
- useEffect(() => {
93
- if (isArrayEmpty(items) || !isObject(initialSelectedItems)) {
94
- setSelectedItems({});
95
- renderItems();
96
- renderLabelSelect();
97
- return;
98
- }
99
- // items iniciales seleccionados
100
- if (!multiple) {
101
- const values = Object.keys(initialSelectedItems);
102
- if (values.length) setSelectedItems({ [values[0]]: null });
103
- else setSelectedItems({});
104
- } else {
105
- setSelectedItems(initialSelectedItems);
106
- }
107
- renderItems();
108
- renderLabelSelect();
109
- }, [items]);
110
-
111
- // cada que cambien los items seleccionados
112
- useEffect(() => {
113
- if (!isObject(selectedItems)) return;
114
- renderItems();
115
- renderLabelSelect();
116
- }, [selectedItems]);
117
-
118
- // evento click de cada item de la lista
119
- const onClickItem = (isSelected, value) => {
120
- let selectedItemsCopy = { ...selectedItems };
121
- if (isSelected) {
122
- multiple
123
- ? (selectedItemsCopy[value] = null)
124
- : (selectedItemsCopy = { [value]: null });
125
- } else delete selectedItemsCopy[value];
126
- setSelectedItems(selectedItemsCopy);
127
- onChange && onChange(selectedItemsCopy);
128
- };
129
-
130
- const onClickSearch = () => {
131
- setTextInputSearch(textInputSearch.trim());
132
- refInputTextSearch?.current && refInputTextSearch.current.blur();
133
- renderItems(textInputSearch.trim());
134
- };
135
-
136
- const renderLabelSelect = () => {
137
- if (!isObject(selectedItems)) return;
138
- const selectedItemsCopy = Object.keys(selectedItems);
139
- if (selectedItemsCopy.length > 1) {
140
- setLabelSelect("Personalizado");
141
- } else if (selectedItemsCopy.length === 1) {
142
- let labelItem = undefined;
143
- for (const item of items) {
144
- if (item.value == selectedItemsCopy[0]) {
145
- labelItem = item.label;
146
- break;
147
- }
148
- }
149
- !isStringEmpty(labelItem)
150
- ? setLabelSelect(labelItem)
151
- : setLabelSelect("Sin titulo");
152
- } else {
153
- if (
154
- !isStringEmpty(defaultItem?.label) &&
155
- defaultItem?.showLabelInSelect
156
- ) {
157
- setLabelSelect(defaultItem.label);
158
- } else if (!isStringEmpty(selectButton?.label)) {
159
- setLabelSelect(selectButton.label);
160
- } else {
161
- setLabelSelect("Sin titulo");
162
- }
163
- }
164
- };
165
-
166
- const renderItems = (textSearch = "") => {
167
- if (isArrayEmpty(items)) setCustomItems([]);
168
- setCustomItems(
169
- items.map((item, index) => {
170
- if (
171
- !isStringEmpty(textSearch) &&
172
- !item.label
173
- .trim()
174
- .toLowerCase()
175
- .includes(textSearch.trim().toLowerCase())
176
- ) {
177
- return null;
178
- }
179
- return (
180
- <SelectItemV2
181
- key={classNameSelect + "_item" + index}
182
- label={item.label}
183
- value={item.value}
184
- checkbox={
185
- typeSelectItems === "checkbox"
186
- ? true
187
- : typeSelectItems === "marginCheckbox"
188
- ? false
189
- : undefined
190
- }
191
- selected={
192
- isObject(selectedItems) && selectedItems[item.value] !== undefined
193
- ? true
194
- : false
195
- }
196
- onClick={onClickItem}
197
- />
198
- );
199
- })
200
- );
201
- };
202
-
203
- return (
204
- <ClickAwayListener
205
- onClickAway={(event) => {
206
- if (triggerType !== "hover") setShowDropdown(false);
207
- }}
208
- >
209
- <Container
210
- className={!isStringEmpty(classNameSelect) ? classNameSelect : ""}
211
- borderType={borderType}
212
- maxWidthSelect={maxWidthSelect}
213
- >
214
- <TooltipMUI
215
- placement={positions[positionDropdown] ?? positions.bottomCenter}
216
- open={triggerType !== "hover" ? showDropdown : undefined}
217
- arrow={false}
218
- componentsProps={{
219
- tooltip: {
220
- className:
221
- "dropdownSelect" +
222
- (isStringEmpty(classNameDropdown)
223
- ? ""
224
- : " " + classNameDropdown),
225
- },
226
- popper: { disablePortal: true },
227
- transition: { timeout: 300 },
228
- }}
229
- TransitionComponent={Fade}
230
- enterDelay={100}
231
- followCursor={false}
232
- disableFocusListener
233
- disableTouchListener
234
- disableHoverListener={
235
- triggerType !== "hover" || selectButton?.disabled
236
- }
237
- title={
238
- <>
239
- {/* input search */}
240
- {inputSearch && (
241
- <div
242
- className={
243
- "container-inputSearch" +
244
- (!isStringEmpty(inputSearch?.className)
245
- ? " " + inputSearch.className
246
- : "")
247
- }
248
- >
249
- <ButtonV2
250
- className="buttonSearch"
251
- type={"gray"}
252
- transparent
253
- size={14}
254
- icon={IconSearch}
255
- onClick={(event) => {
256
- if (
257
- isStringEmpty(textInputSearch) &&
258
- refInputTextSearch?.current
259
- ) {
260
- setTextInputSearch("");
261
- refInputTextSearch.current.focus();
262
- } else {
263
- onClickSearch();
264
- }
265
- }}
266
- />
267
-
268
- <InputText
269
- className="inputSearch"
270
- type="black"
271
- transparent
272
- size={12}
273
- placeHolder={
274
- isStringEmpty(inputSearch?.defaultText)
275
- ? "Texto a buscar"
276
- : inputSearch.defaultText
277
- }
278
- text={textInputSearch}
279
- onChangeText={(newValue) => setTextInputSearch(newValue)}
280
- onEnter={(event) => onClickSearch()}
281
- refInputText={refInputTextSearch}
282
- />
283
- </div>
284
- )}
285
-
286
- {/* item por default */}
287
- {defaultItem && (
288
- <SelectItemV2
289
- label={defaultItem.label}
290
- value={null}
291
- checkbox={
292
- defaultItem.itemType === "checkbox"
293
- ? true
294
- : defaultItem.itemType === "marginCheckbox"
295
- ? false
296
- : undefined
297
- }
298
- selected={
299
- isObject(selectedItems) && Object.keys(selectedItems).length
300
- ? false
301
- : true
302
- }
303
- onClick={(isSelected, value) => {
304
- if (
305
- isObject(selectedItems) &&
306
- Object.keys(selectedItems).length
307
- ) {
308
- setSelectedItems({});
309
- onChange && onChange({});
310
- }
311
- }}
312
- />
313
- )}
314
-
315
- {/* lista de items */}
316
- <div className="container-items">{customItems}</div>
317
- </>
318
- }
319
- >
320
- <ContainerSelect
321
- className={"container-buttonSelect"}
322
- maxWidthDropdown={maxWidthDropdown}
323
- maxHeightDropdown={maxHeightDropdown}
324
- alignmentItemsOverflow={alignmentItemsOverflow}
325
- maxWidthItems={maxWidthItems}
326
- >
327
- <ButtonV2
328
- className={
329
- "buttonSelect" +
330
- (!isStringEmpty(selectButton?.className)
331
- ? " " + selectButton.className
332
- : "")
333
- }
334
- disabled={selectButton?.disabled}
335
- type={selectButton?.type}
336
- transparent={selectButton?.transparent}
337
- label={labelSelect}
338
- size={selectButton?.size}
339
- icon={IconDownArrow}
340
- iconPosition="end"
341
- onClick={(event) => {
342
- if (triggerType !== "hover") setShowDropdown((prev) => !prev);
343
- }}
344
- />
345
- </ContainerSelect>
346
- </TooltipMUI>
347
- </Container>
348
- </ClickAwayListener>
349
- );
350
- };
@@ -1,105 +0,0 @@
1
- import { FontFamily } from "../../../global-files/variables";
2
- import styled from "styled-components";
3
-
4
- export const Container = styled.div`
5
- width: fit-content;
6
- max-width: ${({ maxWidthSelect }) =>
7
- maxWidthSelect ? maxWidthSelect : "unset"};
8
- //border: 1px solid red;
9
- border-radius: ${({ borderType }) => {
10
- return borderType?.toLowerCase() === "rectangle"
11
- ? "6px"
12
- : borderType?.toLowerCase() === "oval"
13
- ? "17px"
14
- : "0px"; // default none
15
- }};
16
- `;
17
-
18
- export const ContainerSelect = styled.div`
19
- width: 100%;
20
- border-radius: inherit;
21
-
22
- .buttonSelect {
23
- width: 100%;
24
- border-radius: inherit;
25
-
26
- .button {
27
- padding: 10px 16px;
28
- gap: 10px;
29
- .icon {
30
- font-size: 13px;
31
- }
32
- }
33
- }
34
-
35
- + .MuiTooltip-popper {
36
- background-color: transparent;
37
-
38
- .dropdownSelect {
39
- --background: white;
40
- box-shadow: 0px 0px 10px 1px gray;
41
- background-color: var(--background);
42
- padding: 0px 0px;
43
- border-radius: 7px;
44
- display: flex;
45
- flex-direction: column;
46
- gap: 0px;
47
- overflow: hidden;
48
- max-width: ${({ maxWidthDropdown }) =>
49
- maxWidthDropdown ? maxWidthDropdown : "400px"};
50
- max-height: ${({ maxHeightDropdown }) =>
51
- maxHeightDropdown ? maxHeightDropdown : "80vh"};
52
-
53
- .container-inputSearch {
54
- width: 100%;
55
- display: flex;
56
- flex-direction: row;
57
- flex-wrap: nowrap;
58
- align-items: center;
59
- gap: 0px;
60
- padding: 0px 10px 8px 10px;
61
- border-bottom: 1px solid #f0f0f0;
62
-
63
- .inputSearch {
64
- padding-left: 8px;
65
- flex-grow: 2;
66
- }
67
- }
68
-
69
- .selectItemV2 {
70
- width: 100%;
71
-
72
- .button {
73
- justify-content: flex-start;
74
- }
75
- }
76
-
77
- .container-items {
78
- flex-grow: 2;
79
- display: flex;
80
- flex-direction: column;
81
- flex-wrap: ${({ alignmentItemsOverflow }) =>
82
- alignmentItemsOverflow === "columns" ? "wrap" : "nowrap"};
83
- overflow: auto;
84
-
85
- .selectItemV2 {
86
- width: ${({ maxWidthItems }) =>
87
- maxWidthItems ? maxWidthItems : "100%"};
88
- }
89
- }
90
- }
91
-
92
- &[data-popper-placement*="bottom"] .dropdownSelect {
93
- margin-top: 10px;
94
- }
95
- &[data-popper-placement*="top"] .dropdownSelect {
96
- margin-bottom: 10px;
97
- }
98
- &[data-popper-placement*="left"] .dropdownSelect {
99
- margin-right: 10px;
100
- }
101
- &[data-popper-placement*="right"] .dropdownSelect {
102
- margin-left: 10px;
103
- }
104
- }
105
- `;
@@ -1,61 +0,0 @@
1
- import { useEffect, useState } from "react";
2
- import { SelectV2 } from ".";
3
-
4
- export const TestSelectV2 = () => {
5
- const [items, setItems] = useState([
6
- { label: "item 1", value: 1 },
7
- { label: "item 2", value: 2 },
8
- { label: "item 3", value: 3 },
9
- { label: "item 4", value: 4 },
10
- ]);
11
- const [selected, setSelected] = useState({
12
- 2: null,
13
- 4: null,
14
- });
15
-
16
- return (
17
- <>
18
- <SelectV2
19
- items={items}
20
- initialSelectedItems={undefined}
21
- triggerType={"hover"}
22
- selectButton={{
23
- type: "whiteS3",
24
- transparent: true,
25
- disabled: false,
26
- label: "Prueba select",
27
- size: 12,
28
- }}
29
- defaultItem={{
30
- label: "default opcion",
31
- itemType: "labelOnly",
32
- showLabelInSelect: true,
33
- }}
34
- inputSearch={{
35
- defaultText: "Buscar",
36
- }}
37
- typeSelectItems={"checkbox"}
38
- multiple={false}
39
- borderType={"oval"}
40
- onChange={(selectedItems) => {
41
- console.log("onChange:", selectedItems);
42
- setSelected(selectedItems);
43
- }}
44
- />
45
-
46
- <button
47
- onClick={(event) => {
48
- setItems([
49
- { label: "item 1", value: 1 },
50
- { label: "item 2", value: 2 },
51
- { label: "item 3", value: 3 },
52
- { label: "item 4", value: 4 },
53
- { label: "item 5", value: 5 },
54
- ]);
55
- }}
56
- >
57
- Refresh lista
58
- </button>
59
- </>
60
- );
61
- };
@@ -1,10 +0,0 @@
1
- import { TestSelectV2 } from "./test";
2
-
3
- export default {
4
- title: "Components/molecules/SelectV2/TestSelectV2",
5
- component: TestSelectV2,
6
- };
7
-
8
- const Template = (args) => <TestSelectV2 {...args} />;
9
-
10
- export const Test = Template.bind({});