@trendyol/baklava 3.3.0-beta.12 → 3.3.0-beta.14

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/dist/baklava.js CHANGED
@@ -1,2 +1,2 @@
1
- import{b as z}from"./chunk-N4GAO7FQ.js";import{b as q}from"./chunk-CAIHRZ24.js";import{b as j}from"./chunk-JAZGOWKA.js";import{b as O}from"./chunk-VJRVHJVZ.js";import{b as y}from"./chunk-T5EQ4OXS.js";import{d as v}from"./chunk-STMCW2R6.js";import{a as I}from"./chunk-GQXMNZFC.js";import{a as t}from"./chunk-X73CSBRO.js";import{b as N}from"./chunk-UZJOCLOO.js";import{a as b}from"./chunk-GMVJABPT.js";import{c as T,f as P}from"./chunk-FVBGMXMC.js";import{b as R}from"./chunk-J45OQI7D.js";import{a as D}from"./chunk-5TPDRTCU.js";import{a as w}from"./chunk-YZRAUVUQ.js";import{a as C}from"./chunk-QF4LGACD.js";import{a as s}from"./chunk-FCEMOH4J.js";import{b as G,d as k,f as A}from"./chunk-43SCA2ZJ.js";import{b as S}from"./chunk-73RGV4UX.js";import{b as H}from"./chunk-75V3FKJS.js";import{a as c}from"./chunk-5VEXMTA4.js";import{a as i}from"./chunk-OAF3R4PW.js";import{a as n}from"./chunk-WXWKIQAK.js";import"./chunk-IPYZIIRV.js";import{b as u,e as x}from"./chunk-FTQX7CEW.js";import{a as F}from"./chunk-UBN4DMBO.js";import{a as h}from"./chunk-AW5LBSEM.js";import{b as g}from"./chunk-47S2NIWC.js";import"./chunk-EZSEQHRH.js";import{a as m}from"./chunk-2I4NXKV5.js";import"./chunk-MND5TXTF.js";import{b as E}from"./chunk-IEFNMLBZ.js";import"./chunk-WEEGH2F4.js";import"./chunk-EG7U7PM3.js";import"./chunk-XDUIVR6I.js";import"./chunk-HZ6A5QFC.js";import"./chunk-AYJMIZZ3.js";import{a as B}from"./chunk-GXDVWGFU.js";import{b as d}from"./chunk-VU6LRFZR.js";import{b as p}from"./chunk-IGNJQVQF.js";import"./chunk-6LT7O7T2.js";import"./chunk-HBPBDC7T.js";import{a as o}from"./chunk-NGJM4NWA.js";import{a as l}from"./chunk-4QFXDW3W.js";import"./chunk-ECPWEUBG.js";import"./chunk-DINNT5P2.js";import{a as f}from"./chunk-4BZSILLM.js";import{a as e,b as a,c as r}from"./chunk-BH64QNLE.js";import"./chunk-GRL4DWKG.js";import"./chunk-3USCFSFQ.js";import"./chunk-7GK5LKBV.js";import"./chunk-5MOOXA2X.js";import"./chunk-4OT5AMS5.js";import"./chunk-IZ2LK5GK.js";export{t as BlAccordion,o as BlAccordionGroup,l as BlAlert,f as BlBadge,d as BlButton,E as BlCalendar,u as BlCheckbox,x as BlCheckboxGroup,F as BlDatePicker,B as BlDialog,s as BlDrawer,A as BlDropdown,S as BlDropdownGroup,k as BlDropdownItem,r as BlIcon,m as BlInput,H as BlNotification,N as BlNotificationCard,c as BlPagination,g as BlPopover,b as BlProgressIndicator,T as BlRadio,P as BlRadioGroup,i as BlSelect,n as BlSelectOption,p as BlSpinner,G as BlSplitButton,R as BlSwitch,w as BlTab,D as BlTabGroup,C as BlTabPanel,v as BlTable,O as BlTableBody,z as BlTableCell,y as BlTableHeader,q as BlTableHeaderCell,j as BlTableRow,I as BlTextarea,h as BlTooltip,a as getIconPath,e as setIconPath};
1
+ import{b as z}from"./chunk-N4GAO7FQ.js";import{b as q}from"./chunk-CAIHRZ24.js";import{b as j}from"./chunk-JAZGOWKA.js";import{b as O}from"./chunk-VJRVHJVZ.js";import{b as y}from"./chunk-T5EQ4OXS.js";import{d as v}from"./chunk-STMCW2R6.js";import{a as I}from"./chunk-GQXMNZFC.js";import{a as t}from"./chunk-X73CSBRO.js";import{b as N}from"./chunk-UZJOCLOO.js";import{a as b}from"./chunk-GMVJABPT.js";import{c as T,f as P}from"./chunk-FVBGMXMC.js";import{b as R}from"./chunk-J45OQI7D.js";import{a as D}from"./chunk-5TPDRTCU.js";import{a as w}from"./chunk-YZRAUVUQ.js";import{a as C}from"./chunk-QF4LGACD.js";import{a as s}from"./chunk-FCEMOH4J.js";import{b as G,d as k,f as A}from"./chunk-43SCA2ZJ.js";import{b as S}from"./chunk-73RGV4UX.js";import{b as H}from"./chunk-75V3FKJS.js";import{a as c}from"./chunk-5VEXMTA4.js";import{a as i}from"./chunk-OAF3R4PW.js";import{a as n}from"./chunk-WXWKIQAK.js";import"./chunk-IPYZIIRV.js";import{b as u,e as x}from"./chunk-FTQX7CEW.js";import{a as F}from"./chunk-7TWNQK6I.js";import{a as h}from"./chunk-AW5LBSEM.js";import{b as g}from"./chunk-47S2NIWC.js";import"./chunk-EZSEQHRH.js";import{a as m}from"./chunk-2I4NXKV5.js";import"./chunk-MND5TXTF.js";import{b as E}from"./chunk-O7VPXMZW.js";import"./chunk-WEEGH2F4.js";import"./chunk-EG7U7PM3.js";import"./chunk-XDUIVR6I.js";import"./chunk-HZ6A5QFC.js";import"./chunk-AYJMIZZ3.js";import{a as B}from"./chunk-GXDVWGFU.js";import{b as d}from"./chunk-VU6LRFZR.js";import{b as p}from"./chunk-IGNJQVQF.js";import"./chunk-6LT7O7T2.js";import"./chunk-HBPBDC7T.js";import{a as o}from"./chunk-NGJM4NWA.js";import{a as l}from"./chunk-4QFXDW3W.js";import"./chunk-ECPWEUBG.js";import"./chunk-DINNT5P2.js";import{a as f}from"./chunk-4BZSILLM.js";import{a as e,b as a,c as r}from"./chunk-BH64QNLE.js";import"./chunk-GRL4DWKG.js";import"./chunk-3USCFSFQ.js";import"./chunk-7GK5LKBV.js";import"./chunk-5MOOXA2X.js";import"./chunk-4OT5AMS5.js";import"./chunk-IZ2LK5GK.js";export{t as BlAccordion,o as BlAccordionGroup,l as BlAlert,f as BlBadge,d as BlButton,E as BlCalendar,u as BlCheckbox,x as BlCheckboxGroup,F as BlDatePicker,B as BlDialog,s as BlDrawer,A as BlDropdown,S as BlDropdownGroup,k as BlDropdownItem,r as BlIcon,m as BlInput,H as BlNotification,N as BlNotificationCard,c as BlPagination,g as BlPopover,b as BlProgressIndicator,T as BlRadio,P as BlRadioGroup,i as BlSelect,n as BlSelectOption,p as BlSpinner,G as BlSplitButton,R as BlSwitch,w as BlTab,D as BlTabGroup,C as BlTabPanel,v as BlTable,O as BlTableBody,z as BlTableCell,y as BlTableHeader,q as BlTableHeaderCell,j as BlTableRow,I as BlTextarea,h as BlTooltip,a as getIconPath,e as setIconPath};
2
2
  //# sourceMappingURL=baklava.js.map
@@ -1,4 +1,4 @@
1
- import{a as f}from"./chunk-IEFNMLBZ.js";import{a as m}from"./chunk-GRL4DWKG.js";import{a as v,b as n,c as p,e as u}from"./chunk-5MOOXA2X.js";import{a as d,b as r}from"./chunk-4OT5AMS5.js";import{d as i}from"./chunk-IZ2LK5GK.js";var _=d`:host{width:fit-content;display:block}.datepicker-content{--bl-input-cursor:pointer;--icon-size:var(--line-height);--icon-color:var(--bl-color-neutral-light);--datepicker-width:314px;display:flex;flex-direction:column;gap:var(--bl-size-2xs);width:fit-content}.datepicker-input{width:var(--bl-datepicker-input-width, var(--datepicker-width));white-space:nowrap;text-overflow:ellipsis}.icon-container{display:flex;gap:var(--bl-size-3xs);align-items:center}.calendar-icon{display:flex;align-items:center;gap:var(--icon-gap);flex-basis:var(--icon-size);align-self:center;margin-right:var(--label-padding);font-size:var(--icon-size);color:var(--icon-color);height:var(--icon-size)}.action-divider{display:block;height:var(--bl-size-m);width:1px;background-color:var(--bl-color-neutral-lighter);margin-right:var(--bl-size-3xs)}bl-popover{--bl-popover-padding:0;--bl-popover-background-color:transparent}`,b=_;var e=class extends f{constructor(){super(...arguments);this.size="medium";this.labelFixed=!1;this.valueFormatter=null;this._inputValue="";this._selectedDates=[];this._floatingDateCount=0;this._fittingDateCount=0}static get styles(){return[b]}defaultInputValueFormatter(){if(this.type==="single")this._inputValue=this.formatDate(this._selectedDates[0]),this.closePopoverWithTimeout();else if(this.type==="multiple"){this.setFloatingDates();let t=this._selectedDates.slice(0,this._fittingDateCount).map(s=>this.formatDate(s));this._inputValue=t.join(",")+(this._floatingDateCount>0?" ,...":"")}else this.type==="range"&&(this._selectedDates[0]&&(this._inputValue=this.formatDate(this._selectedDates[0])),this._selectedDates[1]&&(this._inputValue=`${this._inputValue}-${this.formatDate(this._selectedDates[1])}`),this._selectedDates[0]&&this._selectedDates[1]&&this.closePopoverWithTimeout())}closePopoverWithTimeout(){setTimeout(()=>{this.closePopover(),this._inputEl.blur()},200)}setFloatingDates(){var a,l;let t=(a=this.shadowRoot)==null?void 0:a.getElementById("datepicker-input"),s=(l=this.shadowRoot)==null?void 0:l.getElementById("icon-container"),o=t.offsetWidth-s.offsetWidth;this._fittingDateCount=Math.floor(o/90),this._floatingDateCount=this._selectedDates.length-this._fittingDateCount}setDatePickerInput(t){t.length?(this._selectedDates=t,this.valueFormatter?this._inputValue=this.valueFormatter(this._selectedDates):this.defaultInputValueFormatter()):this._inputValue="",this._onBlDatepickerChange(this._selectedDates)}formatDate(t){return`${String(t==null?void 0:t.getDate()).padStart(2,"0")}/${String((t==null?void 0:t.getMonth())+1).padStart(2,"0")}/${t==null?void 0:t.getFullYear()}`}clearDatepicker(){this._selectedDates=[],this._inputValue="",this._floatingDateCount=0,this._calendarEl.handleClearSelectedDates()}openPopover(){this._popoverEl.target=this._inputEl,this._popoverEl.show()}closePopover(){this._popoverEl.hide()}_togglePopover(){this._popoverEl.visible?this.closePopover():this.openPopover()}formatAdditionalDates(t){let s=t.split(",");return s.reduce((o,a,l)=>(l>0&&l%3===0&&o.push(r`<br />`),o.push(r`<span>${a.trim()}${l<s.length-1?", ":""}</span>`),o),[])}async firstUpdated(){var t,s;this._onCalendarMouseDown=o=>{var a;o.preventDefault(),(a=this._inputEl)==null||a.focus()},this._onInputMouseDown=o=>{var a;o.preventDefault(),(a=this._inputEl)==null||a.focus()},(t=this._calendarEl)==null||t.addEventListener("mousedown",this._onCalendarMouseDown),(s=this._inputEl)==null||s.addEventListener("mousedown",this._onInputMouseDown),this._selectedDates&&this.setDatePickerInput(this._selectedDates)}disconnectedCallback(){var t,s;super.disconnectedCallback(),(t=this._calendarEl)==null||t.removeEventListener("mousedown",this._onCalendarMouseDown),(s=this._inputEl)==null||s.removeEventListener("mousedown",this._onInputMouseDown)}render(){var c;let t=r`
1
+ import{a as f}from"./chunk-O7VPXMZW.js";import{a as m}from"./chunk-GRL4DWKG.js";import{a as v,b as n,c as p,e as u}from"./chunk-5MOOXA2X.js";import{a as d,b as r}from"./chunk-4OT5AMS5.js";import{d as i}from"./chunk-IZ2LK5GK.js";var _=d`:host{width:fit-content;display:block}.datepicker-content{--bl-input-cursor:pointer;--icon-size:var(--line-height);--icon-color:var(--bl-color-neutral-light);--datepicker-width:314px;display:flex;flex-direction:column;gap:var(--bl-size-2xs);width:fit-content}.datepicker-input{width:var(--bl-datepicker-input-width, var(--datepicker-width));white-space:nowrap;text-overflow:ellipsis}.icon-container{display:flex;gap:var(--bl-size-3xs);align-items:center}.calendar-icon{display:flex;align-items:center;gap:var(--icon-gap);flex-basis:var(--icon-size);align-self:center;margin-right:var(--label-padding);font-size:var(--icon-size);color:var(--icon-color);height:var(--icon-size)}.action-divider{display:block;height:var(--bl-size-m);width:1px;background-color:var(--bl-color-neutral-lighter);margin-right:var(--bl-size-3xs)}bl-popover{--bl-popover-padding:0;--bl-popover-background-color:transparent}`,b=_;var e=class extends f{constructor(){super(...arguments);this.size="medium";this.labelFixed=!1;this.valueFormatter=null;this._inputValue="";this._selectedDates=[];this._floatingDateCount=0;this._fittingDateCount=0}static get styles(){return[b]}defaultInputValueFormatter(){if(this.type==="single")this._inputValue=this.formatDate(this._selectedDates[0]),this.closePopoverWithTimeout();else if(this.type==="multiple"){this.setFloatingDates();let t=this._selectedDates.slice(0,this._fittingDateCount).map(s=>this.formatDate(s));this._inputValue=t.join(",")+(this._floatingDateCount>0?" ,...":"")}else this.type==="range"&&(this._selectedDates[0]&&(this._inputValue=this.formatDate(this._selectedDates[0])),this._selectedDates[1]&&(this._inputValue=`${this._inputValue}-${this.formatDate(this._selectedDates[1])}`),this._selectedDates[0]&&this._selectedDates[1]&&this.closePopoverWithTimeout())}closePopoverWithTimeout(){setTimeout(()=>{this.closePopover(),this._inputEl.blur()},200)}setFloatingDates(){var a,l;let t=(a=this.shadowRoot)==null?void 0:a.getElementById("datepicker-input"),s=(l=this.shadowRoot)==null?void 0:l.getElementById("icon-container"),o=t.offsetWidth-s.offsetWidth;this._fittingDateCount=Math.floor(o/90),this._floatingDateCount=this._selectedDates.length-this._fittingDateCount}setDatePickerInput(t){t.length?(this._selectedDates=t,this.valueFormatter?this._inputValue=this.valueFormatter(this._selectedDates):this.defaultInputValueFormatter()):this._inputValue="",this._onBlDatepickerChange(this._selectedDates)}formatDate(t){return`${String(t==null?void 0:t.getDate()).padStart(2,"0")}/${String((t==null?void 0:t.getMonth())+1).padStart(2,"0")}/${t==null?void 0:t.getFullYear()}`}clearDatepicker(){this._selectedDates=[],this._inputValue="",this._floatingDateCount=0,this._calendarEl.handleClearSelectedDates()}openPopover(){this._popoverEl.target=this._inputEl,this._popoverEl.show()}closePopover(){this._popoverEl.hide()}_togglePopover(){this._popoverEl.visible?this.closePopover():this.openPopover()}formatAdditionalDates(t){let s=t.split(",");return s.reduce((o,a,l)=>(l>0&&l%3===0&&o.push(r`<br />`),o.push(r`<span>${a.trim()}${l<s.length-1?", ":""}</span>`),o),[])}async firstUpdated(){var t,s;this._onCalendarMouseDown=o=>{var a;o.preventDefault(),(a=this._inputEl)==null||a.focus()},this._onInputMouseDown=o=>{var a;o.preventDefault(),(a=this._inputEl)==null||a.focus()},(t=this._calendarEl)==null||t.addEventListener("mousedown",this._onCalendarMouseDown),(s=this._inputEl)==null||s.addEventListener("mousedown",this._onInputMouseDown),this._selectedDates&&this.setDatePickerInput(this._selectedDates)}updated(t){t.has("_selectedDates")&&this.setDatePickerInput(this._selectedDates)}disconnectedCallback(){var t,s;super.disconnectedCallback(),(t=this._calendarEl)==null||t.removeEventListener("mousedown",this._onCalendarMouseDown),(s=this._inputEl)==null||s.removeEventListener("mousedown",this._onInputMouseDown)}render(){var c;let t=r`
2
2
  <bl-popover target="datepicker-content" placement="bottom-start">
3
3
  <bl-calendar
4
4
  type=${this.type}
@@ -47,4 +47,4 @@ import{a as f}from"./chunk-IEFNMLBZ.js";import{a as m}from"./chunk-GRL4DWKG.js";
47
47
  ${t}
48
48
  </div>
49
49
  `}};i([n({type:String,attribute:"placeholder",reflect:!0})],e.prototype,"placeholder",2),i([n({type:String,reflect:!0})],e.prototype,"size",2),i([n({type:Boolean,attribute:"label-fixed",reflect:!0})],e.prototype,"labelFixed",2),i([n({type:String,attribute:"label",reflect:!0})],e.prototype,"label",2),i([n({type:Function,attribute:"value-formatter"})],e.prototype,"valueFormatter",2),i([n({type:Boolean})],e.prototype,"disabled",2),i([n({type:String,attribute:"help-text",reflect:!0})],e.prototype,"helpText",2),i([p()],e.prototype,"_inputValue",2),i([p()],e.prototype,"_selectedDates",2),i([p()],e.prototype,"_floatingDateCount",2),i([p()],e.prototype,"_fittingDateCount",2),i([u("bl-calendar")],e.prototype,"_calendarEl",2),i([u("bl-popover")],e.prototype,"_popoverEl",2),i([u("bl-input")],e.prototype,"_inputEl",2),i([m("bl-datepicker-change")],e.prototype,"_onBlDatepickerChange",2),e=i([v("bl-datepicker")],e);export{e as a};
50
- //# sourceMappingURL=chunk-UBN4DMBO.js.map
50
+ //# sourceMappingURL=chunk-7TWNQK6I.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/components/datepicker/bl-datepicker.css", "../src/components/datepicker/bl-datepicker.ts"],
4
+ "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{width:fit-content;display:block}.datepicker-content{--bl-input-cursor:pointer;--icon-size:var(--line-height);--icon-color:var(--bl-color-neutral-light);--datepicker-width:314px;display:flex;flex-direction:column;gap:var(--bl-size-2xs);width:fit-content}.datepicker-input{width:var(--bl-datepicker-input-width, var(--datepicker-width));white-space:nowrap;text-overflow:ellipsis}.icon-container{display:flex;gap:var(--bl-size-3xs);align-items:center}.calendar-icon{display:flex;align-items:center;gap:var(--icon-gap);flex-basis:var(--icon-size);align-self:center;margin-right:var(--label-padding);font-size:var(--icon-size);color:var(--icon-color);height:var(--icon-size)}.action-divider{display:block;height:var(--bl-size-m);width:1px;background-color:var(--bl-color-neutral-lighter);margin-right:var(--bl-size-3xs)}bl-popover{--bl-popover-padding:0;--bl-popover-background-color:transparent}`;\nexport default styles;\n", "import { CSSResultGroup, html, PropertyValues, TemplateResult } from \"lit\";\nimport { customElement, property, query, state } from \"lit/decorators.js\";\nimport { BlCalendar, BlPopover } from \"../../baklava\";\nimport DatepickerCalendarMixin from \"../../mixins/datepicker-calendar-mixin/datepicker-calendar-mixin\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../calendar/bl-calendar\";\nimport { CALENDAR_TYPES } from \"../calendar/bl-calendar.constant\";\nimport \"../input/bl-input\";\nimport BlInput, { InputSize } from \"../input/bl-input\";\nimport \"../tooltip/bl-tooltip\";\nimport style from \"./bl-datepicker.css\";\n\n/**\n * @tag bl-datepicker\n * @summary Baklava DatePicker component\n *\n * @cssproperty [--bl-datepicker-input-width] - Sets the width of datepicker input\n **/\n@customElement(\"bl-datepicker\")\nexport default class BlDatepicker extends DatepickerCalendarMixin {\n /**\n * Defines the datepicker input placeholder\n */\n @property({ type: String, attribute: \"placeholder\", reflect: true })\n placeholder: string;\n /**\n * Sets input size.\n */\n @property({ type: String, reflect: true })\n size?: InputSize = \"medium\";\n\n /**\n * Makes datepicker input label as fixed positioned\n */\n @property({ type: Boolean, attribute: \"label-fixed\", reflect: true })\n labelFixed = false;\n /**\n * Defines the datepicker input label\n */\n @property({ type: String, attribute: \"label\", reflect: true })\n label: string;\n /**\n * Defines the custom formatter function\n */\n @property({ type: Function, attribute: \"value-formatter\" })\n valueFormatter: ((dates: Date[]) => string) | null = null;\n /**\n * Sets datepicker to disabled\n */\n @property({ type: Boolean })\n disabled: boolean;\n /**\n * Defines help text to datepicker input for users\n */\n @property({ type: String, attribute: \"help-text\", reflect: true })\n helpText: string;\n\n @state()\n _inputValue = \"\";\n\n @state()\n _selectedDates: Date[] = [];\n\n @state()\n _floatingDateCount: number = 0;\n\n @state()\n _fittingDateCount: number = 0;\n\n @query(\"bl-calendar\")\n _calendarEl: BlCalendar;\n\n @query(\"bl-popover\")\n _popoverEl: BlPopover;\n\n @query(\"bl-input\")\n _inputEl!: BlInput;\n\n private _onCalendarMouseDown!: (event: MouseEvent) => void;\n private _onInputMouseDown!: (event: MouseEvent) => void;\n\n /**\n * Fires when date selection is changed\n */\n @event(\"bl-datepicker-change\") private _onBlDatepickerChange: EventDispatcher<Date[]>;\n\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n defaultInputValueFormatter() {\n if (this.type === CALENDAR_TYPES.SINGLE) {\n this._inputValue = this.formatDate(this._selectedDates[0]);\n this.closePopoverWithTimeout();\n } else if (this.type === CALENDAR_TYPES.MULTIPLE) {\n this.setFloatingDates();\n const values = this._selectedDates\n .slice(0, this._fittingDateCount)\n .map(date => this.formatDate(date));\n\n this._inputValue = values.join(\",\") + (this._floatingDateCount > 0 ? \" ,...\" : \"\");\n } else if (this.type === CALENDAR_TYPES.RANGE) {\n if (this._selectedDates[0]) this._inputValue = this.formatDate(this._selectedDates[0]);\n if (this._selectedDates[1])\n this._inputValue = `${this._inputValue}-${this.formatDate(this._selectedDates[1])}`;\n if (this._selectedDates[0] && this._selectedDates[1]) this.closePopoverWithTimeout();\n }\n }\n\n closePopoverWithTimeout() {\n setTimeout(() => {\n this.closePopover();\n this._inputEl.blur();\n }, 200);\n }\n\n setFloatingDates() {\n const datepickerInput = this.shadowRoot?.getElementById(\"datepicker-input\");\n const iconsContainer = this.shadowRoot?.getElementById(\"icon-container\");\n const datesTextTotalWidth = datepickerInput!.offsetWidth! - iconsContainer!.offsetWidth!;\n\n this._fittingDateCount = Math.floor(datesTextTotalWidth / 90);\n\n this._floatingDateCount = this._selectedDates.length - this._fittingDateCount;\n }\n\n setDatePickerInput(dates: Date[] | []) {\n if (!dates.length) {\n this._inputValue = \"\";\n } else {\n this._selectedDates = dates;\n if (this.valueFormatter) {\n this._inputValue = this.valueFormatter(this._selectedDates);\n } else {\n this.defaultInputValueFormatter();\n }\n }\n\n this._onBlDatepickerChange(this._selectedDates);\n }\n\n formatDate(date: Date): string {\n return `${String(date?.getDate()).padStart(2, \"0\")}/${String(date?.getMonth() + 1).padStart(\n 2,\n \"0\"\n )}/${date?.getFullYear()}`;\n }\n\n clearDatepicker() {\n this._selectedDates = [];\n this._inputValue = \"\";\n this._floatingDateCount = 0;\n this._calendarEl.handleClearSelectedDates();\n }\n\n openPopover() {\n this._popoverEl.target = this._inputEl;\n this._popoverEl.show();\n }\n\n closePopover() {\n this._popoverEl.hide();\n }\n\n _togglePopover() {\n this._popoverEl.visible ? this.closePopover() : this.openPopover();\n }\n\n formatAdditionalDates(str: string): TemplateResult[] {\n const parts = str.split(\",\");\n\n return parts.reduce<TemplateResult[]>((acc, part, index) => {\n if (index > 0 && index % 3 === 0) {\n acc.push(html`<br />`);\n }\n acc.push(html`<span>${part.trim()}${index < parts.length - 1 ? \", \" : \"\"}</span>`);\n return acc;\n }, []);\n }\n\n async firstUpdated() {\n this._onCalendarMouseDown = event => {\n event.preventDefault();\n this._inputEl?.focus();\n };\n\n this._onInputMouseDown = event => {\n event.preventDefault();\n this._inputEl?.focus();\n };\n\n this._calendarEl?.addEventListener(\"mousedown\", this._onCalendarMouseDown);\n this._inputEl?.addEventListener(\"mousedown\", this._onInputMouseDown);\n\n if (this._selectedDates) {\n this.setDatePickerInput(this._selectedDates);\n }\n }\n\n updated(changedProperties: PropertyValues) {\n if (changedProperties.has(\"_selectedDates\")) {\n this.setDatePickerInput(this._selectedDates);\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this._calendarEl?.removeEventListener(\"mousedown\", this._onCalendarMouseDown);\n this._inputEl?.removeEventListener(\"mousedown\", this._onInputMouseDown);\n }\n\n render() {\n const renderCalendar = html`\n <bl-popover target=\"datepicker-content\" placement=\"bottom-start\">\n <bl-calendar\n type=${this.type}\n .minDate=${this.minDate}\n .maxDate=${this.maxDate}\n .startOfWeek=${this.startOfWeek}\n .disabledDates=${this.disabledDates}\n .value=${this.value}\n .locale=${this.locale}\n @bl-calendar-change=\"${(event: CustomEvent) => this.setDatePickerInput(event.detail)}\"\n ></bl-calendar>\n </bl-popover>\n `;\n const additionalDates = this._selectedDates\n ?.slice(this._fittingDateCount)\n .map(date => {\n return this.formatDate(date);\n })\n .join(\",\");\n\n const formattedAdditionalDates = this.formatAdditionalDates(additionalDates);\n\n const additionalDatesView =\n this._floatingDateCount > 0\n ? html` <bl-tooltip>\n <span slot=\"tooltip-trigger\">+${this._floatingDateCount}</span>\n <div>${formattedAdditionalDates}</div>\n </bl-tooltip>`\n : \"\";\n\n const clearDatepickerButton =\n this._selectedDates.length > 0\n ? html` <bl-button\n size=\"small\"\n variant=\"tertiary\"\n kind=\"neutral\"\n icon=\"close\"\n @click=${this.clearDatepicker}\n ></bl-button>\n <div class=\"action-divider\"></div>`\n : \"\";\n\n return html`\n <div class=\"datepicker-content\" id=\"datepicker-content\" tabindex=\"-1\">\n <bl-input\n .value=\"${this._inputValue}\"\n label=\"${this.label}\"\n placeholder=\"${this.placeholder}\"\n class=\"datepicker-input\"\n role=\"button\"\n id=\"datepicker-input\"\n aria-haspopup=\"listbox\"\n aria-labelledby=\"label\"\n @click=${this._togglePopover}\n help-text=${this.helpText}\n ?disabled=${this.disabled}\n .size=${this.size}\n .labelFixed=${this.labelFixed}\n readonly\n >\n <div slot=\"icon\" class=\"icon-container\" id=\"icon-container\">\n ${additionalDatesView} ${clearDatepickerButton}\n <bl-icon name=\"calendar\" size=\"small\" class=\"calendar-icon\"></bl-icon>\n </div>\n </bl-input>\n ${renderCalendar}\n </div>\n `;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["styles", "i", "bl_datepicker_default", "BlDatepicker", "DatepickerCalendarMixin", "bl_datepicker_default", "values", "date", "_a", "_b", "datepickerInput", "iconsContainer", "datesTextTotalWidth", "dates", "str", "parts", "acc", "part", "index", "x", "event", "changedProperties", "renderCalendar", "additionalDates", "formattedAdditionalDates", "additionalDatesView", "clearDatepickerButton", "__decorateClass", "e", "t", "i"]
7
+ }
@@ -0,0 +1,84 @@
1
+ import{a as w,b as Y}from"./chunk-WEEGH2F4.js";import{a as M}from"./chunk-6LT7O7T2.js";import{a as C}from"./chunk-GRL4DWKG.js";import{a as A,b as y,c as g}from"./chunk-5MOOXA2X.js";import{a as x,b as c,f as S}from"./chunk-4OT5AMS5.js";import{d as r}from"./chunk-IZ2LK5GK.js";function k(p){let _=[],e=p.split(",");return e==null||e.forEach(t=>{let a=new Date(t.trim());isNaN(a.getTime())||_.push(a)}),_}var o=class extends S{constructor(){super(...arguments);this.startOfWeek=0;this.locale=document.documentElement.lang||"en-EN";this._selectedDates=[];this._disabledDates=[]}get disabledDates(){return this._disabledDates}set disabledDates(e){let t=[];typeof e=="string"?t=k(e):Array.isArray(e)&&(t=e.filter(a=>!isNaN(a.getTime()))),this.requestUpdate("disabledDates",t),this._disabledDates=t}get maxDate(){return this._maxDate}set maxDate(e){if(isNaN(new Date(e).getTime())){console.warn("Invalid maxDate value.");return}this._minDate&&this._minDate>=e?console.warn("maxDate cannot be smaller than minDate."):(this._maxDate=new Date(e),this.requestUpdate("maxDate",e))}get minDate(){return this._minDate}set minDate(e){if(isNaN(new Date(e).getTime())){console.warn("Invalid minDate value.");return}this._maxDate&&this._maxDate<=e?console.warn("minDate cannot be greater than maxDate."):(this._minDate=new Date(e),this.requestUpdate("minDate",e))}get value(){return this._value}set value(e){if(e){let t=this._value,a=[];typeof e=="string"?a=k(e):e instanceof Date?a.push(e):Array.isArray(e)&&(a=e),a.length>0&&(this.type==="single"&&a.length>1?console.warn("'value' must be a single Date for single type selection."):this.type==="range"&&Array.isArray(a)&&a.length!=2?console.warn("'value' must be an array of two Date objects when the type selection mode is set to range."):(this._value=e,this._selectedDates=a)),this.requestUpdate("value",t)}}};r([y()],o.prototype,"type",2),r([y({type:Number,attribute:"start-of-week",reflect:!0})],o.prototype,"startOfWeek",2),r([y()],o.prototype,"locale",2),r([g()],o.prototype,"_selectedDates",2),r([y({attribute:"disabled-dates",reflect:!0})],o.prototype,"disabledDates",1),r([y({type:Date,attribute:"max-date",reflect:!0})],o.prototype,"maxDate",1),r([y({type:Date,attribute:"min-date",reflect:!0})],o.prototype,"minDate",1),r([y({attribute:"value",reflect:!0})],o.prototype,"value",1);var E=x`.calendar{display:flex;flex-direction:column}.calendar-content{display:flex;padding:var(--bl-size-m);flex-direction:column;align-items:center;gap:var(--bl-size-m);border-radius:var(--bl-border-radius-s);width:fit-content;background:var(--bl-color-neutral-full)}.calendar-header{display:flex;justify-content:space-between;width:100%;align-items:center;padding-bottom:var(--bl-size-s)}.arrow{flex:1}.header-text{flex:3}.header-text-hover{background:var(--bl-color-neutral-lightest);border-radius:var(--bl-border-radius-s)}.days-wrapper{display:flex;flex-direction:column}.day-wrapper{display:flex;align-items:center;justify-content:center}.week-row{display:flex;align-items:center;flex-direction:row;padding-bottom:var(--bl-size-2xs)}.day{display:flex;align-items:center;width:40px;--bl-button-focus-border-color:#000;--bl-font-title-4-medium:var(--bl-font-weight-regular) var(--bl-font-size-m);--bl-size-xl:40px;--bl-border-radius-m:50%;--bl-border-radius-l:50%}.day.today-day{--bl-color-neutral-darker:var(--bl-color-primary);--bl-color-neutral-darkest:var(--bl-color-primary)}.day.other-month-day{--bl-color-neutral-darker:var(--bl-color-neutral-dark)}.day.other-month-day.selected-day{--bl-color-neutral-darker:var(--bl-color-neutral-full)}.day.selected-day{background:var(--bl-color-primary);border-radius:50%;--bl-button-focus-border-color:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full)}.range-day{background:var(--bl-color-primary-contrast);--bl-color-neutral-lightest:var(--bl-color-primary-contrast)}.range-end-day,.range-start-day,.selected-day{--bl-color-neutral-lightest:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full);--bl-color-neutral-darkest:var(--bl-color-neutral-full) !important}.range-start-day{background:var(--bl-color-primary-contrast);border-top-left-radius:50%;border-bottom-left-radius:50%}.range-end-day{background:var(--bl-color-primary-contrast);border-top-right-radius:50%;border-bottom-right-radius:50%}.weekday-text{color:var(--bl-color-neutral-dark);text-align:center;padding:var(--bl-size-2xs) 0;width:40px}.grid-content{display:grid;grid-template-columns:auto auto auto;text-align:center}.grid-item{width:93.33px;--bl-size-3xs:15px}.grid-item:not(:nth-last-child(-n + 3)){padding-bottom:var(--bl-size-2xs)}.calendar-text{font:var(--bl-font-title-3-regular)}`,T=E;var d=class extends o{constructor(){super(...arguments);this.today=new Date;this._calendarMonth=this.today.getMonth();this._calendarYear=this.today.getFullYear();this._calendarView="days";this._calendarYears=[];this._calendarDays=[];this.handleClearSelectedDates=()=>{this._selectedDates=[],this._onBlCalendarChange([]),this.clearRangePickerStyles()}}static get styles(){return[T]}get months(){return[...Array(12).keys()].map(e=>({name:new Date(0,e+1,0).toLocaleString(this.locale,{month:"long"}),value:e}))}get days(){return[...Array(7).keys()].map(e=>({name:new Date(0,0,e).toLocaleString(this.locale,{weekday:"short"}),value:e}))}getDayNumInAMonth(e,t){return new Date(e,t+1,0).getDate()}getWeekDayOfDate(e,t){return new Date(e,t,1).getDay()}setPreviousCalendarView(){if(this.clearRangePickerStyles(),this._calendarView==="days")this._calendarMonth===0?(this._calendarMonth=11,this._calendarYear-=1):this._calendarMonth-=1;else if(this._calendarView==="months")this._calendarYear-=1;else if(this._calendarView==="years"){let e=this._calendarYears[0];this._calendarYears=Array.from({length:12},(t,a)=>e-(a+1))}this.type==="range"&&this.setHoverClass()}setNextCalendarView(){if(this.clearRangePickerStyles(),this._calendarView==="days")this._calendarMonth===11?(this._calendarMonth=0,this._calendarYear+=1):this._calendarMonth+=1;else if(this._calendarView==="months")this._calendarYear+=1;else if(this._calendarView==="years"){let e=this._calendarYears[11];this._calendarYears=Array.from({length:12},(t,a)=>e+(a+1))}this.setHoverClass()}setCurrentCalendarView(e){this._calendarView=this._calendarView!==e?e:"days",this.setHoverClass()}setMonthAndCalendarView(e){this._calendarMonth=e,this._calendarView="days",this.type==="range"&&this.setHoverClass()}setYearAndCalendarView(e){this._calendarYear=e,this._calendarView="days",this.type==="range"&&this.setHoverClass()}generateSurroundingYears(){this._calendarYears.length||(this._calendarYears=Array.from({length:12},(e,t)=>this._calendarYear-4+t))}clearRangePickerStyles(){var e;(e=this.shadowRoot)==null||e.querySelectorAll(".range-day, .range-start-day, .range-end-day").forEach(t=>t.classList.remove("range-day","range-start-day","range-end-day"))}handleDate(e){if(this.type!=="range"){let t=e.getFullYear()<this._calendarYear||e.getFullYear()===this._calendarYear&&e.getMonth()<this._calendarMonth,a=e.getFullYear()>this._calendarYear||e.getFullYear()===this._calendarYear&&e.getMonth()>this._calendarMonth;t?this.setPreviousCalendarView():a&&this.setNextCalendarView()}switch(this.type){case"single":this.handleSingleSelectCalendar(e);break;case"multiple":this.handleMultipleSelectCalendar(e);break;case"range":this.handleRangeSelectCalendar(e);break}this._onBlCalendarChange(this._selectedDates),this.requestUpdate()}handleSingleSelectCalendar(e){this._selectedDates=[e]}handleMultipleSelectCalendar(e){var a,s,i;((a=this._selectedDates)==null?void 0:a.some(n=>n.getTime()===e.getTime()))?(i=this._selectedDates)==null||i.splice((s=this._selectedDates)==null?void 0:s.findIndex(n=>n.getTime()===e.getTime()),1):this._selectedDates.push(e)}handleRangeSelectCalendar(e){if(!this._selectedDates[0])this._selectedDates[0]=e;else if(this._selectedDates[1])this._selectedDates=[],this._selectedDates[0]=e;else if(e.getTime()>this._selectedDates[0].getTime())this._selectedDates[1]=e;else{let t=this._selectedDates[0];this._selectedDates[0]=e,this._selectedDates[1]=t}this.setHoverClass()}checkIfSelectedDate(e){var t;return(t=this._selectedDates)==null?void 0:t.some(a=>a.getFullYear()===e.getFullYear()&&a.getMonth()===e.getMonth()&&a.getDate()===e.getDate())}checkIfDateIsToday(e){let t=this.today;return t.getDate()===e.getDate()&&t.getMonth()===e.getMonth()&&t.getFullYear()===e.getFullYear()}checkIfDateIsDisabled(e){var t,a;return e.getTime()<((t=this.minDate)==null?void 0:t.getTime())||e.getTime()>((a=this.maxDate)==null?void 0:a.getTime())?!0:this.disabledDates.length>0?this.disabledDates.some(s=>e.getDate()===s.getDate()&&e.getMonth()===s.getMonth()&&e.getFullYear()===s.getFullYear()):!1}setHoverClass(){this.clearRangePickerStyles(),this._selectedDates[0]&&this._selectedDates[1]&&setTimeout(()=>{var s,i,n,D,u,f,l,h,m;let e=(n=(i=this.shadowRoot)==null?void 0:i.getElementById(`${(s=this._selectedDates[0])==null?void 0:s.getTime()}`))==null?void 0:n.parentElement;e==null||e.classList.add("range-start-day");let t=(f=(u=this.shadowRoot)==null?void 0:u.getElementById(`${(D=this._selectedDates[1])==null?void 0:D.getTime()}`))==null?void 0:f.parentElement;t==null||t.classList.add("range-end-day");let a=[...this.createCalendarDays().values()].flat().filter(b=>b.getTime()>this._selectedDates[0].getTime()&&b.getTime()<this._selectedDates[1].getTime());for(let b=0;b<a.length;b++){let v=(h=(l=this.shadowRoot)==null?void 0:l.getElementById(`${a[b].getTime()}`))==null?void 0:h.parentElement;(m=v==null?void 0:v.classList)==null||m.add("range-day")}})}createCalendarDays(){var u,f;let e=new Map;this._calendarDays=this.days.slice(this.startOfWeek).concat(this.days.slice(0,this.startOfWeek));let t=this.getWeekDayOfDate(this._calendarYear,this._calendarMonth),a=t<this.startOfWeek?7-(this.startOfWeek-t):t-this.startOfWeek,s=this.getDayNumInAMonth(this._calendarYear,this._calendarMonth-1),i=this.getDayNumInAMonth(this._calendarYear,this._calendarMonth),n=this.startOfWeek;for(let l=a;l>0;l--){let h=n%7,m=new Date(this._calendarYear,this._calendarMonth-1,s-l+1);e.set(this.days[h].name,[m]),n+=1}for(let l=1;l<=i;l++){let h=n%7,m=new Date(this._calendarYear,this._calendarMonth,l);e.get(this.days[h].name)?(u=e.get(this.days[h].name))==null||u.push(m):e.set(this.days[h].name,[m]),n+=1}let D=this._calendarDays.findIndex(l=>l.value===n%7);if(D!==0)for(let l=1;l<=this._calendarDays.length-D;l++){let h=n%7,m=new Date(this._calendarYear,this._calendarMonth+1,l);(f=e.get(this.days[h].name))==null||f.push(m),n+=1}return e}renderCalendarHeader(){let e=this._calendarView==="months"?"header-text-hover":"",t=this._calendarView==="years"?"header-text-hover":"";return c`
2
+ <div class="calendar-header">
3
+ <bl-button
4
+ class="arrow"
5
+ icon="arrow_left"
6
+ variant="tertiary"
7
+ kind="neutral"
8
+ @click="${()=>this.setPreviousCalendarView()}"
9
+ ></bl-button>
10
+ <bl-button
11
+ variant="tertiary"
12
+ kind="neutral"
13
+ class="header-text ${e}"
14
+ @click="${()=>this.setCurrentCalendarView("months")}"
15
+ >${this.months[this._calendarMonth].name}
16
+ </bl-button>
17
+ <bl-button
18
+ variant="tertiary"
19
+ kind="neutral"
20
+ class="header-text ${t}"
21
+ @click="${()=>this.setCurrentCalendarView("years")}"
22
+ >${this._calendarYear}
23
+ </bl-button>
24
+ <bl-button
25
+ class="arrow"
26
+ icon="arrow_right"
27
+ variant="tertiary"
28
+ kind="neutral"
29
+ @click="${()=>this.setNextCalendarView()}"
30
+ ></bl-button>
31
+ </div>
32
+ `}renderCalendarDays(){let e=this.createCalendarDays(),t=Array.from(e.values());return c`
33
+ <div class="week-row">
34
+ ${[...e.keys()].map(a=>c` <div class="calendar-text weekday-text">${a}</div> `)}
35
+ </div>
36
+ <div class="days-wrapper">
37
+ ${[...Array(t[0].length).keys()].map(a=>c` <div class="week-row">
38
+ ${t.map(s=>{let i=s[a],n=this.checkIfSelectedDate(i),D=this.checkIfDateIsToday(i),u=this.checkIfDateIsDisabled(i),f=M({day:!0,"calendar-text":!0,"today-day":D,"selected-day":n,"other-month-day":s[a].getMonth()!==this._calendarMonth,"disabled-day":u});return c`
39
+ <div class="day-wrapper">
40
+ <bl-button
41
+ id=${i.getTime()}
42
+ variant="tertiary"
43
+ kind="neutral"
44
+ size="small"
45
+ class=${f}
46
+ ?disabled=${u}
47
+ @click="${()=>!u&&this.handleDate(i)}"
48
+ >
49
+ ${i.getDate()}
50
+ </bl-button>
51
+ </div>
52
+ `})}
53
+ </div>`)}
54
+ </div>
55
+ </div>`}renderCalendarMonths(){return c` <div class="grid-content">
56
+ ${this.months.map((e,t)=>{let a=e.value===this._calendarMonth?"primary":"tertiary",s=e.value===this._calendarMonth?"default":"neutral";return c` <bl-button
57
+ variant=${a}
58
+ kind=${s}
59
+ class="grid-item"
60
+ size="small"
61
+ @click="${()=>this.setMonthAndCalendarView(t)}"
62
+ ><span class="calendar-text">${e.name}</span></bl-button
63
+ >`})}
64
+ </div>`}renderCalendarYears(){return this.generateSurroundingYears(),c` <div class="grid-content">
65
+ ${this._calendarYears.map(e=>{let t=e===this._calendarYear?"primary":"tertiary",a=e===this._calendarYear?"default":"neutral";return c` <bl-button
66
+ variant=${t}
67
+ kind=${a}
68
+ class="grid-item"
69
+ @click="${()=>this.setYearAndCalendarView(e)}"
70
+ ><span class="calendar-text">${e}</span></bl-button
71
+ >`})}
72
+ </div>`}render(){return c`
73
+ <div>
74
+ <div class="calendar-content">
75
+ <div class="calendar">
76
+ ${this.renderCalendarHeader()}
77
+ ${this._calendarView==="days"?this.renderCalendarDays():""}
78
+ ${this._calendarView==="months"?this.renderCalendarMonths():""}
79
+ ${this._calendarView==="years"?this.renderCalendarYears():""}
80
+ </div>
81
+ </div>
82
+ </div>
83
+ `}};r([g()],d.prototype,"today",2),r([g()],d.prototype,"_calendarMonth",2),r([g()],d.prototype,"_calendarYear",2),r([g()],d.prototype,"_calendarView",2),r([g()],d.prototype,"_calendarYears",2),r([g()],d.prototype,"_calendarDays",2),r([C("bl-calendar-change")],d.prototype,"_onBlCalendarChange",2),d=r([A("bl-calendar")],d);export{o as a,d as b};
84
+ //# sourceMappingURL=chunk-O7VPXMZW.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/utilities/string-to-date-converter.ts", "../src/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.ts", "../src/components/calendar/bl-calendar.css", "../src/components/calendar/bl-calendar.ts"],
4
+ "sourcesContent": ["export function stringToDateArray(value: string): Date[] {\n const tempValue: Date[] = [];\n const splitDates = value.split(\",\");\n\n splitDates?.forEach(date => {\n const isDate = new Date(date.trim());\n\n if (!isNaN(isDate.getTime())) {\n tempValue.push(isDate);\n }\n });\n return tempValue;\n}\n", "import { LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { CALENDAR_TYPES } from \"../../components/calendar/bl-calendar.constant\";\nimport { CalendarType, DayValues } from \"../../components/calendar/bl-calendar.types\";\nimport { stringToDateArray } from \"../../utilities/string-to-date-converter\";\n\nexport default class DatepickerCalendarMixin extends LitElement {\n /**\n * Defines the calendar types, available types are single, multiple and range\n */\n @property()\n type: CalendarType;\n /**\n * Defines the start day of the calendar (1 defines monday)\n */\n @property({ type: Number, attribute: \"start-of-week\", reflect: true })\n startOfWeek: DayValues = 0;\n /**\n * Defines the calendar language\n */\n @property()\n locale: string = document.documentElement.lang || \"en-EN\";\n @state()\n _selectedDates: Date[] = [];\n\n /**\n * Defines the unselectable dates for calendar\n */\n protected _disabledDates: Date[] = [];\n\n get disabledDates(): Date[] {\n return this._disabledDates;\n }\n\n @property({\n attribute: \"disabled-dates\",\n reflect: true,\n })\n set disabledDates(disabledDates: Date[] | string) {\n // Now we are using 1.6.0 version of @lit/reactive-elements and in this version even if our property has property decorator it doesn't run request update inside.\n // We added similar implementations to update when there is a change.\n // When we update the lit to 2.0 or upper versions we can remove the requestUpdate here\n\n let newVal: Date[] = [];\n\n if (typeof disabledDates === \"string\") {\n newVal = stringToDateArray(disabledDates);\n } else if (Array.isArray(disabledDates)) {\n newVal = disabledDates.filter(d => !isNaN(d.getTime()));\n }\n\n this.requestUpdate(\"disabledDates\", newVal);\n this._disabledDates = newVal;\n }\n\n /**\n * Defines the maximum date value for the calendar\n */\n _maxDate: Date;\n\n get maxDate() {\n return this._maxDate;\n }\n\n @property({ type: Date, attribute: \"max-date\", reflect: true })\n set maxDate(maxDate: Date) {\n if (isNaN(new Date(maxDate).getTime())) {\n console.warn(\"Invalid maxDate value.\");\n return;\n }\n if (this._minDate && this._minDate >= maxDate) {\n console.warn(\"maxDate cannot be smaller than minDate.\");\n } else {\n this._maxDate = new Date(maxDate);\n this.requestUpdate(\"maxDate\", maxDate);\n }\n }\n\n /**\n * Defines the minimum date value for the calendar\n */\n _minDate: Date;\n\n get minDate() {\n return this._minDate;\n }\n\n @property({ type: Date, attribute: \"min-date\", reflect: true })\n set minDate(minDate: Date) {\n if (isNaN(new Date(minDate).getTime())) {\n console.warn(\"Invalid minDate value.\");\n return;\n }\n if (this._maxDate && this._maxDate <= minDate) {\n console.warn(\"minDate cannot be greater than maxDate.\");\n } else {\n this._minDate = new Date(minDate);\n this.requestUpdate(\"minDate\", minDate);\n }\n }\n\n /**\n * Target elements state\n */\n protected _value: Date | Date[] | string;\n\n /**\n * Sets the target element of the popover to align and trigger.\n * It can be a string id of the target element or can be a direct Element reference of it.\n */\n get value() {\n return this._value;\n }\n\n @property({ attribute: \"value\", reflect: true })\n set value(value: string | Date | Date[]) {\n if (value) {\n const oldValue = this._value;\n let tempVal: Date[] = [];\n\n if (typeof value === \"string\") {\n tempVal = stringToDateArray(value);\n } else if (value instanceof Date) {\n tempVal.push(value);\n } else if (Array.isArray(value)) {\n tempVal = value;\n }\n\n if (tempVal.length > 0) {\n if (this.type === CALENDAR_TYPES.SINGLE && tempVal.length > 1) {\n console.warn(\"'value' must be a single Date for single type selection.\");\n } else if (\n this.type === CALENDAR_TYPES.RANGE &&\n Array.isArray(tempVal) &&\n tempVal.length != 2\n ) {\n console.warn(\n \"'value' must be an array of two Date objects when the type selection mode is set to range.\"\n );\n } else {\n this._value = value;\n this._selectedDates = tempVal;\n }\n }\n\n this.requestUpdate(\"value\", oldValue);\n }\n }\n}\n", "import {css} from 'lit';\nexport const styles = css`.calendar{display:flex;flex-direction:column}.calendar-content{display:flex;padding:var(--bl-size-m);flex-direction:column;align-items:center;gap:var(--bl-size-m);border-radius:var(--bl-border-radius-s);width:fit-content;background:var(--bl-color-neutral-full)}.calendar-header{display:flex;justify-content:space-between;width:100%;align-items:center;padding-bottom:var(--bl-size-s)}.arrow{flex:1}.header-text{flex:3}.header-text-hover{background:var(--bl-color-neutral-lightest);border-radius:var(--bl-border-radius-s)}.days-wrapper{display:flex;flex-direction:column}.day-wrapper{display:flex;align-items:center;justify-content:center}.week-row{display:flex;align-items:center;flex-direction:row;padding-bottom:var(--bl-size-2xs)}.day{display:flex;align-items:center;width:40px;--bl-button-focus-border-color:#000;--bl-font-title-4-medium:var(--bl-font-weight-regular) var(--bl-font-size-m);--bl-size-xl:40px;--bl-border-radius-m:50%;--bl-border-radius-l:50%}.day.today-day{--bl-color-neutral-darker:var(--bl-color-primary);--bl-color-neutral-darkest:var(--bl-color-primary)}.day.other-month-day{--bl-color-neutral-darker:var(--bl-color-neutral-dark)}.day.other-month-day.selected-day{--bl-color-neutral-darker:var(--bl-color-neutral-full)}.day.selected-day{background:var(--bl-color-primary);border-radius:50%;--bl-button-focus-border-color:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full)}.range-day{background:var(--bl-color-primary-contrast);--bl-color-neutral-lightest:var(--bl-color-primary-contrast)}.range-end-day,.range-start-day,.selected-day{--bl-color-neutral-lightest:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full);--bl-color-neutral-darkest:var(--bl-color-neutral-full) !important}.range-start-day{background:var(--bl-color-primary-contrast);border-top-left-radius:50%;border-bottom-left-radius:50%}.range-end-day{background:var(--bl-color-primary-contrast);border-top-right-radius:50%;border-bottom-right-radius:50%}.weekday-text{color:var(--bl-color-neutral-dark);text-align:center;padding:var(--bl-size-2xs) 0;width:40px}.grid-content{display:grid;grid-template-columns:auto auto auto;text-align:center}.grid-item{width:93.33px;--bl-size-3xs:15px}.grid-item:not(:nth-last-child(-n + 3)){padding-bottom:var(--bl-size-2xs)}.calendar-text{font:var(--bl-font-title-3-regular)}`;\nexport default styles;\n", "import { CSSResultGroup, html } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport DatepickerCalendarMixin from \"../../mixins/datepicker-calendar-mixin/datepicker-calendar-mixin\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../button/bl-button\";\nimport \"../icon/bl-icon\";\nimport {\n CALENDAR_TYPES,\n CALENDAR_VIEWS,\n FIRST_MONTH_INDEX,\n LAST_MONTH_INDEX,\n} from \"./bl-calendar.constant\";\nimport style from \"./bl-calendar.css\";\nimport { Calendar, CalendarDay, CalendarView } from \"./bl-calendar.types\";\n\n/**\n * @tag bl-calendar\n * @summary Baklava Calendar component\n **/\n@customElement(\"bl-calendar\")\nexport default class BlCalendar extends DatepickerCalendarMixin {\n @state()\n today = new Date();\n @state()\n _calendarMonth: number = this.today.getMonth();\n @state()\n _calendarYear: number = this.today.getFullYear();\n @state()\n _calendarView: CalendarView = CALENDAR_VIEWS.DAYS;\n @state()\n _calendarYears: number[] = [];\n @state()\n _calendarDays: CalendarDay[] = [];\n /**\n * Fires when date selection changes\n */\n @event(\"bl-calendar-change\") _onBlCalendarChange: EventDispatcher<Date[]>;\n\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n get months() {\n return [...Array(12).keys()].map(month => ({\n name: new Date(0, month + 1, 0).toLocaleString(this.locale, { month: \"long\" }),\n value: month,\n }));\n }\n\n get days() {\n return [...Array(7).keys()].map(day => ({\n name: new Date(0, 0, day).toLocaleString(this.locale, { weekday: \"short\" }),\n value: day,\n }));\n }\n\n public handleClearSelectedDates = () => {\n this._selectedDates = [];\n this._onBlCalendarChange([]);\n this.clearRangePickerStyles();\n };\n\n getDayNumInAMonth(year: number, month: number) {\n return new Date(year, month + 1, 0).getDate();\n }\n\n getWeekDayOfDate(year: number, month: number) {\n return new Date(year, month, 1).getDay();\n }\n\n setPreviousCalendarView() {\n this.clearRangePickerStyles();\n if (this._calendarView === CALENDAR_VIEWS.DAYS) {\n if (this._calendarMonth === FIRST_MONTH_INDEX) {\n this._calendarMonth = LAST_MONTH_INDEX;\n this._calendarYear -= 1;\n } else this._calendarMonth -= 1;\n } else if (this._calendarView === CALENDAR_VIEWS.MONTHS) {\n this._calendarYear -= 1;\n } else if (this._calendarView === CALENDAR_VIEWS.YEARS) {\n const fromYear = this._calendarYears[0];\n\n this._calendarYears = Array.from({ length: 12 }, (_, i) => fromYear - (i + 1));\n }\n if (this.type === CALENDAR_TYPES.RANGE) this.setHoverClass();\n }\n\n setNextCalendarView() {\n this.clearRangePickerStyles();\n if (this._calendarView === CALENDAR_VIEWS.DAYS) {\n if (this._calendarMonth === LAST_MONTH_INDEX) {\n this._calendarMonth = FIRST_MONTH_INDEX;\n this._calendarYear += 1;\n } else this._calendarMonth += 1;\n } else if (this._calendarView === CALENDAR_VIEWS.MONTHS) {\n this._calendarYear += 1;\n } else if (this._calendarView === CALENDAR_VIEWS.YEARS) {\n const fromYear = this._calendarYears[11];\n\n this._calendarYears = Array.from({ length: 12 }, (_, i) => fromYear + (i + 1));\n }\n this.setHoverClass();\n }\n\n setCurrentCalendarView(view: CalendarView) {\n this._calendarView = this._calendarView !== view ? view : CALENDAR_VIEWS.DAYS;\n this.setHoverClass();\n }\n\n setMonthAndCalendarView(month: number) {\n this._calendarMonth = month;\n this._calendarView = CALENDAR_VIEWS.DAYS;\n if (this.type === CALENDAR_TYPES.RANGE) this.setHoverClass();\n }\n\n setYearAndCalendarView(year: number) {\n this._calendarYear = year;\n this._calendarView = CALENDAR_VIEWS.DAYS;\n if (this.type === CALENDAR_TYPES.RANGE) this.setHoverClass();\n }\n\n generateSurroundingYears() {\n if (!this._calendarYears.length) {\n this._calendarYears = Array.from({ length: 12 }, (_, i) => this._calendarYear - 4 + i);\n }\n }\n\n clearRangePickerStyles() {\n this.shadowRoot\n ?.querySelectorAll(\".range-day, .range-start-day, .range-end-day\")\n .forEach(day => day.classList.remove(\"range-day\", \"range-start-day\", \"range-end-day\"));\n }\n\n handleDate(date: Date) {\n if (this.type !== CALENDAR_TYPES.RANGE) {\n const isDateBeforeThanCalendar =\n date.getFullYear() < this._calendarYear ||\n (date.getFullYear() === this._calendarYear && date.getMonth() < this._calendarMonth);\n\n const isDateAfterThanCalendar =\n date.getFullYear() > this._calendarYear ||\n (date.getFullYear() === this._calendarYear && date.getMonth() > this._calendarMonth);\n\n if (isDateBeforeThanCalendar) {\n this.setPreviousCalendarView();\n } else if (isDateAfterThanCalendar) {\n this.setNextCalendarView();\n }\n }\n\n switch (this.type) {\n case CALENDAR_TYPES.SINGLE:\n this.handleSingleSelectCalendar(date);\n break;\n case CALENDAR_TYPES.MULTIPLE:\n this.handleMultipleSelectCalendar(date);\n break;\n case CALENDAR_TYPES.RANGE:\n this.handleRangeSelectCalendar(date);\n break;\n }\n\n this._onBlCalendarChange(this._selectedDates);\n this.requestUpdate();\n }\n\n handleSingleSelectCalendar(calendarDate: Date) {\n this._selectedDates = [calendarDate];\n }\n\n handleMultipleSelectCalendar(calendarDate: Date) {\n const dateExist = this._selectedDates?.some(d => d.getTime() === calendarDate.getTime());\n\n dateExist\n ? this._selectedDates?.splice(\n this._selectedDates?.findIndex(d => d.getTime() === calendarDate.getTime()),\n 1\n )\n : this._selectedDates.push(calendarDate);\n }\n\n handleRangeSelectCalendar(calendarDate: Date) {\n if (!this._selectedDates[0]) {\n this._selectedDates[0] = calendarDate;\n } else if (!this._selectedDates[1]) {\n if (calendarDate.getTime() > this._selectedDates[0].getTime()) {\n this._selectedDates[1] = calendarDate;\n } else {\n const tempEndDate = this._selectedDates[0];\n\n this._selectedDates[0] = calendarDate;\n this._selectedDates[1] = tempEndDate;\n }\n } else {\n this._selectedDates = [];\n this._selectedDates[0] = calendarDate;\n }\n this.setHoverClass();\n }\n\n checkIfSelectedDate(calendarDate: Date) {\n return this._selectedDates?.some(\n date =>\n date.getFullYear() === calendarDate.getFullYear() &&\n date.getMonth() === calendarDate.getMonth() &&\n date.getDate() === calendarDate.getDate()\n );\n }\n\n checkIfDateIsToday(calendarDate: Date) {\n const today = this.today;\n\n return (\n today.getDate() === calendarDate.getDate() &&\n today.getMonth() === calendarDate.getMonth() &&\n today.getFullYear() === calendarDate.getFullYear()\n );\n }\n\n checkIfDateIsDisabled(calendarDate: Date) {\n if (\n calendarDate.getTime() < this.minDate?.getTime() ||\n calendarDate.getTime() > this.maxDate?.getTime()\n ) {\n return true;\n }\n if (this.disabledDates.length > 0) {\n return this.disabledDates.some(disabledDate => {\n return (\n calendarDate.getDate() === disabledDate.getDate() &&\n calendarDate.getMonth() === disabledDate.getMonth() &&\n calendarDate.getFullYear() === disabledDate.getFullYear()\n );\n });\n }\n return false;\n }\n\n setHoverClass() {\n this.clearRangePickerStyles();\n\n if (this._selectedDates[0] && this._selectedDates[1]) {\n setTimeout(() => {\n const startDateParentElement = this.shadowRoot?.getElementById(\n `${this._selectedDates[0]?.getTime()}`\n )?.parentElement;\n\n startDateParentElement?.classList.add(\"range-start-day\");\n\n const endDateParentElement = this.shadowRoot?.getElementById(\n `${this._selectedDates[1]?.getTime()}`\n )?.parentElement;\n\n endDateParentElement?.classList.add(\"range-end-day\");\n const rangeDays = [...this.createCalendarDays().values()]\n .flat()\n .filter(\n date =>\n date.getTime() > this._selectedDates[0]!.getTime() &&\n date.getTime() < this._selectedDates[1]!.getTime()\n );\n\n for (let i = 0; i < rangeDays.length; i++) {\n const element = this.shadowRoot?.getElementById(\n `${rangeDays[i].getTime()}`\n )?.parentElement;\n\n element?.classList?.add(\"range-day\");\n }\n });\n }\n }\n\n createCalendarDays() {\n const calendar: Calendar = new Map();\n\n this._calendarDays = this.days\n .slice(this.startOfWeek)\n .concat(this.days.slice(0, this.startOfWeek));\n\n const currentMonthStartWeekDay = this.getWeekDayOfDate(this._calendarYear, this._calendarMonth); // 1\n\n const lastMonthDaysCount =\n currentMonthStartWeekDay < this.startOfWeek\n ? 7 - (this.startOfWeek - currentMonthStartWeekDay)\n : currentMonthStartWeekDay - this.startOfWeek;\n\n const previousMonthDayCount = this.getDayNumInAMonth(\n this._calendarYear,\n this._calendarMonth - 1\n );\n\n const currentMonthDayCount = this.getDayNumInAMonth(this._calendarYear, this._calendarMonth);\n\n let dayOfTheWeek = this.startOfWeek; // from sunday\n\n for (\n let lastMonthDaysIterator = lastMonthDaysCount;\n lastMonthDaysIterator > 0;\n lastMonthDaysIterator--\n ) {\n const mod = dayOfTheWeek % 7;\n const date = new Date(\n this._calendarYear,\n this._calendarMonth - 1,\n previousMonthDayCount - lastMonthDaysIterator + 1\n );\n\n calendar.set(this.days[mod].name, [date]);\n\n dayOfTheWeek += 1;\n }\n for (\n let currentMonthDaysIterator = 1;\n currentMonthDaysIterator <= currentMonthDayCount;\n currentMonthDaysIterator++\n ) {\n const mod = dayOfTheWeek % 7;\n const day = new Date(this._calendarYear, this._calendarMonth, currentMonthDaysIterator);\n\n if (calendar.get(this.days[mod].name)) {\n calendar.get(this.days[mod].name)?.push(day);\n } else {\n calendar.set(this.days[mod].name, [day]);\n }\n dayOfTheWeek += 1;\n }\n\n const index = this._calendarDays.findIndex(day => day.value === dayOfTheWeek % 7);\n\n if (index !== 0) {\n for (\n let nextMonthDaysIterator = 1;\n nextMonthDaysIterator <= this._calendarDays.length - index;\n nextMonthDaysIterator++\n ) {\n const mod = dayOfTheWeek % 7;\n const date = new Date(this._calendarYear, this._calendarMonth + 1, nextMonthDaysIterator);\n\n calendar.get(this.days[mod].name)?.push(date);\n\n dayOfTheWeek += 1;\n }\n }\n return calendar;\n }\n\n renderCalendarHeader() {\n const showMonthSelected =\n this._calendarView === CALENDAR_VIEWS.MONTHS ? \"header-text-hover\" : \"\";\n const showYearSelected = this._calendarView === CALENDAR_VIEWS.YEARS ? \"header-text-hover\" : \"\";\n\n return html`\n <div class=\"calendar-header\">\n <bl-button\n class=\"arrow\"\n icon=\"arrow_left\"\n variant=\"tertiary\"\n kind=\"neutral\"\n @click=\"${() => this.setPreviousCalendarView()}\"\n ></bl-button>\n <bl-button\n variant=\"tertiary\"\n kind=\"neutral\"\n class=\"header-text ${showMonthSelected}\"\n @click=\"${() => this.setCurrentCalendarView(CALENDAR_VIEWS.MONTHS)}\"\n >${this.months[this._calendarMonth].name}\n </bl-button>\n <bl-button\n variant=\"tertiary\"\n kind=\"neutral\"\n class=\"header-text ${showYearSelected}\"\n @click=\"${() => this.setCurrentCalendarView(CALENDAR_VIEWS.YEARS)}\"\n >${this._calendarYear}\n </bl-button>\n <bl-button\n class=\"arrow\"\n icon=\"arrow_right\"\n variant=\"tertiary\"\n kind=\"neutral\"\n @click=\"${() => this.setNextCalendarView()}\"\n ></bl-button>\n </div>\n `;\n }\n\n renderCalendarDays() {\n const calendarDays = this.createCalendarDays();\n const valuesArray = Array.from(calendarDays.values());\n\n return html`\n <div class=\"week-row\">\n ${[...calendarDays.keys()].map(key => {\n return html` <div class=\"calendar-text weekday-text\">${key}</div> `;\n })}\n </div>\n <div class=\"days-wrapper\">\n ${[...Array(valuesArray[0].length).keys()].map(key => {\n return html` <div class=\"week-row\">\n ${valuesArray.map(values => {\n const date = values[key];\n const isSelectedDay = this.checkIfSelectedDate(date);\n const isDayToday = this.checkIfDateIsToday(date);\n const isDisabledDay = this.checkIfDateIsDisabled(date);\n\n const classes = classMap({\n \"day\": true,\n \"calendar-text\": true,\n \"today-day\": isDayToday,\n \"selected-day\": isSelectedDay,\n \"other-month-day\": values[key].getMonth() !== this._calendarMonth,\n \"disabled-day\": isDisabledDay,\n });\n\n return html`\n <div class=\"day-wrapper\">\n <bl-button\n id=${date.getTime()}\n variant=\"tertiary\"\n kind=\"neutral\"\n size=\"small\"\n class=${classes}\n ?disabled=${isDisabledDay}\n @click=\"${() => !isDisabledDay && this.handleDate(date)}\"\n >\n ${date.getDate()}\n </bl-button>\n </div>\n `;\n })}\n </div>`;\n })}\n </div>\n </div>`;\n }\n\n renderCalendarMonths() {\n return html` <div class=\"grid-content\">\n ${this.months.map((month, index) => {\n const variant = month.value === this._calendarMonth ? \"primary\" : \"tertiary\";\n const neutral = month.value === this._calendarMonth ? \"default\" : \"neutral\";\n\n return html` <bl-button\n variant=${variant}\n kind=${neutral}\n class=\"grid-item\"\n size=\"small\"\n @click=\"${() => this.setMonthAndCalendarView(index)}\"\n ><span class=\"calendar-text\">${month.name}</span></bl-button\n >`;\n })}\n </div>`;\n }\n\n renderCalendarYears() {\n this.generateSurroundingYears();\n return html` <div class=\"grid-content\">\n ${this._calendarYears.map(year => {\n const variant = year === this._calendarYear ? \"primary\" : \"tertiary\";\n const neutral = year === this._calendarYear ? \"default\" : \"neutral\";\n\n return html` <bl-button\n variant=${variant}\n kind=${neutral}\n class=\"grid-item\"\n @click=\"${() => this.setYearAndCalendarView(year)}\"\n ><span class=\"calendar-text\">${year}</span></bl-button\n >`;\n })}\n </div>`;\n }\n\n render() {\n return html`\n <div>\n <div class=\"calendar-content\">\n <div class=\"calendar\">\n ${this.renderCalendarHeader()}\n ${this._calendarView === CALENDAR_VIEWS.DAYS ? this.renderCalendarDays() : \"\"}\n ${this._calendarView === CALENDAR_VIEWS.MONTHS ? this.renderCalendarMonths() : \"\"}\n ${this._calendarView === CALENDAR_VIEWS.YEARS ? this.renderCalendarYears() : \"\"}\n </div>\n </div>\n </div>\n `;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["stringToDateArray", "value", "tempValue", "splitDates", "date", "isDate", "DatepickerCalendarMixin", "s", "disabledDates", "newVal", "stringToDateArray", "d", "maxDate", "minDate", "value", "oldValue", "tempVal", "__decorateClass", "e", "t", "styles", "i", "bl_calendar_default", "BlCalendar", "DatepickerCalendarMixin", "bl_calendar_default", "month", "day", "year", "fromYear", "_", "i", "view", "_a", "date", "isDateBeforeThanCalendar", "isDateAfterThanCalendar", "calendarDate", "_b", "_c", "d", "tempEndDate", "today", "disabledDate", "_d", "_e", "_f", "_g", "_h", "_i", "startDateParentElement", "endDateParentElement", "rangeDays", "element", "calendar", "currentMonthStartWeekDay", "lastMonthDaysCount", "previousMonthDayCount", "currentMonthDayCount", "dayOfTheWeek", "lastMonthDaysIterator", "mod", "currentMonthDaysIterator", "index", "nextMonthDaysIterator", "showMonthSelected", "showYearSelected", "x", "calendarDays", "valuesArray", "key", "values", "isSelectedDay", "isDayToday", "isDisabledDay", "classes", "o", "variant", "neutral", "__decorateClass", "t", "event", "e"]
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"bl-calendar.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/bl-calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,MAAM,KAAK,CAAC;AAG3C,OAAO,uBAAuB,MAAM,kEAAkE,CAAC;AACvG,OAAO,EAAS,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AAQzB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE1E;;;IAGI;AAEJ,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,uBAAuB;IAE7D,KAAK,OAAc;IAEnB,cAAc,EAAE,MAAM,CAAyB;IAE/C,aAAa,EAAE,MAAM,CAA4B;IAEjD,aAAa,EAAE,YAAY,CAAuB;IAElD,cAAc,EAAE,MAAM,EAAE,CAAM;IAE9B,aAAa,EAAE,WAAW,EAAE,CAAM;IAClC;;OAEG;IAC0B,mBAAmB,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1E,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED,IAAI,MAAM;;;QAKT;IAED,IAAI,IAAI;;;QAKP;IAEM,wBAAwB,aAI7B;IAEF,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAI7C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAI5C,uBAAuB;IAiBvB,mBAAmB;IAiBnB,sBAAsB,CAAC,IAAI,EAAE,YAAY;IAKzC,uBAAuB,CAAC,KAAK,EAAE,MAAM;IAMrC,sBAAsB,CAAC,IAAI,EAAE,MAAM;IAMnC,wBAAwB;IAMxB,sBAAsB;IAMtB,UAAU,CAAC,IAAI,EAAE,IAAI;IAiCrB,0BAA0B,CAAC,YAAY,EAAE,IAAI;IAI7C,4BAA4B,CAAC,YAAY,EAAE,IAAI;IAW/C,yBAAyB,CAAC,YAAY,EAAE,IAAI;IAmB5C,mBAAmB,CAAC,YAAY,EAAE,IAAI;IAItC,kBAAkB,CAAC,YAAY,EAAE,IAAI;IAUrC,qBAAqB,CAAC,YAAY,EAAE,IAAI;IAmBxC,aAAa;IAmCb,kBAAkB;IA0ElB,oBAAoB;IAuCpB,kBAAkB;IAkDlB,oBAAoB;IAkBpB,mBAAmB;IAkBnB,MAAM;CAcP"}
1
+ {"version":3,"file":"bl-calendar.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/bl-calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,MAAM,KAAK,CAAC;AAG3C,OAAO,uBAAuB,MAAM,kEAAkE,CAAC;AACvG,OAAO,EAAS,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AAQzB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE1E;;;IAGI;AAEJ,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,uBAAuB;IAE7D,KAAK,OAAc;IAEnB,cAAc,EAAE,MAAM,CAAyB;IAE/C,aAAa,EAAE,MAAM,CAA4B;IAEjD,aAAa,EAAE,YAAY,CAAuB;IAElD,cAAc,EAAE,MAAM,EAAE,CAAM;IAE9B,aAAa,EAAE,WAAW,EAAE,CAAM;IAClC;;OAEG;IAC0B,mBAAmB,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1E,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED,IAAI,MAAM;;;QAKT;IAED,IAAI,IAAI;;;QAKP;IAEM,wBAAwB,aAI7B;IAEF,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAI7C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAI5C,uBAAuB;IAiBvB,mBAAmB;IAiBnB,sBAAsB,CAAC,IAAI,EAAE,YAAY;IAKzC,uBAAuB,CAAC,KAAK,EAAE,MAAM;IAMrC,sBAAsB,CAAC,IAAI,EAAE,MAAM;IAMnC,wBAAwB;IAMxB,sBAAsB;IAMtB,UAAU,CAAC,IAAI,EAAE,IAAI;IAiCrB,0BAA0B,CAAC,YAAY,EAAE,IAAI;IAI7C,4BAA4B,CAAC,YAAY,EAAE,IAAI;IAW/C,yBAAyB,CAAC,YAAY,EAAE,IAAI;IAmB5C,mBAAmB,CAAC,YAAY,EAAE,IAAI;IAStC,kBAAkB,CAAC,YAAY,EAAE,IAAI;IAUrC,qBAAqB,CAAC,YAAY,EAAE,IAAI;IAmBxC,aAAa;IAmCb,kBAAkB;IA0ElB,oBAAoB;IAuCpB,kBAAkB;IAkDlB,oBAAoB;IAkBpB,mBAAmB;IAkBnB,MAAM;CAcP"}
@@ -1,2 +1,2 @@
1
- import{b as a}from"../../chunk-IEFNMLBZ.js";import"../../chunk-WEEGH2F4.js";import"../../chunk-VU6LRFZR.js";import"../../chunk-IGNJQVQF.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
1
+ import{b as a}from"../../chunk-O7VPXMZW.js";import"../../chunk-WEEGH2F4.js";import"../../chunk-VU6LRFZR.js";import"../../chunk-IGNJQVQF.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
2
2
  //# sourceMappingURL=bl-calendar.js.map
@@ -1,4 +1,4 @@
1
- import { CSSResultGroup, TemplateResult } from "lit";
1
+ import { CSSResultGroup, PropertyValues, TemplateResult } from "lit";
2
2
  import { BlCalendar, BlPopover } from "../../baklava";
3
3
  import DatepickerCalendarMixin from "../../mixins/datepicker-calendar-mixin/datepicker-calendar-mixin";
4
4
  import "../calendar/bl-calendar";
@@ -65,6 +65,7 @@ export default class BlDatepicker extends DatepickerCalendarMixin {
65
65
  _togglePopover(): void;
66
66
  formatAdditionalDates(str: string): TemplateResult[];
67
67
  firstUpdated(): Promise<void>;
68
+ updated(changedProperties: PropertyValues): void;
68
69
  disconnectedCallback(): void;
69
70
  render(): TemplateResult<1>;
70
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bl-datepicker.d.ts","sourceRoot":"","sources":["../../../src/components/datepicker/bl-datepicker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,uBAAuB,MAAM,kEAAkE,CAAC;AAEvG,OAAO,yBAAyB,CAAC;AAEjC,OAAO,mBAAmB,CAAC;AAC3B,OAAO,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,uBAAuB,CAAC;AAG/B;;;;;IAKI;AAEJ,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,uBAAuB;IAC/D;;OAEG;IAEH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IAEH,IAAI,CAAC,EAAE,SAAS,CAAY;IAE5B;;OAEG;IAEH,UAAU,UAAS;IACnB;;OAEG;IAEH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IAEH,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,MAAM,CAAC,GAAG,IAAI,CAAQ;IAC1D;;OAEG;IAEH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IAEH,QAAQ,EAAE,MAAM,CAAC;IAGjB,WAAW,SAAM;IAGjB,cAAc,EAAE,IAAI,EAAE,CAAM;IAG5B,kBAAkB,EAAE,MAAM,CAAK;IAG/B,iBAAiB,EAAE,MAAM,CAAK;IAG9B,WAAW,EAAE,UAAU,CAAC;IAGxB,UAAU,EAAE,SAAS,CAAC;IAGtB,QAAQ,EAAG,OAAO,CAAC;IAEnB,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,OAAO,CAAC,iBAAiB,CAA+B;IAExD;;OAEG;IAC4B,OAAO,CAAC,qBAAqB,CAA0B;IAEtF,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED,0BAA0B;IAmB1B,uBAAuB;IAOvB,gBAAgB;IAUhB,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE;IAerC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAO9B,eAAe;IAOf,WAAW;IAKX,YAAY;IAIZ,cAAc;IAId,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE;IAY9C,YAAY;IAmBlB,oBAAoB;IAMpB,MAAM;CAuEP"}
1
+ {"version":3,"file":"bl-datepicker.d.ts","sourceRoot":"","sources":["../../../src/components/datepicker/bl-datepicker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,uBAAuB,MAAM,kEAAkE,CAAC;AAEvG,OAAO,yBAAyB,CAAC;AAEjC,OAAO,mBAAmB,CAAC;AAC3B,OAAO,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,uBAAuB,CAAC;AAG/B;;;;;IAKI;AAEJ,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,uBAAuB;IAC/D;;OAEG;IAEH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IAEH,IAAI,CAAC,EAAE,SAAS,CAAY;IAE5B;;OAEG;IAEH,UAAU,UAAS;IACnB;;OAEG;IAEH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IAEH,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,MAAM,CAAC,GAAG,IAAI,CAAQ;IAC1D;;OAEG;IAEH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IAEH,QAAQ,EAAE,MAAM,CAAC;IAGjB,WAAW,SAAM;IAGjB,cAAc,EAAE,IAAI,EAAE,CAAM;IAG5B,kBAAkB,EAAE,MAAM,CAAK;IAG/B,iBAAiB,EAAE,MAAM,CAAK;IAG9B,WAAW,EAAE,UAAU,CAAC;IAGxB,UAAU,EAAE,SAAS,CAAC;IAGtB,QAAQ,EAAG,OAAO,CAAC;IAEnB,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,OAAO,CAAC,iBAAiB,CAA+B;IAExD;;OAEG;IAC4B,OAAO,CAAC,qBAAqB,CAA0B;IAEtF,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED,0BAA0B;IAmB1B,uBAAuB;IAOvB,gBAAgB;IAUhB,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE;IAerC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAO9B,eAAe;IAOf,WAAW;IAKX,YAAY;IAIZ,cAAc;IAId,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE;IAY9C,YAAY;IAmBlB,OAAO,CAAC,iBAAiB,EAAE,cAAc;IAMzC,oBAAoB;IAMpB,MAAM;CAuEP"}
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-UBN4DMBO.js";import"../../chunk-AW5LBSEM.js";import"../../chunk-47S2NIWC.js";import"../../chunk-EZSEQHRH.js";import"../../chunk-2I4NXKV5.js";import"../../chunk-MND5TXTF.js";import"../../chunk-IEFNMLBZ.js";import"../../chunk-WEEGH2F4.js";import"../../chunk-EG7U7PM3.js";import"../../chunk-XDUIVR6I.js";import"../../chunk-HZ6A5QFC.js";import"../../chunk-AYJMIZZ3.js";import"../../chunk-VU6LRFZR.js";import"../../chunk-IGNJQVQF.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
1
+ import{a}from"../../chunk-7TWNQK6I.js";import"../../chunk-AW5LBSEM.js";import"../../chunk-47S2NIWC.js";import"../../chunk-EZSEQHRH.js";import"../../chunk-2I4NXKV5.js";import"../../chunk-MND5TXTF.js";import"../../chunk-O7VPXMZW.js";import"../../chunk-WEEGH2F4.js";import"../../chunk-EG7U7PM3.js";import"../../chunk-XDUIVR6I.js";import"../../chunk-HZ6A5QFC.js";import"../../chunk-AYJMIZZ3.js";import"../../chunk-VU6LRFZR.js";import"../../chunk-IGNJQVQF.js";import"../../chunk-6LT7O7T2.js";import"../../chunk-DINNT5P2.js";import"../../chunk-BH64QNLE.js";import"../../chunk-GRL4DWKG.js";import"../../chunk-3USCFSFQ.js";import"../../chunk-7GK5LKBV.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
2
2
  //# sourceMappingURL=bl-datepicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker-calendar-mixin.d.ts","sourceRoot":"","sources":["../../../src/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AAGtF,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D;;OAEG;IAEH,IAAI,EAAE,YAAY,CAAC;IACnB;;OAEG;IAEH,WAAW,EAAE,SAAS,CAAK;IAC3B;;OAEG;IAEH,MAAM,EAAE,MAAM,CAA4C;IAE1D,cAAc,EAAE,IAAI,EAAE,CAAM;IAE5B;;OAEG;IACH,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAM;IAEtC,IAAI,aAAa,IAAI,IAAI,EAAE,CAE1B;IAED,IAII,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,MAAM,EAe/C;IAED;;OAEG;IACH,QAAQ,EAAE,IAAI,CAAC;IAEf,IAAI,OAAO,IAKU,IAAI,CAHxB;IAED,IACI,OAAO,CAAC,OAAO,EAAE,IAAI,EAMxB;IAED;;OAEG;IACH,QAAQ,EAAE,IAAI,CAAC;IAEf,IAAI,OAAO,IAKU,IAAI,CAHxB;IAED,IACI,OAAO,CAAC,OAAO,EAAE,IAAI,EAMxB;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAEzC;;;OAGG;IACH,IAAI,KAAK,IAKQ,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,CAHtC;IAED,IACI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,EAgCtC;CACF"}
1
+ {"version":3,"file":"datepicker-calendar-mixin.d.ts","sourceRoot":"","sources":["../../../src/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AAGtF,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D;;OAEG;IAEH,IAAI,EAAE,YAAY,CAAC;IACnB;;OAEG;IAEH,WAAW,EAAE,SAAS,CAAK;IAC3B;;OAEG;IAEH,MAAM,EAAE,MAAM,CAA4C;IAE1D,cAAc,EAAE,IAAI,EAAE,CAAM;IAE5B;;OAEG;IACH,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAM;IAEtC,IAAI,aAAa,IAAI,IAAI,EAAE,CAE1B;IAED,IAII,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,MAAM,EAe/C;IAED;;OAEG;IACH,QAAQ,EAAE,IAAI,CAAC;IAEf,IAAI,OAAO,IAKU,IAAI,CAHxB;IAED,IACI,OAAO,CAAC,OAAO,EAAE,IAAI,EAWxB;IAED;;OAEG;IACH,QAAQ,EAAE,IAAI,CAAC;IAEf,IAAI,OAAO,IAKU,IAAI,CAHxB;IAED,IACI,OAAO,CAAC,OAAO,EAAE,IAAI,EAWxB;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAEzC;;;OAGG;IACH,IAAI,KAAK,IAKQ,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,CAHtC;IAED,IACI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,EAgCtC;CACF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@trendyol/baklava",
3
3
  "type": "module",
4
- "version": "3.3.0-beta.12",
4
+ "version": "3.3.0-beta.14",
5
5
  "description": "Trendyol Baklava Design System",
6
6
  "main": "dist/baklava.js",
7
7
  "module": "dist/baklava.js",
@@ -1,84 +0,0 @@
1
- import{a as w,b as Y}from"./chunk-WEEGH2F4.js";import{a as C}from"./chunk-6LT7O7T2.js";import{a as M}from"./chunk-GRL4DWKG.js";import{a as A,b as g,c as y}from"./chunk-5MOOXA2X.js";import{a as x,b as c,f as S}from"./chunk-4OT5AMS5.js";import{d as r}from"./chunk-IZ2LK5GK.js";function k(p){let _=[],e=p.split(",");return e==null||e.forEach(t=>{let a=new Date(t.trim());isNaN(a.getTime())||_.push(a)}),_}var o=class extends S{constructor(){super(...arguments);this.startOfWeek=0;this.locale=document.documentElement.lang||"en-EN";this._selectedDates=[];this._disabledDates=[]}get disabledDates(){return this._disabledDates}set disabledDates(e){let t=[];typeof e=="string"?t=k(e):Array.isArray(e)&&(t=e.filter(a=>!isNaN(a.getTime()))),this.requestUpdate("disabledDates",t),this._disabledDates=t}get maxDate(){return this._maxDate}set maxDate(e){this._minDate&&this._minDate>=e?console.warn("maxDate cannot be smaller than minDate."):this._maxDate=e}get minDate(){return this._minDate}set minDate(e){this._maxDate&&this._maxDate<=e?console.warn("minDate cannot be greater than maxDate."):this._minDate=e}get value(){return this._value}set value(e){if(e){let t=this._value,a=[];typeof e=="string"?a=k(e):e instanceof Date?a.push(e):Array.isArray(e)&&(a=e),a.length>0&&(this.type==="single"&&a.length>1?console.warn("'value' must be a single Date for single type selection."):this.type==="range"&&Array.isArray(a)&&a.length!=2?console.warn("'value' must be an array of two Date objects when the type selection mode is set to range."):(this._value=e,this._selectedDates=a)),this.requestUpdate("value",t)}}};r([g()],o.prototype,"type",2),r([g({type:Number,attribute:"start-of-week",reflect:!0})],o.prototype,"startOfWeek",2),r([g()],o.prototype,"locale",2),r([y()],o.prototype,"_selectedDates",2),r([g({attribute:"disabled-dates",reflect:!0})],o.prototype,"disabledDates",1),r([g({type:Date,attribute:"max-date",reflect:!0})],o.prototype,"maxDate",1),r([g({type:Date,attribute:"min-date",reflect:!0})],o.prototype,"minDate",1),r([g({attribute:"value",reflect:!0})],o.prototype,"value",1);var E=x`.calendar{display:flex;flex-direction:column}.calendar-content{display:flex;padding:var(--bl-size-m);flex-direction:column;align-items:center;gap:var(--bl-size-m);border-radius:var(--bl-border-radius-s);width:fit-content;background:var(--bl-color-neutral-full)}.calendar-header{display:flex;justify-content:space-between;width:100%;align-items:center;padding-bottom:var(--bl-size-s)}.arrow{flex:1}.header-text{flex:3}.header-text-hover{background:var(--bl-color-neutral-lightest);border-radius:var(--bl-border-radius-s)}.days-wrapper{display:flex;flex-direction:column}.day-wrapper{display:flex;align-items:center;justify-content:center}.week-row{display:flex;align-items:center;flex-direction:row;padding-bottom:var(--bl-size-2xs)}.day{display:flex;align-items:center;width:40px;--bl-button-focus-border-color:#000;--bl-font-title-4-medium:var(--bl-font-weight-regular) var(--bl-font-size-m);--bl-size-xl:40px;--bl-border-radius-m:50%;--bl-border-radius-l:50%}.day.today-day{--bl-color-neutral-darker:var(--bl-color-primary);--bl-color-neutral-darkest:var(--bl-color-primary)}.day.other-month-day{--bl-color-neutral-darker:var(--bl-color-neutral-dark)}.day.other-month-day.selected-day{--bl-color-neutral-darker:var(--bl-color-neutral-full)}.day.selected-day{background:var(--bl-color-primary);border-radius:50%;--bl-button-focus-border-color:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full)}.range-day{background:var(--bl-color-primary-contrast);--bl-color-neutral-lightest:var(--bl-color-primary-contrast)}.range-end-day,.range-start-day,.selected-day{--bl-color-neutral-lightest:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full);--bl-color-neutral-darkest:var(--bl-color-neutral-full) !important}.range-start-day{background:var(--bl-color-primary-contrast);border-top-left-radius:50%;border-bottom-left-radius:50%}.range-end-day{background:var(--bl-color-primary-contrast);border-top-right-radius:50%;border-bottom-right-radius:50%}.weekday-text{color:var(--bl-color-neutral-dark);text-align:center;padding:var(--bl-size-2xs) 0;width:40px}.grid-content{display:grid;grid-template-columns:auto auto auto;text-align:center}.grid-item{width:93.33px;--bl-size-3xs:15px}.grid-item:not(:nth-last-child(-n + 3)){padding-bottom:var(--bl-size-2xs)}.calendar-text{font:var(--bl-font-title-3-regular)}`,T=E;var d=class extends o{constructor(){super(...arguments);this.today=new Date;this._calendarMonth=this.today.getMonth();this._calendarYear=this.today.getFullYear();this._calendarView="days";this._calendarYears=[];this._calendarDays=[];this.handleClearSelectedDates=()=>{this._selectedDates=[],this._onBlCalendarChange([]),this.clearRangePickerStyles()}}static get styles(){return[T]}get months(){return[...Array(12).keys()].map(e=>({name:new Date(0,e+1,0).toLocaleString(this.locale,{month:"long"}),value:e}))}get days(){return[...Array(7).keys()].map(e=>({name:new Date(0,0,e).toLocaleString(this.locale,{weekday:"short"}),value:e}))}getDayNumInAMonth(e,t){return new Date(e,t+1,0).getDate()}getWeekDayOfDate(e,t){return new Date(e,t,1).getDay()}setPreviousCalendarView(){if(this.clearRangePickerStyles(),this._calendarView==="days")this._calendarMonth===0?(this._calendarMonth=11,this._calendarYear-=1):this._calendarMonth-=1;else if(this._calendarView==="months")this._calendarYear-=1;else if(this._calendarView==="years"){let e=this._calendarYears[0];this._calendarYears=Array.from({length:12},(t,a)=>e-(a+1))}this.type==="range"&&this.setHoverClass()}setNextCalendarView(){if(this.clearRangePickerStyles(),this._calendarView==="days")this._calendarMonth===11?(this._calendarMonth=0,this._calendarYear+=1):this._calendarMonth+=1;else if(this._calendarView==="months")this._calendarYear+=1;else if(this._calendarView==="years"){let e=this._calendarYears[11];this._calendarYears=Array.from({length:12},(t,a)=>e+(a+1))}this.setHoverClass()}setCurrentCalendarView(e){this._calendarView=this._calendarView!==e?e:"days",this.setHoverClass()}setMonthAndCalendarView(e){this._calendarMonth=e,this._calendarView="days",this.type==="range"&&this.setHoverClass()}setYearAndCalendarView(e){this._calendarYear=e,this._calendarView="days",this.type==="range"&&this.setHoverClass()}generateSurroundingYears(){this._calendarYears.length||(this._calendarYears=Array.from({length:12},(e,t)=>this._calendarYear-4+t))}clearRangePickerStyles(){var e;(e=this.shadowRoot)==null||e.querySelectorAll(".range-day, .range-start-day, .range-end-day").forEach(t=>t.classList.remove("range-day","range-start-day","range-end-day"))}handleDate(e){if(this.type!=="range"){let t=e.getFullYear()<this._calendarYear||e.getFullYear()===this._calendarYear&&e.getMonth()<this._calendarMonth,a=e.getFullYear()>this._calendarYear||e.getFullYear()===this._calendarYear&&e.getMonth()>this._calendarMonth;t?this.setPreviousCalendarView():a&&this.setNextCalendarView()}switch(this.type){case"single":this.handleSingleSelectCalendar(e);break;case"multiple":this.handleMultipleSelectCalendar(e);break;case"range":this.handleRangeSelectCalendar(e);break}this._onBlCalendarChange(this._selectedDates),this.requestUpdate()}handleSingleSelectCalendar(e){this._selectedDates=[e]}handleMultipleSelectCalendar(e){var a,s,i;((a=this._selectedDates)==null?void 0:a.some(n=>n.getTime()===e.getTime()))?(i=this._selectedDates)==null||i.splice((s=this._selectedDates)==null?void 0:s.findIndex(n=>n.getTime()===e.getTime()),1):this._selectedDates.push(e)}handleRangeSelectCalendar(e){if(!this._selectedDates[0])this._selectedDates[0]=e;else if(this._selectedDates[1])this._selectedDates=[],this._selectedDates[0]=e;else if(e.getTime()>this._selectedDates[0].getTime())this._selectedDates[1]=e;else{let t=this._selectedDates[0];this._selectedDates[0]=e,this._selectedDates[1]=t}this.setHoverClass()}checkIfSelectedDate(e){var t;return(t=this._selectedDates)==null?void 0:t.some(a=>(a==null?void 0:a.getTime())===e.getTime())}checkIfDateIsToday(e){let t=this.today;return t.getDate()===e.getDate()&&t.getMonth()===e.getMonth()&&t.getFullYear()===e.getFullYear()}checkIfDateIsDisabled(e){var t,a;return e.getTime()<((t=this.minDate)==null?void 0:t.getTime())||e.getTime()>((a=this.maxDate)==null?void 0:a.getTime())?!0:this.disabledDates.length>0?this.disabledDates.some(s=>e.getDate()===s.getDate()&&e.getMonth()===s.getMonth()&&e.getFullYear()===s.getFullYear()):!1}setHoverClass(){this.clearRangePickerStyles(),this._selectedDates[0]&&this._selectedDates[1]&&setTimeout(()=>{var s,i,n,b,u,f,l,h,m;let e=(n=(i=this.shadowRoot)==null?void 0:i.getElementById(`${(s=this._selectedDates[0])==null?void 0:s.getTime()}`))==null?void 0:n.parentElement;e==null||e.classList.add("range-start-day");let t=(f=(u=this.shadowRoot)==null?void 0:u.getElementById(`${(b=this._selectedDates[1])==null?void 0:b.getTime()}`))==null?void 0:f.parentElement;t==null||t.classList.add("range-end-day");let a=[...this.createCalendarDays().values()].flat().filter(D=>D.getTime()>this._selectedDates[0].getTime()&&D.getTime()<this._selectedDates[1].getTime());for(let D=0;D<a.length;D++){let v=(h=(l=this.shadowRoot)==null?void 0:l.getElementById(`${a[D].getTime()}`))==null?void 0:h.parentElement;(m=v==null?void 0:v.classList)==null||m.add("range-day")}})}createCalendarDays(){var u,f;let e=new Map;this._calendarDays=this.days.slice(this.startOfWeek).concat(this.days.slice(0,this.startOfWeek));let t=this.getWeekDayOfDate(this._calendarYear,this._calendarMonth),a=t<this.startOfWeek?7-(this.startOfWeek-t):t-this.startOfWeek,s=this.getDayNumInAMonth(this._calendarYear,this._calendarMonth-1),i=this.getDayNumInAMonth(this._calendarYear,this._calendarMonth),n=this.startOfWeek;for(let l=a;l>0;l--){let h=n%7,m=new Date(this._calendarYear,this._calendarMonth-1,s-l+1);e.set(this.days[h].name,[m]),n+=1}for(let l=1;l<=i;l++){let h=n%7,m=new Date(this._calendarYear,this._calendarMonth,l);e.get(this.days[h].name)?(u=e.get(this.days[h].name))==null||u.push(m):e.set(this.days[h].name,[m]),n+=1}let b=this._calendarDays.findIndex(l=>l.value===n%7);if(b!==0)for(let l=1;l<=this._calendarDays.length-b;l++){let h=n%7,m=new Date(this._calendarYear,this._calendarMonth+1,l);(f=e.get(this.days[h].name))==null||f.push(m),n+=1}return e}renderCalendarHeader(){let e=this._calendarView==="months"?"header-text-hover":"",t=this._calendarView==="years"?"header-text-hover":"";return c`
2
- <div class="calendar-header">
3
- <bl-button
4
- class="arrow"
5
- icon="arrow_left"
6
- variant="tertiary"
7
- kind="neutral"
8
- @click="${()=>this.setPreviousCalendarView()}"
9
- ></bl-button>
10
- <bl-button
11
- variant="tertiary"
12
- kind="neutral"
13
- class="header-text ${e}"
14
- @click="${()=>this.setCurrentCalendarView("months")}"
15
- >${this.months[this._calendarMonth].name}
16
- </bl-button>
17
- <bl-button
18
- variant="tertiary"
19
- kind="neutral"
20
- class="header-text ${t}"
21
- @click="${()=>this.setCurrentCalendarView("years")}"
22
- >${this._calendarYear}
23
- </bl-button>
24
- <bl-button
25
- class="arrow"
26
- icon="arrow_right"
27
- variant="tertiary"
28
- kind="neutral"
29
- @click="${()=>this.setNextCalendarView()}"
30
- ></bl-button>
31
- </div>
32
- `}renderCalendarDays(){let e=this.createCalendarDays(),t=Array.from(e.values());return c`
33
- <div class="week-row">
34
- ${[...e.keys()].map(a=>c` <div class="calendar-text weekday-text">${a}</div> `)}
35
- </div>
36
- <div class="days-wrapper">
37
- ${[...Array(t[0].length).keys()].map(a=>c` <div class="week-row">
38
- ${t.map(s=>{let i=s[a],n=this.checkIfSelectedDate(i),b=this.checkIfDateIsToday(i),u=this.checkIfDateIsDisabled(i),f=C({day:!0,"calendar-text":!0,"today-day":b,"selected-day":n,"other-month-day":s[a].getMonth()!==this._calendarMonth,"disabled-day":u});return c`
39
- <div class="day-wrapper">
40
- <bl-button
41
- id=${i.getTime()}
42
- variant="tertiary"
43
- kind="neutral"
44
- size="small"
45
- class=${f}
46
- ?disabled=${u}
47
- @click="${()=>!u&&this.handleDate(i)}"
48
- >
49
- ${i.getDate()}
50
- </bl-button>
51
- </div>
52
- `})}
53
- </div>`)}
54
- </div>
55
- </div>`}renderCalendarMonths(){return c` <div class="grid-content">
56
- ${this.months.map((e,t)=>{let a=e.value===this._calendarMonth?"primary":"tertiary",s=e.value===this._calendarMonth?"default":"neutral";return c` <bl-button
57
- variant=${a}
58
- kind=${s}
59
- class="grid-item"
60
- size="small"
61
- @click="${()=>this.setMonthAndCalendarView(t)}"
62
- ><span class="calendar-text">${e.name}</span></bl-button
63
- >`})}
64
- </div>`}renderCalendarYears(){return this.generateSurroundingYears(),c` <div class="grid-content">
65
- ${this._calendarYears.map(e=>{let t=e===this._calendarYear?"primary":"tertiary",a=e===this._calendarYear?"default":"neutral";return c` <bl-button
66
- variant=${t}
67
- kind=${a}
68
- class="grid-item"
69
- @click="${()=>this.setYearAndCalendarView(e)}"
70
- ><span class="calendar-text">${e}</span></bl-button
71
- >`})}
72
- </div>`}render(){return c`
73
- <div>
74
- <div class="calendar-content">
75
- <div class="calendar">
76
- ${this.renderCalendarHeader()}
77
- ${this._calendarView==="days"?this.renderCalendarDays():""}
78
- ${this._calendarView==="months"?this.renderCalendarMonths():""}
79
- ${this._calendarView==="years"?this.renderCalendarYears():""}
80
- </div>
81
- </div>
82
- </div>
83
- `}};r([y()],d.prototype,"today",2),r([y()],d.prototype,"_calendarMonth",2),r([y()],d.prototype,"_calendarYear",2),r([y()],d.prototype,"_calendarView",2),r([y()],d.prototype,"_calendarYears",2),r([y()],d.prototype,"_calendarDays",2),r([M("bl-calendar-change")],d.prototype,"_onBlCalendarChange",2),d=r([A("bl-calendar")],d);export{o as a,d as b};
84
- //# sourceMappingURL=chunk-IEFNMLBZ.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/utilities/string-to-date-converter.ts", "../src/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.ts", "../src/components/calendar/bl-calendar.css", "../src/components/calendar/bl-calendar.ts"],
4
- "sourcesContent": ["export function stringToDateArray(value: string): Date[] {\n const tempValue: Date[] = [];\n const splitDates = value.split(\",\");\n\n splitDates?.forEach(date => {\n const isDate = new Date(date.trim());\n\n if (!isNaN(isDate.getTime())) {\n tempValue.push(isDate);\n }\n });\n return tempValue;\n}\n", "import { LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { CALENDAR_TYPES } from \"../../components/calendar/bl-calendar.constant\";\nimport { CalendarType, DayValues } from \"../../components/calendar/bl-calendar.types\";\nimport { stringToDateArray } from \"../../utilities/string-to-date-converter\";\n\nexport default class DatepickerCalendarMixin extends LitElement {\n /**\n * Defines the calendar types, available types are single, multiple and range\n */\n @property()\n type: CalendarType;\n /**\n * Defines the start day of the calendar (1 defines monday)\n */\n @property({ type: Number, attribute: \"start-of-week\", reflect: true })\n startOfWeek: DayValues = 0;\n /**\n * Defines the calendar language\n */\n @property()\n locale: string = document.documentElement.lang || \"en-EN\";\n @state()\n _selectedDates: Date[] = [];\n\n /**\n * Defines the unselectable dates for calendar\n */\n protected _disabledDates: Date[] = [];\n\n get disabledDates(): Date[] {\n return this._disabledDates;\n }\n\n @property({\n attribute: \"disabled-dates\",\n reflect: true,\n })\n set disabledDates(disabledDates: Date[] | string) {\n // Now we are using 1.6.0 version of @lit/reactive-elements and in this version even if our property has property decorator it doesn't run request update inside.\n // We added similar implementations to update when there is a change.\n // When we update the lit to 2.0 or upper versions we can remove the requestUpdate here\n\n let newVal: Date[] = [];\n\n if (typeof disabledDates === \"string\") {\n newVal = stringToDateArray(disabledDates);\n } else if (Array.isArray(disabledDates)) {\n newVal = disabledDates.filter(d => !isNaN(d.getTime()));\n }\n\n this.requestUpdate(\"disabledDates\", newVal);\n this._disabledDates = newVal;\n }\n\n /**\n * Defines the maximum date value for the calendar\n */\n _maxDate: Date;\n\n get maxDate() {\n return this._maxDate;\n }\n\n @property({ type: Date, attribute: \"max-date\", reflect: true })\n set maxDate(maxDate: Date) {\n if (this._minDate && this._minDate >= maxDate) {\n console.warn(\"maxDate cannot be smaller than minDate.\");\n } else {\n this._maxDate = maxDate;\n }\n }\n\n /**\n * Defines the minimum date value for the calendar\n */\n _minDate: Date;\n\n get minDate() {\n return this._minDate;\n }\n\n @property({ type: Date, attribute: \"min-date\", reflect: true })\n set minDate(minDate: Date) {\n if (this._maxDate && this._maxDate <= minDate) {\n console.warn(\"minDate cannot be greater than maxDate.\");\n } else {\n this._minDate = minDate;\n }\n }\n\n /**\n * Target elements state\n */\n protected _value: Date | Date[] | string;\n\n /**\n * Sets the target element of the popover to align and trigger.\n * It can be a string id of the target element or can be a direct Element reference of it.\n */\n get value() {\n return this._value;\n }\n\n @property({ attribute: \"value\", reflect: true })\n set value(value: string | Date | Date[]) {\n if (value) {\n const oldValue = this._value;\n let tempVal: Date[] = [];\n\n if (typeof value === \"string\") {\n tempVal = stringToDateArray(value);\n } else if (value instanceof Date) {\n tempVal.push(value);\n } else if (Array.isArray(value)) {\n tempVal = value;\n }\n\n if (tempVal.length > 0) {\n if (this.type === CALENDAR_TYPES.SINGLE && tempVal.length > 1) {\n console.warn(\"'value' must be a single Date for single type selection.\");\n } else if (\n this.type === CALENDAR_TYPES.RANGE &&\n Array.isArray(tempVal) &&\n tempVal.length != 2\n ) {\n console.warn(\n \"'value' must be an array of two Date objects when the type selection mode is set to range.\"\n );\n } else {\n this._value = value;\n this._selectedDates = tempVal;\n }\n }\n\n this.requestUpdate(\"value\", oldValue);\n }\n }\n}\n", "import {css} from 'lit';\nexport const styles = css`.calendar{display:flex;flex-direction:column}.calendar-content{display:flex;padding:var(--bl-size-m);flex-direction:column;align-items:center;gap:var(--bl-size-m);border-radius:var(--bl-border-radius-s);width:fit-content;background:var(--bl-color-neutral-full)}.calendar-header{display:flex;justify-content:space-between;width:100%;align-items:center;padding-bottom:var(--bl-size-s)}.arrow{flex:1}.header-text{flex:3}.header-text-hover{background:var(--bl-color-neutral-lightest);border-radius:var(--bl-border-radius-s)}.days-wrapper{display:flex;flex-direction:column}.day-wrapper{display:flex;align-items:center;justify-content:center}.week-row{display:flex;align-items:center;flex-direction:row;padding-bottom:var(--bl-size-2xs)}.day{display:flex;align-items:center;width:40px;--bl-button-focus-border-color:#000;--bl-font-title-4-medium:var(--bl-font-weight-regular) var(--bl-font-size-m);--bl-size-xl:40px;--bl-border-radius-m:50%;--bl-border-radius-l:50%}.day.today-day{--bl-color-neutral-darker:var(--bl-color-primary);--bl-color-neutral-darkest:var(--bl-color-primary)}.day.other-month-day{--bl-color-neutral-darker:var(--bl-color-neutral-dark)}.day.other-month-day.selected-day{--bl-color-neutral-darker:var(--bl-color-neutral-full)}.day.selected-day{background:var(--bl-color-primary);border-radius:50%;--bl-button-focus-border-color:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full)}.range-day{background:var(--bl-color-primary-contrast);--bl-color-neutral-lightest:var(--bl-color-primary-contrast)}.range-end-day,.range-start-day,.selected-day{--bl-color-neutral-lightest:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full);--bl-color-neutral-darkest:var(--bl-color-neutral-full) !important}.range-start-day{background:var(--bl-color-primary-contrast);border-top-left-radius:50%;border-bottom-left-radius:50%}.range-end-day{background:var(--bl-color-primary-contrast);border-top-right-radius:50%;border-bottom-right-radius:50%}.weekday-text{color:var(--bl-color-neutral-dark);text-align:center;padding:var(--bl-size-2xs) 0;width:40px}.grid-content{display:grid;grid-template-columns:auto auto auto;text-align:center}.grid-item{width:93.33px;--bl-size-3xs:15px}.grid-item:not(:nth-last-child(-n + 3)){padding-bottom:var(--bl-size-2xs)}.calendar-text{font:var(--bl-font-title-3-regular)}`;\nexport default styles;\n", "import { CSSResultGroup, html } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport DatepickerCalendarMixin from \"../../mixins/datepicker-calendar-mixin/datepicker-calendar-mixin\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../button/bl-button\";\nimport \"../icon/bl-icon\";\nimport {\n CALENDAR_TYPES,\n CALENDAR_VIEWS,\n FIRST_MONTH_INDEX,\n LAST_MONTH_INDEX,\n} from \"./bl-calendar.constant\";\nimport style from \"./bl-calendar.css\";\nimport { Calendar, CalendarDay, CalendarView } from \"./bl-calendar.types\";\n\n/**\n * @tag bl-calendar\n * @summary Baklava Calendar component\n **/\n@customElement(\"bl-calendar\")\nexport default class BlCalendar extends DatepickerCalendarMixin {\n @state()\n today = new Date();\n @state()\n _calendarMonth: number = this.today.getMonth();\n @state()\n _calendarYear: number = this.today.getFullYear();\n @state()\n _calendarView: CalendarView = CALENDAR_VIEWS.DAYS;\n @state()\n _calendarYears: number[] = [];\n @state()\n _calendarDays: CalendarDay[] = [];\n /**\n * Fires when date selection changes\n */\n @event(\"bl-calendar-change\") _onBlCalendarChange: EventDispatcher<Date[]>;\n\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n get months() {\n return [...Array(12).keys()].map(month => ({\n name: new Date(0, month + 1, 0).toLocaleString(this.locale, { month: \"long\" }),\n value: month,\n }));\n }\n\n get days() {\n return [...Array(7).keys()].map(day => ({\n name: new Date(0, 0, day).toLocaleString(this.locale, { weekday: \"short\" }),\n value: day,\n }));\n }\n\n public handleClearSelectedDates = () => {\n this._selectedDates = [];\n this._onBlCalendarChange([]);\n this.clearRangePickerStyles();\n };\n\n getDayNumInAMonth(year: number, month: number) {\n return new Date(year, month + 1, 0).getDate();\n }\n\n getWeekDayOfDate(year: number, month: number) {\n return new Date(year, month, 1).getDay();\n }\n\n setPreviousCalendarView() {\n this.clearRangePickerStyles();\n if (this._calendarView === CALENDAR_VIEWS.DAYS) {\n if (this._calendarMonth === FIRST_MONTH_INDEX) {\n this._calendarMonth = LAST_MONTH_INDEX;\n this._calendarYear -= 1;\n } else this._calendarMonth -= 1;\n } else if (this._calendarView === CALENDAR_VIEWS.MONTHS) {\n this._calendarYear -= 1;\n } else if (this._calendarView === CALENDAR_VIEWS.YEARS) {\n const fromYear = this._calendarYears[0];\n\n this._calendarYears = Array.from({ length: 12 }, (_, i) => fromYear - (i + 1));\n }\n if (this.type === CALENDAR_TYPES.RANGE) this.setHoverClass();\n }\n\n setNextCalendarView() {\n this.clearRangePickerStyles();\n if (this._calendarView === CALENDAR_VIEWS.DAYS) {\n if (this._calendarMonth === LAST_MONTH_INDEX) {\n this._calendarMonth = FIRST_MONTH_INDEX;\n this._calendarYear += 1;\n } else this._calendarMonth += 1;\n } else if (this._calendarView === CALENDAR_VIEWS.MONTHS) {\n this._calendarYear += 1;\n } else if (this._calendarView === CALENDAR_VIEWS.YEARS) {\n const fromYear = this._calendarYears[11];\n\n this._calendarYears = Array.from({ length: 12 }, (_, i) => fromYear + (i + 1));\n }\n this.setHoverClass();\n }\n\n setCurrentCalendarView(view: CalendarView) {\n this._calendarView = this._calendarView !== view ? view : CALENDAR_VIEWS.DAYS;\n this.setHoverClass();\n }\n\n setMonthAndCalendarView(month: number) {\n this._calendarMonth = month;\n this._calendarView = CALENDAR_VIEWS.DAYS;\n if (this.type === CALENDAR_TYPES.RANGE) this.setHoverClass();\n }\n\n setYearAndCalendarView(year: number) {\n this._calendarYear = year;\n this._calendarView = CALENDAR_VIEWS.DAYS;\n if (this.type === CALENDAR_TYPES.RANGE) this.setHoverClass();\n }\n\n generateSurroundingYears() {\n if (!this._calendarYears.length) {\n this._calendarYears = Array.from({ length: 12 }, (_, i) => this._calendarYear - 4 + i);\n }\n }\n\n clearRangePickerStyles() {\n this.shadowRoot\n ?.querySelectorAll(\".range-day, .range-start-day, .range-end-day\")\n .forEach(day => day.classList.remove(\"range-day\", \"range-start-day\", \"range-end-day\"));\n }\n\n handleDate(date: Date) {\n if (this.type !== CALENDAR_TYPES.RANGE) {\n const isDateBeforeThanCalendar =\n date.getFullYear() < this._calendarYear ||\n (date.getFullYear() === this._calendarYear && date.getMonth() < this._calendarMonth);\n\n const isDateAfterThanCalendar =\n date.getFullYear() > this._calendarYear ||\n (date.getFullYear() === this._calendarYear && date.getMonth() > this._calendarMonth);\n\n if (isDateBeforeThanCalendar) {\n this.setPreviousCalendarView();\n } else if (isDateAfterThanCalendar) {\n this.setNextCalendarView();\n }\n }\n\n switch (this.type) {\n case CALENDAR_TYPES.SINGLE:\n this.handleSingleSelectCalendar(date);\n break;\n case CALENDAR_TYPES.MULTIPLE:\n this.handleMultipleSelectCalendar(date);\n break;\n case CALENDAR_TYPES.RANGE:\n this.handleRangeSelectCalendar(date);\n break;\n }\n\n this._onBlCalendarChange(this._selectedDates);\n this.requestUpdate();\n }\n\n handleSingleSelectCalendar(calendarDate: Date) {\n this._selectedDates = [calendarDate];\n }\n\n handleMultipleSelectCalendar(calendarDate: Date) {\n const dateExist = this._selectedDates?.some(d => d.getTime() === calendarDate.getTime());\n\n dateExist\n ? this._selectedDates?.splice(\n this._selectedDates?.findIndex(d => d.getTime() === calendarDate.getTime()),\n 1\n )\n : this._selectedDates.push(calendarDate);\n }\n\n handleRangeSelectCalendar(calendarDate: Date) {\n if (!this._selectedDates[0]) {\n this._selectedDates[0] = calendarDate;\n } else if (!this._selectedDates[1]) {\n if (calendarDate.getTime() > this._selectedDates[0].getTime()) {\n this._selectedDates[1] = calendarDate;\n } else {\n const tempEndDate = this._selectedDates[0];\n\n this._selectedDates[0] = calendarDate;\n this._selectedDates[1] = tempEndDate;\n }\n } else {\n this._selectedDates = [];\n this._selectedDates[0] = calendarDate;\n }\n this.setHoverClass();\n }\n\n checkIfSelectedDate(calendarDate: Date) {\n return this._selectedDates?.some(date => date?.getTime() === calendarDate.getTime());\n }\n\n checkIfDateIsToday(calendarDate: Date) {\n const today = this.today;\n\n return (\n today.getDate() === calendarDate.getDate() &&\n today.getMonth() === calendarDate.getMonth() &&\n today.getFullYear() === calendarDate.getFullYear()\n );\n }\n\n checkIfDateIsDisabled(calendarDate: Date) {\n if (\n calendarDate.getTime() < this.minDate?.getTime() ||\n calendarDate.getTime() > this.maxDate?.getTime()\n ) {\n return true;\n }\n if (this.disabledDates.length > 0) {\n return this.disabledDates.some(disabledDate => {\n return (\n calendarDate.getDate() === disabledDate.getDate() &&\n calendarDate.getMonth() === disabledDate.getMonth() &&\n calendarDate.getFullYear() === disabledDate.getFullYear()\n );\n });\n }\n return false;\n }\n\n setHoverClass() {\n this.clearRangePickerStyles();\n\n if (this._selectedDates[0] && this._selectedDates[1]) {\n setTimeout(() => {\n const startDateParentElement = this.shadowRoot?.getElementById(\n `${this._selectedDates[0]?.getTime()}`\n )?.parentElement;\n\n startDateParentElement?.classList.add(\"range-start-day\");\n\n const endDateParentElement = this.shadowRoot?.getElementById(\n `${this._selectedDates[1]?.getTime()}`\n )?.parentElement;\n\n endDateParentElement?.classList.add(\"range-end-day\");\n const rangeDays = [...this.createCalendarDays().values()]\n .flat()\n .filter(\n date =>\n date.getTime() > this._selectedDates[0]!.getTime() &&\n date.getTime() < this._selectedDates[1]!.getTime()\n );\n\n for (let i = 0; i < rangeDays.length; i++) {\n const element = this.shadowRoot?.getElementById(\n `${rangeDays[i].getTime()}`\n )?.parentElement;\n\n element?.classList?.add(\"range-day\");\n }\n });\n }\n }\n\n createCalendarDays() {\n const calendar: Calendar = new Map();\n\n this._calendarDays = this.days\n .slice(this.startOfWeek)\n .concat(this.days.slice(0, this.startOfWeek));\n\n const currentMonthStartWeekDay = this.getWeekDayOfDate(this._calendarYear, this._calendarMonth); // 1\n\n const lastMonthDaysCount =\n currentMonthStartWeekDay < this.startOfWeek\n ? 7 - (this.startOfWeek - currentMonthStartWeekDay)\n : currentMonthStartWeekDay - this.startOfWeek;\n\n const previousMonthDayCount = this.getDayNumInAMonth(\n this._calendarYear,\n this._calendarMonth - 1\n );\n\n const currentMonthDayCount = this.getDayNumInAMonth(this._calendarYear, this._calendarMonth);\n\n let dayOfTheWeek = this.startOfWeek; // from sunday\n\n for (\n let lastMonthDaysIterator = lastMonthDaysCount;\n lastMonthDaysIterator > 0;\n lastMonthDaysIterator--\n ) {\n const mod = dayOfTheWeek % 7;\n const date = new Date(\n this._calendarYear,\n this._calendarMonth - 1,\n previousMonthDayCount - lastMonthDaysIterator + 1\n );\n\n calendar.set(this.days[mod].name, [date]);\n\n dayOfTheWeek += 1;\n }\n for (\n let currentMonthDaysIterator = 1;\n currentMonthDaysIterator <= currentMonthDayCount;\n currentMonthDaysIterator++\n ) {\n const mod = dayOfTheWeek % 7;\n const day = new Date(this._calendarYear, this._calendarMonth, currentMonthDaysIterator);\n\n if (calendar.get(this.days[mod].name)) {\n calendar.get(this.days[mod].name)?.push(day);\n } else {\n calendar.set(this.days[mod].name, [day]);\n }\n dayOfTheWeek += 1;\n }\n\n const index = this._calendarDays.findIndex(day => day.value === dayOfTheWeek % 7);\n\n if (index !== 0) {\n for (\n let nextMonthDaysIterator = 1;\n nextMonthDaysIterator <= this._calendarDays.length - index;\n nextMonthDaysIterator++\n ) {\n const mod = dayOfTheWeek % 7;\n const date = new Date(this._calendarYear, this._calendarMonth + 1, nextMonthDaysIterator);\n\n calendar.get(this.days[mod].name)?.push(date);\n\n dayOfTheWeek += 1;\n }\n }\n return calendar;\n }\n\n renderCalendarHeader() {\n const showMonthSelected =\n this._calendarView === CALENDAR_VIEWS.MONTHS ? \"header-text-hover\" : \"\";\n const showYearSelected = this._calendarView === CALENDAR_VIEWS.YEARS ? \"header-text-hover\" : \"\";\n\n return html`\n <div class=\"calendar-header\">\n <bl-button\n class=\"arrow\"\n icon=\"arrow_left\"\n variant=\"tertiary\"\n kind=\"neutral\"\n @click=\"${() => this.setPreviousCalendarView()}\"\n ></bl-button>\n <bl-button\n variant=\"tertiary\"\n kind=\"neutral\"\n class=\"header-text ${showMonthSelected}\"\n @click=\"${() => this.setCurrentCalendarView(CALENDAR_VIEWS.MONTHS)}\"\n >${this.months[this._calendarMonth].name}\n </bl-button>\n <bl-button\n variant=\"tertiary\"\n kind=\"neutral\"\n class=\"header-text ${showYearSelected}\"\n @click=\"${() => this.setCurrentCalendarView(CALENDAR_VIEWS.YEARS)}\"\n >${this._calendarYear}\n </bl-button>\n <bl-button\n class=\"arrow\"\n icon=\"arrow_right\"\n variant=\"tertiary\"\n kind=\"neutral\"\n @click=\"${() => this.setNextCalendarView()}\"\n ></bl-button>\n </div>\n `;\n }\n\n renderCalendarDays() {\n const calendarDays = this.createCalendarDays();\n const valuesArray = Array.from(calendarDays.values());\n\n return html`\n <div class=\"week-row\">\n ${[...calendarDays.keys()].map(key => {\n return html` <div class=\"calendar-text weekday-text\">${key}</div> `;\n })}\n </div>\n <div class=\"days-wrapper\">\n ${[...Array(valuesArray[0].length).keys()].map(key => {\n return html` <div class=\"week-row\">\n ${valuesArray.map(values => {\n const date = values[key];\n const isSelectedDay = this.checkIfSelectedDate(date);\n const isDayToday = this.checkIfDateIsToday(date);\n const isDisabledDay = this.checkIfDateIsDisabled(date);\n\n const classes = classMap({\n \"day\": true,\n \"calendar-text\": true,\n \"today-day\": isDayToday,\n \"selected-day\": isSelectedDay,\n \"other-month-day\": values[key].getMonth() !== this._calendarMonth,\n \"disabled-day\": isDisabledDay,\n });\n\n return html`\n <div class=\"day-wrapper\">\n <bl-button\n id=${date.getTime()}\n variant=\"tertiary\"\n kind=\"neutral\"\n size=\"small\"\n class=${classes}\n ?disabled=${isDisabledDay}\n @click=\"${() => !isDisabledDay && this.handleDate(date)}\"\n >\n ${date.getDate()}\n </bl-button>\n </div>\n `;\n })}\n </div>`;\n })}\n </div>\n </div>`;\n }\n\n renderCalendarMonths() {\n return html` <div class=\"grid-content\">\n ${this.months.map((month, index) => {\n const variant = month.value === this._calendarMonth ? \"primary\" : \"tertiary\";\n const neutral = month.value === this._calendarMonth ? \"default\" : \"neutral\";\n\n return html` <bl-button\n variant=${variant}\n kind=${neutral}\n class=\"grid-item\"\n size=\"small\"\n @click=\"${() => this.setMonthAndCalendarView(index)}\"\n ><span class=\"calendar-text\">${month.name}</span></bl-button\n >`;\n })}\n </div>`;\n }\n\n renderCalendarYears() {\n this.generateSurroundingYears();\n return html` <div class=\"grid-content\">\n ${this._calendarYears.map(year => {\n const variant = year === this._calendarYear ? \"primary\" : \"tertiary\";\n const neutral = year === this._calendarYear ? \"default\" : \"neutral\";\n\n return html` <bl-button\n variant=${variant}\n kind=${neutral}\n class=\"grid-item\"\n @click=\"${() => this.setYearAndCalendarView(year)}\"\n ><span class=\"calendar-text\">${year}</span></bl-button\n >`;\n })}\n </div>`;\n }\n\n render() {\n return html`\n <div>\n <div class=\"calendar-content\">\n <div class=\"calendar\">\n ${this.renderCalendarHeader()}\n ${this._calendarView === CALENDAR_VIEWS.DAYS ? this.renderCalendarDays() : \"\"}\n ${this._calendarView === CALENDAR_VIEWS.MONTHS ? this.renderCalendarMonths() : \"\"}\n ${this._calendarView === CALENDAR_VIEWS.YEARS ? this.renderCalendarYears() : \"\"}\n </div>\n </div>\n </div>\n `;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["stringToDateArray", "value", "tempValue", "splitDates", "date", "isDate", "DatepickerCalendarMixin", "s", "disabledDates", "newVal", "stringToDateArray", "d", "maxDate", "minDate", "value", "oldValue", "tempVal", "__decorateClass", "e", "t", "styles", "i", "bl_calendar_default", "BlCalendar", "DatepickerCalendarMixin", "bl_calendar_default", "month", "day", "year", "fromYear", "_", "i", "view", "_a", "date", "isDateBeforeThanCalendar", "isDateAfterThanCalendar", "calendarDate", "_b", "_c", "d", "tempEndDate", "today", "disabledDate", "_d", "_e", "_f", "_g", "_h", "_i", "startDateParentElement", "endDateParentElement", "rangeDays", "element", "calendar", "currentMonthStartWeekDay", "lastMonthDaysCount", "previousMonthDayCount", "currentMonthDayCount", "dayOfTheWeek", "lastMonthDaysIterator", "mod", "currentMonthDaysIterator", "index", "nextMonthDaysIterator", "showMonthSelected", "showYearSelected", "x", "calendarDays", "valuesArray", "key", "values", "isSelectedDay", "isDayToday", "isDisabledDay", "classes", "o", "variant", "neutral", "__decorateClass", "t", "event", "e"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/datepicker/bl-datepicker.css", "../src/components/datepicker/bl-datepicker.ts"],
4
- "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{width:fit-content;display:block}.datepicker-content{--bl-input-cursor:pointer;--icon-size:var(--line-height);--icon-color:var(--bl-color-neutral-light);--datepicker-width:314px;display:flex;flex-direction:column;gap:var(--bl-size-2xs);width:fit-content}.datepicker-input{width:var(--bl-datepicker-input-width, var(--datepicker-width));white-space:nowrap;text-overflow:ellipsis}.icon-container{display:flex;gap:var(--bl-size-3xs);align-items:center}.calendar-icon{display:flex;align-items:center;gap:var(--icon-gap);flex-basis:var(--icon-size);align-self:center;margin-right:var(--label-padding);font-size:var(--icon-size);color:var(--icon-color);height:var(--icon-size)}.action-divider{display:block;height:var(--bl-size-m);width:1px;background-color:var(--bl-color-neutral-lighter);margin-right:var(--bl-size-3xs)}bl-popover{--bl-popover-padding:0;--bl-popover-background-color:transparent}`;\nexport default styles;\n", "import { CSSResultGroup, html, TemplateResult } from \"lit\";\nimport { customElement, property, query, state } from \"lit/decorators.js\";\nimport { BlCalendar, BlPopover } from \"../../baklava\";\nimport DatepickerCalendarMixin from \"../../mixins/datepicker-calendar-mixin/datepicker-calendar-mixin\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../calendar/bl-calendar\";\nimport { CALENDAR_TYPES } from \"../calendar/bl-calendar.constant\";\nimport \"../input/bl-input\";\nimport BlInput, { InputSize } from \"../input/bl-input\";\nimport \"../tooltip/bl-tooltip\";\nimport style from \"./bl-datepicker.css\";\n\n/**\n * @tag bl-datepicker\n * @summary Baklava DatePicker component\n *\n * @cssproperty [--bl-datepicker-input-width] - Sets the width of datepicker input\n **/\n@customElement(\"bl-datepicker\")\nexport default class BlDatepicker extends DatepickerCalendarMixin {\n /**\n * Defines the datepicker input placeholder\n */\n @property({ type: String, attribute: \"placeholder\", reflect: true })\n placeholder: string;\n /**\n * Sets input size.\n */\n @property({ type: String, reflect: true })\n size?: InputSize = \"medium\";\n\n /**\n * Makes datepicker input label as fixed positioned\n */\n @property({ type: Boolean, attribute: \"label-fixed\", reflect: true })\n labelFixed = false;\n /**\n * Defines the datepicker input label\n */\n @property({ type: String, attribute: \"label\", reflect: true })\n label: string;\n /**\n * Defines the custom formatter function\n */\n @property({ type: Function, attribute: \"value-formatter\" })\n valueFormatter: ((dates: Date[]) => string) | null = null;\n /**\n * Sets datepicker to disabled\n */\n @property({ type: Boolean })\n disabled: boolean;\n /**\n * Defines help text to datepicker input for users\n */\n @property({ type: String, attribute: \"help-text\", reflect: true })\n helpText: string;\n\n @state()\n _inputValue = \"\";\n\n @state()\n _selectedDates: Date[] = [];\n\n @state()\n _floatingDateCount: number = 0;\n\n @state()\n _fittingDateCount: number = 0;\n\n @query(\"bl-calendar\")\n _calendarEl: BlCalendar;\n\n @query(\"bl-popover\")\n _popoverEl: BlPopover;\n\n @query(\"bl-input\")\n _inputEl!: BlInput;\n\n private _onCalendarMouseDown!: (event: MouseEvent) => void;\n private _onInputMouseDown!: (event: MouseEvent) => void;\n\n /**\n * Fires when date selection is changed\n */\n @event(\"bl-datepicker-change\") private _onBlDatepickerChange: EventDispatcher<Date[]>;\n\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n defaultInputValueFormatter() {\n if (this.type === CALENDAR_TYPES.SINGLE) {\n this._inputValue = this.formatDate(this._selectedDates[0]);\n this.closePopoverWithTimeout();\n } else if (this.type === CALENDAR_TYPES.MULTIPLE) {\n this.setFloatingDates();\n const values = this._selectedDates\n .slice(0, this._fittingDateCount)\n .map(date => this.formatDate(date));\n\n this._inputValue = values.join(\",\") + (this._floatingDateCount > 0 ? \" ,...\" : \"\");\n } else if (this.type === CALENDAR_TYPES.RANGE) {\n if (this._selectedDates[0]) this._inputValue = this.formatDate(this._selectedDates[0]);\n if (this._selectedDates[1])\n this._inputValue = `${this._inputValue}-${this.formatDate(this._selectedDates[1])}`;\n if (this._selectedDates[0] && this._selectedDates[1]) this.closePopoverWithTimeout();\n }\n }\n\n closePopoverWithTimeout() {\n setTimeout(() => {\n this.closePopover();\n this._inputEl.blur();\n }, 200);\n }\n\n setFloatingDates() {\n const datepickerInput = this.shadowRoot?.getElementById(\"datepicker-input\");\n const iconsContainer = this.shadowRoot?.getElementById(\"icon-container\");\n const datesTextTotalWidth = datepickerInput!.offsetWidth! - iconsContainer!.offsetWidth!;\n\n this._fittingDateCount = Math.floor(datesTextTotalWidth / 90);\n\n this._floatingDateCount = this._selectedDates.length - this._fittingDateCount;\n }\n\n setDatePickerInput(dates: Date[] | []) {\n if (!dates.length) {\n this._inputValue = \"\";\n } else {\n this._selectedDates = dates;\n if (this.valueFormatter) {\n this._inputValue = this.valueFormatter(this._selectedDates);\n } else {\n this.defaultInputValueFormatter();\n }\n }\n\n this._onBlDatepickerChange(this._selectedDates);\n }\n\n formatDate(date: Date): string {\n return `${String(date?.getDate()).padStart(2, \"0\")}/${String(date?.getMonth() + 1).padStart(\n 2,\n \"0\"\n )}/${date?.getFullYear()}`;\n }\n\n clearDatepicker() {\n this._selectedDates = [];\n this._inputValue = \"\";\n this._floatingDateCount = 0;\n this._calendarEl.handleClearSelectedDates();\n }\n\n openPopover() {\n this._popoverEl.target = this._inputEl;\n this._popoverEl.show();\n }\n\n closePopover() {\n this._popoverEl.hide();\n }\n\n _togglePopover() {\n this._popoverEl.visible ? this.closePopover() : this.openPopover();\n }\n\n formatAdditionalDates(str: string): TemplateResult[] {\n const parts = str.split(\",\");\n\n return parts.reduce<TemplateResult[]>((acc, part, index) => {\n if (index > 0 && index % 3 === 0) {\n acc.push(html`<br />`);\n }\n acc.push(html`<span>${part.trim()}${index < parts.length - 1 ? \", \" : \"\"}</span>`);\n return acc;\n }, []);\n }\n\n async firstUpdated() {\n this._onCalendarMouseDown = event => {\n event.preventDefault();\n this._inputEl?.focus();\n };\n\n this._onInputMouseDown = event => {\n event.preventDefault();\n this._inputEl?.focus();\n };\n\n this._calendarEl?.addEventListener(\"mousedown\", this._onCalendarMouseDown);\n this._inputEl?.addEventListener(\"mousedown\", this._onInputMouseDown);\n\n if (this._selectedDates) {\n this.setDatePickerInput(this._selectedDates);\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this._calendarEl?.removeEventListener(\"mousedown\", this._onCalendarMouseDown);\n this._inputEl?.removeEventListener(\"mousedown\", this._onInputMouseDown);\n }\n\n render() {\n const renderCalendar = html`\n <bl-popover target=\"datepicker-content\" placement=\"bottom-start\">\n <bl-calendar\n type=${this.type}\n .minDate=${this.minDate}\n .maxDate=${this.maxDate}\n .startOfWeek=${this.startOfWeek}\n .disabledDates=${this.disabledDates}\n .value=${this.value}\n .locale=${this.locale}\n @bl-calendar-change=\"${(event: CustomEvent) => this.setDatePickerInput(event.detail)}\"\n ></bl-calendar>\n </bl-popover>\n `;\n const additionalDates = this._selectedDates\n ?.slice(this._fittingDateCount)\n .map(date => {\n return this.formatDate(date);\n })\n .join(\",\");\n\n const formattedAdditionalDates = this.formatAdditionalDates(additionalDates);\n\n const additionalDatesView =\n this._floatingDateCount > 0\n ? html` <bl-tooltip>\n <span slot=\"tooltip-trigger\">+${this._floatingDateCount}</span>\n <div>${formattedAdditionalDates}</div>\n </bl-tooltip>`\n : \"\";\n\n const clearDatepickerButton =\n this._selectedDates.length > 0\n ? html` <bl-button\n size=\"small\"\n variant=\"tertiary\"\n kind=\"neutral\"\n icon=\"close\"\n @click=${this.clearDatepicker}\n ></bl-button>\n <div class=\"action-divider\"></div>`\n : \"\";\n\n return html`\n <div class=\"datepicker-content\" id=\"datepicker-content\" tabindex=\"-1\">\n <bl-input\n .value=\"${this._inputValue}\"\n label=\"${this.label}\"\n placeholder=\"${this.placeholder}\"\n class=\"datepicker-input\"\n role=\"button\"\n id=\"datepicker-input\"\n aria-haspopup=\"listbox\"\n aria-labelledby=\"label\"\n @click=${this._togglePopover}\n help-text=${this.helpText}\n ?disabled=${this.disabled}\n .size=${this.size}\n .labelFixed=${this.labelFixed}\n readonly\n >\n <div slot=\"icon\" class=\"icon-container\" id=\"icon-container\">\n ${additionalDatesView} ${clearDatepickerButton}\n <bl-icon name=\"calendar\" size=\"small\" class=\"calendar-icon\"></bl-icon>\n </div>\n </bl-input>\n ${renderCalendar}\n </div>\n `;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["styles", "i", "bl_datepicker_default", "BlDatepicker", "DatepickerCalendarMixin", "bl_datepicker_default", "values", "date", "_a", "_b", "datepickerInput", "iconsContainer", "datesTextTotalWidth", "dates", "str", "parts", "acc", "part", "index", "x", "event", "renderCalendar", "additionalDates", "formattedAdditionalDates", "additionalDatesView", "clearDatepickerButton", "__decorateClass", "e", "t", "i"]
7
- }