@bagelink/vue 0.0.1220 → 0.0.1224
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/dist/components/Calendar/Index.vue.d.ts +8 -4
- package/dist/components/Calendar/Index.vue.d.ts.map +1 -1
- package/dist/components/Calendar/components/header/Header.vue.d.ts +2 -0
- package/dist/components/Calendar/components/header/Header.vue.d.ts.map +1 -1
- package/dist/components/Calendar/components/month/AgendaEventTile.vue.d.ts.map +1 -1
- package/dist/components/Calendar/components/month/AgendaEvents.vue.d.ts.map +1 -1
- package/dist/components/Calendar/components/month/Day.vue.d.ts.map +1 -1
- package/dist/components/Calendar/components/month/Event.vue.d.ts.map +1 -1
- package/dist/components/Calendar/components/month/Month.vue.d.ts +2 -2
- package/dist/components/Calendar/components/month/Month.vue.d.ts.map +1 -1
- package/dist/components/Calendar/components/month/WeekDay.vue.d.ts.map +1 -1
- package/dist/components/Calendar/components/partials/EventFlyout.vue.d.ts.map +1 -1
- package/dist/components/Calendar/components/week/Day.vue.d.ts.map +1 -1
- package/dist/components/Calendar/components/week/Week.vue.d.ts +2 -2
- package/dist/components/Calendar/components/week/WeekTimeline.vue.d.ts.map +1 -1
- package/dist/components/Calendar/constants.d.ts.map +1 -1
- package/dist/components/Calendar/language/index.d.ts +2 -1
- package/dist/components/Calendar/language/index.d.ts.map +1 -1
- package/dist/components/Calendar/language/keys.d.ts +66 -63
- package/dist/components/Calendar/language/keys.d.ts.map +1 -1
- package/dist/components/Spreadsheet/Index.vue.d.ts +24 -0
- package/dist/components/Spreadsheet/Index.vue.d.ts.map +1 -0
- package/dist/components/form/BagelForm.vue.d.ts +1 -1
- package/dist/components/form/BagelForm.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/DatePick.vue.d.ts +1 -0
- package/dist/components/form/inputs/DatePick.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/DatePicker.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/NumberInput.vue.d.ts.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/index.cjs +1828 -1144
- package/dist/index.mjs +1829 -1145
- package/dist/style.css +679 -712
- package/package.json +1 -1
- package/src/components/Calendar/Index.vue +13 -16
- package/src/components/Calendar/components/header/Header.vue +17 -139
- package/src/components/Calendar/components/month/AgendaEventTile.vue +1 -10
- package/src/components/Calendar/components/month/AgendaEvents.vue +7 -53
- package/src/components/Calendar/components/month/Day.vue +12 -30
- package/src/components/Calendar/components/month/Event.vue +10 -67
- package/src/components/Calendar/components/month/Month.vue +10 -56
- package/src/components/Calendar/components/month/WeekDay.vue +1 -11
- package/src/components/Calendar/components/partials/EventFlyout.vue +2 -1
- package/src/components/Calendar/components/week/Day.vue +4 -18
- package/src/components/Calendar/components/week/DayEvent.vue +1 -1
- package/src/components/Calendar/components/week/FullDayEvent.vue +2 -2
- package/src/components/Calendar/components/week/Week.vue +1 -1
- package/src/components/Calendar/components/week/WeekTimeline.vue +13 -38
- package/src/components/Calendar/constants.ts +11 -11
- package/src/components/Calendar/language/index.ts +6 -3
- package/src/components/Calendar/language/keys.ts +91 -88
- package/src/components/Calendar/styles/_variables.css +38 -42
- package/src/components/Spreadsheet/Index.vue +843 -0
- package/src/components/form/BagelForm.vue +1 -1
- package/src/components/form/inputs/DatePick.vue +6 -2
- package/src/components/form/inputs/DatePicker.vue +2 -2
- package/src/components/form/inputs/NumberInput.vue +2 -2
- package/src/components/index.ts +1 -0
- package/src/styles/buttons.css +81 -73
- package/src/styles/layout.css +25 -0
- package/src/styles/mobilLayout.css +25 -0
- package/src/styles/text.css +82 -1
- package/src/styles/theme.css +269 -258
- package/src/components/Calendar/index.ts +0 -4
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import type { PropType } from 'vue'
|
|
3
3
|
import type { ConfigInterface } from './typings/config.interface'
|
|
4
|
+
import type { DayInterface } from './typings/interfaces/day.interface'
|
|
4
5
|
import type { EventInterface } from './typings/interfaces/event.interface'
|
|
6
|
+
import type { PeriodInterface } from './typings/interfaces/period.interface'
|
|
5
7
|
import type { modeType } from './typings/types'
|
|
6
8
|
import { ref, computed, onMounted, onBeforeUnmount, watch } from 'vue'
|
|
7
9
|
import AppHeader from './components/header/Header.vue'
|
|
10
|
+
import AgendaEvents from './components/month/AgendaEvents.vue'
|
|
8
11
|
import Month from './components/month/Month.vue'
|
|
9
12
|
import Week from './components/week/Week.vue'
|
|
10
13
|
import Errors from './helpers/Errors'
|
|
11
14
|
import Time from './helpers/Time'
|
|
12
|
-
import AgendaEvents from './components/month/AgendaEvents.vue'
|
|
13
|
-
import type { DayInterface } from './typings/interfaces/day.interface'
|
|
14
|
-
import type { PeriodInterface } from './typings/interfaces/period.interface'
|
|
15
15
|
|
|
16
16
|
const props = defineProps({
|
|
17
17
|
config: {
|
|
@@ -142,7 +142,7 @@ function onCalendarResize() {
|
|
|
142
142
|
.getComputedStyle(documentRoot)
|
|
143
143
|
.fontSize
|
|
144
144
|
.split('p')[0]
|
|
145
|
-
const breakPointFor1RemEquals16px =
|
|
145
|
+
const breakPointFor1RemEquals16px = 600
|
|
146
146
|
const multiplier = 16 / documentFontSize
|
|
147
147
|
const smallCalendarBreakpoint = breakPointFor1RemEquals16px / multiplier // For 16px root font-size, break point is at 43.75rem
|
|
148
148
|
|
|
@@ -194,13 +194,13 @@ const day = $computed(() => {
|
|
|
194
194
|
month: '2-digit',
|
|
195
195
|
year: 'numeric',
|
|
196
196
|
}),
|
|
197
|
-
events: eventsDataProperty.value.filter(e => {
|
|
197
|
+
events: eventsDataProperty.value.filter((e) => {
|
|
198
198
|
const eventDate = new Date(e.time.start)
|
|
199
199
|
return eventDate >= period.value.start && eventDate <= period.value.end
|
|
200
200
|
}),
|
|
201
201
|
fullDayEvents: {
|
|
202
202
|
date: period.value.selectedDate,
|
|
203
|
-
events: eventsDataProperty.value.filter(e => {
|
|
203
|
+
events: eventsDataProperty.value.filter((e) => {
|
|
204
204
|
const eventDate = new Date(e.time.start)
|
|
205
205
|
return eventDate >= period.value.start && eventDate <= period.value.end
|
|
206
206
|
}),
|
|
@@ -215,7 +215,7 @@ function handleDateWasClicked(payload: string) {
|
|
|
215
215
|
</script>
|
|
216
216
|
|
|
217
217
|
<template>
|
|
218
|
-
<div class="calendar-root-wrapper">
|
|
218
|
+
<div class="calendar-root-wrapper txt16">
|
|
219
219
|
<div
|
|
220
220
|
ref="calendarRoot"
|
|
221
221
|
class="calendar-root"
|
|
@@ -331,6 +331,9 @@ function handleDateWasClicked(payload: string) {
|
|
|
331
331
|
</div>
|
|
332
332
|
</template>
|
|
333
333
|
|
|
334
|
+
<!-- <style src="../../styles/_variables.css"></style> -->
|
|
335
|
+
<style src="../Calendar/styles/_variables.css"></style>
|
|
336
|
+
|
|
334
337
|
<style>
|
|
335
338
|
.calendar-root-wrapper {
|
|
336
339
|
width: 100%;
|
|
@@ -341,7 +344,6 @@ function handleDateWasClicked(payload: string) {
|
|
|
341
344
|
|
|
342
345
|
.calendar-root-wrapper .calendar-root {
|
|
343
346
|
flex: 1;
|
|
344
|
-
border: var(--qalendar-border-gray-thin);
|
|
345
347
|
border-radius: var(--qalendar-border-radius);
|
|
346
348
|
position: relative;
|
|
347
349
|
width: 100%;
|
|
@@ -349,14 +351,9 @@ function handleDateWasClicked(payload: string) {
|
|
|
349
351
|
display: flex;
|
|
350
352
|
flex-flow: column;
|
|
351
353
|
}
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
background: #121212;
|
|
356
|
-
color: #fff;
|
|
357
|
-
border-color: transparent;
|
|
358
|
-
}
|
|
359
|
-
} */
|
|
354
|
+
.calendar-root-wrapper .calendar-root .calendar-month__weeks{
|
|
355
|
+
border-inline: var(--qalendar-border-gray-thin);
|
|
356
|
+
}
|
|
360
357
|
|
|
361
358
|
.calendar-root-wrapper .calendar-root .top-bar-loader {
|
|
362
359
|
position: absolute;
|
|
@@ -5,8 +5,9 @@ import type { ConfigInterface } from '../../typings/config.interface'
|
|
|
5
5
|
import type { PeriodInterface } from '../../typings/interfaces/period.interface'
|
|
6
6
|
import type { modeType } from '../../typings/types'
|
|
7
7
|
|
|
8
|
-
import { DatePick, Icon, TabsNav } from '@bagelink/vue'
|
|
8
|
+
import { DatePick, Icon, TabsNav, Btn } from '@bagelink/vue'
|
|
9
9
|
import { ref, computed, watch } from 'vue'
|
|
10
|
+
import { translate, getLanguage } from '../../language'
|
|
10
11
|
|
|
11
12
|
const props = defineProps({
|
|
12
13
|
config: {
|
|
@@ -78,8 +79,8 @@ const onlyDayModeIsEnabled = computed(() => {
|
|
|
78
79
|
})
|
|
79
80
|
|
|
80
81
|
watch(() => props.isSmall, (value) => {
|
|
81
|
-
if (value) modeOptions.value = ['
|
|
82
|
-
else modeOptions.value = ['
|
|
82
|
+
if (value) modeOptions.value = ['day', 'month',]
|
|
83
|
+
else modeOptions.value = ['agenda', 'day', 'week', 'month']
|
|
83
84
|
}, { immediate: true })
|
|
84
85
|
|
|
85
86
|
function dateToPeriod(selectedDate: Date) {
|
|
@@ -122,153 +123,30 @@ function goToPeriod(direction: 'previous' | 'next') {
|
|
|
122
123
|
</script>
|
|
123
124
|
|
|
124
125
|
<template>
|
|
125
|
-
<div class="
|
|
126
|
-
<div
|
|
127
|
-
|
|
128
|
-
class="calendar-header__period-name"
|
|
129
|
-
>
|
|
130
|
-
{{ periodName }}
|
|
131
|
-
</div>
|
|
132
|
-
|
|
133
|
-
<div class="flex gap-05">
|
|
134
|
-
<div class="calendar-header__chevron-arrows">
|
|
135
|
-
<Icon
|
|
136
|
-
class="calendar-header__chevron-arrow calendar-header__chevron-arrow-left"
|
|
137
|
-
:icon="icons.chevronLeft"
|
|
138
|
-
@click="goToPeriod('previous')"
|
|
139
|
-
/>
|
|
140
|
-
|
|
141
|
-
<Icon
|
|
142
|
-
class="calendar-header__chevron-arrow calendar-header__chevron-arrow-right"
|
|
143
|
-
:icon="icons.chevronRight"
|
|
144
|
-
@click="goToPeriod('next')"
|
|
145
|
-
/>
|
|
146
|
-
</div>
|
|
126
|
+
<div class="flex gap-05 space-between pb-1 datePick">
|
|
127
|
+
<div class="flex gap-1">
|
|
128
|
+
<Btn flat icon="chevron_left" @click="goToPeriod('previous')" />
|
|
147
129
|
<DatePick
|
|
148
130
|
ref="periodSelect"
|
|
149
131
|
v-model="currentPeriod.selectedDate"
|
|
132
|
+
class="m-0 bg-input-transparent m_w-max-90px txt10 p-0"
|
|
150
133
|
:mode="mode"
|
|
134
|
+
center
|
|
151
135
|
@update:modelValue="handlePeriodChange"
|
|
152
136
|
/>
|
|
153
|
-
|
|
154
|
-
<div
|
|
155
|
-
v-if="!onlyDayModeIsEnabled"
|
|
156
|
-
class="calendar-header__mode-picker"
|
|
157
|
-
>
|
|
158
|
-
<TabsNav v-model="modeLocal" :tabs="modeOptions" group="mode" @update:model-value="emit('changeMode', $event)" />
|
|
159
|
-
</div>
|
|
137
|
+
<Btn flat icon="chevron_right" @click="goToPeriod('next')" />
|
|
160
138
|
</div>
|
|
139
|
+
<TabsNav v-if="!onlyDayModeIsEnabled" v-model="modeLocal" :tabs="modeOptions.map(id => ({ id, label: translate(id) }))" group="mode" @update:model-value="emit('changeMode', $event)" />
|
|
161
140
|
</div>
|
|
162
141
|
</template>
|
|
163
142
|
|
|
164
|
-
<style
|
|
165
|
-
.
|
|
166
|
-
|
|
167
|
-
flex-wrap: wrap;
|
|
168
|
-
align-items: center;
|
|
169
|
-
justify-content: space-between;
|
|
170
|
-
padding: var(--qalendar-spacing-half);
|
|
171
|
-
border-radius: var(--qalendar-border-radius);
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
@media (min-width: 768px) {
|
|
175
|
-
.calendar-header {
|
|
176
|
-
justify-content: space-between;
|
|
177
|
-
gap: var(--qalendar-spacing);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
:global(.dark) .calendar-header {
|
|
182
|
-
color: var(--qalendar-dark-mode-text-hint);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
.calendar-header__period-name {
|
|
187
|
-
font-size: var(--qalendar-font-l);
|
|
188
|
-
text-align: center;
|
|
143
|
+
<style>
|
|
144
|
+
.datePick input{
|
|
145
|
+
min-width: 2px !important;
|
|
189
146
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
margin-bottom: 0;
|
|
194
|
-
text-align: left;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
.calendar-header__multiselects {
|
|
199
|
-
display: flex;
|
|
200
|
-
flex-wrap: wrap;
|
|
201
|
-
align-items: center;
|
|
202
|
-
gap: var(--qalendar-spacing);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
.calendar-header__chevron-arrows {
|
|
206
|
-
display: flex;
|
|
207
|
-
align-items: center;
|
|
208
|
-
gap: 20px;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
.calendar-header__chevron-arrow {
|
|
212
|
-
cursor: pointer;
|
|
213
|
-
transition: color 0.2s ease;
|
|
214
|
-
font-size: var(--qalendar-font-m);
|
|
147
|
+
@media screen and (max-width: 910px) {
|
|
148
|
+
.datePick{
|
|
149
|
+
--input-font-size: 0.75rem;
|
|
215
150
|
}
|
|
216
|
-
|
|
217
|
-
.calendar-header__chevron-arrow:hover {
|
|
218
|
-
color: var(--qalendar-gray-quite-dark);
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
.calendar-header__mode-picker {
|
|
222
|
-
position: relative;
|
|
223
|
-
display: flex;
|
|
224
|
-
align-items: center;
|
|
225
|
-
justify-content: center;
|
|
226
|
-
width: fit-content;
|
|
227
|
-
height: 36px;
|
|
228
|
-
border-radius: 4px;
|
|
229
|
-
font-size: var(--qalendar-font-m);
|
|
230
|
-
cursor: pointer;
|
|
231
|
-
border: var(--qalendar-border-gray-thin);
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
:global(.dark) .calendar-header__mode-picker {
|
|
235
|
-
border-color: transparent;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
.calendar-header__mode-value {
|
|
239
|
-
padding: 0 var(--qalendar-spacing);
|
|
240
|
-
width: 100%;
|
|
241
|
-
height: 100%;
|
|
242
|
-
display: flex;
|
|
243
|
-
align-items: center;
|
|
244
|
-
user-select: none;
|
|
245
|
-
border-radius: 4px;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
:global(.dark) .calendar-header__mode-value {
|
|
249
|
-
background-color: var(--qalendar-dark-mode-lightly-elevated-surface);
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
.calendar-header__mode-options {
|
|
253
|
-
position: absolute;
|
|
254
|
-
z-index: 51;
|
|
255
|
-
top: 100%;
|
|
256
|
-
left: 50%;
|
|
257
|
-
transform: translateX(-50%);
|
|
258
|
-
border: var(--qalendar-border-gray-thin);
|
|
259
|
-
background-color: #fff;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
:global(.dark) .calendar-header__mode-options {
|
|
263
|
-
border-color: transparent;
|
|
264
|
-
background-color: var(--qalendar-dark-mode-elevated-surface);
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
.calendar-header__mode-option {
|
|
268
|
-
padding: var(--qalendar-spacing-half) var(--qalendar-spacing);
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
.calendar-header__mode-option:hover {
|
|
272
|
-
background-color: var(--qalendar-option-hover);
|
|
273
151
|
}
|
|
274
152
|
</style>
|
|
@@ -88,7 +88,7 @@ onMounted(() => {
|
|
|
88
88
|
<template>
|
|
89
89
|
<div
|
|
90
90
|
:id="elementId"
|
|
91
|
-
class="agenda__event is-event"
|
|
91
|
+
class="agenda__event is-event rounded mb-05 pointer user-select-none p-1 flex column align-items-start"
|
|
92
92
|
@click.prevent="handleClickOnEvent"
|
|
93
93
|
>
|
|
94
94
|
<span
|
|
@@ -124,14 +124,5 @@ onMounted(() => {
|
|
|
124
124
|
.agenda__event {
|
|
125
125
|
background-color: v-bind(eventBackgroundColor);
|
|
126
126
|
color: v-bind(eventColor);
|
|
127
|
-
display: flex;
|
|
128
|
-
flex-flow: column;
|
|
129
|
-
justify-content: flex-start;
|
|
130
|
-
border-radius: 4px;
|
|
131
|
-
font-size: var(--qalendar-font-2xs);
|
|
132
|
-
margin-bottom: 4px;
|
|
133
|
-
padding: var(--qalendar-spacing);
|
|
134
|
-
cursor: pointer;
|
|
135
|
-
user-select: none;
|
|
136
127
|
}
|
|
137
128
|
</style>
|
|
@@ -25,26 +25,26 @@ const emit = defineEmits(['eventWasClicked'])
|
|
|
25
25
|
</script>
|
|
26
26
|
|
|
27
27
|
<template>
|
|
28
|
-
<div class="agenda__wrapper">
|
|
29
|
-
<header class="
|
|
30
|
-
<div class="agenda__header-day-name">
|
|
28
|
+
<div class="agenda__wrapper flex align-items-start gap-1">
|
|
29
|
+
<header class="">
|
|
30
|
+
<div class="agenda__header-day-name txt-center">
|
|
31
31
|
{{ day.dayName }}
|
|
32
32
|
</div>
|
|
33
|
-
<div class="agenda__header-date">
|
|
33
|
+
<div class="agenda__header-date flex justify-content-center rounded p-025 txt24 line-height-04">
|
|
34
34
|
<!-- Here we want to display leading zero for days 1-9, in order to prevent layout shifts -->
|
|
35
35
|
{{ day.dateTimeString.substring(8, 10) }}
|
|
36
36
|
</div>
|
|
37
37
|
</header>
|
|
38
|
-
<div class="agenda__content">
|
|
38
|
+
<div class="agenda__content flex column w-100p h-100p min-h-100px pt-05">
|
|
39
39
|
<div
|
|
40
40
|
v-if="day.events.length === 0"
|
|
41
|
-
class="
|
|
41
|
+
class="align-items-center flex justify-content-center h-100p"
|
|
42
42
|
>
|
|
43
43
|
{{ getLanguage(languageKeys.noEvent, time.CALENDAR_LOCALE) }}
|
|
44
44
|
</div>
|
|
45
45
|
<div
|
|
46
46
|
v-else
|
|
47
|
-
class="
|
|
47
|
+
class="w-100p"
|
|
48
48
|
>
|
|
49
49
|
<AgendaEventTile
|
|
50
50
|
v-for="dayEvent of day.events"
|
|
@@ -59,49 +59,3 @@ const emit = defineEmits(['eventWasClicked'])
|
|
|
59
59
|
</div>
|
|
60
60
|
</div>
|
|
61
61
|
</template>
|
|
62
|
-
|
|
63
|
-
<style scoped>
|
|
64
|
-
.agenda__wrapper {
|
|
65
|
-
display: flex;
|
|
66
|
-
flex-flow: row;
|
|
67
|
-
padding: 10px 5px 0;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.agenda__header {
|
|
71
|
-
padding-right: 10px;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.agenda__header-day-name {
|
|
75
|
-
text-align: center;
|
|
76
|
-
color: var(--qalendar-theme-color);
|
|
77
|
-
font-size: var(--qalendar-font-xs);
|
|
78
|
-
font-weight: bold;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.agenda__header-date {
|
|
82
|
-
height: fit-content;
|
|
83
|
-
display: flex;
|
|
84
|
-
justify-content: center;
|
|
85
|
-
align-items: center;
|
|
86
|
-
padding: 5px;
|
|
87
|
-
border-radius: 4px;
|
|
88
|
-
background-color: var(--qalendar-theme-color);
|
|
89
|
-
color: white;
|
|
90
|
-
font-weight: 600;
|
|
91
|
-
font-size: var(--qalendar-font-m);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.agenda__content {
|
|
95
|
-
display: flex;
|
|
96
|
-
flex-flow: column;
|
|
97
|
-
width: 100%;
|
|
98
|
-
height: auto;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.agenda__content .is-empty {
|
|
102
|
-
min-height: 70px;
|
|
103
|
-
display: flex;
|
|
104
|
-
justify-content: center;
|
|
105
|
-
align-items: center;
|
|
106
|
-
}
|
|
107
|
-
</style>
|
|
@@ -109,7 +109,7 @@ function emitDayWasClicked() {
|
|
|
109
109
|
class="calendar-month__weekday"
|
|
110
110
|
:class="{
|
|
111
111
|
'is-droppable': canBeDropped,
|
|
112
|
-
'
|
|
112
|
+
'color-gray': day.isTrailingOrLeadingDate,
|
|
113
113
|
'is-selected': isSelected,
|
|
114
114
|
'is-today': isToday,
|
|
115
115
|
}"
|
|
@@ -123,12 +123,14 @@ function emitDayWasClicked() {
|
|
|
123
123
|
name="dayCell"
|
|
124
124
|
:day-data="day"
|
|
125
125
|
>
|
|
126
|
-
<
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
126
|
+
<div class="w-100p flex justify-content-end txt14 p-025 m_h-100p">
|
|
127
|
+
<p
|
|
128
|
+
class="calendar-month__day-date ms-auto flex aspect-ratio-1 w-30px h-30px justify-content-center m_mx-auto "
|
|
129
|
+
@click="emitDayWasClicked"
|
|
130
|
+
>
|
|
131
|
+
{{ day.dateTimeString.substring(8, 10).startsWith('0') ? day.dateTimeString.substring(9, 10) : day.dateTimeString.substring(8, 10) }}
|
|
132
|
+
</p>
|
|
133
|
+
</div>
|
|
132
134
|
|
|
133
135
|
<div class="calendar-month_events">
|
|
134
136
|
<template
|
|
@@ -190,28 +192,8 @@ function emitDayWasClicked() {
|
|
|
190
192
|
border-right: 0;
|
|
191
193
|
}
|
|
192
194
|
|
|
193
|
-
.
|
|
194
|
-
|
|
195
|
-
-moz-box-shadow: inset 0 0 0 3px var(--qalendar-theme-color);
|
|
196
|
-
box-shadow: inset 0 0 0 3px var(--qalendar-theme-color);
|
|
197
|
-
border-radius: 5px;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
.qalendar-is-small .calendar-month__weekday {
|
|
201
|
-
height: 45px;
|
|
202
|
-
width: 45px;
|
|
203
|
-
display: flex;
|
|
204
|
-
flex-flow: column;
|
|
205
|
-
justify-content: space-around;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
.calendar-month__day-date {
|
|
209
|
-
font-size: var(--qalendar-font-xs);
|
|
210
|
-
color: var(--qalendar-gray-quite-dark);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
.calendar-month__day-date:first-child {
|
|
214
|
-
margin-top: 6px;
|
|
195
|
+
.calendar-month__weekday.is-selected {
|
|
196
|
+
box-shadow: inset 0 0 0 1px var(--bgl-primary);
|
|
215
197
|
}
|
|
216
198
|
|
|
217
199
|
.calendar-month__weekday-more {
|
|
@@ -237,7 +219,7 @@ function emitDayWasClicked() {
|
|
|
237
219
|
}
|
|
238
220
|
|
|
239
221
|
.calendar-month__weekday.is-today .calendar-month__day-date {
|
|
240
|
-
background-color: var(--
|
|
222
|
+
background-color: var(--bgl-primary);
|
|
241
223
|
color: #fff;
|
|
242
224
|
border-radius: 50%;
|
|
243
225
|
padding: 4px 6px;
|
|
@@ -115,7 +115,7 @@ onMounted(() => {
|
|
|
115
115
|
:id="elementId"
|
|
116
116
|
class="is-event"
|
|
117
117
|
data-ref="custom-event"
|
|
118
|
-
:class="{
|
|
118
|
+
:class="{ grab: elementDraggableAttribute }"
|
|
119
119
|
:draggable="elementDraggableAttribute"
|
|
120
120
|
@dragstart="handleDragStart"
|
|
121
121
|
@click="handleClickOnEvent"
|
|
@@ -130,92 +130,35 @@ onMounted(() => {
|
|
|
130
130
|
v-else
|
|
131
131
|
:id="elementId"
|
|
132
132
|
data-ref="default-event"
|
|
133
|
-
class="calendar-month__event is-event"
|
|
133
|
+
class="calendar-month__event hover is-event flex align-items-center overflow-hidden radius-05 txt10 px-025 pointer user-select-none gap-025 bg-white"
|
|
134
134
|
:class="{ 'is-draggable': elementDraggableAttribute }"
|
|
135
135
|
:draggable="elementDraggableAttribute"
|
|
136
136
|
@dragstart="handleDragStart"
|
|
137
137
|
@click="handleClickOnEvent"
|
|
138
138
|
>
|
|
139
|
-
<span class="calendar-month__event-color" />
|
|
139
|
+
<span class="calendar-month__event-color round flex-shrink-0" />
|
|
140
140
|
|
|
141
141
|
<span
|
|
142
142
|
v-if="eventTimeStart && !calendarEvent.originalEvent"
|
|
143
|
-
class="calendar-month__event-time"
|
|
143
|
+
class="calendar-month__event-time opacity-6 flex-shrink-0"
|
|
144
144
|
>
|
|
145
145
|
{{ eventTimeStart }}
|
|
146
146
|
</span>
|
|
147
|
-
|
|
148
|
-
<span class="calendar-month__event-title">
|
|
147
|
+
<span class="calendar-month__event-title1 white-space ellipsis ">
|
|
149
148
|
{{ calendarEvent.title }}
|
|
150
149
|
</span>
|
|
151
150
|
</div>
|
|
152
151
|
</template>
|
|
153
152
|
</template>
|
|
154
153
|
|
|
155
|
-
<style>
|
|
156
|
-
.calendar-month__event {
|
|
157
|
-
--event-inline-padding: 4px;
|
|
158
|
-
display: flex;
|
|
159
|
-
align-items: center;
|
|
160
|
-
overflow: hidden;
|
|
161
|
-
border-radius: 4px;
|
|
162
|
-
font-size: var(--qalendar-font-2xs);
|
|
163
|
-
width: calc(100% - (var(--event-inline-padding) * 2));
|
|
164
|
-
margin-bottom: 4px;
|
|
165
|
-
padding: 0.25rem var(--event-inline-padding);
|
|
166
|
-
cursor: pointer;
|
|
167
|
-
user-select: none;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
.calendar-month__event .calendar-month__event-time {
|
|
171
|
-
margin-right: 6px;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
.calendar-month__event .calendar-month__event-time,
|
|
175
|
-
.calendar-month__event .calendar-month__event-title,
|
|
176
|
-
.calendar-month__event .calendar-month__event-color {
|
|
177
|
-
flex-shrink: 0;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
.qalendar-is-small .calendar-month__event .calendar-month__event-time,
|
|
181
|
-
.qalendar-is-small .calendar-month__event .calendar-month__event-title {
|
|
182
|
-
display: none;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
.qalendar-is-small .calendar-month__event {
|
|
186
|
-
background-color: v-bind(eventBackgroundColor);
|
|
187
|
-
width: 4px;
|
|
188
|
-
height: 4px;
|
|
189
|
-
border-radius: 50%;
|
|
190
|
-
padding: 1px;
|
|
191
|
-
margin-right: 1px;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
.calendar-month__event.is-draggable {
|
|
195
|
-
cursor: grab;
|
|
196
|
-
}
|
|
197
|
-
|
|
154
|
+
<style scoped>
|
|
198
155
|
.calendar-month__event:active {
|
|
199
|
-
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
.calendar-month__event:not(.is-draggable):active {
|
|
203
|
-
cursor: not-allowed;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
.calendar-month__event:hover {
|
|
207
|
-
background-color: var(--qalendar-light-gray);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
.calendar-month__event:hover:hover {
|
|
211
|
-
background-color: var(--qalendar-option-hover);
|
|
156
|
+
z-index: 100;
|
|
212
157
|
}
|
|
213
158
|
|
|
214
159
|
.calendar-month__event .calendar-month__event-color {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
border-radius: 50%;
|
|
219
|
-
margin-right: 4px;
|
|
160
|
+
background-color: v-bind(eventBackgroundColor);
|
|
161
|
+
width: 6px;
|
|
162
|
+
height: 6px;
|
|
220
163
|
}
|
|
221
164
|
</style>
|
|
@@ -137,20 +137,20 @@ onMounted(() => {
|
|
|
137
137
|
</script>
|
|
138
138
|
|
|
139
139
|
<template>
|
|
140
|
-
<div class="calendar-month">
|
|
140
|
+
<div class="calendar-month relative column w-100p h-100p overflow-y flex flex-stretch">
|
|
141
141
|
<div
|
|
142
|
-
class="
|
|
142
|
+
class="flex space-between"
|
|
143
143
|
>
|
|
144
144
|
<WeekDay
|
|
145
145
|
v-for="(day, dayIndex) in month[0]"
|
|
146
146
|
:key="dayIndex"
|
|
147
|
-
class="
|
|
147
|
+
class=" txt-center flex-shrink flex-grow"
|
|
148
148
|
:config="config"
|
|
149
149
|
:day="day"
|
|
150
150
|
:time="time"
|
|
151
151
|
/>
|
|
152
152
|
</div>
|
|
153
|
-
<div class="calendar-month__weeks">
|
|
153
|
+
<div class="calendar-month__weeks h-100p flex-grow flex flex-stretch column space-between">
|
|
154
154
|
<div
|
|
155
155
|
v-for="(week, weekIndex) in month"
|
|
156
156
|
:key="weekIndex"
|
|
@@ -188,7 +188,7 @@ onMounted(() => {
|
|
|
188
188
|
|
|
189
189
|
<div
|
|
190
190
|
v-if="!(config.month?.showEventsOnMobileView === false)"
|
|
191
|
-
class="calendar-month__day_events"
|
|
191
|
+
class="calendar-month__day_events w-100p pt-1"
|
|
192
192
|
>
|
|
193
193
|
<AgendaEvents
|
|
194
194
|
v-if="selectedDay"
|
|
@@ -221,58 +221,12 @@ onMounted(() => {
|
|
|
221
221
|
</template>
|
|
222
222
|
|
|
223
223
|
<style>
|
|
224
|
-
.calendar-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
width: 100%;
|
|
229
|
-
height: 100%;
|
|
230
|
-
overflow-y: auto;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
:global(.qalendar-is-small) .calendar-month {
|
|
234
|
-
height: initial;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
.calendar-month__week-day-names {
|
|
238
|
-
display: flex;
|
|
239
|
-
justify-content: space-between;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
.calendar-month__week-day-name {
|
|
243
|
-
flex: 1;
|
|
244
|
-
text-align: center;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
.calendar-month__weeks {
|
|
248
|
-
height: 100%;
|
|
249
|
-
flex-grow: 1;
|
|
250
|
-
display: flex;
|
|
251
|
-
flex-flow: column;
|
|
252
|
-
justify-content: space-between;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
.calendar-month__week {
|
|
256
|
-
display: flex;
|
|
257
|
-
flex: 1;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
.calendar-month__week:first-child {
|
|
261
|
-
border-top: var(--qalendar-border-gray-thin);
|
|
262
|
-
}
|
|
224
|
+
.calendar-month__week {
|
|
225
|
+
display: flex;
|
|
226
|
+
flex: 1;
|
|
227
|
+
}
|
|
263
228
|
|
|
264
|
-
@media (prefers-color-scheme: dark) {
|
|
265
229
|
.calendar-month__week:first-child {
|
|
266
|
-
border-
|
|
230
|
+
border-top: var(--qalendar-border-gray-thin);
|
|
267
231
|
}
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
.calendar-month__day_events {
|
|
271
|
-
height: 100%;
|
|
272
|
-
display: none;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
:global(.qalendar-is-small) .calendar-month__day_events {
|
|
276
|
-
display: block;
|
|
277
|
-
}
|
|
278
232
|
</style>
|
|
@@ -8,18 +8,8 @@ defineProps<{
|
|
|
8
8
|
|
|
9
9
|
<template>
|
|
10
10
|
<span
|
|
11
|
-
class="
|
|
11
|
+
class="txt12 normal block color-black pb-025"
|
|
12
12
|
>
|
|
13
13
|
{{ day.dayName }}
|
|
14
14
|
</span>
|
|
15
15
|
</template>
|
|
16
|
-
|
|
17
|
-
<style scoped>
|
|
18
|
-
.calendar-month__day-name {
|
|
19
|
-
display: block;
|
|
20
|
-
font-size: 12px;
|
|
21
|
-
font-weight: 500;
|
|
22
|
-
color: var(--qalendar-gray-quite-dark);
|
|
23
|
-
margin-bottom: var(--qalendar-spacing-half);
|
|
24
|
-
}
|
|
25
|
-
</style>
|