scb-wc 0.1.152 → 0.1.153

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 (52) hide show
  1. package/README.md +22 -41
  2. package/all.js +5 -0
  3. package/fonts/material-symbols-outlined/files/material-symbols-outlined-subset.woff2 +0 -0
  4. package/icons.json +1 -0
  5. package/index.js +95 -90
  6. package/mvc/components/all.js +5 -0
  7. package/mvc/components/scb-accordion/scb-accordion-item.js +1 -1
  8. package/mvc/components/scb-button/scb-button.js +3 -3
  9. package/mvc/components/scb-calendar/scb-calendar.js +1 -1
  10. package/mvc/components/scb-calendar-card/scb-calendar-card.js +4 -4
  11. package/mvc/components/scb-card/scb-card.js +2 -2
  12. package/mvc/{vendor → components/scb-chevron}/scb-chevron.js +1 -1
  13. package/mvc/components/scb-datepicker/scb-datepicker.js +132 -0
  14. package/mvc/components/scb-dropdown/scb-dropdown.js +1 -1
  15. package/mvc/components/scb-header/scb-header.js +2 -2
  16. package/mvc/components/scb-horizontal-scroller/scb-horizontal-scroller.js +6 -6
  17. package/mvc/components/scb-icon-button/scb-icon-button.js +5 -5
  18. package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +6 -6
  19. package/mvc/components/scb-list/scb-list-item.js +2 -2
  20. package/mvc/components/scb-menu/scb-menu-item.js +1 -1
  21. package/mvc/components/scb-nav/scb-nav.js +1 -1
  22. package/mvc/components/scb-options-menu/scb-options-menu-item.js +1 -1
  23. package/mvc/components/scb-progress-stepper/scb-progress-step.js +1 -1
  24. package/mvc/components/scb-search/scb-search.js +1 -1
  25. package/mvc/components/scb-segmented-button/scb-segmented-item.js +1 -1
  26. package/mvc/components/scb-select/scb-select-option.js +2 -2
  27. package/mvc/components/scb-select/scb-select.js +1 -1
  28. package/mvc/components/scb-stepper/scb-step.js +1 -1
  29. package/mvc/components/scb-textfield/scb-textfield.js +28 -159
  30. package/mvc/components/scb-toc/scb-toc-item.js +1 -1
  31. package/mvc/components/shared/lazy-focus-ring.js +2 -0
  32. package/mvc/components/shared/lazy-ripple.js +2 -0
  33. package/mvc/components/shared/scb-icon-svg.js +11 -0
  34. package/mvc/fonts/material-symbols-outlined/files/material-symbols-outlined-subset.woff2 +0 -0
  35. package/mvc/scb-logo.svg +20 -20
  36. package/mvc/scb.svg +13 -13
  37. package/package.json +2 -2
  38. package/scb-chevron/scb-chevron.js +1 -0
  39. package/scb-components/index.d.ts +104 -0
  40. package/scb-components/scb-chevron/scb-chevron.d.ts +11 -0
  41. package/scb-components/scb-datepicker/scb-datepicker.d.ts +45 -0
  42. package/scb-components/shared/lazy-focus-ring.d.ts +4 -0
  43. package/scb-components/shared/lazy-ripple.d.ts +9 -0
  44. package/scb-components/shared/scb-icon-svg.d.ts +3 -0
  45. package/scb-datepicker/scb-datepicker.js +1 -0
  46. package/scb-wc.bundle.js +906 -906
  47. package/scb-wc.d.ts +208 -198
  48. package/shared/scb-icon-svg.js +5 -2
  49. package/mvc/vendor/lazy-focus-ring.js +0 -2
  50. package/mvc/vendor/lazy-ripple.js +0 -2
  51. package/mvc/vendor/scb-icon-svg.js +0 -11
  52. package/scb-wc-public-entry/index.d.ts +0 -99
@@ -1,4 +1,4 @@
1
- import{g as J,h as W,m as B,p as _,v as E,y as P}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as U}from"../../vendor/lazy-focus-ring.js";import{t as v}from"../../vendor/decorate.js";import{n as G,t as z}from"../../vendor/assertClassBrand.js";import"../scb-icon-button/scb-icon-button.js";import"./scb-calendar-event.js";import"../scb-dialog/scb-dialog.js";import"../scb-list/scb-list.js";(function(){try{var $=typeof globalThis<"u"?globalThis:window;if(!$.__scb_ce_guard_installed__){$.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,s,a){try{customElements.get(e)||t(e,s,a)}catch(n){var i=String(n||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();var L,O,K={fromAttribute($){if($===null)return!1;const t=$.trim().toLowerCase();return t!=="false"&&t!=="0"&&t!=="no"}},f=(L=new WeakSet,O=class extends W{constructor(...t){super(...t),G(this,L),this._lastActiveDay=null,this.lang="sv",this.disableWeekend=!1,this.publicHolidays=!0,this.displayYear=new Date().getFullYear(),this.displayMonth=new Date().getMonth()+1,this.selectedDate="",this.eventsJson=void 0,this._eventsFromJson=null,this._eventsJsonLast=void 0,this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this._mutationObserver=null,this._syncingDisplay=!1,this._onCalendarKeyDown=e=>{const s=Array.from(this.shadowRoot?.querySelectorAll(".calendar-day.has-event")??[]),a=this.shadowRoot?.activeElement,i=a&&s.includes(a)?a:document.activeElement,n=s.indexOf(i);if(n===-1)return;let d=n;const o=this.disableWeekend?5:7;switch(e.key){case"ArrowRight":d=n+1<s.length?n+1:n;break;case"ArrowLeft":d=n-1>=0?n-1:n;break;case"ArrowDown":d=n+o<s.length?n+o:n;break;case"ArrowUp":d=n-o>=0?n-o:n;break;case"Home":d=0;break;case"End":d=s.length-1;break;default:return}d!==n&&(e.preventDefault(),s[d].focus())},this._onEventChanged=()=>{this.requestUpdate()},this._today=new Date,this._current=new Date,this._popupEvent=null,this._handleDialogClose=()=>{this._popupEvent=null,this.requestUpdate(),this._restoreDayFocus()},this._restoreDayFocus=()=>{this._lastActiveDay&&setTimeout(()=>{this._lastActiveDay?.focus(),this._lastActiveDay=null},0)},this._easterDateCalculated={}}get value(){return this.selectedDate}set value(t){const e=(t??"")+"";e!==this.selectedDate&&(this.selectedDate=e)}static get observedAttributes(){return[...super.observedAttributes??[],"value"]}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),t==="value"&&(this.value=s??"")}connectedCallback(){super.connectedCallback(),this._removeLazyFocusRingListeners=U(this,this.renderRoot),z(L,this,H).call(this);const t=Number(this.displayYear),e=Number(this.displayMonth);!Number.isNaN(t)&&!Number.isNaN(e)&&e>=1&&e<=12&&(this._current=new Date(t,e-1,1)),this._syncDisplayFromCurrent(!1),this.addEventListener("change",this._onEventChanged),this._mutationObserver=new MutationObserver(()=>{this.requestUpdate()}),this._mutationObserver.observe(this,{childList:!0}),this.addEventListener("keydown",this._onCalendarKeyDown)}disconnectedCallback(){this.removeEventListener("change",this._onEventChanged),this._removeLazyFocusRingListeners?.(),this._removeLazyFocusRingListeners=void 0,super.disconnectedCallback(),this._mutationObserver&&(this._mutationObserver.disconnect(),this._mutationObserver=null),this.removeEventListener("keydown",this._onCalendarKeyDown)}mapSpacingToken(t){if(!t)return;const e=String(t).trim();if(e)return/^\d+$/.test(e)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(e,10)))})`:e}updated(t){if(super.updated?.(t),t.has("eventsJson")&&(this._eventsJsonLast=void 0,this._eventsFromJson=null),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&z(L,this,H).call(this),!this._syncingDisplay&&(t.has("displayYear")||t.has("displayMonth"))){const e=Number(this.displayYear),s=Number(this.displayMonth);if(!Number.isNaN(e)&&!Number.isNaN(s)&&s>=1&&s<=12){const a=this._current.getFullYear(),i=this._current.getMonth()+1;(a!==e||i!==s)&&(this._current=new Date(e,s-1,1),this._dispatchMonthChange(e,s),this.requestUpdate())}}}_ensureEventsFromJson(){const t=(this.eventsJson??"").trim();if(!t){this._eventsFromJson=null,this._eventsJsonLast=t;return}if(!(this._eventsJsonLast===t&&this._eventsFromJson!==null)){this._eventsJsonLast=t;try{const e=JSON.parse(t);Array.isArray(e)?this._eventsFromJson=e:this._eventsFromJson=[]}catch{this._eventsFromJson=[]}}}_getEventInputs(){return Array.isArray(this.events)?this.events:(this._ensureEventsFromJson(),this._eventsFromJson!==null?this._eventsFromJson:null)}_normalizeEventInput(t){const e=t.title??"",s=t.description??"",a=t.href??"",i=t.startDate??t["start-date"]??t.start??t.date??"",n=t.endDate??t["end-date"]??t.end??"";return{title:e+"",description:s?s+"":void 0,href:a?a+"":void 0,start:i?i+"":void 0,end:n?n+"":void 0}}_toLocalEventDate(t,e){const s=(t??"").trim();if(!s)return null;if(!s.includes("T")){const i=s.split("-").map(c=>Number(c));if(i.length!==3||i.some(c=>Number.isNaN(c)))return null;const[n,d,o]=i;return e?new Date(n,d-1,o,23,59,59,999):new Date(n,d-1,o,0,0,0,0)}const a=new Date(s);return Number.isNaN(a.getTime())?null:a}_toDateKey(t){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}_buildEventMapFromInputs(t){const e=new Map;for(const s of t){const a=this._normalizeEventInput(s),i=a.start||"",n=a.end||"";if(!(!i||!a.title))if(i&&n){const d=this._toLocalEventDate(i,!1),o=this._toLocalEventDate(n,!0);if(!d||!o)continue;if(o<d){const c=i.split("T")[0],u=e.get(c)||[];u.push({title:a.title,description:a.description,href:a.href,start:i,end:n}),e.set(c,u);continue}for(let c=new Date(d);c<=o;c.setDate(c.getDate()+1)){const u=this._toDateKey(c),k=e.get(u)||[];k.push({title:a.title,description:a.description,href:a.href,start:i,end:n}),e.set(u,k)}}else{const d=i.split("T")[0],o=e.get(d)||[];o.push({title:a.title,description:a.description,href:a.href,start:i}),e.set(d,o)}}return e}_buildEventMapFromChildren(){const t=Array.from(this.querySelectorAll("scb-calendar-event")),e=new Map;for(const s of t){const a=s,i=(a.startDate??a.date??"")+""||s.getAttribute("start-date")||s.getAttribute("date")||"",n=(a.endDate??"")+""||s.getAttribute("end-date")||"";if(i&&n){const d=this._toLocalEventDate(i,!1),o=this._toLocalEventDate(n,!0);if(!d||!o)continue;if(o<d){const c=i.split("T")[0],u=e.get(c)||[];u.push({title:s.title??"",description:s.description,href:a.href||s.getAttribute("href")||void 0,start:i,end:n}),e.set(c,u);continue}for(let c=new Date(d);c<=o;c.setDate(c.getDate()+1)){const u=this._toDateKey(c),k=e.get(u)||[];k.push({title:s.title??"",description:s.description,href:a.href||s.getAttribute("href")||void 0,start:i,end:n}),e.set(u,k)}}else if(i&&s.title){const d=i.split("T")[0],o=e.get(d)||[];o.push({title:s.title,description:s.description,href:a.href||s.getAttribute("href")||void 0,start:i}),e.set(d,o)}}return e}_syncDisplayFromCurrent(t=!0){const e=this._current.getFullYear(),s=this._current.getMonth()+1;this._syncingDisplay=!0;try{this.displayYear=e,this.displayMonth=s}finally{this._syncingDisplay=!1}t&&this._dispatchMonthChange(e,s)}_dispatchMonthChange(t,e){const s={displayYear:t,displayMonth:e};this.dispatchEvent(new CustomEvent("scb-calendar-month-change",{bubbles:!0,composed:!0,detail:s})),this.dispatchEvent(new CustomEvent("scbcalendarmonthchange",{bubbles:!0,composed:!0,detail:s}))}_dispatchSelect(t){const e={selectedDate:t};this.dispatchEvent(new CustomEvent("scb-calendar-select",{bubbles:!0,composed:!0,detail:e})),this.dispatchEvent(new CustomEvent("scbcalendarselect",{bubbles:!0,composed:!0,detail:e}))}_formatDayLabel(t){return new Intl.DateTimeFormat(this.lang==="en"?"en-GB":"sv-SE",{day:"numeric",month:"long",year:"numeric"}).format(t)}_formatDayAriaLabel(t,e,s){const a=s.map(n=>`${n.prefix||""}${n.title}`.trim()).filter(Boolean),i=[this._formatDayLabel(t)];return e&&i.push(e),a.length===1?i.push(this.lang==="en"?`1 event: ${a[0]}`:`1 händelse: ${a[0]}`):a.length>1&&i.push(this.lang==="en"?`${a.length} events: ${a.join(", ")}`:`${a.length} händelser: ${a.join(", ")}`),i.join(". ")}_daysInMonth(t,e){return new Date(t,e+1,0).getDate()}_firstDayOfWeek(t,e){const s=new Date(t,e,1).getDay();return s===0?6:s-1}_prevMonth(){this._current=new Date(this._current.getFullYear(),this._current.getMonth()-1,1),this.selectedDate="",this._popupEvent=null,this._syncDisplayFromCurrent(),this.requestUpdate()}_nextMonth(){this._current=new Date(this._current.getFullYear(),this._current.getMonth()+1,1),this.selectedDate="",this._popupEvent=null,this._syncDisplayFromCurrent(),this.requestUpdate()}_showEventPopup(t){this._popupEvent=t,this.selectedDate=t.date,this._dispatchSelect(t.date),this._lastActiveDay=this.shadowRoot?.activeElement||document.activeElement,this.requestUpdate(),this.updateComplete.then(()=>{const e=this.shadowRoot?.querySelector("scb-dialog");e&&(document.activeElement&&(e.__lastTriggerEl=document.activeElement),requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.open=!0})}),e.addEventListener("close",this._handleDialogClose,{once:!0}))})}_addDays(t,e){const s=new Date(t.valueOf());return s.setDate(s.getDate()+e),s}_easterDay(t){if(typeof this._easterDateCalculated["Ar"+t]<"u")return new Date(this._easterDateCalculated["Ar"+t]);let e=t;e<100&&(e=e+1900),e<1950&&(e=e+100);const s=e%19,a=e%4,i=e%7,n=(19*s+24)%30,d=(2*a+4*i+6*n+5)%7;let o=22+n+d,c=0;o==57&&(o-=7),o==56&&n==28&&d==6&&s>10&&(o-=7),o>31?(o-=31,c=4):c=3;const u=new Date(e,c-1,o);return this._easterDateCalculated["Ar"+t]=u,new Date(this._easterDateCalculated["Ar"+t])}_swedishHolidayName(t){const e=t.getMonth();if(e===1||e===6||e===7||e===8)return null;const s=t.getMonth()+1,a=t.getDate(),i=t.getFullYear(),n=this._easterDay(i),d=this.lang==="en",o=[["Nyårsdagen","New Year's Day",s===1&&a===1],["Trettondedag jul","Epiphany",s===1&&a===6],["Långfredag","Good Friday",+t==+this._addDays(n,-2)],["Påskdagen","Easter Sunday",+t==+n],["Annandag påsk","Easter Monday",+t==+this._addDays(n,1)],["Kristi himmelsfärdsdag","Ascension Day",+t==+this._addDays(n,39)],["Pingstdagen","Pentecost",+t==+this._addDays(n,50)&&i<2005],["Första maj","May Day",s===5&&a===1],["Nationaldagen","National Day",s===6&&a===6&&i>=2005],["Midsommarafton","Midsummer's Eve",s===6&&a>=19&&a<=25&&t.getDay()===5],["Midsommardagen","Midsummer's Day",s===6&&a>=20&&a<=26&&t.getDay()===6],["Julafton","Christmas Eve",s===12&&a===24],["Juldagen","Christmas Day",s===12&&a===25],["Annandag jul","Boxing Day",s===12&&a===26],["Alla helgons dag","All Saints' Day",s===10&&a>=31&&t.getDay()===6||s===11&&a<=6&&t.getDay()===6]];for(const c of o){const[u,k,F]=c;if(F)return d?k:u}return null}render(){const t=this._current.getFullYear(),e=this._current.getMonth(),s=this._daysInMonth(t,e),a=this._firstDayOfWeek(t,e),i=this._today,n=this.lang==="en",d=n?["January","February","March","April","May","June","July","August","September","October","November","December"]:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"];let o=n?["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]:["Mån","Tis","Ons","Tor","Fre","Lör","Sön"];this.disableWeekend&&(o=o.slice(0,5));const c=this._getEventInputs(),u=c?this._buildEventMapFromInputs(c):this._buildEventMapFromChildren(),k=[];let F=1;for(let r=0;r<6;r++){const h=[],b=this.disableWeekend?[0,1,2,3,4]:[0,1,2,3,4,5,6];let p=F;for(let D=0;D<b.length;D++){const w=b[D];if(r===0&&w<a){if(!this.disableWeekend||w<5){const T=e===0?11:e-1,x=e===0?t-1:t,g=this._daysInMonth(x,T)-(a-w-1),N=new Date(x,T,g);h.push(E`
1
+ import{g as J,h as W,m as B,p as _,v as E,y as P}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{addLazyFocusRingListeners as U}from"../shared/lazy-focus-ring.js";import{t as v}from"../../vendor/decorate.js";import{n as G,t as z}from"../../vendor/assertClassBrand.js";import"../scb-icon-button/scb-icon-button.js";import"./scb-calendar-event.js";import"../scb-dialog/scb-dialog.js";import"../scb-list/scb-list.js";(function(){try{var $=typeof globalThis<"u"?globalThis:window;if(!$.__scb_ce_guard_installed__){$.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,s,a){try{customElements.get(e)||t(e,s,a)}catch(n){var i=String(n||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();var L,O,K={fromAttribute($){if($===null)return!1;const t=$.trim().toLowerCase();return t!=="false"&&t!=="0"&&t!=="no"}},f=(L=new WeakSet,O=class extends W{constructor(...t){super(...t),G(this,L),this._lastActiveDay=null,this.lang="sv",this.disableWeekend=!1,this.publicHolidays=!0,this.displayYear=new Date().getFullYear(),this.displayMonth=new Date().getMonth()+1,this.selectedDate="",this.eventsJson=void 0,this._eventsFromJson=null,this._eventsJsonLast=void 0,this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this._mutationObserver=null,this._syncingDisplay=!1,this._onCalendarKeyDown=e=>{const s=Array.from(this.shadowRoot?.querySelectorAll(".calendar-day.has-event")??[]),a=this.shadowRoot?.activeElement,i=a&&s.includes(a)?a:document.activeElement,n=s.indexOf(i);if(n===-1)return;let d=n;const o=this.disableWeekend?5:7;switch(e.key){case"ArrowRight":d=n+1<s.length?n+1:n;break;case"ArrowLeft":d=n-1>=0?n-1:n;break;case"ArrowDown":d=n+o<s.length?n+o:n;break;case"ArrowUp":d=n-o>=0?n-o:n;break;case"Home":d=0;break;case"End":d=s.length-1;break;default:return}d!==n&&(e.preventDefault(),s[d].focus())},this._onEventChanged=()=>{this.requestUpdate()},this._today=new Date,this._current=new Date,this._popupEvent=null,this._handleDialogClose=()=>{this._popupEvent=null,this.requestUpdate(),this._restoreDayFocus()},this._restoreDayFocus=()=>{this._lastActiveDay&&setTimeout(()=>{this._lastActiveDay?.focus(),this._lastActiveDay=null},0)},this._easterDateCalculated={}}get value(){return this.selectedDate}set value(t){const e=(t??"")+"";e!==this.selectedDate&&(this.selectedDate=e)}static get observedAttributes(){return[...super.observedAttributes??[],"value"]}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),t==="value"&&(this.value=s??"")}connectedCallback(){super.connectedCallback(),this._removeLazyFocusRingListeners=U(this,this.renderRoot),z(L,this,H).call(this);const t=Number(this.displayYear),e=Number(this.displayMonth);!Number.isNaN(t)&&!Number.isNaN(e)&&e>=1&&e<=12&&(this._current=new Date(t,e-1,1)),this._syncDisplayFromCurrent(!1),this.addEventListener("change",this._onEventChanged),this._mutationObserver=new MutationObserver(()=>{this.requestUpdate()}),this._mutationObserver.observe(this,{childList:!0}),this.addEventListener("keydown",this._onCalendarKeyDown)}disconnectedCallback(){this.removeEventListener("change",this._onEventChanged),this._removeLazyFocusRingListeners?.(),this._removeLazyFocusRingListeners=void 0,super.disconnectedCallback(),this._mutationObserver&&(this._mutationObserver.disconnect(),this._mutationObserver=null),this.removeEventListener("keydown",this._onCalendarKeyDown)}mapSpacingToken(t){if(!t)return;const e=String(t).trim();if(e)return/^\d+$/.test(e)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(e,10)))})`:e}updated(t){if(super.updated?.(t),t.has("eventsJson")&&(this._eventsJsonLast=void 0,this._eventsFromJson=null),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&z(L,this,H).call(this),!this._syncingDisplay&&(t.has("displayYear")||t.has("displayMonth"))){const e=Number(this.displayYear),s=Number(this.displayMonth);if(!Number.isNaN(e)&&!Number.isNaN(s)&&s>=1&&s<=12){const a=this._current.getFullYear(),i=this._current.getMonth()+1;(a!==e||i!==s)&&(this._current=new Date(e,s-1,1),this._dispatchMonthChange(e,s),this.requestUpdate())}}}_ensureEventsFromJson(){const t=(this.eventsJson??"").trim();if(!t){this._eventsFromJson=null,this._eventsJsonLast=t;return}if(!(this._eventsJsonLast===t&&this._eventsFromJson!==null)){this._eventsJsonLast=t;try{const e=JSON.parse(t);Array.isArray(e)?this._eventsFromJson=e:this._eventsFromJson=[]}catch{this._eventsFromJson=[]}}}_getEventInputs(){return Array.isArray(this.events)?this.events:(this._ensureEventsFromJson(),this._eventsFromJson!==null?this._eventsFromJson:null)}_normalizeEventInput(t){const e=t.title??"",s=t.description??"",a=t.href??"",i=t.startDate??t["start-date"]??t.start??t.date??"",n=t.endDate??t["end-date"]??t.end??"";return{title:e+"",description:s?s+"":void 0,href:a?a+"":void 0,start:i?i+"":void 0,end:n?n+"":void 0}}_toLocalEventDate(t,e){const s=(t??"").trim();if(!s)return null;if(!s.includes("T")){const i=s.split("-").map(c=>Number(c));if(i.length!==3||i.some(c=>Number.isNaN(c)))return null;const[n,d,o]=i;return e?new Date(n,d-1,o,23,59,59,999):new Date(n,d-1,o,0,0,0,0)}const a=new Date(s);return Number.isNaN(a.getTime())?null:a}_toDateKey(t){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}_buildEventMapFromInputs(t){const e=new Map;for(const s of t){const a=this._normalizeEventInput(s),i=a.start||"",n=a.end||"";if(!(!i||!a.title))if(i&&n){const d=this._toLocalEventDate(i,!1),o=this._toLocalEventDate(n,!0);if(!d||!o)continue;if(o<d){const c=i.split("T")[0],u=e.get(c)||[];u.push({title:a.title,description:a.description,href:a.href,start:i,end:n}),e.set(c,u);continue}for(let c=new Date(d);c<=o;c.setDate(c.getDate()+1)){const u=this._toDateKey(c),k=e.get(u)||[];k.push({title:a.title,description:a.description,href:a.href,start:i,end:n}),e.set(u,k)}}else{const d=i.split("T")[0],o=e.get(d)||[];o.push({title:a.title,description:a.description,href:a.href,start:i}),e.set(d,o)}}return e}_buildEventMapFromChildren(){const t=Array.from(this.querySelectorAll("scb-calendar-event")),e=new Map;for(const s of t){const a=s,i=(a.startDate??a.date??"")+""||s.getAttribute("start-date")||s.getAttribute("date")||"",n=(a.endDate??"")+""||s.getAttribute("end-date")||"";if(i&&n){const d=this._toLocalEventDate(i,!1),o=this._toLocalEventDate(n,!0);if(!d||!o)continue;if(o<d){const c=i.split("T")[0],u=e.get(c)||[];u.push({title:s.title??"",description:s.description,href:a.href||s.getAttribute("href")||void 0,start:i,end:n}),e.set(c,u);continue}for(let c=new Date(d);c<=o;c.setDate(c.getDate()+1)){const u=this._toDateKey(c),k=e.get(u)||[];k.push({title:s.title??"",description:s.description,href:a.href||s.getAttribute("href")||void 0,start:i,end:n}),e.set(u,k)}}else if(i&&s.title){const d=i.split("T")[0],o=e.get(d)||[];o.push({title:s.title,description:s.description,href:a.href||s.getAttribute("href")||void 0,start:i}),e.set(d,o)}}return e}_syncDisplayFromCurrent(t=!0){const e=this._current.getFullYear(),s=this._current.getMonth()+1;this._syncingDisplay=!0;try{this.displayYear=e,this.displayMonth=s}finally{this._syncingDisplay=!1}t&&this._dispatchMonthChange(e,s)}_dispatchMonthChange(t,e){const s={displayYear:t,displayMonth:e};this.dispatchEvent(new CustomEvent("scb-calendar-month-change",{bubbles:!0,composed:!0,detail:s})),this.dispatchEvent(new CustomEvent("scbcalendarmonthchange",{bubbles:!0,composed:!0,detail:s}))}_dispatchSelect(t){const e={selectedDate:t};this.dispatchEvent(new CustomEvent("scb-calendar-select",{bubbles:!0,composed:!0,detail:e})),this.dispatchEvent(new CustomEvent("scbcalendarselect",{bubbles:!0,composed:!0,detail:e}))}_formatDayLabel(t){return new Intl.DateTimeFormat(this.lang==="en"?"en-GB":"sv-SE",{day:"numeric",month:"long",year:"numeric"}).format(t)}_formatDayAriaLabel(t,e,s){const a=s.map(n=>`${n.prefix||""}${n.title}`.trim()).filter(Boolean),i=[this._formatDayLabel(t)];return e&&i.push(e),a.length===1?i.push(this.lang==="en"?`1 event: ${a[0]}`:`1 händelse: ${a[0]}`):a.length>1&&i.push(this.lang==="en"?`${a.length} events: ${a.join(", ")}`:`${a.length} händelser: ${a.join(", ")}`),i.join(". ")}_daysInMonth(t,e){return new Date(t,e+1,0).getDate()}_firstDayOfWeek(t,e){const s=new Date(t,e,1).getDay();return s===0?6:s-1}_prevMonth(){this._current=new Date(this._current.getFullYear(),this._current.getMonth()-1,1),this.selectedDate="",this._popupEvent=null,this._syncDisplayFromCurrent(),this.requestUpdate()}_nextMonth(){this._current=new Date(this._current.getFullYear(),this._current.getMonth()+1,1),this.selectedDate="",this._popupEvent=null,this._syncDisplayFromCurrent(),this.requestUpdate()}_showEventPopup(t){this._popupEvent=t,this.selectedDate=t.date,this._dispatchSelect(t.date),this._lastActiveDay=this.shadowRoot?.activeElement||document.activeElement,this.requestUpdate(),this.updateComplete.then(()=>{const e=this.shadowRoot?.querySelector("scb-dialog");e&&(document.activeElement&&(e.__lastTriggerEl=document.activeElement),requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.open=!0})}),e.addEventListener("close",this._handleDialogClose,{once:!0}))})}_addDays(t,e){const s=new Date(t.valueOf());return s.setDate(s.getDate()+e),s}_easterDay(t){if(typeof this._easterDateCalculated["Ar"+t]<"u")return new Date(this._easterDateCalculated["Ar"+t]);let e=t;e<100&&(e=e+1900),e<1950&&(e=e+100);const s=e%19,a=e%4,i=e%7,n=(19*s+24)%30,d=(2*a+4*i+6*n+5)%7;let o=22+n+d,c=0;o==57&&(o-=7),o==56&&n==28&&d==6&&s>10&&(o-=7),o>31?(o-=31,c=4):c=3;const u=new Date(e,c-1,o);return this._easterDateCalculated["Ar"+t]=u,new Date(this._easterDateCalculated["Ar"+t])}_swedishHolidayName(t){const e=t.getMonth();if(e===1||e===6||e===7||e===8)return null;const s=t.getMonth()+1,a=t.getDate(),i=t.getFullYear(),n=this._easterDay(i),d=this.lang==="en",o=[["Nyårsdagen","New Year's Day",s===1&&a===1],["Trettondedag jul","Epiphany",s===1&&a===6],["Långfredag","Good Friday",+t==+this._addDays(n,-2)],["Påskdagen","Easter Sunday",+t==+n],["Annandag påsk","Easter Monday",+t==+this._addDays(n,1)],["Kristi himmelsfärdsdag","Ascension Day",+t==+this._addDays(n,39)],["Pingstdagen","Pentecost",+t==+this._addDays(n,50)&&i<2005],["Första maj","May Day",s===5&&a===1],["Nationaldagen","National Day",s===6&&a===6&&i>=2005],["Midsommarafton","Midsummer's Eve",s===6&&a>=19&&a<=25&&t.getDay()===5],["Midsommardagen","Midsummer's Day",s===6&&a>=20&&a<=26&&t.getDay()===6],["Julafton","Christmas Eve",s===12&&a===24],["Juldagen","Christmas Day",s===12&&a===25],["Annandag jul","Boxing Day",s===12&&a===26],["Alla helgons dag","All Saints' Day",s===10&&a>=31&&t.getDay()===6||s===11&&a<=6&&t.getDay()===6]];for(const c of o){const[u,k,F]=c;if(F)return d?k:u}return null}render(){const t=this._current.getFullYear(),e=this._current.getMonth(),s=this._daysInMonth(t,e),a=this._firstDayOfWeek(t,e),i=this._today,n=this.lang==="en",d=n?["January","February","March","April","May","June","July","August","September","October","November","December"]:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"];let o=n?["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]:["Mån","Tis","Ons","Tor","Fre","Lör","Sön"];this.disableWeekend&&(o=o.slice(0,5));const c=this._getEventInputs(),u=c?this._buildEventMapFromInputs(c):this._buildEventMapFromChildren(),k=[];let F=1;for(let r=0;r<6;r++){const h=[],b=this.disableWeekend?[0,1,2,3,4]:[0,1,2,3,4,5,6];let p=F;for(let D=0;D<b.length;D++){const w=b[D];if(r===0&&w<a){if(!this.disableWeekend||w<5){const T=e===0?11:e-1,x=e===0?t-1:t,g=this._daysInMonth(x,T)-(a-w-1),N=new Date(x,T,g);h.push(E`
2
2
  <div
3
3
  class="calendar-day calendar-day--other"
4
4
  role="gridcell"
@@ -1,7 +1,7 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../../vendor/lazy-focus-ring.js","../../vendor/rolldown-runtime.js","../../vendor/preload-helper.js","../../vendor/lazy-ripple.js"])))=>i.map(i=>d[i]);
2
- import{h as T,m as C,p as a,v as c,y as P}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as H}from"../../vendor/preload-helper.js";import{t as i}from"../../vendor/decorate.js";(function(){try{var l=typeof globalThis<"u"?globalThis:window;if(!l.__scb_ce_guard_installed__){l.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(r,d,s){try{customElements.get(r)||e(r,d,s)}catch(o){var n=String(o||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var h,L=new Intl.DateTimeFormat("sv-SE",{month:"short"}),p={fromAttribute:l=>l??"",toAttribute:l=>typeof l!="string"||l.trim()===""?null:l},g,b;function I(){return g??(g=H(()=>import("../../vendor/lazy-focus-ring.js").then(l=>l.i),__vite__mapDeps([0,1,2]),import.meta.url)),g}function S(){return b??(b=H(()=>import("../../vendor/lazy-ripple.js"),__vite__mapDeps([3,2]),import.meta.url)),b}var t=(h=class extends T{constructor(...e){super(...e),this.variant="default",this.size="medium",this.date=null,this.direction="horizontal",this.title="",this.calendarCardTitle="",this.subtitle="",this.supportingText="",this.cardHref="",this.cardHrefNav="",this.showMedia=null,this.dateLabelPrefix="Datum:",this.mediaWidth="",this.mediaHeight="",this.mediaAspect="",this.width="",this.maxWidth="",this.minWidth="",this.height="",this.maxHeight="",this.minHeight="",this.sizing="",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.__focusRingRequested=!1,this.__focusRingLoaded=!1,this.__rippleRequested=!1,this.__rippleLoaded=!1,this.__pendingRippleClick=!1,this.__onPointerInteraction=r=>{this.__ensureRipple(r)},this.__ensureFocusRingOnFocusVisible=()=>{this.__focusRingLoaded||this.__focusRingRequested||(this.__focusRingRequested=!0,I().then(({ensureFocusRingReady:r})=>r()).then(()=>{this.__focusRingLoaded=!0,this.requestUpdate()}))}}__hasSlottedContent(e){return!!this.querySelector(`[slot="${e}"]`)}__getSlottedText(e){return this.querySelector(`[slot="${e}"]`)?.textContent?.trim()??""}get __resolvedTitle(){return this.__getSlottedText("heading")||this.calendarCardTitle||this.title}get __resolvedSubtitle(){return this.__getSlottedText("subtitle")||this.subtitle}get __resolvedLabel(){return this.__resolvedTitle||this.__resolvedSubtitle||"Kalenderkort"}firstUpdated(){this.__applyInnerSizing(),this.__applySpacing()}__ensureRipple(e){if(this.cardHref){if(e&&(this.__pendingRippleEvent=e),this.__rippleLoaded){this.__syncRipple();return}this.__rippleRequested||(this.__rippleRequested=!0,S().then(({ensureRippleReady:r})=>r()).then(()=>{this.__rippleLoaded=!0,this.requestUpdate(),this.updateComplete.then(()=>this.__syncRipple())}))}}async __syncRipple(){const e=this.renderRoot.querySelector("md-ripple"),r=this.renderRoot.querySelector(".calendar-card"),d=this.__pendingRippleEvent,s=this.__pendingRippleClick;this.__pendingRippleEvent=void 0,this.__pendingRippleClick=!1;const{syncRippleToControl:n}=await S();await n(e,r,d,s)}render(){const e=this.variant?`${this.variant.toLowerCase()}`:"",r=this.direction?`${this.direction.toLowerCase()}`:"",d=this.cardHref?"clickable":"",s=this.__hasSlottedContent("heading"),n=this.__hasSlottedContent("subtitle"),o=this.__hasSlottedContent("supporting-text"),m=this.calendarCardTitle||this.title,u=this.subtitle,v=this.supportingText,f=s||!!m,y=n||!!u,R=o||!!v,{day:_,month:x}=this.__getDateParts(),z=this.mediaWidth&&this.mediaWidth.trim()!==""?this.mediaWidth:"",w=this.mediaHeight&&this.mediaHeight.trim()!==""?this.mediaHeight:"",k=this.mediaAspect&&this.mediaAspect.trim()!==""?this.mediaAspect:"",$=`${z?`inline-size:${z};`:""}${w?`block-size:${w};`:""}${k?`aspect-ratio:${k};`:""}`;return c`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../shared/lazy-focus-ring.js","../../vendor/preload-helper.js","../shared/lazy-ripple.js"])))=>i.map(i=>d[i]);
2
+ import{h as T,m as C,p as a,v as c,y as P}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as H}from"../../vendor/preload-helper.js";import{t as i}from"../../vendor/decorate.js";(function(){try{var d=typeof globalThis<"u"?globalThis:window;if(!d.__scb_ce_guard_installed__){d.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(r,l,s){try{customElements.get(r)||e(r,l,s)}catch(o){var n=String(o||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var h,L=new Intl.DateTimeFormat("sv-SE",{month:"short"}),p={fromAttribute:d=>d??"",toAttribute:d=>typeof d!="string"||d.trim()===""?null:d},g,b;function I(){return g??(g=H(()=>import("../shared/lazy-focus-ring.js"),__vite__mapDeps([0,1]),import.meta.url)),g}function S(){return b??(b=H(()=>import("../shared/lazy-ripple.js"),__vite__mapDeps([2,1]),import.meta.url)),b}var t=(h=class extends T{constructor(...e){super(...e),this.variant="default",this.size="medium",this.date=null,this.direction="horizontal",this.title="",this.calendarCardTitle="",this.subtitle="",this.supportingText="",this.cardHref="",this.cardHrefNav="",this.showMedia=null,this.dateLabelPrefix="Datum:",this.mediaWidth="",this.mediaHeight="",this.mediaAspect="",this.width="",this.maxWidth="",this.minWidth="",this.height="",this.maxHeight="",this.minHeight="",this.sizing="",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.__focusRingRequested=!1,this.__focusRingLoaded=!1,this.__rippleRequested=!1,this.__rippleLoaded=!1,this.__pendingRippleClick=!1,this.__onPointerInteraction=r=>{this.__ensureRipple(r)},this.__ensureFocusRingOnFocusVisible=()=>{this.__focusRingLoaded||this.__focusRingRequested||(this.__focusRingRequested=!0,I().then(({ensureFocusRingReady:r})=>r()).then(()=>{this.__focusRingLoaded=!0,this.requestUpdate()}))}}__hasSlottedContent(e){return!!this.querySelector(`[slot="${e}"]`)}__getSlottedText(e){return this.querySelector(`[slot="${e}"]`)?.textContent?.trim()??""}get __resolvedTitle(){return this.__getSlottedText("heading")||this.calendarCardTitle||this.title}get __resolvedSubtitle(){return this.__getSlottedText("subtitle")||this.subtitle}get __resolvedLabel(){return this.__resolvedTitle||this.__resolvedSubtitle||"Kalenderkort"}firstUpdated(){this.__applyInnerSizing(),this.__applySpacing()}__ensureRipple(e){if(this.cardHref){if(e&&(this.__pendingRippleEvent=e),this.__rippleLoaded){this.__syncRipple();return}this.__rippleRequested||(this.__rippleRequested=!0,S().then(({ensureRippleReady:r})=>r()).then(()=>{this.__rippleLoaded=!0,this.requestUpdate(),this.updateComplete.then(()=>this.__syncRipple())}))}}async __syncRipple(){const e=this.renderRoot.querySelector("md-ripple"),r=this.renderRoot.querySelector(".calendar-card"),l=this.__pendingRippleEvent,s=this.__pendingRippleClick;this.__pendingRippleEvent=void 0,this.__pendingRippleClick=!1;const{syncRippleToControl:n}=await S();await n(e,r,l,s)}render(){const e=this.variant?`${this.variant.toLowerCase()}`:"",r=this.direction?`${this.direction.toLowerCase()}`:"",l=this.cardHref?"clickable":"",s=this.__hasSlottedContent("heading"),n=this.__hasSlottedContent("subtitle"),o=this.__hasSlottedContent("supporting-text"),m=this.calendarCardTitle||this.title,u=this.subtitle,v=this.supportingText,f=s||!!m,y=n||!!u,R=o||!!v,{day:_,month:x}=this.__getDateParts(),z=this.mediaWidth&&this.mediaWidth.trim()!==""?this.mediaWidth:"",w=this.mediaHeight&&this.mediaHeight.trim()!==""?this.mediaHeight:"",k=this.mediaAspect&&this.mediaAspect.trim()!==""?this.mediaAspect:"",$=`${z?`inline-size:${z};`:""}${w?`block-size:${w};`:""}${k?`aspect-ratio:${k};`:""}`;return c`
3
3
  <div
4
- class="calendar-card ${r} ${d} ${e}"
4
+ class="calendar-card ${r} ${l} ${e}"
5
5
  role="${this.cardHref?"link":"group"}"
6
6
  aria-label="${this.__resolvedLabel}"
7
7
  tabindex="${this.cardHref?"0":"-1"}"
@@ -38,4 +38,4 @@ import{h as T,m as C,p as a,v as c,y as P}from"../../vendor/vendor.js";import"..
38
38
  </div>
39
39
  </div>
40
40
  ${this.cardHref&&this.__focusRingLoaded?c`<md-focus-ring></md-focus-ring>`:""}
41
- `}__getDateParts(){const e={day:1,month:"Jan"};if(!this.date)return e;const r=this.date instanceof Date?this.date:(()=>{const n=new Date(String(this.date));return Number.isNaN(n.getTime())?null:n})();if(!r)return e;const d=r.getDate(),s=L.format(r).replace(".","").trim();return{day:d,month:s.charAt(0).toUpperCase()+s.slice(1)}}__applyInnerSizing(){const e=this.renderRoot.querySelector(".calendar-card");e&&(this.width&&this.width.trim()!==""?(e.style.inlineSize="100%",e.style.maxInlineSize="100%"):(e.style.removeProperty("inline-size"),e.style.removeProperty("max-inline-size")),this.height&&this.height.trim()!==""||this.sizing==="stretch"?e.style.blockSize="100%":e.style.removeProperty("block-size"),this.maxHeight&&this.maxHeight.trim()!==""?e.style.maxBlockSize="100%":e.style.removeProperty("max-block-size"))}_onKeyDown(e){(e.key==="Enter"||e.key===" ")&&this.cardHref&&(e.preventDefault(),this.__navigate())}_handleHrefNavigation(){this.cardHref&&((!this.__rippleLoaded||this.__pendingRippleEvent)&&(this.__pendingRippleClick=!0,this.__ensureRipple()),this.__navigate())}__navigate(){this.cardHref&&(this.cardHrefNav==="tab"?window.open(this.cardHref,"_blank"):this.cardHrefNav==="window"?window.open(this.cardHref,"_blank","noopener,noreferrer,width=800,height=600"):window.open(this.cardHref,"_self"))}mapSpacingToken(e){if(!e)return;const r=String(e).trim();if(r)return/^\d+$/.test(r)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(r,10)))})`:r}__applySpacing(){const e=this.mapSpacingToken(this.spacing),r=this.mapSpacingToken(this.spacingTop)??e,d=this.mapSpacingToken(this.spacingBottom)??e,s=this.mapSpacingToken(this.spacingLeft),n=this.mapSpacingToken(this.spacingRight);r?this.style.setProperty("--scb-calendar-card-spacing-block-start",r):this.style.removeProperty("--scb-calendar-card-spacing-block-start"),d?this.style.setProperty("--scb-calendar-card-spacing-block-end",d):this.style.removeProperty("--scb-calendar-card-spacing-block-end"),s?this.style.setProperty("--scb-calendar-card-spacing-inline-start",s):this.style.removeProperty("--scb-calendar-card-spacing-inline-start"),n?this.style.setProperty("--scb-calendar-card-spacing-inline-end",n):this.style.removeProperty("--scb-calendar-card-spacing-inline-end")}updated(e){e.has("width")&&(this.width?this.style.inlineSize=this.width:this.style.removeProperty("inline-size")),e.has("maxWidth")&&(this.maxWidth?this.style.maxInlineSize=this.maxWidth:this.style.removeProperty("max-inline-size")),e.has("minWidth")&&(this.minWidth?this.style.minInlineSize=this.minWidth:this.style.removeProperty("min-inline-size")),e.has("height")&&(this.height?this.style.blockSize=this.height:this.style.removeProperty("block-size")),e.has("maxHeight")&&(this.maxHeight?this.style.maxBlockSize=this.maxHeight:this.style.removeProperty("max-block-size")),e.has("minHeight")&&(this.minHeight?this.style.minBlockSize=this.minHeight:this.style.removeProperty("min-block-size")),(e.has("width")||e.has("height")||e.has("maxHeight")||e.has("sizing"))&&this.__applyInnerSizing(),(e.has("spacing")||e.has("spacingTop")||e.has("spacingBottom")||e.has("spacingLeft")||e.has("spacingRight"))&&this.__applySpacing()}},h.styles=P`:host,:host([size='medium']),:host([size='small']){--scb-calendar-card-header-gap:var(--scb-calendar-card-content-gap);--scb-calendar-card-title-min-block-size:var(--scb-calendar-card-title-line-height)}:host{display:block;position:relative;box-sizing:border-box;inline-size:100%;min-inline-size:0;padding:var(--scb-calendar-card-focus-ring-gap, 4px);margin-block-start:var(--scb-calendar-card-spacing-block-start, 0);margin-block-end:var(--scb-calendar-card-spacing-block-end, 0);margin-inline-start:var(--scb-calendar-card-spacing-inline-start, 0);margin-inline-end:var(--scb-calendar-card-spacing-inline-end, 0);--scb-calendar-card-padding-block:var(--scb-calendar-card-padding, var(--spacing-7, 24px));--scb-calendar-card-padding-inline:var(--scb-calendar-card-padding, var(--spacing-6, 20px));--scb-calendar-card-gap:var(--spacing-4, 12px);--scb-calendar-card-horizontal-gap:var(--spacing-6, 20px);--scb-calendar-card-horizontal-min-block-size:112px;--scb-calendar-card-unframed-state-gap:var(--spacing-2, 4px);--scb-calendar-card-unframed-state-color:color-mix(in srgb, currentColor 8%, transparent);--scb-calendar-card-media-size:var(--spacing-11, 64px);--scb-calendar-card-media-gap:var(--spacing-2, 4px);--scb-calendar-card-day-size:var(--scale-07, 28px);--scb-calendar-card-day-letter-spacing:-0.6px;--scb-calendar-card-month-size:var(--scale-02, 14px);--scb-calendar-card-content-gap:var(--spacing-4, 12px);--scb-calendar-card-icon-size:20px;--scb-calendar-card-title-font-size:var(--scb-typography-headline-small-size, var(--md-sys-typescale-headline-small-size, 22px));--scb-calendar-card-title-line-height:var(--scb-typography-headline-small-line-height, var(--md-sys-typescale-headline-small-line-height, 28px));--scb-calendar-card-title-letter-spacing:var(--scb-typography-headline-small-tracking, var(--md-sys-typescale-headline-small-tracking, -0.5px));--scb-calendar-card-subtitle-font-size:var(--scb-typography-title-medium-size, var(--md-sys-typescale-title-medium-size, 18px));--scb-calendar-card-subtitle-line-height:var(--scb-typography-title-medium-line-height, var(--md-sys-typescale-title-medium-line-height, 26px));--scb-calendar-card-subtitle-letter-spacing:var(--scb-typography-title-medium-tracking, var(--md-sys-typescale-title-medium-tracking, -0.3px));--scb-calendar-card-supporting-font-size:var(--scb-typography-body-large-size, var(--md-sys-typescale-body-large-size, 18px));--scb-calendar-card-supporting-line-height:var(--scb-typography-body-large-line-height, var(--md-sys-typescale-body-large-line-height, 26px));--scb-calendar-card-supporting-letter-spacing:var(--scb-typography-body-large-tracking, var(--md-sys-typescale-body-large-tracking, -0.3px))}:host([size='medium']),:host([size='small']){--scb-calendar-card-month-size:var(--scale-01, 12px)}:host([size='medium']){--scb-calendar-card-padding-block:var(--scb-calendar-card-padding, var(--spacing-6, 20px));--scb-calendar-card-padding-inline:var(--scb-calendar-card-padding, var(--spacing-5, 16px));--scb-calendar-card-gap:var(--spacing-3, 8px);--scb-calendar-card-horizontal-gap:var(--spacing-5, 16px);--scb-calendar-card-horizontal-min-block-size:96px;--scb-calendar-card-media-size:var(--spacing-10, 56px);--scb-calendar-card-day-size:var(--scale-06, 24px);--scb-calendar-card-day-letter-spacing:-0.4px;--scb-calendar-card-content-gap:var(--spacing-3, 8px)}:host([size='small']){--scb-calendar-card-padding-block:var(--scb-calendar-card-padding, var(--spacing-5, 16px));--scb-calendar-card-padding-inline:var(--scb-calendar-card-padding, var(--spacing-4, 12px));--scb-calendar-card-gap:var(--spacing-2, 4px);--scb-calendar-card-horizontal-gap:var(--spacing-4, 12px);--scb-calendar-card-horizontal-min-block-size:84px;--scb-calendar-card-media-size:var(--spacing-9, 48px);--scb-calendar-card-day-size:var(--scale-05, 20px);--scb-calendar-card-day-letter-spacing:-0.3px;--scb-calendar-card-content-gap:var(--spacing-2, 4px);--scb-calendar-card-icon-size:18px}:host([sizing='stretch']){inline-size:100%;block-size:100%;max-inline-size:none}:host([sizing='content-width']){display:inline-block;inline-size:auto;block-size:auto}:host([sizing='content-width']) .calendar-card{inline-size:max-content}:host([sizing='content-height']){inline-size:100%;block-size:auto;max-inline-size:none}md-focus-ring{position:absolute;inset:0;pointer-events:none;display:none;border-radius:var(--scb-calendar-card-focus-ring-radius, var(--radius-large, 16px))}.calendar-card:focus-visible+md-focus-ring{display:block}.calendar-card{box-sizing:border-box;overflow:hidden;position:relative;isolation:isolate;display:flex;color:var(--md-sys-color-on-surface, #0f0865);font-family:var(--brand-font, var(--brand, "Inter"), sans-serif);font-style:normal;flex-direction:column;align-items:flex-start;gap:var(--scb-calendar-card-gap);align-self:stretch;transition:transform .18s ease,background-color .18s ease,border-color .18s ease;inline-size:100%;max-inline-size:100%}.calendar-card.clickable{cursor:pointer}.calendar-card.clickable.default{overflow:visible}.calendar-card.clickable.default::before{content:"";position:absolute;inset:calc(var(--scb-calendar-card-unframed-state-gap)*-1);border-radius:calc(var(--radius-l, 16px) + var(--scb-calendar-card-unframed-state-gap));background:var(--scb-calendar-card-unframed-state-color);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:0}.calendar-card.clickable.default:hover::before{opacity:1}.calendar-card.clickable.default>:not(md-ripple){position:relative;z-index:1}.calendar-card,.calendar-card .subtitle,.calendar-card .supporting-text,.calendar-card .title{font-variant-numeric:proportional-nums;font-feature-settings:"tnum"0,"pnum"1}.calendar-card:focus,.calendar-card:focus-visible{outline:0}.calendar-card.horizontal{flex-direction:row;align-items:flex-start;max-width:none;width:100%;gap:var(--scb-calendar-card-horizontal-gap);min-block-size:var(--scb-calendar-card-horizontal-min-block-size)}.calendar-card.outlined{border-radius:var(--radius-large, 16px);border:1px solid var(--md-sys-color-outline-variant, #ccc);background:var(--md-sys-color-surface, #fff);padding-block:var(--scb-calendar-card-padding-block);padding-inline:var(--scb-calendar-card-padding-inline)}.calendar-card.filled,.media{background:var(--md-sys-color-surface-dim, #f9f8ef)}.calendar-card.filled{border-radius:var(--radius-large, 16px);padding-block:var(--scb-calendar-card-padding-block);padding-inline:var(--scb-calendar-card-padding-inline)}.calendar-card.filled .media{background:var(--md-sys-color-surface, #fff)}md-ripple{border-radius:var(--radius-l, 16px)}.calendar-card.clickable.default md-ripple{position:absolute;inset:calc(var(--scb-calendar-card-unframed-state-gap)*-1);border-radius:calc(var(--radius-l, 16px) + var(--scb-calendar-card-unframed-state-gap));z-index:2}.media{width:var(--scb-calendar-card-media-size);min-width:var(--scb-calendar-card-media-size);max-width:var(--scb-calendar-card-media-size);height:var(--scb-calendar-card-media-size);padding:var(--spacing-0, 0)0;justify-content:center;align-items:center;gap:var(--scb-calendar-card-media-gap);border-radius:var(--md-sys-shape-corner-small)}.calendar-card.horizontal .media{align-self:flex-start}.media .day{font-size:var(--scb-calendar-card-day-size);font-weight:var(--weight-bold, 700);line-height:100%;letter-spacing:var(--scb-calendar-card-day-letter-spacing);font-variant-numeric:tabular-nums}.media .month{font-size:var(--scb-calendar-card-month-size);font-weight:var(--weight-regular, 400);line-height:100%}.container,.header-container,.media{display:flex;flex-direction:column}.container{flex:1 1 auto;min-width:0;gap:var(--scb-calendar-card-content-gap);width:100%;align-self:flex-start}.header-container{gap:var(--scb-calendar-card-header-gap)}.title-container{width:100%;flex:0 0 auto;display:flex;align-items:center;gap:var(--spacing-3, 8px);color:inherit;text-decoration:none;min-block-size:var(--scb-calendar-card-title-min-block-size)}.title{font-family:var(--brand-font, var(--brand, "Inter"), sans-serif);font-size:var(--scb-calendar-card-title-font-size);font-weight:var(--weight-bold, 700);line-height:var(--scb-calendar-card-title-line-height);letter-spacing:var(--scb-calendar-card-title-letter-spacing);flex:1 1 auto;min-inline-size:0;white-space:normal;word-break:normal;overflow-wrap:break-word;hyphens:auto;overflow:visible;text-overflow:clip}.title-container .calendar-card-icon{inline-size:var(--scb-calendar-card-icon-size);block-size:var(--scb-calendar-card-icon-size);flex:0 0 auto}.calendar-card-icon,.icon-container{align-items:center;justify-content:center}.icon-container{display:flex;width:var(--spacing-7, 24px);height:var(--spacing-7, 24px)}.calendar-card-icon{display:inline-flex;overflow:hidden;font-family:"Material Symbols Outlined";font-size:var(--icon-size-medium, 24px);line-height:1;white-space:nowrap;text-transform:none;word-wrap:normal;direction:ltr;font-variation-settings:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.calendar-card-icon.scb-svg-icon{fill:currentColor;font:inherit}.subtitle,.supporting-text{font-family:var(--brand-font, var(--brand, "Inter"), sans-serif);white-space:normal;word-break:normal;overflow-wrap:break-word;hyphens:manual;overflow:visible;text-overflow:clip}.subtitle{font-size:var(--scb-calendar-card-subtitle-font-size);font-weight:var(--weight-semibold, 600);line-height:var(--scb-calendar-card-subtitle-line-height);letter-spacing:var(--scb-calendar-card-subtitle-letter-spacing)}.supporting-text{font-size:var(--scb-calendar-card-supporting-font-size);font-weight:var(--weight-regular, 400);line-height:var(--scb-calendar-card-supporting-line-height);letter-spacing:var(--scb-calendar-card-supporting-letter-spacing)}.title ::slotted(*){font-size:var(--scb-calendar-card-title-font-size)!important;font-weight:var(--weight-bold, 700)!important;line-height:var(--scb-calendar-card-title-line-height)!important;letter-spacing:var(--scb-calendar-card-title-letter-spacing)!important}.subtitle ::slotted(*),.supporting-text ::slotted(*),.title ::slotted(*){margin:0;color:inherit;font-family:var(--brand-font, var(--brand, "Inter"), sans-serif)!important}.subtitle ::slotted(*){font-size:var(--scb-calendar-card-subtitle-font-size)!important;font-weight:var(--weight-semibold, 600)!important;line-height:var(--scb-calendar-card-subtitle-line-height)!important;letter-spacing:var(--scb-calendar-card-subtitle-letter-spacing)!important}.supporting-text ::slotted(*){font-size:var(--scb-calendar-card-supporting-font-size)!important;font-weight:var(--weight-regular, 400)!important;line-height:var(--scb-calendar-card-supporting-line-height)!important;letter-spacing:var(--scb-calendar-card-supporting-letter-spacing)!important}.supporting-text ::slotted(*),.supporting-text ::slotted(scb-link){--scb-link-font-size:var(--scb-calendar-card-supporting-font-size);--scb-link-line-height:var(--scb-calendar-card-supporting-line-height);--scb-link-letter-spacing:var(--scb-calendar-card-supporting-letter-spacing)}`,h);i([a({type:String,reflect:!0})],t.prototype,"variant",void 0);i([a({type:String,reflect:!0})],t.prototype,"size",void 0);i([a({type:String,attribute:"date"})],t.prototype,"date",void 0);i([a({type:String,reflect:!0})],t.prototype,"direction",void 0);i([a({type:String,reflect:!0,converter:p})],t.prototype,"title",void 0);i([a({type:String,attribute:"calendar-card-title",reflect:!0,converter:p})],t.prototype,"calendarCardTitle",void 0);i([a({type:String,reflect:!0,converter:p})],t.prototype,"subtitle",void 0);i([a({type:String,attribute:"supporting-text",reflect:!0,converter:p})],t.prototype,"supportingText",void 0);i([a({type:String,attribute:"card-href"})],t.prototype,"cardHref",void 0);i([a({type:String,attribute:"card-href-nav"})],t.prototype,"cardHrefNav",void 0);i([a({type:Boolean,reflect:!0,attribute:"show-media"})],t.prototype,"showMedia",void 0);i([a({type:String,attribute:"date-label-prefix"})],t.prototype,"dateLabelPrefix",void 0);i([a({type:String,attribute:"media-width"})],t.prototype,"mediaWidth",void 0);i([a({type:String,attribute:"media-height"})],t.prototype,"mediaHeight",void 0);i([a({type:String,attribute:"media-aspect"})],t.prototype,"mediaAspect",void 0);i([a({type:String,reflect:!0})],t.prototype,"width",void 0);i([a({type:String,reflect:!0,attribute:"max-width"})],t.prototype,"maxWidth",void 0);i([a({type:String,attribute:"min-width"})],t.prototype,"minWidth",void 0);i([a({type:String,reflect:!0})],t.prototype,"height",void 0);i([a({type:String,reflect:!0,attribute:"max-height"})],t.prototype,"maxHeight",void 0);i([a({type:String,attribute:"min-height"})],t.prototype,"minHeight",void 0);i([a({type:String,reflect:!0,converter:p})],t.prototype,"sizing",void 0);i([a({type:String,reflect:!0})],t.prototype,"spacing",void 0);i([a({type:String,attribute:"spacing-top",reflect:!0})],t.prototype,"spacingTop",void 0);i([a({type:String,attribute:"spacing-bottom",reflect:!0})],t.prototype,"spacingBottom",void 0);i([a({type:String,attribute:"spacing-left",reflect:!0})],t.prototype,"spacingLeft",void 0);i([a({type:String,attribute:"spacing-right",reflect:!0})],t.prototype,"spacingRight",void 0);t=i([C("scb-calendar-card")],t);
41
+ `}__getDateParts(){const e={day:1,month:"Jan"};if(!this.date)return e;const r=this.date instanceof Date?this.date:(()=>{const n=new Date(String(this.date));return Number.isNaN(n.getTime())?null:n})();if(!r)return e;const l=r.getDate(),s=L.format(r).replace(".","").trim();return{day:l,month:s.charAt(0).toUpperCase()+s.slice(1)}}__applyInnerSizing(){const e=this.renderRoot.querySelector(".calendar-card");e&&(this.width&&this.width.trim()!==""?(e.style.inlineSize="100%",e.style.maxInlineSize="100%"):(e.style.removeProperty("inline-size"),e.style.removeProperty("max-inline-size")),this.height&&this.height.trim()!==""||this.sizing==="stretch"?e.style.blockSize="100%":e.style.removeProperty("block-size"),this.maxHeight&&this.maxHeight.trim()!==""?e.style.maxBlockSize="100%":e.style.removeProperty("max-block-size"))}_onKeyDown(e){(e.key==="Enter"||e.key===" ")&&this.cardHref&&(e.preventDefault(),this.__navigate())}_handleHrefNavigation(){this.cardHref&&((!this.__rippleLoaded||this.__pendingRippleEvent)&&(this.__pendingRippleClick=!0,this.__ensureRipple()),this.__navigate())}__navigate(){this.cardHref&&(this.cardHrefNav==="tab"?window.open(this.cardHref,"_blank"):this.cardHrefNav==="window"?window.open(this.cardHref,"_blank","noopener,noreferrer,width=800,height=600"):window.open(this.cardHref,"_self"))}mapSpacingToken(e){if(!e)return;const r=String(e).trim();if(r)return/^\d+$/.test(r)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(r,10)))})`:r}__applySpacing(){const e=this.mapSpacingToken(this.spacing),r=this.mapSpacingToken(this.spacingTop)??e,l=this.mapSpacingToken(this.spacingBottom)??e,s=this.mapSpacingToken(this.spacingLeft),n=this.mapSpacingToken(this.spacingRight);r?this.style.setProperty("--scb-calendar-card-spacing-block-start",r):this.style.removeProperty("--scb-calendar-card-spacing-block-start"),l?this.style.setProperty("--scb-calendar-card-spacing-block-end",l):this.style.removeProperty("--scb-calendar-card-spacing-block-end"),s?this.style.setProperty("--scb-calendar-card-spacing-inline-start",s):this.style.removeProperty("--scb-calendar-card-spacing-inline-start"),n?this.style.setProperty("--scb-calendar-card-spacing-inline-end",n):this.style.removeProperty("--scb-calendar-card-spacing-inline-end")}updated(e){e.has("width")&&(this.width?this.style.inlineSize=this.width:this.style.removeProperty("inline-size")),e.has("maxWidth")&&(this.maxWidth?this.style.maxInlineSize=this.maxWidth:this.style.removeProperty("max-inline-size")),e.has("minWidth")&&(this.minWidth?this.style.minInlineSize=this.minWidth:this.style.removeProperty("min-inline-size")),e.has("height")&&(this.height?this.style.blockSize=this.height:this.style.removeProperty("block-size")),e.has("maxHeight")&&(this.maxHeight?this.style.maxBlockSize=this.maxHeight:this.style.removeProperty("max-block-size")),e.has("minHeight")&&(this.minHeight?this.style.minBlockSize=this.minHeight:this.style.removeProperty("min-block-size")),(e.has("width")||e.has("height")||e.has("maxHeight")||e.has("sizing"))&&this.__applyInnerSizing(),(e.has("spacing")||e.has("spacingTop")||e.has("spacingBottom")||e.has("spacingLeft")||e.has("spacingRight"))&&this.__applySpacing()}},h.styles=P`:host,:host([size='medium']),:host([size='small']){--scb-calendar-card-header-gap:var(--scb-calendar-card-content-gap);--scb-calendar-card-title-min-block-size:var(--scb-calendar-card-title-line-height)}:host{display:block;position:relative;box-sizing:border-box;inline-size:100%;min-inline-size:0;padding:var(--scb-calendar-card-focus-ring-gap, 4px);margin-block-start:var(--scb-calendar-card-spacing-block-start, 0);margin-block-end:var(--scb-calendar-card-spacing-block-end, 0);margin-inline-start:var(--scb-calendar-card-spacing-inline-start, 0);margin-inline-end:var(--scb-calendar-card-spacing-inline-end, 0);--scb-calendar-card-padding-block:var(--scb-calendar-card-padding, var(--spacing-7, 24px));--scb-calendar-card-padding-inline:var(--scb-calendar-card-padding, var(--spacing-6, 20px));--scb-calendar-card-gap:var(--spacing-4, 12px);--scb-calendar-card-horizontal-gap:var(--spacing-6, 20px);--scb-calendar-card-horizontal-min-block-size:112px;--scb-calendar-card-unframed-state-gap:var(--spacing-2, 4px);--scb-calendar-card-unframed-state-color:color-mix(in srgb, currentColor 8%, transparent);--scb-calendar-card-media-size:var(--spacing-11, 64px);--scb-calendar-card-media-gap:var(--spacing-2, 4px);--scb-calendar-card-day-size:var(--scale-07, 28px);--scb-calendar-card-day-letter-spacing:-0.6px;--scb-calendar-card-month-size:var(--scale-02, 14px);--scb-calendar-card-content-gap:var(--spacing-4, 12px);--scb-calendar-card-icon-size:20px;--scb-calendar-card-title-font-size:var(--scb-typography-headline-small-size, var(--md-sys-typescale-headline-small-size, 22px));--scb-calendar-card-title-line-height:var(--scb-typography-headline-small-line-height, var(--md-sys-typescale-headline-small-line-height, 28px));--scb-calendar-card-title-letter-spacing:var(--scb-typography-headline-small-tracking, var(--md-sys-typescale-headline-small-tracking, -0.5px));--scb-calendar-card-subtitle-font-size:var(--scb-typography-title-medium-size, var(--md-sys-typescale-title-medium-size, 18px));--scb-calendar-card-subtitle-line-height:var(--scb-typography-title-medium-line-height, var(--md-sys-typescale-title-medium-line-height, 26px));--scb-calendar-card-subtitle-letter-spacing:var(--scb-typography-title-medium-tracking, var(--md-sys-typescale-title-medium-tracking, -0.3px));--scb-calendar-card-supporting-font-size:var(--scb-typography-body-large-size, var(--md-sys-typescale-body-large-size, 18px));--scb-calendar-card-supporting-line-height:var(--scb-typography-body-large-line-height, var(--md-sys-typescale-body-large-line-height, 26px));--scb-calendar-card-supporting-letter-spacing:var(--scb-typography-body-large-tracking, var(--md-sys-typescale-body-large-tracking, -0.3px))}:host([size='medium']),:host([size='small']){--scb-calendar-card-month-size:var(--scale-01, 12px)}:host([size='medium']){--scb-calendar-card-padding-block:var(--scb-calendar-card-padding, var(--spacing-6, 20px));--scb-calendar-card-padding-inline:var(--scb-calendar-card-padding, var(--spacing-5, 16px));--scb-calendar-card-gap:var(--spacing-3, 8px);--scb-calendar-card-horizontal-gap:var(--spacing-5, 16px);--scb-calendar-card-horizontal-min-block-size:96px;--scb-calendar-card-media-size:var(--spacing-10, 56px);--scb-calendar-card-day-size:var(--scale-06, 24px);--scb-calendar-card-day-letter-spacing:-0.4px;--scb-calendar-card-content-gap:var(--spacing-3, 8px)}:host([size='small']){--scb-calendar-card-padding-block:var(--scb-calendar-card-padding, var(--spacing-5, 16px));--scb-calendar-card-padding-inline:var(--scb-calendar-card-padding, var(--spacing-4, 12px));--scb-calendar-card-gap:var(--spacing-2, 4px);--scb-calendar-card-horizontal-gap:var(--spacing-4, 12px);--scb-calendar-card-horizontal-min-block-size:84px;--scb-calendar-card-media-size:var(--spacing-9, 48px);--scb-calendar-card-day-size:var(--scale-05, 20px);--scb-calendar-card-day-letter-spacing:-0.3px;--scb-calendar-card-content-gap:var(--spacing-2, 4px);--scb-calendar-card-icon-size:18px}:host([sizing='stretch']){inline-size:100%;block-size:100%;max-inline-size:none}:host([sizing='content-width']){display:inline-block;inline-size:auto;block-size:auto}:host([sizing='content-width']) .calendar-card{inline-size:max-content}:host([sizing='content-height']){inline-size:100%;block-size:auto;max-inline-size:none}md-focus-ring{position:absolute;inset:0;pointer-events:none;display:none;border-radius:var(--scb-calendar-card-focus-ring-radius, var(--radius-large, 16px))}.calendar-card:focus-visible+md-focus-ring{display:block}.calendar-card{box-sizing:border-box;overflow:hidden;position:relative;isolation:isolate;display:flex;color:var(--md-sys-color-on-surface, #0f0865);font-family:var(--brand-font, var(--brand, "Inter"), sans-serif);font-style:normal;flex-direction:column;align-items:flex-start;gap:var(--scb-calendar-card-gap);align-self:stretch;transition:transform .18s ease,background-color .18s ease,border-color .18s ease;inline-size:100%;max-inline-size:100%}.calendar-card.clickable{cursor:pointer}.calendar-card.clickable.default{overflow:visible}.calendar-card.clickable.default::before{content:"";position:absolute;inset:calc(var(--scb-calendar-card-unframed-state-gap)*-1);border-radius:calc(var(--radius-l, 16px) + var(--scb-calendar-card-unframed-state-gap));background:var(--scb-calendar-card-unframed-state-color);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:0}.calendar-card.clickable.default:hover::before{opacity:1}.calendar-card.clickable.default>:not(md-ripple){position:relative;z-index:1}.calendar-card,.calendar-card .subtitle,.calendar-card .supporting-text,.calendar-card .title{font-variant-numeric:proportional-nums;font-feature-settings:"tnum"0,"pnum"1}.calendar-card:focus,.calendar-card:focus-visible{outline:0}.calendar-card.horizontal{flex-direction:row;align-items:flex-start;max-width:none;width:100%;gap:var(--scb-calendar-card-horizontal-gap);min-block-size:var(--scb-calendar-card-horizontal-min-block-size)}.calendar-card.outlined{border-radius:var(--radius-large, 16px);border:1px solid var(--md-sys-color-outline-variant, #ccc);background:var(--md-sys-color-surface, #fff);padding-block:var(--scb-calendar-card-padding-block);padding-inline:var(--scb-calendar-card-padding-inline)}.calendar-card.filled,.media{background:var(--md-sys-color-surface-dim, #f9f8ef)}.calendar-card.filled{border-radius:var(--radius-large, 16px);padding-block:var(--scb-calendar-card-padding-block);padding-inline:var(--scb-calendar-card-padding-inline)}.calendar-card.filled .media{background:var(--md-sys-color-surface, #fff)}md-ripple{border-radius:var(--radius-l, 16px)}.calendar-card.clickable.default md-ripple{position:absolute;inset:calc(var(--scb-calendar-card-unframed-state-gap)*-1);border-radius:calc(var(--radius-l, 16px) + var(--scb-calendar-card-unframed-state-gap));z-index:2}.media{width:var(--scb-calendar-card-media-size);min-width:var(--scb-calendar-card-media-size);max-width:var(--scb-calendar-card-media-size);height:var(--scb-calendar-card-media-size);padding:var(--spacing-0, 0)0;justify-content:center;align-items:center;gap:var(--scb-calendar-card-media-gap);border-radius:var(--md-sys-shape-corner-small)}.calendar-card.horizontal .media{align-self:flex-start}.media .day{font-size:var(--scb-calendar-card-day-size);font-weight:var(--weight-bold, 700);line-height:100%;letter-spacing:var(--scb-calendar-card-day-letter-spacing);font-variant-numeric:tabular-nums}.media .month{font-size:var(--scb-calendar-card-month-size);font-weight:var(--weight-regular, 400);line-height:100%}.container,.header-container,.media{display:flex;flex-direction:column}.container{flex:1 1 auto;min-width:0;gap:var(--scb-calendar-card-content-gap);width:100%;align-self:flex-start}.header-container{gap:var(--scb-calendar-card-header-gap)}.title-container{width:100%;flex:0 0 auto;display:flex;align-items:center;gap:var(--spacing-3, 8px);color:inherit;text-decoration:none;min-block-size:var(--scb-calendar-card-title-min-block-size)}.title{font-family:var(--brand-font, var(--brand, "Inter"), sans-serif);font-size:var(--scb-calendar-card-title-font-size);font-weight:var(--weight-bold, 700);line-height:var(--scb-calendar-card-title-line-height);letter-spacing:var(--scb-calendar-card-title-letter-spacing);flex:1 1 auto;min-inline-size:0;white-space:normal;word-break:normal;overflow-wrap:break-word;hyphens:auto;overflow:visible;text-overflow:clip}.title-container .calendar-card-icon{inline-size:var(--scb-calendar-card-icon-size);block-size:var(--scb-calendar-card-icon-size);flex:0 0 auto}.calendar-card-icon,.icon-container{align-items:center;justify-content:center}.icon-container{display:flex;width:var(--spacing-7, 24px);height:var(--spacing-7, 24px)}.calendar-card-icon{display:inline-flex;overflow:hidden;font-family:"Material Symbols Outlined";font-size:var(--icon-size-medium, 24px);line-height:1;white-space:nowrap;text-transform:none;word-wrap:normal;direction:ltr;font-variation-settings:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.calendar-card-icon.scb-svg-icon{fill:currentColor;font:inherit}.subtitle,.supporting-text{font-family:var(--brand-font, var(--brand, "Inter"), sans-serif);white-space:normal;word-break:normal;overflow-wrap:break-word;hyphens:manual;overflow:visible;text-overflow:clip}.subtitle{font-size:var(--scb-calendar-card-subtitle-font-size);font-weight:var(--weight-semibold, 600);line-height:var(--scb-calendar-card-subtitle-line-height);letter-spacing:var(--scb-calendar-card-subtitle-letter-spacing)}.supporting-text{font-size:var(--scb-calendar-card-supporting-font-size);font-weight:var(--weight-regular, 400);line-height:var(--scb-calendar-card-supporting-line-height);letter-spacing:var(--scb-calendar-card-supporting-letter-spacing)}.title ::slotted(*){font-size:var(--scb-calendar-card-title-font-size)!important;font-weight:var(--weight-bold, 700)!important;line-height:var(--scb-calendar-card-title-line-height)!important;letter-spacing:var(--scb-calendar-card-title-letter-spacing)!important}.subtitle ::slotted(*),.supporting-text ::slotted(*),.title ::slotted(*){margin:0;color:inherit;font-family:var(--brand-font, var(--brand, "Inter"), sans-serif)!important}.subtitle ::slotted(*){font-size:var(--scb-calendar-card-subtitle-font-size)!important;font-weight:var(--weight-semibold, 600)!important;line-height:var(--scb-calendar-card-subtitle-line-height)!important;letter-spacing:var(--scb-calendar-card-subtitle-letter-spacing)!important}.supporting-text ::slotted(*){font-size:var(--scb-calendar-card-supporting-font-size)!important;font-weight:var(--weight-regular, 400)!important;line-height:var(--scb-calendar-card-supporting-line-height)!important;letter-spacing:var(--scb-calendar-card-supporting-letter-spacing)!important}.supporting-text ::slotted(*),.supporting-text ::slotted(scb-link){--scb-link-font-size:var(--scb-calendar-card-supporting-font-size);--scb-link-line-height:var(--scb-calendar-card-supporting-line-height);--scb-link-letter-spacing:var(--scb-calendar-card-supporting-letter-spacing)}`,h);i([a({type:String,reflect:!0})],t.prototype,"variant",void 0);i([a({type:String,reflect:!0})],t.prototype,"size",void 0);i([a({type:String,attribute:"date"})],t.prototype,"date",void 0);i([a({type:String,reflect:!0})],t.prototype,"direction",void 0);i([a({type:String,reflect:!0,converter:p})],t.prototype,"title",void 0);i([a({type:String,attribute:"calendar-card-title",reflect:!0,converter:p})],t.prototype,"calendarCardTitle",void 0);i([a({type:String,reflect:!0,converter:p})],t.prototype,"subtitle",void 0);i([a({type:String,attribute:"supporting-text",reflect:!0,converter:p})],t.prototype,"supportingText",void 0);i([a({type:String,attribute:"card-href"})],t.prototype,"cardHref",void 0);i([a({type:String,attribute:"card-href-nav"})],t.prototype,"cardHrefNav",void 0);i([a({type:Boolean,reflect:!0,attribute:"show-media"})],t.prototype,"showMedia",void 0);i([a({type:String,attribute:"date-label-prefix"})],t.prototype,"dateLabelPrefix",void 0);i([a({type:String,attribute:"media-width"})],t.prototype,"mediaWidth",void 0);i([a({type:String,attribute:"media-height"})],t.prototype,"mediaHeight",void 0);i([a({type:String,attribute:"media-aspect"})],t.prototype,"mediaAspect",void 0);i([a({type:String,reflect:!0})],t.prototype,"width",void 0);i([a({type:String,reflect:!0,attribute:"max-width"})],t.prototype,"maxWidth",void 0);i([a({type:String,attribute:"min-width"})],t.prototype,"minWidth",void 0);i([a({type:String,reflect:!0})],t.prototype,"height",void 0);i([a({type:String,reflect:!0,attribute:"max-height"})],t.prototype,"maxHeight",void 0);i([a({type:String,attribute:"min-height"})],t.prototype,"minHeight",void 0);i([a({type:String,reflect:!0,converter:p})],t.prototype,"sizing",void 0);i([a({type:String,reflect:!0})],t.prototype,"spacing",void 0);i([a({type:String,attribute:"spacing-top",reflect:!0})],t.prototype,"spacingTop",void 0);i([a({type:String,attribute:"spacing-bottom",reflect:!0})],t.prototype,"spacingBottom",void 0);i([a({type:String,attribute:"spacing-left",reflect:!0})],t.prototype,"spacingLeft",void 0);i([a({type:String,attribute:"spacing-right",reflect:!0})],t.prototype,"spacingRight",void 0);t=i([C("scb-calendar-card")],t);
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../../vendor/lazy-focus-ring.js","../../vendor/rolldown-runtime.js","../../vendor/preload-helper.js","../../vendor/lazy-ripple.js","../scb-list/scb-list.js","../../vendor/decorate.js","../../vendor/vendor.js","../../vendor/vendor-lit.js","../scb-list/scb-list-item.js","../scb-icon-button/scb-icon-button.js","../../vendor/assertClassBrand.js","../scb-button/scb-button.js","../scb-link/scb-link.js","../../vendor/classPrivateFieldGet2.js","../scb-chip/scb-chip.js","../scb-avatar/scb-avatar.js","../scb-tooltip/scb-tooltip.js","../../vendor/icon.js","../../vendor/scb-card-variants.internal.js"])))=>i.map(i=>d[i]);
2
- import{g as l,h as ut,m as f,p as r,v as d,y as vt}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as m}from"../../vendor/preload-helper.js";import{t as s}from"../../vendor/decorate.js";(function(){try{var p=typeof globalThis<"u"?globalThis:window;if(!p.__scb_ce_guard_installed__){p.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(t,i,n){try{customElements.get(t)||e(t,i,n)}catch(h){var o=String(h||"");if(o.indexOf("already been used")===-1&&o.indexOf("NotSupportedError")===-1)throw h}}}}catch{}})();var A,ft=new Set(["social-comments-text","social-comments","social-comments-disabled","social-comments-href","social-comments-link-label","social-likes-text","social-like-label","social-likes","social-likes-disabled","social-likes-hover-content","social-has-liked","social-likes-interactive","social-author","social-author-text","social-author-href","social-reply-enabled","social-reply-label","social-edit-enabled","social-edit-label","social-delete-enabled","social-delete-label"]),_="data-scb-card-managed-list-size",C,R,$,P,E,D,H,I,B,F;function yt(){return I??(I=m(()=>import("../../vendor/lazy-focus-ring.js").then(p=>p.i),__vite__mapDeps([0,1,2]),import.meta.url)),I}function K(){return B??(B=m(()=>import("../../vendor/lazy-ripple.js"),__vite__mapDeps([3,2]),import.meta.url)),B}function _t(){return C??(C=m(()=>import("../scb-list/scb-list.js"),__vite__mapDeps([4,5,6,7,8,2]),import.meta.url)),C}function zt(){return R??(R=m(()=>import("../scb-icon-button/scb-icon-button.js"),__vite__mapDeps([9,10,5,2,6,7]),import.meta.url)),R}function xt(){return $??($=m(()=>import("../scb-button/scb-button.js"),__vite__mapDeps([11,10,5,2,6,7]),import.meta.url)),$}function kt(){return P??(P=m(()=>import("../scb-link/scb-link.js"),__vite__mapDeps([12,10,13,5,2,6,7]),import.meta.url)),P}function St(){return E??(E=m(()=>import("../scb-chip/scb-chip.js"),__vite__mapDeps([14,10,5,2,6,7]),import.meta.url)),E}function Tt(){return D??(D=m(()=>import("../scb-avatar/scb-avatar.js"),__vite__mapDeps([15,10,5,2,6,7]),import.meta.url)),D}function Lt(){return H??(H=m(()=>import("../scb-tooltip/scb-tooltip.js"),__vite__mapDeps([16,5,2,6,17,1,7]),import.meta.url)),H}function wt(){return F??(F=m(()=>import("../../vendor/scb-card-variants.internal.js"),__vite__mapDeps([18,6,7]),import.meta.url)),F}var c={fromAttribute:p=>p??"",toAttribute:p=>typeof p!="string"||p.trim()===""?null:p},a=(A=class extends ut{constructor(...e){super(...e),this.__dependencyKey="",this.__focusRingRequested=!1,this.__focusRingLoaded=!1,this.__rippleRequested=!1,this.__rippleLoaded=!1,this.__pendingRippleClick=!1,this.__isSyncingManagedSocialAttributes=!1,this.type="standard",this.variant="standard",this.direction="dynamic",this.size="large",this.mediaType="",this.mediaHref="",this.mediaAlt="",this.mediaSrcset="",this.mediaSizes="",this.mediaLoading="auto",this.mediaDecoding="async",this.mediaFetchPriority="auto",this.mediaFit="cover",this.mediaPosition="center",this.mediaWidth="",this.mediaHeight="",this.mediaAspect="",this.mediaPlaceholder=!1,this.cardHref="",this.href="",this.title="",this.cardTitle="",this.subtitle="",this.vignette="",this.vignetteVariant="filled",this.vignetteSpacing=void 0,this.vignetteSpacingTop=void 0,this.vignetteSpacingBottom=void 0,this.vignetteSpacingLeft=void 0,this.vignetteSpacingRight=void 0,this.supportingText="",this.commentsText="",this.commentsDisabled=!1,this.commentsHref="",this.commentsLinkLabel="Gå till kommentarer",this.likesText="",this.likeLabel="",this.likesDisabled=!1,this.likesHoverContent="",this.hasLiked=!1,this.likesInteractive=!0,this.author=!1,this.authorText="",this.authorHref="",this.replyEnabled=!1,this.replyLabel="Svara",this.editEnabled=!1,this.editLabel="Redigera",this.deleteEnabled=!1,this.deleteLabel="Ta bort",this.width="",this.maxWidth="",this.height="",this.maxHeight="",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.innerPadding=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.__onImgLoad=t=>{const i=t.currentTarget.closest(".media");i&&i.classList.add("is-loaded")},this.__ensureRippleOnInteraction=(t,i=!1)=>{if(this.__primaryHref()){if(t&&(this.__pendingRippleEvent=t),i&&(this.__pendingRippleClick=!0),this.__rippleLoaded){this.__syncRipple();return}this.__rippleRequested||(this.__rippleRequested=!0,K().then(({ensureRippleReady:n})=>n()).then(()=>{this.__rippleLoaded=!0,this.requestUpdate(),this.updateComplete.then(()=>this.__syncRipple())}))}},this.__syncRipple=async()=>{const t=this.renderRoot.querySelector("md-ripple"),i=this.renderRoot.querySelector(".scb-card"),n=this.__pendingRippleEvent,o=this.__pendingRippleClick;this.__pendingRippleEvent=void 0,this.__pendingRippleClick=!1;const{syncRippleToControl:h}=await K();await h(t,i,n,o)},this.__ensureFocusRingOnFocusVisible=()=>{this.__focusRingLoaded||this.__focusRingRequested||(this.__focusRingRequested=!0,yt().then(({ensureFocusRingReady:t})=>t()).then(()=>{this.__focusRingLoaded=!0,this.requestUpdate()}))},this.__onKeyDown=t=>{if(t.target!==t.currentTarget)return;const i=this.__primaryHref();(t.key==="Enter"||t.key===" ")&&i&&(t.preventDefault(),this.__ensureRippleOnInteraction(void 0,!0),this.__navigate(i,t))},this.__handleHrefNavigation=t=>{const i=this.__primaryHref();i&&(t.target.closest("a")||this.__navigate(i,t))},this.__handleSlottedCardLinkClick=t=>{const i=t.composedPath().find(n=>n instanceof HTMLAnchorElement&&n.getAttribute("slot")==="card-link")?.getAttribute("href")||this.__primaryHref();i&&(this.__dispatchCardNavigate(i,t)||t.preventDefault())}}attributeChangedCallback(e,t,i){this.__isSyncingManagedSocialAttributes&&ft.has(e)||super.attributeChangedCallback(e,t,i)}get likeButton(){return this.cardType!=="social"?null:this.renderRoot.querySelector(".likes scb-icon-button")}__calcAspectWH(e){const t=(e||"").trim();if(!t)return{w:600,h:400};const i=t.includes("/")?t.split("/"):t.includes(":")?t.split(":"):t.includes("x")?t.split("x"):null;if(i&&i.length===2){const o=Number(i[0]),h=Number(i[1]);if(o>0&&h>0)return{w:o,h}}const n=Number(t);return isFinite(n)&&n>0?{w:1e3,h:Math.round(1e3/n)}:{w:600,h:400}}__mediaReserveAspect(e=""){const t=(this.mediaAspect||"").trim();if(t)return t;const i=Number(this.mediaWidth)||0,n=Number(this.mediaHeight)||0;return i>0&&n>0?`${i} / ${n}`:e}__mediaReserveStyle(e=""){const t=this.__mediaReserveAspect(e);return t?`--scb-card-media-aspect:${t};`:""}__slottedMediaAspect(){const e=this.querySelector('[slot="media"]');if(!e)return"";const t=Number(e.getAttribute("width"))||0,i=Number(e.getAttribute("height"))||0;return t>0&&i>0?`${t} / ${i}`:""}__isAvatarMedia(){return(this.mediaType||"").toLowerCase()==="avatar"?!0:this.querySelector(':scope > [slot="media"]')?.localName==="scb-avatar"}get __resolvedTitle(){return this.cardTitle||this.title}get cardType(){const e=(this.type||"standard").toLowerCase();switch(e){case"standard":case"list":case"social":case"link":case"action":case"container":return e;default:return"standard"}}__ensureVariantRenderer(){return this.cardType==="standard"||this.__variantRenderer?Promise.resolve():wt().then(e=>{this.__variantRenderer!==e&&(this.__variantRenderer=e,e.ensureScbCardVariantStyles(this.renderRoot),this.requestUpdate())})}__dispatchCardNavigate(e,t){const i={href:e,originalEvent:t},n=new CustomEvent("card-navigate",{bubbles:!0,composed:!0,cancelable:!0,detail:i});if(this.dispatchEvent(n),n.defaultPrevented)return!1;const o=new CustomEvent("cardnavigate",{bubbles:!0,composed:!0,cancelable:!0,detail:i});return this.dispatchEvent(o),!o.defaultPrevented}__effectiveHref(){return this.cardHref||this.href}__slottedCardLink(){return this.querySelector(':scope > a[slot="card-link"]')}__primaryHref(){return this.__effectiveHref()||this.__slottedCardLink()?.getAttribute("href")||""}__navigate(e,t){e&&this.__dispatchCardNavigate(e,t)&&window.open(e,"_self")}__slotNames(){const e=new Set;for(const t of Array.from(this.children)){const i=t.getAttribute("slot");i&&e.add(i)}return e}__hasSlottedContent(e,t){return t?t.has(e):Array.from(this.children).some(i=>i.getAttribute("slot")===e)}__hasLightDomElement(e){return!!this.querySelector(e)}__syncListCardListSize(){const e=Array.from(this.querySelectorAll("scb-list"));if(this.cardType!=="list"){for(const i of e){const n=i.getAttribute(_);n!==null&&i.getAttribute("size")===n&&i.removeAttribute("size"),i.removeAttribute(_)}return}const t=this.size||"large";for(const i of e){const n=i.getAttribute(_);if(n!==null&&i.getAttribute("size")!==n){i.removeAttribute(_);continue}(!i.hasAttribute("size")||n!==null)&&(i.setAttribute("size",t),i.setAttribute(_,t))}}__slottedText(e){return(this.querySelector(`:scope > [slot="${e}"]`)?.textContent??"").replace(/\s+/g," ").trim()}__ensureDependenciesReady(){const e=[],t=[],i=this.cardType,n=!!this.vignette?.trim(),o=(u,g)=>{t.push(u),e.push(g())};(i==="list"||this.__hasLightDomElement("scb-list, scb-list-item"))&&o("list",_t),i!=="standard"&&o("card-variants",()=>this.__ensureVariantRenderer()),(i==="social"&&(!this.likesDisabled&&this.likesInteractive||!this.commentsDisabled&&this.commentsHref||this.replyEnabled||this.editEnabled||this.deleteEnabled)||this.__hasLightDomElement("scb-icon-button"))&&o("icon-button",zt),this.__hasLightDomElement("scb-button")&&o("button",xt),this.__hasLightDomElement("scb-link")&&o("link",kt),(n||this.__hasLightDomElement("scb-chip"))&&o("chip",St),((this.mediaType||"").toLowerCase()==="avatar"||this.__hasLightDomElement("scb-avatar"))&&o("avatar",Tt),(i==="social"&&this.likesHoverContent||this.__hasLightDomElement("scb-tooltip"))&&o("tooltip",Lt);const h=t.sort().join("|");h!==this.__dependencyKey&&(this.__dependencyKey=h,e.length>0&&Promise.all(e).then(()=>this.requestUpdate()))}__mediaTemplate(e){const t=this.__isAvatarMedia();if(this.__hasSlottedContent("media",e)){const i=t?"":this.__mediaReserveStyle(this.__slottedMediaAspect());return d`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../shared/lazy-focus-ring.js","../../vendor/preload-helper.js","../shared/lazy-ripple.js","../scb-list/scb-list.js","../../vendor/decorate.js","../../vendor/vendor.js","../../vendor/vendor-lit.js","../scb-list/scb-list-item.js","../scb-icon-button/scb-icon-button.js","../../vendor/assertClassBrand.js","../scb-button/scb-button.js","../scb-link/scb-link.js","../../vendor/classPrivateFieldGet2.js","../scb-chip/scb-chip.js","../scb-avatar/scb-avatar.js","../scb-tooltip/scb-tooltip.js","../../vendor/icon.js","../../vendor/rolldown-runtime.js","../../vendor/scb-card-variants.internal.js"])))=>i.map(i=>d[i]);
2
+ import{g as l,h as ut,m as f,p as r,v as d,y as vt}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as m}from"../../vendor/preload-helper.js";import{t as s}from"../../vendor/decorate.js";(function(){try{var p=typeof globalThis<"u"?globalThis:window;if(!p.__scb_ce_guard_installed__){p.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(t,i,n){try{customElements.get(t)||e(t,i,n)}catch(h){var o=String(h||"");if(o.indexOf("already been used")===-1&&o.indexOf("NotSupportedError")===-1)throw h}}}}catch{}})();var A,ft=new Set(["social-comments-text","social-comments","social-comments-disabled","social-comments-href","social-comments-link-label","social-likes-text","social-like-label","social-likes","social-likes-disabled","social-likes-hover-content","social-has-liked","social-likes-interactive","social-author","social-author-text","social-author-href","social-reply-enabled","social-reply-label","social-edit-enabled","social-edit-label","social-delete-enabled","social-delete-label"]),_="data-scb-card-managed-list-size",C,R,$,P,E,D,H,I,B,F;function yt(){return I??(I=m(()=>import("../shared/lazy-focus-ring.js"),__vite__mapDeps([0,1]),import.meta.url)),I}function K(){return B??(B=m(()=>import("../shared/lazy-ripple.js"),__vite__mapDeps([2,1]),import.meta.url)),B}function _t(){return C??(C=m(()=>import("../scb-list/scb-list.js"),__vite__mapDeps([3,4,5,6,7,1]),import.meta.url)),C}function zt(){return R??(R=m(()=>import("../scb-icon-button/scb-icon-button.js"),__vite__mapDeps([8,9,4,1,5,6]),import.meta.url)),R}function xt(){return $??($=m(()=>import("../scb-button/scb-button.js"),__vite__mapDeps([10,9,4,1,5,6]),import.meta.url)),$}function kt(){return P??(P=m(()=>import("../scb-link/scb-link.js"),__vite__mapDeps([11,9,12,4,1,5,6]),import.meta.url)),P}function St(){return E??(E=m(()=>import("../scb-chip/scb-chip.js"),__vite__mapDeps([13,9,4,1,5,6]),import.meta.url)),E}function Tt(){return D??(D=m(()=>import("../scb-avatar/scb-avatar.js"),__vite__mapDeps([14,9,4,1,5,6]),import.meta.url)),D}function Lt(){return H??(H=m(()=>import("../scb-tooltip/scb-tooltip.js"),__vite__mapDeps([15,4,1,5,16,17,6]),import.meta.url)),H}function wt(){return F??(F=m(()=>import("../../vendor/scb-card-variants.internal.js"),__vite__mapDeps([18,5,6]),import.meta.url)),F}var c={fromAttribute:p=>p??"",toAttribute:p=>typeof p!="string"||p.trim()===""?null:p},a=(A=class extends ut{constructor(...e){super(...e),this.__dependencyKey="",this.__focusRingRequested=!1,this.__focusRingLoaded=!1,this.__rippleRequested=!1,this.__rippleLoaded=!1,this.__pendingRippleClick=!1,this.__isSyncingManagedSocialAttributes=!1,this.type="standard",this.variant="standard",this.direction="dynamic",this.size="large",this.mediaType="",this.mediaHref="",this.mediaAlt="",this.mediaSrcset="",this.mediaSizes="",this.mediaLoading="auto",this.mediaDecoding="async",this.mediaFetchPriority="auto",this.mediaFit="cover",this.mediaPosition="center",this.mediaWidth="",this.mediaHeight="",this.mediaAspect="",this.mediaPlaceholder=!1,this.cardHref="",this.href="",this.title="",this.cardTitle="",this.subtitle="",this.vignette="",this.vignetteVariant="filled",this.vignetteSpacing=void 0,this.vignetteSpacingTop=void 0,this.vignetteSpacingBottom=void 0,this.vignetteSpacingLeft=void 0,this.vignetteSpacingRight=void 0,this.supportingText="",this.commentsText="",this.commentsDisabled=!1,this.commentsHref="",this.commentsLinkLabel="Gå till kommentarer",this.likesText="",this.likeLabel="",this.likesDisabled=!1,this.likesHoverContent="",this.hasLiked=!1,this.likesInteractive=!0,this.author=!1,this.authorText="",this.authorHref="",this.replyEnabled=!1,this.replyLabel="Svara",this.editEnabled=!1,this.editLabel="Redigera",this.deleteEnabled=!1,this.deleteLabel="Ta bort",this.width="",this.maxWidth="",this.height="",this.maxHeight="",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.innerPadding=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.__onImgLoad=t=>{const i=t.currentTarget.closest(".media");i&&i.classList.add("is-loaded")},this.__ensureRippleOnInteraction=(t,i=!1)=>{if(this.__primaryHref()){if(t&&(this.__pendingRippleEvent=t),i&&(this.__pendingRippleClick=!0),this.__rippleLoaded){this.__syncRipple();return}this.__rippleRequested||(this.__rippleRequested=!0,K().then(({ensureRippleReady:n})=>n()).then(()=>{this.__rippleLoaded=!0,this.requestUpdate(),this.updateComplete.then(()=>this.__syncRipple())}))}},this.__syncRipple=async()=>{const t=this.renderRoot.querySelector("md-ripple"),i=this.renderRoot.querySelector(".scb-card"),n=this.__pendingRippleEvent,o=this.__pendingRippleClick;this.__pendingRippleEvent=void 0,this.__pendingRippleClick=!1;const{syncRippleToControl:h}=await K();await h(t,i,n,o)},this.__ensureFocusRingOnFocusVisible=()=>{this.__focusRingLoaded||this.__focusRingRequested||(this.__focusRingRequested=!0,yt().then(({ensureFocusRingReady:t})=>t()).then(()=>{this.__focusRingLoaded=!0,this.requestUpdate()}))},this.__onKeyDown=t=>{if(t.target!==t.currentTarget)return;const i=this.__primaryHref();(t.key==="Enter"||t.key===" ")&&i&&(t.preventDefault(),this.__ensureRippleOnInteraction(void 0,!0),this.__navigate(i,t))},this.__handleHrefNavigation=t=>{const i=this.__primaryHref();i&&(t.target.closest("a")||this.__navigate(i,t))},this.__handleSlottedCardLinkClick=t=>{const i=t.composedPath().find(n=>n instanceof HTMLAnchorElement&&n.getAttribute("slot")==="card-link")?.getAttribute("href")||this.__primaryHref();i&&(this.__dispatchCardNavigate(i,t)||t.preventDefault())}}attributeChangedCallback(e,t,i){this.__isSyncingManagedSocialAttributes&&ft.has(e)||super.attributeChangedCallback(e,t,i)}get likeButton(){return this.cardType!=="social"?null:this.renderRoot.querySelector(".likes scb-icon-button")}__calcAspectWH(e){const t=(e||"").trim();if(!t)return{w:600,h:400};const i=t.includes("/")?t.split("/"):t.includes(":")?t.split(":"):t.includes("x")?t.split("x"):null;if(i&&i.length===2){const o=Number(i[0]),h=Number(i[1]);if(o>0&&h>0)return{w:o,h}}const n=Number(t);return isFinite(n)&&n>0?{w:1e3,h:Math.round(1e3/n)}:{w:600,h:400}}__mediaReserveAspect(e=""){const t=(this.mediaAspect||"").trim();if(t)return t;const i=Number(this.mediaWidth)||0,n=Number(this.mediaHeight)||0;return i>0&&n>0?`${i} / ${n}`:e}__mediaReserveStyle(e=""){const t=this.__mediaReserveAspect(e);return t?`--scb-card-media-aspect:${t};`:""}__slottedMediaAspect(){const e=this.querySelector('[slot="media"]');if(!e)return"";const t=Number(e.getAttribute("width"))||0,i=Number(e.getAttribute("height"))||0;return t>0&&i>0?`${t} / ${i}`:""}__isAvatarMedia(){return(this.mediaType||"").toLowerCase()==="avatar"?!0:this.querySelector(':scope > [slot="media"]')?.localName==="scb-avatar"}get __resolvedTitle(){return this.cardTitle||this.title}get cardType(){const e=(this.type||"standard").toLowerCase();switch(e){case"standard":case"list":case"social":case"link":case"action":case"container":return e;default:return"standard"}}__ensureVariantRenderer(){return this.cardType==="standard"||this.__variantRenderer?Promise.resolve():wt().then(e=>{this.__variantRenderer!==e&&(this.__variantRenderer=e,e.ensureScbCardVariantStyles(this.renderRoot),this.requestUpdate())})}__dispatchCardNavigate(e,t){const i={href:e,originalEvent:t},n=new CustomEvent("card-navigate",{bubbles:!0,composed:!0,cancelable:!0,detail:i});if(this.dispatchEvent(n),n.defaultPrevented)return!1;const o=new CustomEvent("cardnavigate",{bubbles:!0,composed:!0,cancelable:!0,detail:i});return this.dispatchEvent(o),!o.defaultPrevented}__effectiveHref(){return this.cardHref||this.href}__slottedCardLink(){return this.querySelector(':scope > a[slot="card-link"]')}__primaryHref(){return this.__effectiveHref()||this.__slottedCardLink()?.getAttribute("href")||""}__navigate(e,t){e&&this.__dispatchCardNavigate(e,t)&&window.open(e,"_self")}__slotNames(){const e=new Set;for(const t of Array.from(this.children)){const i=t.getAttribute("slot");i&&e.add(i)}return e}__hasSlottedContent(e,t){return t?t.has(e):Array.from(this.children).some(i=>i.getAttribute("slot")===e)}__hasLightDomElement(e){return!!this.querySelector(e)}__syncListCardListSize(){const e=Array.from(this.querySelectorAll("scb-list"));if(this.cardType!=="list"){for(const i of e){const n=i.getAttribute(_);n!==null&&i.getAttribute("size")===n&&i.removeAttribute("size"),i.removeAttribute(_)}return}const t=this.size||"large";for(const i of e){const n=i.getAttribute(_);if(n!==null&&i.getAttribute("size")!==n){i.removeAttribute(_);continue}(!i.hasAttribute("size")||n!==null)&&(i.setAttribute("size",t),i.setAttribute(_,t))}}__slottedText(e){return(this.querySelector(`:scope > [slot="${e}"]`)?.textContent??"").replace(/\s+/g," ").trim()}__ensureDependenciesReady(){const e=[],t=[],i=this.cardType,n=!!this.vignette?.trim(),o=(u,g)=>{t.push(u),e.push(g())};(i==="list"||this.__hasLightDomElement("scb-list, scb-list-item"))&&o("list",_t),i!=="standard"&&o("card-variants",()=>this.__ensureVariantRenderer()),(i==="social"&&(!this.likesDisabled&&this.likesInteractive||!this.commentsDisabled&&this.commentsHref||this.replyEnabled||this.editEnabled||this.deleteEnabled)||this.__hasLightDomElement("scb-icon-button"))&&o("icon-button",zt),this.__hasLightDomElement("scb-button")&&o("button",xt),this.__hasLightDomElement("scb-link")&&o("link",kt),(n||this.__hasLightDomElement("scb-chip"))&&o("chip",St),((this.mediaType||"").toLowerCase()==="avatar"||this.__hasLightDomElement("scb-avatar"))&&o("avatar",Tt),(i==="social"&&this.likesHoverContent||this.__hasLightDomElement("scb-tooltip"))&&o("tooltip",Lt);const h=t.sort().join("|");h!==this.__dependencyKey&&(this.__dependencyKey=h,e.length>0&&Promise.all(e).then(()=>this.requestUpdate()))}__mediaTemplate(e){const t=this.__isAvatarMedia();if(this.__hasSlottedContent("media",e)){const i=t?"":this.__mediaReserveStyle(this.__slottedMediaAspect());return d`
3
3
  <div class="media ${t?"avatar-media":""} ${i?"has-reserved-space":""}" style=${i||l}>
4
4
  <slot name="media"></slot>
5
5
  </div>
@@ -1,4 +1,4 @@
1
- import{h,m as v,p as d,v as p,y as f}from"./vendor.js";import"./vendor-lit.js";import{t as c}from"./decorate.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var r=customElements.define.bind(customElements);customElements.define=function(o,a,l){try{customElements.get(o)||r(o,a,l)}catch(i){var s=String(i||"");if(s.indexOf("already been used")===-1&&s.indexOf("NotSupportedError")===-1)throw i}}}}catch{}})();var n,t=(n=class extends h{constructor(...r){super(...r),this.open=!1}render(){return p`
1
+ import{h,m as v,p as d,v as p,y as f}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as c}from"../../vendor/decorate.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var r=customElements.define.bind(customElements);customElements.define=function(o,a,l){try{customElements.get(o)||r(o,a,l)}catch(i){var s=String(i||"");if(s.indexOf("already been used")===-1&&s.indexOf("NotSupportedError")===-1)throw i}}}}catch{}})();var n,t=(n=class extends h{constructor(...r){super(...r),this.open=!1}render(){return p`
2
2
  <svg
3
3
  class="chevron-icon"
4
4
  viewBox="0 0 24 24"
@@ -0,0 +1,132 @@
1
+ import{f as l,h as $,m as M,p as m,v as d,y as Y}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import"../../vendor/icon.js";import"../../vendor/ripple.js";import{addLazyFocusRingListeners as C}from"../shared/lazy-focus-ring.js";import{t as h}from"../../vendor/decorate.js";import"../scb-button/scb-button.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-divider/scb-divider.js";(function(){try{var w=typeof globalThis<"u"?globalThis:window;if(!w.__scb_ce_guard_installed__){w.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,o,p){try{customElements.get(e)||t(e,o,p)}catch(r){var a=String(r||"");if(a.indexOf("already been used")===-1&&a.indexOf("NotSupportedError")===-1)throw r}}}}catch{}})();var v,c=(v=class extends ${constructor(...t){super(...t),this._currentDate=new Date,this._selectedDate=null,this._showMonthDropdown=!1,this._showYearDropdown=!1,this.variant="date",this.lang="sv",this.selectedValue="",this.open=!0,this._selectedHour=0,this._selectedMinute=0,this._viewportMargin=8,this._popupOffset=4,this._onWindowReposition=()=>{this._positionPopupWithinViewport()},this._monthNames=[this.lang=="sv"?"Januari":"January",this.lang=="sv"?"Februari":"February",this.lang=="sv"?"Mars":"March",(this.lang=="sv","April"),this.lang=="sv"?"Maj":"May",this.lang=="sv"?"Juni":"June",this.lang=="sv"?"Juli":"July",this.lang=="sv"?"Augusti":"August",(this.lang=="sv","September"),this.lang=="sv"?"Oktober":"October",(this.lang=="sv","November"),(this.lang=="sv","December")],this._onPopupKeydown=e=>{e.key==="Escape"&&(e.preventDefault(),e.stopPropagation(),!this._closeOpenDropdowns()&&this._close())},this._outsideClickHandler=e=>{this.open&&(e.composedPath().includes(this)||this._close())},this._prevMonth=()=>{const e=this._currentDate.getFullYear(),o=this._currentDate.getMonth();o===0?this._currentDate=new Date(e-1,11,1):this._currentDate=new Date(e,o-1,1)},this._prevYear=()=>{const e=this._currentDate.getFullYear(),o=this._currentDate.getMonth();this._currentDate=new Date(e-1,o,1)},this._nextMonth=()=>{const e=this._currentDate.getFullYear(),o=this._currentDate.getMonth();o===11?this._currentDate=new Date(e+1,0,1):this._currentDate=new Date(e,o+1,1)},this._nextYear=()=>{const e=this._currentDate.getFullYear(),o=this._currentDate.getMonth();this._currentDate=new Date(e+1,o,1)},this._onTimeChange=e=>{const[o,p]=e.target.value.split(":"),a=parseInt(o,10),r=parseInt(p,10);this._selectedHour=isNaN(a)?0:Math.max(0,Math.min(23,a)),this._selectedMinute=isNaN(r)?0:Math.max(0,Math.min(59,r)),this._fireDateTimeChange()},this._close=()=>{this.open=!1,this.dispatchEvent(new CustomEvent("datepicker-closed",{bubbles:!0,composed:!0}))}}_isRenderedInsideDialog(){const t=this.getRootNode(),e=t instanceof ShadowRoot?t.host:null;return e instanceof HTMLElement&&e.closest("scb-dialog")?!0:!!this.closest("scb-dialog")}connectedCallback(){super.connectedCallback(),this._removeLazyFocusRingListeners=C(this,this.renderRoot)}_positionPopupWithinViewport(){if(!this.open)return;const t=this.renderRoot.querySelector(".datepicker-popup");if(!t)return;const e=this.parentElement?.getBoundingClientRect();if(!e)return;const o=window.innerWidth,p=window.innerHeight,a=Math.max(220,o-this._viewportMargin*2);if(this._isRenderedInsideDialog()){const _=Math.min(t.offsetWidth||380,a),b=t.offsetHeight||420,D=Math.min(Math.max(e.left,this._viewportMargin),o-this._viewportMargin-_),g=p-e.bottom-this._viewportMargin,f=e.top-this._viewportMargin,k=g<b+this._popupOffset&&f>g;if(this.style.setProperty("--scb-datepicker-position","absolute"),this.style.setProperty("--scb-datepicker-computed-width",`${_}px`),this.style.setProperty("--scb-datepicker-left",`${D-e.left}px`),this.style.setProperty("--scb-datepicker-transform","none"),this.style.setProperty("--scb-datepicker-bottom","auto"),k){const x=Math.max(this._viewportMargin,e.top-b-this._popupOffset)-e.top;this.style.setProperty("--scb-datepicker-top",`${x}px`),this.style.setProperty("--scb-datepicker-max-height",`${Math.max(0,f-this._popupOffset)}px`)}else this.style.setProperty("--scb-datepicker-top",`${e.height+this._popupOffset}px`),this.style.setProperty("--scb-datepicker-max-height",`${Math.max(0,g-this._popupOffset)}px`);return}const r=Math.min(t.offsetWidth||380,a),s=t.offsetHeight||420,i=Math.min(Math.max(e.left,this._viewportMargin),o-this._viewportMargin-r),n=p-e.bottom-this._viewportMargin,u=e.top-this._viewportMargin,y=n<s+this._popupOffset&&u>n;this.style.setProperty("--scb-datepicker-position","fixed"),this.style.setProperty("--scb-datepicker-computed-width",`${r}px`),this.style.setProperty("--scb-datepicker-left",`${i}px`),this.style.setProperty("--scb-datepicker-transform","none"),y?(this.style.setProperty("--scb-datepicker-top",`${Math.max(this._viewportMargin,e.top-s-this._popupOffset)}px`),this.style.setProperty("--scb-datepicker-bottom","auto"),this.style.setProperty("--scb-datepicker-max-height",`${Math.max(0,u-this._popupOffset)}px`)):(this.style.setProperty("--scb-datepicker-top",`${e.bottom+this._popupOffset}px`),this.style.setProperty("--scb-datepicker-bottom","auto"),this.style.setProperty("--scb-datepicker-max-height",`${Math.max(0,n-this._popupOffset)}px`))}updated(t){if(super.updated(t),this.open?(window.addEventListener("mousedown",this._outsideClickHandler),window.addEventListener("resize",this._onWindowReposition,{passive:!0}),window.addEventListener("scroll",this._onWindowReposition,{passive:!0,capture:!0}),requestAnimationFrame(()=>this._positionPopupWithinViewport())):(window.removeEventListener("mousedown",this._outsideClickHandler),window.removeEventListener("resize",this._onWindowReposition),window.removeEventListener("scroll",this._onWindowReposition,!0)),t.has("selectedValue")&&this.selectedValue){const e=new Date(this.selectedValue);isNaN(e.getTime())||(this._selectedDate=e,this._currentDate=new Date(e.getFullYear(),e.getMonth(),1),this.variant==="datetime-local"&&(this._selectedHour=e.getHours(),this._selectedMinute=e.getMinutes()))}this.open&&requestAnimationFrame(()=>this._positionPopupWithinViewport())}disconnectedCallback(){this._removeLazyFocusRingListeners?.(),this._removeLazyFocusRingListeners=void 0,window.removeEventListener("mousedown",this._outsideClickHandler),window.removeEventListener("resize",this._onWindowReposition),window.removeEventListener("scroll",this._onWindowReposition,!0),super.disconnectedCallback()}_locale(){return this.lang==="sv"?"sv-SE":"en-GB"}_formatDateLabel(t){return new Intl.DateTimeFormat(this._locale(),{day:"numeric",month:"long",year:"numeric"}).format(t)}_closeOpenDropdowns(){return!this._showMonthDropdown&&!this._showYearDropdown?!1:(this._showMonthDropdown=!1,this._showYearDropdown=!1,!0)}render(){if(!this.open)return d``;const t=this._currentDate.getFullYear(),e=this._currentDate.getMonth(),o=new Date,p=this._getMonthDays(t,e),a=Array.from({length:101},(s,i)=>o.getFullYear()-50+i),r=this.variant==="datetime-local"&&!this._showMonthDropdown&&!this._showYearDropdown;return d`
2
+ <div class="datepicker-popup popup" @keydown=${this._onPopupKeydown}>
3
+ <div class="header">
4
+ <div class="month-selector ${this._showMonthDropdown?"open":""} ${this._showYearDropdown?"disable":""}">
5
+ <scb-icon-button icon="chevron_left" @click=${this._prevMonth} aria-label=${this.lang=="sv"?"Föregående månad":"Previous month"}></scb-icon-button>
6
+ <div class="custom-dropdown month-dropdown">
7
+ <div
8
+ tabindex=${this._showYearDropdown?-1:0}
9
+ class="dropdown-selected"
10
+ role="button"
11
+ aria-haspopup="listbox"
12
+ aria-expanded=${String(this._showMonthDropdown)}
13
+ aria-label=${this.lang=="sv"?"Välj månad":"Choose month"}
14
+ @click=${()=>this._toggleMonthDropdown()}
15
+ @keydown=${s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),this._toggleMonthDropdown())}}
16
+ >
17
+ ${this._monthNames[e].slice(0,3)}
18
+ <md-icon aria-hidden="true">arrow_drop_down</md-icon>
19
+ <md-focus-ring></md-focus-ring>
20
+ <md-ripple></md-ripple>
21
+ </div>
22
+ </div>
23
+ <scb-icon-button icon="chevron_right" @click=${this._nextMonth} aria-label=${this.lang=="sv"?"Nästa månad":"Next month"}></scb-icon-button>
24
+ </div>
25
+ <div class="year-selector ${this._showMonthDropdown?"disable":""} ${this._showYearDropdown?"open":""}">
26
+ <scb-icon-button icon="chevron_left" @click=${this._prevYear} aria-label=${this.lang=="sv"?"Föregående år":"Previous year"}></scb-icon-button>
27
+ <div class="custom-dropdown year-dropdown">
28
+ <div
29
+ tabindex=${this._showMonthDropdown?-1:0}
30
+ class="dropdown-selected"
31
+ role="button"
32
+ aria-haspopup="listbox"
33
+ aria-expanded=${String(this._showYearDropdown)}
34
+ aria-label=${this.lang=="sv"?"Välj år":"Choose year"}
35
+ @click=${()=>this._toggleYearDropdown()}
36
+ @keydown=${s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),this._toggleYearDropdown())}}
37
+ >
38
+ ${t}
39
+ <md-icon aria-hidden="true">arrow_drop_down</md-icon>
40
+ <md-focus-ring></md-focus-ring>
41
+ <md-ripple></md-ripple>
42
+ </div>
43
+ </div>
44
+ <scb-icon-button icon="chevron_right" @click=${this._nextYear} aria-label=${this.lang=="sv"?"Nästa år":"Next year"}></scb-icon-button>
45
+ </div>
46
+ </div>
47
+ ${this._showMonthDropdown||this._showYearDropdown?d`<scb-divider></scb-divider>`:""}
48
+ <div class="datepicker-content" style="position:relative;">
49
+ ${this._showMonthDropdown?d`
50
+ <div class="dropdown-list" role="listbox" aria-label=${this.lang=="sv"?"Månader":"Months"}>
51
+ ${this._monthNames.map((s,i)=>d`
52
+ <div
53
+ @keydown=${n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),this._onMonthChangeCustom(i))}}
54
+ tabindex="0"
55
+ role="option"
56
+ aria-selected=${i===e?"true":"false"}
57
+ class="dropdown-item${i===e?" selected":""}"
58
+ @click=${()=>this._onMonthChangeCustom(i)}
59
+ id=${i===e?"selected-month":""}
60
+ >
61
+ ${i===e?d`<md-icon aria-hidden="true">check</md-icon>`:""}
62
+ ${s}
63
+ <md-ripple></md-ripple><md-focus-ring inward></md-focus-ring>
64
+ </div>
65
+ `)}
66
+ </div>
67
+ `:""}
68
+ ${this._showYearDropdown?d`
69
+ <div class="dropdown-list" role="listbox" aria-label=${this.lang=="sv"?"År":"Years"}>
70
+ ${a.map(s=>d`
71
+ <div
72
+ @keydown=${i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),this._onYearChangeCustom(s))}}
73
+ tabindex="0"
74
+ role="option"
75
+ aria-selected=${s===t?"true":"false"}
76
+ class="dropdown-item${s===t?" selected":""}"
77
+ @click=${()=>this._onYearChangeCustom(s)}
78
+ id=${s===t?"selected-year":""}
79
+ >
80
+ ${s===t?d`<md-icon aria-hidden="true">check</md-icon>`:""}
81
+ ${s}
82
+ <md-ripple></md-ripple><md-focus-ring inward></md-focus-ring>
83
+ </div>
84
+ `)}
85
+ </div>
86
+ `:""}
87
+ ${!this._showMonthDropdown&&!this._showYearDropdown?d`
88
+ <div class="datepicker-calendar">
89
+ <table>
90
+ <thead>
91
+ <tr>
92
+ <th>${this.lang=="sv"?"Må":"Mo"}</th><th>${this.lang=="sv"?"Ti":"Tu"}</th><th>${this.lang=="sv"?"On":"We"}</th><th>${this.lang=="sv"?"To":"Th"}</th><th>${this.lang=="sv","Fr"}</th><th>${this.lang=="sv"?"Lö":"Sa"}</th><th>${this.lang=="sv"?"Sö":"Su"}</th>
93
+ </tr>
94
+ </thead>
95
+ <tbody>
96
+ ${p.map(s=>d`
97
+ <tr>
98
+ ${s.map(i=>i?d`
99
+ <td>
100
+ <div
101
+ @keydown=${n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),this._selectDate(i))}}
102
+ role="button"
103
+ aria-label=${this._formatDateLabel(i)}
104
+ aria-pressed=${this._isSelected(i)?"true":"false"}
105
+ tabindex="0"
106
+ class="day${this._isToday(i,o)?" today":""}${this._isSelected(i)?" selected":""}"
107
+ @click=${()=>this._selectDate(i)}
108
+ >${i.getDate()}<md-ripple></md-ripple><md-focus-ring></md-focus-ring></div>
109
+ </td>
110
+ `:d`<td></td>`)}
111
+ </tr>
112
+ `)}
113
+ </tbody>
114
+ </table>
115
+ </div>
116
+ `:""}
117
+ </div>
118
+ ${r?d`
119
+ <div style="padding: 0 24px;">
120
+ <label style="display:flex;align-items:center;gap:8px;">
121
+ <span>${this.lang=="sv"?"Tid:":"Time:"}</span>
122
+ <scb-textfield type="time" .value=${`${String(this._selectedHour).padStart(2,"0")}:${String(this._selectedMinute).padStart(2,"0")}`} @blur=${this._onTimeChange} aria-label="${this.lang=="sv"?"Tid":"Time"}"></scb-textfield>
123
+ </label>
124
+ </div>
125
+ `:""}
126
+ <div class="datepicker-footer">
127
+ ${!this._showMonthDropdown&&!this._showYearDropdown?d`
128
+ <scb-button variant="text" label=${this.lang=="sv"?"Stäng":"Close"} @click=${this._close}></scb-button>
129
+ `:""}
130
+ </div>
131
+ </div>
132
+ `}_getMonthDays(t,e){const o=new Date(Date.UTC(t,e,1)),p=new Date(Date.UTC(t,e+1,0)),a=[];let r=[],s=o.getUTCDay(),i=s===0?6:s-1;for(let n=0;n<i;n++)r.push(null);for(let n=1;n<=p.getUTCDate();n++){const u=new Date(Date.UTC(t,e,n));r.push(u),r.length===7&&(a.push(r),r=[])}if(r.length){for(;r.length<7;)r.push(null);a.push(r)}return a}_toggleMonthDropdown(){this._showMonthDropdown=!this._showMonthDropdown,this._showMonthDropdown&&(this._showYearDropdown=!1,setTimeout(()=>{const t=this.renderRoot.querySelector("#selected-month");t&&t.scrollIntoView({block:"center"})},0))}_toggleYearDropdown(){this._showYearDropdown=!this._showYearDropdown,this._showYearDropdown&&(this._showMonthDropdown=!1,setTimeout(()=>{const t=this.renderRoot.querySelector("#selected-year");t&&t.scrollIntoView({block:"center"})},0))}_onMonthChangeCustom(t){const e=this._currentDate.getFullYear();this._currentDate=new Date(e,t,1),this._showMonthDropdown=!1}_onYearChangeCustom(t){const e=this._currentDate.getMonth();this._currentDate=new Date(t,e,1),this._showYearDropdown=!1}_isToday(t,e){return t.getDate()===e.getDate()&&t.getMonth()===e.getMonth()&&t.getFullYear()===e.getFullYear()}_isSelected(t){return this._selectedDate&&t.getDate()===this._selectedDate.getDate()&&t.getMonth()===this._selectedDate.getMonth()&&t.getFullYear()===this._selectedDate.getFullYear()}_selectDate(t){if(this._selectedDate=t,this.variant==="datetime-local"){const e=new Date(t);e.setHours(this._selectedHour??0,this._selectedMinute??0,0,0),this._selectedHour=e.getHours(),this._selectedMinute=e.getMinutes();const o=a=>a.toString().padStart(2,"0"),p=`${e.getFullYear()}-${o(e.getMonth()+1)}-${o(e.getDate())} ${o(e.getHours())}:${o(e.getMinutes())}`;this.dispatchEvent(new CustomEvent("date-selected",{detail:{value:p},bubbles:!0,composed:!0}))}else{const e=t.toISOString().slice(0,10);this.dispatchEvent(new CustomEvent("date-selected",{detail:{value:e},bubbles:!0,composed:!0}))}}_fireDateTimeChange(){if(this.variant==="datetime-local"&&this._selectedDate){const t=new Date(this._selectedDate);t.setHours(this._selectedHour??0,this._selectedMinute??0,0,0);const e=p=>p.toString().padStart(2,"0"),o=`${t.getFullYear()}-${e(t.getMonth()+1)}-${e(t.getDate())} ${e(t.getHours())}:${e(t.getMinutes())}`;this.dispatchEvent(new CustomEvent("date-selected",{detail:{value:o},bubbles:!0,composed:!0}))}}},v.styles=[Y`:host{--scb-datepicker-width:380px;--scb-datepicker-z-index:1100;--scb-datepicker-viewport-margin:8px;--scb-datepicker-offset:var(--spacing-2, 4px);max-width:var(--scb-datepicker-computed-width, min(var(--scb-datepicker-width), calc(100vw - (var(--scb-datepicker-viewport-margin) * 2))));font-family:var(--brand-font);color:var(--md-sys-color-on-surface);display:block;position:var(--scb-datepicker-position, fixed);top:var(--scb-datepicker-top, calc(100% + var(--scb-datepicker-offset)));bottom:var(--scb-datepicker-bottom, auto);left:var(--scb-datepicker-left, 0);width:var(--scb-datepicker-computed-width, min(var(--scb-datepicker-width), calc(100vw - (var(--scb-datepicker-viewport-margin) * 2))));transform:var(--scb-datepicker-transform, translateX(0px));z-index:var(--scb-datepicker-z-index)}.dropdown-selected,.month-selector,.year-selector{display:flex;align-items:center}.dropdown-selected{position:relative;border-radius:8px;font-size:16px;cursor:pointer;text-align:left;gap:8px;padding:4px 8px}.dropdown-selected:focus{outline:0}.dropdown-selected md-focus-ring{border-radius:8px}.dropdown-list{position:relative;background:var(--md-sys-color-surface);padding:4px 0}.dropdown-item{display:flex;position:relative;cursor:pointer;padding:var(--spacing-3) 56px;min-height:40px;align-items:center}.dropdown-item:focus-within{outline:0}.datepicker-popup,.dropdown-item md-focus-ring{border-radius:var(--md-sys-shape-corner-small)}.dropdown-item.selected{background:var(--md-sys-color-secondary-container, #e3f2fd);font-weight:500;padding-left:16px;gap:16px}.datepicker-popup{background:var(--md-sys-color-surface);box-shadow:0 1px 2px 0 rgba(0,0,0,.3),0 2px 6px 2px rgba(0,0,0,.15);max-width:100%;width:100%;max-height:var(--scb-datepicker-max-height, 80vh);overflow:auto;font-family:var(--brand-font)}.datepicker-content{overflow-y:auto;max-height:290px}.datepicker-content::-webkit-scrollbar{width:12px;background:var(--md-sys-color-surface);border-radius:var(--md-sys-shape-corner-small)}.datepicker-content::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);border:4px solid var(--md-sys-color-surface)}.datepicker-content::-webkit-scrollbar-track{background:var(--md-sys-color-surface);border-radius:var(--md-sys-shape-corner-small)}.popup{position:absolute;top:0;left:0;z-index:1}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;padding:20px 16px 0;flex-wrap:wrap}.datepicker-footer{padding:8px 16px 24px}.month-label{font-size:18px;font-weight:500}.datepicker-calendar{padding:0 16px}table{width:100%;border-collapse:collapse;margin-bottom:8px}th{color:var(--md-sys-color-on-surface-variant, #757575);font-size:16px;font-weight:600;padding-bottom:20px}td{text-align:center}.day:focus-within{outline:0}.close-datepicker,.day{background:0 0;font-size:16px;cursor:pointer}.day{position:relative;width:40px;height:40px;border-radius:50%;border:0;font-family:var(--brand-font, Inter, Arial, sans-serif);align-content:center}.day.selected{background:var(--md-sys-color-secondary-container)}.close-datepicker{margin-top:8px;border-color:none;color:var(--md-sys-color-primary, #0057b8);padding:4px 12px;border-radius:8px}.close-datepicker:hover{background:var(--md-sys-color-primary-container, #e3f2fd)}`],v);h([l()],c.prototype,"_currentDate",void 0);h([l()],c.prototype,"_selectedDate",void 0);h([l()],c.prototype,"_showMonthDropdown",void 0);h([l()],c.prototype,"_showYearDropdown",void 0);h([m({type:String})],c.prototype,"variant",void 0);h([m({type:String})],c.prototype,"lang",void 0);h([m({type:String})],c.prototype,"selectedValue",void 0);h([m({type:Boolean})],c.prototype,"open",void 0);h([l()],c.prototype,"_selectedHour",void 0);h([l()],c.prototype,"_selectedMinute",void 0);c=h([M("scb-datepicker")],c);
@@ -1,4 +1,4 @@
1
- import{d as b,g as f,h as y,m as v,p as d,v as m,y as w}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import"../../vendor/icon.js";import{n as _}from"../../vendor/lazy-focus-ring.js";import{t as a}from"../../vendor/decorate.js";import"../../vendor/scb-chevron.js";import"../scb-button/scb-button.js";import"../scb-options-menu/scb-options-menu.js";(function(){try{var h=typeof globalThis<"u"?globalThis:window;if(!h.__scb_ce_guard_installed__){h.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,i,s){try{customElements.get(e)||t(e,i,s)}catch(o){var n=String(o||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var g,x=()=>{if(typeof window>"u"||typeof document>"u"||!("customElements"in window)||document.head.querySelector("style[data-scb-dropdown-pre-upgrade]"))return;const h=document.createElement("style");h.setAttribute("data-scb-dropdown-pre-upgrade",""),h.textContent=`
1
+ import{d as b,g as f,h as y,m as v,p as d,v as m,y as w}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import"../../vendor/icon.js";import{ensureFocusRingOnFocusVisible as _}from"../shared/lazy-focus-ring.js";import{t as a}from"../../vendor/decorate.js";import"../scb-chevron/scb-chevron.js";import"../scb-button/scb-button.js";import"../scb-options-menu/scb-options-menu.js";(function(){try{var h=typeof globalThis<"u"?globalThis:window;if(!h.__scb_ce_guard_installed__){h.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,i,s){try{customElements.get(e)||t(e,i,s)}catch(o){var n=String(o||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var g,x=()=>{if(typeof window>"u"||typeof document>"u"||!("customElements"in window)||document.head.querySelector("style[data-scb-dropdown-pre-upgrade]"))return;const h=document.createElement("style");h.setAttribute("data-scb-dropdown-pre-upgrade",""),h.textContent=`
2
2
  scb-dropdown:not(:defined) {
3
3
  display: inline-block;
4
4
  position: relative;