contentoh-components-library 21.2.102 → 21.2.104

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 (192) 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 +2 -22
  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 +0 -12
  22. package/dist/global-files/variables.js +0 -2
  23. package/dist/index.js +46 -254
  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 +30 -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 +2 -21
  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 +0 -12
  45. package/src/global-files/variables.js +0 -2
  46. package/src/index.js +0 -16
  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 -111
  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 -46
  79. package/dist/components/atoms/SelectItemV2/styles.js +0 -23
  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 -96
  87. package/dist/components/molecules/Dropdown/index.js +0 -148
  88. package/dist/components/molecules/Dropdown/styles.js +0 -26
  89. package/dist/components/molecules/ImageTooltip/ImageTooltip.stories.js +0 -72
  90. package/dist/components/molecules/ImageTooltip/index.js +0 -84
  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 -298
  94. package/dist/components/molecules/SelectV2/styles.js +0 -42
  95. package/dist/components/organisms/Chat/Chat.stories.js +0 -215
  96. package/dist/components/organisms/Chat/ChatLists/ChatLists.stories.js +0 -83
  97. package/dist/components/organisms/Chat/ChatLists/index.js +0 -160
  98. package/dist/components/organisms/Chat/ChatLists/styles.js +0 -29
  99. package/dist/components/organisms/Chat/ContainerItems/ContainerItems.stories.js +0 -176
  100. package/dist/components/organisms/Chat/ContainerItems/index.js +0 -569
  101. package/dist/components/organisms/Chat/ContainerItems/styles.js +0 -20
  102. package/dist/components/organisms/Chat/ContentChat/ContentChat.stories.js +0 -142
  103. package/dist/components/organisms/Chat/ContentChat/index.js +0 -1422
  104. package/dist/components/organisms/Chat/ContentChat/styles.js +0 -20
  105. package/dist/components/organisms/Chat/Footer/Footer.stories.js +0 -43
  106. package/dist/components/organisms/Chat/Footer/index.js +0 -984
  107. package/dist/components/organisms/Chat/Footer/styles.js +0 -32
  108. package/dist/components/organisms/Chat/Header/Header.stories.js +0 -96
  109. package/dist/components/organisms/Chat/Header/index.js +0 -84
  110. package/dist/components/organisms/Chat/Header/styles.js +0 -20
  111. package/dist/components/organisms/Chat/index.js +0 -327
  112. package/dist/components/organisms/Chat/styles.js +0 -29
  113. package/dist/components/organisms/Modal/Modal.stories.js +0 -66
  114. package/dist/components/organisms/Modal/index.js +0 -95
  115. package/dist/components/organisms/Modal/styles.js +0 -20
  116. package/dist/global-files/handle_http.js +0 -383
  117. package/dist/global-files/utils.js +0 -472
  118. package/src/assets/images/customSelect/starIcon.svg +0 -14
  119. package/src/assets/images/defaultImages/Spinner.gif +0 -0
  120. package/src/assets/images/defaultImages/notFound.svg +0 -124
  121. package/src/components/atoms/ButtonFileChooser/ButtonFileChooser.stories.js +0 -47
  122. package/src/components/atoms/ButtonFileChooser/index.js +0 -69
  123. package/src/components/atoms/ButtonFileChooser/styles.js +0 -4
  124. package/src/components/atoms/ButtonV2/ButtonV2.stories.js +0 -51
  125. package/src/components/atoms/ButtonV2/index.js +0 -79
  126. package/src/components/atoms/ButtonV2/styles.js +0 -195
  127. package/src/components/atoms/CustomIcon/CustomIcon.stories.js +0 -36
  128. package/src/components/atoms/CustomIcon/index.js +0 -41
  129. package/src/components/atoms/CustomIcon/styles.js +0 -85
  130. package/src/components/atoms/IconFile/IconFile.stories.js +0 -35
  131. package/src/components/atoms/IconFile/index.js +0 -119
  132. package/src/components/atoms/IconFile/styles.js +0 -67
  133. package/src/components/atoms/Image/Image.stories.js +0 -51
  134. package/src/components/atoms/Image/index.js +0 -55
  135. package/src/components/atoms/Image/styles.js +0 -34
  136. package/src/components/atoms/ImageLink/ImageLink.stories.js +0 -43
  137. package/src/components/atoms/ImageLink/index.js +0 -57
  138. package/src/components/atoms/ImageLink/styles.js +0 -30
  139. package/src/components/atoms/ImagePreview/ImagePreview.stories.js +0 -52
  140. package/src/components/atoms/ImagePreview/index.js +0 -191
  141. package/src/components/atoms/ImagePreview/styles.js +0 -77
  142. package/src/components/atoms/InputText/InputText.stories.js +0 -39
  143. package/src/components/atoms/InputText/index.js +0 -61
  144. package/src/components/atoms/InputText/styles.js +0 -89
  145. package/src/components/atoms/NotFound/NotFound.stories.js +0 -19
  146. package/src/components/atoms/NotFound/index.js +0 -52
  147. package/src/components/atoms/NotFound/styles.js +0 -55
  148. package/src/components/atoms/SelectItemV2/SelectItemV2.stories.js +0 -26
  149. package/src/components/atoms/SelectItemV2/index.js +0 -45
  150. package/src/components/atoms/SelectItemV2/styles.js +0 -55
  151. package/src/components/atoms/Tooltip/Tooltip.stories.js +0 -51
  152. package/src/components/atoms/Tooltip/index.js +0 -59
  153. package/src/components/atoms/Tooltip/styles.js +0 -42
  154. package/src/components/molecules/ButtonDownloadFile/DownloadFile.stories.js +0 -54
  155. package/src/components/molecules/ButtonDownloadFile/index.js +0 -111
  156. package/src/components/molecules/ButtonDownloadFile/styles.js +0 -66
  157. package/src/components/molecules/Dropdown/Dropdown.stories.js +0 -101
  158. package/src/components/molecules/Dropdown/index.js +0 -142
  159. package/src/components/molecules/Dropdown/styles.js +0 -75
  160. package/src/components/molecules/ImageTooltip/ImageTooltip.stories.js +0 -46
  161. package/src/components/molecules/ImageTooltip/index.js +0 -62
  162. package/src/components/molecules/ImageTooltip/styles.js +0 -18
  163. package/src/components/molecules/SelectV2/SelectV2.stories.js +0 -114
  164. package/src/components/molecules/SelectV2/index.js +0 -332
  165. package/src/components/molecules/SelectV2/styles.js +0 -100
  166. package/src/components/organisms/Chat/Chat.stories.js +0 -199
  167. package/src/components/organisms/Chat/ChatLists/ChatLists.stories.js +0 -65
  168. package/src/components/organisms/Chat/ChatLists/Rotoplas.jpeg +0 -0
  169. package/src/components/organisms/Chat/ChatLists/THD.png +0 -0
  170. package/src/components/organisms/Chat/ChatLists/index.js +0 -141
  171. package/src/components/organisms/Chat/ChatLists/styles.js +0 -162
  172. package/src/components/organisms/Chat/ContainerItems/ContainerItems.stories.js +0 -142
  173. package/src/components/organisms/Chat/ContainerItems/index.js +0 -549
  174. package/src/components/organisms/Chat/ContainerItems/styles.js +0 -328
  175. package/src/components/organisms/Chat/ContentChat/ContentChat.stories.js +0 -102
  176. package/src/components/organisms/Chat/ContentChat/Rotoplas.jpeg +0 -0
  177. package/src/components/organisms/Chat/ContentChat/THD.png +0 -0
  178. package/src/components/organisms/Chat/ContentChat/index.js +0 -900
  179. package/src/components/organisms/Chat/ContentChat/styles.js +0 -41
  180. package/src/components/organisms/Chat/Footer/Footer.stories.js +0 -22
  181. package/src/components/organisms/Chat/Footer/index.js +0 -669
  182. package/src/components/organisms/Chat/Footer/styles.js +0 -286
  183. package/src/components/organisms/Chat/Header/Header.stories.js +0 -66
  184. package/src/components/organisms/Chat/Header/index.js +0 -94
  185. package/src/components/organisms/Chat/Header/styles.js +0 -49
  186. package/src/components/organisms/Chat/index.js +0 -294
  187. package/src/components/organisms/Chat/styles.js +0 -42
  188. package/src/components/organisms/Modal/Modal.stories.js +0 -55
  189. package/src/components/organisms/Modal/index.js +0 -97
  190. package/src/components/organisms/Modal/styles.js +0 -103
  191. package/src/global-files/handle_http.js +0 -231
  192. package/src/global-files/utils.js +0 -300
@@ -1,55 +0,0 @@
1
- import styled from "styled-components";
2
- import { GlobalColors, FontFamily } from "../../../global-files/variables";
3
-
4
- export const Container = styled.div`
5
- width: fit-content;
6
- display: flex;
7
- flex-direction: row;
8
- flex-wrap: nowrap;
9
- gap: 11px;
10
- justify-content: flex-start;
11
- align-items: center;
12
- cursor: pointer;
13
- padding: 8px;
14
- transition: background 0.25s;
15
- //border: 1px solid lightgray;
16
-
17
- &:hover {
18
- background-color: #f0f0f0;
19
- }
20
-
21
- .checkbox {
22
- padding: 3px;
23
-
24
- &.hidden {
25
- visibility: hidden;
26
- }
27
-
28
- &.Mui-checked {
29
- color: #808080;
30
- }
31
-
32
- .MuiSvgIcon-root {
33
- font-size: 16px;
34
- }
35
- }
36
-
37
- .label {
38
- cursor: inherit;
39
- font-family: ${FontFamily.RobotoRegular}, sans-serif;
40
- font-size: 12px;
41
- text-align: left;
42
- color: #262626;
43
- line-height: 1.25;
44
- padding: ${({ checkbox }) => (checkbox === undefined ? "3" : "0")}px;
45
- }
46
-
47
- // para item sin checkbox seleccionado
48
- &.selectedItem {
49
- background-color: #8e8e8e;
50
- .label {
51
- font-family: ${FontFamily.RobotoMedium}, sans-serif;
52
- color: white;
53
- }
54
- }
55
- `;
@@ -1,51 +0,0 @@
1
- import { Tooltip } from "./index";
2
-
3
- export default {
4
- title: "Components/atoms/Tooltip",
5
- component: Tooltip,
6
- argTypes: {
7
- position: {
8
- options: [
9
- undefined,
10
- "topStart",
11
- "topEnd",
12
- "topCenter",
13
- "rightStart",
14
- "rightEnd",
15
- "rightCenter",
16
- "bottomStart",
17
- "bottomEnd",
18
- "bottomCenter",
19
- "leftStart",
20
- "leftEnd",
21
- "leftCenter",
22
- ],
23
- control: { type: "select" },
24
- },
25
- addArrow: {
26
- options: [undefined, false, true],
27
- control: { type: "select" },
28
- },
29
- transitionType: {
30
- options: [undefined, "grow", "fade", "zoom"],
31
- control: { type: "select" },
32
- },
33
- followCursor: {
34
- options: [undefined, false, true],
35
- control: { type: "select" },
36
- },
37
- },
38
- };
39
-
40
- const Template = (args) => <Tooltip {...args} />;
41
-
42
- export const TooltipDefault = Template.bind({});
43
- TooltipDefault.args = {
44
- componentTooltip: <p> hola soy tooltip de prueba en storybook </p>,
45
- children: <button> abrir tooltip </button>,
46
- classNameTooltip: "container-tooltip",
47
- position: undefined,
48
- addArrow: undefined,
49
- transitionType: undefined,
50
- followCursor: undefined,
51
- };
@@ -1,59 +0,0 @@
1
- import { useEffect, useRef, useState } from "react";
2
- import { Fade, Grow, Popper, Tooltip as TooltipMUI, Zoom } from "@mui/material";
3
- import { Container } from "./styles";
4
- import React from "react";
5
-
6
- export const Tooltip = (props) => {
7
- const {
8
- componentTooltip, // (jsx) componente que aparecera en el tooltip
9
- children, // (jsx) componente interno que va dentro de la etiqueta <Tooltip>
10
- className, // (string) clase del container trigger
11
- classNameTooltip, // (string) clase del contenedor tooltip
12
- position, // (string) posicion del contenedor tooltip (values en object positions)
13
- addArrow, // (boolean) add flecha en la parte posterior del tooltip?
14
- transitionType, // (string) -> 'grow' (default) | 'fade' | 'zoom'
15
- followCursor, // (boolean) true -> el tooltip se movera junto al cursor
16
- } = props;
17
- const positions = {
18
- topStart: "top-start",
19
- topEnd: "top-end",
20
- topCenter: "top",
21
-
22
- rightStart: "right-start",
23
- rightEnd: "right-end",
24
- rightCenter: "right",
25
-
26
- bottomStart: "bottom-start",
27
- bottomEnd: "bottom-end",
28
- bottomCenter: "bottom",
29
-
30
- leftStart: "left-start",
31
- leftEnd: "left-end",
32
- leftCenter: "left",
33
- };
34
-
35
- return (
36
- <TooltipMUI
37
- {...props}
38
- placement={positions[position] ?? positions.topCenter}
39
- arrow={addArrow || addArrow === undefined ? true : false}
40
- componentsProps={{
41
- tooltip: { className: classNameTooltip },
42
- popper: { disablePortal: true },
43
- transition: { timeout: 300 },
44
- }}
45
- TransitionComponent={
46
- transitionType === "grow"
47
- ? Grow
48
- : transitionType === "fade"
49
- ? Fade
50
- : Zoom
51
- }
52
- enterDelay={300}
53
- followCursor={followCursor ?? false}
54
- title={componentTooltip}
55
- >
56
- <Container className={className}> {children} </Container>
57
- </TooltipMUI>
58
- );
59
- };
@@ -1,42 +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
- //margin: 100px 0px 0px 100px; modo dev
7
- //border: 1px solid red; modo dev
8
-
9
- + .MuiTooltip-popper {
10
- background-color: transparent;
11
-
12
- .MuiTooltip-tooltip {
13
- --background: white;
14
- box-shadow: 0px 0px 10px 1px gray;
15
- background-color: var(--background);
16
- padding: 10px;
17
- border-radius: 7px;
18
- max-width: 60vw;
19
- font-family: ${FontFamily.RobotoMedium}, sans-serif;
20
- font-size: 12px;
21
- text-align: left;
22
- color: #262626;
23
-
24
- .MuiTooltip-arrow {
25
- color: var(--background);
26
- }
27
- }
28
-
29
- &[data-popper-placement*="bottom"] .MuiTooltip-tooltip {
30
- margin-top: 10px;
31
- }
32
- &[data-popper-placement*="top"] .MuiTooltip-tooltip {
33
- margin-bottom: 10px;
34
- }
35
- &[data-popper-placement*="left"] .MuiTooltip-tooltip {
36
- margin-right: 10px;
37
- }
38
- &[data-popper-placement*="right"] .MuiTooltip-tooltip {
39
- margin-left: 10px;
40
- }
41
- }
42
- `;
@@ -1,54 +0,0 @@
1
- import { ButtonDownloadFile } from "./index";
2
- export default {
3
- title: "Components/molecules/ButtonDownloadFile",
4
- component: ButtonDownloadFile,
5
- argTypes: {
6
- type: {
7
- options: [
8
- undefined,
9
- "white",
10
- "whiteS2",
11
- "pink",
12
- "gray",
13
- "purple",
14
- "black",
15
- ],
16
- control: { type: "select" },
17
- },
18
- borderType: {
19
- options: [undefined, "rectangle", "circle"],
20
- control: { type: "select" },
21
- },
22
- },
23
- };
24
-
25
- const Template = (args) => <ButtonDownloadFile {...args} />;
26
-
27
- export const DownloadFileOk = Template.bind({});
28
- DownloadFileOk.args = {
29
- type: undefined,
30
- transparent: false,
31
- borderType: undefined,
32
- size: "70",
33
- onDownload: (error) => {
34
- error &&
35
- alert("mensaje: " + error.message + "\nDetalles: " + error.details);
36
- },
37
- url: `https://content-management-images.s3.amazonaws.com/84300/1/chat/acuse RFC-8b2eb177-5bfc-4266-9b26-4e7297880594-9e2e5853-4697-442a-8ff7-3b7a1ede0856.pdf`,
38
- };
39
-
40
- export const DownloadFileError = Template.bind({});
41
- DownloadFileError.args = {
42
- id: "",
43
- key: "",
44
- color: undefined,
45
- background: undefined,
46
- borderType: "circle",
47
- size: "70",
48
- width: "100px",
49
- onDownload: (error) => {
50
- error &&
51
- alert("mensaje: " + error.message + "\nDetalles: " + error.details);
52
- },
53
- url: `https://content-management-images.s3.amazonaws.com/84300/1/chat/noExiste.pdf`,
54
- };
@@ -1,111 +0,0 @@
1
- import { Container } from "./styles";
2
- import { faArrowDown as IconDownload } from "@fortawesome/free-solid-svg-icons";
3
- import { useState } from "react";
4
- import { ButtonV2 } from "../../atoms/ButtonV2";
5
- import { IconFile } from "../../atoms/IconFile";
6
- import axios from "axios";
7
- import { getFileExtension } from "../../../global-files/utils";
8
-
9
- export const ButtonDownloadFile = (props) => {
10
- const {
11
- id,
12
- key,
13
- className,
14
- type, // white | pink | gray | purple (white -> predeterminado)
15
- transparent, // boolean
16
- size, // number ... default (13)
17
- borderType, // rectangle || circle || (cualquier otro valor -> no borde)
18
- url, // src del file
19
- onDownload, // ( {message , details} ) => {}
20
- } = props;
21
- const [showDownload, setShowDownload] = useState(false);
22
- const [loading, setLoading] = useState(false);
23
-
24
- const getSrc = () => {
25
- const temp = url.split("/");
26
- return temp[temp.length - 1];
27
- };
28
-
29
- const getFile = async () => {
30
- try {
31
- setLoading(true);
32
- const responseFile = await axios({
33
- url: url,
34
- method: "GET",
35
- responseType: "blob",
36
- });
37
- if (responseFile.status != 200) {
38
- setLoading(false);
39
- onDownload &&
40
- onDownload({
41
- message: "No se pudo descargar el archivo",
42
- details: responseFile.statusText,
43
- });
44
- return;
45
- }
46
- const newUrl = window.URL.createObjectURL(new Blob([responseFile.data]));
47
- const link = document.createElement("a");
48
- link.href = newUrl;
49
- link.setAttribute("download", getSrc());
50
- link.style.display = "none";
51
- document.body.appendChild(link);
52
- setLoading(false);
53
- link.click();
54
- document.body.removeChild(link);
55
- } catch (err) {
56
- setLoading(false);
57
- onDownload &&
58
- onDownload({
59
- message: "No se pudo descargar el archivo",
60
- details: err.message,
61
- });
62
- }
63
- };
64
-
65
- return (
66
- <>
67
- <Container
68
- id={id}
69
- key={key}
70
- className={className}
71
- borderType={borderType}
72
- onMouseEnter={(event) => {
73
- if (!showDownload) {
74
- setShowDownload(true);
75
- //console.log("showDownload");
76
- }
77
- }}
78
- onMouseLeave={(event) => {
79
- if (!loading) {
80
- setShowDownload(false);
81
- //console.log("showIconFile");
82
- }
83
- }}
84
- >
85
- {showDownload ? (
86
- <ButtonV2
87
- className={"buttonDownload"}
88
- type={type}
89
- transparent={transparent}
90
- size={size}
91
- borderType={borderType}
92
- icon={IconDownload}
93
- isLoading={loading}
94
- onClick={async (event) => {
95
- getFile();
96
- }}
97
- />
98
- ) : (
99
- <IconFile
100
- className="iconFile"
101
- type={type}
102
- transparent={transparent}
103
- size={size}
104
- borderType={borderType}
105
- ext={getFileExtension(getSrc())}
106
- />
107
- )}
108
- </Container>
109
- </>
110
- );
111
- };
@@ -1,66 +0,0 @@
1
- import styled from "styled-components";
2
- import { GlobalColors, FontFamily } from "../../../global-files/variables";
3
-
4
- export const Container = styled.div`
5
- width: fit-content;
6
- height: fit-content;
7
- min-width: min-content;
8
- min-height: min-content;
9
- overflow: hidden;
10
- display: grid;
11
- place-items: center;
12
- border-radius: ${({ borderType }) => {
13
- return borderType?.toLowerCase() === "rectangle"
14
- ? "10%"
15
- : borderType?.toLowerCase() === "circle"
16
- ? "50%"
17
- : "none";
18
- }};
19
-
20
- .buttonDownload {
21
- width: 100%;
22
- height: 100%;
23
- .button {
24
- // tipos de botones fill
25
- &.fill {
26
- &.white:hover {
27
- background-color: white;
28
- }
29
- &.whiteS2:hover {
30
- background-color: white;
31
- }
32
- &.pink:hover {
33
- background-color: #e33aa9;
34
- }
35
- &.gray:hover {
36
- background-color: #e8e5e5;
37
- }
38
- &.purple:hover {
39
- background-color: #f7f7fc;
40
- }
41
- }
42
-
43
- // tipos de botones transparent
44
- &.transparent {
45
- &.white:hover {
46
- color: white;
47
- }
48
- &.pink:hover {
49
- color: #e33aa9;
50
- }
51
- &.gray:hover {
52
- .icon,
53
- .iconLoading {
54
- color: #7b7979;
55
- }
56
- }
57
- &.purple:hover {
58
- color: #8a6caa;
59
- }
60
- &.black:hover {
61
- color: #262626;
62
- }
63
- }
64
- }
65
- }
66
- `;
@@ -1,101 +0,0 @@
1
- import { ButtonV2 } from "../../atoms/ButtonV2";
2
- import { Dropdown } from "./index";
3
- import {
4
- faHeart as Icon1,
5
- faHouse as Icon2,
6
- faUser as Icon3,
7
- } from "@fortawesome/free-solid-svg-icons";
8
-
9
- export default {
10
- title: "Components/molecules/Dropdown",
11
- component: Dropdown,
12
- argTypes: {
13
- positionDropdown: {
14
- options: [
15
- undefined,
16
- "topStart",
17
- "topEnd",
18
- "topCenter",
19
- "rightStart",
20
- "rightEnd",
21
- "rightCenter",
22
- "bottomStart",
23
- "bottomEnd",
24
- "bottomCenter",
25
- "leftStart",
26
- "leftEnd",
27
- "leftCenter",
28
- ],
29
- control: { type: "select" },
30
- },
31
- triggerType: {
32
- options: [undefined, "hover", "click"],
33
- control: { type: "select" },
34
- },
35
- },
36
- };
37
-
38
- const Template = (args) => <Dropdown {...args} />;
39
-
40
- export const DropdownTest = Template.bind({});
41
- DropdownTest.args = {
42
- items: [
43
- {
44
- label: "Palomitas de maiz",
45
- //icon: Icon1,
46
- onClick: (event) => {
47
- console.log("Palomitaz de maiz");
48
- },
49
- },
50
- {
51
- label: "Sabritas",
52
- //icon: Icon2,
53
- onClick: (event) => {
54
- console.log("Sabritas");
55
- },
56
- },
57
- {
58
- label: "sabritas Doritos",
59
- onClick: (event) => {
60
- console.log("Sabritas Doritos");
61
- },
62
- },
63
- {
64
- label:
65
- "Este es un texto muy largo que deberia llegar al limite establecido para el width",
66
- //icon: Icon2,
67
- onClick: (event) => {
68
- console.log("texto largo de prueba");
69
- },
70
- },
71
- {
72
- label: "galletas",
73
- icon: undefined,
74
- onClick: (event) => {
75
- console.log("galletas");
76
- },
77
- },
78
- {
79
- label: "jugo de uva",
80
- //icon: Icon3,
81
- onClick: (event) => {
82
- console.log("jugo de uva");
83
- },
84
- },
85
- ],
86
- triggerType: "click",
87
- maxWidthDropdown: "200px",
88
- maxHeightDropdown: "200px",
89
- className: "dropdownPrueba",
90
- classNameDropdown: "dropdownMenuPrueba",
91
- positionDropdown: undefined,
92
- children: (
93
- <ButtonV2
94
- className="buttonTrigger"
95
- type={"white"}
96
- size={14}
97
- borderType={"oval"}
98
- label={"boton trigger"}
99
- />
100
- ),
101
- };
@@ -1,142 +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 } from "./styles";
11
- import React from "react";
12
- import { ButtonV2 } from "../../atoms/ButtonV2";
13
- import { faCircle as IconDefault } from "@fortawesome/free-solid-svg-icons";
14
- import { isArrayEmpty, isStringEmpty } from "../../../global-files/utils";
15
-
16
- /* Este es un menu de opciones tipo select donde cada item
17
- es un boton con su propio onClick */
18
- export const Dropdown = (props) => {
19
- const {
20
- items /* [
21
- {
22
- label: string
23
- icon: FontAwesomeIcon
24
- onClick: (event) => {}
25
- } ,
26
- ...
27
- ] */,
28
- triggerType, // (string) "hover" | "click"
29
- children, // componente hijo activador del dropdown
30
- maxWidthDropdown, // string
31
- maxHeightDropdown, // string
32
- className, // (string) clase del container select
33
- classNameDropdown, // (string) clase del contenedor tooltip
34
- positionDropdown, // (string) posicion del contenedor tooltip (values en object positions)
35
- } = props;
36
- const positions = {
37
- topStart: "top-start",
38
- topEnd: "top-end",
39
- topCenter: "top",
40
-
41
- rightStart: "right-start",
42
- rightEnd: "right-end",
43
- rightCenter: "right",
44
-
45
- bottomStart: "bottom-start",
46
- bottomEnd: "bottom-end",
47
- bottomCenter: "bottom",
48
-
49
- leftStart: "left-start",
50
- leftEnd: "left-end",
51
- leftCenter: "left",
52
- };
53
- const [showDropdown, setShowDropdown] = useState(false);
54
-
55
- const renderItems = () => {
56
- const customItems = [];
57
- if (!isArrayEmpty(items)) {
58
- const useIconDefault = items.some((item) => {
59
- return item.icon ? true : false;
60
- });
61
- items.forEach((item, index) => {
62
- customItems.push(
63
- <ButtonV2
64
- key={"item-" + index}
65
- className={
66
- "dropdownItem" +
67
- (useIconDefault ? (item.icon ? "" : " iconDefault") : "")
68
- }
69
- type={"whiteS3"}
70
- borderType={undefined}
71
- size={12}
72
- label={isStringEmpty(item.label) ? undefined : item.label}
73
- icon={useIconDefault ? item.icon ?? IconDefault : undefined}
74
- onClick={(event) => {
75
- event.stopPropagation();
76
- setTimeout(() => {
77
- setShowDropdown(false);
78
- item.onClick && item.onClick(event);
79
- }, 275);
80
- }}
81
- />
82
- );
83
- });
84
- }
85
- return customItems;
86
- };
87
-
88
- return (
89
- <ClickAwayListener
90
- onClickAway={(event) => {
91
- if (triggerType !== "hover") setShowDropdown(false);
92
- }}
93
- >
94
- <Container
95
- className={!isStringEmpty(className) ? className : ""}
96
- maxWidthDropdown={maxWidthDropdown}
97
- maxHeightDropdown={maxHeightDropdown}
98
- onMouseEnter={(event) => {
99
- if (triggerType === "hover") {
100
- setShowDropdown(true);
101
- }
102
- }}
103
- onMouseLeave={(event) => {
104
- if (triggerType === "hover") {
105
- setShowDropdown(false);
106
- }
107
- }}
108
- onClick={(event) => {
109
- if (triggerType !== "hover") {
110
- setShowDropdown(!showDropdown);
111
- }
112
- }}
113
- >
114
- <TooltipMUI
115
- placement={positions[positionDropdown] ?? positions.bottomStart}
116
- open={showDropdown}
117
- arrow={false}
118
- componentsProps={{
119
- tooltip: {
120
- className:
121
- "dropdownMenu" +
122
- (isStringEmpty(classNameDropdown)
123
- ? ""
124
- : " " + classNameDropdown),
125
- },
126
- popper: { disablePortal: true },
127
- transition: { timeout: 300 },
128
- }}
129
- TransitionComponent={Fade}
130
- enterDelay={100}
131
- followCursor={false}
132
- disableFocusListener
133
- disableTouchListener
134
- disableHoverListener
135
- title={<>{renderItems()}</>}
136
- >
137
- <div className="containerIntern">{children}</div>
138
- </TooltipMUI>
139
- </Container>
140
- </ClickAwayListener>
141
- );
142
- };