v-sistec-features 1.31.13 → 1.32.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.
Files changed (152) hide show
  1. package/dist/DataAgenda/VDataAgenda.vue.d.ts +915 -0
  2. package/dist/DataAgenda/components/AgendaMatrix.vue.d.ts +64 -0
  3. package/dist/DataAgenda/components/AgendaMatrixBase.vue.d.ts +31 -0
  4. package/dist/DataAgenda/components/AgendaMatrixUnico.vue.d.ts +72 -0
  5. package/dist/DataAgenda/components/AgendaTabelaHorario.vue.d.ts +32 -0
  6. package/dist/DataAgenda/components/AgendaVueCal.vue.d.ts +94 -0
  7. package/dist/DataAgenda/components/BlocoArrastavel.vue.d.ts +37 -0
  8. package/dist/DataAgenda/components/HeaderCalendario.vue.d.ts +7 -0
  9. package/dist/DataAgenda/components/HeaderTabela.vue.d.ts +7 -0
  10. package/dist/DataAgenda/components/ModalDetalhesReserva.vue.d.ts +38 -0
  11. package/dist/DataAgenda/components/ModalReserva.vue.d.ts +157 -0
  12. package/dist/DataAgenda/composables/useAgenda.d.ts +24 -0
  13. package/dist/DataAgenda/composables/useCoresAgenda.d.ts +7 -0
  14. package/dist/DataAgenda/composables/useGradeCompartilhada.d.ts +23 -0
  15. package/dist/DataAgenda/composables/useSelecaoArrasto.d.ts +24 -0
  16. package/dist/DataAgenda/index.d.ts +2 -0
  17. package/dist/DataPageVue/components/VDataPage.vue.d.ts +50 -0
  18. package/dist/DataPageVue/index.d.ts +2 -0
  19. package/dist/DataPageVue/types/v-data-page.d.ts +53 -0
  20. package/dist/DatatableVue/components/SearchDatatable.vue.d.ts +28 -0
  21. package/dist/DatatableVue/components/VColumn.vue.d.ts +82 -0
  22. package/dist/DatatableVue/components/VColumnManager.vue.d.ts +21 -0
  23. package/dist/DatatableVue/components/VDataTable.vue.d.ts +57 -0
  24. package/dist/DatatableVue/components/VDataTableLoading.vue.d.ts +17 -0
  25. package/dist/DatatableVue/components/VOrderingIcon.vue.d.ts +10 -0
  26. package/dist/DatatableVue/components/VThDataTable.vue.d.ts +14 -0
  27. package/dist/DatatableVue/composables/useCheckBox.d.ts +11 -0
  28. package/dist/DatatableVue/composables/useDataTableConfig.d.ts +4 -0
  29. package/dist/DatatableVue/composables/useDataTableFetch.d.ts +17 -0
  30. package/dist/DatatableVue/composables/useExpandedItem.d.ts +6 -0
  31. package/dist/DatatableVue/composables/useImagePreview.d.ts +9 -0
  32. package/dist/DatatableVue/config/datatableConfig.d.ts +4 -0
  33. package/dist/DatatableVue/config/datatableDefaults.d.ts +7 -0
  34. package/dist/DatatableVue/index.d.ts +3 -0
  35. package/dist/DatatableVue/keys.d.ts +39 -0
  36. package/dist/DatatableVue/style/svgs.d.ts +20 -0
  37. package/dist/DatatableVue/types/v-data-table.d.ts +161 -0
  38. package/dist/Modals/components/BotaoFechar.vue.d.ts +36 -0
  39. package/dist/Modals/components/ModalAviso.vue.d.ts +184 -0
  40. package/dist/Modals/components/ModalBaseDefault.vue.d.ts +244 -0
  41. package/dist/Modals/components/ModalConfirmacao.vue.d.ts +184 -0
  42. package/dist/Modals/components/ModalConfirmacaoCheckbox.vue.d.ts +195 -0
  43. package/dist/Modals/components/ModalConfirmacaoInput.vue.d.ts +238 -0
  44. package/dist/Modals/components/ModalConfirmacaoSimples.vue.d.ts +187 -0
  45. package/dist/Modals/components/ModalInformacao.vue.d.ts +184 -0
  46. package/dist/Modals/components/ModalPerigo.vue.d.ts +175 -0
  47. package/dist/Modals/components/ModalSucesso.vue.d.ts +175 -0
  48. package/dist/Modals/components/interno/ModalDialogoInterno.vue.d.ts +205 -0
  49. package/dist/Modals/index.d.ts +12 -0
  50. package/dist/Modals.js +1361 -0
  51. package/dist/Pagination/Pagination.vue.d.ts +19 -0
  52. package/dist/Pagination/index.d.ts +2 -0
  53. package/dist/{Pagination-f4FVE5TX.js → Pagination-D96eBRod.js} +25 -25
  54. package/dist/Pagination.js +1 -1
  55. package/dist/{ar-Bg_10XBG.js → ar-CtSPmWrk.js} +0 -5
  56. package/dist/{bg-DyIRbFaU.js → bg-DwW4tkzm.js} +0 -5
  57. package/dist/{bn-DrKXkRvN.js → bn-Df__ccyH.js} +0 -5
  58. package/dist/{bs-BF8upphm.js → bs-j17x02qr.js} +0 -5
  59. package/dist/{ca-CGMnsdII.js → ca-B94lUx7c.js} +0 -5
  60. package/dist/core/index.d.ts +1 -0
  61. package/dist/core/plugin.d.ts +11 -0
  62. package/dist/core.js +1 -1
  63. package/dist/{cs-B-jeNB5o.js → cs-DeDzN7tG.js} +0 -5
  64. package/dist/{da-BoHemyXx.js → da-DMpC5y8O.js} +0 -5
  65. package/dist/datatableConfig-E5_08Ch4.js +4 -0
  66. package/dist/{de-DNAaiTrc.js → de-CCNUZSup.js} +0 -5
  67. package/dist/{el-Cpg3pI7i.js → el-C2kkX76k.js} +0 -5
  68. package/dist/{en-gb-KsKdvLmV.js → en-gb-sbYhvlrM.js} +0 -5
  69. package/dist/{es-COziTcsp.js → es-mNgFJGue.js} +0 -5
  70. package/dist/{et-BdTtu9t_.js → et-D0ro6m_Z.js} +0 -5
  71. package/dist/{fa-B1Ebp36t.js → fa-DYekHC6-.js} +0 -5
  72. package/dist/{fi-b4XodxNE.js → fi-CNexLCO_.js} +0 -5
  73. package/dist/{fr-BIx4sO6s.js → fr-CUXtdWLj.js} +0 -5
  74. package/dist/{he-rf_Y5d64.js → he-D4BblsAD.js} +0 -5
  75. package/dist/{hr-DOuJJGF3.js → hr-1MNJjxDo.js} +0 -5
  76. package/dist/{hu-DMc8kv_1.js → hu-BiG8mSvH.js} +0 -5
  77. package/dist/{id-DclBfDY0.js → id-CABEuSQB.js} +0 -5
  78. package/dist/iframeCommunicator/index.d.ts +2 -0
  79. package/dist/iframeCommunicator/useIframeCommunicator.d.ts +8 -0
  80. package/dist/iframeCommunicator/useThemeFromParent.d.ts +9 -0
  81. package/dist/index.d.ts +3 -140
  82. package/dist/index.js +1 -1
  83. package/dist/{is-hPcr999q.js → is-DBUkoxb1.js} +0 -5
  84. package/dist/{it-Dfz57Ogc.js → it-Am_Oo5d5.js} +0 -5
  85. package/dist/{ja-Da6Dbgu8.js → ja-C4aaunra.js} +0 -5
  86. package/dist/{ka-DK-BKZD4.js → ka-CkzS4fNj.js} +0 -5
  87. package/dist/{kaa-BVd8dKz3.js → kaa-GTw11GU-.js} +0 -5
  88. package/dist/{kk-eE3-SI4R.js → kk-BRFq2Ctd.js} +0 -5
  89. package/dist/{ko-CUMtwCHy.js → ko-BbgS6BMk.js} +0 -5
  90. package/dist/{ky-CCU0MYbD.js → ky-ClK6HL0m.js} +0 -5
  91. package/dist/{lt-CpbQmiiW.js → lt-BE0ahgri.js} +0 -5
  92. package/dist/{mn-YYwo93uK.js → mn-C-Ktk8ht.js} +0 -5
  93. package/dist/{nl-WqtgByJL.js → nl-BiG9OH1y.js} +0 -5
  94. package/dist/{no-BOG8-aOm.js → no-DVdX7xTS.js} +0 -5
  95. package/dist/{pl-BH4AyCMF.js → pl-y_N8wVAF.js} +0 -5
  96. package/dist/plugin-BZB7f-c3.js +3444 -0
  97. package/dist/{pt-br-siyrXjdv.js → pt-br-Cx8Akpcu.js} +0 -5
  98. package/dist/{pt-pt-siyrXjdv.js → pt-pt-Cx8Akpcu.js} +0 -5
  99. package/dist/{ro-C9fU41Qi.js → ro-FfAZHwo1.js} +0 -5
  100. package/dist/{ru-_d_rl3a5.js → ru-BCE9k5uo.js} +0 -5
  101. package/dist/{sk-ZT421l3d.js → sk-D-7bEf3b.js} +0 -5
  102. package/dist/{sl-Ct8Gi5v1.js → sl-DoVrM4Ht.js} +0 -5
  103. package/dist/{sq-Cw7PWK-V.js → sq-Du8jVeq7.js} +0 -5
  104. package/dist/{sr-DO-S1wn3.js → sr-DP3yke6-.js} +0 -5
  105. package/dist/{sv-NXMCPui2.js → sv-C2iGWFqL.js} +0 -5
  106. package/dist/toast/components/ToastComponent.vue.d.ts +6 -0
  107. package/dist/toast/index.d.ts +1 -0
  108. package/dist/toast/useToastStore.d.ts +11 -0
  109. package/dist/toast.js +2 -2
  110. package/dist/{tr-BpieMIth.js → tr-CvlANdCR.js} +0 -5
  111. package/dist/{uk-CqVU4EoZ.js → uk-CxFb8w2s.js} +0 -5
  112. package/dist/utils/svgFactory.d.ts +8 -0
  113. package/dist/{uz-CmcB22-w.js → uz-DmJPqTjK.js} +0 -5
  114. package/dist/{uz-cryl-C_GBVdXl.js → uz-cryl-Dt065WNc.js} +0 -5
  115. package/dist/v-sistec-features.css +1 -11
  116. package/dist/vDataAgenda.js +1877 -1885
  117. package/dist/vDataPage.js +31 -41
  118. package/dist/vDataTable.js +43 -43
  119. package/dist/{vi-C9wTd3fG.js → vi-B8R5Ozvj.js} +0 -5
  120. package/dist/{zh-cn-DY7nkJwf.js → zh-cn-DnUuIcqx.js} +0 -5
  121. package/dist/{zh-hk-KkazoDdS.js → zh-hk-mDkIkhi9.js} +0 -5
  122. package/package.json +5 -1
  123. package/src/DataAgenda/VDataAgenda.vue +233 -77
  124. package/src/DataAgenda/components/AgendaMatrix.vue +1 -0
  125. package/src/DataAgenda/components/AgendaMatrixBase.vue +357 -140
  126. package/src/DataAgenda/components/AgendaMatrixUnico.vue +1 -0
  127. package/src/DataAgenda/components/AgendaTabelaHorario.vue +489 -316
  128. package/src/DataAgenda/components/AgendaVueCal.vue +1 -0
  129. package/src/DataAgenda/index.ts +2 -1
  130. package/src/Modals/components/BotaoFechar.vue +74 -0
  131. package/src/Modals/components/ModalAviso.vue +129 -0
  132. package/src/Modals/components/ModalBaseDefault.vue +374 -0
  133. package/src/Modals/components/ModalConfirmacao.vue +129 -0
  134. package/src/Modals/components/ModalConfirmacaoCheckbox.vue +155 -0
  135. package/src/Modals/components/ModalConfirmacaoInput.vue +200 -0
  136. package/src/Modals/components/ModalConfirmacaoSimples.vue +306 -0
  137. package/src/Modals/components/ModalInformacao.vue +129 -0
  138. package/src/Modals/components/ModalPerigo.vue +123 -0
  139. package/src/Modals/components/ModalSucesso.vue +123 -0
  140. package/src/Modals/components/interno/ModalDialogoInterno.vue +365 -0
  141. package/src/Modals/index.ts +32 -0
  142. package/src/core/plugin.ts +34 -41
  143. package/src/types/global.d.ts +7 -1
  144. package/dist/Pagination.d.ts +0 -27
  145. package/dist/core.d.ts +0 -117
  146. package/dist/datatableConfig-BMFlKtgh.js +0 -4
  147. package/dist/iframeCommunicator.d.ts +0 -22
  148. package/dist/plugin-BwqrOSD_.js +0 -2097
  149. package/dist/toast.d.ts +0 -19
  150. package/dist/vDataAgenda.d.ts +0 -929
  151. package/dist/vDataPage.d.ts +0 -117
  152. package/dist/vDataTable.d.ts +0 -294
@@ -8,6 +8,7 @@ recursos atualmente em exibição no modelo ativo.
8
8
  ========
9
9
  -->
10
10
  <script setup lang="ts">
11
+ defineSlots<{ [key: string]: any }>();
11
12
  import { ref, computed, onMounted, provide } from 'vue';
12
13
  import { VueCal } from 'vue-cal';
13
14
  import 'vue-cal/style.css';
@@ -55,6 +56,10 @@ const menuAberto = ref(true);
55
56
  const calendarioMiniRef = ref<any>(null);
56
57
  const modeloAtivoRef = ref<any>(null);
57
58
 
59
+ const ehModoGradeSemanal = computed(() =>
60
+ props.modoLayout === 'tabela' || props.modoLayout === 'tabela-horario'
61
+ );
62
+
58
63
  const componenteModeloAtivo = computed(() => {
59
64
  if (props.modoLayout === 'calendario') return AgendaVueCal;
60
65
  if (props.modoLayout === 'tabela-horario') return AgendaTabelaHorario;
@@ -98,7 +103,7 @@ const conjuntoDatasDesabilitadas = computed(() => new Set<string>(datasDesabilit
98
103
 
99
104
  const datasVisiveisNaSemana = computed(() => {
100
105
  const visiveis = new Set<string>();
101
- if (props.modoLayout !== 'tabela-horario' || !dataSelecionada.value || !agendaSelecionada.value) {
106
+ if (!ehModoGradeSemanal.value || !dataSelecionada.value || !agendaSelecionada.value) {
102
107
  return visiveis;
103
108
  }
104
109
 
@@ -124,13 +129,13 @@ const datasVisiveisNaSemana = computed(() => {
124
129
 
125
130
  const ehDiaBloqueadoNoMini = (cell: any): boolean => {
126
131
  const data = obterDataDaCelula(cell);
127
- if (!data || props.modoLayout !== 'tabela-horario') return false;
132
+ if (!data || !ehModoGradeSemanal.value) return false;
128
133
  return conjuntoDatasDesabilitadas.value.has(formatarDataIso(data));
129
134
  };
130
135
 
131
136
  const ehDiaVisivelNaGrade = (cell: any): boolean => {
132
137
  const data = obterDataDaCelula(cell);
133
- if (!data || props.modoLayout !== 'tabela-horario') return false;
138
+ if (!data || !ehModoGradeSemanal.value) return false;
134
139
  return datasVisiveisNaSemana.value.has(formatarDataIso(data));
135
140
  };
136
141
 
@@ -153,62 +158,38 @@ const mudarVisao = (novaVisao: string) => {
153
158
  <div>
154
159
  <div class="painel-agenda-unificado">
155
160
  <header class="painel-header-topo">
156
- <HeaderCalendario
157
- v-if="props.modoLayout === 'calendario'"
158
- :alternarMenu="alternarMenu"
159
- :irParaHoje="irParaHoje"
160
- :mudarVisao="mudarVisao"
161
- />
162
-
163
- <HeaderTabela
164
- v-else
165
- :alternarMenu="alternarMenu"
166
- :irParaHoje="irParaHoje"
167
- :ocultarSeletorAgenda="Boolean(props.idRecursoUnico)"
168
- />
161
+ <HeaderCalendario v-if="props.modoLayout === 'calendario'" :alternarMenu="alternarMenu" :irParaHoje="irParaHoje"
162
+ :mudarVisao="mudarVisao" />
163
+
164
+ <HeaderTabela v-else :alternarMenu="alternarMenu" :irParaHoje="irParaHoje"
165
+ :ocultarSeletorAgenda="Boolean(props.idRecursoUnico)" />
169
166
  </header>
170
167
 
171
168
  <div class="corpo-principal">
172
169
  <aside class="barra-lateral" :class="{ 'oculta': !menuAberto }">
173
170
  <div class="conteudo-lateral-fixo">
174
171
  <div class="secao-mini-cal">
175
- <vue-cal
176
- ref="calendarioMiniRef"
177
- class="calendario-mini vuecal--blue-theme"
178
- :class="{ 'modo-mini-tabela-horario': props.modoLayout === 'tabela-horario' }"
179
- small
180
- active-view="month"
181
- :views="['month']"
182
- :time="false"
183
- hide-view-selector
184
- :click-to-navigate="false"
185
- locale="pt-br"
186
- :disable-days="props.modoLayout === 'tabela-horario' ? datasDesabilitadas : []"
187
- v-model:selected-date="dataSelecionada"
188
- :view-date="dataVisao"
189
- @update:selected-date="dataVisao = $event"
190
- >
172
+ <vue-cal ref="calendarioMiniRef" class="calendario-mini vuecal--blue-theme"
173
+ :class="{ 'modo-mini-tabela-horario': ehModoGradeSemanal }" small active-view="month" :views="['month']"
174
+ :time="false" hide-view-selector :click-to-navigate="false" locale="pt-br"
175
+ :disable-days="ehModoGradeSemanal ? datasDesabilitadas : []" v-model:selected-date="dataSelecionada"
176
+ :view-date="dataVisao" @update:selected-date="dataVisao = $event">
191
177
  <template #views-bar></template>
192
178
  <template #today-button></template>
193
179
 
194
180
  <template #cell-content="{ cell }">
195
- <div
196
- class="vuecal__cell-date"
197
- :class="{
198
- 'dia-semana-visivel': ehDiaVisivelNaGrade(cell),
199
- 'dia-coluna-inativa': ehDiaBloqueadoNoMini(cell)
200
- }"
201
- @mousedown.stop="
181
+ <div class="vuecal__cell-date" :class="{
182
+ 'dia-semana-visivel': ehDiaVisivelNaGrade(cell),
183
+ 'dia-coluna-inativa': ehDiaBloqueadoNoMini(cell)
184
+ }" @mousedown.stop="
202
185
  (ehDiaVisivelNaGrade(cell) || ehDiaBloqueadoNoMini(cell))
203
186
  ? $event.preventDefault()
204
187
  : null
205
- "
206
- @click.stop="
188
+ " @click.stop="
207
189
  (!ehDiaVisivelNaGrade(cell) && !ehDiaBloqueadoNoMini(cell))
208
190
  ? (dataSelecionada = obterDataDaCelula(cell) || dataSelecionada, dataVisao = obterDataDaCelula(cell) || dataVisao)
209
191
  : null
210
- "
211
- >
192
+ ">
212
193
  {{ cell.content }}
213
194
  </div>
214
195
  </template>
@@ -218,12 +199,8 @@ const mudarVisao = (novaVisao: string) => {
218
199
  </aside>
219
200
 
220
201
  <main class="area-calendario">
221
- <component
222
- :is="componenteModeloAtivo"
223
- ref="modeloAtivoRef"
224
- v-bind="propriedadesModeloAtivo"
225
- @before-save="$emit('before-save', $event)"
226
- >
202
+ <component :is="componenteModeloAtivo" ref="modeloAtivoRef" v-bind="propriedadesModeloAtivo"
203
+ @before-save="$emit('before-save', $event)">
227
204
  <template v-for="(_, nomeSlot) in $slots" :key="nomeSlot" #[nomeSlot]="slotProps">
228
205
  <slot :name="nomeSlot" v-bind="slotProps ?? {}"></slot>
229
206
  </template>
@@ -239,32 +216,211 @@ const mudarVisao = (novaVisao: string) => {
239
216
  </style>
240
217
 
241
218
  <style scoped>
242
- .painel-agenda-unificado { background: var(--bg-primary); border-radius: 16px; box-shadow: var(--shadow-float); border: 1px solid var(--border-light); flex-grow: 1; display: flex; flex-direction: column; overflow: hidden; }
243
- .painel-header-topo { height: 60px; background-color: var(--bg-primary); border-bottom: 1px solid var(--border-light); display: flex; align-items: center; justify-content: space-between; padding: 0 20px; flex-shrink: 0; }
244
- .corpo-principal { display: flex; flex-grow: 1; overflow: hidden; }
245
- .barra-lateral { width: 300px; background-color: var(--bg-primary); border-right: 1px solid var(--border-light); transition: width 0.3s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.2s; overflow: hidden; flex-shrink: 0; }
246
- .barra-lateral.oculta { width: 0; border-right: none; opacity: 0; }
247
- .conteudo-lateral-fixo { width: 300px; padding: 15px; }
248
- .secao-mini-cal { width: 100%; }
249
- .area-calendario { flex-grow: 1; overflow: hidden; background-color: var(--bg-primary); display: flex; flex-direction: column; }
250
- .calendario-mini { border: none !important; box-shadow: none !important; background-color: transparent !important; }
251
- :deep(.calendario-mini .vuecal__header), :deep(.calendario-mini .vuecal__title-bar) { background-color: var(--bg-primary) !important; border: none !important; padding-bottom: 5px; }
252
- :deep(.calendario-mini .vuecal__title), :deep(.calendario-mini .vuecal__arrow) { font-size: 1rem; font-weight: 600; color: var(--color-brand) !important; background: transparent !important; }
253
- :deep(.calendario-mini .vuecal__weekdays-headings) { background-color: var(--bg-primary) !important; border-bottom: 1px solid var(--border-light) !important; }
254
- :deep(.calendario-mini .vuecal__heading), :deep(.calendario-mini .vuecal__weekday), :deep(.calendario-mini .vuecal__weekday-name), :deep(.calendario-mini .vuecal__heading *) { background-color: var(--bg-primary) !important; color: var(--text-secondary) !important; font-weight: 600 !important; border: none !important; padding-bottom: 4px; }
255
- :deep(.calendario-mini .vuecal__cell) { border: none !important; background-color: transparent !important; height: 32px !important; min-height: 32px !important; aspect-ratio: auto !important; }
256
- :deep(.calendario-mini .vuecal__cell::before) { display: none !important; content: none !important; }
257
- :deep(.calendario-mini .vuecal__cell-content) { height: 32px !important; min-height: 32px !important; padding: 0 !important; margin: 0 !important; justify-content: center !important; align-items: center !important; width: 100% !important; }
258
- :deep(.calendario-mini .vuecal__cell-date) { width: 26px !important; height: 26px !important; font-size: 12px !important; line-height: 26px !important; padding: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto !important; border-radius: 50% !important; border: 2px solid transparent !important; box-sizing: border-box !important; transition: all 0.2s ease; cursor: pointer; background-color: transparent !important; color: var(--text-primary); }
259
- :deep(.calendario-mini .vuecal__cell--selected), :deep(.calendario-mini .vuecal__cell--today) { background-color: transparent !important; }
260
- :deep(.calendario-mini:not(.modo-mini-tabela-horario) .vuecal__cell--selected .vuecal__cell-date) { background-color: var(--color-brand) !important; color: var(--text-inverse) !important; border-color: var(--color-brand) !important; }
261
- :deep(.calendario-mini .vuecal__cell--today:not(.vuecal__cell--selected) .vuecal__cell-date:not(.dia-semana-visivel)) { background-color: var(--color-brand-light) !important; border-color: transparent !important; color: var(--color-brand) !important; }
262
- :deep(.vuecal__body) { padding: 0; gap: 0; margin: 0; }
263
- :deep(.calendario-mini .vuecal__views-bar) { display: none !important; }
264
- :deep(.calendario-mini .vuecal__nav--next), :deep(.calendario-mini .vuecal__nav--prev) { color: var(--text-primary) !important; }
265
- :deep(.calendario-mini .vuecal__body) { height: 0% !important; }
266
- :deep(.calendario-mini .vuecal__scrollable-wrap) { background-color: transparent !important; }
267
- :deep(.calendario-mini.modo-mini-tabela-horario .vuecal__cell--disabled) { pointer-events: none !important; cursor: not-allowed !important; }
268
- :deep(.calendario-mini.modo-mini-tabela-horario .vuecal__cell-date.dia-coluna-inativa) { opacity: 0.22 !important; color: var(--text-secondary) !important; background-color: transparent !important; border-color: transparent !important; cursor: not-allowed !important; pointer-events: none !important; text-decoration: line-through; }
269
- :deep(.calendario-mini.modo-mini-tabela-horario .vuecal__cell-date.dia-semana-visivel) { background-color: var(--color-brand) !important; color: var(--text-inverse) !important; border-color: var(--color-brand) !important; font-weight: 700 !important; width: 92% !important; border-radius: 6px !important; cursor: default !important; box-shadow: var(--shadow-sm); }
219
+ .painel-agenda-unificado {
220
+ background: var(--bg-primary);
221
+ border-radius: 16px;
222
+ box-shadow: var(--shadow-float);
223
+ border: 1px solid var(--border-light);
224
+ flex-grow: 1;
225
+ display: flex;
226
+ flex-direction: column;
227
+ overflow: hidden;
228
+ }
229
+
230
+ .painel-header-topo {
231
+ height: 60px;
232
+ background-color: var(--bg-primary);
233
+ border-bottom: 1px solid var(--border-light);
234
+ display: flex;
235
+ align-items: center;
236
+ justify-content: space-between;
237
+ padding: 0 20px;
238
+ flex-shrink: 0;
239
+ }
240
+
241
+ .corpo-principal {
242
+ display: flex;
243
+ flex-grow: 1;
244
+ overflow: hidden;
245
+ }
246
+
247
+ .barra-lateral {
248
+ width: 300px;
249
+ background-color: var(--bg-primary);
250
+ border-right: 1px solid var(--border-light);
251
+ transition: width 0.3s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.2s;
252
+ overflow: hidden;
253
+ flex-shrink: 0;
254
+ }
255
+
256
+ .barra-lateral.oculta {
257
+ width: 0;
258
+ border-right: none;
259
+ opacity: 0;
260
+ }
261
+
262
+ .conteudo-lateral-fixo {
263
+ width: 300px;
264
+ padding: 15px;
265
+ }
266
+
267
+ .secao-mini-cal {
268
+ width: 100%;
269
+ }
270
+
271
+ .area-calendario {
272
+ flex: 1;
273
+ min-width: 0;
274
+ /* Fundamental para evitar o vazamento horizontal no layout principal */
275
+ min-height: 0;
276
+ overflow: hidden;
277
+ background-color: var(--bg-primary);
278
+ display: flex;
279
+ flex-direction: column;
280
+ }
281
+
282
+ .calendario-mini {
283
+ border: none !important;
284
+ box-shadow: none !important;
285
+ background-color: transparent !important;
286
+ }
287
+
288
+ :deep(.calendario-mini .vuecal__header),
289
+ :deep(.calendario-mini .vuecal__title-bar) {
290
+ background-color: var(--bg-primary) !important;
291
+ border: none !important;
292
+ padding-bottom: 5px;
293
+ }
294
+
295
+ :deep(.calendario-mini .vuecal__title),
296
+ :deep(.calendario-mini .vuecal__arrow) {
297
+ font-size: 1rem;
298
+ font-weight: 600;
299
+ color: var(--color-brand) !important;
300
+ background: transparent !important;
301
+ }
302
+
303
+ :deep(.calendario-mini .vuecal__weekdays-headings) {
304
+ background-color: var(--bg-primary) !important;
305
+ border-bottom: 1px solid var(--border-light) !important;
306
+ }
307
+
308
+ :deep(.calendario-mini .vuecal__heading),
309
+ :deep(.calendario-mini .vuecal__weekday),
310
+ :deep(.calendario-mini .vuecal__weekday-name),
311
+ :deep(.calendario-mini .vuecal__heading *) {
312
+ background-color: var(--bg-primary) !important;
313
+ color: var(--text-secondary) !important;
314
+ font-weight: 600 !important;
315
+ border: none !important;
316
+ padding-bottom: 4px;
317
+ }
318
+
319
+ :deep(.calendario-mini .vuecal__cell) {
320
+ border: none !important;
321
+ background-color: transparent !important;
322
+ height: 32px !important;
323
+ min-height: 32px !important;
324
+ aspect-ratio: auto !important;
325
+ }
326
+
327
+ :deep(.calendario-mini .vuecal__cell::before) {
328
+ display: none !important;
329
+ content: none !important;
330
+ }
331
+
332
+ :deep(.calendario-mini .vuecal__cell-content) {
333
+ height: 32px !important;
334
+ min-height: 32px !important;
335
+ padding: 0 !important;
336
+ margin: 0 !important;
337
+ justify-content: center !important;
338
+ align-items: center !important;
339
+ width: 100% !important;
340
+ }
341
+
342
+ :deep(.calendario-mini .vuecal__cell-date) {
343
+ width: 26px !important;
344
+ height: 26px !important;
345
+ font-size: 12px !important;
346
+ line-height: 26px !important;
347
+ padding: 0 !important;
348
+ display: flex !important;
349
+ align-items: center !important;
350
+ justify-content: center !important;
351
+ margin: 0 auto !important;
352
+ border-radius: 50% !important;
353
+ border: 2px solid transparent !important;
354
+ box-sizing: border-box !important;
355
+ transition: all 0.2s ease;
356
+ cursor: pointer;
357
+ background-color: transparent !important;
358
+ color: var(--text-primary);
359
+ }
360
+
361
+ :deep(.calendario-mini .vuecal__cell--selected),
362
+ :deep(.calendario-mini .vuecal__cell--today) {
363
+ background-color: transparent !important;
364
+ }
365
+
366
+ :deep(.calendario-mini:not(.modo-mini-tabela-horario) .vuecal__cell--selected .vuecal__cell-date) {
367
+ background-color: var(--color-brand) !important;
368
+ color: var(--text-inverse) !important;
369
+ border-color: var(--color-brand) !important;
370
+ }
371
+
372
+ :deep(.calendario-mini .vuecal__cell--today:not(.vuecal__cell--selected) .vuecal__cell-date:not(.dia-semana-visivel)) {
373
+ background-color: var(--color-brand-light) !important;
374
+ border-color: transparent !important;
375
+ color: var(--color-brand) !important;
376
+ }
377
+
378
+ :deep(.vuecal__body) {
379
+ padding: 0;
380
+ gap: 0;
381
+ margin: 0;
382
+ }
383
+
384
+ :deep(.calendario-mini .vuecal__views-bar) {
385
+ display: none !important;
386
+ }
387
+
388
+ :deep(.calendario-mini .vuecal__nav--next),
389
+ :deep(.calendario-mini .vuecal__nav--prev) {
390
+ color: var(--text-primary) !important;
391
+ }
392
+
393
+ :deep(.calendario-mini .vuecal__body) {
394
+ height: 0% !important;
395
+ }
396
+
397
+ :deep(.calendario-mini .vuecal__scrollable-wrap) {
398
+ background-color: transparent !important;
399
+ }
400
+
401
+ :deep(.calendario-mini.modo-mini-tabela-horario .vuecal__cell--disabled) {
402
+ pointer-events: none !important;
403
+ cursor: not-allowed !important;
404
+ }
405
+
406
+ :deep(.calendario-mini.modo-mini-tabela-horario .vuecal__cell-date.dia-coluna-inativa) {
407
+ opacity: 0.22 !important;
408
+ color: var(--text-secondary) !important;
409
+ background-color: transparent !important;
410
+ border-color: transparent !important;
411
+ cursor: not-allowed !important;
412
+ pointer-events: none !important;
413
+ text-decoration: line-through;
414
+ }
415
+
416
+ :deep(.calendario-mini.modo-mini-tabela-horario .vuecal__cell-date.dia-semana-visivel) {
417
+ background-color: var(--color-brand) !important;
418
+ color: var(--text-inverse) !important;
419
+ border-color: var(--color-brand) !important;
420
+ font-weight: 700 !important;
421
+ width: 92% !important;
422
+ border-radius: 6px !important;
423
+ cursor: default !important;
424
+ box-shadow: var(--shadow-sm);
425
+ }
270
426
  </style>
@@ -7,6 +7,7 @@ de recursos atualmente em exibição (já filtrada).
7
7
  ========
8
8
  -->
9
9
  <script setup lang="ts">
10
+ defineSlots<{ [key: string]: any }>();
10
11
  import { computed, watch, ref, inject } from 'vue';
11
12
  import { useAgenda } from '../composables/useAgenda';
12
13
  import AgendaMatrixBase from './AgendaMatrixBase.vue';