@kyndryl-design-system/shidoka-applications 2.66.4 → 2.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/helpers/flatpickr.d.ts +3 -0
- package/common/helpers/flatpickr.d.ts.map +1 -1
- package/common/helpers/flatpickr.js +1 -1
- package/common/helpers/flatpickr.js.map +1 -1
- package/components/reusable/accordion/accordionItem.d.ts +0 -15
- package/components/reusable/accordion/accordionItem.d.ts.map +1 -1
- package/components/reusable/accordion/accordionItem.js +19 -23
- package/components/reusable/accordion/accordionItem.js.map +1 -1
- package/components/reusable/datePicker/datepicker.d.ts +3 -0
- package/components/reusable/datePicker/datepicker.d.ts.map +1 -1
- package/components/reusable/datePicker/datepicker.js +5 -5
- package/components/reusable/datePicker/datepicker.js.map +1 -1
- package/components/reusable/daterangepicker/daterangepicker.d.ts +3 -0
- package/components/reusable/daterangepicker/daterangepicker.d.ts.map +1 -1
- package/components/reusable/daterangepicker/daterangepicker.js +3 -3
- package/components/reusable/daterangepicker/daterangepicker.js.map +1 -1
- package/components/reusable/loaders/skeleton.js +18 -9
- package/components/reusable/loaders/skeleton.js.map +1 -1
- package/components/reusable/timepicker/timepicker.d.ts +3 -1
- package/components/reusable/timepicker/timepicker.d.ts.map +1 -1
- package/components/reusable/timepicker/timepicker.js +7 -7
- package/components/reusable/timepicker/timepicker.js.map +1 -1
- package/package.json +1 -1
|
@@ -34,8 +34,11 @@ declare const DATE_FORMAT_OPTIONS: {
|
|
|
34
34
|
readonly 'd-m-Y H:i': "dd-mm-yyyy —— : ——";
|
|
35
35
|
readonly 'd-m-Y h:i K': "dd-mm-yyyy —— : ——";
|
|
36
36
|
readonly 'Y-m-d H:i:s': "yyyy-mm-dd —— : —— ——";
|
|
37
|
+
readonly 'Y-m-d H:i:S': "yyyy-mm-dd —— : —— ——";
|
|
37
38
|
readonly 'm-d-Y H:i:s': "mm-dd-yyyy —— : —— ——";
|
|
39
|
+
readonly 'm-d-Y H:i:S': "mm-dd-yyyy —— : —— ——";
|
|
38
40
|
readonly 'd-m-Y H:i:s': "dd-mm-yyyy —— : —— ——";
|
|
41
|
+
readonly 'd-m-Y H:i:S': "dd-mm-yyyy —— : —— ——";
|
|
39
42
|
};
|
|
40
43
|
type DateFormatOption = keyof typeof DATE_FORMAT_OPTIONS;
|
|
41
44
|
interface FlatpickrOptionsContext {
|
|
@@ -1 +1 @@
|
|
|
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;AAQrD,eAAO,MAAM,8BAA8B;;;;;;CAM1C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC,OAAO,8BAA8B,CACtC,CAAC;AAIF,wBAAgB,iBAAiB,CAC/B,iBAAiB,GAAE,oBAAyB,GAC3C,IAAI,CAKN;AAED,wBAAgB,cAAc,CAC5B,iBAAiB,GAAE,oBAAyB,GAC3C,OAAO,8BAA8B,CAEvC;AAED,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
|
|
1
|
+
{"version":3,"file":"flatpickr.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/flatpickr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a8 as e,a9 as t,aa as n}from"../../vendor/flatpickr-D1_FkiHZ.js";import{loadLocale as a}from"../flatpickrLangs.js";import{fixedOverlayPositionPlugin as i}from"./flatpickrOverlayPosition.js";let r=!1;const l={lockedStartDate:"Start date is locked",lockedEndDate:"End date is locked",dateLocked:"Date is locked",dateNotAvailable:"Date is not available",dateInSelectedRange:"Date is in selected range"};let o={...l};function s(e={}){o={...l,...e}}function d(e={}){return{...o,...e}}const c={"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 K":"yyyy-mm-dd —— : ——","m-d-Y H:i":"mm-dd-yyyy —— : ——","m-d-Y h:i K":"mm-dd-yyyy —— : ——","d-m-Y H:i":"dd-mm-yyyy —— : ——","d-m-Y h:i K":"dd-mm-yyyy —— : ——","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 u(e,t){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),t(!1)}function m(e){e(!0)}function p(e,t,n){e||(t(),n(!0))}function f(e){var t;(null===(t=e.weekdays)||void 0===t?void 0:t.shorthand)&&(e.weekdays.shorthand=e.weekdays.shorthand.map((e=>e.charAt(0))))}function y(e){if(!r){const t=document.createElement("style");t.id="flatpickr-custom-styles",t.textContent=e,document.head.appendChild(t),r=!0}}async function b(n){const{inputEl:a,endinputEl:i,getFlatpickrOptions:r,setCalendarAttributes:l,setInitialDates:o}=n;if(a)try{const n=await r(),s=e=>{if(e instanceof HTMLInputElement)return e;try{let t=e.querySelector("input");if(!t){if(t=document.createElement("input"),t.type="text",t.style.display="none",!e.isConnected)throw new Error("Element is not connected to the DOM");e.appendChild(t)}return t}catch(e){throw console.error("Error creating or appending input element:",e),e}},d=s(a);if(i){const t=s(i);n.plugins=[...n.plugins||[],e({input:t})]}const c=t(d,n);return c?(setTimeout((()=>{l&&l(c)}),0),o&&o(c),a instanceof HTMLInputElement||a.addEventListener("click",(()=>{c.open()})),!i||i instanceof HTMLInputElement||i.addEventListener("click",(()=>{c.open()})),c):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 k(e){const{inputEl:n,getFlatpickrOptions:a,setCalendarAttributes:i,setInitialDates:r,appendTo:l}=e;if(n)try{const e=await a(),o=e.dateFormat||("time"===e.mode?"H:i":"Y-m-d");let s;if(e.dateFormat=o,n instanceof HTMLInputElement)s=n,e.clickOpens=!0;else try{s=document.createElement("input"),s.type="text",s.style.display="none";const t=l||n;if(!t)throw new Error("No valid element to append input to");t.appendChild(s),e.clickOpens=!1,e.positionElement=n}catch(e){throw console.error("Error creating input element:",e),e}const d=t(s,e);return d?(setTimeout((()=>{i&&i(d)}),0),r&&r(d),n instanceof HTMLInputElement||n.addEventListener("click",(()=>d.open())),d):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 g(e){return e in c}function A(e,t){if(!e)return t?"yyyy-mm-dd to yyyy-mm-dd":"yyyy-mm-dd";if(g(e)){return t?`${c[e]} to ${c[e]}`:c[e]}return"Select date"}function v(e){return a(e)}function w(e){let t=e;for(;t;)if(t instanceof ShadowRoot)t=t.host;else{if(!(t instanceof Element))break;{const e=t.tagName.toLowerCase();if("kyn-modal"===e||"kyn-side-drawer"===e)return t;t=t.parentNode}}return document.body}async function h(e){var a;if(!e)return console.error("Context is required for getFlatpickrOptions"),{};const{locale:r,dateFormat:l,enableTime:o,twentyFourHourFormat:s,inputEl:d,allowInput:c,minDate:u,maxDate:m,minTime:p,maxTime:y,defaultDate:b,defaultHour:k,defaultMinute:g,enable:A,disable:v,mode:h="single",closeOnSelect:D,wrap:E=!1,noCalendar:T=!1,appendTo:L,onChange:N,onClose:S,onOpen:x,loadLocale:C}=e;let Y;r||console.warn("Locale not provided. Falling back to default."),l||console.warn("Date format not provided. Using default format.");try{Y=await C(r),f(Y)}catch(e){console.warn("Error loading locale, falling back to default:",e),Y=n}const F=r.split("-")[0].toLowerCase(),I=["en","es"].includes(F),H="undefined"!=typeof window&&window.innerWidth>=767,M=l||("time"===h?s?"H:i":"h:i K":"Y-m-d"),O=w(e.inputEl),q=O!==document.body,R={dateFormat:M,mode:"time"===h?"single":h,enableTime:"time"===h||o,noCalendar:"time"===h||T,defaultDate:b,enableSeconds:!1,allowInput:c||!1,clickOpens:!0,time_24hr:"boolean"==typeof s?s:!I,weekNumbers:!1,static:null!==(a=e.static)&&void 0!==a&&a,wrap:E,showMonths:"range"===h&&H?2:1,monthSelectorType:"static",locale:Y,closeOnSelect:null!=D?D:!("multiple"===h||o),onChange:(e,t,n)=>{N&&N(e,t,n)},onClose:(e,t,n)=>{if("range"===h&&n.calendarContainer){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"))}S&&S(e,t,n)},onOpen:(e,t,n)=>{x&&x(e,t,n)}};if(q&&(R.appendTo=O,R.static=!1,(R.plugins||(R.plugins=[])).push(i({offset:6,minViewportMargin:8,preferTop:!1}))),"range"===h&&(R.onReady=(e,t,n)=>{if(n.calendarContainer){const e=n.calendarContainer.querySelector(".flatpickr-time");null==e||e.classList.add("default-time-select")}}),d instanceof HTMLInputElement||(R.positionElement=d),u&&(R.minDate=u),m&&(R.maxDate=m),p&&(R.minTime=p),y&&(R.maxTime=y),b)if(!Array.isArray(b)||"range"!==h&&"multiple"!==h){if(!Array.isArray(b)&&"string"==typeof b){let e=null;switch(M){case"Y-m-d":{const[t,n,a]=b.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(t,n-1,a,12);break}case"d-m-Y":{const[t,n,a]=b.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(a,n-1,t,12);break}case"m-d-Y":{const[t,n,a]=b.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(a,t-1,n,12);break}default:e=new Date(b)}R.defaultDate=e||b}}else R.defaultDate=b;return null!=k&&(R.defaultHour=k),null!=g&&(R.defaultMinute=g),A&&A.length>0&&(R.enable=A),v&&v.length>0&&(R.disable=v.map((e=>{if(e instanceof Date)return e;if("number"==typeof e)return new Date(e);if("string"==typeof e){return t.parseDate(e,M)||e}return e}))),L&&(R.appendTo=L),R}function D(e){return e.includes("H:")||e.includes("h:")}function E(e,t=!1){if(!e||!e.config)return;const n=e.calendarContainer;if(!n)return;const{minDate:a,maxDate:i}=e.config;if(a&&i){new Date(a).getFullYear()===new Date(i).getFullYear()?n.classList.add("single-year"):n.classList.remove("single-year")}requestAnimationFrame((()=>{if(!e||!e.config)return;const a=e.config.mode;n.setAttribute("role","application"),n.setAttribute("aria-label","Calendar"),n.classList.remove("container-modal","container-body","container-default"),n.classList.add(t?"container-modal":"container-default");const i=n.querySelector(".flatpickr-months");null==i||i.setAttribute("tabindex","0"),null==i||i.setAttribute("role","group"),null==i||i.setAttribute("aria-label","Month and year navigation");const r=n.querySelector(".flatpickr-prev-month");null==r||r.setAttribute("tabindex","0"),null==r||r.setAttribute("role","button"),null==r||r.setAttribute("aria-label","Previous month"),null==r||r.addEventListener("keydown",(t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e.changeMonth(-1))}));const l=n.querySelector(".flatpickr-next-month");null==l||l.setAttribute("tabindex","0"),null==l||l.setAttribute("role","button"),null==l||l.setAttribute("aria-label","Next month"),null==l||l.addEventListener("keydown",(t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e.changeMonth(1))}));const o=n.querySelector(".flatpickr-month"),s=null==o?void 0:o.querySelector("input.numInput.cur-year");if(s){s.tabIndex=0,s.setAttribute("role","spinbutton"),s.setAttribute("aria-label","Year"),e.config.minDate&&s.setAttribute("aria-valuemin",String(new Date(e.config.minDate).getFullYear())),e.config.maxDate&&s.setAttribute("aria-valuemax",String(new Date(e.config.maxDate).getFullYear()));const t=()=>s.setAttribute("aria-valuenow",s.value);s.addEventListener("keydown",(n=>{"ArrowUp"===n.key&&(n.preventDefault(),e.changeYear(1),setTimeout(t,0)),"ArrowDown"===n.key&&(n.preventDefault(),e.changeYear(-1),setTimeout(t,0))})),setTimeout(t,0)}const d=n.querySelector(".flatpickr-days");null==d||d.removeAttribute("tabindex"),null==d||d.setAttribute("role","grid"),null==d||d.setAttribute("aria-multiselectable","multiple"===a?"true":"false");const c=Array.from(n.querySelectorAll(".flatpickr-day:not(.flatpickr-disabled)"));c.forEach((e=>{e.tabIndex=0,e.setAttribute("role","range"===a?"gridcell":"button")}));const u=n._keyboardNav;u&&n.removeEventListener("keydown",u);const m=e=>{const t=e.target.closest(".flatpickr-day:not(.flatpickr-disabled)");if(t)switch(e.key){case"Enter":case" ":return e.preventDefault(),void t.click();case"ArrowRight":case"ArrowLeft":case"ArrowDown":case"ArrowUp":{e.preventDefault();const n=c.indexOf(t);let a;switch(e.key){case"ArrowRight":a=n+1;break;case"ArrowLeft":a=n-1;break;case"ArrowDown":a=n+7;break;case"ArrowUp":a=n-7;break;default:return}const i=c[a];return void(i&&i.focus())}}};n.addEventListener("keydown",m),n._keyboardNav=m;const p=n.querySelector("input.flatpickr-hour");p&&(p.tabIndex=0,p.setAttribute("role","spinbutton"),p.setAttribute("aria-label","Hour"),p.setAttribute("aria-valuemin",p.min),p.setAttribute("aria-valuemax",p.max),p.setAttribute("aria-valuenow",p.value),p.addEventListener("keydown",(e=>{"ArrowUp"===e.key&&(e.preventDefault(),p.stepUp()),"ArrowDown"===e.key&&(e.preventDefault(),p.stepDown()),setTimeout((()=>p.setAttribute("aria-valuenow",p.value)),0)})));const f=n.querySelector("input.flatpickr-minute");f&&(f.tabIndex=0,f.setAttribute("role","spinbutton"),f.setAttribute("aria-label","Minute"),f.setAttribute("aria-valuemin",f.min),f.setAttribute("aria-valuemax",f.max),f.setAttribute("aria-valuenow",f.value),f.addEventListener("keydown",(e=>{"ArrowUp"===e.key&&(e.preventDefault(),f.stepUp()),"ArrowDown"===e.key&&(e.preventDefault(),f.stepDown()),setTimeout((()=>f.setAttribute("aria-valuenow",f.value)),0)})));const y=n.querySelector(".flatpickr-am-pm");y&&(y.tabIndex=0,y.setAttribute("role","button"),y.setAttribute("aria-label","Toggle AM/PM"),y.addEventListener("keydown",(e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),y.click())})))}))}function T(){document.querySelectorAll(".numInputWrapper").forEach((e=>{const t=e.querySelector(".numInput.cur-year");t&&(e.style.display="",t.style.display="",t.disabled=!1,t.hasAttribute("tabindex")||(t.tabIndex=0))}))}function L(e,t,n,a,i,r){if(!e)return console.warn("Input element is undefined..."),{isValid:!0,validationMessage:""};const l=!e.value.trim(),o=t;let s=e.validity,d=e.validationMessage;o&&l&&(s={...s,valueMissing:!0},d=a),n&&(s={...s,customError:!0},d=n),r.setValidity(s,d,e);return{isValid:!n&&(!i||!l||l&&!o),validationMessage:d}}function N(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))}async function S(e,t,n){e&&e.clear(),t&&(t.value=""),n&&await n()}var x;function C(e,t){return(n,a,i,r)=>{const l=r.dateObj;e===x.END&&null!==t[0]?l.getTime()<=t[0].getTime()&&(l.getTime()===t[0].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().dateNotAvailable),r.setAttribute("locked","start"),r.setAttribute("aria-disabled","true")):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",d().lockedStartDate))):e===x.START&&null!==t[1]?l.getTime()>=t[1].getTime()&&(l.getTime()===t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().lockedEndDate),r.setAttribute("locked","end"),r.setAttribute("aria-disabled","true")):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",d().dateNotAvailable))):e===x.NONE&&null!==t[0]&&null!==t[1]&&(l.getTime()===t[0].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().dateLocked),r.setAttribute("locked","start"),r.setAttribute("aria-disabled","true")):l.getTime()===t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().dateLocked),r.setAttribute("locked","end"),r.setAttribute("aria-disabled","true")):l.getTime()>t[0].getTime()&&l.getTime()<t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().dateInSelectedRange)):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",d().dateNotAvailable))),r.classList.contains("flatpickr-disabled")&&!r.classList.contains("flatpickr-locked-date")&&r.classList.add("flatpickr-locked-date")}}function Y(e,t,n){return(a,i,r)=>{let l=null,o=null;if(e===x.END&&null!==t[0]&&(l=t[0]),e===x.START&&null!==t[1]&&(o=t[1]),e!==x.NONE||null===t[0]||null===t[1])if(null!==t[0]||null!==t[1]){if(e===x.END&&null!==l){let e=!1;const t=[...a];if(2===a.length&&a[0].getTime()!==l.getTime()?(t[0]=l,e=!0):1===a.length&&(t.splice(0,0,l),e=!0),e)return r.setDate(t,!1),void F(n,t,r.input.value,r)}if(e===x.START&&null!==o){let e=!1;const t=[...a];if(2===a.length&&a[1].getTime()!==o.getTime()?(t[1]=o,e=!0):1===a.length&&(t.push(o),e=!0),e)return r.setDate(t,!1),void F(n,t,r.input.value,r)}F(n,a,i,r)}else F(n,a,i,r);else r.setDate([t[0],t[1]],!1)}}function F(e,t,n,a){try{"function"==typeof e?e(t,n,a):Array.isArray(e)&&e.forEach((e=>{if("function"==typeof e)try{e(t,n,a)}catch(e){console.warn("Error in onChange hook:",e)}}))}catch(e){console.warn("Error calling original onChange handler:",e)}}function I(e,t,n,a){a&&s(a);const i={...e};if(t===x.BOTH)return i;const r=i.onChange;i.clickOpens=!0;try{i.onDayCreate=C(t,n),i.onChange=Y(t,n,r||(()=>{}))}catch(e){console.warn("Error setting up date range editing restrictions:",e)}return i}!function(e){e.BOTH="both",e.START="start",e.END="end",e.NONE="none"}(x||(x={}));export{x as DateRangeEditableMode,l as _defaultCalendarTooltipStrings,I as applyDateRangeEditingRestrictions,S as clearFlatpickrInput,Y as createDateRangeChangeLockHandler,C as createDateRangeDayLockHandler,N as emitValue,h as getFlatpickrOptions,w as getModalContainer,A as getPlaceholder,d as getTextStrings,m as handleInputClick,p as handleInputFocus,T as hideEmptyYear,b as initializeMultiAnchorFlatpickr,k as initializeSingleAnchorFlatpickr,y as injectFlatpickrStyles,g as isValidDateFormat,v as loadLocale,f as modifyWeekdayShorthands,u as preventFlatpickrOpen,E as setCalendarAttributes,s as setTooltipStrings,D as updateEnableTime,L as validate};
|
|
1
|
+
import{a8 as e,a9 as t,aa as n}from"../../vendor/flatpickr-D1_FkiHZ.js";import{loadLocale as a}from"../flatpickrLangs.js";import{fixedOverlayPositionPlugin as i}from"./flatpickrOverlayPosition.js";let r=!1;const l={lockedStartDate:"Start date is locked",lockedEndDate:"End date is locked",dateLocked:"Date is locked",dateNotAvailable:"Date is not available",dateInSelectedRange:"Date is in selected range"};let o={...l};function s(e={}){o={...l,...e}}function d(e={}){return{...o,...e}}const c={"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 K":"yyyy-mm-dd —— : ——","m-d-Y H:i":"mm-dd-yyyy —— : ——","m-d-Y h:i K":"mm-dd-yyyy —— : ——","d-m-Y H:i":"dd-mm-yyyy —— : ——","d-m-Y h:i K":"dd-mm-yyyy —— : ——","Y-m-d H:i:s":"yyyy-mm-dd —— : —— ——","Y-m-d H:i:S":"yyyy-mm-dd —— : —— ——","m-d-Y H:i:s":"mm-dd-yyyy —— : —— ——","m-d-Y H:i:S":"mm-dd-yyyy —— : —— ——","d-m-Y H:i:s":"dd-mm-yyyy —— : —— ——","d-m-Y H:i:S":"dd-mm-yyyy —— : —— ——"};function u(e,t){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),t(!1)}function m(e){e(!0)}function p(e,t,n){e||(t(),n(!0))}function f(e){var t;(null===(t=e.weekdays)||void 0===t?void 0:t.shorthand)&&(e.weekdays.shorthand=e.weekdays.shorthand.map((e=>e.charAt(0))))}function y(e){if(!r){const t=document.createElement("style");t.id="flatpickr-custom-styles",t.textContent=e,document.head.appendChild(t),r=!0}}async function b(n){const{inputEl:a,endinputEl:i,getFlatpickrOptions:r,setCalendarAttributes:l,setInitialDates:o}=n;if(a)try{const n=await r(),s=e=>{if(e instanceof HTMLInputElement)return e;try{let t=e.querySelector("input");if(!t){if(t=document.createElement("input"),t.type="text",t.style.display="none",!e.isConnected)throw new Error("Element is not connected to the DOM");e.appendChild(t)}return t}catch(e){throw console.error("Error creating or appending input element:",e),e}},d=s(a);if(i){const t=s(i);n.plugins=[...n.plugins||[],e({input:t})]}const c=t(d,n);return c?(setTimeout((()=>{l&&l(c)}),0),o&&o(c),a instanceof HTMLInputElement||a.addEventListener("click",(()=>{c.open()})),!i||i instanceof HTMLInputElement||i.addEventListener("click",(()=>{c.open()})),c):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 k(e){const{inputEl:n,getFlatpickrOptions:a,setCalendarAttributes:i,setInitialDates:r,appendTo:l}=e;if(n)try{const e=await a(),o=e.dateFormat||("time"===e.mode?"H:i":"Y-m-d");let s;if(e.dateFormat=o,n instanceof HTMLInputElement)s=n,e.clickOpens=!0;else try{s=document.createElement("input"),s.type="text",s.style.display="none";const t=l||n;if(!t)throw new Error("No valid element to append input to");t.appendChild(s),e.clickOpens=!1,e.positionElement=n}catch(e){throw console.error("Error creating input element:",e),e}const d=t(s,e);return d?(setTimeout((()=>{i&&i(d)}),0),r&&r(d),n instanceof HTMLInputElement||n.addEventListener("click",(()=>d.open())),d):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 g(e){return e in c}function A(e,t){if(!e)return t?"yyyy-mm-dd to yyyy-mm-dd":"yyyy-mm-dd";if(g(e)){return t?`${c[e]} to ${c[e]}`:c[e]}return"Select date"}function v(e){return a(e)}function w(e){let t=e;for(;t;)if(t instanceof ShadowRoot)t=t.host;else{if(!(t instanceof Element))break;{const e=t.tagName.toLowerCase();if("kyn-modal"===e||"kyn-side-drawer"===e)return t;t=t.parentNode}}return document.body}async function h(e){var a;if(!e)return console.error("Context is required for getFlatpickrOptions"),{};const{locale:r,dateFormat:l,enableTime:o,twentyFourHourFormat:s,inputEl:d,allowInput:c,minDate:u,maxDate:m,minTime:p,maxTime:y,defaultDate:b,defaultHour:k,defaultMinute:g,enable:A,disable:v,mode:h="single",closeOnSelect:D,wrap:E=!1,noCalendar:T=!1,appendTo:L,onChange:N,onClose:S,onOpen:C,loadLocale:x}=e;let Y;r||console.warn("Locale not provided. Falling back to default."),l||console.warn("Date format not provided. Using default format.");try{Y=await x(r),f(Y)}catch(e){console.warn("Error loading locale, falling back to default:",e),Y=n}const H=r.split("-")[0].toLowerCase(),F=["en","es"].includes(H),I="undefined"!=typeof window&&window.innerWidth>=767,M=l||("time"===h?s?"H:i":"h:i K":"Y-m-d"),O=w(e.inputEl),q=O!==document.body,R={dateFormat:M,mode:"time"===h?"single":h,enableTime:"time"===h||o,noCalendar:"time"===h||T,defaultDate:b,enableSeconds:M.toLowerCase().includes(":s"),allowInput:c||!1,clickOpens:!0,time_24hr:"boolean"==typeof s?s:!F,weekNumbers:!1,static:null!==(a=e.static)&&void 0!==a&&a,wrap:E,showMonths:"range"===h&&I?2:1,monthSelectorType:"static",locale:Y,closeOnSelect:null!=D?D:!("multiple"===h||o),onChange:(e,t,n)=>{N&&N(e,t,n)},onClose:(e,t,n)=>{if("range"===h&&n.calendarContainer){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"))}S&&S(e,t,n)},onOpen:(e,t,n)=>{C&&C(e,t,n)}};if(q&&(R.appendTo=O,R.static=!1,(R.plugins||(R.plugins=[])).push(i({offset:6,minViewportMargin:8,preferTop:!1}))),"range"===h&&(R.onReady=(e,t,n)=>{if(n.calendarContainer){const e=n.calendarContainer.querySelector(".flatpickr-time");null==e||e.classList.add("default-time-select")}}),d instanceof HTMLInputElement||(R.positionElement=d),u&&(R.minDate=u),m&&(R.maxDate=m),p&&(R.minTime=p),y&&(R.maxTime=y),b)if(!Array.isArray(b)||"range"!==h&&"multiple"!==h){if(!Array.isArray(b)&&"string"==typeof b){let e=null;switch(M){case"Y-m-d":{const[t,n,a]=b.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(t,n-1,a,12);break}case"d-m-Y":{const[t,n,a]=b.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(a,n-1,t,12);break}case"m-d-Y":{const[t,n,a]=b.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(a,t-1,n,12);break}default:e=new Date(b)}R.defaultDate=e||b}}else R.defaultDate=b;return null!=k&&(R.defaultHour=k),null!=g&&(R.defaultMinute=g),A&&A.length>0&&(R.enable=A),v&&v.length>0&&(R.disable=v.map((e=>{if(e instanceof Date)return e;if("number"==typeof e)return new Date(e);if("string"==typeof e){return t.parseDate(e,M)||e}return e}))),L&&(R.appendTo=L),R}function D(e){const t=e||"";return t.includes("H:")||t.includes("h:")||t.toLowerCase().includes(":s")}function E(e,t=!1){if(!e||!e.config)return;const n=e.calendarContainer;if(!n)return;const{minDate:a,maxDate:i}=e.config;if(a&&i){new Date(a).getFullYear()===new Date(i).getFullYear()?n.classList.add("single-year"):n.classList.remove("single-year")}requestAnimationFrame((()=>{if(!e||!e.config)return;const a=e.config.mode;n.setAttribute("role","application"),n.setAttribute("aria-label","Calendar"),n.classList.remove("container-modal","container-body","container-default"),n.classList.add(t?"container-modal":"container-default");const i=n.querySelector(".flatpickr-months");null==i||i.setAttribute("tabindex","0"),null==i||i.setAttribute("role","group"),null==i||i.setAttribute("aria-label","Month and year navigation");const r=n.querySelector(".flatpickr-prev-month");null==r||r.setAttribute("tabindex","0"),null==r||r.setAttribute("role","button"),null==r||r.setAttribute("aria-label","Previous month"),null==r||r.addEventListener("keydown",(t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e.changeMonth(-1))}));const l=n.querySelector(".flatpickr-next-month");null==l||l.setAttribute("tabindex","0"),null==l||l.setAttribute("role","button"),null==l||l.setAttribute("aria-label","Next month"),null==l||l.addEventListener("keydown",(t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e.changeMonth(1))}));const o=n.querySelector(".flatpickr-month"),s=null==o?void 0:o.querySelector("input.numInput.cur-year");if(s){s.tabIndex=0,s.setAttribute("role","spinbutton"),s.setAttribute("aria-label","Year"),e.config.minDate&&s.setAttribute("aria-valuemin",String(new Date(e.config.minDate).getFullYear())),e.config.maxDate&&s.setAttribute("aria-valuemax",String(new Date(e.config.maxDate).getFullYear()));const t=()=>s.setAttribute("aria-valuenow",s.value);s.addEventListener("keydown",(n=>{"ArrowUp"===n.key&&(n.preventDefault(),e.changeYear(1),setTimeout(t,0)),"ArrowDown"===n.key&&(n.preventDefault(),e.changeYear(-1),setTimeout(t,0))})),setTimeout(t,0)}const d=n.querySelector(".flatpickr-days");null==d||d.removeAttribute("tabindex"),null==d||d.setAttribute("role","grid"),null==d||d.setAttribute("aria-multiselectable","multiple"===a?"true":"false");const c=Array.from(n.querySelectorAll(".flatpickr-day:not(.flatpickr-disabled)"));c.forEach((e=>{e.tabIndex=0,e.setAttribute("role","range"===a?"gridcell":"button")}));const u=n._keyboardNav;u&&n.removeEventListener("keydown",u);const m=e=>{const t=e.target.closest(".flatpickr-day:not(.flatpickr-disabled)");if(t)switch(e.key){case"Enter":case" ":return e.preventDefault(),void t.click();case"ArrowRight":case"ArrowLeft":case"ArrowDown":case"ArrowUp":{e.preventDefault();const n=c.indexOf(t);let a;switch(e.key){case"ArrowRight":a=n+1;break;case"ArrowLeft":a=n-1;break;case"ArrowDown":a=n+7;break;case"ArrowUp":a=n-7;break;default:return}const i=c[a];return void(i&&i.focus())}}};n.addEventListener("keydown",m),n._keyboardNav=m;const p=n.querySelector("input.flatpickr-hour");p&&(p.tabIndex=0,p.setAttribute("role","spinbutton"),p.setAttribute("aria-label","Hour"),p.setAttribute("aria-valuemin",p.min),p.setAttribute("aria-valuemax",p.max),p.setAttribute("aria-valuenow",p.value),p.addEventListener("keydown",(e=>{"ArrowUp"===e.key&&(e.preventDefault(),p.stepUp()),"ArrowDown"===e.key&&(e.preventDefault(),p.stepDown()),setTimeout((()=>p.setAttribute("aria-valuenow",p.value)),0)})));const f=n.querySelector("input.flatpickr-minute");f&&(f.tabIndex=0,f.setAttribute("role","spinbutton"),f.setAttribute("aria-label","Minute"),f.setAttribute("aria-valuemin",f.min),f.setAttribute("aria-valuemax",f.max),f.setAttribute("aria-valuenow",f.value),f.addEventListener("keydown",(e=>{"ArrowUp"===e.key&&(e.preventDefault(),f.stepUp()),"ArrowDown"===e.key&&(e.preventDefault(),f.stepDown()),setTimeout((()=>f.setAttribute("aria-valuenow",f.value)),0)})));const y=n.querySelector(".flatpickr-am-pm");y&&(y.tabIndex=0,y.setAttribute("role","button"),y.setAttribute("aria-label","Toggle AM/PM"),y.addEventListener("keydown",(e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),y.click())})))}))}function T(){document.querySelectorAll(".numInputWrapper").forEach((e=>{const t=e.querySelector(".numInput.cur-year");t&&(e.style.display="",t.style.display="",t.disabled=!1,t.hasAttribute("tabindex")||(t.tabIndex=0))}))}function L(e,t,n,a,i,r){if(!e)return console.warn("Input element is undefined..."),{isValid:!0,validationMessage:""};const l=!e.value.trim(),o=t;let s=e.validity,d=e.validationMessage;o&&l&&(s={...s,valueMissing:!0},d=a),n&&(s={...s,customError:!0},d=n),r.setValidity(s,d,e);return{isValid:!n&&(!i||!l||l&&!o),validationMessage:d}}function N(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))}async function S(e,t,n){e&&e.clear(),t&&(t.value=""),n&&await n()}var C;function x(e,t){return(n,a,i,r)=>{const l=r.dateObj;e===C.END&&null!==t[0]?l.getTime()<=t[0].getTime()&&(l.getTime()===t[0].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().dateNotAvailable),r.setAttribute("locked","start"),r.setAttribute("aria-disabled","true")):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",d().lockedStartDate))):e===C.START&&null!==t[1]?l.getTime()>=t[1].getTime()&&(l.getTime()===t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().lockedEndDate),r.setAttribute("locked","end"),r.setAttribute("aria-disabled","true")):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",d().dateNotAvailable))):e===C.NONE&&null!==t[0]&&null!==t[1]&&(l.getTime()===t[0].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().dateLocked),r.setAttribute("locked","start"),r.setAttribute("aria-disabled","true")):l.getTime()===t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().dateLocked),r.setAttribute("locked","end"),r.setAttribute("aria-disabled","true")):l.getTime()>t[0].getTime()&&l.getTime()<t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().dateInSelectedRange)):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",d().dateNotAvailable))),r.classList.contains("flatpickr-disabled")&&!r.classList.contains("flatpickr-locked-date")&&r.classList.add("flatpickr-locked-date")}}function Y(e,t,n){return(a,i,r)=>{let l=null,o=null;if(e===C.END&&null!==t[0]&&(l=t[0]),e===C.START&&null!==t[1]&&(o=t[1]),e!==C.NONE||null===t[0]||null===t[1])if(null!==t[0]||null!==t[1]){if(e===C.END&&null!==l){let e=!1;const t=[...a];if(2===a.length&&a[0].getTime()!==l.getTime()?(t[0]=l,e=!0):1===a.length&&(t.splice(0,0,l),e=!0),e)return r.setDate(t,!1),void H(n,t,r.input.value,r)}if(e===C.START&&null!==o){let e=!1;const t=[...a];if(2===a.length&&a[1].getTime()!==o.getTime()?(t[1]=o,e=!0):1===a.length&&(t.push(o),e=!0),e)return r.setDate(t,!1),void H(n,t,r.input.value,r)}H(n,a,i,r)}else H(n,a,i,r);else r.setDate([t[0],t[1]],!1)}}function H(e,t,n,a){try{"function"==typeof e?e(t,n,a):Array.isArray(e)&&e.forEach((e=>{if("function"==typeof e)try{e(t,n,a)}catch(e){console.warn("Error in onChange hook:",e)}}))}catch(e){console.warn("Error calling original onChange handler:",e)}}function F(e,t,n,a){a&&s(a);const i={...e};if(t===C.BOTH)return i;const r=i.onChange;i.clickOpens=!0;try{i.onDayCreate=x(t,n),i.onChange=Y(t,n,r||(()=>{}))}catch(e){console.warn("Error setting up date range editing restrictions:",e)}return i}!function(e){e.BOTH="both",e.START="start",e.END="end",e.NONE="none"}(C||(C={}));export{C as DateRangeEditableMode,l as _defaultCalendarTooltipStrings,F as applyDateRangeEditingRestrictions,S as clearFlatpickrInput,Y as createDateRangeChangeLockHandler,x as createDateRangeDayLockHandler,N as emitValue,h as getFlatpickrOptions,w as getModalContainer,A as getPlaceholder,d as getTextStrings,m as handleInputClick,p as handleInputFocus,T as hideEmptyYear,b as initializeMultiAnchorFlatpickr,k as initializeSingleAnchorFlatpickr,y as injectFlatpickrStyles,g as isValidDateFormat,v as loadLocale,f as modifyWeekdayShorthands,u as preventFlatpickrOpen,E as setCalendarAttributes,s as setTooltipStrings,D as updateEnableTime,L 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';\nimport { loadLocale as loadLocaleFromLangs } from '../flatpickrLangs';\n\nimport { fixedOverlayPositionPlugin } from '../helpers/flatpickrOverlayPosition';\n\nlet flatpickrStylesInjected = false;\n\nexport const _defaultCalendarTooltipStrings = {\n lockedStartDate: 'Start date is locked',\n lockedEndDate: 'End date is locked',\n dateLocked: 'Date is locked',\n dateNotAvailable: 'Date is not available',\n dateInSelectedRange: 'Date is in selected range',\n};\n\nexport type FlatpickrTextStrings = Partial<\n typeof _defaultCalendarTooltipStrings\n>;\n\nlet currentTooltipStrings = { ..._defaultCalendarTooltipStrings };\n\nexport function setTooltipStrings(\n customTextStrings: FlatpickrTextStrings = {}\n): void {\n currentTooltipStrings = {\n ..._defaultCalendarTooltipStrings,\n ...customTextStrings,\n };\n}\n\nexport function getTextStrings(\n customTextStrings: FlatpickrTextStrings = {}\n): typeof _defaultCalendarTooltipStrings {\n return { ...currentTooltipStrings, ...customTextStrings };\n}\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 K': 'yyyy-mm-dd —— : ——',\n 'm-d-Y H:i': 'mm-dd-yyyy —— : ——',\n 'm-d-Y h:i K': 'mm-dd-yyyy —— : ——',\n 'd-m-Y H:i': 'dd-mm-yyyy —— : ——',\n 'd-m-Y h:i K': 'dd-mm-yyyy —— : ——',\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 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?.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 = (el: HTMLElement): HTMLInputElement => {\n if (el instanceof HTMLInputElement) {\n return el;\n } else {\n try {\n let input = el.querySelector('input') as HTMLInputElement | null;\n if (!input) {\n input = document.createElement('input');\n input.type = 'text';\n input.style.display = 'none';\n if (!el.isConnected) {\n throw new Error('Element is not connected to the DOM');\n }\n el.appendChild(input);\n }\n return input;\n } catch (error) {\n console.error('Error creating or appending input element:', error);\n throw error;\n }\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 const effectiveDateFormat =\n options.dateFormat || (options.mode === 'time' ? 'H:i' : 'Y-m-d');\n options.dateFormat = effectiveDateFormat;\n\n let inputElement: HTMLInputElement;\n if (inputEl instanceof HTMLInputElement) {\n inputElement = inputEl;\n options.clickOpens = true;\n } else {\n try {\n inputElement = document.createElement('input');\n inputElement.type = 'text';\n inputElement.style.display = 'none';\n\n const targetElement = appendTo || inputEl;\n if (!targetElement) {\n throw new Error('No valid element to append input to');\n }\n\n targetElement.appendChild(inputElement);\n options.clickOpens = false;\n options.positionElement = inputEl;\n } catch (error) {\n console.error('Error creating input element:', error);\n throw error;\n }\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 if (!dateFormat) {\n return isDateRange ? 'yyyy-mm-dd to yyyy-mm-dd' : 'yyyy-mm-dd';\n }\n\n if (isValidDateFormat(dateFormat)) {\n const placeholder = isDateRange\n ? `${DATE_FORMAT_OPTIONS[dateFormat]} to ${DATE_FORMAT_OPTIONS[dateFormat]}`\n : DATE_FORMAT_OPTIONS[dateFormat];\n return placeholder;\n }\n return 'Select date';\n}\n\nexport function loadLocale(locale: string): Promise<Partial<Locale>> {\n return loadLocaleFromLangs(locale);\n}\n\nexport function getModalContainer(element: HTMLElement): HTMLElement {\n let node: Node | null = element;\n\n while (node) {\n if (node instanceof ShadowRoot) {\n node = node.host;\n continue;\n }\n\n if (node instanceof Element) {\n const tag = node.tagName.toLowerCase();\n if (tag === 'kyn-modal' || tag === 'kyn-side-drawer') {\n return node as HTMLElement;\n }\n node = node.parentNode;\n continue;\n }\n\n break;\n }\n\n return document.body;\n}\n\nexport async function getFlatpickrOptions(\n context: FlatpickrOptionsContext\n): Promise<Partial<BaseOptions>> {\n if (!context) {\n console.error('Context is required for getFlatpickrOptions');\n return {};\n }\n\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 let localeOptions;\n try {\n localeOptions = await loadLocale(locale);\n modifyWeekdayShorthands(localeOptions);\n } catch (error) {\n console.warn('Error loading locale, falling back to default:', error);\n localeOptions = English;\n }\n\n const baseLocale = locale.split('-')[0].toLowerCase();\n const isEnglishOr12HourLocale = ['en', 'es'].includes(baseLocale);\n\n const isWideScreen =\n typeof window !== 'undefined' && window.innerWidth >= 767;\n\n const effectiveDateFormat =\n dateFormat ||\n (mode === 'time' ? (twentyFourHourFormat ? 'H:i' : 'h:i K') : 'Y-m-d');\n\n const modalContainer = getModalContainer(context.inputEl);\n const inOverlay = modalContainer !== document.body;\n\n const options: Partial<BaseOptions> = {\n dateFormat: effectiveDateFormat,\n mode: mode === 'time' ? 'single' : mode,\n enableTime: mode === 'time' ? true : enableTime,\n noCalendar: mode === 'time' ? true : noCalendar,\n defaultDate: defaultDate,\n enableSeconds: false,\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 onChange && onChange(selectedDates, dateStr, instance);\n },\n onClose: (selectedDates, dateStr, instance) => {\n if (mode === 'range' && instance.calendarContainer) {\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 onClose && onClose(selectedDates, dateStr, instance);\n },\n onOpen: (selectedDates, dateStr, instance) => {\n onOpen && onOpen(selectedDates, dateStr, instance);\n },\n };\n\n if (inOverlay) {\n options.appendTo = modalContainer;\n options.static = false;\n (options.plugins ||= []).push(\n fixedOverlayPositionPlugin({\n offset: 6,\n minViewportMargin: 8,\n preferTop: false,\n }) as any\n );\n }\n\n if (mode === 'range') {\n options.onReady = (_, __, instance) => {\n if (instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n timeContainer?.classList.add('default-time-select');\n }\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\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 if (typeof defaultDate === 'string') {\n let parsedDate: Date | null = null;\n switch (effectiveDateFormat) {\n case 'Y-m-d': {\n const [year, month, day] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(year) && !isNaN(month) && !isNaN(day)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'd-m-Y': {\n const [day, month, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(day) && !isNaN(month) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'm-d-Y': {\n const [month, day, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(month) && !isNaN(day) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n default:\n parsedDate = new Date(defaultDate);\n break;\n }\n options.defaultDate = parsedDate || defaultDate;\n }\n }\n }\n if (defaultHour !== undefined && defaultHour !== null)\n options.defaultHour = defaultHour;\n if (defaultMinute !== undefined && defaultMinute !== null)\n options.defaultMinute = defaultMinute;\n if (enable && enable.length > 0) options.enable = enable;\n if (disable && disable.length > 0) {\n options.disable = disable.map((date) => {\n if (date instanceof Date) return date;\n if (typeof date === 'number') return new Date(date);\n if (typeof date === 'string') {\n const parsed = flatpickr.parseDate(date, effectiveDateFormat);\n return parsed || date;\n }\n return date;\n });\n }\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 = false\n): void {\n if (!instance || !instance.config) {\n return;\n }\n\n const container = instance.calendarContainer;\n if (!container) return;\n\n const { minDate, maxDate } = instance.config;\n if (minDate && maxDate) {\n const minY = new Date(minDate).getFullYear();\n const maxY = new Date(maxDate).getFullYear();\n if (minY === maxY) {\n container.classList.add('single-year');\n } else {\n container.classList.remove('single-year');\n }\n }\n\n requestAnimationFrame(() => {\n if (!instance || !instance.config) {\n return;\n }\n\n const mode = instance.config.mode as\n | 'single'\n | 'multiple'\n | 'range'\n | 'time';\n\n container.setAttribute('role', 'application');\n container.setAttribute('aria-label', 'Calendar');\n container.classList.remove(\n 'container-modal',\n 'container-body',\n 'container-default'\n );\n container.classList.add(\n modalDetected ? 'container-modal' : 'container-default'\n );\n\n const monthsEl = container.querySelector<HTMLElement>('.flatpickr-months');\n monthsEl?.setAttribute('tabindex', '0');\n monthsEl?.setAttribute('role', 'group');\n monthsEl?.setAttribute('aria-label', 'Month and year navigation');\n\n const prevBtn = container.querySelector<HTMLElement>(\n '.flatpickr-prev-month'\n );\n prevBtn?.setAttribute('tabindex', '0');\n prevBtn?.setAttribute('role', 'button');\n prevBtn?.setAttribute('aria-label', 'Previous month');\n prevBtn?.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n instance.changeMonth(-1);\n }\n });\n\n const nextBtn = container.querySelector<HTMLElement>(\n '.flatpickr-next-month'\n );\n nextBtn?.setAttribute('tabindex', '0');\n nextBtn?.setAttribute('role', 'button');\n nextBtn?.setAttribute('aria-label', 'Next month');\n nextBtn?.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n instance.changeMonth(1);\n }\n });\n\n const firstMonth = container.querySelector<HTMLElement>('.flatpickr-month');\n const yearInput = firstMonth?.querySelector<HTMLInputElement>(\n 'input.numInput.cur-year'\n );\n if (yearInput) {\n yearInput.tabIndex = 0;\n yearInput.setAttribute('role', 'spinbutton');\n yearInput.setAttribute('aria-label', 'Year');\n if (instance.config.minDate) {\n yearInput.setAttribute(\n 'aria-valuemin',\n String(new Date(instance.config.minDate!).getFullYear())\n );\n }\n if (instance.config.maxDate) {\n yearInput.setAttribute(\n 'aria-valuemax',\n String(new Date(instance.config.maxDate!).getFullYear())\n );\n }\n const updateNow = () =>\n yearInput.setAttribute('aria-valuenow', yearInput.value);\n yearInput.addEventListener('keydown', (e) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n instance.changeYear(1);\n setTimeout(updateNow, 0);\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n instance.changeYear(-1);\n setTimeout(updateNow, 0);\n }\n });\n setTimeout(updateNow, 0);\n }\n\n const daysGrid = container.querySelector<HTMLElement>('.flatpickr-days');\n daysGrid?.removeAttribute('tabindex');\n daysGrid?.setAttribute('role', 'grid');\n daysGrid?.setAttribute(\n 'aria-multiselectable',\n mode === 'multiple' ? 'true' : 'false'\n );\n\n const enabledDays = Array.from(\n container.querySelectorAll<HTMLElement>(\n '.flatpickr-day:not(.flatpickr-disabled)'\n )\n );\n enabledDays.forEach((day) => {\n day.tabIndex = 0;\n day.setAttribute('role', mode === 'range' ? 'gridcell' : 'button');\n });\n\n const oldNav = (container as any)._keyboardNav as EventListener | undefined;\n if (oldNav) container.removeEventListener('keydown', oldNav);\n\n const keyboardNav = (e: KeyboardEvent) => {\n const targetDay = (e.target as HTMLElement).closest<HTMLElement>(\n '.flatpickr-day:not(.flatpickr-disabled)'\n );\n if (!targetDay) return;\n\n switch (e.key) {\n case 'Enter':\n case ' ':\n e.preventDefault();\n targetDay.click();\n return;\n case 'ArrowRight':\n case 'ArrowLeft':\n case 'ArrowDown':\n case 'ArrowUp': {\n e.preventDefault();\n const idx = enabledDays.indexOf(targetDay);\n let nextIdx: number;\n switch (e.key) {\n case 'ArrowRight':\n nextIdx = idx + 1;\n break;\n case 'ArrowLeft':\n nextIdx = idx - 1;\n break;\n case 'ArrowDown':\n nextIdx = idx + 7;\n break;\n case 'ArrowUp':\n nextIdx = idx - 7;\n break;\n default:\n return;\n }\n const next = enabledDays[nextIdx];\n if (next) next.focus();\n return;\n }\n }\n };\n container.addEventListener('keydown', keyboardNav);\n (container as any)._keyboardNav = keyboardNav;\n\n const hourInput = container.querySelector<HTMLInputElement>(\n 'input.flatpickr-hour'\n );\n if (hourInput) {\n hourInput.tabIndex = 0;\n hourInput.setAttribute('role', 'spinbutton');\n hourInput.setAttribute('aria-label', 'Hour');\n hourInput.setAttribute('aria-valuemin', hourInput.min);\n hourInput.setAttribute('aria-valuemax', hourInput.max);\n hourInput.setAttribute('aria-valuenow', hourInput.value);\n hourInput.addEventListener('keydown', (e) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n hourInput.stepUp();\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n hourInput.stepDown();\n }\n setTimeout(\n () => hourInput.setAttribute('aria-valuenow', hourInput.value),\n 0\n );\n });\n }\n\n const minuteInput = container.querySelector<HTMLInputElement>(\n 'input.flatpickr-minute'\n );\n if (minuteInput) {\n minuteInput.tabIndex = 0;\n minuteInput.setAttribute('role', 'spinbutton');\n minuteInput.setAttribute('aria-label', 'Minute');\n minuteInput.setAttribute('aria-valuemin', minuteInput.min);\n minuteInput.setAttribute('aria-valuemax', minuteInput.max);\n minuteInput.setAttribute('aria-valuenow', minuteInput.value);\n minuteInput.addEventListener('keydown', (e) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n minuteInput.stepUp();\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n minuteInput.stepDown();\n }\n setTimeout(\n () => minuteInput.setAttribute('aria-valuenow', minuteInput.value),\n 0\n );\n });\n }\n\n const ampmToggle = container.querySelector<HTMLElement>('.flatpickr-am-pm');\n if (ampmToggle) {\n ampmToggle.tabIndex = 0;\n ampmToggle.setAttribute('role', 'button');\n ampmToggle.setAttribute('aria-label', 'Toggle AM/PM');\n ampmToggle.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n ampmToggle.click();\n }\n });\n }\n });\n}\n\nexport function hideEmptyYear(): void {\n // force year input to always be visible - don't hide it even when min === max\n document.querySelectorAll('.numInputWrapper').forEach((wrapper) => {\n const yearInput = wrapper.querySelector(\n '.numInput.cur-year'\n ) as HTMLInputElement;\n if (yearInput) {\n (wrapper as HTMLElement).style.display = '';\n\n yearInput.style.display = '';\n yearInput.disabled = false;\n\n if (!yearInput.hasAttribute('tabindex')) {\n yearInput.tabIndex = 0;\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\nexport async function clearFlatpickrInput(\n flatpickrInstance: Instance | undefined,\n inputEl: HTMLInputElement | undefined,\n updateCallback?: () => void\n): Promise<void> {\n if (flatpickrInstance) {\n flatpickrInstance.clear();\n }\n\n if (inputEl) {\n inputEl.value = '';\n }\n\n if (updateCallback) {\n await updateCallback();\n }\n}\n\nexport enum DateRangeEditableMode {\n BOTH = 'both',\n START = 'start',\n END = 'end',\n NONE = 'none',\n}\n\nexport function createDateRangeDayLockHandler(\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null]\n): (\n dObj: Date,\n dStr: string,\n fp: Instance,\n dayElem: HTMLElement & { dateObj: Date }\n) => void {\n return (_dObj, _dStr, _fp, dayElem: HTMLElement & { dateObj: Date }) => {\n const currentDate = dayElem.dateObj;\n\n if (\n editableMode === DateRangeEditableMode.END &&\n currentValue[0] !== null\n ) {\n if (currentDate.getTime() <= currentValue[0].getTime()) {\n if (currentDate.getTime() === currentValue[0].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n dayElem.setAttribute('locked', 'start');\n dayElem.setAttribute('aria-disabled', 'true');\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().lockedStartDate);\n }\n }\n } else if (\n editableMode === DateRangeEditableMode.START &&\n currentValue[1] !== null\n ) {\n if (currentDate.getTime() >= currentValue[1].getTime()) {\n if (currentDate.getTime() === currentValue[1].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().lockedEndDate);\n dayElem.setAttribute('locked', 'end');\n dayElem.setAttribute('aria-disabled', 'true');\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n }\n }\n } else if (\n editableMode === DateRangeEditableMode.NONE &&\n currentValue[0] !== null &&\n currentValue[1] !== null\n ) {\n if (currentDate.getTime() === currentValue[0].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateLocked);\n dayElem.setAttribute('locked', 'start');\n dayElem.setAttribute('aria-disabled', 'true');\n } else if (currentDate.getTime() === currentValue[1].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateLocked);\n dayElem.setAttribute('locked', 'end');\n dayElem.setAttribute('aria-disabled', 'true');\n } else if (\n currentDate.getTime() > currentValue[0].getTime() &&\n currentDate.getTime() < currentValue[1].getTime()\n ) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateInSelectedRange);\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n }\n }\n\n if (\n dayElem.classList.contains('flatpickr-disabled') &&\n !dayElem.classList.contains('flatpickr-locked-date')\n ) {\n dayElem.classList.add('flatpickr-locked-date');\n }\n };\n}\n\nexport function createDateRangeChangeLockHandler(\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null],\n originalOnChange: Hook | Hook[]\n): (selectedDates: Date[], dateStr: string, instance: Instance) => void {\n return (selectedDates, dateStr, instance) => {\n let lockedStartDate: Date | null = null;\n let lockedEndDate: Date | null = null;\n\n if (\n editableMode === DateRangeEditableMode.END &&\n currentValue[0] !== null\n ) {\n lockedStartDate = currentValue[0];\n }\n if (\n editableMode === DateRangeEditableMode.START &&\n currentValue[1] !== null\n ) {\n lockedEndDate = currentValue[1];\n }\n\n if (editableMode === DateRangeEditableMode.NONE) {\n if (currentValue[0] !== null && currentValue[1] !== null) {\n instance.setDate([currentValue[0], currentValue[1]], false);\n return;\n }\n }\n\n if (currentValue[0] === null && currentValue[1] === null) {\n callOriginalOnChange(originalOnChange, selectedDates, dateStr, instance);\n return;\n }\n\n if (\n editableMode === DateRangeEditableMode.END &&\n lockedStartDate !== null\n ) {\n let modified = false;\n const newDates = [...selectedDates];\n\n if (\n selectedDates.length === 2 &&\n selectedDates[0].getTime() !== lockedStartDate.getTime()\n ) {\n newDates[0] = lockedStartDate;\n modified = true;\n } else if (selectedDates.length === 1) {\n newDates.splice(0, 0, lockedStartDate);\n modified = true;\n }\n\n if (modified) {\n instance.setDate(newDates, false);\n callOriginalOnChange(\n originalOnChange,\n newDates,\n instance.input.value,\n instance\n );\n return;\n }\n }\n\n if (\n editableMode === DateRangeEditableMode.START &&\n lockedEndDate !== null\n ) {\n let modified = false;\n const newDates = [...selectedDates];\n\n if (\n selectedDates.length === 2 &&\n selectedDates[1].getTime() !== lockedEndDate.getTime()\n ) {\n newDates[1] = lockedEndDate;\n modified = true;\n } else if (selectedDates.length === 1) {\n newDates.push(lockedEndDate);\n modified = true;\n }\n\n if (modified) {\n instance.setDate(newDates, false);\n callOriginalOnChange(\n originalOnChange,\n newDates,\n instance.input.value,\n instance\n );\n return;\n }\n }\n\n callOriginalOnChange(originalOnChange, selectedDates, dateStr, instance);\n };\n}\n\nfunction callOriginalOnChange(\n originalOnChange: Hook | Hook[],\n selectedDates: Date[],\n dateStr: string,\n instance: Instance\n): void {\n try {\n if (typeof originalOnChange === 'function') {\n originalOnChange(selectedDates, dateStr, instance);\n } else if (Array.isArray(originalOnChange)) {\n originalOnChange.forEach((hook) => {\n if (typeof hook === 'function') {\n try {\n hook(selectedDates, dateStr, instance);\n } catch (e) {\n console.warn('Error in onChange hook:', e);\n }\n }\n });\n }\n } catch (e) {\n console.warn('Error calling original onChange handler:', e);\n }\n}\n\nexport function applyDateRangeEditingRestrictions(\n options: Partial<BaseOptions>,\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null],\n tooltipStrings?: FlatpickrTextStrings\n): Partial<BaseOptions> {\n if (tooltipStrings) {\n setTooltipStrings(tooltipStrings);\n }\n const newOptions = { ...options };\n\n if (editableMode === DateRangeEditableMode.BOTH) {\n return newOptions;\n }\n\n const originalOnChange = newOptions.onChange;\n\n newOptions.clickOpens = true;\n\n try {\n newOptions.onDayCreate = createDateRangeDayLockHandler(\n editableMode,\n currentValue\n ) as any;\n\n newOptions.onChange = createDateRangeChangeLockHandler(\n editableMode,\n currentValue,\n originalOnChange || (() => {})\n );\n } catch (e) {\n console.warn('Error setting up date range editing restrictions:', e);\n }\n\n return newOptions;\n}\n"],"names":["flatpickrStylesInjected","_defaultCalendarTooltipStrings","lockedStartDate","lockedEndDate","dateLocked","dateNotAvailable","dateInSelectedRange","currentTooltipStrings","setTooltipStrings","customTextStrings","getTextStrings","DATE_FORMAT_OPTIONS","preventFlatpickrOpen","event","setShouldFlatpickrOpen","preventDefault","stopPropagation","stopImmediatePropagation","handleInputClick","handleInputFocus","shouldFlatpickrOpen","closeFlatpickr","modifyWeekdayShorthands","localeOptions","weekdays","_a","shorthand","map","day","charAt","injectFlatpickrStyles","customStyle","styleElement","document","createElement","id","textContent","head","appendChild","async","initializeMultiAnchorFlatpickr","context","inputEl","endinputEl","getFlatpickrOptions","setCalendarAttributes","setInitialDates","options","getInputElement","el","HTMLInputElement","input","querySelector","type","style","display","isConnected","Error","error","console","inputElement","endInputElement","plugins","rangePlugin","flatpickrInstance","flatpickr","setTimeout","addEventListener","open","initializeSingleAnchorFlatpickr","appendTo","effectiveDateFormat","dateFormat","mode","clickOpens","targetElement","positionElement","message","isValidDateFormat","format","getPlaceholder","isDateRange","loadLocale","locale","loadLocaleFromLangs","getModalContainer","element","node","ShadowRoot","host","Element","tag","tagName","toLowerCase","parentNode","body","enableTime","twentyFourHourFormat","allowInput","minDate","maxDate","minTime","maxTime","defaultDate","defaultHour","defaultMinute","enable","disable","closeOnSelect","wrap","noCalendar","onChange","onClose","onOpen","warn","English","baseLocale","split","isEnglishOr12HourLocale","includes","isWideScreen","window","innerWidth","modalContainer","inOverlay","enableSeconds","time_24hr","weekNumbers","static","showMonths","monthSelectorType","selectedDates","dateStr","instance","calendarContainer","timeContainer","length","classList","add","remove","push","fixedOverlayPositionPlugin","offset","minViewportMargin","preferTop","onReady","_","__","Array","isArray","parsedDate","year","month","Number","isNaN","Date","date","parseDate","updateEnableTime","modalDetected","config","container","getFullYear","requestAnimationFrame","setAttribute","monthsEl","prevBtn","e","key","changeMonth","nextBtn","firstMonth","yearInput","tabIndex","String","updateNow","value","changeYear","daysGrid","removeAttribute","enabledDays","from","querySelectorAll","forEach","oldNav","_keyboardNav","removeEventListener","keyboardNav","targetDay","target","closest","click","idx","indexOf","nextIdx","next","focus","hourInput","min","max","stepUp","stepDown","minuteInput","ampmToggle","hideEmptyYear","wrapper","disabled","hasAttribute","validate","required","invalidText","defaultErrorMessage","hasInteracted","internals","isValid","validationMessage","isEmpty","trim","isRequired","validity","valueMissing","customError","setValidity","emitValue","eventName","detail","dispatchEvent","CustomEvent","bubbles","composed","clearFlatpickrInput","updateCallback","clear","DateRangeEditableMode","createDateRangeDayLockHandler","editableMode","currentValue","_dObj","_dStr","_fp","dayElem","currentDate","dateObj","END","getTime","START","NONE","contains","createDateRangeChangeLockHandler","originalOnChange","modified","newDates","splice","setDate","callOriginalOnChange","hook","applyDateRangeEditingRestrictions","tooltipStrings","newOptions","BOTH","onDayCreate"],"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';\nimport { loadLocale as loadLocaleFromLangs } from '../flatpickrLangs';\n\nimport { fixedOverlayPositionPlugin } from '../helpers/flatpickrOverlayPosition';\n\nlet flatpickrStylesInjected = false;\n\nexport const _defaultCalendarTooltipStrings = {\n lockedStartDate: 'Start date is locked',\n lockedEndDate: 'End date is locked',\n dateLocked: 'Date is locked',\n dateNotAvailable: 'Date is not available',\n dateInSelectedRange: 'Date is in selected range',\n};\n\nexport type FlatpickrTextStrings = Partial<\n typeof _defaultCalendarTooltipStrings\n>;\n\nlet currentTooltipStrings = { ..._defaultCalendarTooltipStrings };\n\nexport function setTooltipStrings(\n customTextStrings: FlatpickrTextStrings = {}\n): void {\n currentTooltipStrings = {\n ..._defaultCalendarTooltipStrings,\n ...customTextStrings,\n };\n}\n\nexport function getTextStrings(\n customTextStrings: FlatpickrTextStrings = {}\n): typeof _defaultCalendarTooltipStrings {\n return { ...currentTooltipStrings, ...customTextStrings };\n}\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 K': 'yyyy-mm-dd —— : ——',\n 'm-d-Y H:i': 'mm-dd-yyyy —— : ——',\n 'm-d-Y h:i K': 'mm-dd-yyyy —— : ——',\n 'd-m-Y H:i': 'dd-mm-yyyy —— : ——',\n 'd-m-Y h:i K': 'dd-mm-yyyy —— : ——',\n 'Y-m-d H:i:s': 'yyyy-mm-dd —— : —— ——',\n 'Y-m-d H:i:S': 'yyyy-mm-dd —— : —— ——',\n 'm-d-Y H:i:s': 'mm-dd-yyyy —— : —— ——',\n 'm-d-Y H:i:S': 'mm-dd-yyyy —— : —— ——',\n 'd-m-Y H:i:s': 'dd-mm-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 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?.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 = (el: HTMLElement): HTMLInputElement => {\n if (el instanceof HTMLInputElement) {\n return el;\n } else {\n try {\n let input = el.querySelector('input') as HTMLInputElement | null;\n if (!input) {\n input = document.createElement('input');\n input.type = 'text';\n input.style.display = 'none';\n if (!el.isConnected) {\n throw new Error('Element is not connected to the DOM');\n }\n el.appendChild(input);\n }\n return input;\n } catch (error) {\n console.error('Error creating or appending input element:', error);\n throw error;\n }\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 const effectiveDateFormat =\n options.dateFormat || (options.mode === 'time' ? 'H:i' : 'Y-m-d');\n options.dateFormat = effectiveDateFormat;\n\n let inputElement: HTMLInputElement;\n if (inputEl instanceof HTMLInputElement) {\n inputElement = inputEl;\n options.clickOpens = true;\n } else {\n try {\n inputElement = document.createElement('input');\n inputElement.type = 'text';\n inputElement.style.display = 'none';\n\n const targetElement = appendTo || inputEl;\n if (!targetElement) {\n throw new Error('No valid element to append input to');\n }\n\n targetElement.appendChild(inputElement);\n options.clickOpens = false;\n options.positionElement = inputEl;\n } catch (error) {\n console.error('Error creating input element:', error);\n throw error;\n }\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 if (!dateFormat) {\n return isDateRange ? 'yyyy-mm-dd to yyyy-mm-dd' : 'yyyy-mm-dd';\n }\n\n if (isValidDateFormat(dateFormat)) {\n const placeholder = isDateRange\n ? `${DATE_FORMAT_OPTIONS[dateFormat]} to ${DATE_FORMAT_OPTIONS[dateFormat]}`\n : DATE_FORMAT_OPTIONS[dateFormat];\n return placeholder;\n }\n return 'Select date';\n}\n\nexport function loadLocale(locale: string): Promise<Partial<Locale>> {\n return loadLocaleFromLangs(locale);\n}\n\nexport function getModalContainer(element: HTMLElement): HTMLElement {\n let node: Node | null = element;\n\n while (node) {\n if (node instanceof ShadowRoot) {\n node = node.host;\n continue;\n }\n\n if (node instanceof Element) {\n const tag = node.tagName.toLowerCase();\n if (tag === 'kyn-modal' || tag === 'kyn-side-drawer') {\n return node as HTMLElement;\n }\n node = node.parentNode;\n continue;\n }\n\n break;\n }\n\n return document.body;\n}\n\nexport async function getFlatpickrOptions(\n context: FlatpickrOptionsContext\n): Promise<Partial<BaseOptions>> {\n if (!context) {\n console.error('Context is required for getFlatpickrOptions');\n return {};\n }\n\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 let localeOptions;\n try {\n localeOptions = await loadLocale(locale);\n modifyWeekdayShorthands(localeOptions);\n } catch (error) {\n console.warn('Error loading locale, falling back to default:', error);\n localeOptions = English;\n }\n\n const baseLocale = locale.split('-')[0].toLowerCase();\n const isEnglishOr12HourLocale = ['en', 'es'].includes(baseLocale);\n\n const isWideScreen =\n typeof window !== 'undefined' && window.innerWidth >= 767;\n\n const effectiveDateFormat =\n dateFormat ||\n (mode === 'time' ? (twentyFourHourFormat ? 'H:i' : 'h:i K') : 'Y-m-d');\n\n const modalContainer = getModalContainer(context.inputEl);\n const inOverlay = modalContainer !== document.body;\n\n const options: Partial<BaseOptions> = {\n dateFormat: effectiveDateFormat,\n mode: mode === 'time' ? 'single' : mode,\n enableTime: mode === 'time' ? true : enableTime,\n noCalendar: mode === 'time' ? true : noCalendar,\n defaultDate: defaultDate,\n enableSeconds: effectiveDateFormat.toLowerCase().includes(':s'),\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 onChange && onChange(selectedDates, dateStr, instance);\n },\n onClose: (selectedDates, dateStr, instance) => {\n if (mode === 'range' && instance.calendarContainer) {\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 onClose && onClose(selectedDates, dateStr, instance);\n },\n onOpen: (selectedDates, dateStr, instance) => {\n onOpen && onOpen(selectedDates, dateStr, instance);\n },\n };\n\n if (inOverlay) {\n options.appendTo = modalContainer;\n options.static = false;\n (options.plugins ||= []).push(\n fixedOverlayPositionPlugin({\n offset: 6,\n minViewportMargin: 8,\n preferTop: false,\n }) as any\n );\n }\n\n if (mode === 'range') {\n options.onReady = (_, __, instance) => {\n if (instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n timeContainer?.classList.add('default-time-select');\n }\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\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 if (typeof defaultDate === 'string') {\n let parsedDate: Date | null = null;\n switch (effectiveDateFormat) {\n case 'Y-m-d': {\n const [year, month, day] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(year) && !isNaN(month) && !isNaN(day)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'd-m-Y': {\n const [day, month, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(day) && !isNaN(month) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'm-d-Y': {\n const [month, day, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(month) && !isNaN(day) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n default:\n parsedDate = new Date(defaultDate);\n break;\n }\n options.defaultDate = parsedDate || defaultDate;\n }\n }\n }\n if (defaultHour !== undefined && defaultHour !== null)\n options.defaultHour = defaultHour;\n if (defaultMinute !== undefined && defaultMinute !== null)\n options.defaultMinute = defaultMinute;\n if (enable && enable.length > 0) options.enable = enable;\n if (disable && disable.length > 0) {\n options.disable = disable.map((date) => {\n if (date instanceof Date) return date;\n if (typeof date === 'number') return new Date(date);\n if (typeof date === 'string') {\n const parsed = flatpickr.parseDate(date, effectiveDateFormat);\n return parsed || date;\n }\n return date;\n });\n }\n if (appendTo) options.appendTo = appendTo;\n\n return options;\n}\n\nexport function updateEnableTime(dateFormat: string): boolean {\n const df = dateFormat || '';\n return (\n df.includes('H:') || df.includes('h:') || df.toLowerCase().includes(':s')\n );\n}\n\nexport function setCalendarAttributes(\n instance: Instance,\n modalDetected = false\n): void {\n if (!instance || !instance.config) {\n return;\n }\n\n const container = instance.calendarContainer;\n if (!container) return;\n\n const { minDate, maxDate } = instance.config;\n if (minDate && maxDate) {\n const minY = new Date(minDate).getFullYear();\n const maxY = new Date(maxDate).getFullYear();\n if (minY === maxY) {\n container.classList.add('single-year');\n } else {\n container.classList.remove('single-year');\n }\n }\n\n requestAnimationFrame(() => {\n if (!instance || !instance.config) {\n return;\n }\n\n const mode = instance.config.mode as\n | 'single'\n | 'multiple'\n | 'range'\n | 'time';\n\n container.setAttribute('role', 'application');\n container.setAttribute('aria-label', 'Calendar');\n container.classList.remove(\n 'container-modal',\n 'container-body',\n 'container-default'\n );\n container.classList.add(\n modalDetected ? 'container-modal' : 'container-default'\n );\n\n const monthsEl = container.querySelector<HTMLElement>('.flatpickr-months');\n monthsEl?.setAttribute('tabindex', '0');\n monthsEl?.setAttribute('role', 'group');\n monthsEl?.setAttribute('aria-label', 'Month and year navigation');\n\n const prevBtn = container.querySelector<HTMLElement>(\n '.flatpickr-prev-month'\n );\n prevBtn?.setAttribute('tabindex', '0');\n prevBtn?.setAttribute('role', 'button');\n prevBtn?.setAttribute('aria-label', 'Previous month');\n prevBtn?.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n instance.changeMonth(-1);\n }\n });\n\n const nextBtn = container.querySelector<HTMLElement>(\n '.flatpickr-next-month'\n );\n nextBtn?.setAttribute('tabindex', '0');\n nextBtn?.setAttribute('role', 'button');\n nextBtn?.setAttribute('aria-label', 'Next month');\n nextBtn?.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n instance.changeMonth(1);\n }\n });\n\n const firstMonth = container.querySelector<HTMLElement>('.flatpickr-month');\n const yearInput = firstMonth?.querySelector<HTMLInputElement>(\n 'input.numInput.cur-year'\n );\n if (yearInput) {\n yearInput.tabIndex = 0;\n yearInput.setAttribute('role', 'spinbutton');\n yearInput.setAttribute('aria-label', 'Year');\n if (instance.config.minDate) {\n yearInput.setAttribute(\n 'aria-valuemin',\n String(new Date(instance.config.minDate!).getFullYear())\n );\n }\n if (instance.config.maxDate) {\n yearInput.setAttribute(\n 'aria-valuemax',\n String(new Date(instance.config.maxDate!).getFullYear())\n );\n }\n const updateNow = () =>\n yearInput.setAttribute('aria-valuenow', yearInput.value);\n yearInput.addEventListener('keydown', (e) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n instance.changeYear(1);\n setTimeout(updateNow, 0);\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n instance.changeYear(-1);\n setTimeout(updateNow, 0);\n }\n });\n setTimeout(updateNow, 0);\n }\n\n const daysGrid = container.querySelector<HTMLElement>('.flatpickr-days');\n daysGrid?.removeAttribute('tabindex');\n daysGrid?.setAttribute('role', 'grid');\n daysGrid?.setAttribute(\n 'aria-multiselectable',\n mode === 'multiple' ? 'true' : 'false'\n );\n\n const enabledDays = Array.from(\n container.querySelectorAll<HTMLElement>(\n '.flatpickr-day:not(.flatpickr-disabled)'\n )\n );\n enabledDays.forEach((day) => {\n day.tabIndex = 0;\n day.setAttribute('role', mode === 'range' ? 'gridcell' : 'button');\n });\n\n const oldNav = (container as any)._keyboardNav as EventListener | undefined;\n if (oldNav) container.removeEventListener('keydown', oldNav);\n\n const keyboardNav = (e: KeyboardEvent) => {\n const targetDay = (e.target as HTMLElement).closest<HTMLElement>(\n '.flatpickr-day:not(.flatpickr-disabled)'\n );\n if (!targetDay) return;\n\n switch (e.key) {\n case 'Enter':\n case ' ':\n e.preventDefault();\n targetDay.click();\n return;\n case 'ArrowRight':\n case 'ArrowLeft':\n case 'ArrowDown':\n case 'ArrowUp': {\n e.preventDefault();\n const idx = enabledDays.indexOf(targetDay);\n let nextIdx: number;\n switch (e.key) {\n case 'ArrowRight':\n nextIdx = idx + 1;\n break;\n case 'ArrowLeft':\n nextIdx = idx - 1;\n break;\n case 'ArrowDown':\n nextIdx = idx + 7;\n break;\n case 'ArrowUp':\n nextIdx = idx - 7;\n break;\n default:\n return;\n }\n const next = enabledDays[nextIdx];\n if (next) next.focus();\n return;\n }\n }\n };\n container.addEventListener('keydown', keyboardNav);\n (container as any)._keyboardNav = keyboardNav;\n\n const hourInput = container.querySelector<HTMLInputElement>(\n 'input.flatpickr-hour'\n );\n if (hourInput) {\n hourInput.tabIndex = 0;\n hourInput.setAttribute('role', 'spinbutton');\n hourInput.setAttribute('aria-label', 'Hour');\n hourInput.setAttribute('aria-valuemin', hourInput.min);\n hourInput.setAttribute('aria-valuemax', hourInput.max);\n hourInput.setAttribute('aria-valuenow', hourInput.value);\n hourInput.addEventListener('keydown', (e) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n hourInput.stepUp();\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n hourInput.stepDown();\n }\n setTimeout(\n () => hourInput.setAttribute('aria-valuenow', hourInput.value),\n 0\n );\n });\n }\n\n const minuteInput = container.querySelector<HTMLInputElement>(\n 'input.flatpickr-minute'\n );\n if (minuteInput) {\n minuteInput.tabIndex = 0;\n minuteInput.setAttribute('role', 'spinbutton');\n minuteInput.setAttribute('aria-label', 'Minute');\n minuteInput.setAttribute('aria-valuemin', minuteInput.min);\n minuteInput.setAttribute('aria-valuemax', minuteInput.max);\n minuteInput.setAttribute('aria-valuenow', minuteInput.value);\n minuteInput.addEventListener('keydown', (e) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n minuteInput.stepUp();\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n minuteInput.stepDown();\n }\n setTimeout(\n () => minuteInput.setAttribute('aria-valuenow', minuteInput.value),\n 0\n );\n });\n }\n\n const ampmToggle = container.querySelector<HTMLElement>('.flatpickr-am-pm');\n if (ampmToggle) {\n ampmToggle.tabIndex = 0;\n ampmToggle.setAttribute('role', 'button');\n ampmToggle.setAttribute('aria-label', 'Toggle AM/PM');\n ampmToggle.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n ampmToggle.click();\n }\n });\n }\n });\n}\n\nexport function hideEmptyYear(): void {\n // force year input to always be visible - don't hide it even when min === max\n document.querySelectorAll('.numInputWrapper').forEach((wrapper) => {\n const yearInput = wrapper.querySelector(\n '.numInput.cur-year'\n ) as HTMLInputElement;\n if (yearInput) {\n (wrapper as HTMLElement).style.display = '';\n\n yearInput.style.display = '';\n yearInput.disabled = false;\n\n if (!yearInput.hasAttribute('tabindex')) {\n yearInput.tabIndex = 0;\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\nexport async function clearFlatpickrInput(\n flatpickrInstance: Instance | undefined,\n inputEl: HTMLInputElement | undefined,\n updateCallback?: () => void\n): Promise<void> {\n if (flatpickrInstance) {\n flatpickrInstance.clear();\n }\n\n if (inputEl) {\n inputEl.value = '';\n }\n\n if (updateCallback) {\n await updateCallback();\n }\n}\n\nexport enum DateRangeEditableMode {\n BOTH = 'both',\n START = 'start',\n END = 'end',\n NONE = 'none',\n}\n\nexport function createDateRangeDayLockHandler(\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null]\n): (\n dObj: Date,\n dStr: string,\n fp: Instance,\n dayElem: HTMLElement & { dateObj: Date }\n) => void {\n return (_dObj, _dStr, _fp, dayElem: HTMLElement & { dateObj: Date }) => {\n const currentDate = dayElem.dateObj;\n\n if (\n editableMode === DateRangeEditableMode.END &&\n currentValue[0] !== null\n ) {\n if (currentDate.getTime() <= currentValue[0].getTime()) {\n if (currentDate.getTime() === currentValue[0].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n dayElem.setAttribute('locked', 'start');\n dayElem.setAttribute('aria-disabled', 'true');\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().lockedStartDate);\n }\n }\n } else if (\n editableMode === DateRangeEditableMode.START &&\n currentValue[1] !== null\n ) {\n if (currentDate.getTime() >= currentValue[1].getTime()) {\n if (currentDate.getTime() === currentValue[1].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().lockedEndDate);\n dayElem.setAttribute('locked', 'end');\n dayElem.setAttribute('aria-disabled', 'true');\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n }\n }\n } else if (\n editableMode === DateRangeEditableMode.NONE &&\n currentValue[0] !== null &&\n currentValue[1] !== null\n ) {\n if (currentDate.getTime() === currentValue[0].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateLocked);\n dayElem.setAttribute('locked', 'start');\n dayElem.setAttribute('aria-disabled', 'true');\n } else if (currentDate.getTime() === currentValue[1].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateLocked);\n dayElem.setAttribute('locked', 'end');\n dayElem.setAttribute('aria-disabled', 'true');\n } else if (\n currentDate.getTime() > currentValue[0].getTime() &&\n currentDate.getTime() < currentValue[1].getTime()\n ) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateInSelectedRange);\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n }\n }\n\n if (\n dayElem.classList.contains('flatpickr-disabled') &&\n !dayElem.classList.contains('flatpickr-locked-date')\n ) {\n dayElem.classList.add('flatpickr-locked-date');\n }\n };\n}\n\nexport function createDateRangeChangeLockHandler(\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null],\n originalOnChange: Hook | Hook[]\n): (selectedDates: Date[], dateStr: string, instance: Instance) => void {\n return (selectedDates, dateStr, instance) => {\n let lockedStartDate: Date | null = null;\n let lockedEndDate: Date | null = null;\n\n if (\n editableMode === DateRangeEditableMode.END &&\n currentValue[0] !== null\n ) {\n lockedStartDate = currentValue[0];\n }\n if (\n editableMode === DateRangeEditableMode.START &&\n currentValue[1] !== null\n ) {\n lockedEndDate = currentValue[1];\n }\n\n if (editableMode === DateRangeEditableMode.NONE) {\n if (currentValue[0] !== null && currentValue[1] !== null) {\n instance.setDate([currentValue[0], currentValue[1]], false);\n return;\n }\n }\n\n if (currentValue[0] === null && currentValue[1] === null) {\n callOriginalOnChange(originalOnChange, selectedDates, dateStr, instance);\n return;\n }\n\n if (\n editableMode === DateRangeEditableMode.END &&\n lockedStartDate !== null\n ) {\n let modified = false;\n const newDates = [...selectedDates];\n\n if (\n selectedDates.length === 2 &&\n selectedDates[0].getTime() !== lockedStartDate.getTime()\n ) {\n newDates[0] = lockedStartDate;\n modified = true;\n } else if (selectedDates.length === 1) {\n newDates.splice(0, 0, lockedStartDate);\n modified = true;\n }\n\n if (modified) {\n instance.setDate(newDates, false);\n callOriginalOnChange(\n originalOnChange,\n newDates,\n instance.input.value,\n instance\n );\n return;\n }\n }\n\n if (\n editableMode === DateRangeEditableMode.START &&\n lockedEndDate !== null\n ) {\n let modified = false;\n const newDates = [...selectedDates];\n\n if (\n selectedDates.length === 2 &&\n selectedDates[1].getTime() !== lockedEndDate.getTime()\n ) {\n newDates[1] = lockedEndDate;\n modified = true;\n } else if (selectedDates.length === 1) {\n newDates.push(lockedEndDate);\n modified = true;\n }\n\n if (modified) {\n instance.setDate(newDates, false);\n callOriginalOnChange(\n originalOnChange,\n newDates,\n instance.input.value,\n instance\n );\n return;\n }\n }\n\n callOriginalOnChange(originalOnChange, selectedDates, dateStr, instance);\n };\n}\n\nfunction callOriginalOnChange(\n originalOnChange: Hook | Hook[],\n selectedDates: Date[],\n dateStr: string,\n instance: Instance\n): void {\n try {\n if (typeof originalOnChange === 'function') {\n originalOnChange(selectedDates, dateStr, instance);\n } else if (Array.isArray(originalOnChange)) {\n originalOnChange.forEach((hook) => {\n if (typeof hook === 'function') {\n try {\n hook(selectedDates, dateStr, instance);\n } catch (e) {\n console.warn('Error in onChange hook:', e);\n }\n }\n });\n }\n } catch (e) {\n console.warn('Error calling original onChange handler:', e);\n }\n}\n\nexport function applyDateRangeEditingRestrictions(\n options: Partial<BaseOptions>,\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null],\n tooltipStrings?: FlatpickrTextStrings\n): Partial<BaseOptions> {\n if (tooltipStrings) {\n setTooltipStrings(tooltipStrings);\n }\n const newOptions = { ...options };\n\n if (editableMode === DateRangeEditableMode.BOTH) {\n return newOptions;\n }\n\n const originalOnChange = newOptions.onChange;\n\n newOptions.clickOpens = true;\n\n try {\n newOptions.onDayCreate = createDateRangeDayLockHandler(\n editableMode,\n currentValue\n ) as any;\n\n newOptions.onChange = createDateRangeChangeLockHandler(\n editableMode,\n currentValue,\n originalOnChange || (() => {})\n );\n } catch (e) {\n console.warn('Error setting up date range editing restrictions:', e);\n }\n\n return newOptions;\n}\n"],"names":["flatpickrStylesInjected","_defaultCalendarTooltipStrings","lockedStartDate","lockedEndDate","dateLocked","dateNotAvailable","dateInSelectedRange","currentTooltipStrings","setTooltipStrings","customTextStrings","getTextStrings","DATE_FORMAT_OPTIONS","preventFlatpickrOpen","event","setShouldFlatpickrOpen","preventDefault","stopPropagation","stopImmediatePropagation","handleInputClick","handleInputFocus","shouldFlatpickrOpen","closeFlatpickr","modifyWeekdayShorthands","localeOptions","weekdays","_a","shorthand","map","day","charAt","injectFlatpickrStyles","customStyle","styleElement","document","createElement","id","textContent","head","appendChild","async","initializeMultiAnchorFlatpickr","context","inputEl","endinputEl","getFlatpickrOptions","setCalendarAttributes","setInitialDates","options","getInputElement","el","HTMLInputElement","input","querySelector","type","style","display","isConnected","Error","error","console","inputElement","endInputElement","plugins","rangePlugin","flatpickrInstance","flatpickr","setTimeout","addEventListener","open","initializeSingleAnchorFlatpickr","appendTo","effectiveDateFormat","dateFormat","mode","clickOpens","targetElement","positionElement","message","isValidDateFormat","format","getPlaceholder","isDateRange","loadLocale","locale","loadLocaleFromLangs","getModalContainer","element","node","ShadowRoot","host","Element","tag","tagName","toLowerCase","parentNode","body","enableTime","twentyFourHourFormat","allowInput","minDate","maxDate","minTime","maxTime","defaultDate","defaultHour","defaultMinute","enable","disable","closeOnSelect","wrap","noCalendar","onChange","onClose","onOpen","warn","English","baseLocale","split","isEnglishOr12HourLocale","includes","isWideScreen","window","innerWidth","modalContainer","inOverlay","enableSeconds","time_24hr","weekNumbers","static","showMonths","monthSelectorType","selectedDates","dateStr","instance","calendarContainer","timeContainer","length","classList","add","remove","push","fixedOverlayPositionPlugin","offset","minViewportMargin","preferTop","onReady","_","__","Array","isArray","parsedDate","year","month","Number","isNaN","Date","date","parseDate","updateEnableTime","df","modalDetected","config","container","getFullYear","requestAnimationFrame","setAttribute","monthsEl","prevBtn","e","key","changeMonth","nextBtn","firstMonth","yearInput","tabIndex","String","updateNow","value","changeYear","daysGrid","removeAttribute","enabledDays","from","querySelectorAll","forEach","oldNav","_keyboardNav","removeEventListener","keyboardNav","targetDay","target","closest","click","idx","indexOf","nextIdx","next","focus","hourInput","min","max","stepUp","stepDown","minuteInput","ampmToggle","hideEmptyYear","wrapper","disabled","hasAttribute","validate","required","invalidText","defaultErrorMessage","hasInteracted","internals","isValid","validationMessage","isEmpty","trim","isRequired","validity","valueMissing","customError","setValidity","emitValue","eventName","detail","dispatchEvent","CustomEvent","bubbles","composed","clearFlatpickrInput","updateCallback","clear","DateRangeEditableMode","createDateRangeDayLockHandler","editableMode","currentValue","_dObj","_dStr","_fp","dayElem","currentDate","dateObj","END","getTime","START","NONE","contains","createDateRangeChangeLockHandler","originalOnChange","modified","newDates","splice","setDate","callOriginalOnChange","hook","applyDateRangeEditingRestrictions","tooltipStrings","newOptions","BOTH","onDayCreate"],"mappings":"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"}
|
|
@@ -47,21 +47,6 @@ export declare class AccordionItem extends LitElement {
|
|
|
47
47
|
private _handleKeypress;
|
|
48
48
|
private _toggleOpenState;
|
|
49
49
|
private _emitToggleEvent;
|
|
50
|
-
/**
|
|
51
|
-
* Generates the number template
|
|
52
|
-
* @ignore
|
|
53
|
-
*/
|
|
54
|
-
get numberTemplate(): "" | import("lit-html").TemplateResult<1>;
|
|
55
|
-
/**
|
|
56
|
-
* Generates the icon template
|
|
57
|
-
* @ignore
|
|
58
|
-
*/
|
|
59
|
-
get iconTemplate(): "" | import("lit-html").TemplateResult<1>;
|
|
60
|
-
/**
|
|
61
|
-
* Generates the subtitle template
|
|
62
|
-
* @ignore
|
|
63
|
-
*/
|
|
64
|
-
get subtitleTemplate(): "" | import("lit-html").TemplateResult<1>;
|
|
65
50
|
render(): import("lit-html").TemplateResult<1>;
|
|
66
51
|
}
|
|
67
52
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordionItem.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/accordion/accordionItem.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAQ,UAAU,EAAa,MAAM,KAAK,CAAC;AAOlD;;;;;;;;GAQG;AACH,qBACa,aAAc,SAAQ,UAAU;IAC3C,OAAgB,MAAM,0BAAyB;IAE/C,mCAAmC;IAEnC,QAAQ,CAAC,MAAM,UAAS;IAExB,qCAAqC;IAErC,QAAQ,CAAC,QAAQ,UAAS;IAE1B;;;OAGG;IACM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAK;IAErC;;;OAGG;IACM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAE9C;;;OAGG;IACM,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEhD;;;OAGG;IACM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAE3C,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,cAAc,CAAC,KAAK,EAAE,OAAO;IAI7B,eAAe,CAAC,KAAK,EAAE,OAAO;IAI9B,UAAU,CAAC,KAAK,EAAE,OAAO;IAIzB,IAAI;IAIJ,KAAK;IAIL,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"accordionItem.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/accordion/accordionItem.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAQ,UAAU,EAAa,MAAM,KAAK,CAAC;AAOlD;;;;;;;;GAQG;AACH,qBACa,aAAc,SAAQ,UAAU;IAC3C,OAAgB,MAAM,0BAAyB;IAE/C,mCAAmC;IAEnC,QAAQ,CAAC,MAAM,UAAS;IAExB,qCAAqC;IAErC,QAAQ,CAAC,QAAQ,UAAS;IAE1B;;;OAGG;IACM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAK;IAErC;;;OAGG;IACM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAE9C;;;OAGG;IACM,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEhD;;;OAGG;IACM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAE3C,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,cAAc,CAAC,KAAK,EAAE,OAAO;IAI7B,eAAe,CAAC,KAAK,EAAE,OAAO;IAI9B,UAAU,CAAC,KAAK,EAAE,OAAO;IAIzB,IAAI;IAIJ,KAAK;IAIL,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IASf,MAAM;CAwDhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,aAAa,CAAC;KACrC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as e,a as t,b as i,c as o,d as a}from"../../../vendor/tslib-Ac8XvvSX.js";import{i as n,a as d,t as r,r as
|
|
1
|
+
import{_ as e,a as t,b as i,c as o,d as a}from"../../../vendor/tslib-Ac8XvvSX.js";import{i as n,a as d,t as r,r as s,n as l}from"../../../vendor/@lit/reactive-element-f91Vet7N.js";import{e as c,o as m,x as h}from"../../../vendor/lit-html-fDTfWwFR.js";import{i as k}from"../../../vendor/lit-element-DxLLCKb1.js";import{B as p}from"../../../vendor/@kyndryl-design-system/shidoka-icons-DALQfz_R.js";var u=n`/**
|
|
2
2
|
* Copyright Kyndryl, Inc. 2023
|
|
3
3
|
*/
|
|
4
4
|
*,
|
|
@@ -101,22 +101,16 @@ import{_ as e,a as t,b as i,c as o,d as a}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
101
101
|
.kyn-accordion-item-title:focus-visible {
|
|
102
102
|
outline-color: var(--kd-color-border-variants-focus);
|
|
103
103
|
}
|
|
104
|
-
.kyn-accordion-item-title .number
|
|
105
|
-
.kyn-accordion-item-title .icon {
|
|
104
|
+
.kyn-accordion-item-title .number {
|
|
106
105
|
font-weight: var(--kd-font-weight-regular);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
align-self: auto;
|
|
112
|
-
order: 0;
|
|
106
|
+
color: var(--kd-color-text-variant-placeholder);
|
|
107
|
+
padding-right: 2rem;
|
|
108
|
+
}
|
|
109
|
+
.kyn-accordion-item-title slot[name=icon]::slotted(*) {
|
|
113
110
|
display: flex;
|
|
114
111
|
justify-content: center;
|
|
115
|
-
align-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
.kyn-accordion-item-title .number {
|
|
119
|
-
color: var(--kd-color-text-variant-placeholder);
|
|
112
|
+
align-items: center;
|
|
113
|
+
padding-right: 2rem;
|
|
120
114
|
}
|
|
121
115
|
.kyn-accordion-item-title .title {
|
|
122
116
|
flex-grow: 1;
|
|
@@ -170,11 +164,7 @@ import{_ as e,a as t,b as i,c as o,d as a}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
170
164
|
|
|
171
165
|
.disabled .kyn-accordion-item-body {
|
|
172
166
|
color: var(--kd-color-text-link-level-disabled);
|
|
173
|
-
}`;let b=(()=>{var n,b,g,y,v,f;let x,_,w,$,S,
|
|
174
|
-
<div class="kyn-accordion-item-subtitle">
|
|
175
|
-
<slot name="subtitle"></slot>
|
|
176
|
-
</div>
|
|
177
|
-
`:""}render(){const e=m({"kyn-accordion-item":!0,opened:this.opened,disabled:this.disabled,"filled-header":this._filledHeader,compact:this._compact});return c`
|
|
167
|
+
}`;let b=(()=>{var n,b,g,y,v,f;let x,_,w,$,z,S,H,N,j=[r("kyn-accordion-item")],O=[],M=k,W=[],C=[],E=[],B=[],I=[],K=[],D=[],T=[],A=[],F=[],P=[],q=[];return _=class extends M{get opened(){return o(this,n,"f")}set opened(e){a(this,n,e,"f")}get disabled(){return o(this,b,"f")}set disabled(e){a(this,b,e,"f")}get _index(){return o(this,g,"f")}set _index(e){a(this,g,e,"f")}get _showNumber(){return o(this,y,"f")}set _showNumber(e){a(this,y,e,"f")}get _filledHeader(){return o(this,v,"f")}set _filledHeader(e){a(this,v,e,"f")}get _compact(){return o(this,f,"f")}set _compact(e){a(this,f,e,"f")}setIndex(e){this._index=e}setShowNumbers(e){this._showNumber=e}setFilledHeader(e){this._filledHeader=e}setCompact(e){this._compact=e}open(){this.opened||this._toggleOpenState()}close(){this.opened&&this._toggleOpenState()}_handleClick(e){e.preventDefault(),this._toggleOpenState()}_handleKeypress(e){e.preventDefault()," "!=e.key&&"Enter"!=e.key||this._toggleOpenState()}_toggleOpenState(){this.disabled||(this.opened=!this.opened,this._emitToggleEvent())}_emitToggleEvent(){const e=new CustomEvent("on-toggle",{bubbles:!0,composed:!0,detail:{opened:this.opened}});this.dispatchEvent(e)}render(){const e=c({"kyn-accordion-item":!0,opened:this.opened,disabled:this.disabled,"filled-header":this._filledHeader,compact:this._compact});return h`
|
|
178
168
|
<div class="${e}">
|
|
179
169
|
<div
|
|
180
170
|
class="kyn-accordion-item-title"
|
|
@@ -187,17 +177,23 @@ import{_ as e,a as t,b as i,c as o,d as a}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
187
177
|
@keypress="${e=>this._handleKeypress(e)}"
|
|
188
178
|
id="kyn-accordion-item-title-${this._index}"
|
|
189
179
|
>
|
|
190
|
-
|
|
180
|
+
<div class="icon">
|
|
181
|
+
<slot name="icon"></slot>
|
|
182
|
+
</div>
|
|
183
|
+
|
|
184
|
+
${this._showNumber?h` <div class="number">${this._index}</div> `:null}
|
|
191
185
|
|
|
192
186
|
<div>
|
|
193
187
|
<div class="title">
|
|
194
188
|
<slot name="title"></slot>
|
|
195
189
|
</div>
|
|
196
190
|
|
|
197
|
-
|
|
191
|
+
<div class="kyn-accordion-item-subtitle">
|
|
192
|
+
<slot name="subtitle"></slot>
|
|
193
|
+
</div>
|
|
198
194
|
</div>
|
|
199
195
|
|
|
200
|
-
<div class="expand-icon">${
|
|
196
|
+
<div class="expand-icon">${m(p)}</div>
|
|
201
197
|
</div>
|
|
202
198
|
|
|
203
199
|
<div
|
|
@@ -211,5 +207,5 @@ import{_ as e,a as t,b as i,c as o,d as a}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
211
207
|
</div>
|
|
212
208
|
</div>
|
|
213
209
|
</div>
|
|
214
|
-
`}constructor(){super(...arguments),n.set(this,i(this,
|
|
210
|
+
`}constructor(){super(...arguments),n.set(this,i(this,W,!1)),b.set(this,(i(this,C),i(this,E,!1))),g.set(this,(i(this,B),i(this,I,1))),y.set(this,(i(this,K),i(this,D,!1))),v.set(this,(i(this,T),i(this,A,!1))),f.set(this,(i(this,F),i(this,P,!1))),i(this,q)}},n=new WeakMap,b=new WeakMap,g=new WeakMap,y=new WeakMap,v=new WeakMap,f=new WeakMap,e(_,"AccordionItem"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=M[Symbol.metadata])&&void 0!==e?e:null):void 0;w=[l({type:Boolean})],$=[l({type:Boolean})],z=[d()],S=[d()],H=[d()],N=[d()],t(_,null,w,{kind:"accessor",name:"opened",static:!1,private:!1,access:{has:e=>"opened"in e,get:e=>e.opened,set:(e,t)=>{e.opened=t}},metadata:i},W,C),t(_,null,$,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:i},E,B),t(_,null,z,{kind:"accessor",name:"_index",static:!1,private:!1,access:{has:e=>"_index"in e,get:e=>e._index,set:(e,t)=>{e._index=t}},metadata:i},I,K),t(_,null,S,{kind:"accessor",name:"_showNumber",static:!1,private:!1,access:{has:e=>"_showNumber"in e,get:e=>e._showNumber,set:(e,t)=>{e._showNumber=t}},metadata:i},D,T),t(_,null,H,{kind:"accessor",name:"_filledHeader",static:!1,private:!1,access:{has:e=>"_filledHeader"in e,get:e=>e._filledHeader,set:(e,t)=>{e._filledHeader=t}},metadata:i},A,F),t(_,null,N,{kind:"accessor",name:"_compact",static:!1,private:!1,access:{has:e=>"_compact"in e,get:e=>e._compact,set:(e,t)=>{e._compact=t}},metadata:i},P,q),t(null,x={value:_},j,{kind:"class",name:_.name,metadata:i},null,O),_=x.value,i&&Object.defineProperty(_,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),_.styles=s(u),i(_,O),_})();export{b as AccordionItem};
|
|
215
211
|
//# sourceMappingURL=accordionItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordionItem.js","sources":["../../../../src/components/reusable/accordion/accordionItem.ts"],"sourcesContent":["/**\n * Copyright Kyndryl, Inc. 2022\n */\n\nimport { html, LitElement, unsafeCSS } from 'lit';\nimport { state, property, customElement } from 'lit/decorators.js';\nimport { classMap } from 'lit-html/directives/class-map.js';\nimport stylesheet from './accordionItem.scss?inline';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport chevronIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/24/chevron-down.svg';\n\n/**\n * AccordionItem component. *\n * @fires on-toggle - Emits the `opened` state when the accordion item opens/closes. `detail:{ opened: boolean }`.\n * @slot icon - Optional leading icon\n * @slot body - Body of the accordion item\n * @slot title - Title of the accordion item\n * @slot subtitle - Optional subtitle of the accordion item\n *\n */\n@customElement('kyn-accordion-item')\nexport class AccordionItem extends LitElement {\n static override styles = unsafeCSS(stylesheet);\n\n /** Accordion item opened state. */\n @property({ type: Boolean })\n accessor opened = false;\n\n /** Accordion item disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /**\n * The index of this item. Passed from the Accordion.\n * @ignore\n */\n @state() private accessor _index = 1;\n\n /**\n * Whether the number should be shown. Passed from the Accordion.\n * @ignore\n */\n @state() private accessor _showNumber = false;\n\n /**\n * Whether this item displays a filled header. Passed from the Accordion.\n * @ignore\n */\n @state() private accessor _filledHeader = false;\n\n /**\n * Whether this item is compact. Passed from the Accordion.\n * @ignore\n */\n @state() private accessor _compact = false;\n\n setIndex(index: number) {\n this._index = index;\n }\n\n setShowNumbers(value: boolean) {\n this._showNumber = value;\n }\n\n setFilledHeader(value: boolean) {\n this._filledHeader = value;\n }\n\n setCompact(value: boolean) {\n this._compact = value;\n }\n\n open() {\n if (!this.opened) this._toggleOpenState();\n }\n\n close() {\n if (this.opened) this._toggleOpenState();\n }\n\n private _handleClick(e: Event) {\n e.preventDefault();\n this._toggleOpenState();\n }\n\n private _handleKeypress(e: KeyboardEvent) {\n e.preventDefault();\n if (e.key == ' ' || e.key == 'Enter') this._toggleOpenState();\n }\n\n private _toggleOpenState() {\n if (!this.disabled) {\n this.opened = !this.opened;\n\n this._emitToggleEvent();\n }\n }\n\n private _emitToggleEvent() {\n const event = new CustomEvent('on-toggle', {\n bubbles: true,\n composed: true,\n detail: { opened: this.opened },\n });\n this.dispatchEvent(event);\n }\n\n /**\n * Generates the number template\n * @ignore\n */\n get numberTemplate() {\n if (this._showNumber) {\n return html`<div class=\"number\">${this._index}</div>`;\n } else {\n return '';\n }\n }\n\n /**\n * Generates the icon template\n * @ignore\n */\n get iconTemplate() {\n if (this.querySelector('[slot=\"icon\"]')) {\n return html`<div class=\"icon\"><slot name=\"icon\"></slot></div>`;\n } else {\n return '';\n }\n }\n\n /**\n * Generates the subtitle template\n * @ignore\n */\n get subtitleTemplate() {\n if (this.querySelector('[slot=\"subtitle\"]')) {\n return html`\n <div class=\"kyn-accordion-item-subtitle\">\n <slot name=\"subtitle\"></slot>\n </div>\n `;\n } else {\n return '';\n }\n }\n\n override render() {\n const classes: any = classMap({\n 'kyn-accordion-item': true,\n opened: this.opened,\n disabled: this.disabled,\n 'filled-header': this._filledHeader,\n compact: this._compact,\n });\n\n return html`\n <div class=\"${classes}\">\n <div\n class=\"kyn-accordion-item-title\"\n aria-controls=\"kyn-accordion-item-body-${this._index}\"\n aria-expanded=${this.opened}\n aria-disabled=${this.disabled}\n tabindex=\"0\"\n role=\"button\"\n @click=\"${(e: Event) => this._handleClick(e)}\"\n @keypress=\"${(e: KeyboardEvent) => this._handleKeypress(e)}\"\n id=\"kyn-accordion-item-title-${this._index}\"\n >\n ${this.iconTemplate} ${this.numberTemplate}\n\n <div>\n <div class=\"title\">\n <slot name=\"title\"></slot>\n </div>\n\n ${this.subtitleTemplate}\n </div>\n\n <div class=\"expand-icon\">${unsafeSVG(chevronIcon)}</div>\n </div>\n\n <div\n class=\"kyn-accordion-item-body\"\n id=\"kyn-accordion-item-body-${this._index}\"\n role=\"region\"\n aria-labelledby=\"kyn-accordion-item-title-${this._index}\"\n >\n <div class=\"kyn-accordion-item-detail\">\n <slot name=\"body\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-accordion-item': AccordionItem;\n }\n}\n"],"names":["AccordionItem","customElement","LitElement","_classThis","_classSuper","opened","__classPrivateFieldGet","this","_AccordionItem_opened_accessor_storage","value","__classPrivateFieldSet","disabled","_AccordionItem_disabled_accessor_storage","_index","_AccordionItem__index_accessor_storage","_showNumber","_AccordionItem__showNumber_accessor_storage","_filledHeader","_AccordionItem__filledHeader_accessor_storage","_compact","_AccordionItem__compact_accessor_storage","setIndex","index","setShowNumbers","setFilledHeader","setCompact","open","_toggleOpenState","close","_handleClick","e","preventDefault","_handleKeypress","key","_emitToggleEvent","event","CustomEvent","bubbles","composed","detail","dispatchEvent","numberTemplate","html","iconTemplate","querySelector","subtitleTemplate","render","classes","classMap","compact","unsafeSVG","chevronIcon","set","__runInitializers","_opened_initializers","_opened_extraInitializers","_disabled_initializers","_disabled_extraInitializers","__index_initializers","__index_extraInitializers","__showNumber_initializers","__showNumber_extraInitializers","__filledHeader_initializers","__filledHeader_extraInitializers","__compact_initializers","_opened_decorators","property","type","Boolean","_disabled_decorators","__index_decorators","state","__showNumber_decorators","__filledHeader_decorators","__compact_decorators","__esDecorate","kind","name","static","private","access","has","obj","get","metadata","_metadata","__compact_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","stylesheet"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"accordionItem.js","sources":["../../../../src/components/reusable/accordion/accordionItem.ts"],"sourcesContent":["/**\n * Copyright Kyndryl, Inc. 2022\n */\n\nimport { html, LitElement, unsafeCSS } from 'lit';\nimport { state, property, customElement } from 'lit/decorators.js';\nimport { classMap } from 'lit-html/directives/class-map.js';\nimport stylesheet from './accordionItem.scss?inline';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport chevronIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/24/chevron-down.svg';\n\n/**\n * AccordionItem component. *\n * @fires on-toggle - Emits the `opened` state when the accordion item opens/closes. `detail:{ opened: boolean }`.\n * @slot icon - Optional leading icon\n * @slot body - Body of the accordion item\n * @slot title - Title of the accordion item\n * @slot subtitle - Optional subtitle of the accordion item\n *\n */\n@customElement('kyn-accordion-item')\nexport class AccordionItem extends LitElement {\n static override styles = unsafeCSS(stylesheet);\n\n /** Accordion item opened state. */\n @property({ type: Boolean })\n accessor opened = false;\n\n /** Accordion item disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /**\n * The index of this item. Passed from the Accordion.\n * @ignore\n */\n @state() private accessor _index = 1;\n\n /**\n * Whether the number should be shown. Passed from the Accordion.\n * @ignore\n */\n @state() private accessor _showNumber = false;\n\n /**\n * Whether this item displays a filled header. Passed from the Accordion.\n * @ignore\n */\n @state() private accessor _filledHeader = false;\n\n /**\n * Whether this item is compact. Passed from the Accordion.\n * @ignore\n */\n @state() private accessor _compact = false;\n\n setIndex(index: number) {\n this._index = index;\n }\n\n setShowNumbers(value: boolean) {\n this._showNumber = value;\n }\n\n setFilledHeader(value: boolean) {\n this._filledHeader = value;\n }\n\n setCompact(value: boolean) {\n this._compact = value;\n }\n\n open() {\n if (!this.opened) this._toggleOpenState();\n }\n\n close() {\n if (this.opened) this._toggleOpenState();\n }\n\n private _handleClick(e: Event) {\n e.preventDefault();\n this._toggleOpenState();\n }\n\n private _handleKeypress(e: KeyboardEvent) {\n e.preventDefault();\n if (e.key == ' ' || e.key == 'Enter') this._toggleOpenState();\n }\n\n private _toggleOpenState() {\n if (!this.disabled) {\n this.opened = !this.opened;\n\n this._emitToggleEvent();\n }\n }\n\n private _emitToggleEvent() {\n const event = new CustomEvent('on-toggle', {\n bubbles: true,\n composed: true,\n detail: { opened: this.opened },\n });\n this.dispatchEvent(event);\n }\n\n override render() {\n const classes: any = classMap({\n 'kyn-accordion-item': true,\n opened: this.opened,\n disabled: this.disabled,\n 'filled-header': this._filledHeader,\n compact: this._compact,\n });\n\n return html`\n <div class=\"${classes}\">\n <div\n class=\"kyn-accordion-item-title\"\n aria-controls=\"kyn-accordion-item-body-${this._index}\"\n aria-expanded=${this.opened}\n aria-disabled=${this.disabled}\n tabindex=\"0\"\n role=\"button\"\n @click=\"${(e: Event) => this._handleClick(e)}\"\n @keypress=\"${(e: KeyboardEvent) => this._handleKeypress(e)}\"\n id=\"kyn-accordion-item-title-${this._index}\"\n >\n <div class=\"icon\">\n <slot name=\"icon\"></slot>\n </div>\n\n ${this._showNumber\n ? html` <div class=\"number\">${this._index}</div> `\n : null}\n\n <div>\n <div class=\"title\">\n <slot name=\"title\"></slot>\n </div>\n\n <div class=\"kyn-accordion-item-subtitle\">\n <slot name=\"subtitle\"></slot>\n </div>\n </div>\n\n <div class=\"expand-icon\">${unsafeSVG(chevronIcon)}</div>\n </div>\n\n <div\n class=\"kyn-accordion-item-body\"\n id=\"kyn-accordion-item-body-${this._index}\"\n role=\"region\"\n aria-labelledby=\"kyn-accordion-item-title-${this._index}\"\n >\n <div class=\"kyn-accordion-item-detail\">\n <slot name=\"body\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-accordion-item': AccordionItem;\n }\n}\n"],"names":["AccordionItem","customElement","LitElement","_classThis","_classSuper","opened","__classPrivateFieldGet","this","_AccordionItem_opened_accessor_storage","value","__classPrivateFieldSet","disabled","_AccordionItem_disabled_accessor_storage","_index","_AccordionItem__index_accessor_storage","_showNumber","_AccordionItem__showNumber_accessor_storage","_filledHeader","_AccordionItem__filledHeader_accessor_storage","_compact","_AccordionItem__compact_accessor_storage","setIndex","index","setShowNumbers","setFilledHeader","setCompact","open","_toggleOpenState","close","_handleClick","e","preventDefault","_handleKeypress","key","_emitToggleEvent","event","CustomEvent","bubbles","composed","detail","dispatchEvent","render","classes","classMap","compact","html","unsafeSVG","chevronIcon","set","__runInitializers","_opened_initializers","_opened_extraInitializers","_disabled_initializers","_disabled_extraInitializers","__index_initializers","__index_extraInitializers","__showNumber_initializers","__showNumber_extraInitializers","__filledHeader_initializers","__filledHeader_extraInitializers","__compact_initializers","_opened_decorators","property","type","Boolean","_disabled_decorators","__index_decorators","state","__showNumber_decorators","__filledHeader_decorators","__compact_decorators","__esDecorate","kind","name","static","private","access","has","obj","get","metadata","_metadata","__compact_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","stylesheet"],"mappings":"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"}
|
|
@@ -60,6 +60,8 @@ export declare class DatePicker extends DatePicker_base {
|
|
|
60
60
|
accessor minDate: string | number | Date;
|
|
61
61
|
/** Sets upper boundary of datepicker date selection. */
|
|
62
62
|
accessor maxDate: string | number | Date;
|
|
63
|
+
/** Allows manual input of date/time string that matches dateFormat when true. */
|
|
64
|
+
accessor allowManualInput: boolean;
|
|
63
65
|
/** Sets aria label attribute for error message. */
|
|
64
66
|
accessor errorAriaLabel: string;
|
|
65
67
|
/** Sets title attribute for error message. */
|
|
@@ -155,6 +157,7 @@ export declare class DatePicker extends DatePicker_base {
|
|
|
155
157
|
firstUpdated(changedProperties: PropertyValues): Promise<void>;
|
|
156
158
|
private processDefaultDates;
|
|
157
159
|
updated(changedProperties: PropertyValues): void;
|
|
160
|
+
private syncAllowInput;
|
|
158
161
|
private setupAnchor;
|
|
159
162
|
private _handleClear;
|
|
160
163
|
initializeFlatpickr(): Promise<void>;
|