@lekoala/slot-picker 0.1.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 (91) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +370 -0
  3. package/custom-elements.json +53 -0
  4. package/dist/slot-picker.css +597 -0
  5. package/dist/slot-picker.js +1382 -0
  6. package/dist/slot-picker.min.css +1 -0
  7. package/dist/slot-picker.min.js +36 -0
  8. package/dist/types/date.d.ts +23 -0
  9. package/dist/types/date.d.ts.map +1 -0
  10. package/dist/types/define.d.ts +2 -0
  11. package/dist/types/define.d.ts.map +1 -0
  12. package/dist/types/index.d.ts +6 -0
  13. package/dist/types/index.d.ts.map +1 -0
  14. package/dist/types/locales/ar.d.ts +20 -0
  15. package/dist/types/locales/ar.d.ts.map +1 -0
  16. package/dist/types/locales/de.d.ts +20 -0
  17. package/dist/types/locales/de.d.ts.map +1 -0
  18. package/dist/types/locales/en.d.ts +20 -0
  19. package/dist/types/locales/en.d.ts.map +1 -0
  20. package/dist/types/locales/es.d.ts +20 -0
  21. package/dist/types/locales/es.d.ts.map +1 -0
  22. package/dist/types/locales/fr.d.ts +20 -0
  23. package/dist/types/locales/fr.d.ts.map +1 -0
  24. package/dist/types/locales/hi.d.ts +20 -0
  25. package/dist/types/locales/hi.d.ts.map +1 -0
  26. package/dist/types/locales/id.d.ts +20 -0
  27. package/dist/types/locales/id.d.ts.map +1 -0
  28. package/dist/types/locales/it.d.ts +20 -0
  29. package/dist/types/locales/it.d.ts.map +1 -0
  30. package/dist/types/locales/ja.d.ts +20 -0
  31. package/dist/types/locales/ja.d.ts.map +1 -0
  32. package/dist/types/locales/ko.d.ts +20 -0
  33. package/dist/types/locales/ko.d.ts.map +1 -0
  34. package/dist/types/locales/nl.d.ts +20 -0
  35. package/dist/types/locales/nl.d.ts.map +1 -0
  36. package/dist/types/locales/pl.d.ts +20 -0
  37. package/dist/types/locales/pl.d.ts.map +1 -0
  38. package/dist/types/locales/pt-BR.d.ts +20 -0
  39. package/dist/types/locales/pt-BR.d.ts.map +1 -0
  40. package/dist/types/locales/pt-PT.d.ts +20 -0
  41. package/dist/types/locales/pt-PT.d.ts.map +1 -0
  42. package/dist/types/locales/ru.d.ts +20 -0
  43. package/dist/types/locales/ru.d.ts.map +1 -0
  44. package/dist/types/locales/tr.d.ts +20 -0
  45. package/dist/types/locales/tr.d.ts.map +1 -0
  46. package/dist/types/locales/zh-CN.d.ts +20 -0
  47. package/dist/types/locales/zh-CN.d.ts.map +1 -0
  48. package/dist/types/messages.d.ts +67 -0
  49. package/dist/types/messages.d.ts.map +1 -0
  50. package/dist/types/model.d.ts +213 -0
  51. package/dist/types/model.d.ts.map +1 -0
  52. package/dist/types/slot-picker.d.ts +182 -0
  53. package/dist/types/slot-picker.d.ts.map +1 -0
  54. package/dist/types/source.d.ts +45 -0
  55. package/dist/types/source.d.ts.map +1 -0
  56. package/dist/types/views/columns.d.ts +28 -0
  57. package/dist/types/views/columns.d.ts.map +1 -0
  58. package/dist/types/views/day.d.ts +27 -0
  59. package/dist/types/views/day.d.ts.map +1 -0
  60. package/dist/types/views/shared.d.ts +99 -0
  61. package/dist/types/views/shared.d.ts.map +1 -0
  62. package/docs/USE_CASES.md +197 -0
  63. package/package.json +148 -0
  64. package/src/date.js +66 -0
  65. package/src/define.js +5 -0
  66. package/src/index.js +25 -0
  67. package/src/locales/ar.js +18 -0
  68. package/src/locales/de.js +18 -0
  69. package/src/locales/en.js +18 -0
  70. package/src/locales/es.js +18 -0
  71. package/src/locales/fr.js +18 -0
  72. package/src/locales/hi.js +18 -0
  73. package/src/locales/id.js +18 -0
  74. package/src/locales/it.js +18 -0
  75. package/src/locales/ja.js +18 -0
  76. package/src/locales/ko.js +18 -0
  77. package/src/locales/nl.js +18 -0
  78. package/src/locales/pl.js +18 -0
  79. package/src/locales/pt-BR.js +18 -0
  80. package/src/locales/pt-PT.js +18 -0
  81. package/src/locales/ru.js +18 -0
  82. package/src/locales/tr.js +18 -0
  83. package/src/locales/zh-CN.js +18 -0
  84. package/src/messages.js +44 -0
  85. package/src/model.js +357 -0
  86. package/src/slot-picker.css +597 -0
  87. package/src/slot-picker.js +1094 -0
  88. package/src/source.js +87 -0
  89. package/src/views/columns.js +108 -0
  90. package/src/views/day.js +122 -0
  91. package/src/views/shared.js +157 -0
@@ -0,0 +1 @@
1
+ :where(slot-picker){--sp-bg:#fff;--sp-fg:#1f2328;--sp-muted:color-mix(in srgb,var(--sp-fg)58%,var(--sp-bg));--sp-border:color-mix(in srgb,var(--sp-fg)16%,var(--sp-bg));--sp-hover:color-mix(in srgb,var(--sp-fg)5%,var(--sp-bg));--sp-notice-hover-bg:color-mix(in srgb,var(--sp-fg)12%,var(--sp-bg));--sp-accent:#2563eb;--sp-accent-fg:#fff;--sp-accent-soft:color-mix(in srgb,var(--sp-accent)16%,var(--sp-bg));--sp-focus:var(--sp-accent);--sp-radius:.5rem;--sp-gap:.5rem;--sp-day-gap:.75rem;--sp-slot-columns:3;--sp-card-bg:transparent;--sp-slot-block-size:2.75rem;--sp-slot-bg:var(--sp-accent-soft);--sp-slot-fg:var(--sp-fg);--sp-slot-border:transparent;--sp-slot-hover-bg:color-mix(in srgb,var(--sp-accent)22%,var(--sp-bg));--sp-slot-selected-bg:var(--sp-accent);--sp-slot-selected-fg:var(--sp-accent-fg);--sp-nav-size:2.5rem;--sp-day-header-block-size:3.4rem;--sp-collapsed-rows:var(--_sp-max-visible-rows,5);--sp-collapsed-body-block-size:calc(var(--sp-collapsed-rows)*(var(--sp-slot-block-size) + var(--sp-gap)) - var(--sp-gap));--sp-footer-block-size:2.5rem;--sp-shortcuts-block-size:2.5rem;--sp-collapsed-block-size:calc(var(--sp-day-header-block-size) + var(--sp-collapsed-body-block-size) + var(--sp-footer-block-size));--sp-more-fade-size:4rem;--sp-more-bg:var(--sp-bg);--sp-panel-min-block-size:calc(2*var(--sp-slot-block-size) + var(--sp-gap));--sp-closed-opacity:.55;--sp-loading-fade-opacity:.72;--sp-loading-fade-delay:.4s;display:block;color:var(--sp-fg);font:inherit}.sp-visually-hidden{position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;block-size:1px!important;inline-size:1px!important;margin:-1px!important;padding:0!important}.sp-shell{display:block}.sp-projection{display:grid;grid-template-columns:auto minmax(0,1fr)auto;align-items: start;gap:var(--sp-gap)}.sp-content{position:relative;opacity:1;min-inline-size:0;transition:opacity .16s}slot-picker[aria-busy=true] .sp-content{opacity:var(--sp-loading-fade-opacity,.72);transition-delay:var(--sp-loading-fade-delay,.4s)}@media (prefers-reduced-motion:reduce){.sp-content{transition-duration:0s}}slot-picker:not([layout=day]) .sp-content{min-block-size:var(--sp-collapsed-block-size)}.sp-shortcuts{display:flex;justify-content:flex-start;margin-block-start:var(--sp-gap)}slot-picker[home-date] .sp-shortcuts{min-block-size:var(--sp-shortcuts-block-size,2.5rem)}.sp-home{display:inline-flex;color:var(--sp-accent);font:inherit;cursor:pointer;background:0 0;border:0;align-items: center;gap:.35rem;padding:.25rem 0}.sp-home:hover{text-decoration:underline}.sp-grid{display:grid;grid-template-columns:repeat(var(--_sp-day-count,5),minmax(0,1fr));gap:var(--sp-day-gap)}.sp-day{min-inline-size:0}.sp-day-header{position:relative;display:grid;box-sizing:border-box;min-block-size:var(--sp-day-header-block-size);text-align:center;justify-items:center;gap:.1rem;padding-block-start:.15rem;padding-block-end:.55rem;line-height:1.25}.sp-weekday{color:var(--sp-muted);font-size:.85rem}.sp-date{font-size:.9rem;font-weight:650}.sp-notice{position:absolute;display:grid;color:var(--sp-muted);pointer-events:none;place-items: center;block-size:1.5rem;inline-size:1.5rem;top:0}.sp-notice:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:0}.sp-notice:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:0}.sp-notice:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:0}.sp-notice:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.sp-notice:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.sp-notice:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.sp-notice[data-day-index]{pointer-events:auto;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;transition:background-color .12s}.sp-notice[data-day-index]:hover{background:var(--sp-notice-hover-bg);color:var(--sp-fg)}.sp-notice-dot{background:currentColor;border-radius:50%;block-size:.45rem;inline-size:.45rem}.sp-slots{display:grid;gap:var(--sp-gap)}.sp-slot,.sp-empty{display:grid;min-block-size:var(--sp-slot-block-size);box-sizing:border-box;border-radius:var(--sp-radius);font:inherit;place-items: center}.sp-slot{border:1px solid var(--sp-slot-border);background:var(--sp-slot-bg);color:var(--sp-slot-fg);cursor:pointer}.sp-slot:hover:not(:disabled):not([aria-selected=true]){background:var(--sp-slot-hover-bg)}.sp-slot[aria-selected=true]{background:var(--sp-slot-selected-bg);color:var(--sp-slot-selected-fg)}.sp-slot:disabled{cursor:not-allowed;opacity:.45}.sp-slot:focus-visible{outline:2px solid var(--sp-focus);outline-offset:2px}.sp-slot[aria-selected=true]:focus-visible{outline-color:var(--sp-fg)}.sp-empty{color:var(--sp-muted);user-select:none}.sp-nav{display:grid;inline-size:var(--sp-nav-size);block-size:var(--sp-nav-size);border:1px solid var(--sp-border);background:var(--sp-bg);color:var(--sp-fg);cursor:pointer;border-radius:50%;place-items: center;margin-block-start:.45rem;padding:0}.sp-nav:hover:not(:disabled){background:var(--sp-hover)}.sp-nav:disabled{cursor:not-allowed;opacity:.4}.sp-nav svg{display:block;pointer-events:none;block-size:1rem;inline-size:1rem}[dir=rtl] .sp-nav svg,html[dir=rtl] .sp-nav svg{transform:scaleX(-1)}.sp-more{display:flex;justify-content:center;margin-block-start:1rem}slot-picker:not([expanded]) .sp-more{position:absolute;display:grid;min-block-size:var(--sp-footer-block-size);place-items: end center;margin-block-start:0;bottom:0;left:0;right:0}slot-picker:not([expanded]) .sp-more:before{content:"";position:absolute;block-size:var(--sp-more-fade-size,4rem);background:linear-gradient(to bottom,transparent,var(--sp-more-bg,var(--sp-bg)));pointer-events:none;bottom:0;left:0;right:0}slot-picker[expanded] .sp-more{position:static}slot-picker[expanded] .sp-more:before{content:none}.sp-more-button{position:relative;z-index:1;color:var(--sp-accent);font:inherit;cursor:pointer;background:0 0;border:0}.sp-status{color:var(--sp-muted);text-align:center;margin-block-end:.75rem}.sp-status-error{color:var(--sp-fg)}.sp-day-empty{display:grid;min-block-size:var(--sp-slot-block-size);color:var(--sp-muted);text-align:center;place-items: center;padding-inline-start:.5rem;padding-inline-end:.5rem;font-size:.9rem}.sp-day[data-closed],.sp-panel[data-closed],.sp-strip-day[data-closed]{opacity:var(--sp-closed-opacity,.55)}.sp-range-empty{display:grid;box-sizing:border-box;min-block-size:var(--sp-collapsed-block-size);border-radius:var(--sp-radius);background:var(--sp-card-bg);text-align:center;align-content: center;justify-items:center;gap:.5rem;padding:1.5rem 1rem}slot-picker[layout=day] .sp-range-empty{min-block-size:var(--sp-panel-min-block-size)}slot-picker[layout=day] .sp-day-empty{min-block-size:var(--sp-panel-min-block-size);align-content: center}.sp-range-empty-title{font-size:1rem}.sp-range-empty-description{color:var(--sp-muted);margin:0}.sp-range-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.sp-range-empty-next{border-radius:var(--sp-radius);background:var(--sp-accent);color:var(--sp-accent-fg);font:inherit;cursor:pointer;border:0;padding:.6rem 1rem}.sp-range-empty-next:hover{background:color-mix(in srgb,var(--sp-accent)85%,var(--sp-bg))}.sp-range-empty-availability{border:1px solid var(--sp-border);border-radius:var(--sp-radius);background:var(--sp-bg);color:var(--sp-accent);font:inherit;cursor:pointer;padding:.6rem 1rem}.sp-range-empty-availability:hover{background:var(--sp-hover)}.sp-range-empty-next:focus-visible{outline:2px solid var(--sp-focus);outline-offset:2px}.sp-range-empty-availability:focus-visible{outline:2px solid var(--sp-focus);outline-offset:2px}.sp-daystrip{display:grid;grid-template-columns:repeat(var(--_sp-day-count,5),minmax(0,1fr));gap:var(--sp-gap);margin-block-end:1rem}.sp-strip-day{display:grid;border:1px solid var(--sp-border);border-radius:var(--sp-radius);background:var(--sp-card-bg);color:var(--sp-fg);font:inherit;cursor:pointer;justify-items:center;gap:.1rem;min-inline-size:0;padding-block-start:.6rem;padding-block-end:.55rem;padding-inline-start:.25rem;padding-inline-end:.25rem}.sp-strip-day:hover{background:var(--sp-hover)}.sp-strip-day[aria-pressed=true]{border-color:var(--sp-accent);background:var(--sp-accent-soft)}.sp-strip-weekday{color:var(--sp-muted);font-size:.85rem}.sp-strip-day[data-today] .sp-strip-weekday{font-weight:700}.sp-strip-date{font-size:.9rem}.sp-strip-count{color:var(--sp-muted);text-align:center;overflow-wrap:anywhere;max-inline-size:100%;font-size:.8rem}.sp-panel-header{position:relative;display:flex;text-align:center;justify-content:center;align-items: center;gap:.5rem;margin-block-end:.75rem}.sp-panel-title{font-size:1rem}.sp-panel-slots{display:grid;grid-template-columns:repeat(var(--sp-slot-columns,3),minmax(0,1fr));gap:var(--sp-gap)}.sp-day-notice{display:block;box-sizing:border-box;overflow:hidden;border-radius:var(--sp-radius);background:var(--sp-hover);text-align:center;min-inline-size:0;max-inline-size:100%;margin-block-end:.75rem;padding:.75rem 1rem}.sp-day-notice-label{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-block-end:.25rem}.sp-day-notice-description{display:none;overflow-wrap:anywhere;color:var(--sp-muted);min-inline-size:0;max-inline-size:100%;margin:0;font-size:.9rem}slot-picker[layout=day] .sp-day-notice-label{display:block;-webkit-line-clamp:unset}slot-picker[layout=day] .sp-day-notice-description{display:block}.sp-nav:focus-visible{outline:2px solid var(--sp-focus);outline-offset:2px}.sp-home:focus-visible{outline:2px solid var(--sp-focus);outline-offset:2px}.sp-more-button:focus-visible{outline:2px solid var(--sp-focus);outline-offset:2px}.sp-notice[data-day-index]:focus-visible{outline:2px solid var(--sp-focus);outline-offset:2px}.sp-strip-day:focus-visible{outline:2px solid var(--sp-focus);outline-offset:2px}@media (forced-colors:active){.sp-slot{border-color:buttontext}.sp-slot[aria-selected=true]{border-width:2px}.sp-strip-day[aria-pressed=true]{border-width:2px;border-color:buttontext}.sp-day-notice{border:1px solid buttontext}.sp-notice-dot{background:canvastext}}
@@ -0,0 +1,36 @@
1
+ /*** @lekoala/slot-picker v0.1.0 - https://github.com/lekoala/slot-picker ***/
2
+ (()=>{var Ct=/^\d{4}-\d{2}-\d{2}$/;function u(t){if(!Ct.test(t))return!1;let[e,s,n]=t.split("-").map(Number),o=new Date(Date.UTC(e,s-1,n));return o.getUTCFullYear()===e&&o.getUTCMonth()===s-1&&o.getUTCDate()===n}function ot(t){if(!u(t))throw TypeError(`Invalid civil date: ${t}`);let[e,s,n]=t.split("-").map(Number);return{year:e,month:s,day:n}}function M(t,e){let{year:s,month:n,day:o}=ot(t),i=new Date(Date.UTC(s,n-1,o+e));return[String(i.getUTCFullYear()).padStart(4,"0"),String(i.getUTCMonth()+1).padStart(2,"0"),String(i.getUTCDate()).padStart(2,"0")].join("-")}function f(t,e){return t.localeCompare(e)}function rt(t,e){return Math.round((D(e).getTime()-D(t).getTime())/86400000)}function Y(t,e){return M(t,Math.max(1,e)-1)}function D(t){let{year:e,month:s,day:n}=ot(t);return new Date(Date.UTC(e,s-1,n))}function B(){let t=new Date;return[String(t.getFullYear()).padStart(4,"0"),String(t.getMonth()+1).padStart(2,"0"),String(t.getDate()).padStart(2,"0")].join("-")}var Et={previous:"Previous days",next:"Next days",home:"Back to start",nextAvailability:"Next availability",showMore:"Show more availability",showLess:"Show less",loading:"Loading availability",empty:"No availability",closed:"Closed",closedRange:"Closed during this period",rangeEmptyTitle:"No availability in this period",rangeEmptyDescription:"From {start} to {end}",rangeEmptyNext:"See the next period",oneSlot:"1 slot",manySlots:"{n} slots",days:"Days"},$t={...Et};function lt(t){return{...$t,...t??{}}}var Tt=/^(?:[01]\d|2[0-3]):[0-5]\d$/,O=Object.freeze([Object.freeze({minWidth:600,dayCount:5}),Object.freeze({minWidth:480,dayCount:4}),Object.freeze({minWidth:360,dayCount:3}),Object.freeze({minWidth:260,dayCount:2}),Object.freeze({minWidth:0,dayCount:1})]),St=/^(\d{4}-\d{2}-\d{2})T((?:[01]\d|2[0-3]):[0-5]\d)$/;function U(t){return Tt.test(t)}function q(t){let e=St.exec(t);return e!==null&&u(e[1])&&U(e[2])}function g(t,e){if(!u(t)||!U(e))throw TypeError("Invalid slot date/time");return`${t}T${e}`}function _(t){if(!Array.isArray(t))throw TypeError("days must be an array");let e=new Set;return t.map((s)=>{if(!s||!u(s.date))throw TypeError("Each day needs a YYYY-MM-DD date");if(e.has(s.date))throw TypeError(`Duplicate day: ${s.date}`);e.add(s.date);let n=Array.isArray(s.slots)?s.slots:[],o=new Set,i=n.map((r)=>{if(!r||!U(r.start))throw TypeError(`Invalid slot start on ${s.date}`);if(r.end&&!U(r.end))throw TypeError(`Invalid slot end on ${s.date}`);if(r.tone!==void 0&&(typeof r.tone!=="string"||r.tone.trim()===""))throw TypeError(`Invalid slot tone on ${s.date}`);if(o.has(r.start))throw TypeError(`Duplicate slot: ${s.date}T${r.start}`);return o.add(r.start),{...r}}).sort((r,l)=>r.start.localeCompare(l.start)),a=s.notice&&typeof s.notice.label==="string"?{...s.notice}:void 0;if(s.closed!==void 0&&typeof s.closed!=="boolean")throw TypeError(`Invalid day closed on ${s.date}`);if(s.closed===!0&&i.length>0)throw TypeError(`Closed day cannot have slots: ${s.date}`);return{date:s.date,slots:i,...s.closed?{closed:!0}:{},...a?{notice:a}:{}}}).sort((s,n)=>s.date.localeCompare(n.date))}function J(t,e,s){let n=_(t),o=new Map(n.map((i)=>[i.date,i]));return Array.from({length:s},(i,a)=>{let r=M(e,a);return o.get(r)??{date:r,slots:[]}})}function P(t,e,s){let n=Math.max(0,...t.map((i)=>i.slots.length)),o=s?n:Math.min(n,e);return{rows:o,hasOverflow:n>e,days:t.map((i)=>({...i,slots:i.slots.slice(0,o)}))}}function dt(t,e){return!t||!e||f(t,e)<=0}function ut(t,e,s){let n=Math.max(1,Number(t)||1);if(!e||!s)return n;if(f(e,s)>0)return 0;return Math.min(n,rt(e,s)+1)}function ht(t){return t.map((e)=>({minWidth:Math.max(0,Number(e?.minWidth)||0),dayCount:Math.max(1,Math.min(14,Number(e?.dayCount)||1))})).sort((e,s)=>s.minWidth-e.minWidth)}function pt(t,e,s=O){let n=Math.max(0,Number(t)||0);if(n===0)return 0;let o=s.length?s:O,i=Number.isFinite(e)?e:0,a=o.find((r)=>i>=r.minWidth)??o[o.length-1];return Math.min(n,a.dayCount)}function j(t,e,s,n){let o=t;if(e&&f(o,e)<0)o=e;let i=Math.max(1,n);if(s){let a=M(s,-(i-1));if(f(a,e||o)<0)o=e||a;else if(f(o,a)>0)o=a}return o}function tt(t,e,s,n,o){let i=Math.max(1,e),a=j(t,n,o,i);if(!u(s))return a;let r=Y(a,i);if(f(s,a)>=0&&f(s,r)<=0)return a;let l=f(s,a)<0?s:M(s,-(i-1));return j(l,n,o,i)}function ft(t){return t.some((e)=>Array.isArray(e.slots)&&e.slots.length>0||Boolean(e.notice)||Boolean(e.closed))}function mt(t,e){return{start:t,end:Y(t,e),dayCount:e}}function k(t,e,s){if(!u(s))return t;if(f(s,t)<0)return t;let n=Y(t,e);if(f(s,n)>0)return n;return s}function ct(t){return t.slots.findIndex((e)=>!e.disabled)}function Mt(t){for(let e=t.slots.length-1;e>=0;e--)if(!t.slots[e].disabled)return e;return-1}function yt(t,e,s){let n=t[e.dayIndex];if(!n)return e;if(s==="home"){let i=ct(n);return i<0?e:{dayIndex:e.dayIndex,slotIndex:i}}if(s==="end"){let i=Mt(n);return i<0?e:{dayIndex:e.dayIndex,slotIndex:i}}if(s==="up"||s==="down"){let i=s==="up"?-1:1,a=e.slotIndex+i;while(a>=0&&a<n.slots.length){if(!n.slots[a].disabled)return{dayIndex:e.dayIndex,slotIndex:a};a+=i}return e}let o=s==="left"?-1:1;for(let i=e.dayIndex+o;i>=0&&i<t.length;i+=o){let a=t[i];if(!a.slots.length||ct(a)<0)continue;let r=Math.min(e.slotIndex,a.slots.length-1);if(!a.slots[r].disabled)return{dayIndex:i,slotIndex:r};for(let l=1;l<a.slots.length;l++){let c=r-l,h=r+l;if(c>=0&&!a.slots[c].disabled)return{dayIndex:i,slotIndex:c};if(h<a.slots.length&&!a.slots[h].disabled)return{dayIndex:i,slotIndex:h}}}return e}class et{#e=null;#t=null;#i=null;#n=0;#s=0;set source(t){let e=typeof t==="function",s=t!==null&&typeof t==="object"&&typeof t.load==="function";if(t!==null&&!e&&!s)throw TypeError("source must be a function or an object with a load() method");this.abort(),this.#e=t}get source(){return this.#e}get hasNext(){let t=this.#e;return Boolean(t&&typeof t==="object"&&typeof t.next==="function")}abort(){this.#t?.abort(),this.#t=null,this.#i?.abort(),this.#i=null}async load(t){let e=this.#e;if(!e)return null;let s=typeof e==="function"?e:e.load;this.abort();let n=new AbortController;this.#t=n;let o=++this.#n;try{let i=await s({...t,signal:n.signal});if(o!==this.#n||n.signal.aborted)return null;return i}finally{if(this.#t===n)this.#t=null}}async next({after:t}){let e=this.#e;if(!e||typeof e!=="object"||typeof e.next!=="function")return null;this.#i?.abort();let s=new AbortController;this.#i=s;let n=++this.#s;try{let o=await e.next({after:t,signal:s.signal});if(n!==this.#s||s.signal.aborted)return null;return typeof o==="string"?o:null}finally{if(this.#i===s)this.#i=null}}}var It={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function p(t){return String(t).replace(/[&<>"']/g,(e)=>It[e]||e)}function b(t){return p(t)}function bt(t){let e=[];for(let s of t)for(let n of s.slots)if(!n.disabled)e.push(g(s.date,n.start));return e}function W(t,...e){for(let s of e)if(s&&t.includes(s))return s;return t[0]||""}function K({date:t,slot:e,dayIndex:s,slotIndex:n,selected:o,tabbed:i}){let a=g(t,e.start),r=e.description?` aria-description="${b(e.description)}"`:"",l=e.disabled?' disabled aria-disabled="true"':"",c=e.tone?` data-tone="${b(e.tone)}"`:"";return`<button type="button" role="option" class="sp-slot" data-day-index="${s}" data-slot-index="${n}" data-value="${b(a)}"${c} aria-selected="${o?"true":"false"}" tabindex="${i?0:-1}"${l}${r}>${p(e.start)}</button>`}function Z(t={}){if(t.interactive){let e=t.description||t.label||"",s=t.label?` title="${b(t.label)}"`:"";return`<button type="button" class="sp-notice" data-day-index="${t.dayIndex??0}" aria-label="${b(e)}"${s}><span class="sp-notice-dot" aria-hidden="true"></span></button>`}return'<span class="sp-notice" aria-hidden="true"><span class="sp-notice-dot"></span></span>'}function G({label:t,description:e}){return`<div class="sp-day-notice">${`<strong class="sp-day-notice-label">${p(t)}</strong>${e?`<span class="sp-day-notice-description">${p(e)}</span>`:""}`}</div>`}function Q(t){return`<div class="sp-day-empty">${p(t)}</div>`}function vt(t,e){if(t<=0)return"–";if(t===1)return e.oneSlot;return e.manySlots.replace("{n}",String(t))}function xt({start:t,end:e,invalid:s,canNext:n,nextAvailability:o,closed:i,locale:a,messages:r}){let l=!s&&Boolean(t),c="";if(l){let m=new Intl.DateTimeFormat(a,{day:"numeric",month:"short",timeZone:"UTC"}),A=r.rangeEmptyDescription.replace("{start}",m.format(D(t))).replace("{end}",m.format(D(e)));c=`<p class="sp-range-empty-description">${p(A)}</p>`}let h=[];if(n)h.push(`<button type="button" class="sp-range-empty-next">${p(r.rangeEmptyNext)}</button>`);if(o&&!s)h.push(`<button type="button" class="sp-range-empty-availability">${p(r.nextAvailability)}</button>`);let x=h.length?`<div class="sp-range-empty-actions">${h.join("")}</div>`:"",d=i?r.closedRange:r.rangeEmptyTitle;return`<div class="sp-range-empty">
3
+ <strong class="sp-range-empty-title">${p(d)}</strong>
4
+ ${c}
5
+ ${x}
6
+ </div>`}var gt={timeZone:"UTC"};function wt({visible:t,value:e,focusedValue:s,maxVisibleRows:n,expanded:o,noticeDisplay:i,messages:a,locale:r}){let l=new Intl.DateTimeFormat(r,{weekday:"short",...gt}),c=new Intl.DateTimeFormat(r,{day:"numeric",month:"short",...gt}),{days:h,rows:x,hasOverflow:d}=P(t,n,o),m=bt(h),A=m[0]||"",N=W(m,s,e,A);return{html:`<div class="sp-grid" role="presentation">${h.map((v,E)=>{let w=D(v.date),R=l.format(w),L=c.format(w),I=i==="inline",it=i==="action",y=v.notice&&(I||it)?Z({interactive:!0,dayIndex:E,...v.notice}):"",T=v.notice&&I?G(v.notice):"",S=Boolean(v.closed),C;if(v.slots.length===0)C=`${T}${Q(S?a.closed:a.empty)}`;else{let F=v.slots,z=F.map((X,At)=>{let at=g(v.date,X.start);return K({date:v.date,slot:X,dayIndex:E,slotIndex:At,selected:at===e,tabbed:at===N&&!X.disabled})}).join(""),H=Array.from({length:Math.max(0,x-F.length)},()=>'<span class="sp-empty" aria-hidden="true">–</span>').join("");C=`${T}<div class="sp-slots" role="listbox" aria-label="${b(`${R} ${L}`)}">${z}${H}</div>`}return`<section class="sp-day" data-date="${b(v.date)}"${S?" data-closed":""}>
7
+ <header class="sp-day-header">
8
+ <span class="sp-weekday">${p(R)}</span>
9
+ <strong class="sp-date">${p(L)}</strong>
10
+ ${y}
11
+ </header>
12
+ ${C}
13
+ </section>`}).join("")}</div>`,hasOverflow:d}}var st={timeZone:"UTC"};function Dt({visible:t,activeDate:e,today:s,value:n,focusedValue:o,noticeDisplay:i,messages:a,locale:r}){let l=new Intl.DateTimeFormat(r,{weekday:"short",...st}),c=new Intl.DateTimeFormat(r,{day:"numeric",month:"short",...st}),h=new Intl.DateTimeFormat(r,{weekday:"long",day:"numeric",month:"long",...st}),x=Math.max(0,t.findIndex((y)=>y.date===e)),d=t[x],m=t.map((y,T)=>{let S=D(y.date),C=y.date===d.date,F=y.date===s,z=Boolean(y.closed),H=z?a.closed:vt(y.slots.length,a);return`<button type="button" class="sp-strip-day" data-date="${b(y.date)}" data-day-index="${T}" aria-pressed="${C?"true":"false"}"${F?" data-today":""}${z?" data-closed":""} tabindex="${C?0:-1}">
14
+ <span class="sp-strip-weekday">${p(l.format(S))}</span>
15
+ <strong class="sp-strip-date">${p(c.format(S))}</strong>
16
+ <span class="sp-strip-count" aria-hidden="true">${p(H)}</span>
17
+ <span class="sp-visually-hidden">${p(`${h.format(S)}: ${H}`)}</span>
18
+ </button>`}).join(""),A=d.slots.filter((y)=>!y.disabled).map((y)=>g(d.date,y.start)),N=A[0]||"",V=W(A,o,n,N),v=i==="inline",E=d.notice&&v?G(d.notice):"",w=d.notice&&i==="action"?Z({interactive:!0,dayIndex:x,...d.notice}):"",R=h.format(D(d.date)),L=Boolean(d.closed),I;if(d.slots.length===0)I=`${E}${Q(L?a.closed:a.empty)}`;else{let y=d.slots.map((T,S)=>{let C=g(d.date,T.start);return K({date:d.date,slot:T,dayIndex:x,slotIndex:S,selected:C===n,tabbed:C===V&&!T.disabled})}).join("");I=`${E}<div class="sp-panel-slots" role="listbox" aria-label="${b(R)}">${y}</div>`}return{html:`<div class="sp-daystrip" role="group" aria-label="${b(a.days)}">${m}</div>
19
+ <section class="sp-panel" data-date="${b(d.date)}"${L?" data-closed":""}>
20
+ <header class="sp-panel-header">
21
+ <strong class="sp-panel-title">${p(R)}</strong>
22
+ ${w}
23
+ </header>
24
+ ${I}
25
+ </section>`}}var Yt='<svg viewBox="0 0 20 20" aria-hidden="true"><path d="M12.5 4 6.5 10l6 6" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>',Bt='<svg viewBox="0 0 20 20" aria-hidden="true"><path d="m7.5 4 6 6-6 6" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>',kt=new Set(["start","min","max","day-count","responsive"]);class nt extends HTMLElement{static observedAttributes=["start","day-count","min","max","value","active-date","layout","max-visible-rows","expanded","responsive","home-date","next-availability","notice-display","closed-days","locale","lang"];#e=[];#t=new et;#i=null;#n=!1;#s=null;#l="";#y=!1;#b=!1;#a=!1;#o="";#h=null;#p=null;#v=null;#x=null;#f=null;#m=null;#c=0;constructor(){super();this.addEventListener("click",(t)=>this.#N(t)),this.addEventListener("keydown",(t)=>this.#V(t))}connectedCallback(){if(this.#b=!0,!this.hasAttribute("start"))this.setAttribute("start",B());if(!this.hasAttribute("day-count"))this.setAttribute("day-count","5");if(!this.hasAttribute("layout"))this.setAttribute("layout","columns");if(this.#b=!1,this.#p=typeof ResizeObserver>"u"?this.getBoundingClientRect().width:null,!this.#h&&typeof ResizeObserver<"u")this.#h=new ResizeObserver((t)=>this.#I(t));this.#h?.observe(this),this.#d({pinActive:!1})}disconnectedCallback(){this.#t.abort(),this.#h?.disconnect(),this.#m=null}attributeChangedCallback(t,e,s){if(e===s)return;if(this.#b||this.#a)return;if(kt.has(t))this.#d({pinActive:t!=="start"});else this.#r()}get start(){let t=this.getAttribute("start")||B();return u(t)?t:B()}set start(t){if(!u(t))throw TypeError("start must be YYYY-MM-DD");let e=this.visibleDayCount;this.setAttribute("start",e>0?j(t,this.min,this.max,e):t)}get dayCount(){let t=Number.parseInt(this.getAttribute("day-count")||"5",10);return Number.isFinite(t)?Math.max(1,Math.min(14,t)):5}set dayCount(t){let e=Math.max(1,Math.min(14,Number(t)||5));this.setAttribute("day-count",String(e))}get visibleDayCount(){if(!dt(this.min,this.max))return 0;let t=ut(this.dayCount,this.min,this.max);if(!this.responsive||this.#p===null)return t;return pt(t,this.#p,this.#v??O)}get responsive(){return this.hasAttribute("responsive")}set responsive(t){this.toggleAttribute("responsive",Boolean(t))}get responsiveBreakpoints(){return this.#v??O}set responsiveBreakpoints(t){if(this.#v=t?.length?ht(t):null,!this.isConnected||this.#a)return;this.#d({pinActive:!0})}get min(){let t=this.getAttribute("min");return t&&u(t)?t:""}set min(t){if(!t)this.removeAttribute("min");else if(u(t))this.setAttribute("min",t);else throw TypeError("min must be YYYY-MM-DD")}get max(){let t=this.getAttribute("max");return t&&u(t)?t:""}set max(t){if(!t)this.removeAttribute("max");else if(u(t))this.setAttribute("max",t);else throw TypeError("max must be YYYY-MM-DD")}get value(){let t=this.getAttribute("value")||"";return q(t)?t:""}set value(t){if(!t){this.removeAttribute("value");return}if(q(t))this.setAttribute("value",t);else throw TypeError("value must be a valid YYYY-MM-DDTHH:mm or empty")}get activeDate(){let t=this.visibleDayCount;if(!t)return"";let e=this.getAttribute("active-date")||"",s=u(e)?e:this.start;return k(this.start,t,s)}set activeDate(t){if(!t)this.removeAttribute("active-date");else if(u(t))this.setAttribute("active-date",t);else throw TypeError("active-date must be YYYY-MM-DD or empty")}get homeDate(){let t=this.getAttribute("home-date")||"";if(u(t))return t;return this.min||B()}set homeDate(t){if(!t)this.removeAttribute("home-date");else if(u(t))this.setAttribute("home-date",t);else throw TypeError("home-date must be YYYY-MM-DD or empty")}get layout(){return(this.getAttribute("layout")||"columns")==="day"?"day":"columns"}set layout(t){if(t!=="columns"&&t!=="day")throw TypeError('layout must be "columns" or "day"');this.setAttribute("layout",t)}get noticeDisplay(){let t=this.getAttribute("notice-display");return t==="inline"||t==="none"?t:"action"}set noticeDisplay(t){if(t!=="inline"&&t!=="action"&&t!=="none")throw TypeError('notice-display must be "inline", "action" or "none"');this.setAttribute("notice-display",t)}get closedDays(){return this.getAttribute("closed-days")==="hide"?"hide":"show"}set closedDays(t){if(t!=="show"&&t!=="hide")throw TypeError('closed-days must be "show" or "hide"');this.setAttribute("closed-days",t)}get expanded(){return this.hasAttribute("expanded")}set expanded(t){this.toggleAttribute("expanded",Boolean(t))}get maxVisibleRows(){let t=Number.parseInt(this.getAttribute("max-visible-rows")||"5",10);return Number.isFinite(t)?Math.max(1,t):5}set maxVisibleRows(t){this.setAttribute("max-visible-rows",String(Math.max(1,Number(t)||5)))}get days(){return this.#e.map((t)=>({...t,slots:t.slots.map((e)=>({...e}))}))}set days(t){this.#e=_(t),this.#s=null,this.#r()}set source(t){if(this.#t.source=t,this.isConnected)this.#A()}get source(){return this.#t.source}set messages(t){this.#i=t?{...t}:null,this.#r()}get locale(){return this.getAttribute("locale")||this.lang||document.documentElement.lang||navigator.language||"en"}set locale(t){if(!t)this.removeAttribute("locale");else this.setAttribute("locale",t)}get range(){let t=this.visibleDayCount;if(!t)return{start:"",end:"",dayCount:0};return mt(this.start,t)}previous(){this.#E(-this.visibleDayCount)}next(){this.#E(this.visibleDayCount)}goTo(t){let e=this.visibleDayCount;if(!e)return"";let s=u(t)?this.#M(t):this.start;return this.#g(()=>this.#S(s,e)),this.#w(),this.activeDate}goHome(){return this.goTo(this.homeDate)}async goToNextAvailability(t={}){if(!this.visibleDayCount)return null;let e=t.after??this.range.end;if(this.#t.hasNext){let s=await this.#t.next({after:e});if(s&&u(s))return this.goTo(s)||null;return null}return this.dispatchEvent(new CustomEvent("nextrequest",{detail:{after:e}})),null}configure(t={}){this.#T(t),this.#g(()=>{if(t.min!==void 0)this.min=t.min;if(t.max!==void 0)this.max=t.max;if(t.start!==void 0)this.start=t.start;if(t.dayCount!==void 0)this.dayCount=t.dayCount;if(t.layout!==void 0)this.layout=t.layout;if(t.value!==void 0)this.value=t.value;if(t.maxVisibleRows!==void 0)this.maxVisibleRows=t.maxVisibleRows;if(t.responsive!==void 0)this.responsive=t.responsive;if(t.homeDate!==void 0)this.homeDate=t.homeDate??"";if(t.responsiveBreakpoints!==void 0)this.responsiveBreakpoints=t.responsiveBreakpoints;if(t.closedDays!==void 0)this.closedDays=t.closedDays}),this.#d({pinActive:t.start===void 0})}#T(t){if(t.min&&!u(t.min))throw TypeError("min must be YYYY-MM-DD");if(t.max&&!u(t.max))throw TypeError("max must be YYYY-MM-DD");if(t.start!==void 0&&!u(t.start))throw TypeError("start must be YYYY-MM-DD");if(t.layout!==void 0&&t.layout!=="columns"&&t.layout!=="day")throw TypeError('layout must be "columns" or "day"');if(t.value&&!q(t.value))throw TypeError("value must be a valid YYYY-MM-DDTHH:mm or empty");if(t.homeDate&&!u(t.homeDate))throw TypeError("homeDate must be YYYY-MM-DD or empty");if(t.responsiveBreakpoints!=null&&!Array.isArray(t.responsiveBreakpoints))throw TypeError("responsiveBreakpoints must be an array or null");if(t.closedDays!==void 0&&t.closedDays!=="show"&&t.closedDays!=="hide")throw TypeError('closedDays must be "show" or "hide"')}async reload(){await this.#A()}#E(t){let e=this.visibleDayCount;if(!e)return;let s=j(M(this.start,t),this.min,this.max,e);if(s===this.start)return;this.#g(()=>this.setAttribute("start",s)),this.#w()}#S(t,e){let s=tt(this.start,e,t,this.min,this.max);if(s!==this.getAttribute("start"))this.setAttribute("start",s);let n=k(s,e,t);if(this.getAttribute("active-date")!==n)this.setAttribute("active-date",n)}#M(t){let e=t;if(this.min&&f(e,this.min)<0)e=this.min;if(this.max&&f(e,this.max)>0)e=this.max;return e}#g(t){let e=this.#a;this.#a=!0;try{t()}finally{this.#a=e}}#d(t={}){let e=t.pinActive??!0,s=t.reload??!0,n=this.#a;this.#a=!0;try{let o=this.visibleDayCount,i=o===0;if(this.toggleAttribute("data-invalid-range",i),!i){let a=this.getAttribute("active-date")||"",r=this.#x,l=this.start;if(e){if(r?.dayCount&&u(a))l=k(r.start,r.dayCount,a);else if(u(a))l=a;else if(r?.start)l=r.start}let c=tt(this.start,o,l,this.min,this.max);if(c!==this.getAttribute("start"))this.setAttribute("start",c);if(e&&u(l)){let h=k(c,o,l);if(this.getAttribute("active-date")!==h)this.setAttribute("active-date",h)}}}finally{this.#a=n}if(n)return;this.#w({reload:s})}#w(t={}){let e=t.reload??!0,s=this.range,n=this.visibleDayCount,o=n?this.activeDate:"",i=this.#x,a=i===null,r=a||s.start!==i.start||s.end!==i.end||s.dayCount!==i.dayCount,l=!a&&this.#f!==null&&o!==this.#f;if(this.#x=s,this.#f=o,this.#r(),!a&&r)this.dispatchEvent(new CustomEvent("rangechange",{detail:s}));if(!a&&l)this.dispatchEvent(new CustomEvent("daychange",{detail:{activeDate:o}}));if(!n)this.#t.abort(),this.#c+=1,this.#m=null,this.#n=!1,this.#s=null;else if(e&&this.#m!==this.#$(s))this.#A()}#$(t){return`${t.start}|${t.end}|${t.dayCount}`}#I(t){let e=t[t.length-1],s=e?.contentBoxSize?.[0],n=s?s.inlineSize:e?.contentRect.width??0,o=this.#Y()??n,i=this.visibleDayCount;if(this.#p=o,this.visibleDayCount!==i)this.#d({pinActive:!0})}#Y(){let t=this.querySelector(".sp-content");return t?t.getBoundingClientRect().width:null}#D(t,e=!0){let s=this.visibleDayCount;if(!s)return;let n=k(this.start,s,t),o=this.activeDate;if(n===o&&this.getAttribute("active-date")===n)return;if(this.setAttribute("active-date",n),this.#f=n,e&&n!==o)this.dispatchEvent(new CustomEvent("daychange",{detail:{activeDate:n}}))}async#A(){let t=++this.#c;if(!this.source||!this.visibleDayCount){this.#n=!1,this.#s=null,this.#r();return}let e=this.range;this.#m=this.#$(e),this.#n=!0,this.#s=null,this.#r(),this.dispatchEvent(new CustomEvent("loadstart",{detail:e}));try{let s=await this.#t.load(e);if(t!==this.#c||s===null)return;let n=Array.isArray(s)?s:s&&typeof s==="object"&&("days"in s)?s.days:[];if(this.#e=_(n),t!==this.#c)return;this.dispatchEvent(new CustomEvent("loadend",{detail:{...e,days:this.days}}))}catch(s){if(t!==this.#c)return;if(s instanceof DOMException&&s.name==="AbortError")return;this.#s=s,this.dispatchEvent(new CustomEvent("loaderror",{detail:{...e,error:s}}))}finally{if(t===this.#c)this.#n=!1,this.#r()}}#r(){if(this.#y)return;this.#y=!0,queueMicrotask(()=>{if(this.#y=!1,this.isConnected)this.#C()})}#B(t){if(t.classList.contains("sp-slot")){let e=t.getAttribute("data-value")||"";return e?`.sp-slot[data-value="${CSS.escape(e)}"]`:""}if(t.classList.contains("sp-strip-day")){let e=t.getAttribute("data-date")||"";return e?`.sp-strip-day[data-date="${CSS.escape(e)}"]`:""}if(t.classList.contains("sp-nav-prev"))return".sp-nav-prev";if(t.classList.contains("sp-nav-next"))return".sp-nav-next";if(t.classList.contains("sp-home"))return".sp-home";if(t.classList.contains("sp-range-empty-availability"))return".sp-range-empty-availability";if(t.classList.contains("sp-range-empty-next"))return".sp-range-empty-next";if(t.classList.contains("sp-more-button"))return".sp-more-button";if(t.classList.contains("sp-notice")){let e=t.getAttribute("data-day-index")||"";return e?`.sp-notice[data-day-index="${CSS.escape(e)}"]`:""}return""}#k(){return this.querySelector('.sp-slot[tabindex="0"]')??this.querySelector('.sp-strip-day[tabindex="0"]')}#u(){let t=this.visibleDayCount;if(!t)return[];let e=J(this.#e,this.start,t);if(this.closedDays!=="hide")return e;let s=this.activeDate;return e.filter((n)=>!n.closed||this.layout==="day"&&n.date===s)}#C(){let t=document.activeElement,e=t instanceof Element&&this.contains(t)?this.#B(t):"",s=this.#o;this.#o="";let n=this.visibleDayCount,o=n===0,i=n?J(this.#e,this.start,n):[],a=this.#u(),r=i.length>0&&i.every((w)=>w.closed),l=lt(this.#i),c=this.locale,h=!o&&(!this.min||f(this.start,this.min)>0),x=!o&&(!this.max||f(Y(this.start,n),this.max)<0),d=!this.#n&&!this.#s&&!ft(a),m,A=!1;if(d)m=xt({start:this.range.start,end:this.range.end,invalid:o,canNext:x,nextAvailability:this.hasAttribute("next-availability"),closed:r,locale:c,messages:l});else if(this.layout==="day")m=Dt({visible:a,activeDate:this.activeDate,today:B(),value:this.value,focusedValue:this.#l,noticeDisplay:this.noticeDisplay,messages:l,locale:c}).html;else{let w=wt({visible:a,value:this.value,focusedValue:this.#l,maxVisibleRows:this.maxVisibleRows,expanded:this.expanded,noticeDisplay:this.noticeDisplay,messages:l,locale:c});m=w.html,A=w.hasOverflow}let N=this.#n?`<div class="sp-status sp-visually-hidden" role="status">${p(l.loading)}</div>`:this.#s?`<div class="sp-status sp-status-error" role="status">${p(String(this.#s))}</div>`:"",V=this.hasAttribute("home-date")&&!o,v=V&&f(this.homeDate,this.range.start)>=0&&f(this.homeDate,this.range.end)<=0;if(this.style.setProperty("--_sp-day-count",String(Math.max(1,a.length))),this.style.setProperty("--_sp-max-visible-rows",String(this.maxVisibleRows)),this.#n)this.setAttribute("aria-busy","true");else this.removeAttribute("aria-busy");this.innerHTML=`<div class="sp-shell" data-layout="${this.layout}">
26
+ <div class="sp-projection">
27
+ <button type="button" class="sp-nav sp-nav-prev" aria-label="${b(l.previous)}"${h?"":" disabled"}>${Yt}</button>
28
+ <div class="sp-content">
29
+ ${N}
30
+ ${m}
31
+ ${A?`<div class="sp-more"><button type="button" class="sp-more-button">${p(this.expanded?l.showLess:l.showMore)}</button></div>`:""}
32
+ </div>
33
+ <button type="button" class="sp-nav sp-nav-next" aria-label="${b(l.next)}"${x?"":" disabled"}>${Bt}</button>
34
+ </div>
35
+ ${V?`<div class="sp-shortcuts">${v?"":`<button type="button" class="sp-home">${p(l.home)}</button>`}</div>`:""}
36
+ </div>`;let E=s||e;if(E){let w=this.querySelector(E)??this.#k();if(w instanceof HTMLElement)w.focus({preventScroll:!0})}}#N(t){let e=t.target instanceof Element?t.target:null;if(!e)return;if(e.closest(".sp-nav-prev"))return this.previous();if(e.closest(".sp-nav-next"))return this.next();if(e.closest(".sp-home"))return this.#o='.sp-slot[tabindex="0"]',this.goHome();if(e.closest(".sp-nav-availability")){this.goToNextAvailability();return}if(e.closest(".sp-range-empty-availability")){this.goToNextAvailability();return}if(e.closest(".sp-range-empty-next"))return this.next();if(e.closest(".sp-more-button")){this.expanded=!this.expanded;return}let n=e.closest(".sp-strip-day");if(n instanceof HTMLButtonElement){let a=n.getAttribute("data-date")||"";if(u(a))this.#o=`.sp-strip-day[data-date="${CSS.escape(a)}"]`,this.#D(a);return}let o=e.closest(".sp-notice[data-day-index]");if(o instanceof HTMLElement){let a=Number(o.getAttribute("data-day-index")),r=this.#u()[a];if(r?.notice)this.dispatchEvent(new CustomEvent("noticeactivate",{detail:{day:r,notice:r.notice,anchor:o},bubbles:!0}));return}let i=e.closest(".sp-slot");if(i instanceof HTMLButtonElement)this.#O(i)}#V(t){if(!(t.target instanceof HTMLButtonElement))return;let e=t.target;if(e.classList.contains("sp-strip-day"))return this.#R(t);if(!e.classList.contains("sp-slot"))return;let n={ArrowUp:"up",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right",Home:"home",End:"end"}[t.key];if(!n)return;t.preventDefault();let o=this.#u();if(this.layout==="day"){this.#L(t,o,n);return}let{days:i}=P(o,this.maxVisibleRows,this.expanded),a={dayIndex:Number(e.dataset.dayIndex),slotIndex:Number(e.dataset.slotIndex)},r=yt(i,a,n),l=i[r.dayIndex],c=l?.slots[r.slotIndex];if(!c||c.disabled)return;let h=g(l.date,c.start);this.#l=h,this.#o=`.sp-slot[data-value="${CSS.escape(h)}"]`,this.#C()}#R(t){let s={ArrowLeft:-1,ArrowRight:1,Home:"home",End:"end"}[t.key];if(s===void 0)return;t.preventDefault();let n=this.#u(),o=Math.max(0,n.findIndex((r)=>r.date===this.activeDate)),i=o;if(s==="home")i=0;else if(s==="end")i=n.length-1;else if(typeof s==="number")i=Math.max(0,Math.min(n.length-1,o+s));let a=n[i];if(!a||a.date===this.activeDate){let r=this.querySelector(`.sp-strip-day[data-date="${CSS.escape(this.activeDate)}"]`);if(r instanceof HTMLButtonElement)r.focus();return}this.#o=`.sp-strip-day[data-date="${CSS.escape(a.date)}"]`,this.#D(a.date)}#L(t,e,s){if(!(t.target instanceof HTMLButtonElement))return;let n=t.target,o=Math.max(0,e.findIndex((d)=>d.date===this.activeDate)),i=e[o];if(!i)return;let a=i.slots.map((d,m)=>({slot:d,slotIndex:m})).filter(({slot:d})=>!d.disabled);if(!a.length)return;let r=Number(n.dataset.slotIndex),l=a.findIndex(({slotIndex:d})=>d===r);if(l<0){let d=n.getAttribute("data-value")||"";l=Math.max(0,a.findIndex(({slot:m})=>g(i.date,m.start)===(this.#l||this.value||d)))}let c=l;if(s==="home")c=0;else if(s==="end")c=a.length-1;else if(s==="left"||s==="up")c=Math.max(0,l-1);else c=Math.min(a.length-1,l+1);let h=a[c];if(!h)return;let x=g(i.date,h.slot.start);this.#l=x,this.#o=`.sp-slot[data-value="${CSS.escape(x)}"]`,this.#C()}#O(t){if(t.disabled)return;let e=Number(t.dataset.dayIndex),s=Number(t.dataset.slotIndex),n=this.#u()[e],o=n?.slots[s];if(!n||!o||o.disabled)return;let i=g(n.date,o.start);this.#o=`.sp-slot[data-value="${CSS.escape(i)}"]`,this.#D(n.date),this.value=i,this.#l=i,this.dispatchEvent(new CustomEvent("slotactivate",{detail:{value:i,day:n,slot:o},bubbles:!0}))}}if(!customElements.get("slot-picker"))customElements.define("slot-picker",nt);})();
@@ -0,0 +1,23 @@
1
+ /** @param {string} value */
2
+ export declare function isDateValue(value: string): boolean;
3
+ /** @param {string} value @param {number} amount */
4
+ export declare function addDays(value: string, amount: number): string;
5
+ /** @param {string} a @param {string} b */
6
+ export declare function compareDates(a: string, b: string): number;
7
+ /**
8
+ * Signed civil day difference (b - a).
9
+ * @param {string} a
10
+ * @param {string} b
11
+ */
12
+ export declare function daysBetween(a: string, b: string): number;
13
+ /**
14
+ * Inclusive visible civil range.
15
+ * @param {string} start
16
+ * @param {number} dayCount
17
+ */
18
+ export declare function rangeEnd(start: string, dayCount: number): string;
19
+ /** @param {string} value */
20
+ export declare function toUtcDate(value: string): Date;
21
+ /** Local civil "today" without timezone conversion of public values. */
22
+ export declare function todayValue(): string;
23
+ //# sourceMappingURL=date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/date.js"],"names":[],"mappings":"AAEA,4BAA4B;AAC5B,wBAAgB,WAAW,CAAC,KAAK,EADrB,MACqB,WAKhC;AASD,mDAAmD;AACnD,wBAAgB,OAAO,CAAC,KAAK,EADjB,MACiB,EAAE,MAAM,EADH,MACG,UAQpC;AAED,0CAA0C;AAC1C,wBAAgB,YAAY,CAAC,CAAC,EADlB,MACkB,EAAE,CAAC,EADH,MACG,UAEhC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAHlB,MAGkB,EAAE,CAAC,EAFrB,MAEqB,UAE/B;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAHnB,MAGmB,EAAE,QAAQ,EAF7B,MAE6B,UAEvC;AAED,4BAA4B;AAC5B,wBAAgB,SAAS,CAAC,KAAK,EADnB,MACmB,QAG9B;AAED,wEAAwE;AACxE,wBAAgB,UAAU,WAOzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/define.js"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export { addDays, compareDates, daysBetween, isDateValue, rangeEnd, todayValue } from "./date.js";
2
+ export { DEFAULT_MESSAGES, getDefaultMessages, resolveMessages, setDefaultMessages } from "./messages.js";
3
+ export { boundedDayCount, clampStart, collapsedDays, ensureVisible, focusableSlots, hasDayContent, hasSlots, isSlotValue, isTimeValue, isValidRange, moveFocus, normalizeBreakpoints, normalizeDays, RESPONSIVE_BREAKPOINTS, rangeDetail, resolveActiveDate, resolveVisibleDayCount, slotValue, visibleDays, } from "./model.js";
4
+ export { SlotPickerElement } from "./slot-picker.js";
5
+ export { SlotSourceController } from "./source.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC1G,OAAO,EACL,eAAe,EACf,UAAU,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,SAAS,EACT,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=ar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ar.d.ts","sourceRoot":"","sources":["../../../src/locales/ar.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=de.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../../src/locales/de.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/locales/en.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=es.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../../src/locales/es.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=fr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../../src/locales/fr.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=hi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hi.d.ts","sourceRoot":"","sources":["../../../src/locales/hi.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/locales/id.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=it.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"it.d.ts","sourceRoot":"","sources":["../../../src/locales/it.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=ja.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ja.d.ts","sourceRoot":"","sources":["../../../src/locales/ja.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=ko.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ko.d.ts","sourceRoot":"","sources":["../../../src/locales/ko.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=nl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nl.d.ts","sourceRoot":"","sources":["../../../src/locales/nl.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=pl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pl.d.ts","sourceRoot":"","sources":["../../../src/locales/pl.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=pt-BR.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pt-BR.d.ts","sourceRoot":"","sources":["../../../src/locales/pt-BR.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=pt-PT.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pt-PT.d.ts","sourceRoot":"","sources":["../../../src/locales/pt-PT.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=ru.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ru.d.ts","sourceRoot":"","sources":["../../../src/locales/ru.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=tr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../src/locales/tr.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ previous: string;
3
+ next: string;
4
+ home: string;
5
+ nextAvailability: string;
6
+ showMore: string;
7
+ showLess: string;
8
+ loading: string;
9
+ empty: string;
10
+ closed: string;
11
+ closedRange: string;
12
+ rangeEmptyTitle: string;
13
+ rangeEmptyDescription: string;
14
+ rangeEmptyNext: string;
15
+ oneSlot: string;
16
+ manySlots: string;
17
+ days: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=zh-CN.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../../src/locales/zh-CN.js"],"names":[],"mappings":";IACE,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,OAAO;IACP,SAAS;IACT,IAAI"}