@medplum/react-scheduling 5.1.28 → 5.1.30
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/README.md +6 -3
- package/dist/cjs/index.cjs +4 -1
- package/dist/cjs/index.cjs.map +4 -4
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/index.css.map +4 -4
- package/dist/cjs/index.d.ts +355 -0
- package/dist/esm/index.css +1 -1
- package/dist/esm/index.css.map +4 -4
- package/dist/esm/index.d.ts +355 -0
- package/dist/esm/index.mjs +4 -1
- package/dist/esm/index.mjs.map +4 -4
- package/package.json +9 -7
package/dist/esm/index.css.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../node_modules/@fullcalendar/react/skeleton.css", "../../../../node_modules/@fullcalendar/react/themes/classic/palette.css", "../../../../node_modules/@fullcalendar/react/themes/classic/theme.css", "../../src/Calendar/Calendar.module.css"],
|
|
4
|
-
"sourcesContent": ["\n:root {\n --fc-sticky-header-footer-z: 3;\n --fc-popover-z: 4;\n}\n\n.fc-nH {\n z-index: var(--fc-popover-z) !important;\n}\n\n.fc-7s {\n isolation: isolate;\n}\n\n/*\nThis will prevent all ancestors from customizing their box size unless they use .contentBox\n*/\n.fc-wa,\n.fc-wa *,\n.fc-wa *:before,\n.fc-wa *:after {\n box-sizing: border-box !important;\n}\n\n/* classes attached to <body> */\n.fc-4m,\n.fc-4m * {\n cursor: not-allowed !important;\n}\n\n.fc-eM {\n -ms-overflow-style: none !important; /* IE and Edge */\n scrollbar-width: none !important; /* Firefox */\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n.fc-eM::-webkit-scrollbar {\n display: none !important;\n}\n\n.fc-Qo {\n flex-shrink: 0 !important;\n}\n\n.fc-fi .fc-fl {\n display: flex !important;\n flex-direction: row !important;\n flex-wrap: wrap !important;\n}\n\n/* HACK for Safari. Can't do break-inside:avoid with flexbox items, likely b/c it's not standard:\n https://stackoverflow.com/a/60256345 */\n.fc-Jf .fc-fl > * {\n float: left !important;\n}\n\n[dir=rtl] .fc-Jf .fc-fl > *,\n.fc-Jf[dir=rtl] .fc-fl > * {\n float: right !important;\n}\n\n.fc-Jf .fc-fl::after {\n content: \"\" !important;\n display: block !important;\n clear: both !important;\n}\n\n.fc-DP {\n cursor: pointer !important;\n}\n\n.fc-An {\n cursor: n-resize !important;\n}\n\n.fc-lZ {\n cursor: s-resize !important;\n}\n\n.fc-9V {\n cursor: w-resize !important;\n}\n\n[dir=rtl] .fc-9V {\n cursor: e-resize !important;\n}\n\n.fc-70 {\n cursor: e-resize !important;\n}\n\n[dir=rtl] .fc-70 {\n cursor: w-resize !important;\n}\n\n.fc-gQ {\n cursor: col-resize !important;\n}\n\n.fc-mN,\n.fc-2d,\n.fc-B0 {\n position: absolute !important;\n box-sizing: content-box !important;\n width: 100% !important;\n height: 100% !important;\n}\n\n.fc-mN {\n padding: 10px !important;\n margin: -10px !important;\n}\n\n.fc-2d {\n padding-left: 10px !important;\n padding-right: 10px !important;\n margin-left: -10px !important;\n margin-right: -10px !important;\n}\n\n.fc-B0 {\n padding-top: 10px !important;\n padding-bottom: 10px !important;\n margin-top: -10px !important;\n margin-bottom: -10px !important;\n}\n\n/* QUESTION: why not use -left -right instead of negative margins/padding for ALL? */\n.fc-Z1 {\n position: absolute;\n top: 0;\n bottom: 0;\n left: -5px;\n right: -5px;\n}\n\n.fc-1Y {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n.fc-a9 {\n visibility: hidden;\n}\n\n/* Border Utils */\n/* ------------------------------------------------------------------------------------------------- */\n\n/* TODO: break-out to x and y. don't have \"only\" all */\n/* TODO: instead of \"border\" utils, call them \"borderless\" to subtract? */\n\n.fc-Tu {\n border: 0 !important;\n}\n\n.fc-hU {\n border-left: 0 !important;\n border-right: 0 !important;\n border-bottom: 0 !important;\n}\n\n.fc-3e {\n border-top: 0 !important;\n border-left: 0 !important;\n border-right: 0 !important;\n}\n\n.fc-PB,\n.fc-II {\n border-top: 0 !important;\n border-bottom: 0 !important;\n}\n\n.fc-PB {\n border-inline-end: 0 !important;\n}\n\n.fc-II {\n border-inline-start: 0 !important;\n}\n\n.fc-MQ {\n border-left: 0 !important;\n border-right: 0 !important;\n}\n\n.fc-Vo {\n border-top: 0 !important;\n border-bottom: 0 !important;\n}\n\n/* for matching cell start-border, assumed to be 1px, which can't be guaranteed */\n.fc-2l {\n border-inline-start: 1px solid transparent !important;\n}\n\n/* Flexbox Utils */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-Ao {\n display: flex !important;\n flex-direction: row !important;\n}\n\n.fc-HH {\n display: flex !important;\n flex-direction: column !important;\n}\n\n.fc-GV {\n flex-grow: 1 !important;\n}\n\n.fc-g2 {\n flex-grow: 1 !important;\n flex-basis: 0 !important;\n min-width: 0 !important;\n min-height: 0 !important;\n}\n\n.fc-Ot {\n min-height: 0 !important;\n}\n\n/*\nTODO: use liquidX/Y elsewhere because frees up min other dimension; less collisions\n*/\n.fc-hp {\n flex-grow: 1 !important;\n flex-basis: 0 !important;\n min-width: 0 !important;\n}\n\n/* Print-Safe Utils (media:screen ONLY) */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-fi .fc-uD,\n.fc-fi .fc-jM {\n display: flex !important;\n flex-direction: column !important;\n}\n\n/* Table Utils */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-OJ {\n padding: 0 !important;\n}\n\n.fc-oE {\n margin: 0 !important;\n}\n\n.fc-V3 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.fc-SS {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.fc-y2 {\n white-space: nowrap !important;\n}\n\n.fc-CN {\n white-space: pre !important;\n}\n\n/* Misc Utils */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-gZ {\n overflow-anchor: none;\n}\n\n.fc-FA {\n overflow: hidden !important;\n}\n\n/*\nTODO: eventually use this on daygrid/timegrid events' inner, time, and title, FOR PRINT\nNeeded to prevent wrapping to multiple lines, increasing height, throwing off print-positioning,\nwhich can't rely on dynamic height detection after print-flag activated.\n*/\n.fc-7T {\n white-space: nowrap !important;\n overflow: hidden !important;\n}\n\n.fc-cc {\n position: relative !important;\n}\n\n.fc-H0 {\n position: absolute !important;\n}\n\n.fc-6t {\n inset-inline-start: 0 !important;\n}\n\n.fc-ct {\n position: absolute !important;\n top: 0 !important;\n left: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n}\n\n.fc-iv,\n.fc-Uu {\n position: absolute !important;\n left: 0 !important;\n right: 0 !important;\n}\n\n.fc-7k,\n.fc-Yw {\n position: absolute !important;\n top: 0 !important;\n bottom: 0 !important;\n}\n\n.fc-iv {\n top: 0 !important;\n}\n\n.fc-Yw {\n left: 0 !important;\n right: 0 !important;\n width: 0 !important;\n}\n\n@media not print {\n .fc-Ip {\n position: sticky !important;\n }\n\n .fc-CS {\n position: sticky !important;\n top: 0 !important;\n }\n\n /* Sticks to either left or right (the flex \"start\") depending on ltr/rtl */\n .fc-tT {\n position: sticky !important;\n inset-inline-start: 0 !important;\n }\n\n .fc-hy {\n position: sticky !important;\n top: 0 !important;\n z-index: var(--fc-sticky-header-footer-z) !important;\n }\n}\n\n/* Only needed when padding/border must be separate from width/height */\n.fc-Np {\n box-sizing: content-box !important;\n}\n\n.fc-aP {\n position: absolute !important;\n left: -10000px !important;\n}\n\n.fc-6H {\n align-items: center !important;\n}\n\n.fc-K8 {\n align-items: flex-start !important;\n}\n\n.fc-E3 {\n align-items: flex-end !important;\n}\n\n/* Footer Scrollbar */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-Px {\n position: sticky !important;\n bottom: 0 !important;\n z-index: var(--fc-sticky-header-footer-z) !important;\n}\n\n.fc-J4 > * {\n margin-top: -1px !important;\n}\n\n.fc-J4 > * > * {\n height: 1px !important;\n}\n\n/* Print-Safe Utils */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-Jf .fc-Yi {\n -moz-column-break-inside: avoid !important;\n break-inside: avoid !important;\n}\n\n.fc-Jf .fc-uD {\n display: table !important;\n table-layout: fixed !important;\n width: 100% !important;\n border-spacing: 0 !important;\n border-collapse: separate !important;\n}\n\n.fc-Jf .fc-jM {\n display: table-header-group !important;\n -moz-column-break-inside: avoid !important;\n break-inside: avoid !important;\n background: #fff !important;\n z-index: 9999 !important;\n position: relative !important;\n}\n\n.fc-fx {\n /* min-height when multiple rows coexist, provides sane aspect-ratio for cells */\n min-height: 6em !important;\n}\n\n/* Z-index */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-BS {\n z-index: 0;\n}\n\n.fc-iu {\n z-index: 1;\n}\n\n.fc-Bk:focus-visible {\n z-index: 2;\n}\n\n/* INTERNAL MARKER -- used to mark an element for internal significance */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-Nm {}\n\n.fc-Ft {}\n.fc-lc {}\n.fc-uL {}\n.fc-Bv {}\n.fc-Qk {}\n.fc-9X {}\n.fc-Sj {}\n.fc-DL {}\n\n.fc-oP {}\n\n.fc-R2 {}\n\n.fc-SW {}\n\n.fc-Cs {}\n\n.fc-LQ {}\n\n.fc-dT {}\n", "\n:root {\n /* buttons */\n --fc-classic-button: #334155;\n --fc-classic-button-border: #334155;\n --fc-classic-button-strong: #1e293b;\n --fc-classic-button-strong-border: #0f172a;\n --fc-classic-button-outline: #47556980;\n --fc-classic-button-foreground: #fff;\n\n /* primary */\n --fc-classic-primary: #3788d8;\n --fc-classic-primary-foreground: #fff;\n\n /* calendar content */\n --fc-classic-event: var(--fc-classic-primary);\n --fc-classic-event-contrast: var(--fc-classic-primary-foreground);\n --fc-classic-background-event: #22c55e;\n --fc-classic-background-event-opacity: 15%;\n --fc-classic-background-event-foreground-opacity: 50%;\n --fc-classic-highlight: #cffafe66;\n --fc-classic-today: #facc1526;\n --fc-classic-now: #ef4444;\n /* non-colors */\n --fc-classic-small-dot-width: 8px;\n --fc-classic-large-dot-width: 10px;\n\n /* neutral backgrounds */\n --fc-classic-background: #ffffff;\n --fc-classic-faint: #0000000A;\n --fc-classic-muted: #00000014;\n --fc-classic-strong: #00000024;\n\n /* neutral foregrounds */\n --fc-classic-foreground: #030712;\n --fc-classic-faint-foreground: #9ca3af;\n --fc-classic-muted-foreground: #6b7280;\n\n /* neutral borders */\n --fc-classic-border: #ddd;\n --fc-classic-strong-border: #9ca3af;\n}\n\n@media not print {\n [data-color-scheme=dark] {\n /* calendar content */\n --fc-classic-highlight: #3b82f633;\n --fc-classic-today: #fef08a1A;\n\n /* neutral backgrounds */\n --fc-classic-background: #030712;\n --fc-classic-faint: #ffffff0A;\n --fc-classic-muted: #ffffff14;\n --fc-classic-strong: #ffffff24;\n\n /* neutral foregrounds */\n --fc-classic-foreground: #fff;\n --fc-classic-faint-foreground: #4b5563;\n --fc-classic-muted-foreground: #9ca3af;\n\n /* neutral borders */\n --fc-classic-border: #1f2937;\n --fc-classic-strong-border: #374151;\n }\n}\n\n", ".fc-classic-n5m {\n font-size: 16px;\n line-height: 1.5;\n --fc-classic-border-style: solid;\n}\n\n.fc-classic-Z9U {\n appearance: button;\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n margin: 0;\n border: 0;\n padding: 0\n}\n\n.fc-classic-JiE {\n color: inherit;\n text-decoration: inherit;\n}\n\n.fc-classic-3Lc {\n pointer-events: none\n}\n\n.fc-classic-1EY {\n position: absolute\n}\n\n.fc-classic-eYX {\n position: relative\n}\n\n.fc-classic-OUe {\n position: sticky\n}\n\n.fc-classic-MaV {\n inset-inline: 0\n}\n\n.fc-classic-AWB {\n inset-block: 0\n}\n\n.fc-classic-11a {\n inset-inline-start: -4px\n}\n\n.fc-classic-rbS {\n inset-inline-start: 0\n}\n\n.fc-classic-bEw {\n inset-inline-end: -4px\n}\n\n.fc-classic-2w8 {\n inset-inline-end: 2px\n}\n\n.fc-classic-dnf {\n inset-inline-end: -3px\n}\n\n.fc-classic-YDC {\n top: -4px\n}\n\n.fc-classic-n9G {\n top: 0\n}\n\n.fc-classic-2ik {\n top: 2px\n}\n\n.fc-classic-ERR {\n top: 50%\n}\n\n.fc-classic-fJL {\n bottom: -4px\n}\n\n.fc-classic-jGI {\n bottom: 0\n}\n\n.fc-classic-1V6 {\n left: 50%\n}\n\n.fc-classic-88I {\n order: -1\n}\n\n.fc-classic-gMS {\n margin: 4px\n}\n\n.fc-classic-bvX {\n margin: 8px\n}\n\n.fc-classic-jD5 {\n margin: 16px\n}\n\n.fc-classic-J04 {\n margin-inline: -5px\n}\n\n.fc-classic-cKZ {\n margin-inline: 2px\n}\n\n.fc-classic-rVY {\n margin-inline: 4px\n}\n\n.fc-classic-fn8 {\n margin-inline: 8px\n}\n\n.fc-classic-148 {\n margin-inline: 1px\n}\n\n.fc-classic-cJ3 {\n margin-block: 2px\n}\n\n.fc-classic-V9v {\n margin-block: 4px\n}\n\n.fc-classic-2tF {\n margin-block: 8px\n}\n\n.fc-classic-Jzj {\n margin-inline-start: 2px\n}\n\n.fc-classic-Mde {\n margin-inline-start: 8px\n}\n\n.fc-classic-qvL {\n margin-inline-start: 1px\n}\n\n.fc-classic-kp0 {\n margin-inline-end: -4px\n}\n\n.fc-classic-3e1 {\n margin-inline-end: 2px\n}\n\n.fc-classic-B3G {\n margin-inline-end: 2.5%\n}\n\n.fc-classic-9hC {\n margin-inline-end: 1px\n}\n\n.fc-classic-Dq8 {\n margin-top: -4px\n}\n\n.fc-classic-a10 {\n margin-top: -5px\n}\n\n.fc-classic-Ika {\n margin-bottom: 1px\n}\n\n.fc-classic-nHS {\n margin-bottom: -1px\n}\n\n.fc-classic-F99 {\n margin-left: -4px\n}\n\n.fc-classic-eF2 {\n display: contents\n}\n\n.fc-classic-I48 {\n display: block\n}\n\n.fc-classic-dl1 {\n display: flex\n}\n\n.fc-classic-i3N {\n display: grid\n}\n\n.fc-classic-pps {\n display: none\n}\n\n.fc-classic-3wQ {\n width: 8px;\n height: 8px\n}\n\n.fc-classic-vnf {\n width: 16px;\n height: 16px\n}\n\n.fc-classic-XUJ {\n width: 20px;\n height: 20px\n}\n\n.fc-classic-uuA {\n height: 8px\n}\n\n.fc-classic-zrJ {\n height: 12px\n}\n\n.fc-classic-84e {\n min-height: 2px\n}\n\n.fc-classic-mhE {\n min-height: 12px\n}\n\n.fc-classic-toR {\n min-height: 1px\n}\n\n.fc-classic-roZ {\n width: 50%\n}\n\n.fc-classic-hza {\n width: 8px\n}\n\n.fc-classic-4Tv {\n width: 5px\n}\n\n.fc-classic-kMV {\n max-width: 200px\n}\n\n.fc-classic-2KU {\n min-width: 0\n}\n\n.fc-classic-aNc {\n min-width: 220px\n}\n\n.fc-classic-yi0 {\n flex-shrink: 0\n}\n\n.fc-classic-1Zl {\n flex-shrink: 1\n}\n\n.fc-classic-OLq {\n flex-shrink: 100\n}\n\n.fc-classic-1El {\n flex-grow: 1\n}\n\n.fc-classic-jmT {\n rotate: 180deg\n}\n\n.fc-classic-sgX {\n flex-direction: column\n}\n\n.fc-classic-1sP {\n flex-direction: row\n}\n\n.fc-classic-dNl {\n flex-wrap: wrap\n}\n\n.fc-classic-XpK {\n align-items: center\n}\n\n.fc-classic-N2M {\n justify-content: space-between\n}\n\n.fc-classic-E9P {\n justify-content: center\n}\n\n.fc-classic-LMv {\n justify-content: flex-end\n}\n\n.fc-classic-aTF {\n gap: 2px\n}\n\n.fc-classic-NWN {\n gap: 4px\n}\n\n.fc-classic-wwb {\n gap: 12px\n}\n\n.fc-classic-yth {\n gap: 20px\n}\n\n.fc-classic-sI7 {\n align-self: flex-start\n}\n\n.fc-classic-pKG {\n overflow: hidden\n}\n\n.fc-classic-Ig4 {\n border-radius: 4px\n}\n\n.fc-classic-AAA {\n border-radius: 3.40282e38px\n}\n\n.fc-classic-Fvv {\n border-radius: 4px\n}\n\n.fc-classic-kmj {\n border-start-start-radius: 4px;\n border-end-start-radius: 4px\n}\n\n.fc-classic-Skl {\n border-start-end-radius: 4px;\n border-end-end-radius: 4px\n}\n\n.fc-classic-C2g {\n border-end-end-radius: 4px\n}\n\n.fc-classic-Z7Q {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px\n}\n\n.fc-classic-2qh {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px\n}\n\n.fc-classic-wsy {\n border-style: var(--fc-classic-border-style);\n border-width: 1px\n}\n\n.fc-classic-5JF {\n border-style: var(--fc-classic-border-style);\n border-width: 4px\n}\n\n.fc-classic-yDA {\n border-style: var(--fc-classic-border-style);\n border-width: 5px\n}\n\n.fc-classic-Mjo {\n border-style: var(--fc-classic-border-style);\n border-width: calc(var(--fc-classic-small-dot-width) / 2)\n}\n\n.fc-classic-GOm {\n border-style: var(--fc-classic-border-style);\n border-width: calc(var(--fc-classic-large-dot-width) / 2)\n}\n\n.fc-classic-1Wx {\n border-inline-style: var(--fc-classic-border-style);\n border-inline-width: 1px\n}\n\n.fc-classic-ybF {\n border-inline-style: var(--fc-classic-border-style);\n border-inline-width: 5px\n}\n\n.fc-classic-JIC {\n border-block-style: var(--fc-classic-border-style);\n border-block-width: 1px\n}\n\n.fc-classic-XM3 {\n border-block-style: var(--fc-classic-border-style);\n border-block-width: 5px\n}\n\n.fc-classic-3J4 {\n border-inline-start-style: var(--fc-classic-border-style);\n border-inline-start-width: 1px\n}\n\n.fc-classic-hhi {\n border-inline-start-style: var(--fc-classic-border-style);\n border-inline-start-width: 5px\n}\n\n.fc-classic-jIH {\n border-inline-start-style: var(--fc-classic-border-style);\n border-inline-start-width: 6px\n}\n\n.fc-classic-USt {\n border-inline-end-style: var(--fc-classic-border-style);\n border-inline-end-width: 1px\n}\n\n.fc-classic-Bda {\n border-inline-end-style: var(--fc-classic-border-style);\n border-inline-end-width: 5px\n}\n\n.fc-classic-ku3 {\n border-top-style: var(--fc-classic-border-style);\n border-top-width: 1px\n}\n\n.fc-classic-bLA {\n border-top-style: var(--fc-classic-border-style);\n border-top-width: 6px\n}\n\n.fc-classic-zi1 {\n border-bottom-style: var(--fc-classic-border-style);\n border-bottom-width: 1px\n}\n\n.fc-classic-TN2 {\n --fc-classic-border-style: dotted;\n border-style: dotted\n}\n\n.fc-classic-C1x {\n border-color: var(--fc-classic-border)\n}\n\n.fc-classic-sYT {\n border-color: var(--fc-classic-now)\n}\n\n.fc-classic-0Pr {\n border-color: var(--fc-classic-primary)\n}\n\n.fc-classic-vXO {\n border-color: var(--fc-classic-button-border)\n}\n\n.fc-classic-rQI {\n border-color: var(--fc-classic-button-strong-border)\n}\n\n.fc-classic-C0k {\n border-color: var(--fc-classic-strong-border)\n}\n\n.fc-classic-lNM {\n border-color: var(--fc-event-color)\n}\n\n.fc-classic-d0j {\n border-color: #0000\n}\n\n.fc-classic-Pqk {\n border-inline-color: #0000\n}\n\n.fc-classic-rif {\n border-block-color: #0000\n}\n\n.fc-classic-0qY {\n border-inline-start-color: var(--fc-classic-now)\n}\n\n.fc-classic-LaM {\n border-inline-start-color: #000\n}\n\n.fc-classic-5JV {\n border-inline-end-color: #000\n}\n\n.fc-classic-1Aa {\n border-top-color: var(--fc-classic-now)\n}\n\n.fc-classic-Jk3 {\n background-color: var(--fc-classic-background)\n}\n\n.fc-classic-iYS {\n background-color: var(--fc-classic-faint)\n}\n\n.fc-classic-hLU {\n background-color: var(--fc-classic-highlight)\n}\n\n.fc-classic-k3f {\n background-color: var(--fc-classic-muted)\n}\n\n.fc-classic-YjJ {\n background-color: var(--fc-event-color)\n}\n\n@media not print {\n @supports (color:color-mix(in lab, red, red)) {\n .fc-classic-hsC {\n background-color: color-mix(in oklab, var(--fc-event-color) var(--fc-classic-background-event-opacity), transparent)\n }\n }\n @supports not (color:color-mix(in lab, red, red)) {\n .fc-classic-hsC {\n position: relative;\n isolation: isolate\n }\n .fc-classic-hsC:before {\n content: '';\n position: absolute;\n inset: 0;\n background-color: var(--fc-event-color);\n opacity: var(--fc-classic-background-event-opacity);\n z-index: -1\n }\n }\n}\n\n.fc-classic-JWq {\n background-color: var(--fc-classic-button)\n}\n\n.fc-classic-Adi {\n background-color: var(--fc-classic-button-strong)\n}\n\n.fc-classic-KUX {\n padding: 2px\n}\n\n.fc-classic-XJa {\n padding: 6px\n}\n\n.fc-classic-3N5 {\n padding: 8px\n}\n\n.fc-classic-7A6 {\n padding: 1px\n}\n\n.fc-classic-oQ2 {\n padding-inline: 2px\n}\n\n.fc-classic-Eaq {\n padding-inline: 10px\n}\n\n.fc-classic-Apf {\n padding-inline: 12px\n}\n\n.fc-classic-F1o {\n padding-inline: 1px\n}\n\n.fc-classic-2rx {\n padding-block: 2px\n}\n\n.fc-classic-Jhn {\n padding-block: 4px\n}\n\n.fc-classic-End {\n padding-block: 6px\n}\n\n.fc-classic-dl6 {\n padding-block: 8px\n}\n\n.fc-classic-P9h {\n padding-block: 60px\n}\n\n.fc-classic-z5u {\n padding-block: 1px\n}\n\n.fc-classic-a7i {\n padding-inline-start: 2px\n}\n\n.fc-classic-166 {\n padding-top: 2px\n}\n\n.fc-classic-8ub {\n padding-bottom: 2px\n}\n\n.fc-classic-cM0 {\n padding-bottom: 16px\n}\n\n.fc-classic-HXA {\n text-align: center\n}\n\n.fc-classic-2HE {\n text-align: end\n}\n\n.fc-classic-AVD {\n font-size: 24px;\n line-height: calc(2/1.5)\n}\n\n.fc-classic-vQz {\n font-size: 11px;\n line-height: 1.09091\n}\n\n.fc-classic-1Po {\n font-size: 16px;\n line-height: calc(1.5/1)\n}\n\n.fc-classic-9yp {\n font-size: 14px;\n line-height: calc(1.25/.875)\n}\n\n.fc-classic-a3B {\n font-size: 12px;\n line-height: calc(1/.75)\n}\n\n.fc-classic-DIS {\n font-weight: 700\n}\n\n.fc-classic-IPx {\n text-overflow: ellipsis\n}\n\n.fc-classic-TZ4 {\n white-space: nowrap\n}\n\n.fc-classic-jm6 {\n white-space: pre\n}\n\n.fc-classic-taq {\n color: var(--fc-classic-faint-foreground)\n}\n\n.fc-classic-m9h {\n color: var(--fc-classic-muted-foreground)\n}\n\n.fc-classic-GAX {\n color: var(--fc-classic-foreground)\n}\n\n.fc-classic-RnT {\n color: var(--fc-classic-button-foreground)\n}\n\n.fc-classic-i9F {\n color: var(--fc-event-contrast-color)\n}\n\n.fc-classic-L1Y {\n font-style: italic\n}\n\n.fc-classic-lMo {\n opacity: .5\n}\n\n.fc-classic-Q3Z {\n opacity: .65\n}\n\n.fc-classic-iTG {\n opacity: .75\n}\n\n.fc-classic-MGT {\n opacity: var(--fc-classic-background-event-foreground-opacity)\n}\n\n.fc-classic-1kP {\n box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a\n}\n\n.fc-classic-tkw {\n box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a\n}\n\n.fc-classic-qNs {\n box-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a\n}\n\n.fc-classic-A3h {\n box-shadow: 0 0 0 1px var(--fc-classic-ring-color, currentcolor)\n}\n\n.fc-classic-yKG {\n --fc-classic-ring-color: var(--fc-classic-background)\n}\n\n.fc-classic-2R2 {\n outline-style: solid;\n outline-width: 1px\n}\n\n.fc-classic-0Bj {\n outline-style: solid;\n outline-width: 2px\n}\n\n.fc-classic-fFh {\n outline-offset: -2px\n}\n\n.fc-classic-3Xj {\n outline-offset: 2px\n}\n\n.fc-classic-lYz {\n outline-color: var(--fc-classic-button-outline)\n}\n\n.fc-classic-zIi {\n outline-color: var(--fc-classic-primary)\n}\n\n.fc-classic-SDU {\n background: linear-gradient(var(--fc-classic-muted), var(--fc-classic-muted))var(--fc-classic-background)\n}\n\n.fc-classic-BaR {\n background: linear-gradient(var(--fc-classic-strong), var(--fc-classic-strong))var(--fc-classic-background)\n}\n\n.fc-classic-mAY:not(:is(:where(.fc-classic-bCs):hover *)) {\n opacity: .65\n}\n\n@media not all and (hover:hover) {\n .fc-classic-mAY {\n opacity: .65\n }\n}\n\n@media not print {\n .fc-classic-hbn {\n background-color: var(--fc-classic-today)\n }\n}\n\n@media (hover:hover) {\n .fc-classic-vs6:is(:where(.fc-classic-bCs):hover *) {\n display: block\n }\n\n .fc-classic-Ogp:is(:where(.fc-classic-bCs):hover *) {\n text-decoration-line: underline\n }\n}\n\n.fc-classic-uk6:first-child {\n border-start-start-radius: 4px;\n border-end-start-radius: 4px\n}\n\n.fc-classic-Tuc:last-child {\n border-start-end-radius: 4px;\n border-end-end-radius: 4px\n}\n\n@media (hover:hover) {\n .fc-classic-bqK:hover {\n border-color: var(--fc-classic-button-strong-border)\n }\n\n .fc-classic-9Rj:hover {\n background-color: var(--fc-classic-button-strong)\n }\n\n .fc-classic-Ubk:hover {\n background-color: var(--fc-classic-faint)\n }\n\n .fc-classic-4yP:hover {\n background-color: var(--fc-classic-muted)\n }\n\n .fc-classic-Eu0:hover {\n text-decoration-line: underline\n }\n}\n\n.fc-classic-OIx:focus-visible {\n background-color: var(--fc-classic-faint)\n}\n\n.fc-classic-tCP:focus-visible {\n background-color: var(--fc-classic-muted)\n}\n\n.fc-classic-uqo:focus-visible {\n outline-style: solid;\n outline-width: 2px\n}\n\n.fc-classic-sOR:focus-visible {\n outline-style: solid;\n outline-width: 3px\n}\n\n.fc-classic-aIH:active {\n border-color: var(--fc-classic-button-strong-border)\n}\n\n.fc-classic-5ky:active {\n background-color: var(--fc-classic-button-strong)\n}\n\n.fc-classic-28F:active {\n background-color: var(--fc-classic-muted)\n}\n\n.fc-classic-8gz:active {\n background-color: var(--fc-classic-strong)\n}\n\n@media print {\n .fc-classic-jsy {\n border-width: 1px\n }\n\n .fc-classic-nQ5 {\n border-color: var(--fc-classic-button-strong-border)\n }\n\n .fc-classic-DO7 {\n border-color: var(--fc-event-color)\n }\n\n .fc-classic-4MR {\n border-color: #000\n }\n\n .fc-classic-vwH {\n background-color: #fff\n }\n\n .fc-classic-cfp {\n color: #000\n }\n}\n\n[dir=rtl] .fc-classic-jY6 {\n rotate: none\n}\n\n[dir=rtl] .fc-classic-asP {\n rotate: 180deg\n}\n", ".wrapper {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.calendar {\n flex-grow: 1;\n /* Prevent FullCalendar from entering a redraw loop\n * when the flex-container shifts size;\n * @see https://github.com/fullcalendar/fullcalendar/issues/8076\n */\n min-width: 0;\n}\n\n/* Very narrow 7-column calendars are impossible to read. Set a larger minimum\n * width even if that requires scrolling on small viewports.\n */\n:global(.dayGridMonth).calendar,\n:global(.timeGridWeek).calendar {\n min-width: 480px;\n}\n\n:global(.dayGridMonth).calendar .listItemEventBefore {\n display: none;\n}\n\n\n/* Make it clearer that events are clickable */\n.interactiveEvent {\n cursor: pointer;\n}\n\n/* Put more important title info first */\n.eventTitle { order: 1; }\n.eventTime { order: 2 }\n\n/* Tweak event layout: title can span multiple lines */\n.eventInner { overflow: hidden; }\n.eventTitle {\n white-space: normal;\n overflow: visible;\n}\n\n/* Formatting tweaks */\n.eventTitle { font-weight: 500; }\n.eventTime { font-size: 10px; }\n\n.shortEvent {\n .eventInner {\n flex-direction: column;\n align-items: inherit;\n }\n}\n\n.backgroundEventInner > div {\n opacity: 1;\n}\n\n\n/* For short background events (typical for before/after buffer slots), reduce\n * the vertical padding and shrink the font size so that they overflow less\n * often. */\n.backgroundEvent {\n container-type: size;\n}\n@container (height < 50px) {\n .backgroundEventInner > div {\n font-size: 10px;\n padding-top: 2px;\n }\n}\n\n/* round off background events a little bit */\n.backgroundEvent {\n border-radius: var(--mantine-radius-sm);\n}\n\n/* Keep \"today\" column highlighting similar to react-big-calendar default style */\n:root {\n --fc-classic-today: #b8e0ff4d;\n\n [data-color-scheme=dark] {\n --fc-classic-today: #406e934d;\n }\n}\n\n/* appointments and slots can be styled by status */\n.appointment {\n --cal-color: light-dark(var(--mantine-color-white), var(--mantine-color-white));\n --cal-background-color: light-dark(var(--mantine-color-blue-6), var(--mantine-color-blue-8));\n}\n.slot {\n --cal-color: light-dark(var(--mantine-color-dark-4), var(--mantine-color-gray-4));\n --cal-background-color: light-dark(var(--mantine-color-gray-4), var(--mantine-color-gray-7));\n}\n\n:global(.dayGridMonth) .event:hover {\n background-color: var(--cal-background-color);\n}\n\n\n.appointment.pending {\n --cal-color: light-dark(var(--mantine-color-blue-8), var(--mantine-color-blue-6));\n --cal-background-color: light-dark(var(--mantine-color-white), var(--mantine-color-black));\n\n /* pending: outlined with border color */\n border: 1px solid var(--cal-color);\n}\n\n.slot.free {\n --cal-color: light-dark(var(--mantine-color-dark-7), var(--mantine-color-gray-1));\n --cal-background-color: light-dark(var(--mantine-color-green-1), var(--mantine-color-green-9));\n}\n\n.event,\n.backgroundEvent {\n background-color: var(--cal-background-color);\n .eventInner {\n color: var(--cal-color);\n }\n .backgroundEventInner > div {\n color: var(--cal-color);\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["wrapper", "calendar", "listItemEventBefore", "interactiveEvent", "eventTitle", "eventTime", "eventInner", "shortEvent", "backgroundEventInner", "backgroundEvent", "appointment", "slot", "event", "pending", "free"]
|
|
3
|
+
"sources": ["../../src/AppointmentFinder/AppointmentFinder.module.css", "../../../../node_modules/@fullcalendar/react/skeleton.css", "../../../../node_modules/@fullcalendar/react/themes/classic/palette.css", "../../../../node_modules/@fullcalendar/react/themes/classic/theme.css", "../../src/Calendar/Calendar.module.css", "../../src/ScheduleAvailabilityEditor/ScheduleAvailabilityEditor.module.css"],
|
|
4
|
+
"sourcesContent": ["/* Times wrap into as many columns as fit rather than a fixed grid, so a card\n holding four times is not padded out to the width of one holding twenty. */\n.timeGrid {\n row-gap: var(--mantine-spacing-xs);\n}\n", "\n:root {\n --fc-sticky-header-footer-z: 3;\n --fc-popover-z: 4;\n}\n\n.fc-nH {\n z-index: var(--fc-popover-z) !important;\n}\n\n.fc-7s {\n isolation: isolate;\n}\n\n/*\nThis will prevent all ancestors from customizing their box size unless they use .contentBox\n*/\n.fc-wa,\n.fc-wa *,\n.fc-wa *:before,\n.fc-wa *:after {\n box-sizing: border-box !important;\n}\n\n/* classes attached to <body> */\n.fc-4m,\n.fc-4m * {\n cursor: not-allowed !important;\n}\n\n.fc-eM {\n -ms-overflow-style: none !important; /* IE and Edge */\n scrollbar-width: none !important; /* Firefox */\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n.fc-eM::-webkit-scrollbar {\n display: none !important;\n}\n\n.fc-Qo {\n flex-shrink: 0 !important;\n}\n\n.fc-fi .fc-fl {\n display: flex !important;\n flex-direction: row !important;\n flex-wrap: wrap !important;\n}\n\n/* HACK for Safari. Can't do break-inside:avoid with flexbox items, likely b/c it's not standard:\n https://stackoverflow.com/a/60256345 */\n.fc-Jf .fc-fl > * {\n float: left !important;\n}\n\n[dir=rtl] .fc-Jf .fc-fl > *,\n.fc-Jf[dir=rtl] .fc-fl > * {\n float: right !important;\n}\n\n.fc-Jf .fc-fl::after {\n content: \"\" !important;\n display: block !important;\n clear: both !important;\n}\n\n.fc-DP {\n cursor: pointer !important;\n}\n\n.fc-An {\n cursor: n-resize !important;\n}\n\n.fc-lZ {\n cursor: s-resize !important;\n}\n\n.fc-9V {\n cursor: w-resize !important;\n}\n\n[dir=rtl] .fc-9V {\n cursor: e-resize !important;\n}\n\n.fc-70 {\n cursor: e-resize !important;\n}\n\n[dir=rtl] .fc-70 {\n cursor: w-resize !important;\n}\n\n.fc-gQ {\n cursor: col-resize !important;\n}\n\n.fc-mN,\n.fc-2d,\n.fc-B0 {\n position: absolute !important;\n box-sizing: content-box !important;\n width: 100% !important;\n height: 100% !important;\n}\n\n.fc-mN {\n padding: 10px !important;\n margin: -10px !important;\n}\n\n.fc-2d {\n padding-left: 10px !important;\n padding-right: 10px !important;\n margin-left: -10px !important;\n margin-right: -10px !important;\n}\n\n.fc-B0 {\n padding-top: 10px !important;\n padding-bottom: 10px !important;\n margin-top: -10px !important;\n margin-bottom: -10px !important;\n}\n\n/* QUESTION: why not use -left -right instead of negative margins/padding for ALL? */\n.fc-Z1 {\n position: absolute;\n top: 0;\n bottom: 0;\n left: -5px;\n right: -5px;\n}\n\n.fc-1Y {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n.fc-a9 {\n visibility: hidden;\n}\n\n/* Border Utils */\n/* ------------------------------------------------------------------------------------------------- */\n\n/* TODO: break-out to x and y. don't have \"only\" all */\n/* TODO: instead of \"border\" utils, call them \"borderless\" to subtract? */\n\n.fc-Tu {\n border: 0 !important;\n}\n\n.fc-hU {\n border-left: 0 !important;\n border-right: 0 !important;\n border-bottom: 0 !important;\n}\n\n.fc-3e {\n border-top: 0 !important;\n border-left: 0 !important;\n border-right: 0 !important;\n}\n\n.fc-PB,\n.fc-II {\n border-top: 0 !important;\n border-bottom: 0 !important;\n}\n\n.fc-PB {\n border-inline-end: 0 !important;\n}\n\n.fc-II {\n border-inline-start: 0 !important;\n}\n\n.fc-MQ {\n border-left: 0 !important;\n border-right: 0 !important;\n}\n\n.fc-Vo {\n border-top: 0 !important;\n border-bottom: 0 !important;\n}\n\n/* for matching cell start-border, assumed to be 1px, which can't be guaranteed */\n.fc-2l {\n border-inline-start: 1px solid transparent !important;\n}\n\n/* Flexbox Utils */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-Ao {\n display: flex !important;\n flex-direction: row !important;\n}\n\n.fc-HH {\n display: flex !important;\n flex-direction: column !important;\n}\n\n.fc-GV {\n flex-grow: 1 !important;\n}\n\n.fc-g2 {\n flex-grow: 1 !important;\n flex-basis: 0 !important;\n min-width: 0 !important;\n min-height: 0 !important;\n}\n\n.fc-Ot {\n min-height: 0 !important;\n}\n\n/*\nTODO: use liquidX/Y elsewhere because frees up min other dimension; less collisions\n*/\n.fc-hp {\n flex-grow: 1 !important;\n flex-basis: 0 !important;\n min-width: 0 !important;\n}\n\n/* Print-Safe Utils (media:screen ONLY) */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-fi .fc-uD,\n.fc-fi .fc-jM {\n display: flex !important;\n flex-direction: column !important;\n}\n\n/* Table Utils */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-OJ {\n padding: 0 !important;\n}\n\n.fc-oE {\n margin: 0 !important;\n}\n\n.fc-V3 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.fc-SS {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.fc-y2 {\n white-space: nowrap !important;\n}\n\n.fc-CN {\n white-space: pre !important;\n}\n\n/* Misc Utils */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-gZ {\n overflow-anchor: none;\n}\n\n.fc-FA {\n overflow: hidden !important;\n}\n\n/*\nTODO: eventually use this on daygrid/timegrid events' inner, time, and title, FOR PRINT\nNeeded to prevent wrapping to multiple lines, increasing height, throwing off print-positioning,\nwhich can't rely on dynamic height detection after print-flag activated.\n*/\n.fc-7T {\n white-space: nowrap !important;\n overflow: hidden !important;\n}\n\n.fc-cc {\n position: relative !important;\n}\n\n.fc-H0 {\n position: absolute !important;\n}\n\n.fc-6t {\n inset-inline-start: 0 !important;\n}\n\n.fc-ct {\n position: absolute !important;\n top: 0 !important;\n left: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n}\n\n.fc-iv,\n.fc-Uu {\n position: absolute !important;\n left: 0 !important;\n right: 0 !important;\n}\n\n.fc-7k,\n.fc-Yw {\n position: absolute !important;\n top: 0 !important;\n bottom: 0 !important;\n}\n\n.fc-iv {\n top: 0 !important;\n}\n\n.fc-Yw {\n left: 0 !important;\n right: 0 !important;\n width: 0 !important;\n}\n\n@media not print {\n .fc-Ip {\n position: sticky !important;\n }\n\n .fc-CS {\n position: sticky !important;\n top: 0 !important;\n }\n\n /* Sticks to either left or right (the flex \"start\") depending on ltr/rtl */\n .fc-tT {\n position: sticky !important;\n inset-inline-start: 0 !important;\n }\n\n .fc-hy {\n position: sticky !important;\n top: 0 !important;\n z-index: var(--fc-sticky-header-footer-z) !important;\n }\n}\n\n/* Only needed when padding/border must be separate from width/height */\n.fc-Np {\n box-sizing: content-box !important;\n}\n\n.fc-aP {\n position: absolute !important;\n left: -10000px !important;\n}\n\n.fc-6H {\n align-items: center !important;\n}\n\n.fc-K8 {\n align-items: flex-start !important;\n}\n\n.fc-E3 {\n align-items: flex-end !important;\n}\n\n/* Footer Scrollbar */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-Px {\n position: sticky !important;\n bottom: 0 !important;\n z-index: var(--fc-sticky-header-footer-z) !important;\n}\n\n.fc-J4 > * {\n margin-top: -1px !important;\n}\n\n.fc-J4 > * > * {\n height: 1px !important;\n}\n\n/* Print-Safe Utils */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-Jf .fc-Yi {\n -moz-column-break-inside: avoid !important;\n break-inside: avoid !important;\n}\n\n.fc-Jf .fc-uD {\n display: table !important;\n table-layout: fixed !important;\n width: 100% !important;\n border-spacing: 0 !important;\n border-collapse: separate !important;\n}\n\n.fc-Jf .fc-jM {\n display: table-header-group !important;\n -moz-column-break-inside: avoid !important;\n break-inside: avoid !important;\n background: #fff !important;\n z-index: 9999 !important;\n position: relative !important;\n}\n\n.fc-fx {\n /* min-height when multiple rows coexist, provides sane aspect-ratio for cells */\n min-height: 6em !important;\n}\n\n/* Z-index */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-BS {\n z-index: 0;\n}\n\n.fc-iu {\n z-index: 1;\n}\n\n.fc-Bk:focus-visible {\n z-index: 2;\n}\n\n/* INTERNAL MARKER -- used to mark an element for internal significance */\n/* ------------------------------------------------------------------------------------------------- */\n\n.fc-Nm {}\n\n.fc-Ft {}\n.fc-lc {}\n.fc-uL {}\n.fc-Bv {}\n.fc-Qk {}\n.fc-9X {}\n.fc-Sj {}\n.fc-DL {}\n\n.fc-oP {}\n\n.fc-R2 {}\n\n.fc-SW {}\n\n.fc-Cs {}\n\n.fc-LQ {}\n\n.fc-dT {}\n", "\n:root {\n /* buttons */\n --fc-classic-button: #334155;\n --fc-classic-button-border: #334155;\n --fc-classic-button-strong: #1e293b;\n --fc-classic-button-strong-border: #0f172a;\n --fc-classic-button-outline: #47556980;\n --fc-classic-button-foreground: #fff;\n\n /* primary */\n --fc-classic-primary: #3788d8;\n --fc-classic-primary-foreground: #fff;\n\n /* calendar content */\n --fc-classic-event: var(--fc-classic-primary);\n --fc-classic-event-contrast: var(--fc-classic-primary-foreground);\n --fc-classic-background-event: #22c55e;\n --fc-classic-background-event-opacity: 15%;\n --fc-classic-background-event-foreground-opacity: 50%;\n --fc-classic-highlight: #cffafe66;\n --fc-classic-today: #facc1526;\n --fc-classic-now: #ef4444;\n /* non-colors */\n --fc-classic-small-dot-width: 8px;\n --fc-classic-large-dot-width: 10px;\n\n /* neutral backgrounds */\n --fc-classic-background: #ffffff;\n --fc-classic-faint: #0000000A;\n --fc-classic-muted: #00000014;\n --fc-classic-strong: #00000024;\n\n /* neutral foregrounds */\n --fc-classic-foreground: #030712;\n --fc-classic-faint-foreground: #9ca3af;\n --fc-classic-muted-foreground: #6b7280;\n\n /* neutral borders */\n --fc-classic-border: #ddd;\n --fc-classic-strong-border: #9ca3af;\n}\n\n@media not print {\n [data-color-scheme=dark] {\n /* calendar content */\n --fc-classic-highlight: #3b82f633;\n --fc-classic-today: #fef08a1A;\n\n /* neutral backgrounds */\n --fc-classic-background: #030712;\n --fc-classic-faint: #ffffff0A;\n --fc-classic-muted: #ffffff14;\n --fc-classic-strong: #ffffff24;\n\n /* neutral foregrounds */\n --fc-classic-foreground: #fff;\n --fc-classic-faint-foreground: #4b5563;\n --fc-classic-muted-foreground: #9ca3af;\n\n /* neutral borders */\n --fc-classic-border: #1f2937;\n --fc-classic-strong-border: #374151;\n }\n}\n\n", ".fc-classic-n5m {\n font-size: 16px;\n line-height: 1.5;\n --fc-classic-border-style: solid;\n}\n\n.fc-classic-Z9U {\n appearance: button;\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n margin: 0;\n border: 0;\n padding: 0\n}\n\n.fc-classic-JiE {\n color: inherit;\n text-decoration: inherit;\n}\n\n.fc-classic-3Lc {\n pointer-events: none\n}\n\n.fc-classic-1EY {\n position: absolute\n}\n\n.fc-classic-eYX {\n position: relative\n}\n\n.fc-classic-OUe {\n position: sticky\n}\n\n.fc-classic-MaV {\n inset-inline: 0\n}\n\n.fc-classic-AWB {\n inset-block: 0\n}\n\n.fc-classic-11a {\n inset-inline-start: -4px\n}\n\n.fc-classic-rbS {\n inset-inline-start: 0\n}\n\n.fc-classic-bEw {\n inset-inline-end: -4px\n}\n\n.fc-classic-2w8 {\n inset-inline-end: 2px\n}\n\n.fc-classic-dnf {\n inset-inline-end: -3px\n}\n\n.fc-classic-YDC {\n top: -4px\n}\n\n.fc-classic-n9G {\n top: 0\n}\n\n.fc-classic-2ik {\n top: 2px\n}\n\n.fc-classic-ERR {\n top: 50%\n}\n\n.fc-classic-fJL {\n bottom: -4px\n}\n\n.fc-classic-jGI {\n bottom: 0\n}\n\n.fc-classic-1V6 {\n left: 50%\n}\n\n.fc-classic-88I {\n order: -1\n}\n\n.fc-classic-gMS {\n margin: 4px\n}\n\n.fc-classic-bvX {\n margin: 8px\n}\n\n.fc-classic-jD5 {\n margin: 16px\n}\n\n.fc-classic-J04 {\n margin-inline: -5px\n}\n\n.fc-classic-cKZ {\n margin-inline: 2px\n}\n\n.fc-classic-rVY {\n margin-inline: 4px\n}\n\n.fc-classic-fn8 {\n margin-inline: 8px\n}\n\n.fc-classic-148 {\n margin-inline: 1px\n}\n\n.fc-classic-cJ3 {\n margin-block: 2px\n}\n\n.fc-classic-V9v {\n margin-block: 4px\n}\n\n.fc-classic-2tF {\n margin-block: 8px\n}\n\n.fc-classic-Jzj {\n margin-inline-start: 2px\n}\n\n.fc-classic-Mde {\n margin-inline-start: 8px\n}\n\n.fc-classic-qvL {\n margin-inline-start: 1px\n}\n\n.fc-classic-kp0 {\n margin-inline-end: -4px\n}\n\n.fc-classic-3e1 {\n margin-inline-end: 2px\n}\n\n.fc-classic-B3G {\n margin-inline-end: 2.5%\n}\n\n.fc-classic-9hC {\n margin-inline-end: 1px\n}\n\n.fc-classic-Dq8 {\n margin-top: -4px\n}\n\n.fc-classic-a10 {\n margin-top: -5px\n}\n\n.fc-classic-Ika {\n margin-bottom: 1px\n}\n\n.fc-classic-nHS {\n margin-bottom: -1px\n}\n\n.fc-classic-F99 {\n margin-left: -4px\n}\n\n.fc-classic-eF2 {\n display: contents\n}\n\n.fc-classic-I48 {\n display: block\n}\n\n.fc-classic-dl1 {\n display: flex\n}\n\n.fc-classic-i3N {\n display: grid\n}\n\n.fc-classic-pps {\n display: none\n}\n\n.fc-classic-3wQ {\n width: 8px;\n height: 8px\n}\n\n.fc-classic-vnf {\n width: 16px;\n height: 16px\n}\n\n.fc-classic-XUJ {\n width: 20px;\n height: 20px\n}\n\n.fc-classic-uuA {\n height: 8px\n}\n\n.fc-classic-zrJ {\n height: 12px\n}\n\n.fc-classic-84e {\n min-height: 2px\n}\n\n.fc-classic-mhE {\n min-height: 12px\n}\n\n.fc-classic-toR {\n min-height: 1px\n}\n\n.fc-classic-roZ {\n width: 50%\n}\n\n.fc-classic-hza {\n width: 8px\n}\n\n.fc-classic-4Tv {\n width: 5px\n}\n\n.fc-classic-kMV {\n max-width: 200px\n}\n\n.fc-classic-2KU {\n min-width: 0\n}\n\n.fc-classic-aNc {\n min-width: 220px\n}\n\n.fc-classic-yi0 {\n flex-shrink: 0\n}\n\n.fc-classic-1Zl {\n flex-shrink: 1\n}\n\n.fc-classic-OLq {\n flex-shrink: 100\n}\n\n.fc-classic-1El {\n flex-grow: 1\n}\n\n.fc-classic-jmT {\n rotate: 180deg\n}\n\n.fc-classic-sgX {\n flex-direction: column\n}\n\n.fc-classic-1sP {\n flex-direction: row\n}\n\n.fc-classic-dNl {\n flex-wrap: wrap\n}\n\n.fc-classic-XpK {\n align-items: center\n}\n\n.fc-classic-N2M {\n justify-content: space-between\n}\n\n.fc-classic-E9P {\n justify-content: center\n}\n\n.fc-classic-LMv {\n justify-content: flex-end\n}\n\n.fc-classic-aTF {\n gap: 2px\n}\n\n.fc-classic-NWN {\n gap: 4px\n}\n\n.fc-classic-wwb {\n gap: 12px\n}\n\n.fc-classic-yth {\n gap: 20px\n}\n\n.fc-classic-sI7 {\n align-self: flex-start\n}\n\n.fc-classic-pKG {\n overflow: hidden\n}\n\n.fc-classic-Ig4 {\n border-radius: 4px\n}\n\n.fc-classic-AAA {\n border-radius: 3.40282e38px\n}\n\n.fc-classic-Fvv {\n border-radius: 4px\n}\n\n.fc-classic-kmj {\n border-start-start-radius: 4px;\n border-end-start-radius: 4px\n}\n\n.fc-classic-Skl {\n border-start-end-radius: 4px;\n border-end-end-radius: 4px\n}\n\n.fc-classic-C2g {\n border-end-end-radius: 4px\n}\n\n.fc-classic-Z7Q {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px\n}\n\n.fc-classic-2qh {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px\n}\n\n.fc-classic-wsy {\n border-style: var(--fc-classic-border-style);\n border-width: 1px\n}\n\n.fc-classic-5JF {\n border-style: var(--fc-classic-border-style);\n border-width: 4px\n}\n\n.fc-classic-yDA {\n border-style: var(--fc-classic-border-style);\n border-width: 5px\n}\n\n.fc-classic-Mjo {\n border-style: var(--fc-classic-border-style);\n border-width: calc(var(--fc-classic-small-dot-width) / 2)\n}\n\n.fc-classic-GOm {\n border-style: var(--fc-classic-border-style);\n border-width: calc(var(--fc-classic-large-dot-width) / 2)\n}\n\n.fc-classic-1Wx {\n border-inline-style: var(--fc-classic-border-style);\n border-inline-width: 1px\n}\n\n.fc-classic-ybF {\n border-inline-style: var(--fc-classic-border-style);\n border-inline-width: 5px\n}\n\n.fc-classic-JIC {\n border-block-style: var(--fc-classic-border-style);\n border-block-width: 1px\n}\n\n.fc-classic-XM3 {\n border-block-style: var(--fc-classic-border-style);\n border-block-width: 5px\n}\n\n.fc-classic-3J4 {\n border-inline-start-style: var(--fc-classic-border-style);\n border-inline-start-width: 1px\n}\n\n.fc-classic-hhi {\n border-inline-start-style: var(--fc-classic-border-style);\n border-inline-start-width: 5px\n}\n\n.fc-classic-jIH {\n border-inline-start-style: var(--fc-classic-border-style);\n border-inline-start-width: 6px\n}\n\n.fc-classic-USt {\n border-inline-end-style: var(--fc-classic-border-style);\n border-inline-end-width: 1px\n}\n\n.fc-classic-Bda {\n border-inline-end-style: var(--fc-classic-border-style);\n border-inline-end-width: 5px\n}\n\n.fc-classic-ku3 {\n border-top-style: var(--fc-classic-border-style);\n border-top-width: 1px\n}\n\n.fc-classic-bLA {\n border-top-style: var(--fc-classic-border-style);\n border-top-width: 6px\n}\n\n.fc-classic-zi1 {\n border-bottom-style: var(--fc-classic-border-style);\n border-bottom-width: 1px\n}\n\n.fc-classic-TN2 {\n --fc-classic-border-style: dotted;\n border-style: dotted\n}\n\n.fc-classic-C1x {\n border-color: var(--fc-classic-border)\n}\n\n.fc-classic-sYT {\n border-color: var(--fc-classic-now)\n}\n\n.fc-classic-0Pr {\n border-color: var(--fc-classic-primary)\n}\n\n.fc-classic-vXO {\n border-color: var(--fc-classic-button-border)\n}\n\n.fc-classic-rQI {\n border-color: var(--fc-classic-button-strong-border)\n}\n\n.fc-classic-C0k {\n border-color: var(--fc-classic-strong-border)\n}\n\n.fc-classic-lNM {\n border-color: var(--fc-event-color)\n}\n\n.fc-classic-d0j {\n border-color: #0000\n}\n\n.fc-classic-Pqk {\n border-inline-color: #0000\n}\n\n.fc-classic-rif {\n border-block-color: #0000\n}\n\n.fc-classic-0qY {\n border-inline-start-color: var(--fc-classic-now)\n}\n\n.fc-classic-LaM {\n border-inline-start-color: #000\n}\n\n.fc-classic-5JV {\n border-inline-end-color: #000\n}\n\n.fc-classic-1Aa {\n border-top-color: var(--fc-classic-now)\n}\n\n.fc-classic-Jk3 {\n background-color: var(--fc-classic-background)\n}\n\n.fc-classic-iYS {\n background-color: var(--fc-classic-faint)\n}\n\n.fc-classic-hLU {\n background-color: var(--fc-classic-highlight)\n}\n\n.fc-classic-k3f {\n background-color: var(--fc-classic-muted)\n}\n\n.fc-classic-YjJ {\n background-color: var(--fc-event-color)\n}\n\n@media not print {\n @supports (color:color-mix(in lab, red, red)) {\n .fc-classic-hsC {\n background-color: color-mix(in oklab, var(--fc-event-color) var(--fc-classic-background-event-opacity), transparent)\n }\n }\n @supports not (color:color-mix(in lab, red, red)) {\n .fc-classic-hsC {\n position: relative;\n isolation: isolate\n }\n .fc-classic-hsC:before {\n content: '';\n position: absolute;\n inset: 0;\n background-color: var(--fc-event-color);\n opacity: var(--fc-classic-background-event-opacity);\n z-index: -1\n }\n }\n}\n\n.fc-classic-JWq {\n background-color: var(--fc-classic-button)\n}\n\n.fc-classic-Adi {\n background-color: var(--fc-classic-button-strong)\n}\n\n.fc-classic-KUX {\n padding: 2px\n}\n\n.fc-classic-XJa {\n padding: 6px\n}\n\n.fc-classic-3N5 {\n padding: 8px\n}\n\n.fc-classic-7A6 {\n padding: 1px\n}\n\n.fc-classic-oQ2 {\n padding-inline: 2px\n}\n\n.fc-classic-Eaq {\n padding-inline: 10px\n}\n\n.fc-classic-Apf {\n padding-inline: 12px\n}\n\n.fc-classic-F1o {\n padding-inline: 1px\n}\n\n.fc-classic-2rx {\n padding-block: 2px\n}\n\n.fc-classic-Jhn {\n padding-block: 4px\n}\n\n.fc-classic-End {\n padding-block: 6px\n}\n\n.fc-classic-dl6 {\n padding-block: 8px\n}\n\n.fc-classic-P9h {\n padding-block: 60px\n}\n\n.fc-classic-z5u {\n padding-block: 1px\n}\n\n.fc-classic-a7i {\n padding-inline-start: 2px\n}\n\n.fc-classic-166 {\n padding-top: 2px\n}\n\n.fc-classic-8ub {\n padding-bottom: 2px\n}\n\n.fc-classic-cM0 {\n padding-bottom: 16px\n}\n\n.fc-classic-HXA {\n text-align: center\n}\n\n.fc-classic-2HE {\n text-align: end\n}\n\n.fc-classic-AVD {\n font-size: 24px;\n line-height: calc(2/1.5)\n}\n\n.fc-classic-vQz {\n font-size: 11px;\n line-height: 1.09091\n}\n\n.fc-classic-1Po {\n font-size: 16px;\n line-height: calc(1.5/1)\n}\n\n.fc-classic-9yp {\n font-size: 14px;\n line-height: calc(1.25/.875)\n}\n\n.fc-classic-a3B {\n font-size: 12px;\n line-height: calc(1/.75)\n}\n\n.fc-classic-DIS {\n font-weight: 700\n}\n\n.fc-classic-IPx {\n text-overflow: ellipsis\n}\n\n.fc-classic-TZ4 {\n white-space: nowrap\n}\n\n.fc-classic-jm6 {\n white-space: pre\n}\n\n.fc-classic-taq {\n color: var(--fc-classic-faint-foreground)\n}\n\n.fc-classic-m9h {\n color: var(--fc-classic-muted-foreground)\n}\n\n.fc-classic-GAX {\n color: var(--fc-classic-foreground)\n}\n\n.fc-classic-RnT {\n color: var(--fc-classic-button-foreground)\n}\n\n.fc-classic-i9F {\n color: var(--fc-event-contrast-color)\n}\n\n.fc-classic-L1Y {\n font-style: italic\n}\n\n.fc-classic-lMo {\n opacity: .5\n}\n\n.fc-classic-Q3Z {\n opacity: .65\n}\n\n.fc-classic-iTG {\n opacity: .75\n}\n\n.fc-classic-MGT {\n opacity: var(--fc-classic-background-event-foreground-opacity)\n}\n\n.fc-classic-1kP {\n box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a\n}\n\n.fc-classic-tkw {\n box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a\n}\n\n.fc-classic-qNs {\n box-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a\n}\n\n.fc-classic-A3h {\n box-shadow: 0 0 0 1px var(--fc-classic-ring-color, currentcolor)\n}\n\n.fc-classic-yKG {\n --fc-classic-ring-color: var(--fc-classic-background)\n}\n\n.fc-classic-2R2 {\n outline-style: solid;\n outline-width: 1px\n}\n\n.fc-classic-0Bj {\n outline-style: solid;\n outline-width: 2px\n}\n\n.fc-classic-fFh {\n outline-offset: -2px\n}\n\n.fc-classic-3Xj {\n outline-offset: 2px\n}\n\n.fc-classic-lYz {\n outline-color: var(--fc-classic-button-outline)\n}\n\n.fc-classic-zIi {\n outline-color: var(--fc-classic-primary)\n}\n\n.fc-classic-SDU {\n background: linear-gradient(var(--fc-classic-muted), var(--fc-classic-muted))var(--fc-classic-background)\n}\n\n.fc-classic-BaR {\n background: linear-gradient(var(--fc-classic-strong), var(--fc-classic-strong))var(--fc-classic-background)\n}\n\n.fc-classic-mAY:not(:is(:where(.fc-classic-bCs):hover *)) {\n opacity: .65\n}\n\n@media not all and (hover:hover) {\n .fc-classic-mAY {\n opacity: .65\n }\n}\n\n@media not print {\n .fc-classic-hbn {\n background-color: var(--fc-classic-today)\n }\n}\n\n@media (hover:hover) {\n .fc-classic-vs6:is(:where(.fc-classic-bCs):hover *) {\n display: block\n }\n\n .fc-classic-Ogp:is(:where(.fc-classic-bCs):hover *) {\n text-decoration-line: underline\n }\n}\n\n.fc-classic-uk6:first-child {\n border-start-start-radius: 4px;\n border-end-start-radius: 4px\n}\n\n.fc-classic-Tuc:last-child {\n border-start-end-radius: 4px;\n border-end-end-radius: 4px\n}\n\n@media (hover:hover) {\n .fc-classic-bqK:hover {\n border-color: var(--fc-classic-button-strong-border)\n }\n\n .fc-classic-9Rj:hover {\n background-color: var(--fc-classic-button-strong)\n }\n\n .fc-classic-Ubk:hover {\n background-color: var(--fc-classic-faint)\n }\n\n .fc-classic-4yP:hover {\n background-color: var(--fc-classic-muted)\n }\n\n .fc-classic-Eu0:hover {\n text-decoration-line: underline\n }\n}\n\n.fc-classic-OIx:focus-visible {\n background-color: var(--fc-classic-faint)\n}\n\n.fc-classic-tCP:focus-visible {\n background-color: var(--fc-classic-muted)\n}\n\n.fc-classic-uqo:focus-visible {\n outline-style: solid;\n outline-width: 2px\n}\n\n.fc-classic-sOR:focus-visible {\n outline-style: solid;\n outline-width: 3px\n}\n\n.fc-classic-aIH:active {\n border-color: var(--fc-classic-button-strong-border)\n}\n\n.fc-classic-5ky:active {\n background-color: var(--fc-classic-button-strong)\n}\n\n.fc-classic-28F:active {\n background-color: var(--fc-classic-muted)\n}\n\n.fc-classic-8gz:active {\n background-color: var(--fc-classic-strong)\n}\n\n@media print {\n .fc-classic-jsy {\n border-width: 1px\n }\n\n .fc-classic-nQ5 {\n border-color: var(--fc-classic-button-strong-border)\n }\n\n .fc-classic-DO7 {\n border-color: var(--fc-event-color)\n }\n\n .fc-classic-4MR {\n border-color: #000\n }\n\n .fc-classic-vwH {\n background-color: #fff\n }\n\n .fc-classic-cfp {\n color: #000\n }\n}\n\n[dir=rtl] .fc-classic-jY6 {\n rotate: none\n}\n\n[dir=rtl] .fc-classic-asP {\n rotate: 180deg\n}\n", ".wrapper {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.calendar {\n flex-grow: 1;\n /* Prevent FullCalendar from entering a redraw loop\n * when the flex-container shifts size;\n * @see https://github.com/fullcalendar/fullcalendar/issues/8076\n */\n min-width: 0;\n}\n\n/* Very narrow 7-column calendars are impossible to read. Set a larger minimum\n * width even if that requires scrolling on small viewports.\n */\n:global(.dayGridMonth).calendar,\n:global(.timeGridWeek).calendar {\n min-width: 480px;\n}\n\n:global(.dayGridMonth).calendar .listItemEventBefore {\n display: none;\n}\n\n\n/* Make it clearer that events are clickable */\n.interactiveEvent {\n cursor: pointer;\n}\n\n/* Put more important title info first */\n.eventTitle { order: 1; }\n.eventTime { order: 2 }\n\n/* Tweak event layout: title can span multiple lines */\n.eventInner { overflow: hidden; }\n.eventTitle {\n white-space: normal;\n overflow: visible;\n}\n\n/* Formatting tweaks */\n.eventTitle { font-weight: 500; }\n.eventTime { font-size: 10px; }\n\n.shortEvent {\n .eventInner {\n flex-direction: column;\n align-items: inherit;\n }\n}\n\n.backgroundEventInner > div {\n opacity: 1;\n}\n\n\n/* For short background events (typical for before/after buffer slots), reduce\n * the vertical padding and shrink the font size so that they overflow less\n * often. */\n.backgroundEvent {\n container-type: size;\n}\n@container (height < 50px) {\n .backgroundEventInner > div {\n font-size: 10px;\n padding-top: 2px;\n }\n}\n\n/* round off background events a little bit */\n.backgroundEvent {\n border-radius: var(--mantine-radius-sm);\n}\n\n/* Keep \"today\" column highlighting similar to react-big-calendar default style */\n:root {\n --fc-classic-today: #b8e0ff4d;\n\n [data-color-scheme=dark] {\n --fc-classic-today: #406e934d;\n }\n}\n\n/* appointments and slots can be styled by status */\n.appointment {\n --cal-color: light-dark(var(--mantine-color-white), var(--mantine-color-white));\n --cal-background-color: light-dark(var(--mantine-color-blue-6), var(--mantine-color-blue-8));\n}\n.slot {\n --cal-color: light-dark(var(--mantine-color-dark-4), var(--mantine-color-gray-4));\n --cal-background-color: light-dark(var(--mantine-color-gray-4), var(--mantine-color-gray-7));\n}\n\n:global(.dayGridMonth) .event:hover {\n background-color: var(--cal-background-color);\n}\n\n\n.appointment.pending {\n --cal-color: light-dark(var(--mantine-color-blue-8), var(--mantine-color-blue-6));\n --cal-background-color: light-dark(var(--mantine-color-white), var(--mantine-color-black));\n\n /* pending: outlined with border color */\n border: 1px solid var(--cal-color);\n}\n\n.slot.free {\n --cal-color: light-dark(var(--mantine-color-dark-7), var(--mantine-color-gray-1));\n --cal-background-color: light-dark(var(--mantine-color-green-1), var(--mantine-color-green-9));\n}\n\n.event,\n.backgroundEvent {\n background-color: var(--cal-background-color);\n .eventInner {\n color: var(--cal-color);\n }\n .backgroundEventInner > div {\n color: var(--cal-color);\n }\n}\n\n.nonBusinessHours {\n background-color: light-dark(#0000000A, #FFFFFF2A);\n}\n", "/* The whole week is one grid, so every day's controls line up on the same\n columns without any of them being given a width of its own. Each block of\n hours is a row, placed by column rather than in document order, so a day's\n second and later blocks simply leave the day column empty. */\n.week {\n display: grid;\n grid-template-columns: repeat(5, max-content) 1fr;\n align-items: center;\n column-gap: var(--mantine-spacing-xs);\n row-gap: var(--mantine-spacing-xs);\n /* Mantine's default input height, so a day with no hours is the same height\n as one with a block of them. */\n grid-auto-rows: minmax(calc(2.25rem * var(--mantine-scale)), auto);\n}\n\n.dayCell {\n grid-column: 1;\n /* A wider gutter between a day and its hours than between the controls. */\n padding-right: var(--mantine-spacing-sm);\n}\n\n.rangeStart {\n grid-column: 2;\n}\n\n.rangeSeparator {\n grid-column: 3;\n}\n\n.rangeEnd {\n grid-column: 4;\n}\n\n.addAction {\n grid-column: 5;\n}\n\n.removeAction {\n grid-column: 6;\n}\n\n.unavailable {\n grid-column: 2 / -1;\n}\n\n/* Sits above the grid, so it matches the row height rather than inheriting it. */\n.overrideToggle {\n min-height: calc(2.25rem * var(--mantine-scale));\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["timeGrid", "wrapper", "calendar", "listItemEventBefore", "interactiveEvent", "eventTitle", "eventTime", "eventInner", "shortEvent", "backgroundEventInner", "backgroundEvent", "appointment", "slot", "event", "pending", "free", "nonBusinessHours", "week", "dayCell", "rangeStart", "rangeSeparator", "rangeEnd", "addAction", "removeAction", "unavailable", "overrideToggle"]
|
|
7
7
|
}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,6 +1,69 @@
|
|
|
1
1
|
import type { Appointment } from '@medplum/fhirtypes';
|
|
2
|
+
import type { HealthcareService } from '@medplum/fhirtypes';
|
|
3
|
+
import type { HealthcareServiceAvailableTime } from '@medplum/fhirtypes';
|
|
2
4
|
import type { JSX } from 'react';
|
|
5
|
+
import type { Reference } from '@medplum/fhirtypes';
|
|
6
|
+
import type { Schedule } from '@medplum/fhirtypes';
|
|
3
7
|
import type { Slot } from '@medplum/fhirtypes';
|
|
8
|
+
import type { WithId } from '@medplum/core';
|
|
9
|
+
|
|
10
|
+
export declare function addDays(date: Date, days: number): Date;
|
|
11
|
+
|
|
12
|
+
export declare interface AppointmentDay {
|
|
13
|
+
/** `YYYY-MM-DD` in the scheduling timezone. */
|
|
14
|
+
readonly key: string;
|
|
15
|
+
/** Local midnight of the same calendar day, for the calendar and its heading. */
|
|
16
|
+
readonly date: Date;
|
|
17
|
+
readonly groups: readonly AppointmentSlotGroup[];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Shows one day's available times, a card per set of actors offering them.
|
|
22
|
+
*
|
|
23
|
+
* Holds no calendar of its own, so that a view wanting only a list of times can
|
|
24
|
+
* render it alone.
|
|
25
|
+
*
|
|
26
|
+
* @param props - The React props.
|
|
27
|
+
* @returns The day's heading and its times.
|
|
28
|
+
*/
|
|
29
|
+
export declare function AppointmentDayTimes(props: AppointmentDayTimesProps): JSX.Element;
|
|
30
|
+
|
|
31
|
+
export declare interface AppointmentDayTimesProps {
|
|
32
|
+
/** Local midnight of the day being shown, which titles it. */
|
|
33
|
+
readonly date: Date;
|
|
34
|
+
/** The times offered on that day, empty for a day that offers none. */
|
|
35
|
+
readonly groups: readonly AppointmentSlotGroup[];
|
|
36
|
+
readonly onSelectAppointment: (appointment: Appointment) => void;
|
|
37
|
+
/** IANA timezone the times are read in. Defaults to the browser's. */
|
|
38
|
+
readonly timezone?: string;
|
|
39
|
+
readonly selected?: Appointment;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** A calendar day's worth of available times, split by the actors offering them. */
|
|
43
|
+
export declare interface AppointmentSlotGroup {
|
|
44
|
+
/** Stable key derived from the actors, so React keys survive a refetch. */
|
|
45
|
+
readonly key: string;
|
|
46
|
+
readonly actors: readonly SchedulingActor[];
|
|
47
|
+
readonly durationMinutes: number;
|
|
48
|
+
/** Sorted by start time. */
|
|
49
|
+
readonly appointments: readonly Appointment[];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* One card of available times, headed by the actors offering them.
|
|
54
|
+
* @param props - The React props.
|
|
55
|
+
* @returns The card.
|
|
56
|
+
*/
|
|
57
|
+
export declare function AppointmentSlotGroupCard(props: AppointmentSlotGroupCardProps): JSX.Element;
|
|
58
|
+
|
|
59
|
+
export declare interface AppointmentSlotGroupCardProps {
|
|
60
|
+
readonly group: AppointmentSlotGroup;
|
|
61
|
+
readonly onSelectAppointment: (appointment: Appointment) => void;
|
|
62
|
+
/** IANA timezone the times are shown in. Defaults to the browser's. */
|
|
63
|
+
readonly timezone?: string;
|
|
64
|
+
readonly selected?: Appointment;
|
|
65
|
+
readonly disabled?: boolean;
|
|
66
|
+
}
|
|
4
67
|
|
|
5
68
|
export declare function Calendar(props: CalendarProps): JSX.Element;
|
|
6
69
|
|
|
@@ -13,6 +76,27 @@ export declare interface CalendarProps {
|
|
|
13
76
|
onDoubleClickAppointment?: (appointment: Appointment) => void;
|
|
14
77
|
onRangeChange?: (range: DateTimeRange) => void;
|
|
15
78
|
className?: string;
|
|
79
|
+
availableTime?: HealthcareServiceAvailableTime[];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
declare interface CommonProps {
|
|
83
|
+
/** The visit service type the availability being edited applies to. */
|
|
84
|
+
readonly service: WithId<HealthcareService>;
|
|
85
|
+
/**
|
|
86
|
+
* IANA name of the time zone the times entered are in, shown as a hint beneath the week. Resolve it with
|
|
87
|
+
* `getSchedulingTimezone(service, schedule, actor)` from `@medplum/core`, which reads the Schedule
|
|
88
|
+
* parameters, then the service parameters, then the actor's timezone extension, the way the server does.
|
|
89
|
+
* Omit to leave the hint off.
|
|
90
|
+
*/
|
|
91
|
+
readonly timezone?: string;
|
|
92
|
+
/** Called when the user cancels. Omit to hide the cancel button, e.g. when the editor is inline on a page. */
|
|
93
|
+
readonly onCancel?: () => void;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/** The days a search covers. Either end may be open. */
|
|
97
|
+
export declare interface DateRange {
|
|
98
|
+
readonly start?: Date;
|
|
99
|
+
readonly end?: Date;
|
|
16
100
|
}
|
|
17
101
|
|
|
18
102
|
export declare type DateTimeRange = {
|
|
@@ -20,4 +104,275 @@ export declare type DateTimeRange = {
|
|
|
20
104
|
end: Date;
|
|
21
105
|
};
|
|
22
106
|
|
|
107
|
+
/**
|
|
108
|
+
* Returns the last instant of a day, so that a range covers the whole of it.
|
|
109
|
+
* @param date - Any instant during the day.
|
|
110
|
+
* @returns Local midnight less a millisecond, at the end of that day.
|
|
111
|
+
*/
|
|
112
|
+
export declare function endOfDay(date: Date): Date;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Returns the last instant of a date's month.
|
|
116
|
+
* @param date - Any instant during the month.
|
|
117
|
+
* @returns The close of that month's last day.
|
|
118
|
+
*/
|
|
119
|
+
export declare function endOfMonth(date: Date): Date;
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Lists the days a range covers, for marking them on the calendar.
|
|
123
|
+
* @param range - The days asked for.
|
|
124
|
+
* @param limit - The most days to return, so an open-ended range stays bounded.
|
|
125
|
+
* @returns Local midnight of each day, or an empty array for an open range.
|
|
126
|
+
*/
|
|
127
|
+
export declare function enumerateDateRange(range: DateRange, limit?: number): Date[];
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Restricts appointments to a half of the day, read in the scheduling timezone.
|
|
131
|
+
* @param appointments - Appointments to filter.
|
|
132
|
+
* @param timeOfDay - The half of the day to keep, or `any` to keep all.
|
|
133
|
+
* @param timezone - IANA timezone identifier. Defaults to the browser's.
|
|
134
|
+
* @returns The matching appointments.
|
|
135
|
+
*/
|
|
136
|
+
export declare function filterByTimeOfDay(appointments: readonly Appointment[], timeOfDay: TimeOfDay, timezone?: string): Appointment[];
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Says in words which days a search covers.
|
|
140
|
+
* @param range - The days asked for.
|
|
141
|
+
* @returns The range as a phrase, or undefined when both ends are open.
|
|
142
|
+
*/
|
|
143
|
+
export declare function formatDateRange(range: DateRange): string | undefined;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Formats a calendar day as a heading (e.g. "Monday, July 27").
|
|
147
|
+
* @param date - Local midnight of the day.
|
|
148
|
+
* @returns The formatted day.
|
|
149
|
+
*/
|
|
150
|
+
export declare function formatDayHeading(date: Date): string;
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Formats an instant's time of day in a given timezone (e.g. "12:30 PM").
|
|
154
|
+
* @param date - The instant to format.
|
|
155
|
+
* @param timezone - IANA timezone identifier. Defaults to the browser's.
|
|
156
|
+
* @returns The formatted time.
|
|
157
|
+
*/
|
|
158
|
+
export declare function formatZonedTime(date: Date, timezone?: string): string;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Builds a key identifying the set of actors an appointment is offered by.
|
|
162
|
+
* @param appointment - The proposed appointment.
|
|
163
|
+
* @returns A key that is stable across refetches.
|
|
164
|
+
*/
|
|
165
|
+
export declare function getActorGroupKey(appointment: Appointment): string;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Names the role an actor is filling, from its own reference.
|
|
169
|
+
*
|
|
170
|
+
* Needed where an actor is shown away from the field it was chosen in, which is
|
|
171
|
+
* the only thing that would otherwise say which role it answers.
|
|
172
|
+
*
|
|
173
|
+
* @param actor - A reference to a scheduling actor.
|
|
174
|
+
* @returns The role's label, or undefined for a reference of another type.
|
|
175
|
+
*/
|
|
176
|
+
export declare function getActorRoleLabel(actor: Reference): string | undefined;
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Builds a key identifying a set of actors, independent of their order.
|
|
180
|
+
* @param actors - The actors to key.
|
|
181
|
+
* @returns The key.
|
|
182
|
+
*/
|
|
183
|
+
export declare function getActorsKey(actors: readonly Reference[]): string;
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Returns a key uniquely identifying a proposed appointment.
|
|
187
|
+
*
|
|
188
|
+
* Proposed appointments have no id, and consecutive pages meet at the boundary
|
|
189
|
+
* of a day, so identity is the times plus the actors.
|
|
190
|
+
*
|
|
191
|
+
* @param appointment - The proposed appointment.
|
|
192
|
+
* @returns The de-duplication key.
|
|
193
|
+
*/
|
|
194
|
+
export declare function getAppointmentKey(appointment: Appointment): string;
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Returns an appointment's length in whole minutes.
|
|
198
|
+
* @param appointment - The proposed appointment.
|
|
199
|
+
* @returns The length in minutes, or 0 when either end is missing.
|
|
200
|
+
*/
|
|
201
|
+
export declare function getDurationMinutes(appointment: Appointment | undefined): number;
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Resolves the availability in effect for a HealthcareService, on a given calendar or on its own.
|
|
205
|
+
* Hours the Schedule sets for the service take precedence over the service default.
|
|
206
|
+
*
|
|
207
|
+
* Three states are worth telling apart. A Schedule that sets no availability inherits
|
|
208
|
+
* `HealthcareService.availableTime`. One that sets an empty availability means explicitly no hours,
|
|
209
|
+
* which is why that is returned rather than falling through, and also why it cannot be stored: an
|
|
210
|
+
* extension with neither a value nor sub-extensions fails FHIR constraint `ext-1`, so
|
|
211
|
+
* `setScheduleAvailability` refuses to write one. `undefined` means nothing is configured at either
|
|
212
|
+
* level, which scheduling reads as unconstrained rather than unavailable.
|
|
213
|
+
*
|
|
214
|
+
* Omitting the Schedule returns `service.availableTime` and nothing more, so this is not the way to read
|
|
215
|
+
* a service default; the field is. The Schedule is optional so that one call covers a caller that may or
|
|
216
|
+
* may not have one.
|
|
217
|
+
* @param service - HealthcareService providing the default availability
|
|
218
|
+
* @param schedule - Schedule that may set hours of its own for the service
|
|
219
|
+
* @returns The availability in effect, or undefined when none is configured
|
|
220
|
+
* @throws An `OperationOutcomeError` if an availableTime the Schedule holds sets `allDay`,
|
|
221
|
+
* `availableStartTime`, or `availableEndTime` more than once, leaving its hours ambiguous.
|
|
222
|
+
*/
|
|
223
|
+
export declare function getEffectiveAvailability(service: WithId<HealthcareService> | undefined, schedule?: Schedule): HealthcareServiceAvailableTime[] | undefined;
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Returns the input type to use for a date or time field.
|
|
227
|
+
*
|
|
228
|
+
* JSDOM does not fire change events for `<input type="date">` or
|
|
229
|
+
* `<input type="time">`, so tests get a plain text field, matching what
|
|
230
|
+
* `DateTimeInput` does.
|
|
231
|
+
*
|
|
232
|
+
* @param type - The native input type to use outside of tests.
|
|
233
|
+
* @returns The input type for the current environment.
|
|
234
|
+
*/
|
|
235
|
+
export declare function getNativeInputType(type: 'date' | 'time'): string;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Returns the role an actor type is chosen as.
|
|
239
|
+
* @param actorType - A `Schedule.actor` resource type.
|
|
240
|
+
* @returns The role that actor fills.
|
|
241
|
+
*/
|
|
242
|
+
export declare function getSchedulingRole(actorType: SchedulingActorType): SchedulingRole;
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Groups proposed appointments into days, and each day into the sets of actors
|
|
246
|
+
* offering those times.
|
|
247
|
+
*
|
|
248
|
+
* @param appointments - Proposed appointments from `$find`.
|
|
249
|
+
* @param timezone - IANA timezone identifier. Defaults to the browser's.
|
|
250
|
+
* @returns Days in ascending order, each holding its groups.
|
|
251
|
+
*/
|
|
252
|
+
export declare function groupAppointmentsByDay(appointments: readonly Appointment[], timezone?: string): AppointmentDay[];
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Returns whether two instants fall on the same local day.
|
|
256
|
+
* @param left - The first instant.
|
|
257
|
+
* @param right - The second, or undefined when there is nothing to compare.
|
|
258
|
+
* @returns True when both fall on the same local day.
|
|
259
|
+
*/
|
|
260
|
+
export declare function isSameDay(left: Date, right: Date | undefined): boolean;
|
|
261
|
+
|
|
262
|
+
export declare function isSchedulingActorType(value: string | undefined): value is SchedulingActorType;
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* The longest window `Appointment/$find` accepts. Requests wider than this are
|
|
266
|
+
* rejected outright, so callers have to keep their own date range inside it.
|
|
267
|
+
*/
|
|
268
|
+
export declare const MAX_FIND_WINDOW_DAYS = 31;
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Converts a `YYYY-MM-DD` key into local midnight of that calendar day.
|
|
272
|
+
* @param key - A `YYYY-MM-DD` day key.
|
|
273
|
+
* @returns Local midnight of that day.
|
|
274
|
+
*/
|
|
275
|
+
export declare function parseDayKey(key: string): Date;
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Reads a wall-clock time on a given day as an instant in a timezone.
|
|
279
|
+
*
|
|
280
|
+
* @param day - Local midnight of the day the time falls on.
|
|
281
|
+
* @param time - A 24-hour `HH:MM` time.
|
|
282
|
+
* @param timezone - IANA timezone identifier. Defaults to the browser's.
|
|
283
|
+
* @returns The instant, or undefined when the time is not a valid `HH:MM`.
|
|
284
|
+
*/
|
|
285
|
+
export declare function parseZonedTime(day: Date, time: string, timezone?: string): Date | undefined;
|
|
286
|
+
|
|
287
|
+
export declare const ROLE_LABELS: Record<SchedulingRole, string>;
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Edits weekly availability for one visit service type, either as a Schedule's
|
|
291
|
+
* override of the service hours or as the service's own default hours.
|
|
292
|
+
*
|
|
293
|
+
* This renders form content only. The caller supplies the container, so the
|
|
294
|
+
* editor can live inline in a page, in a Modal, or in a Drawer.
|
|
295
|
+
* @param props - Service, an optional Schedule selecting what is edited, and save/cancel handlers
|
|
296
|
+
* @returns The availability editor form
|
|
297
|
+
*/
|
|
298
|
+
export declare function ScheduleAvailabilityEditor(props: ScheduleAvailabilityEditorProps): JSX.Element;
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Props for the ScheduleAvailabilityEditor component. Passing a Schedule edits that calendar's override of the
|
|
302
|
+
* service's hours; omitting it edits the service's own default hours, which every calendar without an override
|
|
303
|
+
* inherits. The two are the same weekly form over the same data, differing in where the hours are written.
|
|
304
|
+
*/
|
|
305
|
+
export declare type ScheduleAvailabilityEditorProps = ScheduleOverrideEditorProps | ServiceDefaultEditorProps;
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Props for editing the availability override a Schedule holds for one service.
|
|
309
|
+
* @param schedule - The Schedule holding the availability override. Must have exactly one actor, as scheduling requires.
|
|
310
|
+
* @param onSave - Called with the updated Schedule when the user saves. The caller performs the write, and may return a
|
|
311
|
+
* Promise to keep the save button in its pending state until the write settles. A rejection only ends that state, so
|
|
312
|
+
* telling the user the write failed is the caller's to do.
|
|
313
|
+
*/
|
|
314
|
+
export declare interface ScheduleOverrideEditorProps extends CommonProps {
|
|
315
|
+
readonly schedule: Schedule;
|
|
316
|
+
readonly onSave: (updatedSchedule: Schedule) => void | Promise<void>;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/** Resource types that may appear in `Schedule.actor`. */
|
|
320
|
+
export declare const SCHEDULING_ACTOR_TYPES: readonly ["Practitioner", "PractitionerRole", "Location", "Device"];
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* The parts of an appointment a user chooses, in the order they are asked about.
|
|
324
|
+
*
|
|
325
|
+
* Each role becomes one question, because `$find` intersects the schedules it is
|
|
326
|
+
* given: a time is offered only when the provider *and* the room *and* the
|
|
327
|
+
* device are all free for it.
|
|
328
|
+
*/
|
|
329
|
+
export declare const SCHEDULING_ROLES: readonly ["provider", "room", "device"];
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* A reference to something a Schedule belongs to. The same union an Appointment
|
|
333
|
+
* accepts as a participant, so an actor can be carried straight across.
|
|
334
|
+
*/
|
|
335
|
+
export declare type SchedulingActor = Schedule['actor'][number];
|
|
336
|
+
|
|
337
|
+
export declare type SchedulingActorType = (typeof SCHEDULING_ACTOR_TYPES)[number];
|
|
338
|
+
|
|
339
|
+
export declare type SchedulingRole = (typeof SCHEDULING_ROLES)[number];
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* Props for editing a service's own default hours, in place of any one calendar's override.
|
|
343
|
+
* @param schedule - Omitted, which is what selects this mode.
|
|
344
|
+
* @param onSave - Called with the updated HealthcareService when the user saves. The caller performs the write, and may
|
|
345
|
+
* return a Promise to keep the save button in its pending state until the write settles. A rejection only ends that
|
|
346
|
+
* state, so telling the user the write failed is the caller's to do.
|
|
347
|
+
*/
|
|
348
|
+
export declare interface ServiceDefaultEditorProps extends CommonProps {
|
|
349
|
+
readonly schedule?: undefined;
|
|
350
|
+
readonly onSave: (updatedService: WithId<HealthcareService>) => void | Promise<void>;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Immutably gives a Schedule its own hours for a HealthcareService, in place of the service default.
|
|
355
|
+
* Reads back through `getEffectiveAvailability`; to drop the calendar back to the default, clear the
|
|
356
|
+
* parameter with `clearScheduleParameter(schedule, service, 'availability')` from `@medplum/core`.
|
|
357
|
+
*
|
|
358
|
+
* Availability is the one parameter with a typed wrapper, because it is the only one that is not a single
|
|
359
|
+
* `value[x]`: `bufferBefore` and the rest go through `setScheduleParameter` directly, already legible as
|
|
360
|
+
* `{ url: 'bufferBefore', valueDuration: { value: 10, unit: 'min' } }`. Availability is a repeating nested
|
|
361
|
+
* structure, so hand-building it at every call site would mean re-deriving the encoding.
|
|
362
|
+
*
|
|
363
|
+
* Schedule level by necessity: a HealthcareService holds its hours in the native `availableTime` field
|
|
364
|
+
* rather than in a scheduling parameter, so there is no service-level counterpart to this. Editing a
|
|
365
|
+
* service default is a plain write to that field, and the parameter stores exactly the same shape.
|
|
366
|
+
* @param schedule - Schedule to update
|
|
367
|
+
* @param service - HealthcareService referenced by the parameters
|
|
368
|
+
* @param availableTime - The full set of windows the calendar should be available in. At least one entry, each
|
|
369
|
+
* setting either `allDay` or both times, since anything else has no valid extension form.
|
|
370
|
+
* @returns A cloned Schedule holding those hours for the service
|
|
371
|
+
* @throws An `OperationOutcomeError` if `availableTime` is empty, or an entry sets neither `allDay` nor both
|
|
372
|
+
* times. To have the calendar follow the service default, clear the parameter instead.
|
|
373
|
+
*/
|
|
374
|
+
export declare function setScheduleAvailability(schedule: Schedule, service: WithId<HealthcareService>, availableTime: HealthcareServiceAvailableTime[]): Schedule;
|
|
375
|
+
|
|
376
|
+
export declare type TimeOfDay = 'any' | 'morning' | 'afternoon';
|
|
377
|
+
|
|
23
378
|
export { }
|