@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.
Files changed (138) hide show
  1. package/@types/types.d.ts +8 -0
  2. package/components/HoursOfWeekPicker/HoursOfWeekPicker.d.ts +4 -0
  3. package/components/HoursOfWeekPicker/HoursOfWeekPicker.d.ts.map +1 -0
  4. package/components/HoursOfWeekPicker/HoursOfWeekPicker.js +144 -0
  5. package/components/HoursOfWeekPicker/HoursOfWeekPicker.styles.d.ts +3 -0
  6. package/components/HoursOfWeekPicker/HoursOfWeekPicker.styles.d.ts.map +1 -0
  7. package/components/HoursOfWeekPicker/HoursOfWeekPicker.styles.js +317 -0
  8. package/components/HoursOfWeekPicker/constants.d.ts +18 -0
  9. package/components/HoursOfWeekPicker/constants.d.ts.map +1 -0
  10. package/components/HoursOfWeekPicker/constants.js +24 -0
  11. package/components/HoursOfWeekPicker/dictionary.d.ts +6 -0
  12. package/components/HoursOfWeekPicker/dictionary.d.ts.map +1 -0
  13. package/components/HoursOfWeekPicker/dictionary.js +6 -0
  14. package/components/HoursOfWeekPicker/helpers/applyRectangle/applyRectangle.d.ts +4 -0
  15. package/components/HoursOfWeekPicker/helpers/applyRectangle/applyRectangle.d.ts.map +1 -0
  16. package/components/HoursOfWeekPicker/helpers/applyRectangle/applyRectangle.js +12 -0
  17. package/components/HoursOfWeekPicker/helpers/copyDay/copyDay.d.ts +4 -0
  18. package/components/HoursOfWeekPicker/helpers/copyDay/copyDay.d.ts.map +1 -0
  19. package/components/HoursOfWeekPicker/helpers/copyDay/copyDay.js +6 -0
  20. package/components/HoursOfWeekPicker/helpers/createHourFormatter/createHourFormatter.d.ts +4 -0
  21. package/components/HoursOfWeekPicker/helpers/createHourFormatter/createHourFormatter.d.ts.map +1 -0
  22. package/components/HoursOfWeekPicker/helpers/createHourFormatter/createHourFormatter.js +14 -0
  23. package/components/HoursOfWeekPicker/helpers/firstAvailableRange/firstAvailableRange.d.ts +4 -0
  24. package/components/HoursOfWeekPicker/helpers/firstAvailableRange/firstAvailableRange.d.ts.map +1 -0
  25. package/components/HoursOfWeekPicker/helpers/firstAvailableRange/firstAvailableRange.js +12 -0
  26. package/components/HoursOfWeekPicker/helpers/formatDuration/formatDuration.d.ts +4 -0
  27. package/components/HoursOfWeekPicker/helpers/formatDuration/formatDuration.d.ts.map +1 -0
  28. package/components/HoursOfWeekPicker/helpers/formatDuration/formatDuration.js +7 -0
  29. package/components/HoursOfWeekPicker/helpers/formatTime/formatTime.d.ts +3 -0
  30. package/components/HoursOfWeekPicker/helpers/formatTime/formatTime.d.ts.map +1 -0
  31. package/components/HoursOfWeekPicker/helpers/formatTime/formatTime.js +8 -0
  32. package/components/HoursOfWeekPicker/helpers/getCellState/getCellState.d.ts +4 -0
  33. package/components/HoursOfWeekPicker/helpers/getCellState/getCellState.d.ts.map +1 -0
  34. package/components/HoursOfWeekPicker/helpers/getCellState/getCellState.js +7 -0
  35. package/components/HoursOfWeekPicker/helpers/getDayPeriodClock/getDayPeriodClock.d.ts +6 -0
  36. package/components/HoursOfWeekPicker/helpers/getDayPeriodClock/getDayPeriodClock.d.ts.map +1 -0
  37. package/components/HoursOfWeekPicker/helpers/getDayPeriodClock/getDayPeriodClock.js +33 -0
  38. package/components/HoursOfWeekPicker/helpers/getDayPeriodReference/getDayPeriodReference.d.ts +4 -0
  39. package/components/HoursOfWeekPicker/helpers/getDayPeriodReference/getDayPeriodReference.d.ts.map +1 -0
  40. package/components/HoursOfWeekPicker/helpers/getDayPeriodReference/getDayPeriodReference.js +31 -0
  41. package/components/HoursOfWeekPicker/helpers/getTimeOptions/getTimeOptions.d.ts +4 -0
  42. package/components/HoursOfWeekPicker/helpers/getTimeOptions/getTimeOptions.d.ts.map +1 -0
  43. package/components/HoursOfWeekPicker/helpers/getTimeOptions/getTimeOptions.js +9 -0
  44. package/components/HoursOfWeekPicker/helpers/getTotals/getTotals.d.ts +8 -0
  45. package/components/HoursOfWeekPicker/helpers/getTotals/getTotals.d.ts.map +1 -0
  46. package/components/HoursOfWeekPicker/helpers/getTotals/getTotals.js +8 -0
  47. package/components/HoursOfWeekPicker/helpers/getVisiblePeriods/getVisiblePeriods.d.ts +4 -0
  48. package/components/HoursOfWeekPicker/helpers/getVisiblePeriods/getVisiblePeriods.d.ts.map +1 -0
  49. package/components/HoursOfWeekPicker/helpers/getVisiblePeriods/getVisiblePeriods.js +6 -0
  50. package/components/HoursOfWeekPicker/helpers/index.d.ts +17 -0
  51. package/components/HoursOfWeekPicker/helpers/index.d.ts.map +1 -0
  52. package/components/HoursOfWeekPicker/helpers/matrixToValue/matrixToValue.d.ts +4 -0
  53. package/components/HoursOfWeekPicker/helpers/matrixToValue/matrixToValue.d.ts.map +1 -0
  54. package/components/HoursOfWeekPicker/helpers/matrixToValue/matrixToValue.js +14 -0
  55. package/components/HoursOfWeekPicker/helpers/parseTime/parseTime.d.ts +3 -0
  56. package/components/HoursOfWeekPicker/helpers/parseTime/parseTime.d.ts.map +1 -0
  57. package/components/HoursOfWeekPicker/helpers/parseTime/parseTime.js +12 -0
  58. package/components/HoursOfWeekPicker/helpers/replaceDayRanges/replaceDayRanges.d.ts +4 -0
  59. package/components/HoursOfWeekPicker/helpers/replaceDayRanges/replaceDayRanges.d.ts.map +1 -0
  60. package/components/HoursOfWeekPicker/helpers/replaceDayRanges/replaceDayRanges.js +8 -0
  61. package/components/HoursOfWeekPicker/helpers/resolveDayPeriodLocation/resolveDayPeriodLocation.d.ts +4 -0
  62. package/components/HoursOfWeekPicker/helpers/resolveDayPeriodLocation/resolveDayPeriodLocation.d.ts.map +1 -0
  63. package/components/HoursOfWeekPicker/helpers/resolveDayPeriodLocation/resolveDayPeriodLocation.js +23 -0
  64. package/components/HoursOfWeekPicker/helpers/resolveVisibleRange/resolveVisibleRange.d.ts +4 -0
  65. package/components/HoursOfWeekPicker/helpers/resolveVisibleRange/resolveVisibleRange.d.ts.map +1 -0
  66. package/components/HoursOfWeekPicker/helpers/resolveVisibleRange/resolveVisibleRange.js +8 -0
  67. package/components/HoursOfWeekPicker/helpers/toggleDay/toggleDay.d.ts +4 -0
  68. package/components/HoursOfWeekPicker/helpers/toggleDay/toggleDay.d.ts.map +1 -0
  69. package/components/HoursOfWeekPicker/helpers/toggleDay/toggleDay.js +8 -0
  70. package/components/HoursOfWeekPicker/helpers/toggleHour/toggleHour.d.ts +4 -0
  71. package/components/HoursOfWeekPicker/helpers/toggleHour/toggleHour.d.ts.map +1 -0
  72. package/components/HoursOfWeekPicker/helpers/toggleHour/toggleHour.js +9 -0
  73. package/components/HoursOfWeekPicker/helpers/validateRange/validateRange.d.ts +4 -0
  74. package/components/HoursOfWeekPicker/helpers/validateRange/validateRange.d.ts.map +1 -0
  75. package/components/HoursOfWeekPicker/helpers/validateRange/validateRange.js +15 -0
  76. package/components/HoursOfWeekPicker/helpers/valueToMatrix/valueToMatrix.d.ts +4 -0
  77. package/components/HoursOfWeekPicker/helpers/valueToMatrix/valueToMatrix.d.ts.map +1 -0
  78. package/components/HoursOfWeekPicker/helpers/valueToMatrix/valueToMatrix.js +17 -0
  79. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekCards/useHoursOfWeekCards.d.ts +22 -0
  80. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekCards/useHoursOfWeekCards.d.ts.map +1 -0
  81. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekCards/useHoursOfWeekCards.js +49 -0
  82. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekDayPeriods/useHoursOfWeekDayPeriods.d.ts +4 -0
  83. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekDayPeriods/useHoursOfWeekDayPeriods.d.ts.map +1 -0
  84. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekDayPeriods/useHoursOfWeekDayPeriods.js +20 -0
  85. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPicker/index.d.ts +2 -0
  86. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPicker/index.d.ts.map +1 -0
  87. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPicker/useHoursOfWeekPicker.d.ts +29 -0
  88. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPicker/useHoursOfWeekPicker.d.ts.map +1 -0
  89. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPicker/useHoursOfWeekPicker.js +107 -0
  90. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPresentation/useHoursOfWeekPresentation.d.ts +3 -0
  91. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPresentation/useHoursOfWeekPresentation.d.ts.map +1 -0
  92. package/components/HoursOfWeekPicker/hooks/useHoursOfWeekPresentation/useHoursOfWeekPresentation.js +10 -0
  93. package/components/HoursOfWeekPicker/index.d.ts +4 -0
  94. package/components/HoursOfWeekPicker/index.d.ts.map +1 -0
  95. package/components/HoursOfWeekPicker/slots/HoursOfWeekPickerEnum.d.ts +51 -0
  96. package/components/HoursOfWeekPicker/slots/HoursOfWeekPickerEnum.d.ts.map +1 -0
  97. package/components/HoursOfWeekPicker/slots/HoursOfWeekPickerEnum.js +4 -0
  98. package/components/HoursOfWeekPicker/slots/HoursOfWeekPickerSlots.d.ts +145 -0
  99. package/components/HoursOfWeekPicker/slots/HoursOfWeekPickerSlots.d.ts.map +1 -0
  100. package/components/HoursOfWeekPicker/slots/HoursOfWeekPickerSlots.js +56 -0
  101. package/components/HoursOfWeekPicker/slots/index.d.ts +3 -0
  102. package/components/HoursOfWeekPicker/slots/index.d.ts.map +1 -0
  103. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekCards/HoursOfWeekCards.d.ts +4 -0
  104. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekCards/HoursOfWeekCards.d.ts.map +1 -0
  105. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekCards/HoursOfWeekCards.js +111 -0
  106. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekCell/HoursOfWeekCell.d.ts +4 -0
  107. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekCell/HoursOfWeekCell.d.ts.map +1 -0
  108. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekCell/HoursOfWeekCell.js +42 -0
  109. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekLegend/HoursOfWeekLegend.d.ts +4 -0
  110. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekLegend/HoursOfWeekLegend.d.ts.map +1 -0
  111. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekLegend/HoursOfWeekLegend.js +31 -0
  112. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekPeriods/HoursOfWeekPeriods.d.ts +4 -0
  113. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekPeriods/HoursOfWeekPeriods.d.ts.map +1 -0
  114. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekPeriods/HoursOfWeekPeriods.js +28 -0
  115. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekRow/HoursOfWeekRow.d.ts +4 -0
  116. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekRow/HoursOfWeekRow.d.ts.map +1 -0
  117. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekRow/HoursOfWeekRow.js +38 -0
  118. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSkeleton/HoursOfWeekSkeleton.d.ts +6 -0
  119. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSkeleton/HoursOfWeekSkeleton.d.ts.map +1 -0
  120. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSkeleton/HoursOfWeekSkeleton.js +24 -0
  121. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSummary/HoursOfWeekSummary.d.ts +4 -0
  122. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSummary/HoursOfWeekSummary.d.ts.map +1 -0
  123. package/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSummary/HoursOfWeekSummary.js +27 -0
  124. package/components/HoursOfWeekPicker/types.d.ts +219 -0
  125. package/components/HoursOfWeekPicker/types.d.ts.map +1 -0
  126. package/components/hook-form/RHFHoursOfWeekPicker/RHFHoursOfWeekPicker.d.ts +7 -0
  127. package/components/hook-form/RHFHoursOfWeekPicker/RHFHoursOfWeekPicker.d.ts.map +1 -0
  128. package/components/hook-form/RHFHoursOfWeekPicker/RHFHoursOfWeekPicker.js +10 -0
  129. package/components/hook-form/RHFHoursOfWeekPicker/index.d.ts +3 -0
  130. package/components/hook-form/RHFHoursOfWeekPicker/index.d.ts.map +1 -0
  131. package/components/hook-form/RHFHoursOfWeekPicker/types.d.ts +6 -0
  132. package/components/hook-form/RHFHoursOfWeekPicker/types.d.ts.map +1 -0
  133. package/components/hook-form/index.d.ts +1 -0
  134. package/components/hook-form/index.d.ts.map +1 -1
  135. package/components/index.d.ts +1 -0
  136. package/components/index.d.ts.map +1 -1
  137. package/index.js +378 -372
  138. package/package.json +8 -6
@@ -0,0 +1,111 @@
1
+ import { jsx as i, jsxs as o, Fragment as L } from "@emotion/react/jsx-runtime";
2
+ import { useId as U, useRef as W } from "react";
3
+ import { useForkRef as y } from "@mui/material/utils";
4
+ import { useModuleDictionary as K } from "@m4l/core";
5
+ import { Typography as _, Icon as Y } from "@m4l/base";
6
+ import { ArrowChevronSmUpOutlined as j, ArrowChevronSmDownOutlined as J, DateTimeClockOutlined as N, ActionsEditOutlined as Z, ActionsCloseSmOutlined as q, ActionsZoomInOutlined as G, ActionsCopySmallOutlined as Q } from "@m4l/icons";
7
+ import { HOURS_OF_WEEK_DEFAULT_SLOT_MINUTES as V, HOURS_OF_WEEK_DAY_KEYS as X, HOURS_OF_WEEK_DAYS as O } from "../../constants.js";
8
+ import { useHoursOfWeekCards as H } from "../../hooks/useHoursOfWeekCards/useHoursOfWeekCards.js";
9
+ import { parseTime as s } from "../../helpers/parseTime/parseTime.js";
10
+ import { formatDuration as ee } from "../../helpers/formatDuration/formatDuration.js";
11
+ import { Switch as re } from "../../../extended/mui/Switch/Switch.js";
12
+ import { IconButton as S } from "../../../extended/mui/IconButton/IconButton.js";
13
+ import { Label as x } from "../../../Label/Label.js";
14
+ import { Select as A } from "../../../extended/mui/Select/Select.js";
15
+ import { getTimeOptions as E } from "../../helpers/getTimeOptions/getTimeOptions.js";
16
+ import { CheckBox as le } from "../../../extended/mui/CheckBox/CheckBox.js";
17
+ import { firstAvailableRange as ie } from "../../helpers/firstAvailableRange/firstAvailableRange.js";
18
+ import { Cards as ae, Card as te, CardHeader as ne, CardToggle as oe, RowTotal as R, Overview as se, OverviewRange as de, Summary as T, OverviewAxis as ce, RangeRow as I, SummaryRange as w, RangeEditor as be, TimeLabel as D, Actions as F, CopyTargets as me, CopyTarget as pe } from "../../slots/HoursOfWeekPickerSlots.js";
19
+ import { Button as u } from "../../../extended/mui/Button/Button.js";
20
+ function De({ ownerState: a, inputRef: M, id: P, formatHour: c, ...m }) {
21
+ const e = H(m), { getLabel: z } = K(), d = U(), g = W(null), B = y(g, M), v = () => g.current, k = m.slotMinutes ?? V, b = X.map((l) => z(`hours_of_week_picker.${l}`)), t = (l) => z(`hours_of_week_picker.${l}`);
22
+ return /* @__PURE__ */ i(ae, { ref: B, id: P, tabIndex: m.disabled ? -1 : 0, role: "group", "aria-label": m["aria-label"] ?? t("label"), "aria-labelledby": m["aria-labelledby"], ownerState: a, "data-presentation": "cards", children: O.map((l) => {
23
+ const f = e.expanded === l, h = e.ranges.filter((r) => r.day === l), C = h.reduce((r, $) => r + (s($.end, !0) - s($.start)) * 15, 0), n = { ...a, day: l, expanded: f }, p = e.draft?.day === l ? e.draft : null;
24
+ return /* @__PURE__ */ o(te, { role: "region", "aria-label": b[l], ownerState: n, "data-testid": `hours-card-${l}`, children: [
25
+ /* @__PURE__ */ o(ne, { ownerState: n, children: [
26
+ /* @__PURE__ */ i(oe, { type: "button", label: b[l], size: a.size, variant: "text", color: "default", endIcon: f ? /* @__PURE__ */ i(j, {}) : /* @__PURE__ */ i(J, {}), disabled: m.disabled, "aria-label": `${b[l]} ${t("details")}`, "aria-expanded": f, "aria-controls": `${d}-${l}`, onClick: () => e.expand(l), "data-testid": `hours-day-${l}-expand`, ownerState: n, children: /* @__PURE__ */ i(R, { ownerState: a, children: C ? /* @__PURE__ */ i(_, { component: "span", fontFamily: "Jura", variant: "captionStandard", size: a.size, color: "inherit", children: ee(C, z) }) : t("not_available") }) }),
27
+ !e.blocked && /* @__PURE__ */ i(re, { size: a.size, checked: h.length > 0, onChange: () => e.toggle(l), inputProps: { role: "switch", "aria-label": `${b[l]} ${t("available")}` } })
28
+ ] }),
29
+ /* @__PURE__ */ i(se, { "aria-hidden": "true", ownerState: n, children: h.map((r) => /* @__PURE__ */ i(de, { ownerState: { ...n, startPercent: s(r.start) / 96 * 100, widthPercent: (s(r.end, !0) - s(r.start)) / 96 * 100 } }, r.start)) }),
30
+ f && /* @__PURE__ */ o(T, { id: `${d}-${l}`, ownerState: n, children: [
31
+ /* @__PURE__ */ i(ce, { "aria-hidden": "true", ownerState: n, children: [0, 24, 48, 72, 96].map((r) => /* @__PURE__ */ i(R, { ownerState: n, children: c(r).replace(":00", "") }, r)) }),
32
+ h.map((r, $) => /* @__PURE__ */ o(I, { ownerState: n, children: [
33
+ /* @__PURE__ */ i(Y, { src: /* @__PURE__ */ i(N, {}), size: a.size, color: "text.secondary" }),
34
+ /* @__PURE__ */ i(w, { as: "span", children: /* @__PURE__ */ o(_, { component: "span", fontFamily: "Jura", variant: "captionStandard", size: a.size, children: [
35
+ c(s(r.start)),
36
+ " – ",
37
+ c(s(r.end, !0))
38
+ ] }) }),
39
+ !e.blocked && /* @__PURE__ */ o(L, { children: [
40
+ /* @__PURE__ */ i(S, { size: a.size, variant: "text", "aria-label": `${t("edit_range")} ${b[l]} ${c(s(r.start))}–${c(s(r.end, !0))}`, src: /* @__PURE__ */ i(Z, {}), onClick: () => e.edit(l, $) }),
41
+ /* @__PURE__ */ i(S, { size: a.size, variant: "text", "aria-label": `${t("remove_range")} ${b[l]} ${c(s(r.start))}–${c(s(r.end, !0))}`, src: /* @__PURE__ */ i(q, {}), onClick: () => e.remove(l, $) })
42
+ ] })
43
+ ] }, `${r.start}-${r.end}`)),
44
+ !e.blocked && p && /* @__PURE__ */ o(be, { ownerState: n, children: [
45
+ /* @__PURE__ */ o(D, { ownerState: n, children: [
46
+ /* @__PURE__ */ i(x, { id: `${d}-${l}-start-label`, htmlFor: `${d}-${l}-start`, label: t("start_time"), size: a.size, disabled: e.blocked }),
47
+ /* @__PURE__ */ i(
48
+ A,
49
+ {
50
+ id: `${d}-${l}-start`,
51
+ labelId: `${d}-${l}-start-label`,
52
+ SelectDisplayProps: { "aria-label": t("start_time"), "aria-labelledby": void 0 },
53
+ autoFocus: !0,
54
+ value: p.start,
55
+ size: a.size,
56
+ variant: "outlined",
57
+ disabled: e.blocked,
58
+ error: !!e.rangeError,
59
+ MenuProps: { container: v },
60
+ options: E(k, p.start, !1).map((r) => ({ id: r.value, label: c(s(r.value)) })),
61
+ onChange: (r) => {
62
+ r && !Array.isArray(r) && e.updateDraft("start", String(r.id));
63
+ }
64
+ }
65
+ )
66
+ ] }),
67
+ /* @__PURE__ */ o(D, { ownerState: n, children: [
68
+ /* @__PURE__ */ i(x, { id: `${d}-${l}-end-label`, htmlFor: `${d}-${l}-end`, label: t("end_time"), size: a.size, disabled: e.blocked }),
69
+ /* @__PURE__ */ i(
70
+ A,
71
+ {
72
+ id: `${d}-${l}-end`,
73
+ labelId: `${d}-${l}-end-label`,
74
+ SelectDisplayProps: { "aria-label": t("end_time"), "aria-labelledby": void 0 },
75
+ value: p.end,
76
+ size: a.size,
77
+ variant: "outlined",
78
+ disabled: e.blocked,
79
+ error: !!e.rangeError,
80
+ MenuProps: { container: v },
81
+ options: E(k, p.end, !0).map((r) => ({ id: r.value, label: c(s(r.value, !0)) })),
82
+ onChange: (r) => {
83
+ r && !Array.isArray(r) && e.updateDraft("end", String(r.id));
84
+ }
85
+ }
86
+ )
87
+ ] }),
88
+ e.rangeError && /* @__PURE__ */ i(w, { role: "alert", children: t(e.rangeError) }),
89
+ /* @__PURE__ */ o(F, { ownerState: n, children: [
90
+ /* @__PURE__ */ i(u, { size: a.size, label: t("apply"), disabled: e.blocked || !!e.rangeError, onClick: e.apply }),
91
+ /* @__PURE__ */ i(u, { size: a.size, label: t("cancel"), variant: "outlined", color: "default", onClick: e.cancel })
92
+ ] })
93
+ ] }),
94
+ !e.blocked && e.copying === l && /* @__PURE__ */ o(T, { ownerState: n, children: [
95
+ /* @__PURE__ */ i(me, { role: "group", "aria-label": `${t("copy_to")} ${b[l]}`, ownerState: n, children: O.filter((r) => r !== l).map((r) => /* @__PURE__ */ i(pe, { ownerState: n, children: /* @__PURE__ */ i(le, { size: a.size, inlineText: b[r], checked: e.targets.includes(r), onChange: () => e.toggleTarget(r), disabled: e.blocked }) }, r)) }),
96
+ /* @__PURE__ */ o(F, { ownerState: n, children: [
97
+ /* @__PURE__ */ i(u, { size: a.size, label: t("apply"), disabled: e.blocked || !e.targets.length, onClick: e.applyCopy }),
98
+ /* @__PURE__ */ i(u, { size: a.size, label: t("cancel"), variant: "outlined", color: "default", onClick: e.cancel })
99
+ ] })
100
+ ] }),
101
+ !e.blocked && !p && e.copying !== l && /* @__PURE__ */ o(I, { ownerState: n, children: [
102
+ /* @__PURE__ */ i(u, { label: t("add_range"), startIcon: /* @__PURE__ */ i(G, {}), size: a.size, variant: "text", color: "primary", disabled: e.blocked || !ie(e.ranges, l, k), onClick: () => e.edit(l) }),
103
+ /* @__PURE__ */ i(u, { label: t("copy_to"), startIcon: /* @__PURE__ */ i(Q, {}), size: a.size, variant: "text", color: "default", disabled: e.blocked || h.length === 0, onClick: () => e.startCopy(l) })
104
+ ] })
105
+ ] })
106
+ ] }, l);
107
+ }) });
108
+ }
109
+ export {
110
+ De as HoursOfWeekCards
111
+ };
@@ -0,0 +1,4 @@
1
+ import { HoursOfWeekCellProps } from '../../types';
2
+ /** Keep selection, preview and accessibility semantics on the recurring-hour grid. */
3
+ export declare function HoursOfWeekCell(props: HoursOfWeekCellProps): import("@emotion/react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=HoursOfWeekCell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoursOfWeekCell.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/subcomponents/HoursOfWeekCell/HoursOfWeekCell.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAA+B,MAAM,aAAa,CAAC;AAErF,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,oDAiC1D"}
@@ -0,0 +1,42 @@
1
+ import { jsx as h } from "@emotion/react/jsx-runtime";
2
+ import { HOURS_OF_WEEK_PICKER_CLASSES as C } from "../../constants.js";
3
+ import { getCellState as E } from "../../helpers/getCellState/getCellState.js";
4
+ import { Cell as $ } from "../../slots/HoursOfWeekPickerSlots.js";
5
+ function x(c) {
6
+ const { day: t, slot: r, label: f, formatHour: d, showDayPeriods: u, values: p, startUnit: S, unitsPerSlot: o, ownerState: e, focused: v, preview: i, labels: m, firstCellId: b, firstCellRef: y } = c, a = S + r * o, l = E(p, a, o), s = {
7
+ ...e,
8
+ day: t,
9
+ cellState: l,
10
+ preview: i,
11
+ boundary: a % 4 === 0 ? "hour" : a % 2 === 0 ? "half" : "quarter",
12
+ hourEnd: (a + o) % 4 === 0,
13
+ period: u ? e.periods?.find((n) => a >= n.start && a < n.end)?.key : void 0
14
+ };
15
+ return /* @__PURE__ */ h(
16
+ $,
17
+ {
18
+ role: "gridcell",
19
+ "data-hours-cell": "",
20
+ "data-day": t,
21
+ "data-slot": r,
22
+ "data-state": l,
23
+ "data-preview": i,
24
+ "data-period": s.period,
25
+ "data-testid": `hours-cell-${t}-${r}`,
26
+ id: t === 0 && r === 0 ? b : void 0,
27
+ ref: t === 0 && r === 0 ? y : void 0,
28
+ "aria-label": `${f}, ${d(a)}–${d(a + o)}, ${m[l]}`,
29
+ "aria-invalid": e.error || void 0,
30
+ "aria-selected": l === "full",
31
+ "aria-disabled": e.disabled || void 0,
32
+ "aria-readonly": e.readOnly || void 0,
33
+ "aria-keyshortcuts": e.readOnly || e.disabled ? void 0 : "Space Enter Shift+Space Control+Space",
34
+ tabIndex: !e.disabled && v ? 0 : -1,
35
+ ownerState: s,
36
+ className: C.cell
37
+ }
38
+ );
39
+ }
40
+ export {
41
+ x as HoursOfWeekCell
42
+ };
@@ -0,0 +1,4 @@
1
+ import { HoursOfWeekOwnerProps } from '../../types';
2
+ /** Explain selection states independently from the decorative day-period guide. */
3
+ export declare function HoursOfWeekLegend({ ownerState }: HoursOfWeekOwnerProps): import("@emotion/react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=HoursOfWeekLegend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoursOfWeekLegend.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/subcomponents/HoursOfWeekLegend/HoursOfWeekLegend.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,EAAE,UAAU,EAAE,EAAE,qBAAqB,oDAatE"}
@@ -0,0 +1,31 @@
1
+ import { jsxs as i, jsx as d, Fragment as p } from "@emotion/react/jsx-runtime";
2
+ import { Typography as m } from "@m4l/base";
3
+ import { useModuleDictionary as c } from "@m4l/core";
4
+ import { HOURS_OF_WEEK_PICKER_CLASSES as a } from "../../constants.js";
5
+ import { Legend as h, LegendItem as n, Swatch as l } from "../../slots/HoursOfWeekPickerSlots.js";
6
+ function y({ ownerState: e }) {
7
+ const { getLabel: o } = c();
8
+ return /* @__PURE__ */ i(h, { ownerState: e, className: a.legend, children: [
9
+ ["empty", "full", "partial", "preview"].filter((r) => r !== "preview" || !e.readOnly && !e.disabled).map((r) => /* @__PURE__ */ i(n, { ownerState: e, children: [
10
+ /* @__PURE__ */ d(l, { "aria-hidden": "true", ownerState: { ...e, legendState: r } }),
11
+ /* @__PURE__ */ d(m, { component: "span", variant: "bodySlim", size: e.size, color: "text.secondary", children: o(`hours_of_week_picker.${r === "full" ? "selected" : r}`) })
12
+ ] }, r)),
13
+ e.dayPeriods && /* @__PURE__ */ i(p, { children: [
14
+ /* @__PURE__ */ i(n, { ownerState: e, children: [
15
+ /* @__PURE__ */ d(l, { "aria-hidden": "true", ownerState: { ...e, period: "daytime" } }),
16
+ o("hours_of_week_picker.daytime")
17
+ ] }),
18
+ /* @__PURE__ */ i(n, { ownerState: e, children: [
19
+ /* @__PURE__ */ d(l, { "aria-hidden": "true", ownerState: { ...e, period: "nighttime" } }),
20
+ o("hours_of_week_picker.nighttime")
21
+ ] }),
22
+ /* @__PURE__ */ i(n, { ownerState: e, children: [
23
+ /* @__PURE__ */ d(l, { "aria-hidden": "true", ownerState: { ...e, periodBoundary: !0 } }),
24
+ o("hours_of_week_picker.period_boundary")
25
+ ] })
26
+ ] })
27
+ ] });
28
+ }
29
+ export {
30
+ y as HoursOfWeekLegend
31
+ };
@@ -0,0 +1,4 @@
1
+ import { HoursOfWeekPeriodsProps } from '../../types';
2
+ /** Align clipped local-time period labels and decorative tints with the same hour axis. */
3
+ export declare function HoursOfWeekPeriods({ ownerState, startUnit, endUnit, formatHour, background, periods: sourcePeriods }: HoursOfWeekPeriodsProps): import("@emotion/react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=HoursOfWeekPeriods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoursOfWeekPeriods.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/subcomponents/HoursOfWeekPeriods/HoursOfWeekPeriods.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,uBAAuB,oDA2B7I"}
@@ -0,0 +1,28 @@
1
+ import { jsx as r, jsxs as t } from "@emotion/react/jsx-runtime";
2
+ import { Tooltip as h, Icon as k, Typography as c } from "@m4l/base";
3
+ import { useModuleDictionary as $ } from "@m4l/core";
4
+ import { AccessibilitySunDuotone as b, AccessibilityMoonCloudDuotone as z } from "@m4l/icons";
5
+ import { HOURS_OF_WEEK_PICKER_CLASSES as T } from "../../constants.js";
6
+ import { getVisiblePeriods as P } from "../../helpers/getVisiblePeriods/getVisiblePeriods.js";
7
+ import { formatTime as l } from "../../helpers/formatTime/formatTime.js";
8
+ import { PeriodBackground as _, PeriodTint as g, Axis as x, RowTotal as m, PeriodTrack as A, PeriodBand as C } from "../../slots/HoursOfWeekPickerSlots.js";
9
+ function I({ ownerState: e, startUnit: a, endUnit: u, formatHour: n, background: y, periods: p }) {
10
+ const { getLabel: f } = $(), d = P(a, u, p);
11
+ return y ? /* @__PURE__ */ r(_, { "aria-hidden": "true", ownerState: e, children: d.map((i) => /* @__PURE__ */ r(g, { className: T.periodTint, ownerState: { ...e, ...i, period: i.key, periodBoundary: i.start > a } }, `${i.key}-${i.start}`)) }) : /* @__PURE__ */ t(x, { ownerState: e, "data-testid": "hours-day-periods", children: [
12
+ /* @__PURE__ */ r(m, { ownerState: e }),
13
+ /* @__PURE__ */ r(A, { ownerState: e, children: d.map((i) => {
14
+ const o = f(`hours_of_week_picker.${i.key}`), s = `${n(i.start)}–${n(i.end)}`;
15
+ return /* @__PURE__ */ r(h, { title: `${o} ${s}`, size: e.size, describeChild: !0, children: /* @__PURE__ */ t(C, { ownerState: { ...e, ...i, period: i.key }, "data-testid": `hours-period-${i.key}`, "data-start": l(i.start), "data-end": l(i.end), "aria-label": `${o} ${s}`, children: [
16
+ /* @__PURE__ */ r(k, { src: i.key === "daytime" ? /* @__PURE__ */ r(b, {}) : /* @__PURE__ */ r(z, {}), size: e.size, color: i.key === "daytime" ? "chips.orange.contained.color" : "info.semanticText" }),
17
+ /* @__PURE__ */ t(c, { component: "span", variant: "captionStandard", size: e.size, ellipsis: !0, children: [
18
+ o,
19
+ /* @__PURE__ */ r(c, { component: "span", fontFamily: "Jura", variant: "bodyStandard", size: e.size, children: s })
20
+ ] })
21
+ ] }) }, `${i.key}-${i.start}`);
22
+ }) }),
23
+ /* @__PURE__ */ r(m, { ownerState: e })
24
+ ] });
25
+ }
26
+ export {
27
+ I as HoursOfWeekPeriods
28
+ };
@@ -0,0 +1,4 @@
1
+ import { HoursOfWeekRowProps } from '../../types';
2
+ /** Render one memoized day so pointer status updates do not repaint all 768 cells. */
3
+ export declare const HoursOfWeekRow: import('react').NamedExoticComponent<HoursOfWeekRowProps>;
4
+ //# sourceMappingURL=HoursOfWeekRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoursOfWeekRow.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/subcomponents/HoursOfWeekRow/HoursOfWeekRow.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,sFAAsF;AACtF,eAAO,MAAM,cAAc,2DAwBzB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { jsxs as T, jsx as r } from "@emotion/react/jsx-runtime";
2
+ import { memo as g } from "react";
3
+ import { Tooltip as C, Typography as O } from "@m4l/base";
4
+ import { useModuleDictionary as k } from "@m4l/core";
5
+ import { HOURS_OF_WEEK_PICKER_CLASSES as a } from "../../constants.js";
6
+ import { HoursOfWeekCell as E } from "../HoursOfWeekCell/HoursOfWeekCell.js";
7
+ import { Row as H, TooltipTarget as _, DayButton as x, Track as z, RowTotal as B } from "../../slots/HoursOfWeekPickerSlots.js";
8
+ import { formatDuration as s } from "../../helpers/formatDuration/formatDuration.js";
9
+ const U = g(function(d) {
10
+ const { getLabel: n } = k(), { day: i, label: t, shortLabel: m, formatHour: c, showDayPeriods: f, values: l, startUnit: p, unitsPerSlot: u, ownerState: e, focusedSlot: h, previewStart: w, previewEnd: y, previewSelected: b, labels: S, firstCellId: v, firstCellRef: R } = d;
11
+ return /* @__PURE__ */ T(H, { role: "row", ownerState: { ...e, day: i }, className: a.row, children: [
12
+ /* @__PURE__ */ r(C, { title: t, size: e.size, describeChild: !0, children: /* @__PURE__ */ r(_, { ownerState: e, children: /* @__PURE__ */ r(x, { type: "button", role: "rowheader", tabIndex: -1, "aria-label": t, "data-day-action": i, disabled: e.disabled || e.readOnly, ownerState: e, className: a.dayButton, children: m }) }) }),
13
+ /* @__PURE__ */ r(z, { role: "presentation", ownerState: e, className: a.track, children: Array.from({ length: e.columns }, (N, o) => /* @__PURE__ */ r(
14
+ E,
15
+ {
16
+ day: i,
17
+ slot: o,
18
+ label: t,
19
+ values: l,
20
+ formatHour: c,
21
+ showDayPeriods: f,
22
+ startUnit: p,
23
+ unitsPerSlot: u,
24
+ ownerState: e,
25
+ focused: h === o,
26
+ preview: o >= w && o <= y ? b ? "add" : "remove" : void 0,
27
+ labels: S,
28
+ firstCellId: v,
29
+ firstCellRef: R
30
+ },
31
+ o
32
+ )) }),
33
+ /* @__PURE__ */ r(B, { role: "presentation", ownerState: e, className: a.rowTotal, "aria-label": `${t}: ${s(l.filter(Boolean).length * 15, n)}`, children: /* @__PURE__ */ r(O, { component: "span", fontFamily: "Jura", variant: "captionStandard", size: e.size, color: "inherit", children: s(l.filter(Boolean).length * 15, n) }) })
34
+ ] });
35
+ });
36
+ export {
37
+ U as HoursOfWeekRow
38
+ };
@@ -0,0 +1,6 @@
1
+ import { HoursOfWeekSkeletonProps } from '../../types';
2
+ /** Compose the Figma loading silhouette from shared Skeleton bones without exposing editing controls.
3
+ * Componer la silueta de carga de Figma con Skeleton compartido sin exponer controles de edición.
4
+ */
5
+ export declare function HoursOfWeekSkeleton({ ownerState, inputRef, label, className }: HoursOfWeekSkeletonProps): import("@emotion/react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=HoursOfWeekSkeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoursOfWeekSkeleton.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSkeleton/HoursOfWeekSkeleton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,wBAAwB,oDA0BvG"}
@@ -0,0 +1,24 @@
1
+ import { jsx as o, jsxs as l } from "@emotion/react/jsx-runtime";
2
+ import u from "clsx";
3
+ import { HOURS_OF_WEEK_DAYS as c, HOURS_OF_WEEK_HOLIDAY_DAY as p, HOURS_OF_WEEK_PICKER_CLASSES as a } from "../../constants.js";
4
+ import { Skeleton as m, SkeletonGroup as r, SkeletonBone as n } from "../../slots/HoursOfWeekPickerSlots.js";
5
+ function h({ ownerState: e, inputRef: s, label: i, className: k }) {
6
+ return /* @__PURE__ */ o(m, { ref: s, role: "status", "aria-label": i, "aria-busy": "true", ownerState: e, className: u(k, a.root, a.skeleton), "data-testid": "SkeletonHoursOfWeekPicker", children: /* @__PURE__ */ l(r, { "aria-hidden": "true", ownerState: { ...e, skeletonGroup: "content" }, children: [
7
+ /* @__PURE__ */ l(r, { ownerState: { ...e, skeletonGroup: "header" }, children: [
8
+ /* @__PURE__ */ o(n, { ownerState: { ...e, skeletonBone: "title" }, "data-skeleton-bone": "title" }),
9
+ /* @__PURE__ */ o(n, { ownerState: { ...e, skeletonBone: "description" }, "data-skeleton-bone": "description" })
10
+ ] }),
11
+ /* @__PURE__ */ o(r, { ownerState: { ...e, skeletonGroup: "interval" }, children: ["intervalLabel", "intervalHour", "intervalMinute", "intervalMinute"].map((t, d) => /* @__PURE__ */ o(n, { ownerState: { ...e, skeletonBone: t }, "data-skeleton-bone": t }, `${t}-${d}`)) }),
12
+ /* @__PURE__ */ o(r, { ownerState: { ...e, skeletonGroup: "body" }, children: c.filter((t) => t !== p).map((t) => e.cards ? /* @__PURE__ */ o(n, { ownerState: { ...e, skeletonBone: "dayCard" }, "data-skeleton-bone": "dayCard" }, t) : /* @__PURE__ */ l(r, { ownerState: { ...e, skeletonGroup: "row" }, children: [
13
+ /* @__PURE__ */ o(n, { ownerState: { ...e, skeletonBone: "dayLabel" }, "data-skeleton-bone": "dayLabel" }),
14
+ /* @__PURE__ */ o(n, { ownerState: { ...e, skeletonBone: "track" }, "data-skeleton-bone": "track" })
15
+ ] }, t)) }),
16
+ /* @__PURE__ */ l(r, { ownerState: { ...e, skeletonGroup: "footer" }, children: [
17
+ /* @__PURE__ */ o(n, { ownerState: { ...e, skeletonBone: "summary" }, "data-skeleton-bone": "summary" }),
18
+ /* @__PURE__ */ o(n, { ownerState: { ...e, skeletonBone: "actions" }, "data-skeleton-bone": "actions" })
19
+ ] })
20
+ ] }) });
21
+ }
22
+ export {
23
+ h as HoursOfWeekSkeleton
24
+ };
@@ -0,0 +1,4 @@
1
+ import { HoursOfWeekSummaryProps } from '../../types';
2
+ /** Summarize the full canonical schedule, including hours outside the editing viewport. */
3
+ export declare function HoursOfWeekSummary({ ownerState, ranges, formatHour }: HoursOfWeekSummaryProps): import("@emotion/react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=HoursOfWeekSummary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoursOfWeekSummary.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/components/src/components/HoursOfWeekPicker/subcomponents/HoursOfWeekSummary/HoursOfWeekSummary.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,uBAAuB,oDAe7F"}
@@ -0,0 +1,27 @@
1
+ import { jsxs as e, jsx as m } from "@emotion/react/jsx-runtime";
2
+ import { Typography as s } from "@m4l/base";
3
+ import { useModuleDictionary as u } from "@m4l/core";
4
+ import { HOURS_OF_WEEK_PICKER_CLASSES as p, HOURS_OF_WEEK_DAYS as _, HOURS_OF_WEEK_DAY_KEYS as d } from "../../constants.js";
5
+ import { parseTime as l } from "../../helpers/parseTime/parseTime.js";
6
+ import { Summary as y, SummaryDays as h, SummaryDay as f, SummaryRanges as S, SummaryRange as E } from "../../slots/HoursOfWeekPickerSlots.js";
7
+ import { Chip as z } from "../../../Chip/Chip.js";
8
+ function F({ ownerState: r, ranges: t, formatHour: n }) {
9
+ const { getLabel: o } = u(), c = o("hours_of_week_picker.summary");
10
+ return /* @__PURE__ */ e(y, { ownerState: r, className: p.summary, "aria-label": c, children: [
11
+ /* @__PURE__ */ m(s, { variant: "captionStandard", size: r.size, children: c }),
12
+ /* @__PURE__ */ m(h, { ownerState: r, children: _.map((a) => /* @__PURE__ */ e(f, { ownerState: r, "data-testid": `hours-summary-${a}`, children: [
13
+ /* @__PURE__ */ m(s, { component: "span", variant: "captionStandard", size: r.size, children: o(`hours_of_week_picker.${d[a]}`) }),
14
+ /* @__PURE__ */ e(S, { ownerState: r, children: [
15
+ t.filter((i) => i.day === a).map((i) => /* @__PURE__ */ m(z, { size: r.size, opacity: !0, color: "default", label: /* @__PURE__ */ e(s, { component: "span", fontFamily: "Jura", variant: "captionStandard", size: r.size, color: "inherit", children: [
16
+ n(l(i.start)),
17
+ " – ",
18
+ n(l(i.end, !0))
19
+ ] }) }, i.start)),
20
+ !t.some((i) => i.day === a) && /* @__PURE__ */ m(E, { className: p.summaryRange, children: o("hours_of_week_picker.no_availability") })
21
+ ] })
22
+ ] }, a)) })
23
+ ] });
24
+ }
25
+ export {
26
+ F as HoursOfWeekSummary
27
+ };
@@ -0,0 +1,219 @@
1
+ import { FocusEventHandler, Ref } from 'react';
2
+ import { Theme } from '@mui/material/styles';
3
+ import { M4LOverridesStyleRules } from '../../@types/augmentations';
4
+ import { DayOfWeek } from '../DaysOfWeekPicker';
5
+ import { HoursOfWeekPickerSlots } from './slots/HoursOfWeekPickerEnum';
6
+ export type HoursOfWeekDay = DayOfWeek | 7;
7
+ export type HoursOfWeekPresentation = 'auto' | 'grid' | 'cards';
8
+ export type HoursOfWeekSlotMinutes = 60 | 30 | 15;
9
+ export interface HoursOfWeekRange {
10
+ day: HoursOfWeekDay;
11
+ /** Recurring local time in HH:mm, aligned to 15 minutes. */
12
+ start: string;
13
+ /** Exclusive end; 24:00 is allowed. */
14
+ end: string;
15
+ }
16
+ export type HoursOfWeekValue = HoursOfWeekRange[];
17
+ export interface HoursOfWeekVisibleRange {
18
+ startHour: number;
19
+ endHour: number;
20
+ }
21
+ export interface HoursOfWeekPreset {
22
+ label: string;
23
+ value: HoursOfWeekValue;
24
+ }
25
+ export interface HoursOfWeekPickerProps {
26
+ value: HoursOfWeekValue;
27
+ onChange?: (value: HoursOfWeekValue) => void;
28
+ /** Decorate grid hours with early-morning, daytime and nighttime reference bands; enabled by default. */
29
+ showDayPeriods?: boolean;
30
+ /** Solar reference location; missing or invalid data uses Bogotá, Colombia. */
31
+ dayPeriodsLocation?: HoursOfWeekLocation | null;
32
+ /** Optional reference instant for solar guides; defaults to today in the reference location. */
33
+ dayPeriodsDate?: Date;
34
+ /** Use touch-friendly day cards on phone viewports, or explicitly choose a presentation. */
35
+ presentation?: HoursOfWeekPresentation;
36
+ slotMinutes?: HoursOfWeekSlotMinutes;
37
+ slotMinutesOptions?: HoursOfWeekSlotMinutes[];
38
+ onSlotMinutesChange?: (minutes: HoursOfWeekSlotMinutes) => void;
39
+ visibleRange?: HoursOfWeekVisibleRange;
40
+ presets?: HoursOfWeekPreset[];
41
+ /** Show the detailed daily range list below the grid; hidden by default.
42
+ * Mostrar la lista detallada de franjas diarias bajo el grid; oculta por defecto. */
43
+ showSummary?: boolean;
44
+ size?: 'small' | 'medium';
45
+ /** Prevent interaction and hide precision, shortcut and range-editing actions.
46
+ * Impedir interacción y ocultar acciones de precisión, atajos y edición de franjas. */
47
+ disabled?: boolean;
48
+ /** Keep navigation and translucent primary availability while hiding all editing controls.
49
+ * Conservar navegación y disponibilidad primary translúcida ocultando todos los controles de edición. */
50
+ readOnly?: boolean;
51
+ /** Replace the editor with its responsive loading silhouette; module loading also activates it.
52
+ * Sustituir el editor por su silueta de carga adaptable; la carga del módulo también la activa. */
53
+ skeleton?: boolean;
54
+ error?: boolean;
55
+ className?: string;
56
+ id?: string;
57
+ 'aria-label'?: string;
58
+ 'aria-labelledby'?: string;
59
+ onBlur?: FocusEventHandler<HTMLDivElement>;
60
+ }
61
+ export type HoursOfWeekMatrix = readonly (readonly boolean[])[];
62
+ export type HoursOfWeekCellState = 'full' | 'partial' | 'empty';
63
+ export interface HoursOfWeekCoordinate {
64
+ day: HoursOfWeekDay;
65
+ slot: number;
66
+ }
67
+ export interface HoursOfWeekDrag {
68
+ start: HoursOfWeekCoordinate;
69
+ end: HoursOfWeekCoordinate;
70
+ selected: boolean;
71
+ pointerId: number;
72
+ base: HoursOfWeekMatrix;
73
+ }
74
+ export interface HoursOfWeekPickerOwnerState {
75
+ size: 'small' | 'medium';
76
+ disabled?: boolean;
77
+ readOnly?: boolean;
78
+ error?: boolean;
79
+ columns: number;
80
+ unitsPerSlot: number;
81
+ hours: number;
82
+ dayPeriods?: boolean;
83
+ periods?: readonly HoursOfWeekPeriod[];
84
+ period?: HoursOfWeekPeriodKey;
85
+ periodBoundary?: boolean;
86
+ legendState?: HoursOfWeekCellState | 'preview' | 'disabled';
87
+ hourEnd?: boolean;
88
+ day?: HoursOfWeekDay;
89
+ expanded?: boolean;
90
+ cards?: boolean;
91
+ startPercent?: number;
92
+ widthPercent?: number;
93
+ selected?: boolean;
94
+ cellState?: HoursOfWeekCellState;
95
+ preview?: 'add' | 'remove';
96
+ boundary?: 'hour' | 'half' | 'quarter';
97
+ skeletonGroup?: 'content' | 'header' | 'interval' | 'body' | 'row' | 'footer';
98
+ skeletonBone?: 'title' | 'description' | 'intervalLabel' | 'intervalHour' | 'intervalMinute' | 'dayLabel' | 'track' | 'dayCard' | 'summary' | 'actions';
99
+ [key: string]: unknown;
100
+ }
101
+ /** Pending mobile edit; index addresses the normalized ranges of its day. */
102
+ export interface HoursOfWeekDraft extends HoursOfWeekRange {
103
+ index: number;
104
+ }
105
+ export type HoursOfWeekRangeError = 'invalid_range' | 'overlap';
106
+ export interface HoursOfWeekTimeOption {
107
+ label: string;
108
+ value: string;
109
+ }
110
+ export type HoursOfWeekCardsOptions = Pick<HoursOfWeekPickerProps, 'value' | 'onChange' | 'slotMinutes' | 'disabled' | 'readOnly'>;
111
+ export interface HoursOfWeekCardsProps extends HoursOfWeekCardsOptions, Pick<HoursOfWeekPickerProps, 'aria-label' | 'aria-labelledby'> {
112
+ ownerState: HoursOfWeekPickerOwnerState;
113
+ id?: string;
114
+ inputRef?: Ref<HTMLDivElement>;
115
+ formatHour: HoursOfWeekHourFormatter;
116
+ }
117
+ export type HoursOfWeekPickerSlotsType = keyof typeof HoursOfWeekPickerSlots;
118
+ export type HoursOfWeekPickerStyles = M4LOverridesStyleRules<HoursOfWeekPickerSlotsType, 'M4LHoursOfWeekPicker', Theme>;
119
+ export interface HoursOfWeekRowProps {
120
+ day: HoursOfWeekDay;
121
+ label: string;
122
+ shortLabel: string;
123
+ formatHour: HoursOfWeekHourFormatter;
124
+ showDayPeriods: boolean;
125
+ values: readonly boolean[];
126
+ startUnit: number;
127
+ unitsPerSlot: number;
128
+ ownerState: HoursOfWeekPickerOwnerState;
129
+ focusedSlot: number;
130
+ previewStart: number;
131
+ previewEnd: number;
132
+ previewSelected: boolean;
133
+ labels: Record<HoursOfWeekCellState, string>;
134
+ firstCellId?: string;
135
+ firstCellRef?: Ref<HTMLDivElement>;
136
+ }
137
+ export interface HoursOfWeekCellProps {
138
+ day: HoursOfWeekDay;
139
+ slot: number;
140
+ label: string;
141
+ formatHour: HoursOfWeekHourFormatter;
142
+ showDayPeriods: boolean;
143
+ values: readonly boolean[];
144
+ startUnit: number;
145
+ unitsPerSlot: number;
146
+ ownerState: HoursOfWeekPickerOwnerState;
147
+ focused: boolean;
148
+ preview?: 'add' | 'remove';
149
+ labels: Record<HoursOfWeekCellState, string>;
150
+ firstCellId?: string;
151
+ firstCellRef?: Ref<HTMLDivElement>;
152
+ }
153
+ export type HoursOfWeekHourFormatter = (unit: number) => string;
154
+ export type HoursOfWeekLabelGetter = (key: string, ...args: (string | number)[]) => string;
155
+ export type HoursOfWeekPeriodKey = 'early_morning' | 'daytime' | 'nighttime';
156
+ export interface HoursOfWeekPeriod {
157
+ key: HoursOfWeekPeriodKey;
158
+ start: number;
159
+ end: number;
160
+ }
161
+ export interface HoursOfWeekVisiblePeriod extends HoursOfWeekPeriod {
162
+ startPercent: number;
163
+ widthPercent: number;
164
+ }
165
+ export interface HoursOfWeekTimePreferences {
166
+ timeFormat: string;
167
+ locale: string | null;
168
+ }
169
+ export interface HoursOfWeekOwnerProps {
170
+ ownerState: HoursOfWeekPickerOwnerState;
171
+ }
172
+ export interface HoursOfWeekSkeletonProps extends HoursOfWeekOwnerProps {
173
+ inputRef?: Ref<HTMLDivElement>;
174
+ label: string;
175
+ className?: string;
176
+ }
177
+ export interface HoursOfWeekPeriodsProps extends HoursOfWeekOwnerProps {
178
+ periods: readonly HoursOfWeekPeriod[];
179
+ startUnit: number;
180
+ endUnit: number;
181
+ formatHour: HoursOfWeekHourFormatter;
182
+ background?: boolean;
183
+ }
184
+ /** Geographic solar reference, independent of user preferences and saved schedule ranges. */
185
+ export interface HoursOfWeekLocation {
186
+ /** WGS84 latitude in decimal degrees, from -90 to 90. */
187
+ latitude: number;
188
+ /** WGS84 longitude in decimal degrees, from -180 to 180. */
189
+ longitude: number;
190
+ /** IANA time zone for the reference location's civil date and daylight-saving rules. */
191
+ timeZone: string;
192
+ /** Optional location metadata; defaults to the supplied time zone and is not displayed in the editor. */
193
+ name?: string;
194
+ }
195
+ export interface HoursOfWeekPeriodLocation extends HoursOfWeekLocation {
196
+ name: string;
197
+ source: 'prop' | 'default';
198
+ }
199
+ export interface HoursOfWeekPeriodClock {
200
+ date: string;
201
+ hour: number;
202
+ minute: number;
203
+ second: number;
204
+ }
205
+ export interface HoursOfWeekSolarEvent {
206
+ unit: number;
207
+ daylightAfter: boolean;
208
+ }
209
+ export interface HoursOfWeekDayPeriodReference {
210
+ location: HoursOfWeekPeriodLocation;
211
+ date: string;
212
+ periods: readonly HoursOfWeekPeriod[];
213
+ nextRefreshAt: number;
214
+ }
215
+ export interface HoursOfWeekSummaryProps extends HoursOfWeekOwnerProps {
216
+ ranges: HoursOfWeekValue;
217
+ formatHour: HoursOfWeekHourFormatter;
218
+ }
219
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../packages/components/src/components/HoursOfWeekPicker/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { RHFHoursOfWeekPickerOptions } from './types';
2
+ /**
3
+ * Bind the weekly schedule picker to the shared form label/error contract.
4
+ * Conectar el horario semanal con el contrato compartido de etiqueta y error del formulario.
5
+ */
6
+ export declare const RHFHoursOfWeekPicker: import('react').ForwardRefExoticComponent<RHFHoursOfWeekPickerOptions & import('../../..').BaseRHFProps<import('react-hook-form').FieldValues> & import('react').RefAttributes<any>>;
7
+ //# sourceMappingURL=RHFHoursOfWeekPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RHFHoursOfWeekPicker.d.ts","sourceRoot":"","sources":["../../../../../../../packages/components/src/components/hook-form/RHFHoursOfWeekPicker/RHFHoursOfWeekPicker.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAkC,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAO3F;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sLAA4E,CAAC"}