/*! * (C) Ionic http://ionicframework.com - MIT License */ import{p as e}from"./p-06fee233.js";const t=(e,t)=>e.month===t.month&&e.day===t.day&&e.year===t.year,n=(e,t)=>!!(e.year!!(e.year>t.year||e.year===t.year&&e.month>t.month||e.year===t.year&&e.month===t.month&&null!==e.day&&e.day>t.day),r=(t,r,a)=>{const i=Array.isArray(t)?t:[t];for(const d of i)if(void 0!==r&&n(d,r)||void 0!==a&&o(d,a)){e(`The value provided to ion-datetime is out of bounds.\n\nMin: ${JSON.stringify(r)}\nMax: ${JSON.stringify(a)}\nValue: ${JSON.stringify(t)}`);break}},a=(e,t)=>{if(void 0!==t)return t;const n=new Intl.DateTimeFormat(e,{hour:"numeric"}),o=n.resolvedOptions();if(void 0!==o.hourCycle)return o.hourCycle;const r=new Date("5/18/2021 00:00"),a=n.formatToParts(r).find((e=>"hour"===e.type));if(!a)throw new Error("Hour value not found from DateTimeFormat");switch(a.value){case"0":return"h11";case"12":return"h12";case"00":return"h23";case"24":return"h24";default:throw new Error(`Invalid hour cycle "${t}"`)}},i=e=>"h23"===e||"h24"===e,d=(e,t)=>4===e||6===e||9===e||11===e?30:2===e?(e=>e%4==0&&e%100!=0||e%400==0)(t)?29:28:31,u=(e,t={month:"numeric",year:"numeric"})=>"month"===new Intl.DateTimeFormat(e,t).formatToParts(new Date)[0].type,l=e=>"dayPeriod"===new Intl.DateTimeFormat(e,{hour:"numeric"}).formatToParts(new Date)[0].type,s=/^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/,c=/^((\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/,v=e=>{if(void 0===e)return;let t,n=e;return"string"==typeof e&&(n=e.replace(/\[|\]|\s/g,"").split(",")),t=Array.isArray(n)?n.map((e=>parseInt(e,10))).filter(isFinite):[n],t},m=e=>({month:parseInt(e.getAttribute("data-month"),10),day:parseInt(e.getAttribute("data-day"),10),year:parseInt(e.getAttribute("data-year"),10),dayOfWeek:parseInt(e.getAttribute("data-day-of-week"),10)});function y(t){if(Array.isArray(t)){const e=[];for(const n of t){const t=y(n);if(!t)return;e.push(t)}return e}let n=null;if(null!=t&&""!==t&&(n=c.exec(t),n?(n.unshift(void 0,void 0),n[2]=n[3]=void 0):n=s.exec(t)),null!==n){for(let e=1;e<8;e++)n[e]=void 0!==n[e]?parseInt(n[e],10):void 0;return{year:n[1],month:n[2],day:n[3],hour:n[4],minute:n[5],ampm:n[4]<12?"am":"pm"}}e(`Unable to parse date string: ${t}. Please provide a valid ISO 8601 datetime string.`)}const h=(e,t,r)=>t&&n(e,t)?t:r&&o(e,r)?r:e,f=e=>e>=12?"pm":"am",w=(e,t)=>{const n=y(e);if(void 0===n)return;const{month:o,day:r,year:a,hour:i,minute:u}=n,l=null!=a?a:t.year,s=null!=o?o:12;return{month:s,day:null!=r?r:d(s,l),year:l,hour:null!=i?i:23,minute:null!=u?u:59}},O=(e,t)=>{const n=y(e);if(void 0===n)return;const{month:o,day:r,year:a,hour:i,minute:d}=n;return{month:null!=o?o:1,day:null!=r?r:1,year:null!=a?a:t.year,hour:null!=i?i:0,minute:null!=d?d:0}},$=e=>("0"+(void 0!==e?Math.abs(e):"0")).slice(-2);function p(e){if(Array.isArray(e))return e.map((e=>p(e)));let t="";var n;return void 0!==e.year?(t=("000"+(void 0!==(n=e.year)?Math.abs(n):"0")).slice(-4),void 0!==e.month&&(t+="-"+$(e.month),void 0!==e.day&&(t+="-"+$(e.day),void 0!==e.hour&&(t+=`T${$(e.hour)}:${$(e.minute)}:00`)))):void 0!==e.hour&&(t=$(e.hour)+":"+$(e.minute)),t}const b=(e,t)=>void 0===t?e:"am"===t?12===e?0:e:12===e?12:e+12,I=e=>{const{dayOfWeek:t}=e;if(null==t)throw new Error("No day of week provided");return M(e,t)},j=e=>{const{dayOfWeek:t}=e;if(null==t)throw new Error("No day of week provided");return Z(e,6-t)},T=e=>Z(e,1),D=e=>M(e,1),k=e=>M(e,7),x=e=>Z(e,7),M=(e,t)=>{const{month:n,day:o,year:r}=e;if(null===o)throw new Error("No day provided");const a={month:n,day:o,year:r};if(a.day=o-t,a.day<1&&(a.month-=1),a.month<1&&(a.month=12,a.year-=1),a.day<1){const e=d(a.month,a.year);a.day=e+a.day}return a},Z=(e,t)=>{const{month:n,day:o,year:r}=e;if(null===o)throw new Error("No day provided");const a={month:n,day:o,year:r},i=d(n,r);return a.day=o+t,a.day>i&&(a.day-=i,a.month+=1),a.month>12&&(a.month=1,a.year+=1),a},C=e=>{const t=1===e.month?12:e.month-1,n=1===e.month?e.year-1:e.year,o=d(t,n);return{month:t,year:n,day:o{const t=12===e.month?1:e.month+1,n=12===e.month?e.year+1:e.year,o=d(t,n);return{month:t,year:n,day:o{const n=e.month,o=e.year+t,r=d(n,o);return{month:n,year:o,day:rg(e,-1),N=e=>g(e,1),P=(e,t,n)=>t?e:b(e,n),A=(e,t)=>{const{ampm:n,hour:o}=e;let r=o;return"am"===n&&"pm"===t?r=b(r,"pm"):"pm"===n&&"am"===t&&(r=Math.abs(r-12)),r},G=(e,n,o)=>{const{month:r,day:a,year:i}=e,u=h(Object.assign({},e),n,o),l=d(r,i);return null!==a&&lo.hour?(u.hour=o.hour,u.minute=o.minute):u.hour===o.hour&&void 0!==u.minute&&void 0!==o.minute&&u.minute>o.minute&&(u.minute=o.minute)),u},V=({refParts:e,monthValues:r,dayValues:a,yearValues:i,hourValues:d,minuteValues:u,minParts:l,maxParts:s})=>{const{hour:c,minute:v,day:m,month:y,year:h}=e,w=Object.assign(Object.assign({},e),{dayOfWeek:void 0});if(void 0!==i){const e=i.filter((e=>!(void 0!==l&&es.year)));w.year=W(h,e)}if(void 0!==r){const e=r.filter((e=>!(void 0!==l&&w.year===l.year&&es.month)));w.month=W(y,e)}if(null!==m&&void 0!==a){const e=a.filter((e=>!(void 0!==l&&n(Object.assign(Object.assign({},w),{day:e}),l)||void 0!==s&&o(Object.assign(Object.assign({},w),{day:e}),s))));w.day=W(m,e)}if(void 0!==c&&void 0!==d){const e=d.filter((e=>!(void 0!==(null==l?void 0:l.hour)&&t(w,l)&&es.hour)));w.hour=W(c,e),w.ampm=f(w.hour)}if(void 0!==v&&void 0!==u){const e=u.filter((e=>!(void 0!==(null==l?void 0:l.minute)&&t(w,l)&&w.hour===l.hour&&es.minute)));w.minute=W(v,e)}return w},W=(e,t)=>{let n=t[0],o=Math.abs(n-e);for(let r=1;rObject.assign(Object.assign({},e),{timeZone:"UTC",timeZoneName:void 0}),J=(e,t,n,o={hour:"numeric",minute:"numeric"})=>{const r={hour:t.hour,minute:t.minute};return void 0===r.hour||void 0===r.minute?"Invalid Time":new Intl.DateTimeFormat(e,Object.assign(Object.assign({},F(o)),{hourCycle:n})).format(new Date(p(Object.assign({year:2023,day:1,month:1},r))+"Z"))},S=e=>{const t=e.toString();return t.length>1?t:`0${t}`},H=(e,t)=>{if(0===e)switch(t){case"h11":return"0";case"h12":return"12";case"h23":return"00";case"h24":return"24";default:throw new Error(`Invalid hour cycle "${t}"`)}return i(t)?S(e):e.toString()},R=(e,t,n)=>{if(null===n.day)return null;const o=K(n),r=new Intl.DateTimeFormat(e,{weekday:"long",month:"long",day:"numeric",timeZone:"UTC"}).format(o);return t?`Today, ${r}`:r},q=(e,t)=>{const n=K(t);return new Intl.DateTimeFormat(e,{month:"long",year:"numeric",timeZone:"UTC"}).format(n)},z=(e,t)=>Q(e,t,{day:"numeric"}).find((e=>"day"===e.type)).value,B=(e,t)=>L(e,t,{year:"numeric"}),K=e=>{var t,n,o;return new Date(`${null!==(t=e.month)&&void 0!==t?t:1}/${null!==(n=e.day)&&void 0!==n?n:1}/${null!==(o=e.year)&&void 0!==o?o:2023}${void 0!==e.hour&&void 0!==e.minute?` ${e.hour}:${e.minute}`:""} GMT+0000`)},L=(e,t,n)=>{const o=K(t);return X(e,F(n)).format(o)},Q=(e,t,n)=>{const o=K(t);return X(e,n).formatToParts(o)},X=(e,t)=>new Intl.DateTimeFormat(e,Object.assign(Object.assign({},t),{timeZone:"UTC"})),Y=e=>{if("RelativeTimeFormat"in Intl){const t=new Intl.RelativeTimeFormat(e,{numeric:"auto"}).format(0,"day");return t.charAt(0).toUpperCase()+t.slice(1)}return"Today"},_=e=>{const t=e.getTimezoneOffset();return e.setMinutes(e.getMinutes()-t),e},ee=_(new Date("2022T01:00")),te=_(new Date("2022T13:00")),ne=(e,t)=>{const n="am"===t?ee:te,o=new Intl.DateTimeFormat(e,{hour:"numeric",timeZone:"UTC"}).formatToParts(n).find((e=>"dayPeriod"===e.type));return o?o.value:(e=>void 0===e?"":e.toUpperCase())(t)},oe=e=>Array.isArray(e)?e.join(","):e,re=()=>_(new Date).toISOString(),ae=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59],ie=[0,1,2,3,4,5,6,7,8,9,10,11],de=[0,1,2,3,4,5,6,7,8,9,10,11],ue=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],le=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,0],se=(e,t,n=0)=>{const o=new Intl.DateTimeFormat(e,{weekday:"ios"===t?"short":"narrow"}),r=new Date("11/01/2020"),a=[];for(let e=n;e{const o=d(e,t),r=new Date(`${e}/1/${t}`).getDay(),a=r>=n?r-(n+1):6-(n-r);let i=[];for(let e=1;e<=o;e++)i.push({day:e,dayOfWeek:(a+e)%7});for(let e=0;e<=a;e++)i=[{day:null,dayOfWeek:null},...i];return i},ve=(e,r,d="h12",u,l,s,c)=>{const v=a(e,d),m=i(v);let y=(e=>{switch(e){case"h11":return ie;case"h12":return de;case"h23":return ue;case"h24":return le;default:throw new Error(`Invalid hour cycle "${e}"`)}})(v),h=ae,f=!0,w=!0;if(s&&(y=y.filter((e=>s.includes(e)))),c&&(h=h.filter((e=>c.includes(e)))),u)if(t(r,u)){if(void 0!==u.hour&&(y=y.filter((e=>(m?e:"pm"===r.ampm?(e+12)%24:e)>=u.hour)),f=u.hour<13),void 0!==u.minute){let e=!1;void 0!==u.hour&&void 0!==r.hour&&r.hour>u.hour&&(e=!0),h=h.filter((t=>!!e||t>=u.minute))}}else n(r,u)&&(y=[],h=[],f=w=!1);return l&&(t(r,l)?(void 0!==l.hour&&(y=y.filter((e=>(m?e:"pm"===r.ampm?(e+12)%24:e)<=l.hour)),w=l.hour>=12),void 0!==l.minute&&r.hour===l.hour&&(h=h.filter((e=>e<=l.minute)))):o(r,l)&&(y=[],h=[],f=w=!1)),{hours:y,minutes:h,am:f,pm:w}},me=(e,t)=>{const o={month:e.month,year:e.year,day:e.day};if(void 0!==t&&(e.month!==t.month||e.year!==t.year)){const r={month:t.month,year:t.year,day:t.day};return n(r,o)?[r,o,U(e)]:[C(e),o,r]}return[C(e),o,U(e)]},ye=(e,t,n,o,r,a={month:"long"})=>{const{year:i}=t,d=[];if(void 0!==r){let t=r;void 0!==(null==o?void 0:o.month)&&(t=t.filter((e=>e<=o.month))),void 0!==(null==n?void 0:n.month)&&(t=t.filter((e=>e>=n.month))),t.forEach((t=>{const n=new Date(`${t}/1/${i} GMT+0000`),o=new Intl.DateTimeFormat(e,Object.assign(Object.assign({},a),{timeZone:"UTC"})).format(n);d.push({text:o,value:t})}))}else{const t=o&&o.year===i?o.month:12;for(let o=n&&n.year===i?n.month:1;o<=t;o++){const t=new Date(`${o}/1/${i} GMT+0000`),n=new Intl.DateTimeFormat(e,Object.assign(Object.assign({},a),{timeZone:"UTC"})).format(t);d.push({text:n,value:o})}}return d},he=(e,t,n,o,r,a={day:"numeric"})=>{const{month:i,year:u}=t,l=[],s=d(i,u),c=null!=(null==o?void 0:o.day)&&o.year===u&&o.month===i?o.day:s,v=null!=(null==n?void 0:n.day)&&n.year===u&&n.month===i?n.day:1;if(void 0!==r){let t=r;t=t.filter((e=>e>=v&&e<=c)),t.forEach((t=>{const n=new Date(`${i}/${t}/${u} GMT+0000`),o=new Intl.DateTimeFormat(e,Object.assign(Object.assign({},a),{timeZone:"UTC"})).format(n);l.push({text:o,value:t})}))}else for(let t=v;t<=c;t++){const n=new Date(`${i}/${t}/${u} GMT+0000`),o=new Intl.DateTimeFormat(e,Object.assign(Object.assign({},a),{timeZone:"UTC"})).format(n);l.push({text:o,value:t})}return l},fe=(e,t,n,o,r)=>{var a,i;let d=[];if(void 0!==r)d=r,void 0!==(null==o?void 0:o.year)&&(d=d.filter((e=>e<=o.year))),void 0!==(null==n?void 0:n.year)&&(d=d.filter((e=>e>=n.year)));else{const{year:e}=t,r=null!==(a=null==o?void 0:o.year)&&void 0!==a?a:e;for(let t=null!==(i=null==n?void 0:n.year)&&void 0!==i?i:e-100;t<=r;t++)d.push(t)}return d.map((n=>({text:B(e,{year:n,month:t.month,day:t.day}),value:n})))},we=(e,t)=>e.month===t.month&&e.year===t.year?[e]:[e,...we(U(e),t)],Oe=(e,n,o,r,a,i)=>{let d=[],u=[],l=we(o,r);return i&&(l=l.filter((({month:e})=>i.includes(e)))),l.forEach((i=>{const l={month:i.month,day:null,year:i.year},s=he(e,l,o,r,a,{month:"short",day:"numeric",weekday:"short"}),c=[],v=[];s.forEach((o=>{const r=t(Object.assign(Object.assign({},l),{day:o.value}),n);v.push({text:r?Y(e):o.text,value:`${l.year}-${l.month}-${o.value}`}),c.push({month:l.month,year:l.year,day:o.value})})),u=[...u,...c],d=[...d,...v]})),{parts:u,items:d}},$e=(e,t,n,o,r,d,u)=>{const l=a(e,n),s=i(l),{hours:c,minutes:v,am:m,pm:y}=ve(e,t,l,o,r,d,u),h=c.map((e=>({text:H(e,l),value:P(e,s,t.ampm)}))),f=v.map((e=>({text:S(e),value:e}))),w=[];return m&&!s&&w.push({text:ne(e,"am"),value:"am"}),y&&!s&&w.push({text:ne(e,"pm"),value:"pm"}),{minutesData:f,hoursData:h,dayPeriodData:w}};export{d as A,Oe as B,ye as C,he as D,fe as E,u as F,$e as G,l as H,se as I,q as J,ce as K,a as L,J as M,L as N,oe as O,h as P,f as Q,A as R,z as a,o as b,t as c,C as d,U as e,m as f,R as g,N as h,n as i,E as j,j as k,I as l,D as m,T as n,k as o,x as p,O as q,w as r,y as s,v as t,p as u,G as v,r as w,re as x,V as y,me as z}