scb-wc 0.1.148 → 0.1.150

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 (148) hide show
  1. package/fonts/material-symbols-outlined/files/material-symbols-outlined-subset.woff2 +0 -0
  2. package/icons.json +1 -3
  3. package/mvc/components/scb-accordion/scb-accordion-item.js +9 -9
  4. package/mvc/components/scb-app-bar/scb-app-bar.js +6 -6
  5. package/mvc/components/scb-avatar/scb-avatar.js +2 -2
  6. package/mvc/components/scb-badge/scb-badge.js +3 -3
  7. package/mvc/components/scb-breadcrumb/scb-breadcrumb-item.js +3 -3
  8. package/mvc/components/scb-breadcrumb/scb-breadcrumb.js +12 -12
  9. package/mvc/components/scb-button/scb-button.js +2 -4
  10. package/mvc/components/scb-calendar/scb-calendar.js +8 -8
  11. package/mvc/components/scb-calendar-card/scb-calendar-card.js +7 -7
  12. package/mvc/components/scb-card/scb-card.js +38 -38
  13. package/mvc/components/scb-checkbox/scb-checkbox-group.js +5 -5
  14. package/mvc/components/scb-checkbox/scb-checkbox.js +8 -8
  15. package/mvc/components/scb-chip/scb-chip.js +7 -7
  16. package/mvc/components/scb-collapse/scb-collapse.js +10 -10
  17. package/mvc/components/scb-dialog/scb-dialog.js +2 -2
  18. package/mvc/components/scb-drop-zone/scb-drop-zone.js +2 -2
  19. package/mvc/components/scb-dropdown/scb-dropdown.js +46 -31
  20. package/mvc/components/scb-fab/scb-fab.js +6 -6
  21. package/mvc/components/scb-fact-card/scb-fact-card-content.js +3 -3
  22. package/mvc/components/scb-fact-card/scb-fact-card.js +2 -2
  23. package/mvc/components/scb-footer/scb-footer.js +8 -8
  24. package/mvc/components/scb-form-error-summary/scb-form-error-summary.js +3 -3
  25. package/mvc/components/scb-header/scb-header.js +58 -98
  26. package/mvc/components/scb-horizontal-scroller/scb-horizontal-scroller.js +6 -6
  27. package/mvc/components/scb-icon/scb-icon.js +2 -2
  28. package/mvc/components/scb-icon-button/scb-icon-button.js +3 -3
  29. package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +5 -5
  30. package/mvc/components/scb-link/scb-link.js +4 -4
  31. package/mvc/components/scb-list/scb-list-item.js +5 -5
  32. package/mvc/components/scb-list/scb-list.js +2 -2
  33. package/mvc/components/scb-menu/scb-menu-item.js +1 -1
  34. package/mvc/components/scb-menu/scb-menu-section.js +3 -5
  35. package/mvc/components/scb-menu/scb-menu.js +4 -8
  36. package/mvc/components/scb-nav/scb-nav.js +1 -1
  37. package/mvc/components/scb-notification-card/scb-notification-card.js +12 -12
  38. package/mvc/components/scb-options-menu/scb-options-menu-item.js +2 -2
  39. package/mvc/components/scb-options-menu/scb-options-menu.js +3 -2
  40. package/mvc/components/scb-pagination/scb-pagination.js +7 -7
  41. package/mvc/components/scb-progress-stepper/scb-progress-step.js +2 -2
  42. package/mvc/components/scb-radio-button/scb-radio-button.js +7 -7
  43. package/mvc/components/scb-radio-button/scb-radio-group.js +4 -4
  44. package/mvc/components/scb-search/scb-search.js +3 -3
  45. package/mvc/components/scb-segmented-button/scb-segmented-button.js +1 -1
  46. package/mvc/components/scb-segmented-button/scb-segmented-item.js +2 -2
  47. package/mvc/components/scb-select/scb-select-option.js +2 -2
  48. package/mvc/components/scb-select/scb-select.js +14 -14
  49. package/mvc/components/scb-slider/scb-slider.js +11 -11
  50. package/mvc/components/scb-snackbar/scb-snackbar.js +7 -7
  51. package/mvc/components/scb-status-pill/scb-status-pill.js +2 -2
  52. package/mvc/components/scb-stepper/scb-step.js +2 -8
  53. package/mvc/components/scb-stepper/scb-stepper.js +2 -24
  54. package/mvc/components/scb-switch/scb-switch.js +4 -4
  55. package/mvc/components/scb-table/scb-table.js +2 -2
  56. package/mvc/components/scb-table-advanced/scb-table-advanced.js +6 -6
  57. package/mvc/components/scb-textfield/scb-textfield.js +28 -28
  58. package/mvc/components/scb-toc/scb-toc-item.js +9 -9
  59. package/mvc/components/scb-tooltip/scb-tooltip.js +5 -5
  60. package/mvc/components/scb-viz/scb-viz.js +66 -100
  61. package/mvc/fonts/material-symbols-outlined/files/material-symbols-outlined-subset.woff2 +0 -0
  62. package/mvc/scb-logo.svg +20 -20
  63. package/mvc/scb-typography.css +1 -1
  64. package/mvc/scb-wc-core.css +1 -1
  65. package/mvc/scb-wc-selfhost.css +1 -1
  66. package/mvc/scb-wc.css +1 -1
  67. package/mvc/scb.svg +13 -13
  68. package/mvc/vendor/scb-card-variants.internal.js +36 -26
  69. package/package.json +2 -2
  70. package/scb-accordion/scb-accordion-item.js +26 -29
  71. package/scb-app-bar/scb-app-bar.js +11 -11
  72. package/scb-avatar/scb-avatar.js +4 -4
  73. package/scb-badge/scb-badge.js +1 -1
  74. package/scb-breadcrumb/scb-breadcrumb-item.js +20 -1
  75. package/scb-breadcrumb/scb-breadcrumb.js +24 -3
  76. package/scb-button/scb-button.js +13 -20
  77. package/scb-calendar/scb-calendar.js +5 -5
  78. package/scb-calendar-card/scb-calendar-card.js +44 -35
  79. package/scb-card/scb-card-variants.internal.js +1 -1
  80. package/scb-card/scb-card.js +219 -171
  81. package/scb-checkbox/scb-checkbox-group.js +24 -25
  82. package/scb-checkbox/scb-checkbox.js +23 -22
  83. package/scb-chip/scb-chip.js +56 -26
  84. package/scb-collapse/scb-collapse.js +10 -10
  85. package/scb-components/scb-card/scb-card.d.ts +1 -0
  86. package/scb-components/scb-dropdown/scb-dropdown.d.ts +1 -1
  87. package/scb-components/scb-icon-button/scb-icon-button.d.ts +1 -1
  88. package/scb-components/scb-list/scb-list-item.d.ts +1 -0
  89. package/scb-components/scb-list/scb-list.d.ts +1 -0
  90. package/scb-components/scb-segmented-button/scb-segmented-button.d.ts +4 -0
  91. package/scb-components/scb-select/scb-select.d.ts +1 -0
  92. package/scb-components/scb-textfield/scb-textfield.d.ts +1 -1
  93. package/scb-components/scb-viz/scb-viz.d.ts +3 -1
  94. package/scb-dialog/scb-dialog.js +4 -4
  95. package/scb-drop-zone/scb-drop-zone.js +23 -23
  96. package/scb-dropdown/scb-dropdown.js +44 -40
  97. package/scb-fab/scb-fab.js +12 -3
  98. package/scb-fact-card/scb-fact-card-content.js +36 -27
  99. package/scb-fact-card/scb-fact-card.js +9 -33
  100. package/scb-footer/scb-footer.js +9 -9
  101. package/scb-form-error-summary/scb-form-error-summary.js +7 -7
  102. package/scb-header/scb-header.js +90 -117
  103. package/scb-horizontal-scroller/scb-horizontal-scroller.js +4 -4
  104. package/scb-icon/scb-icon.js +1 -1
  105. package/scb-icon-button/scb-icon-button.js +8 -8
  106. package/scb-keyfigure-card/scb-keyfigure-card.js +21 -37
  107. package/scb-link/scb-link.js +1 -0
  108. package/scb-list/scb-list-item.js +30 -10
  109. package/scb-list/scb-list.js +5 -2
  110. package/scb-menu/scb-menu-item.js +2 -2
  111. package/scb-menu/scb-menu-section.js +4 -9
  112. package/scb-menu/scb-menu.js +8 -22
  113. package/scb-nav/scb-nav.js +3 -3
  114. package/scb-notification-card/scb-notification-card.js +9 -41
  115. package/scb-options-menu/scb-options-menu-item.js +4 -3
  116. package/scb-options-menu/scb-options-menu.js +32 -26
  117. package/scb-pagination/scb-pagination.js +2 -2
  118. package/scb-progress-stepper/scb-progress-step.js +3 -3
  119. package/scb-radio-button/scb-radio-button.js +33 -32
  120. package/scb-radio-button/scb-radio-group.js +24 -25
  121. package/scb-search/scb-search.js +35 -39
  122. package/scb-segmented-button/scb-segmented-button.js +14 -16
  123. package/scb-segmented-button/scb-segmented-item.js +53 -29
  124. package/scb-select/scb-select-option.js +6 -6
  125. package/scb-select/scb-select.js +93 -86
  126. package/scb-slider/scb-slider.js +18 -4
  127. package/scb-snackbar/scb-snackbar.js +9 -7
  128. package/scb-status-pill/scb-status-pill.js +4 -4
  129. package/scb-stepper/scb-step.js +19 -22
  130. package/scb-stepper/scb-stepper.js +14 -36
  131. package/scb-switch/scb-switch.js +17 -10
  132. package/scb-table/scb-table.js +14 -4
  133. package/scb-table-advanced/scb-table-advanced.js +14 -4
  134. package/scb-textfield/scb-textfield.js +58 -78
  135. package/scb-toc/scb-toc-item.js +9 -36
  136. package/scb-tooltip/scb-tooltip.js +6 -6
  137. package/scb-typography.css +1 -1
  138. package/scb-viz/scb-viz.js +87 -200
  139. package/scb-wc-core.css +1 -1
  140. package/scb-wc-selfhost.css +1 -1
  141. package/scb-wc.bundle.js +1269 -1377
  142. package/scb-wc.css +1 -1
  143. package/starters/blazor/Components/Pages/Home.razor +1 -1
  144. package/starters/blazor-service/Components/Pages/Home.razor +1 -1
  145. package/starters/html/main.js +1 -1
  146. package/starters/html-service/main.js +1 -1
  147. package/starters/react/src/App.jsx +1 -1
  148. package/starters/react-service/src/App.jsx +1 -1
@@ -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 H}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,n){try{customElements.get(e)||t(e,s,n)}catch(a){var i=String(a||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw a}}}}catch{}})();var L,O,q={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")??[]),n=this.shadowRoot?.activeElement,i=n&&s.includes(n)?n:document.activeElement,a=s.indexOf(i);if(a===-1)return;let d=a;const o=this.disableWeekend?5:7;switch(e.key){case"ArrowRight":d=a+1<s.length?a+1:a;break;case"ArrowLeft":d=a-1>=0?a-1:a;break;case"ArrowDown":d=a+o<s.length?a+o:a;break;case"ArrowUp":d=a-o>=0?a-o:a;break;case"Home":d=0;break;case"End":d=s.length-1;break;default:return}d!==a&&(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),H(L,this,K).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"))&&H(L,this,K).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 n=this._current.getFullYear(),i=this._current.getMonth()+1;(n!==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??"",n=t.href??"",i=t.startDate??t["start-date"]??t.start??t.date??"",a=t.endDate??t["end-date"]??t.end??"";return{title:e+"",description:s?s+"":void 0,href:n?n+"":void 0,start:i?i+"":void 0,end:a?a+"":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[a,d,o]=i;return e?new Date(a,d-1,o,23,59,59,999):new Date(a,d-1,o,0,0,0,0)}const n=new Date(s);return Number.isNaN(n.getTime())?null:n}_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 n=this._normalizeEventInput(s),i=n.start||"",a=n.end||"";if(!(!i||!n.title))if(i&&a){const d=this._toLocalEventDate(i,!1),o=this._toLocalEventDate(a,!0);if(!d||!o)continue;if(o<d){const c=i.split("T")[0],u=e.get(c)||[];u.push({title:n.title,description:n.description,href:n.href,start:i,end:a}),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:n.title,description:n.description,href:n.href,start:i,end:a}),e.set(u,k)}}else{const d=i.split("T")[0],o=e.get(d)||[];o.push({title:n.title,description:n.description,href:n.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 n=s,i=(n.startDate??n.date??"")+""||s.getAttribute("start-date")||s.getAttribute("date")||"",a=(n.endDate??"")+""||s.getAttribute("end-date")||"";if(i&&a){const d=this._toLocalEventDate(i,!1),o=this._toLocalEventDate(a,!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:n.href||s.getAttribute("href")||void 0,start:i,end:a}),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:n.href||s.getAttribute("href")||void 0,start:i,end:a}),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:n.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 n=s.map(a=>`${a.prefix||""}${a.title}`.trim()).filter(Boolean),i=[this._formatDayLabel(t)];return e&&i.push(e),n.length===1?i.push(this.lang==="en"?`1 event: ${n[0]}`:`1 händelse: ${n[0]}`):n.length>1&&i.push(this.lang==="en"?`${n.length} events: ${n.join(", ")}`:`${n.length} händelser: ${n.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,n=e%4,i=e%7,a=(19*s+24)%30,d=(2*n+4*i+6*a+5)%7;let o=22+a+d,c=0;o==57&&(o-=7),o==56&&a==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,n=t.getDate(),i=t.getFullYear(),a=this._easterDay(i),d=this.lang==="en",o=[["Nyårsdagen","New Year's Day",s===1&&n===1],["Trettondedag jul","Epiphany",s===1&&n===6],["Långfredag","Good Friday",+t==+this._addDays(a,-2)],["Påskdagen","Easter Sunday",+t==+a],["Annandag påsk","Easter Monday",+t==+this._addDays(a,1)],["Kristi himmelsfärdsdag","Ascension Day",+t==+this._addDays(a,39)],["Pingstdagen","Pentecost",+t==+this._addDays(a,50)&&i<2005],["Första maj","May Day",s===5&&n===1],["Nationaldagen","National Day",s===6&&n===6&&i>=2005],["Midsommarafton","Midsummer's Eve",s===6&&n>=19&&n<=25&&t.getDay()===5],["Midsommardagen","Midsummer's Day",s===6&&n>=20&&n<=26&&t.getDay()===6],["Julafton","Christmas Eve",s===12&&n===24],["Juldagen","Christmas Day",s===12&&n===25],["Annandag jul","Boxing Day",s===12&&n===26],["Alla helgons dag","All Saints' Day",s===10&&n>=31&&t.getDay()===6||s===11&&n<=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),n=this._firstDayOfWeek(t,e),i=this._today,a=this.lang==="en",d=a?["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=a?["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<n){if(!this.disableWeekend||w<5){const T=e===0?11:e-1,x=e===0?t-1:t,g=this._daysInMonth(x,T)-(n-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{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`
2
2
  <div
3
3
  class="calendar-day calendar-day--other"
4
4
  role="gridcell"
@@ -6,7 +6,7 @@ import{g as J,h as W,m as B,p as _,v as E,y as P}from"../../vendor/vendor.js";im
6
6
  aria-label=${this._formatDayLabel(N)}>
7
7
  <span class="calendar-day-number">${g}</span>
8
8
  </div>
9
- `)}}else if(p>s)h.push(E`<div role="gridcell" aria-disabled="true"></div>`);else{let T=new Date(t,e,p);if(this.disableWeekend)for(;T.getDay()===0||T.getDay()===6;)p++,T=new Date(t,e,p);if(p>s){h.push(E`<div role="gridcell" aria-disabled="true"></div>`);continue}const x=i.getFullYear()===t&&i.getMonth()===e&&i.getDate()===p,g=`${t}-${String(e+1).padStart(2,"0")}-${String(p).padStart(2,"0")}`,N=new Date(t,e,p);let I=!1,S=null;this.publicHolidays&&(S=this._swedishHolidayName(N),I=!!S);let y=u.get(g)||[];y=[...y].sort((l,m)=>{const A=l.start&&g===l.start.split("T")[0]?l.start:l.end&&g===l.end.split("T")[0]?l.end:"",M=m.start&&g===m.start.split("T")[0]?m.start:m.end&&m.end.split("T")[0]?m.end:"",C=A&&A.includes("T"),R=M&&M.includes("T");return C&&R?A.localeCompare(M):C?-1:R?1:l.title.localeCompare(m.title)});const Y=[...y].map(l=>{let m="",A="";if(l.start&&l.end){const M=l.start.split("T")[0],C=l.end.split("T")[0];g===M&&g===C&&l.start.includes("T")&&l.end.includes("T")?m=l.start.split("T")[1].substring(0,5)+"–"+l.end.split("T")[1].substring(0,5):g===M&&l.start.includes("T")?m=l.start.split("T")[1].substring(0,5):g===C&&l.end.includes("T")&&M!==C?(m=l.end.split("T")[1].substring(0,5),A=a?"cont. ":"fort. "):g===C&&l.end.includes("T")?m=l.end.split("T")[1].substring(0,5):g!==M&&(m="",A=a?"cont. ":"fort. ")}else l.start&&l.start.includes("T")&&(m=l.start.split("T")[1].substring(0,5));return{...l,time:m,prefix:A}}),j=this.selectedDate===g,z=this._formatDayAriaLabel(T,S,Y);h.push(E`
9
+ `)}}else if(p>s)h.push(E`<div role="gridcell" aria-disabled="true"></div>`);else{let T=new Date(t,e,p);if(this.disableWeekend)for(;T.getDay()===0||T.getDay()===6;)p++,T=new Date(t,e,p);if(p>s){h.push(E`<div role="gridcell" aria-disabled="true"></div>`);continue}const x=i.getFullYear()===t&&i.getMonth()===e&&i.getDate()===p,g=`${t}-${String(e+1).padStart(2,"0")}-${String(p).padStart(2,"0")}`,N=new Date(t,e,p);let I=!1,S=null;this.publicHolidays&&(S=this._swedishHolidayName(N),I=!!S);let y=u.get(g)||[];y=[...y].sort((l,m)=>{const A=l.start&&g===l.start.split("T")[0]?l.start:l.end&&g===l.end.split("T")[0]?l.end:"",M=m.start&&g===m.start.split("T")[0]?m.start:m.end&&m.end.split("T")[0]?m.end:"",C=A&&A.includes("T"),R=M&&M.includes("T");return C&&R?A.localeCompare(M):C?-1:R?1:l.title.localeCompare(m.title)});const Y=[...y].map(l=>{let m="",A="";if(l.start&&l.end){const M=l.start.split("T")[0],C=l.end.split("T")[0];g===M&&g===C&&l.start.includes("T")&&l.end.includes("T")?m=l.start.split("T")[1].substring(0,5)+"–"+l.end.split("T")[1].substring(0,5):g===M&&l.start.includes("T")?m=l.start.split("T")[1].substring(0,5):g===C&&l.end.includes("T")&&M!==C?(m=l.end.split("T")[1].substring(0,5),A=n?"cont. ":"fort. "):g===C&&l.end.includes("T")?m=l.end.split("T")[1].substring(0,5):g!==M&&(m="",A=n?"cont. ":"fort. ")}else l.start&&l.start.includes("T")&&(m=l.start.split("T")[1].substring(0,5));return{...l,time:m,prefix:A}}),j=this.selectedDate===g,q=this._formatDayAriaLabel(T,S,Y);h.push(E`
10
10
  <div
11
11
  class="calendar-day${x?" today":""}${y.length?" has-event":""}${I?" calendar-day--holiday":""}"
12
12
  tabindex=${y.length?"0":void 0}
@@ -14,7 +14,7 @@ import{g as J,h as W,m as B,p as _,v as E,y as P}from"../../vendor/vendor.js";im
14
14
  @keydown=${y.length?(l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),this._showEventPopup({date:g,events:y}))}):null}
15
15
  title=${S||(y.length===1?y[0].title:y.length>1?y.map(l=>l.title).join(", "):"")}
16
16
  role="gridcell"
17
- aria-label=${z}
17
+ aria-label=${q}
18
18
  aria-current=${x?"date":J}
19
19
  aria-selected=${j?"true":"false"}
20
20
  aria-haspopup=${y.length?"dialog":J}
@@ -28,9 +28,9 @@ import{g as J,h as W,m as B,p as _,v as E,y as P}from"../../vendor/vendor.js";im
28
28
  </div>
29
29
  `),p++}}if(F=p,k.push(E`<div class="calendar-grid" role="row">${h}</div>`),F>s)break}return E`
30
30
  <div class="calendar-header">
31
- <scb-icon-button @click=${this._prevMonth} icon="chevron_left" aria-label="${a?"Previous month":"Föregående månad"}"></scb-icon-button>
31
+ <scb-icon-button @click=${this._prevMonth} icon="chevron_left" aria-label="${n?"Previous month":"Föregående månad"}"></scb-icon-button>
32
32
  <span>${d[e]} ${t}</span>
33
- <scb-icon-button @click=${this._nextMonth} icon="chevron_right" aria-label="${a?"Next month":"Nästa månad"}"></scb-icon-button>
33
+ <scb-icon-button @click=${this._nextMonth} icon="chevron_right" aria-label="${n?"Next month":"Nästa månad"}"></scb-icon-button>
34
34
  </div>
35
35
  <div class="calendar-grid calendar-grid-days" role="row">
36
36
  ${o.map(r=>E`<div role="columnheader">${r}</div>`)}
@@ -39,9 +39,9 @@ import{g as J,h as W,m as B,p as _,v as E,y as P}from"../../vendor/vendor.js";im
39
39
  ${k}
40
40
  </div>
41
41
  ${this._popupEvent&&Array.isArray(this._popupEvent.events)?E`
42
- <scb-dialog variant="floating" open label="${a?"Events":"Händelser"} ${this._popupEvent.date}">
42
+ <scb-dialog variant="floating" open label="${n?"Events":"Händelser"} ${this._popupEvent.date}">
43
43
  <scb-list>
44
- ${[...this._popupEvent.events].sort((r,h)=>{const b=r.start&&r.start.includes("T")?r.start:r.end&&r.end.includes("T")?r.end:"",p=h.start&&h.start.includes("T")?h.start:h.end&&h.end.includes("T")?h.end:"",D=b&&b.includes("T"),w=p&&p.includes("T");return D&&w?b.localeCompare(p):D?-1:w?1:r.title.localeCompare(h.title)}).map(r=>{const h=this._popupEvent?.date??"";let b="",p="",D="";if(r.start&&r.end){const w=r.start.split("T")[0],T=r.end.split("T")[0];w===T&&r.start.includes("T")&&r.end.includes("T")?b=r.start.split("T")[1].substring(0,5)+" – "+r.end.split("T")[1].substring(0,5):h===w&&r.start.includes("T")&&(b="Start: "+r.start.split("T")[1].substring(0,5)+(a?" (Extended event) ":" (Flerdagsevenemang) ")),h===T&&r.end.includes("T")&&w!==T&&(D=(a?"End: ":"Slut: ")+r.end.split("T")[1].substring(0,5)),h!==w&&(p=a?"cont. ":"fort. ")}else r.start&&r.start.includes("T")&&(b=r.start.split("T")[1].substring(0,5));return r.href?E`
44
+ ${[...this._popupEvent.events].sort((r,h)=>{const b=r.start&&r.start.includes("T")?r.start:r.end&&r.end.includes("T")?r.end:"",p=h.start&&h.start.includes("T")?h.start:h.end&&h.end.includes("T")?h.end:"",D=b&&b.includes("T"),w=p&&p.includes("T");return D&&w?b.localeCompare(p):D?-1:w?1:r.title.localeCompare(h.title)}).map(r=>{const h=this._popupEvent?.date??"";let b="",p="",D="";if(r.start&&r.end){const w=r.start.split("T")[0],T=r.end.split("T")[0];w===T&&r.start.includes("T")&&r.end.includes("T")?b=r.start.split("T")[1].substring(0,5)+" – "+r.end.split("T")[1].substring(0,5):h===w&&r.start.includes("T")&&(b="Start: "+r.start.split("T")[1].substring(0,5)+(n?" (Extended event) ":" (Flerdagsevenemang) ")),h===T&&r.end.includes("T")&&w!==T&&(D=(n?"End: ":"Slut: ")+r.end.split("T")[1].substring(0,5)),h!==w&&(p=n?"cont. ":"fort. ")}else r.start&&r.start.includes("T")&&(b=r.start.split("T")[1].substring(0,5));return r.href?E`
45
45
  <scb-list-item
46
46
  type="link"
47
47
  item-href="${r.href}"
@@ -59,4 +59,4 @@ import{g as J,h as W,m as B,p as _,v as E,y as P}from"../../vendor/vendor.js";im
59
59
  </scb-list>
60
60
  </scb-dialog>
61
61
  `:""}
62
- `}},O.styles=P`:host{display:block;margin-block-start:var(--scb-calendar-spacing-block-start, 0);margin-block-end:var(--scb-calendar-spacing-block-end, 0);margin-inline-start:var(--scb-calendar-spacing-inline-start, 0);margin-inline-end:var(--scb-calendar-spacing-inline-end, 0);border:1px solid var(--md-sys-color-outline-variant);padding:var(--spacing-5);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface);font-family:var(--brand-font)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-5);border-bottom:1px solid #e0e0e0;padding-bottom:var(--spacing-3)}.calendar-grid{display:grid;gap:var(--spacing-2);margin-bottom:var(--spacing-2);grid-template-columns:repeat(7,1fr)}:host([disable-weekend]) .calendar-grid{grid-template-columns:repeat(5,1fr)}.calendar-grid-days{font-weight:600;margin-bottom:var(--spacing-5)}.calendar-weeks{display:grid;grid-auto-rows:1fr}.calendar-titles-wrapper{display:grid;gap:var(--spacing-2)}.calendar-day{border-radius:6px;min-height:50px;display:flex;padding:var(--spacing-3);box-sizing:border-box;overflow:hidden;gap:var(--spacing-3);border:1px solid var(--md-sys-color-outline-variant, #e0e0e0);flex-direction:column}.calendar-day--holiday{background:var(--md-sys-color-error-container)}.calendar-day.has-event:focus{outline:0}md-focus-ring{border-radius:6px}.calendar-day--other{color:light-dark(var(--n-40),var(--n-70))}.calendar-day--other .calendar-day-event-title{color:inherit}.calendar-day--other .calendar-day-number{font-weight:var(--weight-regular)}.calendar-day-number{font-size:var(--md-sys-typescale-label-small-size);line-height:var(--md-sys-typescale-label-small-line-height);font-weight:var(--md-sys-typescale-label-small-weight);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:flex;gap:8px}.calendar-day-event-title,.calendar-day-holiday-name{font-size:12px;color:var(--md-sys-color-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%}.calendar-day-holiday-name{color:var(--md-sys-color-on-error-container);font-weight:var(--md-sys-typescale-body-medium-weight)}.calendar-day.today{background:var(--md-sys-color-secondary-container)}.calendar-day.has-event{cursor:pointer;position:relative;border:1px solid var(--md-sys-color-primary)}.event-popup-list{display:flex;flex-direction:column;gap:var(--spacing-4)}`,O);function K(){const $=this.mapSpacingToken(this.spacing),t=this.mapSpacingToken(this.spacingTop)??$,e=this.mapSpacingToken(this.spacingBottom)??$,s=this.mapSpacingToken(this.spacingLeft),n=this.mapSpacingToken(this.spacingRight);t?this.style.setProperty("--scb-calendar-spacing-block-start",t):this.style.removeProperty("--scb-calendar-spacing-block-start"),e?this.style.setProperty("--scb-calendar-spacing-block-end",e):this.style.removeProperty("--scb-calendar-spacing-block-end"),s?this.style.setProperty("--scb-calendar-spacing-inline-start",s):this.style.removeProperty("--scb-calendar-spacing-inline-start"),n?this.style.setProperty("--scb-calendar-spacing-inline-end",n):this.style.removeProperty("--scb-calendar-spacing-inline-end")}v([_({type:String})],f.prototype,"lang",void 0);v([_({type:Boolean,attribute:"disable-weekend",reflect:!0,converter:q})],f.prototype,"disableWeekend",void 0);v([_({type:Boolean,attribute:"public-holidays",converter:q})],f.prototype,"publicHolidays",void 0);v([_({type:Number,attribute:"display-year",reflect:!0})],f.prototype,"displayYear",void 0);v([_({type:Number,attribute:"display-month",reflect:!0})],f.prototype,"displayMonth",void 0);v([_({type:String,attribute:"selected-date",reflect:!0})],f.prototype,"selectedDate",void 0);v([_({attribute:!1})],f.prototype,"events",void 0);v([_({type:String,attribute:"events-json"})],f.prototype,"eventsJson",void 0);v([_({type:String,reflect:!0})],f.prototype,"spacing",void 0);v([_({type:String,attribute:"spacing-top",reflect:!0})],f.prototype,"spacingTop",void 0);v([_({type:String,attribute:"spacing-bottom",reflect:!0})],f.prototype,"spacingBottom",void 0);v([_({type:String,attribute:"spacing-left",reflect:!0})],f.prototype,"spacingLeft",void 0);v([_({type:String,attribute:"spacing-right",reflect:!0})],f.prototype,"spacingRight",void 0);f=v([B("scb-calendar")],f);
62
+ `}},O.styles=P`:host{display:block;margin-block-start:var(--scb-calendar-spacing-block-start, 0);margin-block-end:var(--scb-calendar-spacing-block-end, 0);margin-inline-start:var(--scb-calendar-spacing-inline-start, 0);margin-inline-end:var(--scb-calendar-spacing-inline-end, 0);border:1px solid var(--md-sys-color-outline-variant);padding:var(--spacing-5);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface);font-family:var(--brand-font)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-5);border-bottom:1px solid #e0e0e0;padding-bottom:var(--spacing-3)}.calendar-grid{display:grid;gap:var(--spacing-2);margin-bottom:var(--spacing-2);grid-template-columns:repeat(7,1fr)}:host([disable-weekend]) .calendar-grid{grid-template-columns:repeat(5,1fr)}.calendar-grid-days{font-weight:600;margin-bottom:var(--spacing-5)}.calendar-weeks{display:grid;grid-auto-rows:1fr}.calendar-titles-wrapper{display:grid;gap:var(--spacing-2)}.calendar-day{border-radius:6px;min-height:50px;display:flex;padding:var(--spacing-3);box-sizing:border-box;overflow:hidden;gap:var(--spacing-3);border:1px solid var(--md-sys-color-outline-variant, #e0e0e0);flex-direction:column}.calendar-day--holiday{background:var(--md-sys-color-error-container)}.calendar-day.has-event:focus{outline:0}md-focus-ring{border-radius:6px}.calendar-day--other{color:light-dark(var(--n-40),var(--n-70))}.calendar-day--other .calendar-day-event-title{color:inherit}.calendar-day--other .calendar-day-number{font-weight:var(--weight-regular)}.calendar-day-number{font-size:var(--scb-typography-label-small-size, var(--md-sys-typescale-label-small-size));line-height:var(--scb-typography-label-small-line-height, var(--md-sys-typescale-label-small-line-height));font-weight:var(--scb-typography-label-small-weight, var(--md-sys-typescale-label-small-weight));letter-spacing:var(--scb-typography-label-small-tracking, var(--md-sys-typescale-label-small-tracking));display:flex;gap:8px}.calendar-day-event-title,.calendar-day-holiday-name{font-size:12px;color:var(--md-sys-color-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%}.calendar-day-holiday-name{color:var(--md-sys-color-on-error-container);font-weight:var(--scb-typography-body-medium-weight, var(--md-sys-typescale-body-medium-weight))}.calendar-day.today{background:var(--md-sys-color-secondary-container)}.calendar-day.has-event{cursor:pointer;position:relative;border:1px solid var(--md-sys-color-primary)}.event-popup-list{display:flex;flex-direction:column;gap:var(--spacing-4)}`,O);function H(){const $=this.mapSpacingToken(this.spacing),t=this.mapSpacingToken(this.spacingTop)??$,e=this.mapSpacingToken(this.spacingBottom)??$,s=this.mapSpacingToken(this.spacingLeft),a=this.mapSpacingToken(this.spacingRight);t?this.style.setProperty("--scb-calendar-spacing-block-start",t):this.style.removeProperty("--scb-calendar-spacing-block-start"),e?this.style.setProperty("--scb-calendar-spacing-block-end",e):this.style.removeProperty("--scb-calendar-spacing-block-end"),s?this.style.setProperty("--scb-calendar-spacing-inline-start",s):this.style.removeProperty("--scb-calendar-spacing-inline-start"),a?this.style.setProperty("--scb-calendar-spacing-inline-end",a):this.style.removeProperty("--scb-calendar-spacing-inline-end")}v([_({type:String})],f.prototype,"lang",void 0);v([_({type:Boolean,attribute:"disable-weekend",reflect:!0,converter:K})],f.prototype,"disableWeekend",void 0);v([_({type:Boolean,attribute:"public-holidays",converter:K})],f.prototype,"publicHolidays",void 0);v([_({type:Number,attribute:"display-year",reflect:!0})],f.prototype,"displayYear",void 0);v([_({type:Number,attribute:"display-month",reflect:!0})],f.prototype,"displayMonth",void 0);v([_({type:String,attribute:"selected-date",reflect:!0})],f.prototype,"selectedDate",void 0);v([_({attribute:!1})],f.prototype,"events",void 0);v([_({type:String,attribute:"events-json"})],f.prototype,"eventsJson",void 0);v([_({type:String,reflect:!0})],f.prototype,"spacing",void 0);v([_({type:String,attribute:"spacing-top",reflect:!0})],f.prototype,"spacingTop",void 0);v([_({type:String,attribute:"spacing-bottom",reflect:!0})],f.prototype,"spacingBottom",void 0);v([_({type:String,attribute:"spacing-left",reflect:!0})],f.prototype,"spacingLeft",void 0);v([_({type:String,attribute:"spacing-right",reflect:!0})],f.prototype,"spacingRight",void 0);f=v([B("scb-calendar")],f);
@@ -1,5 +1,5 @@
1
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,n){try{customElements.get(r)||e(r,d,n)}catch(o){var s=String(o||"");if(s.indexOf("already been used")===-1&&s.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,m;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 m??(m=H(()=>import("../../vendor/lazy-ripple.js"),__vite__mapDeps([3,2]),import.meta.url)),m}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,n=this.__pendingRippleClick;this.__pendingRippleEvent=void 0,this.__pendingRippleClick=!1;const{syncRippleToControl:s}=await S();await s(e,r,d,n)}render(){const e=this.variant?`${this.variant.toLowerCase()}`:"",r=this.direction?`${this.direction.toLowerCase()}`:"",d=this.cardHref?"clickable":"",n=this.__hasSlottedContent("heading"),s=this.__hasSlottedContent("subtitle"),o=this.__hasSlottedContent("supporting-text"),b=this.calendarCardTitle||this.title,u=this.subtitle,v=this.supportingText,f=n||!!b,y=s||!!u,R=o||!!v,{day:x,month:_}=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`
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`
3
3
  <div
4
4
  class="calendar-card ${r} ${d} ${e}"
5
5
  role="${this.cardHref?"link":"group"}"
@@ -13,9 +13,9 @@ import{h as T,m as C,p as a,v as c,y as P}from"../../vendor/vendor.js";import"..
13
13
  >
14
14
  ${this.cardHref&&this.__rippleLoaded?c`<md-ripple></md-ripple>`:""}
15
15
  ${this.showMedia?c`
16
- <div class="media" style="${$}" aria-label="${this.dateLabelPrefix} ${x} ${_}">
17
- <div class="day">${x}</div>
18
- <div class="month">${_}</div>
16
+ <div class="media" style="${$}" aria-label="${this.dateLabelPrefix} ${_} ${x}">
17
+ <div class="day">${_}</div>
18
+ <div class="month">${x}</div>
19
19
  </div>
20
20
  `:""}
21
21
  <div class="container">
@@ -23,11 +23,11 @@ import{h as T,m as C,p as a,v as c,y as P}from"../../vendor/vendor.js";import"..
23
23
  <div class="header-container">
24
24
  ${f?c`
25
25
  <div class="title-container">
26
- <div class="title">${n?c`<slot name="heading"></slot>`:b}</div>
26
+ <div class="title">${s?c`<slot name="heading"></slot>`:m}</div>
27
27
  ${this.cardHref?c`<div class="icon-container"><md-icon class="calendar-card-icon" aria-hidden="true">arrow_forward</md-icon></div>`:""}
28
28
  </div>
29
29
  `:""}
30
- ${y?c`<div class="subtitle">${s?c`<slot name="subtitle"></slot>`:u}</div>`:""}
30
+ ${y?c`<div class="subtitle">${n?c`<slot name="subtitle"></slot>`:u}</div>`:""}
31
31
  </div>
32
32
  `:""}
33
33
  ${R?c`
@@ -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 s=new Date(String(this.date));return Number.isNaN(s.getTime())?null:s})();if(!r)return e;const d=r.getDate(),n=L.format(r).replace(".","").trim();return{day:d,month:n.charAt(0).toUpperCase()+n.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,n=this.mapSpacingToken(this.spacingLeft),s=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"),n?this.style.setProperty("--scb-calendar-card-spacing-inline-start",n):this.style.removeProperty("--scb-calendar-card-spacing-inline-start"),s?this.style.setProperty("--scb-calendar-card-spacing-inline-end",s):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-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(--md-sys-typescale-headline-small-size, 22px);--scb-calendar-card-title-line-height:var(--md-sys-typescale-headline-small-line-height, 28px);--scb-calendar-card-title-letter-spacing:var(--md-sys-typescale-headline-small-tracking, -0.5px);--scb-calendar-card-subtitle-font-size:var(--md-sys-typescale-title-medium-size, 18px);--scb-calendar-card-subtitle-line-height:var(--md-sys-typescale-title-medium-line-height, 26px);--scb-calendar-card-subtitle-letter-spacing:var(--md-sys-typescale-title-medium-tracking, -0.3px);--scb-calendar-card-supporting-font-size:var(--md-sys-typescale-body-medium-size, 16px);--scb-calendar-card-supporting-line-height:var(--md-sys-typescale-body-medium-line-height, 24px);--scb-calendar-card-supporting-letter-spacing:var(--md-sys-typescale-body-medium-tracking, -0.15px)}: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);--scb-calendar-card-title-font-size:var(--md-sys-typescale-title-large-size, 20px);--scb-calendar-card-title-line-height:var(--md-sys-typescale-title-large-line-height, 28px);--scb-calendar-card-title-letter-spacing:var(--md-sys-typescale-title-large-tracking, -0.3px);--scb-calendar-card-subtitle-font-size:var(--md-sys-typescale-title-small-size, 16px);--scb-calendar-card-subtitle-line-height:var(--md-sys-typescale-title-small-line-height, 24px);--scb-calendar-card-subtitle-letter-spacing:var(--md-sys-typescale-title-small-tracking, -0.2px);--scb-calendar-card-supporting-font-size:var(--md-sys-typescale-body-medium-size, 16px);--scb-calendar-card-supporting-line-height:var(--md-sys-typescale-body-medium-line-height, 24px);--scb-calendar-card-supporting-letter-spacing:var(--md-sys-typescale-body-medium-tracking, -0.15px)}: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;--scb-calendar-card-title-font-size:var(--md-sys-typescale-title-medium-size, 18px);--scb-calendar-card-title-line-height:var(--md-sys-typescale-title-medium-line-height, 26px);--scb-calendar-card-title-letter-spacing:var(--md-sys-typescale-title-medium-tracking, -0.3px);--scb-calendar-card-subtitle-font-size:var(--md-sys-typescale-body-medium-size, 16px);--scb-calendar-card-subtitle-line-height:var(--md-sys-typescale-body-medium-line-height, 24px);--scb-calendar-card-subtitle-letter-spacing:var(--md-sys-typescale-body-medium-tracking, -0.15px);--scb-calendar-card-supporting-font-size:var(--md-sys-typescale-body-small-size, 14px);--scb-calendar-card-supporting-line-height:var(--md-sys-typescale-body-small-line-height, 20px);--scb-calendar-card-supporting-letter-spacing:var(--md-sys-typescale-body-small-tracking, -0.1px)}: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;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:box-shadow .18s ease,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,.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)}.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 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);