@mantine-vue/schedule 2.3.0 → 2.4.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.
package/esm/index.mjs CHANGED
@@ -145,11 +145,18 @@ function getMonthsByQuarter(year) {
145
145
  }
146
146
  //#endregion
147
147
  //#region src/utils/clamp-interval-minutes/clamp-interval-minutes.ts
148
- /** Clamp interval minutes to valid values (1-60) and ensure it divides evenly into 60 */
148
+ /**
149
+ * Clamps interval minutes to a value that keeps the time grid consistent:
150
+ *
151
+ * - Values of 60 or less must divide evenly into an hour.
152
+ * - Values above an hour must be a whole number of hours.
153
+ *
154
+ * Invalid values fall back to 60 and the result is capped to one day.
155
+ */
149
156
  function clampIntervalMinutes(intervalMinutes) {
150
- let clamped = Math.round(Math.max(1, Math.min(60, intervalMinutes)));
151
- clamped = 60 % clamped === 0 ? clamped : 60;
152
- return clamped;
157
+ const rounded = Math.round(Math.max(1, Math.min(1440, intervalMinutes)));
158
+ if (rounded <= 60) return 60 % rounded === 0 ? rounded : 60;
159
+ return rounded % 60 === 0 ? rounded : 60;
153
160
  }
154
161
  //#endregion
155
162
  //#region src/utils/parse-time-string/parse-time-string.ts
@@ -913,9 +920,9 @@ var CurrentTimeIndicator = defineComponent({
913
920
  }
914
921
  });
915
922
  var ScheduleEvent_module_default = {
916
- event: "_event_bnqc2_1",
917
- eventInner: "_eventInner_bnqc2_14",
918
- eventResizeHandle: "_eventResizeHandle_bnqc2_177"
923
+ event: "_event_19lsr_1",
924
+ eventInner: "_eventInner_19lsr_14",
925
+ eventResizeHandle: "_eventResizeHandle_19lsr_186"
919
926
  };
920
927
  //#endregion
921
928
  //#region src/components/ScheduleEvent/ScheduleEvent.ts
@@ -1699,6 +1706,7 @@ var ScheduleHeader = Object.assign(ScheduleHeaderBaseComponent, {
1699
1706
  //#region src/components/ScheduleHeader/ScheduleHeaderBase.ts
1700
1707
  var ScheduleHeaderBase = defineComponent({
1701
1708
  name: "ScheduleHeaderBase",
1709
+ slots: Object,
1702
1710
  props: {
1703
1711
  view: {
1704
1712
  type: String,
@@ -1720,7 +1728,7 @@ var ScheduleHeaderBase = defineComponent({
1720
1728
  todayControlProps: Object,
1721
1729
  viewSelectProps: Object
1722
1730
  },
1723
- setup(props) {
1731
+ setup(props, { slots }) {
1724
1732
  return () => {
1725
1733
  const views = props.viewSelectProps?.views || [
1726
1734
  "day",
@@ -1737,7 +1745,7 @@ var ScheduleHeaderBase = defineComponent({
1737
1745
  props.control.monthYearSelect ? h(ScheduleHeader.MonthYearSelect, {
1738
1746
  ...props.control.monthYearSelect,
1739
1747
  labels: props.labels
1740
- }) : h(ScheduleHeader.Control, { interactive: false }, () => props.control.title),
1748
+ }) : h(ScheduleHeader.Control, { interactive: false }, () => props.control.title !== void 0 ? props.control.title : slots.title?.()),
1741
1749
  h(ScheduleHeader.Next, {
1742
1750
  ...props.nextControlProps,
1743
1751
  onClick: () => props.onDateChange?.(props.navigationHandlers.next())
@@ -2171,7 +2179,8 @@ var DayView = defineComponent({
2171
2179
  class: DayView_module_default.dayViewBackgroundEvent,
2172
2180
  style: {
2173
2181
  top: `${event.position.top}%`,
2174
- height: `${event.position.height}%`
2182
+ bottom: `${100 - event.position.top - event.position.height}%`,
2183
+ minHeight: "1px"
2175
2184
  }
2176
2185
  })),
2177
2186
  ...regularEvents.map((event) => {
@@ -2183,7 +2192,8 @@ var DayView = defineComponent({
2183
2192
  style: {
2184
2193
  position: "absolute",
2185
2194
  top: `${resizePosition?.top ?? event.position.top}%`,
2186
- height: `${resizePosition?.height ?? event.position.height}%`,
2195
+ bottom: `${100 - (resizePosition?.top ?? event.position.top) - (resizePosition?.height ?? event.position.height)}%`,
2196
+ minHeight: "1px",
2187
2197
  width: `${event.position.width}%`,
2188
2198
  insetInlineStart: `${event.position.offset}%`
2189
2199
  },
@@ -3768,7 +3778,8 @@ var WeekView = defineComponent({
3768
3778
  class: WeekView_module_default.weekViewBackgroundEvent,
3769
3779
  style: {
3770
3780
  top: `${event.position.top}%`,
3771
- height: `${event.position.height}%`,
3781
+ bottom: `${100 - event.position.top - event.position.height}%`,
3782
+ minHeight: "1px",
3772
3783
  width: "100%"
3773
3784
  }
3774
3785
  })),
@@ -3781,7 +3792,8 @@ var WeekView = defineComponent({
3781
3792
  style: {
3782
3793
  position: "absolute",
3783
3794
  top: `${resizePosition?.top ?? event.position.top}%`,
3784
- height: `${resizePosition?.height ?? event.position.height}%`,
3795
+ bottom: `${100 - (resizePosition?.top ?? event.position.top) - (resizePosition?.height ?? event.position.height)}%`,
3796
+ minHeight: "1px",
3785
3797
  width: `${event.position.width}%`,
3786
3798
  insetInlineStart: `${event.position.offset}%`
3787
3799
  },
@@ -4667,7 +4679,8 @@ var ResourcesDayView = defineComponent({
4667
4679
  class: ResourcesDayView_module_default.resourcesDayViewBackgroundEvent,
4668
4680
  style: {
4669
4681
  left: `${event.position.top}%`,
4670
- width: `${event.position.height}%`,
4682
+ right: `${100 - event.position.top - event.position.height}%`,
4683
+ minWidth: "1px",
4671
4684
  top: 0,
4672
4685
  height: "100%",
4673
4686
  "--bg-event-bg": colors.background,
@@ -5386,7 +5399,8 @@ var ResourcesWeekView = defineComponent({
5386
5399
  class: ResourcesWeekView_module_default.resourcesWeekViewBackgroundEvent,
5387
5400
  style: {
5388
5401
  left: `${dayOffset + event.position.top / 100 * dayWidth}%`,
5389
- width: `${event.position.height / 100 * dayWidth}%`,
5402
+ right: `${100 - dayOffset - (event.position.top + event.position.height) / 100 * dayWidth}%`,
5403
+ minWidth: "1px",
5390
5404
  top: 0,
5391
5405
  height: "100%",
5392
5406
  "--bg-event-bg": colors.background,