@m4l/components 9.81.0 → 9.82.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/@types/types.d.ts +8 -0
- package/components/HoursOfWeekPicker/HoursOfWeekPicker.d.ts +4 -0
- package/components/HoursOfWeekPicker/HoursOfWeekPicker.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/HoursOfWeekPicker.js +144 -0
- package/components/HoursOfWeekPicker/HoursOfWeekPicker.styles.d.ts +3 -0
- package/components/HoursOfWeekPicker/HoursOfWeekPicker.styles.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/HoursOfWeekPicker.styles.js +317 -0
- package/components/HoursOfWeekPicker/constants.d.ts +18 -0
- package/components/HoursOfWeekPicker/constants.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/constants.js +24 -0
- package/components/HoursOfWeekPicker/dictionary.d.ts +6 -0
- package/components/HoursOfWeekPicker/dictionary.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/dictionary.js +6 -0
- package/components/HoursOfWeekPicker/helpers/applyRectangle/applyRectangle.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/applyRectangle/applyRectangle.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/applyRectangle/applyRectangle.js +12 -0
- package/components/HoursOfWeekPicker/helpers/copyDay/copyDay.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/copyDay/copyDay.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/copyDay/copyDay.js +6 -0
- package/components/HoursOfWeekPicker/helpers/createHourFormatter/createHourFormatter.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/createHourFormatter/createHourFormatter.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/createHourFormatter/createHourFormatter.js +14 -0
- package/components/HoursOfWeekPicker/helpers/firstAvailableRange/firstAvailableRange.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/firstAvailableRange/firstAvailableRange.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/firstAvailableRange/firstAvailableRange.js +12 -0
- package/components/HoursOfWeekPicker/helpers/formatDuration/formatDuration.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/formatDuration/formatDuration.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/formatDuration/formatDuration.js +7 -0
- package/components/HoursOfWeekPicker/helpers/formatTime/formatTime.d.ts +3 -0
- package/components/HoursOfWeekPicker/helpers/formatTime/formatTime.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/formatTime/formatTime.js +8 -0
- package/components/HoursOfWeekPicker/helpers/getCellState/getCellState.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/getCellState/getCellState.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/getCellState/getCellState.js +7 -0
- package/components/HoursOfWeekPicker/helpers/getDayPeriodClock/getDayPeriodClock.d.ts +6 -0
- package/components/HoursOfWeekPicker/helpers/getDayPeriodClock/getDayPeriodClock.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/getDayPeriodClock/getDayPeriodClock.js +33 -0
- package/components/HoursOfWeekPicker/helpers/getDayPeriodReference/getDayPeriodReference.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/getDayPeriodReference/getDayPeriodReference.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/getDayPeriodReference/getDayPeriodReference.js +31 -0
- package/components/HoursOfWeekPicker/helpers/getTimeOptions/getTimeOptions.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/getTimeOptions/getTimeOptions.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/getTimeOptions/getTimeOptions.js +9 -0
- package/components/HoursOfWeekPicker/helpers/getTotals/getTotals.d.ts +8 -0
- package/components/HoursOfWeekPicker/helpers/getTotals/getTotals.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/getTotals/getTotals.js +8 -0
- package/components/HoursOfWeekPicker/helpers/getVisiblePeriods/getVisiblePeriods.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/getVisiblePeriods/getVisiblePeriods.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/getVisiblePeriods/getVisiblePeriods.js +6 -0
- package/components/HoursOfWeekPicker/helpers/index.d.ts +17 -0
- package/components/HoursOfWeekPicker/helpers/index.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/matrixToValue/matrixToValue.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/matrixToValue/matrixToValue.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/matrixToValue/matrixToValue.js +14 -0
- package/components/HoursOfWeekPicker/helpers/parseTime/parseTime.d.ts +3 -0
- package/components/HoursOfWeekPicker/helpers/parseTime/parseTime.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/parseTime/parseTime.js +12 -0
- package/components/HoursOfWeekPicker/helpers/replaceDayRanges/replaceDayRanges.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/replaceDayRanges/replaceDayRanges.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/replaceDayRanges/replaceDayRanges.js +8 -0
- package/components/HoursOfWeekPicker/helpers/resolveDayPeriodLocation/resolveDayPeriodLocation.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/resolveDayPeriodLocation/resolveDayPeriodLocation.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/resolveDayPeriodLocation/resolveDayPeriodLocation.js +23 -0
- package/components/HoursOfWeekPicker/helpers/resolveVisibleRange/resolveVisibleRange.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/resolveVisibleRange/resolveVisibleRange.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/resolveVisibleRange/resolveVisibleRange.js +8 -0
- package/components/HoursOfWeekPicker/helpers/toggleDay/toggleDay.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/toggleDay/toggleDay.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/toggleDay/toggleDay.js +8 -0
- package/components/HoursOfWeekPicker/helpers/toggleHour/toggleHour.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/toggleHour/toggleHour.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/toggleHour/toggleHour.js +9 -0
- package/components/HoursOfWeekPicker/helpers/validateRange/validateRange.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/validateRange/validateRange.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/validateRange/validateRange.js +15 -0
- package/components/HoursOfWeekPicker/helpers/valueToMatrix/valueToMatrix.d.ts +4 -0
- package/components/HoursOfWeekPicker/helpers/valueToMatrix/valueToMatrix.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/helpers/valueToMatrix/valueToMatrix.js +17 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekCards/useHoursOfWeekCards.d.ts +22 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekCards/useHoursOfWeekCards.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekCards/useHoursOfWeekCards.js +49 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekDayPeriods/useHoursOfWeekDayPeriods.d.ts +4 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekDayPeriods/useHoursOfWeekDayPeriods.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekDayPeriods/useHoursOfWeekDayPeriods.js +20 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPicker/index.d.ts +2 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPicker/index.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPicker/useHoursOfWeekPicker.d.ts +29 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPicker/useHoursOfWeekPicker.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPicker/useHoursOfWeekPicker.js +107 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPresentation/useHoursOfWeekPresentation.d.ts +3 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPresentation/useHoursOfWeekPresentation.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPresentation/useHoursOfWeekPresentation.js +10 -0
- package/components/HoursOfWeekPicker/index.d.ts +4 -0
- package/components/HoursOfWeekPicker/index.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/slots/HoursOfWeekPickerEnum.d.ts +51 -0
- package/components/HoursOfWeekPicker/slots/HoursOfWeekPickerEnum.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/slots/HoursOfWeekPickerEnum.js +4 -0
- package/components/HoursOfWeekPicker/slots/HoursOfWeekPickerSlots.d.ts +145 -0
- package/components/HoursOfWeekPicker/slots/HoursOfWeekPickerSlots.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/slots/HoursOfWeekPickerSlots.js +56 -0
- package/components/HoursOfWeekPicker/slots/index.d.ts +3 -0
- package/components/HoursOfWeekPicker/slots/index.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekCards/HoursOfWeekCards.d.ts +4 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekCards/HoursOfWeekCards.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekCards/HoursOfWeekCards.js +111 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekCell/HoursOfWeekCell.d.ts +4 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekCell/HoursOfWeekCell.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekCell/HoursOfWeekCell.js +42 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekLegend/HoursOfWeekLegend.d.ts +4 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekLegend/HoursOfWeekLegend.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekLegend/HoursOfWeekLegend.js +31 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekPeriods/HoursOfWeekPeriods.d.ts +4 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekPeriods/HoursOfWeekPeriods.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekPeriods/HoursOfWeekPeriods.js +28 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekRow/HoursOfWeekRow.d.ts +4 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekRow/HoursOfWeekRow.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekRow/HoursOfWeekRow.js +38 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSkeleton/HoursOfWeekSkeleton.d.ts +6 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSkeleton/HoursOfWeekSkeleton.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSkeleton/HoursOfWeekSkeleton.js +24 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSummary/HoursOfWeekSummary.d.ts +4 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSummary/HoursOfWeekSummary.d.ts.map +1 -0
- package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSummary/HoursOfWeekSummary.js +27 -0
- package/components/HoursOfWeekPicker/types.d.ts +219 -0
- package/components/HoursOfWeekPicker/types.d.ts.map +1 -0
- package/components/hook-form/RHFHoursOfWeekPicker/RHFHoursOfWeekPicker.d.ts +7 -0
- package/components/hook-form/RHFHoursOfWeekPicker/RHFHoursOfWeekPicker.d.ts.map +1 -0
- package/components/hook-form/RHFHoursOfWeekPicker/RHFHoursOfWeekPicker.js +10 -0
- package/components/hook-form/RHFHoursOfWeekPicker/index.d.ts +3 -0
- package/components/hook-form/RHFHoursOfWeekPicker/index.d.ts.map +1 -0
- package/components/hook-form/RHFHoursOfWeekPicker/types.d.ts +6 -0
- package/components/hook-form/RHFHoursOfWeekPicker/types.d.ts.map +1 -0
- package/components/hook-form/index.d.ts +1 -0
- package/components/hook-form/index.d.ts.map +1 -1
- package/components/index.d.ts +1 -0
- package/components/index.d.ts.map +1 -1
- package/index.js +378 -372
- package/package.json +8 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copyDay.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/copyDay/copyDay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrE,0FAA0F;AAC1F,wBAAgB,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,cAAc,EAAE,GAAG,iBAAiB,CAEhI"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekHourFormatter, HoursOfWeekTimePreferences } from '../../types';
|
|
2
|
+
/** Format recurring hours using user preferences without shifting them into another time zone. */
|
|
3
|
+
export declare function createHourFormatter({ timeFormat, locale }: HoursOfWeekTimePreferences): HoursOfWeekHourFormatter;
|
|
4
|
+
//# sourceMappingURL=createHourFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createHourFormatter.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/createHourFormatter/createHourFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGxF,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,0BAA0B,GAAG,wBAAwB,CAehH"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { formatTime as a } from "../formatTime/formatTime.js";
|
|
2
|
+
function u({ timeFormat: i, locale: n }) {
|
|
3
|
+
const r = i.replace(/'[^']*'/g, ""), t = /h|K|a|b|B/.test(r) && !/H|k/.test(r);
|
|
4
|
+
let e;
|
|
5
|
+
try {
|
|
6
|
+
e = new Intl.DateTimeFormat(n || void 0, { hour: "2-digit", minute: "2-digit", hour12: t, timeZone: "UTC" });
|
|
7
|
+
} catch {
|
|
8
|
+
e = new Intl.DateTimeFormat("en", { hour: "2-digit", minute: "2-digit", hour12: t, timeZone: "UTC" });
|
|
9
|
+
}
|
|
10
|
+
return (o) => t ? e.format(new Date(Date.UTC(2e3, 0, 1, 0, Math.round(o * 15)))) : a(o);
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
u as createHourFormatter
|
|
14
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekDay, HoursOfWeekRange, HoursOfWeekSlotMinutes, HoursOfWeekValue } from '../../types';
|
|
2
|
+
/** Find the first free, interval-aligned block without replacing existing availability. */
|
|
3
|
+
export declare function firstAvailableRange(value: HoursOfWeekValue, day: HoursOfWeekDay, slotMinutes: HoursOfWeekSlotMinutes): HoursOfWeekRange | null;
|
|
4
|
+
//# sourceMappingURL=firstAvailableRange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firstAvailableRange.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/firstAvailableRange/firstAvailableRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI9G,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,cAAc,EAAE,WAAW,EAAE,sBAAsB,GAAG,gBAAgB,GAAG,IAAI,CAS9I"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { valueToMatrix as a } from "../valueToMatrix/valueToMatrix.js";
|
|
2
|
+
import { formatTime as n } from "../formatTime/formatTime.js";
|
|
3
|
+
function m(i, o, l) {
|
|
4
|
+
const e = a(i)[o], r = l / 15;
|
|
5
|
+
for (let t = 0; t + r <= e.length; t += r)
|
|
6
|
+
if (!e.slice(t, t + r).some(Boolean))
|
|
7
|
+
return { day: o, start: n(t), end: n(t + r) };
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
m as firstAvailableRange
|
|
12
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekLabelGetter } from '../../types';
|
|
2
|
+
/** Format exact quarter-hour durations with the component dictionary's localized templates. */
|
|
3
|
+
export declare function formatDuration(minutes: number, getLabel: HoursOfWeekLabelGetter): string;
|
|
4
|
+
//# sourceMappingURL=formatDuration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatDuration.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/formatDuration/formatDuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,+FAA+F;AAC/F,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,GAAG,MAAM,CAQxF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
function n(_, o) {
|
|
2
|
+
const r = Math.floor(_ / 60), u = _ % 60;
|
|
3
|
+
return u === 0 ? o("hours_of_week_picker.duration_hours", r) : r === 0 ? o("hours_of_week_picker.duration_minutes", u) : o("hours_of_week_picker.duration_hours_minutes", r, u);
|
|
4
|
+
}
|
|
5
|
+
export {
|
|
6
|
+
n as formatDuration
|
|
7
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatTime.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/formatTime/formatTime.ts"],"names":[],"mappings":"AACA,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/C"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekCellState } from '../../types';
|
|
2
|
+
/** Describe a displayed cell without rounding away its quarter-hour selections. */
|
|
3
|
+
export declare function getCellState(row: readonly boolean[], start: number, count: number): HoursOfWeekCellState;
|
|
4
|
+
//# sourceMappingURL=getCellState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCellState.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/getCellState/getCellState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAGxG"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { HoursOfWeekPeriodClock, HoursOfWeekPeriodLocation } from '../../types';
|
|
2
|
+
/** Read civil date/time in the reference zone without using the browser's local timezone. */
|
|
3
|
+
export declare function getDayPeriodClock(date: Date, location: HoursOfWeekPeriodLocation): HoursOfWeekPeriodClock;
|
|
4
|
+
/** Resolve a reference-day clock; hour zero denotes the first actual instant of that civil date. */
|
|
5
|
+
export declare function getDayPeriodInstant(date: string, hour: number, location: HoursOfWeekPeriodLocation): Date;
|
|
6
|
+
//# sourceMappingURL=getDayPeriodClock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDayPeriodClock.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/getDayPeriodClock/getDayPeriodClock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAErF,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,yBAAyB,GAAG,sBAAsB,CAOzG;AAED,oGAAoG;AACpG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAgBzG"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { zonedTimeToUtc as u } from "date-fns-tz";
|
|
2
|
+
function d(t, o) {
|
|
3
|
+
const r = new Intl.DateTimeFormat("en-CA", {
|
|
4
|
+
timeZone: o.timeZone,
|
|
5
|
+
calendar: "iso8601",
|
|
6
|
+
numberingSystem: "latn",
|
|
7
|
+
year: "numeric",
|
|
8
|
+
month: "2-digit",
|
|
9
|
+
day: "2-digit",
|
|
10
|
+
hour: "2-digit",
|
|
11
|
+
minute: "2-digit",
|
|
12
|
+
second: "2-digit",
|
|
13
|
+
hourCycle: "h23"
|
|
14
|
+
}).formatToParts(t), e = Object.fromEntries(r.map((n) => [n.type, n.value]));
|
|
15
|
+
return { date: `${e.year}-${e.month}-${e.day}`, hour: Number(e.hour), minute: Number(e.minute), second: Number(e.second) };
|
|
16
|
+
}
|
|
17
|
+
function c(t, o, r) {
|
|
18
|
+
const e = `${t}T${String(o).padStart(2, "0")}:00:00`;
|
|
19
|
+
if (o === 0) {
|
|
20
|
+
const n = Date.parse(`${t}T00:00:00Z`);
|
|
21
|
+
let a = n - 2880 * 6e4, i = n + 2880 * 6e4;
|
|
22
|
+
for (; i - a > 1; ) {
|
|
23
|
+
const m = Math.floor((a + i) / 2);
|
|
24
|
+
d(new Date(m), r).date < t ? a = m : i = m;
|
|
25
|
+
}
|
|
26
|
+
return new Date(i);
|
|
27
|
+
}
|
|
28
|
+
return u(e, r.timeZone);
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
d as getDayPeriodClock,
|
|
32
|
+
c as getDayPeriodInstant
|
|
33
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekDayPeriodReference, HoursOfWeekPeriodLocation } from '../../types';
|
|
2
|
+
/** Build complete local-clock bands from real sunrise/set instants, including midnight and polar conditions. */
|
|
3
|
+
export declare function getDayPeriodReference(location: HoursOfWeekPeriodLocation, referenceDate: Date): HoursOfWeekDayPeriodReference;
|
|
4
|
+
//# sourceMappingURL=getDayPeriodReference.d.ts.map
|
package/components/HoursOfWeekPicker/helpers/getDayPeriodReference/getDayPeriodReference.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDayPeriodReference.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/getDayPeriodReference/getDayPeriodReference.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAqB,yBAAyB,EAAyB,MAAM,aAAa,CAAC;AAKtI,gHAAgH;AAChH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,yBAAyB,EAAE,aAAa,EAAE,IAAI,GAAG,6BAA6B,CAoC7H"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { getTimes as T, getPosition as w } from "suncalc";
|
|
2
|
+
import { getDayPeriodClock as h, getDayPeriodInstant as f } from "../getDayPeriodClock/getDayPeriodClock.js";
|
|
3
|
+
const p = 864e5;
|
|
4
|
+
function M(t, D) {
|
|
5
|
+
const { date: d } = h(D, t), m = f(d, 12, t), A = f(d, 0, t), k = new Date(Date.parse(`${d}T00:00:00Z`) + p).toISOString().slice(0, 10), l = f(k, 0, t), y = /* @__PURE__ */ new Map();
|
|
6
|
+
for (const e of [-1, 0, 1]) {
|
|
7
|
+
const i = T(new Date(m.getTime() + e * p), t.latitude, t.longitude);
|
|
8
|
+
for (const s of ["sunrise", "sunset"]) {
|
|
9
|
+
const n = i[s];
|
|
10
|
+
if (!n || n < A || n >= l)
|
|
11
|
+
continue;
|
|
12
|
+
const o = h(n, t), c = Math.round(o.hour * 60 + o.minute + o.second / 60);
|
|
13
|
+
y.set(n.getTime(), { unit: Math.min(96, c / 15), daylightAfter: s === "sunrise" });
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const r = [...y.values()].sort((e, i) => e.unit - i.unit);
|
|
17
|
+
let u = r.length > 0 ? !r[0].daylightAfter : w(m, t.latitude, t.longitude).altitude >= -16 / 60, a = 0;
|
|
18
|
+
const g = [];
|
|
19
|
+
for (let e = 0; e <= r.length; e += 1) {
|
|
20
|
+
const i = r[e], s = i?.unit ?? 96;
|
|
21
|
+
if (s > a) {
|
|
22
|
+
const n = u ? "daytime" : r.slice(e).some((c) => c.daylightAfter) ? "early_morning" : "nighttime", o = g.at(-1);
|
|
23
|
+
o?.key === n ? o.end = s : g.push({ key: n, start: a, end: s });
|
|
24
|
+
}
|
|
25
|
+
a = s, u = i?.daylightAfter ?? u;
|
|
26
|
+
}
|
|
27
|
+
return { location: t, date: d, periods: g, nextRefreshAt: l.getTime() };
|
|
28
|
+
}
|
|
29
|
+
export {
|
|
30
|
+
M as getDayPeriodReference
|
|
31
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekSlotMinutes, HoursOfWeekTimeOption } from '../../types';
|
|
2
|
+
/** Offer interval-aligned times while retaining an existing finer-grained boundary. */
|
|
3
|
+
export declare function getTimeOptions(slotMinutes: HoursOfWeekSlotMinutes, current: string, allowEnd: boolean): HoursOfWeekTimeOption[];
|
|
4
|
+
//# sourceMappingURL=getTimeOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTimeOptions.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/getTimeOptions/getTimeOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIjF,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,WAAW,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,qBAAqB,EAAE,CAK/H"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { formatTime as p } from "../formatTime/formatTime.js";
|
|
2
|
+
import { parseTime as i } from "../parseTime/parseTime.js";
|
|
3
|
+
function c(e, a, t) {
|
|
4
|
+
const f = t ? 96 : 96 - e / 15, o = Array.from({ length: f / (e / 15) + 1 }, (r, m) => m * e / 15);
|
|
5
|
+
return o.push(i(a, t)), [...new Set(o)].sort((r, m) => r - m).map((r) => ({ value: p(r), label: p(r) }));
|
|
6
|
+
}
|
|
7
|
+
export {
|
|
8
|
+
c as getTimeOptions
|
|
9
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { HoursOfWeekMatrix } from '../../types';
|
|
2
|
+
/** Count weekday minutes separately from the independent holiday schedule. */
|
|
3
|
+
export declare function getTotals(matrix: HoursOfWeekMatrix): {
|
|
4
|
+
days: number[];
|
|
5
|
+
week: number;
|
|
6
|
+
holidays: number;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=getTotals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTotals.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/getTotals/getTotals.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,MAAM,EAAE,iBAAiB;;;;EAGlD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { HOURS_OF_WEEK_UNIT_MINUTES as l, HOURS_OF_WEEK_HOLIDAY_DAY as t } from "../../constants.js";
|
|
2
|
+
function a(_) {
|
|
3
|
+
const e = _.map((o) => o.filter(Boolean).length * l);
|
|
4
|
+
return { days: e, week: e.slice(0, t).reduce((o, r) => o + r, 0), holidays: e[t] };
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
a as getTotals
|
|
8
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekPeriod, HoursOfWeekVisiblePeriod } from '../../types';
|
|
2
|
+
/** Clip reference day periods to the visible local-hour interval without touching saved ranges. */
|
|
3
|
+
export declare function getVisiblePeriods(startUnit: number, endUnit: number, periods: readonly HoursOfWeekPeriod[]): HoursOfWeekVisiblePeriod[];
|
|
4
|
+
//# sourceMappingURL=getVisiblePeriods.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVisiblePeriods.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/getVisiblePeriods/getVisiblePeriods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE/E,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,iBAAiB,EAAE,GAAG,wBAAwB,EAAE,CAKvI"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
function m(a, e, s) {
|
|
2
|
+
return s.map((t) => ({ ...t, start: Math.max(a, t.start), end: Math.min(e, t.end) })).filter((t) => t.start < t.end).map((t) => ({ ...t, startPercent: (t.start - a) / (e - a) * 100, widthPercent: (t.end - t.start) / (e - a) * 100 }));
|
|
3
|
+
}
|
|
4
|
+
export {
|
|
5
|
+
m as getVisiblePeriods
|
|
6
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { parseTime } from './parseTime/parseTime';
|
|
2
|
+
export { formatTime } from './formatTime/formatTime';
|
|
3
|
+
export { valueToMatrix } from './valueToMatrix/valueToMatrix';
|
|
4
|
+
export { matrixToValue } from './matrixToValue/matrixToValue';
|
|
5
|
+
export { getCellState } from './getCellState/getCellState';
|
|
6
|
+
export { applyRectangle } from './applyRectangle/applyRectangle';
|
|
7
|
+
export { toggleDay } from './toggleDay/toggleDay';
|
|
8
|
+
export { toggleHour } from './toggleHour/toggleHour';
|
|
9
|
+
export { copyDay } from './copyDay/copyDay';
|
|
10
|
+
export { getTotals } from './getTotals/getTotals';
|
|
11
|
+
export { formatDuration } from './formatDuration/formatDuration';
|
|
12
|
+
export { resolveVisibleRange } from './resolveVisibleRange/resolveVisibleRange';
|
|
13
|
+
export { firstAvailableRange } from './firstAvailableRange/firstAvailableRange';
|
|
14
|
+
export { validateRange } from './validateRange/validateRange';
|
|
15
|
+
export { replaceDayRanges } from './replaceDayRanges/replaceDayRanges';
|
|
16
|
+
export { getTimeOptions } from './getTimeOptions/getTimeOptions';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekMatrix, HoursOfWeekValue } from '../../types';
|
|
2
|
+
/** Emit sorted, non-overlapping ranges with contiguous quarter-hours joined. */
|
|
3
|
+
export declare function matrixToValue(matrix: HoursOfWeekMatrix): HoursOfWeekValue;
|
|
4
|
+
//# sourceMappingURL=matrixToValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matrixToValue.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/matrixToValue/matrixToValue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvE,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,MAAM,EAAE,iBAAiB,GAAG,gBAAgB,CAczE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HOURS_OF_WEEK_DAYS as a, HOURS_OF_WEEK_UNITS as f } from "../../constants.js";
|
|
2
|
+
import { formatTime as i } from "../formatTime/formatTime.js";
|
|
3
|
+
function _(n) {
|
|
4
|
+
const o = [];
|
|
5
|
+
for (const e of a) {
|
|
6
|
+
let r = -1;
|
|
7
|
+
for (let t = 0; t <= f; t++)
|
|
8
|
+
t < f && n[e][t] ? r < 0 && (r = t) : r >= 0 && (o.push({ day: e, start: i(r), end: i(t) }), r = -1);
|
|
9
|
+
}
|
|
10
|
+
return o;
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
_ as matrixToValue
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseTime.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/parseTime/parseTime.ts"],"names":[],"mappings":"AACA,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,UAAQ,GAAG,MAAM,CAOrE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { HOURS_OF_WEEK_UNIT_MINUTES as n } from "../../constants.js";
|
|
2
|
+
function s(e, t = !1) {
|
|
3
|
+
if (!/^(?:[01]\d|2[0-3]):[0-5]\d$/.test(e) && !(t && e === "24:00"))
|
|
4
|
+
throw new RangeError("Expected HH:mm local time; 24:00 is only valid as an end.");
|
|
5
|
+
const [o, r] = e.split(":").map(Number);
|
|
6
|
+
if (r % n !== 0)
|
|
7
|
+
throw new RangeError("Time must align to 15 minutes.");
|
|
8
|
+
return (o * 60 + r) / n;
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
s as parseTime
|
|
12
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekDay, HoursOfWeekValue } from '../../types';
|
|
2
|
+
/** Replace one complete day while preserving every other day and normalizing adjacency. */
|
|
3
|
+
export declare function replaceDayRanges(value: HoursOfWeekValue, day: HoursOfWeekDay, ranges: HoursOfWeekValue): HoursOfWeekValue;
|
|
4
|
+
//# sourceMappingURL=replaceDayRanges.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceDayRanges.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/replaceDayRanges/replaceDayRanges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpE,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAEzH"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { matrixToValue as t } from "../matrixToValue/matrixToValue.js";
|
|
2
|
+
import { valueToMatrix as i } from "../valueToMatrix/valueToMatrix.js";
|
|
3
|
+
function f(e, a, o) {
|
|
4
|
+
return t(i([...e.filter((r) => r.day !== a), ...o.map((r) => ({ ...r, day: a }))]));
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
f as replaceDayRanges
|
|
8
|
+
};
|
package/components/HoursOfWeekPicker/helpers/resolveDayPeriodLocation/resolveDayPeriodLocation.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekLocation, HoursOfWeekPeriodLocation } from '../../types';
|
|
2
|
+
/** Use a valid explicit location, otherwise the fixed Bogotá reference without consulting user preferences. */
|
|
3
|
+
export declare function resolveDayPeriodLocation(location?: HoursOfWeekLocation | null): HoursOfWeekPeriodLocation;
|
|
4
|
+
//# sourceMappingURL=resolveDayPeriodLocation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveDayPeriodLocation.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/resolveDayPeriodLocation/resolveDayPeriodLocation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAElF,+GAA+G;AAC/G,wBAAgB,wBAAwB,CAAC,QAAQ,CAAC,EAAE,mBAAmB,GAAG,IAAI,GAAG,yBAAyB,CAqBzG"}
|
package/components/HoursOfWeekPicker/helpers/resolveDayPeriodLocation/resolveDayPeriodLocation.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { HOURS_OF_WEEK_DEFAULT_LOCATION as r } from "../../constants.js";
|
|
2
|
+
function u(e) {
|
|
3
|
+
if (!e || typeof e.latitude != "number" || !Number.isFinite(e.latitude) || Math.abs(e.latitude) > 90 || typeof e.longitude != "number" || !Number.isFinite(e.longitude) || Math.abs(e.longitude) > 180 || typeof e.timeZone != "string" || !e.timeZone.trim())
|
|
4
|
+
return { ...r };
|
|
5
|
+
const t = e.timeZone.trim();
|
|
6
|
+
if (/^[+-]/.test(t))
|
|
7
|
+
return { ...r };
|
|
8
|
+
try {
|
|
9
|
+
new Intl.DateTimeFormat("en", { timeZone: t }).format(0);
|
|
10
|
+
} catch {
|
|
11
|
+
return { ...r };
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
latitude: e.latitude,
|
|
15
|
+
longitude: e.longitude,
|
|
16
|
+
timeZone: t,
|
|
17
|
+
name: typeof e.name == "string" && e.name.trim() ? e.name.trim() : t,
|
|
18
|
+
source: "prop"
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
u as resolveDayPeriodLocation
|
|
23
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekVisibleRange } from '../../types';
|
|
2
|
+
/** Reject invalid viewports so every rendered cell stays within its calendar day. */
|
|
3
|
+
export declare function resolveVisibleRange(range: HoursOfWeekVisibleRange): HoursOfWeekVisibleRange;
|
|
4
|
+
//# sourceMappingURL=resolveVisibleRange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveVisibleRange.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/resolveVisibleRange/resolveVisibleRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3D,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,GAAG,uBAAuB,CAK3F"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
function e(r) {
|
|
2
|
+
if (!Number.isInteger(r.startHour) || !Number.isInteger(r.endHour) || r.startHour < 0 || r.endHour > 24 || r.startHour >= r.endHour)
|
|
3
|
+
throw new RangeError("visibleRange requires integer hours with 0 <= startHour < endHour <= 24.");
|
|
4
|
+
return r;
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
e as resolveVisibleRange
|
|
8
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekDay, HoursOfWeekMatrix } from '../../types';
|
|
2
|
+
/** Toggle a day's visible interval, retaining selections outside that interval. */
|
|
3
|
+
export declare function toggleDay(matrix: HoursOfWeekMatrix, day: HoursOfWeekDay, startUnit: number, endUnit: number): HoursOfWeekMatrix;
|
|
4
|
+
//# sourceMappingURL=toggleDay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggleDay.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/toggleDay/toggleDay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErE,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAG/H"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggleHour.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/toggleHour/toggleHour.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAIrF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HOURS_OF_WEEK_HOLIDAY_DAY as n } from "../../constants.js";
|
|
2
|
+
import { applyRectangle as s } from "../applyRectangle/applyRectangle.js";
|
|
3
|
+
function p(o, t) {
|
|
4
|
+
const e = t * 4, r = !o.every((l) => l.slice(e, e + 4).every(Boolean));
|
|
5
|
+
return s(o, { day: 0, slot: 0 }, { day: n, slot: 3 }, 1, e, r);
|
|
6
|
+
}
|
|
7
|
+
export {
|
|
8
|
+
p as toggleHour
|
|
9
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekRange, HoursOfWeekRangeError, HoursOfWeekValue } from '../../types';
|
|
2
|
+
/** Reject invalid or overlapping drafts, excluding the day-local range being edited. */
|
|
3
|
+
export declare function validateRange(value: HoursOfWeekValue, range: HoursOfWeekRange, index?: number): HoursOfWeekRangeError | null;
|
|
4
|
+
//# sourceMappingURL=validateRange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateRange.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/validateRange/validateRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAM7F,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,SAAK,GAAG,qBAAqB,GAAG,IAAI,CAUxH"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { parseTime as a } from "../parseTime/parseTime.js";
|
|
2
|
+
import { HOURS_OF_WEEK_DAYS as s } from "../../constants.js";
|
|
3
|
+
import { matrixToValue as d } from "../matrixToValue/matrixToValue.js";
|
|
4
|
+
import { valueToMatrix as m } from "../valueToMatrix/valueToMatrix.js";
|
|
5
|
+
function _(i, r, n = -1) {
|
|
6
|
+
try {
|
|
7
|
+
const e = a(r.start), o = a(r.end, !0);
|
|
8
|
+
return !s.includes(r.day) || e >= o ? "invalid_range" : d(m(i)).filter((t) => t.day === r.day).some((t, l) => l !== n && e < a(t.end, !0) && o > a(t.start)) ? "overlap" : null;
|
|
9
|
+
} catch {
|
|
10
|
+
return "invalid_range";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
_ as validateRange
|
|
15
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekMatrix, HoursOfWeekValue } from '../../types';
|
|
2
|
+
/** Validate recurring ranges and merge them into an immutable quarter-hour matrix. */
|
|
3
|
+
export declare function valueToMatrix(value: HoursOfWeekValue): HoursOfWeekMatrix;
|
|
4
|
+
//# sourceMappingURL=valueToMatrix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"valueToMatrix.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/helpers/valueToMatrix/valueToMatrix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvE,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAUxE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { HOURS_OF_WEEK_DAYS as n, HOURS_OF_WEEK_UNITS as i } from "../../constants.js";
|
|
2
|
+
import { parseTime as o } from "../parseTime/parseTime.js";
|
|
3
|
+
function l(s) {
|
|
4
|
+
const t = n.map(() => Array(i).fill(!1));
|
|
5
|
+
for (const r of s) {
|
|
6
|
+
if (!n.includes(r.day))
|
|
7
|
+
throw new RangeError("Day must be between 0 (Monday) and 7 (Holidays).");
|
|
8
|
+
const e = o(r.start), a = o(r.end, !0);
|
|
9
|
+
if (a <= e)
|
|
10
|
+
throw new RangeError("Range end must be later than start; split overnight ranges across days.");
|
|
11
|
+
t[r.day].fill(!0, e, a);
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
l as valueToMatrix
|
|
17
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { HoursOfWeekCardsOptions, HoursOfWeekDay, HoursOfWeekDraft, HoursOfWeekValue } from '../../types';
|
|
2
|
+
/** Coordinate touch-friendly day expansion, draft editing and explicit copy destinations. */
|
|
3
|
+
export declare function useHoursOfWeekCards({ value, onChange, slotMinutes, disabled, readOnly }: HoursOfWeekCardsOptions): {
|
|
4
|
+
ranges: HoursOfWeekValue;
|
|
5
|
+
expanded: HoursOfWeekDay | null;
|
|
6
|
+
draft: HoursOfWeekDraft | null;
|
|
7
|
+
copying: HoursOfWeekDay | null;
|
|
8
|
+
targets: HoursOfWeekDay[];
|
|
9
|
+
blocked: boolean;
|
|
10
|
+
rangeError: import('../../types').HoursOfWeekRangeError | null;
|
|
11
|
+
expand: (day: HoursOfWeekDay) => void;
|
|
12
|
+
edit: (day: HoursOfWeekDay, index?: number) => void;
|
|
13
|
+
toggle: (day: HoursOfWeekDay) => void;
|
|
14
|
+
updateDraft: (boundary: "start" | "end", time: string) => void;
|
|
15
|
+
apply: () => void;
|
|
16
|
+
remove: (day: HoursOfWeekDay, index: number) => void;
|
|
17
|
+
startCopy: (day: HoursOfWeekDay) => void;
|
|
18
|
+
toggleTarget: (day: HoursOfWeekDay) => void;
|
|
19
|
+
applyCopy: () => void;
|
|
20
|
+
cancel: () => void;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=useHoursOfWeekCards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHoursOfWeekCards.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/hooks/useHoursOfWeekCards/useHoursOfWeekCards.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/G,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAgD,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,uBAAuB;;;;;;;;kBAmBnH,cAAc;gBAOhB,cAAc;kBAQZ,cAAc;4BAQJ,OAAO,GAAG,KAAK,QAAQ,MAAM;;kBAcvC,cAAc,SAAS,MAAM;qBAO1B,cAAc;wBAMX,cAAc;;;EAatD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useMemo as W, useState as u, useCallback as a, useEffect as b } from "react";
|
|
2
|
+
import { HOURS_OF_WEEK_DEFAULT_SLOT_MINUTES as B } from "../../constants.js";
|
|
3
|
+
import { matrixToValue as I } from "../../helpers/matrixToValue/matrixToValue.js";
|
|
4
|
+
import { valueToMatrix as K } from "../../helpers/valueToMatrix/valueToMatrix.js";
|
|
5
|
+
import { validateRange as M } from "../../helpers/validateRange/validateRange.js";
|
|
6
|
+
import { firstAvailableRange as N } from "../../helpers/firstAvailableRange/firstAvailableRange.js";
|
|
7
|
+
import { replaceDayRanges as p } from "../../helpers/replaceDayRanges/replaceDayRanges.js";
|
|
8
|
+
function P({ value: g, onChange: C, slotMinutes: m = B, disabled: d, readOnly: O }) {
|
|
9
|
+
const n = W(() => I(K(g)), [g]), [S, D] = u(null), [l, y] = u(null), [i, x] = u(null), [c, E] = u([]), r = !!(d || O), T = l ? M(n, l, l.index) : null, o = a(() => {
|
|
10
|
+
y(null), x(null), E([]);
|
|
11
|
+
}, []);
|
|
12
|
+
b(() => {
|
|
13
|
+
o();
|
|
14
|
+
}, [g, m, r, o]);
|
|
15
|
+
const f = a((t) => {
|
|
16
|
+
C?.(t);
|
|
17
|
+
}, [C]), k = a((t) => {
|
|
18
|
+
d || (o(), D((e) => e === t ? null : t));
|
|
19
|
+
}, [o, d]), _ = a((t, e = -1) => {
|
|
20
|
+
if (r)
|
|
21
|
+
return;
|
|
22
|
+
const s = e < 0 ? N(n, t, m) : n.filter((R) => R.day === t)[e];
|
|
23
|
+
s && (D(t), x(null), E([]), y({ ...s, index: e }));
|
|
24
|
+
}, [r, n, m]), U = a((t) => {
|
|
25
|
+
r || (o(), n.some((e) => e.day === t) ? f(p(n, t, [])) : _(t));
|
|
26
|
+
}, [r, o, f, _, n]), h = a((t, e) => {
|
|
27
|
+
r || y((s) => s ? { ...s, [t]: e } : null);
|
|
28
|
+
}, [r]), v = a(() => {
|
|
29
|
+
if (!l || r || T)
|
|
30
|
+
return;
|
|
31
|
+
const t = n.filter((s) => s.day === l.day), e = { day: l.day, start: l.start, end: l.end };
|
|
32
|
+
l.index < 0 ? t.push(e) : t[l.index] = e, f(p(n, l.day, t)), o();
|
|
33
|
+
}, [l, r, T, n, f, o]), A = a((t, e) => {
|
|
34
|
+
r || (f(p(n, t, n.filter((s) => s.day === t).filter((s, R) => R !== e))), o());
|
|
35
|
+
}, [r, f, n, o]), F = a((t) => {
|
|
36
|
+
r || (o(), x(t));
|
|
37
|
+
}, [r, o]), H = a((t) => {
|
|
38
|
+
r || i === null || t === i || E((e) => e.includes(t) ? e.filter((s) => s !== t) : [...e, t]);
|
|
39
|
+
}, [r, i]), L = a(() => {
|
|
40
|
+
if (r || i === null || c.length === 0)
|
|
41
|
+
return;
|
|
42
|
+
const t = n.filter((e) => e.day === i);
|
|
43
|
+
f(c.reduce((e, s) => p(e, s, t), n)), o();
|
|
44
|
+
}, [r, i, c, n, f, o]);
|
|
45
|
+
return { ranges: n, expanded: S, draft: l, copying: i, targets: c, blocked: r, rangeError: T, expand: k, edit: _, toggle: U, updateDraft: h, apply: v, remove: A, startCopy: F, toggleTarget: H, applyCopy: L, cancel: o };
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
P as useHoursOfWeekCards
|
|
49
|
+
};
|
package/components/HoursOfWeekPicker/hooks/useHoursOfWeekDayPeriods/useHoursOfWeekDayPeriods.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoursOfWeekLocation } from '../../types';
|
|
2
|
+
/** Recompute solar guides after site changes, local midnight or resuming a background page. */
|
|
3
|
+
export declare function useHoursOfWeekDayPeriods(enabled: boolean, referenceDate?: Date, location?: HoursOfWeekLocation | null): import('../../types').HoursOfWeekDayPeriodReference | null;
|
|
4
|
+
//# sourceMappingURL=useHoursOfWeekDayPeriods.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHoursOfWeekDayPeriods.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/hooks/useHoursOfWeekDayPeriods/useHoursOfWeekDayPeriods.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAKvD,+FAA+F;AAC/F,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,IAAI,8DAwBrH"}
|