@bagelink/vue 0.0.1216 → 0.0.1220

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 (140) hide show
  1. package/dist/components/Calendar/Index.vue.d.ts +510 -0
  2. package/dist/components/Calendar/Index.vue.d.ts.map +1 -0
  3. package/dist/components/Calendar/components/header/Header.vue.d.ts +117 -0
  4. package/dist/components/Calendar/components/header/Header.vue.d.ts.map +1 -0
  5. package/dist/components/Calendar/components/month/AgendaEventTile.vue.d.ts +37 -0
  6. package/dist/components/Calendar/components/month/AgendaEventTile.vue.d.ts.map +1 -0
  7. package/dist/components/Calendar/components/month/AgendaEvents.vue.d.ts +37 -0
  8. package/dist/components/Calendar/components/month/AgendaEvents.vue.d.ts.map +1 -0
  9. package/dist/components/Calendar/components/month/Day.vue.d.ts +84 -0
  10. package/dist/components/Calendar/components/month/Day.vue.d.ts.map +1 -0
  11. package/dist/components/Calendar/components/month/Event.vue.d.ts +69 -0
  12. package/dist/components/Calendar/components/month/Event.vue.d.ts.map +1 -0
  13. package/dist/components/Calendar/components/month/Month.vue.d.ts +134 -0
  14. package/dist/components/Calendar/components/month/Month.vue.d.ts.map +1 -0
  15. package/dist/components/Calendar/components/month/WeekDay.vue.d.ts +7 -0
  16. package/dist/components/Calendar/components/month/WeekDay.vue.d.ts.map +1 -0
  17. package/dist/components/Calendar/components/partials/EventFlyout.vue.d.ts +122 -0
  18. package/dist/components/Calendar/components/partials/EventFlyout.vue.d.ts.map +1 -0
  19. package/dist/components/Calendar/components/week/Day.vue.d.ts +152 -0
  20. package/dist/components/Calendar/components/week/Day.vue.d.ts.map +1 -0
  21. package/dist/components/Calendar/components/week/DayEvent.vue.d.ts +136 -0
  22. package/dist/components/Calendar/components/week/DayEvent.vue.d.ts.map +1 -0
  23. package/dist/components/Calendar/components/week/DayTimeline.vue.d.ts +23 -0
  24. package/dist/components/Calendar/components/week/DayTimeline.vue.d.ts.map +1 -0
  25. package/dist/components/Calendar/components/week/FullDayEvent.vue.d.ts +42 -0
  26. package/dist/components/Calendar/components/week/FullDayEvent.vue.d.ts.map +1 -0
  27. package/dist/components/Calendar/components/week/Week.vue.d.ts +196 -0
  28. package/dist/components/Calendar/components/week/Week.vue.d.ts.map +1 -0
  29. package/dist/components/Calendar/components/week/WeekTimeline.vue.d.ts +21 -0
  30. package/dist/components/Calendar/components/week/WeekTimeline.vue.d.ts.map +1 -0
  31. package/dist/components/Calendar/constants.d.ts +13 -0
  32. package/dist/components/Calendar/constants.d.ts.map +1 -0
  33. package/dist/components/Calendar/helpers/DayIntervals.d.ts +17 -0
  34. package/dist/components/Calendar/helpers/DayIntervals.d.ts.map +1 -0
  35. package/dist/components/Calendar/helpers/EDate.d.ts +10 -0
  36. package/dist/components/Calendar/helpers/EDate.d.ts.map +1 -0
  37. package/dist/components/Calendar/helpers/Errors.d.ts +18 -0
  38. package/dist/components/Calendar/helpers/Errors.d.ts.map +1 -0
  39. package/dist/components/Calendar/helpers/EventChange.d.ts +19 -0
  40. package/dist/components/Calendar/helpers/EventChange.d.ts.map +1 -0
  41. package/dist/components/Calendar/helpers/EventConcurrency.d.ts +12 -0
  42. package/dist/components/Calendar/helpers/EventConcurrency.d.ts.map +1 -0
  43. package/dist/components/Calendar/helpers/EventFlyoutPosition.d.ts +14 -0
  44. package/dist/components/Calendar/helpers/EventFlyoutPosition.d.ts.map +1 -0
  45. package/dist/components/Calendar/helpers/EventPosition.d.ts +11 -0
  46. package/dist/components/Calendar/helpers/EventPosition.d.ts.map +1 -0
  47. package/dist/components/Calendar/helpers/EventsFilter.d.ts +11 -0
  48. package/dist/components/Calendar/helpers/EventsFilter.d.ts.map +1 -0
  49. package/dist/components/Calendar/helpers/Helpers.d.ts +19 -0
  50. package/dist/components/Calendar/helpers/Helpers.d.ts.map +1 -0
  51. package/dist/components/Calendar/helpers/Time.d.ts +118 -0
  52. package/dist/components/Calendar/helpers/Time.d.ts.map +1 -0
  53. package/dist/components/Calendar/helpers/Week.d.ts +10 -0
  54. package/dist/components/Calendar/helpers/Week.d.ts.map +1 -0
  55. package/dist/components/Calendar/index.d.ts +4 -0
  56. package/dist/components/Calendar/index.d.ts.map +1 -0
  57. package/dist/components/Calendar/language/index.d.ts +6 -0
  58. package/dist/components/Calendar/language/index.d.ts.map +1 -0
  59. package/dist/components/Calendar/language/keys.d.ts +90 -0
  60. package/dist/components/Calendar/language/keys.d.ts.map +1 -0
  61. package/dist/components/Calendar/models/Event.d.ts +50 -0
  62. package/dist/components/Calendar/models/Event.d.ts.map +1 -0
  63. package/dist/components/Calendar/typings/config.interface.d.ts +77 -0
  64. package/dist/components/Calendar/typings/config.interface.d.ts.map +1 -0
  65. package/dist/components/Calendar/typings/interfaces/day.interface.d.ts +10 -0
  66. package/dist/components/Calendar/typings/interfaces/day.interface.d.ts.map +1 -0
  67. package/dist/components/Calendar/typings/interfaces/event.interface.d.ts +32 -0
  68. package/dist/components/Calendar/typings/interfaces/event.interface.d.ts.map +1 -0
  69. package/dist/components/Calendar/typings/interfaces/full-day-events-week.type.d.ts +7 -0
  70. package/dist/components/Calendar/typings/interfaces/full-day-events-week.type.d.ts.map +1 -0
  71. package/dist/components/Calendar/typings/interfaces/period.interface.d.ts +6 -0
  72. package/dist/components/Calendar/typings/interfaces/period.interface.d.ts.map +1 -0
  73. package/dist/components/Calendar/typings/interfaces/time-modes.d.ts +6 -0
  74. package/dist/components/Calendar/typings/interfaces/time-modes.d.ts.map +1 -0
  75. package/dist/components/Calendar/typings/types.d.ts +21 -0
  76. package/dist/components/Calendar/typings/types.d.ts.map +1 -0
  77. package/dist/components/DataTable/DataTable.vue.d.ts.map +1 -1
  78. package/dist/components/Draggable/useDraggable.d.ts.map +1 -1
  79. package/dist/components/form/inputs/DatePick.vue.d.ts +8 -0
  80. package/dist/components/form/inputs/DatePick.vue.d.ts.map +1 -1
  81. package/dist/components/form/inputs/NumberInput.vue.d.ts.map +1 -1
  82. package/dist/components/index.d.ts +2 -1
  83. package/dist/components/index.d.ts.map +1 -1
  84. package/dist/directives/index.d.ts +2 -0
  85. package/dist/directives/index.d.ts.map +1 -1
  86. package/dist/directives/vResize.d.ts +18 -0
  87. package/dist/directives/vResize.d.ts.map +1 -0
  88. package/dist/index.cjs +3657 -169
  89. package/dist/index.mjs +3658 -170
  90. package/dist/style.css +843 -77
  91. package/package.json +2 -1
  92. package/src/components/Calendar/Index.vue +420 -0
  93. package/src/components/Calendar/assets/base.css +60 -0
  94. package/src/components/Calendar/components/header/Header.vue +274 -0
  95. package/src/components/Calendar/components/month/AgendaEventTile.vue +137 -0
  96. package/src/components/Calendar/components/month/AgendaEvents.vue +107 -0
  97. package/src/components/Calendar/components/month/Day.vue +271 -0
  98. package/src/components/Calendar/components/month/Event.vue +221 -0
  99. package/src/components/Calendar/components/month/Month.vue +278 -0
  100. package/src/components/Calendar/components/month/WeekDay.vue +25 -0
  101. package/src/components/Calendar/components/partials/EventFlyout.vue +429 -0
  102. package/src/components/Calendar/components/week/Day.vue +212 -0
  103. package/src/components/Calendar/components/week/DayEvent.vue +585 -0
  104. package/src/components/Calendar/components/week/DayTimeline.vue +86 -0
  105. package/src/components/Calendar/components/week/FullDayEvent.vue +121 -0
  106. package/src/components/Calendar/components/week/Week.vue +414 -0
  107. package/src/components/Calendar/components/week/WeekTimeline.vue +126 -0
  108. package/src/components/Calendar/constants.ts +13 -0
  109. package/src/components/Calendar/env.d.ts +8 -0
  110. package/src/components/Calendar/helpers/DayIntervals.ts +48 -0
  111. package/src/components/Calendar/helpers/EDate.ts +18 -0
  112. package/src/components/Calendar/helpers/Errors.ts +69 -0
  113. package/src/components/Calendar/helpers/EventChange.ts +88 -0
  114. package/src/components/Calendar/helpers/EventConcurrency.ts +69 -0
  115. package/src/components/Calendar/helpers/EventFlyoutPosition.ts +96 -0
  116. package/src/components/Calendar/helpers/EventPosition.ts +154 -0
  117. package/src/components/Calendar/helpers/EventsFilter.ts +50 -0
  118. package/src/components/Calendar/helpers/Helpers.ts +86 -0
  119. package/src/components/Calendar/helpers/Time.ts +588 -0
  120. package/src/components/Calendar/helpers/Week.ts +37 -0
  121. package/src/components/Calendar/index.ts +4 -0
  122. package/src/components/Calendar/language/index.ts +37 -0
  123. package/src/components/Calendar/language/keys.ts +90 -0
  124. package/src/components/Calendar/models/Event.ts +112 -0
  125. package/src/components/Calendar/styles/_mixins.css +21 -0
  126. package/src/components/Calendar/styles/_variables.css +51 -0
  127. package/src/components/Calendar/typings/config.interface.ts +87 -0
  128. package/src/components/Calendar/typings/interfaces/day.interface.ts +10 -0
  129. package/src/components/Calendar/typings/interfaces/event.interface.ts +32 -0
  130. package/src/components/Calendar/typings/interfaces/full-day-events-week.type.ts +8 -0
  131. package/src/components/Calendar/typings/interfaces/period.interface.ts +5 -0
  132. package/src/components/Calendar/typings/interfaces/time-modes.ts +9 -0
  133. package/src/components/Calendar/typings/types.ts +23 -0
  134. package/src/components/DataTable/DataTable.vue +4 -0
  135. package/src/components/Draggable/useDraggable.ts +53 -37
  136. package/src/components/form/inputs/DatePick.vue +189 -152
  137. package/src/components/form/inputs/NumberInput.vue +1 -3
  138. package/src/components/index.ts +3 -6
  139. package/src/directives/index.ts +2 -0
  140. package/src/directives/vResize.ts +205 -0
@@ -0,0 +1,205 @@
1
+ import type { Directive } from 'vue'
2
+
3
+ export interface ResizeEvent {
4
+ clientY: number
5
+ deltaY: number
6
+ initialHeight: number
7
+ }
8
+
9
+ export interface ResizeOptions {
10
+ onStart?: (event: MouseEvent | TouchEvent) => void
11
+ onResize?: (event: ResizeEvent) => void
12
+ onEnd?: (event: ResizeEvent) => void
13
+ minHeight?: number
14
+ maxHeight?: number
15
+ handle?: string
16
+ gridSize?: number
17
+ handleClass?: string
18
+ }
19
+
20
+ const RESIZE_KEY = Symbol('resize')
21
+
22
+ function initResize(el: HTMLElement, binding: { value?: ResizeOptions }) {
23
+ const options = binding.value || {}
24
+ let isResizing = false
25
+ let startY = 0
26
+ let startHeight = 0
27
+ let handleElement: HTMLElement | null = null
28
+
29
+ // Create or find the resize handle
30
+ if (options.handle) {
31
+ handleElement = el.querySelector(options.handle) as HTMLElement
32
+ if (!handleElement) {
33
+ // If handle not found, create it
34
+ handleElement = document.createElement('div')
35
+ handleElement.className = options.handle.replace('.', '') + (options.handleClass ? ` ${options.handleClass}` : '')
36
+ handleElement.style.cssText = `
37
+ position: absolute;
38
+ bottom: 0;
39
+ left: 0;
40
+ right: 0;
41
+ height: 6px;
42
+ background: rgba(0, 0, 0, 0.1);
43
+ cursor: ns-resize;
44
+ transition: background 0.2s;
45
+ `
46
+ el.appendChild(handleElement)
47
+ }
48
+ } else {
49
+ handleElement = el
50
+ }
51
+
52
+ // Add hover effect
53
+ handleElement.addEventListener('mouseenter', () => {
54
+ if (handleElement !== el) { // Only change background if it's a dedicated handle
55
+ handleElement!.style.background = 'rgba(0, 0, 0, 0.2)'
56
+ }
57
+ })
58
+ handleElement.addEventListener('mouseleave', () => {
59
+ if (handleElement !== el && !isResizing) { // Only change background if it's a dedicated handle and not resizing
60
+ handleElement!.style.background = 'rgba(0, 0, 0, 0.1)'
61
+ }
62
+ })
63
+
64
+ handleElement.style.cursor = 'ns-resize'
65
+ handleElement.style.userSelect = 'none'
66
+
67
+ function createResizeEvent(clientY: number): ResizeEvent {
68
+ return {
69
+ clientY,
70
+ deltaY: clientY - startY,
71
+ initialHeight: startHeight
72
+ }
73
+ }
74
+
75
+ function applyGridSnapping(height: number): number {
76
+ if (!options.gridSize) return height
77
+ return Math.round(height / options.gridSize) * options.gridSize
78
+ }
79
+
80
+ function handleMove(e: MouseEvent | TouchEvent) {
81
+ if (!isResizing) return
82
+ e.preventDefault()
83
+
84
+ const clientY = 'touches' in e ? e.touches[0].clientY : e.clientY
85
+ const event = createResizeEvent(clientY)
86
+ let newHeight = startHeight + event.deltaY
87
+
88
+ // Apply min/max constraints
89
+ if (options.minHeight !== undefined) {
90
+ newHeight = Math.max(newHeight, options.minHeight)
91
+ }
92
+ if (options.maxHeight !== undefined) {
93
+ newHeight = Math.min(newHeight, options.maxHeight)
94
+ }
95
+
96
+ // Apply grid snapping if enabled
97
+ newHeight = applyGridSnapping(newHeight)
98
+
99
+ el.style.height = `${newHeight}px`
100
+
101
+ if (options.onResize) {
102
+ options.onResize(event)
103
+ }
104
+
105
+ // Update handle appearance during resize
106
+ if (handleElement !== el) {
107
+ handleElement!.style.background = 'rgba(0, 0, 0, 0.3)'
108
+ }
109
+ }
110
+
111
+ function handleEnd(e: MouseEvent | TouchEvent) {
112
+ if (!isResizing) return
113
+
114
+ const clientY = 'touches' in e ? e.changedTouches[0].clientY : e.clientY
115
+ const event = createResizeEvent(clientY)
116
+
117
+ isResizing = false
118
+ document.body.style.cursor = ''
119
+ document.body.style.userSelect = ''
120
+
121
+ // Reset handle appearance
122
+ if (handleElement !== el) {
123
+ handleElement!.style.background = 'rgba(0, 0, 0, 0.1)'
124
+ }
125
+
126
+ if (options.onEnd) {
127
+ options.onEnd(event)
128
+ }
129
+
130
+ document.removeEventListener('mousemove', handleMove)
131
+ document.removeEventListener('mouseup', handleEnd)
132
+ document.removeEventListener('touchmove', handleMove)
133
+ document.removeEventListener('touchend', handleEnd)
134
+ document.removeEventListener('touchcancel', handleEnd)
135
+ }
136
+
137
+ function handleStart(e: MouseEvent | TouchEvent) {
138
+ // Only handle left mouse button for mouse events
139
+ if (e instanceof MouseEvent && e.button !== 0) return
140
+
141
+ e.preventDefault()
142
+ isResizing = true
143
+
144
+ startY = 'touches' in e ? e.touches[0].clientY : e.clientY
145
+ startHeight = el.offsetHeight
146
+
147
+ if (options.onStart) {
148
+ options.onStart(e)
149
+ }
150
+
151
+ document.body.style.cursor = 'ns-resize'
152
+ document.body.style.userSelect = 'none'
153
+
154
+ document.addEventListener('mousemove', handleMove, { passive: false })
155
+ document.addEventListener('mouseup', handleEnd)
156
+ document.addEventListener('touchmove', handleMove, { passive: false })
157
+ document.addEventListener('touchend', handleEnd)
158
+ document.addEventListener('touchcancel', handleEnd)
159
+ }
160
+
161
+ // Add initial event listeners
162
+ handleElement.addEventListener('mousedown', handleStart)
163
+ handleElement.addEventListener('touchstart', handleStart, { passive: false })
164
+
165
+ // Store cleanup function
166
+ ;(el as any)[RESIZE_KEY] = () => {
167
+ if (handleElement !== el) {
168
+ el.removeChild(handleElement!)
169
+ }
170
+ handleElement.removeEventListener('mousedown', handleStart)
171
+ handleElement.removeEventListener('touchstart', handleStart)
172
+ handleElement.removeEventListener('mouseenter', handleStart)
173
+ handleElement.removeEventListener('mouseleave', handleStart)
174
+ document.removeEventListener('mousemove', handleMove)
175
+ document.removeEventListener('mouseup', handleEnd)
176
+ document.removeEventListener('touchmove', handleMove)
177
+ document.removeEventListener('touchend', handleEnd)
178
+ document.removeEventListener('touchcancel', handleEnd)
179
+ }
180
+ }
181
+
182
+ export const vResize: Directive<HTMLElement, ResizeOptions> = {
183
+ mounted(el, binding) {
184
+ initResize(el, binding)
185
+ },
186
+
187
+ unmounted(el) {
188
+ const cleanup = (el as any)[RESIZE_KEY]
189
+ if (typeof cleanup === 'function') {
190
+ cleanup()
191
+ delete (el as any)[RESIZE_KEY]
192
+ }
193
+ },
194
+
195
+ updated(el, binding) {
196
+ if (binding.value !== binding.oldValue) {
197
+ const cleanup = (el as any)[RESIZE_KEY]
198
+ if (typeof cleanup === 'function') {
199
+ cleanup()
200
+ delete (el as any)[RESIZE_KEY]
201
+ }
202
+ initResize(el, binding)
203
+ }
204
+ }
205
+ }