@devix-tecnologia/timeline-vue 1.1.0 → 1.1.2

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 (42) hide show
  1. package/README.md +50 -35
  2. package/dist/style.css +1 -1
  3. package/dist/timeline-vue.es.js +166 -176
  4. package/dist/types/components/timeline/moleculas/PerfilTimeline.vue.d.ts +0 -1
  5. package/dist/types/components/timeline/organismos/Timeline.vue.d.ts +1 -0
  6. package/package.json +2 -2
  7. package/src/assets/vue.svg +0 -1
  8. package/src/components/timeline/atomos/AvatarTimeline.stories.ts +0 -32
  9. package/src/components/timeline/atomos/AvatarTimeline.vue +0 -51
  10. package/src/components/timeline/atomos/BoxData.stories.ts +0 -41
  11. package/src/components/timeline/atomos/BoxData.vue +0 -57
  12. package/src/components/timeline/atomos/Destaque.stories.ts +0 -24
  13. package/src/components/timeline/atomos/Destaque.vue +0 -39
  14. package/src/components/timeline/atomos/Hora.stories.ts +0 -36
  15. package/src/components/timeline/atomos/Hora.vue +0 -50
  16. package/src/components/timeline/atomos/IconeCategoria.stories.ts +0 -60
  17. package/src/components/timeline/atomos/IconeCategoria.vue +0 -110
  18. package/src/components/timeline/atomos/IconeStatus.stories.ts +0 -38
  19. package/src/components/timeline/atomos/IconeStatus.vue +0 -73
  20. package/src/components/timeline/atomos/SubtituloEvento.stories.ts +0 -24
  21. package/src/components/timeline/atomos/SubtituloEvento.vue +0 -33
  22. package/src/components/timeline/atomos/TituloEvento.stories.ts +0 -24
  23. package/src/components/timeline/atomos/TituloEvento.vue +0 -32
  24. package/src/components/timeline/index.ts +0 -7
  25. package/src/components/timeline/moleculas/DescricaoEvento.stories.ts +0 -31
  26. package/src/components/timeline/moleculas/DescricaoEvento.vue +0 -59
  27. package/src/components/timeline/moleculas/EventoTimeline.stories.ts +0 -94
  28. package/src/components/timeline/moleculas/EventoTimeline.vue +0 -158
  29. package/src/components/timeline/moleculas/HoraEvento.stories.ts +0 -37
  30. package/src/components/timeline/moleculas/HoraEvento.vue +0 -74
  31. package/src/components/timeline/moleculas/PerfilTimeline.stories.ts +0 -40
  32. package/src/components/timeline/moleculas/PerfilTimeline.vue +0 -102
  33. package/src/components/timeline/moleculas/SeparadorPeriodo.stories.ts +0 -42
  34. package/src/components/timeline/moleculas/SeparadorPeriodo.vue +0 -100
  35. package/src/components/timeline/moleculas/Topo.vue +0 -38
  36. package/src/components/timeline/organismos/Timeline.mock.ts +0 -311
  37. package/src/components/timeline/organismos/Timeline.stories.ts +0 -48
  38. package/src/components/timeline/organismos/Timeline.vue +0 -212
  39. package/src/components/timeline/type.ts +0 -34
  40. package/src/global.css +0 -98
  41. package/src/index.ts +0 -16
  42. package/src/vite-env.d.ts +0 -1
@@ -1,32 +0,0 @@
1
- import AvatarTimeline from './AvatarTimeline.vue';
2
- import { Meta, StoryFn } from '@storybook/vue3';
3
-
4
- export default {
5
- title: 'Devix/Timeline/Atomos/AvatarTimeline',
6
- component: AvatarTimeline,
7
- parameters: {
8
- componentSubtitle: 'Imagem ou ícones do Materials Symbols do Google',
9
- },
10
- argTypes: {},
11
- } as Meta<typeof AvatarTimeline>;
12
-
13
- const Template: StoryFn<typeof AvatarTimeline> = (args) => ({
14
- components: { AvatarTimeline },
15
- setup() {
16
- return { args };
17
- },
18
- template: '<AvatarTimeline v-bind="args" />',
19
- });
20
-
21
- const avatar =
22
- 'https://images.unsplash.com/photo-1526080652727-5b77f74eacd2?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1752&q=80';
23
-
24
- export const Imagem = Template.bind({});
25
- Imagem.args = {
26
- imagem: avatar,
27
- };
28
-
29
- export const Icone = Template.bind({});
30
- Icone.args = {
31
- icone: 'person',
32
- };
@@ -1,51 +0,0 @@
1
- <template>
2
- <div class="avatar">
3
- <img v-if="imagem" :src="imagem" />
4
- <span v-else-if="icone" class="material-symbols-outlined">
5
- {{ icone }}
6
- </span>
7
- </div>
8
- </template>
9
- <script lang="ts">
10
- import { defineComponent } from "vue";
11
- export default defineComponent({
12
- props: {
13
- imagem: {
14
- type: String,
15
- },
16
- icone: {
17
- type: String,
18
- },
19
- },
20
- setup() {
21
- return {};
22
- },
23
- });
24
- </script>
25
- <style scoped>
26
- .avatar {
27
- background: var(--cor-secundaria);
28
- color: var(--cor-apoio);
29
- width: 6rem;
30
- height: 6rem;
31
- border-radius: 50%;
32
- display: flex;
33
- flex-direction: row;
34
- justify-content: center;
35
- align-items: center;
36
- aspect-ratio: 1 / 1;
37
- }
38
-
39
- .avatar img {
40
- aspect-ratio: 1 / 1;
41
- width: 100%;
42
- height: 100%;
43
- object-fit: cover;
44
- object-position: center;
45
- border-radius: 50%;
46
- }
47
-
48
- .avatar span {
49
- font-size: 3rem;
50
- }
51
- </style>
@@ -1,41 +0,0 @@
1
- import '@fontsource/material-icons';
2
- import BoxData from './BoxData.vue';
3
- import { Meta, StoryFn } from '@storybook/vue3';
4
-
5
- export default {
6
- title: 'Devix/Timeline/Atomos/BoxData',
7
- component: BoxData,
8
- argTypes: {
9
- // dataBox: { control: { type: String } },
10
- aparencia: {
11
- control: { type: 'select' },
12
- options: ['padrao', 'escuro', 'claro'],
13
- },
14
- },
15
- } as Meta<typeof BoxData>;
16
-
17
- const Template: StoryFn<typeof BoxData> = (args) => ({
18
- components: { BoxData },
19
- setup() {
20
- return { args };
21
- },
22
- template: '<BoxData v-bind="args" />',
23
- });
24
-
25
- export const Padrao = Template.bind({});
26
- Padrao.args = {
27
- dataNumero: '01',
28
- aparencia: 'padrao',
29
- };
30
-
31
- export const Escuro = Template.bind({});
32
- Escuro.args = {
33
- dataNumero: '01',
34
- aparencia: 'escuro',
35
- };
36
-
37
- export const Claro = Template.bind({});
38
- Claro.args = {
39
- dataNumero: '01',
40
- aparencia: 'claro',
41
- };
@@ -1,57 +0,0 @@
1
- <template>
2
- <h3 class="boxData padrao" :class="classes">{{ dataNumero }}</h3>
3
- </template>
4
- <script lang="ts">
5
- import { defineComponent, reactive, computed } from 'vue';
6
-
7
- export default defineComponent({
8
- name: 'BoxData',
9
- props: {
10
- dataNumero: {
11
- required: true,
12
- type: Number,
13
- },
14
- aparencia: {
15
- type: String,
16
- },
17
- },
18
- components: {},
19
- setup(props) {
20
- props = reactive(props);
21
- return {
22
- classes: computed(() => ({
23
- [`${props.aparencia || 'padrao'}`]: true,
24
- })),
25
- };
26
- },
27
- });
28
- </script>
29
-
30
- <style scoped>
31
- .boxData {
32
- line-height: 3.5rem;
33
- border-radius: 0.5rem;
34
- background: var(--cor-primaria);
35
- color: var(--cor-secundaria);
36
- margin: 0;
37
- width: 3.5rem;
38
- height: 3.5rem;
39
- text-align: center;
40
- }
41
-
42
- .padrao {
43
- background: var(--cor-primaria);
44
- color: var(--cor-secundaria);
45
- }
46
-
47
- .escuro {
48
- background: var(--cor-secundaria);
49
- color: var(--cor-primaria);
50
- }
51
-
52
- .claro {
53
- background: var(--cor-terciaria);
54
- color: var(--cor-secundaria);
55
- box-shadow: 0px 0px 10px 0px #0000001c;
56
- }
57
- </style>
@@ -1,24 +0,0 @@
1
- import '@fontsource/material-icons';
2
- import Destaque from './Destaque.vue';
3
- import { Meta, StoryFn } from '@storybook/vue3';
4
-
5
- export default {
6
- title: 'Devix/Timeline/Atomos/Destaque',
7
- component: Destaque,
8
- argTypes: {
9
- // subtitulo: { control: { type: String } },
10
- },
11
- } as Meta<typeof Destaque>;
12
-
13
- const DestaqueoMock = 'Texto alinhado a direita';
14
-
15
- const Template: StoryFn<typeof Destaque> = (args) => ({
16
- components: { Destaque },
17
- setup() {
18
- return { args };
19
- },
20
- template: '<Destaque v-bind="args" />',
21
- });
22
-
23
- export const Padrao = Template.bind({});
24
- Padrao.args = { destaque: DestaqueoMock };
@@ -1,39 +0,0 @@
1
- <template>
2
- <div class="destaqueEvento texto-pequeno">{{ destaque }}</div>
3
- </template>
4
- <script lang="ts">
5
- import { defineComponent } from "vue";
6
-
7
- export default defineComponent({
8
- name: "destaque",
9
- props: {
10
- destaque: {
11
- type: String,
12
- },
13
- },
14
- components: {},
15
- setup() {
16
- return {};
17
- },
18
- });
19
- </script>
20
- <style scoped>
21
- .realizado .destaqueEvento,
22
- .cancelado .destaqueEvento,
23
- .adiado .destaqueEvento {
24
- opacity: 0.4;
25
- }
26
- .destaqueEvento {
27
- display: table-cell;
28
- text-align: right;
29
- width: 15%;
30
- line-height: 1em;
31
- color: var(--cor-texto);
32
- padding: 2.4rem 1.4rem;
33
- vertical-align: middle;
34
- }
35
-
36
- .bg-selecionado .destaqueEvento {
37
- color: var(--cor-texto-selecao);
38
- }
39
- </style>
@@ -1,36 +0,0 @@
1
- import Hora from './Hora.vue';
2
- import { Meta, StoryFn } from '@storybook/vue3';
3
-
4
- export default {
5
- title: 'Devix/Timeline/Atomos/Hora',
6
- component: Hora,
7
- argTypes: {
8
- // hora: { control: { type: String } },
9
- aparencia: {
10
- control: { type: 'select' },
11
- options: ['padrao', 'riscada'],
12
- },
13
- },
14
- } as Meta<typeof Hora>;
15
-
16
- const horaMock = '2023-12-10T09:00Z';
17
-
18
- const Template: StoryFn<typeof Hora> = (args) => ({
19
- components: { Hora },
20
- setup() {
21
- return { args };
22
- },
23
- template: '<Hora v-bind="args" />',
24
- });
25
-
26
- export const Padrao = Template.bind({});
27
- Padrao.args = {
28
- hora: horaMock,
29
- aparencia: 'padrao',
30
- };
31
-
32
- export const Riscada = Template.bind({});
33
- Riscada.args = {
34
- hora: horaMock,
35
- aparencia: 'riscada',
36
- };
@@ -1,50 +0,0 @@
1
- <template>
2
- <div class="hora" :class="classes">
3
- {{ hora.getHours() }}:{{ hora.getMinutes().toString().padStart(2, "0") }}
4
- </div>
5
- </template>
6
- <script lang="ts">
7
- import { defineComponent, reactive, computed, ref } from "vue";
8
-
9
- export default defineComponent({
10
- name: "hora",
11
- props: {
12
- hora: {
13
- required: true,
14
- type: Date,
15
- },
16
- aparencia: {
17
- type: String,
18
- },
19
- },
20
- components: {},
21
- setup(props) {
22
- const propsAparecia = ref(props.aparencia);
23
-
24
- return {
25
- classes: computed(() => ({
26
- [`hora-${propsAparecia || ""}`]: true,
27
- })),
28
- };
29
- },
30
- });
31
- </script>
32
- <style scoped>
33
- .hora {
34
- color: var(--cor-texto);
35
- }
36
-
37
- .bg-selecionado .hora {
38
- color: var(--cor-texto-selecao);
39
- }
40
- .hora-padrao,
41
- .horaRealizada {
42
- font-weight: 500;
43
- font-size: 1.4rem;
44
- }
45
- .hora-riscada,
46
- .horaPlanejada {
47
- text-decoration: line-through;
48
- font-size: 1rem;
49
- }
50
- </style>
@@ -1,60 +0,0 @@
1
- import '@fontsource/material-icons';
2
- import IconeCategoria from './IconeCategoria.vue';
3
- import { Meta, StoryFn } from '@storybook/vue3';
4
-
5
- export default {
6
- title: 'Devix/Timeline/Atomos/IconeCategoria',
7
- component: IconeCategoria,
8
- argTypes: {
9
- // categoria: { control: { type: String } },
10
- tipo: {
11
- control: { type: 'select' },
12
- options: ['padrao', 'importante', 'alerta', 'sucesso'],
13
- },
14
- },
15
- } as Meta<typeof IconeCategoria>;
16
-
17
- const categoriaMock = 'call';
18
-
19
- const Template: StoryFn<typeof IconeCategoria> = (args) => ({
20
- components: { IconeCategoria },
21
- setup() {
22
- return { args };
23
- },
24
- template: '<IconeCategoria v-bind="args" />',
25
- });
26
-
27
- export const Escuro = Template.bind({});
28
- Escuro.args = {
29
- iconeCategoria: categoriaMock,
30
- escuro: true,
31
- tipo: 'padrao',
32
- };
33
-
34
- export const Claro = Template.bind({});
35
- Claro.args = {
36
- iconeCategoria: categoriaMock,
37
- escuro: false,
38
- tipo: 'padrao',
39
- };
40
-
41
- export const Importante = Template.bind({});
42
- Importante.args = {
43
- iconeCategoria: categoriaMock,
44
- escuro: true,
45
- tipo: 'importante',
46
- };
47
-
48
- export const Alerta = Template.bind({});
49
- Alerta.args = {
50
- iconeCategoria: categoriaMock,
51
- escuro: true,
52
- tipo: 'alerta',
53
- };
54
-
55
- export const Sucesso = Template.bind({});
56
- Sucesso.args = {
57
- iconeCategoria: categoriaMock,
58
- escuro: true,
59
- tipo: 'sucesso',
60
- };
@@ -1,110 +0,0 @@
1
- <template>
2
- <div class="areaCategoria">
3
- <div
4
- class="iconeCategoria"
5
- :class="classes"
6
- :style="style"
7
- :alt="categoria"
8
- >
9
- <span class="material-symbols-outlined"> {{ iconeCategoria }} </span>
10
- </div>
11
- </div>
12
- </template>
13
- <script lang="ts">
14
- import { defineComponent, reactive, computed } from "vue";
15
- export default defineComponent({
16
- name: "categoria",
17
- props: {
18
- iconeCategoria: {
19
- type: String,
20
- required: true,
21
- },
22
- categoria: {
23
- type: String,
24
- },
25
- escuro: {
26
- type: Boolean,
27
- default: true,
28
- },
29
- tipo: {
30
- type: String,
31
- },
32
- borderColor: {
33
- type: String,
34
- },
35
- backgroundColor: {
36
- type: String,
37
- },
38
- },
39
- setup(props) {
40
- props = reactive(props);
41
- return {
42
- classes: computed(() => ({
43
- "bg-escuro": props.escuro,
44
- "bg-claro": !props.escuro,
45
- [`borda-${props.tipo || "padrao"}`]: true,
46
- })),
47
- style: computed(() => ({
48
- borderColor: props.borderColor,
49
- backgroundColor: props.backgroundColor,
50
- })),
51
- };
52
- },
53
- });
54
- </script>
55
- <style scoped>
56
- /* icone com categoria */
57
-
58
- .areaCategoria {
59
- display: table-cell;
60
- align-items: center;
61
- width: 3rem;
62
- padding: 2.8rem 1.4rem;
63
- }
64
-
65
- .bg-escuro,
66
- .iconeCategoria {
67
- background: var(--cor-secundaria);
68
- border-radius: 50%;
69
- width: 3rem;
70
- height: 3rem;
71
- display: flex;
72
- flex-direction: row;
73
- justify-content: center;
74
- align-items: center;
75
- color: var(--cor-terciaria);
76
- border: 3px solid var(--cor-secundaria);
77
- }
78
-
79
- .iconeCategoria span {
80
- font-size: 2rem;
81
- }
82
-
83
- .iconeCategoria.bg-claro,
84
- .realizado .iconeCategoria,
85
- .cancelado .iconeCategoria,
86
- .adiado .iconeCategoria {
87
- opacity: 0.3;
88
- }
89
-
90
- .iconeCategoria.borda-alerta,
91
- .criticidade-media .iconeCategoria {
92
- border-color: var(--cor-alerta);
93
- }
94
-
95
- .iconeCategoria.borda-importante,
96
- .criticidade-alta .iconeCategoria {
97
- border-color: var(--cor-importante);
98
- }
99
-
100
- .iconeCategoria.borda-sucesso {
101
- border-color: var(--cor-sucesso);
102
- }
103
-
104
- .bg-claro.iconeCategoria.borda-importante,
105
- .adiado.criticidade-alta .iconeCategoria,
106
- .cancelado.criticidade-alta .iconeCategoria,
107
- .realizado.criticidade-alta .iconeCategoria {
108
- border-color: var(--cor-importante);
109
- }
110
- </style>
@@ -1,38 +0,0 @@
1
- import '@fontsource/material-icons';
2
- import IconeStatus from './IconeStatus.vue';
3
- import { Meta, StoryFn } from '@storybook/vue3';
4
-
5
- export default {
6
- title: 'Devix/Timeline/Atomos/IconeStatus',
7
- component: IconeStatus,
8
- argTypes: {
9
- // status: { control: { type: String } },
10
- status: {
11
- control: { type: 'select' },
12
- options: ['planejado', 'realizado', 'cancelado', 'adiado', 'atrasado'],
13
- },
14
- },
15
- } as Meta<typeof IconeStatus>;
16
-
17
- const Template: StoryFn<typeof IconeStatus> = (args) => ({
18
- components: { IconeStatus },
19
- setup() {
20
- return { args };
21
- },
22
- template: '<IconeStatus v-bind="args" />',
23
- });
24
-
25
- export const Planejado = Template.bind({});
26
- Planejado.args = { status: 'planejado' };
27
-
28
- export const Realizado = Template.bind({});
29
- Realizado.args = { status: 'realizado' };
30
-
31
- export const Cancelado = Template.bind({});
32
- Cancelado.args = { status: 'cancelado' };
33
-
34
- export const Adiado = Template.bind({});
35
- Adiado.args = { status: 'adiado' };
36
-
37
- export const Atrasado = Template.bind({});
38
- Atrasado.args = { status: 'atrasado' };
@@ -1,73 +0,0 @@
1
- <template>
2
- <div :class="classes" class="iconeStatus"></div>
3
- </template>
4
- <script lang="ts">
5
- import { defineComponent, reactive, computed } from "vue";
6
-
7
- export default defineComponent({
8
- name: "status",
9
- props: {
10
- status: {
11
- required: true,
12
- type: String,
13
- },
14
- },
15
- components: {},
16
- setup(props) {
17
- props = reactive(props);
18
- return {
19
- classes: computed(() => ({
20
- [`${props.status || "planejado"}`]: true,
21
- })),
22
- };
23
- },
24
- });
25
- </script>
26
- <style scoped>
27
- /* icones */
28
- .iconeStatus {
29
- font-size: 1.8rem;
30
- line-height: 1rem;
31
- color: var(--cor-secundaria);
32
- width: 1.6rem;
33
- display: table-cell;
34
- padding: 2.4rem 1.4rem;
35
- vertical-align: top;
36
- padding-top: 3.7rem;
37
- }
38
-
39
- .realizado.iconeStatus {
40
- color: var(--cor-sucesso);
41
- }
42
- .realizado.iconeStatus::before {
43
- font-family: "Material Symbols Outlined";
44
- content: "\e86c";
45
- }
46
- .cancelado.iconeStatus {
47
- color: var(--cor-importante);
48
- }
49
- .cancelado.iconeStatus::before {
50
- font-family: "Material Symbols Outlined";
51
- content: "\e5c9";
52
- }
53
- .adiado.iconeStatus {
54
- color: var(--cor-apoio);
55
- }
56
- .adiado.iconeStatus::before {
57
- font-family: "Material Symbols Outlined";
58
- content: "\e923";
59
- }
60
-
61
- .planejado.iconeStatus {
62
- opacity: 0;
63
- }
64
- .planejado.iconeStatus::before {
65
- font-family: "Material Symbols Outlined";
66
- content: "\e838";
67
- }
68
- .atrasado.iconeStatus::before {
69
- font-family: "Material Symbols Outlined";
70
- content: "\f725";
71
- color: var(--cor-alerta);
72
- }
73
- </style>
@@ -1,24 +0,0 @@
1
- import '@fontsource/material-icons';
2
- import SubtituloEvento from './SubtituloEvento.vue';
3
- import { Meta, StoryFn } from '@storybook/vue3';
4
-
5
- export default {
6
- title: 'Devix/Timeline/Atomos/SubtituloEvento',
7
- component: SubtituloEvento,
8
- argTypes: {
9
- // subtitulo: { control: { type: String } },
10
- },
11
- } as Meta<typeof SubtituloEvento>;
12
-
13
- const subtituloEventooMock = 'subtitulo';
14
-
15
- const Template: StoryFn<typeof SubtituloEvento> = (args) => ({
16
- components: { SubtituloEvento },
17
- setup() {
18
- return { args };
19
- },
20
- template: '<SubtituloEvento v-bind="args" />',
21
- });
22
-
23
- export const Padrao = Template.bind({});
24
- Padrao.args = { subtitulo: subtituloEventooMock };
@@ -1,33 +0,0 @@
1
- <template>
2
- <h4 class="subtitulo">{{ subtitulo }}</h4>
3
- </template>
4
- <script lang="ts">
5
- import { defineComponent } from 'vue';
6
-
7
- export default defineComponent({
8
- props: {
9
- subtitulo: {
10
- required: true,
11
- type: String,
12
- },
13
- },
14
-
15
- components: {},
16
- setup() {
17
- return {};
18
- },
19
- });
20
- </script>
21
-
22
- <style scoped>
23
- /* descrição do evento */
24
- .descricaoEvento .subtitulo {
25
- line-height: 1.4rem;
26
- margin: 0;
27
- color: var(--cor-texto);
28
- }
29
-
30
- .bg-selecionado .descricaoEvento .subtitulo {
31
- color: var(--cor-texto-selecao);
32
- }
33
- </style>
@@ -1,24 +0,0 @@
1
- import '@fontsource/material-icons';
2
- import TituloEvento from './TituloEvento.vue';
3
- import { Meta, StoryFn } from '@storybook/vue3';
4
-
5
- export default {
6
- title: 'Devix/Timeline/Atomos/TituloEvento',
7
- component: TituloEvento,
8
- argTypes: {
9
- // titulo: { control: { type: String } },
10
- },
11
- } as Meta<typeof TituloEvento>;
12
-
13
- const tituloEventoMock = 'titulo';
14
-
15
- const Template: StoryFn<typeof TituloEvento> = (args) => ({
16
- components: { TituloEvento },
17
- setup() {
18
- return { args };
19
- },
20
- template: '<TituloEvento v-bind="args" />',
21
- });
22
-
23
- export const Padrao = Template.bind({});
24
- Padrao.args = { titulo: tituloEventoMock };