react-native-exp-fig 0.1.26 → 0.1.28

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 (221) hide show
  1. package/lib/commonjs/components/activity-timeline/components/activite-row/index.js +130 -0
  2. package/lib/commonjs/components/activity-timeline/components/activite-row/index.js.map +1 -0
  3. package/lib/commonjs/components/activity-timeline/index.js +78 -0
  4. package/lib/commonjs/components/activity-timeline/index.js.map +1 -0
  5. package/lib/commonjs/components/activity-timeline/interface.js +6 -0
  6. package/lib/commonjs/components/activity-timeline/interface.js.map +1 -0
  7. package/lib/commonjs/components/activity-timeline/styles.js +84 -0
  8. package/lib/commonjs/components/activity-timeline/styles.js.map +1 -0
  9. package/lib/commonjs/components/input-text-counter/index.js +66 -0
  10. package/lib/commonjs/components/input-text-counter/index.js.map +1 -0
  11. package/lib/commonjs/components/input-text-counter/interface.d.js.map +1 -0
  12. package/lib/commonjs/components/input-text-counter/styles.js +42 -0
  13. package/lib/commonjs/components/input-text-counter/styles.js.map +1 -0
  14. package/lib/commonjs/components/modal-create-activitie/index.js +202 -0
  15. package/lib/commonjs/components/modal-create-activitie/index.js.map +1 -0
  16. package/lib/commonjs/components/modal-create-activitie/interface.js +2 -0
  17. package/lib/commonjs/components/modal-create-activitie/interface.js.map +1 -0
  18. package/lib/commonjs/components/modal-create-activitie/styles.js +42 -0
  19. package/lib/commonjs/components/modal-create-activitie/styles.js.map +1 -0
  20. package/lib/commonjs/components/modal-journey-rectification/index.js +202 -0
  21. package/lib/commonjs/components/modal-journey-rectification/index.js.map +1 -0
  22. package/lib/commonjs/components/modal-journey-rectification/interface.d.js +2 -0
  23. package/lib/commonjs/components/modal-journey-rectification/interface.d.js.map +1 -0
  24. package/lib/commonjs/components/modal-journey-rectification/styles.js +42 -0
  25. package/lib/commonjs/components/modal-journey-rectification/styles.js.map +1 -0
  26. package/lib/commonjs/components/{modal-activities → modals/modal-activities}/data-activities/index.js +2 -2
  27. package/lib/commonjs/components/modals/modal-activities/data-activities/index.js.map +1 -0
  28. package/lib/commonjs/components/{modal-activities → modals/modal-activities}/index.js +8 -8
  29. package/lib/commonjs/components/modals/modal-activities/index.js.map +1 -0
  30. package/lib/commonjs/components/modals/modal-activities/interface.d.js +6 -0
  31. package/lib/commonjs/components/modals/modal-activities/interface.d.js.map +1 -0
  32. package/lib/commonjs/components/modals/modal-activity-reason/index.js +161 -0
  33. package/lib/commonjs/components/modals/modal-activity-reason/index.js.map +1 -0
  34. package/lib/commonjs/components/modals/modal-activity-reason/interface.d.js +2 -0
  35. package/lib/commonjs/components/modals/modal-activity-reason/interface.d.js.map +1 -0
  36. package/lib/commonjs/components/{modal-change-activity → modals/modal-change-activity}/index.js +7 -7
  37. package/lib/commonjs/components/modals/modal-change-activity/index.js.map +1 -0
  38. package/lib/commonjs/components/selects/select-date-and-hours/index.js +95 -0
  39. package/lib/commonjs/components/selects/select-date-and-hours/index.js.map +1 -0
  40. package/lib/commonjs/components/selects/select-date-and-hours/interface.js +6 -0
  41. package/lib/commonjs/components/selects/select-date-and-hours/interface.js.map +1 -0
  42. package/lib/commonjs/components/selects/select-date-and-hours/styles.js +33 -0
  43. package/lib/commonjs/components/selects/select-date-and-hours/styles.js.map +1 -0
  44. package/lib/commonjs/components/selects/select-option/index.js +41 -39
  45. package/lib/commonjs/components/selects/select-option/index.js.map +1 -1
  46. package/lib/commonjs/components/step-indicator/index.js +7 -7
  47. package/lib/commonjs/components/step-indicator/index.js.map +1 -1
  48. package/lib/commonjs/index.js +39 -4
  49. package/lib/commonjs/index.js.map +1 -1
  50. package/lib/commonjs/stories/activity-timeline/activity-timeline.stories.js +82 -0
  51. package/lib/commonjs/stories/activity-timeline/activity-timeline.stories.js.map +1 -0
  52. package/lib/commonjs/stories/input-text-counter/input-text-counter.stories.js +259 -0
  53. package/lib/commonjs/stories/input-text-counter/input-text-counter.stories.js.map +1 -0
  54. package/lib/commonjs/stories/modal-activities/modal-activities.stories.js +1 -1
  55. package/lib/commonjs/stories/modal-activities/modal-activities.stories.js.map +1 -1
  56. package/lib/commonjs/stories/modal-activity-reason/modal-activity-reason.stories.js +198 -0
  57. package/lib/commonjs/stories/modal-activity-reason/modal-activity-reason.stories.js.map +1 -0
  58. package/lib/commonjs/stories/modal-change-activity/modal-change-activity.stories.js +3 -3
  59. package/lib/commonjs/stories/modal-change-activity/modal-change-activity.stories.js.map +1 -1
  60. package/lib/commonjs/stories/modal-create-activitie/modal-create-activitie.stories.js +86 -0
  61. package/lib/commonjs/stories/modal-create-activitie/modal-create-activitie.stories.js.map +1 -0
  62. package/lib/commonjs/stories/modal-journey-rectification/modal-journey-rectification.stories.js +172 -0
  63. package/lib/commonjs/stories/modal-journey-rectification/modal-journey-rectification.stories.js.map +1 -0
  64. package/lib/commonjs/stories/select-option/select-option.stories.js +3 -2
  65. package/lib/commonjs/stories/select-option/select-option.stories.js.map +1 -1
  66. package/lib/commonjs/styles/theme/theme.js +18 -2
  67. package/lib/commonjs/styles/theme/theme.js.map +1 -1
  68. package/lib/commonjs/utils/options-activity/index.js +27 -0
  69. package/lib/commonjs/utils/options-activity/index.js.map +1 -0
  70. package/lib/commonjs/utils/text-limit/index.js +37 -0
  71. package/lib/commonjs/utils/text-limit/index.js.map +1 -0
  72. package/lib/module/components/activity-timeline/components/activite-row/index.js +123 -0
  73. package/lib/module/components/activity-timeline/components/activite-row/index.js.map +1 -0
  74. package/lib/module/components/activity-timeline/index.js +70 -0
  75. package/lib/module/components/activity-timeline/index.js.map +1 -0
  76. package/lib/module/components/activity-timeline/interface.js +2 -0
  77. package/lib/module/components/activity-timeline/interface.js.map +1 -0
  78. package/lib/module/components/activity-timeline/styles.js +78 -0
  79. package/lib/module/components/activity-timeline/styles.js.map +1 -0
  80. package/lib/module/components/input-text-counter/index.js +63 -0
  81. package/lib/module/components/input-text-counter/index.js.map +1 -0
  82. package/lib/module/components/input-text-counter/interface.d.js.map +1 -0
  83. package/lib/module/components/input-text-counter/styles.js +37 -0
  84. package/lib/module/components/input-text-counter/styles.js.map +1 -0
  85. package/lib/module/components/modal-create-activitie/index.js +192 -0
  86. package/lib/module/components/modal-create-activitie/index.js.map +1 -0
  87. package/lib/module/components/modal-create-activitie/interface.js +2 -0
  88. package/lib/module/components/modal-create-activitie/interface.js.map +1 -0
  89. package/lib/module/components/modal-create-activitie/styles.js +37 -0
  90. package/lib/module/components/modal-create-activitie/styles.js.map +1 -0
  91. package/lib/module/components/modal-journey-rectification/index.js +192 -0
  92. package/lib/module/components/modal-journey-rectification/index.js.map +1 -0
  93. package/lib/module/components/modal-journey-rectification/interface.d.js +2 -0
  94. package/lib/module/components/modal-journey-rectification/interface.d.js.map +1 -0
  95. package/lib/module/components/modal-journey-rectification/styles.js +37 -0
  96. package/lib/module/components/modal-journey-rectification/styles.js.map +1 -0
  97. package/lib/module/components/{modal-activities → modals/modal-activities}/data-activities/index.js +2 -2
  98. package/lib/module/components/modals/modal-activities/data-activities/index.js.map +1 -0
  99. package/lib/module/components/{modal-activities → modals/modal-activities}/index.js +8 -8
  100. package/lib/module/components/modals/modal-activities/index.js.map +1 -0
  101. package/lib/module/components/modals/modal-activities/interface.d.js +2 -0
  102. package/lib/module/components/modals/modal-activities/interface.d.js.map +1 -0
  103. package/lib/module/components/modals/modal-activity-reason/index.js +151 -0
  104. package/lib/module/components/modals/modal-activity-reason/index.js.map +1 -0
  105. package/lib/module/components/modals/modal-activity-reason/interface.d.js +2 -0
  106. package/lib/module/components/modals/modal-activity-reason/interface.d.js.map +1 -0
  107. package/lib/module/components/{modal-change-activity → modals/modal-change-activity}/index.js +6 -6
  108. package/lib/module/components/modals/modal-change-activity/index.js.map +1 -0
  109. package/lib/module/components/selects/select-date-and-hours/index.js +86 -0
  110. package/lib/module/components/selects/select-date-and-hours/index.js.map +1 -0
  111. package/lib/module/components/selects/select-date-and-hours/interface.js +2 -0
  112. package/lib/module/components/selects/select-date-and-hours/interface.js.map +1 -0
  113. package/lib/module/components/selects/select-date-and-hours/styles.js +28 -0
  114. package/lib/module/components/selects/select-date-and-hours/styles.js.map +1 -0
  115. package/lib/module/components/selects/select-option/index.js +41 -42
  116. package/lib/module/components/selects/select-option/index.js.map +1 -1
  117. package/lib/module/components/step-indicator/index.js +7 -7
  118. package/lib/module/components/step-indicator/index.js.map +1 -1
  119. package/lib/module/index.js +10 -5
  120. package/lib/module/index.js.map +1 -1
  121. package/lib/module/stories/activity-timeline/activity-timeline.stories.js +75 -0
  122. package/lib/module/stories/activity-timeline/activity-timeline.stories.js.map +1 -0
  123. package/lib/module/stories/input-text-counter/input-text-counter.stories.js +253 -0
  124. package/lib/module/stories/input-text-counter/input-text-counter.stories.js.map +1 -0
  125. package/lib/module/stories/modal-activities/modal-activities.stories.js +1 -1
  126. package/lib/module/stories/modal-activities/modal-activities.stories.js.map +1 -1
  127. package/lib/module/stories/modal-activity-reason/modal-activity-reason.stories.js +193 -0
  128. package/lib/module/stories/modal-activity-reason/modal-activity-reason.stories.js.map +1 -0
  129. package/lib/module/stories/modal-change-activity/modal-change-activity.stories.js +3 -3
  130. package/lib/module/stories/modal-change-activity/modal-change-activity.stories.js.map +1 -1
  131. package/lib/module/stories/modal-create-activitie/modal-create-activitie.stories.js +78 -0
  132. package/lib/module/stories/modal-create-activitie/modal-create-activitie.stories.js.map +1 -0
  133. package/lib/module/stories/modal-journey-rectification/modal-journey-rectification.stories.js +168 -0
  134. package/lib/module/stories/modal-journey-rectification/modal-journey-rectification.stories.js.map +1 -0
  135. package/lib/module/stories/select-option/select-option.stories.js +1 -1
  136. package/lib/module/stories/select-option/select-option.stories.js.map +1 -1
  137. package/lib/module/styles/theme/theme.js +18 -2
  138. package/lib/module/styles/theme/theme.js.map +1 -1
  139. package/lib/module/utils/options-activity/index.js +22 -0
  140. package/lib/module/utils/options-activity/index.js.map +1 -0
  141. package/lib/module/utils/text-limit/index.js +30 -0
  142. package/lib/module/utils/text-limit/index.js.map +1 -0
  143. package/lib/typescript/src/components/activity-timeline/components/activite-row/index.d.ts +10 -0
  144. package/lib/typescript/src/components/activity-timeline/index.d.ts +16 -0
  145. package/lib/typescript/src/components/activity-timeline/interface.d.ts +39 -0
  146. package/lib/typescript/src/components/activity-timeline/styles.d.ts +71 -0
  147. package/lib/typescript/src/components/input-text-counter/index.d.ts +33 -0
  148. package/lib/typescript/src/components/input-text-counter/styles.d.ts +34 -0
  149. package/lib/typescript/src/components/modal-create-activitie/index.d.ts +7 -0
  150. package/lib/typescript/src/components/modal-create-activitie/interface.d.ts +18 -0
  151. package/lib/typescript/src/components/modal-create-activitie/styles.d.ts +32 -0
  152. package/lib/typescript/src/components/modal-journey-rectification/index.d.ts +7 -0
  153. package/lib/typescript/src/components/modal-journey-rectification/styles.d.ts +32 -0
  154. package/lib/typescript/src/components/modals/modal-activity-reason/index.d.ts +7 -0
  155. package/lib/typescript/src/components/selects/select-date-and-hours/index.d.ts +12 -0
  156. package/lib/typescript/src/components/selects/select-date-and-hours/interface.d.ts +21 -0
  157. package/lib/typescript/src/components/selects/select-date-and-hours/styles.d.ts +24 -0
  158. package/lib/typescript/src/components/selects/select-option/index.d.ts +3 -6
  159. package/lib/typescript/src/index.d.ts +8 -3
  160. package/lib/typescript/src/stories/activity-timeline/activity-timeline.stories.d.ts +8 -0
  161. package/lib/typescript/src/stories/input-text-counter/input-text-counter.stories.d.ts +17 -0
  162. package/lib/typescript/src/stories/modal-activities/modal-activities.stories.d.ts +1 -1
  163. package/lib/typescript/src/stories/modal-activity-reason/modal-activity-reason.stories.d.ts +15 -0
  164. package/lib/typescript/src/stories/modal-change-activity/modal-change-activity.stories.d.ts +1 -1
  165. package/lib/typescript/src/stories/modal-create-activitie/modal-create-activitie.stories.d.ts +12 -0
  166. package/lib/typescript/src/stories/modal-journey-rectification/modal-journey-rectification.stories.d.ts +34 -0
  167. package/lib/typescript/src/stories/select-option/select-option.stories.d.ts +1 -1
  168. package/lib/typescript/src/styles/global/theme-provider.d.ts +16 -0
  169. package/lib/typescript/src/styles/theme/theme.d.ts +16 -0
  170. package/lib/typescript/src/utils/options-activity/index.d.ts +20 -0
  171. package/lib/typescript/src/utils/text-limit/index.d.ts +13 -0
  172. package/package.json +1 -1
  173. package/src/components/activity-timeline/components/activite-row/index.tsx +133 -0
  174. package/src/components/activity-timeline/index.tsx +72 -0
  175. package/src/components/activity-timeline/interface.ts +53 -0
  176. package/src/components/activity-timeline/styles.ts +69 -0
  177. package/src/components/input-text-counter/index.tsx +64 -0
  178. package/src/components/input-text-counter/interface.d.ts +41 -0
  179. package/src/components/input-text-counter/styles.ts +38 -0
  180. package/src/components/modal-create-activitie/index.tsx +211 -0
  181. package/src/components/modal-create-activitie/interface.ts +22 -0
  182. package/src/components/modal-create-activitie/styles.ts +24 -0
  183. package/src/components/modal-journey-rectification/index.tsx +211 -0
  184. package/src/components/modal-journey-rectification/interface.d.ts +22 -0
  185. package/src/components/modal-journey-rectification/styles.ts +24 -0
  186. package/src/components/{modal-activities → modals/modal-activities}/data-activities/index.ts +65 -65
  187. package/src/components/{modal-activities → modals/modal-activities}/index.tsx +137 -137
  188. package/src/components/{modal-activities → modals/modal-activities}/interface.d.ts +32 -32
  189. package/src/components/modals/modal-activity-reason/index.tsx +162 -0
  190. package/src/components/modals/modal-activity-reason/interface.d.ts +10 -0
  191. package/src/components/{modal-change-activity → modals/modal-change-activity}/index.tsx +6 -6
  192. package/src/components/selects/select-date-and-hours/index.tsx +97 -0
  193. package/src/components/selects/select-date-and-hours/interface.ts +31 -0
  194. package/src/components/selects/select-date-and-hours/styles.ts +24 -0
  195. package/src/components/selects/select-option/index.tsx +50 -41
  196. package/src/components/step-indicator/index.tsx +235 -235
  197. package/src/index.ts +50 -45
  198. package/src/stories/activity-timeline/activity-timeline.stories.tsx +90 -0
  199. package/src/stories/input-text-counter/input-text-counter.stories.tsx +232 -0
  200. package/src/stories/modal-activities/modal-activities.stories.tsx +64 -64
  201. package/src/stories/modal-activity-reason/modal-activity-reason.stories.tsx +192 -0
  202. package/src/stories/modal-change-activity/modal-change-activity.stories.tsx +49 -49
  203. package/src/stories/modal-create-activitie/modal-create-activitie.stories.tsx +82 -0
  204. package/src/stories/modal-journey-rectification/modal-journey-rectification.stories.tsx +161 -0
  205. package/src/stories/select-option/select-option.stories.tsx +1 -1
  206. package/src/styles/theme/theme.ts +17 -0
  207. package/src/utils/options-activity/index.ts +14 -0
  208. package/src/utils/text-limit/index.ts +28 -0
  209. package/lib/commonjs/components/modal-activities/data-activities/index.js.map +0 -1
  210. package/lib/commonjs/components/modal-activities/index.js.map +0 -1
  211. package/lib/commonjs/components/modal-activities/interface.d.js.map +0 -1
  212. package/lib/commonjs/components/modal-change-activity/index.js.map +0 -1
  213. package/lib/module/components/modal-activities/data-activities/index.js.map +0 -1
  214. package/lib/module/components/modal-activities/index.js.map +0 -1
  215. package/lib/module/components/modal-activities/interface.d.js.map +0 -1
  216. package/lib/module/components/modal-change-activity/index.js.map +0 -1
  217. /package/lib/commonjs/components/{modal-activities → input-text-counter}/interface.d.js +0 -0
  218. /package/lib/module/components/{modal-activities → input-text-counter}/interface.d.js +0 -0
  219. /package/lib/typescript/src/components/{modal-activities → modals/modal-activities}/data-activities/index.d.ts +0 -0
  220. /package/lib/typescript/src/components/{modal-activities → modals/modal-activities}/index.d.ts +0 -0
  221. /package/lib/typescript/src/components/{modal-change-activity → modals/modal-change-activity}/index.d.ts +0 -0
@@ -1,235 +1,235 @@
1
- /**
2
- * IMPORTS
3
- */
4
- import React from "react";
5
- import { View, Text, TouchableOpacity } from "react-native";
6
-
7
- // commons / svg
8
- import { Icons } from "../../common/icons-svg";
9
-
10
- // helpers
11
- import { getIconKeyByValue } from "./helpers/get-icon-by-status";
12
-
13
- // typings
14
- import type { IStepIndicator } from "./interface";
15
-
16
- // styles
17
- import { styles } from "./styles";
18
- import { formHoursMinute } from "../../utils/format-data";
19
- import { theme } from "../../styles/theme/theme";
20
- import { ModalChangeActivity } from "../modal-change-activity";
21
-
22
- /**
23
- * Componente StepIndicator para a interação da ui.
24
- */
25
- const StepIndicator: React.FC<IStepIndicator> = ({
26
- data = [],
27
- type,
28
- textColorDescription,
29
- titleColor,
30
- titleNumberColor,
31
- onChangeActivity,
32
- }) => {
33
- const StepDefault = () => {
34
- const [isModalVisible, setIsModalVisible] = React.useState(false);
35
- const [currentStepIndex, setCurrentStepIndex] = React.useState<number | null>(null);
36
- const [stepData, setStepData] = React.useState(data);
37
-
38
- const handleOnPressActivitie = (stepItem: any, index: number) => {
39
- const desc = stepItem?.descricao?.toLowerCase?.();
40
- if (!desc) return;
41
-
42
- const isDescanso = ["descanso", "refeição", "repouso_noturno", "repouso_semanal"].includes(
43
- desc.replace(/\s+/g, "_")
44
- );
45
-
46
- if (isDescanso && stepItem?.sincronizado === true) {
47
- setCurrentStepIndex(index);
48
- setIsModalVisible(true);
49
- }
50
- };
51
-
52
- const handleConfirmModal = (newData: { label: string; value: string; key: number }) => {
53
- if (currentStepIndex !== null) {
54
- const updatedStep = {
55
- ...stepData[currentStepIndex],
56
- descricao: newData.label,
57
- referencia: newData.value,
58
- ec_tipo_atividade_id: newData.key,
59
- };
60
-
61
- const newSteps = stepData.map((item, index) =>
62
- index === currentStepIndex ? updatedStep : item
63
- );
64
-
65
- setStepData(newSteps as any);
66
-
67
- if (onChangeActivity) {
68
- onChangeActivity(updatedStep);
69
- }
70
- }
71
-
72
- setIsModalVisible(false);
73
- setCurrentStepIndex(null);
74
- };
75
-
76
- return (
77
- <>
78
- {stepData.length > 0 &&
79
- stepData.map((history, index) => {
80
- const isFirst = index === 0;
81
- const isEditableType = history.tipo === "descanso";
82
- const isSynced = history?.sincronizado === true;
83
- const canEdit = isFirst && isEditableType && isSynced;
84
-
85
- return (
86
- <TouchableOpacity
87
- testID="step-indicator"
88
- activeOpacity={0.7}
89
- key={history?.id}
90
- style={styles({}).containerIndicator}
91
- disabled={!canEdit}
92
- onPress={() => handleOnPressActivitie(history, index)}
93
- >
94
- <View style={styles({ sincronizado: history.sincronizado }).containerBall}>
95
- {stepData.length > 1 && index < stepData.length - 1 && (
96
- <View
97
- style={{
98
- width: 2,
99
- height: 84,
100
- marginTop: 116,
101
- position: "relative",
102
- backgroundColor: history.sincronizado
103
- ? theme.colors.blue[500]
104
- : theme.colors.orange[150],
105
- }}
106
- />
107
- )}
108
- <Text style={styles({ titleNumberColor }).titleNumber}>
109
- {stepData.length - index}
110
- </Text>
111
- </View>
112
-
113
- <View style={styles({}).containerMain}>
114
- <Text style={styles({ titleColor }).title}>{history?.descricao}</Text>
115
-
116
- {history?.data_inicio && (
117
- <Text style={styles({ textColorDescription }).titleDescription}>
118
- {`Inicio: ${history.data_inicio} ás ${history.data_fim}`}
119
- </Text>
120
- )}
121
-
122
- {history.duracao_segundos && (
123
- <Text style={styles({ textColorDescription }).titleDescription}>
124
- Duração: {formHoursMinute(history?.duracao_segundos as string)}
125
- </Text>
126
- )}
127
- </View>
128
- </TouchableOpacity>
129
- );
130
- })}
131
-
132
- {isModalVisible && (
133
- <ModalChangeActivity
134
- visible={isModalVisible}
135
- modalConfirm={handleConfirmModal}
136
- descricao=""
137
- onClose={() => setIsModalVisible(false)}
138
- />
139
- )}
140
- </>
141
- );
142
- };
143
-
144
- const StepCustom = () => {
145
- return (
146
- <View
147
- style={{
148
- width: "100%",
149
- height: 84,
150
- paddingHorizontal: 24,
151
- display: "flex",
152
- flexDirection: "row",
153
- }}
154
- >
155
- {data.map((step, indexCustom) => {
156
- const descricao = getIconKeyByValue(step.descricao);
157
-
158
- return (
159
- <React.Fragment key={`step-${indexCustom}`}>
160
- <View
161
- style={{
162
- width: 45,
163
- height: 45,
164
- backgroundColor: indexCustom <= 3 ? "orange" : "transparent",
165
- borderRadius: 50,
166
- alignItems: "center",
167
- justifyContent: "center",
168
- borderWidth: 1,
169
- borderColor: "#fff",
170
- }}
171
- >
172
- <View
173
- style={{
174
- width: 45,
175
- height: 45,
176
- backgroundColor: "transparent",
177
- borderRadius: 50,
178
- alignItems: "center",
179
- justifyContent: "center",
180
- }}
181
- >
182
- {descricao && <Icons icon={descricao} />}
183
- </View>
184
- <Text
185
- style={{
186
- position: "absolute",
187
- top: 56,
188
- fontWeight: "600",
189
- fontSize: 10,
190
- lineHeight: 14,
191
- textAlign: "center",
192
- color: "#fff",
193
- width: 75,
194
- }}
195
- >
196
- {step.descricao}
197
- </Text>
198
- </View>
199
-
200
- {data?.length > 1 && indexCustom < data?.length - 1 && (
201
- <View
202
- style={{
203
- width: 35,
204
- height: 2,
205
- marginTop: 24,
206
- position: "relative",
207
- backgroundColor: "orange",
208
- }}
209
- />
210
- )}
211
- </React.Fragment>
212
- );
213
- })}
214
- </View>
215
- );
216
- };
217
-
218
- const handleRenderComponent = (stepType: "default" | "custom") => {
219
- switch (stepType) {
220
- case "default":
221
- return <StepDefault />;
222
- case "custom":
223
- return <StepCustom />;
224
- default:
225
- return <View />;
226
- }
227
- };
228
-
229
- return <>{handleRenderComponent(type!)}</>;
230
- };
231
-
232
- /**
233
- * EXPORTS
234
- */
235
- export default StepIndicator;
1
+ /**
2
+ * IMPORTS
3
+ */
4
+ import React from "react";
5
+ import { View, Text, TouchableOpacity } from "react-native";
6
+
7
+ // commons / svg
8
+ import { Icons } from "../../common/icons-svg";
9
+
10
+ // helpers
11
+ import { getIconKeyByValue } from "./helpers/get-icon-by-status";
12
+
13
+ // typings
14
+ import type { IStepIndicator } from "./interface";
15
+
16
+ // styles
17
+ import { styles } from "./styles";
18
+ import { formHoursMinute } from "../../utils/format-data";
19
+ import { theme } from "../../styles/theme/theme";
20
+ import { ModalChangeActivity } from "../modals/modal-change-activity";
21
+
22
+ /**
23
+ * Componente StepIndicator para a interação da ui.
24
+ */
25
+ const StepIndicator: React.FC<IStepIndicator> = ({
26
+ data = [],
27
+ type,
28
+ textColorDescription,
29
+ titleColor,
30
+ titleNumberColor,
31
+ onChangeActivity,
32
+ }) => {
33
+ const StepDefault = () => {
34
+ const [isModalVisible, setIsModalVisible] = React.useState(false);
35
+ const [currentStepIndex, setCurrentStepIndex] = React.useState<number | null>(null);
36
+ const [stepData, setStepData] = React.useState(data);
37
+
38
+ const handleOnPressActivitie = (stepItem: any, index: number) => {
39
+ const desc = stepItem?.descricao?.toLowerCase?.();
40
+ if (!desc) return;
41
+
42
+ const isDescanso = ["descanso", "refeição", "repouso_noturno", "repouso_semanal"].includes(
43
+ desc.replace(/\s+/g, "_")
44
+ );
45
+
46
+ if (isDescanso && stepItem?.sincronizado === true) {
47
+ setCurrentStepIndex(index);
48
+ setIsModalVisible(true);
49
+ }
50
+ };
51
+
52
+ const handleConfirmModal = (newData: { label: string; value: string; key: number }) => {
53
+ if (currentStepIndex !== null) {
54
+ const updatedStep = {
55
+ ...stepData[currentStepIndex],
56
+ descricao: newData.label,
57
+ referencia: newData.value,
58
+ ec_tipo_atividade_id: newData.key,
59
+ };
60
+
61
+ const newSteps = stepData.map((item, index) =>
62
+ index === currentStepIndex ? updatedStep : item
63
+ );
64
+
65
+ setStepData(newSteps as any);
66
+
67
+ if (onChangeActivity) {
68
+ onChangeActivity(updatedStep);
69
+ }
70
+ }
71
+
72
+ setIsModalVisible(false);
73
+ setCurrentStepIndex(null);
74
+ };
75
+
76
+ return (
77
+ <>
78
+ {stepData.length > 0 &&
79
+ stepData.map((history, index) => {
80
+ const isFirst = index === 0;
81
+ const isEditableType = history.tipo === "descanso";
82
+ const isSynced = history?.sincronizado === true;
83
+ const canEdit = isFirst && isEditableType && isSynced;
84
+
85
+ return (
86
+ <TouchableOpacity
87
+ testID="step-indicator"
88
+ activeOpacity={0.7}
89
+ key={history?.id}
90
+ style={styles({}).containerIndicator}
91
+ disabled={!canEdit}
92
+ onPress={() => handleOnPressActivitie(history, index)}
93
+ >
94
+ <View style={styles({ sincronizado: history.sincronizado }).containerBall}>
95
+ {stepData.length > 1 && index < stepData.length - 1 && (
96
+ <View
97
+ style={{
98
+ width: 2,
99
+ height: 84,
100
+ marginTop: 116,
101
+ position: "relative",
102
+ backgroundColor: history.sincronizado
103
+ ? theme.colors.blue[500]
104
+ : theme.colors.orange[150],
105
+ }}
106
+ />
107
+ )}
108
+ <Text style={styles({ titleNumberColor }).titleNumber}>
109
+ {stepData.length - index}
110
+ </Text>
111
+ </View>
112
+
113
+ <View style={styles({}).containerMain}>
114
+ <Text style={styles({ titleColor }).title}>{history?.descricao}</Text>
115
+
116
+ {history?.data_inicio && (
117
+ <Text style={styles({ textColorDescription }).titleDescription}>
118
+ {`Inicio: ${history.data_inicio} ás ${history.data_fim}`}
119
+ </Text>
120
+ )}
121
+
122
+ {history.duracao_segundos && (
123
+ <Text style={styles({ textColorDescription }).titleDescription}>
124
+ Duração: {formHoursMinute(history?.duracao_segundos as string)}
125
+ </Text>
126
+ )}
127
+ </View>
128
+ </TouchableOpacity>
129
+ );
130
+ })}
131
+
132
+ {isModalVisible && (
133
+ <ModalChangeActivity
134
+ visible={isModalVisible}
135
+ modalConfirm={handleConfirmModal}
136
+ descricao=""
137
+ onClose={() => setIsModalVisible(false)}
138
+ />
139
+ )}
140
+ </>
141
+ );
142
+ };
143
+
144
+ const StepCustom = () => {
145
+ return (
146
+ <View
147
+ style={{
148
+ width: "100%",
149
+ height: 84,
150
+ paddingHorizontal: 24,
151
+ display: "flex",
152
+ flexDirection: "row",
153
+ }}
154
+ >
155
+ {data.map((step, indexCustom) => {
156
+ const descricao = getIconKeyByValue(step.descricao);
157
+
158
+ return (
159
+ <React.Fragment key={`step-${indexCustom}`}>
160
+ <View
161
+ style={{
162
+ width: 45,
163
+ height: 45,
164
+ backgroundColor: indexCustom <= 3 ? "orange" : "transparent",
165
+ borderRadius: 50,
166
+ alignItems: "center",
167
+ justifyContent: "center",
168
+ borderWidth: 1,
169
+ borderColor: "#fff",
170
+ }}
171
+ >
172
+ <View
173
+ style={{
174
+ width: 45,
175
+ height: 45,
176
+ backgroundColor: "transparent",
177
+ borderRadius: 50,
178
+ alignItems: "center",
179
+ justifyContent: "center",
180
+ }}
181
+ >
182
+ {descricao && <Icons icon={descricao} />}
183
+ </View>
184
+ <Text
185
+ style={{
186
+ position: "absolute",
187
+ top: 56,
188
+ fontWeight: "600",
189
+ fontSize: 10,
190
+ lineHeight: 14,
191
+ textAlign: "center",
192
+ color: "#fff",
193
+ width: 75,
194
+ }}
195
+ >
196
+ {step.descricao}
197
+ </Text>
198
+ </View>
199
+
200
+ {data?.length > 1 && indexCustom < data?.length - 1 && (
201
+ <View
202
+ style={{
203
+ width: 35,
204
+ height: 2,
205
+ marginTop: 24,
206
+ position: "relative",
207
+ backgroundColor: "orange",
208
+ }}
209
+ />
210
+ )}
211
+ </React.Fragment>
212
+ );
213
+ })}
214
+ </View>
215
+ );
216
+ };
217
+
218
+ const handleRenderComponent = (stepType: "default" | "custom") => {
219
+ switch (stepType) {
220
+ case "default":
221
+ return <StepDefault />;
222
+ case "custom":
223
+ return <StepCustom />;
224
+ default:
225
+ return <View />;
226
+ }
227
+ };
228
+
229
+ return <>{handleRenderComponent(type!)}</>;
230
+ };
231
+
232
+ /**
233
+ * EXPORTS
234
+ */
235
+ export default StepIndicator;
package/src/index.ts CHANGED
@@ -1,45 +1,50 @@
1
- /**
2
- * EXPORTS
3
- */
4
-
5
- // Components
6
- export { default as Box } from "./components/box";
7
- export { Button } from "./components/button";
8
- export { default as StepIndicator } from "./components/step-indicator";
9
- export { Typography } from "./components/typography";
10
- export { Input } from "./components/input";
11
- export { CapturePhoto } from "./components/capture-photo";
12
- export { CardHours } from "./components/card-hours";
13
- export { SelectOption } from "./components/selects/select-option";
14
- export { Header } from "./components/header-profile";
15
- export { ScheduledJourneyIndicators } from "./components/scheduled-journey-indicators";
16
- export { CardScheduledJourney } from "./components/card-scheduled-journey";
17
- export { UserProfile } from "./components/user-profile";
18
- export { MenuItem } from "./components/menu-item";
19
- export { CardLoading } from "./components/card-loading";
20
- export { CardWorkSession } from "./components/card-work-session";
21
- export { LoadingProgress } from "./components/loading-progress";
22
- export { NoData } from "./components/no-data";
23
- export { FilterJourney } from "./components/filter-journey";
24
- export { Coil } from "./components/coil";
25
- export { FilterDateSelector } from "./components/filter-date-selector";
26
- export { CardHistory } from "./components/card-history";
27
- export { NotificationLoading } from "./components/notification-loading";
28
- export { CheckBox } from "./components/check-box";
29
- export { ImageCaptureWithRemove } from "./components/image-capture-with-remove";
30
- export { LoadingDetails } from "./components/loading-details";
31
- export { AvatarProfile } from "./components/avatar-profile";
32
- export { HistoryDetails } from "./components/history-details";
33
- export { ActivitiesDaily } from "./components/activities-daily";
34
- export { ActivitiesProgress } from "./components/activities-progress";
35
- export { ProfileMenuOption } from "./components/profile-menu-option";
36
- export { ModalActivities } from "./components/modal-activities";
37
- export { HistoryActivitiesCard } from "./components/history-activities-card";
38
- export { ModalChangeActivity } from "./components/modal-change-activity";
39
-
40
- // Utilities
41
- export { multiply } from "./utils/mutiply";
42
- export { formatDate, getLastSevenDays, formHoursMinute } from "./utils/format-data";
43
-
44
- // Styles
45
- export { theme } from "./styles/theme/theme";
1
+ /**
2
+ * EXPORTS
3
+ */
4
+
5
+ // Components
6
+ export { default as Box } from "./components/box";
7
+ export { Button } from "./components/button";
8
+ export { default as StepIndicator } from "./components/step-indicator";
9
+ export { Typography } from "./components/typography";
10
+ export { Input } from "./components/input";
11
+ export { CapturePhoto } from "./components/capture-photo";
12
+ export { CardHours } from "./components/card-hours";
13
+ export { default as SelectOption } from "./components/selects/select-option";
14
+ export { Header } from "./components/header-profile";
15
+ export { ScheduledJourneyIndicators } from "./components/scheduled-journey-indicators";
16
+ export { CardScheduledJourney } from "./components/card-scheduled-journey";
17
+ export { UserProfile } from "./components/user-profile";
18
+ export { MenuItem } from "./components/menu-item";
19
+ export { CardLoading } from "./components/card-loading";
20
+ export { CardWorkSession } from "./components/card-work-session";
21
+ export { LoadingProgress } from "./components/loading-progress";
22
+ export { NoData } from "./components/no-data";
23
+ export { FilterJourney } from "./components/filter-journey";
24
+ export { Coil } from "./components/coil";
25
+ export { FilterDateSelector } from "./components/filter-date-selector";
26
+ export { CardHistory } from "./components/card-history";
27
+ export { NotificationLoading } from "./components/notification-loading";
28
+ export { CheckBox } from "./components/check-box";
29
+ export { ImageCaptureWithRemove } from "./components/image-capture-with-remove";
30
+ export { LoadingDetails } from "./components/loading-details";
31
+ export { AvatarProfile } from "./components/avatar-profile";
32
+ export { HistoryDetails } from "./components/history-details";
33
+ export { ActivitiesDaily } from "./components/activities-daily";
34
+ export { ActivitiesProgress } from "./components/activities-progress";
35
+ export { ProfileMenuOption } from "./components/profile-menu-option";
36
+ export { ModalActivities } from "./components/modals/modal-activities";
37
+ export { HistoryActivitiesCard } from "./components/history-activities-card";
38
+ export { ModalChangeActivity } from "./components/modals/modal-change-activity";
39
+ export { default as ModalActivityReason } from "./components/modals/modal-activity-reason";
40
+ export { default as InputTextCounter } from "./components/input-text-counter";
41
+ export { default as ModalCreteActivitie } from "./components/modal-create-activitie";
42
+ export { default as ModalJourneyRectification } from "./components/modal-journey-rectification";
43
+ export { default as ActivityTimeline } from "./components/activity-timeline";
44
+
45
+ // Utilities
46
+ export { multiply } from "./utils/mutiply";
47
+ export { formatDate, getLastSevenDays, formHoursMinute } from "./utils/format-data";
48
+
49
+ // Styles
50
+ export { theme } from "./styles/theme/theme";
@@ -0,0 +1,90 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import ActivityTimeline from "../../components/activity-timeline";
3
+
4
+ import type { ActivityItemModel } from "../../components/activity-timeline/interface";
5
+
6
+ const sampleData: ActivityItemModel[] = [
7
+ {
8
+ id: 1,
9
+ title: "Operação com veículo",
10
+ date: "24/03/2025",
11
+ time: "08:00",
12
+ },
13
+ {
14
+ id: 2,
15
+ title: "Refeição",
16
+ date: "24/03/2025",
17
+ time: "12:30",
18
+ },
19
+ {
20
+ id: 3,
21
+ title: "Aguardando carga",
22
+ date: "24/03/2025",
23
+ time: "14:00",
24
+ invalid: true,
25
+ },
26
+ {
27
+ id: 4,
28
+ title: "Descanso",
29
+ date: "24/03/2025",
30
+ time: "18:45",
31
+ },
32
+ ];
33
+
34
+ const meta: Meta<typeof ActivityTimeline> = {
35
+ title: "componente/ActivityTimeline",
36
+ component: ActivityTimeline,
37
+ args: {
38
+ data: sampleData,
39
+ showIndexBadge: true,
40
+ onAdd: (item: ActivityItemModel) => console.log("onAdd", item),
41
+ onEdit: (item: ActivityItemModel) => console.log("onEdit", item),
42
+ onDelete: (item: ActivityItemModel) => console.log("onDelete", item),
43
+ },
44
+ parameters: {
45
+ notes: `
46
+ # ActivityTimeline
47
+
48
+ Lista de atividades com ações de adicionar, editar e excluir.
49
+
50
+ Exemplo de uso:
51
+
52
+ \`\`\`tsx
53
+ <ActivityTimeline
54
+ data={data}
55
+ showIndexBadge
56
+ onAdd={(item) => console.log('onAdd', item)}
57
+ onEdit={(item) => console.log('onEdit', item)}
58
+ onDelete={(item) => console.log('onDelete', item)}
59
+ />
60
+ \`\`\`
61
+ `,
62
+ },
63
+ };
64
+
65
+ export default meta;
66
+
67
+ type Story = StoryObj<typeof meta>;
68
+
69
+ export const Padrao: Story = {
70
+ name: "activity-timeline-padrao",
71
+ args: {
72
+ data: sampleData,
73
+ showIndexBadge: true,
74
+ },
75
+ };
76
+
77
+ export const SemBadge: Story = {
78
+ name: "activity-timeline-sem-badge",
79
+ args: {
80
+ data: sampleData,
81
+ showIndexBadge: false,
82
+ },
83
+ };
84
+
85
+ export const ListaVazia: Story = {
86
+ name: "activity-timeline-lista-vazia",
87
+ args: {
88
+ data: [],
89
+ },
90
+ };