@kyndryl-design-system/shidoka-applications 2.9.0 → 2.9.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/components/reusable/card/card.d.ts +2 -0
- package/components/reusable/card/card.d.ts.map +1 -1
- package/components/reusable/card/card.js +13 -5
- package/components/reusable/card/card.js.map +1 -1
- package/components/reusable/datePicker/datepicker.d.ts +4 -0
- package/components/reusable/datePicker/datepicker.d.ts.map +1 -1
- package/components/reusable/datePicker/datepicker.js +4 -4
- package/components/reusable/datePicker/datepicker.js.map +1 -1
- package/components/reusable/daterangepicker/daterangepicker.d.ts +4 -0
- package/components/reusable/daterangepicker/daterangepicker.d.ts.map +1 -1
- package/components/reusable/daterangepicker/daterangepicker.js +2 -2
- package/components/reusable/daterangepicker/daterangepicker.js.map +1 -1
- package/components/reusable/modal/modal.d.ts +1 -0
- package/components/reusable/modal/modal.d.ts.map +1 -1
- package/components/reusable/modal/modal.js.map +1 -1
- package/components/reusable/notification/notification.d.ts.map +1 -1
- package/components/reusable/notification/notification.js +7 -21
- package/components/reusable/notification/notification.js.map +1 -1
- package/components/reusable/table/table-cell.d.ts +1 -1
- package/components/reusable/table/table-cell.js.map +1 -1
- package/components/reusable/table/table-header.d.ts +1 -1
- package/components/reusable/table/table-header.js.map +1 -1
- package/components/reusable/timepicker/timepicker.d.ts +4 -0
- package/components/reusable/timepicker/timepicker.d.ts.map +1 -1
- package/components/reusable/timepicker/timepicker.js +7 -7
- package/components/reusable/timepicker/timepicker.js.map +1 -1
- package/package.json +1 -1
|
@@ -16,6 +16,8 @@ export declare class Card extends LitElement {
|
|
|
16
16
|
target: any;
|
|
17
17
|
/** Hide card border. Useful when clickable card use inside `<kyn-notification>` component. */
|
|
18
18
|
hideBorder: boolean;
|
|
19
|
+
/** Set this to `true` for highlight */
|
|
20
|
+
highlight: boolean;
|
|
19
21
|
render(): import("lit").TemplateResult<1>;
|
|
20
22
|
private handleClick;
|
|
21
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/card/card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAMvC;;;;GAIG;AAEH,qBACa,IAAK,SAAQ,UAAU;IAClC,OAAgB,MAAM,MAAY;IAElC,4CAA4C;IAE5C,IAAI,SAAY;IAEhB,yCAAyC;IAEzC,IAAI,SAAM;IAEV,sKAAsK;IAEtK,GAAG,SAAM;IAET,sKAAsK;IAEtK,MAAM,EAAE,GAAG,CAAW;IAEtB,8FAA8F;IAE9F,UAAU,UAAS;
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/card/card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAMvC;;;;GAIG;AAEH,qBACa,IAAK,SAAQ,UAAU;IAClC,OAAgB,MAAM,MAAY;IAElC,4CAA4C;IAE5C,IAAI,SAAY;IAEhB,yCAAyC;IAEzC,IAAI,SAAM;IAEV,sKAAsK;IAEtK,GAAG,SAAM;IAET,sKAAsK;IAEtK,MAAM,EAAE,GAAG,CAAW;IAEtB,8FAA8F;IAE9F,UAAU,UAAS;IAEnB,uCAAuC;IAEvC,SAAS,UAAS;IAET,MAAM;IA+Bf,OAAO,CAAC,WAAW;CAMpB;AACD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,IAAI,CAAC;KAClB;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as r}from"../../../vendor/tslib-53a81efe.js";import{n as
|
|
1
|
+
import{_ as r}from"../../../vendor/tslib-53a81efe.js";import{n as o,o as e,e as t}from"../../../vendor/lit-6e2a7867.js";import{i,s as a,x as d}from"../../../vendor/lit-element-3185f710.js";var l=i`*,
|
|
2
2
|
*::before,
|
|
3
3
|
*::after {
|
|
4
4
|
box-sizing: border-box;
|
|
@@ -64,16 +64,24 @@ import{_ as r}from"../../../vendor/tslib-53a81efe.js";import{n as e,o,e as t}fro
|
|
|
64
64
|
.card-border {
|
|
65
65
|
outline: 1px solid var(--kd-color-border-level-secondary);
|
|
66
66
|
box-shadow: var(--kd-elevation-level-1);
|
|
67
|
-
}
|
|
67
|
+
}
|
|
68
|
+
.card-highlight {
|
|
69
|
+
outline: 1px solid var(--kd-color-background-highlight-border);
|
|
70
|
+
background: var(--kd-color-background-highlight-fill);
|
|
71
|
+
color: var(--kd-color-text-level-primary);
|
|
72
|
+
}`;let n=class extends a{constructor(){super(...arguments),this.type="normal",this.href="",this.rel="",this.target="_self",this.hideBorder=!1,this.highlight=!1}render(){const r={"card-wrapper-clickable":!0,"card-border":!1===this.hideBorder,"card-highlight":this.highlight},o={"card-wrapper":!0,"card-highlight":this.highlight};return d`${"clickable"===this.type?d`<a
|
|
68
73
|
part="card-wrapper"
|
|
69
|
-
class="${
|
|
74
|
+
class="${e(r)}"
|
|
70
75
|
href=${this.href}
|
|
71
76
|
target=${this.target}
|
|
72
77
|
rel=${this.rel}
|
|
73
78
|
@click=${r=>this.handleClick(r)}
|
|
74
79
|
>
|
|
75
80
|
<slot></slot>
|
|
76
|
-
</a>`:d`<div
|
|
81
|
+
</a>`:d`<div
|
|
82
|
+
part="card-wrapper"
|
|
83
|
+
class="${e(o)}"
|
|
84
|
+
>
|
|
77
85
|
<slot></slot>
|
|
78
|
-
</div>`} `}handleClick(r){const
|
|
86
|
+
</div>`} `}handleClick(r){const o=new CustomEvent("on-card-click",{detail:{origEvent:r}});this.dispatchEvent(o)}};n.styles=l,r([o({type:String})],n.prototype,"type",void 0),r([o({type:String})],n.prototype,"href",void 0),r([o({type:String})],n.prototype,"rel",void 0),r([o({type:String})],n.prototype,"target",void 0),r([o({type:Boolean})],n.prototype,"hideBorder",void 0),r([o({type:Boolean})],n.prototype,"highlight",void 0),n=r([t("kyn-card")],n);export{n as Card};
|
|
79
87
|
//# sourceMappingURL=card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sources":["../../../../src/components/reusable/card/card.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport CardScss from './card.scss';\n\n/**\n * Card.\n * @fires on-card-click - Captures the click event of clickable card and emits the original event details. Use `e.stopPropogation()` / `e.preventDefault()` for any internal clickable elements when card type is `'clickable'` to stop bubbling / prevent event.\n * @slot unnamed - Slot for card contents.\n */\n\n@customElement('kyn-card')\nexport class Card extends LitElement {\n static override styles = CardScss;\n\n /** Card Type. `'normal'` & `'clickable'` */\n @property({ type: String })\n type = 'normal';\n\n /** Card link url for clickable cards. */\n @property({ type: String })\n href = '';\n\n /** Use for Card type `'clickable'`. Defines a relationship between a linked resource and the document. An empty string (default) means no particular relationship. */\n @property({ type: String })\n rel = '';\n\n /** Defines a target attribute for where to load the URL in case of clickable card. Possible options include `'_self'` (deafult), `'_blank'`, `'_parent`', `'_top'` */\n @property({ type: String })\n target: any = '_self';\n\n /** Hide card border. Useful when clickable card use inside `<kyn-notification>` component. */\n @property({ type: Boolean })\n hideBorder = false;\n\n override render() {\n const cardWrapperClasses = {\n 'card-wrapper-clickable': true,\n 'card-border': this.hideBorder === false,\n };\n\n return html`${this.type === 'clickable'\n ? html`<a\n part=\"card-wrapper\"\n class=\"${classMap(cardWrapperClasses)}\"\n href=${this.href}\n target=${this.target}\n rel=${this.rel}\n @click=${(e: Event) => this.handleClick(e)}\n >\n <slot></slot>\n </a>`\n : html`<div
|
|
1
|
+
{"version":3,"file":"card.js","sources":["../../../../src/components/reusable/card/card.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport CardScss from './card.scss';\n\n/**\n * Card.\n * @fires on-card-click - Captures the click event of clickable card and emits the original event details. Use `e.stopPropogation()` / `e.preventDefault()` for any internal clickable elements when card type is `'clickable'` to stop bubbling / prevent event.\n * @slot unnamed - Slot for card contents.\n */\n\n@customElement('kyn-card')\nexport class Card extends LitElement {\n static override styles = CardScss;\n\n /** Card Type. `'normal'` & `'clickable'` */\n @property({ type: String })\n type = 'normal';\n\n /** Card link url for clickable cards. */\n @property({ type: String })\n href = '';\n\n /** Use for Card type `'clickable'`. Defines a relationship between a linked resource and the document. An empty string (default) means no particular relationship. */\n @property({ type: String })\n rel = '';\n\n /** Defines a target attribute for where to load the URL in case of clickable card. Possible options include `'_self'` (deafult), `'_blank'`, `'_parent`', `'_top'` */\n @property({ type: String })\n target: any = '_self';\n\n /** Hide card border. Useful when clickable card use inside `<kyn-notification>` component. */\n @property({ type: Boolean })\n hideBorder = false;\n\n /** Set this to `true` for highlight */\n @property({ type: Boolean })\n highlight = false;\n\n override render() {\n const cardWrapperClasses = {\n 'card-wrapper-clickable': true,\n 'card-border': this.hideBorder === false,\n 'card-highlight': this.highlight,\n };\n\n const cardWrapperDefaultClasses = {\n 'card-wrapper': true,\n 'card-highlight': this.highlight,\n };\n\n return html`${this.type === 'clickable'\n ? html`<a\n part=\"card-wrapper\"\n class=\"${classMap(cardWrapperClasses)}\"\n href=${this.href}\n target=${this.target}\n rel=${this.rel}\n @click=${(e: Event) => this.handleClick(e)}\n >\n <slot></slot>\n </a>`\n : html`<div\n part=\"card-wrapper\"\n class=\"${classMap(cardWrapperDefaultClasses)}\"\n >\n <slot></slot>\n </div>`} `;\n }\n\n private handleClick(e: Event) {\n const event = new CustomEvent('on-card-click', {\n detail: { origEvent: e },\n });\n this.dispatchEvent(event);\n }\n}\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-card': Card;\n }\n}\n"],"names":["Card","LitElement","constructor","this","type","href","rel","target","hideBorder","highlight","render","cardWrapperClasses","cardWrapperDefaultClasses","html","classMap","e","handleClick","event","CustomEvent","detail","origEvent","dispatchEvent","styles","CardScss","__decorate","property","String","prototype","Boolean","customElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAaO,IAAMA,EAAN,cAAmBC,EAAnB,WAAAC,uBAKLC,KAAIC,KAAG,SAIPD,KAAIE,KAAG,GAIPF,KAAGG,IAAG,GAINH,KAAMI,OAAQ,QAIdJ,KAAUK,YAAG,EAIbL,KAASM,WAAG,CAuCb,CArCU,MAAAC,GACP,MAAMC,EAAqB,CACzB,0BAA0B,EAC1B,eAAmC,IAApBR,KAAKK,WACpB,iBAAkBL,KAAKM,WAGnBG,EAA4B,CAChC,gBAAgB,EAChB,iBAAkBT,KAAKM,WAGzB,OAAOI,CAAI,GAAiB,cAAdV,KAAKC,KACfS,CAAI;;mBAEOC,EAASH;iBACXR,KAAKE;mBACHF,KAAKI;gBACRJ,KAAKG;mBACDS,GAAaZ,KAAKa,YAAYD;;;cAI1CF,CAAI;;mBAEOC,EAASF;;;kBAIzB,CAEO,WAAAI,CAAYD,GAClB,MAAME,EAAQ,IAAIC,YAAY,gBAAiB,CAC7CC,OAAQ,CAAEC,UAAWL,KAEvBZ,KAAKkB,cAAcJ,EACpB,GA9DejB,EAAMsB,OAAGC,EAIzBC,EAAA,CADCC,EAAS,CAAErB,KAAMsB,UACF1B,EAAA2B,UAAA,YAAA,GAIhBH,EAAA,CADCC,EAAS,CAAErB,KAAMsB,UACR1B,EAAA2B,UAAA,YAAA,GAIVH,EAAA,CADCC,EAAS,CAAErB,KAAMsB,UACT1B,EAAA2B,UAAA,WAAA,GAITH,EAAA,CADCC,EAAS,CAAErB,KAAMsB,UACI1B,EAAA2B,UAAA,cAAA,GAItBH,EAAA,CADCC,EAAS,CAAErB,KAAMwB,WACC5B,EAAA2B,UAAA,kBAAA,GAInBH,EAAA,CADCC,EAAS,CAAErB,KAAMwB,WACA5B,EAAA2B,UAAA,iBAAA,GAzBP3B,EAAIwB,EAAA,CADhBK,EAAc,aACF7B"}
|
|
@@ -76,6 +76,8 @@ export declare class DatePicker extends DatePicker_base {
|
|
|
76
76
|
textStrings: {
|
|
77
77
|
requiredText: string;
|
|
78
78
|
clearAll: string;
|
|
79
|
+
pleaseSelectDate: string;
|
|
80
|
+
pleaseSelectValidDate: string;
|
|
79
81
|
};
|
|
80
82
|
/** Internal text strings.
|
|
81
83
|
* @internal
|
|
@@ -83,6 +85,8 @@ export declare class DatePicker extends DatePicker_base {
|
|
|
83
85
|
_textStrings: {
|
|
84
86
|
requiredText: string;
|
|
85
87
|
clearAll: string;
|
|
88
|
+
pleaseSelectDate: string;
|
|
89
|
+
pleaseSelectValidDate: string;
|
|
86
90
|
};
|
|
87
91
|
/** Control flag to prevent Flatpickr from opening when clicking caption, error, label, or warning elements.
|
|
88
92
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAKvD,OAAO,EAEL,UAAU,EAYX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,uBAAuB,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAS3D,KAAK,eAAe,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;;
|
|
1
|
+
{"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as t}from"../../../vendor/tslib-53a81efe.js";import{o as e,n as i,t as a,i as r,e as l}from"../../../vendor/lit-6e2a7867.js";import{i as n,x as o,s}from"../../../vendor/lit-element-3185f710.js";import{FormMixin as d}from"../../../common/mixins/form-input.js";import{o as p}from"../../../vendor/lit-html-29220869.js";import{getPlaceholder as c,injectFlatpickrStyles as h,updateEnableTime as u,initializeSingleAnchorFlatpickr as m,setCalendarAttributes as v,hideEmptyYear as k,getFlatpickrOptions as g,loadLocale as f,emitValue as b,preventFlatpickrOpen as y,handleInputClick as x,handleInputFocus as
|
|
1
|
+
import{_ as t}from"../../../vendor/tslib-53a81efe.js";import{o as e,n as i,t as a,i as r,e as l}from"../../../vendor/lit-6e2a7867.js";import{i as n,x as o,s}from"../../../vendor/lit-element-3185f710.js";import{FormMixin as d}from"../../../common/mixins/form-input.js";import{o as p}from"../../../vendor/lit-html-29220869.js";import{getPlaceholder as c,injectFlatpickrStyles as h,updateEnableTime as u,initializeSingleAnchorFlatpickr as m,setCalendarAttributes as v,hideEmptyYear as k,getFlatpickrOptions as g,loadLocale as f,emitValue as b,preventFlatpickrOpen as y,handleInputClick as x,handleInputFocus as _}from"../../../common/helpers/flatpickr.js";import"../button/button.js";import{c as w}from"../../../shidoka-flatpickr-theme-0e8883f1.js";import{j as z,H as $,I as D}from"../../../vendor/@kyndryl-design-system/shidoka-icons-e426f09b.js";import"../../../vendor/flatpickr-bbd13d61.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var F=n`*,
|
|
2
2
|
*::before,
|
|
3
3
|
*::after {
|
|
4
4
|
box-sizing: border-box;
|
|
@@ -461,7 +461,7 @@ input {
|
|
|
461
461
|
}
|
|
462
462
|
.date-picker__disabled .label-text .required {
|
|
463
463
|
color: var(--kd-color-text-level-disabled);
|
|
464
|
-
}`;const
|
|
464
|
+
}`;const I={requiredText:"Required",clearAll:"Clear",pleaseSelectDate:"Please select a date",pleaseSelectValidDate:"Please select a valid date"};let S=class extends(d(s)){constructor(){super(...arguments),this.label="",this.locale="en",this.dateFormat="Y-m-d",this.defaultDate=null,this.defaultErrorMessage="",this.required=!1,this.size="md",this.value=null,this.warnText="",this.disable=[],this.enable=[],this.mode="single",this.caption="",this.datePickerDisabled=!1,this.twentyFourHourFormat=null,this.minDate="",this.maxDate="",this.errorAriaLabel="",this.errorTitle="",this.warningAriaLabel="",this.warningTitle="",this._enableTime=!1,this._hasInteracted=!1,this.textStrings=I,this._textStrings=I,this._shouldFlatpickrOpen=!1,this._initialized=!1}connectedCallback(){super.connectedCallback(),this.addEventListener("change",this._onChange),this.addEventListener("reset",this._handleFormReset)}render(){var t,i,a,r;const l=`${this.name}-error-message`,n=`${this.name}-warning-message`,s=this.name?`${this.name}-${Math.random().toString(36).slice(2,11)}`:`date-picker-${Math.random().toString(36).slice(2,11)}`,d=null!==(t=this.name)&&void 0!==t?t:"",h=c(this.dateFormat);return o`
|
|
465
465
|
<div class=${e(this.getDatepickerClasses())}>
|
|
466
466
|
<div
|
|
467
467
|
class="label-text"
|
|
@@ -535,7 +535,7 @@ input {
|
|
|
535
535
|
class="error-icon"
|
|
536
536
|
aria-label=${`${this.errorAriaLabel}`||"Error message icon"}
|
|
537
537
|
role="button"
|
|
538
|
-
>${p(
|
|
538
|
+
>${p(D)}</span
|
|
539
539
|
>${this.invalidText||this._internalValidationMsg||this.defaultErrorMessage}
|
|
540
540
|
</div>`:this.warnText?o`<div
|
|
541
541
|
id=${e}
|
|
@@ -547,5 +547,5 @@ input {
|
|
|
547
547
|
@click=${this.preventFlatpickrOpen}
|
|
548
548
|
>
|
|
549
549
|
${this.warnText}
|
|
550
|
-
</div>`:null}getDatepickerClasses(){return{"date-picker":!0,"date-picker__enable-time":this._enableTime,"date-picker__multiple-select":"multiple"===this.mode,"date-picker__disabled":this.datePickerDisabled}}async firstUpdated(t){super.firstUpdated(t),this._initialized||(h(
|
|
550
|
+
</div>`:null}getDatepickerClasses(){return{"date-picker":!0,"date-picker__enable-time":this._enableTime,"date-picker__multiple-select":"multiple"===this.mode,"date-picker__disabled":this.datePickerDisabled}}async firstUpdated(t){super.firstUpdated(t),this._initialized||(h(w.toString()),this._initialized=!0,await this.updateComplete,this.setupAnchor())}updated(t){super.updated(t),(t.has("dateFormat")||t.has("defaultDate")||t.has("minDate")||t.has("maxDate")||t.has("locale")||t.has("twentyFourHourFormat"))&&(this._enableTime=u(this.dateFormat),this.flatpickrInstance&&this._initialized&&this.updateFlatpickrOptions()),t.has("datePickerDisabled")&&this.datePickerDisabled&&this.flatpickrInstance&&this.flatpickrInstance.close()}async reinitializeFlatpickr(){this._initialized&&this.flatpickrInstance&&(this.flatpickrInstance.destroy(),await this.initializeFlatpickr())}async setupAnchor(){this._inputEl&&await this.initializeFlatpickr()}_handleClear(t){t.preventDefault(),t.stopPropagation(),this.value="multiple"===this.mode?[]:null,this.defaultDate="multiple"===this.mode?[]:null,this.flatpickrInstance&&this.flatpickrInstance.clear(),this._inputEl&&(this._inputEl.value=""),this.reinitializeFlatpickr(),this._validate(!0,!1),this.requestUpdate()}async initializeFlatpickr(){this._inputEl&&(this.flatpickrInstance&&this.flatpickrInstance.destroy(),this.flatpickrInstance=await m({inputEl:this._inputEl,getFlatpickrOptions:()=>this.getComponentFlatpickrOptions(),setCalendarAttributes:t=>{const e=!!this.closest("kyn-modal");v(t,e),t.calendarContainer.setAttribute("aria-label","Date picker")},setInitialDates:this.setInitialDates.bind(this)}),k(),this._validate(!1,!1))}async updateFlatpickrOptions(){if(!this.flatpickrInstance)return;const t=await this.getComponentFlatpickrOptions()||{};Object.keys(t).forEach((e=>{this.flatpickrInstance.config&&e in this.flatpickrInstance.config&&this.flatpickrInstance.set(e,t[e])})),this.flatpickrInstance.redraw(),setTimeout((()=>{this.flatpickrInstance&&this.flatpickrInstance.calendarContainer?(v(this.flatpickrInstance),this.flatpickrInstance.calendarContainer.setAttribute("aria-label","Date picker")):console.warn("Calendar container not available...")}),0)}setInitialDates(){if(this.flatpickrInstance)try{if(this.defaultDate)if(Array.isArray(this.defaultDate)){const t=this.defaultDate.filter((t=>t&&""!==t)).map((t=>{const e=new Date(t);return isNaN(e.getTime())?null:e})).filter((t=>null!==t));t.length>0&&(this.value="multiple"===this.mode?t:t[0],this.flatpickrInstance.setDate(t,!1))}else{const t=new Date(this.defaultDate);isNaN(t.getTime())||(this.value=t,this.flatpickrInstance.setDate([t],!1))}else if(this.value){const t=(Array.isArray(this.value)?this.value:[this.value]).filter((t=>t instanceof Date&&!isNaN(t.getTime())));t.length>0&&this.flatpickrInstance.setDate(t,!1)}}catch(t){console.warn("Error setting initial dates:",t)}}async getComponentFlatpickrOptions(){var t,e;const i=this.closest("kyn-modal"),a=i||document.body;return g({locale:this.locale,dateFormat:this.dateFormat,defaultDate:null!==(t=this.defaultDate)&&void 0!==t?t:void 0,enableTime:this._enableTime,twentyFourHourFormat:null!==(e=this.twentyFourHourFormat)&&void 0!==e?e:void 0,inputEl:this._inputEl,minDate:this.minDate,maxDate:this.maxDate,enable:this.enable,disable:this.disable,mode:this.mode,closeOnSelect:!("multiple"===this.mode||this._enableTime),loadLocale:f,onOpen:this.handleOpen.bind(this),onClose:this.handleClose.bind(this),onChange:this.handleDateChange.bind(this),appendTo:a})}handleOpen(){var t;this._shouldFlatpickrOpen||(null===(t=this.flatpickrInstance)||void 0===t||t.close(),this._shouldFlatpickrOpen=!0)}async handleClose(){this._hasInteracted=!0,this._validate(!0,!1),await this.updateComplete}async handleDateChange(t,e){var i;let a;this._hasInteracted=!0,"multiple"===this.mode?this.value=t.length>0?[...t]:null:this.value=t.length>0?t[0]:null,a=Array.isArray(this.value)?this.value.map((t=>t.toISOString())):this.value instanceof Date?this.value.toISOString():null,b(this,"on-change",{dates:a,dateString:(null===(i=this._inputEl)||void 0===i?void 0:i.value)||e}),this._validate(!0,!1),await this.updateComplete}setShouldFlatpickrOpen(t){this._shouldFlatpickrOpen=t}closeFlatpickr(){var t;null===(t=this.flatpickrInstance)||void 0===t||t.close()}preventFlatpickrOpen(t){y(t,this.setShouldFlatpickrOpen.bind(this))}handleInputClickEvent(){x(this.setShouldFlatpickrOpen.bind(this))}handleInputFocusEvent(){_(this._shouldFlatpickrOpen,this.closeFlatpickr.bind(this),this.setShouldFlatpickrOpen.bind(this))}_validate(t,e){if(!(this._inputEl&&this._inputEl instanceof HTMLInputElement))return;t&&(this._hasInteracted=!0);const i=!this._inputEl.value.trim(),a=this.required;let r=this._inputEl.validity,l=this._inputEl.validationMessage;a&&i&&(r={...r,valueMissing:!0},l=this.defaultErrorMessage||this._textStrings.pleaseSelectDate),this.invalidText&&(r={...r,customError:!0},l=this.invalidText);const n=!r.valueMissing&&!r.customError;n||l||(l=this._textStrings.pleaseSelectValidDate),this._internals.setValidity(r,l,this._inputEl),this._isInvalid=!n&&(this._hasInteracted||""!==this.invalidText),this._internalValidationMsg=l,e&&this._internals.reportValidity(),this.requestUpdate()}_onChange(){this._validate(!0,!1)}_handleFormReset(){this.value=null,this.flatpickrInstance&&this.flatpickrInstance.clear(),this._hasInteracted=!1,this._validate(!1,!1)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",this._onChange),this.removeEventListener("reset",this._handleFormReset),this.flatpickrInstance&&(this.flatpickrInstance.destroy(),this.flatpickrInstance=void 0)}};S.styles=[F,w],t([i({type:String})],S.prototype,"label",void 0),t([i({type:String})],S.prototype,"locale",void 0),t([i({type:String})],S.prototype,"dateFormat",void 0),t([i({type:Array})],S.prototype,"defaultDate",void 0),t([i({type:String})],S.prototype,"defaultErrorMessage",void 0),t([i({type:Boolean})],S.prototype,"required",void 0),t([i({type:String})],S.prototype,"size",void 0),t([i({type:Array})],S.prototype,"value",void 0),t([i({type:String})],S.prototype,"warnText",void 0),t([i({type:Array})],S.prototype,"disable",void 0),t([i({type:Array})],S.prototype,"enable",void 0),t([i({type:String})],S.prototype,"mode",void 0),t([i({type:String})],S.prototype,"caption",void 0),t([i({type:Boolean})],S.prototype,"datePickerDisabled",void 0),t([i({type:Boolean})],S.prototype,"twentyFourHourFormat",void 0),t([i({type:String})],S.prototype,"minDate",void 0),t([i({type:String})],S.prototype,"maxDate",void 0),t([i({type:String})],S.prototype,"errorAriaLabel",void 0),t([i({type:String})],S.prototype,"errorTitle",void 0),t([i({type:String})],S.prototype,"warningAriaLabel",void 0),t([i({type:String})],S.prototype,"warningTitle",void 0),t([a()],S.prototype,"_enableTime",void 0),t([a()],S.prototype,"_hasInteracted",void 0),t([a()],S.prototype,"flatpickrInstance",void 0),t([r("input")],S.prototype,"_inputEl",void 0),t([i({type:Object})],S.prototype,"textStrings",void 0),t([a()],S.prototype,"_textStrings",void 0),t([a()],S.prototype,"_shouldFlatpickrOpen",void 0),S=t([l("kyn-date-picker")],S);export{S as DatePicker};
|
|
551
551
|
//# sourceMappingURL=datepicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker.js","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"sourcesContent":["import { html, LitElement, PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport {\n injectFlatpickrStyles,\n langsArray,\n initializeSingleAnchorFlatpickr,\n getFlatpickrOptions,\n getPlaceholder,\n preventFlatpickrOpen,\n handleInputClick,\n handleInputFocus,\n updateEnableTime,\n setCalendarAttributes,\n loadLocale,\n emitValue,\n hideEmptyYear,\n} from '../../../common/helpers/flatpickr';\nimport '../../reusable/button';\n\nimport flatpickr from 'flatpickr';\nimport { BaseOptions } from 'flatpickr/dist/types/options';\n\nimport DatePickerStyles from './datepicker.scss';\nimport ShidokaFlatpickrTheme from '../../../common/scss/shidoka-flatpickr-theme.scss';\n\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-filled.svg';\nimport calendarIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/24/calendar.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/20/close-simple.svg';\n\ntype SupportedLocale = (typeof langsArray)[number];\n\nconst _defaultTextStrings = {\n requiredText: 'Required',\n clearAll: 'Clear',\n};\n\n/**\n * Datepicker: uses Flatpickr's datetime picker library -- `https://flatpickr.js.org`\n * @fires on-change - Captures the input event and emits the selected value and original event details.\n * @slot tooltip - Slot for tooltip.\n */\n@customElement('kyn-date-picker')\nexport class DatePicker extends FormMixin(LitElement) {\n static override styles = [DatePickerStyles, ShidokaFlatpickrTheme];\n\n /** Label text. */\n @property({ type: String })\n label = '';\n\n /* Sets desired locale and, if supported, dynamically loads language lib */\n @property({ type: String })\n locale: SupportedLocale = 'en';\n\n /** Sets flatpickr value to define how the date will be displayed in the input box (ex: `Y-m-d H:i`). */\n @property({ type: String })\n dateFormat = 'Y-m-d';\n\n /** Sets the initial selected date(s). For multiple mode, provide an array of date strings matching dateFormat. */\n @property({ type: Array })\n defaultDate: string | string[] | null = null;\n\n /** Sets default error message. */\n @property({ type: String })\n defaultErrorMessage = '';\n\n /** Sets datepicker form input value to required/required. */\n @property({ type: Boolean })\n required = false;\n\n /** Input size. \"sm\", \"md\", or \"lg\". */\n @property({ type: String })\n size = 'md';\n\n /** Sets pre-selected date/time value. */\n @property({ type: Array })\n override value: Date | Date[] | null = null;\n\n /** Sets validation warning messaging. */\n @property({ type: String })\n warnText = '';\n\n /** Sets flatpickr options setting to disable specific dates. */\n @property({ type: Array })\n disable: (string | number | Date)[] = [];\n\n /** Sets flatpickr options setting to enable specific dates. */\n @property({ type: Array })\n enable: (string | number | Date)[] = [];\n\n /** Sets flatpickr mode to select single (default), multiple dates. */\n @property({ type: String })\n mode: 'single' | 'multiple' = 'single';\n\n /** Sets caption to be displayed under primary date picker elements. */\n @property({ type: String })\n caption = '';\n\n /** Sets entire datepicker form element to enabled/disabled. */\n @property({ type: Boolean })\n datePickerDisabled = false;\n\n /** Sets 24 hour formatting true/false.\n * Defaults to 12H for all `en-*` locales and 24H for all other locales.\n */\n @property({ type: Boolean })\n twentyFourHourFormat: boolean | null = null;\n\n /** Sets lower boundary of datepicker date selection. */\n @property({ type: String })\n minDate: string | number | Date = '';\n\n /** Sets upper boundary of datepicker date selection. */\n @property({ type: String })\n maxDate: string | number | Date = '';\n\n /** Sets aria label attribute for error message. */\n @property({ type: String })\n errorAriaLabel = '';\n\n /** Sets title attribute for error message. */\n @property({ type: String })\n errorTitle = '';\n\n /** Sets aria label attribute for warning message. */\n @property({ type: String })\n warningAriaLabel = '';\n\n /** Sets title attribute for warning message. */\n @property({ type: String })\n warningTitle = '';\n\n /** Sets flatpickr enableTime value based on detected dateFormat.\n * @internal\n */\n @state()\n private _enableTime = false;\n\n /**\n * Sets whether user has interacted with datepicker for error handling.\n * @internal\n */\n @state()\n private _hasInteracted = false;\n\n /** Flatpickr instantiation.\n * @internal\n */\n @state()\n private flatpickrInstance?: flatpickr.Instance;\n\n /**\n * Queries the anchor DOM element.\n * @internal\n */\n @query('input')\n private _inputEl?: HTMLInputElement;\n\n /** Customizable text strings. */\n @property({ type: Object })\n textStrings = _defaultTextStrings;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n _textStrings = _defaultTextStrings;\n\n /** Control flag to prevent Flatpickr from opening when clicking caption, error, label, or warning elements.\n * @internal\n */\n @state()\n private _shouldFlatpickrOpen = false;\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('change', this._onChange);\n this.addEventListener('reset', this._handleFormReset);\n }\n\n override render() {\n const errorId = `${this.name}-error-message`;\n const warningId = `${this.name}-warning-message`;\n const anchorId = this.name\n ? `${this.name}-${Math.random().toString(36).slice(2, 11)}`\n : `date-picker-${Math.random().toString(36).slice(2, 11)}`;\n const descriptionId = this.name ?? '';\n const placeholder = getPlaceholder(this.dateFormat);\n\n return html`\n <div class=${classMap(this.getDatepickerClasses())}>\n <div\n class=\"label-text\"\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n ?disabled=${this.datePickerDisabled}\n id=${`label-${anchorId}`}\n >\n ${this.required\n ? html`<abbr\n class=\"required\"\n title=${this._textStrings?.requiredText}\n role=\"img\"\n aria-label=${this._textStrings?.requiredText}\n >*</abbr\n >`\n : null}\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </div>\n\n <div class=\"input-wrapper\">\n <input\n class=\"${classMap({\n [`size--${this.size}`]: true,\n 'input-custom': true,\n })}\"\n type=\"text\"\n id=${anchorId}\n name=${this.name}\n placeholder=${placeholder}\n ?disabled=${this.datePickerDisabled}\n ?required=${this.required}\n ?invalid=${this._isInvalid}\n aria-invalid=${this._isInvalid ? 'true' : 'false'}\n aria-labelledby=${`label-${anchorId}`}\n @click=${this.handleInputClickEvent}\n @focus=${this.handleInputFocusEvent}\n />\n ${this._inputEl?.value ||\n (this.value &&\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n !this.value.every((date) => date === null)) ||\n (this.defaultDate &&\n Array.isArray(this.defaultDate) &&\n this.defaultDate.length > 0 &&\n !this.defaultDate.every((date) => date === null || date === ''))\n ? html`\n <kyn-button\n ?disabled=${this.datePickerDisabled}\n class=\"clear-button\"\n kind=\"ghost\"\n size=\"small\"\n description=${this._textStrings.clearAll}\n @click=${this._handleClear}\n >\n <span style=\"display:flex;\" slot=\"icon\"\n >${unsafeSVG(clearIcon)}</span\n >\n </kyn-button>\n `\n : html`<span class=\"input-icon\">${unsafeSVG(calendarIcon)}</span>`}\n </div>\n\n ${this.caption\n ? html`<div\n id=${descriptionId}\n class=\"caption\"\n aria-disabled=${this.datePickerDisabled}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n ${this.caption}\n </div>`\n : ''}\n ${this.renderValidationMessage(errorId, warningId)}\n </div>\n `;\n }\n\n private renderValidationMessage(errorId: string, warningId: string) {\n if (this.invalidText || (this._isInvalid && this._hasInteracted)) {\n return html`<div\n id=${errorId}\n class=\"error error-text\"\n role=\"alert\"\n title=${this.errorTitle || 'Error'}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n <span\n class=\"error-icon\"\n aria-label=${`${this.errorAriaLabel}` || 'Error message icon'}\n role=\"button\"\n >${unsafeSVG(errorIcon)}</span\n >${this.invalidText ||\n this._internalValidationMsg ||\n this.defaultErrorMessage}\n </div>`;\n }\n\n if (this.warnText) {\n return html`<div\n id=${warningId}\n class=\"warn warn-text\"\n role=\"alert\"\n aria-label=${this.warningAriaLabel || 'Warning message'}\n title=${this.warningTitle || 'Warning'}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n ${this.warnText}\n </div>`;\n }\n\n return null;\n }\n\n getDatepickerClasses() {\n return {\n 'date-picker': true,\n 'date-picker__enable-time': this._enableTime,\n 'date-picker__multiple-select': this.mode === 'multiple',\n 'date-picker__disabled': this.datePickerDisabled,\n };\n }\n\n private _initialized = false;\n\n override async firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n if (!this._initialized) {\n injectFlatpickrStyles(ShidokaFlatpickrTheme.toString());\n this._initialized = true;\n await this.updateComplete;\n this.setupAnchor();\n }\n }\n\n override updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (\n changedProperties.has('dateFormat') ||\n changedProperties.has('defaultDate') ||\n changedProperties.has('minDate') ||\n changedProperties.has('maxDate') ||\n changedProperties.has('locale') ||\n changedProperties.has('twentyFourHourFormat')\n ) {\n this._enableTime = updateEnableTime(this.dateFormat);\n if (this.flatpickrInstance && this._initialized) {\n this.updateFlatpickrOptions();\n }\n }\n\n if (\n changedProperties.has('datePickerDisabled') &&\n this.datePickerDisabled &&\n this.flatpickrInstance\n ) {\n this.flatpickrInstance.close();\n }\n }\n\n private async reinitializeFlatpickr() {\n if (this._initialized && this.flatpickrInstance) {\n this.flatpickrInstance.destroy();\n await this.initializeFlatpickr();\n }\n }\n\n private async setupAnchor() {\n if (this._inputEl) {\n await this.initializeFlatpickr();\n }\n }\n\n private _handleClear(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n this.value = this.mode === 'multiple' ? [] : null;\n this.defaultDate = this.mode === 'multiple' ? [] : null;\n\n if (this.flatpickrInstance) {\n this.flatpickrInstance.clear();\n }\n if (this._inputEl) {\n this._inputEl.value = '';\n }\n\n this.reinitializeFlatpickr();\n\n this._validate(true, false);\n this.requestUpdate();\n }\n\n async initializeFlatpickr(): Promise<void> {\n if (!this._inputEl) return;\n if (this.flatpickrInstance) this.flatpickrInstance.destroy();\n\n this.flatpickrInstance = await initializeSingleAnchorFlatpickr({\n inputEl: this._inputEl,\n getFlatpickrOptions: () => this.getComponentFlatpickrOptions(),\n setCalendarAttributes: (instance) => {\n const modalDetected = !!this.closest('kyn-modal');\n setCalendarAttributes(instance, modalDetected);\n instance.calendarContainer.setAttribute('aria-label', 'Date picker');\n },\n setInitialDates: this.setInitialDates.bind(this),\n });\n\n hideEmptyYear();\n this._validate(false, false);\n }\n\n async updateFlatpickrOptions(): Promise<void> {\n if (!this.flatpickrInstance) return;\n const newOptions = (await this.getComponentFlatpickrOptions()) || {};\n Object.keys(newOptions).forEach((key) => {\n if (\n this.flatpickrInstance!.config &&\n key in this.flatpickrInstance!.config\n ) {\n this.flatpickrInstance!.set(\n key as keyof BaseOptions,\n newOptions[key as keyof BaseOptions]\n );\n }\n });\n this.flatpickrInstance.redraw();\n setTimeout(() => {\n if (this.flatpickrInstance && this.flatpickrInstance.calendarContainer) {\n setCalendarAttributes(this.flatpickrInstance);\n this.flatpickrInstance.calendarContainer.setAttribute(\n 'aria-label',\n 'Date picker'\n );\n } else {\n console.warn('Calendar container not available...');\n }\n }, 0);\n }\n\n setInitialDates(): void {\n if (!this.flatpickrInstance) return;\n\n try {\n if (this.defaultDate) {\n if (Array.isArray(this.defaultDate)) {\n const validDates = this.defaultDate\n .filter((date) => date && date !== '')\n .map((date) => {\n const parsed = new Date(date);\n return isNaN(parsed.getTime()) ? null : parsed;\n })\n .filter((date): date is Date => date !== null);\n\n if (validDates.length > 0) {\n this.value = this.mode === 'multiple' ? validDates : validDates[0];\n this.flatpickrInstance.setDate(validDates, false);\n }\n } else {\n const parsed = new Date(this.defaultDate);\n if (!isNaN(parsed.getTime())) {\n this.value = parsed;\n this.flatpickrInstance.setDate([parsed], false);\n }\n }\n } else if (this.value) {\n const dates = Array.isArray(this.value) ? this.value : [this.value];\n const validDates = dates.filter(\n (date): date is Date => date instanceof Date && !isNaN(date.getTime())\n );\n\n if (validDates.length > 0) {\n this.flatpickrInstance.setDate(validDates, false);\n }\n }\n } catch (error) {\n console.warn('Error setting initial dates:', error);\n }\n }\n\n async getComponentFlatpickrOptions(): Promise<Partial<BaseOptions>> {\n const modal = this.closest('kyn-modal');\n const container = modal ? modal : document.body;\n\n return getFlatpickrOptions({\n locale: this.locale,\n dateFormat: this.dateFormat,\n defaultDate: this.defaultDate ?? undefined,\n enableTime: this._enableTime,\n twentyFourHourFormat: this.twentyFourHourFormat ?? undefined,\n inputEl: this._inputEl!,\n minDate: this.minDate,\n maxDate: this.maxDate,\n enable: this.enable,\n disable: this.disable,\n mode: this.mode,\n closeOnSelect: !(this.mode === 'multiple' || this._enableTime),\n loadLocale,\n onOpen: this.handleOpen.bind(this),\n onClose: this.handleClose.bind(this),\n onChange: this.handleDateChange.bind(this),\n appendTo: container,\n });\n }\n\n handleOpen(): void {\n if (!this._shouldFlatpickrOpen) {\n this.flatpickrInstance?.close();\n this._shouldFlatpickrOpen = true;\n }\n }\n\n async handleClose(): Promise<void> {\n this._hasInteracted = true;\n this._validate(true, false);\n await this.updateComplete;\n }\n\n async handleDateChange(\n selectedDates: Date[],\n dateStr: string\n ): Promise<void> {\n this._hasInteracted = true;\n\n if (this.mode === 'multiple') {\n this.value = selectedDates.length > 0 ? [...selectedDates] : null;\n } else {\n this.value = selectedDates.length > 0 ? selectedDates[0] : null;\n }\n\n let formattedDates;\n if (Array.isArray(this.value)) {\n formattedDates = this.value.map((date) => date.toISOString());\n } else if (this.value instanceof Date) {\n formattedDates = this.value.toISOString();\n } else {\n formattedDates = null;\n }\n\n emitValue(this, 'on-change', {\n dates: formattedDates,\n dateString: (this._inputEl as HTMLInputElement)?.value || dateStr,\n });\n\n this._validate(true, false);\n await this.updateComplete;\n }\n\n private setShouldFlatpickrOpen(value: boolean): void {\n this._shouldFlatpickrOpen = value;\n }\n\n private closeFlatpickr(): void {\n this.flatpickrInstance?.close();\n }\n\n private preventFlatpickrOpen(event: Event): void {\n preventFlatpickrOpen(event, this.setShouldFlatpickrOpen.bind(this));\n }\n\n private handleInputClickEvent(): void {\n handleInputClick(this.setShouldFlatpickrOpen.bind(this));\n }\n\n private handleInputFocusEvent(): void {\n handleInputFocus(\n this._shouldFlatpickrOpen,\n this.closeFlatpickr.bind(this),\n this.setShouldFlatpickrOpen.bind(this)\n );\n }\n\n private _validate(interacted: boolean, report: boolean): void {\n if (!this._inputEl || !(this._inputEl instanceof HTMLInputElement)) {\n return;\n }\n\n if (interacted) {\n this._hasInteracted = true;\n }\n\n const isEmpty = !this._inputEl.value.trim();\n const isRequired = this.required;\n\n let validity = this._inputEl.validity;\n let validationMessage = this._inputEl.validationMessage;\n\n if (isRequired && isEmpty) {\n validity = { ...validity, valueMissing: true };\n validationMessage = this.defaultErrorMessage;\n }\n\n if (this.invalidText) {\n validity = { ...validity, customError: true };\n validationMessage = this.invalidText;\n }\n\n const isValid = !validity.valueMissing && !validity.customError;\n\n this._internals.setValidity(validity, validationMessage, this._inputEl);\n this._isInvalid =\n !isValid && (this._hasInteracted || this.invalidText !== '');\n this._internalValidationMsg = validationMessage;\n\n if (report) {\n this._internals.reportValidity();\n }\n\n this.requestUpdate();\n }\n\n private _onChange() {\n this._validate(true, false);\n }\n\n private _handleFormReset() {\n this.value = null;\n if (this.flatpickrInstance) {\n this.flatpickrInstance.clear();\n }\n this._hasInteracted = false;\n this._validate(false, false);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('change', this._onChange);\n this.removeEventListener('reset', this._handleFormReset);\n\n if (this.flatpickrInstance) {\n this.flatpickrInstance.destroy();\n this.flatpickrInstance = undefined;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-date-picker': DatePicker;\n }\n}\n"],"names":["_defaultTextStrings","requiredText","clearAll","DatePicker","FormMixin","LitElement","constructor","this","label","locale","dateFormat","defaultDate","defaultErrorMessage","required","size","value","warnText","disable","enable","mode","caption","datePickerDisabled","twentyFourHourFormat","minDate","maxDate","errorAriaLabel","errorTitle","warningAriaLabel","warningTitle","_enableTime","_hasInteracted","textStrings","_textStrings","_shouldFlatpickrOpen","_initialized","connectedCallback","super","addEventListener","_onChange","_handleFormReset","render","errorId","name","warningId","anchorId","Math","random","toString","slice","descriptionId","_a","placeholder","getPlaceholder","html","classMap","getDatepickerClasses","preventFlatpickrOpen","_b","_c","_isInvalid","handleInputClickEvent","handleInputFocusEvent","_d","_inputEl","Array","isArray","length","every","date","_handleClear","unsafeSVG","clearIcon","calendarIcon","renderValidationMessage","invalidText","errorIcon","_internalValidationMsg","firstUpdated","changedProperties","injectFlatpickrStyles","ShidokaFlatpickrTheme","updateComplete","setupAnchor","updated","has","updateEnableTime","flatpickrInstance","updateFlatpickrOptions","close","reinitializeFlatpickr","destroy","initializeFlatpickr","event","preventDefault","stopPropagation","clear","_validate","requestUpdate","initializeSingleAnchorFlatpickr","inputEl","getFlatpickrOptions","getComponentFlatpickrOptions","setCalendarAttributes","instance","modalDetected","closest","calendarContainer","setAttribute","setInitialDates","bind","hideEmptyYear","newOptions","Object","keys","forEach","key","config","set","redraw","setTimeout","console","warn","validDates","filter","map","parsed","Date","isNaN","getTime","setDate","error","modal","container","document","body","undefined","enableTime","closeOnSelect","loadLocale","onOpen","handleOpen","onClose","handleClose","onChange","handleDateChange","appendTo","selectedDates","dateStr","formattedDates","toISOString","emitValue","dates","dateString","setShouldFlatpickrOpen","closeFlatpickr","handleInputClick","handleInputFocus","interacted","report","HTMLInputElement","isEmpty","trim","isRequired","validity","validationMessage","valueMissing","customError","isValid","_internals","setValidity","reportValidity","disconnectedCallback","removeEventListener","styles","DatePickerStyles","__decorate","property","type","String","prototype","Boolean","state","query","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"datepicker.js","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"sourcesContent":["import { html, LitElement, PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport {\n injectFlatpickrStyles,\n langsArray,\n initializeSingleAnchorFlatpickr,\n getFlatpickrOptions,\n getPlaceholder,\n preventFlatpickrOpen,\n handleInputClick,\n handleInputFocus,\n updateEnableTime,\n setCalendarAttributes,\n loadLocale,\n emitValue,\n hideEmptyYear,\n} from '../../../common/helpers/flatpickr';\nimport '../../reusable/button';\n\nimport flatpickr from 'flatpickr';\nimport { BaseOptions } from 'flatpickr/dist/types/options';\n\nimport DatePickerStyles from './datepicker.scss';\nimport ShidokaFlatpickrTheme from '../../../common/scss/shidoka-flatpickr-theme.scss';\n\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-filled.svg';\nimport calendarIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/24/calendar.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/20/close-simple.svg';\n\ntype SupportedLocale = (typeof langsArray)[number];\n\nconst _defaultTextStrings = {\n requiredText: 'Required',\n clearAll: 'Clear',\n pleaseSelectDate: 'Please select a date',\n pleaseSelectValidDate: 'Please select a valid date',\n};\n\n/**\n * Datepicker: uses Flatpickr's datetime picker library -- `https://flatpickr.js.org`\n * @fires on-change - Captures the input event and emits the selected value and original event details.\n * @slot tooltip - Slot for tooltip.\n */\n@customElement('kyn-date-picker')\nexport class DatePicker extends FormMixin(LitElement) {\n static override styles = [DatePickerStyles, ShidokaFlatpickrTheme];\n\n /** Label text. */\n @property({ type: String })\n label = '';\n\n /* Sets desired locale and, if supported, dynamically loads language lib */\n @property({ type: String })\n locale: SupportedLocale = 'en';\n\n /** Sets flatpickr value to define how the date will be displayed in the input box (ex: `Y-m-d H:i`). */\n @property({ type: String })\n dateFormat = 'Y-m-d';\n\n /** Sets the initial selected date(s). For multiple mode, provide an array of date strings matching dateFormat. */\n @property({ type: Array })\n defaultDate: string | string[] | null = null;\n\n /** Sets default error message. */\n @property({ type: String })\n defaultErrorMessage = '';\n\n /** Sets datepicker form input value to required/required. */\n @property({ type: Boolean })\n required = false;\n\n /** Input size. \"sm\", \"md\", or \"lg\". */\n @property({ type: String })\n size = 'md';\n\n /** Sets pre-selected date/time value. */\n @property({ type: Array })\n override value: Date | Date[] | null = null;\n\n /** Sets validation warning messaging. */\n @property({ type: String })\n warnText = '';\n\n /** Sets flatpickr options setting to disable specific dates. */\n @property({ type: Array })\n disable: (string | number | Date)[] = [];\n\n /** Sets flatpickr options setting to enable specific dates. */\n @property({ type: Array })\n enable: (string | number | Date)[] = [];\n\n /** Sets flatpickr mode to select single (default), multiple dates. */\n @property({ type: String })\n mode: 'single' | 'multiple' = 'single';\n\n /** Sets caption to be displayed under primary date picker elements. */\n @property({ type: String })\n caption = '';\n\n /** Sets entire datepicker form element to enabled/disabled. */\n @property({ type: Boolean })\n datePickerDisabled = false;\n\n /** Sets 24 hour formatting true/false.\n * Defaults to 12H for all `en-*` locales and 24H for all other locales.\n */\n @property({ type: Boolean })\n twentyFourHourFormat: boolean | null = null;\n\n /** Sets lower boundary of datepicker date selection. */\n @property({ type: String })\n minDate: string | number | Date = '';\n\n /** Sets upper boundary of datepicker date selection. */\n @property({ type: String })\n maxDate: string | number | Date = '';\n\n /** Sets aria label attribute for error message. */\n @property({ type: String })\n errorAriaLabel = '';\n\n /** Sets title attribute for error message. */\n @property({ type: String })\n errorTitle = '';\n\n /** Sets aria label attribute for warning message. */\n @property({ type: String })\n warningAriaLabel = '';\n\n /** Sets title attribute for warning message. */\n @property({ type: String })\n warningTitle = '';\n\n /** Sets flatpickr enableTime value based on detected dateFormat.\n * @internal\n */\n @state()\n private _enableTime = false;\n\n /**\n * Sets whether user has interacted with datepicker for error handling.\n * @internal\n */\n @state()\n private _hasInteracted = false;\n\n /** Flatpickr instantiation.\n * @internal\n */\n @state()\n private flatpickrInstance?: flatpickr.Instance;\n\n /**\n * Queries the anchor DOM element.\n * @internal\n */\n @query('input')\n private _inputEl?: HTMLInputElement;\n\n /** Customizable text strings. */\n @property({ type: Object })\n textStrings = _defaultTextStrings;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n _textStrings = _defaultTextStrings;\n\n /** Control flag to prevent Flatpickr from opening when clicking caption, error, label, or warning elements.\n * @internal\n */\n @state()\n private _shouldFlatpickrOpen = false;\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('change', this._onChange);\n this.addEventListener('reset', this._handleFormReset);\n }\n\n override render() {\n const errorId = `${this.name}-error-message`;\n const warningId = `${this.name}-warning-message`;\n const anchorId = this.name\n ? `${this.name}-${Math.random().toString(36).slice(2, 11)}`\n : `date-picker-${Math.random().toString(36).slice(2, 11)}`;\n const descriptionId = this.name ?? '';\n const placeholder = getPlaceholder(this.dateFormat);\n\n return html`\n <div class=${classMap(this.getDatepickerClasses())}>\n <div\n class=\"label-text\"\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n ?disabled=${this.datePickerDisabled}\n id=${`label-${anchorId}`}\n >\n ${this.required\n ? html`<abbr\n class=\"required\"\n title=${this._textStrings?.requiredText}\n role=\"img\"\n aria-label=${this._textStrings?.requiredText}\n >*</abbr\n >`\n : null}\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </div>\n\n <div class=\"input-wrapper\">\n <input\n class=\"${classMap({\n [`size--${this.size}`]: true,\n 'input-custom': true,\n })}\"\n type=\"text\"\n id=${anchorId}\n name=${this.name}\n placeholder=${placeholder}\n ?disabled=${this.datePickerDisabled}\n ?required=${this.required}\n ?invalid=${this._isInvalid}\n aria-invalid=${this._isInvalid ? 'true' : 'false'}\n aria-labelledby=${`label-${anchorId}`}\n @click=${this.handleInputClickEvent}\n @focus=${this.handleInputFocusEvent}\n />\n ${this._inputEl?.value ||\n (this.value &&\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n !this.value.every((date) => date === null)) ||\n (this.defaultDate &&\n Array.isArray(this.defaultDate) &&\n this.defaultDate.length > 0 &&\n !this.defaultDate.every((date) => date === null || date === ''))\n ? html`\n <kyn-button\n ?disabled=${this.datePickerDisabled}\n class=\"clear-button\"\n kind=\"ghost\"\n size=\"small\"\n description=${this._textStrings.clearAll}\n @click=${this._handleClear}\n >\n <span style=\"display:flex;\" slot=\"icon\"\n >${unsafeSVG(clearIcon)}</span\n >\n </kyn-button>\n `\n : html`<span class=\"input-icon\">${unsafeSVG(calendarIcon)}</span>`}\n </div>\n\n ${this.caption\n ? html`<div\n id=${descriptionId}\n class=\"caption\"\n aria-disabled=${this.datePickerDisabled}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n ${this.caption}\n </div>`\n : ''}\n ${this.renderValidationMessage(errorId, warningId)}\n </div>\n `;\n }\n\n private renderValidationMessage(errorId: string, warningId: string) {\n if (this.invalidText || (this._isInvalid && this._hasInteracted)) {\n return html`<div\n id=${errorId}\n class=\"error error-text\"\n role=\"alert\"\n title=${this.errorTitle || 'Error'}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n <span\n class=\"error-icon\"\n aria-label=${`${this.errorAriaLabel}` || 'Error message icon'}\n role=\"button\"\n >${unsafeSVG(errorIcon)}</span\n >${this.invalidText ||\n this._internalValidationMsg ||\n this.defaultErrorMessage}\n </div>`;\n }\n\n if (this.warnText) {\n return html`<div\n id=${warningId}\n class=\"warn warn-text\"\n role=\"alert\"\n aria-label=${this.warningAriaLabel || 'Warning message'}\n title=${this.warningTitle || 'Warning'}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n ${this.warnText}\n </div>`;\n }\n\n return null;\n }\n\n getDatepickerClasses() {\n return {\n 'date-picker': true,\n 'date-picker__enable-time': this._enableTime,\n 'date-picker__multiple-select': this.mode === 'multiple',\n 'date-picker__disabled': this.datePickerDisabled,\n };\n }\n\n private _initialized = false;\n\n override async firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n if (!this._initialized) {\n injectFlatpickrStyles(ShidokaFlatpickrTheme.toString());\n this._initialized = true;\n await this.updateComplete;\n this.setupAnchor();\n }\n }\n\n override updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (\n changedProperties.has('dateFormat') ||\n changedProperties.has('defaultDate') ||\n changedProperties.has('minDate') ||\n changedProperties.has('maxDate') ||\n changedProperties.has('locale') ||\n changedProperties.has('twentyFourHourFormat')\n ) {\n this._enableTime = updateEnableTime(this.dateFormat);\n if (this.flatpickrInstance && this._initialized) {\n this.updateFlatpickrOptions();\n }\n }\n\n if (\n changedProperties.has('datePickerDisabled') &&\n this.datePickerDisabled &&\n this.flatpickrInstance\n ) {\n this.flatpickrInstance.close();\n }\n }\n\n private async reinitializeFlatpickr() {\n if (this._initialized && this.flatpickrInstance) {\n this.flatpickrInstance.destroy();\n await this.initializeFlatpickr();\n }\n }\n\n private async setupAnchor() {\n if (this._inputEl) {\n await this.initializeFlatpickr();\n }\n }\n\n private _handleClear(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n this.value = this.mode === 'multiple' ? [] : null;\n this.defaultDate = this.mode === 'multiple' ? [] : null;\n\n if (this.flatpickrInstance) {\n this.flatpickrInstance.clear();\n }\n if (this._inputEl) {\n this._inputEl.value = '';\n }\n\n this.reinitializeFlatpickr();\n\n this._validate(true, false);\n this.requestUpdate();\n }\n\n async initializeFlatpickr(): Promise<void> {\n if (!this._inputEl) return;\n if (this.flatpickrInstance) this.flatpickrInstance.destroy();\n\n this.flatpickrInstance = await initializeSingleAnchorFlatpickr({\n inputEl: this._inputEl,\n getFlatpickrOptions: () => this.getComponentFlatpickrOptions(),\n setCalendarAttributes: (instance) => {\n const modalDetected = !!this.closest('kyn-modal');\n setCalendarAttributes(instance, modalDetected);\n instance.calendarContainer.setAttribute('aria-label', 'Date picker');\n },\n setInitialDates: this.setInitialDates.bind(this),\n });\n\n hideEmptyYear();\n this._validate(false, false);\n }\n\n async updateFlatpickrOptions(): Promise<void> {\n if (!this.flatpickrInstance) return;\n const newOptions = (await this.getComponentFlatpickrOptions()) || {};\n Object.keys(newOptions).forEach((key) => {\n if (\n this.flatpickrInstance!.config &&\n key in this.flatpickrInstance!.config\n ) {\n this.flatpickrInstance!.set(\n key as keyof BaseOptions,\n newOptions[key as keyof BaseOptions]\n );\n }\n });\n this.flatpickrInstance.redraw();\n setTimeout(() => {\n if (this.flatpickrInstance && this.flatpickrInstance.calendarContainer) {\n setCalendarAttributes(this.flatpickrInstance);\n this.flatpickrInstance.calendarContainer.setAttribute(\n 'aria-label',\n 'Date picker'\n );\n } else {\n console.warn('Calendar container not available...');\n }\n }, 0);\n }\n\n setInitialDates(): void {\n if (!this.flatpickrInstance) return;\n\n try {\n if (this.defaultDate) {\n if (Array.isArray(this.defaultDate)) {\n const validDates = this.defaultDate\n .filter((date) => date && date !== '')\n .map((date) => {\n const parsed = new Date(date);\n return isNaN(parsed.getTime()) ? null : parsed;\n })\n .filter((date): date is Date => date !== null);\n\n if (validDates.length > 0) {\n this.value = this.mode === 'multiple' ? validDates : validDates[0];\n this.flatpickrInstance.setDate(validDates, false);\n }\n } else {\n const parsed = new Date(this.defaultDate);\n if (!isNaN(parsed.getTime())) {\n this.value = parsed;\n this.flatpickrInstance.setDate([parsed], false);\n }\n }\n } else if (this.value) {\n const dates = Array.isArray(this.value) ? this.value : [this.value];\n const validDates = dates.filter(\n (date): date is Date => date instanceof Date && !isNaN(date.getTime())\n );\n\n if (validDates.length > 0) {\n this.flatpickrInstance.setDate(validDates, false);\n }\n }\n } catch (error) {\n console.warn('Error setting initial dates:', error);\n }\n }\n\n async getComponentFlatpickrOptions(): Promise<Partial<BaseOptions>> {\n const modal = this.closest('kyn-modal');\n const container = modal ? modal : document.body;\n\n return getFlatpickrOptions({\n locale: this.locale,\n dateFormat: this.dateFormat,\n defaultDate: this.defaultDate ?? undefined,\n enableTime: this._enableTime,\n twentyFourHourFormat: this.twentyFourHourFormat ?? undefined,\n inputEl: this._inputEl!,\n minDate: this.minDate,\n maxDate: this.maxDate,\n enable: this.enable,\n disable: this.disable,\n mode: this.mode,\n closeOnSelect: !(this.mode === 'multiple' || this._enableTime),\n loadLocale,\n onOpen: this.handleOpen.bind(this),\n onClose: this.handleClose.bind(this),\n onChange: this.handleDateChange.bind(this),\n appendTo: container,\n });\n }\n\n handleOpen(): void {\n if (!this._shouldFlatpickrOpen) {\n this.flatpickrInstance?.close();\n this._shouldFlatpickrOpen = true;\n }\n }\n\n async handleClose(): Promise<void> {\n this._hasInteracted = true;\n this._validate(true, false);\n await this.updateComplete;\n }\n\n async handleDateChange(\n selectedDates: Date[],\n dateStr: string\n ): Promise<void> {\n this._hasInteracted = true;\n\n if (this.mode === 'multiple') {\n this.value = selectedDates.length > 0 ? [...selectedDates] : null;\n } else {\n this.value = selectedDates.length > 0 ? selectedDates[0] : null;\n }\n\n let formattedDates;\n if (Array.isArray(this.value)) {\n formattedDates = this.value.map((date) => date.toISOString());\n } else if (this.value instanceof Date) {\n formattedDates = this.value.toISOString();\n } else {\n formattedDates = null;\n }\n\n emitValue(this, 'on-change', {\n dates: formattedDates,\n dateString: (this._inputEl as HTMLInputElement)?.value || dateStr,\n });\n\n this._validate(true, false);\n await this.updateComplete;\n }\n\n private setShouldFlatpickrOpen(value: boolean): void {\n this._shouldFlatpickrOpen = value;\n }\n\n private closeFlatpickr(): void {\n this.flatpickrInstance?.close();\n }\n\n private preventFlatpickrOpen(event: Event): void {\n preventFlatpickrOpen(event, this.setShouldFlatpickrOpen.bind(this));\n }\n\n private handleInputClickEvent(): void {\n handleInputClick(this.setShouldFlatpickrOpen.bind(this));\n }\n\n private handleInputFocusEvent(): void {\n handleInputFocus(\n this._shouldFlatpickrOpen,\n this.closeFlatpickr.bind(this),\n this.setShouldFlatpickrOpen.bind(this)\n );\n }\n\n private _validate(interacted: boolean, report: boolean): void {\n if (!this._inputEl || !(this._inputEl instanceof HTMLInputElement)) {\n return;\n }\n\n if (interacted) {\n this._hasInteracted = true;\n }\n\n const isEmpty = !this._inputEl.value.trim();\n const isRequired = this.required;\n\n let validity = this._inputEl.validity;\n let validationMessage = this._inputEl.validationMessage;\n\n if (isRequired && isEmpty) {\n validity = { ...validity, valueMissing: true };\n validationMessage =\n this.defaultErrorMessage || this._textStrings.pleaseSelectDate;\n }\n\n if (this.invalidText) {\n validity = { ...validity, customError: true };\n validationMessage = this.invalidText;\n }\n\n const isValid = !validity.valueMissing && !validity.customError;\n\n // fix: ensure we have a validation message when validity flags are true\n if (!isValid && !validationMessage) {\n validationMessage = this._textStrings.pleaseSelectValidDate;\n }\n\n this._internals.setValidity(validity, validationMessage, this._inputEl);\n this._isInvalid =\n !isValid && (this._hasInteracted || this.invalidText !== '');\n this._internalValidationMsg = validationMessage;\n\n if (report) {\n this._internals.reportValidity();\n }\n\n this.requestUpdate();\n }\n\n private _onChange() {\n this._validate(true, false);\n }\n\n private _handleFormReset() {\n this.value = null;\n if (this.flatpickrInstance) {\n this.flatpickrInstance.clear();\n }\n this._hasInteracted = false;\n this._validate(false, false);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('change', this._onChange);\n this.removeEventListener('reset', this._handleFormReset);\n\n if (this.flatpickrInstance) {\n this.flatpickrInstance.destroy();\n this.flatpickrInstance = undefined;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-date-picker': DatePicker;\n }\n}\n"],"names":["_defaultTextStrings","requiredText","clearAll","pleaseSelectDate","pleaseSelectValidDate","DatePicker","FormMixin","LitElement","constructor","this","label","locale","dateFormat","defaultDate","defaultErrorMessage","required","size","value","warnText","disable","enable","mode","caption","datePickerDisabled","twentyFourHourFormat","minDate","maxDate","errorAriaLabel","errorTitle","warningAriaLabel","warningTitle","_enableTime","_hasInteracted","textStrings","_textStrings","_shouldFlatpickrOpen","_initialized","connectedCallback","super","addEventListener","_onChange","_handleFormReset","render","errorId","name","warningId","anchorId","Math","random","toString","slice","descriptionId","_a","placeholder","getPlaceholder","html","classMap","getDatepickerClasses","preventFlatpickrOpen","_b","_c","_isInvalid","handleInputClickEvent","handleInputFocusEvent","_d","_inputEl","Array","isArray","length","every","date","_handleClear","unsafeSVG","clearIcon","calendarIcon","renderValidationMessage","invalidText","errorIcon","_internalValidationMsg","firstUpdated","changedProperties","injectFlatpickrStyles","ShidokaFlatpickrTheme","updateComplete","setupAnchor","updated","has","updateEnableTime","flatpickrInstance","updateFlatpickrOptions","close","reinitializeFlatpickr","destroy","initializeFlatpickr","event","preventDefault","stopPropagation","clear","_validate","requestUpdate","initializeSingleAnchorFlatpickr","inputEl","getFlatpickrOptions","getComponentFlatpickrOptions","setCalendarAttributes","instance","modalDetected","closest","calendarContainer","setAttribute","setInitialDates","bind","hideEmptyYear","newOptions","Object","keys","forEach","key","config","set","redraw","setTimeout","console","warn","validDates","filter","map","parsed","Date","isNaN","getTime","setDate","error","modal","container","document","body","undefined","enableTime","closeOnSelect","loadLocale","onOpen","handleOpen","onClose","handleClose","onChange","handleDateChange","appendTo","selectedDates","dateStr","formattedDates","toISOString","emitValue","dates","dateString","setShouldFlatpickrOpen","closeFlatpickr","handleInputClick","handleInputFocus","interacted","report","HTMLInputElement","isEmpty","trim","isRequired","validity","validationMessage","valueMissing","customError","isValid","_internals","setValidity","reportValidity","disconnectedCallback","removeEventListener","styles","DatePickerStyles","__decorate","property","type","String","prototype","Boolean","state","query","customElement"],"mappings":"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"}
|
|
@@ -75,6 +75,8 @@ export declare class DateRangePicker extends DateRangePicker_base {
|
|
|
75
75
|
textStrings: {
|
|
76
76
|
requiredText: string;
|
|
77
77
|
clearAll: string;
|
|
78
|
+
pleaseSelectDate: string;
|
|
79
|
+
pleaseSelectValidDate: string;
|
|
78
80
|
};
|
|
79
81
|
/** Internal text strings.
|
|
80
82
|
* @internal
|
|
@@ -82,6 +84,8 @@ export declare class DateRangePicker extends DateRangePicker_base {
|
|
|
82
84
|
_textStrings: {
|
|
83
85
|
requiredText: string;
|
|
84
86
|
clearAll: string;
|
|
87
|
+
pleaseSelectDate: string;
|
|
88
|
+
pleaseSelectValidDate: string;
|
|
85
89
|
};
|
|
86
90
|
/** Control flag to prevent Flatpickr from opening when clicking caption, error, label, or warning elements.
|
|
87
91
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daterangepicker.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/daterangepicker/daterangepicker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAKvD,OAAO,EACL,UAAU,EAaX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAU3D,KAAK,eAAe,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;;
|
|
1
|
+
{"version":3,"file":"daterangepicker.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/daterangepicker/daterangepicker.ts"],"names":[],"mappings":"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"}
|
|
@@ -467,7 +467,7 @@ input {
|
|
|
467
467
|
}
|
|
468
468
|
.date-range-picker__disabled ::slotted(*) {
|
|
469
469
|
pointer-events: none;
|
|
470
|
-
}`;const F={requiredText:"Required",clearAll:"Clear"};let E=class extends(d(s)){constructor(){super(...arguments),this.label="",this.locale="en",this.dateFormat="Y-m-d",this.defaultDate=null,this.defaultErrorMessage="",this.value=[null,null],this.warnText="",this.disable=[],this.enable=[],this.caption="",this.required=!1,this.size="md",this.dateRangePickerDisabled=!1,this.twentyFourHourFormat=null,this.minDate="",this.maxDate="",this.errorAriaLabel="",this.errorTitle="",this.warningAriaLabel="",this.warningTitle="",this._enableTime=!1,this._hasInteracted=!1,this.textStrings=F,this._textStrings=F,this._shouldFlatpickrOpen=!1,this._initialized=!1,this.resizeTimeout=null,this.handleResize=()=>{this.resizeTimeout&&window.clearTimeout(this.resizeTimeout),this.resizeTimeout=window.setTimeout((async()=>{this.flatpickrInstance&&await this.initializeFlatpickr(),this.resizeTimeout=null}),250)}}disconnectedCallback(){var t;super.disconnectedCallback(),this.removeEventListener("change",this._onChange),this.removeEventListener("reset",this._handleFormReset),window.removeEventListener("resize",this.handleResize),this.resizeTimeout&&window.clearTimeout(this.resizeTimeout),null===(t=this.flatpickrInstance)||void 0===t||t.destroy()}connectedCallback(){super.connectedCallback(),this.addEventListener("change",this._onChange),this.addEventListener("reset",this._handleFormReset),window.addEventListener("resize",this.handleResize)}render(){var t,i,a;const r=`${this.name}-error-message`,l=`${this.name}-warning-message`,n=this.name?`${this.name}-${Math.random().toString(36).slice(2,11)}`:`date-range-picker-${Math.random().toString(36).slice(2,11)}`,s=null!==(t=this.name)&&void 0!==t?t:"",d=c(this.dateFormat,!0);return o`
|
|
470
|
+
}`;const F={requiredText:"Required",clearAll:"Clear",pleaseSelectDate:"Please select a date",pleaseSelectValidDate:"Please select a valid date"};let E=class extends(d(s)){constructor(){super(...arguments),this.label="",this.locale="en",this.dateFormat="Y-m-d",this.defaultDate=null,this.defaultErrorMessage="",this.value=[null,null],this.warnText="",this.disable=[],this.enable=[],this.caption="",this.required=!1,this.size="md",this.dateRangePickerDisabled=!1,this.twentyFourHourFormat=null,this.minDate="",this.maxDate="",this.errorAriaLabel="",this.errorTitle="",this.warningAriaLabel="",this.warningTitle="",this._enableTime=!1,this._hasInteracted=!1,this.textStrings=F,this._textStrings=F,this._shouldFlatpickrOpen=!1,this._initialized=!1,this.resizeTimeout=null,this.handleResize=()=>{this.resizeTimeout&&window.clearTimeout(this.resizeTimeout),this.resizeTimeout=window.setTimeout((async()=>{this.flatpickrInstance&&await this.initializeFlatpickr(),this.resizeTimeout=null}),250)}}disconnectedCallback(){var t;super.disconnectedCallback(),this.removeEventListener("change",this._onChange),this.removeEventListener("reset",this._handleFormReset),window.removeEventListener("resize",this.handleResize),this.resizeTimeout&&window.clearTimeout(this.resizeTimeout),null===(t=this.flatpickrInstance)||void 0===t||t.destroy()}connectedCallback(){super.connectedCallback(),this.addEventListener("change",this._onChange),this.addEventListener("reset",this._handleFormReset),window.addEventListener("resize",this.handleResize)}render(){var t,i,a;const r=`${this.name}-error-message`,l=`${this.name}-warning-message`,n=this.name?`${this.name}-${Math.random().toString(36).slice(2,11)}`:`date-range-picker-${Math.random().toString(36).slice(2,11)}`,s=null!==(t=this.name)&&void 0!==t?t:"",d=c(this.dateFormat,!0);return o`
|
|
471
471
|
<div class=${e(this.getDateRangePickerClasses())}>
|
|
472
472
|
<div
|
|
473
473
|
class="label-text"
|
|
@@ -553,5 +553,5 @@ input {
|
|
|
553
553
|
@click=${this.preventFlatpickrOpen}
|
|
554
554
|
>
|
|
555
555
|
${this.warnText}
|
|
556
|
-
</div>`:null}_handleClear(t){t.preventDefault(),t.stopPropagation(),this.flatpickrInstance&&this.flatpickrInstance.clear(),this._inputEl&&(this._inputEl.value=""),this.value=[null,null],this.defaultDate=[],this._validate(!0,!1),this.requestUpdate()}getDateRangePickerClasses(){return{"date-range-picker":!0,"date-range-picker__enable-time":this._enableTime,"date-range-picker__disabled":this.dateRangePickerDisabled}}async firstUpdated(t){super.firstUpdated(t),this._initialized||(h(_.toString()),this._initialized=!0,await this.updateComplete,this.setupAnchor())}updated(t){super.updated(t),(t.has("dateFormat")||t.has("minDate")||t.has("defaultDate")||t.has("maxDate")||t.has("locale")||t.has("twentyFourHourFormat"))&&(this._enableTime=u(this.dateFormat),this.flatpickrInstance&&this._initialized&&this.updateFlatpickrOptions()),t.has("dateRangePickerDisabled")&&this.dateRangePickerDisabled&&this.flatpickrInstance&&this.flatpickrInstance.close()}async setupAnchor(){this._inputEl&&await this.initializeFlatpickr()}async initializeFlatpickr(){this._inputEl&&(this.flatpickrInstance&&this.flatpickrInstance.destroy(),this.flatpickrInstance=await m({inputEl:this._inputEl,getFlatpickrOptions:()=>this.getComponentFlatpickrOptions(),setCalendarAttributes:t=>{if(t&&t.calendarContainer){const e=!!this.closest("kyn-modal");v(t,e),t.calendarContainer.setAttribute("aria-label","Date range calendar")}else console.warn("Calendar container not available...")},setInitialDates:this.setInitialDates.bind(this)}),k(),this._validate(!1,!1))}async getComponentFlatpickrOptions(){var t,e;const i=this.closest("kyn-modal"),a=i||document.body;return g({locale:this.locale,dateFormat:this.dateFormat,defaultDate:null!==(t=this.defaultDate)&&void 0!==t?t:void 0,enableTime:this._enableTime,twentyFourHourFormat:null!==(e=this.twentyFourHourFormat)&&void 0!==e?e:void 0,mode:"range",allowInput:!1,inputEl:this._inputEl,minDate:this.minDate,maxDate:this.maxDate,enable:this.enable,disable:this.disable,loadLocale:f,onChange:this.handleDateChange.bind(this),onClose:this.handleClose.bind(this),onOpen:this.handleOpen.bind(this),appendTo:a})}async updateFlatpickrOptions(){if(!this.flatpickrInstance)return;const t=this.flatpickrInstance.selectedDates,e=await this.getComponentFlatpickrOptions();Object.keys(e).forEach((t=>{this.flatpickrInstance.set(t,e[t])})),this.flatpickrInstance.redraw(),k(),t&&2===t.length&&this.flatpickrInstance.setDate(t,!1),setTimeout((()=>{if(this.flatpickrInstance&&this.flatpickrInstance.calendarContainer){const t=!!this.closest("kyn-modal");v(this.flatpickrInstance,t),this.flatpickrInstance.calendarContainer.setAttribute("aria-label","Date range calendar")}else console.warn("Calendar container not available...")}),0)}setInitialDates(){if(this.flatpickrInstance)try{if(Array.isArray(this.defaultDate)){const t=this.defaultDate.filter((t=>t&&""!==t)).map((t=>{const e=new Date(t);return isNaN(e.getTime())?null:e})).filter((t=>null!==t));2===t.length&&(this.value=t,this.flatpickrInstance.setDate(t,!1))}else if(Array.isArray(this.value)&&2===this.value.length){const t=this.value.map((t=>t instanceof Date&&!isNaN(t.getTime())?t:null)).filter((t=>null!==t));2===t.length&&this.flatpickrInstance.setDate(t,!1)}}catch(t){console.warn("Error setting initial dates:",t)}}handleOpen(){var t;this._shouldFlatpickrOpen||(null===(t=this.flatpickrInstance)||void 0===t||t.close(),this._shouldFlatpickrOpen=!0)}async handleDateChange(t){var e;if(this._hasInteracted=!0,0===t.length?this.value=[null,null]:1===t.length?this.value=[t[0],null]:this.value=[t[0],t[1]],2===t.length){const i=t.map((t=>t.toISOString())),a=(null===(e=this._inputEl)||void 0===e?void 0:e.value)||i.join(" to ");b(this,"on-change",{dates:i,dateString:a})}this.updateSelectedDateRangeAria(t),this._validate(!0,!1),await this.updateComplete}async handleClose(){this._hasInteracted=!0,this.flatpickrInstance&&this.flatpickrInstance.selectedDates&&1===this.flatpickrInstance.selectedDates.length&&(this.flatpickrInstance.clear(),this._inputEl&&(this._inputEl.value=""),this.value=[null,null]),this._validate(!0,!1),await this.updateComplete}updateSelectedDateRangeAria(t){var e,i;if(2===t.length){const[i,a]=t;null===(e=this._inputEl)||void 0===e||e.setAttribute("aria-label",`Selected date range: ${i.toLocaleDateString()} to ${a.toLocaleDateString()}`)}else null===(i=this._inputEl)||void 0===i||i.setAttribute("aria-label","Date range")}setShouldFlatpickrOpen(t){this._shouldFlatpickrOpen=t}closeFlatpickr(){var t;null===(t=this.flatpickrInstance)||void 0===t||t.close()}preventFlatpickrOpen(t){y(t,this.setShouldFlatpickrOpen.bind(this))}handleInputClickEvent(){x(this.setShouldFlatpickrOpen.bind(this))}handleInputFocusEvent(){w(this._shouldFlatpickrOpen,this.closeFlatpickr.bind(this),this.setShouldFlatpickrOpen.bind(this))}_validate(t,e){if(!(this._inputEl&&this._inputEl instanceof HTMLInputElement))return;t&&(this._hasInteracted=!0);const i=!this._inputEl.value.trim()||!this.value[0]||!this.value[1],a=this.required;let r=this._inputEl.validity,l=this._inputEl.validationMessage;a&&i&&(r={...r,valueMissing:!0},l=this.defaultErrorMessage),this.invalidText&&(r={...r,customError:!0},l=this.invalidText);const n=!r.valueMissing&&!r.customError;this._internals.setValidity(r,l,this._inputEl),this._isInvalid=!n&&(this._hasInteracted||""!==this.invalidText),this._internalValidationMsg=l,e&&this._internals.reportValidity(),this.requestUpdate()}_onChange(){this._validate(!0,!1)}_handleFormReset(){this.value=[null,null],this.flatpickrInstance&&this.flatpickrInstance.clear(),this._hasInteracted=!1,this._validate(!1,!1)}};E.styles=[I,_],t([i({type:String})],E.prototype,"label",void 0),t([i({type:String})],E.prototype,"locale",void 0),t([i({type:String})],E.prototype,"dateFormat",void 0),t([i({type:Array})],E.prototype,"defaultDate",void 0),t([i({type:String})],E.prototype,"defaultErrorMessage",void 0),t([i({type:Array})],E.prototype,"value",void 0),t([i({type:String})],E.prototype,"warnText",void 0),t([i({type:Array})],E.prototype,"disable",void 0),t([i({type:Array})],E.prototype,"enable",void 0),t([i({type:String})],E.prototype,"caption",void 0),t([i({type:Boolean})],E.prototype,"required",void 0),t([i({type:String})],E.prototype,"size",void 0),t([i({type:Boolean})],E.prototype,"dateRangePickerDisabled",void 0),t([i({type:Boolean})],E.prototype,"twentyFourHourFormat",void 0),t([i({type:String})],E.prototype,"minDate",void 0),t([i({type:String})],E.prototype,"maxDate",void 0),t([i({type:String})],E.prototype,"errorAriaLabel",void 0),t([i({type:String})],E.prototype,"errorTitle",void 0),t([i({type:String})],E.prototype,"warningAriaLabel",void 0),t([i({type:String})],E.prototype,"warningTitle",void 0),t([a()],E.prototype,"_enableTime",void 0),t([a()],E.prototype,"flatpickrInstance",void 0),t([r("input")],E.prototype,"_inputEl",void 0),t([a()],E.prototype,"_hasInteracted",void 0),t([i({type:Object})],E.prototype,"textStrings",void 0),t([a()],E.prototype,"_textStrings",void 0),t([a()],E.prototype,"_shouldFlatpickrOpen",void 0),E=t([l("kyn-date-range-picker")],E);export{E as DateRangePicker};
|
|
556
|
+
</div>`:null}_handleClear(t){t.preventDefault(),t.stopPropagation(),this.flatpickrInstance&&this.flatpickrInstance.clear(),this._inputEl&&(this._inputEl.value=""),this.value=[null,null],this.defaultDate=[],this._validate(!0,!1),this.requestUpdate()}getDateRangePickerClasses(){return{"date-range-picker":!0,"date-range-picker__enable-time":this._enableTime,"date-range-picker__disabled":this.dateRangePickerDisabled}}async firstUpdated(t){super.firstUpdated(t),this._initialized||(h(_.toString()),this._initialized=!0,await this.updateComplete,this.setupAnchor())}updated(t){super.updated(t),(t.has("dateFormat")||t.has("minDate")||t.has("defaultDate")||t.has("maxDate")||t.has("locale")||t.has("twentyFourHourFormat"))&&(this._enableTime=u(this.dateFormat),this.flatpickrInstance&&this._initialized&&this.updateFlatpickrOptions()),t.has("dateRangePickerDisabled")&&this.dateRangePickerDisabled&&this.flatpickrInstance&&this.flatpickrInstance.close()}async setupAnchor(){this._inputEl&&await this.initializeFlatpickr()}async initializeFlatpickr(){this._inputEl&&(this.flatpickrInstance&&this.flatpickrInstance.destroy(),this.flatpickrInstance=await m({inputEl:this._inputEl,getFlatpickrOptions:()=>this.getComponentFlatpickrOptions(),setCalendarAttributes:t=>{if(t&&t.calendarContainer){const e=!!this.closest("kyn-modal");v(t,e),t.calendarContainer.setAttribute("aria-label","Date range calendar")}else console.warn("Calendar container not available...")},setInitialDates:this.setInitialDates.bind(this)}),k(),this._validate(!1,!1))}async getComponentFlatpickrOptions(){var t,e;const i=this.closest("kyn-modal"),a=i||document.body;return g({locale:this.locale,dateFormat:this.dateFormat,defaultDate:null!==(t=this.defaultDate)&&void 0!==t?t:void 0,enableTime:this._enableTime,twentyFourHourFormat:null!==(e=this.twentyFourHourFormat)&&void 0!==e?e:void 0,mode:"range",allowInput:!1,inputEl:this._inputEl,minDate:this.minDate,maxDate:this.maxDate,enable:this.enable,disable:this.disable,loadLocale:f,onChange:this.handleDateChange.bind(this),onClose:this.handleClose.bind(this),onOpen:this.handleOpen.bind(this),appendTo:a})}async updateFlatpickrOptions(){if(!this.flatpickrInstance)return;const t=this.flatpickrInstance.selectedDates,e=await this.getComponentFlatpickrOptions();Object.keys(e).forEach((t=>{this.flatpickrInstance.set(t,e[t])})),this.flatpickrInstance.redraw(),k(),t&&2===t.length&&this.flatpickrInstance.setDate(t,!1),setTimeout((()=>{if(this.flatpickrInstance&&this.flatpickrInstance.calendarContainer){const t=!!this.closest("kyn-modal");v(this.flatpickrInstance,t),this.flatpickrInstance.calendarContainer.setAttribute("aria-label","Date range calendar")}else console.warn("Calendar container not available...")}),0)}setInitialDates(){if(this.flatpickrInstance)try{if(Array.isArray(this.defaultDate)){const t=this.defaultDate.filter((t=>t&&""!==t)).map((t=>{const e=new Date(t);return isNaN(e.getTime())?null:e})).filter((t=>null!==t));2===t.length&&(this.value=t,this.flatpickrInstance.setDate(t,!1))}else if(Array.isArray(this.value)&&2===this.value.length){const t=this.value.map((t=>t instanceof Date&&!isNaN(t.getTime())?t:null)).filter((t=>null!==t));2===t.length&&this.flatpickrInstance.setDate(t,!1)}}catch(t){console.warn("Error setting initial dates:",t)}}handleOpen(){var t;this._shouldFlatpickrOpen||(null===(t=this.flatpickrInstance)||void 0===t||t.close(),this._shouldFlatpickrOpen=!0)}async handleDateChange(t){var e;if(this._hasInteracted=!0,0===t.length?this.value=[null,null]:1===t.length?this.value=[t[0],null]:this.value=[t[0],t[1]],2===t.length){const i=t.map((t=>t.toISOString())),a=(null===(e=this._inputEl)||void 0===e?void 0:e.value)||i.join(" to ");b(this,"on-change",{dates:i,dateString:a})}this.updateSelectedDateRangeAria(t),this._validate(!0,!1),await this.updateComplete}async handleClose(){this._hasInteracted=!0,this.flatpickrInstance&&this.flatpickrInstance.selectedDates&&1===this.flatpickrInstance.selectedDates.length&&(this.flatpickrInstance.clear(),this._inputEl&&(this._inputEl.value=""),this.value=[null,null]),this._validate(!0,!1),await this.updateComplete}updateSelectedDateRangeAria(t){var e,i;if(2===t.length){const[i,a]=t;null===(e=this._inputEl)||void 0===e||e.setAttribute("aria-label",`Selected date range: ${i.toLocaleDateString()} to ${a.toLocaleDateString()}`)}else null===(i=this._inputEl)||void 0===i||i.setAttribute("aria-label","Date range")}setShouldFlatpickrOpen(t){this._shouldFlatpickrOpen=t}closeFlatpickr(){var t;null===(t=this.flatpickrInstance)||void 0===t||t.close()}preventFlatpickrOpen(t){y(t,this.setShouldFlatpickrOpen.bind(this))}handleInputClickEvent(){x(this.setShouldFlatpickrOpen.bind(this))}handleInputFocusEvent(){w(this._shouldFlatpickrOpen,this.closeFlatpickr.bind(this),this.setShouldFlatpickrOpen.bind(this))}_validate(t,e){if(!(this._inputEl&&this._inputEl instanceof HTMLInputElement))return;t&&(this._hasInteracted=!0);const i=!this._inputEl.value.trim()||!this.value[0]||!this.value[1],a=this.required;let r=this._inputEl.validity,l=this._inputEl.validationMessage;a&&i&&(r={...r,valueMissing:!0},l=this.defaultErrorMessage||this._textStrings.pleaseSelectDate),this.invalidText&&(r={...r,customError:!0},l=this.invalidText);const n=!r.valueMissing&&!r.customError;n||l||(l=this._textStrings.pleaseSelectValidDate),this._internals.setValidity(r,l,this._inputEl),this._isInvalid=!n&&(this._hasInteracted||""!==this.invalidText),this._internalValidationMsg=l,e&&this._internals.reportValidity(),this.requestUpdate()}_onChange(){this._validate(!0,!1)}_handleFormReset(){this.value=[null,null],this.flatpickrInstance&&this.flatpickrInstance.clear(),this._hasInteracted=!1,this._validate(!1,!1)}};E.styles=[I,_],t([i({type:String})],E.prototype,"label",void 0),t([i({type:String})],E.prototype,"locale",void 0),t([i({type:String})],E.prototype,"dateFormat",void 0),t([i({type:Array})],E.prototype,"defaultDate",void 0),t([i({type:String})],E.prototype,"defaultErrorMessage",void 0),t([i({type:Array})],E.prototype,"value",void 0),t([i({type:String})],E.prototype,"warnText",void 0),t([i({type:Array})],E.prototype,"disable",void 0),t([i({type:Array})],E.prototype,"enable",void 0),t([i({type:String})],E.prototype,"caption",void 0),t([i({type:Boolean})],E.prototype,"required",void 0),t([i({type:String})],E.prototype,"size",void 0),t([i({type:Boolean})],E.prototype,"dateRangePickerDisabled",void 0),t([i({type:Boolean})],E.prototype,"twentyFourHourFormat",void 0),t([i({type:String})],E.prototype,"minDate",void 0),t([i({type:String})],E.prototype,"maxDate",void 0),t([i({type:String})],E.prototype,"errorAriaLabel",void 0),t([i({type:String})],E.prototype,"errorTitle",void 0),t([i({type:String})],E.prototype,"warningAriaLabel",void 0),t([i({type:String})],E.prototype,"warningTitle",void 0),t([a()],E.prototype,"_enableTime",void 0),t([a()],E.prototype,"flatpickrInstance",void 0),t([r("input")],E.prototype,"_inputEl",void 0),t([a()],E.prototype,"_hasInteracted",void 0),t([i({type:Object})],E.prototype,"textStrings",void 0),t([a()],E.prototype,"_textStrings",void 0),t([a()],E.prototype,"_shouldFlatpickrOpen",void 0),E=t([l("kyn-date-range-picker")],E);export{E as DateRangePicker};
|
|
557
557
|
//# sourceMappingURL=daterangepicker.js.map
|