@kyndryl-design-system/shidoka-applications 2.48.1 → 2.48.2
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.map +1 -1
- package/common/helpers/flatpickr.js +1 -1
- package/common/helpers/flatpickr.js.map +1 -1
- package/components/reusable/modal/modal.js +1 -1
- package/components/reusable/modal/modal.js.map +1 -1
- package/components/reusable/sliderInput/sliderInput.d.ts +1 -1
- package/components/reusable/sliderInput/sliderInput.d.ts.map +1 -1
- package/components/reusable/sliderInput/sliderInput.js +6 -6
- package/components/reusable/sliderInput/sliderInput.js.map +1 -1
- package/components/reusable/splitButton/splitButton.js +1 -1
- package/package.json +1 -1
|
@@ -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;AAMrD,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;;;;;;;;;;;;;CAaf,CAAC;AAEX,KAAK,gBAAgB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAEzD,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,sBAAsB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAC/C,IAAI,
|
|
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";let i=!1;const r={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 l={...r};function o(e={}){l={...r,...e}}function s(e={}){return{...l,...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 d(e,t){e.preventDefault(),t(!1)}function u(e){e(!0)}function m(e,t,n){e||(t(),n(!0))}function p(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 f(e){if(!i){const t=document.createElement("style");t.id="flatpickr-custom-styles",t.textContent=e,document.head.appendChild(t),i=!0}}async function y(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}},c=s(a);if(i){const t=s(i);n.plugins=[...n.plugins||[],e({input:t})]}const d=t(c,n);return d?(setTimeout((()=>{l&&l(d)}),0),o&&o(d),a instanceof HTMLInputElement||a.addEventListener("click",(()=>{d.open()})),!i||i instanceof HTMLInputElement||i.addEventListener("click",(()=>{d.open()})),d):void console.error("Failed to initialize Flatpickr")}catch(e){return void console.error("Error initializing Flatpickr:",e)}else console.error("Cannot initialize Flatpickr: inputEl is undefined")}async function b(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 c=t(s,e);return c?(setTimeout((()=>{i&&i(c)}),0),r&&r(c),n instanceof HTMLInputElement||n.addEventListener("click",(()=>c.open())),c):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 k(e){return e in c}function g(e,t){if(!e)return t?"yyyy-mm-dd to yyyy-mm-dd":"yyyy-mm-dd";if(k(e)){return t?`${c[e]} to ${c[e]}`:c[e]}return"Select date"}function v(e){return a(e)}function A(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:i,dateFormat:r,enableTime:l,twentyFourHourFormat:o,inputEl:s,allowInput:c,minDate:d,maxDate:u,minTime:m,maxTime:f,defaultDate:y,defaultHour:b,defaultMinute:k,enable:g,disable:v,mode:A="single",closeOnSelect:h,wrap:w=!1,noCalendar:E=!1,appendTo:D,onChange:T,onClose:L,onOpen:N,loadLocale:S}=e;let x;i||console.warn("Locale not provided. Falling back to default."),r||console.warn("Date format not provided. Using default format.");try{x=await S(i),p(x)}catch(e){console.warn("Error loading locale, falling back to default:",e),x=n}const C=i.split("-")[0].toLowerCase(),Y=["en","es"].includes(C),F=window.innerWidth>=767,H=r||("time"===A?o?"H:i":"h:i K":"Y-m-d"),I={dateFormat:H,mode:"time"===A?"single":A,enableTime:"time"===A||l,noCalendar:"time"===A||E,defaultDate:y,enableSeconds:!1,allowInput:c||!1,clickOpens:!0,time_24hr:"boolean"==typeof o?o:!Y,weekNumbers:!1,static:null!==(a=e.static)&&void 0!==a&&a,wrap:w,showMonths:"range"===A&&F?2:1,monthSelectorType:"static",locale:x,closeOnSelect:null!=h?h:!("multiple"===A||l),onChange:(e,t,n)=>{T&&T(e,t,n)},onClose:(e,t,n)=>{if("range"===A&&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"))}L&&L(e,t,n)},onOpen:(e,t,n)=>{N&&N(e,t,n)}};if("range"===A&&(I.onReady=(e,t,n)=>{if(n.calendarContainer){const e=n.calendarContainer.querySelector(".flatpickr-time");null==e||e.classList.add("default-time-select")}}),s instanceof HTMLInputElement||(I.positionElement=s),d&&(I.minDate=d),u&&(I.maxDate=u),m&&(I.minTime=m),f&&(I.maxTime=f),y)if(!Array.isArray(y)||"range"!==A&&"multiple"!==A){if(!Array.isArray(y)&&"string"==typeof y){let e=null;switch(H){case"Y-m-d":{const[t,n,a]=y.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]=y.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]=y.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(a,t-1,n,12);break}default:e=new Date(y)}I.defaultDate=e||y}}else I.defaultDate=y;return null!=b&&(I.defaultHour=b),null!=k&&(I.defaultMinute=k),g&&g.length>0&&(I.enable=g),v&&v.length>0&&(I.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,H)||e}return e}))),D&&(I.appendTo=D),I}function w(e){return e.includes("H:")||e.includes("h:")}function E(e,t=!1){const n=e.calendarContainer;n&&requestAnimationFrame((()=>{const a=null==e?void 0: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"),(null==e?void 0:e.config.minDate)&&s.setAttribute("aria-valuemin",String(new Date(e.config.minDate).getFullYear())),(null==e?void 0: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 c=n.querySelector(".flatpickr-days");null==c||c.removeAttribute("tabindex"),null==c||c.setAttribute("role","grid"),null==c||c.setAttribute("aria-multiselectable","multiple"===a?"true":"false");const d=Array.from(n.querySelectorAll(".flatpickr-day:not(.flatpickr-disabled)"));d.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=d.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=d[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 D(){const e=document.querySelector(".flatpickr-current-month span.cur-month");document.querySelectorAll(".numInputWrapper").forEach((t=>{const n=t.querySelector(".numInput.cur-year");n&&n.min&&n.max&&n.min===n.max&&(t.style.display="none",e&&(e.style.marginLeft="auto"))}))}function T(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,c=e.validationMessage;o&&l&&(s={...s,valueMissing:!0},c=a),n&&(s={...s,customError:!0},c=n),r.setValidity(s,c,e);return{isValid:!n&&(!i||!l||l&&!o),validationMessage:c}}function L(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))}async function N(e,t,n){e&&e.clear(),t&&(t.value=""),n&&await n()}var S;function x(e,t){return(n,a,i,r)=>{const l=r.dateObj;e===S.END&&null!==t[0]?l.getTime()<=t[0].getTime()&&(l.getTime()===t[0].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",s().dateNotAvailable),r.setAttribute("locked","start"),r.setAttribute("aria-disabled","true")):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",s().lockedStartDate))):e===S.START&&null!==t[1]?l.getTime()>=t[1].getTime()&&(l.getTime()===t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",s().lockedEndDate),r.setAttribute("locked","end"),r.setAttribute("aria-disabled","true")):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",s().dateNotAvailable))):e===S.NONE&&null!==t[0]&&null!==t[1]&&(l.getTime()===t[0].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",s().dateLocked),r.setAttribute("locked","start"),r.setAttribute("aria-disabled","true")):l.getTime()===t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",s().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",s().dateInSelectedRange)):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",s().dateNotAvailable))),r.classList.contains("flatpickr-disabled")&&!r.classList.contains("flatpickr-locked-date")&&r.classList.add("flatpickr-locked-date")}}function C(e,t,n){return(a,i,r)=>{let l=null,o=null;if(e===S.END&&null!==t[0]&&(l=t[0]),e===S.START&&null!==t[1]&&(o=t[1]),e!==S.NONE||null===t[0]||null===t[1])if(null!==t[0]||null!==t[1]){if(e===S.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 Y(n,t,r.input.value,r)}if(e===S.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 Y(n,t,r.input.value,r)}Y(n,a,i,r)}else Y(n,a,i,r);else r.setDate([t[0],t[1]],!1)}}function Y(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&&o(a);const i={...e};if(t===S.BOTH)return i;const r=i.onChange;i.clickOpens=!0;try{i.onDayCreate=x(t,n),i.onChange=C(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"}(S||(S={}));export{S as DateRangeEditableMode,r as _defaultCalendarTooltipStrings,F as applyDateRangeEditingRestrictions,N as clearFlatpickrInput,C as createDateRangeChangeLockHandler,x as createDateRangeDayLockHandler,L as emitValue,h as getFlatpickrOptions,A as getModalContainer,g as getPlaceholder,s as getTextStrings,u as handleInputClick,m as handleInputFocus,D as hideEmptyYear,y as initializeMultiAnchorFlatpickr,b as initializeSingleAnchorFlatpickr,f as injectFlatpickrStyles,k as isValidDateFormat,v as loadLocale,p as modifyWeekdayShorthands,d as preventFlatpickrOpen,E as setCalendarAttributes,o as setTooltipStrings,w as updateEnableTime,T 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";let i=!1;const r={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 l={...r};function o(e={}){l={...r,...e}}function s(e={}){return{...l,...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 d(e,t){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),t(!1)}function u(e){e(!0)}function m(e,t,n){e||(t(),n(!0))}function p(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 f(e){if(!i){const t=document.createElement("style");t.id="flatpickr-custom-styles",t.textContent=e,document.head.appendChild(t),i=!0}}async function y(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}},c=s(a);if(i){const t=s(i);n.plugins=[...n.plugins||[],e({input:t})]}const d=t(c,n);return d?(setTimeout((()=>{l&&l(d)}),0),o&&o(d),a instanceof HTMLInputElement||a.addEventListener("click",(()=>{d.open()})),!i||i instanceof HTMLInputElement||i.addEventListener("click",(()=>{d.open()})),d):void console.error("Failed to initialize Flatpickr")}catch(e){return void console.error("Error initializing Flatpickr:",e)}else console.error("Cannot initialize Flatpickr: inputEl is undefined")}async function b(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 c=t(s,e);return c?(setTimeout((()=>{i&&i(c)}),0),r&&r(c),n instanceof HTMLInputElement||n.addEventListener("click",(()=>c.open())),c):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 k(e){return e in c}function g(e,t){if(!e)return t?"yyyy-mm-dd to yyyy-mm-dd":"yyyy-mm-dd";if(k(e)){return t?`${c[e]} to ${c[e]}`:c[e]}return"Select date"}function v(e){return a(e)}function A(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:i,dateFormat:r,enableTime:l,twentyFourHourFormat:o,inputEl:s,allowInput:c,minDate:d,maxDate:u,minTime:m,maxTime:f,defaultDate:y,defaultHour:b,defaultMinute:k,enable:g,disable:v,mode:A="single",closeOnSelect:h,wrap:w=!1,noCalendar:E=!1,appendTo:D,onChange:T,onClose:L,onOpen:N,loadLocale:S}=e;let x;i||console.warn("Locale not provided. Falling back to default."),r||console.warn("Date format not provided. Using default format.");try{x=await S(i),p(x)}catch(e){console.warn("Error loading locale, falling back to default:",e),x=n}const C=i.split("-")[0].toLowerCase(),I=["en","es"].includes(C),Y=window.innerWidth>=767,F=r||("time"===A?o?"H:i":"h:i K":"Y-m-d"),H={dateFormat:F,mode:"time"===A?"single":A,enableTime:"time"===A||l,noCalendar:"time"===A||E,defaultDate:y,enableSeconds:!1,allowInput:c||!1,clickOpens:!0,time_24hr:"boolean"==typeof o?o:!I,weekNumbers:!1,static:null!==(a=e.static)&&void 0!==a&&a,wrap:w,showMonths:"range"===A&&Y?2:1,monthSelectorType:"static",locale:x,closeOnSelect:null!=h?h:!("multiple"===A||l),onChange:(e,t,n)=>{T&&T(e,t,n)},onClose:(e,t,n)=>{if("range"===A&&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"))}L&&L(e,t,n)},onOpen:(e,t,n)=>{N&&N(e,t,n)}};if("range"===A&&(H.onReady=(e,t,n)=>{if(n.calendarContainer){const e=n.calendarContainer.querySelector(".flatpickr-time");null==e||e.classList.add("default-time-select")}}),s instanceof HTMLInputElement||(H.positionElement=s),d&&(H.minDate=d),u&&(H.maxDate=u),m&&(H.minTime=m),f&&(H.maxTime=f),y)if(!Array.isArray(y)||"range"!==A&&"multiple"!==A){if(!Array.isArray(y)&&"string"==typeof y){let e=null;switch(F){case"Y-m-d":{const[t,n,a]=y.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]=y.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]=y.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(a,t-1,n,12);break}default:e=new Date(y)}H.defaultDate=e||y}}else H.defaultDate=y;return null!=b&&(H.defaultHour=b),null!=k&&(H.defaultMinute=k),g&&g.length>0&&(H.enable=g),v&&v.length>0&&(H.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,F)||e}return e}))),D&&(H.appendTo=D),H}function w(e){return e.includes("H:")||e.includes("h:")}function E(e,t=!1){const n=e.calendarContainer;n&&requestAnimationFrame((()=>{const a=null==e?void 0: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"),(null==e?void 0:e.config.minDate)&&s.setAttribute("aria-valuemin",String(new Date(e.config.minDate).getFullYear())),(null==e?void 0: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 c=n.querySelector(".flatpickr-days");null==c||c.removeAttribute("tabindex"),null==c||c.setAttribute("role","grid"),null==c||c.setAttribute("aria-multiselectable","multiple"===a?"true":"false");const d=Array.from(n.querySelectorAll(".flatpickr-day:not(.flatpickr-disabled)"));d.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=d.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=d[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 D(){const e=document.querySelector(".flatpickr-current-month span.cur-month");document.querySelectorAll(".numInputWrapper").forEach((t=>{const n=t.querySelector(".numInput.cur-year");n&&n.min&&n.max&&n.min===n.max&&(t.style.display="none",e&&(e.style.marginLeft="auto"))}))}function T(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,c=e.validationMessage;o&&l&&(s={...s,valueMissing:!0},c=a),n&&(s={...s,customError:!0},c=n),r.setValidity(s,c,e);return{isValid:!n&&(!i||!l||l&&!o),validationMessage:c}}function L(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))}async function N(e,t,n){e&&e.clear(),t&&(t.value=""),n&&await n()}var S;function x(e,t){return(n,a,i,r)=>{const l=r.dateObj;e===S.END&&null!==t[0]?l.getTime()<=t[0].getTime()&&(l.getTime()===t[0].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",s().dateNotAvailable),r.setAttribute("locked","start"),r.setAttribute("aria-disabled","true")):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",s().lockedStartDate))):e===S.START&&null!==t[1]?l.getTime()>=t[1].getTime()&&(l.getTime()===t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",s().lockedEndDate),r.setAttribute("locked","end"),r.setAttribute("aria-disabled","true")):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",s().dateNotAvailable))):e===S.NONE&&null!==t[0]&&null!==t[1]&&(l.getTime()===t[0].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",s().dateLocked),r.setAttribute("locked","start"),r.setAttribute("aria-disabled","true")):l.getTime()===t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",s().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",s().dateInSelectedRange)):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",s().dateNotAvailable))),r.classList.contains("flatpickr-disabled")&&!r.classList.contains("flatpickr-locked-date")&&r.classList.add("flatpickr-locked-date")}}function C(e,t,n){return(a,i,r)=>{let l=null,o=null;if(e===S.END&&null!==t[0]&&(l=t[0]),e===S.START&&null!==t[1]&&(o=t[1]),e!==S.NONE||null===t[0]||null===t[1])if(null!==t[0]||null!==t[1]){if(e===S.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 I(n,t,r.input.value,r)}if(e===S.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 I(n,t,r.input.value,r)}I(n,a,i,r)}else I(n,a,i,r);else r.setDate([t[0],t[1]],!1)}}function I(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 Y(e,t,n,a){a&&o(a);const i={...e};if(t===S.BOTH)return i;const r=i.onChange;i.clickOpens=!0;try{i.onDayCreate=x(t,n),i.onChange=C(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"}(S||(S={}));export{S as DateRangeEditableMode,r as _defaultCalendarTooltipStrings,Y as applyDateRangeEditingRestrictions,N as clearFlatpickrInput,C as createDateRangeChangeLockHandler,x as createDateRangeDayLockHandler,L as emitValue,h as getFlatpickrOptions,A as getModalContainer,g as getPlaceholder,s as getTextStrings,u as handleInputClick,m as handleInputFocus,D as hideEmptyYear,y as initializeMultiAnchorFlatpickr,b as initializeSingleAnchorFlatpickr,f as injectFlatpickrStyles,k as isValidDateFormat,v as loadLocale,p as modifyWeekdayShorthands,d as preventFlatpickrOpen,E as setCalendarAttributes,o as setTooltipStrings,w as updateEnableTime,T 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\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 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 = window.innerWidth >= 767;\n\n const effectiveDateFormat =\n dateFormat ||\n (mode === 'time' ? (twentyFourHourFormat ? 'H:i' : 'h:i K') : 'Y-m-d');\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 (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 const container = instance.calendarContainer;\n if (!container) return;\n\n requestAnimationFrame(() => {\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 const currentMonth = document.querySelector(\n '.flatpickr-current-month span.cur-month'\n ) as HTMLElement;\n document.querySelectorAll('.numInputWrapper').forEach((wrapper) => {\n const yearInput = wrapper.querySelector(\n '.numInput.cur-year'\n ) as HTMLInputElement;\n if (\n yearInput &&\n yearInput.min &&\n yearInput.max &&\n yearInput.min === yearInput.max\n ) {\n (wrapper as HTMLElement).style.display = 'none';\n\n if (currentMonth) {\n currentMonth.style.marginLeft = 'auto';\n }\n }\n });\n}\n\nexport function validate(\n inputEl: HTMLInputElement,\n required: boolean,\n invalidText: string,\n defaultErrorMessage: string,\n hasInteracted: boolean,\n internals: ElementInternals\n): { isValid: boolean; validationMessage: string } {\n if (!inputEl) {\n console.warn('Input element is undefined...');\n return { isValid: true, validationMessage: '' };\n }\n\n const isEmpty = !inputEl.value.trim();\n const isRequired = required;\n\n let validity = inputEl.validity;\n let validationMessage = inputEl.validationMessage;\n\n if (isRequired && isEmpty) {\n validity = { ...validity, valueMissing: true };\n validationMessage = defaultErrorMessage;\n }\n\n if (invalidText) {\n validity = { ...validity, customError: true };\n validationMessage = invalidText;\n }\n\n internals.setValidity(validity, validationMessage, inputEl);\n\n const isValid =\n !invalidText && (!hasInteracted || !isEmpty || (isEmpty && !isRequired));\n\n return { isValid, validationMessage };\n}\n\nexport function emitValue(\n element: HTMLElement,\n eventName: string,\n detail: any\n): void {\n element.dispatchEvent(\n new CustomEvent(eventName, {\n detail,\n bubbles: true,\n composed: true,\n })\n );\n}\n\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","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","enableSeconds","time_24hr","weekNumbers","static","showMonths","monthSelectorType","selectedDates","dateStr","instance","calendarContainer","timeContainer","length","classList","add","remove","onReady","_","__","Array","isArray","parsedDate","year","month","Number","isNaN","Date","date","parseDate","updateEnableTime","modalDetected","container","requestAnimationFrame","config","setAttribute","monthsEl","prevBtn","e","key","changeMonth","nextBtn","firstMonth","yearInput","tabIndex","String","getFullYear","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","currentMonth","wrapper","marginLeft","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","push","hook","applyDateRangeEditingRestrictions","tooltipStrings","newOptions","BOTH","onDayCreate"],"mappings":"0HAQA,IAAIA,GAA0B,EAEvB,MAAMC,EAAiC,CAC5CC,gBAAiB,uBACjBC,cAAe,qBACfC,WAAY,iBACZC,iBAAkB,wBAClBC,oBAAqB,6BAOvB,IAAIC,EAAwB,IAAKN,GAE3B,SAAUO,EACdC,EAA0C,IAE1CF,EAAwB,IACnBN,KACAQ,EAEP,CAEM,SAAUC,EACdD,EAA0C,IAE1C,MAAO,IAAKF,KAA0BE,EACxC,CAiBA,MAAME,EAAsB,CAC1B,QAAS,aACT,QAAS,aACT,QAAS,aACT,YAAa,qBACb,cAAe,qBACf,YAAa,qBACb,cAAe,qBACf,YAAa,qBACb,cAAe,qBACf,cAAe,wBACf,cAAe,wBACf,cAAe,yBAkCX,SAAUC,EACdC,EACAC,GAEAD,EAAME,iBACND,GAAuB,EACzB,CAEM,SAAUE,EACdF,GAEAA,GAAuB,EACzB,UAEgBG,EACdC,EACAC,EACAL,GAEKI,IACHC,IACAL,GAAuB,GAE3B,CAEM,SAAUM,EAAwBC,UACZ,UAAtBA,EAAcC,gBAAQ,IAAAC,OAAA,EAAAA,EAAEC,aAC1BH,EAAcC,SAASE,UAAYH,EAAcC,SAASE,UAAUC,KACjEC,GAAQA,EAAIC,OAAO,KAG1B,CAEM,SAAUC,EAAsBC,GACpC,IAAK7B,EAAyB,CAC5B,MAAM8B,EAAeC,SAASC,cAAc,SAC5CF,EAAaG,GAAK,0BAClBH,EAAaI,YAAcL,EAC3BE,SAASI,KAAKC,YAAYN,GAC1B9B,GAA0B,EAE9B,CAEOqC,eAAeC,EACpBC,GAEA,MAAMC,QACJA,EAAOC,WACPA,EAAUC,oBACVA,EAAmBC,sBACnBA,EAAqBC,gBACrBA,GACEL,EAEJ,GAAKC,EAKL,IACE,MAAMK,QAAgBH,IAEhBI,EAAmBC,IACvB,GAAIA,aAAcC,iBAChB,OAAOD,EAEP,IACE,IAAIE,EAAQF,EAAGG,cAAc,SAC7B,IAAKD,EAAO,CAIV,GAHAA,EAAQlB,SAASC,cAAc,SAC/BiB,EAAME,KAAO,OACbF,EAAMG,MAAMC,QAAU,QACjBN,EAAGO,YACN,MAAM,IAAIC,MAAM,uCAElBR,EAAGX,YAAYa,GAEjB,OAAOA,EACP,MAAOO,GAEP,MADAC,QAAQD,MAAM,6CAA8CA,GACtDA,IAKNE,EAAeZ,EAAgBN,GACrC,GAAIC,EAAY,CACd,MAAMkB,EAAkBb,EAAgBL,GACxCI,EAAQe,QAAU,IACZf,EAAQe,SAAW,GACvBC,EAAY,CAAEZ,MAAOU,KAIzB,MAAMG,EAAoBC,EAAUL,EAAcb,GAElD,OAAIiB,GACFE,YAAW,KACLrB,GACFA,EAAsBmB,KAEvB,GAEClB,GACFA,EAAgBkB,GAGZtB,aAAmBQ,kBACvBR,EAAQyB,iBAAiB,SAAS,KAChCH,EAAkBI,MAAM,KAIxBzB,GAAgBA,aAAsBO,kBACxCP,EAAWwB,iBAAiB,SAAS,KACnCH,EAAkBI,MAAM,IAIrBJ,QAEPL,QAAQD,MAAM,kCAGhB,MAAOA,GAEP,YADAC,QAAQD,MAAM,gCAAiCA,QAtE/CC,QAAQD,MAAM,oDAyElB,CAEOnB,eAAe8B,EACpB5B,GAEA,MAAMC,QACJA,EAAOE,oBACPA,EAAmBC,sBACnBA,EAAqBC,gBACrBA,EAAewB,SACfA,GACE7B,EACJ,GAAKC,EAIL,IACE,MAAMK,QAAgBH,IAChB2B,EACJxB,EAAQyB,aAAgC,SAAjBzB,EAAQ0B,KAAkB,MAAQ,SAG3D,IAAIb,EACJ,GAHAb,EAAQyB,WAAaD,EAGjB7B,aAAmBQ,iBACrBU,EAAelB,EACfK,EAAQ2B,YAAa,OAErB,IACEd,EAAe3B,SAASC,cAAc,SACtC0B,EAAaP,KAAO,OACpBO,EAAaN,MAAMC,QAAU,OAE7B,MAAMoB,EAAgBL,GAAY5B,EAClC,IAAKiC,EACH,MAAM,IAAIlB,MAAM,uCAGlBkB,EAAcrC,YAAYsB,GAC1Bb,EAAQ2B,YAAa,EACrB3B,EAAQ6B,gBAAkBlC,EAC1B,MAAOgB,GAEP,MADAC,QAAQD,MAAM,gCAAiCA,GACzCA,EAGV,MAAMM,EAAoBC,EAAUL,EAAcb,GAClD,OAAIiB,GACFE,YAAW,KACLrB,GACFA,EAAsBmB,KAEvB,GACClB,GACFA,EAAgBkB,GAEZtB,aAAmBQ,kBACvBR,EAAQyB,iBAAiB,SAAS,IAAMH,EAAkBI,SAErDJ,QAEPL,QAAQD,MAAM,kCAGhB,MAAOA,GAKP,OAJAC,QAAQD,MAAM,gCAAiCA,QAC3CA,aAAiBD,OACnBE,QAAQD,MAAM,iBAAkBA,EAAMmB,eArDxClB,QAAQD,MAAM,oDAyDlB,CAEM,SAAUoB,EAAkBC,GAChC,OAAOA,KAAUlE,CACnB,CAEM,SAAUmE,EACdR,EACAS,GAEA,IAAKT,EACH,OAAOS,EAAc,2BAA6B,aAGpD,GAAIH,EAAkBN,GAAa,CAIjC,OAHoBS,EAChB,GAAGpE,EAAoB2D,SAAkB3D,EAAoB2D,KAC7D3D,EAAoB2D,GAG1B,MAAO,aACT,CAEM,SAAUU,EAAWC,GACzB,OAAOC,EAAoBD,EAC7B,CAEM,SAAUE,EAAkBC,GAChC,IAAIC,EAAoBD,EAExB,KAAOC,GACL,GAAIA,aAAgBC,WAClBD,EAAOA,EAAKE,SADd,CAKA,KAAIF,aAAgBG,SASpB,MATA,CACE,MAAMC,EAAMJ,EAAKK,QAAQC,cACzB,GAAY,cAARF,GAA+B,oBAARA,EACzB,OAAOJ,EAETA,EAAOA,EAAKO,YAOhB,OAAO7D,SAAS8D,IAClB,CAEOxD,eAAeK,EACpBH,SAEA,IAAKA,EAEH,OADAkB,QAAQD,MAAM,+CACP,CAAA,EAGT,MAAMyB,OACJA,EAAMX,WACNA,EAAUwB,WACVA,EAAUC,qBACVA,EAAoBvD,QACpBA,EAAOwD,WACPA,EAAUC,QACVA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,YACPA,EAAWC,YACXA,EAAWC,cACXA,EAAaC,OACbA,EAAMC,QACNA,EAAOlC,KACPA,EAAO,SAAQmC,cACfA,EAAaC,KACbA,GAAO,EAAKC,WACZA,GAAa,EAAKxC,SAClBA,EAAQyC,SACRA,EAAQC,QACRA,EAAOC,OACPA,EAAM/B,WACNA,GACEzC,EAUJ,IAAIlB,EARC4D,GACHxB,QAAQuD,KAAK,iDAGV1C,GACHb,QAAQuD,KAAK,mDAIf,IACE3F,QAAsB2D,EAAWC,GACjC7D,EAAwBC,GACxB,MAAOmC,GACPC,QAAQuD,KAAK,iDAAkDxD,GAC/DnC,EAAgB4F,EAGlB,MAAMC,EAAajC,EAAOkC,MAAM,KAAK,GAAGxB,cAClCyB,EAA0B,CAAC,KAAM,MAAMC,SAASH,GAEhDI,EAAeC,OAAOC,YAAc,IAEpCnD,EACJC,IACU,SAATC,EAAmBwB,EAAuB,MAAQ,QAAW,SAE1DlD,EAAgC,CACpCyB,WAAYD,EACZE,KAAe,SAATA,EAAkB,SAAWA,EACnCuB,WAAqB,SAATvB,GAAyBuB,EACrCc,WAAqB,SAATrC,GAAyBqC,EACrCP,YAAaA,EACboB,eAAe,EACfzB,WAAYA,IAAc,EAC1BxB,YAAY,EACZkD,UACkC,kBAAzB3B,EACHA,GACCqB,EACPO,aAAa,EACbC,eAAQrG,EAAAgB,EAAQqF,uBAChBjB,OACAkB,WAAqB,UAATtD,GAAoB+C,EAAe,EAAI,EACnDQ,kBAAmB,SACnB7C,OAAQ5D,EACRqF,cAAeA,QAAAA,IAA4B,aAATnC,GAAuBuB,GACzDe,SAAU,CAACkB,EAAeC,EAASC,KACjCpB,GAAYA,EAASkB,EAAeC,EAASC,EAAS,EAExDnB,QAAS,CAACiB,EAAeC,EAASC,KAChC,GAAa,UAAT1D,GAAoB0D,EAASC,kBAAmB,CAClD,MAAMC,EACJF,EAASC,kBAAkBhF,cAAc,mBACd,IAAzB6E,EAAcK,SAChBD,SAAAA,EAAeE,UAAUC,IAAI,uBAC7BH,SAAAA,EAAeE,UAAUE,OAAO,aAAc,aAGlDzB,GAAWA,EAAQiB,EAAeC,EAASC,EAAS,EAEtDlB,OAAQ,CAACgB,EAAeC,EAASC,KAC/BlB,GAAUA,EAAOgB,EAAeC,EAASC,EAAS,GAuBtD,GAnBa,UAAT1D,IACF1B,EAAQ2F,QAAU,CAACC,EAAGC,EAAIT,KACxB,GAAIA,EAASC,kBAAmB,CAC9B,MAAMC,EACJF,EAASC,kBAAkBhF,cAAc,mBAC3CiF,SAAAA,EAAeE,UAAUC,IAAI,0BAK7B9F,aAAmBQ,mBACvBH,EAAQ6B,gBAAkBlC,GAGxByD,IAASpD,EAAQoD,QAAUA,GAC3BC,IAASrD,EAAQqD,QAAUA,GAC3BC,IAAStD,EAAQsD,QAAUA,GAC3BC,IAASvD,EAAQuD,QAAUA,GAE3BC,EACF,IACEsC,MAAMC,QAAQvC,IACJ,UAAT9B,GAA6B,aAATA,GAGhB,IAAKoE,MAAMC,QAAQvC,IACG,iBAAhBA,EAA0B,CACnC,IAAIwC,EAA0B,KAC9B,OAAQxE,GACN,IAAK,QAAS,CACZ,MAAOyE,EAAMC,EAAOrH,GAAO2E,EAAYc,MAAM,KAAK1F,IAAIuH,QACtDH,EACGI,MAAMH,IAAUG,MAAMF,IAAWE,MAAMvH,GAEpC,KADA,IAAIwH,KAAKJ,EAAMC,EAAQ,EAAGrH,EAAK,IAErC,MAEF,IAAK,QAAS,CACZ,MAAOA,EAAKqH,EAAOD,GAAQzC,EAAYc,MAAM,KAAK1F,IAAIuH,QACtDH,EACGI,MAAMvH,IAASuH,MAAMF,IAAWE,MAAMH,GAEnC,KADA,IAAII,KAAKJ,EAAMC,EAAQ,EAAGrH,EAAK,IAErC,MAEF,IAAK,QAAS,CACZ,MAAOqH,EAAOrH,EAAKoH,GAAQzC,EAAYc,MAAM,KAAK1F,IAAIuH,QACtDH,EACGI,MAAMF,IAAWE,MAAMvH,IAASuH,MAAMH,GAEnC,KADA,IAAII,KAAKJ,EAAMC,EAAQ,EAAGrH,EAAK,IAErC,MAEF,QACEmH,EAAa,IAAIK,KAAK7C,GAG1BxD,EAAQwD,YAAcwC,GAAcxC,QAjCtCxD,EAAQwD,YAAcA,EAuD1B,OAlBIC,UACFzD,EAAQyD,YAAcA,GACpBC,UACF1D,EAAQ0D,cAAgBA,GACtBC,GAAUA,EAAO4B,OAAS,IAAGvF,EAAQ2D,OAASA,GAC9CC,GAAWA,EAAQ2B,OAAS,IAC9BvF,EAAQ4D,QAAUA,EAAQhF,KAAK0H,IAC7B,GAAIA,aAAgBD,KAAM,OAAOC,EACjC,GAAoB,iBAATA,EAAmB,OAAO,IAAID,KAAKC,GAC9C,GAAoB,iBAATA,EAAmB,CAE5B,OADepF,EAAUqF,UAAUD,EAAM9E,IACxB8E,EAEnB,OAAOA,CAAI,KAGX/E,IAAUvB,EAAQuB,SAAWA,GAE1BvB,CACT,CAEM,SAAUwG,EAAiB/E,GAC/B,OAAOA,EAAW+C,SAAS,OAAS/C,EAAW+C,SAAS,KAC1D,UAEgB1E,EACdsF,EACAqB,GAAgB,GAEhB,MAAMC,EAAYtB,EAASC,kBACtBqB,GAELC,uBAAsB,KACpB,MAAMjF,EAAO0D,aAAQ,EAARA,EAAUwB,OAAOlF,KAM9BgF,EAAUG,aAAa,OAAQ,eAC/BH,EAAUG,aAAa,aAAc,YACrCH,EAAUlB,UAAUE,OAClB,kBACA,iBACA,qBAEFgB,EAAUlB,UAAUC,IAClBgB,EAAgB,kBAAoB,qBAGtC,MAAMK,EAAWJ,EAAUrG,cAA2B,qBACtDyG,SAAAA,EAAUD,aAAa,WAAY,KACnCC,SAAAA,EAAUD,aAAa,OAAQ,SAC/BC,SAAAA,EAAUD,aAAa,aAAc,6BAErC,MAAME,EAAUL,EAAUrG,cACxB,yBAEF0G,SAAAA,EAASF,aAAa,WAAY,KAClCE,SAAAA,EAASF,aAAa,OAAQ,UAC9BE,SAAAA,EAASF,aAAa,aAAc,kBACpCE,SAAAA,EAAS3F,iBAAiB,WAAY4F,IACtB,UAAVA,EAAEC,KAA6B,MAAVD,EAAEC,MACzBD,EAAE9I,iBACFkH,EAAS8B,oBAIb,MAAMC,EAAUT,EAAUrG,cACxB,yBAEF8G,SAAAA,EAASN,aAAa,WAAY,KAClCM,SAAAA,EAASN,aAAa,OAAQ,UAC9BM,SAAAA,EAASN,aAAa,aAAc,cACpCM,SAAAA,EAAS/F,iBAAiB,WAAY4F,IACtB,UAAVA,EAAEC,KAA6B,MAAVD,EAAEC,MACzBD,EAAE9I,iBACFkH,EAAS8B,YAAY,OAIzB,MAAME,EAAaV,EAAUrG,cAA2B,oBAClDgH,EAAYD,aAAU,EAAVA,EAAY/G,cAC5B,2BAEF,GAAIgH,EAAW,CACbA,EAAUC,SAAW,EACrBD,EAAUR,aAAa,OAAQ,cAC/BQ,EAAUR,aAAa,aAAc,SACjCzB,aAAQ,EAARA,EAAUwB,OAAOxD,UACnBiE,EAAUR,aACR,gBACAU,OAAO,IAAIlB,KAAKjB,EAASwB,OAAOxD,SAAUoE,iBAG1CpC,aAAQ,EAARA,EAAUwB,OAAOvD,UACnBgE,EAAUR,aACR,gBACAU,OAAO,IAAIlB,KAAKjB,EAASwB,OAAOvD,SAAUmE,gBAG9C,MAAMC,EAAY,IAChBJ,EAAUR,aAAa,gBAAiBQ,EAAUK,OACpDL,EAAUjG,iBAAiB,WAAY4F,IACvB,YAAVA,EAAEC,MACJD,EAAE9I,iBACFkH,EAASuC,WAAW,GACpBxG,WAAWsG,EAAW,IAEV,cAAVT,EAAEC,MACJD,EAAE9I,iBACFkH,EAASuC,eACTxG,WAAWsG,EAAW,OAG1BtG,WAAWsG,EAAW,GAGxB,MAAMG,EAAWlB,EAAUrG,cAA2B,mBACtDuH,SAAAA,EAAUC,gBAAgB,YAC1BD,SAAAA,EAAUf,aAAa,OAAQ,QAC/Be,SAAAA,EAAUf,aACR,uBACS,aAATnF,EAAsB,OAAS,SAGjC,MAAMoG,EAAchC,MAAMiC,KACxBrB,EAAUsB,iBACR,4CAGJF,EAAYG,SAASpJ,IACnBA,EAAIyI,SAAW,EACfzI,EAAIgI,aAAa,OAAiB,UAATnF,EAAmB,WAAa,SAAS,IAGpE,MAAMwG,EAAUxB,EAAkByB,aAC9BD,GAAQxB,EAAU0B,oBAAoB,UAAWF,GAErD,MAAMG,EAAerB,IACnB,MAAMsB,EAAatB,EAAEuB,OAAuBC,QAC1C,2CAEF,GAAKF,EAEL,OAAQtB,EAAEC,KACR,IAAK,QACL,IAAK,IAGH,OAFAD,EAAE9I,sBACFoK,EAAUG,QAEZ,IAAK,aACL,IAAK,YACL,IAAK,YACL,IAAK,UAAW,CACdzB,EAAE9I,iBACF,MAAMwK,EAAMZ,EAAYa,QAAQL,GAChC,IAAIM,EACJ,OAAQ5B,EAAEC,KACR,IAAK,aACH2B,EAAUF,EAAM,EAChB,MACF,IAAK,YACHE,EAAUF,EAAM,EAChB,MACF,IAAK,YACHE,EAAUF,EAAM,EAChB,MACF,IAAK,UACHE,EAAUF,EAAM,EAChB,MACF,QACE,OAEJ,MAAMG,EAAOf,EAAYc,GAEzB,YADIC,GAAMA,EAAKC,YAKrBpC,EAAUtF,iBAAiB,UAAWiH,GACrC3B,EAAkByB,aAAeE,EAElC,MAAMU,EAAYrC,EAAUrG,cAC1B,wBAEE0I,IACFA,EAAUzB,SAAW,EACrByB,EAAUlC,aAAa,OAAQ,cAC/BkC,EAAUlC,aAAa,aAAc,QACrCkC,EAAUlC,aAAa,gBAAiBkC,EAAUC,KAClDD,EAAUlC,aAAa,gBAAiBkC,EAAUE,KAClDF,EAAUlC,aAAa,gBAAiBkC,EAAUrB,OAClDqB,EAAU3H,iBAAiB,WAAY4F,IACvB,YAAVA,EAAEC,MACJD,EAAE9I,iBACF6K,EAAUG,UAEE,cAAVlC,EAAEC,MACJD,EAAE9I,iBACF6K,EAAUI,YAEZhI,YACE,IAAM4H,EAAUlC,aAAa,gBAAiBkC,EAAUrB,QACxD,EACD,KAIL,MAAM0B,EAAc1C,EAAUrG,cAC5B,0BAEE+I,IACFA,EAAY9B,SAAW,EACvB8B,EAAYvC,aAAa,OAAQ,cACjCuC,EAAYvC,aAAa,aAAc,UACvCuC,EAAYvC,aAAa,gBAAiBuC,EAAYJ,KACtDI,EAAYvC,aAAa,gBAAiBuC,EAAYH,KACtDG,EAAYvC,aAAa,gBAAiBuC,EAAY1B,OACtD0B,EAAYhI,iBAAiB,WAAY4F,IACzB,YAAVA,EAAEC,MACJD,EAAE9I,iBACFkL,EAAYF,UAEA,cAAVlC,EAAEC,MACJD,EAAE9I,iBACFkL,EAAYD,YAEdhI,YACE,IAAMiI,EAAYvC,aAAa,gBAAiBuC,EAAY1B,QAC5D,EACD,KAIL,MAAM2B,EAAa3C,EAAUrG,cAA2B,oBACpDgJ,IACFA,EAAW/B,SAAW,EACtB+B,EAAWxC,aAAa,OAAQ,UAChCwC,EAAWxC,aAAa,aAAc,gBACtCwC,EAAWjI,iBAAiB,WAAY4F,IACxB,UAAVA,EAAEC,KAA6B,MAAVD,EAAEC,MACzBD,EAAE9I,iBACFmL,EAAWZ,eAKrB,UAEgBa,IACd,MAAMC,EAAerK,SAASmB,cAC5B,2CAEFnB,SAAS8I,iBAAiB,oBAAoBC,SAASuB,IACrD,MAAMnC,EAAYmC,EAAQnJ,cACxB,sBAGAgH,GACAA,EAAU2B,KACV3B,EAAU4B,KACV5B,EAAU2B,MAAQ3B,EAAU4B,MAE3BO,EAAwBjJ,MAAMC,QAAU,OAErC+I,IACFA,EAAahJ,MAAMkJ,WAAa,WAIxC,CAEM,SAAUC,EACd/J,EACAgK,EACAC,EACAC,EACAC,EACAC,GAEA,IAAKpK,EAEH,OADAiB,QAAQuD,KAAK,iCACN,CAAE6F,SAAS,EAAMC,kBAAmB,IAG7C,MAAMC,GAAWvK,EAAQ+H,MAAMyC,OACzBC,EAAaT,EAEnB,IAAIU,EAAW1K,EAAQ0K,SACnBJ,EAAoBtK,EAAQsK,kBAE5BG,GAAcF,IAChBG,EAAW,IAAKA,EAAUC,cAAc,GACxCL,EAAoBJ,GAGlBD,IACFS,EAAW,IAAKA,EAAUE,aAAa,GACvCN,EAAoBL,GAGtBG,EAAUS,YAAYH,EAAUJ,EAAmBtK,GAKnD,MAAO,CAAEqK,SAFNJ,KAAiBE,IAAkBI,GAAYA,IAAYE,GAE5CH,oBACpB,UAEgBQ,EACdlI,EACAmI,EACAC,GAEApI,EAAQqI,cACN,IAAIC,YAAYH,EAAW,CACzBC,SACAG,SAAS,EACTC,UAAU,IAGhB,CAEOvL,eAAewL,EACpB/J,EACAtB,EACAsL,GAEIhK,GACFA,EAAkBiK,QAGhBvL,IACFA,EAAQ+H,MAAQ,IAGduD,SACIA,GAEV,KAEYE,EAON,SAAUC,EACdC,EACAC,GAOA,MAAO,CAACC,EAAOC,EAAOC,EAAKC,KACzB,MAAMC,EAAcD,EAAQE,QAG1BP,IAAiBF,EAAsBU,KACnB,OAApBP,EAAa,GAETK,EAAYG,WAAaR,EAAa,GAAGQ,YACvCH,EAAYG,YAAcR,EAAa,GAAGQ,WAC5CJ,EAAQlG,UAAUC,IAAI,yBACtBiG,EAAQ7E,aAAa,QAAShJ,IAAiBL,kBAC/CkO,EAAQ7E,aAAa,SAAU,SAC/B6E,EAAQ7E,aAAa,gBAAiB,UAEtC6E,EAAQlG,UAAUC,IAAI,wBAAyB,sBAC/CiG,EAAQ7E,aAAa,QAAShJ,IAAiBR,mBAInDgO,IAAiBF,EAAsBY,OACnB,OAApBT,EAAa,GAETK,EAAYG,WAAaR,EAAa,GAAGQ,YACvCH,EAAYG,YAAcR,EAAa,GAAGQ,WAC5CJ,EAAQlG,UAAUC,IAAI,yBACtBiG,EAAQ7E,aAAa,QAAShJ,IAAiBP,eAC/CoO,EAAQ7E,aAAa,SAAU,OAC/B6E,EAAQ7E,aAAa,gBAAiB,UAEtC6E,EAAQlG,UAAUC,IAAI,wBAAyB,sBAC/CiG,EAAQ7E,aAAa,QAAShJ,IAAiBL,oBAInD6N,IAAiBF,EAAsBa,MACnB,OAApBV,EAAa,IACO,OAApBA,EAAa,KAETK,EAAYG,YAAcR,EAAa,GAAGQ,WAC5CJ,EAAQlG,UAAUC,IAAI,yBACtBiG,EAAQ7E,aAAa,QAAShJ,IAAiBN,YAC/CmO,EAAQ7E,aAAa,SAAU,SAC/B6E,EAAQ7E,aAAa,gBAAiB,SAC7B8E,EAAYG,YAAcR,EAAa,GAAGQ,WACnDJ,EAAQlG,UAAUC,IAAI,yBACtBiG,EAAQ7E,aAAa,QAAShJ,IAAiBN,YAC/CmO,EAAQ7E,aAAa,SAAU,OAC/B6E,EAAQ7E,aAAa,gBAAiB,SAEtC8E,EAAYG,UAAYR,EAAa,GAAGQ,WACxCH,EAAYG,UAAYR,EAAa,GAAGQ,WAExCJ,EAAQlG,UAAUC,IAAI,yBACtBiG,EAAQ7E,aAAa,QAAShJ,IAAiBJ,uBAE/CiO,EAAQlG,UAAUC,IAAI,wBAAyB,sBAC/CiG,EAAQ7E,aAAa,QAAShJ,IAAiBL,oBAKjDkO,EAAQlG,UAAUyG,SAAS,wBAC1BP,EAAQlG,UAAUyG,SAAS,0BAE5BP,EAAQlG,UAAUC,IAAI,yBAG5B,UAEgByG,EACdb,EACAC,EACAa,GAEA,MAAO,CAACjH,EAAeC,EAASC,KAC9B,IAAI/H,EAA+B,KAC/BC,EAA6B,KAejC,GAZE+N,IAAiBF,EAAsBU,KACnB,OAApBP,EAAa,KAEbjO,EAAkBiO,EAAa,IAG/BD,IAAiBF,EAAsBY,OACnB,OAApBT,EAAa,KAEbhO,EAAgBgO,EAAa,IAG3BD,IAAiBF,EAAsBa,MACjB,OAApBV,EAAa,IAAmC,OAApBA,EAAa,GAM/C,GAAwB,OAApBA,EAAa,IAAmC,OAApBA,EAAa,GAA7C,CAKA,GACED,IAAiBF,EAAsBU,KACnB,OAApBxO,EACA,CACA,IAAI+O,GAAW,EACf,MAAMC,EAAW,IAAInH,GAarB,GAV2B,IAAzBA,EAAcK,QACdL,EAAc,GAAG4G,YAAczO,EAAgByO,WAE/CO,EAAS,GAAKhP,EACd+O,GAAW,GACuB,IAAzBlH,EAAcK,SACvB8G,EAASC,OAAO,EAAG,EAAGjP,GACtB+O,GAAW,GAGTA,EAQF,OAPAhH,EAASmH,QAAQF,GAAU,QAC3BG,EACEL,EACAE,EACAjH,EAAShF,MAAMsH,MACftC,GAMN,GACEiG,IAAiBF,EAAsBY,OACrB,OAAlBzO,EACA,CACA,IAAI8O,GAAW,EACf,MAAMC,EAAW,IAAInH,GAarB,GAV2B,IAAzBA,EAAcK,QACdL,EAAc,GAAG4G,YAAcxO,EAAcwO,WAE7CO,EAAS,GAAK/O,EACd8O,GAAW,GACuB,IAAzBlH,EAAcK,SACvB8G,EAASI,KAAKnP,GACd8O,GAAW,GAGTA,EAQF,OAPAhH,EAASmH,QAAQF,GAAU,QAC3BG,EACEL,EACAE,EACAjH,EAAShF,MAAMsH,MACftC,GAMNoH,EAAqBL,EAAkBjH,EAAeC,EAASC,QAhE7DoH,EAAqBL,EAAkBjH,EAAeC,EAASC,QAN7DA,EAASmH,QAAQ,CAACjB,EAAa,GAAIA,EAAa,KAAK,EAsEe,CAE5E,CAEA,SAASkB,EACPL,EACAjH,EACAC,EACAC,GAEA,IACkC,mBAArB+G,EACTA,EAAiBjH,EAAeC,EAASC,GAChCU,MAAMC,QAAQoG,IACvBA,EAAiBlE,SAASyE,IACxB,GAAoB,mBAATA,EACT,IACEA,EAAKxH,EAAeC,EAASC,GAC7B,MAAO4B,GACPpG,QAAQuD,KAAK,0BAA2B6C,OAKhD,MAAOA,GACPpG,QAAQuD,KAAK,2CAA4C6C,GAE7D,CAEM,SAAU2F,EACd3M,EACAqL,EACAC,EACAsB,GAEIA,GACFjP,EAAkBiP,GAEpB,MAAMC,EAAa,IAAK7M,GAExB,GAAIqL,IAAiBF,EAAsB2B,KACzC,OAAOD,EAGT,MAAMV,EAAmBU,EAAW7I,SAEpC6I,EAAWlL,YAAa,EAExB,IACEkL,EAAWE,YAAc3B,EACvBC,EACAC,GAGFuB,EAAW7I,SAAWkI,EACpBb,EACAC,EACAa,GAAgB,MAAa,IAE/B,MAAOnF,GACPpG,QAAQuD,KAAK,oDAAqD6C,GAGpE,OAAO6F,CACT,EAnPA,SAAY1B,GACVA,EAAA,KAAA,OACAA,EAAA,MAAA,QACAA,EAAA,IAAA,MACAA,EAAA,KAAA,MACD,CALD,CAAYA,IAAAA,EAAqB,CAAA"}
|
|
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\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 = window.innerWidth >= 767;\n\n const effectiveDateFormat =\n dateFormat ||\n (mode === 'time' ? (twentyFourHourFormat ? 'H:i' : 'h:i K') : 'Y-m-d');\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 (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 const container = instance.calendarContainer;\n if (!container) return;\n\n requestAnimationFrame(() => {\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 const currentMonth = document.querySelector(\n '.flatpickr-current-month span.cur-month'\n ) as HTMLElement;\n document.querySelectorAll('.numInputWrapper').forEach((wrapper) => {\n const yearInput = wrapper.querySelector(\n '.numInput.cur-year'\n ) as HTMLInputElement;\n if (\n yearInput &&\n yearInput.min &&\n yearInput.max &&\n yearInput.min === yearInput.max\n ) {\n (wrapper as HTMLElement).style.display = 'none';\n\n if (currentMonth) {\n currentMonth.style.marginLeft = 'auto';\n }\n }\n });\n}\n\nexport function validate(\n inputEl: HTMLInputElement,\n required: boolean,\n invalidText: string,\n defaultErrorMessage: string,\n hasInteracted: boolean,\n internals: ElementInternals\n): { isValid: boolean; validationMessage: string } {\n if (!inputEl) {\n console.warn('Input element is undefined...');\n return { isValid: true, validationMessage: '' };\n }\n\n const isEmpty = !inputEl.value.trim();\n const isRequired = required;\n\n let validity = inputEl.validity;\n let validationMessage = inputEl.validationMessage;\n\n if (isRequired && isEmpty) {\n validity = { ...validity, valueMissing: true };\n validationMessage = defaultErrorMessage;\n }\n\n if (invalidText) {\n validity = { ...validity, customError: true };\n validationMessage = invalidText;\n }\n\n internals.setValidity(validity, validationMessage, inputEl);\n\n const isValid =\n !invalidText && (!hasInteracted || !isEmpty || (isEmpty && !isRequired));\n\n return { isValid, validationMessage };\n}\n\nexport function emitValue(\n element: HTMLElement,\n eventName: string,\n detail: any\n): void {\n element.dispatchEvent(\n new CustomEvent(eventName, {\n detail,\n bubbles: true,\n composed: true,\n })\n );\n}\n\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","enableSeconds","time_24hr","weekNumbers","static","showMonths","monthSelectorType","selectedDates","dateStr","instance","calendarContainer","timeContainer","length","classList","add","remove","onReady","_","__","Array","isArray","parsedDate","year","month","Number","isNaN","Date","date","parseDate","updateEnableTime","modalDetected","container","requestAnimationFrame","config","setAttribute","monthsEl","prevBtn","e","key","changeMonth","nextBtn","firstMonth","yearInput","tabIndex","String","getFullYear","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","currentMonth","wrapper","marginLeft","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","push","hook","applyDateRangeEditingRestrictions","tooltipStrings","newOptions","BOTH","onDayCreate"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.js","sources":["../../../../src/components/reusable/modal/modal.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport ModalScss from './modal.scss?inline';\n\nimport '../button';\n\nimport closeIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\n/**\n * Modal.\n * @slot unnamed - Slot for modal body content.\n * @slot anchor - Slot for the anchor button content.\n * @slot footer - Slot for the footer content which replaces the ok, cancel, and second ary buttons.\n * @fires on-close - Emits the modal close event with `returnValue` (`'ok'` or `'cancel'`).\n * @fires on-open - Emits the modal open event.\n */\n@customElement('kyn-modal')\nexport class Modal extends LitElement {\n static override styles = [\n unsafeCSS(ModalScss),\n css`\n @supports (transition-behavior: allow-discrete) {\n @starting-style {\n dialog[open] {\n opacity: 0;\n transform: scale(0);\n }\n }\n\n @starting-style {\n dialog[open]::backdrop {\n background-color: rgb(0, 0, 0, 0);\n }\n }\n }\n `,\n ];\n\n /** Modal open state. */\n @property({ type: Boolean })\n accessor open = false;\n\n /** Modal size. `'auto'`, `'md'`, or `'lg', or `'xl'`. */\n @property({ type: String })\n accessor size = 'auto';\n\n /** Title/heading text, required. */\n @property({ type: String })\n accessor titleText = '';\n\n /** Label text, optional. */\n @property({ type: String })\n accessor labelText = '';\n\n /** OK button text. */\n @property({ type: String })\n accessor okText = 'OK';\n\n /** Cancel button text. */\n @property({ type: String })\n accessor cancelText = 'Cancel';\n\n /** Changes the primary button styles to indicate the action is destructive. */\n @property({ type: Boolean })\n accessor destructive = false;\n\n /** Disables the primary button. */\n @property({ type: Boolean })\n accessor okDisabled = false;\n\n /** Disables the secondary button. */\n @property({ type: Boolean })\n accessor secondaryDisabled = false;\n\n /** Hides the footer/action buttons to create a passive modal. */\n @property({ type: Boolean })\n accessor hideFooter = false;\n\n /** Secondary button text. */\n @property({ type: String })\n accessor secondaryButtonText = 'Secondary';\n\n /** Hides the secondary button. */\n @property({ type: Boolean })\n accessor showSecondaryButton = false;\n\n /** Hides the cancel button. */\n @property({ type: Boolean })\n accessor hideCancelButton = false;\n\n /** Function to execute before the modal can close. Useful for running checks or validations before closing. Exposes `returnValue` (`'ok'` or `'cancel'`). Must return `true` or `false`. */\n @property({ attribute: false })\n accessor beforeClose!: Function;\n\n /** Close button text. */\n @property({ type: String })\n accessor closeText = 'Close';\n\n /** The dialog element\n * @internal\n */\n @query('dialog')\n accessor _dialog!: any;\n\n /** Determines if the component is themed for GenAI.*/\n @property({ type: Boolean, reflect: true })\n accessor aiConnected = false;\n\n /** Disables scroll on the modal body to allow scrolling of nested elements inside. */\n @property({ type: Boolean })\n accessor disableScroll = false;\n\n override render() {\n const classes = {\n modal: true,\n 'size--md': this.size === 'md',\n 'size--lg': this.size === 'lg',\n 'size--xl': this.size === 'xl',\n 'ai-connected': this.aiConnected,\n };\n\n return html`\n <span class=\"anchor\" @click=${this._openModal}>\n <slot name=\"anchor\"></slot>\n </span>\n\n <dialog\n class=\"${classMap(classes)}\"\n aria-labelledby=\"dialogLabel\"\n @cancel=${(e: Event) => this._closeModal(e, 'cancel')}\n >\n <form method=\"dialog\">\n <kyn-button\n class=\"close\"\n kind=\"ghost\"\n size=\"small\"\n description=${this.closeText}\n @click=${(e: Event) => this._closeModal(e, 'cancel')}\n >\n <span slot=\"icon\">${unsafeSVG(closeIcon)}</span>\n </kyn-button>\n <header>\n <div>\n <h1 id=\"dialogLabel\">${this.titleText}</h1>\n ${this.labelText !== ''\n ? html`<span class=\"label\">${this.labelText}</span>`\n : null}\n </div>\n </header>\n\n <div class=\"body ${this.disableScroll ? 'disableScroll' : ''}\">\n <slot></slot>\n </div>\n\n ${!this.hideFooter\n ? html`\n <slot name=\"footer\">\n <div class=\"footer\">\n <kyn-button\n class=\"action-button\"\n value=\"ok\"\n kind=${this.destructive\n ? 'primary-destructive'\n : this.aiConnected\n ? 'primary-ai'\n : 'primary'}\n ?disabled=${this.okDisabled}\n @click=${(e: Event) => this._closeModal(e, 'ok')}\n >\n ${this.okText}\n </kyn-button>\n ${this.showSecondaryButton\n ? html`\n <kyn-button\n class=\"action-button\"\n value=\"Secondary\"\n kind=${this.aiConnected ? 'outline-ai' : 'outline'}\n ?disabled=${this.secondaryDisabled}\n @click=${(e: Event) =>\n this._closeModal(e, 'secondary')}\n >\n ${this.secondaryButtonText}\n </kyn-button>\n `\n : null}\n ${this.hideCancelButton\n ? null\n : html`\n <kyn-button\n class=\"action-button\"\n value=\"cancel\"\n kind=\"tertiary\"\n @click=${(e: Event) =>\n this._closeModal(e, 'cancel')}\n >\n ${this.cancelText}\n </kyn-button>\n `}\n <!--\n <div class=\"custom-actions\">\n <slot name=\"actions\"></slot>\n </div>\n -->\n </div>\n </slot>\n `\n : null}\n </form>\n </dialog>\n `;\n }\n\n private _openModal() {\n this.open = true;\n }\n\n private _closeModal(e: Event, returnValue: string) {\n if (\n !this.beforeClose ||\n (this.beforeClose && this.beforeClose(returnValue))\n ) {\n this.open = false;\n this._dialog.returnValue = returnValue;\n this._emitCloseEvent(e);\n }\n }\n\n private _emitCloseEvent(e: Event) {\n const event = new CustomEvent('on-close', {\n detail: {\n returnValue: this._dialog.returnValue,\n origEvent: e,\n },\n });\n this.dispatchEvent(event);\n }\n\n private _emitOpenEvent() {\n const event = new CustomEvent('on-open');\n this.dispatchEvent(event);\n }\n\n override updated(changedProps: any) {\n if (changedProps.has('open')) {\n if (this.open) {\n this._dialog.showModal();\n this._emitOpenEvent();\n } else {\n this._dialog.close();\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-modal': Modal;\n }\n}\n"],"names":["Modal","customElement","LitElement","_classThis","_classSuper","open","__classPrivateFieldGet","this","_Modal_open_accessor_storage","value","__classPrivateFieldSet","size","_Modal_size_accessor_storage","titleText","_Modal_titleText_accessor_storage","labelText","_Modal_labelText_accessor_storage","okText","_Modal_okText_accessor_storage","cancelText","_Modal_cancelText_accessor_storage","destructive","_Modal_destructive_accessor_storage","okDisabled","_Modal_okDisabled_accessor_storage","secondaryDisabled","_Modal_secondaryDisabled_accessor_storage","hideFooter","_Modal_hideFooter_accessor_storage","secondaryButtonText","_Modal_secondaryButtonText_accessor_storage","showSecondaryButton","_Modal_showSecondaryButton_accessor_storage","hideCancelButton","_Modal_hideCancelButton_accessor_storage","beforeClose","_Modal_beforeClose_accessor_storage","closeText","_Modal_closeText_accessor_storage","_dialog","_Modal__dialog_accessor_storage","aiConnected","_Modal_aiConnected_accessor_storage","disableScroll","_Modal_disableScroll_accessor_storage","render","classes","modal","html","_openModal","classMap","e","_closeModal","unsafeSVG","closeIcon","returnValue","_emitCloseEvent","event","CustomEvent","detail","origEvent","dispatchEvent","_emitOpenEvent","updated","changedProps","has","showModal","close","set","__runInitializers","_open_initializers","_open_extraInitializers","_size_initializers","_size_extraInitializers","_titleText_initializers","_titleText_extraInitializers","_labelText_initializers","_labelText_extraInitializers","_okText_initializers","_okText_extraInitializers","_cancelText_initializers","_cancelText_extraInitializers","_destructive_initializers","_destructive_extraInitializers","_okDisabled_initializers","_okDisabled_extraInitializers","_secondaryDisabled_initializers","_secondaryDisabled_extraInitializers","_hideFooter_initializers","_hideFooter_extraInitializers","_secondaryButtonText_initializers","_secondaryButtonText_extraInitializers","_showSecondaryButton_initializers","_showSecondaryButton_extraInitializers","_hideCancelButton_initializers","_hideCancelButton_extraInitializers","_beforeClose_initializers","_beforeClose_extraInitializers","_closeText_initializers","_closeText_extraInitializers","__dialog_initializers","__dialog_extraInitializers","_aiConnected_initializers","_aiConnected_extraInitializers","_disableScroll_initializers","_open_decorators","property","type","Boolean","_size_decorators","String","_titleText_decorators","_labelText_decorators","_okText_decorators","_cancelText_decorators","_destructive_decorators","_okDisabled_decorators","_secondaryDisabled_decorators","_hideFooter_decorators","_secondaryButtonText_decorators","_showSecondaryButton_decorators","_hideCancelButton_decorators","_beforeClose_decorators","attribute","_closeText_decorators","query","reflect","_disableScroll_decorators","__esDecorate","kind","name","static","private","access","obj","get","metadata","_metadata","__dialog_decorators","_aiConnected_decorators","_disableScroll_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","ModalScss","css"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modal.js","sources":["../../../../src/components/reusable/modal/modal.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport ModalScss from './modal.scss?inline';\n\nimport '../button';\n\nimport closeIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\n/**\n * Modal.\n * @slot unnamed - Slot for modal body content.\n * @slot anchor - Slot for the anchor button content.\n * @slot footer - Slot for the footer content which replaces the ok, cancel, and second ary buttons.\n * @fires on-close - Emits the modal close event with `returnValue` (`'ok'` or `'cancel'`).\n * @fires on-open - Emits the modal open event.\n */\n@customElement('kyn-modal')\nexport class Modal extends LitElement {\n static override styles = [\n unsafeCSS(ModalScss),\n css`\n @supports (transition-behavior: allow-discrete) {\n @starting-style {\n dialog[open] {\n opacity: 0;\n transform: scale(0);\n }\n }\n\n @starting-style {\n dialog[open]::backdrop {\n background-color: rgb(0, 0, 0, 0);\n }\n }\n }\n `,\n ];\n\n /** Modal open state. */\n @property({ type: Boolean })\n accessor open = false;\n\n /** Modal size. `'auto'`, `'md'`, or `'lg', or `'xl'`. */\n @property({ type: String })\n accessor size = 'auto';\n\n /** Title/heading text, required. */\n @property({ type: String })\n accessor titleText = '';\n\n /** Label text, optional. */\n @property({ type: String })\n accessor labelText = '';\n\n /** OK button text. */\n @property({ type: String })\n accessor okText = 'OK';\n\n /** Cancel button text. */\n @property({ type: String })\n accessor cancelText = 'Cancel';\n\n /** Changes the primary button styles to indicate the action is destructive. */\n @property({ type: Boolean })\n accessor destructive = false;\n\n /** Disables the primary button. */\n @property({ type: Boolean })\n accessor okDisabled = false;\n\n /** Disables the secondary button. */\n @property({ type: Boolean })\n accessor secondaryDisabled = false;\n\n /** Hides the footer/action buttons to create a passive modal. */\n @property({ type: Boolean })\n accessor hideFooter = false;\n\n /** Secondary button text. */\n @property({ type: String })\n accessor secondaryButtonText = 'Secondary';\n\n /** Hides the secondary button. */\n @property({ type: Boolean })\n accessor showSecondaryButton = false;\n\n /** Hides the cancel button. */\n @property({ type: Boolean })\n accessor hideCancelButton = false;\n\n /** Function to execute before the modal can close. Useful for running checks or validations before closing. Exposes `returnValue` (`'ok'` or `'cancel'`). Must return `true` or `false`. */\n @property({ attribute: false })\n accessor beforeClose!: Function;\n\n /** Close button text. */\n @property({ type: String })\n accessor closeText = 'Close';\n\n /** The dialog element\n * @internal\n */\n @query('dialog')\n accessor _dialog!: any;\n\n /** Determines if the component is themed for GenAI.*/\n @property({ type: Boolean, reflect: true })\n accessor aiConnected = false;\n\n /** Disables scroll on the modal body to allow scrolling of nested elements inside. */\n @property({ type: Boolean })\n accessor disableScroll = false;\n\n override render() {\n const classes = {\n modal: true,\n 'size--md': this.size === 'md',\n 'size--lg': this.size === 'lg',\n 'size--xl': this.size === 'xl',\n 'ai-connected': this.aiConnected,\n };\n\n return html`\n <span class=\"anchor\" @click=${this._openModal}>\n <slot name=\"anchor\"></slot>\n </span>\n\n <dialog\n class=\"${classMap(classes)}\"\n aria-labelledby=\"dialogLabel\"\n @cancel=${(e: Event) => this._closeModal(e, 'cancel')}\n >\n <form method=\"dialog\">\n <kyn-button\n class=\"close\"\n kind=\"ghost\"\n size=\"small\"\n description=${this.closeText}\n @click=${(e: Event) => this._closeModal(e, 'cancel')}\n >\n <span slot=\"icon\">${unsafeSVG(closeIcon)}</span>\n </kyn-button>\n <header>\n <div>\n <h1 id=\"dialogLabel\">${this.titleText}</h1>\n ${this.labelText !== ''\n ? html`<span class=\"label\">${this.labelText}</span>`\n : null}\n </div>\n </header>\n\n <div class=\"body ${this.disableScroll ? 'disableScroll' : ''}\">\n <slot></slot>\n </div>\n\n ${!this.hideFooter\n ? html`\n <slot name=\"footer\">\n <div class=\"footer\">\n <kyn-button\n class=\"action-button\"\n value=\"ok\"\n kind=${this.destructive\n ? 'primary-destructive'\n : this.aiConnected\n ? 'primary-ai'\n : 'primary'}\n ?disabled=${this.okDisabled}\n @click=${(e: Event) => this._closeModal(e, 'ok')}\n >\n ${this.okText}\n </kyn-button>\n ${this.showSecondaryButton\n ? html`\n <kyn-button\n class=\"action-button\"\n value=\"Secondary\"\n kind=${this.aiConnected ? 'outline-ai' : 'outline'}\n ?disabled=${this.secondaryDisabled}\n @click=${(e: Event) =>\n this._closeModal(e, 'secondary')}\n >\n ${this.secondaryButtonText}\n </kyn-button>\n `\n : null}\n ${this.hideCancelButton\n ? null\n : html`\n <kyn-button\n class=\"action-button\"\n value=\"cancel\"\n kind=\"secondary\"\n @click=${(e: Event) =>\n this._closeModal(e, 'cancel')}\n >\n ${this.cancelText}\n </kyn-button>\n `}\n <!--\n <div class=\"custom-actions\">\n <slot name=\"actions\"></slot>\n </div>\n -->\n </div>\n </slot>\n `\n : null}\n </form>\n </dialog>\n `;\n }\n\n private _openModal() {\n this.open = true;\n }\n\n private _closeModal(e: Event, returnValue: string) {\n if (\n !this.beforeClose ||\n (this.beforeClose && this.beforeClose(returnValue))\n ) {\n this.open = false;\n this._dialog.returnValue = returnValue;\n this._emitCloseEvent(e);\n }\n }\n\n private _emitCloseEvent(e: Event) {\n const event = new CustomEvent('on-close', {\n detail: {\n returnValue: this._dialog.returnValue,\n origEvent: e,\n },\n });\n this.dispatchEvent(event);\n }\n\n private _emitOpenEvent() {\n const event = new CustomEvent('on-open');\n this.dispatchEvent(event);\n }\n\n override updated(changedProps: any) {\n if (changedProps.has('open')) {\n if (this.open) {\n this._dialog.showModal();\n this._emitOpenEvent();\n } else {\n this._dialog.close();\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-modal': Modal;\n }\n}\n"],"names":["Modal","customElement","LitElement","_classThis","_classSuper","open","__classPrivateFieldGet","this","_Modal_open_accessor_storage","value","__classPrivateFieldSet","size","_Modal_size_accessor_storage","titleText","_Modal_titleText_accessor_storage","labelText","_Modal_labelText_accessor_storage","okText","_Modal_okText_accessor_storage","cancelText","_Modal_cancelText_accessor_storage","destructive","_Modal_destructive_accessor_storage","okDisabled","_Modal_okDisabled_accessor_storage","secondaryDisabled","_Modal_secondaryDisabled_accessor_storage","hideFooter","_Modal_hideFooter_accessor_storage","secondaryButtonText","_Modal_secondaryButtonText_accessor_storage","showSecondaryButton","_Modal_showSecondaryButton_accessor_storage","hideCancelButton","_Modal_hideCancelButton_accessor_storage","beforeClose","_Modal_beforeClose_accessor_storage","closeText","_Modal_closeText_accessor_storage","_dialog","_Modal__dialog_accessor_storage","aiConnected","_Modal_aiConnected_accessor_storage","disableScroll","_Modal_disableScroll_accessor_storage","render","classes","modal","html","_openModal","classMap","e","_closeModal","unsafeSVG","closeIcon","returnValue","_emitCloseEvent","event","CustomEvent","detail","origEvent","dispatchEvent","_emitOpenEvent","updated","changedProps","has","showModal","close","set","__runInitializers","_open_initializers","_open_extraInitializers","_size_initializers","_size_extraInitializers","_titleText_initializers","_titleText_extraInitializers","_labelText_initializers","_labelText_extraInitializers","_okText_initializers","_okText_extraInitializers","_cancelText_initializers","_cancelText_extraInitializers","_destructive_initializers","_destructive_extraInitializers","_okDisabled_initializers","_okDisabled_extraInitializers","_secondaryDisabled_initializers","_secondaryDisabled_extraInitializers","_hideFooter_initializers","_hideFooter_extraInitializers","_secondaryButtonText_initializers","_secondaryButtonText_extraInitializers","_showSecondaryButton_initializers","_showSecondaryButton_extraInitializers","_hideCancelButton_initializers","_hideCancelButton_extraInitializers","_beforeClose_initializers","_beforeClose_extraInitializers","_closeText_initializers","_closeText_extraInitializers","__dialog_initializers","__dialog_extraInitializers","_aiConnected_initializers","_aiConnected_extraInitializers","_disableScroll_initializers","_open_decorators","property","type","Boolean","_size_decorators","String","_titleText_decorators","_labelText_decorators","_okText_decorators","_cancelText_decorators","_destructive_decorators","_okDisabled_decorators","_secondaryDisabled_decorators","_hideFooter_decorators","_secondaryButtonText_decorators","_showSecondaryButton_decorators","_hideCancelButton_decorators","_beforeClose_decorators","attribute","_closeText_decorators","query","reflect","_disableScroll_decorators","__esDecorate","kind","name","static","private","access","obj","get","metadata","_metadata","__dialog_decorators","_aiConnected_decorators","_disableScroll_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","ModalScss","css"],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export declare class SliderInput extends SliderInput_base {
|
|
|
17
17
|
/** Label text. */
|
|
18
18
|
accessor label: string;
|
|
19
19
|
/** Input value. */
|
|
20
|
-
|
|
20
|
+
value: number;
|
|
21
21
|
/** Input disabled state. */
|
|
22
22
|
accessor disabled: boolean;
|
|
23
23
|
/** Optional text beneath the input. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sliderInput.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/sliderInput/sliderInput.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAOlD,OAAO,WAAW,CAAC;;AAcnB;;;;;;;;;;GAUG;AACH,qBACa,WAAY,SAAQ,gBAAqB;IACpD,OAAgB,MAAM,0BAAqB;IAE3C,kBAAkB;IAElB,QAAQ,CAAC,KAAK,SAAM;IAEpB,mBAAmB;
|
|
1
|
+
{"version":3,"file":"sliderInput.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/sliderInput/sliderInput.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAOlD,OAAO,WAAW,CAAC;;AAcnB;;;;;;;;;;GAUG;AACH,qBACa,WAAY,SAAQ,gBAAqB;IACpD,OAAgB,MAAM,0BAAqB;IAE3C,kBAAkB;IAElB,QAAQ,CAAC,KAAK,SAAM;IAEpB,mBAAmB;IACV,KAAK,SAAK;IAEnB,4BAA4B;IAE5B,QAAQ,CAAC,QAAQ,UAAS;IAE1B,uCAAuC;IAEvC,QAAQ,CAAC,OAAO,SAAM;IAEtB,qBAAqB;IAErB,QAAQ,CAAC,GAAG,SAAO;IAEnB,qBAAqB;IAErB,QAAQ,CAAC,GAAG,SAAK;IAEjB,8BAA8B;IAE9B,QAAQ,CAAC,IAAI,SAAK;IAElB,+BAA+B;IAE/B,QAAQ,CAAC,SAAS,UAAS;IAE3B,2DAA2D;IAE3D,QAAQ,CAAC,gBAAgB,UAAS;IAElC,8DAA8D;IAE9D,QAAQ,CAAC,iBAAiB,UAAS;IAEnC,oGAAoG;IAEpG,QAAQ,CAAC,aAAa,UAAS;IAE/B,iCAAiC;IAEjC,QAAQ,CAAC,WAAW;;;;MAAuB;IAE3C,oBAAoB;IAEpB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAM;IAErC,6CAA6C;IAE7C,QAAQ,CAAC,aAAa,UAAS;IAE/B,8CAA8C;IAE9C,QAAQ,CAAC,oBAAoB,UAAS;IAEtC;;OAEG;IAEH,QAAQ,CAAC,YAAY;;;;MAAuB;IAE5C;;OAEG;IAEH,QAAQ,CAAC,cAAc,UAAS;IAEhC;;OAEG;IAEH,QAAQ,CAAC,eAAe,SAAM;IAE9B;;;OAGG;IAEH,QAAQ,CAAC,aAAa,EAAG,gBAAgB,CAAC;IAE1C;;;OAGG;IAEH,QAAQ,CAAC,QAAQ,EAAG,gBAAgB,CAAC;IAE5B,MAAM;IAyHf,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,YAAY;IA2CpB,OAAO,CAAC,SAAS;IA2BR,OAAO,CAAC,YAAY,EAAE,GAAG;IA2BzB,UAAU,CAAC,YAAY,EAAE,GAAG;CAKtC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,WAAW,CAAC;KACjC;CACF"}
|
|
@@ -604,7 +604,7 @@ input[type=range]::-webkit-slider-thumb {
|
|
|
604
604
|
--box-fill: calc(-100vmax - var(--thumb-width, var(--thumb-height))) 0 0
|
|
605
605
|
100vmax var(--kd-color-border-ui-pressed);
|
|
606
606
|
width: var(--thumb-width, var(--thumb-height));
|
|
607
|
-
background-color: var(--kd-color-border-button-
|
|
607
|
+
background-color: var(--kd-color-border-button-primary-state-default);
|
|
608
608
|
box-shadow: -2px 0 0 0 var(--kd-color-border-variants-inverse), var(--box-fill), 2px 0 0 0 var(--kd-color-border-variants-inverse);
|
|
609
609
|
border-radius: var(--thumb-width, var(--thumb-height));
|
|
610
610
|
clip-path: polygon(100% -1px, var(--clip-edges) -1px, 0 var(--clip-top), -100vmax var(--clip-top), -100vmax var(--clip-bottom), 0 var(--clip-bottom), var(--clip-edges) 100%, var(--clip-further) var(--clip-further));
|
|
@@ -643,7 +643,7 @@ input[type=range]::-moz-range-thumb {
|
|
|
643
643
|
input[type=range]::-moz-range-track,
|
|
644
644
|
input[type=range]::-moz-range-thumb,
|
|
645
645
|
input[type=range]::-moz-range-progress {
|
|
646
|
-
background: var(--kd-color-border-button-
|
|
646
|
+
background: var(--kd-color-border-button-primary-state-default);
|
|
647
647
|
}
|
|
648
648
|
|
|
649
649
|
input[type=range]::-moz-range-thumb {
|
|
@@ -651,7 +651,7 @@ input[type=range]::-moz-range-thumb {
|
|
|
651
651
|
border: 0;
|
|
652
652
|
width: var(--thumb-height);
|
|
653
653
|
border-radius: var(--thumb-width, var(--thumb-height));
|
|
654
|
-
background-color: var(--kd-color-border-button-
|
|
654
|
+
background-color: var(--kd-color-border-button-primary-state-default);
|
|
655
655
|
box-shadow: -2px 0 0 0 var(--kd-color-border-variants-inverse), var(--kd-spacing-2) 0 0 0 var(--kd-color-border-variants-inverse);
|
|
656
656
|
}
|
|
657
657
|
|
|
@@ -745,7 +745,7 @@ input[type=number] {
|
|
|
745
745
|
}
|
|
746
746
|
|
|
747
747
|
.tick-OnKnob {
|
|
748
|
-
background-color: var(--kd-color-border-button-
|
|
748
|
+
background-color: var(--kd-color-border-button-primary-state-default);
|
|
749
749
|
}
|
|
750
750
|
|
|
751
751
|
.scale-wrapper {
|
|
@@ -794,7 +794,7 @@ input[type=number] {
|
|
|
794
794
|
font-size: var(--kd-font-size-body-2-max);
|
|
795
795
|
line-height: var(--kd-line-height-body-2-max);
|
|
796
796
|
}
|
|
797
|
-
}`;const w={error:"Error",decrease:"Decrease",increase:"Increase"};let _=(()=>{var d,_,z,$,M,S,T,E,I,L,V,
|
|
797
|
+
}`;const w={error:"Error",decrease:"Decrease",increase:"Increase"};let _=(()=>{var d,_,z,$,M,S,T,E,I,L,V,B,R,W,j,P,C,N,O;let q,A,D,F,K,U,X,Y,H,G,J,Q,Z,tt,et,it,at,rt,nt,ot,st,lt=[c("kyn-slider-input")],dt=[],pt=v(b),ct=[],ht=[],ut=[],mt=[],bt=[],vt=[],gt=[],kt=[],ft=[],xt=[],yt=[],wt=[],_t=[],zt=[],$t=[],Mt=[],St=[],Tt=[],Et=[],It=[],Lt=[],Vt=[],Bt=[],Rt=[],Wt=[],jt=[],Pt=[],Ct=[],Nt=[],Ot=[],qt=[],At=[],Dt=[],Ft=[],Kt=[],Ut=[],Xt=[],Yt=[];return A=class extends pt{get label(){return a(this,d,"f")}set label(t){r(this,d,t,"f")}get disabled(){return a(this,_,"f")}set disabled(t){r(this,_,t,"f")}get caption(){return a(this,z,"f")}set caption(t){r(this,z,t,"f")}get max(){return a(this,$,"f")}set max(t){r(this,$,t,"f")}get min(){return a(this,M,"f")}set min(t){r(this,M,t,"f")}get step(){return a(this,S,"f")}set step(t){r(this,S,t,"f")}get hideLabel(){return a(this,T,"f")}set hideLabel(t){r(this,T,t,"f")}get enableTickMarker(){return a(this,E,"f")}set enableTickMarker(t){r(this,E,t,"f")}get enableScaleMarker(){return a(this,I,"f")}set enableScaleMarker(t){r(this,I,t,"f")}get editableInput(){return a(this,L,"f")}set editableInput(t){r(this,L,t,"f")}get textStrings(){return a(this,V,"f")}set textStrings(t){r(this,V,t,"f")}get customLabels(){return a(this,B,"f")}set customLabels(t){r(this,B,t,"f")}get enableTooltip(){return a(this,R,"f")}set enableTooltip(t){r(this,R,t,"f")}get enableButtonControls(){return a(this,W,"f")}set enableButtonControls(t){r(this,W,t,"f")}get _textStrings(){return a(this,j,"f")}set _textStrings(t){r(this,j,t,"f")}get tooltipVisible(){return a(this,P,"f")}set tooltipVisible(t){r(this,P,t,"f")}get tooltipPosition(){return a(this,C,"f")}set tooltipPosition(t){r(this,C,t,"f")}get _inputRangeEl(){return a(this,N,"f")}set _inputRangeEl(t){r(this,N,t,"f")}get _inputEl(){return a(this,O,"f")}set _inputEl(t){r(this,O,t,"f")}render(){const t={"slider-wrapper":!0,"mb-30":this.customLabels.length>0||this.enableScaleMarker},e=Math.floor((this.max-this.min)/this.step);return l`
|
|
798
798
|
<div class="text-input" ?disabled=${this.disabled}>
|
|
799
799
|
<label
|
|
800
800
|
class="label-text ${this.hideLabel?"sr-only":""}"
|
|
@@ -927,5 +927,5 @@ ${this.enableButtonControls?l`
|
|
|
927
927
|
@input=${t=>this._handleNumberInput(t)}
|
|
928
928
|
/>
|
|
929
929
|
</div>
|
|
930
|
-
`}_showTooltip(){this.disabled||(this.tooltipVisible=!0)}_hideTooltip(){setTimeout((()=>{this.tooltipVisible=!1}),100)}_handleInput(t){var e;""===t.target.value?this._inputRangeEl.value="0":this.value=Number(t.target.value),this.editableInput||this._updateTooltipPosition(),this.enableTickMarker&&this.showTickMark(),this._emitValue(t);const i=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('input[type="number"]');i&&(i.value=this.value.toString()),this._validate(!0,!1)}_handleNumberInput(t){""===t.target.value?(this.value=0,this._inputEl.value="0"):this.value=Number(t.target.value),this._validate(!0,!1),this._emitValue(t)}_emitValue(t){const e={value:this.value};t&&(e.origEvent=t);const i=new CustomEvent("on-input",{detail:e});this.dispatchEvent(i)}_getTooltipPosition(){return this.tooltipPosition}_updateTooltipPosition(){var t;if(!(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector('input[type="range"]')))return;const e=this.min,i=this.max,a=Number(this._inputRangeEl.value),r=24*((a-this.min)/(this.max-this.min)-.5)*-1,n=Math.floor(100*(a-e)/(i-e));this.tooltipPosition=`calc(${n}% + (${r}px))`}showTickMark(){var t,e;if(!(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector('input[type="range"]')))return;const i=this.min,a=this.max,r=this.step,n=Number(this._inputRangeEl.value),o=Math.min(Math.max(n,i),a),s=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".tick");null==s||s.forEach((t=>{var e,s;const l=t.style.left,d=parseFloat(null!==(s=null===(e=l.match(/([\d.]+)%/))||void 0===e?void 0:e[1])&&void 0!==s?s:"0"),p=d<=(o-i)/(a-i)*100;t.classList.toggle("tick-filled",p),t.classList.toggle("tick-unfilled",!p),t.classList.remove("tick-OnKnob");const c=Math.round(d)*(a-i)/100+i;Math.abs(n-c)<r/2&&(this.disabled?t.style.background="none":(t.classList.add("tick-OnKnob"),t.classList.remove("tick-filled","tick-unfilled"),t.style.background=""))}))}_validate(t,e){if(!this._inputEl)return;const i=""!==this.invalidText?{...this._inputEl.validity,customError:!0}:this._inputEl.validity,a=""!==this.invalidText?this.invalidText:this._inputEl.validationMessage;this._internals.setValidity(i,a,this._inputEl),t&&(this._internalValidationMsg=this._inputEl.validationMessage),e&&this._internals.reportValidity()}updated(t){[...t.keys()].every((t=>["tooltipVisible","tooltipPosition","_internalValidationMsg"].includes(t)))||(this._onUpdated(t),(t.has("value")||t.has("min")||t.has("max")||t.has("step")||t.has("enableTicksOnSlider")||t.has("disabled"))&&(this._inputRangeEl.value=this.value.toString(),this._inputEl&&(this._inputEl.value=this.value.toString()),this.showTickMark(),this._updateTooltipPosition()))}willUpdate(t){t.has("textStrings")&&(this._textStrings=g(w,this.textStrings))}constructor(){super(...arguments),d.set(this,i(this,
|
|
930
|
+
`}_showTooltip(){this.disabled||(this.tooltipVisible=!0)}_hideTooltip(){setTimeout((()=>{this.tooltipVisible=!1}),100)}_handleInput(t){var e;""===t.target.value?this._inputRangeEl.value="0":this.value=Number(t.target.value),this.editableInput||this._updateTooltipPosition(),this.enableTickMarker&&this.showTickMark(),this._emitValue(t);const i=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector('input[type="number"]');i&&(i.value=this.value.toString()),this._validate(!0,!1)}_handleNumberInput(t){""===t.target.value?(this.value=0,this._inputEl.value="0"):this.value=Number(t.target.value),this._validate(!0,!1),this._emitValue(t)}_emitValue(t){const e={value:this.value};t&&(e.origEvent=t);const i=new CustomEvent("on-input",{detail:e});this.dispatchEvent(i)}_getTooltipPosition(){return this.tooltipPosition}_updateTooltipPosition(){var t;if(!(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector('input[type="range"]')))return;const e=this.min,i=this.max,a=Number(this._inputRangeEl.value),r=24*((a-this.min)/(this.max-this.min)-.5)*-1,n=Math.floor(100*(a-e)/(i-e));this.tooltipPosition=`calc(${n}% + (${r}px))`}showTickMark(){var t,e;if(!(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector('input[type="range"]')))return;const i=this.min,a=this.max,r=this.step,n=Number(this._inputRangeEl.value),o=Math.min(Math.max(n,i),a),s=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".tick");null==s||s.forEach((t=>{var e,s;const l=t.style.left,d=parseFloat(null!==(s=null===(e=l.match(/([\d.]+)%/))||void 0===e?void 0:e[1])&&void 0!==s?s:"0"),p=d<=(o-i)/(a-i)*100;t.classList.toggle("tick-filled",p),t.classList.toggle("tick-unfilled",!p),t.classList.remove("tick-OnKnob");const c=Math.round(d)*(a-i)/100+i;Math.abs(n-c)<r/2&&(this.disabled?t.style.background="none":(t.classList.add("tick-OnKnob"),t.classList.remove("tick-filled","tick-unfilled"),t.style.background=""))}))}_validate(t,e){if(!this._inputEl)return;const i=""!==this.invalidText?{...this._inputEl.validity,customError:!0}:this._inputEl.validity,a=""!==this.invalidText?this.invalidText:this._inputEl.validationMessage;this._internals.setValidity(i,a,this._inputEl),t&&(this._internalValidationMsg=this._inputEl.validationMessage),e&&this._internals.reportValidity()}updated(t){[...t.keys()].every((t=>["tooltipVisible","tooltipPosition","_internalValidationMsg"].includes(t)))||(this._onUpdated(t),(t.has("value")||t.has("min")||t.has("max")||t.has("step")||t.has("enableTicksOnSlider")||t.has("disabled"))&&(this._inputRangeEl.value=this.value.toString(),this._inputEl&&(this._inputEl.value=this.value.toString()),this.showTickMark(),this._updateTooltipPosition()))}willUpdate(t){t.has("textStrings")&&(this._textStrings=g(w,this.textStrings))}constructor(){super(...arguments),d.set(this,i(this,ct,"")),this.value=(i(this,ht),0),_.set(this,i(this,ut,!1)),z.set(this,(i(this,mt),i(this,bt,""))),$.set(this,(i(this,vt),i(this,gt,100))),M.set(this,(i(this,kt),i(this,ft,0))),S.set(this,(i(this,xt),i(this,yt,1))),T.set(this,(i(this,wt),i(this,_t,!1))),E.set(this,(i(this,zt),i(this,$t,!1))),I.set(this,(i(this,Mt),i(this,St,!1))),L.set(this,(i(this,Tt),i(this,Et,!1))),V.set(this,(i(this,It),i(this,Lt,w))),B.set(this,(i(this,Vt),i(this,Bt,[]))),R.set(this,(i(this,Rt),i(this,Wt,!1))),W.set(this,(i(this,jt),i(this,Pt,!1))),j.set(this,(i(this,Ct),i(this,Nt,w))),P.set(this,(i(this,Ot),i(this,qt,!1))),C.set(this,(i(this,At),i(this,Dt,""))),N.set(this,(i(this,Ft),i(this,Kt,void 0))),O.set(this,(i(this,Ut),i(this,Xt,void 0))),i(this,Yt)}},d=new WeakMap,_=new WeakMap,z=new WeakMap,$=new WeakMap,M=new WeakMap,S=new WeakMap,T=new WeakMap,E=new WeakMap,I=new WeakMap,L=new WeakMap,V=new WeakMap,B=new WeakMap,R=new WeakMap,W=new WeakMap,j=new WeakMap,P=new WeakMap,C=new WeakMap,N=new WeakMap,O=new WeakMap,t(A,"SliderInput"),(()=>{var t;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(t=pt[Symbol.metadata])&&void 0!==t?t:null):void 0;D=[u({type:String})],F=[u({type:Boolean})],K=[u({type:String})],U=[u({type:Number})],X=[u({type:Number})],Y=[u({type:Number})],H=[u({type:Boolean})],G=[u({type:Boolean})],J=[u({type:Boolean})],Q=[u({type:Boolean})],Z=[u({type:Object})],tt=[u({type:Array})],et=[u({type:Boolean})],it=[u({type:Boolean})],at=[p()],rt=[p()],nt=[p()],ot=[m('input[type="range"]')],st=[m('input[type="number"]')],e(A,null,D,{kind:"accessor",name:"label",static:!1,private:!1,access:{has:t=>"label"in t,get:t=>t.label,set:(t,e)=>{t.label=e}},metadata:i},ct,ht),e(A,null,F,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:t=>"disabled"in t,get:t=>t.disabled,set:(t,e)=>{t.disabled=e}},metadata:i},ut,mt),e(A,null,K,{kind:"accessor",name:"caption",static:!1,private:!1,access:{has:t=>"caption"in t,get:t=>t.caption,set:(t,e)=>{t.caption=e}},metadata:i},bt,vt),e(A,null,U,{kind:"accessor",name:"max",static:!1,private:!1,access:{has:t=>"max"in t,get:t=>t.max,set:(t,e)=>{t.max=e}},metadata:i},gt,kt),e(A,null,X,{kind:"accessor",name:"min",static:!1,private:!1,access:{has:t=>"min"in t,get:t=>t.min,set:(t,e)=>{t.min=e}},metadata:i},ft,xt),e(A,null,Y,{kind:"accessor",name:"step",static:!1,private:!1,access:{has:t=>"step"in t,get:t=>t.step,set:(t,e)=>{t.step=e}},metadata:i},yt,wt),e(A,null,H,{kind:"accessor",name:"hideLabel",static:!1,private:!1,access:{has:t=>"hideLabel"in t,get:t=>t.hideLabel,set:(t,e)=>{t.hideLabel=e}},metadata:i},_t,zt),e(A,null,G,{kind:"accessor",name:"enableTickMarker",static:!1,private:!1,access:{has:t=>"enableTickMarker"in t,get:t=>t.enableTickMarker,set:(t,e)=>{t.enableTickMarker=e}},metadata:i},$t,Mt),e(A,null,J,{kind:"accessor",name:"enableScaleMarker",static:!1,private:!1,access:{has:t=>"enableScaleMarker"in t,get:t=>t.enableScaleMarker,set:(t,e)=>{t.enableScaleMarker=e}},metadata:i},St,Tt),e(A,null,Q,{kind:"accessor",name:"editableInput",static:!1,private:!1,access:{has:t=>"editableInput"in t,get:t=>t.editableInput,set:(t,e)=>{t.editableInput=e}},metadata:i},Et,It),e(A,null,Z,{kind:"accessor",name:"textStrings",static:!1,private:!1,access:{has:t=>"textStrings"in t,get:t=>t.textStrings,set:(t,e)=>{t.textStrings=e}},metadata:i},Lt,Vt),e(A,null,tt,{kind:"accessor",name:"customLabels",static:!1,private:!1,access:{has:t=>"customLabels"in t,get:t=>t.customLabels,set:(t,e)=>{t.customLabels=e}},metadata:i},Bt,Rt),e(A,null,et,{kind:"accessor",name:"enableTooltip",static:!1,private:!1,access:{has:t=>"enableTooltip"in t,get:t=>t.enableTooltip,set:(t,e)=>{t.enableTooltip=e}},metadata:i},Wt,jt),e(A,null,it,{kind:"accessor",name:"enableButtonControls",static:!1,private:!1,access:{has:t=>"enableButtonControls"in t,get:t=>t.enableButtonControls,set:(t,e)=>{t.enableButtonControls=e}},metadata:i},Pt,Ct),e(A,null,at,{kind:"accessor",name:"_textStrings",static:!1,private:!1,access:{has:t=>"_textStrings"in t,get:t=>t._textStrings,set:(t,e)=>{t._textStrings=e}},metadata:i},Nt,Ot),e(A,null,rt,{kind:"accessor",name:"tooltipVisible",static:!1,private:!1,access:{has:t=>"tooltipVisible"in t,get:t=>t.tooltipVisible,set:(t,e)=>{t.tooltipVisible=e}},metadata:i},qt,At),e(A,null,nt,{kind:"accessor",name:"tooltipPosition",static:!1,private:!1,access:{has:t=>"tooltipPosition"in t,get:t=>t.tooltipPosition,set:(t,e)=>{t.tooltipPosition=e}},metadata:i},Dt,Ft),e(A,null,ot,{kind:"accessor",name:"_inputRangeEl",static:!1,private:!1,access:{has:t=>"_inputRangeEl"in t,get:t=>t._inputRangeEl,set:(t,e)=>{t._inputRangeEl=e}},metadata:i},Kt,Ut),e(A,null,st,{kind:"accessor",name:"_inputEl",static:!1,private:!1,access:{has:t=>"_inputEl"in t,get:t=>t._inputEl,set:(t,e)=>{t._inputEl=e}},metadata:i},Xt,Yt),e(null,q={value:A},lt,{kind:"class",name:A.name,metadata:i},null,dt),A=q.value,i&&Object.defineProperty(A,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),A.styles=h(y),i(A,dt),A})();export{_ as SliderInput};
|
|
931
931
|
//# sourceMappingURL=sliderInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sliderInput.js","sources":["../../../../src/components/reusable/sliderInput/sliderInput.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport Styles from './sliderInput.scss?inline';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport '../button';\nimport { deepmerge } from 'deepmerge-ts';\n\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/error-filled.svg';\n\nimport squiggleThin from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/squiggle.svg';\nimport squiggleThick from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/squiggle-thick.svg';\n\nconst _defaultTextStrings = {\n error: 'Error',\n decrease: 'Decrease',\n increase: 'Increase',\n};\n\n/**\n * Slider Input.\n * @fires on-input - Captures the input event and emits the selected value and original event details.\n * @prop {number} min - The minimum value.\n * @prop {number} max - The maximum value.\n * @prop {number} step - The step between values.\n * @slot tooltip - Slot for tooltip.\n * @slot leftBtnIcon - Slot for left button icon.\n * @slot rightBtnIcon - Slot for right button icon.\n *\n */\n@customElement('kyn-slider-input')\nexport class SliderInput extends FormMixin(LitElement) {\n static override styles = unsafeCSS(Styles);\n\n /** Label text. */\n @property({ type: String })\n accessor label = '';\n\n /** Input value. */\n @property({ type: Number })\n override accessor value = 0;\n\n /** Input disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Optional text beneath the input. */\n @property({ type: String })\n accessor caption = '';\n\n /** Maximum value. */\n @property({ type: Number })\n accessor max = 100;\n\n /** Minimum value. */\n @property({ type: Number })\n accessor min = 0;\n\n /** The step between values */\n @property({ type: Number })\n accessor step = 1;\n\n /** Visually hide the label. */\n @property({ type: Boolean })\n accessor hideLabel = false;\n\n /** Set this to `true` for enable Tick Marker on slider. */\n @property({ type: Boolean })\n accessor enableTickMarker = false;\n\n /** Set this to `true` for enable Scale Marker below slider */\n @property({ type: Boolean })\n accessor enableScaleMarker = false;\n\n /** Set this to `true` for editable Input. Note: Enabling this property will disable the tooltip. */\n @property({ type: Boolean })\n accessor editableInput = false;\n\n /** Customizable text strings. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Custom Labels */\n @property({ type: Array })\n accessor customLabels: string[] = [];\n\n /** Set this to `true` for enable Tooltip. */\n @property({ type: Boolean })\n accessor enableTooltip = false;\n\n /** Set this to `true` for button controls. */\n @property({ type: Boolean })\n accessor enableButtonControls = false;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /**Tooltip open state.\n * @internal\n */\n @state()\n accessor tooltipVisible = false;\n\n /**Tooltip position.\n * @internal\n */\n @state()\n accessor tooltipPosition = '';\n\n /**\n * Queries the <input> DOM element.\n * @ignore\n */\n @query('input[type=\"range\"]')\n accessor _inputRangeEl!: HTMLInputElement;\n\n /**\n * Queries the <input> DOM element.\n * @ignore\n */\n @query('input[type=\"number\"]')\n accessor _inputEl!: HTMLInputElement;\n\n override render() {\n // Calculate the number of ticks based on the step, min, and max values\n const styles = {\n 'slider-wrapper': true,\n 'mb-30': this.customLabels.length > 0 || this.enableScaleMarker,\n };\n\n const tickCount = Math.floor((this.max - this.min) / this.step);\n return html`\n <div class=\"text-input\" ?disabled=${this.disabled}>\n <label\n class=\"label-text ${this.hideLabel ? 'sr-only' : ''}\"\n for=${this.name}\n >\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </label>\n <div class=\"slider-container\">\n${\n this.enableButtonControls\n ? html`\n <kyn-button\n class=\"left_button\"\n kind=\"outline\"\n size=\"small\"\n ?disabled=${this.disabled || this.value <= this.min}\n description=${this._textStrings.decrease}\n @on-click=${this._handleDecrease}\n >\n <span slot=\"icon\"\n ><slot name=\"leftBtnIcon\">${unsafeSVG(squiggleThin)}</slot></span\n >\n </kyn-button>\n `\n : null\n}\n <div class=\"${classMap(styles)}\">\n <input\n type=\"range\"\n id=${this.name}\n name=${this.name}\n value=${this.value.toString()}\n ?disabled=${this.disabled}\n step=${ifDefined(this.step)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n aria-label=\"slider range input\"\n aria-valuetext=${this.value.toString()}\n aria-valuemin=${ifDefined(this.min)}\n aria-valuemax=${ifDefined(this.max)}\n aria-valuenow=${this.value.toString()}\n @input=${(e: any) => this._handleInput(e)}\n @focus=${() => this._showTooltip()}\n @blur=${() => this._hideTooltip()}\n @mousedown=${() => this._showTooltip()}\n @pointerdown=${() => this._showTooltip()}\n @mouseup=${() => this._hideTooltip()}\n />\n\n ${this.enableTickMarker ? this._renderTickMarker(tickCount) : null}\n ${this.enableScaleMarker ? this._renderScaleMarker(tickCount) : null}\n ${this.customLabels.length > 0 ? this._renderCustomLabel() : null}\n ${\n this.enableTooltip && !this.editableInput\n ? this._renderTooltip()\n : null\n }\n </div>\n${\n this.enableButtonControls\n ? html`\n <kyn-button\n class=\"right_button\"\n kind=\"outline\"\n size=\"small\"\n ?disabled=${this.disabled || this.value >= this.max}\n description=${this._textStrings.increase}\n @on-click=${this._handleIncrease}\n >\n <span slot=\"icon\"\n ><slot name=\"rightBtnIcon\">${unsafeSVG(squiggleThick)}</slot></span\n >\n </kyn-button>\n `\n : null\n}\n ${this.editableInput ? this._renderEditableInput() : null}\n\n </div>\n ${\n this.caption !== ''\n ? html`\n <div class=\"caption\" aria-disabled=${this.disabled}>\n ${this.caption}\n </div>\n `\n : null\n }\n ${\n this._isInvalid\n ? html`\n <div id=\"error\" class=\"error\">\n <span\n role=\"img\"\n class=\"error-icon\"\n aria-label=${this._textStrings.error}\n >${unsafeSVG(errorIcon)}</span\n >\n ${this.invalidText || this._internalValidationMsg}\n </div>\n `\n : null\n }\n\n </div>\n </div>\n </div>\n `;\n }\n\n //render TickMarker Html\n private _renderTickMarker(tickCount: any) {\n return html`\n <div class=\"tick-wrapper\">\n ${Array.from({ length: tickCount + 1 }).map((_, index) => {\n const tickPosition =\n index === tickCount ? '100%' : (index * 100) / tickCount + '%';\n const midIndex = Math.floor(tickCount / 2);\n const maxOffset = 12; // Maximum offset in pixels, --thumb-height/2\n const offset =\n index <= midIndex\n ? maxOffset - (index * maxOffset) / midIndex // Decrease offset proportionally until mid\n : -((index - midIndex) * maxOffset) / midIndex; //Decrease offset negatively\n\n return html`\n <div\n class=\"tick\"\n style=\"left: calc(${tickPosition} + ${offset}px);\"\n ></div>\n `;\n })}\n </div>\n `;\n }\n\n // Handle left/decrease button click\n private _handleDecrease() {\n this._inputRangeEl.stepDown();\n this.value = Number(this._inputRangeEl.value);\n\n this._validate(true, false);\n this._emitValue();\n }\n\n // Handle right/increase button click\n private _handleIncrease() {\n this._inputRangeEl.stepUp();\n this.value = Number(this._inputRangeEl.value);\n\n this._validate(true, false);\n this._emitValue();\n }\n\n //render CustomLabel Html\n private _renderCustomLabel() {\n return html`\n <div class=\"scale-wrapper\">\n ${this.customLabels.map((label, _) => {\n return html` <span class=\"scale-wrapper__ticks\">${label}</span> `;\n })}\n </div>\n `;\n }\n\n //render ScaleMarker Html\n private _renderScaleMarker(tickCount: any) {\n return html`\n <div class=\"scale-wrapper\">\n ${Array.from({ length: tickCount + 1 }).map((_, index) => {\n const midIndex = Math.floor(tickCount / 2);\n const label = this.min + index * this.step;\n const isMin = index === 0;\n const isMax = index === tickCount;\n const isMid = index === midIndex;\n const displayLabel = isMin || isMid || isMax ? label : '';\n return html`\n <span class=\"scale-wrapper__ticks\">${displayLabel}</span>\n `;\n })}\n </div>\n `;\n }\n\n //render Tooltip Html\n private _renderTooltip() {\n if (!this.enableTooltip) {\n return null; // Do not render the tooltip if disabled\n }\n const classes = {\n 'slider-tooltip': true,\n open: this.tooltipVisible,\n };\n return html` <div\n role=\"tooltip\"\n class=\"${classMap(classes)}\"\n aria-hidden=${!this.tooltipVisible}\n style=\"left: ${this._getTooltipPosition()}\"\n >\n ${this.value}\n </div>`;\n }\n\n //render EditableInput Html\n private _renderEditableInput() {\n return html`\n <div class=\"number-input\">\n <input\n type=\"number\"\n value=${this.value.toString()}\n id=\"editableInput\"\n name=\"editableInput\"\n ?disabled=${this.disabled}\n aria-label=\"editable range input\"\n ?invalid=${this._isInvalid}\n aria-invalid=${this._isInvalid}\n aria-describedby=${this._isInvalid ? 'error' : ''}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n step=${ifDefined(this.step)}\n @input=${(e: any) => this._handleNumberInput(e)}\n />\n </div>\n `;\n }\n\n // Handle show the tooltip\n private _showTooltip() {\n if (!this.disabled) {\n this.tooltipVisible = true;\n }\n }\n\n // Handle hide the tooltip\n private _hideTooltip() {\n setTimeout(() => {\n this.tooltipVisible = false;\n }, 100);\n }\n\n private _handleInput(e: any) {\n if (e.target.value === '') {\n this._inputRangeEl.value = '0';\n } else {\n this.value = Number(e.target.value);\n }\n if (!this.editableInput) {\n this._updateTooltipPosition();\n }\n if (this.enableTickMarker) {\n this.showTickMark();\n }\n this._emitValue(e);\n const editableInput = this.shadowRoot?.querySelector(\n 'input[type=\"number\"]'\n );\n if (editableInput) {\n (editableInput as HTMLInputElement).value = this.value.toString();\n }\n this._validate(true, false);\n }\n\n private _handleNumberInput(e: any) {\n if (e.target.value === '') {\n this.value = 0;\n this._inputEl.value = '0';\n } else {\n this.value = Number(e.target.value);\n }\n this._validate(true, false);\n this._emitValue(e);\n }\n\n private _emitValue(e?: any) {\n const Detail: any = {\n value: this.value,\n };\n if (e) {\n Detail.origEvent = e;\n }\n\n const event = new CustomEvent('on-input', {\n detail: Detail,\n });\n this.dispatchEvent(event);\n }\n\n // Get tooltip position\n private _getTooltipPosition() {\n return this.tooltipPosition;\n }\n\n private _updateTooltipPosition() {\n const inputEl = this.shadowRoot?.querySelector(\n 'input[type=\"range\"]'\n ) as HTMLInputElement;\n if (!inputEl) return;\n const min = this.min;\n const max = this.max;\n const value = Number(this._inputRangeEl.value);\n const positionRatio = (value - this.min) / (this.max - this.min);\n const knobOffset = 24 * (positionRatio - 0.5) * -1; // knob width 24\n const percentage = Math.floor(((value - min) * 100) / (max - min));\n this.tooltipPosition = `calc(${percentage}% + (${knobOffset}px))`;\n }\n\n private showTickMark() {\n const inputEl = this.shadowRoot?.querySelector(\n 'input[type=\"range\"]'\n ) as HTMLInputElement;\n if (!inputEl) return;\n const min = this.min;\n const max = this.max;\n const step = this.step;\n const value = Number(this._inputRangeEl.value);\n const clampedValue = Math.min(Math.max(value, min), max);\n // Ensure value is clamped within the valid range\n const ticks = this.shadowRoot?.querySelectorAll('.tick');\n ticks?.forEach((tick: any) => {\n // Get the tick's percentage position from its style\n const tickStyleLeft = tick.style.left;\n const tickPercentage = parseFloat(\n tickStyleLeft.match(/([\\d.]+)%/)?.[1] ?? '0'\n );\n\n // Calculate the current thumb position as a percentage\n const thumbPercentage = ((clampedValue - min) / (max - min)) * 100;\n\n // Compare the tick's position with the thumb's position\n const isFilled = tickPercentage <= thumbPercentage;\n tick.classList.toggle('tick-filled', isFilled);\n tick.classList.toggle('tick-unfilled', !isFilled);\n tick.classList.remove('tick-OnKnob');\n\n const tickStepPosition = Math.round(tickPercentage); // Round to avoid floating point precision issues\n const valueAtTick = (tickStepPosition * (max - min)) / 100 + min;\n if (Math.abs(value - valueAtTick) < step / 2) {\n // Thumb is exactly on a tick\n if (this.disabled) {\n tick.style.background = 'none';\n } else {\n tick.classList.add('tick-OnKnob');\n tick.classList.remove('tick-filled', 'tick-unfilled');\n tick.style.background = '';\n }\n }\n });\n }\n\n private _validate(interacted: Boolean, report: Boolean) {\n // get validity state from inputEl, combine customError flag if invalidText is provided\n if (!this._inputEl) return;\n const Validity =\n this.invalidText !== ''\n ? { ...this._inputEl.validity, customError: true }\n : this._inputEl.validity;\n // set validationMessage to invalidText if present, otherwise use inputEl validationMessage\n const ValidationMessage =\n this.invalidText !== ''\n ? this.invalidText\n : this._inputEl.validationMessage;\n\n // set validity on custom element, anchor to inputEl\n this._internals.setValidity(Validity, ValidationMessage, this._inputEl);\n\n // set internal validation message if value was changed by user input\n if (interacted) {\n this._internalValidationMsg = this._inputEl.validationMessage;\n }\n\n // focus the form field to show validity\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n override updated(changedProps: any) {\n // preserve FormMixin updated function\n //skip update if internal properties have changed\n const onlyInternalChanges = [...changedProps.keys()].every((prop) =>\n ['tooltipVisible', 'tooltipPosition', '_internalValidationMsg'].includes(\n prop\n )\n );\n if (onlyInternalChanges) return;\n this._onUpdated(changedProps);\n if (\n changedProps.has('value') ||\n changedProps.has('min') ||\n changedProps.has('max') ||\n changedProps.has('step') ||\n changedProps.has('enableTicksOnSlider') ||\n changedProps.has('disabled')\n ) {\n this._inputRangeEl.value = this.value.toString();\n if (this._inputEl) {\n this._inputEl.value = this.value.toString();\n }\n this.showTickMark();\n this._updateTooltipPosition();\n }\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-slider-input': SliderInput;\n }\n}\n"],"names":["_defaultTextStrings","error","decrease","increase","SliderInput","customElement","FormMixin","LitElement","_classThis","_classSuper","label","__classPrivateFieldGet","this","_SliderInput_label_accessor_storage","value","__classPrivateFieldSet","_SliderInput_value_accessor_storage","disabled","_SliderInput_disabled_accessor_storage","caption","_SliderInput_caption_accessor_storage","max","_SliderInput_max_accessor_storage","min","_SliderInput_min_accessor_storage","step","_SliderInput_step_accessor_storage","hideLabel","_SliderInput_hideLabel_accessor_storage","enableTickMarker","_SliderInput_enableTickMarker_accessor_storage","enableScaleMarker","_SliderInput_enableScaleMarker_accessor_storage","editableInput","_SliderInput_editableInput_accessor_storage","textStrings","_SliderInput_textStrings_accessor_storage","customLabels","_SliderInput_customLabels_accessor_storage","enableTooltip","_SliderInput_enableTooltip_accessor_storage","enableButtonControls","_SliderInput_enableButtonControls_accessor_storage","_textStrings","_SliderInput__textStrings_accessor_storage","tooltipVisible","_SliderInput_tooltipVisible_accessor_storage","tooltipPosition","_SliderInput_tooltipPosition_accessor_storage","_inputRangeEl","_SliderInput__inputRangeEl_accessor_storage","_inputEl","_SliderInput__inputEl_accessor_storage","render","styles","length","tickCount","Math","floor","html","name","_handleDecrease","unsafeSVG","squiggleThin","classMap","toString","ifDefined","e","_handleInput","_showTooltip","_hideTooltip","_renderTickMarker","_renderScaleMarker","_renderCustomLabel","_renderTooltip","_handleIncrease","squiggleThick","_renderEditableInput","_isInvalid","errorIcon","invalidText","_internalValidationMsg","Array","from","map","_","index","tickPosition","midIndex","stepDown","Number","_validate","_emitValue","stepUp","classes","open","_getTooltipPosition","_handleNumberInput","setTimeout","target","_updateTooltipPosition","showTickMark","_a","shadowRoot","querySelector","Detail","origEvent","event","CustomEvent","detail","dispatchEvent","knobOffset","percentage","clampedValue","ticks","_b","querySelectorAll","forEach","tick","tickStyleLeft","style","left","tickPercentage","parseFloat","match","isFilled","classList","toggle","remove","valueAtTick","round","abs","background","add","interacted","report","Validity","validity","customError","ValidationMessage","validationMessage","_internals","setValidity","reportValidity","updated","changedProps","keys","every","prop","includes","_onUpdated","has","willUpdate","deepmerge","set","__runInitializers","_label_initializers","_label_extraInitializers","_value_initializers","_value_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_caption_initializers","_caption_extraInitializers","_max_initializers","_max_extraInitializers","_min_initializers","_min_extraInitializers","_step_initializers","_step_extraInitializers","_hideLabel_initializers","_hideLabel_extraInitializers","_enableTickMarker_initializers","_enableTickMarker_extraInitializers","_enableScaleMarker_initializers","_enableScaleMarker_extraInitializers","_editableInput_initializers","_editableInput_extraInitializers","_textStrings_initializers","_textStrings_extraInitializers","_customLabels_initializers","_customLabels_extraInitializers","_enableTooltip_initializers","_enableTooltip_extraInitializers","_enableButtonControls_initializers","_enableButtonControls_extraInitializers","__textStrings_initializers","__textStrings_extraInitializers","_tooltipVisible_initializers","_tooltipVisible_extraInitializers","_tooltipPosition_initializers","_tooltipPosition_extraInitializers","__inputRangeEl_initializers","__inputRangeEl_extraInitializers","__inputEl_initializers","_label_decorators","property","type","String","_value_decorators","_disabled_decorators","Boolean","_caption_decorators","_max_decorators","_min_decorators","_step_decorators","_hideLabel_decorators","_enableTickMarker_decorators","_enableScaleMarker_decorators","_editableInput_decorators","_textStrings_decorators","Object","_customLabels_decorators","_enableTooltip_decorators","_enableButtonControls_decorators","__textStrings_decorators","state","_tooltipVisible_decorators","_tooltipPosition_decorators","query","__esDecorate","kind","static","private","access","obj","get","metadata","_metadata","__inputRangeEl_decorators","__inputEl_decorators","__inputEl_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","unsafeCSS","Styles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sliderInput.js","sources":["../../../../src/components/reusable/sliderInput/sliderInput.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport Styles from './sliderInput.scss?inline';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport '../button';\nimport { deepmerge } from 'deepmerge-ts';\n\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/error-filled.svg';\n\nimport squiggleThin from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/squiggle.svg';\nimport squiggleThick from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/squiggle-thick.svg';\n\nconst _defaultTextStrings = {\n error: 'Error',\n decrease: 'Decrease',\n increase: 'Increase',\n};\n\n/**\n * Slider Input.\n * @fires on-input - Captures the input event and emits the selected value and original event details.\n * @prop {number} min - The minimum value.\n * @prop {number} max - The maximum value.\n * @prop {number} step - The step between values.\n * @slot tooltip - Slot for tooltip.\n * @slot leftBtnIcon - Slot for left button icon.\n * @slot rightBtnIcon - Slot for right button icon.\n *\n */\n@customElement('kyn-slider-input')\nexport class SliderInput extends FormMixin(LitElement) {\n static override styles = unsafeCSS(Styles);\n\n /** Label text. */\n @property({ type: String })\n accessor label = '';\n\n /** Input value. */\n override value = 0;\n\n /** Input disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Optional text beneath the input. */\n @property({ type: String })\n accessor caption = '';\n\n /** Maximum value. */\n @property({ type: Number })\n accessor max = 100;\n\n /** Minimum value. */\n @property({ type: Number })\n accessor min = 0;\n\n /** The step between values */\n @property({ type: Number })\n accessor step = 1;\n\n /** Visually hide the label. */\n @property({ type: Boolean })\n accessor hideLabel = false;\n\n /** Set this to `true` for enable Tick Marker on slider. */\n @property({ type: Boolean })\n accessor enableTickMarker = false;\n\n /** Set this to `true` for enable Scale Marker below slider */\n @property({ type: Boolean })\n accessor enableScaleMarker = false;\n\n /** Set this to `true` for editable Input. Note: Enabling this property will disable the tooltip. */\n @property({ type: Boolean })\n accessor editableInput = false;\n\n /** Customizable text strings. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Custom Labels */\n @property({ type: Array })\n accessor customLabels: string[] = [];\n\n /** Set this to `true` for enable Tooltip. */\n @property({ type: Boolean })\n accessor enableTooltip = false;\n\n /** Set this to `true` for button controls. */\n @property({ type: Boolean })\n accessor enableButtonControls = false;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /**Tooltip open state.\n * @internal\n */\n @state()\n accessor tooltipVisible = false;\n\n /**Tooltip position.\n * @internal\n */\n @state()\n accessor tooltipPosition = '';\n\n /**\n * Queries the <input> DOM element.\n * @ignore\n */\n @query('input[type=\"range\"]')\n accessor _inputRangeEl!: HTMLInputElement;\n\n /**\n * Queries the <input> DOM element.\n * @ignore\n */\n @query('input[type=\"number\"]')\n accessor _inputEl!: HTMLInputElement;\n\n override render() {\n // Calculate the number of ticks based on the step, min, and max values\n const styles = {\n 'slider-wrapper': true,\n 'mb-30': this.customLabels.length > 0 || this.enableScaleMarker,\n };\n\n const tickCount = Math.floor((this.max - this.min) / this.step);\n return html`\n <div class=\"text-input\" ?disabled=${this.disabled}>\n <label\n class=\"label-text ${this.hideLabel ? 'sr-only' : ''}\"\n for=${this.name}\n >\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </label>\n <div class=\"slider-container\">\n${\n this.enableButtonControls\n ? html`\n <kyn-button\n class=\"left_button\"\n kind=\"outline\"\n size=\"small\"\n ?disabled=${this.disabled || this.value <= this.min}\n description=${this._textStrings.decrease}\n @on-click=${this._handleDecrease}\n >\n <span slot=\"icon\"\n ><slot name=\"leftBtnIcon\">${unsafeSVG(squiggleThin)}</slot></span\n >\n </kyn-button>\n `\n : null\n}\n <div class=\"${classMap(styles)}\">\n <input\n type=\"range\"\n id=${this.name}\n name=${this.name}\n value=${this.value.toString()}\n ?disabled=${this.disabled}\n step=${ifDefined(this.step)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n aria-label=\"slider range input\"\n aria-valuetext=${this.value.toString()}\n aria-valuemin=${ifDefined(this.min)}\n aria-valuemax=${ifDefined(this.max)}\n aria-valuenow=${this.value.toString()}\n @input=${(e: any) => this._handleInput(e)}\n @focus=${() => this._showTooltip()}\n @blur=${() => this._hideTooltip()}\n @mousedown=${() => this._showTooltip()}\n @pointerdown=${() => this._showTooltip()}\n @mouseup=${() => this._hideTooltip()}\n />\n\n ${this.enableTickMarker ? this._renderTickMarker(tickCount) : null}\n ${this.enableScaleMarker ? this._renderScaleMarker(tickCount) : null}\n ${this.customLabels.length > 0 ? this._renderCustomLabel() : null}\n ${\n this.enableTooltip && !this.editableInput\n ? this._renderTooltip()\n : null\n }\n </div>\n${\n this.enableButtonControls\n ? html`\n <kyn-button\n class=\"right_button\"\n kind=\"outline\"\n size=\"small\"\n ?disabled=${this.disabled || this.value >= this.max}\n description=${this._textStrings.increase}\n @on-click=${this._handleIncrease}\n >\n <span slot=\"icon\"\n ><slot name=\"rightBtnIcon\">${unsafeSVG(squiggleThick)}</slot></span\n >\n </kyn-button>\n `\n : null\n}\n ${this.editableInput ? this._renderEditableInput() : null}\n\n </div>\n ${\n this.caption !== ''\n ? html`\n <div class=\"caption\" aria-disabled=${this.disabled}>\n ${this.caption}\n </div>\n `\n : null\n }\n ${\n this._isInvalid\n ? html`\n <div id=\"error\" class=\"error\">\n <span\n role=\"img\"\n class=\"error-icon\"\n aria-label=${this._textStrings.error}\n >${unsafeSVG(errorIcon)}</span\n >\n ${this.invalidText || this._internalValidationMsg}\n </div>\n `\n : null\n }\n\n </div>\n </div>\n </div>\n `;\n }\n\n //render TickMarker Html\n private _renderTickMarker(tickCount: any) {\n return html`\n <div class=\"tick-wrapper\">\n ${Array.from({ length: tickCount + 1 }).map((_, index) => {\n const tickPosition =\n index === tickCount ? '100%' : (index * 100) / tickCount + '%';\n const midIndex = Math.floor(tickCount / 2);\n const maxOffset = 12; // Maximum offset in pixels, --thumb-height/2\n const offset =\n index <= midIndex\n ? maxOffset - (index * maxOffset) / midIndex // Decrease offset proportionally until mid\n : -((index - midIndex) * maxOffset) / midIndex; //Decrease offset negatively\n\n return html`\n <div\n class=\"tick\"\n style=\"left: calc(${tickPosition} + ${offset}px);\"\n ></div>\n `;\n })}\n </div>\n `;\n }\n\n // Handle left/decrease button click\n private _handleDecrease() {\n this._inputRangeEl.stepDown();\n this.value = Number(this._inputRangeEl.value);\n\n this._validate(true, false);\n this._emitValue();\n }\n\n // Handle right/increase button click\n private _handleIncrease() {\n this._inputRangeEl.stepUp();\n this.value = Number(this._inputRangeEl.value);\n\n this._validate(true, false);\n this._emitValue();\n }\n\n //render CustomLabel Html\n private _renderCustomLabel() {\n return html`\n <div class=\"scale-wrapper\">\n ${this.customLabels.map((label, _) => {\n return html` <span class=\"scale-wrapper__ticks\">${label}</span> `;\n })}\n </div>\n `;\n }\n\n //render ScaleMarker Html\n private _renderScaleMarker(tickCount: any) {\n return html`\n <div class=\"scale-wrapper\">\n ${Array.from({ length: tickCount + 1 }).map((_, index) => {\n const midIndex = Math.floor(tickCount / 2);\n const label = this.min + index * this.step;\n const isMin = index === 0;\n const isMax = index === tickCount;\n const isMid = index === midIndex;\n const displayLabel = isMin || isMid || isMax ? label : '';\n return html`\n <span class=\"scale-wrapper__ticks\">${displayLabel}</span>\n `;\n })}\n </div>\n `;\n }\n\n //render Tooltip Html\n private _renderTooltip() {\n if (!this.enableTooltip) {\n return null; // Do not render the tooltip if disabled\n }\n const classes = {\n 'slider-tooltip': true,\n open: this.tooltipVisible,\n };\n return html` <div\n role=\"tooltip\"\n class=\"${classMap(classes)}\"\n aria-hidden=${!this.tooltipVisible}\n style=\"left: ${this._getTooltipPosition()}\"\n >\n ${this.value}\n </div>`;\n }\n\n //render EditableInput Html\n private _renderEditableInput() {\n return html`\n <div class=\"number-input\">\n <input\n type=\"number\"\n value=${this.value.toString()}\n id=\"editableInput\"\n name=\"editableInput\"\n ?disabled=${this.disabled}\n aria-label=\"editable range input\"\n ?invalid=${this._isInvalid}\n aria-invalid=${this._isInvalid}\n aria-describedby=${this._isInvalid ? 'error' : ''}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n step=${ifDefined(this.step)}\n @input=${(e: any) => this._handleNumberInput(e)}\n />\n </div>\n `;\n }\n\n // Handle show the tooltip\n private _showTooltip() {\n if (!this.disabled) {\n this.tooltipVisible = true;\n }\n }\n\n // Handle hide the tooltip\n private _hideTooltip() {\n setTimeout(() => {\n this.tooltipVisible = false;\n }, 100);\n }\n\n private _handleInput(e: any) {\n if (e.target.value === '') {\n this._inputRangeEl.value = '0';\n } else {\n this.value = Number(e.target.value);\n }\n if (!this.editableInput) {\n this._updateTooltipPosition();\n }\n if (this.enableTickMarker) {\n this.showTickMark();\n }\n this._emitValue(e);\n const editableInput = this.shadowRoot?.querySelector(\n 'input[type=\"number\"]'\n );\n if (editableInput) {\n (editableInput as HTMLInputElement).value = this.value.toString();\n }\n this._validate(true, false);\n }\n\n private _handleNumberInput(e: any) {\n if (e.target.value === '') {\n this.value = 0;\n this._inputEl.value = '0';\n } else {\n this.value = Number(e.target.value);\n }\n this._validate(true, false);\n this._emitValue(e);\n }\n\n private _emitValue(e?: any) {\n const Detail: any = {\n value: this.value,\n };\n if (e) {\n Detail.origEvent = e;\n }\n\n const event = new CustomEvent('on-input', {\n detail: Detail,\n });\n this.dispatchEvent(event);\n }\n\n // Get tooltip position\n private _getTooltipPosition() {\n return this.tooltipPosition;\n }\n\n private _updateTooltipPosition() {\n const inputEl = this.shadowRoot?.querySelector(\n 'input[type=\"range\"]'\n ) as HTMLInputElement;\n if (!inputEl) return;\n const min = this.min;\n const max = this.max;\n const value = Number(this._inputRangeEl.value);\n const positionRatio = (value - this.min) / (this.max - this.min);\n const knobOffset = 24 * (positionRatio - 0.5) * -1; // knob width 24\n const percentage = Math.floor(((value - min) * 100) / (max - min));\n this.tooltipPosition = `calc(${percentage}% + (${knobOffset}px))`;\n }\n\n private showTickMark() {\n const inputEl = this.shadowRoot?.querySelector(\n 'input[type=\"range\"]'\n ) as HTMLInputElement;\n if (!inputEl) return;\n const min = this.min;\n const max = this.max;\n const step = this.step;\n const value = Number(this._inputRangeEl.value);\n const clampedValue = Math.min(Math.max(value, min), max);\n // Ensure value is clamped within the valid range\n const ticks = this.shadowRoot?.querySelectorAll('.tick');\n ticks?.forEach((tick: any) => {\n // Get the tick's percentage position from its style\n const tickStyleLeft = tick.style.left;\n const tickPercentage = parseFloat(\n tickStyleLeft.match(/([\\d.]+)%/)?.[1] ?? '0'\n );\n\n // Calculate the current thumb position as a percentage\n const thumbPercentage = ((clampedValue - min) / (max - min)) * 100;\n\n // Compare the tick's position with the thumb's position\n const isFilled = tickPercentage <= thumbPercentage;\n tick.classList.toggle('tick-filled', isFilled);\n tick.classList.toggle('tick-unfilled', !isFilled);\n tick.classList.remove('tick-OnKnob');\n\n const tickStepPosition = Math.round(tickPercentage); // Round to avoid floating point precision issues\n const valueAtTick = (tickStepPosition * (max - min)) / 100 + min;\n if (Math.abs(value - valueAtTick) < step / 2) {\n // Thumb is exactly on a tick\n if (this.disabled) {\n tick.style.background = 'none';\n } else {\n tick.classList.add('tick-OnKnob');\n tick.classList.remove('tick-filled', 'tick-unfilled');\n tick.style.background = '';\n }\n }\n });\n }\n\n private _validate(interacted: Boolean, report: Boolean) {\n // get validity state from inputEl, combine customError flag if invalidText is provided\n if (!this._inputEl) return;\n const Validity =\n this.invalidText !== ''\n ? { ...this._inputEl.validity, customError: true }\n : this._inputEl.validity;\n // set validationMessage to invalidText if present, otherwise use inputEl validationMessage\n const ValidationMessage =\n this.invalidText !== ''\n ? this.invalidText\n : this._inputEl.validationMessage;\n\n // set validity on custom element, anchor to inputEl\n this._internals.setValidity(Validity, ValidationMessage, this._inputEl);\n\n // set internal validation message if value was changed by user input\n if (interacted) {\n this._internalValidationMsg = this._inputEl.validationMessage;\n }\n\n // focus the form field to show validity\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n override updated(changedProps: any) {\n // preserve FormMixin updated function\n //skip update if internal properties have changed\n const onlyInternalChanges = [...changedProps.keys()].every((prop) =>\n ['tooltipVisible', 'tooltipPosition', '_internalValidationMsg'].includes(\n prop\n )\n );\n if (onlyInternalChanges) return;\n this._onUpdated(changedProps);\n if (\n changedProps.has('value') ||\n changedProps.has('min') ||\n changedProps.has('max') ||\n changedProps.has('step') ||\n changedProps.has('enableTicksOnSlider') ||\n changedProps.has('disabled')\n ) {\n this._inputRangeEl.value = this.value.toString();\n if (this._inputEl) {\n this._inputEl.value = this.value.toString();\n }\n this.showTickMark();\n this._updateTooltipPosition();\n }\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-slider-input': SliderInput;\n }\n}\n"],"names":["_defaultTextStrings","error","decrease","increase","SliderInput","customElement","FormMixin","LitElement","_classThis","_classSuper","label","__classPrivateFieldGet","this","_SliderInput_label_accessor_storage","value","__classPrivateFieldSet","disabled","_SliderInput_disabled_accessor_storage","caption","_SliderInput_caption_accessor_storage","max","_SliderInput_max_accessor_storage","min","_SliderInput_min_accessor_storage","step","_SliderInput_step_accessor_storage","hideLabel","_SliderInput_hideLabel_accessor_storage","enableTickMarker","_SliderInput_enableTickMarker_accessor_storage","enableScaleMarker","_SliderInput_enableScaleMarker_accessor_storage","editableInput","_SliderInput_editableInput_accessor_storage","textStrings","_SliderInput_textStrings_accessor_storage","customLabels","_SliderInput_customLabels_accessor_storage","enableTooltip","_SliderInput_enableTooltip_accessor_storage","enableButtonControls","_SliderInput_enableButtonControls_accessor_storage","_textStrings","_SliderInput__textStrings_accessor_storage","tooltipVisible","_SliderInput_tooltipVisible_accessor_storage","tooltipPosition","_SliderInput_tooltipPosition_accessor_storage","_inputRangeEl","_SliderInput__inputRangeEl_accessor_storage","_inputEl","_SliderInput__inputEl_accessor_storage","render","styles","length","tickCount","Math","floor","html","name","_handleDecrease","unsafeSVG","squiggleThin","classMap","toString","ifDefined","e","_handleInput","_showTooltip","_hideTooltip","_renderTickMarker","_renderScaleMarker","_renderCustomLabel","_renderTooltip","_handleIncrease","squiggleThick","_renderEditableInput","_isInvalid","errorIcon","invalidText","_internalValidationMsg","Array","from","map","_","index","tickPosition","midIndex","stepDown","Number","_validate","_emitValue","stepUp","classes","open","_getTooltipPosition","_handleNumberInput","setTimeout","target","_updateTooltipPosition","showTickMark","_a","shadowRoot","querySelector","Detail","origEvent","event","CustomEvent","detail","dispatchEvent","knobOffset","percentage","clampedValue","ticks","_b","querySelectorAll","forEach","tick","tickStyleLeft","style","left","tickPercentage","parseFloat","match","isFilled","classList","toggle","remove","valueAtTick","round","abs","background","add","interacted","report","Validity","validity","customError","ValidationMessage","validationMessage","_internals","setValidity","reportValidity","updated","changedProps","keys","every","prop","includes","_onUpdated","has","willUpdate","deepmerge","set","__runInitializers","_label_initializers","_label_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_caption_initializers","_caption_extraInitializers","_max_initializers","_max_extraInitializers","_min_initializers","_min_extraInitializers","_step_initializers","_step_extraInitializers","_hideLabel_initializers","_hideLabel_extraInitializers","_enableTickMarker_initializers","_enableTickMarker_extraInitializers","_enableScaleMarker_initializers","_enableScaleMarker_extraInitializers","_editableInput_initializers","_editableInput_extraInitializers","_textStrings_initializers","_textStrings_extraInitializers","_customLabels_initializers","_customLabels_extraInitializers","_enableTooltip_initializers","_enableTooltip_extraInitializers","_enableButtonControls_initializers","_enableButtonControls_extraInitializers","__textStrings_initializers","__textStrings_extraInitializers","_tooltipVisible_initializers","_tooltipVisible_extraInitializers","_tooltipPosition_initializers","_tooltipPosition_extraInitializers","__inputRangeEl_initializers","__inputRangeEl_extraInitializers","__inputEl_initializers","_label_decorators","property","type","String","_disabled_decorators","Boolean","_caption_decorators","_max_decorators","_min_decorators","_step_decorators","_hideLabel_decorators","_enableTickMarker_decorators","_enableScaleMarker_decorators","_editableInput_decorators","_textStrings_decorators","Object","_customLabels_decorators","_enableTooltip_decorators","_enableButtonControls_decorators","__textStrings_decorators","state","_tooltipVisible_decorators","_tooltipPosition_decorators","query","__esDecorate","kind","static","private","access","obj","get","metadata","_metadata","__inputRangeEl_decorators","__inputEl_decorators","__inputEl_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","unsafeCSS","Styles"],"mappings":"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"}
|
|
@@ -245,7 +245,7 @@ span {
|
|
|
245
245
|
.kyn-split-btn--secondary {
|
|
246
246
|
background-color: transparent;
|
|
247
247
|
color: var(--kd-color-text-button-light-secondary);
|
|
248
|
-
border: 1px solid var(--kd-color-border-button-
|
|
248
|
+
border: 1px solid var(--kd-color-border-button-primary-state-default);
|
|
249
249
|
}
|
|
250
250
|
.kyn-split-btn--secondary-icon {
|
|
251
251
|
border-width: 1px 1px 1px 0.5px;
|