@trendyol/baklava 3.3.0-beta.1 → 3.3.0-beta.10

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 (104) hide show
  1. package/dist/baklava-react.d.ts +13 -1
  2. package/dist/baklava-react.d.ts.map +1 -1
  3. package/dist/baklava-react.js +1 -1
  4. package/dist/baklava-react.js.map +3 -3
  5. package/dist/baklava-vue.d.ts +1 -0
  6. package/dist/baklava.d.ts +1 -0
  7. package/dist/baklava.d.ts.map +1 -1
  8. package/dist/baklava.js +1 -1
  9. package/dist/{chunk-BCXEI2IY.js → chunk-2I4NXKV5.js} +6 -6
  10. package/dist/chunk-2I4NXKV5.js.map +7 -0
  11. package/dist/{chunk-U2GVQEOB.js → chunk-43SCA2ZJ.js} +12 -11
  12. package/dist/chunk-43SCA2ZJ.js.map +7 -0
  13. package/dist/chunk-47S2NIWC.js +5 -0
  14. package/dist/chunk-47S2NIWC.js.map +7 -0
  15. package/dist/{chunk-BJVM3LHO.js → chunk-AW5LBSEM.js} +2 -2
  16. package/dist/{chunk-HYB2HRRX.js → chunk-BH64QNLE.js} +2 -2
  17. package/dist/{chunk-HYB2HRRX.js.map → chunk-BH64QNLE.js.map} +2 -2
  18. package/dist/{chunk-I44SG6Y7.js → chunk-FCEMOH4J.js} +2 -1
  19. package/dist/{chunk-I44SG6Y7.js.map → chunk-FCEMOH4J.js.map} +2 -2
  20. package/dist/{chunk-JCODVOWY.js → chunk-FTQX7CEW.js} +6 -5
  21. package/dist/{chunk-JCODVOWY.js.map → chunk-FTQX7CEW.js.map} +2 -2
  22. package/dist/{chunk-2U3PTJEA.js → chunk-GMVJABPT.js} +2 -1
  23. package/dist/{chunk-2U3PTJEA.js.map → chunk-GMVJABPT.js.map} +2 -2
  24. package/dist/{chunk-7NZ7DYVG.js → chunk-GXDVWGFU.js} +2 -1
  25. package/dist/{chunk-7NZ7DYVG.js.map → chunk-GXDVWGFU.js.map} +2 -2
  26. package/dist/{chunk-OUFOJQAS.js → chunk-J45OQI7D.js} +2 -2
  27. package/dist/{chunk-OUFOJQAS.js.map → chunk-J45OQI7D.js.map} +2 -2
  28. package/dist/chunk-NGQ435PC.js +50 -0
  29. package/dist/chunk-NGQ435PC.js.map +7 -0
  30. package/dist/{chunk-2E2KYTNB.js → chunk-OAF3R4PW.js} +3 -3
  31. package/dist/{chunk-2E2KYTNB.js.map → chunk-OAF3R4PW.js.map} +3 -3
  32. package/dist/chunk-T3UQYGO3.js +84 -0
  33. package/dist/chunk-T3UQYGO3.js.map +7 -0
  34. package/dist/{chunk-7QNX2GPS.js → chunk-X73CSBRO.js} +2 -2
  35. package/dist/chunk-X73CSBRO.js.map +7 -0
  36. package/dist/components/accordion-group/accordion/bl-accordion.js +1 -1
  37. package/dist/components/alert/bl-alert.js +1 -1
  38. package/dist/components/badge/bl-badge.js +1 -1
  39. package/dist/components/button/bl-button.js +1 -1
  40. package/dist/components/calendar/bl-calendar.d.ts +26 -51
  41. package/dist/components/calendar/bl-calendar.d.ts.map +1 -1
  42. package/dist/components/calendar/bl-calendar.js +1 -1
  43. package/dist/components/calendar/bl-calendar.test.d.ts +2 -0
  44. package/dist/components/calendar/bl-calendar.test.d.ts.map +1 -0
  45. package/dist/components/calendar/bl-calendar.types.d.ts +3 -4
  46. package/dist/components/calendar/bl-calendar.types.d.ts.map +1 -1
  47. package/dist/components/checkbox-group/bl-checkbox-group.js +1 -1
  48. package/dist/components/checkbox-group/checkbox/bl-checkbox.d.ts +1 -0
  49. package/dist/components/checkbox-group/checkbox/bl-checkbox.d.ts.map +1 -1
  50. package/dist/components/checkbox-group/checkbox/bl-checkbox.js +1 -1
  51. package/dist/components/datepicker/bl-datepicker.d.ts +71 -0
  52. package/dist/components/datepicker/bl-datepicker.d.ts.map +1 -0
  53. package/dist/components/datepicker/bl-datepicker.js +2 -0
  54. package/dist/components/datepicker/bl-datepicker.js.map +7 -0
  55. package/dist/components/datepicker/bl-datepicker.test.d.ts +2 -0
  56. package/dist/components/datepicker/bl-datepicker.test.d.ts.map +1 -0
  57. package/dist/components/dialog/bl-dialog.d.ts.map +1 -1
  58. package/dist/components/dialog/bl-dialog.js +1 -1
  59. package/dist/components/drawer/bl-drawer.d.ts.map +1 -1
  60. package/dist/components/drawer/bl-drawer.js +1 -1
  61. package/dist/components/dropdown/bl-dropdown.d.ts +6 -2
  62. package/dist/components/dropdown/bl-dropdown.d.ts.map +1 -1
  63. package/dist/components/dropdown/bl-dropdown.js +1 -1
  64. package/dist/components/dropdown/item/bl-dropdown-item.js +1 -1
  65. package/dist/components/icon/bl-icon.d.ts +1 -0
  66. package/dist/components/icon/bl-icon.d.ts.map +1 -1
  67. package/dist/components/icon/bl-icon.js +1 -1
  68. package/dist/components/input/bl-input.d.ts +2 -2
  69. package/dist/components/input/bl-input.d.ts.map +1 -1
  70. package/dist/components/input/bl-input.js +1 -1
  71. package/dist/components/pagination/bl-pagination.js +1 -1
  72. package/dist/components/popover/bl-popover.d.ts +22 -22
  73. package/dist/components/popover/bl-popover.d.ts.map +1 -1
  74. package/dist/components/popover/bl-popover.js +1 -1
  75. package/dist/components/progress-indicator/bl-progress-indicator.d.ts.map +1 -1
  76. package/dist/components/progress-indicator/bl-progress-indicator.js +1 -1
  77. package/dist/components/select/bl-select.d.ts.map +1 -1
  78. package/dist/components/select/bl-select.js +1 -1
  79. package/dist/components/select/bl-select.test.d.ts.map +1 -1
  80. package/dist/components/spinner/bl-spinner.js +1 -1
  81. package/dist/components/split-button/bl-split-button.js +1 -1
  82. package/dist/components/switch/bl-switch.js +1 -1
  83. package/dist/components/table/table-cell/bl-table-cell.js +1 -1
  84. package/dist/components/table/table-header-cell/bl-table-header-cell.js +1 -1
  85. package/dist/components/table/table-row/bl-table-row.js +1 -1
  86. package/dist/components/tooltip/bl-tooltip.js +1 -1
  87. package/dist/custom-elements.json +157 -67
  88. package/dist/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.d.ts +46 -0
  89. package/dist/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.d.ts.map +1 -0
  90. package/dist/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.test.d.ts +2 -0
  91. package/dist/mixins/datepicker-calendar-mixin/datepicker-calendar-mixin.test.d.ts.map +1 -0
  92. package/dist/utilities/string-to-date-converter.d.ts +2 -0
  93. package/dist/utilities/string-to-date-converter.d.ts.map +1 -0
  94. package/dist/utilities/string-to-date-converter.test.d.ts +2 -0
  95. package/dist/utilities/string-to-date-converter.test.d.ts.map +1 -0
  96. package/package.json +4 -2
  97. package/dist/chunk-7QNX2GPS.js.map +0 -7
  98. package/dist/chunk-BCXEI2IY.js.map +0 -7
  99. package/dist/chunk-GY5V7SRK.js +0 -80
  100. package/dist/chunk-GY5V7SRK.js.map +0 -7
  101. package/dist/chunk-OPTFSJFM.js +0 -5
  102. package/dist/chunk-OPTFSJFM.js.map +0 -7
  103. package/dist/chunk-U2GVQEOB.js.map +0 -7
  104. /package/dist/{chunk-BJVM3LHO.js.map → chunk-AW5LBSEM.js.map} +0 -0
@@ -1,80 +0,0 @@
1
- import{a as _,b}from"./chunk-WEEGH2F4.js";import{a as M}from"./chunk-6LT7O7T2.js";import{a as Y}from"./chunk-GRL4DWKG.js";import{a as S,b as f,c as D}from"./chunk-5MOOXA2X.js";import{a as x,b as y,f as R}from"./chunk-4OT5AMS5.js";import{d as n}from"./chunk-IZ2LK5GK.js";var C=x`.calendar{display:flex;flex-direction:column}.calendar-content{display:flex;padding:16px;flex-direction:column;align-items:center;gap:16px;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;gap:2px}.arrow{flex:1}.header-text{flex:3}.header-text-hover{background:var(--bl-color-neutral-lightest);border-radius:var(--bl-border-radius-s)}.days-wrapper{display:flex;flex-direction:column}.day-wrapper{display:flex;align-items:center;justify-content:center}.week-row{display:flex;align-items:center;flex-direction:row;padding-bottom:8px}.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%;&.today-day {
2
- --bl-color-neutral-darker:var(--bl-color-primary);--bl-color-neutral-darkest:var(--bl-color-primary)}&.other-month-day{--bl-color-neutral-darker:var(--bl-color-neutral-dark);&.selected-day {
3
- --bl-color-neutral-darker:var(--bl-color-neutral-full)}}
4
-
5
- &.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)}}
6
-
7
- .range-day{background:var(--bl-color-primary-contrast);--bl-color-neutral-lightest:var(--bl-color-primary-contrast)}.range-end-day,.range-start-day,.selected-day{--bl-color-neutral-lightest:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full);--bl-color-neutral-darkest:var(--bl-color-neutral-full) !important}.range-start-day{background:var(--bl-color-primary-contrast);border-top-left-radius:50%;border-bottom-left-radius:50%}.range-end-day{background:var(--bl-color-primary-contrast);border-top-right-radius:50%;border-bottom-right-radius:50%}.weekday-text{color:var(--bl-color-neutral-dark);text-align:center;padding:8px 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:8px}.calendar-text{font:var(--bl-font-title-3-regular)}`,A=C;var a=class extends R{constructor(){super(...arguments);this.type="single";this.startOfWeek=0;this.locale=document.documentElement.lang;this._selectedDates=[];this._selectedRangeDates={startDate:void 0,endDate:void 0};this.today=new Date;this._calendarMonth=this.today.getMonth();this._calendarYear=this.today.getFullYear();this._calendarView="days";this._calendarYears=[];this._calendarDays=[]}get defaultValue(){return this._defaultValue}set defaultValue(e){this.type==="single"&&Array.isArray(e)?console.warn("Invalid prop value for defaultValue"):this.defaultValue&&(Array.isArray(this.defaultValue)?this._selectedDates={...this.defaultValue}:this._selectedDates=[this.defaultValue])}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}))}static get styles(){return[A]}getDayNumInAMonth(e,t){return new Date(e,t+1,0).getDate()}getWeekDayOfDate(e,t){return new Date(e,t,1).getDay()}setPreviousCalendarView(){if(this.clearRangePickerStyles(),this._calendarView==="days")this._calendarMonth===0?(this._calendarMonth=11,this._calendarYear-=1):this._calendarMonth-=1;else if(this._calendarView==="months")this._calendarYear-=1;else if(this._calendarView==="years"){let e=this._calendarYears[0];this._calendarYears=[];for(let t=12;t>0;t--)this._calendarYears.push(e-t)}this.type==="range"&&this.setHoverClass()}setNextCalendarView(){if(this.clearRangePickerStyles(),this._calendarView==="days")this._calendarMonth===11?(this._calendarMonth=0,this._calendarYear+=1):this._calendarMonth+=1;else if(this._calendarView==="months")this._calendarYear+=1;else if(this._calendarView==="years"){let e=this._calendarYears[11];this._calendarYears=[];for(let t=1;t<=12;t++)this._calendarYears.push(e+t)}this.type==="range"&&this.setHoverClass()}setCurrentCalendarView(e){this._calendarView!==e?this._calendarView=e:this._calendarView="days",this.setHoverClass()}setMonthAndCalendarView(e){this._calendarMonth=e,this._calendarView="days",this.type==="range"&&this.setHoverClass()}setYearAndCalendarView(e){this._calendarYear=e,this._calendarView="days",this.type==="range"&&this.setHoverClass()}generateSurroundingYears(){this._calendarYears.length===0&&(this._calendarYears=Array.from({length:12},(e,t)=>this._calendarYear-4+t))}clearRangePickerStyles(){var e,t,r;(e=this.shadowRoot)==null||e.querySelectorAll(".range-day").forEach(d=>{d.classList.remove("range-day")}),(t=this.shadowRoot)==null||t.querySelectorAll(".range-start-day").forEach(d=>{d.classList.remove("range-start-day")}),(r=this.shadowRoot)==null||r.querySelectorAll(".range-end-day").forEach(d=>{d.classList.remove("range-end-day")})}handleDate(e){this.type!=="range"&&(e.getMonth()<this._calendarMonth?this.setPreviousCalendarView():e.getMonth()>this._calendarMonth&&this.setNextCalendarView()),this.type==="single"?this.handleSingleSelectCalendar(e):this.type==="multiple"?this.handleMultipleSelectCalendar(e):this.type==="range"&&this.handleRangeSelectCalendar(e),this._onBlCalendarChange(this._selectedDates),this.requestUpdate()}handleSingleSelectCalendar(e){this._selectedDates.splice(0,1),this._selectedDates.push(e)}handleMultipleSelectCalendar(e){this._selectedDates.find(function(r){return r.getTime()===e.getTime()})?this._selectedDates.splice(this._selectedDates.findIndex(r=>r.getTime()===e.getTime()),1):this._selectedDates.push(e)}handleRangeSelectCalendar(e){if(!this._selectedRangeDates.startDate)this._selectedRangeDates.startDate=e,this._selectedDates.push(e);else if(this._selectedRangeDates.startDate&&!this._selectedRangeDates.endDate){if(e.getTime()>this._selectedRangeDates.startDate.getTime())this._selectedRangeDates.endDate=e,this._selectedDates.push(e);else if(e.getTime()<this._selectedRangeDates.startDate.getTime()){let t=this._selectedRangeDates.startDate;this._selectedRangeDates.startDate=e,this._selectedRangeDates.endDate=t,this._selectedDates.splice(0,this._selectedDates.length,this._selectedRangeDates.startDate,this._selectedRangeDates.endDate)}}else this._selectedRangeDates.startDate&&this._selectedRangeDates.endDate&&(this._selectedRangeDates.startDate=e,this._selectedRangeDates.endDate=void 0,this._selectedDates.splice(0,this._selectedDates.length,this._selectedRangeDates.startDate));this.setHoverClass()}checkIfSelectedDate(e){return!!this._selectedDates.find(r=>e.getTime()===r.getTime())}checkIfDateIsToday(e){let t=new Date;return t.getDate()===e.getDate()&&t.getMonth()===e.getMonth()&&t.getFullYear()===e.getFullYear()}checkIfDateIsDisabled(e){var t,r;return e.getTime()<((t=this.minDate)==null?void 0:t.getTime())||e.getTime()>((r=this.maxDate)==null?void 0:r.getTime())?!0:Array.isArray(this.disabledDates)?!!this.disabledDates.find(s=>e.getTime()===new Date(s).getTime()):!1}setHoverClass(){this.clearRangePickerStyles(),this._selectedRangeDates.startDate&&this._selectedRangeDates.endDate&&setTimeout(()=>{var d,s,l,o,g,h,i,u,c;let e=(l=(s=this.shadowRoot)==null?void 0:s.getElementById(`${(d=this._selectedRangeDates.startDate)==null?void 0:d.getTime()}`))==null?void 0:l.parentElement;e==null||e.classList.add("range-start-day");let t=(h=(g=this.shadowRoot)==null?void 0:g.getElementById(`${(o=this._selectedRangeDates.endDate)==null?void 0:o.getTime()}`))==null?void 0:h.parentElement;t==null||t.classList.add("range-end-day");let r=[...this.createCalendarDays().values()].flat().filter(m=>{var p,v,w,k;return m.getTime()>(((v=(p=this._selectedRangeDates)==null?void 0:p.startDate)==null?void 0:v.getTime())||0)&&m.getTime()<(((k=(w=this._selectedRangeDates)==null?void 0:w.endDate)==null?void 0:k.getTime())||0)});for(let m=0;m<r.length;m++){let p=(u=(i=this.shadowRoot)==null?void 0:i.getElementById(`${r[m].getTime()}`))==null?void 0:u.parentElement;(c=p==null?void 0:p.classList)==null||c.add("range-day")}})}createCalendarDays(){var g,h;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),r=t<this.startOfWeek?7-(this.startOfWeek-t):t-this.startOfWeek,d=this.getDayNumInAMonth(this._calendarYear,this._calendarMonth-1),s=this.getDayNumInAMonth(this._calendarYear,this._calendarMonth),l=this.startOfWeek;for(let i=r;i>0;i--){let u=l%7,c=new Date(this._calendarYear,this._calendarMonth-1,d-i+1);e.set(this.days[u].name,[c]),l+=1}for(let i=1;i<=s;i++){let u=l%7,c=new Date(this._calendarYear,this._calendarMonth,i);e.get(this.days[u].name)?(g=e.get(this.days[u].name))==null||g.push(c):e.set(this.days[u].name,[c]),l+=1}let o=this._calendarDays.findIndex(i=>i.value===l%7);if(o!==0)for(let i=1;i<=this._calendarDays.length-o;i++){let u=l%7,c=new Date(this._calendarYear,this._calendarMonth+1,i);(h=e.get(this.days[u].name))==null||h.push(c),l+=1}return e}render(){let e=d=>{if(d==="days"){let s=this.createCalendarDays(),l=Array.from(s.values());return y`<div class="week-row">
8
- ${[...s.keys()].map(o=>y` <div class="calendar-text weekday-text">${o}</div> `)}</div>
9
- <div class="days-wrapper">
10
- ${[...Array(l[0].length).keys()].map(o=>y`<div class="week-row">
11
- ${l.map(g=>{let h=g[o],i=this.checkIfSelectedDate(h),u=this.checkIfDateIsToday(h),c=this.checkIfDateIsDisabled(h),m=M({day:!0,"calendar-text":!0,"today-day":u,"selected-day":i,"other-month-day":g[o].getMonth()!==this._calendarMonth,"disabled-day":c});return y`
12
- <div class="day-wrapper">
13
- <bl-button
14
- id=${h.getTime()}
15
- variant="tertiary"
16
- kind="neutral"
17
- size="small"
18
- class=${m}
19
- ?disabled=${c}
20
- @click="${()=>!c&&this.handleDate(h)}"
21
- >
22
- ${h.getDate()}
23
- </bl-button>
24
- </div>
25
- `})}
26
- </div>`)}
27
- </div>
28
- </div>`}else return d==="months"?y`<div class="grid-content">
29
- ${this.months.map((s,l)=>{let o=s.value===this._calendarMonth?"primary":"tertiary",g=s.value===this._calendarMonth?"default":"neutral";return y`<bl-button
30
- variant=${o}
31
- kind=${g}
32
- class="grid-item"
33
- size="small"
34
- @click="${()=>this.setMonthAndCalendarView(l)}"
35
- ><span class="calendar-text">${s.name}</span></bl-button
36
- >`})}
37
- </div>`:(this.generateSurroundingYears(),y`<div class="grid-content">
38
- ${this._calendarYears.map(s=>{let l=s===this._calendarYear?"primary":"tertiary",o=s===this._calendarYear?"default":"neutral";return y`<bl-button
39
- variant=${l}
40
- kind=${o}
41
- class="grid-item"
42
- @click="${()=>this.setYearAndCalendarView(s)}"
43
- ><span class="calendar-text">${s}</span></bl-button
44
- >`})}
45
- </div>`)},t=this._calendarView==="months"?"header-text-hover":"",r=this._calendarView==="years"?"header-text-hover":"";return y`<div>
46
- <div class="calendar-content">
47
- <div class="calendar-header">
48
- <bl-button
49
- class="arrow"
50
- icon="arrow_left"
51
- variant="tertiary"
52
- kind="neutral"
53
- @click="${()=>this.setPreviousCalendarView()}"
54
- ></bl-button>
55
- <bl-button
56
- variant="tertiary"
57
- kind="neutral"
58
- class="header-text ${t}"
59
- @click="${()=>this.setCurrentCalendarView("months")}"
60
- >${this.months[this._calendarMonth].name}</bl-button
61
- >
62
- <bl-button
63
- variant="tertiary"
64
- kind="neutral"
65
- class="header-text ${r}"
66
- @click="${()=>this.setCurrentCalendarView("years")}"
67
- >${this._calendarYear}</bl-button
68
- >
69
- <bl-button
70
- class="arrow"
71
- icon="arrow_right"
72
- variant="tertiary"
73
- kind="neutral"
74
- @click="${()=>this.setNextCalendarView()}"
75
- ></bl-button>
76
- </div>
77
- <div class="calendar">${e(this._calendarView)}</div>
78
- </div>
79
- </div> `}};n([f()],a.prototype,"type",2),n([f({type:Date,attribute:"min-date",reflect:!0})],a.prototype,"minDate",2),n([f({type:Date,attribute:"max-date",reflect:!0})],a.prototype,"maxDate",2),n([f({type:Number,attribute:"start-of-week",reflect:!0})],a.prototype,"startOfWeek",2),n([f({type:Array,attribute:"disabled-dates",reflect:!0})],a.prototype,"disabledDates",2),n([f()],a.prototype,"locale",2),n([D()],a.prototype,"_selectedDates",2),n([D()],a.prototype,"_selectedRangeDates",2),n([D()],a.prototype,"today",2),n([D()],a.prototype,"_calendarMonth",2),n([D()],a.prototype,"_calendarYear",2),n([D()],a.prototype,"_calendarView",2),n([D()],a.prototype,"_calendarYears",2),n([D()],a.prototype,"_calendarDays",2),n([f({type:Array,attribute:"default-value",reflect:!0})],a.prototype,"defaultValue",1),n([Y("bl-calendar-change")],a.prototype,"_onBlCalendarChange",2),a=n([S("bl-calendar")],a);export{a};
80
- //# sourceMappingURL=chunk-GY5V7SRK.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/calendar/bl-calendar.css", "../src/components/calendar/bl-calendar.ts"],
4
- "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`.calendar{display:flex;flex-direction:column}.calendar-content{display:flex;padding:16px;flex-direction:column;align-items:center;gap:16px;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;gap:2px}.arrow{flex:1}.header-text{flex:3}.header-text-hover{background:var(--bl-color-neutral-lightest);border-radius:var(--bl-border-radius-s)}.days-wrapper{display:flex;flex-direction:column}.day-wrapper{display:flex;align-items:center;justify-content:center}.week-row{display:flex;align-items:center;flex-direction:row;padding-bottom:8px}.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%;&.today-day {\n --bl-color-neutral-darker:var(--bl-color-primary);--bl-color-neutral-darkest:var(--bl-color-primary)}&.other-month-day{--bl-color-neutral-darker:var(--bl-color-neutral-dark);&.selected-day {\n --bl-color-neutral-darker:var(--bl-color-neutral-full)}}\n\n &.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)}}\n\n.range-day{background:var(--bl-color-primary-contrast);--bl-color-neutral-lightest:var(--bl-color-primary-contrast)}.range-end-day,.range-start-day,.selected-day{--bl-color-neutral-lightest:var(--bl-color-primary);--bl-color-neutral-darker:var(--bl-color-neutral-full);--bl-color-neutral-darkest:var(--bl-color-neutral-full) !important}.range-start-day{background:var(--bl-color-primary-contrast);border-top-left-radius:50%;border-bottom-left-radius:50%}.range-end-day{background:var(--bl-color-primary-contrast);border-top-right-radius:50%;border-bottom-right-radius:50%}.weekday-text{color:var(--bl-color-neutral-dark);text-align:center;padding:8px 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:8px}.calendar-text{font:var(--bl-font-title-3-regular)}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../button/bl-button\";\nimport \"../icon/bl-icon\";\nimport {\n CALENDAR_TYPES,\n CALENDAR_VIEWS,\n FIRST_MONTH_INDEX,\n LAST_MONTH_INDEX,\n} from \"./bl-calendar.constant\";\nimport style from \"./bl-calendar.css\";\nimport {\n Calendar,\n CalendarDate,\n CalendarType,\n CalendarView,\n CalendarDay,\n DayValues,\n RangePickerDates,\n} from \"./bl-calendar.types\";\n\n/**\n * @tag bl-calendar\n * @summary Baklava Calendar component\n **/\n@customElement(\"bl-calendar\")\nexport default class BlCalendar extends LitElement {\n /**\n * Defines the calendar types, available types are single, multiple and range\n */\n @property()\n type: CalendarType = CALENDAR_TYPES.SINGLE;\n\n /**\n * Defines the minimum date value for the calendar\n */\n @property({ type: Date, attribute: \"min-date\", reflect: true })\n minDate: Date;\n\n /**\n * Defines the maximum date value for the calendar\n */\n @property({ type: Date, attribute: \"max-date\", reflect: true })\n maxDate: Date;\n\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 /**\n * Defines the unselectable dates for calendar\n */\n @property({ type: Array, attribute: \"disabled-dates\", reflect: true })\n disabledDates: Date[];\n\n /**\n * Defines the calendar language\n */\n @property()\n locale: string = document.documentElement.lang;\n\n @state()\n private _selectedDates: CalendarDate[] = [];\n\n @state()\n private _selectedRangeDates: RangePickerDates = { startDate: undefined, endDate: undefined };\n\n @state()\n private today = new Date();\n\n @state()\n private _calendarMonth: number = this.today.getMonth();\n\n @state()\n private _calendarYear: number = this.today.getFullYear();\n\n @state()\n private _calendarView: CalendarView = CALENDAR_VIEWS.DAYS;\n\n @state()\n private _calendarYears: number[] = [];\n\n @state()\n private _calendarDays: CalendarDay[] = [];\n\n private _defaultValue: Date | Date[];\n\n /**\n * Defines the default selected date value for the calendar\n */\n @property({ type: Array, attribute: \"default-value\", reflect: true })\n get defaultValue(): Date | Date[] {\n return this._defaultValue;\n }\n set defaultValue(defaultValue) {\n if (this.type === CALENDAR_TYPES.SINGLE && Array.isArray(defaultValue)) {\n console.warn(\"Invalid prop value for defaultValue\");\n } else if (this.defaultValue) {\n if (Array.isArray(this.defaultValue)) {\n this._selectedDates = { ...this.defaultValue };\n } else this._selectedDates = [this.defaultValue];\n }\n }\n get months() {\n return [...Array(12).keys()].map(month => {\n return {\n name: new Date(0, month + 1, 0).toLocaleString(this.locale, {\n month: \"long\",\n }),\n value: month,\n };\n });\n }\n get days() {\n return [...Array(7).keys()].map(day => {\n return {\n name: new Date(0, 0, day).toLocaleString(this.locale, { weekday: \"short\" }),\n value: day,\n };\n });\n }\n /**\n * Fires when date selection changes\n */\n @event(\"bl-calendar-change\") private _onBlCalendarChange: EventDispatcher<Date[]>;\n static get styles(): CSSResultGroup {\n return [style];\n }\n getDayNumInAMonth(year: number, month: number) {\n return new Date(year, month + 1, 0).getDate();\n }\n getWeekDayOfDate(year: number, month: number) {\n return new Date(year, month, 1).getDay();\n }\n setPreviousCalendarView() {\n this.clearRangePickerStyles();\n if (this._calendarView === CALENDAR_VIEWS.DAYS) {\n if (this._calendarMonth === FIRST_MONTH_INDEX) {\n this._calendarMonth = LAST_MONTH_INDEX;\n this._calendarYear -= 1;\n } else this._calendarMonth -= 1;\n } else if (this._calendarView === CALENDAR_VIEWS.MONTHS) {\n this._calendarYear -= 1;\n } else if (this._calendarView === CALENDAR_VIEWS.YEARS) {\n const fromYear = this._calendarYears[0];\n\n this._calendarYears = [];\n for (let i = 12; i > 0; i--) {\n this._calendarYears.push(fromYear - i);\n }\n }\n if (this.type === CALENDAR_TYPES.RANGE) {\n this.setHoverClass();\n }\n }\n setNextCalendarView() {\n this.clearRangePickerStyles();\n if (this._calendarView === CALENDAR_VIEWS.DAYS) {\n if (this._calendarMonth === LAST_MONTH_INDEX) {\n this._calendarMonth = FIRST_MONTH_INDEX;\n this._calendarYear += 1;\n } else this._calendarMonth += 1;\n } else if (this._calendarView === CALENDAR_VIEWS.MONTHS) {\n this._calendarYear += 1;\n } else if (this._calendarView === CALENDAR_VIEWS.YEARS) {\n const fromYear = this._calendarYears[11];\n\n this._calendarYears = [];\n for (let i = 1; i <= 12; i++) {\n this._calendarYears.push(fromYear + i);\n }\n }\n if (this.type === CALENDAR_TYPES.RANGE) {\n this.setHoverClass();\n }\n }\n\n setCurrentCalendarView(view: CalendarView) {\n if (this._calendarView !== view) {\n this._calendarView = view;\n } else this._calendarView = CALENDAR_VIEWS.DAYS;\n this.setHoverClass();\n }\n\n setMonthAndCalendarView(month: number) {\n this._calendarMonth = month;\n this._calendarView = CALENDAR_VIEWS.DAYS;\n if (this.type === CALENDAR_TYPES.RANGE) {\n this.setHoverClass();\n }\n }\n setYearAndCalendarView(year: number) {\n this._calendarYear = year;\n this._calendarView = CALENDAR_VIEWS.DAYS;\n if (this.type === CALENDAR_TYPES.RANGE) {\n this.setHoverClass();\n }\n }\n\n generateSurroundingYears() {\n if (this._calendarYears.length === 0) {\n this._calendarYears = Array.from(\n { length: 12 },\n (_, index) => this._calendarYear - 4 + index\n );\n }\n }\n clearRangePickerStyles() {\n this.shadowRoot?.querySelectorAll(\".range-day\").forEach(day => {\n day.classList.remove(\"range-day\");\n });\n this.shadowRoot?.querySelectorAll(\".range-start-day\").forEach(day => {\n day.classList.remove(\"range-start-day\");\n });\n this.shadowRoot?.querySelectorAll(\".range-end-day\").forEach(day => {\n day.classList.remove(\"range-end-day\");\n });\n }\n handleDate(date: CalendarDate) {\n if (this.type !== CALENDAR_TYPES.RANGE) {\n if (date.getMonth() < this._calendarMonth) {\n this.setPreviousCalendarView();\n } else if (date.getMonth() > this._calendarMonth) {\n this.setNextCalendarView();\n }\n }\n\n if (this.type === CALENDAR_TYPES.SINGLE) {\n this.handleSingleSelectCalendar(date);\n } else if (this.type === CALENDAR_TYPES.MULTIPLE) {\n this.handleMultipleSelectCalendar(date);\n } else if (this.type === CALENDAR_TYPES.RANGE) {\n this.handleRangeSelectCalendar(date);\n }\n\n this._onBlCalendarChange(this._selectedDates);\n this.requestUpdate();\n }\n handleSingleSelectCalendar(calendarDate: CalendarDate) {\n this._selectedDates.splice(0, 1);\n this._selectedDates.push(calendarDate);\n }\n handleMultipleSelectCalendar(calendarDate: CalendarDate) {\n const dateExist = this._selectedDates.find(function (selectedDate) {\n return selectedDate.getTime() === calendarDate.getTime();\n });\n\n if (dateExist)\n this._selectedDates.splice(\n this._selectedDates.findIndex(date => date.getTime() === calendarDate.getTime()),\n 1\n );\n else this._selectedDates.push(calendarDate);\n }\n handleRangeSelectCalendar(calendarDate: CalendarDate) {\n if (!this._selectedRangeDates.startDate) {\n this._selectedRangeDates.startDate = calendarDate;\n this._selectedDates.push(calendarDate);\n } else if (this._selectedRangeDates.startDate && !this._selectedRangeDates.endDate) {\n if (calendarDate.getTime() > this._selectedRangeDates.startDate.getTime()) {\n this._selectedRangeDates.endDate = calendarDate;\n this._selectedDates.push(calendarDate);\n } else if (calendarDate.getTime() < this._selectedRangeDates.startDate.getTime()) {\n const temp = this._selectedRangeDates.startDate;\n\n this._selectedRangeDates.startDate = calendarDate;\n this._selectedRangeDates.endDate = temp;\n this._selectedDates.splice(\n 0,\n this._selectedDates.length,\n this._selectedRangeDates.startDate,\n this._selectedRangeDates.endDate\n );\n }\n } else if (this._selectedRangeDates.startDate && this._selectedRangeDates.endDate) {\n this._selectedRangeDates.startDate = calendarDate;\n this._selectedRangeDates.endDate = undefined;\n this._selectedDates.splice(0, this._selectedDates.length, this._selectedRangeDates.startDate);\n }\n this.setHoverClass();\n }\n\n checkIfSelectedDate(calendarDate: CalendarDate) {\n const day = this._selectedDates.find(selectedDate => {\n return calendarDate.getTime() === selectedDate.getTime();\n });\n\n return !!day;\n }\n checkIfDateIsToday(calendarDate: CalendarDate) {\n const today = new Date();\n\n return (\n today.getDate() === calendarDate.getDate() &&\n today.getMonth() === calendarDate.getMonth() &&\n today.getFullYear() === calendarDate.getFullYear()\n );\n }\n checkIfDateIsDisabled(calendarDate: CalendarDate) {\n if (\n calendarDate.getTime() < this.minDate?.getTime() ||\n calendarDate.getTime() > this.maxDate?.getTime()\n ) {\n return true;\n }\n\n if (Array.isArray(this.disabledDates)) {\n const day = this.disabledDates.find(disabledDate => {\n return calendarDate.getTime() === new Date(disabledDate).getTime();\n });\n\n return !!day;\n }\n return false;\n }\n\n setHoverClass() {\n this.clearRangePickerStyles();\n\n if (this._selectedRangeDates.startDate && this._selectedRangeDates.endDate) {\n setTimeout(() => {\n const startDateParentElement = this.shadowRoot?.getElementById(\n `${this._selectedRangeDates.startDate?.getTime()}`\n )?.parentElement;\n\n startDateParentElement?.classList.add(\"range-start-day\");\n\n const endDateParentElement = this.shadowRoot?.getElementById(\n `${this._selectedRangeDates.endDate?.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._selectedRangeDates?.startDate?.getTime() || 0) &&\n date.getTime() < (this._selectedRangeDates?.endDate?.getTime() || 0)\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 render() {\n const getCalendarView = (calendarView: CalendarView) => {\n if (calendarView === CALENDAR_VIEWS.DAYS) {\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 })}</div>\n <div class=\"days-wrapper\">\n ${[...Array(valuesArray[0].length).keys()].map(key => {\n return html`<div class=\"week-row\">\n ${valuesArray.map(values => {\n const date = values[key];\n const isSelectedDay = this.checkIfSelectedDate(date);\n const isDayToday = this.checkIfDateIsToday(date);\n const isDisabledDay = this.checkIfDateIsDisabled(date);\n\n const classes = classMap({\n \"day\": true,\n \"calendar-text\": true,\n \"today-day\": isDayToday,\n \"selected-day\": isSelectedDay,\n \"other-month-day\": values[key].getMonth() !== this._calendarMonth,\n \"disabled-day\": isDisabledDay,\n });\n\n return html`\n <div class=\"day-wrapper\">\n <bl-button\n id=${date.getTime()}\n variant=\"tertiary\"\n kind=\"neutral\"\n size=\"small\"\n class=${classes}\n ?disabled=${isDisabledDay}\n @click=\"${() => !isDisabledDay && this.handleDate(date)}\"\n >\n ${date.getDate()}\n </bl-button>\n </div>\n `;\n })}\n </div>`;\n })}\n </div>\n </div>`;\n } else if (calendarView === CALENDAR_VIEWS.MONTHS) {\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 } else {\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 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`<div>\n <div class=\"calendar-content\">\n <div class=\"calendar-header\">\n <bl-button\n class=\"arrow\"\n icon=\"arrow_left\"\n variant=\"tertiary\"\n kind=\"neutral\"\n @click=\"${() => this.setPreviousCalendarView()}\"\n ></bl-button>\n <bl-button\n variant=\"tertiary\"\n kind=\"neutral\"\n class=\"header-text ${showMonthSelected}\"\n @click=\"${() => this.setCurrentCalendarView(CALENDAR_VIEWS.MONTHS)}\"\n >${this.months[this._calendarMonth].name}</bl-button\n >\n <bl-button\n variant=\"tertiary\"\n kind=\"neutral\"\n class=\"header-text ${showYearSelected}\"\n @click=\"${() => this.setCurrentCalendarView(CALENDAR_VIEWS.YEARS)}\"\n >${this._calendarYear}</bl-button\n >\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 <div class=\"calendar\">${getCalendarView(this._calendarView)}</div>\n </div>\n </div> `;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["styles", "i", "bl_calendar_default", "BlCalendar", "s", "defaultValue", "month", "day", "bl_calendar_default", "year", "fromYear", "i", "view", "_", "index", "_a", "_b", "_c", "date", "calendarDate", "selectedDate", "temp", "today", "disabledDate", "_d", "_e", "_f", "_g", "_h", "_i", "startDateParentElement", "endDateParentElement", "rangeDays", "element", "calendar", "currentMonthStartWeekDay", "lastMonthDaysCount", "previousMonthDayCount", "currentMonthDayCount", "dayOfTheWeek", "lastMonthDaysIterator", "mod", "currentMonthDaysIterator", "nextMonthDaysIterator", "getCalendarView", "calendarView", "calendarDays", "valuesArray", "x", "key", "values", "isSelectedDay", "isDayToday", "isDisabledDay", "classes", "o", "variant", "neutral", "showMonthSelected", "showYearSelected", "__decorateClass", "e", "t", "event"]
7
- }
@@ -1,5 +0,0 @@
1
- import{a as w,b as f,c as E,d as y,e as x,f as _,g as k,h as M}from"./chunk-EZSEQHRH.js";import{a as g}from"./chunk-6LT7O7T2.js";import{a as l}from"./chunk-GRL4DWKG.js";import{a as u,b as a,c as n,e as s}from"./chunk-5MOOXA2X.js";import{a as c,b as m,f as b}from"./chunk-4OT5AMS5.js";import{d as o}from"./chunk-IZ2LK5GK.js";function z(i){return typeof i=="string"?document.getElementById(i):i instanceof Element?i:null}var S=c`:host{display:contents}.popover{--arrow-display:var(--bl-popover-arrow-display, none);--background-color:var(--bl-popover-background-color, var(--bl-color-neutral-full));--border-color:var(--bl-popover-border-color, var(--bl-color-primary-highlight));--border-size:var(--bl-popover-border-size, 1px);--padding:var(--bl-popover-padding, var(--bl-size-m));--border-radius:var(--bl-popover-border-radius, var(--bl-size-3xs));--position:var(--bl-popover-position, fixed);--max-width:var(--bl-popover-max-width, 100vw);--max-viewport:calc(100vw - var(--bl-size-s));position:var(--position);box-sizing:border-box;border:var(--border-size) solid var(--border-color);padding:var(--padding);border-radius:var(--border-radius);z-index:var(--bl-index-popover);max-width:min(var(--max-viewport), var(--max-width));width:max-content;hyphens:auto;background-color:var(--background-color);font:var(--bl-font-title-3-regular);color:var(--bl-color-neutral-darker)}.popover:not(.visible){visibility:hidden}.arrow{--arrow-rotation:45deg;--size:var(--bl-size-2xs);--arrow-position:calc((var(--size) / -2) - var(--border-size));box-sizing:border-box;display:var(--arrow-display);position:absolute;background-color:var(--background-color);width:var(--size);height:var(--size);transform:rotate(var(--arrow-rotation));border:var(--border-size) solid var(--border-color);border-bottom:none;border-inline-end:none}.popover[data-placement*="bottom"] .arrow{top:var(--arrow-position)}.popover[data-placement*="top"] .arrow{--arrow-rotation:225deg;bottom:var(--arrow-position)}.popover[data-placement*="left"] .arrow{--arrow-rotation:135deg;right:var(--arrow-position)}.popover[data-placement*="right"] .arrow{--arrow-rotation:315deg;left:var(--arrow-position)}`,C=S;var t=class extends b{constructor(){super(...arguments);this.placement="bottom";this.fitSize=!1;this.offset=8;this._visible=!1;this._handleClickOutside=e=>{let r=e.composedPath();!r.includes(this._target)&&!r.includes(this)&&this.hide()}}static get styles(){return[C]}connectedCallback(){super.connectedCallback(),this._handlePopoverShowEvent=this._handlePopoverShowEvent.bind(this),this._handleKeydownEvent=this._handleKeydownEvent.bind(this),this._handleClickOutside=this._handleClickOutside.bind(this)}disconnectedCallback(){super.disconnectedCallback(),this.popoverAutoUpdateCleanup&&this.popoverAutoUpdateCleanup()}getMiddleware(){let e=[];return e.push(y(this.offset),E(),f(),x({padding:4})),this.fitSize&&e.push(_({apply(r){r.elements.floating&&r.elements.reference&&Object.assign(r.elements.floating.style,{"min-width":`${r.elements.reference.getBoundingClientRect().width}px`})}})),e.push(w({element:this.arrow,padding:5})),e}setPopover(){this.target&&(this.popoverAutoUpdateCleanup=k(this.target,this._popover,()=>{M(this.target,this._popover,{placement:this.placement,strategy:"fixed",middleware:this.getMiddleware()}).then(({x:e,y:r,placement:d,middlewareData:p})=>{if(Object.assign(this._popover.style,{left:`${e}px`,top:`${r}px`}),this._popover.dataset.placement=d,p.arrow){let{x:v,y:h}=p.arrow;Object.assign(this.arrow.style,{left:v!=null?`${v}px`:"",top:h!=null?`${h}px`:""})}})}))}get target(){return this._target}set target(e){let r=z(e);if(!r){console.warn("BlPopover target only accepts an Element instance or a string id of a DOM element.");return}this._target=r}show(){this._visible=!0,this.setPopover(),this.onBlPopoverShow(""),document.addEventListener("click",this._handleClickOutside),document.addEventListener("keydown",this._handleKeydownEvent),document.addEventListener("bl-popover-show",this._handlePopoverShowEvent)}hide(){this._visible=!1,document.removeEventListener("click",this._handleClickOutside),document.removeEventListener("keydown",this._handleKeydownEvent),document.removeEventListener("bl-popover-show",this._handlePopoverShowEvent),this.onBlPopoverHide("")}get visible(){return this._visible}_handlePopoverShowEvent(e){if(e.target!==this){let{parentElement:r}=e.target;!this.contains(r)&&e.target.tagName===this.tagName&&this.hide()}}_handleKeydownEvent(e){e.key==="Escape"&&this.visible&&(e.preventDefault(),this.hide())}render(){let e=g({popover:!0,visible:this._visible});return m`<div class=${e}>
2
- <slot id="popover" aria-live=${this._visible?"polite":"off"}></slot>
3
- <div class="arrow" aria-hidden="true"></div>
4
- </div>`}};o([s(".popover")],t.prototype,"_popover",2),o([s(".arrow")],t.prototype,"arrow",2),o([a({type:String})],t.prototype,"placement",2),o([n()],t.prototype,"_target",2),o([a({type:Boolean,attribute:"fit-size"})],t.prototype,"fitSize",2),o([a({type:Number})],t.prototype,"offset",2),o([n()],t.prototype,"_visible",2),o([l("bl-popover-show")],t.prototype,"onBlPopoverShow",2),o([l("bl-popover-hide")],t.prototype,"onBlPopoverHide",2),o([a()],t.prototype,"target",1),t=o([u("bl-popover")],t);export{z as a,t as b};
5
- //# sourceMappingURL=chunk-OPTFSJFM.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/utilities/elements.ts", "../src/components/popover/bl-popover.css", "../src/components/popover/bl-popover.ts"],
4
- "sourcesContent": ["export function getMiddleOfElement(element: Element) {\n const { x, y, width, height } = element.getBoundingClientRect();\n\n return {\n x: Math.floor(x + window.pageXOffset + width / 2),\n y: Math.floor(y + window.pageYOffset + height / 2),\n };\n}\n\nexport function getTarget(value: string | Element): Element | null {\n if (typeof value === \"string\") {\n return document.getElementById(value) as Element;\n } else if (value instanceof Element) {\n return value;\n }\n\n return null;\n}\n", "import {css} from 'lit';\nexport const styles = css`:host{display:contents}.popover{--arrow-display:var(--bl-popover-arrow-display, none);--background-color:var(--bl-popover-background-color, var(--bl-color-neutral-full));--border-color:var(--bl-popover-border-color, var(--bl-color-primary-highlight));--border-size:var(--bl-popover-border-size, 1px);--padding:var(--bl-popover-padding, var(--bl-size-m));--border-radius:var(--bl-popover-border-radius, var(--bl-size-3xs));--position:var(--bl-popover-position, fixed);--max-width:var(--bl-popover-max-width, 100vw);--max-viewport:calc(100vw - var(--bl-size-s));position:var(--position);box-sizing:border-box;border:var(--border-size) solid var(--border-color);padding:var(--padding);border-radius:var(--border-radius);z-index:var(--bl-index-popover);max-width:min(var(--max-viewport), var(--max-width));width:max-content;hyphens:auto;background-color:var(--background-color);font:var(--bl-font-title-3-regular);color:var(--bl-color-neutral-darker)}.popover:not(.visible){visibility:hidden}.arrow{--arrow-rotation:45deg;--size:var(--bl-size-2xs);--arrow-position:calc((var(--size) / -2) - var(--border-size));box-sizing:border-box;display:var(--arrow-display);position:absolute;background-color:var(--background-color);width:var(--size);height:var(--size);transform:rotate(var(--arrow-rotation));border:var(--border-size) solid var(--border-color);border-bottom:none;border-inline-end:none}.popover[data-placement*=\"bottom\"] .arrow{top:var(--arrow-position)}.popover[data-placement*=\"top\"] .arrow{--arrow-rotation:225deg;bottom:var(--arrow-position)}.popover[data-placement*=\"left\"] .arrow{--arrow-rotation:135deg;right:var(--arrow-position)}.popover[data-placement*=\"right\"] .arrow{--arrow-rotation:315deg;left:var(--arrow-position)}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult } from \"lit\";\nimport { customElement, property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport {\n arrow,\n autoUpdate,\n computePosition,\n flip,\n inline,\n Middleware,\n MiddlewareState,\n offset,\n shift,\n size,\n} from \"@floating-ui/dom\";\nimport { getTarget } from \"../../utilities/elements\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport style from \"./bl-popover.css\";\n\nexport type Placement =\n | \"top-start\"\n | \"top\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"bottom-end\"\n | \"left-start\"\n | \"left\"\n | \"left-end\"\n | \"right-start\"\n | \"right\"\n | \"right-end\";\n\n/**\n * @tag bl-popover\n * @summary Baklava Popover component\n *\n * @cssproperty [--bl-popover-arrow-display=none] - Sets the display of popovers arrow. Set as `block` to make arrow visible.\n * @cssproperty [--bl-popover-background-color=--bl-color-neutral-full] - Sets the background color of popover.\n * @cssproperty [--bl-popover-border-color=--bl-color-primary-highlight] - Sets the border color of popover.\n * @cssproperty [--bl-popover-border-size=1px] - Sets the border size of popover. You can set it to `0px` to not have a border (if you use a custom background color). Always use with a length unit.\n * @cssproperty [--bl-popover-padding=--bl-size-m] - Sets the padding of popover.\n * @cssproperty [--bl-popover-border-radius=--bl-size-3xs] - Sets the border radius of popover.\n * @cssproperty [--bl-popover-max-width=100vw] - Sets the maximum width of the popover (including border and padding).\n * @cssproperty [--bl-popover-position=fixed] - Sets the position of popover. You can set it to `absolute` if parent element is a fixed positioned element like drawer or dialog.\n */\n@customElement(\"bl-popover\")\nexport default class BlPopover extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n @query(\".popover\") private _popover: HTMLElement;\n @query(\".arrow\") private arrow: HTMLElement;\n\n /**\n * Sets placement of the popover\n */\n @property({ type: String })\n placement: Placement = \"bottom\";\n\n /**\n * Target elements state\n */\n @state() _target: string | Element;\n\n /**\n * Sets size of popover same as trigger element\n */\n @property({ type: Boolean, attribute: \"fit-size\" })\n fitSize = false;\n\n /**\n * Sets the distance between popover and target/trigger element\n */\n @property({ type: Number })\n offset = 8;\n\n /**\n * Visibility state\n */\n @state() private _visible = false;\n\n /**\n * Fires when the popover is shown\n */\n @event(\"bl-popover-show\") private onBlPopoverShow: EventDispatcher<string>;\n\n /**\n * Fires when popover becomes hidden\n */\n @event(\"bl-popover-hide\") private onBlPopoverHide: EventDispatcher<string>;\n\n connectedCallback() {\n super.connectedCallback();\n\n this._handlePopoverShowEvent = this._handlePopoverShowEvent.bind(this);\n this._handleKeydownEvent = this._handleKeydownEvent.bind(this);\n this._handleClickOutside = this._handleClickOutside.bind(this);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this.popoverAutoUpdateCleanup && this.popoverAutoUpdateCleanup();\n }\n\n private getMiddleware(): Middleware[] {\n const middlewareParams: Middleware[] = [];\n\n middlewareParams.push(offset(this.offset), inline(), flip(), shift({ padding: 4 }));\n\n if (this.fitSize) {\n middlewareParams.push(\n size({\n apply(args: MiddlewareState) {\n if (args.elements.floating && args.elements.reference) {\n Object.assign(args.elements.floating.style, {\n \"min-width\": `${args.elements.reference.getBoundingClientRect().width}px`,\n });\n }\n },\n })\n );\n }\n\n middlewareParams.push(arrow({ element: this.arrow, padding: 5 }));\n\n return middlewareParams;\n }\n\n private _handleClickOutside = (event: MouseEvent) => {\n const eventPath = event.composedPath() as HTMLElement[];\n\n if (!eventPath.includes(this._target as HTMLElement) && !eventPath.includes(this)) {\n this.hide();\n }\n };\n\n private popoverAutoUpdateCleanup: () => void;\n\n private setPopover() {\n if (this.target) {\n this.popoverAutoUpdateCleanup = autoUpdate(this.target as Element, this._popover, () => {\n computePosition(this.target as Element, this._popover, {\n placement: this.placement,\n strategy: \"fixed\",\n middleware: this.getMiddleware(),\n }).then(({ x, y, placement, middlewareData }) => {\n Object.assign(this._popover.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n\n this._popover.dataset.placement = placement;\n\n if (middlewareData.arrow) {\n const { x: arrowX, y: arrowY } = middlewareData.arrow;\n\n Object.assign(this.arrow.style, {\n left: arrowX != null ? `${arrowX}px` : \"\",\n top: arrowY != null ? `${arrowY}px` : \"\",\n });\n }\n });\n });\n }\n }\n\n /**\n * Sets the target element of the popover to align and trigger.\n * It can be a string id of the target element or can be a direct Element reference of it.\n */\n @property()\n get target(): string | Element {\n return this._target;\n }\n\n set target(value: string | Element) {\n const target = getTarget(value);\n\n if (!target) {\n console.warn(\n \"BlPopover target only accepts an Element instance or a string id of a DOM element.\"\n );\n return;\n }\n\n this._target = target;\n }\n\n /**\n * Shows popover\n */\n show() {\n this._visible = true;\n this.setPopover();\n this.onBlPopoverShow(\"\");\n document.addEventListener(\"click\", this._handleClickOutside);\n document.addEventListener(\"keydown\", this._handleKeydownEvent);\n document.addEventListener(\"bl-popover-show\", this._handlePopoverShowEvent);\n }\n\n /**\n * Hides popover\n */\n hide() {\n this._visible = false;\n document.removeEventListener(\"click\", this._handleClickOutside);\n document.removeEventListener(\"keydown\", this._handleKeydownEvent);\n document.removeEventListener(\"bl-popover-show\", this._handlePopoverShowEvent);\n this.onBlPopoverHide(\"\");\n }\n\n /**\n * Gives the visibility status of the popover\n */\n get visible(): boolean {\n return this._visible;\n }\n\n private _handlePopoverShowEvent(event: Event) {\n if (event.target !== this) {\n const { parentElement } = event.target as HTMLElement;\n const isNestedPopover = this.contains(parentElement);\n\n if (!isNestedPopover && (event.target as HTMLElement).tagName === this.tagName) {\n this.hide();\n }\n }\n }\n\n private _handleKeydownEvent(event: KeyboardEvent) {\n if (event.key === \"Escape\" && this.visible) {\n event.preventDefault();\n this.hide();\n }\n }\n\n render(): TemplateResult {\n const classes = classMap({\n popover: true,\n visible: this._visible,\n });\n\n return html`<div class=${classes}>\n <slot id=\"popover\" aria-live=${this._visible ? \"polite\" : \"off\"}></slot>\n <div class=\"arrow\" aria-hidden=\"true\"></div>\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"bl-popover\": BlPopover;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["getTarget", "value", "styles", "i", "bl_popover_default", "BlPopover", "s", "event", "eventPath", "bl_popover_default", "middlewareParams", "offset", "inline", "flip", "shift", "size", "args", "arrow", "autoUpdate", "computePosition", "x", "y", "placement", "middlewareData", "arrowX", "arrowY", "value", "target", "getTarget", "parentElement", "classes", "o", "__decorateClass", "i", "e", "t"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/dropdown/bl-dropdown.css", "../src/components/dropdown/bl-dropdown.ts", "../src/components/dropdown/item/bl-dropdown-item.css", "../src/components/dropdown/item/bl-dropdown-item.ts", "../src/components/split-button/bl-split-button.css", "../src/components/split-button/bl-split-button.ts"],
4
- "sourcesContent": ["import {css} from 'lit';\nexport const styles = css`:host{position:relative;display:inline-block}:host([kind=\"neutral\"]) bl-popover{--bl-popover-border-color:var(--bl-color-neutral-darker)}:host([kind=\"success\"]) bl-popover{--bl-popover-border-color:var(--bl-color-success)}:host([kind=\"danger\"]) bl-popover{--bl-popover-border-color:var(--bl-color-danger)}.popover-content{display:flex;flex-direction:column;gap:var(--bl-size-xs)}`;\nexport default styles;\n", "import { LitElement, html, CSSResultGroup, TemplateResult } from \"lit\";\nimport { customElement, property, state, query } from \"lit/decorators.js\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../button/bl-button\";\nimport BlButton, { ButtonSize, ButtonVariant, ButtonKind } from \"../button/bl-button\";\nimport BlPopover from \"../popover/bl-popover\";\nimport style from \"./bl-dropdown.css\";\nimport BlDropdownItem, { blDropdownItemTag } from \"./item/bl-dropdown-item\";\n\nexport const blDropdownTag = \"bl-dropdown\";\n\n/**\n * @tag bl-dropdown\n * @summary Baklava Dropdown component\n */\n@customElement(blDropdownTag)\nexport default class BlDropdown extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n @query(\"bl-popover\")\n private _popover: BlPopover;\n\n @query(\"bl-button\")\n private _button: BlButton;\n\n @state() private _isPopoverOpen = false;\n\n /**\n * Sets the dropdown button label\n */\n @property({ type: String, reflect: true })\n label: string;\n\n /**\n * Sets the dropdown button variant\n */\n @property({ type: String, reflect: true })\n variant: ButtonVariant = \"primary\";\n\n /**\n * Sets the dropdown button kind\n */\n @property({ type: String, reflect: true })\n kind: ButtonKind = \"default\";\n\n /**\n * Sets the dropdown button size\n */\n @property({ type: String, reflect: true })\n size: ButtonSize = \"medium\";\n\n /**\n * Sets button as disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Fires when dropdown opened\n */\n @event(\"bl-dropdown-open\") private onOpen: EventDispatcher<string>;\n\n /**\n * Fires when dropdown closed\n */\n @event(\"bl-dropdown-close\") private onClose: EventDispatcher<string>;\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"keydown\", this.handleKeyDown);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"keydown\", this.handleKeyDown);\n }\n\n firstUpdated() {\n // `_button` will be undefined during the initial render.\n // To ensure proper rendering, we set `_popover.target` after the template has been created.\n this._popover.target = this._button;\n }\n\n get opened() {\n return this._isPopoverOpen;\n }\n\n private _handleClick() {\n !this._isPopoverOpen && !this.disabled ? this.open() : this.close();\n }\n\n private focusedOptionIndex = -1;\n\n private handleKeyDown(event: KeyboardEvent) {\n // Next action\n if ([\"ArrowDown\", \"ArrowRight\"].includes(event.key)) {\n this.focusedOptionIndex++;\n\n // Previous action\n } else if ([\"ArrowUp\", \"ArrowLeft\"].includes(event.key)) {\n this.focusedOptionIndex--;\n // Select action\n } else if (event.key === \"Escape\") {\n this.focusedOptionIndex = -1;\n this.close();\n return;\n } else {\n // Other keys are not our interest here\n return;\n }\n\n // Don't exceed array indexes\n this.focusedOptionIndex = Math.max(\n 0,\n Math.min(this.focusedOptionIndex, this.options.length - 1)\n );\n\n this.options[this.focusedOptionIndex].focus();\n\n event.preventDefault();\n }\n\n get options(): BlDropdownItem[] {\n return [...this.querySelectorAll(blDropdownItemTag)];\n }\n\n open() {\n this._isPopoverOpen = true;\n this._popover.show();\n this.onOpen(\"Dropdown opened!\");\n }\n\n close() {\n this._isPopoverOpen = false;\n this._popover.visible && this._popover.hide();\n this.onClose(\"Dropdown closed!\");\n }\n\n render(): TemplateResult {\n return html`<bl-button\n dropdown\n .active=${this.opened}\n ?disabled=${this.disabled}\n variant=\"${this.variant}\"\n kind=\"${this.kind}\"\n size=\"${this.size}\"\n @bl-click=\"${this._handleClick}\"\n >\n ${this.label}\n </bl-button>\n <bl-popover fit-size placement=\"bottom-start\" @bl-popover-hide=\"${this.close}\"\n ><div class=\"popover-content\">\n <slot></slot></div\n ></bl-popover> `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [blDropdownTag]: BlDropdown;\n }\n}\n", "import {css} from 'lit';\nexport const styles = css`:host{width:100%;--bl-button-display:block;--bl-button-justify:start}`;\nexport default styles;\n", "import { LitElement, html, CSSResultGroup, TemplateResult } from \"lit\";\nimport { customElement, property, query } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { event, EventDispatcher } from \"../../../utilities/event\";\nimport \"../../button/bl-button\";\nimport BlButton from \"../../button/bl-button\";\nimport { BaklavaIcon } from \"../../icon/icon-list\";\nimport type BlSplitButton from \"../../split-button/bl-split-button\";\nimport { blSplitButtonTag } from \"../../split-button/bl-split-button\";\nimport type BlDropdown from \"../bl-dropdown\";\nimport { blDropdownTag } from \"../bl-dropdown\";\nimport type BlDropdownGroup from \"../group/bl-dropdown-group\";\nimport { blDropdownGroupTag } from \"../group/bl-dropdown-group\";\nimport style from \"./bl-dropdown-item.css\";\n\nexport const blDropdownItemTag = \"bl-dropdown-item\";\n\n/**\n * @tag bl-dropdown-item\n * @summary Baklava Dropdown Item component\n */\n@customElement(blDropdownItemTag)\nexport default class BlDropdownItem extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n /**\n * Sets the icon name. Shows icon with bl-icon component\n */\n\n @property({ type: String })\n icon?: BaklavaIcon;\n\n @event(\"bl-dropdown-item-click\") private onClick: EventDispatcher<string>;\n\n private _handleClick() {\n this.BlDropdownField?.close();\n this.BlSplitButtonField?.close();\n this.onClick(\"Action clicked!\");\n }\n\n @query(\"[role=menuitem]\") private menuElement: BlButton;\n\n /**\n * Focuses this action\n */\n focus() {\n this.menuElement.focus();\n }\n\n private BlDropdownGroupField: BlDropdownGroup | null;\n private BlDropdownField: BlDropdown | null;\n private BlSplitButtonField: BlSplitButton | null;\n\n connectedCallback(): void {\n super.connectedCallback();\n\n this.BlDropdownGroupField = this.closest<BlDropdownGroup>(blDropdownGroupTag);\n this.BlDropdownField = this.closest<BlDropdown>(blDropdownTag);\n this.BlSplitButtonField = this.closest<BlSplitButton>(blSplitButtonTag);\n\n if (!this.BlDropdownField && !this.BlDropdownGroupField && !this.BlSplitButtonField) {\n console.warn(\n `bl-dropdown-item is designed to be used inside a ${blDropdownGroupTag}, ${blDropdownTag} or ${blSplitButtonTag}`,\n this\n );\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n }\n\n render(): TemplateResult {\n return html`<bl-button\n variant=\"tertiary\"\n kind=\"neutral\"\n icon=\"${ifDefined(this.icon)}\"\n role=\"menuitem\"\n @click=\"${this._handleClick}\"\n ><slot></slot>\n </bl-button>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [blDropdownItemTag]: BlDropdownItem;\n }\n}\n", "import {css} from 'lit';\nexport const styles = css`:host{position:relative;display:inline-block}:host([kind=\"neutral\"]) bl-popover{--bl-popover-border-color:var(--bl-color-neutral-darker)}:host([kind=\"success\"]) bl-popover{--bl-popover-border-color:var(--bl-color-success)}:host([kind=\"danger\"]) bl-popover{--bl-popover-border-color:var(--bl-color-danger)}.split-button-container{display:flex}.split-main-button{width:100%;--bl-border-radius-m:calc(var(--bl-size-xs) / 2) 0 0 calc(var(--bl-size-xs) / 2)}:host([dir=\"rtl\"]) .split-main-button{--bl-border-radius-m:0 calc(var(--bl-size-xs) / 2) calc(var(--bl-size-xs) / 2) 0}.split-main-button:focus{--bl-border-radius-l:calc(var(--bl-size-m) / 2) 0 0 calc(var(--bl-size-m) / 2)}.dropdown-button{--bl-border-radius-m:0 calc(var(--bl-size-xs) / 2) calc(var(--bl-size-xs) / 2) 0}:host([dir=\"rtl\"]) .dropdown-button{--bl-border-radius-m:calc(var(--bl-size-xs) / 2) 0 0 calc(var(--bl-size-xs) / 2)}.dropdown-button:focus{--bl-border-radius-l:0 calc(var(--bl-size-m) / 2) calc(var(--bl-size-m) / 2) 0}:host([variant=\"secondary\"][dir=\"rtl\"]) .dropdown-button{inset-inline-end:-1px}:host([variant=\"secondary\"]) .dropdown-button{inset-inline-start:-1px}:host([dropdown-disabled][variant=\"secondary\"]) .dropdown-button{inset-inline-start:0}:host([dropdown-disabled][variant=\"secondary\"][dir=\"rtl\"]) .dropdown-button{inset-inline-end:0}.split-divider{display:block;height:var(--bl-size-2xl);width:1px;background-color:var(--bl-color-neutral-full)}:host([variant=\"secondary\"]) .split-divider{display:none}:host([size=\"small\"]) .split-divider{height:var(--bl-size-xl)}:host([size=\"large\"]) .split-divider{height:var(--bl-size-3xl)}:host([dropdown-disabled][disabled]) .split-divider{display:block;background-color:var(--bl-color-neutral-lighter)}`;\nexport default styles;\n", "import { CSSResultGroup, html, LitElement, TemplateResult } from \"lit\";\nimport { customElement, property, query, state } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { ReferenceElement } from \"@floating-ui/core\";\nimport { setDirectionProperty } from \"../../utilities/direction\";\nimport { event, EventDispatcher } from \"../../utilities/event\";\nimport \"../button/bl-button\";\nimport BlButton, { ButtonKind, ButtonSize, ButtonVariant, TargetType } from \"../button/bl-button\";\nimport BlDropdownItem, { blDropdownItemTag } from \"../dropdown/item/bl-dropdown-item\";\nimport { BaklavaIcon } from \"../icon/icon-list\";\nimport BlPopover from \"../popover/bl-popover\";\nimport style from \"./bl-split-button.css\";\n\nexport const blSplitButtonTag = \"bl-split-button\";\n\n/**\n * @tag bl-split-button\n * @summary Baklava Split Button component\n */\n\n@customElement(blSplitButtonTag)\nexport default class BlSplitButton extends LitElement {\n static get styles(): CSSResultGroup {\n return [style];\n }\n\n @query(\"#split-button-container\") private trigger: ReferenceElement;\n\n @query(\"bl-popover\")\n private _popover: BlPopover;\n\n @query(\"#split-main-button\")\n private mainButton: BlButton;\n\n @query(\"#dropdown-button\")\n private dropdownButton: BlButton;\n\n @state() private _isPopoverOpen = false;\n\n /**\n * Sets the split button label\n */\n @property({ type: String, reflect: true })\n label: string;\n\n /**\n * Sets the split button variant\n */\n @property({ type: String, reflect: true })\n variant: Exclude<ButtonVariant, \"tertiary\"> = \"primary\";\n\n /**\n * Sets the split button kind\n */\n @property({ type: String, reflect: true })\n kind: ButtonKind = \"default\";\n\n /**\n * Sets the split button size\n */\n @property({ type: String, reflect: true })\n size: ButtonSize = \"medium\";\n\n /**\n * Set link url. If set, split main button will be rendered as anchor tag.\n */\n @property({ type: String, reflect: true })\n href: string;\n\n /**\n * Sets main button as disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Sets loading state of button\n */\n @property({ type: Boolean, reflect: true })\n loading = false;\n\n /**\n * Sets the button label for loading status.\n */\n @property({ type: String, attribute: \"loading-label\" })\n loadingLabel: string;\n\n /**\n * Sets dropdown button as disabled\n */\n @property({ attribute: \"dropdown-disabled\", type: Boolean })\n dropdownDisabled = false;\n\n /**\n * Sets the icon name. Shows icon with bl-icon component\n */\n @property({ type: String })\n icon?: BaklavaIcon;\n\n /**\n * Sets the anchor target. Used when `href` is set.\n */\n @property({ type: String })\n target?: TargetType = \"_self\";\n\n /**\n * Sets the type of the button. Set `submit` to use button as the submitter of parent form.\n */\n @property({ type: String })\n type: \"submit\";\n\n /**\n * Sets button to get keyboard focus automatically\n */\n @property({ type: Boolean, reflect: true })\n autofocus = false;\n\n /**\n * Sets the associated form of the button. Use when `type` is set to `submit` and button is not inside the target form.\n */\n @property({ type: String })\n form: HTMLFormElement | string;\n\n /**\n * Fires when dropdown opened\n */\n @event(\"bl-dropdown-open\") private onOpen: EventDispatcher<string>;\n\n /**\n * Fires when dropdown closed\n */\n @event(\"bl-dropdown-close\") private onClose: EventDispatcher<string>;\n\n /**\n * Fires when main button click\n */\n @event(\"bl-click\") private onClick: EventDispatcher<string>;\n\n connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener(\"keydown\", this.handleKeyDown);\n\n setDirectionProperty(this);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this.removeEventListener(\"keydown\", this.handleKeyDown);\n }\n\n firstUpdated() {\n // To ensure proper rendering, we set `_popover.target` after the template has been created.\n this._popover.target = this.trigger;\n this.dropdownButton.addEventListener(\"bl-click\", e => e.stopPropagation());\n this.mainButton.addEventListener(\"bl-click\", e => e.stopPropagation());\n }\n\n get opened() {\n return this._isPopoverOpen;\n }\n\n private _handleClick() {\n !this._isPopoverOpen && !this.dropdownDisabled ? this.open() : this.close();\n }\n\n private _handlePrimaryClick() {\n this.onClick(\"Click event fired!\");\n }\n\n private focusedOptionIndex = -1;\n\n private handleKeyDown(event: KeyboardEvent) {\n // Next action\n if (this._isPopoverOpen && [\"ArrowDown\", \"ArrowRight\"].includes(event.key)) {\n this.focusedOptionIndex++;\n // Previous action\n } else if (this._isPopoverOpen && [\"ArrowUp\", \"ArrowLeft\"].includes(event.key)) {\n this.focusedOptionIndex--;\n // Select action\n } else if (this._isPopoverOpen && event.key === \"Escape\") {\n this.focusedOptionIndex = -1;\n this.close();\n return;\n } else {\n // Other keys are not our interest here\n return;\n }\n\n // Don't exceed array indexes\n this.focusedOptionIndex = Math.max(\n 0,\n Math.min(this.focusedOptionIndex, this.options.length - 1)\n );\n\n this.options[this.focusedOptionIndex].focus();\n\n event.preventDefault();\n }\n\n get options(): BlDropdownItem[] {\n return [...this.querySelectorAll(blDropdownItemTag)];\n }\n\n open() {\n this._isPopoverOpen = true;\n this._popover.show();\n this.onOpen(\"Dropdown opened!\");\n }\n\n close() {\n if (!this._isPopoverOpen) {\n return;\n }\n\n this._isPopoverOpen = false;\n this._popover.visible && this._popover.hide();\n this.onClose(\"Dropdown closed!\");\n }\n\n render(): TemplateResult {\n return html` <div class=\"split-button-container\" id=\"split-button-container\">\n <bl-button\n id=\"split-main-button\"\n class=\"split-main-button\"\n variant=\"${this.variant}\"\n kind=\"${this.kind}\"\n size=\"${this.size}\"\n loading-label=\"${ifDefined(this.loadingLabel)}\"\n icon=\"${ifDefined(this.icon)}\"\n href=\"${ifDefined(this.type)}\"\n ?disabled=\"${this.disabled}\"\n ?loading=\"${this.loading}\"\n type=\"${this.type}\"\n target=\"${ifDefined(this.target)}\"\n form=\"${ifDefined(this.form)}\"\n ?autofocus=\"${this.autofocus}\"\n @bl-click=\"${this._handlePrimaryClick}\"\n >\n ${this.label}\n </bl-button>\n <div class=\"split-divider\"></div>\n <bl-button\n id=\"dropdown-button\"\n class=\"dropdown-button\"\n .active=\"${this.opened}\"\n icon=\"${this.opened ? \"arrow_up\" : \"arrow_down\"}\"\n ?disabled=\"${this.dropdownDisabled}\"\n variant=\"${this.variant}\"\n kind=\"${this.kind}\"\n size=\"${this.size}\"\n ?loading=\"${this.loading}\"\n label=\"split-dropdown-button\"\n @bl-click=\"${this._handleClick}\"\n >\n </bl-button>\n <bl-popover fit-size placement=\"bottom-start\" @bl-popover-hide=\"${this.close}\">\n <div class=\"popover-content\">\n <slot></slot>\n </div>\n </bl-popover>\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [blSplitButtonTag]: BlSplitButton;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["styles", "i", "bl_dropdown_default", "blDropdownTag", "BlDropdown", "s", "bl_dropdown_default", "event", "blDropdownItemTag", "x", "__decorateClass", "i", "t", "e", "styles", "i", "bl_dropdown_item_default", "blDropdownItemTag", "BlDropdownItem", "s", "bl_dropdown_item_default", "_a", "_b", "blDropdownGroupTag", "blDropdownTag", "blSplitButtonTag", "x", "__decorateClass", "e", "event", "i", "styles", "i", "bl_split_button_default", "blSplitButtonTag", "BlSplitButton", "s", "bl_split_button_default", "setDirectionProperty", "e", "event", "blDropdownItemTag", "x", "__decorateClass", "i", "t"]
7
- }