@kyndryl-design-system/shidoka-applications 2.9.2 → 2.9.3

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.
@@ -50,6 +50,7 @@ interface FlatpickrOptionsContext {
50
50
  wrap?: boolean;
51
51
  noCalendar?: boolean;
52
52
  appendTo?: HTMLElement;
53
+ static?: boolean;
53
54
  }
54
55
  export declare function isSupportedLocale(locale: string): boolean;
55
56
  export declare function preventFlatpickrOpen(event: Event, setShouldFlatpickrOpen: (value: boolean) => void): void;
@@ -1 +1 @@
1
- {"version":3,"file":"flatpickr.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/flatpickr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flatpickr.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/flatpickr.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAKrD,eAAO,MAAM,UAAU,UA8DtB,CAAC;AAIF,UAAU,oBAAoB;IAC5B,mBAAmB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,qBAAqB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpD,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;CAChD;AAED,UAAU,sBAAuB,SAAQ,oBAAoB;IAC3D,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,UAAU,qBAAsB,SAAQ,oBAAoB;IAC1D,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,QAAA,MAAM,mBAAmB;;;;;;;;CAQf,CAAC;AAEX,KAAK,gBAAgB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAEzD,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,sBAAsB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAC/C,IAAI,CAKN;AAED,wBAAgB,gBAAgB,CAC9B,sBAAsB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAC/C,IAAI,CAEN;AAED,wBAAgB,gBAAgB,CAC9B,mBAAmB,EAAE,OAAO,EAC5B,cAAc,EAAE,MAAM,IAAI,EAC1B,sBAAsB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAC/C,IAAI,CAKN;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAM5E;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAQ/D;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA2E/B;AAED,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,sBAAsB,GAAG;IAAE,QAAQ,CAAC,EAAE,WAAW,CAAA;CAAE,GAC3D,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA+D/B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,gBAAgB,CAE5E;AAED,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,OAAO,GACpB,MAAM,CAYR;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAwH/B;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,EAClB,aAAa,CAAC,EAAE,OAAO,GACtB,IAAI,CA+BN;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CA4BzE;AAED,wBAAgB,aAAa,IAAI,IAAI,CAuBpC;AAED,wBAAgB,QAAQ,CACtB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,gBAAgB,GAC1B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CA4BjD;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,GAAG,GACV,IAAI,CAQN"}
@@ -1,2 +1,2 @@
1
- import{r as e,f as n,E as t}from"../../vendor/flatpickr-bbd13d61.js";let a=!1;const i=["ar","at","az","be","bg","bn","bs","cat","cs","cy","da","de","en","eo","es","et","fa","fi","fo","fr","ga","gr","he","hi","hr","hu","id","is","it","ja","ka","km","ko","kz","lt","lv","mk","mn","ms","my","nl","no","pa","pl","pt","ro","ru","si","sk","sl","sq","sr","sv","th","tr","uk","uz","uz_latn","vn","zh_tw","zh"],o={"Y-m-d":"yyyy-mm-dd","m-d-Y":"mm-dd-yyyy","d-m-Y":"dd-mm-yyyy","Y-m-d H:i":"yyyy-mm-dd —— : ——","Y-m-d H:i:s":"yyyy-mm-dd —— : —— ——","m-d-Y H:i:s":"mm-dd-yyyy —— : —— ——","d-m-Y H:i:s":"dd-mm-yyyy —— : —— ——"};function l(e){return i.includes(e)}function r(e,n){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),n(!1)}function s(e){e(!0)}function c(e,n,t){e||(n(),t(!0))}function d(e){e.weekdays&&e.weekdays.shorthand&&(e.weekdays.shorthand=e.weekdays.shorthand.map((e=>e.charAt(0))))}function u(e){if(!a){const n=document.createElement("style");n.id="flatpickr-custom-styles",n.textContent=e,document.head.appendChild(n),a=!0}}async function m(t){const{inputEl:a,endinputEl:i,getFlatpickrOptions:o,setCalendarAttributes:l,setInitialDates:r}=t;if(a)try{const t=await o(),s=e=>{if(e instanceof HTMLInputElement)return e;{let n=e.querySelector("input");return n||(n=document.createElement("input"),n.type="text",n.style.display="none",e.appendChild(n)),n}},c=s(a);if(i){const n=s(i);t.plugins=[...t.plugins||[],e({input:n})]}const d=n(c,t);return d?(setTimeout((()=>{l&&l(d)}),0),r&&r(d),a instanceof HTMLInputElement||a.addEventListener("click",(()=>{d.open()})),!i||i instanceof HTMLInputElement||i.addEventListener("click",(()=>{d.open()})),d):void console.error("Failed to initialize Flatpickr")}catch(e){return void console.error("Error initializing Flatpickr:",e)}else console.error("Cannot initialize Flatpickr: inputEl is undefined")}async function p(e){const{inputEl:t,getFlatpickrOptions:a,setCalendarAttributes:i,setInitialDates:o,appendTo:l}=e;if(t)try{const e=await a();let r;e.dateFormat=e.dateFormat||"Y-m-d",t instanceof HTMLInputElement?(r=t,e.clickOpens=!0):(r=document.createElement("input"),r.type="text",r.style.display="none",l?l.appendChild(r):t instanceof HTMLElement&&!(t instanceof HTMLInputElement)?t.appendChild(r):document.body.appendChild(r),e.clickOpens=!1,e.positionElement=t);const s=n(r,e);return s?(setTimeout((()=>{i&&i(s)}),0),o&&o(s),t instanceof HTMLInputElement||t.addEventListener("click",(()=>s.open())),s):void console.error("Failed to initialize Flatpickr")}catch(e){return console.error("Error initializing Flatpickr:",e),void(e instanceof Error&&console.error("Error details:",e.message))}else console.error("Cannot initialize Flatpickr: inputEl is undefined")}function f(e){return e in o}function y(e,n){let t;return f(e)?(t=n?`${o[e]} to ${o[e]}`:o[e],t):"Select date"}async function h(e){const{locale:n,dateFormat:t,enableTime:a,twentyFourHourFormat:i,inputEl:o,allowInput:l,minDate:r,maxDate:s,minTime:c,maxTime:u,defaultDate:m,defaultHour:p,defaultMinute:f,enable:y,disable:h,mode:g="single",closeOnSelect:k,wrap:E=!1,noCalendar:b=!1,onChange:v,onClose:C,onOpen:w,loadLocale:F,appendTo:L}=e;n||console.warn("Locale not provided. Falling back to default."),t||console.warn("Date format not provided. Using default format.");const T=await F(n);d(T);const H=["en","en-US","en-GB","es-MX"].includes(n),M=window.innerWidth>=767,I={dateFormat:t||("time"===g?"H:i":"Y-m-d"),mode:"time"===g?"single":g,enableTime:"time"===g||a,noCalendar:"time"===g||b,allowInput:l||!1,clickOpens:!0,time_24hr:"boolean"==typeof i?i:!H,weekNumbers:!1,wrap:E,showMonths:"range"===g&&M?2:1,monthSelectorType:"static",locale:T,closeOnSelect:null!=k?k:!("multiple"===g||a),onChange:(e,n,t)=>{v&&v(e,n,t)},onClose:(e,n,t)=>{if("range"===g){const n=t.calendarContainer.querySelector(".flatpickr-time");0===e.length&&(null==n||n.classList.add("default-time-select"),null==n||n.classList.remove("start-date","end-date"))}C&&C(e,n,t)},onOpen:(e,n,t)=>{w&&w(e,n,t)}};return"range"===g&&(I.onReady=(e,n,t)=>{const a=t.calendarContainer.querySelector(".flatpickr-time");null==a||a.classList.add("default-time-select")}),o instanceof HTMLInputElement||(I.positionElement=o),r&&(I.minDate=r),s&&(I.maxDate=s),c&&(I.minTime=c),u&&(I.maxTime=u),m&&((!Array.isArray(m)||"range"!==g&&"multiple"!==g)&&Array.isArray(m)||(I.defaultDate=m)),void 0!==p&&(I.defaultHour=p),void 0!==f&&(I.defaultMinute=f),y&&y.length>0&&(I.enable=y),h&&h.length>0&&(I.disable=h),L&&(I.appendTo=L),I}function g(e){return e.includes("H:")||e.includes("h:")}function k(e,n){if(e&&e.calendarContainer){e.calendarContainer.setAttribute("role","application"),e.calendarContainer.setAttribute("aria-label","Calendar"),e.calendarContainer.classList.remove("container-modal","container-body"),e.calendarContainer.classList.remove("container-modal","container-body");const t=n?"container-modal":"container-default";e.calendarContainer.classList.add(t)}else console.warn("Calendar container not available...")}async function E(e){if("en"===e)return t;if(!l(e))return console.warn(`Unsupported locale: ${e}. Falling back to English.`),t;try{const n=await import(`flatpickr/dist/l10n/${e}.js`),a=n[e]||n.default[e]||n.default;return a||(console.warn(`Locale configuration not found for ${e}. Falling back to English.`),t)}catch(n){return console.error(`Failed to load locale ${e}. Falling back to English.`,n),n instanceof Error&&console.error("Error details:",n.message),t}}function b(){document.querySelectorAll(".numInputWrapper").forEach((e=>{const n=e.querySelector(".numInput.cur-year"),t=document.querySelector(".flatpickr-current-month span.cur-month");n&&n.min&&n.max&&n.min===n.max&&(e.style.display="none",t&&(t.style.marginLeft="auto"))}))}function v(e,n,t,a,i,o){if(!e)return console.warn("Input element is undefined..."),{isValid:!0,validationMessage:""};const l=!e.value.trim(),r=n;let s=e.validity,c=e.validationMessage;r&&l&&(s={...s,valueMissing:!0},c=a),t&&(s={...s,customError:!0},c=t),o.setValidity(s,c,e);return{isValid:!t&&(!i||!l||l&&!r),validationMessage:c}}function C(e,n,t){e.dispatchEvent(new CustomEvent(n,{detail:t,bubbles:!0,composed:!0}))}export{C as emitValue,h as getFlatpickrOptions,y as getPlaceholder,s as handleInputClick,c as handleInputFocus,b as hideEmptyYear,m as initializeMultiAnchorFlatpickr,p as initializeSingleAnchorFlatpickr,u as injectFlatpickrStyles,l as isSupportedLocale,f as isValidDateFormat,i as langsArray,E as loadLocale,d as modifyWeekdayShorthands,r as preventFlatpickrOpen,k as setCalendarAttributes,g as updateEnableTime,v as validate};
1
+ import{r as e,f as t,E as n}from"../../vendor/flatpickr-bbd13d61.js";let a=!1;const i=["ar","at","az","be","bg","bn","bs","cat","cs","cy","da","de","en","eo","es","et","fa","fi","fo","fr","ga","gr","he","hi","hr","hu","id","is","it","ja","ka","km","ko","kz","lt","lv","mk","mn","ms","my","nl","no","pa","pl","pt","ro","ru","si","sk","sl","sq","sr","sv","th","tr","uk","uz","uz_latn","vn","zh_tw","zh"],o={"Y-m-d":"yyyy-mm-dd","m-d-Y":"mm-dd-yyyy","d-m-Y":"dd-mm-yyyy","Y-m-d H:i":"yyyy-mm-dd —— : ——","Y-m-d H:i:s":"yyyy-mm-dd —— : —— ——","m-d-Y H:i:s":"mm-dd-yyyy —— : —— ——","d-m-Y H:i:s":"dd-mm-yyyy —— : —— ——"};function l(e){return i.includes(e)}function r(e,t){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),t(!1)}function s(e){e(!0)}function c(e,t,n){e||(t(),n(!0))}function d(e){e.weekdays&&e.weekdays.shorthand&&(e.weekdays.shorthand=e.weekdays.shorthand.map((e=>e.charAt(0))))}function u(e){if(!a){const t=document.createElement("style");t.id="flatpickr-custom-styles",t.textContent=e,document.head.appendChild(t),a=!0}}async function m(n){const{inputEl:a,endinputEl:i,getFlatpickrOptions:o,setCalendarAttributes:l,setInitialDates:r}=n;if(a)try{const n=await o(),s=e=>{if(e instanceof HTMLInputElement)return e;{let t=e.querySelector("input");return t||(t=document.createElement("input"),t.type="text",t.style.display="none",e.appendChild(t)),t}},c=s(a);if(i){const t=s(i);n.plugins=[...n.plugins||[],e({input:t})]}const d=t(c,n);return d?(setTimeout((()=>{l&&l(d)}),0),r&&r(d),a instanceof HTMLInputElement||a.addEventListener("click",(()=>{d.open()})),!i||i instanceof HTMLInputElement||i.addEventListener("click",(()=>{d.open()})),d):void console.error("Failed to initialize Flatpickr")}catch(e){return void console.error("Error initializing Flatpickr:",e)}else console.error("Cannot initialize Flatpickr: inputEl is undefined")}async function p(e){const{inputEl:n,getFlatpickrOptions:a,setCalendarAttributes:i,setInitialDates:o,appendTo:l}=e;if(n)try{const e=await a();let r;e.dateFormat=e.dateFormat||"Y-m-d",n instanceof HTMLInputElement?(r=n,e.clickOpens=!0):(r=document.createElement("input"),r.type="text",r.style.display="none",l?l.appendChild(r):n instanceof HTMLElement&&!(n instanceof HTMLInputElement)?n.appendChild(r):document.body.appendChild(r),e.clickOpens=!1,e.positionElement=n);const s=t(r,e);return s?(setTimeout((()=>{i&&i(s)}),0),o&&o(s),n instanceof HTMLInputElement||n.addEventListener("click",(()=>s.open())),s):void console.error("Failed to initialize Flatpickr")}catch(e){return console.error("Error initializing Flatpickr:",e),void(e instanceof Error&&console.error("Error details:",e.message))}else console.error("Cannot initialize Flatpickr: inputEl is undefined")}function f(e){return e in o}function y(e,t){let n;return f(e)?(n=t?`${o[e]} to ${o[e]}`:o[e],n):"Select date"}async function h(e){var t;const{locale:n,dateFormat:a,enableTime:i,twentyFourHourFormat:o,inputEl:l,allowInput:r,minDate:s,maxDate:c,minTime:u,maxTime:m,defaultDate:p,defaultHour:f,defaultMinute:y,enable:h,disable:g,mode:k="single",closeOnSelect:E,wrap:v=!1,noCalendar:C=!1,appendTo:b,onChange:w,onClose:L,onOpen:F,loadLocale:T}=e;n||console.warn("Locale not provided. Falling back to default."),a||console.warn("Date format not provided. Using default format.");const H=await T(n);d(H);const M=["en","en-US","en-GB","es-MX"].includes(n),I=window.innerWidth>=767,z={dateFormat:a||("time"===k?"H:i":"Y-m-d"),mode:"time"===k?"single":k,enableTime:"time"===k||i,noCalendar:"time"===k||C,allowInput:r||!1,clickOpens:!0,time_24hr:"boolean"==typeof o?o:!M,weekNumbers:!1,static:null!==(t=e.static)&&void 0!==t&&t,wrap:v,showMonths:"range"===k&&I?2:1,monthSelectorType:"static",locale:H,closeOnSelect:null!=E?E:!("multiple"===k||i),onChange:(e,t,n)=>{w&&w(e,t,n)},onClose:(e,t,n)=>{if("range"===k){const t=n.calendarContainer.querySelector(".flatpickr-time");0===e.length&&(null==t||t.classList.add("default-time-select"),null==t||t.classList.remove("start-date","end-date"))}L&&L(e,t,n)},onOpen:(e,t,n)=>{F&&F(e,t,n)}};return"range"===k&&(z.onReady=(e,t,n)=>{const a=n.calendarContainer.querySelector(".flatpickr-time");null==a||a.classList.add("default-time-select")}),l instanceof HTMLInputElement||(z.positionElement=l),s&&(z.minDate=s),c&&(z.maxDate=c),u&&(z.minTime=u),m&&(z.maxTime=m),p&&((!Array.isArray(p)||"range"!==k&&"multiple"!==k)&&Array.isArray(p)||(z.defaultDate=p)),void 0!==f&&(z.defaultHour=f),void 0!==y&&(z.defaultMinute=y),h&&h.length>0&&(z.enable=h),g&&g.length>0&&(z.disable=g),b&&(z.appendTo=b),z}function g(e){return e.includes("H:")||e.includes("h:")}function k(e,t){if(e&&e.calendarContainer){e.calendarContainer.setAttribute("role","application"),e.calendarContainer.setAttribute("aria-label","Calendar"),e.calendarContainer.classList.remove("container-modal","container-body"),e.calendarContainer.classList.remove("container-modal","container-body");const n=t?"container-modal":"container-default";e.calendarContainer.classList.add(n),e.calendarContainer.classList.remove("static-position-true","static-position-false"),e.calendarContainer.classList.add(`static-position-${e.config.static}`)}else console.warn("Calendar container not available...")}async function E(e){if("en"===e)return n;if(!l(e))return console.warn(`Unsupported locale: ${e}. Falling back to English.`),n;try{const t=await import(`flatpickr/dist/l10n/${e}.js`),a=t[e]||t.default[e]||t.default;return a||(console.warn(`Locale configuration not found for ${e}. Falling back to English.`),n)}catch(t){return console.error(`Failed to load locale ${e}. Falling back to English.`,t),t instanceof Error&&console.error("Error details:",t.message),n}}function v(){document.querySelectorAll(".numInputWrapper").forEach((e=>{const t=e.querySelector(".numInput.cur-year"),n=document.querySelector(".flatpickr-current-month span.cur-month");t&&t.min&&t.max&&t.min===t.max&&(e.style.display="none",n&&(n.style.marginLeft="auto"))}))}function C(e,t,n,a,i,o){if(!e)return console.warn("Input element is undefined..."),{isValid:!0,validationMessage:""};const l=!e.value.trim(),r=t;let s=e.validity,c=e.validationMessage;r&&l&&(s={...s,valueMissing:!0},c=a),n&&(s={...s,customError:!0},c=n),o.setValidity(s,c,e);return{isValid:!n&&(!i||!l||l&&!r),validationMessage:c}}function b(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))}export{b as emitValue,h as getFlatpickrOptions,y as getPlaceholder,s as handleInputClick,c as handleInputFocus,v as hideEmptyYear,m as initializeMultiAnchorFlatpickr,p as initializeSingleAnchorFlatpickr,u as injectFlatpickrStyles,l as isSupportedLocale,f as isValidDateFormat,i as langsArray,E as loadLocale,d as modifyWeekdayShorthands,r as preventFlatpickrOpen,k as setCalendarAttributes,g as updateEnableTime,C as validate};
2
2
  //# sourceMappingURL=flatpickr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flatpickr.js","sources":["../../../src/common/helpers/flatpickr.ts"],"sourcesContent":["import flatpickr from 'flatpickr';\nimport rangePlugin from 'flatpickr/dist/plugins/rangePlugin';\nimport { Instance } from 'flatpickr/dist/types/instance';\nimport { BaseOptions, Hook } from 'flatpickr/dist/types/options';\nimport { Locale } from 'flatpickr/dist/types/locale';\nimport { default as English } from 'flatpickr/dist/l10n/default.js';\n\nlet flatpickrStylesInjected = false;\n\nexport const langsArray = [\n 'ar', // Arabic\n 'at', // Austria\n 'az', // Azerbaijan\n 'be', // Belarusian\n 'bg', // Bulgarian\n 'bn', // Bangla\n 'bs', // Bosnia\n 'cat', // Catalan\n 'cs', // Czech\n 'cy', // Welsh\n 'da', // Danish\n 'de', // German\n 'en', // English\n 'eo', // Esperanto\n 'es', // Spanish\n 'et', // Estonian\n 'fa', // Persian\n 'fi', // Finnish\n 'fo', // Faroese\n 'fr', // French\n 'ga', // Gaelic\n 'gr', // Greek\n 'he', // Hebrew\n 'hi', // Hindi\n 'hr', // Croatian\n 'hu', // Hungarian\n 'id', // Indonesian\n 'is', // Icelandic\n 'it', // Italian\n 'ja', // Japanese\n 'ka', // Georgian\n 'km', // Khmer\n 'ko', // Korean\n 'kz', // Kazakh\n 'lt', // Lithuanian\n 'lv', // Latvian\n 'mk', // Macedonian\n 'mn', // Mongolian\n 'ms', // Malaysian\n 'my', // Burmese\n 'nl', // Dutch\n 'no', // Norwegian\n 'pa', // Punjabi\n 'pl', // Polish\n 'pt', // Portuguese\n 'ro', // Romanian\n 'ru', // Russian\n 'si', // Sinhala\n 'sk', // Slovak\n 'sl', // Slovenian\n 'sq', // Albanian\n 'sr', // Serbian\n 'sv', // Swedish\n 'th', // Thai\n 'tr', // Turkish\n 'uk', // Ukrainian\n 'uz', // Uzbek\n 'uz_latn', // Uzbek Latin\n 'vn', // Vietnamese\n 'zh_tw', // Mandarin Traditional\n 'zh', // Mandarin\n];\n\ntype SupportedLocale = (typeof langsArray)[number];\n\ninterface BaseFlatpickrContext {\n getFlatpickrOptions: () => Promise<Partial<BaseOptions>>;\n setCalendarAttributes: (instance: Instance) => void;\n setInitialDates?: (instance: Instance) => void;\n}\n\ninterface SingleFlatpickrContext extends BaseFlatpickrContext {\n inputEl: HTMLElement;\n}\n\ninterface RangeFlatpickrContext extends BaseFlatpickrContext {\n inputEl: HTMLElement;\n endinputEl?: HTMLElement;\n}\n\nconst DATE_FORMAT_OPTIONS = {\n 'Y-m-d': 'yyyy-mm-dd',\n 'm-d-Y': 'mm-dd-yyyy',\n 'd-m-Y': 'dd-mm-yyyy',\n 'Y-m-d H:i': 'yyyy-mm-dd —— : ——',\n 'Y-m-d H:i:s': 'yyyy-mm-dd —— : —— ——',\n 'm-d-Y H:i:s': 'mm-dd-yyyy —— : —— ——',\n 'd-m-Y H:i:s': 'dd-mm-yyyy —— : —— ——',\n} as const;\n\ntype DateFormatOption = keyof typeof DATE_FORMAT_OPTIONS;\n\ninterface FlatpickrOptionsContext {\n locale: string;\n dateFormat?: string;\n defaultDate?: string | Date | string[] | Date[];\n defaultHour?: number;\n defaultMinute?: number;\n enableTime: boolean;\n twentyFourHourFormat?: boolean;\n endinputEl?: HTMLElement;\n inputEl: HTMLElement;\n allowInput?: boolean;\n minDate?: string | number | Date;\n maxDate?: string | number | Date;\n minTime?: string | number | Date;\n maxTime?: string | number | Date;\n enable?: (string | number | Date)[];\n disable?: (string | number | Date)[];\n onChange?: Hook;\n onClose?: Hook;\n onOpen?: Hook;\n loadLocale: (locale: string) => Promise<Partial<Locale>>;\n mode?: 'single' | 'multiple' | 'range' | 'time';\n closeOnSelect?: boolean;\n wrap?: boolean;\n noCalendar?: boolean;\n appendTo?: HTMLElement;\n}\n\nexport function isSupportedLocale(locale: string): boolean {\n return langsArray.includes(locale as SupportedLocale);\n}\n\nexport function preventFlatpickrOpen(\n event: Event,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n setShouldFlatpickrOpen(false);\n}\n\nexport function handleInputClick(\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n setShouldFlatpickrOpen(true);\n}\n\nexport function handleInputFocus(\n shouldFlatpickrOpen: boolean,\n closeFlatpickr: () => void,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n if (!shouldFlatpickrOpen) {\n closeFlatpickr();\n setShouldFlatpickrOpen(true);\n }\n}\n\nexport function modifyWeekdayShorthands(localeOptions: Partial<Locale>): void {\n if (localeOptions.weekdays && localeOptions.weekdays.shorthand) {\n localeOptions.weekdays.shorthand = localeOptions.weekdays.shorthand.map(\n (day) => day.charAt(0)\n ) as [string, string, string, string, string, string, string];\n }\n}\n\nexport function injectFlatpickrStyles(customStyle: string): void {\n if (!flatpickrStylesInjected) {\n const styleElement = document.createElement('style');\n styleElement.id = 'flatpickr-custom-styles';\n styleElement.textContent = customStyle;\n document.head.appendChild(styleElement);\n flatpickrStylesInjected = true;\n }\n}\n\nexport async function initializeMultiAnchorFlatpickr(\n context: RangeFlatpickrContext\n): Promise<Instance | undefined> {\n const {\n inputEl,\n endinputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n } = context;\n\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n\n try {\n const options = await getFlatpickrOptions();\n\n const getInputElement = (inputEl: HTMLElement): HTMLInputElement => {\n if (inputEl instanceof HTMLInputElement) {\n return inputEl;\n } else {\n let input = inputEl.querySelector('input');\n if (!input) {\n input = document.createElement('input');\n input.type = 'text';\n input.style.display = 'none';\n inputEl.appendChild(input);\n }\n return input as HTMLInputElement;\n }\n };\n\n const inputElement = getInputElement(inputEl);\n if (endinputEl) {\n const endInputElement = getInputElement(endinputEl);\n options.plugins = [\n ...(options.plugins || []),\n rangePlugin({ input: endInputElement }),\n ];\n }\n\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n inputEl.addEventListener('click', () => {\n flatpickrInstance.open();\n });\n }\n\n if (endinputEl && !(endinputEl instanceof HTMLInputElement)) {\n endinputEl.addEventListener('click', () => {\n flatpickrInstance.open();\n });\n }\n\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n return undefined;\n }\n}\n\nexport async function initializeSingleAnchorFlatpickr(\n context: SingleFlatpickrContext & { appendTo?: HTMLElement }\n): Promise<Instance | undefined> {\n const {\n inputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n appendTo,\n } = context;\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n try {\n const options = await getFlatpickrOptions();\n options.dateFormat = options.dateFormat || 'Y-m-d';\n let inputElement: HTMLInputElement;\n if (inputEl instanceof HTMLInputElement) {\n inputElement = inputEl;\n options.clickOpens = true;\n } else {\n inputElement = document.createElement('input');\n inputElement.type = 'text';\n inputElement.style.display = 'none';\n\n if (appendTo) {\n appendTo.appendChild(inputElement);\n } else if (\n inputEl instanceof HTMLElement &&\n !(inputEl instanceof HTMLInputElement)\n ) {\n inputEl.appendChild(inputElement);\n } else {\n document.body.appendChild(inputElement);\n }\n\n options.clickOpens = false;\n options.positionElement = inputEl;\n }\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n if (!(inputEl instanceof HTMLInputElement)) {\n inputEl.addEventListener('click', () => flatpickrInstance.open());\n }\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n if (error instanceof Error) {\n console.error('Error details:', error.message);\n }\n return undefined;\n }\n}\n\nexport function isValidDateFormat(format: string): format is DateFormatOption {\n return format in DATE_FORMAT_OPTIONS;\n}\n\nexport function getPlaceholder(\n dateFormat: string,\n isDateRange?: boolean\n): string {\n let placeholderFormat;\n\n if (isValidDateFormat(dateFormat)) {\n if (isDateRange) {\n placeholderFormat = `${DATE_FORMAT_OPTIONS[dateFormat]} to ${DATE_FORMAT_OPTIONS[dateFormat]}`;\n } else {\n placeholderFormat = DATE_FORMAT_OPTIONS[dateFormat];\n }\n return placeholderFormat;\n }\n return 'Select date';\n}\n\nexport async function getFlatpickrOptions(\n context: FlatpickrOptionsContext\n): Promise<Partial<BaseOptions>> {\n const {\n locale,\n dateFormat,\n enableTime,\n twentyFourHourFormat,\n inputEl,\n allowInput,\n minDate,\n maxDate,\n minTime,\n maxTime,\n defaultDate,\n defaultHour,\n defaultMinute,\n enable,\n disable,\n mode = 'single',\n closeOnSelect,\n wrap = false,\n noCalendar = false,\n onChange,\n onClose,\n onOpen,\n loadLocale,\n appendTo,\n } = context;\n\n if (!locale) {\n console.warn('Locale not provided. Falling back to default.');\n }\n\n if (!dateFormat) {\n console.warn('Date format not provided. Using default format.');\n }\n\n const localeOptions = await loadLocale(locale);\n modifyWeekdayShorthands(localeOptions);\n\n const isEnglishOr12HourLocale = ['en', 'en-US', 'en-GB', 'es-MX'].includes(\n locale\n );\n\n const isWideScreen = window.innerWidth >= 767;\n const options: Partial<BaseOptions> = {\n dateFormat: dateFormat || (mode === 'time' ? 'H:i' : 'Y-m-d'),\n mode: mode === 'time' ? 'single' : mode,\n enableTime: mode === 'time' ? true : enableTime,\n noCalendar: mode === 'time' ? true : noCalendar,\n allowInput: allowInput || false,\n clickOpens: true,\n time_24hr:\n typeof twentyFourHourFormat === 'boolean'\n ? twentyFourHourFormat\n : !isEnglishOr12HourLocale,\n weekNumbers: false,\n wrap,\n showMonths: mode === 'range' && isWideScreen ? 2 : 1,\n monthSelectorType: 'static',\n locale: localeOptions,\n closeOnSelect: closeOnSelect ?? !(mode === 'multiple' || enableTime),\n onChange: (selectedDates, dateStr, instance) => {\n if (onChange) {\n onChange(selectedDates, dateStr, instance);\n }\n },\n onClose: (selectedDates, dateStr, instance) => {\n if (mode === 'range') {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n if (selectedDates.length === 0) {\n timeContainer?.classList.add('default-time-select');\n timeContainer?.classList.remove('start-date', 'end-date');\n }\n }\n if (onClose) {\n onClose(selectedDates, dateStr, instance);\n }\n },\n onOpen: (selectedDates, dateStr, instance) => {\n if (onOpen) {\n onOpen(selectedDates, dateStr, instance);\n }\n },\n };\n\n if (mode === 'range') {\n options.onReady = (_, __, instance) => {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n timeContainer?.classList.add('default-time-select');\n };\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n options.positionElement = inputEl;\n }\n\n if (minDate) options.minDate = minDate;\n if (maxDate) options.maxDate = maxDate;\n if (minTime) options.minTime = minTime;\n if (maxTime) options.maxTime = maxTime;\n if (defaultDate) {\n if (\n Array.isArray(defaultDate) &&\n (mode === 'range' || mode === 'multiple')\n ) {\n options.defaultDate = defaultDate;\n } else if (!Array.isArray(defaultDate)) {\n options.defaultDate = defaultDate;\n }\n }\n if (defaultHour !== undefined) options.defaultHour = defaultHour;\n if (defaultMinute !== undefined) options.defaultMinute = defaultMinute;\n if (enable && enable.length > 0) options.enable = enable;\n if (disable && disable.length > 0) options.disable = disable;\n if (appendTo) options.appendTo = appendTo;\n\n return options;\n}\n\nexport function updateEnableTime(dateFormat: string): boolean {\n return dateFormat.includes('H:') || dateFormat.includes('h:');\n}\n\nexport function setCalendarAttributes(\n instance: Instance,\n modalDetected?: boolean\n): void {\n if (instance && instance.calendarContainer) {\n instance.calendarContainer.setAttribute('role', 'application');\n instance.calendarContainer.setAttribute('aria-label', 'Calendar');\n\n instance.calendarContainer.classList.remove(\n 'container-modal',\n 'container-body'\n );\n\n instance.calendarContainer.classList.remove(\n 'container-modal',\n 'container-body'\n );\n\n const containerClass = modalDetected\n ? 'container-modal'\n : 'container-default';\n instance.calendarContainer.classList.add(containerClass);\n } else {\n console.warn('Calendar container not available...');\n }\n}\n\nexport async function loadLocale(locale: string): Promise<Partial<Locale>> {\n if (locale === 'en') return English;\n if (!isSupportedLocale(locale)) {\n console.warn(`Unsupported locale: ${locale}. Falling back to English.`);\n return English;\n }\n\n try {\n const module = await import(`flatpickr/dist/l10n/${locale}.js`);\n const localeConfig =\n module[locale] || module.default[locale] || module.default;\n if (!localeConfig) {\n console.warn(\n `Locale configuration not found for ${locale}. Falling back to English.`\n );\n return English;\n }\n return localeConfig;\n } catch (error) {\n console.error(\n `Failed to load locale ${locale}. Falling back to English.`,\n error\n );\n if (error instanceof Error) {\n console.error('Error details:', error.message);\n }\n return English;\n }\n}\n\nexport function hideEmptyYear(): void {\n document.querySelectorAll('.numInputWrapper').forEach((wrapper) => {\n const yearInput = wrapper.querySelector(\n '.numInput.cur-year'\n ) as HTMLInputElement;\n\n const currentMonth = document.querySelector(\n '.flatpickr-current-month span.cur-month'\n ) as HTMLElement;\n\n if (\n yearInput &&\n yearInput.min &&\n yearInput.max &&\n yearInput.min === yearInput.max\n ) {\n (wrapper as HTMLElement).style.display = 'none';\n\n if (currentMonth) {\n currentMonth.style.marginLeft = 'auto';\n }\n }\n });\n}\n\nexport function validate(\n inputEl: HTMLInputElement,\n required: boolean,\n invalidText: string,\n defaultErrorMessage: string,\n hasInteracted: boolean,\n internals: ElementInternals\n): { isValid: boolean; validationMessage: string } {\n if (!inputEl) {\n console.warn('Input element is undefined...');\n return { isValid: true, validationMessage: '' };\n }\n\n const isEmpty = !inputEl.value.trim();\n const isRequired = required;\n\n let validity = inputEl.validity;\n let validationMessage = inputEl.validationMessage;\n\n if (isRequired && isEmpty) {\n validity = { ...validity, valueMissing: true };\n validationMessage = defaultErrorMessage;\n }\n\n if (invalidText) {\n validity = { ...validity, customError: true };\n validationMessage = invalidText;\n }\n\n internals.setValidity(validity, validationMessage, inputEl);\n\n const isValid =\n !invalidText && (!hasInteracted || !isEmpty || (isEmpty && !isRequired));\n\n return { isValid, validationMessage };\n}\n\nexport function emitValue(\n element: HTMLElement,\n eventName: string,\n detail: any\n): void {\n element.dispatchEvent(\n new CustomEvent(eventName, {\n detail,\n bubbles: true,\n composed: true,\n })\n );\n}\n"],"names":["flatpickrStylesInjected","langsArray","DATE_FORMAT_OPTIONS","isSupportedLocale","locale","includes","preventFlatpickrOpen","event","setShouldFlatpickrOpen","preventDefault","stopPropagation","stopImmediatePropagation","handleInputClick","handleInputFocus","shouldFlatpickrOpen","closeFlatpickr","modifyWeekdayShorthands","localeOptions","weekdays","shorthand","map","day","charAt","injectFlatpickrStyles","customStyle","styleElement","document","createElement","id","textContent","head","appendChild","async","initializeMultiAnchorFlatpickr","context","inputEl","endinputEl","getFlatpickrOptions","setCalendarAttributes","setInitialDates","options","getInputElement","HTMLInputElement","input","querySelector","type","style","display","inputElement","endInputElement","plugins","rangePlugin","flatpickrInstance","flatpickr","setTimeout","addEventListener","open","console","error","initializeSingleAnchorFlatpickr","appendTo","dateFormat","clickOpens","HTMLElement","body","positionElement","Error","message","isValidDateFormat","format","getPlaceholder","isDateRange","placeholderFormat","enableTime","twentyFourHourFormat","allowInput","minDate","maxDate","minTime","maxTime","defaultDate","defaultHour","defaultMinute","enable","disable","mode","closeOnSelect","wrap","noCalendar","onChange","onClose","onOpen","loadLocale","warn","isEnglishOr12HourLocale","isWideScreen","window","innerWidth","time_24hr","weekNumbers","showMonths","monthSelectorType","selectedDates","dateStr","instance","timeContainer","calendarContainer","length","classList","add","remove","onReady","_","__","Array","isArray","undefined","updateEnableTime","modalDetected","setAttribute","containerClass","English","module","import","localeConfig","default","hideEmptyYear","querySelectorAll","forEach","wrapper","yearInput","currentMonth","min","max","marginLeft","validate","required","invalidText","defaultErrorMessage","hasInteracted","internals","isValid","validationMessage","isEmpty","value","trim","isRequired","validity","valueMissing","customError","setValidity","emitValue","element","eventName","detail","dispatchEvent","CustomEvent","bubbles","composed"],"mappings":"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"}
1
+ {"version":3,"file":"flatpickr.js","sources":["../../../src/common/helpers/flatpickr.ts"],"sourcesContent":["import flatpickr from 'flatpickr';\nimport rangePlugin from 'flatpickr/dist/plugins/rangePlugin';\nimport { Instance } from 'flatpickr/dist/types/instance';\nimport { BaseOptions, Hook } from 'flatpickr/dist/types/options';\nimport { Locale } from 'flatpickr/dist/types/locale';\nimport { default as English } from 'flatpickr/dist/l10n/default.js';\n\nlet flatpickrStylesInjected = false;\n\nexport const langsArray = [\n 'ar', // Arabic\n 'at', // Austria\n 'az', // Azerbaijan\n 'be', // Belarusian\n 'bg', // Bulgarian\n 'bn', // Bangla\n 'bs', // Bosnia\n 'cat', // Catalan\n 'cs', // Czech\n 'cy', // Welsh\n 'da', // Danish\n 'de', // German\n 'en', // English\n 'eo', // Esperanto\n 'es', // Spanish\n 'et', // Estonian\n 'fa', // Persian\n 'fi', // Finnish\n 'fo', // Faroese\n 'fr', // French\n 'ga', // Gaelic\n 'gr', // Greek\n 'he', // Hebrew\n 'hi', // Hindi\n 'hr', // Croatian\n 'hu', // Hungarian\n 'id', // Indonesian\n 'is', // Icelandic\n 'it', // Italian\n 'ja', // Japanese\n 'ka', // Georgian\n 'km', // Khmer\n 'ko', // Korean\n 'kz', // Kazakh\n 'lt', // Lithuanian\n 'lv', // Latvian\n 'mk', // Macedonian\n 'mn', // Mongolian\n 'ms', // Malaysian\n 'my', // Burmese\n 'nl', // Dutch\n 'no', // Norwegian\n 'pa', // Punjabi\n 'pl', // Polish\n 'pt', // Portuguese\n 'ro', // Romanian\n 'ru', // Russian\n 'si', // Sinhala\n 'sk', // Slovak\n 'sl', // Slovenian\n 'sq', // Albanian\n 'sr', // Serbian\n 'sv', // Swedish\n 'th', // Thai\n 'tr', // Turkish\n 'uk', // Ukrainian\n 'uz', // Uzbek\n 'uz_latn', // Uzbek Latin\n 'vn', // Vietnamese\n 'zh_tw', // Mandarin Traditional\n 'zh', // Mandarin\n];\n\ntype SupportedLocale = (typeof langsArray)[number];\n\ninterface BaseFlatpickrContext {\n getFlatpickrOptions: () => Promise<Partial<BaseOptions>>;\n setCalendarAttributes: (instance: Instance) => void;\n setInitialDates?: (instance: Instance) => void;\n}\n\ninterface SingleFlatpickrContext extends BaseFlatpickrContext {\n inputEl: HTMLElement;\n}\n\ninterface RangeFlatpickrContext extends BaseFlatpickrContext {\n inputEl: HTMLElement;\n endinputEl?: HTMLElement;\n}\n\nconst DATE_FORMAT_OPTIONS = {\n 'Y-m-d': 'yyyy-mm-dd',\n 'm-d-Y': 'mm-dd-yyyy',\n 'd-m-Y': 'dd-mm-yyyy',\n 'Y-m-d H:i': 'yyyy-mm-dd —— : ——',\n 'Y-m-d H:i:s': 'yyyy-mm-dd —— : —— ——',\n 'm-d-Y H:i:s': 'mm-dd-yyyy —— : —— ——',\n 'd-m-Y H:i:s': 'dd-mm-yyyy —— : —— ——',\n} as const;\n\ntype DateFormatOption = keyof typeof DATE_FORMAT_OPTIONS;\n\ninterface FlatpickrOptionsContext {\n locale: string;\n dateFormat?: string;\n defaultDate?: string | Date | string[] | Date[];\n defaultHour?: number;\n defaultMinute?: number;\n enableTime: boolean;\n twentyFourHourFormat?: boolean;\n endinputEl?: HTMLElement;\n inputEl: HTMLElement;\n allowInput?: boolean;\n minDate?: string | number | Date;\n maxDate?: string | number | Date;\n minTime?: string | number | Date;\n maxTime?: string | number | Date;\n enable?: (string | number | Date)[];\n disable?: (string | number | Date)[];\n onChange?: Hook;\n onClose?: Hook;\n onOpen?: Hook;\n loadLocale: (locale: string) => Promise<Partial<Locale>>;\n mode?: 'single' | 'multiple' | 'range' | 'time';\n closeOnSelect?: boolean;\n wrap?: boolean;\n noCalendar?: boolean;\n appendTo?: HTMLElement;\n static?: boolean;\n}\n\nexport function isSupportedLocale(locale: string): boolean {\n return langsArray.includes(locale as SupportedLocale);\n}\n\nexport function preventFlatpickrOpen(\n event: Event,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n setShouldFlatpickrOpen(false);\n}\n\nexport function handleInputClick(\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n setShouldFlatpickrOpen(true);\n}\n\nexport function handleInputFocus(\n shouldFlatpickrOpen: boolean,\n closeFlatpickr: () => void,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n if (!shouldFlatpickrOpen) {\n closeFlatpickr();\n setShouldFlatpickrOpen(true);\n }\n}\n\nexport function modifyWeekdayShorthands(localeOptions: Partial<Locale>): void {\n if (localeOptions.weekdays && localeOptions.weekdays.shorthand) {\n localeOptions.weekdays.shorthand = localeOptions.weekdays.shorthand.map(\n (day) => day.charAt(0)\n ) as [string, string, string, string, string, string, string];\n }\n}\n\nexport function injectFlatpickrStyles(customStyle: string): void {\n if (!flatpickrStylesInjected) {\n const styleElement = document.createElement('style');\n styleElement.id = 'flatpickr-custom-styles';\n styleElement.textContent = customStyle;\n document.head.appendChild(styleElement);\n flatpickrStylesInjected = true;\n }\n}\n\nexport async function initializeMultiAnchorFlatpickr(\n context: RangeFlatpickrContext\n): Promise<Instance | undefined> {\n const {\n inputEl,\n endinputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n } = context;\n\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n\n try {\n const options = await getFlatpickrOptions();\n\n const getInputElement = (inputEl: HTMLElement): HTMLInputElement => {\n if (inputEl instanceof HTMLInputElement) {\n return inputEl;\n } else {\n let input = inputEl.querySelector('input');\n if (!input) {\n input = document.createElement('input');\n input.type = 'text';\n input.style.display = 'none';\n inputEl.appendChild(input);\n }\n return input as HTMLInputElement;\n }\n };\n\n const inputElement = getInputElement(inputEl);\n if (endinputEl) {\n const endInputElement = getInputElement(endinputEl);\n options.plugins = [\n ...(options.plugins || []),\n rangePlugin({ input: endInputElement }),\n ];\n }\n\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n inputEl.addEventListener('click', () => {\n flatpickrInstance.open();\n });\n }\n\n if (endinputEl && !(endinputEl instanceof HTMLInputElement)) {\n endinputEl.addEventListener('click', () => {\n flatpickrInstance.open();\n });\n }\n\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n return undefined;\n }\n}\n\nexport async function initializeSingleAnchorFlatpickr(\n context: SingleFlatpickrContext & { appendTo?: HTMLElement }\n): Promise<Instance | undefined> {\n const {\n inputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n appendTo,\n } = context;\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n try {\n const options = await getFlatpickrOptions();\n options.dateFormat = options.dateFormat || 'Y-m-d';\n let inputElement: HTMLInputElement;\n if (inputEl instanceof HTMLInputElement) {\n inputElement = inputEl;\n options.clickOpens = true;\n } else {\n inputElement = document.createElement('input');\n inputElement.type = 'text';\n inputElement.style.display = 'none';\n\n if (appendTo) {\n appendTo.appendChild(inputElement);\n } else if (\n inputEl instanceof HTMLElement &&\n !(inputEl instanceof HTMLInputElement)\n ) {\n inputEl.appendChild(inputElement);\n } else {\n document.body.appendChild(inputElement);\n }\n\n options.clickOpens = false;\n options.positionElement = inputEl;\n }\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n if (!(inputEl instanceof HTMLInputElement)) {\n inputEl.addEventListener('click', () => flatpickrInstance.open());\n }\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n if (error instanceof Error) {\n console.error('Error details:', error.message);\n }\n return undefined;\n }\n}\n\nexport function isValidDateFormat(format: string): format is DateFormatOption {\n return format in DATE_FORMAT_OPTIONS;\n}\n\nexport function getPlaceholder(\n dateFormat: string,\n isDateRange?: boolean\n): string {\n let placeholderFormat;\n\n if (isValidDateFormat(dateFormat)) {\n if (isDateRange) {\n placeholderFormat = `${DATE_FORMAT_OPTIONS[dateFormat]} to ${DATE_FORMAT_OPTIONS[dateFormat]}`;\n } else {\n placeholderFormat = DATE_FORMAT_OPTIONS[dateFormat];\n }\n return placeholderFormat;\n }\n return 'Select date';\n}\n\nexport async function getFlatpickrOptions(\n context: FlatpickrOptionsContext\n): Promise<Partial<BaseOptions>> {\n const {\n locale,\n dateFormat,\n enableTime,\n twentyFourHourFormat,\n inputEl,\n allowInput,\n minDate,\n maxDate,\n minTime,\n maxTime,\n defaultDate,\n defaultHour,\n defaultMinute,\n enable,\n disable,\n mode = 'single',\n closeOnSelect,\n wrap = false,\n noCalendar = false,\n appendTo,\n onChange,\n onClose,\n onOpen,\n loadLocale,\n } = context;\n\n if (!locale) {\n console.warn('Locale not provided. Falling back to default.');\n }\n\n if (!dateFormat) {\n console.warn('Date format not provided. Using default format.');\n }\n\n const localeOptions = await loadLocale(locale);\n modifyWeekdayShorthands(localeOptions);\n\n const isEnglishOr12HourLocale = ['en', 'en-US', 'en-GB', 'es-MX'].includes(\n locale\n );\n\n const isWideScreen = window.innerWidth >= 767;\n const options: Partial<BaseOptions> = {\n dateFormat: dateFormat || (mode === 'time' ? 'H:i' : 'Y-m-d'),\n mode: mode === 'time' ? 'single' : mode,\n enableTime: mode === 'time' ? true : enableTime,\n noCalendar: mode === 'time' ? true : noCalendar,\n allowInput: allowInput || false,\n clickOpens: true,\n time_24hr:\n typeof twentyFourHourFormat === 'boolean'\n ? twentyFourHourFormat\n : !isEnglishOr12HourLocale,\n weekNumbers: false,\n static: context.static ?? false,\n wrap,\n showMonths: mode === 'range' && isWideScreen ? 2 : 1,\n monthSelectorType: 'static',\n locale: localeOptions,\n closeOnSelect: closeOnSelect ?? !(mode === 'multiple' || enableTime),\n onChange: (selectedDates, dateStr, instance) => {\n if (onChange) {\n onChange(selectedDates, dateStr, instance);\n }\n },\n onClose: (selectedDates, dateStr, instance) => {\n if (mode === 'range') {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n if (selectedDates.length === 0) {\n timeContainer?.classList.add('default-time-select');\n timeContainer?.classList.remove('start-date', 'end-date');\n }\n }\n if (onClose) {\n onClose(selectedDates, dateStr, instance);\n }\n },\n onOpen: (selectedDates, dateStr, instance) => {\n if (onOpen) {\n onOpen(selectedDates, dateStr, instance);\n }\n },\n };\n\n if (mode === 'range') {\n options.onReady = (_, __, instance) => {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n timeContainer?.classList.add('default-time-select');\n };\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n options.positionElement = inputEl;\n }\n\n if (minDate) options.minDate = minDate;\n if (maxDate) options.maxDate = maxDate;\n if (minTime) options.minTime = minTime;\n if (maxTime) options.maxTime = maxTime;\n if (defaultDate) {\n if (\n Array.isArray(defaultDate) &&\n (mode === 'range' || mode === 'multiple')\n ) {\n options.defaultDate = defaultDate;\n } else if (!Array.isArray(defaultDate)) {\n options.defaultDate = defaultDate;\n }\n }\n if (defaultHour !== undefined) options.defaultHour = defaultHour;\n if (defaultMinute !== undefined) options.defaultMinute = defaultMinute;\n if (enable && enable.length > 0) options.enable = enable;\n if (disable && disable.length > 0) options.disable = disable;\n if (appendTo) options.appendTo = appendTo;\n\n return options;\n}\n\nexport function updateEnableTime(dateFormat: string): boolean {\n return dateFormat.includes('H:') || dateFormat.includes('h:');\n}\n\nexport function setCalendarAttributes(\n instance: Instance,\n modalDetected?: boolean\n): void {\n if (instance && instance.calendarContainer) {\n instance.calendarContainer.setAttribute('role', 'application');\n instance.calendarContainer.setAttribute('aria-label', 'Calendar');\n\n instance.calendarContainer.classList.remove(\n 'container-modal',\n 'container-body'\n );\n\n instance.calendarContainer.classList.remove(\n 'container-modal',\n 'container-body'\n );\n\n const containerClass = modalDetected\n ? 'container-modal'\n : 'container-default';\n instance.calendarContainer.classList.add(containerClass);\n\n // Add static position class based on the static option\n instance.calendarContainer.classList.remove(\n 'static-position-true',\n 'static-position-false'\n );\n instance.calendarContainer.classList.add(\n `static-position-${instance.config.static}`\n );\n } else {\n console.warn('Calendar container not available...');\n }\n}\n\nexport async function loadLocale(locale: string): Promise<Partial<Locale>> {\n if (locale === 'en') return English;\n if (!isSupportedLocale(locale)) {\n console.warn(`Unsupported locale: ${locale}. Falling back to English.`);\n return English;\n }\n\n try {\n const module = await import(`flatpickr/dist/l10n/${locale}.js`);\n const localeConfig =\n module[locale] || module.default[locale] || module.default;\n if (!localeConfig) {\n console.warn(\n `Locale configuration not found for ${locale}. Falling back to English.`\n );\n return English;\n }\n return localeConfig;\n } catch (error) {\n console.error(\n `Failed to load locale ${locale}. Falling back to English.`,\n error\n );\n if (error instanceof Error) {\n console.error('Error details:', error.message);\n }\n return English;\n }\n}\n\nexport function hideEmptyYear(): void {\n document.querySelectorAll('.numInputWrapper').forEach((wrapper) => {\n const yearInput = wrapper.querySelector(\n '.numInput.cur-year'\n ) as HTMLInputElement;\n\n const currentMonth = document.querySelector(\n '.flatpickr-current-month span.cur-month'\n ) as HTMLElement;\n\n if (\n yearInput &&\n yearInput.min &&\n yearInput.max &&\n yearInput.min === yearInput.max\n ) {\n (wrapper as HTMLElement).style.display = 'none';\n\n if (currentMonth) {\n currentMonth.style.marginLeft = 'auto';\n }\n }\n });\n}\n\nexport function validate(\n inputEl: HTMLInputElement,\n required: boolean,\n invalidText: string,\n defaultErrorMessage: string,\n hasInteracted: boolean,\n internals: ElementInternals\n): { isValid: boolean; validationMessage: string } {\n if (!inputEl) {\n console.warn('Input element is undefined...');\n return { isValid: true, validationMessage: '' };\n }\n\n const isEmpty = !inputEl.value.trim();\n const isRequired = required;\n\n let validity = inputEl.validity;\n let validationMessage = inputEl.validationMessage;\n\n if (isRequired && isEmpty) {\n validity = { ...validity, valueMissing: true };\n validationMessage = defaultErrorMessage;\n }\n\n if (invalidText) {\n validity = { ...validity, customError: true };\n validationMessage = invalidText;\n }\n\n internals.setValidity(validity, validationMessage, inputEl);\n\n const isValid =\n !invalidText && (!hasInteracted || !isEmpty || (isEmpty && !isRequired));\n\n return { isValid, validationMessage };\n}\n\nexport function emitValue(\n element: HTMLElement,\n eventName: string,\n detail: any\n): void {\n element.dispatchEvent(\n new CustomEvent(eventName, {\n detail,\n bubbles: true,\n composed: true,\n })\n );\n}\n"],"names":["flatpickrStylesInjected","langsArray","DATE_FORMAT_OPTIONS","isSupportedLocale","locale","includes","preventFlatpickrOpen","event","setShouldFlatpickrOpen","preventDefault","stopPropagation","stopImmediatePropagation","handleInputClick","handleInputFocus","shouldFlatpickrOpen","closeFlatpickr","modifyWeekdayShorthands","localeOptions","weekdays","shorthand","map","day","charAt","injectFlatpickrStyles","customStyle","styleElement","document","createElement","id","textContent","head","appendChild","async","initializeMultiAnchorFlatpickr","context","inputEl","endinputEl","getFlatpickrOptions","setCalendarAttributes","setInitialDates","options","getInputElement","HTMLInputElement","input","querySelector","type","style","display","inputElement","endInputElement","plugins","rangePlugin","flatpickrInstance","flatpickr","setTimeout","addEventListener","open","console","error","initializeSingleAnchorFlatpickr","appendTo","dateFormat","clickOpens","HTMLElement","body","positionElement","Error","message","isValidDateFormat","format","getPlaceholder","isDateRange","placeholderFormat","enableTime","twentyFourHourFormat","allowInput","minDate","maxDate","minTime","maxTime","defaultDate","defaultHour","defaultMinute","enable","disable","mode","closeOnSelect","wrap","noCalendar","onChange","onClose","onOpen","loadLocale","warn","isEnglishOr12HourLocale","isWideScreen","window","innerWidth","time_24hr","weekNumbers","static","_a","showMonths","monthSelectorType","selectedDates","dateStr","instance","timeContainer","calendarContainer","length","classList","add","remove","onReady","_","__","Array","isArray","undefined","updateEnableTime","modalDetected","setAttribute","containerClass","config","English","module","import","localeConfig","default","hideEmptyYear","querySelectorAll","forEach","wrapper","yearInput","currentMonth","min","max","marginLeft","validate","required","invalidText","defaultErrorMessage","hasInteracted","internals","isValid","validationMessage","isEmpty","value","trim","isRequired","validity","valueMissing","customError","setValidity","emitValue","element","eventName","detail","dispatchEvent","CustomEvent","bubbles","composed"],"mappings":"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"}
@@ -23,10 +23,8 @@ $calendar-box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.08),
23
23
  width: 323.875px;
24
24
  border: none;
25
25
  box-sizing: border-box;
26
- position: absolute;
27
26
  opacity: 0;
28
27
  padding: 8px;
29
- left: 20px;
30
28
  display: none;
31
29
  text-align: center;
32
30
  visibility: hidden;
@@ -40,8 +38,12 @@ $calendar-box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.08),
40
38
  -ms-touch-action: manipulation;
41
39
  touch-action: manipulation;
42
40
 
43
- &.container-modal {
44
- position: fixed;
41
+ &.static-position-false {
42
+ position: absolute;
43
+
44
+ &.container-modal {
45
+ position: fixed;
46
+ }
45
47
  }
46
48
 
47
49
  .flatpickr-innerContainer {
@@ -54,6 +54,8 @@ export declare class DatePicker extends DatePicker_base {
54
54
  warningAriaLabel: string;
55
55
  /** Sets title attribute for warning message. */
56
56
  warningTitle: string;
57
+ /** Sets whether the Flatpickr calendar UI should use static positioning. */
58
+ staticPosition: boolean;
57
59
  /** Sets flatpickr enableTime value based on detected dateFormat.
58
60
  * @internal
59
61
  */
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{_ as t}from"../../../vendor/tslib-53a81efe.js";import{o as e,n as i,t as a,i as r,e as l}from"../../../vendor/lit-6e2a7867.js";import{i as n,x as o,s}from"../../../vendor/lit-element-3185f710.js";import{FormMixin as d}from"../../../common/mixins/form-input.js";import{o as p}from"../../../vendor/lit-html-29220869.js";import{getPlaceholder as c,injectFlatpickrStyles as h,updateEnableTime as u,initializeSingleAnchorFlatpickr as m,setCalendarAttributes as v,hideEmptyYear as k,getFlatpickrOptions as g,loadLocale as f,emitValue as b,preventFlatpickrOpen as y,handleInputClick as x,handleInputFocus as _}from"../../../common/helpers/flatpickr.js";import"../button/button.js";import{c as w}from"../../../shidoka-flatpickr-theme-0e8883f1.js";import{j as z,H as $,I as D}from"../../../vendor/@kyndryl-design-system/shidoka-icons-e426f09b.js";import"../../../vendor/flatpickr-bbd13d61.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var F=n`*,
1
+ import{_ as t}from"../../../vendor/tslib-53a81efe.js";import{o as e,n as i,t as a,i as r,e as l}from"../../../vendor/lit-6e2a7867.js";import{i as n,x as o,s}from"../../../vendor/lit-element-3185f710.js";import{FormMixin as d}from"../../../common/mixins/form-input.js";import{o as p}from"../../../vendor/lit-html-29220869.js";import{getPlaceholder as c,injectFlatpickrStyles as h,updateEnableTime as u,initializeSingleAnchorFlatpickr as m,setCalendarAttributes as v,hideEmptyYear as k,getFlatpickrOptions as g,loadLocale as f,emitValue as b,preventFlatpickrOpen as y,handleInputClick as x,handleInputFocus as w}from"../../../common/helpers/flatpickr.js";import"../button/button.js";import{c as _}from"../../../shidoka-flatpickr-theme-329a4dea.js";import{j as z,H as $,I as D}from"../../../vendor/@kyndryl-design-system/shidoka-icons-e426f09b.js";import"../../../vendor/flatpickr-bbd13d61.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var F=n`*,
2
2
  *::before,
3
3
  *::after {
4
4
  box-sizing: border-box;
@@ -439,6 +439,29 @@ input {
439
439
  padding: 0 50px 0 16px;
440
440
  }
441
441
 
442
+ .input-wrapper {
443
+ position: relative;
444
+ display: inline-block;
445
+ width: 100%;
446
+ }
447
+ .input-wrapper .flatpickr-wrapper {
448
+ width: 100%;
449
+ }
450
+ .input-wrapper .input-icon,
451
+ .input-wrapper .clear-icon {
452
+ position: absolute;
453
+ top: 50%;
454
+ transform: translateY(-50%);
455
+ z-index: 2;
456
+ pointer-events: auto;
457
+ }
458
+ .input-wrapper .input-icon {
459
+ right: 12px;
460
+ }
461
+ .input-wrapper .clear-icon {
462
+ right: 36px;
463
+ }
464
+
442
465
  .date-picker {
443
466
  width: inherit;
444
467
  }
@@ -461,7 +484,7 @@ input {
461
484
  }
462
485
  .date-picker__disabled .label-text .required {
463
486
  color: var(--kd-color-text-level-disabled);
464
- }`;const I={requiredText:"Required",clearAll:"Clear",pleaseSelectDate:"Please select a date",pleaseSelectValidDate:"Please select a valid date"};let S=class extends(d(s)){constructor(){super(...arguments),this.label="",this.locale="en",this.dateFormat="Y-m-d",this.defaultDate=null,this.defaultErrorMessage="",this.required=!1,this.size="md",this.value=null,this.warnText="",this.disable=[],this.enable=[],this.mode="single",this.caption="",this.datePickerDisabled=!1,this.twentyFourHourFormat=null,this.minDate="",this.maxDate="",this.errorAriaLabel="",this.errorTitle="",this.warningAriaLabel="",this.warningTitle="",this._enableTime=!1,this._hasInteracted=!1,this.textStrings=I,this._textStrings=I,this._shouldFlatpickrOpen=!1,this._initialized=!1}connectedCallback(){super.connectedCallback(),this.addEventListener("change",this._onChange),this.addEventListener("reset",this._handleFormReset)}render(){var t,i,a,r;const l=`${this.name}-error-message`,n=`${this.name}-warning-message`,s=this.name?`${this.name}-${Math.random().toString(36).slice(2,11)}`:`date-picker-${Math.random().toString(36).slice(2,11)}`,d=null!==(t=this.name)&&void 0!==t?t:"",h=c(this.dateFormat);return o`
487
+ }`;const I={requiredText:"Required",clearAll:"Clear",pleaseSelectDate:"Please select a date",pleaseSelectValidDate:"Please select a valid date"};let S=class extends(d(s)){constructor(){super(...arguments),this.label="",this.locale="en",this.dateFormat="Y-m-d",this.defaultDate=null,this.defaultErrorMessage="",this.required=!1,this.size="md",this.value=null,this.warnText="",this.disable=[],this.enable=[],this.mode="single",this.caption="",this.datePickerDisabled=!1,this.twentyFourHourFormat=null,this.minDate="",this.maxDate="",this.errorAriaLabel="",this.errorTitle="",this.warningAriaLabel="",this.warningTitle="",this.staticPosition=!1,this._enableTime=!1,this._hasInteracted=!1,this.textStrings=I,this._textStrings=I,this._shouldFlatpickrOpen=!1,this._initialized=!1}connectedCallback(){super.connectedCallback(),this.addEventListener("change",this._onChange),this.addEventListener("reset",this._handleFormReset)}render(){var t,i,a,r;const l=`${this.name}-error-message`,n=`${this.name}-warning-message`,s=this.name?`${this.name}-${Math.random().toString(36).slice(2,11)}`:`date-picker-${Math.random().toString(36).slice(2,11)}`,d=null!==(t=this.name)&&void 0!==t?t:"",h=c(this.dateFormat);return o`
465
488
  <div class=${e(this.getDatepickerClasses())}>
466
489
  <div
467
490
  class="label-text"
@@ -547,5 +570,5 @@ input {
547
570
  @click=${this.preventFlatpickrOpen}
548
571
  >
549
572
  ${this.warnText}
550
- </div>`:null}getDatepickerClasses(){return{"date-picker":!0,"date-picker__enable-time":this._enableTime,"date-picker__multiple-select":"multiple"===this.mode,"date-picker__disabled":this.datePickerDisabled}}async firstUpdated(t){super.firstUpdated(t),this._initialized||(h(w.toString()),this._initialized=!0,await this.updateComplete,this.setupAnchor())}updated(t){super.updated(t),(t.has("dateFormat")||t.has("defaultDate")||t.has("minDate")||t.has("maxDate")||t.has("locale")||t.has("twentyFourHourFormat"))&&(this._enableTime=u(this.dateFormat),this.flatpickrInstance&&this._initialized&&this.updateFlatpickrOptions()),t.has("datePickerDisabled")&&this.datePickerDisabled&&this.flatpickrInstance&&this.flatpickrInstance.close()}async reinitializeFlatpickr(){this._initialized&&this.flatpickrInstance&&(this.flatpickrInstance.destroy(),await this.initializeFlatpickr())}async setupAnchor(){this._inputEl&&await this.initializeFlatpickr()}_handleClear(t){t.preventDefault(),t.stopPropagation(),this.value="multiple"===this.mode?[]:null,this.defaultDate="multiple"===this.mode?[]:null,this.flatpickrInstance&&this.flatpickrInstance.clear(),this._inputEl&&(this._inputEl.value=""),this.reinitializeFlatpickr(),this._validate(!0,!1),this.requestUpdate()}async initializeFlatpickr(){this._inputEl&&(this.flatpickrInstance&&this.flatpickrInstance.destroy(),this.flatpickrInstance=await m({inputEl:this._inputEl,getFlatpickrOptions:()=>this.getComponentFlatpickrOptions(),setCalendarAttributes:t=>{const e=!!this.closest("kyn-modal");v(t,e),t.calendarContainer.setAttribute("aria-label","Date picker")},setInitialDates:this.setInitialDates.bind(this)}),k(),this._validate(!1,!1))}async updateFlatpickrOptions(){if(!this.flatpickrInstance)return;const t=await this.getComponentFlatpickrOptions()||{};Object.keys(t).forEach((e=>{this.flatpickrInstance.config&&e in this.flatpickrInstance.config&&this.flatpickrInstance.set(e,t[e])})),this.flatpickrInstance.redraw(),setTimeout((()=>{this.flatpickrInstance&&this.flatpickrInstance.calendarContainer?(v(this.flatpickrInstance),this.flatpickrInstance.calendarContainer.setAttribute("aria-label","Date picker")):console.warn("Calendar container not available...")}),0)}setInitialDates(){if(this.flatpickrInstance)try{if(this.defaultDate)if(Array.isArray(this.defaultDate)){const t=this.defaultDate.filter((t=>t&&""!==t)).map((t=>{const e=new Date(t);return isNaN(e.getTime())?null:e})).filter((t=>null!==t));t.length>0&&(this.value="multiple"===this.mode?t:t[0],this.flatpickrInstance.setDate(t,!1))}else{const t=new Date(this.defaultDate);isNaN(t.getTime())||(this.value=t,this.flatpickrInstance.setDate([t],!1))}else if(this.value){const t=(Array.isArray(this.value)?this.value:[this.value]).filter((t=>t instanceof Date&&!isNaN(t.getTime())));t.length>0&&this.flatpickrInstance.setDate(t,!1)}}catch(t){console.warn("Error setting initial dates:",t)}}async getComponentFlatpickrOptions(){var t,e;const i=this.closest("kyn-modal"),a=i||document.body;return g({locale:this.locale,dateFormat:this.dateFormat,defaultDate:null!==(t=this.defaultDate)&&void 0!==t?t:void 0,enableTime:this._enableTime,twentyFourHourFormat:null!==(e=this.twentyFourHourFormat)&&void 0!==e?e:void 0,inputEl:this._inputEl,minDate:this.minDate,maxDate:this.maxDate,enable:this.enable,disable:this.disable,mode:this.mode,closeOnSelect:!("multiple"===this.mode||this._enableTime),loadLocale:f,onOpen:this.handleOpen.bind(this),onClose:this.handleClose.bind(this),onChange:this.handleDateChange.bind(this),appendTo:a})}handleOpen(){var t;this._shouldFlatpickrOpen||(null===(t=this.flatpickrInstance)||void 0===t||t.close(),this._shouldFlatpickrOpen=!0)}async handleClose(){this._hasInteracted=!0,this._validate(!0,!1),await this.updateComplete}async handleDateChange(t,e){var i;let a;this._hasInteracted=!0,"multiple"===this.mode?this.value=t.length>0?[...t]:null:this.value=t.length>0?t[0]:null,a=Array.isArray(this.value)?this.value.map((t=>t.toISOString())):this.value instanceof Date?this.value.toISOString():null,b(this,"on-change",{dates:a,dateString:(null===(i=this._inputEl)||void 0===i?void 0:i.value)||e}),this._validate(!0,!1),await this.updateComplete}setShouldFlatpickrOpen(t){this._shouldFlatpickrOpen=t}closeFlatpickr(){var t;null===(t=this.flatpickrInstance)||void 0===t||t.close()}preventFlatpickrOpen(t){y(t,this.setShouldFlatpickrOpen.bind(this))}handleInputClickEvent(){x(this.setShouldFlatpickrOpen.bind(this))}handleInputFocusEvent(){_(this._shouldFlatpickrOpen,this.closeFlatpickr.bind(this),this.setShouldFlatpickrOpen.bind(this))}_validate(t,e){if(!(this._inputEl&&this._inputEl instanceof HTMLInputElement))return;t&&(this._hasInteracted=!0);const i=!this._inputEl.value.trim(),a=this.required;let r=this._inputEl.validity,l=this._inputEl.validationMessage;a&&i&&(r={...r,valueMissing:!0},l=this.defaultErrorMessage||this._textStrings.pleaseSelectDate),this.invalidText&&(r={...r,customError:!0},l=this.invalidText);const n=!r.valueMissing&&!r.customError;n||l||(l=this._textStrings.pleaseSelectValidDate),this._internals.setValidity(r,l,this._inputEl),this._isInvalid=!n&&(this._hasInteracted||""!==this.invalidText),this._internalValidationMsg=l,e&&this._internals.reportValidity(),this.requestUpdate()}_onChange(){this._validate(!0,!1)}_handleFormReset(){this.value=null,this.flatpickrInstance&&this.flatpickrInstance.clear(),this._hasInteracted=!1,this._validate(!1,!1)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",this._onChange),this.removeEventListener("reset",this._handleFormReset),this.flatpickrInstance&&(this.flatpickrInstance.destroy(),this.flatpickrInstance=void 0)}};S.styles=[F,w],t([i({type:String})],S.prototype,"label",void 0),t([i({type:String})],S.prototype,"locale",void 0),t([i({type:String})],S.prototype,"dateFormat",void 0),t([i({type:Array})],S.prototype,"defaultDate",void 0),t([i({type:String})],S.prototype,"defaultErrorMessage",void 0),t([i({type:Boolean})],S.prototype,"required",void 0),t([i({type:String})],S.prototype,"size",void 0),t([i({type:Array})],S.prototype,"value",void 0),t([i({type:String})],S.prototype,"warnText",void 0),t([i({type:Array})],S.prototype,"disable",void 0),t([i({type:Array})],S.prototype,"enable",void 0),t([i({type:String})],S.prototype,"mode",void 0),t([i({type:String})],S.prototype,"caption",void 0),t([i({type:Boolean})],S.prototype,"datePickerDisabled",void 0),t([i({type:Boolean})],S.prototype,"twentyFourHourFormat",void 0),t([i({type:String})],S.prototype,"minDate",void 0),t([i({type:String})],S.prototype,"maxDate",void 0),t([i({type:String})],S.prototype,"errorAriaLabel",void 0),t([i({type:String})],S.prototype,"errorTitle",void 0),t([i({type:String})],S.prototype,"warningAriaLabel",void 0),t([i({type:String})],S.prototype,"warningTitle",void 0),t([a()],S.prototype,"_enableTime",void 0),t([a()],S.prototype,"_hasInteracted",void 0),t([a()],S.prototype,"flatpickrInstance",void 0),t([r("input")],S.prototype,"_inputEl",void 0),t([i({type:Object})],S.prototype,"textStrings",void 0),t([a()],S.prototype,"_textStrings",void 0),t([a()],S.prototype,"_shouldFlatpickrOpen",void 0),S=t([l("kyn-date-picker")],S);export{S as DatePicker};
573
+ </div>`:null}getDatepickerClasses(){return{"date-picker":!0,"date-picker__enable-time":this._enableTime,"date-picker__multiple-select":"multiple"===this.mode,"date-picker__disabled":this.datePickerDisabled}}async firstUpdated(t){super.firstUpdated(t),this._initialized||(h(_.toString()),this._initialized=!0,await this.updateComplete,this.setupAnchor())}updated(t){super.updated(t),(t.has("dateFormat")||t.has("defaultDate")||t.has("minDate")||t.has("maxDate")||t.has("locale")||t.has("twentyFourHourFormat"))&&(this._enableTime=u(this.dateFormat),this.flatpickrInstance&&this._initialized&&this.updateFlatpickrOptions()),t.has("datePickerDisabled")&&this.datePickerDisabled&&this.flatpickrInstance&&this.flatpickrInstance.close()}async reinitializeFlatpickr(){this._initialized&&this.flatpickrInstance&&(this.flatpickrInstance.destroy(),await this.initializeFlatpickr())}async setupAnchor(){this._inputEl&&await this.initializeFlatpickr()}_handleClear(t){t.preventDefault(),t.stopPropagation(),this.value="multiple"===this.mode?[]:null,this.defaultDate="multiple"===this.mode?[]:null,this.flatpickrInstance&&this.flatpickrInstance.clear(),this._inputEl&&(this._inputEl.value=""),this.reinitializeFlatpickr(),this._validate(!0,!1),this.requestUpdate()}async initializeFlatpickr(){this._inputEl&&(this.flatpickrInstance&&this.flatpickrInstance.destroy(),this.flatpickrInstance=await m({inputEl:this._inputEl,getFlatpickrOptions:()=>this.getComponentFlatpickrOptions(),setCalendarAttributes:t=>{const e=!!this.closest("kyn-modal");v(t,e),t.calendarContainer.setAttribute("aria-label","Date picker")},setInitialDates:this.setInitialDates.bind(this)}),k(),this._validate(!1,!1))}async updateFlatpickrOptions(){if(!this.flatpickrInstance)return;const t=await this.getComponentFlatpickrOptions()||{};Object.keys(t).forEach((e=>{this.flatpickrInstance.config&&e in this.flatpickrInstance.config&&this.flatpickrInstance.set(e,t[e])})),this.flatpickrInstance.redraw(),setTimeout((()=>{this.flatpickrInstance&&this.flatpickrInstance.calendarContainer?(v(this.flatpickrInstance),this.flatpickrInstance.calendarContainer.setAttribute("aria-label","Date picker")):console.warn("Calendar container not available...")}),0)}setInitialDates(){if(this.flatpickrInstance)try{if(this.defaultDate)if(Array.isArray(this.defaultDate)){const t=this.defaultDate.filter((t=>t&&""!==t)).map((t=>{const e=new Date(t);return isNaN(e.getTime())?null:e})).filter((t=>null!==t));t.length>0&&(this.value="multiple"===this.mode?t:t[0],this.flatpickrInstance.setDate(t,!1))}else{const t=new Date(this.defaultDate);isNaN(t.getTime())||(this.value=t,this.flatpickrInstance.setDate([t],!1))}else if(this.value){const t=(Array.isArray(this.value)?this.value:[this.value]).filter((t=>t instanceof Date&&!isNaN(t.getTime())));t.length>0&&this.flatpickrInstance.setDate(t,!1)}}catch(t){console.warn("Error setting initial dates:",t)}}async getComponentFlatpickrOptions(){var t,e;const i=this.closest("kyn-modal"),a=i||document.body;return g({locale:this.locale,dateFormat:this.dateFormat,defaultDate:null!==(t=this.defaultDate)&&void 0!==t?t:void 0,enableTime:this._enableTime,twentyFourHourFormat:null!==(e=this.twentyFourHourFormat)&&void 0!==e?e:void 0,inputEl:this._inputEl,minDate:this.minDate,maxDate:this.maxDate,enable:this.enable,disable:this.disable,mode:this.mode,closeOnSelect:!("multiple"===this.mode||this._enableTime),loadLocale:f,onOpen:this.handleOpen.bind(this),onClose:this.handleClose.bind(this),onChange:this.handleDateChange.bind(this),appendTo:a,static:this.staticPosition})}handleOpen(){var t;this._shouldFlatpickrOpen||(null===(t=this.flatpickrInstance)||void 0===t||t.close(),this._shouldFlatpickrOpen=!0)}async handleClose(){this._hasInteracted=!0,this._validate(!0,!1),await this.updateComplete}async handleDateChange(t,e){var i;let a;this._hasInteracted=!0,"multiple"===this.mode?this.value=t.length>0?[...t]:null:this.value=t.length>0?t[0]:null,a=Array.isArray(this.value)?this.value.map((t=>t.toISOString())):this.value instanceof Date?this.value.toISOString():null,b(this,"on-change",{dates:a,dateString:(null===(i=this._inputEl)||void 0===i?void 0:i.value)||e}),this._validate(!0,!1),await this.updateComplete}setShouldFlatpickrOpen(t){this._shouldFlatpickrOpen=t}closeFlatpickr(){var t;null===(t=this.flatpickrInstance)||void 0===t||t.close()}preventFlatpickrOpen(t){y(t,this.setShouldFlatpickrOpen.bind(this))}handleInputClickEvent(){x(this.setShouldFlatpickrOpen.bind(this))}handleInputFocusEvent(){w(this._shouldFlatpickrOpen,this.closeFlatpickr.bind(this),this.setShouldFlatpickrOpen.bind(this))}_validate(t,e){if(!(this._inputEl&&this._inputEl instanceof HTMLInputElement))return;t&&(this._hasInteracted=!0);const i=!this._inputEl.value.trim(),a=this.required;let r=this._inputEl.validity,l=this._inputEl.validationMessage;a&&i&&(r={...r,valueMissing:!0},l=this.defaultErrorMessage||this._textStrings.pleaseSelectDate),this.invalidText&&(r={...r,customError:!0},l=this.invalidText);const n=!r.valueMissing&&!r.customError;n||l||(l=this._textStrings.pleaseSelectValidDate),this._internals.setValidity(r,l,this._inputEl),this._isInvalid=!n&&(this._hasInteracted||""!==this.invalidText),this._internalValidationMsg=l,e&&this._internals.reportValidity(),this.requestUpdate()}_onChange(){this._validate(!0,!1)}_handleFormReset(){this.value=null,this.flatpickrInstance&&this.flatpickrInstance.clear(),this._hasInteracted=!1,this._validate(!1,!1)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",this._onChange),this.removeEventListener("reset",this._handleFormReset),this.flatpickrInstance&&(this.flatpickrInstance.destroy(),this.flatpickrInstance=void 0)}};S.styles=[F,_],t([i({type:String})],S.prototype,"label",void 0),t([i({type:String})],S.prototype,"locale",void 0),t([i({type:String})],S.prototype,"dateFormat",void 0),t([i({type:Array})],S.prototype,"defaultDate",void 0),t([i({type:String})],S.prototype,"defaultErrorMessage",void 0),t([i({type:Boolean})],S.prototype,"required",void 0),t([i({type:String})],S.prototype,"size",void 0),t([i({type:Array})],S.prototype,"value",void 0),t([i({type:String})],S.prototype,"warnText",void 0),t([i({type:Array})],S.prototype,"disable",void 0),t([i({type:Array})],S.prototype,"enable",void 0),t([i({type:String})],S.prototype,"mode",void 0),t([i({type:String})],S.prototype,"caption",void 0),t([i({type:Boolean})],S.prototype,"datePickerDisabled",void 0),t([i({type:Boolean})],S.prototype,"twentyFourHourFormat",void 0),t([i({type:String})],S.prototype,"minDate",void 0),t([i({type:String})],S.prototype,"maxDate",void 0),t([i({type:String})],S.prototype,"errorAriaLabel",void 0),t([i({type:String})],S.prototype,"errorTitle",void 0),t([i({type:String})],S.prototype,"warningAriaLabel",void 0),t([i({type:String})],S.prototype,"warningTitle",void 0),t([i({type:Boolean})],S.prototype,"staticPosition",void 0),t([a()],S.prototype,"_enableTime",void 0),t([a()],S.prototype,"_hasInteracted",void 0),t([a()],S.prototype,"flatpickrInstance",void 0),t([r("input")],S.prototype,"_inputEl",void 0),t([i({type:Object})],S.prototype,"textStrings",void 0),t([a()],S.prototype,"_textStrings",void 0),t([a()],S.prototype,"_shouldFlatpickrOpen",void 0),S=t([l("kyn-date-picker")],S);export{S as DatePicker};
551
574
  //# sourceMappingURL=datepicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.js","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"sourcesContent":["import { html, LitElement, PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport {\n injectFlatpickrStyles,\n langsArray,\n initializeSingleAnchorFlatpickr,\n getFlatpickrOptions,\n getPlaceholder,\n preventFlatpickrOpen,\n handleInputClick,\n handleInputFocus,\n updateEnableTime,\n setCalendarAttributes,\n loadLocale,\n emitValue,\n hideEmptyYear,\n} from '../../../common/helpers/flatpickr';\nimport '../../reusable/button';\n\nimport flatpickr from 'flatpickr';\nimport { BaseOptions } from 'flatpickr/dist/types/options';\n\nimport DatePickerStyles from './datepicker.scss';\nimport ShidokaFlatpickrTheme from '../../../common/scss/shidoka-flatpickr-theme.scss';\n\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-filled.svg';\nimport calendarIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/24/calendar.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/20/close-simple.svg';\n\ntype SupportedLocale = (typeof langsArray)[number];\n\nconst _defaultTextStrings = {\n requiredText: 'Required',\n clearAll: 'Clear',\n pleaseSelectDate: 'Please select a date',\n pleaseSelectValidDate: 'Please select a valid date',\n};\n\n/**\n * Datepicker: uses Flatpickr's datetime picker library -- `https://flatpickr.js.org`\n * @fires on-change - Captures the input event and emits the selected value and original event details.\n * @slot tooltip - Slot for tooltip.\n */\n@customElement('kyn-date-picker')\nexport class DatePicker extends FormMixin(LitElement) {\n static override styles = [DatePickerStyles, ShidokaFlatpickrTheme];\n\n /** Label text. */\n @property({ type: String })\n label = '';\n\n /* Sets desired locale and, if supported, dynamically loads language lib */\n @property({ type: String })\n locale: SupportedLocale = 'en';\n\n /** Sets flatpickr value to define how the date will be displayed in the input box (ex: `Y-m-d H:i`). */\n @property({ type: String })\n dateFormat = 'Y-m-d';\n\n /** Sets the initial selected date(s). For multiple mode, provide an array of date strings matching dateFormat. */\n @property({ type: Array })\n defaultDate: string | string[] | null = null;\n\n /** Sets default error message. */\n @property({ type: String })\n defaultErrorMessage = '';\n\n /** Sets datepicker form input value to required/required. */\n @property({ type: Boolean })\n required = false;\n\n /** Input size. \"sm\", \"md\", or \"lg\". */\n @property({ type: String })\n size = 'md';\n\n /** Sets pre-selected date/time value. */\n @property({ type: Array })\n override value: Date | Date[] | null = null;\n\n /** Sets validation warning messaging. */\n @property({ type: String })\n warnText = '';\n\n /** Sets flatpickr options setting to disable specific dates. */\n @property({ type: Array })\n disable: (string | number | Date)[] = [];\n\n /** Sets flatpickr options setting to enable specific dates. */\n @property({ type: Array })\n enable: (string | number | Date)[] = [];\n\n /** Sets flatpickr mode to select single (default), multiple dates. */\n @property({ type: String })\n mode: 'single' | 'multiple' = 'single';\n\n /** Sets caption to be displayed under primary date picker elements. */\n @property({ type: String })\n caption = '';\n\n /** Sets entire datepicker form element to enabled/disabled. */\n @property({ type: Boolean })\n datePickerDisabled = false;\n\n /** Sets 24 hour formatting true/false.\n * Defaults to 12H for all `en-*` locales and 24H for all other locales.\n */\n @property({ type: Boolean })\n twentyFourHourFormat: boolean | null = null;\n\n /** Sets lower boundary of datepicker date selection. */\n @property({ type: String })\n minDate: string | number | Date = '';\n\n /** Sets upper boundary of datepicker date selection. */\n @property({ type: String })\n maxDate: string | number | Date = '';\n\n /** Sets aria label attribute for error message. */\n @property({ type: String })\n errorAriaLabel = '';\n\n /** Sets title attribute for error message. */\n @property({ type: String })\n errorTitle = '';\n\n /** Sets aria label attribute for warning message. */\n @property({ type: String })\n warningAriaLabel = '';\n\n /** Sets title attribute for warning message. */\n @property({ type: String })\n warningTitle = '';\n\n /** Sets flatpickr enableTime value based on detected dateFormat.\n * @internal\n */\n @state()\n private _enableTime = false;\n\n /**\n * Sets whether user has interacted with datepicker for error handling.\n * @internal\n */\n @state()\n private _hasInteracted = false;\n\n /** Flatpickr instantiation.\n * @internal\n */\n @state()\n private flatpickrInstance?: flatpickr.Instance;\n\n /**\n * Queries the anchor DOM element.\n * @internal\n */\n @query('input')\n private _inputEl?: HTMLInputElement;\n\n /** Customizable text strings. */\n @property({ type: Object })\n textStrings = _defaultTextStrings;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n _textStrings = _defaultTextStrings;\n\n /** Control flag to prevent Flatpickr from opening when clicking caption, error, label, or warning elements.\n * @internal\n */\n @state()\n private _shouldFlatpickrOpen = false;\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('change', this._onChange);\n this.addEventListener('reset', this._handleFormReset);\n }\n\n override render() {\n const errorId = `${this.name}-error-message`;\n const warningId = `${this.name}-warning-message`;\n const anchorId = this.name\n ? `${this.name}-${Math.random().toString(36).slice(2, 11)}`\n : `date-picker-${Math.random().toString(36).slice(2, 11)}`;\n const descriptionId = this.name ?? '';\n const placeholder = getPlaceholder(this.dateFormat);\n\n return html`\n <div class=${classMap(this.getDatepickerClasses())}>\n <div\n class=\"label-text\"\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n ?disabled=${this.datePickerDisabled}\n id=${`label-${anchorId}`}\n >\n ${this.required\n ? html`<abbr\n class=\"required\"\n title=${this._textStrings?.requiredText}\n role=\"img\"\n aria-label=${this._textStrings?.requiredText}\n >*</abbr\n >`\n : null}\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </div>\n\n <div class=\"input-wrapper\">\n <input\n class=\"${classMap({\n [`size--${this.size}`]: true,\n 'input-custom': true,\n })}\"\n type=\"text\"\n id=${anchorId}\n name=${this.name}\n placeholder=${placeholder}\n ?disabled=${this.datePickerDisabled}\n ?required=${this.required}\n ?invalid=${this._isInvalid}\n aria-invalid=${this._isInvalid ? 'true' : 'false'}\n aria-labelledby=${`label-${anchorId}`}\n @click=${this.handleInputClickEvent}\n @focus=${this.handleInputFocusEvent}\n />\n ${this._inputEl?.value ||\n (this.value &&\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n !this.value.every((date) => date === null)) ||\n (this.defaultDate &&\n Array.isArray(this.defaultDate) &&\n this.defaultDate.length > 0 &&\n !this.defaultDate.every((date) => date === null || date === ''))\n ? html`\n <kyn-button\n ?disabled=${this.datePickerDisabled}\n class=\"clear-button\"\n kind=\"ghost\"\n size=\"small\"\n description=${this._textStrings.clearAll}\n @click=${this._handleClear}\n >\n <span style=\"display:flex;\" slot=\"icon\"\n >${unsafeSVG(clearIcon)}</span\n >\n </kyn-button>\n `\n : html`<span class=\"input-icon\">${unsafeSVG(calendarIcon)}</span>`}\n </div>\n\n ${this.caption\n ? html`<div\n id=${descriptionId}\n class=\"caption\"\n aria-disabled=${this.datePickerDisabled}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n ${this.caption}\n </div>`\n : ''}\n ${this.renderValidationMessage(errorId, warningId)}\n </div>\n `;\n }\n\n private renderValidationMessage(errorId: string, warningId: string) {\n if (this.invalidText || (this._isInvalid && this._hasInteracted)) {\n return html`<div\n id=${errorId}\n class=\"error error-text\"\n role=\"alert\"\n title=${this.errorTitle || 'Error'}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n <span\n class=\"error-icon\"\n aria-label=${`${this.errorAriaLabel}` || 'Error message icon'}\n role=\"button\"\n >${unsafeSVG(errorIcon)}</span\n >${this.invalidText ||\n this._internalValidationMsg ||\n this.defaultErrorMessage}\n </div>`;\n }\n\n if (this.warnText) {\n return html`<div\n id=${warningId}\n class=\"warn warn-text\"\n role=\"alert\"\n aria-label=${this.warningAriaLabel || 'Warning message'}\n title=${this.warningTitle || 'Warning'}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n ${this.warnText}\n </div>`;\n }\n\n return null;\n }\n\n getDatepickerClasses() {\n return {\n 'date-picker': true,\n 'date-picker__enable-time': this._enableTime,\n 'date-picker__multiple-select': this.mode === 'multiple',\n 'date-picker__disabled': this.datePickerDisabled,\n };\n }\n\n private _initialized = false;\n\n override async firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n if (!this._initialized) {\n injectFlatpickrStyles(ShidokaFlatpickrTheme.toString());\n this._initialized = true;\n await this.updateComplete;\n this.setupAnchor();\n }\n }\n\n override updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (\n changedProperties.has('dateFormat') ||\n changedProperties.has('defaultDate') ||\n changedProperties.has('minDate') ||\n changedProperties.has('maxDate') ||\n changedProperties.has('locale') ||\n changedProperties.has('twentyFourHourFormat')\n ) {\n this._enableTime = updateEnableTime(this.dateFormat);\n if (this.flatpickrInstance && this._initialized) {\n this.updateFlatpickrOptions();\n }\n }\n\n if (\n changedProperties.has('datePickerDisabled') &&\n this.datePickerDisabled &&\n this.flatpickrInstance\n ) {\n this.flatpickrInstance.close();\n }\n }\n\n private async reinitializeFlatpickr() {\n if (this._initialized && this.flatpickrInstance) {\n this.flatpickrInstance.destroy();\n await this.initializeFlatpickr();\n }\n }\n\n private async setupAnchor() {\n if (this._inputEl) {\n await this.initializeFlatpickr();\n }\n }\n\n private _handleClear(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n this.value = this.mode === 'multiple' ? [] : null;\n this.defaultDate = this.mode === 'multiple' ? [] : null;\n\n if (this.flatpickrInstance) {\n this.flatpickrInstance.clear();\n }\n if (this._inputEl) {\n this._inputEl.value = '';\n }\n\n this.reinitializeFlatpickr();\n\n this._validate(true, false);\n this.requestUpdate();\n }\n\n async initializeFlatpickr(): Promise<void> {\n if (!this._inputEl) return;\n if (this.flatpickrInstance) this.flatpickrInstance.destroy();\n\n this.flatpickrInstance = await initializeSingleAnchorFlatpickr({\n inputEl: this._inputEl,\n getFlatpickrOptions: () => this.getComponentFlatpickrOptions(),\n setCalendarAttributes: (instance) => {\n const modalDetected = !!this.closest('kyn-modal');\n setCalendarAttributes(instance, modalDetected);\n instance.calendarContainer.setAttribute('aria-label', 'Date picker');\n },\n setInitialDates: this.setInitialDates.bind(this),\n });\n\n hideEmptyYear();\n this._validate(false, false);\n }\n\n async updateFlatpickrOptions(): Promise<void> {\n if (!this.flatpickrInstance) return;\n const newOptions = (await this.getComponentFlatpickrOptions()) || {};\n Object.keys(newOptions).forEach((key) => {\n if (\n this.flatpickrInstance!.config &&\n key in this.flatpickrInstance!.config\n ) {\n this.flatpickrInstance!.set(\n key as keyof BaseOptions,\n newOptions[key as keyof BaseOptions]\n );\n }\n });\n this.flatpickrInstance.redraw();\n setTimeout(() => {\n if (this.flatpickrInstance && this.flatpickrInstance.calendarContainer) {\n setCalendarAttributes(this.flatpickrInstance);\n this.flatpickrInstance.calendarContainer.setAttribute(\n 'aria-label',\n 'Date picker'\n );\n } else {\n console.warn('Calendar container not available...');\n }\n }, 0);\n }\n\n setInitialDates(): void {\n if (!this.flatpickrInstance) return;\n\n try {\n if (this.defaultDate) {\n if (Array.isArray(this.defaultDate)) {\n const validDates = this.defaultDate\n .filter((date) => date && date !== '')\n .map((date) => {\n const parsed = new Date(date);\n return isNaN(parsed.getTime()) ? null : parsed;\n })\n .filter((date): date is Date => date !== null);\n\n if (validDates.length > 0) {\n this.value = this.mode === 'multiple' ? validDates : validDates[0];\n this.flatpickrInstance.setDate(validDates, false);\n }\n } else {\n const parsed = new Date(this.defaultDate);\n if (!isNaN(parsed.getTime())) {\n this.value = parsed;\n this.flatpickrInstance.setDate([parsed], false);\n }\n }\n } else if (this.value) {\n const dates = Array.isArray(this.value) ? this.value : [this.value];\n const validDates = dates.filter(\n (date): date is Date => date instanceof Date && !isNaN(date.getTime())\n );\n\n if (validDates.length > 0) {\n this.flatpickrInstance.setDate(validDates, false);\n }\n }\n } catch (error) {\n console.warn('Error setting initial dates:', error);\n }\n }\n\n async getComponentFlatpickrOptions(): Promise<Partial<BaseOptions>> {\n const modal = this.closest('kyn-modal');\n const container = modal ? modal : document.body;\n\n return getFlatpickrOptions({\n locale: this.locale,\n dateFormat: this.dateFormat,\n defaultDate: this.defaultDate ?? undefined,\n enableTime: this._enableTime,\n twentyFourHourFormat: this.twentyFourHourFormat ?? undefined,\n inputEl: this._inputEl!,\n minDate: this.minDate,\n maxDate: this.maxDate,\n enable: this.enable,\n disable: this.disable,\n mode: this.mode,\n closeOnSelect: !(this.mode === 'multiple' || this._enableTime),\n loadLocale,\n onOpen: this.handleOpen.bind(this),\n onClose: this.handleClose.bind(this),\n onChange: this.handleDateChange.bind(this),\n appendTo: container,\n });\n }\n\n handleOpen(): void {\n if (!this._shouldFlatpickrOpen) {\n this.flatpickrInstance?.close();\n this._shouldFlatpickrOpen = true;\n }\n }\n\n async handleClose(): Promise<void> {\n this._hasInteracted = true;\n this._validate(true, false);\n await this.updateComplete;\n }\n\n async handleDateChange(\n selectedDates: Date[],\n dateStr: string\n ): Promise<void> {\n this._hasInteracted = true;\n\n if (this.mode === 'multiple') {\n this.value = selectedDates.length > 0 ? [...selectedDates] : null;\n } else {\n this.value = selectedDates.length > 0 ? selectedDates[0] : null;\n }\n\n let formattedDates;\n if (Array.isArray(this.value)) {\n formattedDates = this.value.map((date) => date.toISOString());\n } else if (this.value instanceof Date) {\n formattedDates = this.value.toISOString();\n } else {\n formattedDates = null;\n }\n\n emitValue(this, 'on-change', {\n dates: formattedDates,\n dateString: (this._inputEl as HTMLInputElement)?.value || dateStr,\n });\n\n this._validate(true, false);\n await this.updateComplete;\n }\n\n private setShouldFlatpickrOpen(value: boolean): void {\n this._shouldFlatpickrOpen = value;\n }\n\n private closeFlatpickr(): void {\n this.flatpickrInstance?.close();\n }\n\n private preventFlatpickrOpen(event: Event): void {\n preventFlatpickrOpen(event, this.setShouldFlatpickrOpen.bind(this));\n }\n\n private handleInputClickEvent(): void {\n handleInputClick(this.setShouldFlatpickrOpen.bind(this));\n }\n\n private handleInputFocusEvent(): void {\n handleInputFocus(\n this._shouldFlatpickrOpen,\n this.closeFlatpickr.bind(this),\n this.setShouldFlatpickrOpen.bind(this)\n );\n }\n\n private _validate(interacted: boolean, report: boolean): void {\n if (!this._inputEl || !(this._inputEl instanceof HTMLInputElement)) {\n return;\n }\n\n if (interacted) {\n this._hasInteracted = true;\n }\n\n const isEmpty = !this._inputEl.value.trim();\n const isRequired = this.required;\n\n let validity = this._inputEl.validity;\n let validationMessage = this._inputEl.validationMessage;\n\n if (isRequired && isEmpty) {\n validity = { ...validity, valueMissing: true };\n validationMessage =\n this.defaultErrorMessage || this._textStrings.pleaseSelectDate;\n }\n\n if (this.invalidText) {\n validity = { ...validity, customError: true };\n validationMessage = this.invalidText;\n }\n\n const isValid = !validity.valueMissing && !validity.customError;\n\n // fix: ensure we have a validation message when validity flags are true\n if (!isValid && !validationMessage) {\n validationMessage = this._textStrings.pleaseSelectValidDate;\n }\n\n this._internals.setValidity(validity, validationMessage, this._inputEl);\n this._isInvalid =\n !isValid && (this._hasInteracted || this.invalidText !== '');\n this._internalValidationMsg = validationMessage;\n\n if (report) {\n this._internals.reportValidity();\n }\n\n this.requestUpdate();\n }\n\n private _onChange() {\n this._validate(true, false);\n }\n\n private _handleFormReset() {\n this.value = null;\n if (this.flatpickrInstance) {\n this.flatpickrInstance.clear();\n }\n this._hasInteracted = false;\n this._validate(false, false);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('change', this._onChange);\n this.removeEventListener('reset', this._handleFormReset);\n\n if (this.flatpickrInstance) {\n this.flatpickrInstance.destroy();\n this.flatpickrInstance = undefined;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-date-picker': DatePicker;\n }\n}\n"],"names":["_defaultTextStrings","requiredText","clearAll","pleaseSelectDate","pleaseSelectValidDate","DatePicker","FormMixin","LitElement","constructor","this","label","locale","dateFormat","defaultDate","defaultErrorMessage","required","size","value","warnText","disable","enable","mode","caption","datePickerDisabled","twentyFourHourFormat","minDate","maxDate","errorAriaLabel","errorTitle","warningAriaLabel","warningTitle","_enableTime","_hasInteracted","textStrings","_textStrings","_shouldFlatpickrOpen","_initialized","connectedCallback","super","addEventListener","_onChange","_handleFormReset","render","errorId","name","warningId","anchorId","Math","random","toString","slice","descriptionId","_a","placeholder","getPlaceholder","html","classMap","getDatepickerClasses","preventFlatpickrOpen","_b","_c","_isInvalid","handleInputClickEvent","handleInputFocusEvent","_d","_inputEl","Array","isArray","length","every","date","_handleClear","unsafeSVG","clearIcon","calendarIcon","renderValidationMessage","invalidText","errorIcon","_internalValidationMsg","firstUpdated","changedProperties","injectFlatpickrStyles","ShidokaFlatpickrTheme","updateComplete","setupAnchor","updated","has","updateEnableTime","flatpickrInstance","updateFlatpickrOptions","close","reinitializeFlatpickr","destroy","initializeFlatpickr","event","preventDefault","stopPropagation","clear","_validate","requestUpdate","initializeSingleAnchorFlatpickr","inputEl","getFlatpickrOptions","getComponentFlatpickrOptions","setCalendarAttributes","instance","modalDetected","closest","calendarContainer","setAttribute","setInitialDates","bind","hideEmptyYear","newOptions","Object","keys","forEach","key","config","set","redraw","setTimeout","console","warn","validDates","filter","map","parsed","Date","isNaN","getTime","setDate","error","modal","container","document","body","undefined","enableTime","closeOnSelect","loadLocale","onOpen","handleOpen","onClose","handleClose","onChange","handleDateChange","appendTo","selectedDates","dateStr","formattedDates","toISOString","emitValue","dates","dateString","setShouldFlatpickrOpen","closeFlatpickr","handleInputClick","handleInputFocus","interacted","report","HTMLInputElement","isEmpty","trim","isRequired","validity","validationMessage","valueMissing","customError","isValid","_internals","setValidity","reportValidity","disconnectedCallback","removeEventListener","styles","DatePickerStyles","__decorate","property","type","String","prototype","Boolean","state","query","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"datepicker.js","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"sourcesContent":["import { html, LitElement, PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport {\n injectFlatpickrStyles,\n langsArray,\n initializeSingleAnchorFlatpickr,\n getFlatpickrOptions,\n getPlaceholder,\n preventFlatpickrOpen,\n handleInputClick,\n handleInputFocus,\n updateEnableTime,\n setCalendarAttributes,\n loadLocale,\n emitValue,\n hideEmptyYear,\n} from '../../../common/helpers/flatpickr';\nimport '../../reusable/button';\n\nimport flatpickr from 'flatpickr';\nimport { BaseOptions } from 'flatpickr/dist/types/options';\n\nimport DatePickerStyles from './datepicker.scss';\nimport ShidokaFlatpickrTheme from '../../../common/scss/shidoka-flatpickr-theme.scss';\n\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-filled.svg';\nimport calendarIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/24/calendar.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/20/close-simple.svg';\n\ntype SupportedLocale = (typeof langsArray)[number];\n\nconst _defaultTextStrings = {\n requiredText: 'Required',\n clearAll: 'Clear',\n pleaseSelectDate: 'Please select a date',\n pleaseSelectValidDate: 'Please select a valid date',\n};\n\n/**\n * Datepicker: uses Flatpickr's datetime picker library -- `https://flatpickr.js.org`\n * @fires on-change - Captures the input event and emits the selected value and original event details.\n * @slot tooltip - Slot for tooltip.\n */\n@customElement('kyn-date-picker')\nexport class DatePicker extends FormMixin(LitElement) {\n static override styles = [DatePickerStyles, ShidokaFlatpickrTheme];\n\n /** Label text. */\n @property({ type: String })\n label = '';\n\n /* Sets desired locale and, if supported, dynamically loads language lib */\n @property({ type: String })\n locale: SupportedLocale = 'en';\n\n /** Sets flatpickr value to define how the date will be displayed in the input box (ex: `Y-m-d H:i`). */\n @property({ type: String })\n dateFormat = 'Y-m-d';\n\n /** Sets the initial selected date(s). For multiple mode, provide an array of date strings matching dateFormat. */\n @property({ type: Array })\n defaultDate: string | string[] | null = null;\n\n /** Sets default error message. */\n @property({ type: String })\n defaultErrorMessage = '';\n\n /** Sets datepicker form input value to required/required. */\n @property({ type: Boolean })\n required = false;\n\n /** Input size. \"sm\", \"md\", or \"lg\". */\n @property({ type: String })\n size = 'md';\n\n /** Sets pre-selected date/time value. */\n @property({ type: Array })\n override value: Date | Date[] | null = null;\n\n /** Sets validation warning messaging. */\n @property({ type: String })\n warnText = '';\n\n /** Sets flatpickr options setting to disable specific dates. */\n @property({ type: Array })\n disable: (string | number | Date)[] = [];\n\n /** Sets flatpickr options setting to enable specific dates. */\n @property({ type: Array })\n enable: (string | number | Date)[] = [];\n\n /** Sets flatpickr mode to select single (default), multiple dates. */\n @property({ type: String })\n mode: 'single' | 'multiple' = 'single';\n\n /** Sets caption to be displayed under primary date picker elements. */\n @property({ type: String })\n caption = '';\n\n /** Sets entire datepicker form element to enabled/disabled. */\n @property({ type: Boolean })\n datePickerDisabled = false;\n\n /** Sets 24 hour formatting true/false.\n * Defaults to 12H for all `en-*` locales and 24H for all other locales.\n */\n @property({ type: Boolean })\n twentyFourHourFormat: boolean | null = null;\n\n /** Sets lower boundary of datepicker date selection. */\n @property({ type: String })\n minDate: string | number | Date = '';\n\n /** Sets upper boundary of datepicker date selection. */\n @property({ type: String })\n maxDate: string | number | Date = '';\n\n /** Sets aria label attribute for error message. */\n @property({ type: String })\n errorAriaLabel = '';\n\n /** Sets title attribute for error message. */\n @property({ type: String })\n errorTitle = '';\n\n /** Sets aria label attribute for warning message. */\n @property({ type: String })\n warningAriaLabel = '';\n\n /** Sets title attribute for warning message. */\n @property({ type: String })\n warningTitle = '';\n\n /** Sets whether the Flatpickr calendar UI should use static positioning. */\n @property({ type: Boolean })\n staticPosition = false;\n\n /** Sets flatpickr enableTime value based on detected dateFormat.\n * @internal\n */\n @state()\n private _enableTime = false;\n\n /**\n * Sets whether user has interacted with datepicker for error handling.\n * @internal\n */\n @state()\n private _hasInteracted = false;\n\n /** Flatpickr instantiation.\n * @internal\n */\n @state()\n private flatpickrInstance?: flatpickr.Instance;\n\n /**\n * Queries the anchor DOM element.\n * @internal\n */\n @query('input')\n private _inputEl?: HTMLInputElement;\n\n /** Customizable text strings. */\n @property({ type: Object })\n textStrings = _defaultTextStrings;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n _textStrings = _defaultTextStrings;\n\n /** Control flag to prevent Flatpickr from opening when clicking caption, error, label, or warning elements.\n * @internal\n */\n @state()\n private _shouldFlatpickrOpen = false;\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('change', this._onChange);\n this.addEventListener('reset', this._handleFormReset);\n }\n\n override render() {\n const errorId = `${this.name}-error-message`;\n const warningId = `${this.name}-warning-message`;\n const anchorId = this.name\n ? `${this.name}-${Math.random().toString(36).slice(2, 11)}`\n : `date-picker-${Math.random().toString(36).slice(2, 11)}`;\n const descriptionId = this.name ?? '';\n const placeholder = getPlaceholder(this.dateFormat);\n\n return html`\n <div class=${classMap(this.getDatepickerClasses())}>\n <div\n class=\"label-text\"\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n ?disabled=${this.datePickerDisabled}\n id=${`label-${anchorId}`}\n >\n ${this.required\n ? html`<abbr\n class=\"required\"\n title=${this._textStrings?.requiredText}\n role=\"img\"\n aria-label=${this._textStrings?.requiredText}\n >*</abbr\n >`\n : null}\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </div>\n\n <div class=\"input-wrapper\">\n <input\n class=\"${classMap({\n [`size--${this.size}`]: true,\n 'input-custom': true,\n })}\"\n type=\"text\"\n id=${anchorId}\n name=${this.name}\n placeholder=${placeholder}\n ?disabled=${this.datePickerDisabled}\n ?required=${this.required}\n ?invalid=${this._isInvalid}\n aria-invalid=${this._isInvalid ? 'true' : 'false'}\n aria-labelledby=${`label-${anchorId}`}\n @click=${this.handleInputClickEvent}\n @focus=${this.handleInputFocusEvent}\n />\n ${this._inputEl?.value ||\n (this.value &&\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n !this.value.every((date) => date === null)) ||\n (this.defaultDate &&\n Array.isArray(this.defaultDate) &&\n this.defaultDate.length > 0 &&\n !this.defaultDate.every((date) => date === null || date === ''))\n ? html`\n <kyn-button\n ?disabled=${this.datePickerDisabled}\n class=\"clear-button\"\n kind=\"ghost\"\n size=\"small\"\n description=${this._textStrings.clearAll}\n @click=${this._handleClear}\n >\n <span style=\"display:flex;\" slot=\"icon\"\n >${unsafeSVG(clearIcon)}</span\n >\n </kyn-button>\n `\n : html`<span class=\"input-icon\">${unsafeSVG(calendarIcon)}</span>`}\n </div>\n\n ${this.caption\n ? html`<div\n id=${descriptionId}\n class=\"caption\"\n aria-disabled=${this.datePickerDisabled}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n ${this.caption}\n </div>`\n : ''}\n ${this.renderValidationMessage(errorId, warningId)}\n </div>\n `;\n }\n\n private renderValidationMessage(errorId: string, warningId: string) {\n if (this.invalidText || (this._isInvalid && this._hasInteracted)) {\n return html`<div\n id=${errorId}\n class=\"error error-text\"\n role=\"alert\"\n title=${this.errorTitle || 'Error'}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n <span\n class=\"error-icon\"\n aria-label=${`${this.errorAriaLabel}` || 'Error message icon'}\n role=\"button\"\n >${unsafeSVG(errorIcon)}</span\n >${this.invalidText ||\n this._internalValidationMsg ||\n this.defaultErrorMessage}\n </div>`;\n }\n\n if (this.warnText) {\n return html`<div\n id=${warningId}\n class=\"warn warn-text\"\n role=\"alert\"\n aria-label=${this.warningAriaLabel || 'Warning message'}\n title=${this.warningTitle || 'Warning'}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n ${this.warnText}\n </div>`;\n }\n\n return null;\n }\n\n getDatepickerClasses() {\n return {\n 'date-picker': true,\n 'date-picker__enable-time': this._enableTime,\n 'date-picker__multiple-select': this.mode === 'multiple',\n 'date-picker__disabled': this.datePickerDisabled,\n };\n }\n\n private _initialized = false;\n\n override async firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n if (!this._initialized) {\n injectFlatpickrStyles(ShidokaFlatpickrTheme.toString());\n this._initialized = true;\n await this.updateComplete;\n this.setupAnchor();\n }\n }\n\n override updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (\n changedProperties.has('dateFormat') ||\n changedProperties.has('defaultDate') ||\n changedProperties.has('minDate') ||\n changedProperties.has('maxDate') ||\n changedProperties.has('locale') ||\n changedProperties.has('twentyFourHourFormat')\n ) {\n this._enableTime = updateEnableTime(this.dateFormat);\n if (this.flatpickrInstance && this._initialized) {\n this.updateFlatpickrOptions();\n }\n }\n\n if (\n changedProperties.has('datePickerDisabled') &&\n this.datePickerDisabled &&\n this.flatpickrInstance\n ) {\n this.flatpickrInstance.close();\n }\n }\n\n private async reinitializeFlatpickr() {\n if (this._initialized && this.flatpickrInstance) {\n this.flatpickrInstance.destroy();\n await this.initializeFlatpickr();\n }\n }\n\n private async setupAnchor() {\n if (this._inputEl) {\n await this.initializeFlatpickr();\n }\n }\n\n private _handleClear(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n this.value = this.mode === 'multiple' ? [] : null;\n this.defaultDate = this.mode === 'multiple' ? [] : null;\n\n if (this.flatpickrInstance) {\n this.flatpickrInstance.clear();\n }\n if (this._inputEl) {\n this._inputEl.value = '';\n }\n\n this.reinitializeFlatpickr();\n\n this._validate(true, false);\n this.requestUpdate();\n }\n\n async initializeFlatpickr(): Promise<void> {\n if (!this._inputEl) return;\n if (this.flatpickrInstance) this.flatpickrInstance.destroy();\n\n this.flatpickrInstance = await initializeSingleAnchorFlatpickr({\n inputEl: this._inputEl,\n getFlatpickrOptions: () => this.getComponentFlatpickrOptions(),\n setCalendarAttributes: (instance) => {\n const modalDetected = !!this.closest('kyn-modal');\n setCalendarAttributes(instance, modalDetected);\n instance.calendarContainer.setAttribute('aria-label', 'Date picker');\n },\n setInitialDates: this.setInitialDates.bind(this),\n });\n\n hideEmptyYear();\n this._validate(false, false);\n }\n\n async updateFlatpickrOptions(): Promise<void> {\n if (!this.flatpickrInstance) return;\n const newOptions = (await this.getComponentFlatpickrOptions()) || {};\n Object.keys(newOptions).forEach((key) => {\n if (\n this.flatpickrInstance!.config &&\n key in this.flatpickrInstance!.config\n ) {\n this.flatpickrInstance!.set(\n key as keyof BaseOptions,\n newOptions[key as keyof BaseOptions]\n );\n }\n });\n this.flatpickrInstance.redraw();\n setTimeout(() => {\n if (this.flatpickrInstance && this.flatpickrInstance.calendarContainer) {\n setCalendarAttributes(this.flatpickrInstance);\n this.flatpickrInstance.calendarContainer.setAttribute(\n 'aria-label',\n 'Date picker'\n );\n } else {\n console.warn('Calendar container not available...');\n }\n }, 0);\n }\n\n setInitialDates(): void {\n if (!this.flatpickrInstance) return;\n\n try {\n if (this.defaultDate) {\n if (Array.isArray(this.defaultDate)) {\n const validDates = this.defaultDate\n .filter((date) => date && date !== '')\n .map((date) => {\n const parsed = new Date(date);\n return isNaN(parsed.getTime()) ? null : parsed;\n })\n .filter((date): date is Date => date !== null);\n\n if (validDates.length > 0) {\n this.value = this.mode === 'multiple' ? validDates : validDates[0];\n this.flatpickrInstance.setDate(validDates, false);\n }\n } else {\n const parsed = new Date(this.defaultDate);\n if (!isNaN(parsed.getTime())) {\n this.value = parsed;\n this.flatpickrInstance.setDate([parsed], false);\n }\n }\n } else if (this.value) {\n const dates = Array.isArray(this.value) ? this.value : [this.value];\n const validDates = dates.filter(\n (date): date is Date => date instanceof Date && !isNaN(date.getTime())\n );\n\n if (validDates.length > 0) {\n this.flatpickrInstance.setDate(validDates, false);\n }\n }\n } catch (error) {\n console.warn('Error setting initial dates:', error);\n }\n }\n\n async getComponentFlatpickrOptions(): Promise<Partial<BaseOptions>> {\n const modal = this.closest('kyn-modal');\n const container = modal ? modal : document.body;\n\n return getFlatpickrOptions({\n locale: this.locale,\n dateFormat: this.dateFormat,\n defaultDate: this.defaultDate ?? undefined,\n enableTime: this._enableTime,\n twentyFourHourFormat: this.twentyFourHourFormat ?? undefined,\n inputEl: this._inputEl!,\n minDate: this.minDate,\n maxDate: this.maxDate,\n enable: this.enable,\n disable: this.disable,\n mode: this.mode,\n closeOnSelect: !(this.mode === 'multiple' || this._enableTime),\n loadLocale,\n onOpen: this.handleOpen.bind(this),\n onClose: this.handleClose.bind(this),\n onChange: this.handleDateChange.bind(this),\n appendTo: container,\n static: this.staticPosition,\n });\n }\n\n handleOpen(): void {\n if (!this._shouldFlatpickrOpen) {\n this.flatpickrInstance?.close();\n this._shouldFlatpickrOpen = true;\n }\n }\n\n async handleClose(): Promise<void> {\n this._hasInteracted = true;\n this._validate(true, false);\n await this.updateComplete;\n }\n\n async handleDateChange(\n selectedDates: Date[],\n dateStr: string\n ): Promise<void> {\n this._hasInteracted = true;\n\n if (this.mode === 'multiple') {\n this.value = selectedDates.length > 0 ? [...selectedDates] : null;\n } else {\n this.value = selectedDates.length > 0 ? selectedDates[0] : null;\n }\n\n let formattedDates;\n if (Array.isArray(this.value)) {\n formattedDates = this.value.map((date) => date.toISOString());\n } else if (this.value instanceof Date) {\n formattedDates = this.value.toISOString();\n } else {\n formattedDates = null;\n }\n\n emitValue(this, 'on-change', {\n dates: formattedDates,\n dateString: (this._inputEl as HTMLInputElement)?.value || dateStr,\n });\n\n this._validate(true, false);\n await this.updateComplete;\n }\n\n private setShouldFlatpickrOpen(value: boolean): void {\n this._shouldFlatpickrOpen = value;\n }\n\n private closeFlatpickr(): void {\n this.flatpickrInstance?.close();\n }\n\n private preventFlatpickrOpen(event: Event): void {\n preventFlatpickrOpen(event, this.setShouldFlatpickrOpen.bind(this));\n }\n\n private handleInputClickEvent(): void {\n handleInputClick(this.setShouldFlatpickrOpen.bind(this));\n }\n\n private handleInputFocusEvent(): void {\n handleInputFocus(\n this._shouldFlatpickrOpen,\n this.closeFlatpickr.bind(this),\n this.setShouldFlatpickrOpen.bind(this)\n );\n }\n\n private _validate(interacted: boolean, report: boolean): void {\n if (!this._inputEl || !(this._inputEl instanceof HTMLInputElement)) {\n return;\n }\n\n if (interacted) {\n this._hasInteracted = true;\n }\n\n const isEmpty = !this._inputEl.value.trim();\n const isRequired = this.required;\n\n let validity = this._inputEl.validity;\n let validationMessage = this._inputEl.validationMessage;\n\n if (isRequired && isEmpty) {\n validity = { ...validity, valueMissing: true };\n validationMessage =\n this.defaultErrorMessage || this._textStrings.pleaseSelectDate;\n }\n\n if (this.invalidText) {\n validity = { ...validity, customError: true };\n validationMessage = this.invalidText;\n }\n\n const isValid = !validity.valueMissing && !validity.customError;\n\n // fix: ensure we have a validation message when validity flags are true\n if (!isValid && !validationMessage) {\n validationMessage = this._textStrings.pleaseSelectValidDate;\n }\n\n this._internals.setValidity(validity, validationMessage, this._inputEl);\n this._isInvalid =\n !isValid && (this._hasInteracted || this.invalidText !== '');\n this._internalValidationMsg = validationMessage;\n\n if (report) {\n this._internals.reportValidity();\n }\n\n this.requestUpdate();\n }\n\n private _onChange() {\n this._validate(true, false);\n }\n\n private _handleFormReset() {\n this.value = null;\n if (this.flatpickrInstance) {\n this.flatpickrInstance.clear();\n }\n this._hasInteracted = false;\n this._validate(false, false);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('change', this._onChange);\n this.removeEventListener('reset', this._handleFormReset);\n\n if (this.flatpickrInstance) {\n this.flatpickrInstance.destroy();\n this.flatpickrInstance = undefined;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-date-picker': DatePicker;\n }\n}\n"],"names":["_defaultTextStrings","requiredText","clearAll","pleaseSelectDate","pleaseSelectValidDate","DatePicker","FormMixin","LitElement","constructor","this","label","locale","dateFormat","defaultDate","defaultErrorMessage","required","size","value","warnText","disable","enable","mode","caption","datePickerDisabled","twentyFourHourFormat","minDate","maxDate","errorAriaLabel","errorTitle","warningAriaLabel","warningTitle","staticPosition","_enableTime","_hasInteracted","textStrings","_textStrings","_shouldFlatpickrOpen","_initialized","connectedCallback","super","addEventListener","_onChange","_handleFormReset","render","errorId","name","warningId","anchorId","Math","random","toString","slice","descriptionId","_a","placeholder","getPlaceholder","html","classMap","getDatepickerClasses","preventFlatpickrOpen","_b","_c","_isInvalid","handleInputClickEvent","handleInputFocusEvent","_d","_inputEl","Array","isArray","length","every","date","_handleClear","unsafeSVG","clearIcon","calendarIcon","renderValidationMessage","invalidText","errorIcon","_internalValidationMsg","firstUpdated","changedProperties","injectFlatpickrStyles","ShidokaFlatpickrTheme","updateComplete","setupAnchor","updated","has","updateEnableTime","flatpickrInstance","updateFlatpickrOptions","close","reinitializeFlatpickr","destroy","initializeFlatpickr","event","preventDefault","stopPropagation","clear","_validate","requestUpdate","initializeSingleAnchorFlatpickr","inputEl","getFlatpickrOptions","getComponentFlatpickrOptions","setCalendarAttributes","instance","modalDetected","closest","calendarContainer","setAttribute","setInitialDates","bind","hideEmptyYear","newOptions","Object","keys","forEach","key","config","set","redraw","setTimeout","console","warn","validDates","filter","map","parsed","Date","isNaN","getTime","setDate","error","modal","container","document","body","undefined","enableTime","closeOnSelect","loadLocale","onOpen","handleOpen","onClose","handleClose","onChange","handleDateChange","appendTo","static","selectedDates","dateStr","formattedDates","toISOString","emitValue","dates","dateString","setShouldFlatpickrOpen","closeFlatpickr","handleInputClick","handleInputFocus","interacted","report","HTMLInputElement","isEmpty","trim","isRequired","validity","validationMessage","valueMissing","customError","isValid","_internals","setValidity","reportValidity","disconnectedCallback","removeEventListener","styles","DatePickerStyles","__decorate","property","type","String","prototype","Boolean","state","query","customElement"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export{DatePicker}from"./datepicker.js";import"../../../vendor/tslib-53a81efe.js";import"../../../vendor/lit-6e2a7867.js";import"../../../vendor/lit-element-3185f710.js";import"../../../common/mixins/form-input.js";import"../../../vendor/lit-html-29220869.js";import"../../../common/helpers/flatpickr.js";import"../../../vendor/flatpickr-bbd13d61.js";import"../button/button.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";import"../../../shidoka-flatpickr-theme-0e8883f1.js";import"../../../vendor/@kyndryl-design-system/shidoka-icons-e426f09b.js";
1
+ export{DatePicker}from"./datepicker.js";import"../../../vendor/tslib-53a81efe.js";import"../../../vendor/lit-6e2a7867.js";import"../../../vendor/lit-element-3185f710.js";import"../../../common/mixins/form-input.js";import"../../../vendor/lit-html-29220869.js";import"../../../common/helpers/flatpickr.js";import"../../../vendor/flatpickr-bbd13d61.js";import"../button/button.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";import"../../../shidoka-flatpickr-theme-329a4dea.js";import"../../../vendor/@kyndryl-design-system/shidoka-icons-e426f09b.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -53,6 +53,8 @@ export declare class DateRangePicker extends DateRangePicker_base {
53
53
  warningAriaLabel: string;
54
54
  /** Sets title attribute for warning message. */
55
55
  warningTitle: string;
56
+ /** Sets whether the Flatpickr calendar UI should use static positioning. */
57
+ staticPosition: boolean;
56
58
  /** Sets flatpickr enableTime value based on detected dateFormat.
57
59
  * @internal
58
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"daterangepicker.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/daterangepicker/daterangepicker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daterangepicker.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/daterangepicker/daterangepicker.ts"],"names":[],"mappings":"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"}