@trendyol/baklava 3.5.0-beta.4 → 3.5.0-beta.6

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.
Files changed (30) hide show
  1. package/dist/baklava.js +1 -1
  2. package/dist/chunk-2ARF4VOQ.js +53 -0
  3. package/dist/chunk-2ARF4VOQ.js.map +7 -0
  4. package/dist/{chunk-IH7ZOE5X.js → chunk-2JDJGZRM.js} +2 -2
  5. package/dist/{chunk-MAOX4FPK.js → chunk-CNWKBBJJ.js} +2 -2
  6. package/dist/chunk-EFOTKJY4.js +80 -0
  7. package/dist/chunk-EFOTKJY4.js.map +7 -0
  8. package/dist/{chunk-ART7GFCB.js → chunk-L5U5XRNP.js} +2 -2
  9. package/dist/chunk-X2MSD7NS.js +14 -0
  10. package/dist/chunk-X2MSD7NS.js.map +7 -0
  11. package/dist/components/calendar/bl-calendar.js +1 -1
  12. package/dist/components/datepicker/bl-datepicker.js +1 -1
  13. package/dist/components/table/table-body/bl-table-body.d.ts +4 -1
  14. package/dist/components/table/table-body/bl-table-body.d.ts.map +1 -1
  15. package/dist/components/table/table-body/bl-table-body.js +1 -1
  16. package/dist/components/table/table-cell/bl-table-cell.js +1 -1
  17. package/dist/components/table/table-header-cell/bl-table-header-cell.js +1 -1
  18. package/dist/components/table/table-row/bl-table-row.js +1 -1
  19. package/dist/custom-elements.json +19 -1
  20. package/dist/utilities/format-to-date-array.d.ts.map +1 -1
  21. package/package.json +1 -1
  22. package/dist/chunk-M3UQBIAS.js +0 -53
  23. package/dist/chunk-M3UQBIAS.js.map +0 -7
  24. package/dist/chunk-T7ECITFD.js +0 -80
  25. package/dist/chunk-T7ECITFD.js.map +0 -7
  26. package/dist/chunk-YA3P3PWF.js +0 -14
  27. package/dist/chunk-YA3P3PWF.js.map +0 -7
  28. /package/dist/{chunk-IH7ZOE5X.js.map → chunk-2JDJGZRM.js.map} +0 -0
  29. /package/dist/{chunk-MAOX4FPK.js.map → chunk-CNWKBBJJ.js.map} +0 -0
  30. /package/dist/{chunk-ART7GFCB.js.map → chunk-L5U5XRNP.js.map} +0 -0
package/dist/baklava.js CHANGED
@@ -1,2 +1,2 @@
1
- import{b as F}from"./chunk-IH7ZOE5X.js";import{b as J}from"./chunk-MAOX4FPK.js";import{b as E}from"./chunk-ART7GFCB.js";import{b as j}from"./chunk-YA3P3PWF.js";import{b as q}from"./chunk-J5YZ4HBV.js";import{a as M}from"./chunk-G4DOH6BQ.js";import{a as Q}from"./chunk-STZJ3LBU.js";import{a as r}from"./chunk-YIKU2R7W.js";import{b as C}from"./chunk-GISZRI4I.js";import{a as H}from"./chunk-JXB2O63E.js";import{a as A}from"./chunk-3CGZ2A5B.js";import{b as N}from"./chunk-4BLKAURK.js";import{a as K}from"./chunk-5TPDRTCU.js";import{a as z}from"./chunk-WPESQSKX.js";import{a as v}from"./chunk-QF4LGACD.js";import{b as O}from"./chunk-P5TOP3NH.js";import{a as h}from"./chunk-UQMXWLP6.js";import{b as w}from"./chunk-SBCJY5IU.js";import{a as k}from"./chunk-AIHL337R.js";import{a as L}from"./chunk-QDYWH7BU.js";import{c as R,f as y}from"./chunk-IKYI4JCF.js";import{a as G}from"./chunk-CNJCPUQL.js";import{a as D}from"./chunk-S4BD3HT2.js";import{a as T}from"./chunk-QKII4FCI.js";import{a as b}from"./chunk-7WQEZTFP.js";import{b as g,d as P,f as S}from"./chunk-SIP5IK3N.js";import{b as I}from"./chunk-WUXXMMTM.js";import{a as f}from"./chunk-ERL6CBPO.js";import"./chunk-ECPWEUBG.js";import{a as p}from"./chunk-T5MEA7JO.js";import{b as x,e as s}from"./chunk-MWFGDECP.js";import{a as c}from"./chunk-M3UQBIAS.js";import{a as i}from"./chunk-DE3A37FL.js";import{b as n}from"./chunk-UOGCEUXK.js";import"./chunk-EZSEQHRH.js";import{a as B}from"./chunk-UOF574WZ.js";import"./chunk-23PSWIUF.js";import{b as u}from"./chunk-T7ECITFD.js";import"./chunk-IPYZIIRV.js";import{b as m}from"./chunk-4UO3W4WP.js";import{b as d}from"./chunk-ZE7GYACV.js";import"./chunk-WEEGH2F4.js";import"./chunk-EG7U7PM3.js";import"./chunk-AYJMIZZ3.js";import"./chunk-XDUIVR6I.js";import"./chunk-HZ6A5QFC.js";import"./chunk-6LT7O7T2.js";import"./chunk-DINNT5P2.js";import{a as o,b as t,c as a}from"./chunk-BH64QNLE.js";import"./chunk-GRL4DWKG.js";import"./chunk-3USCFSFQ.js";import"./chunk-7GK5LKBV.js";import{a as U,b as V}from"./chunk-KC4ECXJJ.js";import"./chunk-XCSIJWLQ.js";import"./chunk-6JU6I4L7.js";import"./chunk-EH2C72PD.js";import"./chunk-2PI5BUSE.js";import"./chunk-276RDWEQ.js";import{a as l}from"./chunk-ZLJF4SVG.js";import"./chunk-5MOOXA2X.js";import{b as e}from"./chunk-4OT5AMS5.js";import"./chunk-IZ2LK5GK.js";export{r as BlAccordion,l as BlAccordionGroup,f as BlAlert,p as BlBadge,m as BlButton,u as BlCalendar,x as BlCheckbox,s as BlCheckboxGroup,c as BlDatePicker,T as BlDialog,b as BlDrawer,S as BlDropdown,I as BlDropdownGroup,P as BlDropdownItem,a as BlIcon,B as BlInput,h as BlLink,w as BlNotification,C as BlNotificationCard,k as BlPagination,n as BlPopover,L as BlProgressIndicator,R as BlRadio,y as BlRadioGroup,G as BlSelect,D as BlSelectOption,d as BlSpinner,g as BlSplitButton,H as BlStepper,A as BlStepperItem,N as BlSwitch,z as BlTab,K as BlTabGroup,v as BlTabPanel,O as BlTable,j as BlTableBody,F as BlTableCell,q as BlTableHeader,J as BlTableHeaderCell,E as BlTableRow,M as BlTag,Q as BlTextarea,i as BlTooltip,t as getIconPath,U as getLocale,e as litHtmlRenderer,o as setIconPath,V as setLocale};
1
+ import{b as F}from"./chunk-2JDJGZRM.js";import{b as J}from"./chunk-CNWKBBJJ.js";import{b as E}from"./chunk-L5U5XRNP.js";import{b as j}from"./chunk-X2MSD7NS.js";import{b as q}from"./chunk-J5YZ4HBV.js";import{a as M}from"./chunk-G4DOH6BQ.js";import{a as Q}from"./chunk-STZJ3LBU.js";import{a as r}from"./chunk-YIKU2R7W.js";import{b as C}from"./chunk-GISZRI4I.js";import{a as H}from"./chunk-JXB2O63E.js";import{a as A}from"./chunk-3CGZ2A5B.js";import{b as N}from"./chunk-4BLKAURK.js";import{a as K}from"./chunk-5TPDRTCU.js";import{a as z}from"./chunk-WPESQSKX.js";import{a as v}from"./chunk-QF4LGACD.js";import{b as O}from"./chunk-P5TOP3NH.js";import{a as h}from"./chunk-UQMXWLP6.js";import{b as w}from"./chunk-SBCJY5IU.js";import{a as k}from"./chunk-AIHL337R.js";import{a as L}from"./chunk-QDYWH7BU.js";import{c as R,f as y}from"./chunk-IKYI4JCF.js";import{a as G}from"./chunk-CNJCPUQL.js";import{a as D}from"./chunk-S4BD3HT2.js";import{a as T}from"./chunk-QKII4FCI.js";import{a as b}from"./chunk-7WQEZTFP.js";import{b as g,d as P,f as S}from"./chunk-SIP5IK3N.js";import{b as I}from"./chunk-WUXXMMTM.js";import{a as f}from"./chunk-ERL6CBPO.js";import"./chunk-ECPWEUBG.js";import{a as p}from"./chunk-T5MEA7JO.js";import{b as x,e as s}from"./chunk-MWFGDECP.js";import{a as c}from"./chunk-2ARF4VOQ.js";import{a as i}from"./chunk-DE3A37FL.js";import{b as n}from"./chunk-UOGCEUXK.js";import"./chunk-EZSEQHRH.js";import{a as B}from"./chunk-UOF574WZ.js";import"./chunk-23PSWIUF.js";import{b as u}from"./chunk-EFOTKJY4.js";import"./chunk-IPYZIIRV.js";import{b as m}from"./chunk-4UO3W4WP.js";import{b as d}from"./chunk-ZE7GYACV.js";import"./chunk-WEEGH2F4.js";import"./chunk-EG7U7PM3.js";import"./chunk-AYJMIZZ3.js";import"./chunk-XDUIVR6I.js";import"./chunk-HZ6A5QFC.js";import"./chunk-6LT7O7T2.js";import"./chunk-DINNT5P2.js";import{a as o,b as t,c as a}from"./chunk-BH64QNLE.js";import"./chunk-GRL4DWKG.js";import"./chunk-3USCFSFQ.js";import"./chunk-7GK5LKBV.js";import{a as U,b as V}from"./chunk-KC4ECXJJ.js";import"./chunk-XCSIJWLQ.js";import"./chunk-6JU6I4L7.js";import"./chunk-EH2C72PD.js";import"./chunk-2PI5BUSE.js";import"./chunk-276RDWEQ.js";import{a as l}from"./chunk-ZLJF4SVG.js";import"./chunk-5MOOXA2X.js";import{b as e}from"./chunk-4OT5AMS5.js";import"./chunk-IZ2LK5GK.js";export{r as BlAccordion,l as BlAccordionGroup,f as BlAlert,p as BlBadge,m as BlButton,u as BlCalendar,x as BlCheckbox,s as BlCheckboxGroup,c as BlDatePicker,T as BlDialog,b as BlDrawer,S as BlDropdown,I as BlDropdownGroup,P as BlDropdownItem,a as BlIcon,B as BlInput,h as BlLink,w as BlNotification,C as BlNotificationCard,k as BlPagination,n as BlPopover,L as BlProgressIndicator,R as BlRadio,y as BlRadioGroup,G as BlSelect,D as BlSelectOption,d as BlSpinner,g as BlSplitButton,H as BlStepper,A as BlStepperItem,N as BlSwitch,z as BlTab,K as BlTabGroup,v as BlTabPanel,O as BlTable,j as BlTableBody,F as BlTableCell,q as BlTableHeader,J as BlTableHeaderCell,E as BlTableRow,M as BlTag,Q as BlTextarea,i as BlTooltip,t as getIconPath,U as getLocale,e as litHtmlRenderer,o as setIconPath,V as setLocale};
2
2
  //# sourceMappingURL=baklava.js.map
@@ -0,0 +1,53 @@
1
+ import{a as g}from"./chunk-EFOTKJY4.js";import{a as f}from"./chunk-GRL4DWKG.js";import{a as b,b as s,c,e as _}from"./chunk-5MOOXA2X.js";import{a as v,b as p}from"./chunk-4OT5AMS5.js";import{d as n}from"./chunk-IZ2LK5GK.js";var D=v`:host{width:314px;display:block}.datepicker-content{--bl-input-cursor:pointer;--icon-size:var(--line-height);--icon-color:var(--bl-color-neutral-light);width:100%;position:relative;display:grid}:host([disabled]) .datepicker-content{pointer-events:none}.datepicker-input{width:var(--bl-datepicker-input-width,auto);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}`,E=D;var i=class extends g{constructor(){super(...arguments);this.size="medium";this.labelFixed=!1;this.valueFormatter=null;this._inputValue="";this._floatingDateCount=0;this._fittingDateCount=0}static get styles(){return[E]}defaultInputValueFormatter(){var t,e,o,l,a,r,d,h;if(this.type==="single")this._inputValue=this.formatDate((t=this._calendarEl)==null?void 0:t._dates[0]),this.closePopoverWithTimeout();else if(this.type==="multiple"){this.setFloatingDates();let u=(e=this._calendarEl)==null?void 0:e._dates.slice(0,this._fittingDateCount).map(m=>this.formatDate(m));this._inputValue=u.join(",")+(this._floatingDateCount>0?" ,...":"")}else this.type==="range"&&((o=this._calendarEl)!=null&&o._dates[0]&&(this._inputValue=this.formatDate((l=this._calendarEl)==null?void 0:l._dates[0])),(a=this._calendarEl)!=null&&a._dates[1]&&(this._inputValue=`${this._inputValue}-${this.formatDate((r=this._calendarEl)==null?void 0:r._dates[1])}`),(d=this._calendarEl)!=null&&d._dates[0]&&((h=this._calendarEl)!=null&&h._dates[1])&&this.closePopoverWithTimeout())}closePopoverWithTimeout(){setTimeout(()=>{this.closePopover(),this._inputEl.blur()},200)}setFloatingDates(){var l,a,r;let t=(l=this.shadowRoot)==null?void 0:l.getElementById("datepicker-input"),e=(a=this.shadowRoot)==null?void 0:a.getElementById("icon-container"),o=t.offsetWidth-e.offsetWidth;this._fittingDateCount=Math.floor(o/90),this._floatingDateCount=((r=this._calendarEl)==null?void 0:r._dates.length)-this._fittingDateCount}setDatePickerInput(){var t,e;(t=this._calendarEl)!=null&&t._dates.length?this.valueFormatter?this._inputValue=this.valueFormatter((e=this._calendarEl)==null?void 0:e._dates):this.defaultInputValueFormatter():this._inputValue=""}formatDate(t){return this.monthYearOnly?`${String((t==null?void 0:t.getMonth())+1).padStart(2,"0")}/${t==null?void 0:t.getFullYear()}`:`${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._calendarEl.handleClearSelectedDates(),this._inputValue="",this._floatingDateCount=0}openPopover(){this._popoverEl.target=this._inputEl,this._popoverEl.show()}closePopover(){this._popoverEl.hide()}_togglePopover(){this._popoverEl.visible?this.closePopover():this.openPopover()}formatAdditionalDates(t){let e=t.split(",");return e==null?void 0:e.reduce((o,l,a)=>(a>0&&a%3===0&&o.push(p`<br />`),o.push(p`<span>${l.trim()}${a<e.length-1?", ":""}</span>`),o),[])}async firstUpdated(){var t,e,o;this._onCalendarMouseDown=l=>{var a;l.preventDefault(),(a=this._inputEl)==null||a.focus()},this._onInputMouseDown=l=>{var a;l.preventDefault(),(a=this._inputEl)==null||a.focus()},(t=this._calendarEl)==null||t.addEventListener("mousedown",this._onCalendarMouseDown),(e=this._inputEl)==null||e.addEventListener("mousedown",this._onInputMouseDown),(o=this._calendarEl)!=null&&o._dates&&this.setDatePickerInput()}onCalendarChange(){var t;this.setDatePickerInput(),this._onBlDatepickerChange((t=this._calendarEl)==null?void 0:t._dates)}disconnectedCallback(){var t,e;super.disconnectedCallback(),(t=this._calendarEl)==null||t.removeEventListener("mousedown",this._onCalendarMouseDown),(e=this._inputEl)==null||e.removeEventListener("mousedown",this._onInputMouseDown)}render(){var r,d,h,u;let t=p`
2
+ <bl-popover target="datepicker-content" placement="bottom-start">
3
+ <bl-calendar
4
+ type=${this.type}
5
+ .minDate=${this.minDate}
6
+ .maxDate=${this.maxDate}
7
+ .startOfWeek=${this.startOfWeek}
8
+ .disabledDates=${this.disabledDates}
9
+ .value=${this.value}
10
+ .locale=${this.locale}
11
+ .dayRenderer=${this.dayRenderer}
12
+ ?month-year-only=${this.monthYearOnly}
13
+ @bl-calendar-change="${this.onCalendarChange}"
14
+ ></bl-calendar>
15
+ </bl-popover>
16
+ `,e=(h=(d=(r=this._calendarEl)==null?void 0:r._dates)==null?void 0:d.slice(this._fittingDateCount).map(m=>this.formatDate(m)).join(","))!=null?h:"",o=this.formatAdditionalDates(e),l=this._floatingDateCount>0?p` <bl-tooltip>
17
+ <span slot="tooltip-trigger">+${this._floatingDateCount}</span>
18
+ <div>${o}</div>
19
+ </bl-tooltip>`:"",a=((u=this._calendarEl)==null?void 0:u._dates.length)>0?p` <bl-button
20
+ size="small"
21
+ variant="tertiary"
22
+ kind="neutral"
23
+ icon="close"
24
+ @click=${this.clearDatepicker}
25
+ ?disabled=${this.disabled}
26
+ ></bl-button>
27
+ <div class="action-divider"></div>`:"";return p`
28
+ <div class="datepicker-content" id="datepicker-content" tabindex="-1">
29
+ <bl-input
30
+ .value="${this._inputValue}"
31
+ .label="${this.label}"
32
+ placeholder="${this.placeholder}"
33
+ class="datepicker-input"
34
+ role="button"
35
+ id="datepicker-input"
36
+ aria-haspopup="listbox"
37
+ aria-labelledby="label"
38
+ @click=${this._togglePopover}
39
+ help-text=${this.helpText}
40
+ ?disabled=${this.disabled}
41
+ .size=${this.size}
42
+ .labelFixed=${this.labelFixed}
43
+ readonly
44
+ >
45
+ <div slot="icon" class="icon-container" id="icon-container">
46
+ ${l} ${a}
47
+ <bl-icon name="calendar" size="small" class="calendar-icon"></bl-icon>
48
+ </div>
49
+ </bl-input>
50
+ ${t}
51
+ </div>
52
+ `}};n([s({type:String,attribute:"placeholder",reflect:!0})],i.prototype,"placeholder",2),n([s({type:String,reflect:!0})],i.prototype,"size",2),n([s({type:Boolean,attribute:"label-fixed",reflect:!0})],i.prototype,"labelFixed",2),n([s({type:String,attribute:"label",reflect:!0})],i.prototype,"label",2),n([s({type:Function,attribute:"value-formatter"})],i.prototype,"valueFormatter",2),n([s({type:Boolean,reflect:!0})],i.prototype,"disabled",2),n([s({type:String,attribute:"help-text",reflect:!0})],i.prototype,"helpText",2),n([s({attribute:!1})],i.prototype,"dayRenderer",2),n([c()],i.prototype,"_inputValue",2),n([c()],i.prototype,"_floatingDateCount",2),n([c()],i.prototype,"_fittingDateCount",2),n([_("bl-calendar")],i.prototype,"_calendarEl",2),n([_("bl-popover")],i.prototype,"_popoverEl",2),n([_("bl-input")],i.prototype,"_inputEl",2),n([f("bl-datepicker-change")],i.prototype,"_onBlDatepickerChange",2),i=n([b("bl-datepicker")],i);export{i as a};
53
+ //# sourceMappingURL=chunk-2ARF4VOQ.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:314px;display:block}.datepicker-content{--bl-input-cursor:pointer;--icon-size:var(--line-height);--icon-color:var(--bl-color-neutral-light);width:100%;position:relative;display:grid}:host([disabled]) .datepicker-content{pointer-events:none}.datepicker-input{width:var(--bl-datepicker-input-width,auto);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, reflect: true })\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 /**\n * Custom function to render day cells in the calendar.\n * It receives the date as an argument and should return a TemplateResult.\n */\n @property({ attribute: false })\n dayRenderer?: (date: Date) => TemplateResult;\n\n @state()\n _inputValue = \"\";\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._calendarEl?._dates[0]);\n this.closePopoverWithTimeout();\n } else if (this.type === CALENDAR_TYPES.MULTIPLE) {\n this.setFloatingDates();\n const values = this._calendarEl?._dates\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._calendarEl?._dates[0])\n this._inputValue = this.formatDate(this._calendarEl?._dates[0]);\n if (this._calendarEl?._dates[1])\n this._inputValue = `${this._inputValue}-${this.formatDate(this._calendarEl?._dates[1])}`;\n if (this._calendarEl?._dates[0] && this._calendarEl?._dates[1])\n 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._calendarEl?._dates.length - this._fittingDateCount;\n }\n\n setDatePickerInput() {\n if (!this._calendarEl?._dates.length) {\n this._inputValue = \"\";\n } else {\n if (this.valueFormatter) {\n this._inputValue = this.valueFormatter(this._calendarEl?._dates);\n } else {\n this.defaultInputValueFormatter();\n }\n }\n }\n\n formatDate(date: Date): string {\n if (this.monthYearOnly) {\n return `${String(date?.getMonth() + 1).padStart(2, \"0\")}/${date?.getFullYear()}`;\n }\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._calendarEl.handleClearSelectedDates();\n this._inputValue = \"\";\n this._floatingDateCount = 0;\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._calendarEl?._dates) {\n this.setDatePickerInput();\n }\n }\n\n onCalendarChange() {\n this.setDatePickerInput();\n this._onBlDatepickerChange(this._calendarEl?._dates);\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 .dayRenderer=${this.dayRenderer}\n ?month-year-only=${this.monthYearOnly}\n @bl-calendar-change=\"${this.onCalendarChange}\"\n ></bl-calendar>\n </bl-popover>\n `;\n const additionalDates =\n this._calendarEl?._dates\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._calendarEl?._dates.length > 0\n ? html` <bl-button\n size=\"small\"\n variant=\"tertiary\"\n kind=\"neutral\"\n icon=\"close\"\n @click=${this.clearDatepicker}\n ?disabled=${this.disabled}\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", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "values", "date", "datepickerInput", "iconsContainer", "datesTextTotalWidth", "str", "parts", "acc", "part", "index", "x", "event", "renderCalendar", "additionalDates", "formattedAdditionalDates", "additionalDatesView", "clearDatepickerButton", "__decorateClass", "e", "t", "i"]
7
+ }
@@ -1,4 +1,4 @@
1
- import{a as b}from"./chunk-ART7GFCB.js";import{a as s,b as n}from"./chunk-5MOOXA2X.js";import{a as i,b as o,f as a}from"./chunk-4OT5AMS5.js";import{d as l}from"./chunk-IZ2LK5GK.js";var d=i`:host{display:table-cell;border:1px solid var(--bl-color-neutral-lighter);padding:var(--bl-size-m);font:var(--bl-font-title-3-regular);color:var(--bl-color-neutral-darker);box-sizing:border-box;vertical-align:middle;word-break:break-word;background-color:var(--bl-color-neutral-full);background-clip:padding-box;border-top:none;border-inline-end:none}.table-cell{display:flex;align-items:center}.table-cell.shadow-right::before{content:"";position:absolute;inset-inline-end:-1px;top:0;width:16px;height:100%;z-index:-1;border-inline-end:1px solid var(--bl-color-neutral-lighter);box-shadow:calc(8px * var(--bl-text-x-direction)) 0 16px 0 rgb(39 49 66 / 10%)}.table-cell.shadow-left::before{content:"";position:absolute;inset-inline-start:-1px;top:0;width:16px;height:100%;z-index:-1;border-inline-start:1px solid var(--bl-color-neutral-lighter);box-shadow:calc(-8px * var(--bl-text-x-direction)) 0 16px 0 rgb(39 49 66 / 10%)}bl-checkbox{margin-inline-end:var(--bl-size-m)}`,c=d;var h="bl-table-cell",t=class extends a{constructor(){super(...arguments);this.disableSelection=!1}static get styles(){return[c]}get _table(){return this.closest("bl-table")}get _tableRow(){return this.closest("bl-table-row")}get disabled(){return this.disableSelection}get selectable(){var e;return this.index===0&&!!((e=this._table)!=null&&e.isSelectable(!1))&&this.selectionKey}get index(){let e=this.parentNode;return e?[...e.children].indexOf(this):-1}get selectionKey(){return this._tableRow?this._tableRow.selectionKey:""}get checked(){var e;return!!((e=this._tableRow)!=null&&e.checked)}get shadowRight(){var e;return!!((e=this._tableRow)!=null&&e.stickyFirstColumn)&&this.index===0}get shadowLeft(){var e;return!!((e=this._tableRow)!=null&&e.stickyLastColumn)&&this.nextElementSibling===null}connectedCallback(){super.connectedCallback(),this.closest(b)||console.warn("bl-table-cell is designed to be used inside a bl-table-row",this)}onChange(e){var r;(r=this._table)==null||r.onSelectionChange(!1,e.detail,this.selectionKey)}_renderCheckbox(){return this.selectable?o`<bl-checkbox
1
+ import{a as b}from"./chunk-L5U5XRNP.js";import{a as s,b as n}from"./chunk-5MOOXA2X.js";import{a as i,b as o,f as a}from"./chunk-4OT5AMS5.js";import{d as l}from"./chunk-IZ2LK5GK.js";var d=i`:host{display:table-cell;border:1px solid var(--bl-color-neutral-lighter);padding:var(--bl-size-m);font:var(--bl-font-title-3-regular);color:var(--bl-color-neutral-darker);box-sizing:border-box;vertical-align:middle;word-break:break-word;background-color:var(--bl-color-neutral-full);background-clip:padding-box;border-top:none;border-inline-end:none}.table-cell{display:flex;align-items:center}.table-cell.shadow-right::before{content:"";position:absolute;inset-inline-end:-1px;top:0;width:16px;height:100%;z-index:-1;border-inline-end:1px solid var(--bl-color-neutral-lighter);box-shadow:calc(8px * var(--bl-text-x-direction)) 0 16px 0 rgb(39 49 66 / 10%)}.table-cell.shadow-left::before{content:"";position:absolute;inset-inline-start:-1px;top:0;width:16px;height:100%;z-index:-1;border-inline-start:1px solid var(--bl-color-neutral-lighter);box-shadow:calc(-8px * var(--bl-text-x-direction)) 0 16px 0 rgb(39 49 66 / 10%)}bl-checkbox{margin-inline-end:var(--bl-size-m)}`,c=d;var h="bl-table-cell",t=class extends a{constructor(){super(...arguments);this.disableSelection=!1}static get styles(){return[c]}get _table(){return this.closest("bl-table")}get _tableRow(){return this.closest("bl-table-row")}get disabled(){return this.disableSelection}get selectable(){var e;return this.index===0&&!!((e=this._table)!=null&&e.isSelectable(!1))&&this.selectionKey}get index(){let e=this.parentNode;return e?[...e.children].indexOf(this):-1}get selectionKey(){return this._tableRow?this._tableRow.selectionKey:""}get checked(){var e;return!!((e=this._tableRow)!=null&&e.checked)}get shadowRight(){var e;return!!((e=this._tableRow)!=null&&e.stickyFirstColumn)&&this.index===0}get shadowLeft(){var e;return!!((e=this._tableRow)!=null&&e.stickyLastColumn)&&this.nextElementSibling===null}connectedCallback(){super.connectedCallback(),this.closest(b)||console.warn("bl-table-cell is designed to be used inside a bl-table-row",this)}onChange(e){var r;(r=this._table)==null||r.onSelectionChange(!1,e.detail,this.selectionKey)}_renderCheckbox(){return this.selectable?o`<bl-checkbox
2
2
  ?checked=${this.checked}
3
3
  ?disabled=${this.disabled}
4
4
  value="row"
@@ -8,4 +8,4 @@ import{a as b}from"./chunk-ART7GFCB.js";import{a as s,b as n}from"./chunk-5MOOXA
8
8
  ${this._renderCheckbox()}
9
9
  <slot></slot>
10
10
  </div>`}};l([n({type:Boolean,reflect:!0,attribute:"disabled"})],t.prototype,"disableSelection",2),t=l([s(h)],t);export{h as a,t as b};
11
- //# sourceMappingURL=chunk-IH7ZOE5X.js.map
11
+ //# sourceMappingURL=chunk-2JDJGZRM.js.map
@@ -1,4 +1,4 @@
1
- import{a as m}from"./chunk-ART7GFCB.js";import{a as u}from"./chunk-DINNT5P2.js";import{a as b,b as p}from"./chunk-5MOOXA2X.js";import{a as d,b as i,f as h}from"./chunk-4OT5AMS5.js";import{d as a}from"./chunk-IZ2LK5GK.js";var x=d`:host{--header-cell-width:var(--bl-table-header-cell-width, auto);--header-cell-min-width:var(--bl-table-header-cell-min-width, auto);display:table-cell;border:1px solid var(--bl-color-neutral-lighter);background-color:var(--bl-color-neutral-lightest);padding:var(--bl-size-m);font:var(--bl-font-title-3-medium);color:var(--bl-color-neutral-darker);box-sizing:border-box;vertical-align:middle;white-space:normal;width:var(--header-cell-width);min-width:var(--header-cell-min-width);background-clip:padding-box}.table-header-cell{display:flex;align-items:center}.table-header-cell.shadow-right::before{content:"";position:absolute;inset-inline-end:-1px;top:0;width:16px;height:100%;z-index:-1;border-inline-end:1px solid var(--bl-color-neutral-lighter);box-shadow:calc(8px * var(--bl-text-x-direction)) 0 16px 0 rgb(39 49 66 / 10%)}.table-header-cell.shadow-left::before{content:"";position:absolute;inset-inline-start:-1px;top:0;width:16px;height:100%;z-index:-1;border-inline-start:1px solid var(--bl-color-neutral-lighter);box-shadow:calc(-8px * var(--bl-text-x-direction)) 0 16px 0 rgb(39 49 66 / 10%)}bl-checkbox{margin-inline-end:var(--bl-size-m)}.sort-icons-wrapper{all:unset;width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--bl-size-4xs);cursor:pointer}.sort-icons-wrapper:focus-visible{outline:2px solid var(--bl-color-primary);outline-offset:2px;border-radius:var(--bl-border-radius-xs)}.sort-icons-wrapper bl-icon{font-size:var(--bl-font-size-m);color:var(--bl-color-neutral-darker)}`,g=x;var f="bl-table-header-cell",r=class extends h{constructor(){super(...arguments);this.sortKey=""}static get styles(){return[g]}get _table(){return this.closest("bl-table")}get _tableRow(){return this.closest("bl-table-row")}get selectable(){var e;return this.index===0&&!!((e=this._table)!=null&&e.isSelectable(!0))}get sortable(){var e;return!!((e=this._table)!=null&&e.sortable)&&!!this.sortKey}get index(){let e=this.parentNode;return e?[...e.children].indexOf(this):-1}get checked(){var e;return!!((e=this._table)!=null&&e.isAllSelected())}get indeterminate(){var e;return!!((e=this._table)!=null&&e.isAnySelected())}get isAllUnselectedDisabled(){var e;return!!((e=this._table)!=null&&e.isAllUnselectedDisabled())}get sortDirection(){var e,t;return((e=this._table)==null?void 0:e.sortKey)===this.sortKey&&((t=this._table)==null?void 0:t.sortDirection)||""}get sortIconName(){return this.sortDirection==="asc"?"sorting_asc":this.sortDirection==="desc"?"sorting_desc":"sorting"}get shadowRight(){var e;return!!((e=this._tableRow)!=null&&e.stickyFirstColumn)&&this.index===0}get shadowLeft(){var e;return!!((e=this._tableRow)!=null&&e.stickyLastColumn)&&this.nextElementSibling===null}connectedCallback(){super.connectedCallback(),this.closest(m)||console.warn("bl-table-header-cell is designed to be used inside a bl-table-row",this)}onChange(e){var o,l;let t=(o=this.shadowRoot)==null?void 0:o.querySelector(".select-all");if(e.detail&&this.isAllUnselectedDisabled){setTimeout(()=>{var c;let s=(c=t==null?void 0:t.shadowRoot)==null?void 0:c.querySelector("input");s==null||s.click()},0);return}(l=this._table)==null||l.onSelectionChange(!0,e.detail,""),setTimeout(()=>{t.checked=this.checked,t.indeterminate=this.indeterminate})}onSort(){var t;let e="asc";this.sortDirection==="asc"?e="desc":this.sortDirection==="desc"&&(e=""),(t=this._table)==null||t.onSortChange(this.sortKey,e)}_renderCheckbox(){return this.selectable?i`<bl-checkbox
1
+ import{a as m}from"./chunk-L5U5XRNP.js";import{a as u}from"./chunk-DINNT5P2.js";import{a as b,b as p}from"./chunk-5MOOXA2X.js";import{a as d,b as i,f as h}from"./chunk-4OT5AMS5.js";import{d as a}from"./chunk-IZ2LK5GK.js";var x=d`:host{--header-cell-width:var(--bl-table-header-cell-width, auto);--header-cell-min-width:var(--bl-table-header-cell-min-width, auto);display:table-cell;border:1px solid var(--bl-color-neutral-lighter);background-color:var(--bl-color-neutral-lightest);padding:var(--bl-size-m);font:var(--bl-font-title-3-medium);color:var(--bl-color-neutral-darker);box-sizing:border-box;vertical-align:middle;white-space:normal;width:var(--header-cell-width);min-width:var(--header-cell-min-width);background-clip:padding-box}.table-header-cell{display:flex;align-items:center}.table-header-cell.shadow-right::before{content:"";position:absolute;inset-inline-end:-1px;top:0;width:16px;height:100%;z-index:-1;border-inline-end:1px solid var(--bl-color-neutral-lighter);box-shadow:calc(8px * var(--bl-text-x-direction)) 0 16px 0 rgb(39 49 66 / 10%)}.table-header-cell.shadow-left::before{content:"";position:absolute;inset-inline-start:-1px;top:0;width:16px;height:100%;z-index:-1;border-inline-start:1px solid var(--bl-color-neutral-lighter);box-shadow:calc(-8px * var(--bl-text-x-direction)) 0 16px 0 rgb(39 49 66 / 10%)}bl-checkbox{margin-inline-end:var(--bl-size-m)}.sort-icons-wrapper{all:unset;width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--bl-size-4xs);cursor:pointer}.sort-icons-wrapper:focus-visible{outline:2px solid var(--bl-color-primary);outline-offset:2px;border-radius:var(--bl-border-radius-xs)}.sort-icons-wrapper bl-icon{font-size:var(--bl-font-size-m);color:var(--bl-color-neutral-darker)}`,g=x;var f="bl-table-header-cell",r=class extends h{constructor(){super(...arguments);this.sortKey=""}static get styles(){return[g]}get _table(){return this.closest("bl-table")}get _tableRow(){return this.closest("bl-table-row")}get selectable(){var e;return this.index===0&&!!((e=this._table)!=null&&e.isSelectable(!0))}get sortable(){var e;return!!((e=this._table)!=null&&e.sortable)&&!!this.sortKey}get index(){let e=this.parentNode;return e?[...e.children].indexOf(this):-1}get checked(){var e;return!!((e=this._table)!=null&&e.isAllSelected())}get indeterminate(){var e;return!!((e=this._table)!=null&&e.isAnySelected())}get isAllUnselectedDisabled(){var e;return!!((e=this._table)!=null&&e.isAllUnselectedDisabled())}get sortDirection(){var e,t;return((e=this._table)==null?void 0:e.sortKey)===this.sortKey&&((t=this._table)==null?void 0:t.sortDirection)||""}get sortIconName(){return this.sortDirection==="asc"?"sorting_asc":this.sortDirection==="desc"?"sorting_desc":"sorting"}get shadowRight(){var e;return!!((e=this._tableRow)!=null&&e.stickyFirstColumn)&&this.index===0}get shadowLeft(){var e;return!!((e=this._tableRow)!=null&&e.stickyLastColumn)&&this.nextElementSibling===null}connectedCallback(){super.connectedCallback(),this.closest(m)||console.warn("bl-table-header-cell is designed to be used inside a bl-table-row",this)}onChange(e){var o,l;let t=(o=this.shadowRoot)==null?void 0:o.querySelector(".select-all");if(e.detail&&this.isAllUnselectedDisabled){setTimeout(()=>{var c;let s=(c=t==null?void 0:t.shadowRoot)==null?void 0:c.querySelector("input");s==null||s.click()},0);return}(l=this._table)==null||l.onSelectionChange(!0,e.detail,""),setTimeout(()=>{t.checked=this.checked,t.indeterminate=this.indeterminate})}onSort(){var t;let e="asc";this.sortDirection==="asc"?e="desc":this.sortDirection==="desc"&&(e=""),(t=this._table)==null||t.onSortChange(this.sortKey,e)}_renderCheckbox(){return this.selectable?i`<bl-checkbox
2
2
  class="select-all"
3
3
  value="all"
4
4
  .indeterminate="${this.indeterminate}"
@@ -13,4 +13,4 @@ import{a as m}from"./chunk-ART7GFCB.js";import{a as u}from"./chunk-DINNT5P2.js";
13
13
  </button>`:i` <slot></slot>`;return i`<div class="table-header-cell ${o}" aria-sort=${u(n)}>
14
14
  ${this._renderCheckbox()} ${l}
15
15
  </div> `}};a([p({type:String,reflect:!0,attribute:"sort-key"})],r.prototype,"sortKey",2),r=a([b(f)],r);export{f as a,r as b};
16
- //# sourceMappingURL=chunk-MAOX4FPK.js.map
16
+ //# sourceMappingURL=chunk-CNWKBBJJ.js.map
@@ -0,0 +1,80 @@
1
+ import{a as V}from"./chunk-IPYZIIRV.js";import{a as Y,b as k}from"./chunk-WEEGH2F4.js";import{a as T}from"./chunk-6LT7O7T2.js";import{a as A}from"./chunk-GRL4DWKG.js";import{b as C}from"./chunk-276RDWEQ.js";import{a as M,b as u,c as f}from"./chunk-5MOOXA2X.js";import{a as x,b as d,f as S}from"./chunk-4OT5AMS5.js";import{d as r}from"./chunk-IZ2LK5GK.js";function v(c){let D=[],e=c.split(",");return e==null||e.forEach(t=>{let a=new Date(t.trim());isNaN(a.getTime())||D.push(a)}),D}var h=class extends S{constructor(){super(...arguments);this.startOfWeek=0;this.locale=document.documentElement.lang||"en-EN";this.monthYearOnly=!1;this._disabledDates=[];this._value=[]}get disabledDates(){return this._disabledDates}set disabledDates(e){let t=[];typeof e=="string"?t=v(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(e&&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(e&&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))}set value(e){let t=this._value;this._value=e,this.requestUpdate("value",t)}get value(){return this._value}};r([u()],h.prototype,"type",2),r([u({type:Number,attribute:"start-of-week",reflect:!0})],h.prototype,"startOfWeek",2),r([u()],h.prototype,"locale",2),r([u({type:Boolean,attribute:"month-year-only",reflect:!0})],h.prototype,"monthYearOnly",2),r([u({attribute:"disabled-dates",reflect:!0})],h.prototype,"disabledDates",1),r([u({type:Date,attribute:"max-date",reflect:!0})],h.prototype,"maxDate",1),r([u({type:Date,attribute:"min-date",reflect:!0})],h.prototype,"minDate",1),r([u({attribute:"value",reflect:!0})],h.prototype,"value",1);function N(c){return c?typeof c=="string"?v(c):c instanceof Date?[c]:Array.isArray(c)?c:[]:[]}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}:host([dir=rtl]) .arrow{transform:scale(-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-start-start-radius:50%;border-end-start-radius:50%}.range-end-day{background:var(--bl-color-primary-contrast);border-start-end-radius:50%;border-end-end-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)}`,$=E;var o=class extends h{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._dates=[];this.handleClearSelectedDates=()=>{this._dates=[],this._onBlCalendarChange([]),this.clearRangePickerStyles()}}static get styles(){return[$]}connectedCallback(){super.connectedCallback(),V(this),this.monthYearOnly&&(this._calendarView="months")}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.monthYearOnly)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.monthYearOnly)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){let t=this.monthYearOnly?"months":"days";this._calendarView=this._calendarView!==e?e:t,this.setHoverClass()}setMonthAndCalendarView(e){if(this._calendarMonth=e,this.monthYearOnly){let t=new Date(this._calendarYear,e,1);this.handleDate(t)}else this._calendarView="days",this.type==="range"&&this.setHoverClass()}setYearAndCalendarView(e){this._calendarYear=e,this._calendarView=this.monthYearOnly?"months":"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._dates),this.requestUpdate()}handleSingleSelectCalendar(e){this._dates=[e]}handleMultipleSelectCalendar(e){var a,l,s;((a=this._dates)==null?void 0:a.some(n=>n.getTime()===e.getTime()))?(s=this._dates)==null||s.splice((l=this._dates)==null?void 0:l.findIndex(n=>n.getTime()===e.getTime()),1):this._dates.push(e)}handleRangeSelectCalendar(e){if(!this._dates[0])this._dates[0]=e;else if(this._dates[1])this._dates=[],this._dates[0]=e;else if(e.getTime()>this._dates[0].getTime())this._dates[1]=e;else{let t=this._dates[0];this._dates[0]=e,this._dates[1]=t}this.setHoverClass()}checkIfSelectedDate(e){var t;return(t=this._dates)==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,l;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?(l=this.disabledDates)==null?void 0:l.some(s=>e.getDate()===s.getDate()&&e.getMonth()===s.getMonth()&&e.getFullYear()===s.getFullYear()):!1}setHoverClass(){this.clearRangePickerStyles(),this._dates[0]&&this._dates[1]&&setTimeout(()=>{var l,s,n,b,y,_,i,m,g;let e=(n=(s=this.shadowRoot)==null?void 0:s.getElementById(`${(l=this._dates[0])==null?void 0:l.getTime()}`))==null?void 0:n.parentElement;e==null||e.classList.add("range-start-day");let t=(_=(y=this.shadowRoot)==null?void 0:y.getElementById(`${(b=this._dates[1])==null?void 0:b.getTime()}`))==null?void 0:_.parentElement;t==null||t.classList.add("range-end-day");let a=[...this.createCalendarDays().values()].flat().filter(p=>p.getTime()>this._dates[0].getTime()&&p.getTime()<this._dates[1].getTime());for(let p=0;p<a.length;p++){let w=(m=(i=this.shadowRoot)==null?void 0:i.getElementById(`${a[p].getTime()}`))==null?void 0:m.parentElement;(g=w==null?void 0:w.classList)==null||g.add("range-day")}})}createCalendarDays(){var y,_;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,l=this.getDayNumInAMonth(this._calendarYear,this._calendarMonth-1),s=this.getDayNumInAMonth(this._calendarYear,this._calendarMonth),n=this.startOfWeek;for(let i=a;i>0;i--){let m=n%7,g=new Date(this._calendarYear,this._calendarMonth-1,l-i+1);e.set(this.days[m].name,[g]),n+=1}for(let i=1;i<=s;i++){let m=n%7,g=new Date(this._calendarYear,this._calendarMonth,i);e.get(this.days[m].name)?(y=e.get(this.days[m].name))==null||y.push(g):e.set(this.days[m].name,[g]),n+=1}let b=this._calendarDays.findIndex(i=>i.value===n%7);if(b!==0)for(let i=1;i<=this._calendarDays.length-b;i++){let m=n%7,g=new Date(this._calendarYear,this._calendarMonth+1,i);(_=e.get(this.days[m].name))==null||_.push(g),n+=1}return e}updated(e){if(e.has("value")){let t=N(this._value);!t||!Array.isArray(t)||t.length===0?this.handleClearSelectedDates():t.forEach(a=>{this.handleDate(a)})}}renderCalendarHeader(){let e=this._calendarView==="months"?"header-text-hover":"",t=this._calendarView==="years"?"header-text-hover":"";return d`
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
+ ${this.monthYearOnly?d``:d`<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 d` <div class="week-row">
33
+ ${[...e.keys()].map(a=>d` <div class="calendar-text weekday-text">${a}</div> `)}
34
+ </div>
35
+ <div class="days-wrapper">
36
+ ${[...Array(t[0].length).keys()].map(a=>d` <div class="week-row">
37
+ ${t.map(l=>{let s=l[a],n=this.checkIfSelectedDate(s),b=this.checkIfDateIsToday(s),y=this.checkIfDateIsDisabled(s),_=T({day:!0,"calendar-text":!0,"today-day":b,"selected-day":n,"other-month-day":l[a].getMonth()!==this._calendarMonth,"disabled-day":y});return d`<div class="day-wrapper">
38
+ <bl-button
39
+ id=${s.getTime()}
40
+ variant="tertiary"
41
+ kind="neutral"
42
+ size="small"
43
+ class=${_}
44
+ ?disabled=${y}
45
+ @click="${()=>!y&&this.handleDate(s)}"
46
+ >
47
+ ${this.dayRenderer?this.dayRenderer(s):s.getDate()}
48
+ </bl-button>
49
+ </div>`})}
50
+ </div>`)}
51
+ </div>`}renderCalendarMonths(){return d` <div class="grid-content">
52
+ ${this.months.map((e,t)=>{let a=e.value===this._calendarMonth?"primary":"tertiary",l=e.value===this._calendarMonth?"default":"neutral";return d` <bl-button
53
+ variant=${a}
54
+ kind=${l}
55
+ class="grid-item"
56
+ size="small"
57
+ @click="${()=>this.setMonthAndCalendarView(t)}"
58
+ ><span class="calendar-text">${e.name}</span></bl-button
59
+ >`})}
60
+ </div>`}renderCalendarYears(){return this.generateSurroundingYears(),d` <div class="grid-content">
61
+ ${this._calendarYears.map(e=>{let t=e===this._calendarYear?"primary":"tertiary",a=e===this._calendarYear?"default":"neutral";return d` <bl-button
62
+ variant=${t}
63
+ kind=${a}
64
+ class="grid-item"
65
+ @click="${()=>this.setYearAndCalendarView(e)}"
66
+ ><span class="calendar-text">${e}</span></bl-button
67
+ >`})}
68
+ </div>`}render(){return d`
69
+ <div>
70
+ <div class="calendar-content">
71
+ <div class="calendar">
72
+ ${this.renderCalendarHeader()}
73
+ ${this._calendarView==="days"?this.renderCalendarDays():""}
74
+ ${this._calendarView==="months"?this.renderCalendarMonths():""}
75
+ ${this._calendarView==="years"?this.renderCalendarYears():""}
76
+ </div>
77
+ </div>
78
+ </div>
79
+ `}};r([f()],o.prototype,"today",2),r([f()],o.prototype,"_calendarMonth",2),r([f()],o.prototype,"_calendarYear",2),r([f()],o.prototype,"_calendarView",2),r([f()],o.prototype,"_calendarYears",2),r([f()],o.prototype,"_calendarDays",2),r([f()],o.prototype,"_dates",2),r([u({attribute:!1})],o.prototype,"dayRenderer",2),r([A("bl-calendar-change")],o.prototype,"_onBlCalendarChange",2),o=r([M("bl-calendar"),C()],o);export{h as a,o as b};
80
+ //# sourceMappingURL=chunk-EFOTKJY4.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/utilities/format-to-date-array.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 } from \"lit/decorators.js\";\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\n /**\n * Enables month and year only selection mode\n */\n @property({ type: Boolean, attribute: \"month-year-only\", reflect: true })\n monthYearOnly = false;\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 (maxDate && 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 (minDate && 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 @property({ attribute: \"value\", reflect: true })\n set value(value: string | Date | Date[]) {\n const oldValue = this._value;\n\n this._value = value;\n this.requestUpdate(\"value\", oldValue);\n }\n\n get value(): string | Date | Date[] {\n return this._value;\n }\n\n _value: string | Date | Date[] = [];\n}\n", "import { stringToDateArray } from \"./string-to-date-converter\";\n\nexport function formatToDateArray(value: string | Date | Date[] | undefined): Date[] {\n if (!value) {\n return [];\n }\n if (typeof value === \"string\") {\n return stringToDateArray(value);\n } else if (value instanceof Date) {\n return [value];\n } else if (Array.isArray(value)) {\n return value;\n }\n return [];\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}:host([dir=rtl]) .arrow{transform:scale(-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-start-start-radius:50%;border-end-start-radius:50%}.range-end-day{background:var(--bl-color-primary-contrast);border-start-end-radius:50%;border-end-end-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, PropertyValues, TemplateResult } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { localized } from \"@lit/localize\";\nimport DatepickerCalendarMixin from \"../../mixins/datepicker-calendar-mixin/datepicker-calendar-mixin\";\nimport { setDirectionProperty } from \"../../utilities/direction\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport { formatToDateArray } from \"../../utilities/format-to-date-array\";\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\")\n@localized()\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 @state()\n _dates: Date[] = [];\n\n /**\n * Custom function to render day cells.\n * It receives the date as an argument and should return a TemplateResult.\n */\n @property({ attribute: false })\n dayRenderer?: (date: Date) => TemplateResult;\n\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 connectedCallback() {\n super.connectedCallback();\n setDirectionProperty(this);\n\n if (this.monthYearOnly) {\n this._calendarView = CALENDAR_VIEWS.MONTHS;\n }\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._dates = [];\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 && !this.monthYearOnly) {\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 && !this.monthYearOnly) {\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 const defaultView = this.monthYearOnly ? CALENDAR_VIEWS.MONTHS : CALENDAR_VIEWS.DAYS;\n\n this._calendarView = this._calendarView !== view ? view : defaultView;\n this.setHoverClass();\n }\n\n setMonthAndCalendarView(month: number) {\n this._calendarMonth = month;\n\n if (this.monthYearOnly) {\n // In month-year only mode, selecting a month finalizes the selection\n const date = new Date(this._calendarYear, month, 1);\n\n this.handleDate(date);\n } else {\n this._calendarView = CALENDAR_VIEWS.DAYS;\n if (this.type === CALENDAR_TYPES.RANGE) this.setHoverClass();\n }\n }\n\n setYearAndCalendarView(year: number) {\n this._calendarYear = year;\n this._calendarView = this.monthYearOnly ? CALENDAR_VIEWS.MONTHS : 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._dates);\n this.requestUpdate();\n }\n\n handleSingleSelectCalendar(calendarDate: Date) {\n this._dates = [calendarDate];\n }\n\n handleMultipleSelectCalendar(calendarDate: Date) {\n const dateExist = this._dates?.some(d => d.getTime() === calendarDate.getTime());\n\n dateExist\n ? this._dates?.splice(\n this._dates?.findIndex(d => d.getTime() === calendarDate.getTime()),\n 1\n )\n : this._dates.push(calendarDate);\n }\n\n handleRangeSelectCalendar(calendarDate: Date) {\n if (!this._dates[0]) {\n this._dates[0] = calendarDate;\n } else if (!this._dates[1]) {\n if (calendarDate.getTime() > this._dates[0].getTime()) {\n this._dates[1] = calendarDate;\n } else {\n const tempEndDate = this._dates[0];\n\n this._dates[0] = calendarDate;\n this._dates[1] = tempEndDate;\n }\n } else {\n this._dates = [];\n this._dates[0] = calendarDate;\n }\n this.setHoverClass();\n }\n\n checkIfSelectedDate(calendarDate: Date) {\n return this._dates?.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._dates[0] && this._dates[1]) {\n setTimeout(() => {\n const startDateParentElement = this.shadowRoot?.getElementById(\n `${this._dates[0]?.getTime()}`\n )?.parentElement;\n\n startDateParentElement?.classList.add(\"range-start-day\");\n\n const endDateParentElement = this.shadowRoot?.getElementById(\n `${this._dates[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._dates[0]!.getTime() &&\n date.getTime() < this._dates[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 updated(changedProperties: PropertyValues) {\n if (changedProperties.has(\"value\")) {\n const dates = formatToDateArray(this._value);\n\n if (!dates || !Array.isArray(dates) || dates.length === 0) {\n this.handleClearSelectedDates();\n } else {\n dates.forEach(date => {\n this.handleDate(date);\n });\n }\n }\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 ${!this.monthYearOnly\n ? html`<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 : html``}\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` <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\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`<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 ${this.dayRenderer ? this.dayRenderer(date) : date.getDate()}\n </bl-button>\n </div>`;\n })}\n </div>`;\n })}\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", "__decorateClass", "e", "formatToDateArray", "value", "stringToDateArray", "styles", "i", "bl_calendar_default", "BlCalendar", "DatepickerCalendarMixin", "bl_calendar_default", "setDirectionProperty", "month", "day", "year", "fromYear", "_", "i", "view", "defaultView", "date", "_a", "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", "changedProperties", "dates", "formatToDateArray", "showMonthSelected", "showYearSelected", "x", "calendarDays", "valuesArray", "key", "values", "isSelectedDay", "isDayToday", "isDisabledDay", "classes", "o", "variant", "neutral", "__decorateClass", "t", "e", "event", "localized"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as n}from"./chunk-YA3P3PWF.js";import{a as u}from"./chunk-J5YZ4HBV.js";import{a as c,b as h}from"./chunk-5MOOXA2X.js";import{a,b,f as d}from"./chunk-4OT5AMS5.js";import{d as l}from"./chunk-IZ2LK5GK.js";var y=a`:host{display:table-row}:host([checked]),:host([checked]) ::slotted(bl-table-cell){background-color:var(--bl-color-primary-contrast)}:host([disabled]),:host([disabled]) ::slotted(bl-table-cell){background-color:var(--bl-color-neutral-lightest);color:var(--bl-color-neutral-light)}:host(:not([checked],[disabled]).__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__),:host(:not([checked],[disabled]):hover),:host(:not([checked],[disabled]):hover) ::slotted(bl-table-cell){background-color:var(--bl-color-tertiary-background)}:host ::slotted(:first-child){border-inline-start:none}:host ::slotted(:last-child){border-inline-end:none}:host(:first-child) ::slotted(bl-table-header-cell){border-top:none;border-inline-end:none}:host(:first-child) ::slotted(bl-table-header-cell:first-child){border-top-left-radius:var(--bl-size-3xs)}:host(:first-child) ::slotted(bl-table-header-cell:last-child){border-top-right-radius:var(--bl-size-3xs);border-inline-end:1px}:host(:last-child) ::slotted(bl-table-cell){border-bottom:none}:host(:first-child) ::slotted(bl-table-cell){border-top:none}:host(:last-child) ::slotted(bl-table-cell:first-child){border-bottom-left-radius:var(--bl-size-3xs)}:host(:last-child) ::slotted(bl-table-cell:last-child){border-bottom-right-radius:var(--bl-size-3xs)}:host([sticky-first-column]) ::slotted(bl-table-cell:first-child),:host([sticky-first-column]) ::slotted(bl-table-header-cell:first-child){position:sticky;z-index:2;inset-inline-start:0}:host([sticky-last-column]) ::slotted(bl-table-cell:last-child),:host([sticky-last-column]) ::slotted(bl-table-header-cell:last-child){position:sticky;z-index:2;inset-inline-end:0}`,m=y;var f="bl-table-row",t=class extends d{constructor(){super(...arguments);this.selectionKey=""}static get styles(){return[m]}connectedCallback(){super.connectedCallback(),!this.closest(u)&&!this.closest(n)&&console.warn("bl-table-row is designed to be used inside a bl-table-header or bl-table-body",this)}updated(e){super.updated(e),this.removeAttribute("checked"),this.removeAttribute("disabled"),this.removeAttribute("sticky-first-column"),this.removeAttribute("sticky-last-column"),this.stickyFirstColumn&&this.setAttribute("sticky-first-column","true"),this.stickyLastColumn&&this.setAttribute("sticky-last-column","true"),this.checked?this.setAttribute("checked","true"):this.disabled&&this.setAttribute("disabled","true"),e.has("selectionKey")&&this.updateComplete.then(()=>{var s,r,o,i;Array.from(this.querySelectorAll("bl-table-header-cell,bl-table-cell")).map(p=>{p.requestUpdate()}),(s=this._table)!=null&&s.multiple&&((r=this._table)!=null&&r.selectable)&&((i=(o=this._table)==null?void 0:o.querySelector("bl-table-header-cell"))==null||i.requestUpdate())})}get _table(){return this.closest("bl-table")}get _firstTableCell(){return this.querySelector("bl-table-cell")}get disabled(){var e;return!!((e=this._firstTableCell)!=null&&e.disabled)}get checked(){var e;return!!((e=this._table)!=null&&e.isRowSelected(this.selectionKey))}get stickyFirstColumn(){var e;return!!((e=this._table)!=null&&e.isFirstColumnSticky())}get stickyLastColumn(){var e;return!!((e=this._table)!=null&&e.isLastColumnSticky())}render(){return b`<slot></slot>`}};l([h({type:String,reflect:!0,attribute:"selection-key"})],t.prototype,"selectionKey",2),t=l([c(f)],t);export{f as a,t as b};
2
- //# sourceMappingURL=chunk-ART7GFCB.js.map
1
+ import{a as n}from"./chunk-X2MSD7NS.js";import{a as u}from"./chunk-J5YZ4HBV.js";import{a as c,b as h}from"./chunk-5MOOXA2X.js";import{a,b,f as d}from"./chunk-4OT5AMS5.js";import{d as l}from"./chunk-IZ2LK5GK.js";var y=a`:host{display:table-row}:host([checked]),:host([checked]) ::slotted(bl-table-cell){background-color:var(--bl-color-primary-contrast)}:host([disabled]),:host([disabled]) ::slotted(bl-table-cell){background-color:var(--bl-color-neutral-lightest);color:var(--bl-color-neutral-light)}:host(:not([checked],[disabled]).__ONLY_FOR_STORYBOOK_DEMONSTRATION_HOVER__),:host(:not([checked],[disabled]):hover),:host(:not([checked],[disabled]):hover) ::slotted(bl-table-cell){background-color:var(--bl-color-tertiary-background)}:host ::slotted(:first-child){border-inline-start:none}:host ::slotted(:last-child){border-inline-end:none}:host(:first-child) ::slotted(bl-table-header-cell){border-top:none;border-inline-end:none}:host(:first-child) ::slotted(bl-table-header-cell:first-child){border-top-left-radius:var(--bl-size-3xs)}:host(:first-child) ::slotted(bl-table-header-cell:last-child){border-top-right-radius:var(--bl-size-3xs);border-inline-end:1px}:host(:last-child) ::slotted(bl-table-cell){border-bottom:none}:host(:first-child) ::slotted(bl-table-cell){border-top:none}:host(:last-child) ::slotted(bl-table-cell:first-child){border-bottom-left-radius:var(--bl-size-3xs)}:host(:last-child) ::slotted(bl-table-cell:last-child){border-bottom-right-radius:var(--bl-size-3xs)}:host([sticky-first-column]) ::slotted(bl-table-cell:first-child),:host([sticky-first-column]) ::slotted(bl-table-header-cell:first-child){position:sticky;z-index:2;inset-inline-start:0}:host([sticky-last-column]) ::slotted(bl-table-cell:last-child),:host([sticky-last-column]) ::slotted(bl-table-header-cell:last-child){position:sticky;z-index:2;inset-inline-end:0}`,m=y;var f="bl-table-row",t=class extends d{constructor(){super(...arguments);this.selectionKey=""}static get styles(){return[m]}connectedCallback(){super.connectedCallback(),!this.closest(u)&&!this.closest(n)&&console.warn("bl-table-row is designed to be used inside a bl-table-header or bl-table-body",this)}updated(e){super.updated(e),this.removeAttribute("checked"),this.removeAttribute("disabled"),this.removeAttribute("sticky-first-column"),this.removeAttribute("sticky-last-column"),this.stickyFirstColumn&&this.setAttribute("sticky-first-column","true"),this.stickyLastColumn&&this.setAttribute("sticky-last-column","true"),this.checked?this.setAttribute("checked","true"):this.disabled&&this.setAttribute("disabled","true"),e.has("selectionKey")&&this.updateComplete.then(()=>{var s,r,o,i;Array.from(this.querySelectorAll("bl-table-header-cell,bl-table-cell")).map(p=>{p.requestUpdate()}),(s=this._table)!=null&&s.multiple&&((r=this._table)!=null&&r.selectable)&&((i=(o=this._table)==null?void 0:o.querySelector("bl-table-header-cell"))==null||i.requestUpdate())})}get _table(){return this.closest("bl-table")}get _firstTableCell(){return this.querySelector("bl-table-cell")}get disabled(){var e;return!!((e=this._firstTableCell)!=null&&e.disabled)}get checked(){var e;return!!((e=this._table)!=null&&e.isRowSelected(this.selectionKey))}get stickyFirstColumn(){var e;return!!((e=this._table)!=null&&e.isFirstColumnSticky())}get stickyLastColumn(){var e;return!!((e=this._table)!=null&&e.isLastColumnSticky())}render(){return b`<slot></slot>`}};l([h({type:String,reflect:!0,attribute:"selection-key"})],t.prototype,"selectionKey",2),t=l([c(f)],t);export{f as a,t as b};
2
+ //# sourceMappingURL=chunk-L5U5XRNP.js.map
@@ -0,0 +1,14 @@
1
+ import{a as b}from"./chunk-P5TOP3NH.js";import{d as o}from"./chunk-276RDWEQ.js";import{a as i,c as n}from"./chunk-5MOOXA2X.js";import{a as r,b as a,f as s}from"./chunk-4OT5AMS5.js";import{d as l}from"./chunk-IZ2LK5GK.js";var u=r`:host{display:table-row-group}.no-data-row{display:table-row}.no-data-cell{display:table-cell;padding:var(--bl-size-2xl);text-align:center;vertical-align:middle;background-color:var(--bl-color-neutral-full);width:100%;min-height:250px;position:relative}.no-data-cell ::slotted(*){display:block;width:100%}.default-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.default-no-data bl-icon{font-size:48px;margin-bottom:var(--bl-size-m);color:var(--bl-color-neutral-light)}.default-no-data .title{margin:0;font:var(--bl-font-title-2-regular);color:var(--bl-color-neutral-darker)}.default-no-data .subtitle{margin:var(--bl-size-xs) 0 0 0;font:var(--bl-font-body-text-2);color:var(--bl-color-neutral-light)}`,c=u;var m="bl-table-body",t=class extends s{constructor(){super(...arguments);this.hasTableRows=!1;this._mutationObserver=null}static get styles(){return[c]}get _table(){return this.closest(b)}_checkTableRows(){this.hasTableRows=this.querySelector("bl-table-row")!==null}connectedCallback(){super.connectedCallback(),this._table||console.warn("bl-table-body is designed to be used inside a bl-table",this),this._checkTableRows(),this._mutationObserver=new MutationObserver(()=>this._checkTableRows()),this._mutationObserver.observe(this,{childList:!0})}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._mutationObserver)==null||e.disconnect(),this._mutationObserver=null}render(){if(this.hasTableRows)return a` <slot></slot> `;let e=o("No data available",{desc:"bl-table-body: no data title"}),d=o("There are currently no records to display.",{desc:"bl-table-body: no data subtitle"});return a`
2
+ <tr class="no-data-row">
3
+ <td class="no-data-cell" colspan="999">
4
+ <slot name="no-data">
5
+ <div class="default-no-data">
6
+ <bl-icon name="info"></bl-icon>
7
+ <p class="title">${e}</p>
8
+ <p class="subtitle">${d}</p>
9
+ </div>
10
+ </slot>
11
+ </td>
12
+ </tr>
13
+ `}};l([n()],t.prototype,"hasTableRows",2),t=l([i(m)],t);export{m as a,t as b};
14
+ //# sourceMappingURL=chunk-X2MSD7NS.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/components/table/table-body/bl-table-body.css", "../src/components/table/table-body/bl-table-body.ts"],
4
+ "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:table-row-group}.no-data-row{display:table-row}.no-data-cell{display:table-cell;padding:var(--bl-size-2xl);text-align:center;vertical-align:middle;background-color:var(--bl-color-neutral-full);width:100%;min-height:250px;position:relative}.no-data-cell ::slotted(*){display:block;width:100%}.default-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.default-no-data bl-icon{font-size:48px;margin-bottom:var(--bl-size-m);color:var(--bl-color-neutral-light)}.default-no-data .title{margin:0;font:var(--bl-font-title-2-regular);color:var(--bl-color-neutral-darker)}.default-no-data .subtitle{margin:var(--bl-size-xs) 0 0 0;font:var(--bl-font-body-text-2);color:var(--bl-color-neutral-light)}`;\nexport default styles;\n", "import { html, LitElement, TemplateResult } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { CSSResultGroup } from \"lit/development\";\nimport { msg } from \"@lit/localize\";\nimport \"../../icon/bl-icon\";\nimport type BlTable from \"../bl-table\";\nimport { blTableTag } from \"../bl-table\";\nimport style from \"../table-body/bl-table-body.css\";\n\nexport const blTableBodyTag = \"bl-table-body\";\n\n/**\n * @tag bl-table-body\n * @summary Baklava Table component\n *\n * @slot no-data - Content to display when no data is available\n */\n@customElement(blTableBodyTag)\nexport default class BlTableBody extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n private get _table() {\n return this.closest<BlTable>(blTableTag);\n }\n\n @state()\n private hasTableRows = false;\n\n private _mutationObserver: MutationObserver | null = null;\n\n private _checkTableRows() {\n this.hasTableRows = this.querySelector(\"bl-table-row\") !== null;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n if (!this._table) {\n console.warn(\"bl-table-body is designed to be used inside a bl-table\", this);\n }\n\n this._checkTableRows();\n this._mutationObserver = new MutationObserver(() => this._checkTableRows());\n this._mutationObserver.observe(this, { childList: true });\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this._mutationObserver?.disconnect();\n this._mutationObserver = null;\n }\n\n render(): TemplateResult {\n // If there are table rows, show the normal content\n if (this.hasTableRows) {\n return html` <slot></slot> `;\n }\n\n // If there are no table rows, show the no-data slot or default content\n const noDataTitle = msg(\"No data available\", { desc: \"bl-table-body: no data title\" });\n const noDataSubtitle = msg(\"There are currently no records to display.\", {\n desc: \"bl-table-body: no data subtitle\",\n });\n\n return html`\n <tr class=\"no-data-row\">\n <td class=\"no-data-cell\" colspan=\"999\">\n <slot name=\"no-data\">\n <div class=\"default-no-data\">\n <bl-icon name=\"info\"></bl-icon>\n <p class=\"title\">${noDataTitle}</p>\n <p class=\"subtitle\">${noDataSubtitle}</p>\n </div>\n </slot>\n </td>\n </tr>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [blTableBodyTag]: BlTableBody;\n }\n}\n"],
5
+ "mappings": "6NACO,IAAMA,EAASC,uvBACfC,EAAQF,ECOR,IAAMG,EAAiB,gBASTC,EAArB,cAAyC,CAAW,CAApD,kCAUE,KAAQ,aAAe,GAEvB,KAAQ,kBAA6C,KAXrD,WAAW,QAAyB,CAClC,MAAO,CAACC,CAAK,CACf,CAEA,IAAY,QAAS,CACnB,OAAO,KAAK,QAAiBC,CAAU,CACzC,CAOQ,iBAAkB,CACxB,KAAK,aAAe,KAAK,cAAc,cAAc,IAAM,IAC7D,CAEA,mBAA0B,CACxB,MAAM,kBAAkB,EACnB,KAAK,QACR,QAAQ,KAAK,yDAA0D,IAAI,EAG7E,KAAK,gBAAgB,EACrB,KAAK,kBAAoB,IAAI,iBAAiB,IAAM,KAAK,gBAAgB,CAAC,EAC1E,KAAK,kBAAkB,QAAQ,KAAM,CAAE,UAAW,EAAK,CAAC,CAC1D,CAEA,sBAA6B,CA/C/B,IAAAC,EAgDI,MAAM,qBAAqB,GAC3BA,EAAA,KAAK,oBAAL,MAAAA,EAAwB,aACxB,KAAK,kBAAoB,IAC3B,CAEA,QAAyB,CAEvB,GAAI,KAAK,aACP,OAAOC,mBAIT,IAAMC,EAAcC,EAAI,oBAAqB,CAAE,KAAM,8BAA+B,CAAC,EAC/EC,EAAiBD,EAAI,6CAA8C,CACvE,KAAM,iCACR,CAAC,EAED,OAAOF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCAMsBC;AAAA,oCACGE;AAAA;AAAA;AAAA;AAAA;AAAA,KAMlC,CACF,EAnDUC,EAAA,CADPC,EAAM,GATYT,EAUX,4BAVWA,EAArBQ,EAAA,CADCE,EAAcX,CAAc,GACRC",
6
+ "names": ["styles", "i", "bl_table_body_default", "blTableBodyTag", "BlTableBody", "bl_table_body_default", "blTableTag", "_a", "x", "noDataTitle", "msg", "noDataSubtitle", "__decorateClass", "t", "e"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{b as a}from"../../chunk-T7ECITFD.js";import"../../chunk-IPYZIIRV.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-WEEGH2F4.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-276RDWEQ.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
1
+ import{b as a}from"../../chunk-EFOTKJY4.js";import"../../chunk-IPYZIIRV.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-WEEGH2F4.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-276RDWEQ.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,2 +1,2 @@
1
- import{a}from"../../chunk-M3UQBIAS.js";import"../../chunk-DE3A37FL.js";import"../../chunk-UOGCEUXK.js";import"../../chunk-EZSEQHRH.js";import"../../chunk-UOF574WZ.js";import"../../chunk-23PSWIUF.js";import"../../chunk-T7ECITFD.js";import"../../chunk-IPYZIIRV.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-WEEGH2F4.js";import"../../chunk-EG7U7PM3.js";import"../../chunk-AYJMIZZ3.js";import"../../chunk-XDUIVR6I.js";import"../../chunk-HZ6A5QFC.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-276RDWEQ.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
1
+ import{a}from"../../chunk-2ARF4VOQ.js";import"../../chunk-DE3A37FL.js";import"../../chunk-UOGCEUXK.js";import"../../chunk-EZSEQHRH.js";import"../../chunk-UOF574WZ.js";import"../../chunk-23PSWIUF.js";import"../../chunk-EFOTKJY4.js";import"../../chunk-IPYZIIRV.js";import"../../chunk-4UO3W4WP.js";import"../../chunk-ZE7GYACV.js";import"../../chunk-WEEGH2F4.js";import"../../chunk-EG7U7PM3.js";import"../../chunk-AYJMIZZ3.js";import"../../chunk-XDUIVR6I.js";import"../../chunk-HZ6A5QFC.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-276RDWEQ.js";import"../../chunk-5MOOXA2X.js";import"../../chunk-4OT5AMS5.js";import"../../chunk-IZ2LK5GK.js";export{a as default};
2
2
  //# sourceMappingURL=bl-datepicker.js.map
@@ -11,8 +11,11 @@ export declare const blTableBodyTag = "bl-table-body";
11
11
  export default class BlTableBody extends LitElement {
12
12
  static get styles(): CSSResultGroup;
13
13
  private get _table();
14
- private get hasTableRows();
14
+ private hasTableRows;
15
+ private _mutationObserver;
16
+ private _checkTableRows;
15
17
  connectedCallback(): void;
18
+ disconnectedCallback(): void;
16
19
  render(): TemplateResult;
17
20
  }
18
21
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"bl-table-body.d.ts","sourceRoot":"","sources":["../../../../src/components/table/table-body/bl-table-body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,oBAAoB,CAAC;AAK5B,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAE9C;;;;;GAKG;AAEH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,UAAU;IACjD,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED,iBAAiB,IAAI,IAAI;IAOzB,MAAM,IAAI,cAAc;CA0BzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC;KAC/B;CACF"}
1
+ {"version":3,"file":"bl-table-body.d.ts","sourceRoot":"","sources":["../../../../src/components/table/table-body/bl-table-body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,oBAAoB,CAAC;AAK5B,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAE9C;;;;;GAKG;AAEH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,UAAU;IACjD,MAAM,KAAK,MAAM,IAAI,cAAc,CAElC;IAED,OAAO,KAAK,MAAM,GAEjB;IAGD,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,iBAAiB,CAAiC;IAE1D,OAAO,CAAC,eAAe;IAIvB,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;IAM5B,MAAM,IAAI,cAAc;CA0BzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC;KAC/B;CACF"}
@@ -1,2 +1,2 @@
1
- import{a,b}from"../../../chunk-YA3P3PWF.js";import"../../../chunk-P5TOP3NH.js";import"../../../chunk-HZ6A5QFC.js";import"../../../chunk-BH64QNLE.js";import"../../../chunk-GRL4DWKG.js";import"../../../chunk-3USCFSFQ.js";import"../../../chunk-7GK5LKBV.js";import"../../../chunk-276RDWEQ.js";import"../../../chunk-5MOOXA2X.js";import"../../../chunk-4OT5AMS5.js";import"../../../chunk-IZ2LK5GK.js";export{a as blTableBodyTag,b as default};
1
+ import{a,b}from"../../../chunk-X2MSD7NS.js";import"../../../chunk-P5TOP3NH.js";import"../../../chunk-HZ6A5QFC.js";import"../../../chunk-BH64QNLE.js";import"../../../chunk-GRL4DWKG.js";import"../../../chunk-3USCFSFQ.js";import"../../../chunk-7GK5LKBV.js";import"../../../chunk-276RDWEQ.js";import"../../../chunk-5MOOXA2X.js";import"../../../chunk-4OT5AMS5.js";import"../../../chunk-IZ2LK5GK.js";export{a as blTableBodyTag,b as default};
2
2
  //# sourceMappingURL=bl-table-body.js.map
@@ -1,2 +1,2 @@
1
- import{a,b}from"../../../chunk-IH7ZOE5X.js";import"../../../chunk-ART7GFCB.js";import"../../../chunk-YA3P3PWF.js";import"../../../chunk-J5YZ4HBV.js";import"../../../chunk-P5TOP3NH.js";import"../../../chunk-MWFGDECP.js";import"../../../chunk-EG7U7PM3.js";import"../../../chunk-AYJMIZZ3.js";import"../../../chunk-XDUIVR6I.js";import"../../../chunk-HZ6A5QFC.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-276RDWEQ.js";import"../../../chunk-5MOOXA2X.js";import"../../../chunk-4OT5AMS5.js";import"../../../chunk-IZ2LK5GK.js";export{a as blTableCellTag,b as default};
1
+ import{a,b}from"../../../chunk-2JDJGZRM.js";import"../../../chunk-L5U5XRNP.js";import"../../../chunk-X2MSD7NS.js";import"../../../chunk-J5YZ4HBV.js";import"../../../chunk-P5TOP3NH.js";import"../../../chunk-MWFGDECP.js";import"../../../chunk-EG7U7PM3.js";import"../../../chunk-AYJMIZZ3.js";import"../../../chunk-XDUIVR6I.js";import"../../../chunk-HZ6A5QFC.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-276RDWEQ.js";import"../../../chunk-5MOOXA2X.js";import"../../../chunk-4OT5AMS5.js";import"../../../chunk-IZ2LK5GK.js";export{a as blTableCellTag,b as default};
2
2
  //# sourceMappingURL=bl-table-cell.js.map
@@ -1,2 +1,2 @@
1
- import{a,b}from"../../../chunk-MAOX4FPK.js";import"../../../chunk-ART7GFCB.js";import"../../../chunk-YA3P3PWF.js";import"../../../chunk-J5YZ4HBV.js";import"../../../chunk-P5TOP3NH.js";import"../../../chunk-MWFGDECP.js";import"../../../chunk-EG7U7PM3.js";import"../../../chunk-AYJMIZZ3.js";import"../../../chunk-XDUIVR6I.js";import"../../../chunk-HZ6A5QFC.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-276RDWEQ.js";import"../../../chunk-5MOOXA2X.js";import"../../../chunk-4OT5AMS5.js";import"../../../chunk-IZ2LK5GK.js";export{a as blTableHeaderCellTag,b as default};
1
+ import{a,b}from"../../../chunk-CNWKBBJJ.js";import"../../../chunk-L5U5XRNP.js";import"../../../chunk-X2MSD7NS.js";import"../../../chunk-J5YZ4HBV.js";import"../../../chunk-P5TOP3NH.js";import"../../../chunk-MWFGDECP.js";import"../../../chunk-EG7U7PM3.js";import"../../../chunk-AYJMIZZ3.js";import"../../../chunk-XDUIVR6I.js";import"../../../chunk-HZ6A5QFC.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-276RDWEQ.js";import"../../../chunk-5MOOXA2X.js";import"../../../chunk-4OT5AMS5.js";import"../../../chunk-IZ2LK5GK.js";export{a as blTableHeaderCellTag,b as default};
2
2
  //# sourceMappingURL=bl-table-header-cell.js.map
@@ -1,2 +1,2 @@
1
- import{a,b}from"../../../chunk-ART7GFCB.js";import"../../../chunk-YA3P3PWF.js";import"../../../chunk-J5YZ4HBV.js";import"../../../chunk-P5TOP3NH.js";import"../../../chunk-MWFGDECP.js";import"../../../chunk-EG7U7PM3.js";import"../../../chunk-AYJMIZZ3.js";import"../../../chunk-XDUIVR6I.js";import"../../../chunk-HZ6A5QFC.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-276RDWEQ.js";import"../../../chunk-5MOOXA2X.js";import"../../../chunk-4OT5AMS5.js";import"../../../chunk-IZ2LK5GK.js";export{a as blTableRowTag,b as default};
1
+ import{a,b}from"../../../chunk-L5U5XRNP.js";import"../../../chunk-X2MSD7NS.js";import"../../../chunk-J5YZ4HBV.js";import"../../../chunk-P5TOP3NH.js";import"../../../chunk-MWFGDECP.js";import"../../../chunk-EG7U7PM3.js";import"../../../chunk-AYJMIZZ3.js";import"../../../chunk-XDUIVR6I.js";import"../../../chunk-HZ6A5QFC.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-276RDWEQ.js";import"../../../chunk-5MOOXA2X.js";import"../../../chunk-4OT5AMS5.js";import"../../../chunk-IZ2LK5GK.js";export{a as blTableRowTag,b as default};
2
2
  //# sourceMappingURL=bl-table-row.js.map
@@ -3888,6 +3888,7 @@
3888
3888
  },
3889
3889
  "description": "Sets datepicker to disabled",
3890
3890
  "attribute": "disabled",
3891
+ "reflects": true,
3891
3892
  "parsedType": {
3892
3893
  "text": "boolean"
3893
3894
  }
@@ -10093,8 +10094,25 @@
10093
10094
  {
10094
10095
  "kind": "field",
10095
10096
  "name": "hasTableRows",
10097
+ "type": {
10098
+ "text": "boolean"
10099
+ },
10096
10100
  "privacy": "private",
10097
- "readonly": true
10101
+ "default": "false"
10102
+ },
10103
+ {
10104
+ "kind": "field",
10105
+ "name": "_mutationObserver",
10106
+ "type": {
10107
+ "text": "MutationObserver | null"
10108
+ },
10109
+ "privacy": "private",
10110
+ "default": "null"
10111
+ },
10112
+ {
10113
+ "kind": "method",
10114
+ "name": "_checkTableRows",
10115
+ "privacy": "private"
10098
10116
  }
10099
10117
  ],
10100
10118
  "superclass": {
@@ -1 +1 @@
1
- {"version":3,"file":"format-to-date-array.d.ts","sourceRoot":"","sources":["../../src/utilities/format-to-date-array.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,SAAS,GAAG,IAAI,EAAE,CAWnF"}
1
+ {"version":3,"file":"format-to-date-array.d.ts","sourceRoot":"","sources":["../../src/utilities/format-to-date-array.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,SAAS,GAAG,IAAI,EAAE,CAYnF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@trendyol/baklava",
3
3
  "type": "module",
4
- "version": "3.5.0-beta.4",
4
+ "version": "3.5.0-beta.6",
5
5
  "description": "Trendyol Baklava Design System",
6
6
  "main": "dist/baklava.js",
7
7
  "module": "dist/baklava.js",
@@ -1,53 +0,0 @@
1
- import{a as f}from"./chunk-T7ECITFD.js";import{a as g}from"./chunk-GRL4DWKG.js";import{a as b,b as s,c,e as _}from"./chunk-5MOOXA2X.js";import{a as v,b as p}from"./chunk-4OT5AMS5.js";import{d as n}from"./chunk-IZ2LK5GK.js";var D=v`:host{width:314px;display:block}.datepicker-content{--bl-input-cursor:pointer;--icon-size:var(--line-height);--icon-color:var(--bl-color-neutral-light);width:100%;position:relative;display:grid}.datepicker-input{width:var(--bl-datepicker-input-width,auto);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}`,E=D;var i=class extends f{constructor(){super(...arguments);this.size="medium";this.labelFixed=!1;this.valueFormatter=null;this._inputValue="";this._floatingDateCount=0;this._fittingDateCount=0}static get styles(){return[E]}defaultInputValueFormatter(){var t,e,l,o,a,r,d,h;if(this.type==="single")this._inputValue=this.formatDate((t=this._calendarEl)==null?void 0:t._dates[0]),this.closePopoverWithTimeout();else if(this.type==="multiple"){this.setFloatingDates();let u=(e=this._calendarEl)==null?void 0:e._dates.slice(0,this._fittingDateCount).map(m=>this.formatDate(m));this._inputValue=u.join(",")+(this._floatingDateCount>0?" ,...":"")}else this.type==="range"&&((l=this._calendarEl)!=null&&l._dates[0]&&(this._inputValue=this.formatDate((o=this._calendarEl)==null?void 0:o._dates[0])),(a=this._calendarEl)!=null&&a._dates[1]&&(this._inputValue=`${this._inputValue}-${this.formatDate((r=this._calendarEl)==null?void 0:r._dates[1])}`),(d=this._calendarEl)!=null&&d._dates[0]&&((h=this._calendarEl)!=null&&h._dates[1])&&this.closePopoverWithTimeout())}closePopoverWithTimeout(){setTimeout(()=>{this.closePopover(),this._inputEl.blur()},200)}setFloatingDates(){var o,a,r;let t=(o=this.shadowRoot)==null?void 0:o.getElementById("datepicker-input"),e=(a=this.shadowRoot)==null?void 0:a.getElementById("icon-container"),l=t.offsetWidth-e.offsetWidth;this._fittingDateCount=Math.floor(l/90),this._floatingDateCount=((r=this._calendarEl)==null?void 0:r._dates.length)-this._fittingDateCount}setDatePickerInput(){var t,e;(t=this._calendarEl)!=null&&t._dates.length?this.valueFormatter?this._inputValue=this.valueFormatter((e=this._calendarEl)==null?void 0:e._dates):this.defaultInputValueFormatter():this._inputValue=""}formatDate(t){return this.monthYearOnly?`${String((t==null?void 0:t.getMonth())+1).padStart(2,"0")}/${t==null?void 0:t.getFullYear()}`:`${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._calendarEl.handleClearSelectedDates(),this._inputValue="",this._floatingDateCount=0}openPopover(){this._popoverEl.target=this._inputEl,this._popoverEl.show()}closePopover(){this._popoverEl.hide()}_togglePopover(){this._popoverEl.visible?this.closePopover():this.openPopover()}formatAdditionalDates(t){let e=t.split(",");return e==null?void 0:e.reduce((l,o,a)=>(a>0&&a%3===0&&l.push(p`<br />`),l.push(p`<span>${o.trim()}${a<e.length-1?", ":""}</span>`),l),[])}async firstUpdated(){var t,e,l;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),(e=this._inputEl)==null||e.addEventListener("mousedown",this._onInputMouseDown),(l=this._calendarEl)!=null&&l._dates&&this.setDatePickerInput()}onCalendarChange(){var t;this.setDatePickerInput(),this._onBlDatepickerChange((t=this._calendarEl)==null?void 0:t._dates)}disconnectedCallback(){var t,e;super.disconnectedCallback(),(t=this._calendarEl)==null||t.removeEventListener("mousedown",this._onCalendarMouseDown),(e=this._inputEl)==null||e.removeEventListener("mousedown",this._onInputMouseDown)}render(){var r,d,h,u;let t=p`
2
- <bl-popover target="datepicker-content" placement="bottom-start">
3
- <bl-calendar
4
- type=${this.type}
5
- .minDate=${this.minDate}
6
- .maxDate=${this.maxDate}
7
- .startOfWeek=${this.startOfWeek}
8
- .disabledDates=${this.disabledDates}
9
- .value=${this.value}
10
- .locale=${this.locale}
11
- .dayRenderer=${this.dayRenderer}
12
- ?month-year-only=${this.monthYearOnly}
13
- @bl-calendar-change="${this.onCalendarChange}"
14
- ></bl-calendar>
15
- </bl-popover>
16
- `,e=(h=(d=(r=this._calendarEl)==null?void 0:r._dates)==null?void 0:d.slice(this._fittingDateCount).map(m=>this.formatDate(m)).join(","))!=null?h:"",l=this.formatAdditionalDates(e),o=this._floatingDateCount>0?p` <bl-tooltip>
17
- <span slot="tooltip-trigger">+${this._floatingDateCount}</span>
18
- <div>${l}</div>
19
- </bl-tooltip>`:"",a=((u=this._calendarEl)==null?void 0:u._dates.length)>0?p` <bl-button
20
- size="small"
21
- variant="tertiary"
22
- kind="neutral"
23
- icon="close"
24
- @click=${this.clearDatepicker}
25
- ?disabled=${this.disabled}
26
- ></bl-button>
27
- <div class="action-divider"></div>`:"";return p`
28
- <div class="datepicker-content" id="datepicker-content" tabindex="-1">
29
- <bl-input
30
- .value="${this._inputValue}"
31
- .label="${this.label}"
32
- placeholder="${this.placeholder}"
33
- class="datepicker-input"
34
- role="button"
35
- id="datepicker-input"
36
- aria-haspopup="listbox"
37
- aria-labelledby="label"
38
- @click=${this._togglePopover}
39
- help-text=${this.helpText}
40
- ?disabled=${this.disabled}
41
- .size=${this.size}
42
- .labelFixed=${this.labelFixed}
43
- readonly
44
- >
45
- <div slot="icon" class="icon-container" id="icon-container">
46
- ${o} ${a}
47
- <bl-icon name="calendar" size="small" class="calendar-icon"></bl-icon>
48
- </div>
49
- </bl-input>
50
- ${t}
51
- </div>
52
- `}};n([s({type:String,attribute:"placeholder",reflect:!0})],i.prototype,"placeholder",2),n([s({type:String,reflect:!0})],i.prototype,"size",2),n([s({type:Boolean,attribute:"label-fixed",reflect:!0})],i.prototype,"labelFixed",2),n([s({type:String,attribute:"label",reflect:!0})],i.prototype,"label",2),n([s({type:Function,attribute:"value-formatter"})],i.prototype,"valueFormatter",2),n([s({type:Boolean})],i.prototype,"disabled",2),n([s({type:String,attribute:"help-text",reflect:!0})],i.prototype,"helpText",2),n([s({attribute:!1})],i.prototype,"dayRenderer",2),n([c()],i.prototype,"_inputValue",2),n([c()],i.prototype,"_floatingDateCount",2),n([c()],i.prototype,"_fittingDateCount",2),n([_("bl-calendar")],i.prototype,"_calendarEl",2),n([_("bl-popover")],i.prototype,"_popoverEl",2),n([_("bl-input")],i.prototype,"_inputEl",2),n([g("bl-datepicker-change")],i.prototype,"_onBlDatepickerChange",2),i=n([b("bl-datepicker")],i);export{i as a};
53
- //# sourceMappingURL=chunk-M3UQBIAS.js.map
@@ -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:314px;display:block}.datepicker-content{--bl-input-cursor:pointer;--icon-size:var(--line-height);--icon-color:var(--bl-color-neutral-light);width:100%;position:relative;display:grid}.datepicker-input{width:var(--bl-datepicker-input-width,auto);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 /**\n * Custom function to render day cells in the calendar.\n * It receives the date as an argument and should return a TemplateResult.\n */\n @property({ attribute: false })\n dayRenderer?: (date: Date) => TemplateResult;\n\n @state()\n _inputValue = \"\";\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._calendarEl?._dates[0]);\n this.closePopoverWithTimeout();\n } else if (this.type === CALENDAR_TYPES.MULTIPLE) {\n this.setFloatingDates();\n const values = this._calendarEl?._dates\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._calendarEl?._dates[0])\n this._inputValue = this.formatDate(this._calendarEl?._dates[0]);\n if (this._calendarEl?._dates[1])\n this._inputValue = `${this._inputValue}-${this.formatDate(this._calendarEl?._dates[1])}`;\n if (this._calendarEl?._dates[0] && this._calendarEl?._dates[1])\n 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._calendarEl?._dates.length - this._fittingDateCount;\n }\n\n setDatePickerInput() {\n if (!this._calendarEl?._dates.length) {\n this._inputValue = \"\";\n } else {\n if (this.valueFormatter) {\n this._inputValue = this.valueFormatter(this._calendarEl?._dates);\n } else {\n this.defaultInputValueFormatter();\n }\n }\n }\n\n formatDate(date: Date): string {\n if (this.monthYearOnly) {\n return `${String(date?.getMonth() + 1).padStart(2, \"0\")}/${date?.getFullYear()}`;\n }\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._calendarEl.handleClearSelectedDates();\n this._inputValue = \"\";\n this._floatingDateCount = 0;\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._calendarEl?._dates) {\n this.setDatePickerInput();\n }\n }\n\n onCalendarChange() {\n this.setDatePickerInput();\n this._onBlDatepickerChange(this._calendarEl?._dates);\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 .dayRenderer=${this.dayRenderer}\n ?month-year-only=${this.monthYearOnly}\n @bl-calendar-change=\"${this.onCalendarChange}\"\n ></bl-calendar>\n </bl-popover>\n `;\n const additionalDates =\n this._calendarEl?._dates\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._calendarEl?._dates.length > 0\n ? html` <bl-button\n size=\"small\"\n variant=\"tertiary\"\n kind=\"neutral\"\n icon=\"close\"\n @click=${this.clearDatepicker}\n ?disabled=${this.disabled}\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", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "values", "date", "datepickerInput", "iconsContainer", "datesTextTotalWidth", "str", "parts", "acc", "part", "index", "x", "event", "renderCalendar", "additionalDates", "formattedAdditionalDates", "additionalDatesView", "clearDatepickerButton", "__decorateClass", "e", "t", "i"]
7
- }
@@ -1,80 +0,0 @@
1
- import{a as V}from"./chunk-IPYZIIRV.js";import{a as Y,b as k}from"./chunk-WEEGH2F4.js";import{a as T}from"./chunk-6LT7O7T2.js";import{a as C}from"./chunk-GRL4DWKG.js";import{b as A}from"./chunk-276RDWEQ.js";import{a as M,b as c,c as f}from"./chunk-5MOOXA2X.js";import{a as x,b as d,f as S}from"./chunk-4OT5AMS5.js";import{d as r}from"./chunk-IZ2LK5GK.js";function v(u){let D=[],e=u.split(",");return e==null||e.forEach(t=>{let a=new Date(t.trim());isNaN(a.getTime())||D.push(a)}),D}var h=class extends S{constructor(){super(...arguments);this.startOfWeek=0;this.locale=document.documentElement.lang||"en-EN";this.monthYearOnly=!1;this._disabledDates=[];this._value=[]}get disabledDates(){return this._disabledDates}set disabledDates(e){let t=[];typeof e=="string"?t=v(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(e&&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(e&&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))}set value(e){let t=this._value;this._value=e,this.requestUpdate("value",t)}get value(){return this._value}};r([c()],h.prototype,"type",2),r([c({type:Number,attribute:"start-of-week",reflect:!0})],h.prototype,"startOfWeek",2),r([c()],h.prototype,"locale",2),r([c({type:Boolean,attribute:"month-year-only",reflect:!0})],h.prototype,"monthYearOnly",2),r([c({attribute:"disabled-dates",reflect:!0})],h.prototype,"disabledDates",1),r([c({type:Date,attribute:"max-date",reflect:!0})],h.prototype,"maxDate",1),r([c({type:Date,attribute:"min-date",reflect:!0})],h.prototype,"minDate",1),r([c({attribute:"value",reflect:!0})],h.prototype,"value",1);function N(u){return u?typeof u=="string"?v(u):u instanceof Date?[u]:u:[]}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}:host([dir=rtl]) .arrow{transform:scale(-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-start-start-radius:50%;border-end-start-radius:50%}.range-end-day{background:var(--bl-color-primary-contrast);border-start-end-radius:50%;border-end-end-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)}`,$=E;var o=class extends h{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._dates=[];this.handleClearSelectedDates=()=>{this._dates=[],this._onBlCalendarChange([]),this.clearRangePickerStyles()}}static get styles(){return[$]}connectedCallback(){super.connectedCallback(),V(this),this.monthYearOnly&&(this._calendarView="months")}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.monthYearOnly)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.monthYearOnly)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){let t=this.monthYearOnly?"months":"days";this._calendarView=this._calendarView!==e?e:t,this.setHoverClass()}setMonthAndCalendarView(e){if(this._calendarMonth=e,this.monthYearOnly){let t=new Date(this._calendarYear,e,1);this.handleDate(t)}else this._calendarView="days",this.type==="range"&&this.setHoverClass()}setYearAndCalendarView(e){this._calendarYear=e,this._calendarView=this.monthYearOnly?"months":"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._dates),this.requestUpdate()}handleSingleSelectCalendar(e){this._dates=[e]}handleMultipleSelectCalendar(e){var a,l,s;((a=this._dates)==null?void 0:a.some(n=>n.getTime()===e.getTime()))?(s=this._dates)==null||s.splice((l=this._dates)==null?void 0:l.findIndex(n=>n.getTime()===e.getTime()),1):this._dates.push(e)}handleRangeSelectCalendar(e){if(!this._dates[0])this._dates[0]=e;else if(this._dates[1])this._dates=[],this._dates[0]=e;else if(e.getTime()>this._dates[0].getTime())this._dates[1]=e;else{let t=this._dates[0];this._dates[0]=e,this._dates[1]=t}this.setHoverClass()}checkIfSelectedDate(e){var t;return(t=this._dates)==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,l;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?(l=this.disabledDates)==null?void 0:l.some(s=>e.getDate()===s.getDate()&&e.getMonth()===s.getMonth()&&e.getFullYear()===s.getFullYear()):!1}setHoverClass(){this.clearRangePickerStyles(),this._dates[0]&&this._dates[1]&&setTimeout(()=>{var l,s,n,b,y,_,i,m,g;let e=(n=(s=this.shadowRoot)==null?void 0:s.getElementById(`${(l=this._dates[0])==null?void 0:l.getTime()}`))==null?void 0:n.parentElement;e==null||e.classList.add("range-start-day");let t=(_=(y=this.shadowRoot)==null?void 0:y.getElementById(`${(b=this._dates[1])==null?void 0:b.getTime()}`))==null?void 0:_.parentElement;t==null||t.classList.add("range-end-day");let a=[...this.createCalendarDays().values()].flat().filter(p=>p.getTime()>this._dates[0].getTime()&&p.getTime()<this._dates[1].getTime());for(let p=0;p<a.length;p++){let w=(m=(i=this.shadowRoot)==null?void 0:i.getElementById(`${a[p].getTime()}`))==null?void 0:m.parentElement;(g=w==null?void 0:w.classList)==null||g.add("range-day")}})}createCalendarDays(){var y,_;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,l=this.getDayNumInAMonth(this._calendarYear,this._calendarMonth-1),s=this.getDayNumInAMonth(this._calendarYear,this._calendarMonth),n=this.startOfWeek;for(let i=a;i>0;i--){let m=n%7,g=new Date(this._calendarYear,this._calendarMonth-1,l-i+1);e.set(this.days[m].name,[g]),n+=1}for(let i=1;i<=s;i++){let m=n%7,g=new Date(this._calendarYear,this._calendarMonth,i);e.get(this.days[m].name)?(y=e.get(this.days[m].name))==null||y.push(g):e.set(this.days[m].name,[g]),n+=1}let b=this._calendarDays.findIndex(i=>i.value===n%7);if(b!==0)for(let i=1;i<=this._calendarDays.length-b;i++){let m=n%7,g=new Date(this._calendarYear,this._calendarMonth+1,i);(_=e.get(this.days[m].name))==null||_.push(g),n+=1}return e}updated(e){if(e.has("value")){let t=N(this._value);t!=null&&t.length?t==null||t.forEach(a=>{this.handleDate(a)}):this.handleClearSelectedDates()}}renderCalendarHeader(){let e=this._calendarView==="months"?"header-text-hover":"",t=this._calendarView==="years"?"header-text-hover":"";return d`
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
- ${this.monthYearOnly?d``:d`<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 d` <div class="week-row">
33
- ${[...e.keys()].map(a=>d` <div class="calendar-text weekday-text">${a}</div> `)}
34
- </div>
35
- <div class="days-wrapper">
36
- ${[...Array(t[0].length).keys()].map(a=>d` <div class="week-row">
37
- ${t.map(l=>{let s=l[a],n=this.checkIfSelectedDate(s),b=this.checkIfDateIsToday(s),y=this.checkIfDateIsDisabled(s),_=T({day:!0,"calendar-text":!0,"today-day":b,"selected-day":n,"other-month-day":l[a].getMonth()!==this._calendarMonth,"disabled-day":y});return d`<div class="day-wrapper">
38
- <bl-button
39
- id=${s.getTime()}
40
- variant="tertiary"
41
- kind="neutral"
42
- size="small"
43
- class=${_}
44
- ?disabled=${y}
45
- @click="${()=>!y&&this.handleDate(s)}"
46
- >
47
- ${this.dayRenderer?this.dayRenderer(s):s.getDate()}
48
- </bl-button>
49
- </div>`})}
50
- </div>`)}
51
- </div>`}renderCalendarMonths(){return d` <div class="grid-content">
52
- ${this.months.map((e,t)=>{let a=e.value===this._calendarMonth?"primary":"tertiary",l=e.value===this._calendarMonth?"default":"neutral";return d` <bl-button
53
- variant=${a}
54
- kind=${l}
55
- class="grid-item"
56
- size="small"
57
- @click="${()=>this.setMonthAndCalendarView(t)}"
58
- ><span class="calendar-text">${e.name}</span></bl-button
59
- >`})}
60
- </div>`}renderCalendarYears(){return this.generateSurroundingYears(),d` <div class="grid-content">
61
- ${this._calendarYears.map(e=>{let t=e===this._calendarYear?"primary":"tertiary",a=e===this._calendarYear?"default":"neutral";return d` <bl-button
62
- variant=${t}
63
- kind=${a}
64
- class="grid-item"
65
- @click="${()=>this.setYearAndCalendarView(e)}"
66
- ><span class="calendar-text">${e}</span></bl-button
67
- >`})}
68
- </div>`}render(){return d`
69
- <div>
70
- <div class="calendar-content">
71
- <div class="calendar">
72
- ${this.renderCalendarHeader()}
73
- ${this._calendarView==="days"?this.renderCalendarDays():""}
74
- ${this._calendarView==="months"?this.renderCalendarMonths():""}
75
- ${this._calendarView==="years"?this.renderCalendarYears():""}
76
- </div>
77
- </div>
78
- </div>
79
- `}};r([f()],o.prototype,"today",2),r([f()],o.prototype,"_calendarMonth",2),r([f()],o.prototype,"_calendarYear",2),r([f()],o.prototype,"_calendarView",2),r([f()],o.prototype,"_calendarYears",2),r([f()],o.prototype,"_calendarDays",2),r([f()],o.prototype,"_dates",2),r([c({attribute:!1})],o.prototype,"dayRenderer",2),r([C("bl-calendar-change")],o.prototype,"_onBlCalendarChange",2),o=r([M("bl-calendar"),A()],o);export{h as a,o as b};
80
- //# sourceMappingURL=chunk-T7ECITFD.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/utilities/format-to-date-array.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 } from \"lit/decorators.js\";\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\n /**\n * Enables month and year only selection mode\n */\n @property({ type: Boolean, attribute: \"month-year-only\", reflect: true })\n monthYearOnly = false;\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 (maxDate && 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 (minDate && 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 @property({ attribute: \"value\", reflect: true })\n set value(value: string | Date | Date[]) {\n const oldValue = this._value;\n\n this._value = value;\n this.requestUpdate(\"value\", oldValue);\n }\n\n get value(): string | Date | Date[] {\n return this._value;\n }\n\n _value: string | Date | Date[] = [];\n}\n", "import { stringToDateArray } from \"./string-to-date-converter\";\n\nexport function formatToDateArray(value: string | Date | Date[] | undefined): Date[] {\n if (!value) {\n return [];\n }\n if (typeof value === \"string\") {\n return stringToDateArray(value);\n } else if (value instanceof Date) {\n return [value];\n } else {\n return value;\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}:host([dir=rtl]) .arrow{transform:scale(-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-start-start-radius:50%;border-end-start-radius:50%}.range-end-day{background:var(--bl-color-primary-contrast);border-start-end-radius:50%;border-end-end-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, PropertyValues, TemplateResult } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { localized } from \"@lit/localize\";\nimport DatepickerCalendarMixin from \"../../mixins/datepicker-calendar-mixin/datepicker-calendar-mixin\";\nimport { setDirectionProperty } from \"../../utilities/direction\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport { formatToDateArray } from \"../../utilities/format-to-date-array\";\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\")\n@localized()\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 @state()\n _dates: Date[] = [];\n\n /**\n * Custom function to render day cells.\n * It receives the date as an argument and should return a TemplateResult.\n */\n @property({ attribute: false })\n dayRenderer?: (date: Date) => TemplateResult;\n\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 connectedCallback() {\n super.connectedCallback();\n setDirectionProperty(this);\n\n if (this.monthYearOnly) {\n this._calendarView = CALENDAR_VIEWS.MONTHS;\n }\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._dates = [];\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 && !this.monthYearOnly) {\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 && !this.monthYearOnly) {\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 const defaultView = this.monthYearOnly ? CALENDAR_VIEWS.MONTHS : CALENDAR_VIEWS.DAYS;\n\n this._calendarView = this._calendarView !== view ? view : defaultView;\n this.setHoverClass();\n }\n\n setMonthAndCalendarView(month: number) {\n this._calendarMonth = month;\n\n if (this.monthYearOnly) {\n // In month-year only mode, selecting a month finalizes the selection\n const date = new Date(this._calendarYear, month, 1);\n\n this.handleDate(date);\n } else {\n this._calendarView = CALENDAR_VIEWS.DAYS;\n if (this.type === CALENDAR_TYPES.RANGE) this.setHoverClass();\n }\n }\n\n setYearAndCalendarView(year: number) {\n this._calendarYear = year;\n this._calendarView = this.monthYearOnly ? CALENDAR_VIEWS.MONTHS : 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._dates);\n this.requestUpdate();\n }\n\n handleSingleSelectCalendar(calendarDate: Date) {\n this._dates = [calendarDate];\n }\n\n handleMultipleSelectCalendar(calendarDate: Date) {\n const dateExist = this._dates?.some(d => d.getTime() === calendarDate.getTime());\n\n dateExist\n ? this._dates?.splice(\n this._dates?.findIndex(d => d.getTime() === calendarDate.getTime()),\n 1\n )\n : this._dates.push(calendarDate);\n }\n\n handleRangeSelectCalendar(calendarDate: Date) {\n if (!this._dates[0]) {\n this._dates[0] = calendarDate;\n } else if (!this._dates[1]) {\n if (calendarDate.getTime() > this._dates[0].getTime()) {\n this._dates[1] = calendarDate;\n } else {\n const tempEndDate = this._dates[0];\n\n this._dates[0] = calendarDate;\n this._dates[1] = tempEndDate;\n }\n } else {\n this._dates = [];\n this._dates[0] = calendarDate;\n }\n this.setHoverClass();\n }\n\n checkIfSelectedDate(calendarDate: Date) {\n return this._dates?.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._dates[0] && this._dates[1]) {\n setTimeout(() => {\n const startDateParentElement = this.shadowRoot?.getElementById(\n `${this._dates[0]?.getTime()}`\n )?.parentElement;\n\n startDateParentElement?.classList.add(\"range-start-day\");\n\n const endDateParentElement = this.shadowRoot?.getElementById(\n `${this._dates[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._dates[0]!.getTime() &&\n date.getTime() < this._dates[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 updated(changedProperties: PropertyValues) {\n if (changedProperties.has(\"value\")) {\n const dates = formatToDateArray(this._value);\n\n if (!dates?.length) {\n this.handleClearSelectedDates();\n } else {\n dates?.forEach(date => {\n this.handleDate(date);\n });\n }\n }\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 ${!this.monthYearOnly\n ? html`<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 : html``}\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` <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\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`<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 ${this.dayRenderer ? this.dayRenderer(date) : date.getDate()}\n </bl-button>\n </div>`;\n })}\n </div>`;\n })}\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", "__decorateClass", "e", "formatToDateArray", "value", "stringToDateArray", "styles", "i", "bl_calendar_default", "BlCalendar", "DatepickerCalendarMixin", "bl_calendar_default", "setDirectionProperty", "month", "day", "year", "fromYear", "_", "i", "view", "defaultView", "date", "_a", "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", "changedProperties", "dates", "formatToDateArray", "showMonthSelected", "showYearSelected", "x", "calendarDays", "valuesArray", "key", "values", "isSelectedDay", "isDayToday", "isDisabledDay", "classes", "o", "variant", "neutral", "__decorateClass", "t", "e", "event", "localized"]
7
- }
@@ -1,14 +0,0 @@
1
- import{a as n}from"./chunk-P5TOP3NH.js";import{d as e}from"./chunk-276RDWEQ.js";import{a as i}from"./chunk-5MOOXA2X.js";import{a as o,b as l,f as r}from"./chunk-4OT5AMS5.js";import{d as a}from"./chunk-IZ2LK5GK.js";var c=o`:host{display:table-row-group}.no-data-row{display:table-row}.no-data-cell{display:table-cell;padding:var(--bl-size-2xl);text-align:center;vertical-align:middle;background-color:var(--bl-color-neutral-full);width:100%;min-height:250px;position:relative}.no-data-cell ::slotted(*){display:block;width:100%}.default-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.default-no-data bl-icon{font-size:48px;margin-bottom:var(--bl-size-m);color:var(--bl-color-neutral-light)}.default-no-data .title{margin:0;font:var(--bl-font-title-2-regular);color:var(--bl-color-neutral-darker)}.default-no-data .subtitle{margin:var(--bl-size-xs) 0 0 0;font:var(--bl-font-body-text-2);color:var(--bl-color-neutral-light)}`,s=c;var p="bl-table-body",t=class extends r{static get styles(){return[s]}get _table(){return this.closest(n)}get hasTableRows(){return this.querySelector("bl-table-row")!==null}connectedCallback(){super.connectedCallback(),this._table||console.warn("bl-table-body is designed to be used inside a bl-table",this)}render(){if(this.hasTableRows)return l` <slot></slot> `;let d=e("No data available",{desc:"bl-table-body: no data title"}),b=e("There are currently no records to display.",{desc:"bl-table-body: no data subtitle"});return l`
2
- <tr class="no-data-row">
3
- <td class="no-data-cell" colspan="999">
4
- <slot name="no-data">
5
- <div class="default-no-data">
6
- <bl-icon name="info"></bl-icon>
7
- <p class="title">${d}</p>
8
- <p class="subtitle">${b}</p>
9
- </div>
10
- </slot>
11
- </td>
12
- </tr>
13
- `}};t=a([i(p)],t);export{p as a,t as b};
14
- //# sourceMappingURL=chunk-YA3P3PWF.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/table/table-body/bl-table-body.css", "../src/components/table/table-body/bl-table-body.ts"],
4
- "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{display:table-row-group}.no-data-row{display:table-row}.no-data-cell{display:table-cell;padding:var(--bl-size-2xl);text-align:center;vertical-align:middle;background-color:var(--bl-color-neutral-full);width:100%;min-height:250px;position:relative}.no-data-cell ::slotted(*){display:block;width:100%}.default-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.default-no-data bl-icon{font-size:48px;margin-bottom:var(--bl-size-m);color:var(--bl-color-neutral-light)}.default-no-data .title{margin:0;font:var(--bl-font-title-2-regular);color:var(--bl-color-neutral-darker)}.default-no-data .subtitle{margin:var(--bl-size-xs) 0 0 0;font:var(--bl-font-body-text-2);color:var(--bl-color-neutral-light)}`;\nexport default styles;\n", "import { html, LitElement, TemplateResult } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport { CSSResultGroup } from \"lit/development\";\nimport { msg } from \"@lit/localize\";\nimport \"../../icon/bl-icon\";\nimport type BlTable from \"../bl-table\";\nimport { blTableTag } from \"../bl-table\";\nimport style from \"../table-body/bl-table-body.css\";\n\nexport const blTableBodyTag = \"bl-table-body\";\n\n/**\n * @tag bl-table-body\n * @summary Baklava Table component\n *\n * @slot no-data - Content to display when no data is available\n */\n@customElement(blTableBodyTag)\nexport default class BlTableBody extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n private get _table() {\n return this.closest<BlTable>(blTableTag);\n }\n\n private get hasTableRows() {\n return this.querySelector(\"bl-table-row\") !== null;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n if (!this._table) {\n console.warn(\"bl-table-body is designed to be used inside a bl-table\", this);\n }\n }\n\n render(): TemplateResult {\n // If there are table rows, show the normal content\n if (this.hasTableRows) {\n return html` <slot></slot> `;\n }\n\n // If there are no table rows, show the no-data slot or default content\n const noDataTitle = msg(\"No data available\", { desc: \"bl-table-body: no data title\" });\n const noDataSubtitle = msg(\"There are currently no records to display.\", {\n desc: \"bl-table-body: no data subtitle\",\n });\n\n return html`\n <tr class=\"no-data-row\">\n <td class=\"no-data-cell\" colspan=\"999\">\n <slot name=\"no-data\">\n <div class=\"default-no-data\">\n <bl-icon name=\"info\"></bl-icon>\n <p class=\"title\">${noDataTitle}</p>\n <p class=\"subtitle\">${noDataSubtitle}</p>\n </div>\n </slot>\n </td>\n </tr>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [blTableBodyTag]: BlTableBody;\n }\n}\n"],
5
- "mappings": "sNACO,IAAMA,EAASC,uvBACfC,EAAQF,ECOR,IAAMG,EAAiB,gBASTC,EAArB,cAAyCC,CAAW,CAClD,WAAW,QAAyB,CAClC,MAAO,CAACC,CAAK,CACf,CAEA,IAAY,QAAS,CACnB,OAAO,KAAK,QAAiBC,CAAU,CACzC,CAEA,IAAY,cAAe,CACzB,OAAO,KAAK,cAAc,cAAc,IAAM,IAChD,CAEA,mBAA0B,CACxB,MAAM,kBAAkB,EACnB,KAAK,QACR,QAAQ,KAAK,yDAA0D,IAAI,CAE/E,CAEA,QAAyB,CAEvB,GAAI,KAAK,aACP,OAAOC,mBAIT,IAAMC,EAAcC,EAAI,oBAAqB,CAAE,KAAM,8BAA+B,CAAC,EAC/EC,EAAiBD,EAAI,6CAA8C,CACvE,KAAM,iCACR,CAAC,EAED,OAAOF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCAMsBC;AAAA,oCACGE;AAAA;AAAA;AAAA;AAAA;AAAA,KAMlC,CACF,EA9CqBP,EAArBQ,EAAA,CADCC,EAAcV,CAAc,GACRC",
6
- "names": ["styles", "i", "bl_table_body_default", "blTableBodyTag", "BlTableBody", "s", "bl_table_body_default", "blTableTag", "x", "noDataTitle", "msg", "noDataSubtitle", "__decorateClass", "e"]
7
- }