@devix-tecnologia/timeline-vue 1.0.1

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 (60) hide show
  1. package/README.md +18 -0
  2. package/dist/style.css +1 -0
  3. package/dist/timeline-vue.es.js +557 -0
  4. package/dist/types/components/timeline/atomos/AvatarTimeline.vue.d.ts +17 -0
  5. package/dist/types/components/timeline/atomos/BoxData.vue.d.ts +23 -0
  6. package/dist/types/components/timeline/atomos/Destaque.vue.d.ts +11 -0
  7. package/dist/types/components/timeline/atomos/Hora.vue.d.ts +24 -0
  8. package/dist/types/components/timeline/atomos/IconeCategoria.vue.d.ts +57 -0
  9. package/dist/types/components/timeline/atomos/IconeStatus.vue.d.ts +17 -0
  10. package/dist/types/components/timeline/atomos/SubtituloEvento.vue.d.ts +13 -0
  11. package/dist/types/components/timeline/atomos/TituloEvento.vue.d.ts +13 -0
  12. package/dist/types/components/timeline/index.d.ts +3 -0
  13. package/dist/types/components/timeline/moleculas/DescricaoEvento.vue.d.ts +21 -0
  14. package/dist/types/components/timeline/moleculas/EventoTimeline.vue.d.ts +18 -0
  15. package/dist/types/components/timeline/moleculas/HoraEvento.vue.d.ts +19 -0
  16. package/dist/types/components/timeline/moleculas/PerfilTimeline.vue.d.ts +39 -0
  17. package/dist/types/components/timeline/moleculas/SeparadorPeriodo.vue.d.ts +24 -0
  18. package/dist/types/components/timeline/moleculas/Topo.vue.d.ts +3 -0
  19. package/dist/types/components/timeline/organismos/Timeline.mock.d.ts +3 -0
  20. package/dist/types/components/timeline/organismos/Timeline.vue.d.ts +40 -0
  21. package/dist/types/components/timeline/type.d.ts +23 -0
  22. package/dist/types/index.d.ts +5 -0
  23. package/dist/vite.svg +1 -0
  24. package/package.json +53 -0
  25. package/src/assets/vue.svg +1 -0
  26. package/src/components/timeline/atomos/AvatarTimeline.stories.ts +32 -0
  27. package/src/components/timeline/atomos/AvatarTimeline.vue +51 -0
  28. package/src/components/timeline/atomos/BoxData.stories.ts +41 -0
  29. package/src/components/timeline/atomos/BoxData.vue +57 -0
  30. package/src/components/timeline/atomos/Destaque.stories.ts +24 -0
  31. package/src/components/timeline/atomos/Destaque.vue +39 -0
  32. package/src/components/timeline/atomos/Hora.stories.ts +36 -0
  33. package/src/components/timeline/atomos/Hora.vue +53 -0
  34. package/src/components/timeline/atomos/IconeCategoria.stories.ts +60 -0
  35. package/src/components/timeline/atomos/IconeCategoria.vue +110 -0
  36. package/src/components/timeline/atomos/IconeStatus.stories.ts +38 -0
  37. package/src/components/timeline/atomos/IconeStatus.vue +72 -0
  38. package/src/components/timeline/atomos/SubtituloEvento.stories.ts +24 -0
  39. package/src/components/timeline/atomos/SubtituloEvento.vue +33 -0
  40. package/src/components/timeline/atomos/TituloEvento.stories.ts +24 -0
  41. package/src/components/timeline/atomos/TituloEvento.vue +32 -0
  42. package/src/components/timeline/index.ts +7 -0
  43. package/src/components/timeline/moleculas/DescricaoEvento.stories.ts +31 -0
  44. package/src/components/timeline/moleculas/DescricaoEvento.vue +59 -0
  45. package/src/components/timeline/moleculas/EventoTimeline.stories.ts +94 -0
  46. package/src/components/timeline/moleculas/EventoTimeline.vue +102 -0
  47. package/src/components/timeline/moleculas/HoraEvento.stories.ts +37 -0
  48. package/src/components/timeline/moleculas/HoraEvento.vue +73 -0
  49. package/src/components/timeline/moleculas/PerfilTimeline.stories.ts +40 -0
  50. package/src/components/timeline/moleculas/PerfilTimeline.vue +103 -0
  51. package/src/components/timeline/moleculas/SeparadorPeriodo.stories.ts +42 -0
  52. package/src/components/timeline/moleculas/SeparadorPeriodo.vue +101 -0
  53. package/src/components/timeline/moleculas/Topo.vue +38 -0
  54. package/src/components/timeline/organismos/Timeline.mock.ts +281 -0
  55. package/src/components/timeline/organismos/Timeline.stories.ts +31 -0
  56. package/src/components/timeline/organismos/Timeline.vue +188 -0
  57. package/src/components/timeline/type.ts +30 -0
  58. package/src/global.css +98 -0
  59. package/src/index.ts +16 -0
  60. package/src/vite-env.d.ts +1 -0
package/README.md ADDED
@@ -0,0 +1,18 @@
1
+ # Vue 3 + TypeScript + Vite
2
+
3
+ This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
4
+
5
+ ## Recommended IDE Setup
6
+
7
+ - [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
8
+
9
+ ## Type Support For `.vue` Imports in TS
10
+
11
+ TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
12
+
13
+ If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
14
+
15
+ 1. Disable the built-in TypeScript Extension
16
+ 1. Run `Extensions: Show Built-in Extensions` from VSCode's command palette
17
+ 2. Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
18
+ 2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .areaCategoria[data-v-596712b7]{display:table-cell;align-items:center;width:3rem;padding:1.8rem 1.4rem}.bg-escuro[data-v-596712b7],.iconeCategoria[data-v-596712b7]{background:var(--cor-secundaria);border-radius:50%;width:3rem;height:3rem;display:flex;flex-direction:row;justify-content:center;align-items:center;color:var(--cor-terciaria);border:3px solid var(--cor-secundaria)}.iconeCategoria span[data-v-596712b7]{font-size:2rem}.iconeCategoria.bg-claro[data-v-596712b7],.realizado .iconeCategoria[data-v-596712b7],.cancelado .iconeCategoria[data-v-596712b7],.adiado .iconeCategoria[data-v-596712b7]{opacity:.3}.iconeCategoria.borda-alerta[data-v-596712b7],.criticidade-media .iconeCategoria[data-v-596712b7]{border-color:var(--cor-alerta)}.iconeCategoria.borda-importante[data-v-596712b7],.criticidade-alta .iconeCategoria[data-v-596712b7]{border-color:var(--cor-importante)}.iconeCategoria.borda-sucesso[data-v-596712b7]{border-color:var(--cor-sucesso)}.bg-claro.iconeCategoria.borda-importante[data-v-596712b7],.adiado.criticidade-alta .iconeCategoria[data-v-596712b7],.cancelado.criticidade-alta .iconeCategoria[data-v-596712b7],.realizado.criticidade-alta .iconeCategoria[data-v-596712b7]{border-color:var(--cor-importante)}.iconeStatus[data-v-f9b2f36c]{font-size:1.6rem;line-height:1rem;color:var(--cor-secundaria);width:1.6rem;display:table-cell;padding:2.7rem 1.4rem 1.4rem;vertical-align:top}.realizado.iconeStatus[data-v-f9b2f36c]{color:var(--cor-sucesso)}.realizado.iconeStatus[data-v-f9b2f36c]:before{font-family:Material Symbols Outlined;content:""}.cancelado.iconeStatus[data-v-f9b2f36c]{color:var(--cor-importante)}.cancelado.iconeStatus[data-v-f9b2f36c]:before{font-family:Material Symbols Outlined;content:""}.adiado.iconeStatus[data-v-f9b2f36c]{color:var(--cor-apoio)}.adiado.iconeStatus[data-v-f9b2f36c]:before{font-family:Material Symbols Outlined;content:""}.planejado.iconeStatus[data-v-f9b2f36c]{opacity:0}.planejado.iconeStatus[data-v-f9b2f36c]:before{font-family:Material Symbols Outlined;content:""}.atrasado.iconeStatus[data-v-f9b2f36c]:before{font-family:Material Symbols Outlined;content:""}.descricaoEvento .subtitulo[data-v-f5319628]{line-height:1.4rem;margin:0;color:var(--cor-texto)}.bg-selecionado .descricaoEvento .subtitulo[data-v-f5319628]{color:var(--cor-texto-selecao)}.descricaoEvento .titulo[data-v-fce23b0e]{line-height:1.4rem;margin:0;color:var(--cor-texto)}.bg-selecionado .descricaoEvento .titulo[data-v-fce23b0e]{color:var(--cor-texto-selecao)}.descricaoEvento[data-v-57ec4748]{display:table-cell;vertical-align:top;padding:1.4rem;padding-left:0}.realizado .descricaoEvento[data-v-57ec4748],.cancelado .descricaoEvento[data-v-57ec4748],.adiado .descricaoEvento[data-v-57ec4748]{opacity:.4}.descricaoEvento .titulo[data-v-57ec4748]{line-height:1.8rem;margin:0}@media only screen and (max-width: 400px){.descricaoEvento[data-v-57ec4748]{max-width:15rem}}.hora[data-v-c83864af]{color:var(--cor-texto)}.bg-selecionado .hora[data-v-c83864af]{color:var(--cor-texto-selecao)}.hora-padrao[data-v-c83864af],.horaRealizada[data-v-c83864af]{font-weight:500;font-size:1.4rem}.hora-riscada[data-v-c83864af],.horaPlanejada[data-v-c83864af]{text-decoration:line-through;font-size:1rem}.realizado .horaEvento[data-v-22e53379],.cancelado .horaEvento[data-v-22e53379],.adiado .horaEvento[data-v-22e53379]{opacity:.4}.areaHora[data-v-22e53379]{width:4.5rem;display:table-cell;vertical-align:top;text-align:right;padding:1.4rem 0}.horaEvento[data-v-22e53379]{line-height:1.4rem;text-align:right;display:flex;flex-direction:column}.horaRealizada[data-v-22e53379]{font-weight:500}.horaPlanejada[data-v-22e53379]{text-decoration:line-through}.realizado .destaqueEvento[data-v-c2b8e419],.cancelado .destaqueEvento[data-v-c2b8e419],.adiado .destaqueEvento[data-v-c2b8e419]{opacity:.4}.destaqueEvento[data-v-c2b8e419]{display:table-cell;text-align:right;width:15%;line-height:1em;color:var(--cor-texto);padding:1.4rem;vertical-align:middle}.bg-selecionado .destaqueEvento[data-v-c2b8e419]{color:var(--cor-texto-selecao)}.eventoTimeline[data-v-54059adf]{position:relative;width:100%;border-radius:1rem}.eventoTimeline[data-v-54059adf]:hover{background:#f9f9f9}.atual[data-v-54059adf],.atual[data-v-54059adf]:hover{background:var(--cor-selecao)}.eventoTimeline[data-v-54059adf]:before{content:"";background:var(--cor-linha);display:block;position:absolute;width:2px;top:0;height:1.5rem;left:11.7rem}.eventoTimeline[data-v-54059adf]:after{content:"";background:var(--cor-linha);display:block;position:absolute;width:2px;top:5.1rem;bottom:0;left:11.7rem}.boxData[data-v-5e2b8273]{line-height:3.5rem;border-radius:.5rem;background:var(--cor-primaria);color:var(--cor-secundaria);margin:0;width:3.5rem;height:3.5rem;text-align:center}.padrao[data-v-5e2b8273]{background:var(--cor-primaria);color:var(--cor-secundaria)}.escuro[data-v-5e2b8273]{background:var(--cor-secundaria);color:var(--cor-primaria)}.claro[data-v-5e2b8273]{background:var(--cor-terciaria);color:var(--cor-secundaria);box-shadow:0 0 10px #0000001c}.separadorPeriodo[data-v-35229a33]{display:table-row;width:100%;position:relative;background:#fff}.areaData[data-v-35229a33]{display:table-cell;padding:2.8rem 1.4rem 2.8rem 10.1rem;position:relative}.areaData[data-v-35229a33]:before{content:"";background:var(--cor-linha);display:block;position:absolute;width:2px;height:2.5rem;top:0;left:11.7rem}.areaData[data-v-35229a33]:after{content:"";background:var(--cor-linha);display:block;position:absolute;width:2px;height:2.5rem;bottom:0;left:11.7rem}.separadorPeriodo .titulo[data-v-35229a33]{text-transform:uppercase;padding-bottom:3.45rem;color:var(--cor-texto)}.separadorPeriodo .titulo.claro[data-v-35229a33]{color:var(--cor-apoio)}.avatar[data-v-a913d26b]{background:var(--cor-secundaria);color:var(--cor-apoio);width:6rem;height:6rem;border-radius:50%;display:flex;flex-direction:row;justify-content:center;align-items:center;aspect-ratio:1 / 1}.avatar img[data-v-a913d26b]{aspect-ratio:1 / 1;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%}.avatar span[data-v-a913d26b]{font-size:3rem}.perfilTimeline[data-v-de2da009]{background:var(--cor-primaria);padding:1.4rem;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1.4rem;z-index:999;width:100%;min-height:8rem;transition:all .3s}.nome[data-v-de2da009]{color:var(--cor-secundaria)}.fixed[data-v-de2da009]{position:fixed;top:0;left:0;transition:all .3s}.areaEvento[data-v-97897a02]{display:table-row;min-height:8rem;position:relative!important;width:100%}.timeline[data-v-97897a02]{display:table;width:100%;position:relative}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*:focus{outline:none}:root{--fonte: "Work Sans", sans-serif;font-size:62.5%;--cor-primaria: #00e01d;--cor-secundaria: #1b2f39;--cor-terciaria: #ebf1f2;--cor-fundo: #fff;--cor-selecao: #ccf9d2;--cor-texto-selecao: #1b2f39;--cor-texto: #1b2f39;--cor-apoio: #57676f;--cor-linha: #e9eaeb;--cor-importante: #bb0202;--cor-alerta: #f0cc0d;--cor-sucesso: #00a816}:root .tema-escuro{--fonte: "Work Sans", sans-serif;font-size:62.5%;--cor-primaria: #00e01d;--cor-secundaria: #ebf1f2;--cor-terciaria: #1b2f39;--cor-fundo: #1b2f39;--cor-selecao: #ccf9d2;--cor-texto-selecao: #1b2f39;--cor-texto: #f9f9f9;--cor-apoio: #57676f;--cor-linha: #e9eaeb;--cor-importante: #bb0202;--cor-alerta: #f0cc0d;--cor-sucesso: #00a816}body{font-family:var(--fonte);font-size:1.6rem;font-weight:300}h1{font-size:2.4rem;font-weight:600}h2{font-size:1.8rem;font-weight:600}h3{font-size:1.4rem;font-weight:600;margin:0;padding:0;line-height:1em}h4{font-size:1.2rem;font-weight:300}.texto-pequeno{font-size:1rem}.texto-medio{font-size:1.2rem}.texto-grande{font-size:1.4rem}
@@ -0,0 +1,557 @@
1
+ import { defineComponent as u, reactive as P, computed as y, openBlock as o, createElementBlock as i, createElementVNode as h, normalizeClass as b, normalizeStyle as I, toDisplayString as g, resolveComponent as p, createVNode as m, createBlock as E, createCommentVNode as T, ref as q, onMounted as z, onUnmounted as j, Fragment as H, renderList as O } from "vue";
2
+ const w = u({
3
+ name: "categoria",
4
+ props: {
5
+ iconeCategoria: {
6
+ type: String,
7
+ required: !0
8
+ },
9
+ categoria: {
10
+ type: String
11
+ },
12
+ escuro: {
13
+ type: Boolean,
14
+ default: !0
15
+ },
16
+ tipo: {
17
+ type: String
18
+ },
19
+ borderColor: {
20
+ type: String
21
+ },
22
+ backgroundColor: {
23
+ type: String
24
+ }
25
+ },
26
+ setup(e) {
27
+ return e = P(e), {
28
+ classes: y(() => ({
29
+ "bg-escuro": e.escuro,
30
+ "bg-claro": !e.escuro,
31
+ [`borda-${e.tipo || "padrao"}`]: !0
32
+ })),
33
+ style: y(() => ({
34
+ borderColor: e.borderColor,
35
+ backgroundColor: e.backgroundColor
36
+ }))
37
+ };
38
+ }
39
+ });
40
+ const _ = (e, n) => {
41
+ const t = e.__vccOpts || e;
42
+ for (const [a, s] of n)
43
+ t[a] = s;
44
+ return t;
45
+ }, B = { class: "areaCategoria" }, F = ["alt"], M = { class: "material-symbols-outlined" };
46
+ function R(e, n, t, a, s, c) {
47
+ return o(), i("div", B, [
48
+ h("div", {
49
+ class: b(["iconeCategoria", e.classes]),
50
+ style: I(e.style),
51
+ alt: e.categoria
52
+ }, [
53
+ h("span", M, g(e.iconeCategoria), 1)
54
+ ], 14, F)
55
+ ]);
56
+ }
57
+ const A = /* @__PURE__ */ _(w, [["render", R], ["__scopeId", "data-v-596712b7"]]), N = u({
58
+ name: "status",
59
+ props: {
60
+ status: {
61
+ required: !0,
62
+ type: String
63
+ }
64
+ },
65
+ components: {},
66
+ setup(e) {
67
+ return e = P(e), {
68
+ classes: y(() => ({
69
+ [`${e.status || "planejado"}`]: !0
70
+ }))
71
+ };
72
+ }
73
+ });
74
+ function V(e, n, t, a, s, c) {
75
+ return o(), i("div", {
76
+ class: b([e.classes, "iconeStatus"])
77
+ }, null, 2);
78
+ }
79
+ const Y = /* @__PURE__ */ _(N, [["render", V], ["__scopeId", "data-v-f9b2f36c"]]), L = u({
80
+ props: {
81
+ subtitulo: {
82
+ required: !0,
83
+ type: String
84
+ }
85
+ },
86
+ components: {},
87
+ setup() {
88
+ return {};
89
+ }
90
+ });
91
+ const U = { class: "subtitulo" };
92
+ function G(e, n, t, a, s, c) {
93
+ return o(), i("h4", U, g(e.subtitulo), 1);
94
+ }
95
+ const J = /* @__PURE__ */ _(L, [["render", G], ["__scopeId", "data-v-f5319628"]]), K = u({
96
+ props: {
97
+ titulo: {
98
+ required: !0,
99
+ type: String
100
+ }
101
+ },
102
+ components: {},
103
+ setup() {
104
+ return {};
105
+ }
106
+ });
107
+ const Q = { class: "titulo" };
108
+ function W(e, n, t, a, s, c) {
109
+ return o(), i("h3", Q, g(e.titulo), 1);
110
+ }
111
+ const X = /* @__PURE__ */ _(K, [["render", W], ["__scopeId", "data-v-fce23b0e"]]), Z = u({
112
+ props: {
113
+ titulo: {
114
+ required: !0,
115
+ type: String
116
+ },
117
+ subtitulo: {
118
+ required: !0,
119
+ type: String
120
+ }
121
+ },
122
+ components: { TituloEvento: X, SubtituloEvento: J },
123
+ setup() {
124
+ return {};
125
+ }
126
+ });
127
+ const x = {
128
+ key: 0,
129
+ class: "descricaoEvento"
130
+ }, ee = {
131
+ key: 1,
132
+ class: "descricaoEvento",
133
+ style: { "padding-top": "2.3rem" }
134
+ };
135
+ function te(e, n, t, a, s, c) {
136
+ const r = p("TituloEvento"), S = p("SubtituloEvento");
137
+ return e.subtitulo ? (o(), i("div", x, [
138
+ m(r, { titulo: e.titulo }, null, 8, ["titulo"]),
139
+ m(S, { subtitulo: e.subtitulo }, null, 8, ["subtitulo"])
140
+ ])) : (o(), i("div", ee, [
141
+ m(r, { titulo: e.titulo }, null, 8, ["titulo"])
142
+ ]));
143
+ }
144
+ const oe = /* @__PURE__ */ _(Z, [["render", te], ["__scopeId", "data-v-57ec4748"]]), ne = u({
145
+ name: "hora",
146
+ props: {
147
+ hora: {
148
+ required: !0,
149
+ type: Date
150
+ },
151
+ aparencia: {
152
+ type: String
153
+ }
154
+ },
155
+ components: {},
156
+ setup(e) {
157
+ e = P(e);
158
+ const n = e.hora, t = n.getHours(), a = n.getMinutes(), s = `${t}:${a.toString().padStart(2, "0")}`;
159
+ return {
160
+ classes: y(() => ({
161
+ [`hora-${e.aparencia || ""}`]: !0
162
+ })),
163
+ horaString: s
164
+ };
165
+ }
166
+ });
167
+ function ae(e, n, t, a, s, c) {
168
+ return o(), i("div", {
169
+ class: b(["hora", e.classes])
170
+ }, g(e.horaString), 3);
171
+ }
172
+ const se = /* @__PURE__ */ _(ne, [["render", ae], ["__scopeId", "data-v-c83864af"]]), re = u({
173
+ props: {
174
+ horaPrevista: {
175
+ type: Date,
176
+ required: !0
177
+ },
178
+ horaRealizada: {
179
+ type: Date
180
+ }
181
+ // aparencia: {
182
+ // type: String,
183
+ // },
184
+ },
185
+ components: { Hora: se },
186
+ setup() {
187
+ return {};
188
+ }
189
+ });
190
+ const ie = { class: "areaHora" }, ce = { class: "horaEvento" };
191
+ function le(e, n, t, a, s, c) {
192
+ const r = p("Hora");
193
+ return o(), i("div", ie, [
194
+ h("div", ce, [
195
+ e.horaRealizada ? (o(), E(r, {
196
+ key: 0,
197
+ class: "horaRealizada texto-grande",
198
+ hora: e.horaRealizada,
199
+ style: { "padding-top": "0.3rem" }
200
+ }, null, 8, ["hora"])) : T("", !0),
201
+ e.horaRealizada ? (o(), E(r, {
202
+ key: 1,
203
+ class: "horaPlanejada texto-pequeno",
204
+ hora: e.horaPrevista
205
+ }, null, 8, ["hora"])) : (o(), E(r, {
206
+ key: 2,
207
+ class: "horaRealizada texto-grande",
208
+ hora: e.horaPrevista,
209
+ style: { "padding-top": "1.2rem" }
210
+ }, null, 8, ["hora"]))
211
+ ])
212
+ ]);
213
+ }
214
+ const de = /* @__PURE__ */ _(re, [["render", le], ["__scopeId", "data-v-22e53379"]]), ue = u({
215
+ name: "destaque",
216
+ props: {
217
+ destaque: {
218
+ type: String
219
+ }
220
+ },
221
+ components: {},
222
+ setup() {
223
+ return {};
224
+ }
225
+ });
226
+ const _e = { class: "destaqueEvento texto-pequeno" };
227
+ function pe(e, n, t, a, s, c) {
228
+ return o(), i("div", _e, g(e.destaque), 1);
229
+ }
230
+ const me = /* @__PURE__ */ _(ue, [["render", pe], ["__scopeId", "data-v-c2b8e419"]]), ve = u({
231
+ props: {
232
+ dadosEvento: {
233
+ required: !0,
234
+ type: Object
235
+ }
236
+ },
237
+ components: {
238
+ IconeStatus: Y,
239
+ IconeCategoria: A,
240
+ HoraEvento: de,
241
+ DescricaoEvento: oe,
242
+ Destaque: me
243
+ },
244
+ setup(e) {
245
+ return {
246
+ eventoSelecionado: y(() => ({
247
+ atual: e.dadosEvento.atual == !0,
248
+ padrao: e.dadosEvento.atual == !1
249
+ }))
250
+ };
251
+ }
252
+ });
253
+ function fe(e, n, t, a, s, c) {
254
+ const r = p("IconeStatus"), S = p("HoraEvento"), d = p("IconeCategoria"), l = p("DescricaoEvento"), v = p("Destaque");
255
+ return o(), i("article", {
256
+ class: b(["eventoTimeline", [
257
+ e.dadosEvento.valor.status,
258
+ "criticidade-" + e.dadosEvento.valor.criticidade,
259
+ e.eventoSelecionado
260
+ ]])
261
+ }, [
262
+ m(r, {
263
+ status: e.dadosEvento.valor.status
264
+ }, null, 8, ["status"]),
265
+ m(S, {
266
+ horaPrevista: e.dadosEvento.valor.previsto,
267
+ horaRealizada: e.dadosEvento.valor.realizado
268
+ }, null, 8, ["horaPrevista", "horaRealizada"]),
269
+ m(d, {
270
+ iconeCategoria: e.dadosEvento.valor.categoria.icone,
271
+ categoria: e.dadosEvento.valor.categoria.nome
272
+ }, null, 8, ["iconeCategoria", "categoria"]),
273
+ m(l, {
274
+ titulo: e.dadosEvento.valor.titulo,
275
+ subtitulo: e.dadosEvento.valor.subtitulo
276
+ }, null, 8, ["titulo", "subtitulo"]),
277
+ m(v, {
278
+ destaque: e.dadosEvento.valor.destaque
279
+ }, null, 8, ["destaque"])
280
+ ], 2);
281
+ }
282
+ const ge = /* @__PURE__ */ _(ve, [["render", fe], ["__scopeId", "data-v-54059adf"]]), $e = u({
283
+ name: "BoxData",
284
+ props: {
285
+ dataNumero: {
286
+ required: !0,
287
+ type: Number
288
+ },
289
+ aparencia: {
290
+ type: String
291
+ }
292
+ },
293
+ components: {},
294
+ setup(e) {
295
+ return e = P(e), {
296
+ classes: y(() => ({
297
+ [`${e.aparencia || "padrao"}`]: !0
298
+ }))
299
+ };
300
+ }
301
+ });
302
+ function ye(e, n, t, a, s, c) {
303
+ return o(), i("h3", {
304
+ class: b(["boxData padrao", e.classes])
305
+ }, g(e.dataNumero), 3);
306
+ }
307
+ const he = /* @__PURE__ */ _($e, [["render", ye], ["__scopeId", "data-v-5e2b8273"]]), be = u({
308
+ name: "SeparadorPeriodo",
309
+ props: {
310
+ dataSeparador: {
311
+ required: !0,
312
+ type: String
313
+ },
314
+ aparencia: {
315
+ type: String
316
+ }
317
+ },
318
+ components: { BoxData: he },
319
+ setup(e) {
320
+ const n = [
321
+ "janeiro",
322
+ "fevereiro",
323
+ "março",
324
+ "abril",
325
+ "maio",
326
+ "junho",
327
+ "julho",
328
+ "agosto",
329
+ "setembro",
330
+ "outubro",
331
+ "novembro",
332
+ "dezembro"
333
+ ], t = e.dataSeparador, a = new Date(t), s = a.getFullYear(), c = n[a.getMonth()], r = a.getDate();
334
+ return { dataRecebida: t, ano: s, mes: c, dia: r };
335
+ }
336
+ });
337
+ const Se = { class: "separadorPeriodo" }, Ee = { class: "areaData" };
338
+ function Te(e, n, t, a, s, c) {
339
+ const r = p("BoxData");
340
+ return o(), i("div", Se, [
341
+ h("div", Ee, [
342
+ m(r, {
343
+ dataNumero: e.dia,
344
+ aparencia: e.aparencia
345
+ }, null, 8, ["dataNumero", "aparencia"])
346
+ ]),
347
+ h("h3", {
348
+ class: b(["titulo", e.aparencia])
349
+ }, g(e.mes) + " de " + g(e.ano), 3)
350
+ ]);
351
+ }
352
+ const Pe = /* @__PURE__ */ _(be, [["render", Te], ["__scopeId", "data-v-35229a33"]]), ke = u({
353
+ props: {
354
+ imagem: {
355
+ type: String
356
+ },
357
+ icone: {
358
+ type: String
359
+ }
360
+ },
361
+ setup() {
362
+ return {};
363
+ }
364
+ });
365
+ const qe = { class: "avatar" }, De = ["src"], Ie = {
366
+ key: 1,
367
+ class: "material-symbols-outlined"
368
+ };
369
+ function Ce(e, n, t, a, s, c) {
370
+ return o(), i("div", qe, [
371
+ e.imagem ? (o(), i("img", {
372
+ key: 0,
373
+ src: e.imagem
374
+ }, null, 8, De)) : e.icone ? (o(), i("span", Ie, g(e.icone), 1)) : T("", !0)
375
+ ]);
376
+ }
377
+ const ze = /* @__PURE__ */ _(ke, [["render", Ce], ["__scopeId", "data-v-a913d26b"]]), je = u({
378
+ components: { AvatarTimeline: ze },
379
+ props: {
380
+ imagemPerfil: {
381
+ type: String
382
+ },
383
+ nomePerfil: {
384
+ type: String
385
+ },
386
+ iconePerfil: {
387
+ type: String
388
+ },
389
+ backgroundColor: {
390
+ type: String,
391
+ default: "var(--cor-primaria)"
392
+ }
393
+ },
394
+ setup(e) {
395
+ e = P(e);
396
+ const n = y(() => ({
397
+ backgroundColor: e.backgroundColor
398
+ })), t = q(null), a = q(!1), s = () => {
399
+ if (t.value) {
400
+ const c = window.pageYOffset || document.documentElement.scrollTop, r = t.value.offsetTop;
401
+ a.value = c > r;
402
+ }
403
+ };
404
+ return z(() => {
405
+ window.addEventListener("scroll", s);
406
+ }), j(() => {
407
+ window.removeEventListener("scroll", s);
408
+ }), {
409
+ style: n,
410
+ elementoFixo: t,
411
+ isFixed: a
412
+ };
413
+ }
414
+ });
415
+ const He = { class: "nome" };
416
+ function Oe(e, n, t, a, s, c) {
417
+ const r = p("AvatarTimeline");
418
+ return o(), i("div", {
419
+ class: b(["perfilTimeline", { fixed: e.isFixed }]),
420
+ ref: "elementoFixo",
421
+ style: I(e.style)
422
+ }, [
423
+ e.imagemPerfil ? (o(), E(r, {
424
+ key: 0,
425
+ imagem: e.imagemPerfil
426
+ }, null, 8, ["imagem"])) : e.iconePerfil ? (o(), E(r, {
427
+ key: 1,
428
+ icone: e.iconePerfil
429
+ }, null, 8, ["icone"])) : T("", !0),
430
+ h("h2", He, g(e.nomePerfil), 1)
431
+ ], 6);
432
+ }
433
+ const we = /* @__PURE__ */ _(je, [["render", Oe], ["__scopeId", "data-v-de2da009"]]), Be = u({
434
+ props: {
435
+ perfilTimeline: {
436
+ required: !0,
437
+ type: Object
438
+ },
439
+ eventosTimeline: {
440
+ required: !0,
441
+ type: Object
442
+ }
443
+ // ordem: {
444
+ // required: false,
445
+ // type: Ordem,
446
+ // },
447
+ },
448
+ components: {
449
+ PerfilTimeline: we,
450
+ SeparadorPeriodo: Pe,
451
+ EventoTimeline: ge
452
+ },
453
+ setup(e) {
454
+ const n = P(
455
+ e.eventosTimeline
456
+ ), t = n.sort(
457
+ (d, l) => d.data.getTime() - l.data.getTime()
458
+ ), a = (d, l) => {
459
+ const v = d.getDay() === l.getDay(), f = d.getMonth() === l.getMonth(), $ = d.getFullYear() === l.getFullYear();
460
+ return v && f && $;
461
+ };
462
+ function s(d) {
463
+ if (d) {
464
+ const l = Date.now();
465
+ let v = null, f = [];
466
+ for (const $ of d) {
467
+ const C = $.data.getTime(), k = Math.abs(l - C);
468
+ (v === null || k < v) && (v = k, f.length = 0), ($.status === "planejado" || $.status === "atrasado") && f.push($);
469
+ }
470
+ return f;
471
+ } else
472
+ return console.log("vazio.. ", []), [];
473
+ }
474
+ const c = s(t), r = c[0] ? c[0] : null;
475
+ return {
476
+ eventosPorTipo: y(() => {
477
+ if (n) {
478
+ let d = [], l = null, v = 0;
479
+ for (const f of t) {
480
+ const $ = f.data;
481
+ (!l || !a(l, $)) && (l = $, d.push({
482
+ tipo: "dia",
483
+ valor: f.data,
484
+ key: ++v
485
+ })), d.push({
486
+ tipo: "evento",
487
+ valor: f,
488
+ key: ++v,
489
+ atual: r === null ? !1 : f.id === r.id
490
+ });
491
+ }
492
+ return d;
493
+ } else
494
+ return [];
495
+ })
496
+ };
497
+ },
498
+ methods: {
499
+ scrollParaItemAtual() {
500
+ const e = document.querySelector(".atual");
501
+ e == null || e.scrollIntoView({
502
+ behavior: "smooth",
503
+ block: "center"
504
+ });
505
+ }
506
+ },
507
+ mounted() {
508
+ this.scrollParaItemAtual();
509
+ }
510
+ });
511
+ const Fe = { key: 0 }, Me = { key: 1 }, Re = { class: "timeline" };
512
+ function Ae(e, n, t, a, s, c) {
513
+ const r = p("PerfilTimeline"), S = p("SeparadorPeriodo"), d = p("EventoTimeline");
514
+ return o(), i("div", null, [
515
+ h("div", null, [
516
+ e.perfilTimeline !== null ? (o(), E(r, {
517
+ key: 0,
518
+ nomePerfil: e.perfilTimeline.nome,
519
+ imagemPerfil: e.perfilTimeline.imagem,
520
+ iconePerfil: e.perfilTimeline.icone
521
+ }, null, 8, ["nomePerfil", "imagemPerfil", "iconePerfil"])) : T("", !0)
522
+ ]),
523
+ (o(!0), i(H, null, O(e.eventosPorTipo, (l) => (o(), i("div", {
524
+ key: l.key,
525
+ class: "areaTimeline"
526
+ }, [
527
+ l.tipo === "dia" ? (o(), i("div", Fe, [
528
+ m(S, {
529
+ dataSeparador: l.valor.toDateString()
530
+ }, null, 8, ["dataSeparador"])
531
+ ])) : T("", !0),
532
+ l.tipo === "evento" ? (o(), i("div", Me, [
533
+ h("section", Re, [
534
+ m(d, { dadosEvento: l }, null, 8, ["dadosEvento"])
535
+ ])
536
+ ])) : T("", !0)
537
+ ]))), 128))
538
+ ]);
539
+ }
540
+ const Ne = /* @__PURE__ */ _(Be, [["render", Ae], ["__scopeId", "data-v-97897a02"]]), Ve = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
541
+ __proto__: null
542
+ }, Symbol.toStringTag, { value: "Module" })), D = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
543
+ __proto__: null,
544
+ Timeline: Ne,
545
+ Tipos: Ve
546
+ }, Symbol.toStringTag, { value: "Module" }));
547
+ const Le = {
548
+ install(e, ...n) {
549
+ for (const t in D)
550
+ e.component(t, D[t]);
551
+ }
552
+ };
553
+ export {
554
+ Ne as Timeline,
555
+ Ve as Tipos,
556
+ Le as default
557
+ };
@@ -0,0 +1,17 @@
1
+ /** __vue_virtual_code_placeholder */
2
+ declare const _default: import("vue").DefineComponent<{
3
+ imagem: {
4
+ type: StringConstructor;
5
+ };
6
+ icone: {
7
+ type: StringConstructor;
8
+ };
9
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
10
+ imagem: {
11
+ type: StringConstructor;
12
+ };
13
+ icone: {
14
+ type: StringConstructor;
15
+ };
16
+ }>>, {}>;
17
+ export default _default;
@@ -0,0 +1,23 @@
1
+ /** __vue_virtual_code_placeholder */
2
+ declare const _default: import("vue").DefineComponent<{
3
+ dataNumero: {
4
+ required: true;
5
+ type: NumberConstructor;
6
+ };
7
+ aparencia: {
8
+ type: StringConstructor;
9
+ };
10
+ }, {
11
+ classes: import("vue").ComputedRef<{
12
+ [x: string]: boolean;
13
+ }>;
14
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
15
+ dataNumero: {
16
+ required: true;
17
+ type: NumberConstructor;
18
+ };
19
+ aparencia: {
20
+ type: StringConstructor;
21
+ };
22
+ }>>, {}>;
23
+ export default _default;
@@ -0,0 +1,11 @@
1
+ /** __vue_virtual_code_placeholder */
2
+ declare const _default: import("vue").DefineComponent<{
3
+ destaque: {
4
+ type: StringConstructor;
5
+ };
6
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
7
+ destaque: {
8
+ type: StringConstructor;
9
+ };
10
+ }>>, {}>;
11
+ export default _default;
@@ -0,0 +1,24 @@
1
+ /** __vue_virtual_code_placeholder */
2
+ declare const _default: import("vue").DefineComponent<{
3
+ hora: {
4
+ required: true;
5
+ type: DateConstructor;
6
+ };
7
+ aparencia: {
8
+ type: StringConstructor;
9
+ };
10
+ }, {
11
+ classes: import("vue").ComputedRef<{
12
+ [x: string]: boolean;
13
+ }>;
14
+ horaString: string;
15
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
16
+ hora: {
17
+ required: true;
18
+ type: DateConstructor;
19
+ };
20
+ aparencia: {
21
+ type: StringConstructor;
22
+ };
23
+ }>>, {}>;
24
+ export default _default;