v-sistec-features 1.23.2 → 1.24.0

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.
@@ -0,0 +1,177 @@
1
+ @use 'image-preview';
2
+
3
+ .table-responsive {
4
+ overflow-x: auto;
5
+ }
6
+
7
+ .state-feedback {
8
+ padding: 1rem;
9
+ text-align: center;
10
+ }
11
+
12
+ .state-feedback.error {
13
+ color: red;
14
+ }
15
+
16
+ .pagination-controls {
17
+ margin-top: 1rem;
18
+ display: flex;
19
+ justify-content: space-between;
20
+ }
21
+
22
+
23
+ .form-check-input {
24
+ border-width: 1px !important;
25
+ border-color: rgba(0, 0, 0, 0.391) !important;
26
+ width: 17px;
27
+ height: 17px;
28
+ }
29
+
30
+ [data-bs-theme=dark] .form-check-input {
31
+ border-color: rgba(255, 255, 255, 0.374) !important;
32
+ }
33
+
34
+
35
+ /*
36
+ Estilos para arrastar e soltar colunas
37
+ */
38
+
39
+ .ghost-item {
40
+ opacity: 0.5;
41
+ background: var(--tblr-primary-lt, #e6f0ff);
42
+ border-radius: 8px;
43
+ }
44
+
45
+ .dragging-item {
46
+ cursor: grabbing;
47
+ background: var(--tblr-primary);
48
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
49
+ opacity: 0.5;
50
+ background-color: var(--tblr-primary-bg-subtle);
51
+ filter: grayscale(0) invert(0);
52
+ }
53
+
54
+ .header-draggable {
55
+ cursor: grab;
56
+ }
57
+
58
+
59
+ /*
60
+ Animações para movimentação de colunas
61
+ */
62
+ .column-move-move {
63
+ transition: transform 0.4s ease;
64
+ }
65
+
66
+ .column-move-enter-active,
67
+ .column-move-leave-active {
68
+ transition: all 0.4s ease;
69
+ }
70
+
71
+
72
+ .header-ordering {
73
+ display: flex;
74
+ justify-content: space-between;
75
+ }
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+ /* 1. Animação de entrada para novos itens */
87
+ .expand-item-expand-enter-active {
88
+ transition: all 0.5s ease;
89
+ }
90
+
91
+ .expand-item-expand-enter-from {
92
+ opacity: 0;
93
+ transform: scaleY(0.3) translateY(-30px);
94
+ /* Começa em cima e desce */
95
+ }
96
+
97
+ .expand-item-expand-enter-to {
98
+ opacity: 1;
99
+ transform: scaleY(1);
100
+ transform: translateY(0);
101
+ }
102
+
103
+ /* 2. Animação de saída para itens removidos*/
104
+ .expand-item-expand-leave-active {
105
+ transition: all 0.4s ease;
106
+ }
107
+
108
+ .expand-item-expand-leave-to {
109
+ opacity: 0;
110
+ transform: scaleY(0.3) translateY(-30px);
111
+ /* Desliza para cima e desaparece */
112
+ }
113
+
114
+
115
+
116
+ .expand-item-fade-enter-active,
117
+ .expand-item-fade-leave-active {
118
+ transition: opacity 0.5s ease;
119
+ }
120
+
121
+ .expand-item-fade-enter-from,
122
+ .expand-item-fade-leave-to {
123
+ opacity: 0;
124
+ }
125
+
126
+
127
+
128
+
129
+
130
+ .btn-clean {
131
+ display: inline-flex;
132
+ align-items: center;
133
+ justify-content: center;
134
+ padding: 4px;
135
+ border-radius: 4px;
136
+ transition: background-color 0.2s ease;
137
+ background: transparent;
138
+ border: none;
139
+ outline: none;
140
+ cursor: pointer;
141
+
142
+
143
+ &:hover {
144
+ background-color: rgba(0, 0, 0, 0.05);
145
+ }
146
+ }
147
+
148
+
149
+ .icon-transition-arrow {
150
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease;
151
+ color: var(--tblr-primary, #206bc4);
152
+ }
153
+
154
+
155
+ .is-expanded .icon-transition-arrow {
156
+ transform: rotate(90deg);
157
+ }
158
+
159
+
160
+ .icon-transition-plus {
161
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease;
162
+ color: var(--tblr-primary, #206bc4);
163
+ }
164
+
165
+ .icon-transition-plus .vertical-line {
166
+ transform-origin: center;
167
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
168
+ }
169
+
170
+ .is-expanded .icon-transition-plus {
171
+ transform: rotate(180deg);
172
+ }
173
+
174
+ .is-expanded .icon-transition-plus .vertical-line {
175
+ transform: scaleY(0);
176
+ opacity: 0;
177
+ }
@@ -0,0 +1,84 @@
1
+ /*
2
+ ========
3
+ Resumo do Arquivo
4
+ Este arquivo concentra a estilização e as variáveis referentes à funcionalidade de pré-visualização de imagens.
5
+ Ele define as dimensões das miniaturas, a estilização do estado de foco (hover), as bordas dinâmicas,
6
+ e o contêiner fixo que exibe a imagem ampliada flutuando na tela.
7
+ ========
8
+ */
9
+
10
+ $max-width-img: 40px;
11
+
12
+ .container-img {
13
+ aspect-ratio: 1;
14
+ display: flex;
15
+ justify-content: center;
16
+ overflow: hidden;
17
+ position: relative;
18
+ max-width: $max-width-img;
19
+ min-width: $max-width-img;
20
+
21
+ .img-tamanho-cover {
22
+ position: absolute;
23
+ top: 0;
24
+ width: 100%;
25
+ height: 100%;
26
+ object-fit: cover;
27
+ z-index: 0;
28
+ opacity: 0.5;
29
+ filter: blur(4px);
30
+ }
31
+
32
+ .img-tamanho {
33
+ object-fit: contain;
34
+ width: 100%;
35
+ height: 100%;
36
+ z-index: 2;
37
+ }
38
+
39
+ &.container-img-preview {
40
+ cursor: pointer;
41
+
42
+ &:hover {
43
+ border-style: dashed;
44
+ border-color: var(--tblr-primary);
45
+ border-width: 2px;
46
+ transition: border-width 0.15s ease-in-out;
47
+
48
+ .img-tamanho {
49
+ opacity: 0.3;
50
+ }
51
+ }
52
+ }
53
+ }
54
+
55
+ .bg-img {
56
+ background-color: #0000004d;
57
+ position: absolute;
58
+ top: 0;
59
+ width: 100%;
60
+ height: 100%;
61
+ z-index: 1;
62
+ }
63
+
64
+ $max-width-preview: 250px;
65
+
66
+ .image-preview-container {
67
+ position: fixed;
68
+ z-index: 9999;
69
+ background-color: #fff;
70
+ border-radius: 8px;
71
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
72
+ padding: 5px;
73
+
74
+ pointer-events: none;
75
+ transition: opacity 0.2s ease-in-out;
76
+
77
+ .image-preview-large {
78
+ display: block;
79
+ max-width: $max-width-preview;
80
+
81
+ max-height: $max-width-preview;
82
+ border-radius: 4px;
83
+ }
84
+ }
@@ -77,6 +77,7 @@ export interface VDataTableProps {
77
77
  // Aceita string (seletor) OU HTMLElement (ref direto) OU null
78
78
  pagination_teleport?: string | HTMLElement | null;
79
79
  search_teleport?: string | HTMLElement | null;
80
+ show_header_when_empty?: boolean;
80
81
  }
81
82
  export type DataTablePropsWithDefaults = VDataTableProps & {
82
83
  // Strings