@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.
- package/README.md +18 -0
- package/dist/style.css +1 -0
- package/dist/timeline-vue.es.js +557 -0
- package/dist/types/components/timeline/atomos/AvatarTimeline.vue.d.ts +17 -0
- package/dist/types/components/timeline/atomos/BoxData.vue.d.ts +23 -0
- package/dist/types/components/timeline/atomos/Destaque.vue.d.ts +11 -0
- package/dist/types/components/timeline/atomos/Hora.vue.d.ts +24 -0
- package/dist/types/components/timeline/atomos/IconeCategoria.vue.d.ts +57 -0
- package/dist/types/components/timeline/atomos/IconeStatus.vue.d.ts +17 -0
- package/dist/types/components/timeline/atomos/SubtituloEvento.vue.d.ts +13 -0
- package/dist/types/components/timeline/atomos/TituloEvento.vue.d.ts +13 -0
- package/dist/types/components/timeline/index.d.ts +3 -0
- package/dist/types/components/timeline/moleculas/DescricaoEvento.vue.d.ts +21 -0
- package/dist/types/components/timeline/moleculas/EventoTimeline.vue.d.ts +18 -0
- package/dist/types/components/timeline/moleculas/HoraEvento.vue.d.ts +19 -0
- package/dist/types/components/timeline/moleculas/PerfilTimeline.vue.d.ts +39 -0
- package/dist/types/components/timeline/moleculas/SeparadorPeriodo.vue.d.ts +24 -0
- package/dist/types/components/timeline/moleculas/Topo.vue.d.ts +3 -0
- package/dist/types/components/timeline/organismos/Timeline.mock.d.ts +3 -0
- package/dist/types/components/timeline/organismos/Timeline.vue.d.ts +40 -0
- package/dist/types/components/timeline/type.d.ts +23 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/vite.svg +1 -0
- package/package.json +53 -0
- package/src/assets/vue.svg +1 -0
- package/src/components/timeline/atomos/AvatarTimeline.stories.ts +32 -0
- package/src/components/timeline/atomos/AvatarTimeline.vue +51 -0
- package/src/components/timeline/atomos/BoxData.stories.ts +41 -0
- package/src/components/timeline/atomos/BoxData.vue +57 -0
- package/src/components/timeline/atomos/Destaque.stories.ts +24 -0
- package/src/components/timeline/atomos/Destaque.vue +39 -0
- package/src/components/timeline/atomos/Hora.stories.ts +36 -0
- package/src/components/timeline/atomos/Hora.vue +53 -0
- package/src/components/timeline/atomos/IconeCategoria.stories.ts +60 -0
- package/src/components/timeline/atomos/IconeCategoria.vue +110 -0
- package/src/components/timeline/atomos/IconeStatus.stories.ts +38 -0
- package/src/components/timeline/atomos/IconeStatus.vue +72 -0
- package/src/components/timeline/atomos/SubtituloEvento.stories.ts +24 -0
- package/src/components/timeline/atomos/SubtituloEvento.vue +33 -0
- package/src/components/timeline/atomos/TituloEvento.stories.ts +24 -0
- package/src/components/timeline/atomos/TituloEvento.vue +32 -0
- package/src/components/timeline/index.ts +7 -0
- package/src/components/timeline/moleculas/DescricaoEvento.stories.ts +31 -0
- package/src/components/timeline/moleculas/DescricaoEvento.vue +59 -0
- package/src/components/timeline/moleculas/EventoTimeline.stories.ts +94 -0
- package/src/components/timeline/moleculas/EventoTimeline.vue +102 -0
- package/src/components/timeline/moleculas/HoraEvento.stories.ts +37 -0
- package/src/components/timeline/moleculas/HoraEvento.vue +73 -0
- package/src/components/timeline/moleculas/PerfilTimeline.stories.ts +40 -0
- package/src/components/timeline/moleculas/PerfilTimeline.vue +103 -0
- package/src/components/timeline/moleculas/SeparadorPeriodo.stories.ts +42 -0
- package/src/components/timeline/moleculas/SeparadorPeriodo.vue +101 -0
- package/src/components/timeline/moleculas/Topo.vue +38 -0
- package/src/components/timeline/organismos/Timeline.mock.ts +281 -0
- package/src/components/timeline/organismos/Timeline.stories.ts +31 -0
- package/src/components/timeline/organismos/Timeline.vue +188 -0
- package/src/components/timeline/type.ts +30 -0
- package/src/global.css +98 -0
- package/src/index.ts +16 -0
- package/src/vite-env.d.ts +1 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/** __vue_virtual_code_placeholder */
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{
|
|
3
|
+
iconeCategoria: {
|
|
4
|
+
type: StringConstructor;
|
|
5
|
+
required: true;
|
|
6
|
+
};
|
|
7
|
+
categoria: {
|
|
8
|
+
type: StringConstructor;
|
|
9
|
+
};
|
|
10
|
+
escuro: {
|
|
11
|
+
type: BooleanConstructor;
|
|
12
|
+
default: boolean;
|
|
13
|
+
};
|
|
14
|
+
tipo: {
|
|
15
|
+
type: StringConstructor;
|
|
16
|
+
};
|
|
17
|
+
borderColor: {
|
|
18
|
+
type: StringConstructor;
|
|
19
|
+
};
|
|
20
|
+
backgroundColor: {
|
|
21
|
+
type: StringConstructor;
|
|
22
|
+
};
|
|
23
|
+
}, {
|
|
24
|
+
classes: import("vue").ComputedRef<{
|
|
25
|
+
[x: string]: boolean;
|
|
26
|
+
'bg-escuro': boolean;
|
|
27
|
+
'bg-claro': boolean;
|
|
28
|
+
}>;
|
|
29
|
+
style: import("vue").ComputedRef<{
|
|
30
|
+
borderColor: string | undefined;
|
|
31
|
+
backgroundColor: string | undefined;
|
|
32
|
+
}>;
|
|
33
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
34
|
+
iconeCategoria: {
|
|
35
|
+
type: StringConstructor;
|
|
36
|
+
required: true;
|
|
37
|
+
};
|
|
38
|
+
categoria: {
|
|
39
|
+
type: StringConstructor;
|
|
40
|
+
};
|
|
41
|
+
escuro: {
|
|
42
|
+
type: BooleanConstructor;
|
|
43
|
+
default: boolean;
|
|
44
|
+
};
|
|
45
|
+
tipo: {
|
|
46
|
+
type: StringConstructor;
|
|
47
|
+
};
|
|
48
|
+
borderColor: {
|
|
49
|
+
type: StringConstructor;
|
|
50
|
+
};
|
|
51
|
+
backgroundColor: {
|
|
52
|
+
type: StringConstructor;
|
|
53
|
+
};
|
|
54
|
+
}>>, {
|
|
55
|
+
escuro: boolean;
|
|
56
|
+
}>;
|
|
57
|
+
export default _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** __vue_virtual_code_placeholder */
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{
|
|
3
|
+
status: {
|
|
4
|
+
required: true;
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
};
|
|
7
|
+
}, {
|
|
8
|
+
classes: import("vue").ComputedRef<{
|
|
9
|
+
[x: string]: boolean;
|
|
10
|
+
}>;
|
|
11
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
12
|
+
status: {
|
|
13
|
+
required: true;
|
|
14
|
+
type: StringConstructor;
|
|
15
|
+
};
|
|
16
|
+
}>>, {}>;
|
|
17
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** __vue_virtual_code_placeholder */
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{
|
|
3
|
+
subtitulo: {
|
|
4
|
+
required: true;
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
};
|
|
7
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
8
|
+
subtitulo: {
|
|
9
|
+
required: true;
|
|
10
|
+
type: StringConstructor;
|
|
11
|
+
};
|
|
12
|
+
}>>, {}>;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** __vue_virtual_code_placeholder */
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{
|
|
3
|
+
titulo: {
|
|
4
|
+
required: true;
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
};
|
|
7
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
8
|
+
titulo: {
|
|
9
|
+
required: true;
|
|
10
|
+
type: StringConstructor;
|
|
11
|
+
};
|
|
12
|
+
}>>, {}>;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** __vue_virtual_code_placeholder */
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{
|
|
3
|
+
titulo: {
|
|
4
|
+
required: true;
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
};
|
|
7
|
+
subtitulo: {
|
|
8
|
+
required: true;
|
|
9
|
+
type: StringConstructor;
|
|
10
|
+
};
|
|
11
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
12
|
+
titulo: {
|
|
13
|
+
required: true;
|
|
14
|
+
type: StringConstructor;
|
|
15
|
+
};
|
|
16
|
+
subtitulo: {
|
|
17
|
+
required: true;
|
|
18
|
+
type: StringConstructor;
|
|
19
|
+
};
|
|
20
|
+
}>>, {}>;
|
|
21
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** __vue_virtual_code_placeholder */
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{
|
|
3
|
+
dadosEvento: {
|
|
4
|
+
required: true;
|
|
5
|
+
type: ObjectConstructor;
|
|
6
|
+
};
|
|
7
|
+
}, {
|
|
8
|
+
eventoSelecionado: import("vue").ComputedRef<{
|
|
9
|
+
atual: boolean;
|
|
10
|
+
padrao: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
13
|
+
dadosEvento: {
|
|
14
|
+
required: true;
|
|
15
|
+
type: ObjectConstructor;
|
|
16
|
+
};
|
|
17
|
+
}>>, {}>;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** __vue_virtual_code_placeholder */
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{
|
|
3
|
+
horaPrevista: {
|
|
4
|
+
type: DateConstructor;
|
|
5
|
+
required: true;
|
|
6
|
+
};
|
|
7
|
+
horaRealizada: {
|
|
8
|
+
type: DateConstructor;
|
|
9
|
+
};
|
|
10
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
11
|
+
horaPrevista: {
|
|
12
|
+
type: DateConstructor;
|
|
13
|
+
required: true;
|
|
14
|
+
};
|
|
15
|
+
horaRealizada: {
|
|
16
|
+
type: DateConstructor;
|
|
17
|
+
};
|
|
18
|
+
}>>, {}>;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** __vue_virtual_code_placeholder */
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{
|
|
3
|
+
imagemPerfil: {
|
|
4
|
+
type: StringConstructor;
|
|
5
|
+
};
|
|
6
|
+
nomePerfil: {
|
|
7
|
+
type: StringConstructor;
|
|
8
|
+
};
|
|
9
|
+
iconePerfil: {
|
|
10
|
+
type: StringConstructor;
|
|
11
|
+
};
|
|
12
|
+
backgroundColor: {
|
|
13
|
+
type: StringConstructor;
|
|
14
|
+
default: string;
|
|
15
|
+
};
|
|
16
|
+
}, {
|
|
17
|
+
style: import("vue").ComputedRef<{
|
|
18
|
+
backgroundColor: string;
|
|
19
|
+
}>;
|
|
20
|
+
elementoFixo: import("vue").Ref<HTMLElement | null>;
|
|
21
|
+
isFixed: import("vue").Ref<boolean>;
|
|
22
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
23
|
+
imagemPerfil: {
|
|
24
|
+
type: StringConstructor;
|
|
25
|
+
};
|
|
26
|
+
nomePerfil: {
|
|
27
|
+
type: StringConstructor;
|
|
28
|
+
};
|
|
29
|
+
iconePerfil: {
|
|
30
|
+
type: StringConstructor;
|
|
31
|
+
};
|
|
32
|
+
backgroundColor: {
|
|
33
|
+
type: StringConstructor;
|
|
34
|
+
default: string;
|
|
35
|
+
};
|
|
36
|
+
}>>, {
|
|
37
|
+
backgroundColor: string;
|
|
38
|
+
}>;
|
|
39
|
+
export default _default;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** __vue_virtual_code_placeholder */
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{
|
|
3
|
+
dataSeparador: {
|
|
4
|
+
required: true;
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
};
|
|
7
|
+
aparencia: {
|
|
8
|
+
type: StringConstructor;
|
|
9
|
+
};
|
|
10
|
+
}, {
|
|
11
|
+
dataRecebida: string;
|
|
12
|
+
ano: number;
|
|
13
|
+
mes: string;
|
|
14
|
+
dia: number;
|
|
15
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
16
|
+
dataSeparador: {
|
|
17
|
+
required: true;
|
|
18
|
+
type: StringConstructor;
|
|
19
|
+
};
|
|
20
|
+
aparencia: {
|
|
21
|
+
type: StringConstructor;
|
|
22
|
+
};
|
|
23
|
+
}>>, {}>;
|
|
24
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** __vue_virtual_code_placeholder */
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** __vue_virtual_code_placeholder */
|
|
2
|
+
import { Evento } from "../type";
|
|
3
|
+
type TipoEventoTimeline = {
|
|
4
|
+
tipo: "dia";
|
|
5
|
+
valor: Date;
|
|
6
|
+
key: number;
|
|
7
|
+
} | {
|
|
8
|
+
tipo: "evento";
|
|
9
|
+
valor: Evento;
|
|
10
|
+
key: number;
|
|
11
|
+
atual: boolean;
|
|
12
|
+
} | {
|
|
13
|
+
tipo: "eventos";
|
|
14
|
+
valor: Evento[];
|
|
15
|
+
key: number;
|
|
16
|
+
};
|
|
17
|
+
declare const _default: import("vue").DefineComponent<{
|
|
18
|
+
perfilTimeline: {
|
|
19
|
+
required: true;
|
|
20
|
+
type: ObjectConstructor;
|
|
21
|
+
};
|
|
22
|
+
eventosTimeline: {
|
|
23
|
+
required: true;
|
|
24
|
+
type: ObjectConstructor;
|
|
25
|
+
};
|
|
26
|
+
}, {
|
|
27
|
+
eventosPorTipo: import("vue").ComputedRef<TipoEventoTimeline[]>;
|
|
28
|
+
}, unknown, {}, {
|
|
29
|
+
scrollParaItemAtual(): void;
|
|
30
|
+
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
31
|
+
perfilTimeline: {
|
|
32
|
+
required: true;
|
|
33
|
+
type: ObjectConstructor;
|
|
34
|
+
};
|
|
35
|
+
eventosTimeline: {
|
|
36
|
+
required: true;
|
|
37
|
+
type: ObjectConstructor;
|
|
38
|
+
};
|
|
39
|
+
}>>, {}>;
|
|
40
|
+
export default _default;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type Perfil = {
|
|
2
|
+
nome: string;
|
|
3
|
+
imagem: string | null;
|
|
4
|
+
icone: string | null;
|
|
5
|
+
};
|
|
6
|
+
export type Evento = {
|
|
7
|
+
id: string;
|
|
8
|
+
data: Date;
|
|
9
|
+
previsto: Date;
|
|
10
|
+
duracao: number | null;
|
|
11
|
+
realizado: Date | null;
|
|
12
|
+
tolerancia: number | null;
|
|
13
|
+
titulo: string;
|
|
14
|
+
subtitulo: string;
|
|
15
|
+
destaque: string;
|
|
16
|
+
categoria: {
|
|
17
|
+
nome: string;
|
|
18
|
+
icone: string;
|
|
19
|
+
};
|
|
20
|
+
status: "atrasado" | "adiantado" | "adiado" | "realizado" | "planejado" | "cancelado";
|
|
21
|
+
criticidade: string;
|
|
22
|
+
acao: boolean;
|
|
23
|
+
};
|
package/dist/vite.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@devix-tecnologia/timeline-vue",
|
|
3
|
+
"private": false,
|
|
4
|
+
"version": "1.0.1",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"dev": "vite",
|
|
7
|
+
"build": "vue-tsc && vite build",
|
|
8
|
+
"preview": "vite preview",
|
|
9
|
+
"storybook": "storybook dev -p 6006",
|
|
10
|
+
"build-storybook": "storybook build",
|
|
11
|
+
"semantic-release": "semantic-release"
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@fontsource/material-icons": "^4.5.4",
|
|
15
|
+
"vue": "^3.0.0"
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@semantic-release/git": "^10.0.1",
|
|
19
|
+
"@semantic-release/github": "^8.0.7",
|
|
20
|
+
"@semantic-release/npm": "^9.0.1",
|
|
21
|
+
"@storybook/addon-essentials": "^7.0.7",
|
|
22
|
+
"@storybook/addon-interactions": "^7.0.7",
|
|
23
|
+
"@storybook/addon-links": "^7.0.7",
|
|
24
|
+
"@storybook/addon-styling": "^1.0.1",
|
|
25
|
+
"@storybook/blocks": "^7.0.7",
|
|
26
|
+
"@storybook/testing-library": "^0.0.14-next.2",
|
|
27
|
+
"@storybook/vue3": "^7.0.7",
|
|
28
|
+
"@storybook/vue3-vite": "^7.0.7",
|
|
29
|
+
"@vitejs/plugin-vue": "^4.1.0",
|
|
30
|
+
"react": "^18.2.0",
|
|
31
|
+
"react-dom": "^18.2.0",
|
|
32
|
+
"semantic-release": "^19.0.5",
|
|
33
|
+
"storybook": "^7.0.7",
|
|
34
|
+
"typescript": "^5.0.2",
|
|
35
|
+
"vite": "^4.3.0",
|
|
36
|
+
"vue-tsc": "^1.2.0"
|
|
37
|
+
},
|
|
38
|
+
"files": [
|
|
39
|
+
"src",
|
|
40
|
+
"dist"
|
|
41
|
+
],
|
|
42
|
+
"types": "./dist/types/index.d.ts",
|
|
43
|
+
"module": "./dist/timeline-vue.es.js",
|
|
44
|
+
"exports": {
|
|
45
|
+
".": {
|
|
46
|
+
"import": "./dist/timeline-vue.es.js"
|
|
47
|
+
},
|
|
48
|
+
"./dist/style.css": "./dist/style.css"
|
|
49
|
+
},
|
|
50
|
+
"publishConfig": {
|
|
51
|
+
"access": "public"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="37.07" height="36" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 198"><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z"></path><path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z"></path><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0H50.56Z"></path></svg>
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
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>
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
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>
|
|
@@ -0,0 +1,24 @@
|
|
|
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 };
|
|
@@ -0,0 +1,39 @@
|
|
|
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: 1.4rem;
|
|
33
|
+
vertical-align: middle;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.bg-selecionado .destaqueEvento {
|
|
37
|
+
color: var(--cor-texto-selecao);
|
|
38
|
+
}
|
|
39
|
+
</style>
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
};
|