imbric-theme 0.1.2 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (207) hide show
  1. package/.dockerignore +14 -0
  2. package/.eslintignore +1 -0
  3. package/.prettierignore +1 -0
  4. package/.storybook/main.js +6 -2
  5. package/.storybook/preview.js +21 -0
  6. package/.vscode/settings.json +3 -0
  7. package/Dockerfile +17 -0
  8. package/atoms/AlertModal/AlertModal.js +69 -0
  9. package/atoms/AlertModal/AlertModal.module.css +3 -0
  10. package/atoms/AlertModal/AlertModal.stories.js +30 -0
  11. package/atoms/AlertModal/constants.js +4 -0
  12. package/atoms/AlertModal/index.js +3 -0
  13. package/atoms/Button/Button.js +17 -2
  14. package/atoms/Button/Button.module.css +25 -3
  15. package/atoms/Button/Button.stories.js +1 -1
  16. package/atoms/Button/__snapshots__/Button.stories.js.snap +8 -8
  17. package/atoms/Check/Check.js +6 -4
  18. package/atoms/Checkbox/Checkbox.js +83 -0
  19. package/atoms/Checkbox/Checkbox.module.css +60 -0
  20. package/atoms/Checkbox/Checkbox.stories.js +30 -0
  21. package/atoms/Checkbox/constants.js +1 -0
  22. package/atoms/Checkbox/index.js +3 -0
  23. package/atoms/Divider/Divider.js +5 -2
  24. package/atoms/Divider/Divider.module.css +20 -0
  25. package/atoms/Divider/Divider.stories.js +13 -2
  26. package/atoms/Divider/constants.js +3 -0
  27. package/atoms/Divider/index.js +1 -0
  28. package/atoms/Heading/Heading.js +1 -1
  29. package/atoms/Heading/Heading.module.css +4 -0
  30. package/atoms/Heading/Heading.stories.js +2 -2
  31. package/atoms/Heading/__snapshots__/Heading.stories.js.snap +16 -16
  32. package/atoms/Heading/constants.js +1 -1
  33. package/atoms/Icon/Icon.js +1 -1
  34. package/atoms/Icon/Icon.module.css +30 -0
  35. package/atoms/Icon/constants.js +750 -145
  36. package/atoms/Input/Input.js +195 -15
  37. package/atoms/Input/Input.module.css +62 -6
  38. package/atoms/Input/Input.stories.js +8 -2
  39. package/atoms/Input/__snapshots__/Input.stories.js.snap +5 -5
  40. package/atoms/Input/constants.js +1 -1
  41. package/atoms/Label/Label.js +31 -0
  42. package/atoms/Label/Label.module.css +42 -0
  43. package/atoms/Label/Label.stories.js +26 -0
  44. package/atoms/Label/constants.js +1 -0
  45. package/atoms/Label/index.js +3 -0
  46. package/atoms/LinkItem/LinkItem.js +38 -0
  47. package/atoms/{Link/Link.module.css → LinkItem/LinkItem.module.css} +6 -1
  48. package/atoms/{Link/Link.stories.js → LinkItem/LinkItem.stories.js} +5 -5
  49. package/atoms/LinkItem/index.js +3 -0
  50. package/atoms/Modal/Modal.js +27 -4
  51. package/atoms/Modal/Modal.module.css +63 -6
  52. package/atoms/Paragraph/Paragraph.module.css +4 -0
  53. package/atoms/Paragraph/Paragraph.stories.js +2 -2
  54. package/atoms/Paragraph/__snapshots__/Paragraph.stories.js.snap +16 -16
  55. package/atoms/Picture/Picture.js +15 -2
  56. package/atoms/Tab/Tab.js +41 -0
  57. package/atoms/Tab/Tab.module.css +17 -0
  58. package/atoms/Tab/Tab.stories.js +27 -0
  59. package/atoms/Tab/constants.js +1 -0
  60. package/atoms/Tab/index.js +3 -0
  61. package/atoms/Textarea/Textarea.js +106 -15
  62. package/atoms/Textarea/Textarea.module.css +31 -2
  63. package/atoms/Toggle/Toggle.js +56 -0
  64. package/atoms/Toggle/Toggle.module.css +41 -0
  65. package/atoms/Toggle/Toggle.stories.js +21 -0
  66. package/atoms/Toggle/constants.js +1 -0
  67. package/atoms/Toggle/index.js +3 -0
  68. package/helpers/storybook.js +2 -2
  69. package/hook/useAddColumn.js +40 -0
  70. package/hook/useStateDate.js +25 -0
  71. package/hook/useTable.js +54 -0
  72. package/index.js +41 -1
  73. package/jest.config.js +1 -1
  74. package/layout/DynamicTable/DynamicTable.js +372 -0
  75. package/layout/DynamicTable/DynamicTable.module.css +62 -0
  76. package/layout/DynamicTable/DynamicTable.stories.js +79 -0
  77. package/layout/DynamicTable/constants.js +323 -0
  78. package/layout/DynamicTable/index.js +3 -0
  79. package/layout/FlexColumnContent/FlexColumnContent.js +26 -0
  80. package/layout/FlexColumnContent/FlexColumnContent.module.css +5 -0
  81. package/layout/FlexColumnContent/FlexColumnContent.stories.js +28 -0
  82. package/layout/FlexColumnContent/constants.js +1 -0
  83. package/layout/FlexColumnContent/index.js +3 -0
  84. package/layout/Navbar/Navbar.js +247 -0
  85. package/layout/Navbar/Navbar.module.css +35 -0
  86. package/layout/Navbar/Navbar.stories.js +20 -0
  87. package/layout/Navbar/constants.js +35 -0
  88. package/layout/Navbar/index.js +2 -0
  89. package/layout/Sidebar/Sidebar.js +115 -0
  90. package/layout/Sidebar/Sidebar.module.css +387 -0
  91. package/layout/Sidebar/Sidebar.stories.js +28 -0
  92. package/layout/Sidebar/constants.js +228 -0
  93. package/layout/Sidebar/index.js +3 -0
  94. package/molecules/Accordion/Accordion.js +11 -11
  95. package/molecules/CardDefault/CardDefault.js +65 -0
  96. package/molecules/CardDefault/CardDefault.module.css +19 -0
  97. package/molecules/CardDefault/CardDefault.stories.js +23 -0
  98. package/molecules/CardDefault/constants.js +1 -0
  99. package/molecules/CardDefault/index.js +3 -0
  100. package/molecules/CardProductTypesBooking/CardProductTypesBooking.js +89 -0
  101. package/molecules/CardProductTypesBooking/CardProductTypesBooking.module.css +118 -0
  102. package/molecules/CardProductTypesBooking/CardProductTypesBooking.stories.js +25 -0
  103. package/molecules/CardProductTypesBooking/constants.js +1 -0
  104. package/molecules/CardProductTypesBooking/index.js +3 -0
  105. package/molecules/CardServiceDetail/CardServiceDetail.js +400 -0
  106. package/molecules/CardServiceDetail/CardServiceDetail.module.css +222 -0
  107. package/molecules/CardServiceDetail/CardServiceDetail.stories.js +23 -0
  108. package/molecules/CardServiceDetail/constants.js +1 -0
  109. package/molecules/CardServiceDetail/index.js +3 -0
  110. package/molecules/CardServices/CardServices.js +461 -0
  111. package/molecules/CardServices/CardServices.module.css +213 -0
  112. package/molecules/CardServices/CardServices.stories.js +41 -0
  113. package/molecules/CardServices/constants.js +5 -0
  114. package/molecules/CardServices/index.js +3 -0
  115. package/molecules/CardServicesFinalized/CardServicesFinalized.js +381 -0
  116. package/molecules/CardServicesFinalized/CardServicesFinalized.module.css +213 -0
  117. package/molecules/CardServicesFinalized/CardServicesFinalized.stories.js +23 -0
  118. package/molecules/CardServicesFinalized/constants.js +1 -0
  119. package/molecules/CardServicesFinalized/index.js +3 -0
  120. package/molecules/CheckList/CheckList.js +135 -0
  121. package/molecules/CheckList/CheckList.module.css +94 -0
  122. package/molecules/CheckList/CheckList.stories.js +25 -0
  123. package/molecules/CheckList/constants.js +23 -0
  124. package/molecules/CheckList/index.js +3 -0
  125. package/molecules/ColumnTable/ColumnTable.js +155 -0
  126. package/molecules/ColumnTable/ColumnTable.module.css +52 -0
  127. package/molecules/ColumnTable/ColumnTable.stories.js +26 -0
  128. package/molecules/ColumnTable/constants.js +117 -0
  129. package/molecules/ColumnTable/index.js +3 -0
  130. package/molecules/DatePicker/DatePicker.js +242 -0
  131. package/molecules/DatePicker/DatePicker.module.css +38 -0
  132. package/molecules/DatePicker/DatePicker.stories.js +23 -0
  133. package/molecules/DatePicker/constants.js +3 -0
  134. package/molecules/DatePicker/index.js +3 -0
  135. package/molecules/DatePickerTime/DatePickerTime.js +133 -0
  136. package/molecules/DatePickerTime/DatePickerTime.module.css +3 -0
  137. package/molecules/DatePickerTime/DatePickerTime.stories.js +18 -0
  138. package/molecules/DatePickerTime/constants.js +1 -0
  139. package/molecules/DatePickerTime/index.js +3 -0
  140. package/molecules/Dropdown/Dropdown.js +26 -23
  141. package/molecules/Dropdown/Dropdown.module.css +21 -3
  142. package/molecules/DynamicSelect/DynamicSelect.js +186 -0
  143. package/molecules/DynamicSelect/DynamicSelect.module.css +10 -0
  144. package/molecules/DynamicSelect/DynamicSelect.stories.js +32 -0
  145. package/molecules/DynamicSelect/constants.js +7 -0
  146. package/molecules/DynamicSelect/index.js +3 -0
  147. package/molecules/Error/Error.js +2 -2
  148. package/molecules/Error/Error.module.css +3 -2
  149. package/molecules/FooterTable/FooterTable.js +166 -0
  150. package/molecules/FooterTable/FooterTable.module.css +63 -0
  151. package/molecules/FooterTable/FooterTable.stories.js +23 -0
  152. package/molecules/FooterTable/constants.js +9 -0
  153. package/molecules/FooterTable/index.js +3 -0
  154. package/molecules/InputAutocomplete/InputAutocomplete.js +221 -0
  155. package/molecules/InputAutocomplete/InputAutocomplete.module.css +55 -0
  156. package/molecules/InputAutocomplete/InputAutocomplete.stories.js +23 -0
  157. package/molecules/InputAutocomplete/constants.js +1 -0
  158. package/molecules/InputAutocomplete/index.js +3 -0
  159. package/molecules/ItemMenu/ItemMenu.js +134 -0
  160. package/molecules/ItemMenu/ItemMenu.module.css +363 -0
  161. package/molecules/ItemMenu/ItemMenu.stories.js +42 -0
  162. package/molecules/ItemMenu/constants.js +36 -0
  163. package/molecules/ItemMenu/index.js +3 -0
  164. package/molecules/RowTable/RowTable.js +1057 -0
  165. package/molecules/RowTable/RowTable.module.css +63 -0
  166. package/molecules/RowTable/RowTable.stories.js +26 -0
  167. package/molecules/RowTable/constants.js +798 -0
  168. package/molecules/RowTable/index.js +3 -0
  169. package/molecules/Tabs/Tabs.js +59 -0
  170. package/molecules/Tabs/Tabs.module.css +13 -0
  171. package/molecules/Tabs/Tabs.stories.js +34 -0
  172. package/molecules/Tabs/constants.js +34 -0
  173. package/molecules/Tabs/index.js +3 -0
  174. package/package.json +33 -16
  175. package/pages/Login/Login.js +102 -0
  176. package/pages/Login/Login.module.css +5 -0
  177. package/pages/Login/Login.stories.js +23 -0
  178. package/pages/Login/constants.js +1 -0
  179. package/pages/Login/index.js +3 -0
  180. package/pages/Login/validation/loginSchema.js +5 -0
  181. package/public/favicon.ico +0 -0
  182. package/public/static/google-maps.png +0 -0
  183. package/public/static/images/folders-folder.svg +26 -0
  184. package/public/static/images/permissions.svg +14 -0
  185. package/public/static/images/reports-results.svg +18 -0
  186. package/public/static/logo.svg +19 -0
  187. package/public/static/logologin.png +0 -0
  188. package/public/static/logologin.svg +16 -0
  189. package/public/static/logologintagos.svg +19 -0
  190. package/public/static/logotipo.svg +50 -0
  191. package/public/static/logotipoS.svg +26 -0
  192. package/public/static/taxisvalencia_logod.png +0 -0
  193. package/scripts/create-component.js +2 -1
  194. package/styles/GrupoMutua.css +391 -0
  195. package/styles/default.css +391 -0
  196. package/styles/globals.css +1514 -0
  197. package/styles/radiotaxiaragon.css +391 -0
  198. package/styles/spartan.css +391 -0
  199. package/styles/tagos.css +391 -0
  200. package/styles/taxisvalencia.css +391 -0
  201. package/styles/tokens.css +2 -1
  202. package/tokens/index.js +2 -1
  203. package/.eslintcache +0 -1
  204. package/atoms/Link/Link.js +0 -33
  205. package/atoms/Link/index.js +0 -3
  206. /package/atoms/{Link → LinkItem}/__snapshots__/Link.stories.js.snap +0 -0
  207. /package/atoms/{Link → LinkItem}/constants.js +0 -0
@@ -0,0 +1,461 @@
1
+ import React, { useState } from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import ReactTooltip from 'react-tooltip'
4
+ import { Horizontal, Vertical } from '../../layout/Spacer/components'
5
+ import Label from '../../atoms/Label'
6
+ import Icon from '../../atoms/Icon'
7
+
8
+ import styles from './CardServices.module.css'
9
+ import { options } from './constants'
10
+ import withStyles from '../../hocs/withStyles'
11
+
12
+ export const handleClick = ({ onClick }) => (event) => {
13
+ onClick(event)
14
+ }
15
+
16
+ export const CardServices = ({
17
+ getStyles,
18
+ onClick,
19
+ isClickable,
20
+ txtDateService,
21
+ txtOriginService,
22
+ txtDestinationService,
23
+ txtServiceService,
24
+ txtUserService,
25
+ txtRefService,
26
+ txtUserNumberService,
27
+ onClickUserView,
28
+ txtTootipUserView,
29
+ onClickReturnOrder,
30
+ txtTootipReturnOrder,
31
+ onClickRepeatOrder,
32
+ txtTootipRepeatOrder,
33
+ onClickEdit,
34
+ txtTootipEdit,
35
+ onClickTrash,
36
+ txtTootipTrash,
37
+ txtTootipCircleStatus,
38
+ selectCard,
39
+ statusService,
40
+ labelOriginService,
41
+ labelDestinationService,
42
+ labelServiceService,
43
+ labelUserService,
44
+ labelRefService,
45
+ labelUserNumberService,
46
+ isViewAction,
47
+ }) => {
48
+
49
+ // STATE TOOLTIP
50
+ const [isToolTipMounted, setIsToolTipMounted] = useState(false)
51
+
52
+ // TOOLTIP
53
+ const handleMouseEnter = () => {
54
+ setIsToolTipMounted(true)
55
+ }
56
+ const handleMouseLeave = () => {
57
+ setIsToolTipMounted(false)
58
+ }
59
+
60
+
61
+ return (
62
+ <div
63
+ onClick={onClick && handleClick({ onClick })}
64
+ className={getStyles('card-services',
65
+ { 'is-clickable': isClickable, },
66
+ { 'selectCard': selectCard },
67
+ // { 'flip-out-hor-bottom': selectCard }
68
+ )}
69
+ >
70
+
71
+ <div className={getStyles('card-content-p-box')}>
72
+
73
+ <p className={getStyles('card-content-p')}>
74
+ <Icon
75
+ name="clock"
76
+ size="xs"
77
+ />
78
+ &nbsp;
79
+ {txtDateService}
80
+ </p>
81
+ <Vertical size="xs" />
82
+
83
+ <div className={getStyles('card-content')}>
84
+
85
+ <div className={getStyles('card-subcontent')}>
86
+
87
+ <Vertical size="xs" />
88
+
89
+ <Label >
90
+ <Icon
91
+ name="originOrder"
92
+ size="xs"
93
+ color="highlight"
94
+ />
95
+ &nbsp;
96
+ {labelOriginService}
97
+ </Label>
98
+
99
+ <p className={getStyles('card-content-p')}>{txtOriginService}</p>
100
+
101
+ </div>
102
+
103
+ <Horizontal size="sm" />
104
+
105
+ <div className={getStyles('card-subcontent')}>
106
+
107
+ <Vertical size="xs" />
108
+
109
+ <Label >
110
+ <Icon
111
+ name="destinationOrder"
112
+ size="xs"
113
+ color="highlight"
114
+ />
115
+ &nbsp;
116
+ {labelDestinationService}
117
+ </Label>
118
+
119
+ <p className={getStyles('card-content-p')}>{txtDestinationService}</p>
120
+
121
+ </div>
122
+
123
+ </div>
124
+
125
+ <Vertical size="xs" />
126
+
127
+ <div className={getStyles('card-content')}>
128
+
129
+ <div className={getStyles('card-subcontent')}>
130
+
131
+ <Vertical size="xs" />
132
+
133
+ <Label >
134
+ <Icon
135
+ name="travelPrograms"
136
+ size="xs"
137
+ color="highlight"
138
+ />
139
+ &nbsp;
140
+ {labelServiceService}
141
+ </Label>
142
+
143
+ <p className={getStyles('card-content-p')}>{txtServiceService}</p>
144
+
145
+ </div>
146
+
147
+ <Horizontal size="sm" />
148
+
149
+ <div className={getStyles('card-subcontent')}>
150
+
151
+ <Vertical size="xs" />
152
+
153
+ <Label >
154
+ <Icon
155
+ name="user"
156
+ size="xs"
157
+ color="highlight"
158
+ />
159
+ &nbsp;
160
+ {labelUserService}
161
+ </Label>
162
+
163
+ <p className={getStyles('card-content-p')}>{txtUserService}</p>
164
+
165
+ </div>
166
+
167
+ </div>
168
+
169
+ <Vertical size="xs" />
170
+
171
+ <div className={getStyles('card-content')}>
172
+
173
+ <div className={getStyles('card-subcontent')}>
174
+
175
+ <Vertical size="xs" />
176
+
177
+ <Label >
178
+ <Icon
179
+ name="reference"
180
+ size="xs"
181
+ color="highlight"
182
+ />
183
+ &nbsp;
184
+ {labelRefService}
185
+ </Label>
186
+
187
+ <p className={getStyles('card-content-p')}>{txtRefService}</p>
188
+
189
+ </div>
190
+
191
+ <Horizontal size="sm" />
192
+
193
+ <div className={getStyles('card-subcontent')}>
194
+
195
+ <Vertical size="xs" />
196
+
197
+ <Label >
198
+ <Icon
199
+ name="userNumber"
200
+ size="xs"
201
+ color="highlight"
202
+ />
203
+ &nbsp;
204
+ {labelUserNumberService}
205
+ </Label>
206
+
207
+ <p className={getStyles('card-content-p')}>{txtUserNumberService}</p>
208
+
209
+ </div>
210
+
211
+ </div>
212
+
213
+ </div>
214
+
215
+ {isViewAction ? (
216
+ <div className={getStyles('card-content-action')}>
217
+
218
+ <div className={getStyles('card-subcontent-action')}>
219
+
220
+ <span
221
+ data-tip
222
+ data-for='userView'
223
+ onMouseEnter={handleMouseEnter}
224
+ onMouseLeave={handleMouseLeave}
225
+ >
226
+ <Icon
227
+ color="highlight"
228
+ id='userViewIcon'
229
+ isClickable
230
+ name="userView"
231
+ onClick={onClickUserView}
232
+ size="sm"
233
+ className={getStyles('icon-view')}
234
+ />
235
+
236
+ </span>
237
+
238
+ {isToolTipMounted ? (
239
+ <ReactTooltip id='userView' type='error'>
240
+ <span>{txtTootipUserView}</span>
241
+ </ReactTooltip>
242
+ ) : null}
243
+
244
+ </div>
245
+
246
+ <div className={getStyles('card-subcontent-action')}>
247
+
248
+ <span
249
+ data-tip
250
+ data-for='returnOrder'
251
+ onMouseEnter={handleMouseEnter}
252
+ onMouseLeave={handleMouseLeave}
253
+ >
254
+ <Icon
255
+ color="highlight"
256
+ id='returnOrderIcon'
257
+ isClickable
258
+ name="returnOrder"
259
+ onClick={onClickReturnOrder}
260
+ size="sm"
261
+ className={getStyles('icon-view')}
262
+ />
263
+
264
+ </span>
265
+
266
+ {isToolTipMounted ? (
267
+ <ReactTooltip id='returnOrder' type='error'>
268
+ <span>{txtTootipReturnOrder}</span>
269
+ </ReactTooltip>
270
+ ) : null}
271
+
272
+ </div>
273
+
274
+ <div className={getStyles('card-subcontent-action')}>
275
+
276
+ <span
277
+ data-tip
278
+ data-for='repeatOrder'
279
+ onMouseEnter={handleMouseEnter}
280
+ onMouseLeave={handleMouseLeave}
281
+ >
282
+ <Icon
283
+ color="highlight"
284
+ id='repeatOrderIcon'
285
+ isClickable
286
+ name="repeatOrder"
287
+ onClick={onClickRepeatOrder}
288
+ size="sm"
289
+ className={getStyles('icon-view')}
290
+ />
291
+
292
+ </span>
293
+
294
+ {isToolTipMounted ? (
295
+ <ReactTooltip id='repeatOrder' type='error'>
296
+ <span>{txtTootipRepeatOrder}</span>
297
+ </ReactTooltip>
298
+ ) : null}
299
+
300
+
301
+ </div>
302
+
303
+ <div className={getStyles('card-subcontent-action')}>
304
+
305
+ <span
306
+ data-tip
307
+ data-for='edit'
308
+ onMouseEnter={handleMouseEnter}
309
+ onMouseLeave={handleMouseLeave}
310
+ >
311
+ <Icon
312
+ color="highlight"
313
+ id='editIcon'
314
+ isClickable
315
+ name="edit"
316
+ onClick={onClickEdit}
317
+ size="sm"
318
+ className={getStyles('icon-view')}
319
+ />
320
+
321
+ </span>
322
+
323
+ {isToolTipMounted ? (
324
+ <ReactTooltip id='edit' type='error'>
325
+ <span>{txtTootipEdit}</span>
326
+ </ReactTooltip>
327
+ ) : null}
328
+
329
+
330
+ </div>
331
+
332
+ <div className={getStyles('card-subcontent-action')}>
333
+
334
+ <span
335
+ data-tip
336
+ data-for='trash'
337
+ onMouseEnter={handleMouseEnter}
338
+ onMouseLeave={handleMouseLeave}
339
+ >
340
+ <Icon
341
+ color="highlight"
342
+ id='trashIcon'
343
+ isClickable
344
+ name="trash"
345
+ onClick={onClickTrash}
346
+ size="sm"
347
+ className={getStyles('icon-view-delete')}
348
+ />
349
+
350
+ </span>
351
+
352
+ {isToolTipMounted ? (
353
+ <ReactTooltip id='trash' type='error'>
354
+ <span>{txtTootipTrash}</span>
355
+ </ReactTooltip>
356
+ ) : null}
357
+
358
+ </div>
359
+
360
+ <div className={getStyles('card-subcontent-action')}>
361
+
362
+ <span
363
+ data-tip
364
+ data-for='circleStatus'
365
+ onMouseEnter={handleMouseEnter}
366
+ onMouseLeave={handleMouseLeave}
367
+ >
368
+
369
+ <Icon
370
+ className={getStyles(
371
+ { 'icon-view-status10': statusService === 10 || -30 },
372
+ { 'icon-view-status20': statusService === 20 },
373
+ // { 'icon-view-status30': statusService === 30 || -20 || -40 },
374
+ )}
375
+ name="circleStatus"
376
+ size="sm"
377
+ />
378
+
379
+ </span>
380
+
381
+ {isToolTipMounted ? (
382
+ <ReactTooltip id='circleStatus' type='error'>
383
+ <span>{txtTootipCircleStatus}</span>
384
+ </ReactTooltip>
385
+ ) : null}
386
+
387
+ </div>
388
+
389
+ </div>
390
+ ) : null}
391
+
392
+ {/* {children} */}
393
+ </div>
394
+ )
395
+ }
396
+
397
+ CardServices.propTypes = {
398
+ getStyles: PropTypes.func.isRequired,
399
+ onClick: PropTypes.func,
400
+ isClickable: PropTypes.bool,
401
+ txtDateService: PropTypes.any,
402
+ txtOriginService: PropTypes.string,
403
+ txtDestinationService: PropTypes.string,
404
+ txtServiceService: PropTypes.string,
405
+ txtUserService: PropTypes.string,
406
+ txtRefService: PropTypes.string,
407
+ txtUserNumberService: PropTypes.string,
408
+ onClickUserView: PropTypes.func,
409
+ txtTootipUserView: PropTypes.string,
410
+ onClickReturnOrder: PropTypes.func,
411
+ txtTootipReturnOrder: PropTypes.string,
412
+ onClickRepeatOrder: PropTypes.func,
413
+ txtTootipRepeatOrder: PropTypes.string,
414
+ onClickEdit: PropTypes.func,
415
+ txtTootipEdit: PropTypes.string,
416
+ onClickTrash: PropTypes.func,
417
+ txtTootipTrash: PropTypes.string,
418
+ txtTootipCircleStatus: PropTypes.string,
419
+ selectCard: PropTypes.bool,
420
+ statusService: PropTypes.number,
421
+ labelOriginService: PropTypes.string,
422
+ labelDestinationService: PropTypes.string,
423
+ labelServiceService: PropTypes.string,
424
+ labelUserService: PropTypes.string,
425
+ labelRefService: PropTypes.string,
426
+ labelUserNumberService: PropTypes.string,
427
+ isViewAction: PropTypes.bool,
428
+ }
429
+
430
+ CardServices.defaultProps = {
431
+ getStyles: () => { },
432
+ txtDateService: '31/08/2022 13:21',
433
+ txtOriginService: 'Aeropuerto Barajas T4, Madrid, España',
434
+ txtDestinationService: 'Estación de Chamartín, Madrid, España',
435
+ txtServiceService: 'ECO (Tarifa máxima)',
436
+ txtUserService: 'Alberto Alvarez',
437
+ txtRefService: '1946980768',
438
+ txtUserNumberService: 'WF3941',
439
+ onClickUserView: () => { },
440
+ txtTootipUserView: 'Ver detalle del servicio',
441
+ onClickReturnOrder: () => { },
442
+ txtTootipReturnOrder: 'Crear retorno del servicio',
443
+ onClickRepeatOrder: () => { },
444
+ txtTootipRepeatOrder: 'Repetir servicio',
445
+ onClickEdit: () => { },
446
+ txtTootipEdit: 'Editar servicio (solo se puede editar 60min. antes)',
447
+ onClickTrash: () => { },
448
+ txtTootipTrash: 'Cancelar servicio',
449
+ txtTootipCircleStatus: '',
450
+ selectCard: false,
451
+ statusService: 10,
452
+ labelOriginService: 'Origen',
453
+ labelDestinationService: 'Destino',
454
+ labelServiceService: 'Servicio',
455
+ labelUserService: 'Pasajero',
456
+ labelRefService: 'REF',
457
+ labelUserNumberService: 'Usuario',
458
+ isViewAction: true,
459
+ }
460
+
461
+ export default withStyles(styles)(CardServices)
@@ -0,0 +1,213 @@
1
+ .card-services {
2
+ /* display: flex; */
3
+ width: 100%;
4
+ align-items: center;
5
+ padding: 2px 10px;
6
+ border: var(--border-width-thin) solid var(--color-base-transparent);
7
+ border-radius: var(--card-border-radius);
8
+ box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);
9
+ color: var(--color-font-base);
10
+ transition: box-shadow .28s cubic-bezier(.4, 0, .2, 1);
11
+ background-color: #fff;
12
+ margin: 0;
13
+ cursor: auto;
14
+ max-width: 360px;
15
+ min-width: 360px;
16
+
17
+ align-items: center;
18
+ align-content: center;
19
+ justify-content: space-around;
20
+ margin-bottom: 10px;
21
+ display: flex;
22
+
23
+ }
24
+
25
+ .card-content {
26
+ display: flex;
27
+ align-items: flex-start;
28
+ align-content: space-between;
29
+ border-top: 1px solid #dfe8f2;
30
+ }
31
+
32
+ .card-content-p-box {
33
+ padding: 6px;
34
+ }
35
+
36
+ .card-content-action {
37
+ padding-left: 10px;
38
+ border-left: 1px solid #dfe8f2;
39
+ height: 100%;
40
+ display: flex;
41
+ flex-direction: column;
42
+ justify-content: space-around;
43
+ }
44
+
45
+ .card-content-p {
46
+ margin: 0;
47
+ padding: 0;
48
+ font-size: var(--font-size-mini);
49
+ font-weight: var(--font-weight-normal);
50
+ line-height: var(--line-height-tight);
51
+ }
52
+
53
+ .card-subcontent {
54
+ width: 100%;
55
+ }
56
+
57
+ .card-subcontent-action {
58
+ display: flex;
59
+ align-items: center;
60
+ }
61
+
62
+ .size-sm {
63
+ min-height: 45px;
64
+ }
65
+
66
+ .size-md {
67
+ min-height: 80px;
68
+ }
69
+
70
+ .size-lg {
71
+ min-height: 115px;
72
+ }
73
+
74
+ .color-primary {
75
+ background: var(--color-primary);
76
+ color: var(--color-primary-inverted);
77
+ }
78
+
79
+ .color-secondary {
80
+ background: var(--color-secondary);
81
+ color: var(--color-secondary-inverted);
82
+ }
83
+
84
+ .color-base {
85
+ border: var(--border-width-thin) solid var(--color-gray-400);
86
+ background: var(--background-color-primary-highlight);
87
+ }
88
+
89
+ .is-clickable {
90
+ cursor: pointer;
91
+ }
92
+
93
+ .is-draggable {
94
+ cursor: grab;
95
+ user-select: none;
96
+ }
97
+
98
+ .card-services.is-clickable:active,
99
+ .card-services.is-draggable:active {
100
+ box-shadow: var(--box-shadow-xs);
101
+ }
102
+
103
+ .selectCard {
104
+ border-top: 4px solid #39b54a;
105
+ border-bottom: 4px solid #00a3ff;
106
+ border-left: 1px solid #39b54a;
107
+ border-right: 1px solid #00a3ff;
108
+ -webkit-box-sizing: border-box;
109
+ -moz-box-sizing: border-box;
110
+ box-sizing: border-box;
111
+ background-position: 0 0, 100% 0;
112
+ background-repeat: no-repeat;
113
+ -webkit-background-size: 4px 100%;
114
+ -moz-background-size: 4px 100%;
115
+ background-size: 4px 100%;
116
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMSAxIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48bGluZWFyR3JhZGllbnQgaWQ9Imxlc3NoYXQtZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMzYWNmZDUiIHN0b3Atb3BhY2l0eT0iMSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzNhNGVkNSIgc3RvcC1vcGFjaXR5PSIxIi8+PC9saW5lYXJHcmFkaWVudD48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2xlc3NoYXQtZ2VuZXJhdGVkKSIgLz48L3N2Zz4=),url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMSAxIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48bGluZWFyR3JhZGllbnQgaWQ9Imxlc3NoYXQtZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMzYWNmZDUiIHN0b3Atb3BhY2l0eT0iMSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzNhNGVkNSIgc3RvcC1vcGFjaXR5PSIxIi8+PC9saW5lYXJHcmFkaWVudD48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2xlc3NoYXQtZ2VuZXJhdGVkKSIgLz48L3N2Zz4=);
117
+ background-image: -webkit-linear-gradient(top, #39b54a 0%, #00a3ff 100%), -webkit-linear-gradient(top, #39b54a 0%, #00a3ff 100%);
118
+ background-image: -moz-linear-gradient(top, #39b54a 0%, #00a3ff 100%), -moz-linear-gradient(top, #39b54a 0%, #00a3ff 100%);
119
+ background-image: -o-linear-gradient(top, #39b54a 0%, #00a3ff 100%), -o-linear-gradient(top, #39b54a 0%, #00a3ff 100%);
120
+ background-image: linear-gradient(to bottom, #39b54a 0%, #00a3ff 100%), linear-gradient(to bottom, #39b54a 0%, #00a3ff 100%);
121
+ }
122
+
123
+ .flip-out-hor-bottom {
124
+ -webkit-animation: flip-out-hor-bottom 0.45s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
125
+ animation: flip-out-hor-bottom 0.45s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
126
+ }
127
+
128
+ .flip-in-hor-bottom {
129
+ -webkit-animation: flip-in-hor-bottom 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
130
+ animation: flip-in-hor-bottom 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
131
+ }
132
+
133
+ /**
134
+ * ----------------------------------------
135
+ * animation flip-out-hor-bottom
136
+ * ----------------------------------------
137
+ */
138
+ @-webkit-keyframes flip-out-hor-bottom {
139
+ 0% {
140
+ -webkit-transform: rotateX(0);
141
+ transform: rotateX(0);
142
+ opacity: 1;
143
+ }
144
+ 100% {
145
+ -webkit-transform: rotateX(-70deg);
146
+ transform: rotateX(-70deg);
147
+ opacity: 0;
148
+ }
149
+ }
150
+ @keyframes flip-out-hor-bottom {
151
+ 0% {
152
+ -webkit-transform: rotateX(0);
153
+ transform: rotateX(0);
154
+ opacity: 1;
155
+ }
156
+ 100% {
157
+ -webkit-transform: rotateX(-70deg);
158
+ transform: rotateX(-70deg);
159
+ opacity: 0;
160
+ }
161
+ }
162
+
163
+
164
+ /**
165
+ * ----------------------------------------
166
+ * animation flip-in-hor-bottom
167
+ * ----------------------------------------
168
+ */
169
+ @-webkit-keyframes flip-in-hor-bottom {
170
+ 0% {
171
+ -webkit-transform: rotateX(80deg);
172
+ transform: rotateX(80deg);
173
+ opacity: 0;
174
+ }
175
+ 100% {
176
+ -webkit-transform: rotateX(0);
177
+ transform: rotateX(0);
178
+ opacity: 1;
179
+ }
180
+ }
181
+ @keyframes flip-in-hor-bottom {
182
+ 0% {
183
+ -webkit-transform: rotateX(80deg);
184
+ transform: rotateX(80deg);
185
+ opacity: 0;
186
+ }
187
+ 100% {
188
+ -webkit-transform: rotateX(0);
189
+ transform: rotateX(0);
190
+ opacity: 1;
191
+ }
192
+ }
193
+
194
+
195
+ .icon-view:hover svg path {
196
+ fill: var(--color-primary-muted);
197
+ }
198
+
199
+ .icon-view-delete:hover svg path {
200
+ fill: var(--color-secondary-muted);
201
+ }
202
+
203
+ .icon-view-status10 svg circle {
204
+ fill: #00a3ff;
205
+ }
206
+
207
+ .icon-view-status20 svg circle {
208
+ fill: #39b54a;
209
+ }
210
+
211
+ .icon-view-status30 svg circle {
212
+ fill: #8F12FE;
213
+ }
@@ -0,0 +1,41 @@
1
+ import { CardServices, options, styles } from '.'
2
+ import {
3
+ getTemplate,
4
+ getListTemplate,
5
+ getOptionsArgTypes,
6
+ } from '../../helpers/storybook'
7
+
8
+ const Template = getTemplate(CardServices, styles)
9
+ const ListTemplate = getListTemplate(CardServices, styles)
10
+
11
+ export default {
12
+ title: 'Molecules/CardServices',
13
+ component: CardServices,
14
+ args: {
15
+ // children:
16
+ // 'Lacerations coaster sort comings windlance happily EIf-witch handful unbefitting? Decide rising startled Aragorn invitations midnight deserves fortunes innards. You cannot hide. I see you. There is no life in the void. Only death. Mirror Emyn dreamed!',
17
+ },
18
+ argTypes: {
19
+ // color: getOptionsArgTypes(options.colors),
20
+ // size: getOptionsArgTypes(options.sizes),
21
+ // children: { control: 'text' },
22
+ },
23
+ }
24
+
25
+ export const Default = Template.bind({})
26
+
27
+ // export const Clickable = Template.bind({})
28
+ // Clickable.args = {
29
+ // isClickable: true,
30
+ // }
31
+
32
+ // export const Dragabble = Template.bind({})
33
+ // Dragabble.args = {
34
+ // isDraggable: true,
35
+ // }
36
+
37
+ // export const Colors = ListTemplate.bind({})
38
+ // Colors.args = { items: options.colors.map((color) => ({ color })) }
39
+
40
+ // export const Sizes = ListTemplate.bind({})
41
+ // Sizes.args = { items: options.sizes.map((size) => ({ size })) }