contentoh-components-library 21.3.17 → 21.3.19

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 (196) hide show
  1. package/.env.development +0 -5
  2. package/dist/assets/images/generalButton/closeIcon.svg +2 -2
  3. package/dist/components/atoms/GeneralInput/index.js +14 -1
  4. package/dist/components/atoms/ProgressBar/index.js +6 -36
  5. package/dist/components/atoms/ProgressBar/styles.js +3 -11
  6. package/dist/components/molecules/CustomSelect/CustomSelect.stories.js +22 -21
  7. package/dist/components/molecules/CustomSelect/SelectItem.js +1 -10
  8. package/dist/components/molecules/HeaderTop/index.js +6 -23
  9. package/dist/components/molecules/HeaderTop/styles.js +1 -1
  10. package/dist/components/molecules/ProductNameHeader/index.js +4 -6
  11. package/dist/components/organisms/FullProductNameHeader/index.js +0 -1
  12. package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +50 -65
  13. package/dist/components/pages/ProviderProductEdition/index.js +11 -15
  14. package/dist/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +44 -36
  15. package/dist/components/pages/RetailerProductEdition/index.js +12 -13
  16. package/dist/global-files/data.js +23 -18
  17. package/dist/global-files/fonts.css +0 -6
  18. package/dist/global-files/variables.js +0 -2
  19. package/dist/index.js +46 -267
  20. package/package.json +1 -12
  21. package/src/assets/images/generalButton/closeIcon.svg +2 -2
  22. package/src/components/atoms/GeneralInput/index.js +10 -0
  23. package/src/components/atoms/ProgressBar/index.js +5 -40
  24. package/src/components/atoms/ProgressBar/styles.js +0 -24
  25. package/src/components/molecules/CustomSelect/CustomSelect.stories.js +12 -20
  26. package/src/components/molecules/CustomSelect/SelectItem.js +0 -7
  27. package/src/components/molecules/HeaderTop/index.js +8 -29
  28. package/src/components/molecules/HeaderTop/styles.js +0 -4
  29. package/src/components/molecules/ProductNameHeader/index.js +2 -7
  30. package/src/components/organisms/FullProductNameHeader/index.js +0 -1
  31. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +49 -67
  32. package/src/components/pages/ProviderProductEdition/index.js +9 -16
  33. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +46 -36
  34. package/src/components/pages/RetailerProductEdition/index.js +10 -14
  35. package/src/global-files/data.js +23 -18
  36. package/src/global-files/fonts.css +0 -6
  37. package/src/global-files/variables.js +0 -2
  38. package/src/index.js +0 -17
  39. package/dist/assets/images/customSelect/starIcon.svg +0 -14
  40. package/dist/assets/images/defaultImages/Spinner.gif +0 -0
  41. package/dist/assets/images/defaultImages/notFound.svg +0 -124
  42. package/dist/components/atoms/ButtonFileChooser/ButtonFileChooser.stories.js +0 -72
  43. package/dist/components/atoms/ButtonFileChooser/index.js +0 -110
  44. package/dist/components/atoms/ButtonFileChooser/styles.js +0 -20
  45. package/dist/components/atoms/ButtonV2/ButtonV2.stories.js +0 -66
  46. package/dist/components/atoms/ButtonV2/index.js +0 -110
  47. package/dist/components/atoms/ButtonV2/styles.js +0 -53
  48. package/dist/components/atoms/CustomIcon/CustomIcon.stories.js +0 -50
  49. package/dist/components/atoms/CustomIcon/index.js +0 -40
  50. package/dist/components/atoms/CustomIcon/styles.js +0 -33
  51. package/dist/components/atoms/IconFile/IconFile.stories.js +0 -48
  52. package/dist/components/atoms/IconFile/index.js +0 -249
  53. package/dist/components/atoms/IconFile/styles.js +0 -23
  54. package/dist/components/atoms/Image/Image.stories.js +0 -73
  55. package/dist/components/atoms/Image/index.js +0 -76
  56. package/dist/components/atoms/Image/styles.js +0 -43
  57. package/dist/components/atoms/ImageLink/ImageLink.stories.js +0 -63
  58. package/dist/components/atoms/ImageLink/index.js +0 -77
  59. package/dist/components/atoms/ImageLink/styles.js +0 -40
  60. package/dist/components/atoms/ImagePreview/ImagePreview.stories.js +0 -70
  61. package/dist/components/atoms/ImagePreview/index.js +0 -208
  62. package/dist/components/atoms/ImagePreview/styles.js +0 -44
  63. package/dist/components/atoms/InputText/InputText.stories.js +0 -60
  64. package/dist/components/atoms/InputText/index.js +0 -66
  65. package/dist/components/atoms/InputText/styles.js +0 -32
  66. package/dist/components/atoms/NotFound/NotFound.stories.js +0 -36
  67. package/dist/components/atoms/NotFound/index.js +0 -75
  68. package/dist/components/atoms/NotFound/styles.js +0 -20
  69. package/dist/components/atoms/SelectItemV2/SelectItemV2.stories.js +0 -45
  70. package/dist/components/atoms/SelectItemV2/index.js +0 -57
  71. package/dist/components/atoms/SelectItemV2/styles.js +0 -30
  72. package/dist/components/atoms/Tooltip/Tooltip.stories.js +0 -66
  73. package/dist/components/atoms/Tooltip/index.js +0 -72
  74. package/dist/components/atoms/Tooltip/styles.js +0 -20
  75. package/dist/components/molecules/ButtonDownloadFile/DownloadFile.stories.js +0 -66
  76. package/dist/components/molecules/ButtonDownloadFile/index.js +0 -179
  77. package/dist/components/molecules/ButtonDownloadFile/styles.js +0 -23
  78. package/dist/components/molecules/Dropdown/Dropdown.stories.js +0 -98
  79. package/dist/components/molecules/Dropdown/index.js +0 -150
  80. package/dist/components/molecules/Dropdown/styles.js +0 -26
  81. package/dist/components/molecules/ImageTooltip/ImageTooltip.stories.js +0 -82
  82. package/dist/components/molecules/ImageTooltip/index.js +0 -85
  83. package/dist/components/molecules/ImageTooltip/styles.js +0 -33
  84. package/dist/components/molecules/SelectV2/SelectV2.stories.js +0 -120
  85. package/dist/components/molecules/SelectV2/index.js +0 -306
  86. package/dist/components/molecules/SelectV2/styles.js +0 -42
  87. package/dist/components/molecules/SelectV2/test.js +0 -95
  88. package/dist/components/molecules/SelectV2/test.stories.js +0 -27
  89. package/dist/components/organisms/Chat/Chat.stories.js +0 -160
  90. package/dist/components/organisms/Chat/ChatLists/ChatLists.stories.js +0 -83
  91. package/dist/components/organisms/Chat/ChatLists/index.js +0 -160
  92. package/dist/components/organisms/Chat/ChatLists/styles.js +0 -29
  93. package/dist/components/organisms/Chat/ContainerItems/ContainerItems.stories.js +0 -176
  94. package/dist/components/organisms/Chat/ContainerItems/index.js +0 -537
  95. package/dist/components/organisms/Chat/ContainerItems/styles.js +0 -20
  96. package/dist/components/organisms/Chat/ContentChat/ContentChat.stories.js +0 -142
  97. package/dist/components/organisms/Chat/ContentChat/index.js +0 -1429
  98. package/dist/components/organisms/Chat/ContentChat/styles.js +0 -20
  99. package/dist/components/organisms/Chat/Footer/Footer.stories.js +0 -43
  100. package/dist/components/organisms/Chat/Footer/index.js +0 -976
  101. package/dist/components/organisms/Chat/Footer/styles.js +0 -32
  102. package/dist/components/organisms/Chat/Header/Header.stories.js +0 -96
  103. package/dist/components/organisms/Chat/Header/index.js +0 -84
  104. package/dist/components/organisms/Chat/Header/styles.js +0 -20
  105. package/dist/components/organisms/Chat/index.js +0 -253
  106. package/dist/components/organisms/Chat/styles.js +0 -29
  107. package/dist/components/organisms/Modal/Modal.stories.js +0 -66
  108. package/dist/components/organisms/Modal/index.js +0 -95
  109. package/dist/components/organisms/Modal/styles.js +0 -20
  110. package/dist/components/organisms/RangeCalendar/RangeCalendar.stories.js +0 -33
  111. package/dist/components/organisms/RangeCalendar/index.js +0 -149
  112. package/dist/components/organisms/RangeCalendar/styles.js +0 -27
  113. package/dist/global-files/handle_http.js +0 -381
  114. package/dist/global-files/handle_userTech.js +0 -20
  115. package/dist/global-files/utils.js +0 -514
  116. package/src/assets/images/customSelect/starIcon.svg +0 -14
  117. package/src/assets/images/defaultImages/Spinner.gif +0 -0
  118. package/src/assets/images/defaultImages/notFound.svg +0 -124
  119. package/src/components/atoms/ButtonFileChooser/ButtonFileChooser.stories.js +0 -47
  120. package/src/components/atoms/ButtonFileChooser/index.js +0 -68
  121. package/src/components/atoms/ButtonFileChooser/styles.js +0 -4
  122. package/src/components/atoms/ButtonV2/ButtonV2.stories.js +0 -53
  123. package/src/components/atoms/ButtonV2/index.js +0 -85
  124. package/src/components/atoms/ButtonV2/styles.js +0 -217
  125. package/src/components/atoms/CustomIcon/CustomIcon.stories.js +0 -36
  126. package/src/components/atoms/CustomIcon/index.js +0 -41
  127. package/src/components/atoms/CustomIcon/styles.js +0 -85
  128. package/src/components/atoms/IconFile/IconFile.stories.js +0 -35
  129. package/src/components/atoms/IconFile/index.js +0 -119
  130. package/src/components/atoms/IconFile/styles.js +0 -67
  131. package/src/components/atoms/Image/Image.stories.js +0 -51
  132. package/src/components/atoms/Image/index.js +0 -55
  133. package/src/components/atoms/Image/styles.js +0 -34
  134. package/src/components/atoms/ImageLink/ImageLink.stories.js +0 -43
  135. package/src/components/atoms/ImageLink/index.js +0 -57
  136. package/src/components/atoms/ImageLink/styles.js +0 -30
  137. package/src/components/atoms/ImagePreview/ImagePreview.stories.js +0 -52
  138. package/src/components/atoms/ImagePreview/index.js +0 -178
  139. package/src/components/atoms/ImagePreview/styles.js +0 -77
  140. package/src/components/atoms/InputText/InputText.stories.js +0 -39
  141. package/src/components/atoms/InputText/index.js +0 -61
  142. package/src/components/atoms/InputText/styles.js +0 -89
  143. package/src/components/atoms/NotFound/NotFound.stories.js +0 -19
  144. package/src/components/atoms/NotFound/index.js +0 -52
  145. package/src/components/atoms/NotFound/styles.js +0 -55
  146. package/src/components/atoms/SelectItemV2/SelectItemV2.stories.js +0 -26
  147. package/src/components/atoms/SelectItemV2/index.js +0 -61
  148. package/src/components/atoms/SelectItemV2/styles.js +0 -90
  149. package/src/components/atoms/Tooltip/Tooltip.stories.js +0 -51
  150. package/src/components/atoms/Tooltip/index.js +0 -59
  151. package/src/components/atoms/Tooltip/styles.js +0 -42
  152. package/src/components/molecules/ButtonDownloadFile/DownloadFile.stories.js +0 -54
  153. package/src/components/molecules/ButtonDownloadFile/index.js +0 -109
  154. package/src/components/molecules/ButtonDownloadFile/styles.js +0 -66
  155. package/src/components/molecules/Dropdown/Dropdown.stories.js +0 -103
  156. package/src/components/molecules/Dropdown/index.js +0 -150
  157. package/src/components/molecules/Dropdown/styles.js +0 -75
  158. package/src/components/molecules/ImageTooltip/ImageTooltip.stories.js +0 -68
  159. package/src/components/molecules/ImageTooltip/index.js +0 -63
  160. package/src/components/molecules/ImageTooltip/styles.js +0 -18
  161. package/src/components/molecules/SelectV2/SelectV2.stories.js +0 -115
  162. package/src/components/molecules/SelectV2/index.js +0 -357
  163. package/src/components/molecules/SelectV2/styles.js +0 -105
  164. package/src/components/molecules/SelectV2/test.js +0 -61
  165. package/src/components/molecules/SelectV2/test.stories.js +0 -10
  166. package/src/components/organisms/Chat/Chat.stories.js +0 -147
  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 -512
  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 -897
  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 -661
  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 -235
  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/components/organisms/RangeCalendar/RangeCalendar.stories.js +0 -16
  192. package/src/components/organisms/RangeCalendar/index.js +0 -121
  193. package/src/components/organisms/RangeCalendar/styles.js +0 -883
  194. package/src/global-files/handle_http.js +0 -225
  195. package/src/global-files/handle_userTech.js +0 -7
  196. package/src/global-files/utils.js +0 -330
@@ -1,61 +0,0 @@
1
- import { useEffect, useRef, useState } from "react";
2
- import { Checkbox } from "@mui/material";
3
- import { Container, ContainerButton } from "./styles";
4
- import React from "react";
5
- import { isStringEmpty } from "../../../global-files/utils";
6
- import { faCheck as IconOK } from "@fortawesome/free-solid-svg-icons";
7
-
8
- export const SelectItemV2 = (props) => {
9
- const {
10
- id,
11
- keyId,
12
- className, // (string) clase del container
13
- label, // (string) texto visible del item
14
- value, // valor del item
15
- checkbox /* (boolean)
16
- true -> item con checkbox
17
- false -> item sin checkbox pero respeta el espacio del checkbox
18
- undefined -> item sin checkbox
19
- */,
20
- selected, // (boolean) item seleccionado??
21
- onClick, // (isSelected , value) => {}
22
- } = props;
23
-
24
- return checkbox ? (
25
- <Container
26
- className={
27
- "selectItemV2" +
28
- (isStringEmpty(className) ? "" : " " + className) +
29
- (!checkbox && selected ? " selectedItem" : "")
30
- }
31
- id={id}
32
- key={keyId}
33
- checkbox={checkbox}
34
- onClick={(event) => onClick && onClick(!selected, value)}
35
- >
36
- {checkbox !== undefined && (
37
- <Checkbox
38
- className={"checkbox" + (checkbox ? "" : " hidden")}
39
- checked={selected}
40
- />
41
- )}
42
-
43
- <label className="label">{label}</label>
44
- </Container>
45
- ) : (
46
- <ContainerButton
47
- className={
48
- "selectItemV2" +
49
- (isStringEmpty(className) ? "" : " " + className) +
50
- (selected ? " selectedItem" : "")
51
- }
52
- checkbox={checkbox === false}
53
- type={"whiteS3"}
54
- label={label}
55
- icon={checkbox === false || selected ? IconOK : undefined}
56
- onClick={(event) => {
57
- onClick && onClick(!selected, value);
58
- }}
59
- />
60
- );
61
- };
@@ -1,90 +0,0 @@
1
- import styled from "styled-components";
2
- import { GlobalColors, FontFamily } from "../../../global-files/variables";
3
- import { ButtonV2 } from "../ButtonV2";
4
-
5
- export const Container = styled.div`
6
- width: fit-content;
7
- display: flex;
8
- flex-direction: row;
9
- flex-wrap: nowrap;
10
- gap: 11px;
11
- justify-content: flex-start;
12
- align-items: center;
13
- cursor: pointer;
14
- padding: 8px;
15
- transition: background 0.25s;
16
- //border: 1px solid lightgray;
17
-
18
- &:hover {
19
- background-color: #f0f0f0;
20
- }
21
-
22
- .checkbox {
23
- padding: 3px;
24
-
25
- &.hidden {
26
- visibility: hidden;
27
- }
28
-
29
- &.Mui-checked {
30
- color: #808080;
31
- }
32
-
33
- .MuiSvgIcon-root {
34
- font-size: 16px;
35
- }
36
- }
37
-
38
- .label {
39
- cursor: inherit;
40
- font-family: ${FontFamily.RobotoRegular}, sans-serif;
41
- font-size: 12px;
42
- text-align: left;
43
- color: #262626;
44
- line-height: 1.25;
45
- padding: ${({ checkbox }) => (checkbox === undefined ? "3" : "0")}px;
46
- }
47
-
48
- // para item sin checkbox seleccionado
49
- &.selectedItem {
50
- background-color: #8e8e8e;
51
- .label {
52
- font-family: ${FontFamily.RobotoMedium}, sans-serif;
53
- color: white;
54
- }
55
- }
56
- `;
57
-
58
- export const ContainerButton = styled(ButtonV2)`
59
- width: fit-content;
60
- border: none;
61
- border-radius: 0px;
62
-
63
- .button {
64
- font-family: ${FontFamily.RobotoRegular}, sans-serif;
65
- font-size: 12px;
66
- text-align: left;
67
- line-height: 1.25;
68
- padding: ${({ checkbox }) => (checkbox ? "8px" : "11px 8px")};
69
- gap: 11px;
70
- border: none;
71
- letter-spacing: 0px;
72
- .icon {
73
- padding: 3px;
74
- color: #808080 !important;
75
- font-size: 16px;
76
- visibility: hidden;
77
- }
78
- }
79
-
80
- // para item sin checkbox seleccionado
81
- &.selectedItem {
82
- .button {
83
- font-family: ${FontFamily.RobotoMedium}, sans-serif;
84
- padding: 8px;
85
- .icon {
86
- visibility: visible;
87
- }
88
- }
89
- }
90
- `;
@@ -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,109 +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
- }
76
- }}
77
- onMouseLeave={(event) => {
78
- if (!loading) {
79
- setShowDownload(false);
80
- }
81
- }}
82
- >
83
- {showDownload ? (
84
- <ButtonV2
85
- className={"buttonDownload"}
86
- type={type}
87
- transparent={transparent}
88
- size={size}
89
- borderType={borderType}
90
- icon={IconDownload}
91
- isLoading={loading}
92
- onClick={async (event) => {
93
- getFile();
94
- }}
95
- />
96
- ) : (
97
- <IconFile
98
- className="iconFile"
99
- type={type}
100
- transparent={transparent}
101
- size={size}
102
- borderType={borderType}
103
- ext={getFileExtension(getSrc())}
104
- />
105
- )}
106
- </Container>
107
- </>
108
- );
109
- };
@@ -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,103 +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
- disabled: true,
47
- onClick: (event) => {
48
- console.log("Palomitaz de maiz");
49
- },
50
- },
51
- {
52
- label: "Sabritas",
53
- //icon: Icon2,
54
- onClick: (event) => {
55
- console.log("Sabritas");
56
- },
57
- },
58
- {
59
- label: "sabritas Doritos",
60
- isLoading: true,
61
- onClick: (event) => {
62
- console.log("Sabritas Doritos");
63
- },
64
- },
65
- {
66
- label:
67
- "Este es un texto muy largo que deberia llegar al limite establecido para el width",
68
- //icon: Icon2,
69
- onClick: (event) => {
70
- console.log("texto largo de prueba");
71
- },
72
- },
73
- {
74
- label: "galletas",
75
- icon: undefined,
76
- onClick: (event) => {
77
- console.log("galletas");
78
- },
79
- },
80
- {
81
- label: "jugo de uva",
82
- //icon: Icon3,
83
- onClick: (event) => {
84
- console.log("jugo de uva");
85
- },
86
- },
87
- ],
88
- triggerType: "click",
89
- maxWidthDropdown: "200px",
90
- maxHeightDropdown: "200px",
91
- className: "dropdownPrueba",
92
- classNameDropdown: "dropdownMenuPrueba",
93
- positionDropdown: undefined,
94
- children: (
95
- <ButtonV2
96
- className="buttonTrigger"
97
- type={"white"}
98
- size={14}
99
- borderType={"oval"}
100
- label={"boton trigger"}
101
- />
102
- ),
103
- };